From df0b75a6dedaca07bbd74c16be472ad38344d6fb Mon Sep 17 00:00:00 2001 From: aeizzz <1129603149@qq.com> Date: Fri, 23 Dec 2022 09:28:21 +0800 Subject: [PATCH] =?UTF-8?q?:recycle:=20Refactoring=20code.=20=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=20jdk17=20spring=20boot=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pig/auth/endpoint/PigTokenEndpoint.java | 4 +- ...ourceOwnerBaseAuthenticationConverter.java | 2 +- .../core/PigDaoAuthenticationProvider.java | 2 +- .../FormAuthenticationFailureHandler.java | 4 +- .../PigAuthenticationFailureEventHandler.java | 4 +- .../PigAuthenticationSuccessEventHandler.java | 4 +- .../handler/SsoLogoutSuccessHandler.java | 4 +- ...eOwnerPasswordAuthenticationConverter.java | 2 +- ...sourceOwnerSmsAuthenticationConverter.java | 2 +- pig-common/pig-common-bom/pom.xml | 4 +- pig-common/pig-common-core/pom.xml | 4 +- .../pig/common/core/util/WebUtils.java | 8 +- .../sentinel/handle/PigUrlBlockHandler.java | 4 +- .../parser/PigHeaderRequestOriginParser.java | 2 +- .../pig/common/log/util/SysLogUtils.java | 2 +- pig-common/pig-common-mybatis/pom.xml | 4 +- .../resolver/SqlFilterArgumentResolver.java | 2 +- .../component/PigBearerTokenExtractor.java | 2 +- .../component/PigSecurityInnerAspect.java | 2 +- .../ResourceAuthExceptionEntryPoint.java | 4 +- .../feign/PigOAuthRequestInterceptor.java | 2 +- .../security/util/OAuth2EndpointUtils.java | 2 +- pig-common/pig-common-xss/pom.xml | 4 +- .../common/xss/core/XssCleanInterceptor.java | 4 +- .../gateway/filter/PasswordDecoderFilter.java | 4 +- pig-register/Dockerfile | 15 - pig-register/pom.xml | 110 - .../alibaba/nacos/PigNacosApplication.java | 52 - .../alibaba/nacos/config/ConfigConstants.java | 48 - .../alibaba/nacos/config/ConsoleConfig.java | 77 - .../console/controller/HealthController.java | 113 - .../controller/NamespaceController.java | 151 - .../controller/ServerStateController.java | 54 - .../controller/v2/NamespaceControllerV2.java | 148 - .../console/enums/NamespaceTypeEnum.java | 66 - .../exception/ConsoleExceptionHandler.java | 65 - .../exception/NacosApiExceptionHandler.java | 134 - .../nacos/console/filter/XssFilter.java | 46 - .../nacos/console/model/Namespace.java | 115 - .../nacos/console/model/NamespaceAllInfo.java | 31 - .../console/model/form/NamespaceForm.java | 115 - .../service/NamespaceOperationService.java | 148 - .../META-INF/nacos-default.properties | 78 - .../src/main/resources/META-INF/schema.sql | 215 - .../src/main/resources/application.yml | 54 - .../src/main/resources/nacos-version.txt | 1 - .../console-ui/public/css/bootstrap.css | 7127 ------------ .../console-ui/public/css/codemirror.css | 356 - .../console-ui/public/css/console1412.css | 1 - .../console-ui/public/css/font-awesome.css | 2102 ---- .../public/css/fonts/aliyun-console-font.eot | Bin 169748 -> 0 bytes .../public/css/fonts/aliyun-console-font.ttf | Bin 169536 -> 0 bytes .../public/css/fonts/aliyun-console-font.woff | Bin 169612 -> 0 bytes .../css/fonts/font_515771_emcns5054x3whfr.ttf | Bin 9988 -> 0 bytes .../fonts/font_515771_emcns5054x3whfr.woff | Bin 5504 -> 0 bytes .../public/css/fonts/roboto-bold.ttf | Bin 48448 -> 0 bytes .../public/css/fonts/roboto-bold.woff | Bin 26712 -> 0 bytes .../public/css/fonts/roboto-bold.woff2 | Bin 20248 -> 0 bytes .../public/css/fonts/roboto-regular.ttf | Bin 47940 -> 0 bytes .../public/css/fonts/roboto-regular.woff | Bin 26296 -> 0 bytes .../public/css/fonts/roboto-regular.woff2 | Bin 19988 -> 0 bytes .../static/console-ui/public/css/icon.css | 265 - .../static/console-ui/public/css/merge.css | 129 - .../console-ui/public/fonts/roboto-bold.eot | Bin 23150 -> 0 bytes .../console-ui/public/fonts/roboto-bold.ttf | Bin 48448 -> 0 bytes .../console-ui/public/fonts/roboto-bold.woff | Bin 26712 -> 0 bytes .../console-ui/public/fonts/roboto-bold.woff2 | Bin 20248 -> 0 bytes .../console-ui/public/fonts/roboto-light.eot | Bin 22037 -> 0 bytes .../console-ui/public/fonts/roboto-light.ttf | Bin 46324 -> 0 bytes .../console-ui/public/fonts/roboto-light.woff | Bin 25788 -> 0 bytes .../public/fonts/roboto-light.woff2 | Bin 19544 -> 0 bytes .../console-ui/public/fonts/roboto-medium.eot | Bin 22601 -> 0 bytes .../console-ui/public/fonts/roboto-medium.ttf | Bin 46772 -> 0 bytes .../public/fonts/roboto-medium.woff | Bin 26360 -> 0 bytes .../public/fonts/roboto-medium.woff2 | Bin 20044 -> 0 bytes .../public/fonts/roboto-regular.eot | Bin 22769 -> 0 bytes .../public/fonts/roboto-regular.ttf | Bin 47940 -> 0 bytes .../public/fonts/roboto-regular.woff | Bin 26296 -> 0 bytes .../public/fonts/roboto-regular.woff2 | Bin 19988 -> 0 bytes .../console-ui/public/fonts/roboto-thin.eot | Bin 21369 -> 0 bytes .../console-ui/public/fonts/roboto-thin.ttf | Bin 46132 -> 0 bytes .../console-ui/public/fonts/roboto-thin.woff | Bin 24996 -> 0 bytes .../console-ui/public/fonts/roboto-thin.woff2 | Bin 18944 -> 0 bytes .../console-ui/public/icons/icon-font.eot | Bin 10156 -> 0 bytes .../console-ui/public/icons/icon-font.svg | 159 - .../console-ui/public/icons/icon-font.ttf | Bin 9988 -> 0 bytes .../console-ui/public/icons/icon-font.woff | Bin 5504 -> 0 bytes .../console-ui/public/icons/icon-font.woff2 | Bin 4368 -> 0 bytes .../console-ui/public/img/black_dot.png | Bin 114 -> 0 bytes .../static/console-ui/public/img/favicon.ico | Bin 4286 -> 0 bytes .../console-ui/public/img/logo-2000-390.svg | 1 - .../console-ui/public/img/nacos-logo.png | Bin 1529 -> 0 bytes .../static/console-ui/public/img/nacos.png | Bin 3588 -> 0 bytes .../public/js/codemirror.addone.fullscreen.js | 54 - .../public/js/codemirror.addone.json-lint.js | 44 - .../public/js/codemirror.addone.lint.js | 251 - .../static/console-ui/public/js/codemirror.js | 9515 ----------------- .../public/js/codemirror.lib.clike-lint.js | 802 -- .../public/js/codemirror.lib.json-lint.js | 448 - .../console-ui/public/js/diff_match_patch.js | 49 - .../static/console-ui/public/js/javascript.js | 831 -- .../static/console-ui/public/js/jquery.js | 2 - .../static/console-ui/public/js/loader.js | 8 - .../static/console-ui/public/js/merge.js | 1010 -- .../public/js/vs/base/worker/workerMain.js | 8 - .../public/js/vs/basic-languages/src/bat.js | 7 - .../js/vs/basic-languages/src/coffee.js | 7 - .../public/js/vs/basic-languages/src/cpp.js | 7 - .../js/vs/basic-languages/src/csharp.js | 7 - .../public/js/vs/basic-languages/src/css.js | 7 - .../js/vs/basic-languages/src/dockerfile.js | 7 - .../js/vs/basic-languages/src/fsharp.js | 7 - .../public/js/vs/basic-languages/src/go.js | 7 - .../js/vs/basic-languages/src/handlebars.js | 7 - .../public/js/vs/basic-languages/src/html.js | 7 - .../public/js/vs/basic-languages/src/ini.js | 7 - .../public/js/vs/basic-languages/src/java.js | 7 - .../public/js/vs/basic-languages/src/less.js | 7 - .../public/js/vs/basic-languages/src/lua.js | 7 - .../js/vs/basic-languages/src/markdown.js | 7 - .../public/js/vs/basic-languages/src/msdax.js | 7 - .../js/vs/basic-languages/src/objective-c.js | 7 - .../public/js/vs/basic-languages/src/php.js | 7 - .../js/vs/basic-languages/src/postiats.js | 7 - .../js/vs/basic-languages/src/powershell.js | 7 - .../public/js/vs/basic-languages/src/pug.js | 7 - .../js/vs/basic-languages/src/python.js | 7 - .../public/js/vs/basic-languages/src/r.js | 7 - .../public/js/vs/basic-languages/src/razor.js | 7 - .../public/js/vs/basic-languages/src/ruby.js | 7 - .../public/js/vs/basic-languages/src/sb.js | 7 - .../public/js/vs/basic-languages/src/scss.js | 7 - .../js/vs/basic-languages/src/solidity.js | 7 - .../public/js/vs/basic-languages/src/sql.js | 7 - .../public/js/vs/basic-languages/src/swift.js | 10 - .../public/js/vs/basic-languages/src/vb.js | 7 - .../public/js/vs/basic-languages/src/xml.js | 7 - .../public/js/vs/basic-languages/src/yaml.js | 7 - .../suggest/browser/media/String_16x.svg | 1 - .../browser/media/String_inverse_16x.svg | 1 - .../public/js/vs/editor/editor.main.css | 6 - .../public/js/vs/editor/editor.main.js | 69 - .../public/js/vs/editor/editor.main.nls.de.js | 17 - .../public/js/vs/editor/editor.main.nls.es.js | 17 - .../public/js/vs/editor/editor.main.nls.fr.js | 17 - .../public/js/vs/editor/editor.main.nls.hu.js | 17 - .../public/js/vs/editor/editor.main.nls.it.js | 17 - .../public/js/vs/editor/editor.main.nls.ja.js | 17 - .../public/js/vs/editor/editor.main.nls.js | 17 - .../public/js/vs/editor/editor.main.nls.ko.js | 17 - .../js/vs/editor/editor.main.nls.pt-br.js | 17 - .../public/js/vs/editor/editor.main.nls.ru.js | 17 - .../public/js/vs/editor/editor.main.nls.tr.js | 17 - .../js/vs/editor/editor.main.nls.zh-cn.js | 17 - .../js/vs/editor/editor.main.nls.zh-tw.js | 17 - .../browser/quickOpen/symbol-sprite.svg | 1 - .../public/js/vs/language/css/cssMode.js | 7 - .../public/js/vs/language/css/cssWorker.js | 21 - .../public/js/vs/language/html/htmlMode.js | 7 - .../public/js/vs/language/html/htmlWorker.js | 167 - .../public/js/vs/language/json/jsonMode.js | 8 - .../public/js/vs/language/json/jsonWorker.js | 9 - .../typescript/lib/typescriptServices.js | 67 - .../js/vs/language/typescript/src/mode.js | 7 - .../js/vs/language/typescript/src/worker.js | 18 - .../static/console-ui/public/js/vs/loader.js | 8 - .../static/console-ui/public/js/xml.js | 407 - .../src/main/resources/static/css/main.css | 486 - .../main/resources/static/img/black_dot.png | Bin 114 -> 0 bytes .../resources/static/img/logo-2000-390.svg | 1 - .../src/main/resources/static/img/nacos.png | Bin 3588 -> 0 bytes .../src/main/resources/static/index.html | 61 - .../src/main/resources/static/js/main.js | 330 - .../src/main/resources/static/login.html | 43 - .../pig/admin/api/dto/AppSmsDTO.java | 2 +- .../pig/admin/api/entity/SysDept.java | 4 +- .../pig/admin/api/entity/SysLog.java | 2 +- .../pig/admin/api/entity/SysMenu.java | 4 +- .../api/entity/SysOauthClientDetails.java | 2 +- .../pig/admin/api/entity/SysRole.java | 2 +- .../pig/admin/api/vo/PostExcelVO.java | 4 +- .../pig/admin/api/vo/RoleExcelVO.java | 2 +- .../pig/admin/api/vo/UserExcelVO.java | 2 +- .../pig/admin/controller/AppController.java | 2 +- .../pig/admin/controller/DeptController.java | 2 +- .../pig/admin/controller/DictController.java | 2 +- .../pig/admin/controller/FileController.java | 2 +- .../pig/admin/controller/LogController.java | 2 +- .../pig/admin/controller/MenuController.java | 2 +- .../OauthClientDetailsController.java | 2 +- .../pig/admin/controller/RoleController.java | 2 +- .../pig/admin/controller/UserController.java | 2 +- .../pig/admin/service/SysFileService.java | 2 +- .../service/impl/SysFileServiceImpl.java | 2 +- .../service/impl/SysMenuServiceImpl.java | 2 +- .../controller/GeneratorController.java | 2 +- .../impl/GenDatasourceConfServiceImpl.java | 2 +- .../auth/DefaultAuthorizationInterceptor.java | 4 +- .../DefaultLoginAuthenticationFilter.java | 6 +- .../dashboard/auth/FakeAuthServiceImpl.java | 2 +- .../auth/LoginAuthenticationFilter.java | 2 +- .../auth/SimpleWebAuthServiceImpl.java | 4 +- .../dashboard/config/AuthConfiguration.java | 2 +- .../sentinel/dashboard/config/WebConfig.java | 4 +- .../dashboard/controller/AppController.java | 2 +- .../dashboard/controller/AuthController.java | 2 +- .../gateway/GatewayApiController.java | 2 +- .../dashboard/discovery/AppManagement.java | 2 +- pig-visual/pig-xxl-job-admin/pom.xml | 4 +- .../job/admin/controller/IndexController.java | 6 +- .../admin/controller/JobApiController.java | 4 +- .../admin/controller/JobCodeController.java | 4 +- .../admin/controller/JobGroupController.java | 4 +- .../admin/controller/JobInfoController.java | 4 +- .../admin/controller/JobLogController.java | 4 +- .../job/admin/controller/UserController.java | 4 +- .../interceptor/CookieInterceptor.java | 6 +- .../interceptor/PermissionInterceptor.java | 6 +- .../controller/interceptor/WebMvcConfig.java | 2 +- .../resolver/WebExceptionResolver.java | 4 +- .../admin/core/alarm/impl/EmailJobAlarm.java | 2 +- .../admin/core/conf/XxlJobAdminConfig.java | 4 +- .../core/old/XxlJobDynamicScheduler.java | 6 +- .../xxl/job/admin/core/util/CookieUtil.java | 6 +- .../xxl/job/admin/service/LoginService.java | 6 +- .../admin/service/impl/XxlJobServiceImpl.java | 2 +- pom.xml | 23 +- 227 files changed, 138 insertions(+), 27307 deletions(-) delete mode 100755 pig-register/Dockerfile delete mode 100755 pig-register/pom.xml delete mode 100755 pig-register/src/main/java/com/alibaba/nacos/PigNacosApplication.java delete mode 100755 pig-register/src/main/java/com/alibaba/nacos/config/ConfigConstants.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/config/ConsoleConfig.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/console/controller/HealthController.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/console/controller/NamespaceController.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/console/controller/ServerStateController.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/console/controller/v2/NamespaceControllerV2.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/console/enums/NamespaceTypeEnum.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/console/exception/ConsoleExceptionHandler.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/console/exception/NacosApiExceptionHandler.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/console/filter/XssFilter.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/console/model/Namespace.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/console/model/NamespaceAllInfo.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/console/model/form/NamespaceForm.java delete mode 100644 pig-register/src/main/java/com/alibaba/nacos/console/service/NamespaceOperationService.java delete mode 100644 pig-register/src/main/resources/META-INF/nacos-default.properties delete mode 100644 pig-register/src/main/resources/META-INF/schema.sql delete mode 100755 pig-register/src/main/resources/application.yml delete mode 100755 pig-register/src/main/resources/nacos-version.txt delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/bootstrap.css delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/codemirror.css delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/console1412.css delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/font-awesome.css delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.eot delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.ttf delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.woff delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/fonts/font_515771_emcns5054x3whfr.ttf delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/fonts/font_515771_emcns5054x3whfr.woff delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.ttf delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.woff delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.woff2 delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.ttf delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.woff delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.woff2 delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/icon.css delete mode 100644 pig-register/src/main/resources/static/console-ui/public/css/merge.css delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-bold.eot delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-bold.ttf delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-bold.woff delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-bold.woff2 delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-light.eot delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-light.ttf delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-light.woff delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-light.woff2 delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-medium.eot delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-medium.ttf delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-medium.woff delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-medium.woff2 delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-regular.eot delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-regular.ttf delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-regular.woff delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-regular.woff2 delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-thin.eot delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-thin.ttf delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-thin.woff delete mode 100644 pig-register/src/main/resources/static/console-ui/public/fonts/roboto-thin.woff2 delete mode 100644 pig-register/src/main/resources/static/console-ui/public/icons/icon-font.eot delete mode 100644 pig-register/src/main/resources/static/console-ui/public/icons/icon-font.svg delete mode 100644 pig-register/src/main/resources/static/console-ui/public/icons/icon-font.ttf delete mode 100644 pig-register/src/main/resources/static/console-ui/public/icons/icon-font.woff delete mode 100644 pig-register/src/main/resources/static/console-ui/public/icons/icon-font.woff2 delete mode 100644 pig-register/src/main/resources/static/console-ui/public/img/black_dot.png delete mode 100644 pig-register/src/main/resources/static/console-ui/public/img/favicon.ico delete mode 100644 pig-register/src/main/resources/static/console-ui/public/img/logo-2000-390.svg delete mode 100644 pig-register/src/main/resources/static/console-ui/public/img/nacos-logo.png delete mode 100644 pig-register/src/main/resources/static/console-ui/public/img/nacos.png delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/codemirror.addone.fullscreen.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/codemirror.addone.json-lint.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/codemirror.addone.lint.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/codemirror.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/codemirror.lib.clike-lint.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/codemirror.lib.json-lint.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/diff_match_patch.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/javascript.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/jquery.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/loader.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/merge.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/base/worker/workerMain.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/bat.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/coffee.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/cpp.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/csharp.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/css.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/dockerfile.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/fsharp.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/go.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/handlebars.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/html.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/ini.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/java.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/less.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/lua.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/markdown.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/msdax.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/objective-c.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/php.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/postiats.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/powershell.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/pug.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/python.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/r.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/razor.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/ruby.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/sb.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/scss.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/solidity.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/sql.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/swift.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/vb.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/xml.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/yaml.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/contrib/suggest/browser/media/String_16x.svg delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/contrib/suggest/browser/media/String_inverse_16x.svg delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.css delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.de.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.es.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.fr.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.hu.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.it.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.ja.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.ko.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.pt-br.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.ru.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.tr.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.zh-cn.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/editor.main.nls.zh-tw.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/editor/standalone/browser/quickOpen/symbol-sprite.svg delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/language/css/cssMode.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/language/css/cssWorker.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/language/html/htmlMode.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/language/html/htmlWorker.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/language/json/jsonMode.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/language/json/jsonWorker.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/language/typescript/lib/typescriptServices.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/language/typescript/src/mode.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/language/typescript/src/worker.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/vs/loader.js delete mode 100644 pig-register/src/main/resources/static/console-ui/public/js/xml.js delete mode 100644 pig-register/src/main/resources/static/css/main.css delete mode 100644 pig-register/src/main/resources/static/img/black_dot.png delete mode 100644 pig-register/src/main/resources/static/img/logo-2000-390.svg delete mode 100644 pig-register/src/main/resources/static/img/nacos.png delete mode 100644 pig-register/src/main/resources/static/index.html delete mode 100644 pig-register/src/main/resources/static/js/main.js delete mode 100644 pig-register/src/main/resources/static/login.html diff --git a/pig-auth/src/main/java/com/pig4cloud/pig/auth/endpoint/PigTokenEndpoint.java b/pig-auth/src/main/java/com/pig4cloud/pig/auth/endpoint/PigTokenEndpoint.java index 99b64714..8da899bf 100644 --- a/pig-auth/src/main/java/com/pig4cloud/pig/auth/endpoint/PigTokenEndpoint.java +++ b/pig-auth/src/main/java/com/pig4cloud/pig/auth/endpoint/PigTokenEndpoint.java @@ -59,8 +59,8 @@ import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.security.Principal; import java.util.List; import java.util.Map; diff --git a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/base/OAuth2ResourceOwnerBaseAuthenticationConverter.java b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/base/OAuth2ResourceOwnerBaseAuthenticationConverter.java index 96944f7d..c60234e0 100644 --- a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/base/OAuth2ResourceOwnerBaseAuthenticationConverter.java +++ b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/base/OAuth2ResourceOwnerBaseAuthenticationConverter.java @@ -9,7 +9,7 @@ import org.springframework.security.web.authentication.AuthenticationConverter; import org.springframework.util.MultiValueMap; import org.springframework.util.StringUtils; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.HashSet; import java.util.Map; diff --git a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/core/PigDaoAuthenticationProvider.java b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/core/PigDaoAuthenticationProvider.java index 36949419..9e7181a8 100644 --- a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/core/PigDaoAuthenticationProvider.java +++ b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/core/PigDaoAuthenticationProvider.java @@ -24,7 +24,7 @@ import org.springframework.security.oauth2.core.endpoint.OAuth2ParameterNames; import org.springframework.security.web.authentication.www.BasicAuthenticationConverter; import org.springframework.util.Assert; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.util.Comparator; import java.util.Map; import java.util.Optional; diff --git a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/FormAuthenticationFailureHandler.java b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/FormAuthenticationFailureHandler.java index f4c0ad5f..8a022a13 100644 --- a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/FormAuthenticationFailureHandler.java +++ b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/FormAuthenticationFailureHandler.java @@ -24,8 +24,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.authentication.AuthenticationFailureHandler; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; /** * @author lengleng diff --git a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/PigAuthenticationFailureEventHandler.java b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/PigAuthenticationFailureEventHandler.java index a12b2a99..e8fceef2 100644 --- a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/PigAuthenticationFailureEventHandler.java +++ b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/PigAuthenticationFailureEventHandler.java @@ -37,8 +37,8 @@ import org.springframework.security.oauth2.core.OAuth2AuthenticationException; import org.springframework.security.oauth2.core.endpoint.OAuth2ParameterNames; import org.springframework.security.web.authentication.AuthenticationFailureHandler; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; /** diff --git a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/PigAuthenticationSuccessEventHandler.java b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/PigAuthenticationSuccessEventHandler.java index 162babd2..520c3b7c 100644 --- a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/PigAuthenticationSuccessEventHandler.java +++ b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/PigAuthenticationSuccessEventHandler.java @@ -39,8 +39,8 @@ import org.springframework.security.oauth2.server.authorization.authentication.O import org.springframework.security.web.authentication.AuthenticationSuccessHandler; import org.springframework.util.CollectionUtils; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.time.temporal.ChronoUnit; import java.util.Map; diff --git a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/SsoLogoutSuccessHandler.java b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/SsoLogoutSuccessHandler.java index c092ceaa..8d468d6a 100644 --- a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/SsoLogoutSuccessHandler.java +++ b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/handler/SsoLogoutSuccessHandler.java @@ -5,8 +5,8 @@ import org.springframework.http.HttpHeaders; import org.springframework.security.core.Authentication; import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; /** diff --git a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/password/OAuth2ResourceOwnerPasswordAuthenticationConverter.java b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/password/OAuth2ResourceOwnerPasswordAuthenticationConverter.java index ed2b7d5a..f1e3fa8e 100644 --- a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/password/OAuth2ResourceOwnerPasswordAuthenticationConverter.java +++ b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/password/OAuth2ResourceOwnerPasswordAuthenticationConverter.java @@ -9,7 +9,7 @@ import org.springframework.security.oauth2.core.endpoint.OAuth2ParameterNames; import org.springframework.util.MultiValueMap; import org.springframework.util.StringUtils; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.util.Map; import java.util.Set; diff --git a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/sms/OAuth2ResourceOwnerSmsAuthenticationConverter.java b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/sms/OAuth2ResourceOwnerSmsAuthenticationConverter.java index 5e96757f..df48e689 100644 --- a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/sms/OAuth2ResourceOwnerSmsAuthenticationConverter.java +++ b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/sms/OAuth2ResourceOwnerSmsAuthenticationConverter.java @@ -9,7 +9,7 @@ import org.springframework.security.oauth2.core.OAuth2ErrorCodes; import org.springframework.util.MultiValueMap; import org.springframework.util.StringUtils; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.util.Map; import java.util.Set; diff --git a/pig-common/pig-common-bom/pom.xml b/pig-common/pig-common-bom/pom.xml index b82dd87b..be53ae16 100644 --- a/pig-common/pig-common-bom/pom.xml +++ b/pig-common/pig-common-bom/pom.xml @@ -28,9 +28,9 @@ 3.5.2 8.0.31 1.5.2 - 1.2.6 + 3.0.0 7.1 - 1.0.5 + 3.0.0 2.0.2 2.3.5 5.8.10 diff --git a/pig-common/pig-common-core/pom.xml b/pig-common/pig-common-core/pom.xml index d8457f55..4b959ac7 100755 --- a/pig-common/pig-common-core/pom.xml +++ b/pig-common/pig-common-core/pom.xml @@ -43,8 +43,8 @@ - javax.servlet - javax.servlet-api + jakarta.servlet + jakarta.servlet-api diff --git a/pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/WebUtils.java b/pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/WebUtils.java index e454735f..a71d78e9 100755 --- a/pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/WebUtils.java +++ b/pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/WebUtils.java @@ -28,10 +28,10 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.method.HandlerMethod; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.validation.constraints.NotNull; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotNull; import java.nio.charset.StandardCharsets; import java.util.Optional; diff --git a/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/sentinel/handle/PigUrlBlockHandler.java b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/sentinel/handle/PigUrlBlockHandler.java index c490e95e..5118b54f 100644 --- a/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/sentinel/handle/PigUrlBlockHandler.java +++ b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/sentinel/handle/PigUrlBlockHandler.java @@ -25,8 +25,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; /** * sentinel统一降级限流策略 diff --git a/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/sentinel/parser/PigHeaderRequestOriginParser.java b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/sentinel/parser/PigHeaderRequestOriginParser.java index d241dfbd..2a9b98ba 100644 --- a/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/sentinel/parser/PigHeaderRequestOriginParser.java +++ b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/sentinel/parser/PigHeaderRequestOriginParser.java @@ -18,7 +18,7 @@ package com.pig4cloud.pig.common.feign.sentinel.parser; import com.alibaba.csp.sentinel.adapter.spring.webmvc.callback.RequestOriginParser; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; /** * sentinel 请求头解析判断 diff --git a/pig-common/pig-common-log/src/main/java/com/pig4cloud/pig/common/log/util/SysLogUtils.java b/pig-common/pig-common-log/src/main/java/com/pig4cloud/pig/common/log/util/SysLogUtils.java index 4d980646..fd3e4a80 100755 --- a/pig-common/pig-common-log/src/main/java/com/pig4cloud/pig/common/log/util/SysLogUtils.java +++ b/pig-common/pig-common-log/src/main/java/com/pig4cloud/pig/common/log/util/SysLogUtils.java @@ -32,7 +32,7 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.lang.reflect.Method; import java.util.Objects; diff --git a/pig-common/pig-common-mybatis/pom.xml b/pig-common/pig-common-mybatis/pom.xml index 84c3a56f..d233e3f5 100755 --- a/pig-common/pig-common-mybatis/pom.xml +++ b/pig-common/pig-common-mybatis/pom.xml @@ -52,8 +52,8 @@ - javax.servlet - javax.servlet-api + jakarta.servlet + jakarta.servlet-api provided diff --git a/pig-common/pig-common-mybatis/src/main/java/com/pig4cloud/pig/common/mybatis/resolver/SqlFilterArgumentResolver.java b/pig-common/pig-common-mybatis/src/main/java/com/pig4cloud/pig/common/mybatis/resolver/SqlFilterArgumentResolver.java index 5084471d..14dd3b37 100644 --- a/pig-common/pig-common-mybatis/src/main/java/com/pig4cloud/pig/common/mybatis/resolver/SqlFilterArgumentResolver.java +++ b/pig-common/pig-common-mybatis/src/main/java/com/pig4cloud/pig/common/mybatis/resolver/SqlFilterArgumentResolver.java @@ -28,7 +28,7 @@ import org.springframework.web.context.request.NativeWebRequest; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.ModelAndViewContainer; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/PigBearerTokenExtractor.java b/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/PigBearerTokenExtractor.java index 47353cf9..05dad362 100644 --- a/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/PigBearerTokenExtractor.java +++ b/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/PigBearerTokenExtractor.java @@ -26,7 +26,7 @@ import org.springframework.util.AntPathMatcher; import org.springframework.util.PathMatcher; import org.springframework.util.StringUtils; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/PigSecurityInnerAspect.java b/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/PigSecurityInnerAspect.java index ddae7846..585b302b 100644 --- a/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/PigSecurityInnerAspect.java +++ b/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/PigSecurityInnerAspect.java @@ -29,7 +29,7 @@ import org.springframework.core.Ordered; import org.springframework.core.annotation.AnnotationUtils; import org.springframework.security.access.AccessDeniedException; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; /** * @author lengleng diff --git a/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/ResourceAuthExceptionEntryPoint.java b/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/ResourceAuthExceptionEntryPoint.java index 7b6cffb6..2dc7fc4f 100755 --- a/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/ResourceAuthExceptionEntryPoint.java +++ b/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/ResourceAuthExceptionEntryPoint.java @@ -29,8 +29,8 @@ import org.springframework.security.core.AuthenticationException; import org.springframework.security.oauth2.server.resource.InvalidBearerTokenException; import org.springframework.security.web.AuthenticationEntryPoint; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.PrintWriter; /** diff --git a/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/feign/PigOAuthRequestInterceptor.java b/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/feign/PigOAuthRequestInterceptor.java index 597ac362..c6f001bd 100644 --- a/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/feign/PigOAuthRequestInterceptor.java +++ b/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/feign/PigOAuthRequestInterceptor.java @@ -12,7 +12,7 @@ import org.springframework.http.HttpHeaders; import org.springframework.security.oauth2.core.OAuth2AccessToken; import org.springframework.security.oauth2.server.resource.web.BearerTokenResolver; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.util.Collection; /** diff --git a/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/util/OAuth2EndpointUtils.java b/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/util/OAuth2EndpointUtils.java index 4ff9c03a..363a547a 100644 --- a/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/util/OAuth2EndpointUtils.java +++ b/pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/util/OAuth2EndpointUtils.java @@ -10,7 +10,7 @@ import org.springframework.security.oauth2.server.authorization.OAuth2Authorizat import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.io.IOException; import java.time.temporal.ChronoUnit; import java.util.Map; diff --git a/pig-common/pig-common-xss/pom.xml b/pig-common/pig-common-xss/pom.xml index 495cfe2b..5e3cc1a2 100755 --- a/pig-common/pig-common-xss/pom.xml +++ b/pig-common/pig-common-xss/pom.xml @@ -40,8 +40,8 @@ - javax.servlet - javax.servlet-api + jakarta.servlet + jakarta.servlet-api provided diff --git a/pig-common/pig-common-xss/src/main/java/com/pig4cloud/pig/common/xss/core/XssCleanInterceptor.java b/pig-common/pig-common-xss/src/main/java/com/pig4cloud/pig/common/xss/core/XssCleanInterceptor.java index 684042f3..b528850b 100644 --- a/pig-common/pig-common-xss/src/main/java/com/pig4cloud/pig/common/xss/core/XssCleanInterceptor.java +++ b/pig-common/pig-common-xss/src/main/java/com/pig4cloud/pig/common/xss/core/XssCleanInterceptor.java @@ -23,8 +23,8 @@ import org.springframework.core.annotation.AnnotationUtils; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.AsyncHandlerInterceptor; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; /** * xss 处理拦截器 diff --git a/pig-gateway/src/main/java/com/pig4cloud/pig/gateway/filter/PasswordDecoderFilter.java b/pig-gateway/src/main/java/com/pig4cloud/pig/gateway/filter/PasswordDecoderFilter.java index c5b916bd..5435889d 100755 --- a/pig-gateway/src/main/java/com/pig4cloud/pig/gateway/filter/PasswordDecoderFilter.java +++ b/pig-gateway/src/main/java/com/pig4cloud/pig/gateway/filter/PasswordDecoderFilter.java @@ -44,8 +44,8 @@ import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import javax.crypto.spec.IvParameterSpec; -import javax.crypto.spec.SecretKeySpec; +import jakarta.crypto.spec.IvParameterSpec; +import jakarta.crypto.spec.SecretKeySpec; import java.nio.charset.Charset; import java.util.List; import java.util.Map; diff --git a/pig-register/Dockerfile b/pig-register/Dockerfile deleted file mode 100755 index b4425562..00000000 --- a/pig-register/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM moxm/java:1.8-full - -RUN mkdir -p /pig-register - -WORKDIR /pig-register - -ARG JAR_FILE=target/pig-register.jar - -COPY ${JAR_FILE} app.jar - -EXPOSE 8848 - -ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom" - -CMD sleep 30; java $JAVA_OPTS -jar app.jar diff --git a/pig-register/pom.xml b/pig-register/pom.xml deleted file mode 100755 index d5309be0..00000000 --- a/pig-register/pom.xml +++ /dev/null @@ -1,110 +0,0 @@ - - - - 4.0.0 - - com.pig4cloud - pig - 3.6.4 - - - pig-register - jar - pig-register - nacos 注册配置中心 - - - 2.2.0.PIGOEM - - - - - io.springboot.nacos - nacos-config - ${nacos.version} - - - org.apache.tomcat.embed - tomcat-embed-jasper - - - - io.springboot.nacos - nacos-naming - ${nacos.version} - - - - io.springboot.nacos - nacos-istio - ${nacos.version} - - - - io.springboot.nacos - nacos-plugin-default-impl - ${nacos.version} - - - - io.springboot.nacos - nacos-prometheus - ${nacos.version} - - - - org.springframework.boot - spring-boot-starter-security - - - - cn.hutool - hutool-system - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - io.fabric8 - docker-maven-plugin - - - - - src/main/resources - true - - **/*.woff - **/*.woff2 - **/*.ttf - - - - src/main/resources - false - - **/*.woff - **/*.woff2 - **/*.ttf - - - - - diff --git a/pig-register/src/main/java/com/alibaba/nacos/PigNacosApplication.java b/pig-register/src/main/java/com/alibaba/nacos/PigNacosApplication.java deleted file mode 100755 index 74397f97..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/PigNacosApplication.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos; - -import com.alibaba.nacos.config.ConfigConstants; -import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.scheduling.annotation.EnableScheduling; - -/** - * @author nacos - *

- * nacos console 源码运行,方便开发 生产从官网下载zip最新版集群配置运行 - */ -@Slf4j -@EnableScheduling -@SpringBootApplication -public class PigNacosApplication { - - public static void main(String[] args) { - if (initEnv()) { - SpringApplication.run(PigNacosApplication.class, args); - } - } - - /** - * 初始化运行环境 - */ - private static boolean initEnv() { - System.setProperty(ConfigConstants.STANDALONE_MODE, "true"); - System.setProperty(ConfigConstants.AUTH_ENABLED, "false"); - System.setProperty(ConfigConstants.LOG_BASEDIR, "logs"); - System.setProperty(ConfigConstants.LOG_ENABLED, "false"); - return true; - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/config/ConfigConstants.java b/pig-register/src/main/java/com/alibaba/nacos/config/ConfigConstants.java deleted file mode 100755 index 91133f54..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/config/ConfigConstants.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2018-2025, lengleng All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the pig4cloud.com developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: lengleng (wangiegie@gmail.com) - */ - -package com.alibaba.nacos.config; - -/** - * @author lengleng - * @date 2019-10-31 - *

- * 覆盖nacos 默认配置 - */ -public interface ConfigConstants { - - /** - * The System property name of Standalone mode - */ - String STANDALONE_MODE = "nacos.standalone"; - - /** - * 是否开启认证 - */ - String AUTH_ENABLED = "nacos.core.auth.enabled"; - - /** - * 日志目录 - */ - String LOG_BASEDIR = "server.tomcat.basedir"; - - /** - * access_log日志开关 - */ - String LOG_ENABLED = "server.tomcat.accesslog.enabled"; - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/config/ConsoleConfig.java b/pig-register/src/main/java/com/alibaba/nacos/config/ConsoleConfig.java deleted file mode 100644 index 7a3ec617..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/config/ConsoleConfig.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.config; - -import com.alibaba.nacos.core.code.ControllerMethodsCache; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.PropertySource; -import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.stereotype.Component; -import org.springframework.web.cors.CorsConfiguration; -import org.springframework.web.cors.UrlBasedCorsConfigurationSource; -import org.springframework.web.filter.CorsFilter; - -import javax.annotation.PostConstruct; -import java.time.ZoneId; - -/** - * Console config. - * - * @author yshen - * @author nkorange - * @since 1.2.0 - */ -@Component -@EnableScheduling -@PropertySource("/application.properties") -public class ConsoleConfig { - - @Autowired - private ControllerMethodsCache methodsCache; - - /** - * Init. - */ - @PostConstruct - public void init() { - methodsCache.initClassMethod("com.alibaba.nacos.core.controller"); - methodsCache.initClassMethod("com.alibaba.nacos.naming.controllers"); - methodsCache.initClassMethod("com.alibaba.nacos.config.server.controller"); - methodsCache.initClassMethod("com.alibaba.nacos.controller"); - } - - @Bean - public CorsFilter corsFilter() { - CorsConfiguration config = new CorsConfiguration(); - config.setAllowCredentials(true); - config.addAllowedOrigin("*"); - config.addAllowedHeader("*"); - config.setMaxAge(18000L); - config.addAllowedMethod("*"); - UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); - source.registerCorsConfiguration("/**", config); - return new CorsFilter(source); - } - - @Bean - public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() { - return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(ZoneId.systemDefault().toString()); - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/console/controller/HealthController.java b/pig-register/src/main/java/com/alibaba/nacos/console/controller/HealthController.java deleted file mode 100644 index 6799a0bc..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/console/controller/HealthController.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.console.controller; - -import com.alibaba.nacos.config.server.service.repository.ConfigInfoPersistService; -import com.alibaba.nacos.naming.controllers.OperatorController; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.servlet.http.HttpServletRequest; - -/** - * Health Controller. - * - * @author hxy1991 - */ -@RestController("consoleHealth") -@RequestMapping("/v1/console/health") -public class HealthController { - - private static final Logger LOGGER = LoggerFactory.getLogger(HealthController.class); - - private final ConfigInfoPersistService configInfoPersistService; - - private final OperatorController apiCommands; - - @Autowired - public HealthController(ConfigInfoPersistService configInfoPersistService, OperatorController apiCommands) { - this.configInfoPersistService = configInfoPersistService; - this.apiCommands = apiCommands; - } - - /** - * Whether the Nacos is in broken states or not, and cannot recover except by being - * restarted. - * @return HTTP code equal to 200 indicates that Nacos is in right states. HTTP code - * equal to 500 indicates that Nacos is in broken states. - */ - @GetMapping("/liveness") - public ResponseEntity liveness() { - return ResponseEntity.ok().body("OK"); - } - - /** - * Ready to receive the request or not. - * @return HTTP code equal to 200 indicates that Nacos is ready. HTTP code equal to - * 500 indicates that Nacos is not ready. - */ - @GetMapping("/readiness") - public ResponseEntity readiness(HttpServletRequest request) { - boolean isConfigReadiness = isConfigReadiness(); - boolean isNamingReadiness = isNamingReadiness(request); - - if (isConfigReadiness && isNamingReadiness) { - return ResponseEntity.ok().body("OK"); - } - - if (!isConfigReadiness && !isNamingReadiness) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) - .body("Config and Naming are not in readiness"); - } - - if (!isConfigReadiness) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Config is not in readiness"); - } - - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Naming is not in readiness"); - } - - private boolean isConfigReadiness() { - // check db - try { - configInfoPersistService.configInfoCount(""); - return true; - } - catch (Exception e) { - LOGGER.error("Config health check fail.", e); - } - return false; - } - - private boolean isNamingReadiness(HttpServletRequest request) { - try { - apiCommands.metrics(request); - return true; - } - catch (Exception e) { - LOGGER.error("Naming health check fail.", e); - } - return false; - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/console/controller/NamespaceController.java b/pig-register/src/main/java/com/alibaba/nacos/console/controller/NamespaceController.java deleted file mode 100644 index 32d93ea2..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/console/controller/NamespaceController.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.console.controller; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.auth.annotation.Secured; -import com.alibaba.nacos.common.model.RestResult; -import com.alibaba.nacos.common.model.RestResultUtils; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.config.server.service.repository.CommonPersistService; -import com.alibaba.nacos.console.model.Namespace; -import com.alibaba.nacos.console.model.NamespaceAllInfo; -import com.alibaba.nacos.console.service.NamespaceOperationService; -import com.alibaba.nacos.plugin.auth.constant.ActionTypes; -import com.alibaba.nacos.plugin.auth.impl.constant.AuthConstants; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; -import java.util.UUID; -import java.util.regex.Pattern; - -/** - * namespace service. - * - * @author Nacos - */ -@RestController -@RequestMapping("/v1/console/namespaces") -public class NamespaceController { - - @Autowired - private CommonPersistService commonPersistService; - - @Autowired - private NamespaceOperationService namespaceOperationService; - - private final Pattern namespaceIdCheckPattern = Pattern.compile("^[\\w-]+"); - - private static final int NAMESPACE_ID_MAX_LENGTH = 128; - - /** - * Get namespace list. - * @return namespace list - */ - @GetMapping - public RestResult> getNamespaces() { - return RestResultUtils.success(namespaceOperationService.getNamespaceList()); - } - - /** - * get namespace all info by namespace id. - * @param namespaceId namespaceId - * @return namespace all info - */ - @GetMapping(params = "show=all") - public NamespaceAllInfo getNamespace(@RequestParam("namespaceId") String namespaceId) throws NacosException { - return namespaceOperationService.getNamespace(namespaceId); - } - - /** - * create namespace. - * @param namespaceName namespace Name - * @param namespaceDesc namespace Desc - * @return whether create ok - */ - @PostMapping - @Secured(resource = AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX + "namespaces", action = ActionTypes.WRITE) - public Boolean createNamespace(@RequestParam("customNamespaceId") String namespaceId, - @RequestParam("namespaceName") String namespaceName, - @RequestParam(value = "namespaceDesc", required = false) String namespaceDesc) { - if (StringUtils.isBlank(namespaceId)) { - namespaceId = UUID.randomUUID().toString(); - } - else { - namespaceId = namespaceId.trim(); - if (!namespaceIdCheckPattern.matcher(namespaceId).matches()) { - return false; - } - if (namespaceId.length() > NAMESPACE_ID_MAX_LENGTH) { - return false; - } - } - try { - return namespaceOperationService.createNamespace(namespaceId, namespaceName, namespaceDesc); - } - catch (NacosException e) { - return false; - } - } - - /** - * check namespaceId exist. - * @param namespaceId namespace id - * @return true if exist, otherwise false - */ - @GetMapping(params = "checkNamespaceIdExist=true") - public Boolean checkNamespaceIdExist(@RequestParam("customNamespaceId") String namespaceId) { - if (StringUtils.isBlank(namespaceId)) { - return false; - } - return (commonPersistService.tenantInfoCountByTenantId(namespaceId) > 0); - } - - /** - * edit namespace. - * @param namespace namespace - * @param namespaceShowName namespace ShowName - * @param namespaceDesc namespace Desc - * @return whether edit ok - */ - @PutMapping - @Secured(resource = AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX + "namespaces", action = ActionTypes.WRITE) - public Boolean editNamespace(@RequestParam("namespace") String namespace, - @RequestParam("namespaceShowName") String namespaceShowName, - @RequestParam(value = "namespaceDesc", required = false) String namespaceDesc) { - return namespaceOperationService.editNamespace(namespace, namespaceShowName, namespaceDesc); - } - - /** - * del namespace by id. - * @param namespaceId namespace Id - * @return whether del ok - */ - @DeleteMapping - @Secured(resource = AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX + "namespaces", action = ActionTypes.WRITE) - public Boolean deleteNamespace(@RequestParam("namespaceId") String namespaceId) { - return namespaceOperationService.removeNamespace(namespaceId); - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/console/controller/ServerStateController.java b/pig-register/src/main/java/com/alibaba/nacos/console/controller/ServerStateController.java deleted file mode 100644 index ceb34fa5..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/console/controller/ServerStateController.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.console.controller; - -import com.alibaba.nacos.common.utils.VersionUtils; -import com.alibaba.nacos.sys.env.EnvUtil; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.HashMap; -import java.util.Map; - -/** - * Server state controller. - * - * @author xingxuechao on:2019/2/27 11:17 AM - */ -@RestController -@RequestMapping("/v1/console/server") -public class ServerStateController { - - /** - * Get server state of current server. - * @return state json. - */ - @GetMapping("/state") - public ResponseEntity> serverState() { - Map serverState = new HashMap<>(4); - serverState.put("standalone_mode", - EnvUtil.getStandaloneMode() ? EnvUtil.STANDALONE_MODE_ALONE : EnvUtil.STANDALONE_MODE_CLUSTER); - - serverState.put("function_mode", EnvUtil.getFunctionMode()); - serverState.put("version", VersionUtils.version); - - return ResponseEntity.ok().body(serverState); - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/console/controller/v2/NamespaceControllerV2.java b/pig-register/src/main/java/com/alibaba/nacos/console/controller/v2/NamespaceControllerV2.java deleted file mode 100644 index d082e3dd..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/console/controller/v2/NamespaceControllerV2.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright 1999-2022 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.console.controller.v2; - -import com.alibaba.nacos.api.annotation.NacosApi; -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.exception.api.NacosApiException; -import com.alibaba.nacos.api.model.v2.ErrorCode; -import com.alibaba.nacos.api.model.v2.Result; -import com.alibaba.nacos.auth.annotation.Secured; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.console.model.Namespace; -import com.alibaba.nacos.console.model.NamespaceAllInfo; -import com.alibaba.nacos.console.model.form.NamespaceForm; -import com.alibaba.nacos.console.service.NamespaceOperationService; -import com.alibaba.nacos.plugin.auth.constant.ActionTypes; -import com.alibaba.nacos.plugin.auth.constant.SignType; -import com.alibaba.nacos.plugin.auth.impl.constant.AuthConstants; -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; -import java.util.UUID; -import java.util.regex.Pattern; - -/** - * NamespaceControllerV2. - * - * @author dongyafei - * @date 2022/8/16 - */ -@NacosApi -@RestController -@RequestMapping(path = "/v2/console/namespace") -public class NamespaceControllerV2 { - - private final NamespaceOperationService namespaceOperationService; - - public NamespaceControllerV2(NamespaceOperationService namespaceOperationService) { - this.namespaceOperationService = namespaceOperationService; - } - - private final Pattern namespaceIdCheckPattern = Pattern.compile("^[\\w-]+"); - - private static final int NAMESPACE_ID_MAX_LENGTH = 128; - - /** - * Get namespace list. - * @return namespace list - */ - @GetMapping("/list") - public Result> getNamespaceList() { - return Result.success(namespaceOperationService.getNamespaceList()); - } - - /** - * get namespace all info by namespace id. - * @param namespaceId namespaceId - * @return namespace all info - */ - @GetMapping() - @Secured(resource = AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX + "namespaces", action = ActionTypes.READ, - signType = SignType.CONSOLE) - public Result getNamespace(@RequestParam("namespaceId") String namespaceId) - throws NacosException { - return Result.success(namespaceOperationService.getNamespace(namespaceId)); - } - - /** - * create namespace. - * @param namespaceForm namespaceForm. - * @return whether create ok - */ - @PostMapping - @Secured(resource = AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX + "namespaces", action = ActionTypes.WRITE, - signType = SignType.CONSOLE) - public Result createNamespace(NamespaceForm namespaceForm) throws NacosException { - - namespaceForm.validate(); - - String namespaceId = namespaceForm.getNamespaceId(); - String namespaceName = namespaceForm.getNamespaceName(); - String namespaceDesc = namespaceForm.getNamespaceDesc(); - - if (StringUtils.isBlank(namespaceId)) { - namespaceId = UUID.randomUUID().toString(); - } - else { - namespaceId = namespaceId.trim(); - if (!namespaceIdCheckPattern.matcher(namespaceId).matches()) { - throw new NacosApiException(HttpStatus.BAD_REQUEST.value(), ErrorCode.ILLEGAL_NAMESPACE, - "namespaceId [" + namespaceId + "] mismatch the pattern"); - } - if (namespaceId.length() > NAMESPACE_ID_MAX_LENGTH) { - throw new NacosApiException(HttpStatus.BAD_REQUEST.value(), ErrorCode.ILLEGAL_NAMESPACE, - "too long namespaceId, over " + NAMESPACE_ID_MAX_LENGTH); - } - } - return Result.success(namespaceOperationService.createNamespace(namespaceId, namespaceName, namespaceDesc)); - } - - /** - * edit namespace. - * @param namespaceForm namespace params - * @return whether edit ok - */ - @PutMapping - @Secured(resource = AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX + "namespaces", action = ActionTypes.WRITE, - signType = SignType.CONSOLE) - public Result editNamespace(NamespaceForm namespaceForm) throws NacosException { - namespaceForm.validate(); - return Result.success(namespaceOperationService.editNamespace(namespaceForm.getNamespaceId(), - namespaceForm.getNamespaceName(), namespaceForm.getNamespaceDesc())); - } - - /** - * delete namespace by id. - * @param namespaceId namespace ID - * @return whether delete ok - */ - @DeleteMapping - @Secured(resource = AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX + "namespaces", action = ActionTypes.WRITE, - signType = SignType.CONSOLE) - public Result deleteNamespace(@RequestParam("namespaceId") String namespaceId) { - return Result.success(namespaceOperationService.removeNamespace(namespaceId)); - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/console/enums/NamespaceTypeEnum.java b/pig-register/src/main/java/com/alibaba/nacos/console/enums/NamespaceTypeEnum.java deleted file mode 100644 index c1c67b5c..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/console/enums/NamespaceTypeEnum.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 1999-2021 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.console.enums; - -/** - * the enum of namespace. 0 : Global configuration, 1 : Default private namespace ,2 : - * Custom namespace. - * - * @author chenglu - * @date 2021-05-25 17:01 - */ -public enum NamespaceTypeEnum { - - /** - * Global configuration. - */ - GLOBAL(0, "Global configuration"), - - /** - * Default private namespace. - */ - PRIVATE(1, "Default private namespace"), - - /** - * Custom namespace. - */ - CUSTOM(2, "Custom namespace"); - - /** - * the namespace type. - */ - private final int type; - - /** - * the description. - */ - private final String description; - - NamespaceTypeEnum(int type, String description) { - this.type = type; - this.description = description; - } - - public int getType() { - return type; - } - - public String getDescription() { - return description; - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/console/exception/ConsoleExceptionHandler.java b/pig-register/src/main/java/com/alibaba/nacos/console/exception/ConsoleExceptionHandler.java deleted file mode 100644 index 9dd2b2f4..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/console/exception/ConsoleExceptionHandler.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.console.exception; - -import com.alibaba.nacos.plugin.auth.exception.AccessException; -import com.alibaba.nacos.common.model.RestResultUtils; -import com.alibaba.nacos.common.utils.ExceptionUtil; -import com.alibaba.nacos.core.utils.Commons; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.ControllerAdvice; -import org.springframework.web.bind.annotation.ExceptionHandler; - -import javax.servlet.http.HttpServletRequest; - -/** - * Exception handler for console module. - * - * @author nkorange - * @since 1.2.0 - */ -@ControllerAdvice -public class ConsoleExceptionHandler { - - private static final Logger LOGGER = LoggerFactory.getLogger(ConsoleExceptionHandler.class); - - @ExceptionHandler(AccessException.class) - private ResponseEntity handleAccessException(AccessException e) { - LOGGER.error("got exception. {}", e.getErrMsg()); - return ResponseEntity.status(HttpStatus.FORBIDDEN).body(e.getErrMsg()); - } - - @ExceptionHandler(IllegalArgumentException.class) - private ResponseEntity handleIllegalArgumentException(IllegalArgumentException e) { - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(ExceptionUtil.getAllExceptionMsg(e)); - } - - @ExceptionHandler(Exception.class) - private ResponseEntity handleException(HttpServletRequest request, Exception e) { - String uri = request.getRequestURI(); - LOGGER.error("CONSOLE {}", uri, e); - if (uri.contains(Commons.NACOS_SERVER_VERSION_V2)) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) - .body(RestResultUtils.failed(ExceptionUtil.getAllExceptionMsg(e))); - } - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(ExceptionUtil.getAllExceptionMsg(e)); - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/console/exception/NacosApiExceptionHandler.java b/pig-register/src/main/java/com/alibaba/nacos/console/exception/NacosApiExceptionHandler.java deleted file mode 100644 index c73e8f8e..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/console/exception/NacosApiExceptionHandler.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright 1999-2022 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.console.exception; - -import com.alibaba.nacos.api.annotation.NacosApi; -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.exception.api.NacosApiException; -import com.alibaba.nacos.api.model.v2.ErrorCode; -import com.alibaba.nacos.api.model.v2.Result; -import com.alibaba.nacos.common.utils.ExceptionUtil; -import com.alibaba.nacos.plugin.auth.exception.AccessException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.core.annotation.Order; -import org.springframework.dao.DataAccessException; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.http.converter.HttpMessageConversionException; -import org.springframework.http.converter.HttpMessageNotReadableException; -import org.springframework.web.HttpMediaTypeException; -import org.springframework.web.bind.MissingServletRequestParameterException; -import org.springframework.web.bind.annotation.ControllerAdvice; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.ResponseStatus; - -import javax.servlet.ServletException; -import java.io.IOException; - -/** - * Exception Handler for Nacos API. - * - * @author dongyafei - * @date 2022/7/22 - */ - -@Order(-1) -@ControllerAdvice(annotations = { NacosApi.class }) -@ResponseBody -public class NacosApiExceptionHandler { - - private static final Logger LOGGER = LoggerFactory.getLogger(NacosApiExceptionHandler.class); - - @ExceptionHandler(NacosApiException.class) - public ResponseEntity> handleNacosApiException(NacosApiException e) { - LOGGER.error("got exception. {} {}", e.getErrAbstract(), e.getErrMsg()); - return ResponseEntity.status(e.getErrCode()) - .body(new Result<>(e.getDetailErrCode(), e.getErrAbstract(), e.getErrMsg())); - } - - @ExceptionHandler(NacosException.class) - public ResponseEntity> handleNacosException(NacosException e) { - LOGGER.error("got exception. {}", e.getErrMsg()); - return ResponseEntity.status(e.getErrCode()).body(Result.failure(ErrorCode.SERVER_ERROR, e.getErrMsg())); - } - - @ResponseStatus(HttpStatus.BAD_REQUEST) - @ExceptionHandler(HttpMessageNotReadableException.class) - public Result handleHttpMessageNotReadableException(HttpMessageNotReadableException e) { - LOGGER.error("got exception. {} {}", e.getMessage(), ExceptionUtil.getAllExceptionMsg(e)); - return Result.failure(ErrorCode.PARAMETER_MISSING, e.getMessage()); - } - - @ResponseStatus(HttpStatus.BAD_REQUEST) - @ExceptionHandler(HttpMessageConversionException.class) - public Result handleHttpMessageConversionException(HttpMessageConversionException e) { - LOGGER.error("got exception. {} {}", e.getMessage(), ExceptionUtil.getAllExceptionMsg(e)); - return Result.failure(ErrorCode.PARAMETER_VALIDATE_ERROR, e.getMessage()); - } - - @ResponseStatus(HttpStatus.BAD_REQUEST) - @ExceptionHandler(NumberFormatException.class) - public Result handleNumberFormatException(NumberFormatException e) { - LOGGER.error("got exception. {} {}", e.getMessage(), ExceptionUtil.getAllExceptionMsg(e)); - return Result.failure(ErrorCode.PARAMETER_VALIDATE_ERROR, e.getMessage()); - } - - @ResponseStatus(HttpStatus.BAD_REQUEST) - @ExceptionHandler(IllegalArgumentException.class) - public Result handleIllegalArgumentException(IllegalArgumentException e) { - LOGGER.error("got exception. {} {}", e.getMessage(), ExceptionUtil.getAllExceptionMsg(e)); - return Result.failure(ErrorCode.PARAMETER_VALIDATE_ERROR, e.getMessage()); - } - - @ResponseStatus(HttpStatus.BAD_REQUEST) - @ExceptionHandler(MissingServletRequestParameterException.class) - public Result handleMissingServletRequestParameterException(MissingServletRequestParameterException e) { - LOGGER.error("got exception. {} {}", e.getMessage(), ExceptionUtil.getAllExceptionMsg(e)); - return Result.failure(ErrorCode.PARAMETER_MISSING, e.getMessage()); - } - - @ResponseStatus(HttpStatus.BAD_REQUEST) - @ExceptionHandler(HttpMediaTypeException.class) - public Result handleHttpMediaTypeException(HttpMediaTypeException e) { - LOGGER.error("got exception. {} {}", e.getMessage(), ExceptionUtil.getAllExceptionMsg(e)); - return Result.failure(ErrorCode.MEDIA_TYPE_ERROR, e.getMessage()); - } - - @ResponseStatus(HttpStatus.FORBIDDEN) - @ExceptionHandler(AccessException.class) - public Result handleAccessException(AccessException e) { - LOGGER.error("got exception. {} {}", e.getMessage(), ExceptionUtil.getAllExceptionMsg(e)); - return Result.failure(ErrorCode.ACCESS_DENIED, e.getErrMsg()); - } - - @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) - @ExceptionHandler(value = { DataAccessException.class, ServletException.class, IOException.class }) - public Result handleDataAccessException(Exception e) { - LOGGER.error("got exception. {} {}", e.getMessage(), ExceptionUtil.getAllExceptionMsg(e)); - return Result.failure(ErrorCode.DATA_ACCESS_ERROR, e.getMessage()); - } - - @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) - @ExceptionHandler(Exception.class) - public Result handleOtherException(Exception e) { - LOGGER.error("got exception. {} {}", e.getMessage(), ExceptionUtil.getAllExceptionMsg(e)); - return Result.failure(e.getMessage()); - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/console/filter/XssFilter.java b/pig-register/src/main/java/com/alibaba/nacos/console/filter/XssFilter.java deleted file mode 100644 index 7764ec8a..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/console/filter/XssFilter.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.console.filter; - -import org.springframework.web.filter.OncePerRequestFilter; - -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -/** - * XSS filter. - * - * @author onewe - */ -public class XssFilter extends OncePerRequestFilter { - - private static final String CONTENT_SECURITY_POLICY_HEADER = "Content-Security-Policy"; - - private static final String CONTENT_SECURITY_POLICY = "script-src 'self'"; - - @Override - protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) - throws ServletException, IOException { - - response.setHeader(CONTENT_SECURITY_POLICY_HEADER, CONTENT_SECURITY_POLICY); - filterChain.doFilter(request, response); - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/console/model/Namespace.java b/pig-register/src/main/java/com/alibaba/nacos/console/model/Namespace.java deleted file mode 100644 index 0137dade..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/console/model/Namespace.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.console.model; - -/** - * Namespace. - * - * @author diamond - */ -public class Namespace { - - private String namespace; - - private String namespaceShowName; - - private String namespaceDesc; - - private int quota; - - private int configCount; - - /** - * see {@link com.alibaba.nacos.console.enums.NamespaceTypeEnum}. - */ - private int type; - - public String getNamespaceShowName() { - return namespaceShowName; - } - - public void setNamespaceShowName(String namespaceShowName) { - this.namespaceShowName = namespaceShowName; - } - - public String getNamespace() { - return namespace; - } - - public void setNamespace(String namespace) { - this.namespace = namespace; - } - - public Namespace() { - } - - public Namespace(String namespace, String namespaceShowName) { - this.namespace = namespace; - this.namespaceShowName = namespaceShowName; - } - - public Namespace(String namespace, String namespaceShowName, int quota, int configCount, int type) { - this.namespace = namespace; - this.namespaceShowName = namespaceShowName; - this.quota = quota; - this.configCount = configCount; - this.type = type; - } - - public Namespace(String namespace, String namespaceShowName, String namespaceDesc, int quota, int configCount, - int type) { - this.namespace = namespace; - this.namespaceShowName = namespaceShowName; - this.quota = quota; - this.configCount = configCount; - this.type = type; - this.namespaceDesc = namespaceDesc; - } - - public String getNamespaceDesc() { - return namespaceDesc; - } - - public void setNamespaceDesc(String namespaceDesc) { - this.namespaceDesc = namespaceDesc; - } - - public int getQuota() { - return quota; - } - - public void setQuota(int quota) { - this.quota = quota; - } - - public int getConfigCount() { - return configCount; - } - - public void setConfigCount(int configCount) { - this.configCount = configCount; - } - - public int getType() { - return type; - } - - public void setType(int type) { - this.type = type; - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/console/model/NamespaceAllInfo.java b/pig-register/src/main/java/com/alibaba/nacos/console/model/NamespaceAllInfo.java deleted file mode 100644 index 3d544188..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/console/model/NamespaceAllInfo.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.console.model; - -/** - * all namespace info. - * - * @author Nacos - */ -public class NamespaceAllInfo extends Namespace { - - public NamespaceAllInfo(String namespace, String namespaceShowName, int quota, int configCount, int type, - String namespaceDesc) { - super(namespace, namespaceShowName, namespaceDesc, quota, configCount, type); - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/console/model/form/NamespaceForm.java b/pig-register/src/main/java/com/alibaba/nacos/console/model/form/NamespaceForm.java deleted file mode 100644 index 952d6efb..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/console/model/form/NamespaceForm.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright 1999-2022 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.console.model.form; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.exception.api.NacosApiException; -import com.alibaba.nacos.api.model.v2.ErrorCode; -import org.springframework.http.HttpStatus; - -import java.io.Serializable; -import java.util.Objects; - -/** - * NamespaceForm. - * - * @author dongyafei - * @date 2022/8/16 - */ -public class NamespaceForm implements Serializable { - - private static final long serialVersionUID = -1078976569495343487L; - - private String namespaceId; - - private String namespaceName; - - private String namespaceDesc; - - public NamespaceForm() { - } - - public NamespaceForm(String namespaceId, String namespaceName, String namespaceDesc) { - this.namespaceId = namespaceId; - this.namespaceName = namespaceName; - this.namespaceDesc = namespaceDesc; - } - - public String getNamespaceId() { - return namespaceId; - } - - public void setNamespaceId(String namespaceId) { - this.namespaceId = namespaceId; - } - - public String getNamespaceName() { - return namespaceName; - } - - public void setNamespaceName(String namespaceName) { - this.namespaceName = namespaceName; - } - - public String getNamespaceDesc() { - return namespaceDesc; - } - - public void setNamespaceDesc(String namespaceDesc) { - this.namespaceDesc = namespaceDesc; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - NamespaceForm that = (NamespaceForm) o; - return Objects.equals(namespaceId, that.namespaceId) && Objects.equals(namespaceName, that.namespaceName) - && Objects.equals(namespaceDesc, that.namespaceDesc); - } - - @Override - public int hashCode() { - return Objects.hash(namespaceId, namespaceName, namespaceDesc); - } - - @Override - public String toString() { - return "NamespaceVo{" + "namespaceId='" + namespaceId + '\'' + ", namespaceName='" + namespaceName + '\'' - + ", namespaceDesc='" + namespaceDesc + '\'' + '}'; - } - - /** - * check required param. - * @throws NacosException NacosException - */ - public void validate() throws NacosException { - if (null == namespaceId) { - throw new NacosApiException(HttpStatus.BAD_REQUEST.value(), ErrorCode.PARAMETER_MISSING, - "required parameter 'namespaceId' is missing"); - } - if (null == namespaceName) { - throw new NacosApiException(HttpStatus.BAD_REQUEST.value(), ErrorCode.PARAMETER_MISSING, - "required parameter 'namespaceName' is missing"); - } - } - -} diff --git a/pig-register/src/main/java/com/alibaba/nacos/console/service/NamespaceOperationService.java b/pig-register/src/main/java/com/alibaba/nacos/console/service/NamespaceOperationService.java deleted file mode 100644 index c85bb505..00000000 --- a/pig-register/src/main/java/com/alibaba/nacos/console/service/NamespaceOperationService.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright 1999-2022 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.nacos.console.service; - -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.exception.api.NacosApiException; -import com.alibaba.nacos.api.model.v2.ErrorCode; -import com.alibaba.nacos.common.utils.StringUtils; -import com.alibaba.nacos.config.server.model.TenantInfo; -import com.alibaba.nacos.config.server.service.repository.CommonPersistService; -import com.alibaba.nacos.config.server.service.repository.ConfigInfoPersistService; -import com.alibaba.nacos.console.enums.NamespaceTypeEnum; -import com.alibaba.nacos.console.model.Namespace; -import com.alibaba.nacos.console.model.NamespaceAllInfo; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; - -/** - * NamespaceOperationService. - * - * @author dongyafei - * @date 2022/8/16 - */ - -@Service -public class NamespaceOperationService { - - private final ConfigInfoPersistService configInfoPersistService; - - private final CommonPersistService commonPersistService; - - private static final String DEFAULT_NAMESPACE = "public"; - - private static final String DEFAULT_NAMESPACE_SHOW_NAME = "Public"; - - private static final String DEFAULT_NAMESPACE_DESCRIPTION = "Public Namespace"; - - private static final int DEFAULT_QUOTA = 200; - - private static final String DEFAULT_CREATE_SOURCE = "nacos"; - - private static final String DEFAULT_TENANT = ""; - - private static final String DEFAULT_KP = "1"; - - public NamespaceOperationService(ConfigInfoPersistService configInfoPersistService, - CommonPersistService commonPersistService) { - this.configInfoPersistService = configInfoPersistService; - this.commonPersistService = commonPersistService; - } - - public List getNamespaceList() { - // TODO 获取用kp - List tenantInfos = commonPersistService.findTenantByKp(DEFAULT_KP); - - Namespace namespace0 = new Namespace("", DEFAULT_NAMESPACE, DEFAULT_QUOTA, - configInfoPersistService.configInfoCount(DEFAULT_TENANT), NamespaceTypeEnum.GLOBAL.getType()); - List namespaceList = new ArrayList<>(); - namespaceList.add(namespace0); - - for (TenantInfo tenantInfo : tenantInfos) { - int configCount = configInfoPersistService.configInfoCount(tenantInfo.getTenantId()); - Namespace namespaceTmp = new Namespace(tenantInfo.getTenantId(), tenantInfo.getTenantName(), - tenantInfo.getTenantDesc(), DEFAULT_QUOTA, configCount, NamespaceTypeEnum.CUSTOM.getType()); - namespaceList.add(namespaceTmp); - } - return namespaceList; - } - - /** - * query namespace by namespace id. - * @param namespaceId namespace Id. - * @return NamespaceAllInfo. - */ - public NamespaceAllInfo getNamespace(String namespaceId) throws NacosException { - // TODO 获取用kp - if (StringUtils.isBlank(namespaceId)) { - return new NamespaceAllInfo(namespaceId, DEFAULT_NAMESPACE_SHOW_NAME, DEFAULT_QUOTA, - configInfoPersistService.configInfoCount(DEFAULT_TENANT), NamespaceTypeEnum.GLOBAL.getType(), - DEFAULT_NAMESPACE_DESCRIPTION); - } - else { - TenantInfo tenantInfo = commonPersistService.findTenantByKp(DEFAULT_KP, namespaceId); - if (null == tenantInfo) { - throw new NacosApiException(HttpStatus.NOT_FOUND.value(), ErrorCode.NAMESPACE_NOT_EXIST, - "namespaceId [ " + namespaceId + " ] not exist"); - } - int configCount = configInfoPersistService.configInfoCount(namespaceId); - return new NamespaceAllInfo(namespaceId, tenantInfo.getTenantName(), DEFAULT_QUOTA, configCount, - NamespaceTypeEnum.CUSTOM.getType(), tenantInfo.getTenantDesc()); - } - } - - /** - * create namespace. - * @param namespaceId namespace ID - * @param namespaceName namespace Name - * @param namespaceDesc namespace Desc - * @return whether create ok - */ - public Boolean createNamespace(String namespaceId, String namespaceName, String namespaceDesc) - throws NacosException { - // TODO 获取用kp - if (commonPersistService.tenantInfoCountByTenantId(namespaceId) > 0) { - throw new NacosApiException(HttpStatus.INTERNAL_SERVER_ERROR.value(), ErrorCode.NAMESPACE_ALREADY_EXIST, - "namespaceId [" + namespaceId + "] already exist"); - } - - commonPersistService.insertTenantInfoAtomic(DEFAULT_KP, namespaceId, namespaceName, namespaceDesc, - DEFAULT_CREATE_SOURCE, System.currentTimeMillis()); - return true; - } - - /** - * edit namespace. - */ - public Boolean editNamespace(String namespaceId, String namespaceName, String namespaceDesc) { - // TODO 获取用kp - commonPersistService.updateTenantNameAtomic(DEFAULT_KP, namespaceId, namespaceName, namespaceDesc); - return true; - } - - /** - * remove namespace. - */ - public Boolean removeNamespace(String namespaceId) { - commonPersistService.removeTenantInfoAtomic(DEFAULT_KP, namespaceId); - return true; - } - -} diff --git a/pig-register/src/main/resources/META-INF/nacos-default.properties b/pig-register/src/main/resources/META-INF/nacos-default.properties deleted file mode 100644 index 04aa6500..00000000 --- a/pig-register/src/main/resources/META-INF/nacos-default.properties +++ /dev/null @@ -1,78 +0,0 @@ -# -# Copyright 1999-2018 Alibaba Group Holding Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# Console Default Properties - -spring.mvc.view.prefix=/jsp/ -# the default suffix of page -spring.mvc.view.suffix=.jsp -spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration -#logging.level.root=DEBUG - -# P0 key,For Debug. whether use address-server; true:use; false:not use;default:true -useAddressServer=true - -# whether open interInterFaceFilter; true:open; false:close; if open, others can't call inner interface. default:false -openInnerInterfaceFilter=false - -# quickStart stip dumpAll;only dump change config -isQuickStart=false - -# server notify each otherd -notifyConnectTimeout=200 - -# server notify each other -notifySocketTimeout=8000 - -# whether health check -isHealthCheck=true - -# health check max fail count -maxHealthCheckFailCount=12 - -# whether open spas; true:open; false:close -OPEN_SPAS=true - -nacos.cmdb.dumpTaskInterval=3600 -nacos.cmdb.eventTaskInterval=10 -nacos.cmdb.labelTaskInterval=300 -nacos.cmdb.loadDataAtStart=false - -#management.endpoints.web.exposure.include=* - -#spring.security.enabled=false -#management.security=false -#security.basic.enabled=false -#nacos.security.ignore.urls=/** -nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/login,/v1/console/health,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/** - -management.metrics.export.elastic.enabled=false -#management.metrics.export.elastic.host=http://localhost:9200 - -# metrics for influx -management.metrics.export.influx.enabled=false -#management.metrics.export.influx.db=springboot -#management.metrics.export.influx.uri=http://localhost:8086 -#management.metrics.export.influx.auto-create-db=true -#management.metrics.export.influx.consistency=one -#management.metrics.export.influx.compressed=true - -server.tomcat.accesslog.enabled=true -server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D -# default current work dir -server.tomcat.basedir= - - diff --git a/pig-register/src/main/resources/META-INF/schema.sql b/pig-register/src/main/resources/META-INF/schema.sql deleted file mode 100644 index db17fcb1..00000000 --- a/pig-register/src/main/resources/META-INF/schema.sql +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -CREATE SCHEMA nacos AUTHORIZATION nacos; - -CREATE TABLE config_info ( - id bigint NOT NULL generated by default as identity, - data_id varchar(255) NOT NULL, - group_id varchar(128) NOT NULL, - tenant_id varchar(128) default '', - app_name varchar(128), - content CLOB, - md5 varchar(32) DEFAULT NULL, - gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', - gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', - src_user varchar(128) DEFAULT NULL, - src_ip varchar(20) DEFAULT NULL, - c_desc varchar(256) DEFAULT NULL, - c_use varchar(64) DEFAULT NULL, - effect varchar(64) DEFAULT NULL, - type varchar(64) DEFAULT NULL, - c_schema LONG VARCHAR DEFAULT NULL, - encrypted_data_key LONG VARCHAR DEFAULT NULL, - constraint configinfo_id_key PRIMARY KEY (id), - constraint uk_configinfo_datagrouptenant UNIQUE (data_id,group_id,tenant_id)); - -CREATE INDEX configinfo_dataid_key_idx ON config_info(data_id); -CREATE INDEX configinfo_groupid_key_idx ON config_info(group_id); -CREATE INDEX configinfo_dataid_group_key_idx ON config_info(data_id, group_id); - -CREATE TABLE his_config_info ( - id bigint NOT NULL, - nid bigint NOT NULL generated by default as identity, - data_id varchar(255) NOT NULL, - group_id varchar(128) NOT NULL, - tenant_id varchar(128) default '', - app_name varchar(128), - content CLOB, - md5 varchar(32) DEFAULT NULL, - gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00.000', - gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00.000', - src_user varchar(128), - src_ip varchar(20) DEFAULT NULL, - op_type char(10) DEFAULT NULL, - encrypted_data_key LONG VARCHAR DEFAULT NULL, - constraint hisconfiginfo_nid_key PRIMARY KEY (nid)); - -CREATE INDEX hisconfiginfo_dataid_key_idx ON his_config_info(data_id); -CREATE INDEX hisconfiginfo_gmt_create_idx ON his_config_info(gmt_create); -CREATE INDEX hisconfiginfo_gmt_modified_idx ON his_config_info(gmt_modified); - - -CREATE TABLE config_info_beta ( - id bigint NOT NULL generated by default as identity, - data_id varchar(255) NOT NULL, - group_id varchar(128) NOT NULL, - tenant_id varchar(128) default '', - app_name varchar(128), - content CLOB, - beta_ips varchar(1024), - md5 varchar(32) DEFAULT NULL, - gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', - gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', - src_user varchar(128), - src_ip varchar(20) DEFAULT NULL, - encrypted_data_key LONG VARCHAR DEFAULT NULL, - constraint configinfobeta_id_key PRIMARY KEY (id), - constraint uk_configinfobeta_datagrouptenant UNIQUE (data_id,group_id,tenant_id)); - -CREATE TABLE config_info_tag ( - id bigint NOT NULL generated by default as identity, - data_id varchar(255) NOT NULL, - group_id varchar(128) NOT NULL, - tenant_id varchar(128) default '', - tag_id varchar(128) NOT NULL, - app_name varchar(128), - content CLOB, - md5 varchar(32) DEFAULT NULL, - gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', - gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', - src_user varchar(128), - src_ip varchar(20) DEFAULT NULL, - constraint configinfotag_id_key PRIMARY KEY (id), - constraint uk_configinfotag_datagrouptenanttag UNIQUE (data_id,group_id,tenant_id,tag_id)); - -CREATE TABLE config_info_aggr ( - id bigint NOT NULL generated by default as identity, - data_id varchar(255) NOT NULL, - group_id varchar(128) NOT NULL, - tenant_id varchar(128) default '', - datum_id varchar(255) NOT NULL, - app_name varchar(128), - content CLOB, - gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', - constraint configinfoaggr_id_key PRIMARY KEY (id), - constraint uk_configinfoaggr_datagrouptenantdatum UNIQUE (data_id,group_id,tenant_id,datum_id)); - -CREATE TABLE app_list ( - id bigint NOT NULL generated by default as identity, - app_name varchar(128) NOT NULL, - is_dynamic_collect_disabled smallint DEFAULT 0, - last_sub_info_collected_time timestamp DEFAULT '1970-01-01 08:00:00.0', - sub_info_lock_owner varchar(128), - sub_info_lock_time timestamp DEFAULT '1970-01-01 08:00:00.0', - constraint applist_id_key PRIMARY KEY (id), - constraint uk_appname UNIQUE (app_name)); - -CREATE TABLE app_configdata_relation_subs ( - id bigint NOT NULL generated by default as identity, - app_name varchar(128) NOT NULL, - data_id varchar(255) NOT NULL, - group_id varchar(128) NOT NULL, - gmt_modified timestamp DEFAULT '2010-05-05 00:00:00', - constraint configdatarelationsubs_id_key PRIMARY KEY (id), - constraint uk_app_sub_config_datagroup UNIQUE (app_name, data_id, group_id)); - - -CREATE TABLE app_configdata_relation_pubs ( - id bigint NOT NULL generated by default as identity, - app_name varchar(128) NOT NULL, - data_id varchar(255) NOT NULL, - group_id varchar(128) NOT NULL, - gmt_modified timestamp DEFAULT '2010-05-05 00:00:00', - constraint configdatarelationpubs_id_key PRIMARY KEY (id), - constraint uk_app_pub_config_datagroup UNIQUE (app_name, data_id, group_id)); - -CREATE TABLE config_tags_relation ( - id bigint NOT NULL, - tag_name varchar(128) NOT NULL, - tag_type varchar(64) DEFAULT NULL, - data_id varchar(255) NOT NULL, - group_id varchar(128) NOT NULL, - tenant_id varchar(128) DEFAULT '', - nid bigint NOT NULL generated by default as identity, - constraint config_tags_id_key PRIMARY KEY (nid), - constraint uk_configtagrelation_configidtag UNIQUE (id, tag_name, tag_type)); - -CREATE INDEX config_tags_tenant_id_idx ON config_tags_relation(tenant_id); - -CREATE TABLE group_capacity ( - id bigint NOT NULL generated by default as identity, - group_id varchar(128) DEFAULT '', - quota int DEFAULT 0, - usage int DEFAULT 0, - max_size int DEFAULT 0, - max_aggr_count int DEFAULT 0, - max_aggr_size int DEFAULT 0, - max_history_count int DEFAULT 0, - gmt_create timestamp DEFAULT '2010-05-05 00:00:00', - gmt_modified timestamp DEFAULT '2010-05-05 00:00:00', - constraint group_capacity_id_key PRIMARY KEY (id), - constraint uk_group_id UNIQUE (group_id)); - -CREATE TABLE tenant_capacity ( - id bigint NOT NULL generated by default as identity, - tenant_id varchar(128) DEFAULT '', - quota int DEFAULT 0, - usage int DEFAULT 0, - max_size int DEFAULT 0, - max_aggr_count int DEFAULT 0, - max_aggr_size int DEFAULT 0, - max_history_count int DEFAULT 0, - gmt_create timestamp DEFAULT '2010-05-05 00:00:00', - gmt_modified timestamp DEFAULT '2010-05-05 00:00:00', - constraint tenant_capacity_id_key PRIMARY KEY (id), - constraint uk_tenant_id UNIQUE (tenant_id)); - -CREATE TABLE tenant_info ( - id bigint NOT NULL generated by default as identity, - kp varchar(128) NOT NULL, - tenant_id varchar(128) DEFAULT '', - tenant_name varchar(128) DEFAULT '', - tenant_desc varchar(256) DEFAULT NULL, - create_source varchar(32) DEFAULT NULL, - gmt_create bigint NOT NULL, - gmt_modified bigint NOT NULL, - constraint tenant_info_id_key PRIMARY KEY (id), - constraint uk_tenant_info_kptenantid UNIQUE (kp,tenant_id)); -CREATE INDEX tenant_info_tenant_id_idx ON tenant_info(tenant_id); - -CREATE TABLE users ( - username varchar(50) NOT NULL PRIMARY KEY, - password varchar(500) NOT NULL, - enabled boolean NOT NULL DEFAULT true -); - -CREATE TABLE roles ( - username varchar(50) NOT NULL, - role varchar(50) NOT NULL, - constraint uk_username_role UNIQUE (username,role) -); - -CREATE TABLE permissions ( - role varchar(50) NOT NULL, - resource varchar(512) NOT NULL, - action varchar(8) NOT NULL, - constraint uk_role_permission UNIQUE (role,resource,action) -); - -INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE); - -INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN'); diff --git a/pig-register/src/main/resources/application.yml b/pig-register/src/main/resources/application.yml deleted file mode 100755 index 60681dab..00000000 --- a/pig-register/src/main/resources/application.yml +++ /dev/null @@ -1,54 +0,0 @@ -server: - port: 8848 #如何修改 pig-register 启动端口 >: https://t.cn/A6XGvTdb - tomcat: - basedir: logs - -db: - num: 1 - user: ${MYSQL_USER:root} - password: ${MYSQL_PWD:root} - url: - 0: jdbc:mysql://${MYSQL_HOST:pig-mysql}:${MYSQL_PORT:3306}/${MYSQL_DB:pig_config}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true - - -nacos: - core: - auth: - plugin.nacos.token.secret.key: SecretKey012345678901234567890123456789012345678901234567890123456789 - enabled: false - system.type: nacos - security: - ignore: - urls: /,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/** - -spring: - datasource: - platform: mysql #这个过期属性不能修改,nacos 代码对此有硬编码 - security: - enabled: true - boot: # 接入 spring boot admin - admin: - client: - url: http://pig-monitor:5001 - username: pig - password: pig - instance: - service-host-type: ip - application: - name: @project.artifactId@ - main: - allow-circular-references: true - -useAddressServer: true - -management: - endpoints: - web: - exposure: - include: '*' - metrics: - export: - influx: - enabled: false - elastic: - enabled: false diff --git a/pig-register/src/main/resources/nacos-version.txt b/pig-register/src/main/resources/nacos-version.txt deleted file mode 100755 index 13794c20..00000000 --- a/pig-register/src/main/resources/nacos-version.txt +++ /dev/null @@ -1 +0,0 @@ -version=2.2.0 diff --git a/pig-register/src/main/resources/static/console-ui/public/css/bootstrap.css b/pig-register/src/main/resources/static/console-ui/public/css/bootstrap.css deleted file mode 100644 index 72451b28..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/css/bootstrap.css +++ /dev/null @@ -1,7127 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/*! normalize.css v2.1.3 | MIT License | git.io/normalize */ - -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], -template { - display: none; -} - -html { - font-family: sans-serif; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} - -body { - margin: 0; -} - -a { - background: transparent; -} - -a:focus { - outline: thin dotted; -} - -a:active, -a:hover { - outline: 0; -} - -h1 { - margin: 0.67em 0; - font-size: 2em; -} - -abbr[title] { - border-bottom: 1px dotted; -} - -b, -strong { - font-weight: bold; -} - -dfn { - font-style: italic; -} - -hr { - height: 0; - -moz-box-sizing: content-box; - box-sizing: content-box; -} - -mark { - color: #000; - background: #ff0; -} - -code, -kbd, -pre, -samp { - font-family: monospace, serif; - font-size: 1em; -} - -pre { - white-space: pre-wrap; -} - -q { - quotes: "\201C" "\201D" "\2018" "\2019"; -} - -small { - font-size: 80%; -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -img { - border: 0; -} - -svg:not(:root) { - overflow: hidden; -} - -figure { - margin: 0; -} - -fieldset { - padding: 0.35em 0.625em 0.75em; - margin: 0 2px; - border: 1px solid #c0c0c0; -} - -legend { - padding: 0; - border: 0; -} - -button, -input, -select, -textarea { - margin: 0; - font-family: inherit; - font-size: 100%; -} - -button, -input { - line-height: normal; -} - -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"] { - padding: 0; - box-sizing: border-box; -} - -input[type="search"] { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - -webkit-appearance: textfield; -} - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -button::-moz-focus-inner, -input::-moz-focus-inner { - padding: 0; - border: 0; -} - -textarea { - overflow: auto; - vertical-align: top; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} - -@media print { - * { - color: #000 !important; - text-shadow: none !important; - background: transparent !important; - box-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - @page { - margin: 2cm .5cm; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - select { - background: #fff !important; - } - .navbar { - display: none; - } - .table td, - .table th { - background-color: #fff !important; - } - .btn > .caret, - .dropup > .btn > .caret { - border-top-color: #000 !important; - } - .label { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #ddd !important; - } -} - -*, -*:before, -*:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -html { - font-size: 62.5%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.428571429; - color: #333333; - background-color: #ffffff; -} - -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; -} - -a { - color: #428bca; - text-decoration: none; -} - -a:hover, -a:focus { - color: #2a6496; - text-decoration: underline; -} - -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} - -img { - vertical-align: middle; -} - -.img-responsive { - display: block; - height: auto; - max-width: 100%; -} - -.img-rounded { - border-radius: 6px; -} - -.img-thumbnail { - display: inline-block; - height: auto; - max-width: 100%; - padding: 4px; - line-height: 1.428571429; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 4px; - -webkit-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} - -.img-circle { - border-radius: 50%; -} - -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} - -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: 500; - line-height: 1.1; - color: inherit; -} - -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small, -h1 .small, -h2 .small, -h3 .small, -h4 .small, -h5 .small, -h6 .small, -.h1 .small, -.h2 .small, -.h3 .small, -.h4 .small, -.h5 .small, -.h6 .small { - font-weight: normal; - line-height: 1; - color: #999999; -} - -h1, -h2, -h3 { - margin-top: 20px; - margin-bottom: 10px; -} - -h1 small, -h2 small, -h3 small, -h1 .small, -h2 .small, -h3 .small { - font-size: 65%; -} - -h4, -h5, -h6 { - margin-top: 10px; - margin-bottom: 10px; -} - -h4 small, -h5 small, -h6 small, -h4 .small, -h5 .small, -h6 .small { - font-size: 75%; -} - -h1, -.h1 { - font-size: 36px; -} - -h2, -.h2 { - font-size: 30px; -} - -h3, -.h3 { - font-size: 24px; -} - -h4, -.h4 { - font-size: 18px; -} - -h5, -.h5 { - font-size: 14px; -} - -h6, -.h6 { - font-size: 12px; -} - -p { - margin: 0 0 10px; -} - -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 200; - line-height: 1.4; -} - -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} - -small, -.small { - font-size: 85%; -} - -cite { - font-style: normal; -} - -.text-muted { - color: #999999; -} - -.text-primary { - color: #428bca; -} - -.text-primary:hover { - color: #3071a9; -} - -.text-warning { - color: #8a6d3b; -} - -.text-warning:hover { - color: #66512c; -} - -.text-danger { - color: #a94442; -} - -.text-danger:hover { - color: #843534; -} - -.text-success { - color: #3c763d; -} - -.text-success:hover { - color: #2b542c; -} - -.text-info { - color: #31708f; -} - -.text-info:hover { - color: #245269; -} - -.text-left { - text-align: left; -} - -.text-right { - text-align: right; -} - -.text-center { - text-align: center; -} - -.page-header { - padding-bottom: 9px; - margin: 40px 0 20px; - border-bottom: 1px solid #eeeeee; -} - -ul, -ol { - margin-top: 0; - margin-bottom: 10px; -} - -ul ul, -ol ul, -ul ol, -ol ol { - margin-bottom: 0; -} - -.list-unstyled { - padding-left: 0; - list-style: none; -} - -.list-inline { - padding-left: 0; - list-style: none; -} - -.list-inline > li { - display: inline-block; - padding-right: 5px; - padding-left: 5px; -} - -.list-inline > li:first-child { - padding-left: 0; -} - -dl { - margin-top: 0; - margin-bottom: 20px; -} - -dt, -dd { - line-height: 1.428571429; -} - -dt { - font-weight: bold; -} - -dd { - margin-left: 0; -} - -@media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - overflow: hidden; - clear: left; - text-align: right; - text-overflow: ellipsis; - white-space: nowrap; - } - .dl-horizontal dd { - margin-left: 180px; - } - .dl-horizontal dd:before, - .dl-horizontal dd:after { - display: table; - content: " "; - } - .dl-horizontal dd:after { - clear: both; - } - .dl-horizontal dd:before, - .dl-horizontal dd:after { - display: table; - content: " "; - } - .dl-horizontal dd:after { - clear: both; - } -} - -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #999999; -} - -.initialism { - font-size: 90%; - text-transform: uppercase; -} - -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - border-left: 5px solid #eeeeee; -} - -blockquote p { - font-size: 17.5px; - font-weight: 300; - line-height: 1.25; -} - -blockquote p:last-child { - margin-bottom: 0; -} - -blockquote small, -blockquote .small { - display: block; - line-height: 1.428571429; - color: #999999; -} - -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} - -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - border-right: 5px solid #eeeeee; - border-left: 0; -} - -blockquote.pull-right p, -blockquote.pull-right small, -blockquote.pull-right .small { - text-align: right; -} - -blockquote.pull-right small:before, -blockquote.pull-right .small:before { - content: ''; -} - -blockquote.pull-right small:after, -blockquote.pull-right .small:after { - content: '\00A0 \2014'; -} - -blockquote:before, -blockquote:after { - content: ""; -} - -address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.428571429; -} - -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; -} - -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - white-space: nowrap; - background-color: #f9f2f4; - border-radius: 4px; -} - -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.428571429; - color: #333333; - word-break: break-all; - word-wrap: break-word; - background-color: #f5f5f5; - border: 1px solid #cccccc; - border-radius: 4px; -} - -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; -} - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} - -.container { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -.container:before, -.container:after { - display: table; - content: " "; -} - -.container:after { - clear: both; -} - -.container:before, -.container:after { - display: table; - content: " "; -} - -.container:after { - clear: both; -} - -@media (min-width: 768px) { - .container { - width: 750px; - } -} - -@media (min-width: 992px) { - .container { - width: 970px; - } -} - -@media (min-width: 1200px) { - .container { - width: 1170px; - } -} - -.row { - margin-right: -15px; - margin-left: -15px; -} - -.row:before, -.row:after { - display: table; - content: " "; -} - -.row:after { - clear: both; -} - -.row:before, -.row:after { - display: table; - content: " "; -} - -.row:after { - clear: both; -} - -.col-xs-1, -.col-sm-1, -.col-md-1, -.col-lg-1, -.col-xs-2, -.col-sm-2, -.col-md-2, -.col-lg-2, -.col-xs-3, -.col-sm-3, -.col-md-3, -.col-lg-3, -.col-xs-4, -.col-sm-4, -.col-md-4, -.col-lg-4, -.col-xs-5, -.col-sm-5, -.col-md-5, -.col-lg-5, -.col-xs-6, -.col-sm-6, -.col-md-6, -.col-lg-6, -.col-xs-7, -.col-sm-7, -.col-md-7, -.col-lg-7, -.col-xs-8, -.col-sm-8, -.col-md-8, -.col-lg-8, -.col-xs-9, -.col-sm-9, -.col-md-9, -.col-lg-9, -.col-xs-10, -.col-sm-10, -.col-md-10, -.col-lg-10, -.col-xs-11, -.col-sm-11, -.col-md-11, -.col-lg-11, -.col-xs-12, -.col-sm-12, -.col-md-12, -.col-lg-12 { - position: relative; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; -} - -.col-xs-1, -.col-xs-2, -.col-xs-3, -.col-xs-4, -.col-xs-5, -.col-xs-6, -.col-xs-7, -.col-xs-8, -.col-xs-9, -.col-xs-10, -.col-xs-11, -.col-xs-12 { - float: left; -} - -.col-xs-12 { - width: 100%; -} - -.col-xs-11 { - width: 91.66666666666666%; -} - -.col-xs-10 { - width: 83.33333333333334%; -} - -.col-xs-9 { - width: 75%; -} - -.col-xs-8 { - width: 66.66666666666666%; -} - -.col-xs-7 { - width: 58.333333333333336%; -} - -.col-xs-6 { - width: 50%; -} - -.col-xs-5 { - width: 41.66666666666667%; -} - -.col-xs-4 { - width: 33.33333333333333%; -} - -.col-xs-3 { - width: 25%; -} - -.col-xs-2 { - width: 16.666666666666664%; -} - -.col-xs-1 { - width: 8.333333333333332%; -} - -.col-xs-pull-12 { - right: 100%; -} - -.col-xs-pull-11 { - right: 91.66666666666666%; -} - -.col-xs-pull-10 { - right: 83.33333333333334%; -} - -.col-xs-pull-9 { - right: 75%; -} - -.col-xs-pull-8 { - right: 66.66666666666666%; -} - -.col-xs-pull-7 { - right: 58.333333333333336%; -} - -.col-xs-pull-6 { - right: 50%; -} - -.col-xs-pull-5 { - right: 41.66666666666667%; -} - -.col-xs-pull-4 { - right: 33.33333333333333%; -} - -.col-xs-pull-3 { - right: 25%; -} - -.col-xs-pull-2 { - right: 16.666666666666664%; -} - -.col-xs-pull-1 { - right: 8.333333333333332%; -} - -.col-xs-pull-0 { - right: 0; -} - -.col-xs-push-12 { - left: 100%; -} - -.col-xs-push-11 { - left: 91.66666666666666%; -} - -.col-xs-push-10 { - left: 83.33333333333334%; -} - -.col-xs-push-9 { - left: 75%; -} - -.col-xs-push-8 { - left: 66.66666666666666%; -} - -.col-xs-push-7 { - left: 58.333333333333336%; -} - -.col-xs-push-6 { - left: 50%; -} - -.col-xs-push-5 { - left: 41.66666666666667%; -} - -.col-xs-push-4 { - left: 33.33333333333333%; -} - -.col-xs-push-3 { - left: 25%; -} - -.col-xs-push-2 { - left: 16.666666666666664%; -} - -.col-xs-push-1 { - left: 8.333333333333332%; -} - -.col-xs-push-0 { - left: 0; -} - -.col-xs-offset-12 { - margin-left: 100%; -} - -.col-xs-offset-11 { - margin-left: 91.66666666666666%; -} - -.col-xs-offset-10 { - margin-left: 83.33333333333334%; -} - -.col-xs-offset-9 { - margin-left: 75%; -} - -.col-xs-offset-8 { - margin-left: 66.66666666666666%; -} - -.col-xs-offset-7 { - margin-left: 58.333333333333336%; -} - -.col-xs-offset-6 { - margin-left: 50%; -} - -.col-xs-offset-5 { - margin-left: 41.66666666666667%; -} - -.col-xs-offset-4 { - margin-left: 33.33333333333333%; -} - -.col-xs-offset-3 { - margin-left: 25%; -} - -.col-xs-offset-2 { - margin-left: 16.666666666666664%; -} - -.col-xs-offset-1 { - margin-left: 8.333333333333332%; -} - -.col-xs-offset-0 { - margin-left: 0; -} - -@media (min-width: 768px) { - .col-sm-1, - .col-sm-2, - .col-sm-3, - .col-sm-4, - .col-sm-5, - .col-sm-6, - .col-sm-7, - .col-sm-8, - .col-sm-9, - .col-sm-10, - .col-sm-11, - .col-sm-12 { - float: left; - } - .col-sm-12 { - width: 100%; - } - .col-sm-11 { - width: 91.66666666666666%; - } - .col-sm-10 { - width: 83.33333333333334%; - } - .col-sm-9 { - width: 75%; - } - .col-sm-8 { - width: 66.66666666666666%; - } - .col-sm-7 { - width: 58.333333333333336%; - } - .col-sm-6 { - width: 50%; - } - .col-sm-5 { - width: 41.66666666666667%; - } - .col-sm-4 { - width: 33.33333333333333%; - } - .col-sm-3 { - width: 25%; - } - .col-sm-2 { - width: 16.666666666666664%; - } - .col-sm-1 { - width: 8.333333333333332%; - } - .col-sm-pull-12 { - right: 100%; - } - .col-sm-pull-11 { - right: 91.66666666666666%; - } - .col-sm-pull-10 { - right: 83.33333333333334%; - } - .col-sm-pull-9 { - right: 75%; - } - .col-sm-pull-8 { - right: 66.66666666666666%; - } - .col-sm-pull-7 { - right: 58.333333333333336%; - } - .col-sm-pull-6 { - right: 50%; - } - .col-sm-pull-5 { - right: 41.66666666666667%; - } - .col-sm-pull-4 { - right: 33.33333333333333%; - } - .col-sm-pull-3 { - right: 25%; - } - .col-sm-pull-2 { - right: 16.666666666666664%; - } - .col-sm-pull-1 { - right: 8.333333333333332%; - } - .col-sm-pull-0 { - right: 0; - } - .col-sm-push-12 { - left: 100%; - } - .col-sm-push-11 { - left: 91.66666666666666%; - } - .col-sm-push-10 { - left: 83.33333333333334%; - } - .col-sm-push-9 { - left: 75%; - } - .col-sm-push-8 { - left: 66.66666666666666%; - } - .col-sm-push-7 { - left: 58.333333333333336%; - } - .col-sm-push-6 { - left: 50%; - } - .col-sm-push-5 { - left: 41.66666666666667%; - } - .col-sm-push-4 { - left: 33.33333333333333%; - } - .col-sm-push-3 { - left: 25%; - } - .col-sm-push-2 { - left: 16.666666666666664%; - } - .col-sm-push-1 { - left: 8.333333333333332%; - } - .col-sm-push-0 { - left: 0; - } - .col-sm-offset-12 { - margin-left: 100%; - } - .col-sm-offset-11 { - margin-left: 91.66666666666666%; - } - .col-sm-offset-10 { - margin-left: 83.33333333333334%; - } - .col-sm-offset-9 { - margin-left: 75%; - } - .col-sm-offset-8 { - margin-left: 66.66666666666666%; - } - .col-sm-offset-7 { - margin-left: 58.333333333333336%; - } - .col-sm-offset-6 { - margin-left: 50%; - } - .col-sm-offset-5 { - margin-left: 41.66666666666667%; - } - .col-sm-offset-4 { - margin-left: 33.33333333333333%; - } - .col-sm-offset-3 { - margin-left: 25%; - } - .col-sm-offset-2 { - margin-left: 16.666666666666664%; - } - .col-sm-offset-1 { - margin-left: 8.333333333333332%; - } - .col-sm-offset-0 { - margin-left: 0; - } -} - -@media (min-width: 992px) { - .col-md-1, - .col-md-2, - .col-md-3, - .col-md-4, - .col-md-5, - .col-md-6, - .col-md-7, - .col-md-8, - .col-md-9, - .col-md-10, - .col-md-11, - .col-md-12 { - float: left; - } - .col-md-12 { - width: 100%; - } - .col-md-11 { - width: 91.66666666666666%; - } - .col-md-10 { - width: 83.33333333333334%; - } - .col-md-9 { - width: 75%; - } - .col-md-8 { - width: 66.66666666666666%; - } - .col-md-7 { - width: 58.333333333333336%; - } - .col-md-6 { - width: 50%; - } - .col-md-5 { - width: 41.66666666666667%; - } - .col-md-4 { - width: 33.33333333333333%; - } - .col-md-3 { - width: 25%; - } - .col-md-2 { - width: 16.666666666666664%; - } - .col-md-1 { - width: 8.333333333333332%; - } - .col-md-pull-12 { - right: 100%; - } - .col-md-pull-11 { - right: 91.66666666666666%; - } - .col-md-pull-10 { - right: 83.33333333333334%; - } - .col-md-pull-9 { - right: 75%; - } - .col-md-pull-8 { - right: 66.66666666666666%; - } - .col-md-pull-7 { - right: 58.333333333333336%; - } - .col-md-pull-6 { - right: 50%; - } - .col-md-pull-5 { - right: 41.66666666666667%; - } - .col-md-pull-4 { - right: 33.33333333333333%; - } - .col-md-pull-3 { - right: 25%; - } - .col-md-pull-2 { - right: 16.666666666666664%; - } - .col-md-pull-1 { - right: 8.333333333333332%; - } - .col-md-pull-0 { - right: 0; - } - .col-md-push-12 { - left: 100%; - } - .col-md-push-11 { - left: 91.66666666666666%; - } - .col-md-push-10 { - left: 83.33333333333334%; - } - .col-md-push-9 { - left: 75%; - } - .col-md-push-8 { - left: 66.66666666666666%; - } - .col-md-push-7 { - left: 58.333333333333336%; - } - .col-md-push-6 { - left: 50%; - } - .col-md-push-5 { - left: 41.66666666666667%; - } - .col-md-push-4 { - left: 33.33333333333333%; - } - .col-md-push-3 { - left: 25%; - } - .col-md-push-2 { - left: 16.666666666666664%; - } - .col-md-push-1 { - left: 8.333333333333332%; - } - .col-md-push-0 { - left: 0; - } - .col-md-offset-12 { - margin-left: 100%; - } - .col-md-offset-11 { - margin-left: 91.66666666666666%; - } - .col-md-offset-10 { - margin-left: 83.33333333333334%; - } - .col-md-offset-9 { - margin-left: 75%; - } - .col-md-offset-8 { - margin-left: 66.66666666666666%; - } - .col-md-offset-7 { - margin-left: 58.333333333333336%; - } - .col-md-offset-6 { - margin-left: 50%; - } - .col-md-offset-5 { - margin-left: 41.66666666666667%; - } - .col-md-offset-4 { - margin-left: 33.33333333333333%; - } - .col-md-offset-3 { - margin-left: 25%; - } - .col-md-offset-2 { - margin-left: 16.666666666666664%; - } - .col-md-offset-1 { - margin-left: 8.333333333333332%; - } - .col-md-offset-0 { - margin-left: 0; - } -} - -@media (min-width: 1200px) { - .col-lg-1, - .col-lg-2, - .col-lg-3, - .col-lg-4, - .col-lg-5, - .col-lg-6, - .col-lg-7, - .col-lg-8, - .col-lg-9, - .col-lg-10, - .col-lg-11, - .col-lg-12 { - float: left; - } - .col-lg-12 { - width: 100%; - } - .col-lg-11 { - width: 91.66666666666666%; - } - .col-lg-10 { - width: 83.33333333333334%; - } - .col-lg-9 { - width: 75%; - } - .col-lg-8 { - width: 66.66666666666666%; - } - .col-lg-7 { - width: 58.333333333333336%; - } - .col-lg-6 { - width: 50%; - } - .col-lg-5 { - width: 41.66666666666667%; - } - .col-lg-4 { - width: 33.33333333333333%; - } - .col-lg-3 { - width: 25%; - } - .col-lg-2 { - width: 16.666666666666664%; - } - .col-lg-1 { - width: 8.333333333333332%; - } - .col-lg-pull-12 { - right: 100%; - } - .col-lg-pull-11 { - right: 91.66666666666666%; - } - .col-lg-pull-10 { - right: 83.33333333333334%; - } - .col-lg-pull-9 { - right: 75%; - } - .col-lg-pull-8 { - right: 66.66666666666666%; - } - .col-lg-pull-7 { - right: 58.333333333333336%; - } - .col-lg-pull-6 { - right: 50%; - } - .col-lg-pull-5 { - right: 41.66666666666667%; - } - .col-lg-pull-4 { - right: 33.33333333333333%; - } - .col-lg-pull-3 { - right: 25%; - } - .col-lg-pull-2 { - right: 16.666666666666664%; - } - .col-lg-pull-1 { - right: 8.333333333333332%; - } - .col-lg-pull-0 { - right: 0; - } - .col-lg-push-12 { - left: 100%; - } - .col-lg-push-11 { - left: 91.66666666666666%; - } - .col-lg-push-10 { - left: 83.33333333333334%; - } - .col-lg-push-9 { - left: 75%; - } - .col-lg-push-8 { - left: 66.66666666666666%; - } - .col-lg-push-7 { - left: 58.333333333333336%; - } - .col-lg-push-6 { - left: 50%; - } - .col-lg-push-5 { - left: 41.66666666666667%; - } - .col-lg-push-4 { - left: 33.33333333333333%; - } - .col-lg-push-3 { - left: 25%; - } - .col-lg-push-2 { - left: 16.666666666666664%; - } - .col-lg-push-1 { - left: 8.333333333333332%; - } - .col-lg-push-0 { - left: 0; - } - .col-lg-offset-12 { - margin-left: 100%; - } - .col-lg-offset-11 { - margin-left: 91.66666666666666%; - } - .col-lg-offset-10 { - margin-left: 83.33333333333334%; - } - .col-lg-offset-9 { - margin-left: 75%; - } - .col-lg-offset-8 { - margin-left: 66.66666666666666%; - } - .col-lg-offset-7 { - margin-left: 58.333333333333336%; - } - .col-lg-offset-6 { - margin-left: 50%; - } - .col-lg-offset-5 { - margin-left: 41.66666666666667%; - } - .col-lg-offset-4 { - margin-left: 33.33333333333333%; - } - .col-lg-offset-3 { - margin-left: 25%; - } - .col-lg-offset-2 { - margin-left: 16.666666666666664%; - } - .col-lg-offset-1 { - margin-left: 8.333333333333332%; - } - .col-lg-offset-0 { - margin-left: 0; - } -} - -table { - max-width: 100%; - background-color: transparent; -} - -th { - text-align: left; -} - -.table { - width: 100%; - margin-bottom: 20px; -} - -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.428571429; - vertical-align: top; - border-top: 1px solid #dddddd; -} - -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #dddddd; -} - -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} - -.table > tbody + tbody { - border-top: 2px solid #dddddd; -} - -.table .table { - background-color: #ffffff; -} - -.table-condensed > thead > tr > th, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > td { - padding: 5px; -} - -.table-bordered { - border: 1px solid #dddddd; -} - -.table-bordered > thead > tr > th, -.table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, -.table-bordered > thead > tr > td, -.table-bordered > tbody > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid #dddddd; -} - -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} - -.table-striped > tbody > tr:nth-child(odd) > td, -.table-striped > tbody > tr:nth-child(odd) > th { - background-color: #f9f9f9; -} - -.table-hover > tbody > tr:hover > td, -.table-hover > tbody > tr:hover > th { - background-color: #f5f5f5; -} - -table col[class*="col-"] { - position: static; - display: table-column; - float: none; -} - -table td[class*="col-"], -table th[class*="col-"] { - display: table-cell; - float: none; -} - -.table > thead > tr > .active, -.table > tbody > tr > .active, -.table > tfoot > tr > .active, -.table > thead > .active > td, -.table > tbody > .active > td, -.table > tfoot > .active > td, -.table > thead > .active > th, -.table > tbody > .active > th, -.table > tfoot > .active > th { - background-color: #f5f5f5; -} - -.table-hover > tbody > tr > .active:hover, -.table-hover > tbody > .active:hover > td, -.table-hover > tbody > .active:hover > th { - background-color: #e8e8e8; -} - -.table > thead > tr > .success, -.table > tbody > tr > .success, -.table > tfoot > tr > .success, -.table > thead > .success > td, -.table > tbody > .success > td, -.table > tfoot > .success > td, -.table > thead > .success > th, -.table > tbody > .success > th, -.table > tfoot > .success > th { - background-color: #dff0d8; -} - -.table-hover > tbody > tr > .success:hover, -.table-hover > tbody > .success:hover > td, -.table-hover > tbody > .success:hover > th { - background-color: #d0e9c6; -} - -.table > thead > tr > .danger, -.table > tbody > tr > .danger, -.table > tfoot > tr > .danger, -.table > thead > .danger > td, -.table > tbody > .danger > td, -.table > tfoot > .danger > td, -.table > thead > .danger > th, -.table > tbody > .danger > th, -.table > tfoot > .danger > th { - background-color: #f2dede; -} - -.table-hover > tbody > tr > .danger:hover, -.table-hover > tbody > .danger:hover > td, -.table-hover > tbody > .danger:hover > th { - background-color: #ebcccc; -} - -.table > thead > tr > .warning, -.table > tbody > tr > .warning, -.table > tfoot > tr > .warning, -.table > thead > .warning > td, -.table > tbody > .warning > td, -.table > tfoot > .warning > td, -.table > thead > .warning > th, -.table > tbody > .warning > th, -.table > tfoot > .warning > th { - background-color: #fcf8e3; -} - -.table-hover > tbody > tr > .warning:hover, -.table-hover > tbody > .warning:hover > td, -.table-hover > tbody > .warning:hover > th { - background-color: #faf2cc; -} - -@media (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-x: scroll; - overflow-y: hidden; - border: 1px solid #dddddd; - -ms-overflow-style: -ms-autohiding-scrollbar; - -webkit-overflow-scrolling: touch; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } -} - -fieldset { - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333333; - border: 0; - border-bottom: 1px solid #e5e5e5; -} - -label { - display: inline-block; - margin-bottom: 5px; - font-weight: bold; -} - -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - /* IE8-9 */ - - line-height: normal; -} - -input[type="file"] { - display: block; -} - -select[multiple], -select[size] { - height: auto; -} - -select optgroup { - font-family: inherit; - font-size: inherit; - font-style: inherit; -} - -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} - -input[type="number"]::-webkit-outer-spin-button, -input[type="number"]::-webkit-inner-spin-button { - height: auto; -} - -output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.428571429; - color: #555555; - vertical-align: middle; -} - -.form-control { - display: block; - width: 100%; - height: 34px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.428571429; - color: #555555; - vertical-align: middle; - background-color: #ffffff; - background-image: none; - border: 1px solid #cccccc; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; -} - -.form-control:focus { - border-color: #66afe9; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); -} - -.form-control:-moz-placeholder { - color: #999999; -} - -.form-control::-moz-placeholder { - color: #999999; - opacity: 1; -} - -.form-control:-ms-input-placeholder { - color: #999999; -} - -.form-control::-webkit-input-placeholder { - color: #999999; -} - -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - cursor: not-allowed; - background-color: #eeeeee; -} - -textarea.form-control { - height: auto; -} - -.form-group { - margin-bottom: 15px; -} - -.radio, -.checkbox { - display: block; - min-height: 20px; - padding-left: 20px; - margin-top: 10px; - margin-bottom: 10px; - vertical-align: middle; -} - -.radio label, -.checkbox label { - display: inline; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; -} - -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - float: left; - margin-left: -20px; -} - -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; -} - -.radio-inline, -.checkbox-inline { - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - vertical-align: middle; - cursor: pointer; -} - -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; -} - -input[type="radio"][disabled], -input[type="checkbox"][disabled], -.radio[disabled], -.radio-inline[disabled], -.checkbox[disabled], -.checkbox-inline[disabled], -fieldset[disabled] input[type="radio"], -fieldset[disabled] input[type="checkbox"], -fieldset[disabled] .radio, -fieldset[disabled] .radio-inline, -fieldset[disabled] .checkbox, -fieldset[disabled] .checkbox-inline { - cursor: not-allowed; -} - -.input-sm { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} - -select.input-sm { - height: 30px; - line-height: 30px; -} - -textarea.input-sm { - height: auto; -} - -.input-lg { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} - -select.input-lg { - height: 46px; - line-height: 46px; -} - -textarea.input-lg { - height: auto; -} - -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline { - color: #8a6d3b; -} - -.has-warning .form-control { - border-color: #8a6d3b; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} - -.has-warning .form-control:focus { - border-color: #66512c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; -} - -.has-warning .input-group-addon { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #8a6d3b; -} - -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline { - color: #a94442; -} - -.has-error .form-control { - border-color: #a94442; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} - -.has-error .form-control:focus { - border-color: #843534; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; -} - -.has-error .input-group-addon { - color: #a94442; - background-color: #f2dede; - border-color: #a94442; -} - -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline { - color: #3c763d; -} - -.has-success .form-control { - border-color: #3c763d; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} - -.has-success .form-control:focus { - border-color: #2b542c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; -} - -.has-success .input-group-addon { - color: #3c763d; - background-color: #dff0d8; - border-color: #3c763d; -} - -.form-control-static { - margin-bottom: 0; -} - -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #737373; -} - -@media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-control { - display: inline-block; - } - .form-inline select.form-control { - width: auto; - } - .form-inline .radio, - .form-inline .checkbox { - display: inline-block; - padding-left: 0; - margin-top: 0; - margin-bottom: 0; - } - .form-inline .radio input[type="radio"], - .form-inline .checkbox input[type="checkbox"] { - float: none; - margin-left: 0; - } -} - -.form-horizontal .control-label, -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - padding-top: 7px; - margin-top: 0; - margin-bottom: 0; -} - -.form-horizontal .radio, -.form-horizontal .checkbox { - min-height: 27px; -} - -.form-horizontal .form-group { - margin-right: -15px; - margin-left: -15px; -} - -.form-horizontal .form-group:before, -.form-horizontal .form-group:after { - display: table; - content: " "; -} - -.form-horizontal .form-group:after { - clear: both; -} - -.form-horizontal .form-group:before, -.form-horizontal .form-group:after { - display: table; - content: " "; -} - -.form-horizontal .form-group:after { - clear: both; -} - -.form-horizontal .form-control-static { - padding-top: 7px; -} - -@media (min-width: 768px) { - .form-horizontal .control-label { - text-align: right; - } -} - -.btn { - display: inline-block; - padding: 6px 12px; - margin-bottom: 0; - font-size: 14px; - font-weight: normal; - line-height: 1.428571429; - text-align: center; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.btn:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} - -.btn:hover, -.btn:focus { - color: #333333; - text-decoration: none; -} - -.btn:active, -.btn.active { - background-image: none; - outline: 0; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} - -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - pointer-events: none; - cursor: not-allowed; - opacity: 0.65; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; -} - -.btn-default { - color: #333333; - background-color: #ffffff; - border-color: #cccccc; -} - -.btn-default:hover, -.btn-default:focus, -.btn-default:active, -.btn-default.active, -.open .dropdown-toggle.btn-default { - color: #333333; - background-color: #ebebeb; - border-color: #adadad; -} - -.btn-default:active, -.btn-default.active, -.open .dropdown-toggle.btn-default { - background-image: none; -} - -.btn-default.disabled, -.btn-default[disabled], -fieldset[disabled] .btn-default, -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled:active, -.btn-default[disabled]:active, -fieldset[disabled] .btn-default:active, -.btn-default.disabled.active, -.btn-default[disabled].active, -fieldset[disabled] .btn-default.active { - background-color: #ffffff; - border-color: #cccccc; -} - -.btn-default .badge { - color: #ffffff; - background-color: #fff; -} - -.btn-primary { - color: #ffffff; - background-color: #428bca; - border-color: #357ebd; -} - -.btn-primary:hover, -.btn-primary:focus, -.btn-primary:active, -.btn-primary.active, -.open .dropdown-toggle.btn-primary { - color: #ffffff; - background-color: #3276b1; - border-color: #285e8e; -} - -.btn-primary:active, -.btn-primary.active, -.open .dropdown-toggle.btn-primary { - background-image: none; -} - -.btn-primary.disabled, -.btn-primary[disabled], -fieldset[disabled] .btn-primary, -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled:active, -.btn-primary[disabled]:active, -fieldset[disabled] .btn-primary:active, -.btn-primary.disabled.active, -.btn-primary[disabled].active, -fieldset[disabled] .btn-primary.active { - background-color: #428bca; - border-color: #357ebd; -} - -.btn-primary .badge { - color: #428bca; - background-color: #fff; -} - -.btn-warning { - color: #ffffff; - background-color: #f0ad4e; - border-color: #eea236; -} - -.btn-warning:hover, -.btn-warning:focus, -.btn-warning:active, -.btn-warning.active, -.open .dropdown-toggle.btn-warning { - color: #ffffff; - background-color: #ed9c28; - border-color: #d58512; -} - -.btn-warning:active, -.btn-warning.active, -.open .dropdown-toggle.btn-warning { - background-image: none; -} - -.btn-warning.disabled, -.btn-warning[disabled], -fieldset[disabled] .btn-warning, -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled:active, -.btn-warning[disabled]:active, -fieldset[disabled] .btn-warning:active, -.btn-warning.disabled.active, -.btn-warning[disabled].active, -fieldset[disabled] .btn-warning.active { - background-color: #f0ad4e; - border-color: #eea236; -} - -.btn-warning .badge { - color: #f0ad4e; - background-color: #fff; -} - -.btn-danger { - color: #ffffff; - background-color: #d9534f; - border-color: #d43f3a; -} - -.btn-danger:hover, -.btn-danger:focus, -.btn-danger:active, -.btn-danger.active, -.open .dropdown-toggle.btn-danger { - color: #ffffff; - background-color: #d2322d; - border-color: #ac2925; -} - -.btn-danger:active, -.btn-danger.active, -.open .dropdown-toggle.btn-danger { - background-image: none; -} - -.btn-danger.disabled, -.btn-danger[disabled], -fieldset[disabled] .btn-danger, -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled:active, -.btn-danger[disabled]:active, -fieldset[disabled] .btn-danger:active, -.btn-danger.disabled.active, -.btn-danger[disabled].active, -fieldset[disabled] .btn-danger.active { - background-color: #d9534f; - border-color: #d43f3a; -} - -.btn-danger .badge { - color: #d9534f; - background-color: #fff; -} - -.btn-success { - color: #ffffff; - background-color: #5cb85c; - border-color: #4cae4c; -} - -.btn-success:hover, -.btn-success:focus, -.btn-success:active, -.btn-success.active, -.open .dropdown-toggle.btn-success { - color: #ffffff; - background-color: #47a447; - border-color: #398439; -} - -.btn-success:active, -.btn-success.active, -.open .dropdown-toggle.btn-success { - background-image: none; -} - -.btn-success.disabled, -.btn-success[disabled], -fieldset[disabled] .btn-success, -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled:active, -.btn-success[disabled]:active, -fieldset[disabled] .btn-success:active, -.btn-success.disabled.active, -.btn-success[disabled].active, -fieldset[disabled] .btn-success.active { - background-color: #5cb85c; - border-color: #4cae4c; -} - -.btn-success .badge { - color: #5cb85c; - background-color: #fff; -} - -.btn-info { - color: #ffffff; - background-color: #5bc0de; - border-color: #46b8da; -} - -.btn-info:hover, -.btn-info:focus, -.btn-info:active, -.btn-info.active, -.open .dropdown-toggle.btn-info { - color: #ffffff; - background-color: #39b3d7; - border-color: #269abc; -} - -.btn-info:active, -.btn-info.active, -.open .dropdown-toggle.btn-info { - background-image: none; -} - -.btn-info.disabled, -.btn-info[disabled], -fieldset[disabled] .btn-info, -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled:active, -.btn-info[disabled]:active, -fieldset[disabled] .btn-info:active, -.btn-info.disabled.active, -.btn-info[disabled].active, -fieldset[disabled] .btn-info.active { - background-color: #5bc0de; - border-color: #46b8da; -} - -.btn-info .badge { - color: #5bc0de; - background-color: #fff; -} - -.btn-link { - font-weight: normal; - color: #428bca; - cursor: pointer; - border-radius: 0; -} - -.btn-link, -.btn-link:active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} - -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - border-color: transparent; -} - -.btn-link:hover, -.btn-link:focus { - color: #2a6496; - text-decoration: underline; - background-color: transparent; -} - -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:hover, -.btn-link[disabled]:focus, -fieldset[disabled] .btn-link:focus { - color: #999999; - text-decoration: none; -} - -.btn-lg { - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} - -.btn-sm { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} - -.btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} - -.btn-block { - display: block; - width: 100%; - padding-right: 0; - padding-left: 0; -} - -.btn-block + .btn-block { - margin-top: 5px; -} - -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} - -.fade { - opacity: 0; - -webkit-transition: opacity 0.15s linear; - transition: opacity 0.15s linear; -} - -.fade.in { - opacity: 1; -} - -.collapse { - display: none; -} - -.collapse.in { - display: block; -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height 0.35s ease; - transition: height 0.35s ease; -} - -@font-face { - font-family: 'Glyphicons Halflings'; - src: url('../fonts/glyphicons-halflings-regular.eot'); - src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg'); -} - -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - -webkit-font-smoothing: antialiased; - font-style: normal; - font-weight: normal; - line-height: 1; - -moz-osx-font-smoothing: grayscale; -} - -.glyphicon:empty { - width: 1em; -} - -.glyphicon-asterisk:before { - content: "\2a"; -} - -.glyphicon-plus:before { - content: "\2b"; -} - -.glyphicon-euro:before { - content: "\20ac"; -} - -.glyphicon-minus:before { - content: "\2212"; -} - -.glyphicon-cloud:before { - content: "\2601"; -} - -.glyphicon-envelope:before { - content: "\2709"; -} - -.glyphicon-pencil:before { - content: "\270f"; -} - -.glyphicon-glass:before { - content: "\e001"; -} - -.glyphicon-music:before { - content: "\e002"; -} - -.glyphicon-search:before { - content: "\e003"; -} - -.glyphicon-heart:before { - content: "\e005"; -} - -.glyphicon-star:before { - content: "\e006"; -} - -.glyphicon-star-empty:before { - content: "\e007"; -} - -.glyphicon-user:before { - content: "\e008"; -} - -.glyphicon-film:before { - content: "\e009"; -} - -.glyphicon-th-large:before { - content: "\e010"; -} - -.glyphicon-th:before { - content: "\e011"; -} - -.glyphicon-th-list:before { - content: "\e012"; -} - -.glyphicon-ok:before { - content: "\e013"; -} - -.glyphicon-remove:before { - content: "\e014"; -} - -.glyphicon-zoom-in:before { - content: "\e015"; -} - -.glyphicon-zoom-out:before { - content: "\e016"; -} - -.glyphicon-off:before { - content: "\e017"; -} - -.glyphicon-signal:before { - content: "\e018"; -} - -.glyphicon-cog:before { - content: "\e019"; -} - -.glyphicon-trash:before { - content: "\e020"; -} - -.glyphicon-home:before { - content: "\e021"; -} - -.glyphicon-file:before { - content: "\e022"; -} - -.glyphicon-time:before { - content: "\e023"; -} - -.glyphicon-road:before { - content: "\e024"; -} - -.glyphicon-download-alt:before { - content: "\e025"; -} - -.glyphicon-download:before { - content: "\e026"; -} - -.glyphicon-upload:before { - content: "\e027"; -} - -.glyphicon-inbox:before { - content: "\e028"; -} - -.glyphicon-play-circle:before { - content: "\e029"; -} - -.glyphicon-repeat:before { - content: "\e030"; -} - -.glyphicon-refresh:before { - content: "\e031"; -} - -.glyphicon-list-alt:before { - content: "\e032"; -} - -.glyphicon-lock:before { - content: "\e033"; -} - -.glyphicon-flag:before { - content: "\e034"; -} - -.glyphicon-headphones:before { - content: "\e035"; -} - -.glyphicon-volume-off:before { - content: "\e036"; -} - -.glyphicon-volume-down:before { - content: "\e037"; -} - -.glyphicon-volume-up:before { - content: "\e038"; -} - -.glyphicon-qrcode:before { - content: "\e039"; -} - -.glyphicon-barcode:before { - content: "\e040"; -} - -.glyphicon-tag:before { - content: "\e041"; -} - -.glyphicon-tags:before { - content: "\e042"; -} - -.glyphicon-book:before { - content: "\e043"; -} - -.glyphicon-bookmark:before { - content: "\e044"; -} - -.glyphicon-print:before { - content: "\e045"; -} - -.glyphicon-camera:before { - content: "\e046"; -} - -.glyphicon-font:before { - content: "\e047"; -} - -.glyphicon-bold:before { - content: "\e048"; -} - -.glyphicon-italic:before { - content: "\e049"; -} - -.glyphicon-text-height:before { - content: "\e050"; -} - -.glyphicon-text-width:before { - content: "\e051"; -} - -.glyphicon-align-left:before { - content: "\e052"; -} - -.glyphicon-align-center:before { - content: "\e053"; -} - -.glyphicon-align-right:before { - content: "\e054"; -} - -.glyphicon-align-justify:before { - content: "\e055"; -} - -.glyphicon-list:before { - content: "\e056"; -} - -.glyphicon-indent-left:before { - content: "\e057"; -} - -.glyphicon-indent-right:before { - content: "\e058"; -} - -.glyphicon-facetime-video:before { - content: "\e059"; -} - -.glyphicon-picture:before { - content: "\e060"; -} - -.glyphicon-map-marker:before { - content: "\e062"; -} - -.glyphicon-adjust:before { - content: "\e063"; -} - -.glyphicon-tint:before { - content: "\e064"; -} - -.glyphicon-edit:before { - content: "\e065"; -} - -.glyphicon-share:before { - content: "\e066"; -} - -.glyphicon-check:before { - content: "\e067"; -} - -.glyphicon-move:before { - content: "\e068"; -} - -.glyphicon-step-backward:before { - content: "\e069"; -} - -.glyphicon-fast-backward:before { - content: "\e070"; -} - -.glyphicon-backward:before { - content: "\e071"; -} - -.glyphicon-play:before { - content: "\e072"; -} - -.glyphicon-pause:before { - content: "\e073"; -} - -.glyphicon-stop:before { - content: "\e074"; -} - -.glyphicon-forward:before { - content: "\e075"; -} - -.glyphicon-fast-forward:before { - content: "\e076"; -} - -.glyphicon-step-forward:before { - content: "\e077"; -} - -.glyphicon-eject:before { - content: "\e078"; -} - -.glyphicon-chevron-left:before { - content: "\e079"; -} - -.glyphicon-chevron-right:before { - content: "\e080"; -} - -.glyphicon-plus-sign:before { - content: "\e081"; -} - -.glyphicon-minus-sign:before { - content: "\e082"; -} - -.glyphicon-remove-sign:before { - content: "\e083"; -} - -.glyphicon-ok-sign:before { - content: "\e084"; -} - -.glyphicon-question-sign:before { - content: "\e085"; -} - -.glyphicon-info-sign:before { - content: "\e086"; -} - -.glyphicon-screenshot:before { - content: "\e087"; -} - -.glyphicon-remove-circle:before { - content: "\e088"; -} - -.glyphicon-ok-circle:before { - content: "\e089"; -} - -.glyphicon-ban-circle:before { - content: "\e090"; -} - -.glyphicon-arrow-left:before { - content: "\e091"; -} - -.glyphicon-arrow-right:before { - content: "\e092"; -} - -.glyphicon-arrow-up:before { - content: "\e093"; -} - -.glyphicon-arrow-down:before { - content: "\e094"; -} - -.glyphicon-share-alt:before { - content: "\e095"; -} - -.glyphicon-resize-full:before { - content: "\e096"; -} - -.glyphicon-resize-small:before { - content: "\e097"; -} - -.glyphicon-exclamation-sign:before { - content: "\e101"; -} - -.glyphicon-gift:before { - content: "\e102"; -} - -.glyphicon-leaf:before { - content: "\e103"; -} - -.glyphicon-fire:before { - content: "\e104"; -} - -.glyphicon-eye-open:before { - content: "\e105"; -} - -.glyphicon-eye-close:before { - content: "\e106"; -} - -.glyphicon-warning-sign:before { - content: "\e107"; -} - -.glyphicon-plane:before { - content: "\e108"; -} - -.glyphicon-calendar:before { - content: "\e109"; -} - -.glyphicon-random:before { - content: "\e110"; -} - -.glyphicon-comment:before { - content: "\e111"; -} - -.glyphicon-magnet:before { - content: "\e112"; -} - -.glyphicon-chevron-up:before { - content: "\e113"; -} - -.glyphicon-chevron-down:before { - content: "\e114"; -} - -.glyphicon-retweet:before { - content: "\e115"; -} - -.glyphicon-shopping-cart:before { - content: "\e116"; -} - -.glyphicon-folder-close:before { - content: "\e117"; -} - -.glyphicon-folder-open:before { - content: "\e118"; -} - -.glyphicon-resize-vertical:before { - content: "\e119"; -} - -.glyphicon-resize-horizontal:before { - content: "\e120"; -} - -.glyphicon-hdd:before { - content: "\e121"; -} - -.glyphicon-bullhorn:before { - content: "\e122"; -} - -.glyphicon-bell:before { - content: "\e123"; -} - -.glyphicon-certificate:before { - content: "\e124"; -} - -.glyphicon-thumbs-up:before { - content: "\e125"; -} - -.glyphicon-thumbs-down:before { - content: "\e126"; -} - -.glyphicon-hand-right:before { - content: "\e127"; -} - -.glyphicon-hand-left:before { - content: "\e128"; -} - -.glyphicon-hand-up:before { - content: "\e129"; -} - -.glyphicon-hand-down:before { - content: "\e130"; -} - -.glyphicon-circle-arrow-right:before { - content: "\e131"; -} - -.glyphicon-circle-arrow-left:before { - content: "\e132"; -} - -.glyphicon-circle-arrow-up:before { - content: "\e133"; -} - -.glyphicon-circle-arrow-down:before { - content: "\e134"; -} - -.glyphicon-globe:before { - content: "\e135"; -} - -.glyphicon-wrench:before { - content: "\e136"; -} - -.glyphicon-tasks:before { - content: "\e137"; -} - -.glyphicon-filter:before { - content: "\e138"; -} - -.glyphicon-briefcase:before { - content: "\e139"; -} - -.glyphicon-fullscreen:before { - content: "\e140"; -} - -.glyphicon-dashboard:before { - content: "\e141"; -} - -.glyphicon-paperclip:before { - content: "\e142"; -} - -.glyphicon-heart-empty:before { - content: "\e143"; -} - -.glyphicon-link:before { - content: "\e144"; -} - -.glyphicon-phone:before { - content: "\e145"; -} - -.glyphicon-pushpin:before { - content: "\e146"; -} - -.glyphicon-usd:before { - content: "\e148"; -} - -.glyphicon-gbp:before { - content: "\e149"; -} - -.glyphicon-sort:before { - content: "\e150"; -} - -.glyphicon-sort-by-alphabet:before { - content: "\e151"; -} - -.glyphicon-sort-by-alphabet-alt:before { - content: "\e152"; -} - -.glyphicon-sort-by-order:before { - content: "\e153"; -} - -.glyphicon-sort-by-order-alt:before { - content: "\e154"; -} - -.glyphicon-sort-by-attributes:before { - content: "\e155"; -} - -.glyphicon-sort-by-attributes-alt:before { - content: "\e156"; -} - -.glyphicon-unchecked:before { - content: "\e157"; -} - -.glyphicon-expand:before { - content: "\e158"; -} - -.glyphicon-collapse-down:before { - content: "\e159"; -} - -.glyphicon-collapse-up:before { - content: "\e160"; -} - -.glyphicon-log-in:before { - content: "\e161"; -} - -.glyphicon-flash:before { - content: "\e162"; -} - -.glyphicon-log-out:before { - content: "\e163"; -} - -.glyphicon-new-window:before { - content: "\e164"; -} - -.glyphicon-record:before { - content: "\e165"; -} - -.glyphicon-save:before { - content: "\e166"; -} - -.glyphicon-open:before { - content: "\e167"; -} - -.glyphicon-saved:before { - content: "\e168"; -} - -.glyphicon-import:before { - content: "\e169"; -} - -.glyphicon-export:before { - content: "\e170"; -} - -.glyphicon-send:before { - content: "\e171"; -} - -.glyphicon-floppy-disk:before { - content: "\e172"; -} - -.glyphicon-floppy-saved:before { - content: "\e173"; -} - -.glyphicon-floppy-remove:before { - content: "\e174"; -} - -.glyphicon-floppy-save:before { - content: "\e175"; -} - -.glyphicon-floppy-open:before { - content: "\e176"; -} - -.glyphicon-credit-card:before { - content: "\e177"; -} - -.glyphicon-transfer:before { - content: "\e178"; -} - -.glyphicon-cutlery:before { - content: "\e179"; -} - -.glyphicon-header:before { - content: "\e180"; -} - -.glyphicon-compressed:before { - content: "\e181"; -} - -.glyphicon-earphone:before { - content: "\e182"; -} - -.glyphicon-phone-alt:before { - content: "\e183"; -} - -.glyphicon-tower:before { - content: "\e184"; -} - -.glyphicon-stats:before { - content: "\e185"; -} - -.glyphicon-sd-video:before { - content: "\e186"; -} - -.glyphicon-hd-video:before { - content: "\e187"; -} - -.glyphicon-subtitles:before { - content: "\e188"; -} - -.glyphicon-sound-stereo:before { - content: "\e189"; -} - -.glyphicon-sound-dolby:before { - content: "\e190"; -} - -.glyphicon-sound-5-1:before { - content: "\e191"; -} - -.glyphicon-sound-6-1:before { - content: "\e192"; -} - -.glyphicon-sound-7-1:before { - content: "\e193"; -} - -.glyphicon-copyright-mark:before { - content: "\e194"; -} - -.glyphicon-registration-mark:before { - content: "\e195"; -} - -.glyphicon-cloud-download:before { - content: "\e197"; -} - -.glyphicon-cloud-upload:before { - content: "\e198"; -} - -.glyphicon-tree-conifer:before { - content: "\e199"; -} - -.glyphicon-tree-deciduous:before { - content: "\e200"; -} - -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; -} - -.dropdown { - position: relative; -} - -.dropdown-toggle:focus { - outline: 0; -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - font-size: 14px; - list-style: none; - background-color: #ffffff; - border: 1px solid #cccccc; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - background-clip: padding-box; -} - -.dropdown-menu.pull-right { - right: 0; - left: auto; -} - -.dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} - -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.428571429; - color: #333333; - white-space: nowrap; -} - -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - color: #262626; - text-decoration: none; - background-color: #f5f5f5; -} - -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - color: #ffffff; - text-decoration: none; - background-color: #428bca; - outline: 0; -} - -.dropdown-menu > .disabled > a, -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - color: #999999; -} - -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - text-decoration: none; - cursor: not-allowed; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.open > .dropdown-menu { - display: block; -} - -.open > a { - outline: 0; -} - -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.428571429; - color: #999999; -} - -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990; -} - -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} - -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - border-top: 0; - border-bottom: 4px solid; - content: ""; -} - -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 1px; -} - -@media (min-width: 768px) { - .navbar-right .dropdown-menu { - right: 0; - left: auto; - } -} - -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; -} - -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - float: left; -} - -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover, -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus, -.btn-group > .btn:active, -.btn-group-vertical > .btn:active, -.btn-group > .btn.active, -.btn-group-vertical > .btn.active { - z-index: 2; -} - -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus { - outline: none; -} - -.btn-group .btn + .btn, -.btn-group .btn + .btn-group, -.btn-group .btn-group + .btn, -.btn-group .btn-group + .btn-group { - margin-left: -1px; -} - -.btn-toolbar:before, -.btn-toolbar:after { - display: table; - content: " "; -} - -.btn-toolbar:after { - clear: both; -} - -.btn-toolbar:before, -.btn-toolbar:after { - display: table; - content: " "; -} - -.btn-toolbar:after { - clear: both; -} - -.btn-toolbar .btn-group { - float: left; -} - -.btn-toolbar > .btn + .btn, -.btn-toolbar > .btn-group + .btn, -.btn-toolbar > .btn + .btn-group, -.btn-toolbar > .btn-group + .btn-group { - margin-left: 5px; -} - -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} - -.btn-group > .btn:first-child { - margin-left: 0; -} - -.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} - -.btn-group > .btn-group { - float: left; -} - -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} - -.btn-group > .btn-group:first-child > .btn:last-child, -.btn-group > .btn-group:first-child > .dropdown-toggle { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.btn-group > .btn-group:last-child > .btn:first-child { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} - -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} - -.btn-group-xs > .btn { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} - -.btn-group-sm > .btn { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} - -.btn-group-lg > .btn { - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} - -.btn-group > .btn + .dropdown-toggle { - padding-right: 8px; - padding-left: 8px; -} - -.btn-group > .btn-lg + .dropdown-toggle { - padding-right: 12px; - padding-left: 12px; -} - -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} - -.btn-group.open .dropdown-toggle.btn-link { - -webkit-box-shadow: none; - box-shadow: none; -} - -.btn .caret { - margin-left: 0; -} - -.btn-lg .caret { - border-width: 5px 5px 0; - border-bottom-width: 0; -} - -.dropup .btn-lg .caret { - border-width: 0 5px 5px; -} - -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group, -.btn-group-vertical > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; -} - -.btn-group-vertical > .btn-group:before, -.btn-group-vertical > .btn-group:after { - display: table; - content: " "; -} - -.btn-group-vertical > .btn-group:after { - clear: both; -} - -.btn-group-vertical > .btn-group:before, -.btn-group-vertical > .btn-group:after { - display: table; - content: " "; -} - -.btn-group-vertical > .btn-group:after { - clear: both; -} - -.btn-group-vertical > .btn-group > .btn { - float: none; -} - -.btn-group-vertical > .btn + .btn, -.btn-group-vertical > .btn + .btn-group, -.btn-group-vertical > .btn-group + .btn, -.btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; -} - -.btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0; -} - -.btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.btn-group-vertical > .btn:last-child:not(:first-child) { - border-top-right-radius: 0; - border-bottom-left-radius: 4px; - border-top-left-radius: 0; -} - -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} - -.btn-group-vertical > .btn-group:first-child > .btn:last-child, -.btn-group-vertical > .btn-group:first-child > .dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.btn-group-vertical > .btn-group:last-child > .btn:first-child { - border-top-right-radius: 0; - border-top-left-radius: 0; -} - -.btn-group-justified { - display: table; - width: 100%; - border-collapse: separate; - table-layout: fixed; -} - -.btn-group-justified > .btn, -.btn-group-justified > .btn-group { - display: table-cell; - float: none; - width: 1%; -} - -.btn-group-justified > .btn-group .btn { - width: 100%; -} - -[data-toggle="buttons"] > .btn > input[type="radio"], -[data-toggle="buttons"] > .btn > input[type="checkbox"] { - display: none; -} - -.input-group { - position: relative; - display: table; - border-collapse: separate; -} - -.input-group[class*="col-"] { - float: none; - padding-right: 0; - padding-left: 0; -} - -.input-group .form-control { - width: 100%; - margin-bottom: 0; -} - -.input-group-lg > .form-control, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .btn { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} - -select.input-group-lg > .form-control, -select.input-group-lg > .input-group-addon, -select.input-group-lg > .input-group-btn > .btn { - height: 46px; - line-height: 46px; -} - -textarea.input-group-lg > .form-control, -textarea.input-group-lg > .input-group-addon, -textarea.input-group-lg > .input-group-btn > .btn { - height: auto; -} - -.input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} - -select.input-group-sm > .form-control, -select.input-group-sm > .input-group-addon, -select.input-group-sm > .input-group-btn > .btn { - height: 30px; - line-height: 30px; -} - -textarea.input-group-sm > .form-control, -textarea.input-group-sm > .input-group-addon, -textarea.input-group-sm > .input-group-btn > .btn { - height: auto; -} - -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: table-cell; -} - -.input-group-addon:not(:first-child):not(:last-child), -.input-group-btn:not(:first-child):not(:last-child), -.input-group .form-control:not(:first-child):not(:last-child) { - border-radius: 0; -} - -.input-group-addon, -.input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle; -} - -.input-group-addon { - padding: 6px 12px; - font-size: 14px; - font-weight: normal; - line-height: 1; - color: #555555; - text-align: center; - background-color: #eeeeee; - border: 1px solid #cccccc; - border-radius: 4px; -} - -.input-group-addon.input-sm { - padding: 5px 10px; - font-size: 12px; - border-radius: 3px; -} - -.input-group-addon.input-lg { - padding: 10px 16px; - font-size: 18px; - border-radius: 6px; -} - -.input-group-addon input[type="radio"], -.input-group-addon input[type="checkbox"] { - margin-top: 0; -} - -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group-addon:first-child { - border-right: 0; -} - -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child) { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} - -.input-group-addon:last-child { - border-left: 0; -} - -.input-group-btn { - position: relative; - white-space: nowrap; -} - -.input-group-btn:first-child > .btn { - margin-right: -1px; -} - -.input-group-btn:last-child > .btn { - margin-left: -1px; -} - -.input-group-btn > .btn { - position: relative; -} - -.input-group-btn > .btn + .btn { - margin-left: -4px; -} - -.input-group-btn > .btn:hover, -.input-group-btn > .btn:active { - z-index: 2; -} - -.nav { - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.nav:before, -.nav:after { - display: table; - content: " "; -} - -.nav:after { - clear: both; -} - -.nav:before, -.nav:after { - display: table; - content: " "; -} - -.nav:after { - clear: both; -} - -.nav > li { - position: relative; - display: block; -} - -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px; -} - -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #eeeeee; -} - -.nav > li.disabled > a { - color: #999999; -} - -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #999999; - text-decoration: none; - cursor: not-allowed; - background-color: transparent; -} - -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #428bca; -} - -.nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} - -.nav > li > a > img { - max-width: none; -} - -.nav-tabs { - border-bottom: 1px solid #dddddd; -} - -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} - -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.428571429; - border: 1px solid transparent; - border-radius: 4px 4px 0 0; -} - -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #dddddd; -} - -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - cursor: default; - background-color: #ffffff; - border: 1px solid #dddddd; - border-bottom-color: transparent; -} - -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0; -} - -.nav-tabs.nav-justified > li { - float: none; -} - -.nav-tabs.nav-justified > li > a { - margin-bottom: 5px; - text-align: center; -} - -.nav-tabs.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} - -@media (min-width: 768px) { - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-tabs.nav-justified > li > a { - margin-bottom: 0; - } -} - -.nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 4px; -} - -.nav-tabs.nav-justified > .active > a, -.nav-tabs.nav-justified > .active > a:hover, -.nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #dddddd; -} - -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #dddddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs.nav-justified > .active > a, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #ffffff; - } -} - -.nav-pills > li { - float: left; -} - -.nav-pills > li > a { - border-radius: 4px; -} - -.nav-pills > li + li { - margin-left: 2px; -} - -.nav-pills > li.active > a, -.nav-pills > li.active > a:hover, -.nav-pills > li.active > a:focus { - color: #ffffff; - background-color: #428bca; -} - -.nav-stacked > li { - float: none; -} - -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} - -.nav-justified { - width: 100%; -} - -.nav-justified > li { - float: none; -} - -.nav-justified > li > a { - margin-bottom: 5px; - text-align: center; -} - -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} - -@media (min-width: 768px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-justified > li > a { - margin-bottom: 0; - } -} - -.nav-tabs-justified { - border-bottom: 0; -} - -.nav-tabs-justified > li > a { - margin-right: 0; - border-radius: 4px; -} - -.nav-tabs-justified > .active > a, -.nav-tabs-justified > .active > a:hover, -.nav-tabs-justified > .active > a:focus { - border: 1px solid #dddddd; -} - -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #dddddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus { - border-bottom-color: #ffffff; - } -} - -.tab-content > .tab-pane { - display: none; -} - -.tab-content > .active { - display: block; -} - -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-right-radius: 0; - border-top-left-radius: 0; -} - -.navbar { - position: relative; - min-height: 50px; - margin-bottom: 20px; - border: 1px solid transparent; -} - -.navbar:before, -.navbar:after { - display: table; - content: " "; -} - -.navbar:after { - clear: both; -} - -.navbar:before, -.navbar:after { - display: table; - content: " "; -} - -.navbar:after { - clear: both; -} - -@media (min-width: 768px) { - .navbar { - border-radius: 4px; - } -} - -.navbar-header:before, -.navbar-header:after { - display: table; - content: " "; -} - -.navbar-header:after { - clear: both; -} - -.navbar-header:before, -.navbar-header:after { - display: table; - content: " "; -} - -.navbar-header:after { - clear: both; -} - -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} - -.navbar-collapse { - max-height: 340px; - padding-right: 15px; - padding-left: 15px; - overflow-x: visible; - border-top: 1px solid transparent; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); - -webkit-overflow-scrolling: touch; -} - -.navbar-collapse:before, -.navbar-collapse:after { - display: table; - content: " "; -} - -.navbar-collapse:after { - clear: both; -} - -.navbar-collapse:before, -.navbar-collapse:after { - display: table; - content: " "; -} - -.navbar-collapse:after { - clear: both; -} - -.navbar-collapse.in { - overflow-y: auto; -} - -@media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - box-shadow: none; - } - .navbar-collapse.collapse { - display: block !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important; - } - .navbar-collapse.in { - overflow-y: visible; - } - .navbar-fixed-top .navbar-collapse, - .navbar-static-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - padding-right: 0; - padding-left: 0; - } -} - -.container > .navbar-header, -.container > .navbar-collapse { - margin-right: -15px; - margin-left: -15px; -} - -@media (min-width: 768px) { - .container > .navbar-header, - .container > .navbar-collapse { - margin-right: 0; - margin-left: 0; - } -} - -.navbar-static-top { - z-index: 1000; - border-width: 0 0 1px; -} - -@media (min-width: 768px) { - .navbar-static-top { - border-radius: 0; - } -} - -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; -} - -@media (min-width: 768px) { - .navbar-fixed-top, - .navbar-fixed-bottom { - border-radius: 0; - } -} - -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px; -} - -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0; -} - -.navbar-brand { - float: left; - padding: 15px 15px; - font-size: 18px; - line-height: 20px; -} - -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} - -@media (min-width: 768px) { - .navbar > .container .navbar-brand { - margin-left: -15px; - } -} - -.navbar-toggle { - position: relative; - float: right; - padding: 9px 10px; - margin-top: 8px; - margin-right: 15px; - margin-bottom: 8px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; -} - -.navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px; -} - -.navbar-toggle .icon-bar + .icon-bar { - margin-top: 4px; -} - -@media (min-width: 768px) { - .navbar-toggle { - display: none; - } -} - -.navbar-nav { - margin: 7.5px -15px; -} - -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} - -@media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - box-shadow: none; - } - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 5px 15px 5px 25px; - } - .navbar-nav .open .dropdown-menu > li > a { - line-height: 20px; - } - .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-nav .open .dropdown-menu > li > a:focus { - background-image: none; - } -} - -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - } - .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; - } - .navbar-nav.navbar-right:last-child { - margin-right: -15px; - } -} - -@media (min-width: 768px) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - } -} - -.navbar-form { - padding: 10px 15px; - margin-top: 8px; - margin-right: -15px; - margin-bottom: 8px; - margin-left: -15px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); -} - -@media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .form-control { - display: inline-block; - } - .navbar-form select.form-control { - width: auto; - } - .navbar-form .radio, - .navbar-form .checkbox { - display: inline-block; - padding-left: 0; - margin-top: 0; - margin-bottom: 0; - } - .navbar-form .radio input[type="radio"], - .navbar-form .checkbox input[type="checkbox"] { - float: none; - margin-left: 0; - } -} - -@media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px; - } -} - -@media (min-width: 768px) { - .navbar-form { - width: auto; - padding-top: 0; - padding-bottom: 0; - margin-right: 0; - margin-left: 0; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-form.navbar-right:last-child { - margin-right: -15px; - } -} - -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-right-radius: 0; - border-top-left-radius: 0; -} - -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.navbar-nav.pull-right > li > .dropdown-menu, -.navbar-nav > li > .dropdown-menu.pull-right { - right: 0; - left: auto; -} - -.navbar-btn { - margin-top: 8px; - margin-bottom: 8px; -} - -.navbar-btn.btn-sm { - margin-top: 10px; - margin-bottom: 10px; -} - -.navbar-btn.btn-xs { - margin-top: 14px; - margin-bottom: 14px; -} - -.navbar-text { - margin-top: 15px; - margin-bottom: 15px; -} - -@media (min-width: 768px) { - .navbar-text { - float: left; - margin-right: 15px; - margin-left: 15px; - } - .navbar-text.navbar-right:last-child { - margin-right: 0; - } -} - -.navbar-default { - background-color: #f8f8f8; - border-color: #e7e7e7; -} - -.navbar-default .navbar-brand { - color: #777777; -} - -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #5e5e5e; - background-color: transparent; -} - -.navbar-default .navbar-text { - color: #777777; -} - -.navbar-default .navbar-nav > li > a { - color: #777777; -} - -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #333333; - background-color: transparent; -} - -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #555555; - background-color: #e7e7e7; -} - -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} - -.navbar-default .navbar-toggle { - border-color: #dddddd; -} - -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #dddddd; -} - -.navbar-default .navbar-toggle .icon-bar { - background-color: #cccccc; -} - -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #e7e7e7; -} - -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - color: #555555; - background-color: #e7e7e7; -} - -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #777777; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #333333; - background-color: transparent; - } - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #555555; - background-color: #e7e7e7; - } - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #cccccc; - background-color: transparent; - } -} - -.navbar-default .navbar-link { - color: #777777; -} - -.navbar-default .navbar-link:hover { - color: #333333; -} - -.navbar-inverse { - background-color: #222222; - border-color: #080808; -} - -.navbar-inverse .navbar-brand { - color: #999999; -} - -.navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-brand:focus { - color: #ffffff; - background-color: transparent; -} - -.navbar-inverse .navbar-text { - color: #999999; -} - -.navbar-inverse .navbar-nav > li > a { - color: #999999; -} - -.navbar-inverse .navbar-nav > li > a:hover, -.navbar-inverse .navbar-nav > li > a:focus { - color: #ffffff; - background-color: transparent; -} - -.navbar-inverse .navbar-nav > .active > a, -.navbar-inverse .navbar-nav > .active > a:hover, -.navbar-inverse .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #080808; -} - -.navbar-inverse .navbar-nav > .disabled > a, -.navbar-inverse .navbar-nav > .disabled > a:hover, -.navbar-inverse .navbar-nav > .disabled > a:focus { - color: #444444; - background-color: transparent; -} - -.navbar-inverse .navbar-toggle { - border-color: #333333; -} - -.navbar-inverse .navbar-toggle:hover, -.navbar-inverse .navbar-toggle:focus { - background-color: #333333; -} - -.navbar-inverse .navbar-toggle .icon-bar { - background-color: #ffffff; -} - -.navbar-inverse .navbar-collapse, -.navbar-inverse .navbar-form { - border-color: #101010; -} - -.navbar-inverse .navbar-nav > .open > a, -.navbar-inverse .navbar-nav > .open > a:hover, -.navbar-inverse .navbar-nav > .open > a:focus { - color: #ffffff; - background-color: #080808; -} - -@media (max-width: 767px) { - .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { - border-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu .divider { - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { - color: #999999; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { - color: #ffffff; - background-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #ffffff; - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #444444; - background-color: transparent; - } -} - -.navbar-inverse .navbar-link { - color: #999999; -} - -.navbar-inverse .navbar-link:hover { - color: #ffffff; -} - -.breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: #f5f5f5; - border-radius: 4px; -} - -.breadcrumb > li { - display: inline-block; -} - -.breadcrumb > li + li:before { - padding: 0 5px; - color: #cccccc; - content: "/\00a0"; -} - -.breadcrumb > .active { - color: #999999; -} - -.pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 4px; -} - -.pagination > li { - display: inline; -} - -.pagination > li > a, -.pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - margin-left: -1px; - line-height: 1.428571429; - text-decoration: none; - background-color: #ffffff; - border: 1px solid #dddddd; -} - -.pagination > li:first-child > a, -.pagination > li:first-child > span { - margin-left: 0; - border-bottom-left-radius: 4px; - border-top-left-radius: 4px; -} - -.pagination > li:last-child > a, -.pagination > li:last-child > span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - background-color: #eeeeee; -} - -.pagination > .active > a, -.pagination > .active > span, -.pagination > .active > a:hover, -.pagination > .active > span:hover, -.pagination > .active > a:focus, -.pagination > .active > span:focus { - z-index: 2; - color: #ffffff; - cursor: default; - background-color: #428bca; - border-color: #428bca; -} - -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #999999; - cursor: not-allowed; - background-color: #ffffff; - border-color: #dddddd; -} - -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 10px 16px; - font-size: 18px; -} - -.pagination-lg > li:first-child > a, -.pagination-lg > li:first-child > span { - border-bottom-left-radius: 6px; - border-top-left-radius: 6px; -} - -.pagination-lg > li:last-child > a, -.pagination-lg > li:last-child > span { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; -} - -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 5px 10px; - font-size: 12px; -} - -.pagination-sm > li:first-child > a, -.pagination-sm > li:first-child > span { - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; -} - -.pagination-sm > li:last-child > a, -.pagination-sm > li:last-child > span { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} - -.pager { - padding-left: 0; - margin: 20px 0; - text-align: center; - list-style: none; -} - -.pager:before, -.pager:after { - display: table; - content: " "; -} - -.pager:after { - clear: both; -} - -.pager:before, -.pager:after { - display: table; - content: " "; -} - -.pager:after { - clear: both; -} - -.pager li { - display: inline; -} - -.pager li > a, -.pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 15px; -} - -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - background-color: #eeeeee; -} - -.pager .next > a, -.pager .next > span { - float: right; -} - -.pager .previous > a, -.pager .previous > span { - float: left; -} - -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #999999; - cursor: not-allowed; - background-color: #ffffff; -} - -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #ffffff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; -} - -.label[href]:hover, -.label[href]:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} - -.label:empty { - display: none; -} - -.btn .label { - position: relative; - top: -1px; -} - -.label-default { - background-color: #999999; -} - -.label-default[href]:hover, -.label-default[href]:focus { - background-color: #808080; -} - -.label-primary { - background-color: #428bca; -} - -.label-primary[href]:hover, -.label-primary[href]:focus { - background-color: #3071a9; -} - -.label-success { - background-color: #5cb85c; -} - -.label-success[href]:hover, -.label-success[href]:focus { - background-color: #449d44; -} - -.label-info { - background-color: #5bc0de; -} - -.label-info[href]:hover, -.label-info[href]:focus { - background-color: #31b0d5; -} - -.label-warning { - background-color: #f0ad4e; -} - -.label-warning[href]:hover, -.label-warning[href]:focus { - background-color: #ec971f; -} - -.label-danger { - background-color: #d9534f; -} - -.label-danger[href]:hover, -.label-danger[href]:focus { - background-color: #c9302c; -} - -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; - line-height: 1; - color: #ffffff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - background-color: #999999; - border-radius: 10px; -} - -.badge:empty { - display: none; -} - -.btn .badge { - position: relative; - top: -1px; -} - -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} - -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #428bca; - background-color: #ffffff; -} - -.nav-pills > li > a > .badge { - margin-left: 3px; -} - -.jumbotron { - padding: 30px; - margin-bottom: 30px; - font-size: 21px; - font-weight: 200; - line-height: 2.1428571435; - color: inherit; - background-color: #eeeeee; -} - -.jumbotron h1, -.jumbotron .h1 { - line-height: 1; - color: inherit; -} - -.jumbotron p { - line-height: 1.4; -} - -.container .jumbotron { - border-radius: 6px; -} - -.jumbotron .container { - max-width: 100%; -} - -@media screen and (min-width: 768px) { - .jumbotron { - padding-top: 48px; - padding-bottom: 48px; - } - .container .jumbotron { - padding-right: 60px; - padding-left: 60px; - } - .jumbotron h1, - .jumbotron .h1 { - font-size: 63px; - } -} - -.thumbnail { - display: block; - padding: 4px; - margin-bottom: 20px; - line-height: 1.428571429; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 4px; - -webkit-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} - -.thumbnail > img, -.thumbnail a > img { - display: block; - height: auto; - max-width: 100%; - margin-right: auto; - margin-left: auto; -} - -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: #428bca; -} - -.thumbnail .caption { - padding: 9px; - color: #333333; -} - -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 4px; -} - -.alert h4 { - margin-top: 0; - color: inherit; -} - -.alert .alert-link { - font-weight: bold; -} - -.alert > p, -.alert > ul { - margin-bottom: 0; -} - -.alert > p + p { - margin-top: 5px; -} - -.alert-dismissable { - padding-right: 35px; -} - -.alert-dismissable .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} - -.alert-success { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; -} - -.alert-success hr { - border-top-color: #c9e2b3; -} - -.alert-success .alert-link { - color: #2b542c; -} - -.alert-info { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; -} - -.alert-info hr { - border-top-color: #a6e1ec; -} - -.alert-info .alert-link { - color: #245269; -} - -.alert-warning { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; -} - -.alert-warning hr { - border-top-color: #f7e1b5; -} - -.alert-warning .alert-link { - color: #66512c; -} - -.alert-danger { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; -} - -.alert-danger hr { - border-top-color: #e4b9c0; -} - -.alert-danger .alert-link { - color: #843534; -} - -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} - -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} - -.progress { - height: 20px; - margin-bottom: 20px; - overflow: hidden; - background-color: #f5f5f5; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -} - -.progress-bar { - float: left; - width: 0; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #ffffff; - text-align: center; - background-color: #428bca; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -webkit-transition: width 0.6s ease; - transition: width 0.6s ease; -} - -.progress-striped .progress-bar { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 40px 40px; -} - -.progress.active .progress-bar { - -webkit-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} - -.progress-bar-success { - background-color: #5cb85c; -} - -.progress-striped .progress-bar-success { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.progress-bar-info { - background-color: #5bc0de; -} - -.progress-striped .progress-bar-info { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.progress-bar-warning { - background-color: #f0ad4e; -} - -.progress-striped .progress-bar-warning { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.progress-bar-danger { - background-color: #d9534f; -} - -.progress-striped .progress-bar-danger { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.media, -.media-body { - overflow: hidden; - zoom: 1; -} - -.media, -.media .media { - margin-top: 15px; -} - -.media:first-child { - margin-top: 0; -} - -.media-object { - display: block; -} - -.media-heading { - margin: 0 0 5px; -} - -.media > .pull-left { - margin-right: 10px; -} - -.media > .pull-right { - margin-left: 10px; -} - -.media-list { - padding-left: 0; - list-style: none; -} - -.list-group { - padding-left: 0; - margin-bottom: 20px; -} - -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: #ffffff; - border: 1px solid #dddddd; -} - -.list-group-item:first-child { - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} - -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} - -.list-group-item > .badge { - float: right; -} - -.list-group-item > .badge + .badge { - margin-right: 5px; -} - -a.list-group-item { - color: #555555; -} - -a.list-group-item .list-group-item-heading { - color: #333333; -} - -a.list-group-item:hover, -a.list-group-item:focus { - text-decoration: none; - background-color: #f5f5f5; -} - -a.list-group-item.active, -a.list-group-item.active:hover, -a.list-group-item.active:focus { - z-index: 2; - color: #ffffff; - background-color: #428bca; - border-color: #428bca; -} - -a.list-group-item.active .list-group-item-heading, -a.list-group-item.active:hover .list-group-item-heading, -a.list-group-item.active:focus .list-group-item-heading { - color: inherit; -} - -a.list-group-item.active .list-group-item-text, -a.list-group-item.active:hover .list-group-item-text, -a.list-group-item.active:focus .list-group-item-text { - color: #e1edf7; -} - -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px; -} - -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3; -} - -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); -} - -.panel-body { - padding: 15px; -} - -.panel-body:before, -.panel-body:after { - display: table; - content: " "; -} - -.panel-body:after { - clear: both; -} - -.panel-body:before, -.panel-body:after { - display: table; - content: " "; -} - -.panel-body:after { - clear: both; -} - -.panel > .list-group { - margin-bottom: 0; -} - -.panel > .list-group .list-group-item { - border-width: 1px 0; -} - -.panel > .list-group .list-group-item:first-child { - border-top-right-radius: 0; - border-top-left-radius: 0; -} - -.panel > .list-group .list-group-item:last-child { - border-bottom: 0; -} - -.panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; -} - -.panel > .table, -.panel > .table-responsive > .table { - margin-bottom: 0; -} - -.panel > .panel-body + .table, -.panel > .panel-body + .table-responsive { - border-top: 1px solid #dddddd; -} - -.panel > .table > tbody:first-child th, -.panel > .table > tbody:first-child td { - border-top: 0; -} - -.panel > .table-bordered, -.panel > .table-responsive > .table-bordered { - border: 0; -} - -.panel > .table-bordered > thead > tr > th:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, -.panel > .table-bordered > tbody > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, -.panel > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-bordered > thead > tr > td:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, -.panel > .table-bordered > tbody > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, -.panel > .table-bordered > tfoot > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; -} - -.panel > .table-bordered > thead > tr > th:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, -.panel > .table-bordered > tbody > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, -.panel > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-bordered > thead > tr > td:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, -.panel > .table-bordered > tbody > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, -.panel > .table-bordered > tfoot > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; -} - -.panel > .table-bordered > thead > tr:last-child > th, -.panel > .table-responsive > .table-bordered > thead > tr:last-child > th, -.panel > .table-bordered > tbody > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, -.panel > .table-bordered > tfoot > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th, -.panel > .table-bordered > thead > tr:last-child > td, -.panel > .table-responsive > .table-bordered > thead > tr:last-child > td, -.panel > .table-bordered > tbody > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, -.panel > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; -} - -.panel > .table-responsive { - margin-bottom: 0; - border: 0; -} - -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} - -.panel-heading > .dropdown .dropdown-toggle { - color: inherit; -} - -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; - color: inherit; -} - -.panel-title > a { - color: inherit; -} - -.panel-footer { - padding: 10px 15px; - background-color: #f5f5f5; - border-top: 1px solid #dddddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} - -.panel-group .panel { - margin-bottom: 0; - overflow: hidden; - border-radius: 4px; -} - -.panel-group .panel + .panel { - margin-top: 5px; -} - -.panel-group .panel-heading { - border-bottom: 0; -} - -.panel-group .panel-heading + .panel-collapse .panel-body { - border-top: 1px solid #dddddd; -} - -.panel-group .panel-footer { - border-top: 0; -} - -.panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #dddddd; -} - -.panel-default { - border-color: #dddddd; -} - -.panel-default > .panel-heading { - color: #333333; - background-color: #f5f5f5; - border-color: #dddddd; -} - -.panel-default > .panel-heading + .panel-collapse .panel-body { - border-top-color: #dddddd; -} - -.panel-default > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #dddddd; -} - -.panel-primary { - border-color: #428bca; -} - -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #428bca; - border-color: #428bca; -} - -.panel-primary > .panel-heading + .panel-collapse .panel-body { - border-top-color: #428bca; -} - -.panel-primary > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #428bca; -} - -.panel-success { - border-color: #d6e9c6; -} - -.panel-success > .panel-heading { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; -} - -.panel-success > .panel-heading + .panel-collapse .panel-body { - border-top-color: #d6e9c6; -} - -.panel-success > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #d6e9c6; -} - -.panel-warning { - border-color: #faebcc; -} - -.panel-warning > .panel-heading { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; -} - -.panel-warning > .panel-heading + .panel-collapse .panel-body { - border-top-color: #faebcc; -} - -.panel-warning > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #faebcc; -} - -.panel-danger { - border-color: #ebccd1; -} - -.panel-danger > .panel-heading { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; -} - -.panel-danger > .panel-heading + .panel-collapse .panel-body { - border-top-color: #ebccd1; -} - -.panel-danger > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #ebccd1; -} - -.panel-info { - border-color: #bce8f1; -} - -.panel-info > .panel-heading { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; -} - -.panel-info > .panel-heading + .panel-collapse .panel-body { - border-top-color: #bce8f1; -} - -.panel-info > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #bce8f1; -} - -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -} - -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, 0.15); -} - -.well-lg { - padding: 24px; - border-radius: 6px; -} - -.well-sm { - padding: 9px; - border-radius: 3px; -} - -.close { - float: right; - font-size: 21px; - font-weight: bold; - line-height: 1; - color: #000000; - text-shadow: 0 1px 0 #ffffff; - opacity: 0.2; - filter: alpha(opacity=20); -} - -.close:hover, -.close:focus { - color: #000000; - text-decoration: none; - cursor: pointer; - opacity: 0.5; - filter: alpha(opacity=50); -} - -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} - -.modal-open { - overflow: hidden; -} - -.modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - display: none; - overflow: auto; - overflow-y: scroll; -} - -.modal.fade .modal-dialog { - -webkit-transform: translate(0, -25%); - -ms-transform: translate(0, -25%); - transform: translate(0, -25%); - -webkit-transition: -webkit-transform 0.3s ease-out; - -moz-transition: -moz-transform 0.3s ease-out; - -o-transition: -o-transform 0.3s ease-out; - transition: transform 0.3s ease-out; -} - -.modal.in .modal-dialog { - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - transform: translate(0, 0); -} - -.modal-dialog { - position: relative; - z-index: 1050; - width: auto; - margin: 10px; -} - -.modal-content { - position: relative; - background-color: #ffffff; - border: 1px solid #999999; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - outline: none; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - background-clip: padding-box; -} - -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; - background-color: #000000; -} - -.modal-backdrop.fade { - opacity: 0; - filter: alpha(opacity=0); -} - -.modal-backdrop.in { - opacity: 0.5; - filter: alpha(opacity=50); -} - -.modal-header { - min-height: 16.428571429px; - padding: 15px; - border-bottom: 1px solid #e5e5e5; -} - -.modal-header .close { - margin-top: -2px; -} - -.modal-title { - margin: 0; - line-height: 1.428571429; -} - -.modal-body { - position: relative; - padding: 20px; -} - -.modal-footer { - padding: 19px 20px 20px; - margin-top: 15px; - text-align: right; - border-top: 1px solid #e5e5e5; -} - -.modal-footer:before, -.modal-footer:after { - display: table; - content: " "; -} - -.modal-footer:after { - clear: both; -} - -.modal-footer:before, -.modal-footer:after { - display: table; - content: " "; -} - -.modal-footer:after { - clear: both; -} - -.modal-footer .btn + .btn { - margin-bottom: 0; - margin-left: 5px; -} - -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} - -.modal-footer .btn-block + .btn-block { - margin-left: 0; -} - -@media screen and (min-width: 768px) { - .modal-dialog { - width: 600px; - margin: 30px auto; - } - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - } -} - -.tooltip { - position: absolute; - z-index: 1030; - display: block; - font-size: 12px; - line-height: 1.4; - opacity: 0; - filter: alpha(opacity=0); - visibility: visible; -} - -.tooltip.in { - opacity: 0.9; - filter: alpha(opacity=90); -} - -.tooltip.top { - padding: 5px 0; - margin-top: -3px; -} - -.tooltip.right { - padding: 0 5px; - margin-left: 3px; -} - -.tooltip.bottom { - padding: 5px 0; - margin-top: 3px; -} - -.tooltip.left { - padding: 0 5px; - margin-left: -3px; -} - -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #ffffff; - text-align: center; - text-decoration: none; - background-color: #000000; - border-radius: 4px; -} - -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} - -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-top-color: #000000; - border-width: 5px 5px 0; -} - -.tooltip.top-left .tooltip-arrow { - bottom: 0; - left: 5px; - border-top-color: #000000; - border-width: 5px 5px 0; -} - -.tooltip.top-right .tooltip-arrow { - right: 5px; - bottom: 0; - border-top-color: #000000; - border-width: 5px 5px 0; -} - -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-right-color: #000000; - border-width: 5px 5px 5px 0; -} - -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-left-color: #000000; - border-width: 5px 0 5px 5px; -} - -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-bottom-color: #000000; - border-width: 0 5px 5px; -} - -.tooltip.bottom-left .tooltip-arrow { - top: 0; - left: 5px; - border-bottom-color: #000000; - border-width: 0 5px 5px; -} - -.tooltip.bottom-right .tooltip-arrow { - top: 0; - right: 5px; - border-bottom-color: #000000; - border-width: 0 5px 5px; -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1010; - display: none; - max-width: 276px; - padding: 1px; - text-align: left; - white-space: normal; - background-color: #ffffff; - border: 1px solid #cccccc; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - background-clip: padding-box; -} - -.popover.top { - margin-top: -10px; -} - -.popover.right { - margin-left: 10px; -} - -.popover.bottom { - margin-top: 10px; -} - -.popover.left { - margin-left: -10px; -} - -.popover-title { - padding: 8px 14px; - margin: 0; - font-size: 14px; - font-weight: normal; - line-height: 18px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-radius: 5px 5px 0 0; -} - -.popover-content { - padding: 9px 14px; -} - -.popover .arrow, -.popover .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} - -.popover .arrow { - border-width: 11px; -} - -.popover .arrow:after { - border-width: 10px; - content: ""; -} - -.popover.top .arrow { - bottom: -11px; - left: 50%; - margin-left: -11px; - border-top-color: #999999; - border-top-color: rgba(0, 0, 0, 0.25); - border-bottom-width: 0; -} - -.popover.top .arrow:after { - bottom: 1px; - margin-left: -10px; - border-top-color: #ffffff; - border-bottom-width: 0; - content: " "; -} - -.popover.right .arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-right-color: #999999; - border-right-color: rgba(0, 0, 0, 0.25); - border-left-width: 0; -} - -.popover.right .arrow:after { - bottom: -10px; - left: 1px; - border-right-color: #ffffff; - border-left-width: 0; - content: " "; -} - -.popover.bottom .arrow { - top: -11px; - left: 50%; - margin-left: -11px; - border-bottom-color: #999999; - border-bottom-color: rgba(0, 0, 0, 0.25); - border-top-width: 0; -} - -.popover.bottom .arrow:after { - top: 1px; - margin-left: -10px; - border-bottom-color: #ffffff; - border-top-width: 0; - content: " "; -} - -.popover.left .arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-left-color: #999999; - border-left-color: rgba(0, 0, 0, 0.25); - border-right-width: 0; -} - -.popover.left .arrow:after { - right: 1px; - bottom: -10px; - border-left-color: #ffffff; - border-right-width: 0; - content: " "; -} - -.carousel { - position: relative; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} - -.carousel-inner > .item { - position: relative; - display: none; - -webkit-transition: 0.6s ease-in-out left; - transition: 0.6s ease-in-out left; -} - -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - height: auto; - max-width: 100%; - line-height: 1; -} - -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} - -.carousel-inner > .active { - left: 0; -} - -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} - -.carousel-inner > .next { - left: 100%; -} - -.carousel-inner > .prev { - left: -100%; -} - -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} - -.carousel-inner > .active.left { - left: -100%; -} - -.carousel-inner > .active.right { - left: 100%; -} - -.carousel-control { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 15%; - font-size: 20px; - color: #ffffff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); - opacity: 0.5; - filter: alpha(opacity=50); -} - -.carousel-control.left { - background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0), color-stop(rgba(0, 0, 0, 0.0001) 100%)); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); -} - -.carousel-control.right { - right: 0; - left: auto; - background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0), color-stop(rgba(0, 0, 0, 0.5) 100%)); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); -} - -.carousel-control:hover, -.carousel-control:focus { - color: #ffffff; - text-decoration: none; - outline: none; - opacity: 0.9; - filter: alpha(opacity=90); -} - -.carousel-control .icon-prev, -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-left, -.carousel-control .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; -} - -.carousel-control .icon-prev, -.carousel-control .glyphicon-chevron-left { - left: 50%; -} - -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-right { - right: 50%; -} - -.carousel-control .icon-prev, -.carousel-control .icon-next { - width: 20px; - height: 20px; - margin-top: -10px; - margin-left: -10px; - font-family: serif; -} - -.carousel-control .icon-prev:before { - content: '\2039'; -} - -.carousel-control .icon-next:before { - content: '\203a'; -} - -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - padding-left: 0; - margin-left: -30%; - text-align: center; - list-style: none; -} - -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); - border: 1px solid #ffffff; - border-radius: 10px; -} - -.carousel-indicators .active { - width: 12px; - height: 12px; - margin: 0; - background-color: #ffffff; -} - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #ffffff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} - -.carousel-caption .btn { - text-shadow: none; -} - -@media screen and (min-width: 768px) { - .carousel-control .glyphicons-chevron-left, - .carousel-control .glyphicons-chevron-right, - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 30px; - height: 30px; - margin-top: -15px; - margin-left: -15px; - font-size: 30px; - } - .carousel-caption { - right: 20%; - left: 20%; - padding-bottom: 30px; - } - .carousel-indicators { - bottom: 20px; - } -} - -.clearfix:before, -.clearfix:after { - display: table; - content: " "; -} - -.clearfix:after { - clear: both; -} - -.center-block { - display: block; - margin-right: auto; - margin-left: auto; -} - -.pull-right { - float: right !important; -} - -.pull-left { - float: left !important; -} - -.hide { - display: none !important; -} - -.show { - display: block !important; -} - -.invisible { - visibility: hidden; -} - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} - -.hidden { - display: none !important; - visibility: hidden !important; -} - -.affix { - position: fixed; -} - -@-ms-viewport { - width: device-width; -} - -.visible-xs, -tr.visible-xs, -th.visible-xs, -td.visible-xs { - display: none !important; -} - -@media (max-width: 767px) { - .visible-xs { - display: block !important; - } - table.visible-xs { - display: table; - } - tr.visible-xs { - display: table-row !important; - } - th.visible-xs, - td.visible-xs { - display: table-cell !important; - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .visible-xs.visible-sm { - display: block !important; - } - table.visible-xs.visible-sm { - display: table; - } - tr.visible-xs.visible-sm { - display: table-row !important; - } - th.visible-xs.visible-sm, - td.visible-xs.visible-sm { - display: table-cell !important; - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .visible-xs.visible-md { - display: block !important; - } - table.visible-xs.visible-md { - display: table; - } - tr.visible-xs.visible-md { - display: table-row !important; - } - th.visible-xs.visible-md, - td.visible-xs.visible-md { - display: table-cell !important; - } -} - -@media (min-width: 1200px) { - .visible-xs.visible-lg { - display: block !important; - } - table.visible-xs.visible-lg { - display: table; - } - tr.visible-xs.visible-lg { - display: table-row !important; - } - th.visible-xs.visible-lg, - td.visible-xs.visible-lg { - display: table-cell !important; - } -} - -.visible-sm, -tr.visible-sm, -th.visible-sm, -td.visible-sm { - display: none !important; -} - -@media (max-width: 767px) { - .visible-sm.visible-xs { - display: block !important; - } - table.visible-sm.visible-xs { - display: table; - } - tr.visible-sm.visible-xs { - display: table-row !important; - } - th.visible-sm.visible-xs, - td.visible-sm.visible-xs { - display: table-cell !important; - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important; - } - table.visible-sm { - display: table; - } - tr.visible-sm { - display: table-row !important; - } - th.visible-sm, - td.visible-sm { - display: table-cell !important; - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .visible-sm.visible-md { - display: block !important; - } - table.visible-sm.visible-md { - display: table; - } - tr.visible-sm.visible-md { - display: table-row !important; - } - th.visible-sm.visible-md, - td.visible-sm.visible-md { - display: table-cell !important; - } -} - -@media (min-width: 1200px) { - .visible-sm.visible-lg { - display: block !important; - } - table.visible-sm.visible-lg { - display: table; - } - tr.visible-sm.visible-lg { - display: table-row !important; - } - th.visible-sm.visible-lg, - td.visible-sm.visible-lg { - display: table-cell !important; - } -} - -.visible-md, -tr.visible-md, -th.visible-md, -td.visible-md { - display: none !important; -} - -@media (max-width: 767px) { - .visible-md.visible-xs { - display: block !important; - } - table.visible-md.visible-xs { - display: table; - } - tr.visible-md.visible-xs { - display: table-row !important; - } - th.visible-md.visible-xs, - td.visible-md.visible-xs { - display: table-cell !important; - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .visible-md.visible-sm { - display: block !important; - } - table.visible-md.visible-sm { - display: table; - } - tr.visible-md.visible-sm { - display: table-row !important; - } - th.visible-md.visible-sm, - td.visible-md.visible-sm { - display: table-cell !important; - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important; - } - table.visible-md { - display: table; - } - tr.visible-md { - display: table-row !important; - } - th.visible-md, - td.visible-md { - display: table-cell !important; - } -} - -@media (min-width: 1200px) { - .visible-md.visible-lg { - display: block !important; - } - table.visible-md.visible-lg { - display: table; - } - tr.visible-md.visible-lg { - display: table-row !important; - } - th.visible-md.visible-lg, - td.visible-md.visible-lg { - display: table-cell !important; - } -} - -.visible-lg, -tr.visible-lg, -th.visible-lg, -td.visible-lg { - display: none !important; -} - -@media (max-width: 767px) { - .visible-lg.visible-xs { - display: block !important; - } - table.visible-lg.visible-xs { - display: table; - } - tr.visible-lg.visible-xs { - display: table-row !important; - } - th.visible-lg.visible-xs, - td.visible-lg.visible-xs { - display: table-cell !important; - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .visible-lg.visible-sm { - display: block !important; - } - table.visible-lg.visible-sm { - display: table; - } - tr.visible-lg.visible-sm { - display: table-row !important; - } - th.visible-lg.visible-sm, - td.visible-lg.visible-sm { - display: table-cell !important; - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .visible-lg.visible-md { - display: block !important; - } - table.visible-lg.visible-md { - display: table; - } - tr.visible-lg.visible-md { - display: table-row !important; - } - th.visible-lg.visible-md, - td.visible-lg.visible-md { - display: table-cell !important; - } -} - -@media (min-width: 1200px) { - .visible-lg { - display: block !important; - } - table.visible-lg { - display: table; - } - tr.visible-lg { - display: table-row !important; - } - th.visible-lg, - td.visible-lg { - display: table-cell !important; - } -} - -.hidden-xs { - display: block !important; -} - -table.hidden-xs { - display: table; -} - -tr.hidden-xs { - display: table-row !important; -} - -th.hidden-xs, -td.hidden-xs { - display: table-cell !important; -} - -@media (max-width: 767px) { - .hidden-xs, - tr.hidden-xs, - th.hidden-xs, - td.hidden-xs { - display: none !important; - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .hidden-xs.hidden-sm, - tr.hidden-xs.hidden-sm, - th.hidden-xs.hidden-sm, - td.hidden-xs.hidden-sm { - display: none !important; - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-xs.hidden-md, - tr.hidden-xs.hidden-md, - th.hidden-xs.hidden-md, - td.hidden-xs.hidden-md { - display: none !important; - } -} - -@media (min-width: 1200px) { - .hidden-xs.hidden-lg, - tr.hidden-xs.hidden-lg, - th.hidden-xs.hidden-lg, - td.hidden-xs.hidden-lg { - display: none !important; - } -} - -.hidden-sm { - display: block !important; -} - -table.hidden-sm { - display: table; -} - -tr.hidden-sm { - display: table-row !important; -} - -th.hidden-sm, -td.hidden-sm { - display: table-cell !important; -} - -@media (max-width: 767px) { - .hidden-sm.hidden-xs, - tr.hidden-sm.hidden-xs, - th.hidden-sm.hidden-xs, - td.hidden-sm.hidden-xs { - display: none !important; - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .hidden-sm, - tr.hidden-sm, - th.hidden-sm, - td.hidden-sm { - display: none !important; - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-sm.hidden-md, - tr.hidden-sm.hidden-md, - th.hidden-sm.hidden-md, - td.hidden-sm.hidden-md { - display: none !important; - } -} - -@media (min-width: 1200px) { - .hidden-sm.hidden-lg, - tr.hidden-sm.hidden-lg, - th.hidden-sm.hidden-lg, - td.hidden-sm.hidden-lg { - display: none !important; - } -} - -.hidden-md { - display: block !important; -} - -table.hidden-md { - display: table; -} - -tr.hidden-md { - display: table-row !important; -} - -th.hidden-md, -td.hidden-md { - display: table-cell !important; -} - -@media (max-width: 767px) { - .hidden-md.hidden-xs, - tr.hidden-md.hidden-xs, - th.hidden-md.hidden-xs, - td.hidden-md.hidden-xs { - display: none !important; - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .hidden-md.hidden-sm, - tr.hidden-md.hidden-sm, - th.hidden-md.hidden-sm, - td.hidden-md.hidden-sm { - display: none !important; - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-md, - tr.hidden-md, - th.hidden-md, - td.hidden-md { - display: none !important; - } -} - -@media (min-width: 1200px) { - .hidden-md.hidden-lg, - tr.hidden-md.hidden-lg, - th.hidden-md.hidden-lg, - td.hidden-md.hidden-lg { - display: none !important; - } -} - -.hidden-lg { - display: block !important; -} - -table.hidden-lg { - display: table; -} - -tr.hidden-lg { - display: table-row !important; -} - -th.hidden-lg, -td.hidden-lg { - display: table-cell !important; -} - -@media (max-width: 767px) { - .hidden-lg.hidden-xs, - tr.hidden-lg.hidden-xs, - th.hidden-lg.hidden-xs, - td.hidden-lg.hidden-xs { - display: none !important; - } -} - -@media (min-width: 768px) and (max-width: 991px) { - .hidden-lg.hidden-sm, - tr.hidden-lg.hidden-sm, - th.hidden-lg.hidden-sm, - td.hidden-lg.hidden-sm { - display: none !important; - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-lg.hidden-md, - tr.hidden-lg.hidden-md, - th.hidden-lg.hidden-md, - td.hidden-lg.hidden-md { - display: none !important; - } -} - -@media (min-width: 1200px) { - .hidden-lg, - tr.hidden-lg, - th.hidden-lg, - td.hidden-lg { - display: none !important; - } -} - -.visible-print, -tr.visible-print, -th.visible-print, -td.visible-print { - display: none !important; -} - -@media print { - .visible-print { - display: block !important; - } - table.visible-print { - display: table; - } - tr.visible-print { - display: table-row !important; - } - th.visible-print, - td.visible-print { - display: table-cell !important; - } - .hidden-print, - tr.hidden-print, - th.hidden-print, - td.hidden-print { - display: none !important; - } -} diff --git a/pig-register/src/main/resources/static/console-ui/public/css/codemirror.css b/pig-register/src/main/resources/static/console-ui/public/css/codemirror.css deleted file mode 100644 index 3ebb1bf1..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/css/codemirror.css +++ /dev/null @@ -1,356 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* BASICS */ - -.CodeMirror { - /* Set height, width, borders, and global font properties here */ - font-family: monospace; - height: 300px; - color: black; -} - -/* PADDING */ - -.CodeMirror-lines { - padding: 4px 0; /* Vertical padding around content */ -} -.CodeMirror pre { - padding: 0 4px; /* Horizontal padding of content */ -} - -.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { - background-color: white; /* The little square between H and V scrollbars */ -} - -/* GUTTER */ - -.CodeMirror-gutters { - border-right: 1px solid #ddd; - background-color: #f7f7f7; - white-space: nowrap; -} -.CodeMirror-linenumbers {} -.CodeMirror-linenumber { - padding: 0 3px 0 5px; - min-width: 20px; - text-align: right; - color: #999; - white-space: nowrap; -} - -.CodeMirror-guttermarker { color: black; } -.CodeMirror-guttermarker-subtle { color: #999; } - -/* CURSOR */ - -.CodeMirror-cursor { - border-left: 1px solid black; - border-right: none; - width: 0; -} -/* Shown when moving in bi-directional text */ -.CodeMirror div.CodeMirror-secondarycursor { - border-left: 1px solid silver; -} -.cm-fat-cursor .CodeMirror-cursor { - width: auto; - border: 0 !important; - background: #7e7; -} -.cm-fat-cursor div.CodeMirror-cursors { - z-index: 1; -} - -.cm-animate-fat-cursor { - width: auto; - border: 0; - -webkit-animation: blink 1.06s steps(1) infinite; - -moz-animation: blink 1.06s steps(1) infinite; - animation: blink 1.06s steps(1) infinite; - background-color: #7e7; -} -@-moz-keyframes blink { - 0% {} - 50% { background-color: transparent; } - 100% {} -} -@-webkit-keyframes blink { - 0% {} - 50% { background-color: transparent; } - 100% {} -} -@keyframes blink { - 0% {} - 50% { background-color: transparent; } - 100% {} -} - -/* Can style cursor different in overwrite (non-insert) mode */ -.CodeMirror-overwrite .CodeMirror-cursor {} - -.cm-tab { display: inline-block; text-decoration: inherit; } - -.CodeMirror-rulers { - position: absolute; - left: 0; right: 0; top: -50px; bottom: -20px; - overflow: hidden; -} -.CodeMirror-ruler { - border-left: 1px solid #ccc; - top: 0; bottom: 0; - position: absolute; -} - -/* DEFAULT THEME */ - -.cm-s-default .cm-header {color: blue;} -.cm-s-default .cm-quote {color: #090;} -.cm-negative {color: #d44;} -.cm-positive {color: #292;} -.cm-header, .cm-strong {font-weight: bold;} -.cm-em {font-style: italic;} -.cm-link {text-decoration: underline;} -.cm-strikethrough {text-decoration: line-through;} - -.cm-s-default .cm-keyword {color: #708;} -.cm-s-default .cm-atom {color: #219;} -.cm-s-default .cm-number {color: #164;} -.cm-s-default .cm-def {color: #00f;} -.cm-s-default .cm-variable, -.cm-s-default .cm-punctuation, -.cm-s-default .cm-property, -.cm-s-default .cm-operator {} -.cm-s-default .cm-variable-2 {color: #05a;} -.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;} -.cm-s-default .cm-comment {color: #a50;} -.cm-s-default .cm-string {color: #a11;} -.cm-s-default .cm-string-2 {color: #f50;} -.cm-s-default .cm-meta {color: #555;} -.cm-s-default .cm-qualifier {color: #555;} -.cm-s-default .cm-builtin {color: #30a;} -.cm-s-default .cm-bracket {color: #997;} -.cm-s-default .cm-tag {color: #170;} -.cm-s-default .cm-attribute {color: #00c;} -.cm-s-default .cm-hr {color: #999;} -.cm-s-default .cm-link {color: #00c;} - -.cm-s-default .cm-error {color: #f00;} -.cm-invalidchar {color: #f00;} - -.CodeMirror-composing { border-bottom: 2px solid; } - -/* Default styles for common addons */ - -div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} -div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} -.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } -.CodeMirror-activeline-background {background: #e8f2ff;} - -/* STOP */ - -/* The rest of this file contains styles related to the mechanics of - the editor. You probably shouldn't touch them. */ - -.CodeMirror { - position: relative; - overflow: hidden; - background: white; -} - -.CodeMirror-scroll { - overflow: scroll !important; /* Things will break if this is overridden */ - /* 30px is the magic margin used to hide the element's real scrollbars */ - /* See overflow: hidden in .CodeMirror */ - margin-bottom: -30px; margin-right: -30px; - padding-bottom: 30px; - height: 100%; - outline: none; /* Prevent dragging from highlighting the element */ - position: relative; -} -.CodeMirror-sizer { - position: relative; - border-right: 30px solid transparent; -} - -/* The fake, visible scrollbars. Used to force redraw during scrolling - before actual scrolling happens, thus preventing shaking and - flickering artifacts. */ -.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { - position: absolute; - z-index: 6; - display: none; -} -.CodeMirror-vscrollbar { - right: 0; top: 0; - overflow-x: hidden; - overflow-y: scroll; -} -.CodeMirror-hscrollbar { - bottom: 0; left: 0; - overflow-y: hidden; - overflow-x: scroll; -} -.CodeMirror-scrollbar-filler { - right: 0; bottom: 0; -} -.CodeMirror-gutter-filler { - left: 0; bottom: 0; -} - -.CodeMirror-gutters { - position: absolute; left: 0; top: 0; - min-height: 100%; - z-index: 3; -} -.CodeMirror-gutter { - white-space: normal; - height: 100%; - display: inline-block; - vertical-align: top; - margin-bottom: -30px; -} -.CodeMirror-gutter-wrapper { - position: absolute; - z-index: 4; - background: none !important; - border: none !important; -} -.CodeMirror-gutter-background { - position: absolute; - top: 0; bottom: 0; - z-index: 4; -} -.CodeMirror-gutter-elt { - position: absolute; - cursor: default; - z-index: 4; -} -.CodeMirror-gutter-wrapper ::selection { background-color: transparent } -.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent } - -.CodeMirror-lines { - cursor: text; - min-height: 1px; /* prevents collapsing before first draw */ -} -.CodeMirror pre { - /* Reset some styles that the rest of the page might have set */ - -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; - border-width: 0; - background: transparent; - font-family: inherit; - font-size: inherit; - margin: 0; - white-space: pre; - word-wrap: normal; - line-height: inherit; - color: inherit; - z-index: 2; - position: relative; - overflow: visible; - -webkit-tap-highlight-color: transparent; - -webkit-font-variant-ligatures: contextual; - font-variant-ligatures: contextual; -} -.CodeMirror-wrap pre { - word-wrap: break-word; - white-space: pre-wrap; - word-break: normal; -} - -.CodeMirror-linebackground { - position: absolute; - left: 0; right: 0; top: 0; bottom: 0; - z-index: 0; -} - -.CodeMirror-linewidget { - position: relative; - z-index: 2; - overflow: auto; -} - -.CodeMirror-widget {} - -.CodeMirror-rtl pre { direction: rtl; } - -.CodeMirror-code { - outline: none; -} - -/* Force content-box sizing for the elements where we expect it */ -.CodeMirror-scroll, -.CodeMirror-sizer, -.CodeMirror-gutter, -.CodeMirror-gutters, -.CodeMirror-linenumber { - -moz-box-sizing: content-box; - box-sizing: content-box; -} - -.CodeMirror-measure { - position: absolute; - width: 100%; - height: 0; - overflow: hidden; - visibility: hidden; -} - -.CodeMirror-cursor { - position: absolute; - pointer-events: none; -} -.CodeMirror-measure pre { position: static; } - -div.CodeMirror-cursors { - visibility: hidden; - position: relative; - z-index: 3; -} -div.CodeMirror-dragcursors { - visibility: visible; -} - -.CodeMirror-focused div.CodeMirror-cursors { - visibility: visible; -} - -.CodeMirror-selected { background: #d9d9d9; } -.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } -.CodeMirror-crosshair { cursor: crosshair; } -.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; } -.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; } - -.cm-searching { - background: #ffa; - background: rgba(255, 255, 0, .4); -} - -/* Used to force a border model for a node */ -.cm-force-border { padding-right: .1px; } - -@media print { - /* Hide the cursor when printing */ - .CodeMirror div.CodeMirror-cursors { - visibility: hidden; - } -} - -/* See issue #2901 */ -.cm-tab-wrap-hack:after { content: ''; } - -/* Help users use markselection to safely style text background */ -span.CodeMirror-selectedtext { background: none; } diff --git a/pig-register/src/main/resources/static/console-ui/public/css/console1412.css b/pig-register/src/main/resources/static/console-ui/public/css/console1412.css deleted file mode 100644 index 838132db..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/css/console1412.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.viewFramework-topbar{position:fixed;width:100%;height:50px;background:#09C;z-index:101}.viewFramework-body{position:absolute;width:100%;top:50px;bottom:0px;background-color:#000;z-index:100}.viewFramework-body .console-global-notice .console-global-notice-nav{top:14px}.viewFramework-body .console-global-notice .console-global-notice-list{margin:0;height:40px}.viewFramework-body .console-global-notice .console-global-notice-list .console-global-notice-item{padding:11px 12px;border:none}.viewFramework-body .console-global-notice .console-global-notice-list .console-global-notice-item .console-global-notice-nomore{top:10px}.viewFramework-body.viewFramework-topbar-hide{top:0px}.viewFramework-body.viewFramework-topbar-hide .viewFramework-sidebar{top:0px}.viewFramework-sidebar{width:0px;display:none;position:fixed;top:50px;bottom:0px;background-color:#293038;z-index:102;overflow-x:hidden}.viewFramework-sidebar .sidebar-content{width:200px;height:100%;overflow:auto;overflow-x:hidden}.viewFramework-sidebar .sidebar-trans{-o-transition:all 0.12s ease,0.12s ease;-ms-transition:all 0.12s ease,0.12s ease;-moz-transition:all 0.12s ease,0.12s ease;-webkit-transition:all 0.12s ease,0.12s ease}.viewFramework-sidebar .sidebar-fold{height:30px;width:180px;background:#394555;color:#aeb9c2;text-align:center;line-height:30px !important;font-size:12px;user-select:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none}.viewFramework-sidebar .sidebar-fold:hover{background:#37424f}.viewFramework-sidebar .sidebar-nav{width:180px}.viewFramework-sidebar .sidebar-nav ul{margin:0px;padding:0px;list-style:none;overflow:hidden}.viewFramework-sidebar .sidebar-nav li a{display:block;width:100%;height:40px;line-height:40px;overflow:hidden}.viewFramework-sidebar .sidebar-nav li a:hover{background:#37424f}.viewFramework-sidebar .sidebar-nav li a:hover .nav-icon,.viewFramework-sidebar .sidebar-nav li a:hover .nav-title{color:#fff}.viewFramework-sidebar .sidebar-nav .nav-item{position:relative}.viewFramework-sidebar .sidebar-nav .nav-comment{background:#2d3945;color:#cccccc;height:26px;margin-left:8px;line-height:26px;padding:0 7px;vertical-align:middle;position:relative;display:none}.viewFramework-sidebar .sidebar-nav .nav-comment .icon-arrow-left{position:absolute;left:-14px;line-height:26px;font-size:24px;color:#2d3945}.viewFramework-sidebar .sidebar-nav .nav-tooltip-comment{color:#ccc}.viewFramework-sidebar .sidebar-nav .sidebar-title{height:40px;background:#22282e;color:#fff;line-height:40px;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none}.viewFramework-sidebar .sidebar-nav .sidebar-title:hover{background:#414d5c}.viewFramework-sidebar .sidebar-nav .sidebar-title-icon{display:inline-block;margin:0 8px 0 20px;vertical-align:middle;transition:transform 0.12s;-o-transition:-o-transform 0.12s;-ms-transition:-ms-transform 0.12s;-moz-transition:-moz-transform 0.12s;-webkit-transition:-webkit-transform 0.12s}.viewFramework-sidebar .sidebar-manage{vertical-align:middle;position:absolute;height:40px;width:40px;right:0}.viewFramework-sidebar .sidebar-manage a{display:block;width:100%;height:100%;text-align:center;line-height:40px;font-size:14px;color:#a0abb3;text-decoration:none}.viewFramework-sidebar .sidebar-nav-fold ul{height:0 !important;overflow:hidden}.viewFramework-sidebar .sidebar-nav-fold .sidebar-title-icon{transform:rotate(-90deg);-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg)}.viewFramework-sidebar .sidebar-nav-fold .sidebar-title{background:#37424f;border-bottom:1px solid #414d5c}.viewFramework-sidebar .sidebar-nav .nav-item:hover .nav-comment{display:inline-block}.viewFramework-sidebar .entrance-nav .nav-comment{margin-left:10px}.viewFramework-sidebar .sidebar-nav .nav-icon{width:50px;text-align:center;font-size:16px;float:left;color:#aeb9c2}.viewFramework-sidebar .sidebar-nav .nav-title{float:left;overflow:hidden;color:#fff;white-space:nowrap;text-overflow:ellipsis;display:block;width:130px}.viewFramework-sidebar .entrance-nav .nav-title{width:auto}.viewFramework-sidebar .sidebar-nav li.consolehome .nav-tooltip{top:15px;line-height:40px}.viewFramework-sidebar .sidebar-nav li.consolehome a{height:70px;line-height:70px;background:#293038}.viewFramework-sidebar .sidebar-nav li.consolehome a .nav-icon{font-size:20px}.viewFramework-sidebar .sidebar-nav li.consolehome.active a{background:#293038}.viewFramework-sidebar .sidebar-nav li.active a{background:#0099cc}.viewFramework-sidebar .sidebar-nav li.active a .nav-title{color:#fff}.viewFramework-sidebar .sidebar-nav li.active a .nav-icon{color:#fff}.viewFramework-sidebar .sidebar-nav .manage-nav{height:30px;overflow:hidden}.viewFramework-sidebar .sidebar-nav .manage-nav:hover .nav-icon{color:#fff}.viewFramework-sidebar .sidebar-nav .manage-nav a{display:block;height:100%}.viewFramework-sidebar .sidebar-nav .manage-nav .nav-icon{height:100%;line-height:30px;font-size:16px}.viewFramework-sidebar .sidebar-nav .manage-nav .nav-title{margin-top:14px;background:#293038;height:1px;width:120px}.viewFramework-sidebar .sidebar-nav .more-nav{display:block;width:100%;height:40px;line-height:40px;position:relative}.viewFramework-sidebar .sidebar-nav .more-nav.open .more-nav-switch{background:#09c}.viewFramework-sidebar .sidebar-nav .more-nav.open .more-nav-switch .nav-icon,.viewFramework-sidebar .sidebar-nav .more-nav.open .more-nav-switch .nav-title{color:#fff}.viewFramework-sidebar .sidebar-nav .more-nav.open .more-nav-switch:hover{background:#09c}.viewFramework-sidebar .sidebar-nav .more-nav.open .icon-up{display:none}.viewFramework-sidebar .sidebar-nav .more-nav.open .icon-down{display:inline-block}.viewFramework-sidebar .sidebar-nav .more-nav .icon-up{display:inline-block}.viewFramework-sidebar .sidebar-nav .more-nav .icon-down{display:none}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-switch{display:block;width:100%;height:40px;line-height:40px}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-switch:hover{background:#425160}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-switch:hover .nav-icon,.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-switch:hover .nav-title{color:#fff}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-container{background:#425160;position:absolute;bottom:40px;top:auto;border:none;border-radius:0 0;box-shadow:none;margin:0;width:100%}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-container a{color:#fff;text-decoration:none}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-container .more-nav-item{display:block;height:40px;line-height:40px}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-container .more-nav-item:hover{background:#3a4856}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-container .more-nav-item:hover .more-nav-item-icon{color:#aeb9c2}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-container .more-nav-item-icon{width:50px;display:inline-block;vertical-align:text-top;text-align:center;color:#546478}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-container .more-nav-item.active{background:#2d3945}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-container .more-nav-item.active .more-nav-item-icon{color:#0099cc}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-close{height:20px;background:#09c;text-align:right;line-height:20px;cursor:pointer}.viewFramework-sidebar .sidebar-nav .more-nav .more-nav-close .icon-down{text-align:left;width:32px;display:inline-block;color:#80cce6;vertical-align:middle}.viewFramework-sidebar-mini .viewFramework-sidebar,.viewFramework-sidebar.sidebar-mini{width:50px;display:block}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-content,.viewFramework-sidebar.sidebar-mini .sidebar-content{width:70px}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-fold,.viewFramework-sidebar.sidebar-mini .sidebar-fold{width:50px}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-nav,.viewFramework-sidebar.sidebar-mini .sidebar-nav{width:50px}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-nav .nav-item a:hover+.nav-tooltip,.viewFramework-sidebar.sidebar-mini .sidebar-nav .nav-item a:hover+.nav-tooltip{display:block}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-nav .nav-title,.viewFramework-sidebar.sidebar-mini .sidebar-nav .nav-title{display:none}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-nav .more-nav .more-nav-switch:hover,.viewFramework-sidebar.sidebar-mini .sidebar-nav .more-nav .more-nav-switch:hover{background:#425160 !important}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-nav .more-nav.open .more-nav-switch,.viewFramework-sidebar.sidebar-mini .sidebar-nav .more-nav.open .more-nav-switch{background:#425160 !important}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-nav .more-nav .more-nav-container,.viewFramework-sidebar.sidebar-mini .sidebar-nav .more-nav .more-nav-container{bottom:0px;left:50px;width:180px}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-nav .more-nav .more-nav-container .more-nav-item,.viewFramework-sidebar.sidebar-mini .sidebar-nav .more-nav .more-nav-container .more-nav-item{display:block;height:40px;line-height:40px}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-nav .more-nav .more-nav-container .more-nav-item-icon,.viewFramework-sidebar.sidebar-mini .sidebar-nav .more-nav .more-nav-container .more-nav-item-icon{width:50px;padding-left:0}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-nav .more-nav .more-nav-close,.viewFramework-sidebar.sidebar-mini .sidebar-nav .more-nav .more-nav-close{display:none}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-nav li.consolehome a :hover,.viewFramework-sidebar.sidebar-mini .sidebar-nav li.consolehome a :hover{background:#425160}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-title .sidebar-title-text,.viewFramework-sidebar.sidebar-mini .sidebar-title .sidebar-title-text{display:none}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-title-inner:hover+.nav-tooltip,.viewFramework-sidebar.sidebar-mini .sidebar-title-inner:hover+.nav-tooltip{display:block}.viewFramework-sidebar-mini .viewFramework-sidebar .sidebar-manage,.viewFramework-sidebar.sidebar-mini .sidebar-manage{display:none}.viewFramework-sidebar-mini .viewFramework-sidebar .entrance-nav .nav-item:hover .nav-comment,.viewFramework-sidebar.sidebar-mini .entrance-nav .nav-item:hover .nav-comment{display:none}.viewFramework-sidebar-full .viewFramework-sidebar,.viewFramework-sidebar.sidebar-full{width:180px;display:block}.viewFramework-sidebar-full .viewFramework-sidebar .sidebar-nav .nav-icon,.viewFramework-sidebar.sidebar-full .sidebar-nav .nav-icon{width:50px}.viewFramework-sidebar-mini .viewFramework-product{left:50px}.viewFramework-sidebar-full .viewFramework-product{left:180px}.viewFramework-sidebar-dialog .modal-dialog{width:730px}.viewFramework-sidebar-dialog .modal-dialog .modal-title{user-select:none;-webkit-user-select:none}.viewFramework-sidebar-manage .sidebar-item-list{padding:4px 0 0 0;height:auto}.viewFramework-sidebar-manage .sidebar-item-list-picked .sidebar-item{border:1px solid #37a9d5}.viewFramework-sidebar-manage .sidebar-item-list-picked .sidebar-item .sidebar-item-opt-icon{display:block}.viewFramework-sidebar-manage .sidebar-item-list-picked .sidebar-item .sidebar-item-icon{color:#516176}.viewFramework-sidebar-manage .sidebar-config-title{padding-left:6px;user-select:none;-webkit-user-select:none}.viewFramework-sidebar-manage .sidebar-item-wrap{padding:6px;width:33.3%;float:left;user-select:none;-webkit-user-select:none}.viewFramework-sidebar-manage .sidebar-item-wrap.on-drag-hover .sidebar-item{border:1px dashed #ddd}.viewFramework-sidebar-manage .sidebar-item{height:32px;padding:4px;line-height:24px;background:#fff;border:1px solid #d3dce3;position:relative;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-transition:all 0.1s, 0.1s;-ms-transition:all 0.1s, 0.1s;-moz-transition:all 0.1s, 0.1s;-webkit-transition:all 0.1s, 0.1s}.viewFramework-sidebar-manage .sidebar-item:hover{border:1px solid #37a9d5}.viewFramework-sidebar-manage .sidebar-item:hover .sidebar-item-opt-icon{display:block}.viewFramework-sidebar-manage .sidebar-item .sidebar-item-icon{color:#aeb9c2;font-size:14px;margin:0 2px;position:relative;top:1px}.viewFramework-sidebar-manage .sidebar-item .sidebar-item-opt-icon{display:none;position:absolute;height:30px;width:30px;right:0;top:0;line-height:30px;text-align:center;border-left:1px solid #37a9d5;color:#37a9d5;font-size:14px}.viewFramework-sidebar-manage .sidebar-config-gap{border:1px dashed #e8ecf0;margin:16px 5px;user-select:none;-webkit-user-select:none}.aliyun-console-sidebar-tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.aliyun-console-sidebar-tooltip .tooltip-inner{max-width:200px;padding:12px 8px;color:#ffffff;text-align:center;text-decoration:none;border-radius:0 0;background-color:#425160}.aliyun-console-sidebar-tooltip .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.aliyun-console-sidebar-tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.aliyun-console-sidebar-tooltip.right{padding:0 5px;margin-left:3px}.aliyun-console-sidebar-tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#425160;border-width:5px 5px 5px 0}.viewFramework-product{width:auto;position:absolute;top:0px;left:0px;bottom:0px;right:0px;overflow:hidden;background:#FFF}.viewFramework-product-navbar{width:0px;float:left;background-color:#EAEDF1;position:absolute;top:0px;bottom:0px;z-index:2;overflow:hidden;-o-transition:all 0.2s ease;-ms-transition:all 0.2s ease;-moz-transition:all 0.2s ease;-webkit-transition:all 0.2s ease}.viewFramework-product-navbar .product-nav-stage{width:180px;overflow:hidden;position:absolute;top:0px;bottom:0px;right:0px}.viewFramework-product-navbar .product-nav-stage .product-nav-scene{width:180px;position:absolute;top:0px;bottom:0px;-webkit-transition:position,.2s,linear;-moz-transition:position,.2s,linear}.viewFramework-product-navbar .product-nav-stage .product-nav-main-scene{left:0px}.viewFramework-product-navbar .product-nav-stage .product-nav-sub-scene{left:180px}.viewFramework-product-navbar .product-nav-stage-main .product-nav-main-scene{left:0px}.viewFramework-product-navbar .product-nav-stage-main .product-nav-sub-scene{left:180px}.viewFramework-product-navbar .product-nav-stage-sub .product-nav-main-scene{left:-180px}.viewFramework-product-navbar .product-nav-stage-sub .product-nav-sub-scene{left:0px}.viewFramework-product-navbar .product-nav-scene .product-nav-title{width:180px;height:70px;line-height:70px;background:#D9DEE4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewFramework-product-navbar .product-nav-main-scene .product-nav-title{font-weight:bold;text-indent:20px}.viewFramework-product-navbar .product-nav-sub-scene .product-nav-title{text-align:center}.viewFramework-product-navbar .product-nav-sub-scene .product-nav-title a{font-size:20px;color:#546478;text-decoration:none}.viewFramework-product-navbar .product-nav-sub-scene .product-nav-title a:hover{color:#09C}.viewFramework-product-navbar .product-nav-list{position:absolute;top:70px;left:0px;right:0px;bottom:0px;overflow-y:auto;overflow-x:hidden}.viewFramework-product-navbar .product-nav-list .nav-icon{width:30px;height:40px;float:left;text-align:center;font-size:16px;color:#333}.viewFramework-product-navbar .product-nav-list .nav-title{width:138px;float:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewFramework-product-navbar .product-nav-list .nav-extend{height:40px;line-height:40px;float:right;margin-top:-40px}.viewFramework-product-navbar .product-nav-list ul{list-style:none;padding:0px;margin:0px}.viewFramework-product-navbar .product-nav-list li a{width:180px;height:40px;line-height:40px;display:block;color:#333}.viewFramework-product-navbar .product-nav-list ul ul li a{color:#666}.viewFramework-product-navbar .product-nav-list ul ul li a .nav-title{text-indent:8px}.viewFramework-product-navbar .product-nav-list li a:hover{background-color:#F4F6F8}.viewFramework-product-navbar .product-nav-list li.active a{background-color:#FFF}.viewFramework-product-navbar-collapse{position:absolute;left:0;top:50%;width:20px;height:50px;z-index:3;-o-transition:all 0.2s ease;-ms-transition:all 0.2s ease;-moz-transition:all 0.2s ease;-webkit-transition:all 0.2s ease}.viewFramework-product-navbar-collapse:hover .product-navbar-collapse{left:0}.viewFramework-product-navbar-collapse:hover .product-navbar-collapse-bg{border-bottom:8px solid transparent;border-left:20px solid #D9DEE4;border-top:8px solid transparent}.viewFramework-product-navbar-collapse .product-navbar-collapse-inner{top:-50%;position:relative;overflow:hidden}.viewFramework-product-navbar-collapse .product-navbar-collapse{height:50px;position:relative;left:-7px;text-align:center;cursor:pointer;-o-transition:all 0.1s ease,0.1s ease;-ms-transition:all 0.1s ease,0.1s ease;-moz-transition:all 0.1s ease,0.1s ease;-webkit-transition:all 0.1s ease,0.1s ease}.viewFramework-product-navbar-collapse .product-navbar-collapse>span{font-size:15px;line-height:50px;vertical-align:text-top}.viewFramework-product-navbar-collapse .product-navbar-collapse-bg{width:0;height:50px;position:absolute;top:0;left:0;border-bottom:9px solid transparent;border-left:13px solid #D9DEE4;border-top:9px solid transparent;-o-transition:all 0.1s ease,0.1s ease;-ms-transition:all 0.1s ease,0.1s ease;-moz-transition:all 0.1s ease,0.1s ease;-webkit-transition:all 0.1s ease,0.1s ease}.viewFramework-product-navbar-collapse .icon-collapse-left{display:none}.viewFramework-product-navbar-collapse .icon-collapse-right{display:inline}.viewFramework-product-body{position:absolute;width:auto;top:0px;bottom:0px;left:0px;right:0px;overflow:hidden;overflow-y:auto;-o-transition:all 0.2s ease;-ms-transition:all 0.2s ease;-moz-transition:all 0.2s ease;-webkit-transition:all 0.2s ease}.viewFramework-product-col-1 .viewFramework-product-navbar-bg,.viewFramework-product-col-1 .viewFramework-product-navbar{width:180px}.viewFramework-product-col-1 .viewFramework-product-body{left:180px}.viewFramework-product-col-1 .viewFramework-product-navbar-collapse{left:160px}.viewFramework-product-col-1 .viewFramework-product-navbar-collapse .product-navbar-collapse{right:-7px;left:auto}.viewFramework-product-col-1 .viewFramework-product-navbar-collapse .product-navbar-collapse>span{color:#546478}.viewFramework-product-col-1 .viewFramework-product-navbar-collapse .product-navbar-collapse-bg{right:0;left:auto;border-bottom:9px solid transparent;border-left:none;border-right:13px solid #f7f7f7;border-top:9px solid transparent}.viewFramework-product-col-1 .viewFramework-product-navbar-collapse .icon-collapse-left{display:inline}.viewFramework-product-col-1 .viewFramework-product-navbar-collapse .icon-collapse-right{display:none}.viewFramework-product-col-1 .viewFramework-product-navbar-collapse:hover .product-navbar-collapse{right:0;left:auto}.viewFramework-product-col-1 .viewFramework-product-navbar-collapse:hover .product-navbar-collapse-bg{border-bottom:8px solid transparent;border-left:none;border-right:20px solid #f7f7f7;border-top:8px solid transparent}.viewFramework-product-col-2 .viewFramework-product-navbar-bg,.viewFramework-product-col-2 .viewFramework-product-navbar{width:360px}.viewFramework-product-col-2 .viewFramework-product-body{left:360px}.viewFramework-animate{-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.viewFramework-fadeIn{-webkit-animation-name:viewFrameworkFadeIn;animation-name:viewFrameworkFadeIn}@-webkit-keyframes viewFrameworkFadeIn{0%{opacity:0}100%{opacity:1}}@keyframes viewFrameworkFadeIn{0%{opacity:0}100%{opacity:1}}.text-muted{color:#999 !important}.text-muted:hover{color:#999 !important}.text-info{color:#69C !important}.text-info:hover{color:#69C !important}.text-primary{color:#09C !important}.text-primary:hover{color:#09C !important}.text-success{color:#090 !important}.text-success:hover{color:#090 !important}.text-warning{color:#F90 !important}.text-warning:hover{color:#F90 !important}.text-danger{color:#F00 !important}.text-danger:hover{color:#F00 !important}.text-explode{color:#CCC !important;font-weight:normal !important;margin:0px 4px !important}span.label{font-weight:normal}.text-size-14{font-size:14px !important}.text-size-16{font-size:16px !important}.text-size-24{font-size:24px !important}.text-size-32{font-size:32px !important}.text-size-48{font-size:48px !important}.text-size-64{font-size:64px !important}.btn{font-size:12px;border-radius:0px;padding:8px 16px;height:32px;line-height:14px}.btn-default{color:#333;border:1px solid #ddd;background-color:#f7f7f7}.btn-default:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.125);box-shadow:inset 0 1px 2px rgba(0,0,0,0.125)}.btn-default:focus{color:#333;border:1px solid #ddd;background-color:#f7f7f7;outline:none}.btn-default:hover{color:#333;border:1px solid #ddd;background-color:#fff}.btn-primary{color:#fff;border:1px solid #09c;background-color:#09c}.btn-primary:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.125);box-shadow:inset 0 1px 2px rgba(0,0,0,0.125)}.btn-primary:focus{color:#fff;border:1px solid #09c;background-color:#09c;outline:none}.btn-primary:hover{color:#fff;border:1px solid #28b5d6;background-color:#28b5d6}.btn-success{color:#fff;border:1px solid #57a235;background-color:#4db118}.btn-success:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.125);box-shadow:inset 0 1px 2px rgba(0,0,0,0.125)}.btn-success:focus{color:#fff;border:1px solid #57a235;background-color:#4db118;outline:none}.btn-success:hover{color:#fff;border:1px solid #57bc20;background-color:#57bc20}.btn-warning{color:#333;border:1px solid #ddd;background-color:#f7f7f7}.btn-warning:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.125);box-shadow:inset 0 1px 2px rgba(0,0,0,0.125)}.btn-warning:focus{color:#333;border:1px solid #ddd;background-color:#f7f7f7;outline:none}.btn-warning:hover{color:#fff;border:1px solid #ffa200;background-color:#ffa200}.btn-danger{color:#333;color:#333;border:1px solid #ddd;background-color:#f7f7f7}.btn-danger:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.125);box-shadow:inset 0 1px 2px rgba(0,0,0,0.125)}.btn-danger:focus{color:#333;border:1px solid #ddd;background-color:#f7f7f7;outline:none}.btn-danger:hover{color:#fff;border:1px solid #f25721;background-color:#f25721}.btn-link{color:#06C;text-shadow:none;border:none}.btn-link:hover{color:#039}.btn-lg{font-size:14px;padding:12px 20px;height:40px;line-height:16px}.btn-sm{font-size:12px;padding:4px 12px;height:24px;line-height:14px}.btn-xs{font-size:12px;padding:2px 8px;height:20px;line-height:14px}.btn.disabled,.btn[disabled]{text-shadow:none;filter:none;opacity:1;color:#bbb;border:1px solid #ddd;background-color:#f7f7f7}.btn.disabled:active,.btn[disabled]:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.125);box-shadow:inset 0 1px 2px rgba(0,0,0,0.125)}.btn.disabled:focus,.btn[disabled]:focus{color:#bbb;border:1px solid #ddd;background-color:#f7f7f7;outline:none}.btn.disabled:hover,.btn[disabled]:hover{color:#bbb;border:1px solid #ddd;background-color:#f7f7f7}.btn.btn-link.disabled,.btn.btn-link[disabled]{border:none;background:transparent none}.btn.btn-primary.disabled,.btn.btn-primary[disabled]{color:#EEE;text-shadow:none;filter:none;opacity:1;color:#fff;border:1px solid #ccc;background-color:#ccc}.btn.btn-primary.disabled:active,.btn.btn-primary[disabled]:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.125);box-shadow:inset 0 1px 2px rgba(0,0,0,0.125)}.btn.btn-primary.disabled:focus,.btn.btn-primary[disabled]:focus{color:#fff;border:1px solid #ccc;background-color:#ccc;outline:none}.btn.btn-primary.disabled:hover,.btn.btn-primary[disabled]:hover{color:#fff;border:1px solid #ccc;background-color:#ccc}.btn-default-active,.btn-default-active:hover,.btn-default-active:focus{border:1px solid #485260;background-color:#525d6d;background:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #525d6d), color-stop(100%, #525d6d));background:-webkit-linear-gradient(top, #525d6d,#525d6d);background:-moz-linear-gradient(top, #525d6d,#525d6d);background:-o-linear-gradient(top, #525d6d,#525d6d);background:linear-gradient(top, #525d6d,#525d6d);color:#FFFFFF;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3)}.btn-toinstlist{border:1px solid #BBB;color:#666;text-shadow:none;vertical-align:middle;margin-top:7px}.btn-toinstlist .icon-toinstlist{width:12px;height:12px;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;background:url(images/toinstlist.png) center 1px no-repeat}.console-sub-title+.table{margin-top:0px}.table-header{border:1px solid #e1e6eb;width:100%;z-index:1;margin-bottom:-1px;padding:8px;line-height:32px;display:table}.table-header+.table{margin-top:0px}.table{background:#FFF;font-size:12px;border-top:1px solid #e1e6eb;margin-top:8px;border:1px solid #e1e6eb}.table thead tr th{padding:8px 8px;font-weight:normal;color:#999;border-bottom:1px solid #e1e6eb;background-color:#F5F6FA}.table thead tr th a.dropdown-toggle{color:#999}.table thead tr th .dropdown.open a{color:#333}.table tbody tr td{padding:12px 8px;border-top:0px;border-bottom:1px solid #e1e6eb;vertical-align:middle}.table tbody tr td p{margin-bottom:0px}.table tfoot tr td{padding:12px 8px;border-bottom:1px solid #e1e6eb;vertical-align:middle}.table .text-right .dropdown-menu{text-align:left;left:auto;right:0px}.table-hover tbody tr:hover td{background-color:#F9F9FA}.pagination{margin:0px;vertical-align:middle;border-radius:0px}.pagination li a,.pagination li span{height:32px;line-height:20px;color:#333;cursor:pointer;border-color:#CCC}.pagination li a:hover{color:#FFF;background-color:#28B5D6;border-color:#28B5D6}.pagination li span{color:#999}.pagination li span:hover{background:none}.pagination li:first-child>a,.pagination li:first-child>span{border-radius:0px}.pagination li:last-child>a,.pagination li:last-child>span{border-radius:0px}.pagination li.active a,.pagination li.active span{background-color:#09C;border:1px solid #09C}.pagination li.active a:hover,.pagination li.active span:hover{background-color:#09C;border:1px solid #09C}.pagination-info{display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;padding:0px 16px;color:#888}.form-group{margin-top:8px;margin-bottom:16px}.help-block{margin:4px 0px}.form-control{height:32px;border-radius:0px;padding:6px;-webkit-transition:none;transition:none;font-size:12px}.form-control:focus{-webkit-box-shadow:none;box-shadow:none}.form-control[size],.form-control[cols],.form-control.autosize{width:auto}.form-control.inline{display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline}select{color:#555555;vertical-align:middle;background-color:#ffffff;background-image:none;border:1px solid #cccccc}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#090}.has-success .form-control,input.ng-valid.ng-dirty,textarea.ng-valid.ng-dirty{border-color:#090}.has-success .form-control:focus,input.ng-valid.ng-dirty:focus,textarea.ng-valid.ng-dirty:focus{border-color:#2A0;-webkit-box-shadow:none;box-shadow:none}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#F90}.has-warning .form-control{border-color:#F90}.has-warning .form-control:focus{border-color:#FA0;-webkit-box-shadow:none;box-shadow:none}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#E40}.has-error .form-control,input.ng-invalid.ng-dirty,textarea.ng-invalid.ng-dirty{border-color:#E40}.has-error .form-control:focus,input.ng-invalid.ng-dirty:focus,textarea.ng-invalid.ng-dirty:focus{border-color:#F30;-webkit-box-shadow:none;box-shadow:none}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{color:#999}label.control-label{font-weight:normal;font-size:12px;color:#666}.form-inline .form-group{margin:4px 8px 4px 0px}.form-inline .form-control{width:auto}.form-inline .input-group-btn{width:auto}select.input-lg,.input-lg{height:40px}select.input-sm,.input-sm{height:24px}.console-onoff{vertical-align:middle;width:50px;height:20px;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;background-image:url("images/on-off.png");background-image:-webkit-image-set(url("images/on-off.png") 1x, url("images/on-off@2x.png") 2x);background-image:-moz-image-set(url("images/onoff.png") 1x, url("images/onoff@2x.png") 2x);background-image:-o-image-set(url("images/onoff.png") 1x, url("images/onoff@2x.png") 2x);background-image:-ms-image-set(url("images/onoff.png") 1x, url("images/onoff@2x.png") 2x);background-repeat:no-repeat;background-position:0px 0px;cursor:pointer}.console-onoff .onoff-handle{display:block;width:50px;height:20px;-webkit-transition:background-position 0.2s ease;-moz-transition:background-position 0.2s ease;-o-transition:background-position 0.2s ease;transition:background-position 0.2s ease;background-image:url("images/on-off.png");background-image:-webkit-image-set(url("images/on-off.png") 1x, url("images/on-off@2x.png") 2x);background-image:-moz-image-set(url("images/onoff.png") 1x, url("images/onoff@2x.png") 2x);background-image:-o-image-set(url("images/onoff.png") 1x, url("images/onoff@2x.png") 2x);background-image:-ms-image-set(url("images/onoff.png") 1x, url("images/onoff@2x.png") 2x);background-repeat:no-repeat;background-position:0px 0px}.console-onoff .onoff-loading{display:block;width:50px;height:20px;-webkit-transition:background-position 0.2s ease;-moz-transition:background-position 0.2s ease;-o-transition:background-position 0.2s ease;transition:background-position 0.2s ease;background-image:url("images/on-off-loading.gif");background-image:-webkit-image-set(url("images/on-off-loading.gif") 1x, url("images/on-off-loading@2x.gif") 2x);background-image:-moz-image-set(url("images/on-off-loading.gif") 1x, url("images/on-off-loading@2x.gif") 2x);background-image:-o-image-set(url("images/on-off-loading.gif") 1x, url("images/on-off-loading@2x.gif") 2x);background-image:-ms-image-set(url("images/on-off-loading.gif") 1x, url("images/on-off-loading@2x.gif") 2x);background-repeat:no-repeat;background-position:0px 0px}.console-onoff-on{background-position:0px -40px}.console-onoff-on .onoff-handle{background-position:0px 0px}.console-onoff-on .onoff-loading{background-position:32px 4px}.console-onoff-off{background-position:0px -60px}.console-onoff-off .onoff-handle{background-position:-28px 0px}.console-onoff-off .onoff-loading{background-position:4px 4px}.console-onoff[disabled="disabled"]{cursor:not-allowed;background-position:0px -80px}.console-onoff[disabled="disabled"] .onoff-loading{display:none}.console-onoff-on[disabled="disabled"] .onoff-handle{background-position:0px -20px}.console-onoff-off[disabled="disabled"] .onoff-handle{background-position:-28px -20px}.console-number-spinner{display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;vertical-align:middle}.console-number-spinner .form-control{width:auto;float:left;text-indent:-16px}.console-number-spinner .console-number-spinner-action{width:14px;height:30px;float:left;margin-left:-16px;border-left:1px solid #E3E3E3;margin-top:1px}.console-number-spinner .console-number-spinner-action button{width:14px;height:15px;overflow:hidden;line-height:16px;font-size:12px;border:0px;background-color:transparent;padding:0px;margin:0px;display:block;color:#999;text-align:center;outline:0px}.console-number-spinner .console-number-spinner-action button:hover{color:#06C}.console-number-spinner .console-number-spinner-action button[disabled]{color:#999}.console-number-spinner .console-number-spinner-action .console-number-spinner-down{border-top:1px solid #E3E3E3}.console-timepicker{display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;vertical-align:middle}.console-datepicker{padding:8px}.console-datepicker thead .h6 th{padding-top:8px}.console-datepicker tbody tr:first-child td{padding-top:8px}.console-datepicker tbody .btn{border:0px !important}.console-datepicker tbody .btn:hover{background:#F3F3F3}.console-datepicker tbody .btn-default{background:transparent}.console-datepicker tbody .active,.console-datepicker tbody .active:hover,.console-datepicker tbody .active span{background:#3C0;color:#FFF}.console-datepicker tbody .btn[disabled="disabled"] .btn[disabled="disabled"] span{color:#CCC}.console-datepicker em{font-size:12px;color:#ACD}.aliyun-console-topbar{position:relative;z-index:100;clear:both;height:50px;background:#09C;font-size:12px;min-width:990px}.aliyun-console-topbar a{text-decoration:none}.aliyun-console-topbar a:focus{outline:none}.aliyun-console-topbar .accessibility-ast{position:absolute;top:-10000px;left:-10000px;width:100px}.aliyun-console-topbar .accessibility-ast:focus{position:absolute;top:0;left:310px}.aliyun-console-topbar .icon-arrow-down{display:inline-block;width:18px;text-align:center;vertical-align:middle;transition:transform 0.2s, vertical-align 0.2s;-o-transition:transform 0.2s, vertical-align 0.2s;-ms-transition:transform 0.2s, vertical-align 0.2s;-moz-transition:transform 0.2s, vertical-align 0.2s;-webkit-transition:transform 0.2s, vertical-align 0.2s}.aliyun-console-topbar .dropdown .dropdown-menu{z-index:1;font-size:12px;border-radius:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.aliyun-console-topbar .dropdown .dropdown-menu a{padding:0}.aliyun-console-topbar .dropdown.open .icon-arrow-down{vertical-align:text-top;transform:rotate(180deg);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg)}.aliyun-console-topbar .topbar-wrap,.aliyun-console-topbar .topbar-logo,.aliyun-console-topbar .topbar-home,.aliyun-console-topbar .topbar-home-link,.aliyun-console-topbar .topbar-nav,.aliyun-console-topbar .topbar-info{height:100%}.aliyun-console-topbar .topbar-left{float:left}.aliyun-console-topbar .topbar-right{float:right}.aliyun-console-topbar .topbar-clearfix:before,.aliyun-console-topbar .topbar-clearfix:after{display:table;content:" "}.aliyun-console-topbar .topbar-clearfix:after{clear:both}.aliyun-console-topbar .topbar-head{background:#008fbf;height:50px;position:relative;z-index:3}.aliyun-console-topbar .topbar-nav{position:relative;z-index:2;background:#09C}.aliyun-console-topbar .topbar-logo,.aliyun-console-topbar .topbar-home{display:block;width:50px;background:#0099cc;font-size:28px;color:#FFF;text-align:center;line-height:50px}.aliyun-console-topbar .topbar-logo span,.aliyun-console-topbar .topbar-home span{line-height:50px}.aliyun-console-topbar .topbar-logo{background:#0087b4}.aliyun-console-topbar .topbar-home{margin-right:1px;font-size:20px}.aliyun-console-topbar .topbar-home:hover{background:#008fbf}.aliyun-console-topbar .topbar-home-link{padding:0 20px;margin-right:1px;background:#09c}.aliyun-console-topbar .topbar-home{-o-transition:all 0.15s, 0.15s;-ms-transition:all 0.15s, 0.15s;-moz-transition:all 0.15s, 0.15s;-webkit-transition:all 0.15s, 0.15s}.aliyun-console-topbar .topbar-btn{color:#fff;font-size:14px;line-height:50px}.aliyun-console-topbar .topbar-btn:hover,.aliyun-console-topbar .topbar-btn.topbar-btn-dark{background:#008fbf}.aliyun-console-topbar .topbar-nav.open .topbar-nav-btn{background:#fff;color:#333}.aliyun-console-topbar .topbar-nav-btn{padding:0 20px;display:inline-block;height:50px}.aliyun-console-topbar .topbar-nav-list{border:none;padding:10px;margin-top:0;white-space:nowrap}.aliyun-console-topbar .topbar-nav-list .topbar-nav-col{display:inline-block;vertical-align:top;padding:0 10px}.aliyun-console-topbar .topbar-nav-list .topbar-nav-item .topbar-nav-item-title{margin:3px 0px;color:#999;font-weight:600}.aliyun-console-topbar .topbar-nav-list .topbar-nav-item .topbar-nav-gap{border-top:1px solid #f2f2f2;width:100%;margin:6px 0 10px}.aliyun-console-topbar .topbar-nav-list .topbar-nav-item ul{padding:0;margin:8px 0 0 0;list-style:none}.aliyun-console-topbar .topbar-nav-list .topbar-nav-item ul li{min-width:160px;height:28px;line-height:28px;margin-bottom:2px}.aliyun-console-topbar .topbar-nav-list .topbar-nav-item ul li a{display:block;height:100%;padding:0 10px;text-decoration:none;color:#333}.aliyun-console-topbar .topbar-nav-list .topbar-nav-item ul li a:hover{background-color:#f2f2f2}.aliyun-console-topbar .topbar-nav-list .topbar-nav-item ul li a .topbar-nav-item-icon{padding-right:2px;font-size:16px;vertical-align:text-bottom;display:inline-block}.aliyun-console-topbar .topbar-nav-list .topbar-nav-item ul li.topbar-unservice a{color:#999}.aliyun-console-topbar .topbar-nav-list .topbar-nav-item ul li.topbar-unservice a .topbar-nav-item-icon{color:#999}.aliyun-console-topbar .topbar-info{background:#008fbf;position:absolute;z-index:1;top:0;right:0}.aliyun-console-topbar .topbar-info .topbar-btn{padding:0 10px;height:50px;display:block;z-index:2;background:#09c}.aliyun-console-topbar .topbar-info .topbar-btn:hover,.aliyun-console-topbar .topbar-info .topbar-btn.topbar-btn-dark{background:#008fbf}.aliyun-console-topbar .topbar-info .topbar-btn.open{position:relative}.aliyun-console-topbar .topbar-info .topbar-btn-search{padding:0;margin-left:1px}.aliyun-console-topbar .topbar-info .topbar-info-gap{color:#fff}.aliyun-console-topbar .topbar-info .dropdown .dropdown-menu{width:100%;min-width:0;margin:0;border:none}.aliyun-console-topbar .topbar-info .dropdown.open .topbar-btn{color:#333;background:#fff;border-bottom:1px solid #eaedf1;position:relative}.aliyun-console-topbar .topbar-info .topbar-info-btn{height:40px;border-bottom:1px solid #eaedf1}.aliyun-console-topbar .topbar-info .topbar-info-btn a{line-height:39px;padding-left:10px}.aliyun-console-topbar .topbar-info .topbar-user-large .dropdown-menu{width:310px;left:auto;right:0}.aliyun-console-topbar .topbar-info .topbar-user-large .dropdown-menu .user-identity{height:80px;padding:8px 16px;position:relative}.aliyun-console-topbar .topbar-info .topbar-user-large .dropdown-menu .user-identity .user-identity-item{height:32px;line-height:32px;display:block}.aliyun-console-topbar .topbar-info .topbar-user-large .dropdown-menu .user-identity .user-identity-colon{padding:0 5px}.aliyun-console-topbar .topbar-info .topbar-user-large .dropdown-menu .user-identity-sign{padding:2px 6px;background:#7ecef4;color:#fff;border-radius:1px}.aliyun-console-topbar .topbar-info .topbar-user-large .dropdown-menu .user-identity-sign-wrap{position:absolute;top:14px;right:30px}.aliyun-console-topbar .topbar-info .topbar-user-large .dropdown-menu .user-btn-link{display:inline-block;color:#06C}.aliyun-console-topbar .topbar-info .topbar-user-large .dropdown-menu .user-btn-link:hover{background:none;text-decoration:underline}.aliyun-console-topbar .topbar-info .topbar-user-large .dropdown-menu .user-btn-link.user-btn-link-signout{float:right;padding:0 16px}.aliyun-console-topbar .topbar-info-item{display:inline-block;margin-left:1px}.aliyun-console-topbar .topbar-notice{position:relative;font-size:12px;margin-left:1px;padding:0 12px 0 8px !important}.aliyun-console-topbar .topbar-notice .topbar-notice-panel{display:none}.aliyun-console-topbar .topbar-notice.open .topbar-notice-panel{display:block}.aliyun-console-topbar .topbar-notice .topbar-notice-panel{position:absolute;top:48px;left:-185px;width:440px;border-radius:2px;z-index:15;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.175);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.175);box-shadow:0 1px 2px rgba(0,0,0,0.175)}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-arrow{background:url(images/notice-arrow.png) 0 0 no-repeat;width:11px;height:6px;position:absolute;top:-6px;left:220px}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-head{height:50px;background-color:#eaedf1;padding:0 15px;line-height:50px;color:#333;font-size:14px}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-body{height:300px;overflow-y:auto;background:#fff;font-size:12px}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-body ul{list-style:none;margin:0;padding:0}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-body ul li{height:60px;line-height:20px;border-bottom:1px solid #eaedf1}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-body ul li a{display:block;height:100%;padding:10px 10px;background:#fff;color:#333}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-body ul li a .topbar-notice-link{display:block;max-width:300px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#06c}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-body ul li a:hover{background:#f9f9f9}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-body ul li.topbar-notice-readed a{color:#666}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-body ul li.topbar-notice-readed a .topbar-notice-time{color:#999}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-body .topbar-notice-empty{text-align:center;color:#666;margin-top:80px}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-foot{height:50px;line-height:50px;background:#fff;text-align:center}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-class{padding:8px 0;float:right}.aliyun-console-topbar .topbar-notice .topbar-notice-panel .topbar-notice-class .topbar-notice-class-name{display:block;height:24px;line-height:24px;width:66px;background:#eaedf1;text-align:center;border-radius:3px}.aliyun-console-topbar .topbar-btn-notice{width:auto;display:block;height:50px}.aliyun-console-topbar .topbar-btn-notice .topbar-btn-notice-icon{font-size:24px;line-height:50px;vertical-align:text-bottom;color:#fff}.aliyun-console-topbar .topbar-btn-notice .topbar-btn-notice-num{font-size:12px;color:#fff;background:#ff9900;border-radius:5px;padding:2px 5px;display:inline-block;margin-top:15px;line-height:16px;vertical-align:top;text-align:center}.aliyun-console-topbar .topbar-btn-notice .topbar-btn-notice-num.topbar-btn-notice-num-zero{color:#00ace9;background-color:#0087b4}.aliyun-console-topbar .topbar-btn-notice .topbar-nav-item-short{padding-left:2px}.aliyun-console-topbar .topbar-qrcode{position:relative;margin-left:1px}.aliyun-console-topbar .topbar-qrcode:hover .topbar-qrcode-panel{display:block}.aliyun-console-topbar .topbar-qrcode .topbar-qrcode-panel{top:50px;left:0;position:absolute;width:130px;padding:12px 8px;background:#fff;border:1px solid #eaedf1;box-shadow:0 1px 3px rgba(0,0,0,0.1);display:none}.aliyun-console-topbar .topbar-qrcode .topbar-qrcode-image{width:100px;margin:0 auto}.aliyun-console-topbar .topbar-qrcode .topbar-qrcode-title{text-align:center;padding-top:10px}.aliyun-console-topbar .topbar-new-icon{position:relative;top:-4px;padding-left:2px}.aliyun-console-topbar-search{position:relative;z-index:1}.aliyun-console-topbar-search:hover{background:#008fbf}.aliyun-console-topbar-search:hover .topbar-search-ask{background:#008fbf}.aliyun-console-topbar-search .topbar-search-ask{width:200px;height:50px;border:0;background:#09c;line-height:26px;padding:12px 30px 12px 10px;display:block;color:#fff;-webkit-border-radius:1px 1px;-moz-border-radius:1px / 1px;border-radius:1px / 1px;-o-transition:all 0.15s, 0.15s;-ms-transition:all 0.15s, 0.15s;-moz-transition:all 0.15s, 0.15s;-webkit-transition:all 0.15s, 0.15s}.aliyun-console-topbar-search .topbar-search-ask:focus{outline:none}.aliyun-console-topbar-search .topbar-search-ask-shade{color:#00ace9}.aliyun-console-topbar-search .topbar-search-mark{font-size:16px;line-height:50px;position:absolute;height:50px;width:40px;color:#fff;text-decoration:none;display:block;text-align:center;top:0;right:0}.aliyun-console-topbar-search .topbar-search-mark .icon-search,.aliyun-console-topbar-search .topbar-search-mark .icon-enter{line-height:50px}.aliyun-console-topbar-search.topbar-search-active{background:#008fbf}.aliyun-console-topbar-search.topbar-search-active .topbar-search-ask{background:#008fbf}.aliyun-console-topbar-search.topbar-search-active .topbar-search-ask-shade{color:#fff}.aliyun-console-topbar-search-v1_3_21{position:relative}.aliyun-console-topbar-search-v1_3_21.topbar-search-dropdown-open .topbar-btn{background:#008fbf}.aliyun-console-topbar-search-v1_3_21 .icon-search{font-size:16px;padding-right:4px;position:relative;top:2px}.aliyun-console-topbar-search-v1_3_21 .topbar-search-dropdown{height:38px;position:absolute;bottom:-38px;right:-1px;border:2px solid #008fbf;background:#fff}.aliyun-console-topbar-search-v1_3_21 .topbar-search-dropdown input{display:block;height:34px;padding:4px 6px;margin-right:30px;width:250px;border-width:0;outline:0;line-height:34px;color:#546478;font-size:12px}.aliyun-console-topbar-search-v1_3_21 .topbar-search-dropdown .topbar-search-mark{position:absolute;right:0;top:0;height:34px;width:34px;display:block;line-height:34px;text-align:center;color:#546478}.aliyun-console-topbar-help{position:fixed;top:0;right:0;bottom:0}.aliyun-console-topbar-help .topbar-help-inner{width:486px;overflow:hidden;background:#fff;border-left:1px solid #e1e6eb;position:absolute;right:-486px;-webkit-box-shadow:0 0px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 0px 10px rgba(0,0,0,0.1);box-shadow:0 0px 10px rgba(0,0,0,0.1);-o-transition:all 0.2s ease, 0.2s ease;-ms-transition:all 0.2s ease, 0.2s ease;-moz-transition:all 0.2s ease, 0.2s ease;-webkit-transition:all 0.2s ease, 0.2s ease;z-index:1;top:50px;bottom:0}.aliyun-console-topbar-help .topbar-help-inner.topbar-help-show{right:0px}.aliyun-console-topbar-help .topbar-help-head{height:68px;padding-left:20px;line-height:68px;border-bottom:1px solid #e1e6eb;position:relative;color:#333}.aliyun-console-topbar-help .topbar-help-body{position:absolute;top:68px;bottom:0;background:#fff}.aliyun-console-topbar-help .topbar-help-iframe{height:100%}.aliyun-console-topbar-help .topbar-help-close{font-size:18px;float:right;height:68px;width:68px;line-height:68px !important;text-align:center;color:#546478;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none}.aliyun-console-topbar-help .topbar-help-close:hover{color:#000}.console-topbar-new{position:relative;z-index:100;clear:both;height:40px;background:#34383c;font-size:12px;min-width:1000px}.console-topbar-new .console-topbar-btn{width:50px;height:40px;display:inline-block;vertical-align:middle;margin-right:1px;background-color:#2a2e31;text-decoration:none;text-align:center;color:#fff;line-height:40px;-o-transition:all 0.3s;-ms-transition:all 0.3s;-moz-transition:all 0.3s;-webkit-transition:all 0.3s}.console-topbar-new .console-topbar-btn .console-topbar-btn-text{font-size:14px;text-align:center;white-space:nowrap;display:none}.console-topbar-new .console-topbar-btn .console-topbar-btn-icon{font-size:22px;display:inline;line-height:40px;color:#fff}.console-topbar-new .console-topbar-btn .caret{-o-transition:-o-transform 0.3s;-ms-transition:-ms-transform 0.3s;-moz-transition:-moz-transform 0.3s;-webkit-transition:-webkit-transform 0.3s;transition:transform 0.3s}.console-topbar-new .console-topbar-btn:hover{width:auto}.console-topbar-new .console-topbar-btn:hover.console-topbar-btn-inverse,.console-topbar-new .console-topbar-btn:hover.console-topbar-btn-inverse-white{background-color:#585e65;color:#fff}.console-topbar-new .console-topbar-btn:hover .console-topbar-btn-text{display:inline}.console-topbar-new .console-topbar-btn:hover .console-topbar-btn-icon{display:none;vertical-align:text-bottom}.console-topbar-new .console-topbar-btn:hover.console-topbar-btn-home{width:106px}.console-topbar-new .console-topbar-btn:hover.console-topbar-btn-nav{width:120px}.console-topbar-new .console-topbar-btn:hover.console-topbar-btn-ak{width:104px}.console-topbar-new .console-topbar-btn:hover.console-topbar-btn-workorder{width:94px}.console-topbar-new .console-topbar-btn.console-topbar-btn-last{margin-right:0}.console-topbar-new .console-topbar-btn.console-topbar-logo-icon{-o-transition:none;-ms-transition:none;-moz-transition:none;-webkit-transition:none;color:#2a2e31}.console-topbar-new .console-topbar-btn.console-topbar-logo-icon img{width:22px;height:22px;display:block;margin:9px 14px}.console-topbar-new .console-topbar-btn.console-topbar-nav-link{font-size:12px;width:auto;padding:0 15px}.console-topbar-new .console-topbar-btn.console-topbar-nav-link .console-topbar-nav-link-icon{width:16px;height:19px;vertical-align:middle;position:relative;display:inline-block;margin-right:4px;overflow:hidden;font-size:16px}.console-topbar-new .console-topbar-btn.console-topbar-btn-user{width:auto}.console-topbar-new .console-topbar-btn.console-topbar-btn-user .console-topbar-btn-text{display:inline;padding:0 15px}.console-topbar-new .console-topbar-btn.console-topbar-btn-notice{width:auto;padding:0 10px}.console-topbar-new .console-topbar-btn.console-topbar-btn-notice .console-topbar-btn-notice-icon{font-size:24px;line-height:40px;vertical-align:text-bottom}.console-topbar-new .console-topbar-btn.console-topbar-btn-notice .console-topbar-btn-notice-num{font-size:12px;color:#fff;background:#ff9900;border-radius:5px;padding:2px 1px;width:20px;display:inline-block;margin-top:10px;line-height:16px;vertical-align:top}.console-topbar-new .console-topbar-btn.console-topbar-btn-notice .console-topbar-btn-notice-num.console-topbar-btn-notice-num-zero{color:#999;background-color:#34383c}.console-topbar-new .console-topbar-btn.console-topbar-btn-notice .console-topbar-nav-item-short{padding-left:2px}.console-topbar-new .console-topbar-btn.console-topbar-btn-ak{overflow:hidden}.console-topbar-new .console-topbar-btn.console-topbar-btn-nav{overflow:hidden;position:relative;z-index:2}.console-topbar-new .console-topbar-nav .console-topbar-nav-list{border:1px solid #ddd;border-top:none;padding:10px;margin-top:0;margin-left:-1px}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-col{float:left;padding:0 10px}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item .console-topbar-nav-item-title{margin:3px 0px;color:#999;font-weight:600}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item .console-topbar-nav-gap{border-top:1px solid #f2f2f2;width:100%;margin:10px 0}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul{padding:0;margin:10px 0 0 0;list-style:none}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li{width:170px;height:30px;line-height:30px;margin-bottom:2px}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a{display:block;height:100%;padding-left:10px;text-decoration:none;color:#333}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a:hover{background-color:#f2f2f2}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon{padding-right:2px;font-size:16px;vertical-align:text-bottom}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-ecs{color:#007eff}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-slb{color:#f27741}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-rds{color:#20f8b8}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-oss{color:#ade675}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-cdn{color:#bff3fe}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-ots{color:#15d4f0}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-ocs{color:#40ff8f}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-odps{color:#ffba00}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-ace{color:#c8341c}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-yundun{color:#298edb}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-yunjiankong{color:#86f2af}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-sls{color:#075ac0}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-oas{color:#79df71}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-ess{color:#0cf}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-mqs{color:#fff400}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-vpc{color:#6cf}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-opensearch{color:#5bc8e8}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-lightcloud{color:#6bbd52}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-pts{color:#009dff}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-ons{color:#6b3100}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-dpc{color:#289de9}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-ads{color:#71ceec}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-mts{color:#f93}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li a .console-topbar-nav-item-icon.icon-drds{color:#6f9}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li.console-topbar-unservice a{color:#999}.console-topbar-new .console-topbar-nav .console-topbar-nav-list .console-topbar-nav-item ul li.console-topbar-unservice a .console-topbar-nav-item-icon{color:#999}.console-topbar-new .dropdown .dropdown-menu{z-index:1;border-radius:0;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.175);-moz-box-shadow:0 2px 4px rgba(0,0,0,0.175);box-shadow:0 2px 4px rgba(0,0,0,0.175)}.console-topbar-new .dropdown.open .console-topbar-btn.console-topbar-btn-inverse{background-color:#585e65;color:#fff}.console-topbar-new .dropdown.open .console-topbar-btn.console-topbar-btn-inverse-white{background-color:#fff;color:#333}.console-topbar-new .dropdown.open .console-topbar-btn .console-topbar-btn-text{display:inline}.console-topbar-new .dropdown.open .console-topbar-btn .console-topbar-btn-icon{display:none;vertical-align:text-bottom}.console-topbar-new .dropdown.open .console-topbar-btn:hover.console-topbar-btn-inverse-white{background-color:#fff !important;color:#333 !important}.console-topbar-new .dropdown.open .console-topbar-btn.console-topbar-btn-nav{width:120px}.console-topbar-new .dropdown.open .console-topbar-btn.console-topbar-btn-workorder{width:94px}.console-topbar-new .dropdown.open .console-topbar-btn .caret{transform:rotate(180deg);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg)}.console-topbar-new .console-topbar-user .dropdown-menu,.console-topbar-new .console-topbar-dropdown .dropdown-menu{margin-top:-1px}.console-topbar-new .console-topbar-user .dropdown-menu>li a,.console-topbar-new .console-topbar-dropdown .dropdown-menu>li a{padding:6px 20px}.console-topbar-new .console-topbar-workorder .dropdown-menu{min-width:96px}.console-topbar-new .console-topbar-workorder .dropdown-menu>li a{padding:6px 24px 6px 16px}.console-topbar-new .console-topbar-notice{position:relative}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel{display:none}.console-topbar-new .console-topbar-notice.open .console-topbar-notice-panel{display:block}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel{position:absolute;top:38px;left:-170px;width:390px;border:1px solid #bbb;border-radius:2px;z-index:15;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.175);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.175);box-shadow:0 1px 2px rgba(0,0,0,0.175)}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-arrow{background:url(images/notice-arrow.png) 0 0 no-repeat;width:11px;height:6px;position:absolute;top:-6px;left:196px}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-head{height:40px;border-bottom:1px solid #ccc;background-color:#f2f2f2;padding:0 15px;line-height:40px;color:#333;font-size:14px}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-body{height:240px;overflow-y:auto;background:#fff}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-body ul{list-style:none;margin:0 5px;padding:0}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-body ul li{height:40px;line-height:40px;border-bottom:1px solid #ececec}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-body ul li a{display:block;height:100%;padding:0 10px;background:#fff}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-body ul li a span{display:block}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-body ul li a .console-topbar-notice-link{float:left;max-width:272px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-body ul li a .console-topbar-notice-time{float:right;color:#333}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-body ul li a:hover{background:#f9f9f9}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-body ul li.console-topbar-notice-readed a{color:#666}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-body ul li.console-topbar-notice-readed a .console-topbar-notice-time{color:#999}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-body .console-topbar-notice-empty{text-align:center;color:#666;margin-top:80px}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-foot{height:48px;line-height:48px;background:#fff}.console-topbar-new .console-topbar-notice .console-topbar-notice-panel .console-topbar-notice-foot .console-topbar-notice-more{padding-right:15px}.console-topbar-new .console-topbar-locale{float:left}.console-topbar-new .console-topbar-locale .dropdown-menu{right:0;left:auto;margin-top:-1px;width:50px;min-width:60px}.console-topbar-new .console-topbar-locale .console-topbar-btn.console-topbar-btn-locale{width:60px;background:none}.console-topbar-new .console-topbar-locale .console-topbar-btn.console-topbar-btn-locale .console-topbar-btn-text{display:block}.console-topbar-new.console-topbar-new-en .console-topbar-btn:hover.console-topbar-btn-home{width:116px}.console-topbar-new.console-topbar-new-en .console-topbar-btn:hover.console-topbar-btn-nav{width:170px}.console-topbar-new.console-topbar-new-en .console-topbar-btn:hover.console-topbar-btn-workorder{width:146px}.console-topbar-new.console-topbar-new-en .console-topbar-nav .console-topbar-nav-item ul li{width:auto !important}.console-topbar-new.console-topbar-new-en .console-topbar-nav .console-topbar-nav-item ul li a{padding:0 10px}.console-topbar-new.console-topbar-new-en .dropdown.open .console-topbar-btn.console-topbar-btn-nav{width:170px}.console-topbar-new.console-topbar-new-en .dropdown.open .console-topbar-btn.console-topbar-btn-workorder{width:146px}.console-navbar{font-size:12px;color:#666666;word-wrap:break-word;height:56px;border:none;border-bottom:1px solid #dddddd;box-shadow:0px 0px 4px rgba(0,0,0,0.1);position:relative;box-sizing:content-box;margin-bottom:0px;background-color:#fff;border-radius:0 !important;z-index:2}.console-navbar *{box-sizing:content-box}.console-navbar a{color:#333}.console-navbar .console-navbar-title{float:left;line-height:56px;padding:0 40px 0 14px;font-size:18px;color:#999999}.console-navbar .console-navbar-title .console-navbar-subtitle{margin-right:5px}.console-navbar .nav li{float:left;display:inline;margin:0 20px;height:56px;font-size:14px}.console-navbar .nav li a{padding:0 2px;float:left;height:55px;color:#333333;line-height:56px;text-decoration:none}.console-navbar .nav li a:hover,.console-navbar .nav li a:focus{background-color:#fff}.console-navbar .nav li.active{height:55px}.console-navbar .nav li.active a{color:#ff4902;border-bottom:2px solid #ff4902}.console-navbar .console-navbar-a-default{cursor:default}.console-navbar .console-navbar-links-example{margin-top:15px;padding:0 15px 0;line-height:24px;border-left:1px solid #eeeeee}.console-navbar .console-navbar-links-example a{color:#b3b3b3}.console-title{padding:16px 0px;min-height:70px}.console-title .nav-pills{display:inline-block;vertical-align:bottom}.console-title .nav-pills li a,.console-title .nav-pills li a:focus,.console-title .nav-pills li button,.console-title .nav-pills li button:focus{padding:6px 6px}.console-title h1,.console-title h2,.console-title h3,.console-title h4,.console-title h5,.console-title h6{display:inline-block;text-indent:8px;border-left:2px solid #88B7E0;margin-top:0px;margin-bottom:0px;margin-right:8px}.console-title h1{margin-top:0px;margin-bottom:0px}.console-title h2{margin-top:2px;margin-bottom:2px}.console-title h3{margin-top:4px;margin-bottom:4px}.console-title h4{margin-top:6px;margin-bottom:6px}.console-title h5{margin-top:8px;margin-bottom:8px}.console-title-border{border-bottom:1px solid #DDD}.console-sub-title{position:relative;padding-left:16px;margin-bottom:-1px;display:table;width:100%;z-index:1;height:40px;border:1px solid #E1E6EB;border-left:3px solid #778;background-color:#F4F5F9}.console-sub-title h5{color:#666;font-size:14px}.console-box-border{border:1px solid #E1E6EB}.margin-left,.margin-left-1{margin-left:8px !important}.margin-left-2{margin-left:16px !important}.margin-left-3{margin-left:24px !important}.margin-left-4{margin-left:32px !important}.margin-right,.margin-right-1{margin-right:8px !important}.margin-right-2{margin-right:16px !important}.margin-right-3{margin-right:24px !important}.margin-right-4{margin-right:32px !important}.margin-top,.margin-top-1{margin-top:8px !important}.margin-top-2{margin-top:16px !important}.margin-top-3{margin-top:24px !important}.margin-top-4{margin-top:32px !important}.row-padding-1{padding-top:8px;padding-bottom:8px}.row-padding,.row-padding-2{padding-top:16px;padding-bottom:16px}.row-padding-3{padding-top:24px;padding-bottom:24px}.row-padding-4{padding-top:32px;padding-bottom:32px}.row-margin-1{margin-top:8px;margin-bottom:8px}.row-margin,.row-margin-2{margin-top:16px;margin-bottom:16px}.row-margin-3{margin-top:24px;margin-bottom:24px}.row-margin-4{margin-top:32px;margin-bottom:32px}.col-padding-1{padding-left:8px;padding-right:8px}.col-padding,.col-padding-2{padding-left:16px;padding-right:16px}.col-padding-3{padding-left:24px;padding-right:24px}.col-padding-4{padding-left:32px;padding-right:32px}.col-margin-1{margin-left:8px;margin-right:8px}.col-margin,.col-margin-2{margin-left:16px;margin-right:16px}.col-margin-3{margin-left:24px;margin-right:24px}.col-margin-4{margin-left:32px;margin-right:32px}.inline-block{display:inline-block !important;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline}.partition{display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;padding:0px 4px}.no-data{padding:24px 0px;text-align:center;color:#666}@font-face{font-family:'aliyun-console-font';src:url("fonts/aliyun-console-font.eot?t91au5");src:url("fonts/aliyun-console-font.eot?t91au5#iefix") format("embedded-opentype"),url("fonts/aliyun-console-font.ttf?t91au5") format("truetype"),url("fonts/aliyun-console-font.woff?t91au5") format("woff"),url("fonts/aliyun-console-font.svg?t91au5#aliyun-console-font") format("svg");font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'aliyun-console-font' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-logo2:before{content:"\e63b"}.icon-logo1:before{content:"\e63a"}.icon-logo-new:before{content:"\e97f"}.icon-dms-2:before{content:"\e92d"}.icon-dms-3:before{content:"\e92e"}.icon-dms:before{content:"\e92f"}.icon-gpdb-2:before{content:"\e983"}.icon-gpdb-3:before{content:"\e984"}.icon-gpdb:before{content:"\e985"}.icon-schedulerx-2:before{content:"\e986"}.icon-schedulerx-3:before{content:"\e987"}.icon-schedulerx:before{content:"\e988"}.icon-txc-2:before{content:"\e989"}.icon-txc-3:before{content:"\e98a"}.icon-txc:before{content:"\e98b"}.icon-csb-2:before{content:"\e909"}.icon-csb-3:before{content:"\e90a"}.icon-csb:before{content:"\e90b"}.icon-mobsec-2:before{content:"\e96d"}.icon-mobsec-3:before{content:"\e96e"}.icon-mobsec:before{content:"\e96f"}.icon-mss-2:before{content:"\e970"}.icon-mss-3:before{content:"\e971"}.icon-mss:before{content:"\e972"}.icon-sos-2:before{content:"\e973"}.icon-sos-3:before{content:"\e974"}.icon-sos:before{content:"\e975"}.icon-sppc-2:before{content:"\e976"}.icon-sppc-3:before{content:"\e977"}.icon-sppc:before{content:"\e978"}.icon-webfirewall-2:before{content:"\e979"}.icon-webfirewall-3:before{content:"\e97a"}.icon-webfirewall:before{content:"\e97b"}.icon-xianzhi-2:before{content:"\e97c"}.icon-xianzhi-3:before{content:"\e97d"}.icon-xianzhi:before{content:"\e97e"}.icon-livevideo-2:before{content:"\e964"}.icon-livevideo-3:before{content:"\e965"}.icon-livevideo:before{content:"\e966"}.icon-slm-2:before{content:"\e967"}.icon-slm-3:before{content:"\e968"}.icon-slm:before{content:"\e969"}.icon-vod-2:before{content:"\e96a"}.icon-vod-3:before{content:"\e96b"}.icon-vod:before{content:"\e96c"}.icon-kms-2:before{content:"\e95e"}.icon-kms-3:before{content:"\e95f"}.icon-kms:before{content:"\e960"}.icon-nas-2:before{content:"\e961"}.icon-nas-3:before{content:"\e962"}.icon-nas:before{content:"\e963"}.icon-apigateway-2:before{content:"\e94f"}.icon-apigateway-3:before{content:"\e950"}.icon-apigateway:before{content:"\e951"}.icon-oceanbase-2:before{content:"\e952"}.icon-oceanbase-3:before{content:"\e953"}.icon-oceanbase:before{content:"\e954"}.icon-petadata-2:before{content:"\e955"}.icon-petadata-3:before{content:"\e956"}.icon-petadata:before{content:"\e957"}.icon-ecsm-2:before{content:"\e958"}.icon-ecsm-3:before{content:"\e959"}.icon-ecsm:before{content:"\e95a"}.icon-yundunzhengshu-2:before{content:"\e95b"}.icon-yundunzhengshu-3:before{content:"\e95c"}.icon-yundunzhengshu:before{content:"\e95d"}.icon-cdi-2:before{content:"\e93a"}.icon-cdi-3:before{content:"\e93b"}.icon-cdi:before{content:"\e93c"}.icon-disk-2:before{content:"\e93d"}.icon-disk-3:before{content:"\e93e"}.icon-disk:before{content:"\e93f"}.icon-dsi-2:before{content:"\e940"}.icon-dsi-3:before{content:"\e941"}.icon-dsi:before{content:"\e942"}.icon-hpc-2:before{content:"\e943"}.icon-hpc-3:before{content:"\e944"}.icon-hpc:before{content:"\e945"}.icon-httpdns-2:before{content:"\e946"}.icon-httpdns-3:before{content:"\e947"}.icon-httpdns:before{content:"\e948"}.icon-iot-2:before{content:"\e949"}.icon-iot-3:before{content:"\e94a"}.icon-iot2:before{content:"\e94b"}.icon-vipaegis-2:before{content:"\e94c"}.icon-vipaegis-3:before{content:"\e94d"}.icon-vipaegis:before{content:"\e94e"}.icon-cs-2:before{content:"\e92a"}.icon-cs-3:before{content:"\e92b"}.icon-cs:before{content:"\e92c"}.icon-ewh-2:before{content:"\e930"}.icon-ewh-3:before{content:"\e931"}.icon-ewh:before{content:"\e932"}.icon-expressconnect-2:before{content:"\e933"}.icon-expressconnect-3:before{content:"\e934"}.icon-expressconnect:before{content:"\e935"}.icon-hsm-2:before{content:"\e936"}.icon-hsm-3:before{content:"\e937"}.icon-hsm:before{content:"\e938"}.icon-kuaizhaolian:before{content:"\e939"}.icon-mongodb-2:before{content:"\e927"}.icon-mongodb-3:before{content:"\e928"}.icon-mongodb:before{content:"\e929"}.icon-actiontrail-2:before{content:"\e90f"}.icon-actiontrail-3:before{content:"\e910"}.icon-actiontrail:before{content:"\e911"}.icon-ats-2:before{content:"\e912"}.icon-ats-3:before{content:"\e913"}.icon-ats:before{content:"\e914"}.icon-cli-2:before{content:"\e915"}.icon-cli-3:before{content:"\e916"}.icon-cli:before{content:"\e917"}.icon-directmail-2:before{content:"\e918"}.icon-directmail-3:before{content:"\e919"}.icon-directmail:before{content:"\e91a"}.icon-eclipse-2:before{content:"\e91b"}.icon-eclipse-3:before{content:"\e91c"}.icon-eclipse:before{content:"\e91d"}.icon-havip-2:before{content:"\e91e"}.icon-havip-3:before{content:"\e91f"}.icon-havip:before{content:"\e920"}.icon-ros-2:before{content:"\e921"}.icon-ros-3:before{content:"\e922"}.icon-ros:before{content:"\e923"}.icon-visualstudio-2:before{content:"\e924"}.icon-visualstudio-3:before{content:"\e925"}.icon-visualstudio:before{content:"\e926"}.icon-emr-2:before{content:"\e90c"}.icon-emr-3:before{content:"\e90d"}.icon-emr:before{content:"\e90e"}.icon-antifraud-3:before{content:"\e903"}.icon-antifraud:before{content:"\e904"}.icon-antifraud-2:before{content:"\e905"}.icon-ddosbasic:before{content:"\e906"}.icon-ddosbasic-3:before{content:"\e907"}.icon-ddosbasic-2:before{content:"\e908"}.icon-aegis:before{content:"\e900"}.icon-aegis-3:before{content:"\e901"}.icon-aegis-2:before{content:"\e902"}.icon-amr-2:before{content:"\e71c"}.icon-amr-3:before{content:"\e71d"}.icon-amr:before{content:"\e71e"}.icon-eip-2:before{content:"\e71f"}.icon-eip-3:before{content:"\e720"}.icon-eip:before{content:"\e721"}.icon-expense-i18n:before{content:"\e71b"}.icon-aps-2:before{content:"\e715"}.icon-aps-3:before{content:"\e716"}.icon-aps:before{content:"\e717"}.icon-batchcompute-2:before{content:"\e718"}.icon-batchcompute-3:before{content:"\e719"}.icon-batchcompute:before{content:"\e71a"}.icon-sas-2:before{content:"\e70c"}.icon-sas-3:before{content:"\e70d"}.icon-sas:before{content:"\e70e"}.icon-scan-2:before{content:"\e70f"}.icon-scan-3:before{content:"\e710"}.icon-scan:before{content:"\e711"}.icon-waf-2:before{content:"\e712"}.icon-waf-3:before{content:"\e713"}.icon-waf:before{content:"\e714"}.icon-mns-2:before{content:"\e709"}.icon-mns-3:before{content:"\e70a"}.icon-mns:before{content:"\e70b"}.icon-qrcode:before{content:"\e708"}.icon-unfold:before{content:"\e707"}.icon-fold:before{content:"\e706"}.icon-form:before{content:"\e6fd"}.icon-accelerate:before{content:"\e6fe"}.icon-feedback:before{content:"\e702"}.icon-vdc-2:before{content:"\e703"}.icon-vdc-3:before{content:"\e704"}.icon-vdc:before{content:"\e705"}.icon-new:before{content:"\e6fc"}.icon-collapse-right:before{content:"\e6fb"}.icon-collapse-left:before{content:"\e6fa"}.icon-aec:before{content:"\e6f3"}.icon-aic:before{content:"\e6f4"}.icon-mobile-2:before{content:"\e6f5"}.icon-amc:before{content:"\e6f6"}.icon-arc:before{content:"\e6f7"}.icon-game:before{content:"\e6f8"}.icon-iot:before{content:"\e6f9"}.icon-right:before{content:"\e6f2"}.icon-afc:before{content:"\e6f0"}.icon-specs:before{content:"\e6f1"}.icon-pen-2:before{content:"\e6c8"}.icon-key:before{content:"\e635"}.icon-bsn:before{content:"\e6ea"}.icon-mac-2:before{content:"\e6eb"}.icon-mac-3:before{content:"\e6ec"}.icon-mac:before{content:"\e6ed"}.icon-fenxiao:before{content:"\e6ee"}.icon-account-2:before{content:"\e6ef"}.icon-qiyeyouxiang-2:before{content:"\e6be"}.icon-qiyeyouxiang-3:before{content:"\e6bf"}.icon-qiyeyouxiang:before{content:"\e6c0"}.icon-yuming-2:before{content:"\e6d3"}.icon-yuming-3:before{content:"\e6df"}.icon-yuming:before{content:"\e6e0"}.icon-yumingyuwangzhan-2:before{content:"\e6e1"}.icon-yumingyuwangzhan-3:before{content:"\e6e2"}.icon-yumingyuwangzhan:before{content:"\e6e3"}.icon-yunjiexi-2:before{content:"\e6e4"}.icon-yunjiexi-3:before{content:"\e6e5"}.icon-yunjiexi:before{content:"\e6e6"}.icon-yunxunizhuji-2:before{content:"\e6e7"}.icon-yunxunizhuji-3:before{content:"\e6e8"}.icon-yunxunizhuji:before{content:"\e6e9"}.icon-api-3:before{content:"\e6d2"}.icon-api-2:before{content:"\e6d4"}.icon-api:before{content:"\e6d5"}.icon-dpa-2:before{content:"\e6d6"}.icon-dpa-3:before{content:"\e6d7"}.icon-dpa:before{content:"\e6d8"}.icon-lvwang-2:before{content:"\e6d9"}.icon-lvwang-3:before{content:"\e6da"}.icon-lvwang:before{content:"\e6db"}.icon-mas-2:before{content:"\e6dc"}.icon-mas-3:before{content:"\e6dd"}.icon-mas:before{content:"\e6de"}.icon-dts-2:before{content:"\e6cf"}.icon-dts-3:before{content:"\e6d0"}.icon-dts:before{content:"\e6d1"}.icon-android:before{content:"\e6c9"}.icon-cps-2:before{content:"\e6ca"}.icon-cps-3:before{content:"\e6cb"}.icon-cps:before{content:"\e6cc"}.icon-ios:before{content:"\e6cd"}.icon-vitality:before{content:"\e6ce"}.icon-dfs-2:before{content:"\e6bb"}.icon-dfs-3:before{content:"\e6bc"}.icon-dfs:before{content:"\e6bd"}.icon-edas-2:before{content:"\e6c1"}.icon-edas-3:before{content:"\e6c2"}.icon-edas:before{content:"\e6c3"}.icon-enter:before{content:"\e6c4"}.icon-usableCenter-2:before{content:"\e6c5"}.icon-usableCenter-3:before{content:"\e6c6"}.icon-usableCenter:before{content:"\e6c7"}.icon-ace-2:before{content:"\e600"}.icon-ace:before{content:"\e601"}.icon-add-1:before{content:"\e602"}.icon-add-2:before{content:"\e603"}.icon-add:before{content:"\e604"}.icon-ads-2:before{content:"\e605"}.icon-ads:before{content:"\e606"}.icon-amplify:before{content:"\e607"}.icon-arrow-down:before{content:"\e608"}.icon-arrow-left:before{content:"\e609"}.icon-arrow-right:before{content:"\e60a"}.icon-arrow-up:before{content:"\e60b"}.icon-backup:before{content:"\e60c"}.icon-bell:before{content:"\e60d"}.icon-buy:before{content:"\e60e"}.icon-calendar:before{content:"\e60f"}.icon-cdn-2:before{content:"\e610"}.icon-cdn:before{content:"\e611"}.icon-cdp:before{content:"\e612"}.icon-clock:before{content:"\e613"}.icon-cloudisk:before{content:"\e614"}.icon-cloudisk2:before{content:"\e615"}.icon-db-g:before{content:"\e616"}.icon-db-r:before{content:"\e617"}.icon-db-sign:before{content:"\e618"}.icon-db-t:before{content:"\e619"}.icon-db:before{content:"\e61a"}.icon-ddos-2:before{content:"\e61b"}.icon-ddos:before{content:"\e61c"}.icon-detail-2:before{content:"\e61d"}.icon-detail:before{content:"\e61e"}.icon-disk-image:before{content:"\e61f"}.icon-down:before{content:"\e620"}.icon-dpc-2:before{content:"\e621"}.icon-dpc:before{content:"\e622"}.icon-drds-2:before{content:"\e623"}.icon-drds:before{content:"\e624"}.icon-ecs-2:before{content:"\e625"}.icon-ecs:before{content:"\e626"}.icon-ess-2:before{content:"\e627"}.icon-ess:before{content:"\e628"}.icon-exec-snapshot-policy:before{content:"\e629"}.icon-goback:before{content:"\e62a"}.icon-graphs:before{content:"\e62b"}.icon-help-1:before{content:"\e62c"}.icon-help-2:before{content:"\e62d"}.icon-help:before{content:"\e62e"}.icon-home:before{content:"\e62f"}.icon-info-1:before{content:"\e630"}.icon-info-2:before{content:"\e631"}.icon-info:before{content:"\e632"}.icon-invite:before{content:"\e633"}.icon-jiankong-2:before{content:"\e634"}.icon-lightcloud-2:before{content:"\e636"}.icon-lightcloud:before{content:"\e637"}.icon-log:before{content:"\e638"}.icon-logo:before{content:"\e639"}.icon-menu:before{content:"\e63c"}.icon-mqs-2:before{content:"\e63d"}.icon-mqs:before{content:"\e63e"}.icon-mts:before{content:"\e63f"}.icon-narrow:before{content:"\e640"}.icon-no-1:before{content:"\e641"}.icon-no-2:before{content:"\e642"}.icon-no:before{content:"\e643"}.icon-oas-2:before{content:"\e644"}.icon-oas:before{content:"\e645"}.icon-ocs-2:before{content:"\e646"}.icon-ocs:before{content:"\e647"}.icon-odps-2:before{content:"\e648"}.icon-odps:before{content:"\e649"}.icon-ons-2:before{content:"\e64a"}.icon-ons:before{content:"\e64b"}.icon-opensearch-2:before{content:"\e64c"}.icon-opensearch:before{content:"\e64d"}.icon-oss-2:before{content:"\e64e"}.icon-oss:before{content:"\e64f"}.icon-ots-2:before{content:"\e650"}.icon-ots:before{content:"\e651"}.icon-pen:before{content:"\e652"}.icon-performance:before{content:"\e653"}.icon-pts-2:before{content:"\e654"}.icon-pts:before{content:"\e655"}.icon-ram-2:before{content:"\e656"}.icon-ram:before{content:"\e657"}.icon-rds-2:before{content:"\e658"}.icon-rds:before{content:"\e659"}.icon-regional:before{content:"\e65a"}.icon-remove-1:before{content:"\e65b"}.icon-remove-2:before{content:"\e65c"}.icon-remove:before{content:"\e65d"}.icon-renew-mgt:before{content:"\e65e"}.icon-safe-lock:before{content:"\e65f"}.icon-safetycontrol:before{content:"\e660"}.icon-search:before{content:"\e661"}.icon-setup:before{content:"\e662"}.icon-shift-in:before{content:"\e663"}.icon-slb-2:before{content:"\e664"}.icon-slb:before{content:"\e665"}.icon-sls-2:before{content:"\e666"}.icon-sls:before{content:"\e667"}.icon-snapshot:before{content:"\e668"}.icon-text-free:before{content:"\e669"}.icon-threshold:before{content:"\e66a"}.icon-tree:before{content:"\e66b"}.icon-unlock:before{content:"\e66c"}.icon-up:before{content:"\e66d"}.icon-updown:before{content:"\e66e"}.icon-viewtable:before{content:"\e66f"}.icon-vpc-2:before{content:"\e670"}.icon-vpc:before{content:"\e671"}.icon-warning-1:before{content:"\e672"}.icon-warning-2:before{content:"\e673"}.icon-warning:before{content:"\e674"}.icon-weekly:before{content:"\e675"}.icon-yes-1:before{content:"\e676"}.icon-yes-2:before{content:"\e677"}.icon-yes:before{content:"\e678"}.icon-yundun-2:before{content:"\e679"}.icon-yundun:before{content:"\e67a"}.icon-yunjiankong:before{content:"\e67b"}.icon-annex:before{content:"\e67c"}.icon-renew:before{content:"\e67d"}.icon-renew-2:before{content:"\e67e"}.icon-plus-border:before{content:"\e67f"}.icon-wo-domain:before{content:"\e680"}.icon-wo-email:before{content:"\e681"}.icon-wo-host:before{content:"\e682"}.icon-wo-sitebuild:before{content:"\e683"}.icon-wo-salepre:before{content:"\e684"}.icon-wo-beian:before{content:"\e685"}.icon-wo-account:before{content:"\e686"}.icon-wo-finance:before{content:"\e687"}.icon-square:before{content:"\e688"}.icon-left:before{content:"\e689"}.icon-upload:before{content:"\e68a"}.icon-list-open:before{content:"\e68b"}.icon-pause:before{content:"\e68c"}.icon-list-close:before{content:"\e68d"}.icon-circle:before{content:"\e68e"}.icon-refresh:before{content:"\e68f"}.icon-return:before{content:"\e690"}.icon-undo:before{content:"\e691"}.icon-alipay:before{content:"\e692"}.icon-auto-renew:before{content:"\e693"}.icon-mobile:before{content:"\e694"}.icon-account:before{content:"\e695"}.icon-services:before{content:"\e696"}.icon-expense:before{content:"\e697"}.icon-redisa-2:before{content:"\e698"}.icon-redisa:before{content:"\e699"}.icon-ddos-3:before{content:"\e69a"}.icon-redisa-3:before{content:"\e69b"}.icon-toolsimage-2:before{content:"\e69c"}.icon-cdp-2:before{content:"\e69d"}.icon-mts-2:before{content:"\e69e"}.icon-toolsimage:before{content:"\e69f"}.icon-toolsimage-3:before{content:"\e6a0"}.icon-ons-3:before{content:"\e6a1"}.icon-ram-3:before{content:"\e6a2"}.icon-yundun-3:before{content:"\e6a3"}.icon-pts-3:before{content:"\e6a4"}.icon-mts-3:before{content:"\e6a5"}.icon-mqs-3:before{content:"\e6a6"}.icon-drds-3:before{content:"\e6a7"}.icon-cdp-3:before{content:"\e6a8"}.icon-dpc-3:before{content:"\e6a9"}.icon-ads-3:before{content:"\e6aa"}.icon-jiankong-3:before{content:"\e6ab"}.icon-vpc-3:before{content:"\e6ac"}.icon-slb-3:before{content:"\e6ad"}.icon-rds-3:before{content:"\e6ae"}.icon-ots-3:before{content:"\e6af"}.icon-oss-3:before{content:"\e6b0"}.icon-ess-3:before{content:"\e6b1"}.icon-opensearch-3:before{content:"\e6b2"}.icon-odps-3:before{content:"\e6b3"}.icon-ocs-3:before{content:"\e6b4"}.icon-oas-3:before{content:"\e6b5"}.icon-lightcloud-3:before{content:"\e6b6"}.icon-cdn-3:before{content:"\e6b7"}.icon-ace-3:before{content:"\e6b8"}.icon-sls-3:before{content:"\e6b9"}.icon-ecs-3:before{content:"\e6ba"}.modal-content{border-radius:0px;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);-webkit-box-shadow:0px 5px 10px rgba(0,0,0,0.5);-moz-box-shadow:0px 5px 10px rgba(0,0,0,0.5);box-shadow:0px 5px 10px rgba(0,0,0,0.5)}.modal-footer{margin-top:0px}.modal-title{font-size:14px}.modal-header .close{font-size:28px;margin-top:-8px;font-weight:normal}.modal-backdrop{background-color:#FFF}.console-message-dialog .modal-body .lead{font-size:16px}.console-message-dialog .modal-body p{margin-top:6px}.nav-tabs>li>a,.nav-tabs.nav-justified>li>a{border-radius:0px 0px 0px 0px}.nav-tabs{border-color:#ddd}.nav-tabs>li{margin-left:-1px;border-top:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #ddd;z-index:1}.nav-tabs>li>a,.nav-tabs>li>a:focus{color:#666;border-left:0px;border-right:0px;margin-right:0px;padding:10px 16px;background:#FBFAF8;border-bottom:0px}.nav-tabs>li.active{border-top:0px;border-left:1px solid #ddd;border-right:1px solid #ddd;z-index:3}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{border-top:2px solid #00a2ca;border-left:0px;border-right:0px;border-bottom:1px solid #FFF;color:#333}.nav-tabs>li>a:hover{background-color:#FFF;color:#09C}.nav-tabs .open>a,.nav-tabs .open>a:hover,.nav-tabs .open>a:focus{color:#000;background-color:#FAFAFA;border-color:#EEE}.nav-tabs.nav-justified>li:first-child{border-left:1px solid #ddd}.nav-tabs.nav-justified>li{border-top:1px solid #ddd;border-left:0px solid #ddd;border-right:1px solid #ddd;z-index:1}.nav-tabs.nav-justified>li>a{border-left:0px;border-right:0px;margin-right:0px;background-color:#fbfaf8;border-bottom:1px solid #ddd}.nav-tabs.nav-justified>li>a:hover{color:#09C;background-color:#FFF}.nav-tabs.nav-justified>li.active{border-top:0px;z-index:3}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-top:2px solid #00a2ca;border-left:0px;border-right:0px;border-bottom:1px solid #FFF;color:#333;background-color:#FFF}.nav-pills li a,.nav-pills li a:focus,.nav-pills li button,.nav-pills li button:focus{padding:6px 12px;border-radius:0px;border:1px solid #D9DEE4;background-color:#D9DEE4;color:#666;line-height:20px;height:32px;margin-left:2px}.nav-pills li a:hover,.nav-pills li a:focus:hover,.nav-pills li button:hover,.nav-pills li button:focus:hover{border:1px solid #D9DEE4;background-color:#DCE2E7;color:#444}.nav-pills li.active a,.nav-pills li.active a:hover,.nav-pills li.active a:focus,.nav-pills li.active button,.nav-pills li.active button:hover,.nav-pills li.active button:focus{border:1px solid #546478;background-color:#546478;color:#FFFFFF}.c-texttrimmer-pen{position:absolute;width:18px;height:18px;font-size:12px;padding:2px;text-align:center;margin-left:6px}.c-texttrimmer-box{position:absolute;padding:16px;background:#fff;z-index:1000;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);-webkit-border-radius:0px;-moz-border-radius:0px;-ms-border-radius:0px;-o-border-radius:0px;border-radius:0px;-webkit-box-shadow:1px 1px 8px rgba(0,0,0,0.5);-moz-box-shadow:1px 1px 8px rgba(0,0,0,0.5);box-shadow:1px 1px 8px rgba(0,0,0,0.5)}.c-texttrimmer-box:focus{outline:none}.c-texttrimmer-box p{margin:0 0 10px}.c-texttrimmer-box p.c-texttrimmer-tip{color:red}.c-texttrimmer-box .c-texttrimmer-btnbox a{margin-right:8px}.modal,.modal-open{overflow:auto;overflow-y:auto}.console-helper{position:absolute;height:100%;width:400px;right:0px;top:32px;z-index:1000;border:1px solid #eee;background:#fff;border-left:1px solid #dddddd;box-shadow:0px 0px 4px rgba(0,0,0,0.2);position:fixed}.console-helper-animation{-webkit-transition:all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);transition:all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);-webkit-transform:translateX(0);transform:translateX(0)}.console-helper-folded{right:-400px}.console-helper-folded .console-helper-head .console-helper-button{margin-left:-44px}.console-helper-head{height:56px;background:#f5f5f5;border-bottom:1px solid #dddddd}.console-helper-head .console-helper-button{float:left;background:url(images/helper-icon.png) center center no-repeat;height:32px;width:32px;margin:12px;cursor:pointer;opacity:0.6}.console-helper-head .console-helper-button:hover{opacity:1}.console-helper-head .console-helper-title{float:left;font-size:14px;line-height:32px;height:32px;margin:12px 0;color:#333}.console-helper-body .console-helper-nav{border-bottom:1px solid #dddddd;margin:0 20px;list-style:none;overflow:hidden;zoom:1;padding:0}.console-helper-body .console-helper-nav li{float:left;padding:12px}.console-helper-body .console-helper-nav li a{color:#666}.console-helper-body .console-helper-nav li a:hover{color:#000}.console-helper-body .console-helper-nav li.active{border-bottom:2px solid #999}.console-helper-body .console-helper-panel-list .console-helper-panel{margin:20px}.console-helper-body .console-helper-panel-list .console-helper-panel .console-helper-xiaoyun .console-helper-xiaoyun-search{height:32px}.console-helper-body .console-helper-panel-list .console-helper-panel .console-helper-xiaoyun .console-helper-xiaoyun-recommend ul{list-style:none;margin:0;padding:0}.console-helper-foot{background:#f5f5f5;position:absolute;width:100%;bottom:0;left:0;border-top:1px solid #eee}.console-helper-foot .console-helper-service{overflow:hidden;zoom:1;height:32px;margin:12px;list-style:none}.console-helper-foot .console-helper-service li{width:48%;float:left}.console-helper-foot .console-helper-service li p{margin:0;color:#666}.console-helper-foot .console-helper-service li p a{color:#666}.console-helper-foot .console-helper-service li p a:hover{text-decoration:underline}.growl{z-index:9999999;top:50px;width:260px}.alert-success{color:#090;background-color:#F2FFEA;border-color:#C7DDB9}.alert-success .alert-link{color:#063;font-weight:normal}.alert-info{color:#555;background-color:#F9F9F9;border-color:#DDD}.alert-info .alert-link{color:#06C;font-weight:normal}.alert-warning{color:#f68300;background-color:#FCF8E2;border-color:#FBECCB}.alert-warning .alert-link{color:#c50;font-weight:normal}.alert-danger{color:#ee2117;background-color:#FFF6F2;border-color:#F1ACAC}.alert-danger .alert-link{color:#b00;font-weight:normal}.alert{padding:6px 12px;line-height:18px;margin-bottom:6px;border-radius:0px}.alert .close{margin-top:-5px}.alert ul{padding-left:16px}.product-icons-32,.product-icons-48,.product-icons-64{background-repeat:no-repeat;display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;background-image:url(aliyun-logo/product.icons.png);background-image:-webkit-image-set(url(aliyun-logo/product.icons.png) 1x, url(aliyun-logo/product.icons@2x.png) 2x);background-image:-moz-image-set(url(aliyun-logo/product.icons.png) 1x, url(aliyun-logo/product.icons@2x.png) 2x);background-image:-ms-image-set(url(aliyun-logo/product.icons.png) 1x, url(aliyun-logo/product.icons@2x.png) 2x);background-image:-os-image-set(url(aliyun-logo/product.icons.png) 1x, url(aliyun-logo/product.icons@2x.png) 2x)}.product-icons-32{width:32px;height:32px}.product-icons-48{width:48px;height:48px}.product-icons-64{width:64px;height:64px}.product-icons-32.product-icons-ace-grey{background-position:-448px -1088px !important}.product-icons-32.product-icons-ace{background-position:-800px -1024px !important}.product-icons-48.product-icons-ace-grey{background-position:-192px -832px !important}.product-icons-48.product-icons-ace{background-position:-720px -880px !important}.product-icons-64.product-icons-ace-grey{background-position:-576px -128px !important}.product-icons-64.product-icons-ace{background-position:0px -64px !important}.product-icons-32.product-icons-actiontrail-grey{background-position:-416px -1088px !important}.product-icons-32.product-icons-actiontrail{background-position:-384px -1088px !important}.product-icons-48.product-icons-actiontrail-grey{background-position:-976px -288px !important}.product-icons-48.product-icons-actiontrail{background-position:-432px -976px !important}.product-icons-64.product-icons-actiontrail-grey{background-position:-128px 0px !important}.product-icons-64.product-icons-actiontrail{background-position:-128px -64px !important}.product-icons-32.product-icons-ads-grey{background-position:-352px -1088px !important}.product-icons-32.product-icons-ads{background-position:-256px -1088px !important}.product-icons-48.product-icons-ads-grey{background-position:-768px -880px !important}.product-icons-48.product-icons-ads{background-position:-928px -384px !important}.product-icons-64.product-icons-ads-grey{background-position:-64px -128px !important}.product-icons-64.product-icons-ads{background-position:-128px -128px !important}.product-icons-32.product-icons-aegis-grey{background-position:-224px -1088px !important}.product-icons-32.product-icons-aegis{background-position:-192px -1088px !important}.product-icons-48.product-icons-aegis-grey{background-position:-688px -768px !important}.product-icons-48.product-icons-aegis{background-position:-832px -96px !important}.product-icons-64.product-icons-aegis-grey{background-position:-192px -64px !important}.product-icons-64.product-icons-aegis{background-position:-192px -128px !important}.product-icons-32.product-icons-antifraud-grey{background-position:-160px -1088px !important}.product-icons-32.product-icons-antifraud{background-position:-64px -1088px !important}.product-icons-48.product-icons-antifraud-grey{background-position:-880px -480px !important}.product-icons-48.product-icons-antifraud{background-position:-880px -720px !important}.product-icons-64.product-icons-antifraud-grey{background-position:-64px -192px !important}.product-icons-64.product-icons-antifraud{background-position:-128px -192px !important}.product-icons-32.product-icons-api-grey{background-position:-32px -1088px !important}.product-icons-32.product-icons-api{background-position:0px -1088px !important}.product-icons-48.product-icons-api-grey{background-position:-96px -928px !important}.product-icons-48.product-icons-api{background-position:-192px -928px !important}.product-icons-64.product-icons-api-grey{background-position:-256px 0px !important}.product-icons-64.product-icons-api{background-position:-256px -64px !important}.product-icons-32.product-icons-apigateway-grey{background-position:-1104px -1056px !important}.product-icons-32.product-icons-apigateway{background-position:-1104px -960px !important}.product-icons-48.product-icons-apigateway-grey{background-position:-480px -976px !important}.product-icons-48.product-icons-apigateway{background-position:-576px -976px !important}.product-icons-64.product-icons-apigateway-grey{background-position:-256px -192px !important}.product-icons-64.product-icons-apigateway{background-position:0px -256px !important}.product-icons-32.product-icons-aps-grey{background-position:-1104px -928px !important}.product-icons-32.product-icons-aps{background-position:-1104px -896px !important}.product-icons-48.product-icons-aps-grey{background-position:-832px -432px !important}.product-icons-48.product-icons-aps{background-position:-832px -528px !important}.product-icons-64.product-icons-aps-grey{background-position:-128px -256px !important}.product-icons-64.product-icons-aps{background-position:-192px -256px !important}.product-icons-32.product-icons-ats-grey{background-position:-1104px -864px !important}.product-icons-32.product-icons-ats{background-position:-1104px -768px !important}.product-icons-48.product-icons-ats-grey{background-position:-768px -832px !important}.product-icons-48.product-icons-ats{background-position:-880px 0px !important}.product-icons-64.product-icons-ats-grey{background-position:-320px 0px !important}.product-icons-64.product-icons-ats{background-position:-320px -64px !important}.product-icons-32.product-icons-batchcompute-grey{background-position:-1104px -736px !important}.product-icons-32.product-icons-batchcompute{background-position:-1104px -704px !important}.product-icons-48.product-icons-batchcompute-grey{background-position:-192px -880px !important}.product-icons-48.product-icons-batchcompute{background-position:-288px -880px !important}.product-icons-64.product-icons-batchcompute-grey{background-position:-320px -192px !important}.product-icons-64.product-icons-batchcompute{background-position:-320px -256px !important}.product-icons-32.product-icons-cas-grey{background-position:-1104px -672px !important}.product-icons-32.product-icons-cas{background-position:-1104px -576px !important}.product-icons-48.product-icons-cas-grey{background-position:-928px -432px !important}.product-icons-48.product-icons-cas{background-position:-928px -480px !important}.product-icons-64.product-icons-cas-grey{background-position:-64px -320px !important}.product-icons-64.product-icons-cas{background-position:-128px -320px !important}.product-icons-32.product-icons-cdi-grey{background-position:-1104px -544px !important}.product-icons-32.product-icons-cdi{background-position:-1104px -512px !important}.product-icons-48.product-icons-cdi-grey{background-position:-672px -928px !important}.product-icons-48.product-icons-cdi{background-position:-720px -928px !important}.product-icons-64.product-icons-cdi-grey{background-position:-256px -320px !important}.product-icons-64.product-icons-cdi{background-position:-320px -320px !important}.product-icons-32.product-icons-cdn-grey{background-position:-1104px -480px !important}.product-icons-32.product-icons-cdn{background-position:-1104px -384px !important}.product-icons-48.product-icons-cdn-grey{background-position:-976px -864px !important}.product-icons-48.product-icons-cdn{background-position:-976px -912px !important}.product-icons-64.product-icons-cdn-grey{background-position:-384px -64px !important}.product-icons-64.product-icons-cdn{background-position:-384px -128px !important}.product-icons-32.product-icons-cdp-grey{background-position:-1104px -352px !important}.product-icons-32.product-icons-cdp{background-position:-1104px -320px !important}.product-icons-48.product-icons-cdp-grey{background-position:-1024px -48px !important}.product-icons-48.product-icons-cdp{background-position:-1024px -96px !important}.product-icons-64.product-icons-cdp-grey{background-position:-384px -256px !important}.product-icons-64.product-icons-cdp{background-position:-384px -320px !important}.product-icons-32.product-icons-cli-grey{background-position:-1104px -288px !important}.product-icons-32.product-icons-cli{background-position:-1104px -192px !important}.product-icons-48.product-icons-cli-grey{background-position:-832px -144px !important}.product-icons-48.product-icons-cli{background-position:-832px -192px !important}.product-icons-64.product-icons-cli-grey{background-position:-64px -384px !important}.product-icons-64.product-icons-cli{background-position:-128px -384px !important}.product-icons-32.product-icons-containerservice-grey{background-position:-1104px -160px !important}.product-icons-32.product-icons-containerservice{background-position:-1104px -128px !important}.product-icons-48.product-icons-containerservice-grey{background-position:-832px -720px !important}.product-icons-48.product-icons-containerservice{background-position:-832px -768px !important}.product-icons-64.product-icons-containerservice-grey{background-position:-256px -384px !important}.product-icons-64.product-icons-containerservice{background-position:-320px -384px !important}.product-icons-32.product-icons-cps-grey{background-position:-1104px -96px !important}.product-icons-32.product-icons-cps{background-position:-1104px 0px !important}.product-icons-48.product-icons-cps-grey{background-position:-480px -832px !important}.product-icons-48.product-icons-cps{background-position:-528px -832px !important}.product-icons-64.product-icons-cps-grey{background-position:-448px 0px !important}.product-icons-64.product-icons-cps{background-position:-448px -64px !important}.product-icons-32.product-icons-csb-grey{background-position:-1056px -1056px !important}.product-icons-32.product-icons-csb{background-position:-1024px -1056px !important}.product-icons-48.product-icons-csb-grey{background-position:-880px -192px !important}.product-icons-48.product-icons-csb{background-position:-880px -240px !important}.product-icons-64.product-icons-csb-grey{background-position:-448px -192px !important}.product-icons-64.product-icons-csb{background-position:-448px -256px !important}.product-icons-32.product-icons-ddos-grey{background-position:-992px -1056px !important}.product-icons-32.product-icons-ddos{background-position:-896px -1056px !important}.product-icons-48.product-icons-ddos-grey{background-position:-880px -768px !important}.product-icons-48.product-icons-ddos{background-position:-880px -816px !important}.product-icons-64.product-icons-ddos-grey{background-position:-448px -384px !important}.product-icons-64.product-icons-ddos{background-position:0px -448px !important}.product-icons-32.product-icons-ddosbasic-grey{background-position:-864px -1056px !important}.product-icons-32.product-icons-ddosbasic{background-position:-832px -1056px !important}.product-icons-48.product-icons-ddosbasic-grey{background-position:-480px -880px !important}.product-icons-48.product-icons-ddosbasic{background-position:-528px -880px !important}.product-icons-64.product-icons-ddosbasic-grey{background-position:-128px -448px !important}.product-icons-64.product-icons-ddosbasic{background-position:-192px -448px !important}.product-icons-32.product-icons-dfs-grey{background-position:-800px -1056px !important}.product-icons-32.product-icons-dfs{background-position:-704px -1056px !important}.product-icons-48.product-icons-dfs-grey{background-position:-928px -144px !important}.product-icons-48.product-icons-dfs{background-position:-928px -192px !important}.product-icons-64.product-icons-dfs-grey{background-position:-320px -448px !important}.product-icons-64.product-icons-dfs{background-position:-384px -448px !important}.product-icons-32.product-icons-directmail-grey{background-position:-672px -1056px !important}.product-icons-32.product-icons-directmail{background-position:-640px -1056px !important}.product-icons-48.product-icons-directmail-grey{background-position:-928px -672px !important}.product-icons-48.product-icons-directmail{background-position:-928px -720px !important}.product-icons-64.product-icons-directmail-grey{background-position:-512px 0px !important}.product-icons-64.product-icons-directmail{background-position:-512px -64px !important}.product-icons-32.product-icons-disk-grey{background-position:-608px -1056px !important}.product-icons-32.product-icons-disk{background-position:-512px -1056px !important}.product-icons-48.product-icons-disk-grey{background-position:-336px -928px !important}.product-icons-48.product-icons-disk{background-position:-384px -928px !important}.product-icons-64.product-icons-disk-grey{background-position:-512px -192px !important}.product-icons-64.product-icons-disk{background-position:-512px -256px !important}.product-icons-32.product-icons-dms-grey{background-position:-480px -1056px !important}.product-icons-32.product-icons-dms{background-position:-448px -1056px !important}.product-icons-48.product-icons-dms-grey{background-position:-912px -928px !important}.product-icons-48.product-icons-dms{background-position:-976px 0px !important}.product-icons-64.product-icons-dms-grey{background-position:-512px -384px !important}.product-icons-64.product-icons-dms{background-position:-512px -448px !important}.product-icons-32.product-icons-dpc-grey{background-position:-416px -1056px !important}.product-icons-32.product-icons-dpc{background-position:-320px -1056px !important}.product-icons-48.product-icons-dpc-grey{background-position:-976px -528px !important}.product-icons-48.product-icons-dpc{background-position:-976px -576px !important}.product-icons-64.product-icons-dpc-grey{background-position:-64px -512px !important}.product-icons-64.product-icons-dpc{background-position:-128px -512px !important}.product-icons-32.product-icons-drds-grey{background-position:-288px -1056px !important}.product-icons-32.product-icons-drds{background-position:-256px -1056px !important}.product-icons-48.product-icons-drds-grey{background-position:-144px -976px !important}.product-icons-48.product-icons-drds{background-position:-192px -976px !important}.product-icons-64.product-icons-drds-grey{background-position:-256px -512px !important}.product-icons-64.product-icons-drds{background-position:-320px -512px !important}.product-icons-32.product-icons-dsi-grey{background-position:-224px -1056px !important}.product-icons-32.product-icons-dsi{background-position:-128px -1056px !important}.product-icons-48.product-icons-dsi-grey{background-position:-720px -976px !important}.product-icons-48.product-icons-dsi{background-position:-768px -976px !important}.product-icons-64.product-icons-dsi-grey{background-position:-448px -512px !important}.product-icons-64.product-icons-dsi{background-position:-512px -512px !important}.product-icons-32.product-icons-dts-grey{background-position:-96px -1056px !important}.product-icons-32.product-icons-dts{background-position:-64px -1056px !important}.product-icons-48.product-icons-dts-grey{background-position:-1024px -288px !important}.product-icons-48.product-icons-dts{background-position:-1024px -336px !important}.product-icons-64.product-icons-dts-grey{background-position:-576px -64px !important}.product-icons-64.product-icons-dts{background-position:0px 0px !important}.product-icons-32.product-icons-eclipse-grey{background-position:-32px -1056px !important}.product-icons-32.product-icons-eclipse{background-position:-1072px -992px !important}.product-icons-48.product-icons-eclipse-grey{background-position:-832px 0px !important}.product-icons-48.product-icons-eclipse{background-position:-832px -48px !important}.product-icons-64.product-icons-eclipse-grey{background-position:-576px -256px !important}.product-icons-64.product-icons-eclipse{background-position:-576px -320px !important}.product-icons-32.product-icons-ecs-grey{background-position:-1072px -960px !important}.product-icons-32.product-icons-ecs{background-position:-1072px -928px !important}.product-icons-48.product-icons-ecs-grey{background-position:-832px -288px !important}.product-icons-48.product-icons-ecs{background-position:-832px -336px !important}.product-icons-64.product-icons-ecs-grey{background-position:-576px -448px !important}.product-icons-64.product-icons-ecs{background-position:-576px -512px !important}.product-icons-32.product-icons-edas-grey{background-position:-1072px -896px !important}.product-icons-32.product-icons-edas{background-position:-1072px -800px !important}.product-icons-48.product-icons-edas-grey{background-position:-832px -576px !important}.product-icons-48.product-icons-edas{background-position:-832px -624px !important}.product-icons-64.product-icons-edas-grey{background-position:-64px -576px !important}.product-icons-64.product-icons-edas{background-position:-128px -576px !important}.product-icons-32.product-icons-elp-grey{background-position:-1072px -768px !important}.product-icons-32.product-icons-elp{background-position:-1072px -736px !important}.product-icons-48.product-icons-elp-grey{background-position:-48px -832px !important}.product-icons-48.product-icons-elp{background-position:-96px -832px !important}.product-icons-64.product-icons-elp-grey{background-position:-256px -576px !important}.product-icons-64.product-icons-elp{background-position:-320px -576px !important}.product-icons-32.product-icons-emapreduce-grey{background-position:-1072px -704px !important}.product-icons-32.product-icons-emapreduce{background-position:-1072px -608px !important}.product-icons-48.product-icons-emapreduce-grey{background-position:-336px -832px !important}.product-icons-48.product-icons-emapreduce{background-position:-384px -832px !important}.product-icons-64.product-icons-emapreduce-grey{background-position:-448px -576px !important}.product-icons-64.product-icons-emapreduce{background-position:-512px -576px !important}.product-icons-32.product-icons-esn-grey{background-position:-1072px -576px !important}.product-icons-32.product-icons-esn{background-position:-1072px -544px !important}.product-icons-48.product-icons-esn-grey{background-position:-624px -832px !important}.product-icons-48.product-icons-esn{background-position:-672px -832px !important}.product-icons-64.product-icons-esn-grey{background-position:-640px 0px !important}.product-icons-64.product-icons-esn{background-position:-640px -64px !important}.product-icons-32.product-icons-ess-grey{background-position:-1072px -512px !important}.product-icons-32.product-icons-ess{background-position:-1072px -416px !important}.product-icons-48.product-icons-ess-grey{background-position:-880px -48px !important}.product-icons-48.product-icons-ess{background-position:-880px -96px !important}.product-icons-64.product-icons-ess-grey{background-position:-640px -192px !important}.product-icons-64.product-icons-ess{background-position:-640px -256px !important}.product-icons-32.product-icons-expressconnect-grey{background-position:-1072px -384px !important}.product-icons-32.product-icons-expressconnect{background-position:-1072px -352px !important}.product-icons-48.product-icons-expressconnect-grey{background-position:-880px -336px !important}.product-icons-48.product-icons-expressconnect{background-position:-880px -384px !important}.product-icons-64.product-icons-expressconnect-grey{background-position:-640px -384px !important}.product-icons-64.product-icons-expressconnect{background-position:-640px -448px !important}.product-icons-32.product-icons-havip-grey{background-position:-1072px -320px !important}.product-icons-32.product-icons-havip{background-position:-1072px -224px !important}.product-icons-48.product-icons-havip-grey{background-position:-880px -624px !important}.product-icons-48.product-icons-havip{background-position:-880px -672px !important}.product-icons-64.product-icons-havip-grey{background-position:-640px -576px !important}.product-icons-64.product-icons-havip{background-position:0px -640px !important}.product-icons-32.product-icons-hpc-grey{background-position:-1072px -192px !important}.product-icons-32.product-icons-hpc{background-position:-1072px -160px !important}.product-icons-48.product-icons-hpc-grey{background-position:-48px -880px !important}.product-icons-48.product-icons-hpc{background-position:-96px -880px !important}.product-icons-64.product-icons-hpc-grey{background-position:-128px -640px !important}.product-icons-64.product-icons-hpc{background-position:-192px -640px !important}.product-icons-32.product-icons-hsm-grey{background-position:-1072px -128px !important}.product-icons-32.product-icons-hsm{background-position:-1072px -32px !important}.product-icons-48.product-icons-hsm-grey{background-position:-336px -880px !important}.product-icons-48.product-icons-hsm{background-position:-384px -880px !important}.product-icons-64.product-icons-hsm-grey{background-position:-320px -640px !important}.product-icons-64.product-icons-hsm{background-position:-384px -640px !important}.product-icons-32.product-icons-iot-grey{background-position:-1072px 0px !important}.product-icons-32.product-icons-iot{background-position:-1024px -1024px !important}.product-icons-48.product-icons-iot-grey{background-position:-624px -880px !important}.product-icons-48.product-icons-iot{background-position:-672px -880px !important}.product-icons-64.product-icons-iot-grey{background-position:-512px -640px !important}.product-icons-64.product-icons-iot{background-position:-576px -640px !important}.product-icons-32.product-icons-jiankong-grey{background-position:-992px -1024px !important}.product-icons-32.product-icons-jiankong{background-position:-896px -1024px !important}.product-icons-48.product-icons-jiankong-grey{background-position:-928px 0px !important}.product-icons-48.product-icons-jiankong{background-position:-928px -48px !important}.product-icons-64.product-icons-jiankong-grey{background-position:-704px 0px !important}.product-icons-64.product-icons-jiankong{background-position:-704px -64px !important}.product-icons-32.product-icons-keyongxingzhongxin-grey{background-position:-864px -1024px !important}.product-icons-32.product-icons-keyongxingzhongxin{background-position:-832px -1024px !important}.product-icons-48.product-icons-keyongxingzhongxin-grey{background-position:-928px -288px !important}.product-icons-48.product-icons-keyongxingzhongxin{background-position:-144px -832px !important}.product-icons-64.product-icons-keyongxingzhongxin-grey{background-position:-704px -192px !important}.product-icons-64.product-icons-keyongxingzhongxin{background-position:-704px -256px !important}.product-icons-32.product-icons-kms-grey{background-position:-704px -1024px !important}.product-icons-32.product-icons-kms{background-position:-672px -1024px !important}.product-icons-48.product-icons-kms-grey{background-position:-928px -576px !important}.product-icons-48.product-icons-kms{background-position:-928px -624px !important}.product-icons-64.product-icons-kms-grey{background-position:-704px -448px !important}.product-icons-64.product-icons-kms{background-position:-704px -512px !important}.product-icons-32.product-icons-kvstore-grey{background-position:-640px -1024px !important}.product-icons-32.product-icons-kvstore{background-position:-608px -1024px !important}.product-icons-48.product-icons-kvstore-grey{background-position:-928px -864px !important}.product-icons-48.product-icons-kvstore{background-position:0px -928px !important}.product-icons-64.product-icons-kvstore-grey{background-position:-704px -576px !important}.product-icons-64.product-icons-kvstore{background-position:-704px -640px !important}.product-icons-32.product-icons-livevideo-grey{background-position:-512px -1024px !important}.product-icons-32.product-icons-livevideo{background-position:-480px -1024px !important}.product-icons-48.product-icons-livevideo-grey{background-position:-240px -928px !important}.product-icons-48.product-icons-livevideo{background-position:-288px -928px !important}.product-icons-64.product-icons-livevideo-grey{background-position:-128px -704px !important}.product-icons-64.product-icons-livevideo{background-position:-192px -704px !important}.product-icons-32.product-icons-lvwang-grey{background-position:-448px -1024px !important}.product-icons-32.product-icons-lvwang{background-position:-416px -1024px !important}.product-icons-48.product-icons-lvwang-grey{background-position:-528px -928px !important}.product-icons-48.product-icons-lvwang{background-position:-576px -928px !important}.product-icons-64.product-icons-lvwang-grey{background-position:-256px -704px !important}.product-icons-64.product-icons-lvwang{background-position:-320px -704px !important}.product-icons-32.product-icons-mac-grey{background-position:-320px -1024px !important}.product-icons-32.product-icons-mac{background-position:-288px -1024px !important}.product-icons-48.product-icons-mac-grey{background-position:-816px -928px !important}.product-icons-48.product-icons-mac{background-position:-864px -928px !important}.product-icons-64.product-icons-mac-grey{background-position:-512px -704px !important}.product-icons-64.product-icons-mac{background-position:-576px -704px !important}.product-icons-32.product-icons-man-grey{background-position:-256px -1024px !important}.product-icons-32.product-icons-man{background-position:-224px -1024px !important}.product-icons-48.product-icons-man-grey{background-position:-976px -144px !important}.product-icons-48.product-icons-man{background-position:-976px -192px !important}.product-icons-64.product-icons-man-grey{background-position:-640px -704px !important}.product-icons-64.product-icons-man{background-position:-704px -704px !important}.product-icons-32.product-icons-mns-grey{background-position:-128px -1024px !important}.product-icons-32.product-icons-mns{background-position:-96px -1024px !important}.product-icons-48.product-icons-mns-grey{background-position:-976px -432px !important}.product-icons-48.product-icons-mns{background-position:-976px -480px !important}.product-icons-64.product-icons-mns-grey{background-position:-768px -128px !important}.product-icons-64.product-icons-mns{background-position:-768px -192px !important}.product-icons-32.product-icons-mongodb-grey{background-position:-64px -1024px !important}.product-icons-32.product-icons-mongodb{background-position:-32px -1024px !important}.product-icons-48.product-icons-mongodb-grey{background-position:-976px -720px !important}.product-icons-48.product-icons-mongodb{background-position:-976px -768px !important}.product-icons-64.product-icons-mongodb-grey{background-position:-768px -256px !important}.product-icons-64.product-icons-mongodb{background-position:-768px -320px !important}.product-icons-32.product-icons-mqs-grey{background-position:-1024px -960px !important}.product-icons-32.product-icons-mqs{background-position:-1024px -928px !important}.product-icons-48.product-icons-mqs-grey{background-position:-48px -976px !important}.product-icons-48.product-icons-mqs{background-position:-96px -976px !important}.product-icons-64.product-icons-mqs-grey{background-position:-768px -512px !important}.product-icons-64.product-icons-mqs{background-position:-768px -576px !important}.product-icons-32.product-icons-mss-grey{background-position:-1024px -896px !important}.product-icons-32.product-icons-mss{background-position:-1024px -864px !important}.product-icons-48.product-icons-mss-grey{background-position:-336px -976px !important}.product-icons-48.product-icons-mss{background-position:-384px -976px !important}.product-icons-64.product-icons-mss-grey{background-position:-768px -640px !important}.product-icons-64.product-icons-mss{background-position:-768px -704px !important}.product-icons-32.product-icons-mts-grey{background-position:-1024px -768px !important}.product-icons-32.product-icons-mts{background-position:-1024px -736px !important}.product-icons-48.product-icons-mts-grey{background-position:-624px -976px !important}.product-icons-48.product-icons-mts{background-position:-672px -976px !important}.product-icons-64.product-icons-mts-grey{background-position:-128px -768px !important}.product-icons-64.product-icons-mts{background-position:-192px -768px !important}.product-icons-32.product-icons-nas-grey{background-position:-1024px -704px !important}.product-icons-32.product-icons-nas{background-position:-1024px -672px !important}.product-icons-48.product-icons-nas-grey{background-position:-912px -976px !important}.product-icons-48.product-icons-nas{background-position:-960px -976px !important}.product-icons-64.product-icons-nas-grey{background-position:-256px -768px !important}.product-icons-64.product-icons-nas{background-position:-320px -768px !important}.product-icons-32.product-icons-oas-grey{background-position:-1024px -576px !important}.product-icons-32.product-icons-oas{background-position:-1024px -544px !important}.product-icons-48.product-icons-oas-grey{background-position:-1024px -192px !important}.product-icons-48.product-icons-oas{background-position:-1024px -240px !important}.product-icons-64.product-icons-oas-grey{background-position:-512px -768px !important}.product-icons-64.product-icons-oas{background-position:-576px -768px !important}.product-icons-32.product-icons-oceanbase-grey{background-position:0px -1056px !important}.product-icons-32.product-icons-oceanbase{background-position:-1024px -512px !important}.product-icons-48.product-icons-oceanbase-grey{background-position:-1024px -432px !important}.product-icons-48.product-icons-oceanbase{background-position:-1024px -384px !important}.product-icons-64.product-icons-oceanbase-grey{background-position:-448px -768px !important}.product-icons-64.product-icons-oceanbase{background-position:-384px -768px !important}.product-icons-32.product-icons-ocs-grey{background-position:-1024px -608px !important}.product-icons-32.product-icons-ocs{background-position:-1024px -640px !important}.product-icons-48.product-icons-ocs-grey{background-position:-864px -976px !important}.product-icons-48.product-icons-ocs{background-position:-816px -976px !important}.product-icons-64.product-icons-ocs-grey{background-position:-64px -768px !important}.product-icons-64.product-icons-ocs{background-position:0px -768px !important}.product-icons-32.product-icons-odps-grey{background-position:-1024px -800px !important}.product-icons-32.product-icons-odps{background-position:-1024px -832px !important}.product-icons-48.product-icons-odps-grey{background-position:-288px -976px !important}.product-icons-48.product-icons-odps{background-position:-240px -976px !important}.product-icons-64.product-icons-odps-grey{background-position:-768px -448px !important}.product-icons-64.product-icons-odps{background-position:-768px -384px !important}.product-icons-32.product-icons-ons-grey{background-position:-1024px -992px !important}.product-icons-32.product-icons-ons{background-position:0px -1024px !important}.product-icons-48.product-icons-ons-grey{background-position:-976px -672px !important}.product-icons-48.product-icons-ons{background-position:-976px -624px !important}.product-icons-64.product-icons-ons-grey{background-position:-768px -64px !important}.product-icons-64.product-icons-ons{background-position:-768px 0px !important}.product-icons-32.product-icons-opensearch-grey{background-position:-160px -1024px !important}.product-icons-32.product-icons-opensearch{background-position:-192px -1024px !important}.product-icons-48.product-icons-opensearch-grey{background-position:-976px -96px !important}.product-icons-48.product-icons-opensearch{background-position:-976px -48px !important}.product-icons-64.product-icons-opensearch-grey{background-position:-448px -704px !important}.product-icons-64.product-icons-opensearch{background-position:-384px -704px !important}.product-icons-32.product-icons-oss-grey{background-position:-352px -1024px !important}.product-icons-32.product-icons-oss{background-position:-384px -1024px !important}.product-icons-48.product-icons-oss-grey{background-position:-480px -928px !important}.product-icons-48.product-icons-oss{background-position:-432px -928px !important}.product-icons-64.product-icons-oss-grey{background-position:-64px -704px !important}.product-icons-64.product-icons-oss{background-position:0px -704px !important}.product-icons-32.product-icons-ots-grey{background-position:-544px -1024px !important}.product-icons-32.product-icons-ots{background-position:-576px -1024px !important}.product-icons-48.product-icons-ots-grey{background-position:-928px -816px !important}.product-icons-48.product-icons-ots{background-position:-928px -768px !important}.product-icons-64.product-icons-ots-grey{background-position:-704px -384px !important}.product-icons-64.product-icons-ots{background-position:-704px -320px !important}.product-icons-32.product-icons-petadata-grey{background-position:-736px -1024px !important}.product-icons-32.product-icons-petadata{background-position:-768px -1024px !important}.product-icons-48.product-icons-petadata-grey{background-position:-928px -336px !important}.product-icons-48.product-icons-petadata{background-position:-928px -240px !important}.product-icons-64.product-icons-petadata-grey{background-position:-704px -128px !important}.product-icons-64.product-icons-petadata{background-position:-640px -640px !important}.product-icons-32.product-icons-pts-grey{background-position:-928px -1024px !important}.product-icons-32.product-icons-pts{background-position:-960px -1024px !important}.product-icons-48.product-icons-pts-grey{background-position:-816px -880px !important}.product-icons-48.product-icons-pts{background-position:-576px -880px !important}.product-icons-64.product-icons-pts-grey{background-position:-448px -640px !important}.product-icons-64.product-icons-pts{background-position:-256px -640px !important}.product-icons-32.product-icons-ram-grey{background-position:-1072px -64px !important}.product-icons-32.product-icons-ram{background-position:-1072px -96px !important}.product-icons-48.product-icons-ram-grey{background-position:-240px -880px !important}.product-icons-48.product-icons-ram{background-position:0px -880px !important}.product-icons-64.product-icons-ram-grey{background-position:-64px -640px !important}.product-icons-64.product-icons-ram{background-position:-640px -512px !important}.product-icons-32.product-icons-rds-grey{background-position:-1072px -256px !important}.product-icons-32.product-icons-rds{background-position:-1072px -288px !important}.product-icons-48.product-icons-rds-grey{background-position:-880px -528px !important}.product-icons-48.product-icons-rds{background-position:-880px -288px !important}.product-icons-64.product-icons-rds-grey{background-position:-640px -320px !important}.product-icons-64.product-icons-rds{background-position:-640px -128px !important}.product-icons-32.product-icons-ros-grey{background-position:-1072px -448px !important}.product-icons-32.product-icons-ros{background-position:-1072px -480px !important}.product-icons-48.product-icons-ros-grey{background-position:-816px -832px !important}.product-icons-48.product-icons-ros{background-position:-576px -832px !important}.product-icons-64.product-icons-ros-grey{background-position:-576px -576px !important}.product-icons-64.product-icons-ros{background-position:-384px -576px !important}.product-icons-32.product-icons-sas-grey{background-position:-1072px -640px !important}.product-icons-32.product-icons-sas{background-position:-1072px -672px !important}.product-icons-48.product-icons-sas-grey{background-position:-240px -832px !important}.product-icons-48.product-icons-sas{background-position:0px -832px !important}.product-icons-64.product-icons-sas-grey{background-position:-192px -576px !important}.product-icons-64.product-icons-sas{background-position:0px -576px !important}.product-icons-32.product-icons-scan-grey{background-position:-1072px -832px !important}.product-icons-32.product-icons-scan{background-position:-1072px -864px !important}.product-icons-48.product-icons-scan-grey{background-position:-832px -480px !important}.product-icons-48.product-icons-scan{background-position:-832px -240px !important}.product-icons-64.product-icons-scan-grey{background-position:-576px -384px !important}.product-icons-64.product-icons-scan{background-position:-576px -192px !important}.product-icons-32.product-icons-slb-grey{background-position:-1072px -1024px !important}.product-icons-32.product-icons-slb{background-position:-1024px -480px !important}.product-icons-48.product-icons-slb-grey{background-position:-736px -768px !important}.product-icons-48.product-icons-slb{background-position:-1024px -144px !important}.product-icons-64.product-icons-slb-grey{background-position:-576px 0px !important}.product-icons-64.product-icons-slb{background-position:-384px -512px !important}.product-icons-32.product-icons-slm-grey{background-position:-160px -1056px !important}.product-icons-32.product-icons-slm{background-position:-192px -1056px !important}.product-icons-48.product-icons-slm-grey{background-position:-528px -976px !important}.product-icons-48.product-icons-slm{background-position:0px -976px !important}.product-icons-64.product-icons-slm-grey{background-position:-192px -512px !important}.product-icons-64.product-icons-slm{background-position:0px -512px !important}.product-icons-32.product-icons-sls-grey{background-position:-352px -1056px !important}.product-icons-32.product-icons-sls{background-position:-384px -1056px !important}.product-icons-48.product-icons-sls-grey{background-position:-976px -336px !important}.product-icons-48.product-icons-sls{background-position:-768px -928px !important}.product-icons-64.product-icons-sls-grey{background-position:-512px -320px !important}.product-icons-64.product-icons-sls{background-position:-512px -128px !important}.product-icons-32.product-icons-sos-grey{background-position:-544px -1056px !important}.product-icons-32.product-icons-sos{background-position:-576px -1056px !important}.product-icons-48.product-icons-sos-grey{background-position:-144px -928px !important}.product-icons-48.product-icons-sos{background-position:-928px -528px !important}.product-icons-64.product-icons-sos-grey{background-position:-448px -448px !important}.product-icons-64.product-icons-sos{background-position:-256px -448px !important}.product-icons-32.product-icons-toolsimage-grey{background-position:-736px -1056px !important}.product-icons-32.product-icons-toolsimage{background-position:-768px -1056px !important}.product-icons-48.product-icons-toolsimage-grey{background-position:-864px -880px !important}.product-icons-48.product-icons-toolsimage{background-position:-432px -880px !important}.product-icons-64.product-icons-toolsimage-grey{background-position:-64px -448px !important}.product-icons-64.product-icons-toolsimage{background-position:-448px -320px !important}.product-icons-32.product-icons-vipaegis-grey{background-position:-928px -1056px !important}.product-icons-32.product-icons-vipaegis{background-position:-960px -1056px !important}.product-icons-48.product-icons-vipaegis-grey{background-position:-880px -576px !important}.product-icons-48.product-icons-vipaegis{background-position:-880px -144px !important}.product-icons-64.product-icons-vipaegis-grey{background-position:-448px -128px !important}.product-icons-64.product-icons-vipaegis{background-position:-384px -384px !important}.product-icons-32.product-icons-visualstudio-grey{background-position:-1104px -32px !important}.product-icons-32.product-icons-visualstudio{background-position:-1104px -64px !important}.product-icons-48.product-icons-visualstudio-grey{background-position:-288px -832px !important}.product-icons-48.product-icons-visualstudio{background-position:-832px -672px !important}.product-icons-64.product-icons-visualstudio-grey{background-position:-192px -384px !important}.product-icons-64.product-icons-visualstudio{background-position:0px -384px !important}.product-icons-32.product-icons-vod-grey{background-position:-1104px -224px !important}.product-icons-32.product-icons-vod{background-position:-1104px -256px !important}.product-icons-48.product-icons-vod-grey{background-position:-784px -768px !important}.product-icons-48.product-icons-vod{background-position:-1024px 0px !important}.product-icons-64.product-icons-vod-grey{background-position:-384px -192px !important}.product-icons-64.product-icons-vod{background-position:-384px 0px !important}.product-icons-32.product-icons-vpc-grey{background-position:-1104px -416px !important}.product-icons-32.product-icons-vpc{background-position:-1104px -448px !important}.product-icons-48.product-icons-vpc-grey{background-position:-976px -384px !important}.product-icons-48.product-icons-vpc{background-position:-624px -928px !important}.product-icons-64.product-icons-vpc-grey{background-position:-192px -320px !important}.product-icons-64.product-icons-vpc{background-position:0px -320px !important}.product-icons-32.product-icons-waf-grey{background-position:-1104px -608px !important}.product-icons-32.product-icons-waf{background-position:-1104px -640px !important}.product-icons-48.product-icons-waf-grey{background-position:-928px -96px !important}.product-icons-48.product-icons-waf{background-position:-144px -880px !important}.product-icons-64.product-icons-waf-grey{background-position:-320px -128px !important}.product-icons-64.product-icons-waf{background-position:-256px -256px !important}.product-icons-32.product-icons-xianzhi-grey{background-position:-1104px -800px !important}.product-icons-32.product-icons-xianzhi{background-position:-1104px -832px !important}.product-icons-48.product-icons-xianzhi-grey{background-position:-432px -832px !important}.product-icons-48.product-icons-xianzhi{background-position:-832px -384px !important}.product-icons-64.product-icons-xianzhi-grey{background-position:-64px -256px !important}.product-icons-64.product-icons-xianzhi{background-position:-256px -128px !important}.product-icons-32.product-icons-ysf-grey{background-position:-1104px -992px !important}.product-icons-32.product-icons-ysf{background-position:-1104px -1024px !important}.product-icons-48.product-icons-ysf-grey{background-position:-976px -816px !important}.product-icons-48.product-icons-ysf{background-position:-48px -928px !important}.product-icons-64.product-icons-ysf-grey{background-position:-192px -192px !important}.product-icons-64.product-icons-ysf{background-position:0px -192px !important}.product-icons-32.product-icons-yundun-grey{background-position:-96px -1088px !important}.product-icons-32.product-icons-yundun{background-position:-128px -1088px !important}.product-icons-48.product-icons-yundun-grey{background-position:-720px -832px !important}.product-icons-48.product-icons-yundun{background-position:-640px -768px !important}.product-icons-64.product-icons-yundun-grey{background-position:-192px 0px !important}.product-icons-64.product-icons-yundun{background-position:0px -128px !important}.product-icons-32.product-icons-yunjiankong-grey{background-position:-288px -1088px !important}.product-icons-32.product-icons-yunjiankong{background-position:-320px -1088px !important}.product-icons-48.product-icons-yunjiankong-grey{background-position:-880px -432px !important}.product-icons-48.product-icons-yunjiankong{background-position:-976px -240px !important}.product-icons-64.product-icons-yunjiankong-grey{background-position:-64px -64px !important}.product-icons-64.product-icons-yunjiankong{background-position:-64px 0px !important}.console-search{box-sizing:border-box;float:left;margin-right:1px;position:relative;z-index:11}.console-search *{box-sizing:border-box}.console-search .console-search-ask{position:relative}.console-search .console-search-ask .console-search-ask-input{width:200px;height:40px;background:#2a2e31;border:0;padding:12px 30px 12px 10px;display:inline-block;color:#999;-webkit-border-radius:1px 1px;-moz-border-radius:1px / 1px;border-radius:1px / 1px;-o-transition:all 0.3s, 0.3s;-ms-transition:all 0.3s, 0.3s;-moz-transition:all 0.3s, 0.3s;-webkit-transition:all 0.3s, 0.3s}.console-search .console-search-ask .console-search-ask-input:focus{outline:none}.console-search .console-search-ask .console-search-mark{font-size:16px;line-height:30px;position:absolute;height:100%;width:40px;color:#eee;padding:5px;text-decoration:none;display:block}.console-search .console-search-ask .console-search-questionmark{right:0;top:0}.console-search .console-search-ask-active .console-search-ask-input{width:320px;height:40px;background:#f2f2f2;border:0;color:#000}.console-search .console-search-ask-active .console-search-questionmark{color:#0099cc}.console-search .console-search-answer{width:402px;margin-top:2px;left:-1px;border:1px solid #d4d4d4;border-top:none;background:#fff;position:absolute;-webkit-border-radius:2px 2px;-moz-border-radius:2px / 2px;border-radius:2px / 2px;text-shadow:1px}.console-search .console-search-answer .console-search-answer-head{background:#f8f8f8;border-bottom:1px solid #eee;height:42px}.console-search .console-search-answer .console-search-answer-head ul{list-style:none;margin:0;padding:0 24px}.console-search .console-search-answer .console-search-answer-head ul li{float:left;margin-right:14px;height:42px;line-height:42px}.console-search .console-search-answer .console-search-answer-head ul li a{display:block;width:100%;height:100%;color:#666;text-decoration:none}.console-search .console-search-answer .console-search-answer-head ul li a:hover{color:#ff6500;border-bottom:2px solid #ff6500}.console-search .console-search-answer .console-search-answer-head ul li.console-search-tab-active a{color:#ff6500;border-bottom:2px solid #ff6500}.console-search .console-search-answer .console-search-answer-body{padding:0 24px}.console-search .console-search-answer .console-search-answer-body .console-search-answer-list .console-search-answer-item{height:40px;line-height:40px;border-bottom:1px solid #eee}.console-search .console-search-answer .console-search-answer-body .console-search-answer-list .console-search-answer-item a{color:#00a2ca}.console-search .console-search-answer .console-search-answer-body .console-search-answer-more{height:40px;line-height:40px;text-align:right}.console-search .console-search-answer .console-search-answer-body .console-search-answer-more a{color:#00a2ca}.selector{width:100%;height:140px;border:1px solid #999;background-color:#FFF;overflow-x:hidden;overflow-y:auto}.selector .selector-list{list-style:none;margin:0px;padding:0px}.selector .selector-list .selector-item{height:32px;line-height:32px;overflow:hidden;border-bottom:1px solid #DDD;text-overflow:ellipsis;white-space:nowrap;text-indent:8px}.selector .selector-list .selector-item:hover{color:#06C;background-color:#FAFCFF;cursor:pointer}.selector .selector-list .selector-item.active{background-color:#37C;color:#FFF}.selector .selector-list .selector-item.disabled{color:#AAA;cursor:not-allowed;background-color:#FAFAFA}.selector .selector-msg{text-align:center;color:#999;height:32px;line-height:32px}.selector.selector-status-error .selector-msg{cursor:pointer}.selector.selector-status-hasmore .selector-msg{cursor:pointer}.list-selector .selector-box{width:45%;float:left}.list-selector .selector-box .inner-wrap{border:1px solid #bbb;height:200px;overflow:hidden}.list-selector .selector-box .inner-wrap .inner-head{border:1px solid #eee;margin:6px;position:relative}.list-selector .selector-box .inner-wrap .inner-head input{border:0;width:90%}.list-selector .selector-box .inner-wrap .inner-head input:focus{outline:0}.list-selector .selector-box .inner-wrap .inner-head .search{width:20px;height:20px;line-height:20px;padding:0 6px;cursor:pointer;position:absolute;right:0;top:0}.list-selector .selector-box .inner-wrap .inner-body{height:160px;overflow-y:auto;overflow-x:hidden;border:0}.list-selector .selector-box .inner-wrap .inner-body2{height:200px;overflow-y:auto;overflow-x:hidden;border:0}.list-selector .selector-mid{width:10%;text-align:center;float:left}.list-selector .selector-mid .mid-box{margin:10px auto;height:40px;width:40px;font-weight:bold;border:1px solid #bbb;background:#f7f7f7;display:block;cursor:pointer}.list-selector .selector-mid .mid-margin{margin-top:80px;margin-bottom:10px}.aliyun-console-table-search-list{min-width:100px}.console-global-notice{position:relative;margin-top:-1px;z-index:1}.console-global-notice .console-global-notice-nav{position:absolute;top:13px;left:25px;z-index:2}.console-global-notice .console-global-notice-nav span{width:12px;height:12px;display:block;float:left;background:#e8e8e8;border-radius:12px;margin-right:3px;cursor:pointer}.console-global-notice .console-global-notice-nav span.active{background:#999999}.console-global-notice .console-global-notice-list{height:50px;position:relative}.console-global-notice .console-global-notice-list .console-global-notice-item{position:absolute;width:100%;top:0;left:0;z-index:1;padding:10px 12px;border-radius:2px;margin-bottom:0px;text-align:left}.console-global-notice .console-global-notice-list .console-global-notice-item .console-global-notice-nomore{position:absolute;top:8px;right:12px}.console-global-notice .console-global-notice-list .console-global-notice-item .console-global-notice-content{padding-right:80px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.console-clip-copy{background:rgba(0,0,0,0.75);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#bf000000,endColorstr=#bf000000);position:absolute;color:#fff;line-height:24px;height:24px;overflow:hidden;padding:0px 12px 0px 30px}.console-clip-copy .rectangle1,.console-clip-copy .rectangle2{position:absolute;top:8px;left:13px;border:1px solid #fff;width:10px;height:12px;background:#404040;z-index:2}.console-clip-copy .rectangle2{left:15px;z-index:1;top:5px}.console-clip-copyed{padding-left:12px}.console-clip-copyed .rectangle1,.console-clip-copyed .rectangle2{display:none}.console-aside-wrap{position:fixed;z-index:105}.console-aside-wrap .console-aside{position:absolute;display:none}.console-aside-wrap .console-aside.console-aside-transform{-o-transition:all 0.3s, 0.3s;-ms-transition:all 0.3s, 0.3s;-moz-transition:all 0.3s, 0.3s;-webkit-transition:all 0.3s, 0.3s}.console-aside-wrap.top{top:0;width:100%}.console-aside-wrap.top .console-aside{top:0;width:100%}.console-aside-wrap.right{right:0;height:100%;top:0}.console-aside-wrap.right .console-aside{right:0;height:100%}.console-aside-wrap.left{left:0;height:100%;top:0}.console-aside-wrap.left .console-aside{left:0;height:100%}.console-aside-wrap.bottom{bottom:0;width:100%}.console-aside-wrap.bottom .console-aside{bottom:0;width:100%}.table-default-viewer{width:100%;background-color:#FFF}.table-default-viewer td{padding:11px 20px;border:1px solid #eeeeee}.table-default-viewer.off{display:none}.table-viewer-topbar-content{padding:0px;margin:0px;margin-right:8px}.table-viewer-header{margin-top:10px;margin-bottom:-1px;height:40px;background:#F5f6FA;line-height:38px;border:1px solid #e1e6eb;position:relative;border-left:4px solid #6d7781}.table-viewer-header .table-viewer-topbar-title{font-size:14px;color:#333333;display:inline-block;margin-left:16px}.table-viewer-header .table-viewer-topbar-content{margin-right:60px}.table-viewer-header .toggle-drop-down-icon{-webkit-user-select:none;-moz-user-select:none;user-select:none;-o-user-select:none;-ms-user-select:none;position:absolute;width:40px;height:39px;right:0;top:0;border-left:1px solid #e1e6eb}.table-viewer-header .table-viewer-dropdown{display:inline-block;margin:10px;font-size:20px}.simple-chart{height:100%;border:1px solid #ccd6e0;position:relative;-webkit-box-shadow:0px 0px 3px rgba(0,0,0,0.1);-moz-box-shadow:0px 0px 3px rgba(0,0,0,0.1);box-shadow:0px 0px 3px rgba(0,0,0,0.1)}.simple-chart .simple-chart-head{height:40px;line-height:40px;font-size:14px;padding-left:10px;background:#f8f9fb}.simple-chart .simple-chart-head-title{float:left}.simple-chart .simple-chart-operations{float:right}.simple-chart .simple-chart-operations .simple-chart-btn{display:inline-block;border-left:1px solid #e1e6eb;width:40px;text-align:center;cursor:pointer}.simple-chart .simple-chart-operations .simple-chart-btn span{font-size:14px;font-weight:bold;vertical-align:text-bottom}.simple-chart .simple-chart-body{border-top:1px solid #ccd6e0;padding:0px 2px 2px 0px}.simple-chart .simple-chart-body .highcharts-container{float:left}.simple-chart .simple-chart-body-inner{height:100%}.simple-chart .simple-chart-annulus-center{position:absolute;text-align:center}.simple-chart .simple-chart-annulus-center .simple-chart-annulus-number{color:#0099cc;font-size:32px}.simple-chart.simple-chart-nowrap{border:none;-webkit-box-shadow:0px 0px 0px;-moz-box-shadow:0px 0px 0px;box-shadow:0px 0px 0px}.simple-chart.simple-chart-nowrap .simple-chart-head{display:none}.simple-chart.simple-chart-nowrap .simple-chart-body{border:none;height:100% !important}.console-middle-page{margin-top:80px}.console-middle-page .console-middle-page-icon{text-align:right}.console-middle-page .console-middle-page-title{font-size:20px;margin:0;line-height:48px}.console-middle-page .console-middle-page-text{font-size:12px;color:#666}.console-middle-page .console-middle-page-link{border-top:1px solid #EEE;margin-top:16px;padding-top:16px}.console-middle-page .console-middle-page-link>a{padding-right:14px}.console-rank-select{height:32px;padding:8px 0px;overflow:hidden}.console-rank-select .rank-item{width:20px;height:16px;line-height:16px;overflow:hidden;display:block;float:left;font-size:16px;color:#CCC;cursor:pointer;zoom:1}.console-rank-select .rank-active{color:#09C}.console-rank-select .rank-hover{color:#3CF}.simple-loading{position:relative}.simple-loading .simple-loading-inner{margin-left:auto;margin-right:auto}.simple-loading-1:before,.simple-loading-1:after,.simple-loading-1{border-radius:50%;width:14px;height:14px;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation:simple-loading-1 1.8s infinite ease-in-out;animation:simple-loading-1 1.8s infinite ease-in-out}.simple-loading-1{font-size:10px;position:relative;text-indent:-9999em;-webkit-animation-delay:0.16s;animation-delay:0.16s}.simple-loading-1:before{left:-30px}.simple-loading-1:after{left:30px;-webkit-animation-delay:0.32s;animation-delay:0.32s}.simple-loading-1:before,.simple-loading-1:after{content:'';position:absolute;top:0}@-webkit-keyframes simple-loading-1{0%,80%,100%{box-shadow:0 2.5em 0 -1.3em #ddd}40%{box-shadow:0 2.5em 0 0 #ddd}}@keyframes simple-loading-1{0%,80%,100%{box-shadow:0 2.5em 0 -1.3em #ddd}40%{box-shadow:0 2.5em 0 0 #ddd}}.feedback-container{position:fixed;right:0px;bottom:100px;font-family:微软雅黑, 'Microsoft Yahei', 'Hiragino Sans GB', tahoma, arial, 宋体;font-size:12px;font-stretch:normal;font-style:normal;font-variant:normal;font-weight:normal;z-index:100}.feedback-container:hover .feedback-trigger .feedback-trigger-text,.feedback-container.active .feedback-trigger .feedback-trigger-text{width:56px;padding:0 0px 0 4px}.feedback-container h1,.feedback-container h2,.feedback-container textarea,.feedback-container input{margin:0;padding:0;border:0}.feedback-container .feedback{position:absolute;width:396px;background:rgba(0,162,202,0.5);padding:3px;right:81px;bottom:0}.feedback-container .feedback .feedback-panel{width:390px;background:#fff;padding:20px}.feedback-container .feedback .feedback-title{border-bottom:1px solid #eee;padding-bottom:8px;margin-bottom:15px}.feedback-container .feedback .feedback-title h1{color:#000;font-size:16px;display:inline-block}.feedback-container .feedback .feedback-title h1 i{cursor:pointer;margin-top:6px;float:right}.feedback-container .feedback .feedback-content{position:relative;margin-bottom:15px}.feedback-container .feedback .feedback-content h2{font-size:14px;margin-bottom:5px}.feedback-container .feedback .feedback-content .must{position:absolute;left:-10px;top:3px;color:red}.feedback-container .feedback textarea,.feedback-container .feedback input{font:12px/1.5 "\5FAE\8F6F\96C5\9ED1","Microsoft Yahei","Hiragino Sans GB",tahoma,arial,"\5B8B\4F53"}.feedback-container .feedback .feedback-content textarea{resize:none;height:106px;width:100%;padding:9px 10px;margin:6px 1px 1px 0;border:solid 1px #e8e8e8;border-radius:4px;line-height:16px;color:#333;font-size:12px;outline:0}.feedback-container .feedback .feedback-content .feedback-content-count{color:#666;margin-top:5px}.feedback-container .feedback .feedback-contact{margin-bottom:25px;position:relative}.feedback-container .feedback .feedback-contact h2{font-size:14px;margin-bottom:5px}.feedback-container .feedback .feedback-contact input{height:36px;margin-bottom:20px;resize:none;width:100%;padding:9px 10px;margin:6px 1px 1px 0;border:solid 1px #e8e8e8;line-height:16px;color:#333;font-size:12px;outline:0;background:#fff;border-radius:4px;text-decoration:none;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none}.feedback-container .feedback .feedback-contact input:focus{background:#e9fbfe;border:solid 1px #e8e8e8}.feedback-container .feedback .feedback-contact .inputError{position:absolute;bottom:-22px;left:2px;color:red}.feedback-container .feedback .submit-btn{padding:0;height:24px;line-height:24px;font-size:12px;display:inline-block;min-width:78px;background:#00a2ca;color:#fff;text-align:center;outline:none;border-radius:0;text-decoration:none;cursor:pointer}.feedback-container .feedback .submit-btn:hover{background:#33b5d4;border-color:#33b5d4;text-decoration:none}.feedback-container .feedback .feedback-footer{text-align:center;padding:5px 0}.feedback-container .feedback .submit-btn.disabled{background:#efefef;border-color:#efefef;color:#ccc;cursor:default}.feedback .thanks{font-size:16px;margin-left:15px;color:#000;position:relative;top:-9px}.feedback .feedback-close{display:inline-block;float:right;cursor:pointer;font-size:18px}.feedback .feedback-check{font-size:30px;color:#65ce00}.feedback-container .feedback-trigger{display:inline-block;background-color:#3d5061;font-size:12px;color:#fff;border-radius:4px;cursor:pointer;padding:4px 4px 1px 1px}.feedback-container .feedback-trigger .feedback-trigger-text{padding:0;display:inline-block;height:16px;overflow:hidden;width:0;-moz-transition:all 0.3s ease-in;-webkit-transition:all 0.3s ease-in;-o-transition:all 0.3s ease-in;transition:all 0.3s ease-in}.feedback-container .feedback-trigger .feedback-trigger-icon{padding:0;display:inline-block;font-size:15px}.console-guide-dialog .modal-dialog{width:840px}.console-guide-dialog .modal-body{margin-bottom:15px}.console-guide-dialog .carousel-control{display:none}.console-guide-dialog .carousel-indicators{bottom:-40px !important}.console-guide-dialog .carousel-indicators li{background:#e8e8e8;width:16px;height:16px;border-radius:12px;margin:0 0 0 2px}.console-guide-dialog .carousel-indicators li.active{background:#09c;width:16px;height:16px;border-radius:12px;margin:0 0 0 2px}.console-guide-dialog .console-guide-dialog-link{position:absolute;z-index:100;bottom:20px;right:20px}.console-tag-select{position:absolute;width:320px}.console-tag-select ul{list-style:none;box-shadow:none !important;display:block;margin:0;padding:0}.console-tag-select .console-tag-dropdown{position:absolute;top:100%;left:0;z-index:1000;margin-top:2px;width:326px}.console-tag-select .console-tag-dropdown .dropdown-menu{position:static;border:1px solid #e1e6eb;width:160px}.console-tag-select .console-tag-dropdown .dropdown-menu .console-tag-key-item-block{padding:7px 16px;display:block}.console-tag-select .console-tag-dropdown .dropdown-menu .console-tag-key-item-empty{color:#999;font-style:italic}.console-tag-select .console-tag-dropdown .dropdown-menu .console-tag-key-item-title .console-tag-key-item-block{background:#F5F6FA;border-bottom:1px solid #eee}.console-tag-select .console-tag-dropdown .dropdown-menu li a{border-bottom:1px solid #eee;white-space:pre-line;position:relative}.console-tag-select .console-tag-dropdown .dropdown-menu li a:hover,.console-tag-select .console-tag-dropdown .dropdown-menu li a:focus{background-color:#F9F9FA}.console-tag-select .console-tag-dropdown .dropdown-menu li:last-child a{border-bottom:none}.console-tag-select .console-tag-dropdown .dropdown-menu li.tag-active a,.console-tag-select .console-tag-dropdown .dropdown-menu li.tag-active a:hover,.console-tag-select .console-tag-dropdown .dropdown-menu li.tag-active a:focus{text-decoration:none;outline:0;-webkit-transition:backgroud 0.2s ease, 0.2s ease}.console-tag-select .console-tag-dropdown .dropdown-menu li.tag-active a .console-tag-selected-icon,.console-tag-select .console-tag-dropdown .dropdown-menu li.tag-active a:hover .console-tag-selected-icon,.console-tag-select .console-tag-dropdown .dropdown-menu li.tag-active a:focus .console-tag-selected-icon{display:block}.console-tag-select .console-tag-dropdown .dropdown-menu li.tag-key-active{border-left:2px solid #09c;margin-left:-1px}.console-tag-select .console-tag-dropdown .dropdown-menu li.tag-key-active a,.console-tag-select .console-tag-dropdown .dropdown-menu li.tag-key-active a:hover,.console-tag-select .console-tag-dropdown .dropdown-menu li.tag-key-active a:focus{padding-left:15px}.console-tag-select .console-tag-dropdown .dropdown-menu .console-tag-value-item a.tag-active,.console-tag-select .console-tag-dropdown .dropdown-menu .console-tag-value-item a.tag-active:hover,.console-tag-select .console-tag-dropdown .dropdown-menu .console-tag-value-item a.tag-active:focus{background-color:#F9F9FA}.console-tag-select .console-tag-dropdown .console-tag-value-dropdown{margin-left:-1px}.console-tag-select .console-tag-pagepick{padding:0 5px}.console-tag-select .console-tag-pagepick a{display:inline-block !important;border-bottom:none !important;-webkit-user-select:none}.console-tag-select .console-tag-selected-icon{display:none;float:right;font-size:14px;position:absolute;right:8px;top:8px}.console-tag-select .console-tag-label-wrap{padding-left:2px}.console-tag-select .console-tag-label{padding:5px 20px 5px 5px;background:#f1f1f1;position:relative;margin-left:2px}.console-tag-select .console-tag-label .console-tag-label-remove{position:absolute;top:0;right:0;width:20px;height:27px;line-height:27px;text-align:center;cursor:pointer}.console-tag-select-view .console-tag-label{padding:5px 20px 5px 5px;background:#f1f1f1;position:relative;margin-left:2px}.console-tag-select-view .console-tag-label .console-tag-label-remove{position:absolute;top:0;right:0;width:20px;height:27px;line-height:27px;text-align:center;cursor:pointer;color:#666}.console-tag-select-view .console-tag-label .console-tag-label-colon{padding:0 1px}.console-tag-edit .tag-panel{min-height:120px;border:2px dashed #ddd;padding:8px}.console-tag-edit .tag-panel .console-tag-select-view .console-tag-label{margin:4px}.console-tag-edit .tag-edit-tip{color:#999;font-style:italic;margin-top:8px}.console-tag-edit-form{display:inline-block}.console-tag-edit-form input.form-control{width:80px}.console-tag-edit-form.form-inline .form-group{margin:0 8px 0 0px}.console-tag-loading-overlay{position:absolute;height:100%;width:100%;top:0;left:0;background:#fff;opacity:0.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50)}.console-tag-loading-block{position:absolute;top:50%;left:50%}.console-searchbar-textinput{min-width:180px}.console-shuttle .title{border-left:1px solid #e1e6eb;border-right:1px solid #e1e6eb;border-top:1px solid #e1e6eb;background-color:#F5F6FA;padding-left:5px;line-height:30px}.console-shuttle .search{position:relative}.console-shuttle .search .icon-search{position:absolute;right:5px;top:10px;font-size:12px}.console-shuttle .search input{width:100%;height:32px}.console-shuttle .selector{border:1px solid #e1e6eb;height:240px}.console-shuttle .left-selector{height:220px}.console-shuttle .right-selector{height:240px}.console-shuttle .search-hidden{height:240px}.console-shuttle .btn{display:block;margin:12px 45%}.console-shuttle .console-selector{width:40%}.console-shuttle .console-selector-result{width:40%}.console-shuttle .selector-group-options{vertical-align:middle;width:20%;text-align:center;margin-top:100px}.console-shuttle .selector-list .line-head{line-height:12px;margin-bottom:8px;color:#000}.console-shuttle .selector-list .line-bottom{line-height:12px;color:#999}.console-shuttle .selector-list .line-column-left{display:inline-block}.console-shuttle .selector-list .line-column-right{display:inline-block;float:right;padding:5px 0;color:#000}.console-shuttle .selector-list .line-yellow-text{color:#ff6600}.console-shuttle .selector-list .selector-item{height:auto;line-height:normal;padding:10px;text-indent:0}.console-shuttle .selector-list .selector-item:hover{color:auto;background:#f9f9f9}.console-shuttle .selector-list .selector-item.active{color:#fff;background:#0099cb}.console-shuttle .selector-list .selector-item.active .line-head{color:#fff}.console-shuttle .selector-list .selector-item.active .line-bottom{color:#fff}.console-shuttle .selector-list .selector-item.active .line-yellow-text{color:#fff}.console-shuttle .selector-list .selector-item.active .line-column-right{color:#fff}body{font-size:12px}body,h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", STHeiti, "Microsoft YaHei"}a{color:#06C;cursor:pointer}a:hover{color:#039}label{font-size:100%}.nowrap{white-space:nowrap}.breakall{word-break:break-all;word-wrap:break-word}input::-ms-clear{display:none}input[type="radio"],input[type="checkbox"]{margin-top:2px;margin-top:1px \9}.console-container{padding:0 15px}.console-sidebar{border-right:1px solid #DDD}.console-sidebar .nav{margin-right:4px}.console-sidebar .nav li{border-bottom:1px solid #DDD;padding:4px 0px;position:relative}.console-sidebar .nav li a{color:#333;padding:6px 16px;border-left:2px solid #FFF}.console-sidebar .nav li a:hover{background-color:#FFF;border-left:2px solid #F90}.console-sidebar .nav li a span[class^="icon-"]{position:absolute;left:0px;top:8px;color:#999;font-size:14px}.console-sidebar .nav li.active a{color:#fff;border-left:2px solid #F90;background-color:#313844}.console-sidebar .nav .nav{margin-right:0px}.console-sidebar .nav .nav li{border-bottom:0px}.console-sidebar .nav .nav li a{text-indent:12px;background:#FFF;border-left-color:#FFF;color:#333}.console-sidebar .nav .nav li a:hover{background-color:#FFF;border-left:2px solid #F90}.console-sidebar .nav .nav li.active a{color:#fff;border-left:2px solid #F90;background-color:#313844}.console-instance-head{padding:3px 0px;border-bottom:1px solid #DDD}.console-instance-head h3.instance-id{display:inline-block;margin-right:8px;vertical-align:middle}.console-instance-head .pull-right{padding:16px 0px 10px}.dropdown-menu{font-size:12px;border-radius:0px;padding:0px;box-shadow:2px 2px 8px rgba(0,0,0,0.2)}.dropdown-menu li a{padding:7px 16px}.dropdown-menu .divider{margin:0px 0px}.console-chart{width:100%}.tooltip{word-break:break-all}.popover .popover-inner{padding:8px}.popover .popover-inner .popover-content{padding:0px}.console-not-service{margin-top:80px}.console-not-service .console-not-service-icon{text-align:right;padding-top:8px}.console-not-service .console-not-service-title{font-size:20px}.console-not-service .console-not-service-text{font-size:12px;color:#666}.console-not-service .console-not-service-link{border-top:1px solid #EEE;margin-top:16px;padding-top:16px}.console-step{height:24px;position:relative;margin-left:0px;margin-right:0px}.console-step .step{font-size:14px;height:24px;line-height:24px;color:#FFF;background:#cacaca;z-index:1;text-align:center}.console-step .step:before{content:'';display:block;position:absolute;left:-12px;z-index:8;top:0px;border-top:12px solid #cacaca;border-left:12px solid transparent !important;border-bottom:12px solid #cacaca}.console-step .step:after{content:'';display:block;width:16px;height:24px;position:absolute;right:0px;z-index:9;top:0px;border-top:12px solid transparent !important;border-left:12px solid #cacaca;border-bottom:12px solid transparent !important;background-color:#FFF}.console-step .step-first:before{display:none}.console-step .step-end:after{display:none}.console-step .step-pass{background-color:#99dcf3}.console-step .step-pass:after{border-color:#99dcf3}.console-step .step-pass:before{border-color:#99dcf3}.console-step .step-active{background-color:#00a0c7}.console-step .step-active:after{border-color:#00a0c7}.console-step .step-active:before{border-color:#00a0c7} diff --git a/pig-register/src/main/resources/static/console-ui/public/css/font-awesome.css b/pig-register/src/main/resources/static/console-ui/public/css/font-awesome.css deleted file mode 100644 index 4fec53fb..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/css/font-awesome.css +++ /dev/null @@ -1,2102 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/*! - * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ -/* FONT PATH - * -------------------------- */ -@font-face { - font-family: 'FontAwesome'; - src: url('../fonts/fontawesome-webfont.eot?v=4.5.0'); - src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg'); - font-weight: normal; - font-style: normal; -} -.fa { - display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -/* makes the font 33% larger relative to the icon container */ -.fa-lg { - font-size: 1.33333333em; - line-height: 0.75em; - vertical-align: -15%; -} -.fa-2x { - font-size: 2em; -} -.fa-3x { - font-size: 3em; -} -.fa-4x { - font-size: 4em; -} -.fa-5x { - font-size: 5em; -} -.fa-fw { - width: 1.28571429em; - text-align: center; -} -.fa-ul { - padding-left: 0; - margin-left: 2.14285714em; - list-style-type: none; -} -.fa-ul > li { - position: relative; -} -.fa-li { - position: absolute; - left: -2.14285714em; - width: 2.14285714em; - top: 0.14285714em; - text-align: center; -} -.fa-li.fa-lg { - left: -1.85714286em; -} -.fa-border { - padding: .2em .25em .15em; - border: solid 0.08em #eeeeee; - border-radius: .1em; -} -.fa-pull-left { - float: left; -} -.fa-pull-right { - float: right; -} -.fa.fa-pull-left { - margin-right: .3em; -} -.fa.fa-pull-right { - margin-left: .3em; -} -/* Deprecated as of 4.4.0 */ -.pull-right { - float: right; -} -.pull-left { - float: left; -} -.fa.pull-left { - margin-right: .3em; -} -.fa.pull-right { - margin-left: .3em; -} -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; -} -.fa-pulse { - -webkit-animation: fa-spin 1s infinite steps(8); - animation: fa-spin 1s infinite steps(8); -} -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -.fa-rotate-90 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.fa-rotate-180 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} -.fa-rotate-270 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.fa-flip-horizontal { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -.fa-flip-vertical { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - filter: none; -} -.fa-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle; -} -.fa-stack-1x, -.fa-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center; -} -.fa-stack-1x { - line-height: inherit; -} -.fa-stack-2x { - font-size: 2em; -} -.fa-inverse { - color: #ffffff; -} -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen - readers do not read off random characters that represent icons */ -.fa-glass:before { - content: "\f000"; -} -.fa-music:before { - content: "\f001"; -} -.fa-search:before { - content: "\f002"; -} -.fa-envelope-o:before { - content: "\f003"; -} -.fa-heart:before { - content: "\f004"; -} -.fa-star:before { - content: "\f005"; -} -.fa-star-o:before { - content: "\f006"; -} -.fa-user:before { - content: "\f007"; -} -.fa-film:before { - content: "\f008"; -} -.fa-th-large:before { - content: "\f009"; -} -.fa-th:before { - content: "\f00a"; -} -.fa-th-list:before { - content: "\f00b"; -} -.fa-check:before { - content: "\f00c"; -} -.fa-remove:before, -.fa-close:before, -.fa-times:before { - content: "\f00d"; -} -.fa-search-plus:before { - content: "\f00e"; -} -.fa-search-minus:before { - content: "\f010"; -} -.fa-power-off:before { - content: "\f011"; -} -.fa-signal:before { - content: "\f012"; -} -.fa-gear:before, -.fa-cog:before { - content: "\f013"; -} -.fa-trash-o:before { - content: "\f014"; -} -.fa-home:before { - content: "\f015"; -} -.fa-file-o:before { - content: "\f016"; -} -.fa-clock-o:before { - content: "\f017"; -} -.fa-road:before { - content: "\f018"; -} -.fa-download:before { - content: "\f019"; -} -.fa-arrow-circle-o-down:before { - content: "\f01a"; -} -.fa-arrow-circle-o-up:before { - content: "\f01b"; -} -.fa-inbox:before { - content: "\f01c"; -} -.fa-play-circle-o:before { - content: "\f01d"; -} -.fa-rotate-right:before, -.fa-repeat:before { - content: "\f01e"; -} -.fa-refresh:before { - content: "\f021"; -} -.fa-list-alt:before { - content: "\f022"; -} -.fa-lock:before { - content: "\f023"; -} -.fa-flag:before { - content: "\f024"; -} -.fa-headphones:before { - content: "\f025"; -} -.fa-volume-off:before { - content: "\f026"; -} -.fa-volume-down:before { - content: "\f027"; -} -.fa-volume-up:before { - content: "\f028"; -} -.fa-qrcode:before { - content: "\f029"; -} -.fa-barcode:before { - content: "\f02a"; -} -.fa-tag:before { - content: "\f02b"; -} -.fa-tags:before { - content: "\f02c"; -} -.fa-book:before { - content: "\f02d"; -} -.fa-bookmark:before { - content: "\f02e"; -} -.fa-print:before { - content: "\f02f"; -} -.fa-camera:before { - content: "\f030"; -} -.fa-font:before { - content: "\f031"; -} -.fa-bold:before { - content: "\f032"; -} -.fa-italic:before { - content: "\f033"; -} -.fa-text-height:before { - content: "\f034"; -} -.fa-text-width:before { - content: "\f035"; -} -.fa-align-left:before { - content: "\f036"; -} -.fa-align-center:before { - content: "\f037"; -} -.fa-align-right:before { - content: "\f038"; -} -.fa-align-justify:before { - content: "\f039"; -} -.fa-list:before { - content: "\f03a"; -} -.fa-dedent:before, -.fa-outdent:before { - content: "\f03b"; -} -.fa-indent:before { - content: "\f03c"; -} -.fa-video-camera:before { - content: "\f03d"; -} -.fa-photo:before, -.fa-image:before, -.fa-picture-o:before { - content: "\f03e"; -} -.fa-pencil:before { - content: "\f040"; -} -.fa-map-marker:before { - content: "\f041"; -} -.fa-adjust:before { - content: "\f042"; -} -.fa-tint:before { - content: "\f043"; -} -.fa-edit:before, -.fa-pencil-square-o:before { - content: "\f044"; -} -.fa-share-square-o:before { - content: "\f045"; -} -.fa-check-square-o:before { - content: "\f046"; -} -.fa-arrows:before { - content: "\f047"; -} -.fa-step-backward:before { - content: "\f048"; -} -.fa-fast-backward:before { - content: "\f049"; -} -.fa-backward:before { - content: "\f04a"; -} -.fa-play:before { - content: "\f04b"; -} -.fa-pause:before { - content: "\f04c"; -} -.fa-stop:before { - content: "\f04d"; -} -.fa-forward:before { - content: "\f04e"; -} -.fa-fast-forward:before { - content: "\f050"; -} -.fa-step-forward:before { - content: "\f051"; -} -.fa-eject:before { - content: "\f052"; -} -.fa-chevron-left:before { - content: "\f053"; -} -.fa-chevron-right:before { - content: "\f054"; -} -.fa-plus-circle:before { - content: "\f055"; -} -.fa-minus-circle:before { - content: "\f056"; -} -.fa-times-circle:before { - content: "\f057"; -} -.fa-check-circle:before { - content: "\f058"; -} -.fa-question-circle:before { - content: "\f059"; -} -.fa-info-circle:before { - content: "\f05a"; -} -.fa-crosshairs:before { - content: "\f05b"; -} -.fa-times-circle-o:before { - content: "\f05c"; -} -.fa-check-circle-o:before { - content: "\f05d"; -} -.fa-ban:before { - content: "\f05e"; -} -.fa-arrow-left:before { - content: "\f060"; -} -.fa-arrow-right:before { - content: "\f061"; -} -.fa-arrow-up:before { - content: "\f062"; -} -.fa-arrow-down:before { - content: "\f063"; -} -.fa-mail-forward:before, -.fa-share:before { - content: "\f064"; -} -.fa-expand:before { - content: "\f065"; -} -.fa-compress:before { - content: "\f066"; -} -.fa-plus:before { - content: "\f067"; -} -.fa-minus:before { - content: "\f068"; -} -.fa-asterisk:before { - content: "\f069"; -} -.fa-exclamation-circle:before { - content: "\f06a"; -} -.fa-gift:before { - content: "\f06b"; -} -.fa-leaf:before { - content: "\f06c"; -} -.fa-fire:before { - content: "\f06d"; -} -.fa-eye:before { - content: "\f06e"; -} -.fa-eye-slash:before { - content: "\f070"; -} -.fa-warning:before, -.fa-exclamation-triangle:before { - content: "\f071"; -} -.fa-plane:before { - content: "\f072"; -} -.fa-calendar:before { - content: "\f073"; -} -.fa-random:before { - content: "\f074"; -} -.fa-comment:before { - content: "\f075"; -} -.fa-magnet:before { - content: "\f076"; -} -.fa-chevron-up:before { - content: "\f077"; -} -.fa-chevron-down:before { - content: "\f078"; -} -.fa-retweet:before { - content: "\f079"; -} -.fa-shopping-cart:before { - content: "\f07a"; -} -.fa-folder:before { - content: "\f07b"; -} -.fa-folder-open:before { - content: "\f07c"; -} -.fa-arrows-v:before { - content: "\f07d"; -} -.fa-arrows-h:before { - content: "\f07e"; -} -.fa-bar-chart-o:before, -.fa-bar-chart:before { - content: "\f080"; -} -.fa-twitter-square:before { - content: "\f081"; -} -.fa-facebook-square:before { - content: "\f082"; -} -.fa-camera-retro:before { - content: "\f083"; -} -.fa-key:before { - content: "\f084"; -} -.fa-gears:before, -.fa-cogs:before { - content: "\f085"; -} -.fa-comments:before { - content: "\f086"; -} -.fa-thumbs-o-up:before { - content: "\f087"; -} -.fa-thumbs-o-down:before { - content: "\f088"; -} -.fa-star-half:before { - content: "\f089"; -} -.fa-heart-o:before { - content: "\f08a"; -} -.fa-sign-out:before { - content: "\f08b"; -} -.fa-linkedin-square:before { - content: "\f08c"; -} -.fa-thumb-tack:before { - content: "\f08d"; -} -.fa-external-link:before { - content: "\f08e"; -} -.fa-sign-in:before { - content: "\f090"; -} -.fa-trophy:before { - content: "\f091"; -} -.fa-github-square:before { - content: "\f092"; -} -.fa-upload:before { - content: "\f093"; -} -.fa-lemon-o:before { - content: "\f094"; -} -.fa-phone:before { - content: "\f095"; -} -.fa-square-o:before { - content: "\f096"; -} -.fa-bookmark-o:before { - content: "\f097"; -} -.fa-phone-square:before { - content: "\f098"; -} -.fa-twitter:before { - content: "\f099"; -} -.fa-facebook-f:before, -.fa-facebook:before { - content: "\f09a"; -} -.fa-github:before { - content: "\f09b"; -} -.fa-unlock:before { - content: "\f09c"; -} -.fa-credit-card:before { - content: "\f09d"; -} -.fa-feed:before, -.fa-rss:before { - content: "\f09e"; -} -.fa-hdd-o:before { - content: "\f0a0"; -} -.fa-bullhorn:before { - content: "\f0a1"; -} -.fa-bell:before { - content: "\f0f3"; -} -.fa-certificate:before { - content: "\f0a3"; -} -.fa-hand-o-right:before { - content: "\f0a4"; -} -.fa-hand-o-left:before { - content: "\f0a5"; -} -.fa-hand-o-up:before { - content: "\f0a6"; -} -.fa-hand-o-down:before { - content: "\f0a7"; -} -.fa-arrow-circle-left:before { - content: "\f0a8"; -} -.fa-arrow-circle-right:before { - content: "\f0a9"; -} -.fa-arrow-circle-up:before { - content: "\f0aa"; -} -.fa-arrow-circle-down:before { - content: "\f0ab"; -} -.fa-globe:before { - content: "\f0ac"; -} -.fa-wrench:before { - content: "\f0ad"; -} -.fa-tasks:before { - content: "\f0ae"; -} -.fa-filter:before { - content: "\f0b0"; -} -.fa-briefcase:before { - content: "\f0b1"; -} -.fa-arrows-alt:before { - content: "\f0b2"; -} -.fa-group:before, -.fa-users:before { - content: "\f0c0"; -} -.fa-chain:before, -.fa-link:before { - content: "\f0c1"; -} -.fa-cloud:before { - content: "\f0c2"; -} -.fa-flask:before { - content: "\f0c3"; -} -.fa-cut:before, -.fa-scissors:before { - content: "\f0c4"; -} -.fa-copy:before, -.fa-files-o:before { - content: "\f0c5"; -} -.fa-paperclip:before { - content: "\f0c6"; -} -.fa-save:before, -.fa-floppy-o:before { - content: "\f0c7"; -} -.fa-square:before { - content: "\f0c8"; -} -.fa-navicon:before, -.fa-reorder:before, -.fa-bars:before { - content: "\f0c9"; -} -.fa-list-ul:before { - content: "\f0ca"; -} -.fa-list-ol:before { - content: "\f0cb"; -} -.fa-strikethrough:before { - content: "\f0cc"; -} -.fa-underline:before { - content: "\f0cd"; -} -.fa-table:before { - content: "\f0ce"; -} -.fa-magic:before { - content: "\f0d0"; -} -.fa-truck:before { - content: "\f0d1"; -} -.fa-pinterest:before { - content: "\f0d2"; -} -.fa-pinterest-square:before { - content: "\f0d3"; -} -.fa-google-plus-square:before { - content: "\f0d4"; -} -.fa-google-plus:before { - content: "\f0d5"; -} -.fa-money:before { - content: "\f0d6"; -} -.fa-caret-down:before { - content: "\f0d7"; -} -.fa-caret-up:before { - content: "\f0d8"; -} -.fa-caret-left:before { - content: "\f0d9"; -} -.fa-caret-right:before { - content: "\f0da"; -} -.fa-columns:before { - content: "\f0db"; -} -.fa-unsorted:before, -.fa-sort:before { - content: "\f0dc"; -} -.fa-sort-down:before, -.fa-sort-desc:before { - content: "\f0dd"; -} -.fa-sort-up:before, -.fa-sort-asc:before { - content: "\f0de"; -} -.fa-envelope:before { - content: "\f0e0"; -} -.fa-linkedin:before { - content: "\f0e1"; -} -.fa-rotate-left:before, -.fa-undo:before { - content: "\f0e2"; -} -.fa-legal:before, -.fa-gavel:before { - content: "\f0e3"; -} -.fa-dashboard:before, -.fa-tachometer:before { - content: "\f0e4"; -} -.fa-comment-o:before { - content: "\f0e5"; -} -.fa-comments-o:before { - content: "\f0e6"; -} -.fa-flash:before, -.fa-bolt:before { - content: "\f0e7"; -} -.fa-sitemap:before { - content: "\f0e8"; -} -.fa-umbrella:before { - content: "\f0e9"; -} -.fa-paste:before, -.fa-clipboard:before { - content: "\f0ea"; -} -.fa-lightbulb-o:before { - content: "\f0eb"; -} -.fa-exchange:before { - content: "\f0ec"; -} -.fa-cloud-download:before { - content: "\f0ed"; -} -.fa-cloud-upload:before { - content: "\f0ee"; -} -.fa-user-md:before { - content: "\f0f0"; -} -.fa-stethoscope:before { - content: "\f0f1"; -} -.fa-suitcase:before { - content: "\f0f2"; -} -.fa-bell-o:before { - content: "\f0a2"; -} -.fa-coffee:before { - content: "\f0f4"; -} -.fa-cutlery:before { - content: "\f0f5"; -} -.fa-file-text-o:before { - content: "\f0f6"; -} -.fa-building-o:before { - content: "\f0f7"; -} -.fa-hospital-o:before { - content: "\f0f8"; -} -.fa-ambulance:before { - content: "\f0f9"; -} -.fa-medkit:before { - content: "\f0fa"; -} -.fa-fighter-jet:before { - content: "\f0fb"; -} -.fa-beer:before { - content: "\f0fc"; -} -.fa-h-square:before { - content: "\f0fd"; -} -.fa-plus-square:before { - content: "\f0fe"; -} -.fa-angle-double-left:before { - content: "\f100"; -} -.fa-angle-double-right:before { - content: "\f101"; -} -.fa-angle-double-up:before { - content: "\f102"; -} -.fa-angle-double-down:before { - content: "\f103"; -} -.fa-angle-left:before { - content: "\f104"; -} -.fa-angle-right:before { - content: "\f105"; -} -.fa-angle-up:before { - content: "\f106"; -} -.fa-angle-down:before { - content: "\f107"; -} -.fa-desktop:before { - content: "\f108"; -} -.fa-laptop:before { - content: "\f109"; -} -.fa-tablet:before { - content: "\f10a"; -} -.fa-mobile-phone:before, -.fa-mobile:before { - content: "\f10b"; -} -.fa-circle-o:before { - content: "\f10c"; -} -.fa-quote-left:before { - content: "\f10d"; -} -.fa-quote-right:before { - content: "\f10e"; -} -.fa-spinner:before { - content: "\f110"; -} -.fa-circle:before { - content: "\f111"; -} -.fa-mail-reply:before, -.fa-reply:before { - content: "\f112"; -} -.fa-github-alt:before { - content: "\f113"; -} -.fa-folder-o:before { - content: "\f114"; -} -.fa-folder-open-o:before { - content: "\f115"; -} -.fa-smile-o:before { - content: "\f118"; -} -.fa-frown-o:before { - content: "\f119"; -} -.fa-meh-o:before { - content: "\f11a"; -} -.fa-gamepad:before { - content: "\f11b"; -} -.fa-keyboard-o:before { - content: "\f11c"; -} -.fa-flag-o:before { - content: "\f11d"; -} -.fa-flag-checkered:before { - content: "\f11e"; -} -.fa-terminal:before { - content: "\f120"; -} -.fa-code:before { - content: "\f121"; -} -.fa-mail-reply-all:before, -.fa-reply-all:before { - content: "\f122"; -} -.fa-star-half-empty:before, -.fa-star-half-full:before, -.fa-star-half-o:before { - content: "\f123"; -} -.fa-location-arrow:before { - content: "\f124"; -} -.fa-crop:before { - content: "\f125"; -} -.fa-code-fork:before { - content: "\f126"; -} -.fa-unlink:before, -.fa-chain-broken:before { - content: "\f127"; -} -.fa-question:before { - content: "\f128"; -} -.fa-info:before { - content: "\f129"; -} -.fa-exclamation:before { - content: "\f12a"; -} -.fa-superscript:before { - content: "\f12b"; -} -.fa-subscript:before { - content: "\f12c"; -} -.fa-eraser:before { - content: "\f12d"; -} -.fa-puzzle-piece:before { - content: "\f12e"; -} -.fa-microphone:before { - content: "\f130"; -} -.fa-microphone-slash:before { - content: "\f131"; -} -.fa-shield:before { - content: "\f132"; -} -.fa-calendar-o:before { - content: "\f133"; -} -.fa-fire-extinguisher:before { - content: "\f134"; -} -.fa-rocket:before { - content: "\f135"; -} -.fa-maxcdn:before { - content: "\f136"; -} -.fa-chevron-circle-left:before { - content: "\f137"; -} -.fa-chevron-circle-right:before { - content: "\f138"; -} -.fa-chevron-circle-up:before { - content: "\f139"; -} -.fa-chevron-circle-down:before { - content: "\f13a"; -} -.fa-html5:before { - content: "\f13b"; -} -.fa-css3:before { - content: "\f13c"; -} -.fa-anchor:before { - content: "\f13d"; -} -.fa-unlock-alt:before { - content: "\f13e"; -} -.fa-bullseye:before { - content: "\f140"; -} -.fa-ellipsis-h:before { - content: "\f141"; -} -.fa-ellipsis-v:before { - content: "\f142"; -} -.fa-rss-square:before { - content: "\f143"; -} -.fa-play-circle:before { - content: "\f144"; -} -.fa-ticket:before { - content: "\f145"; -} -.fa-minus-square:before { - content: "\f146"; -} -.fa-minus-square-o:before { - content: "\f147"; -} -.fa-level-up:before { - content: "\f148"; -} -.fa-level-down:before { - content: "\f149"; -} -.fa-check-square:before { - content: "\f14a"; -} -.fa-pencil-square:before { - content: "\f14b"; -} -.fa-external-link-square:before { - content: "\f14c"; -} -.fa-share-square:before { - content: "\f14d"; -} -.fa-compass:before { - content: "\f14e"; -} -.fa-toggle-down:before, -.fa-caret-square-o-down:before { - content: "\f150"; -} -.fa-toggle-up:before, -.fa-caret-square-o-up:before { - content: "\f151"; -} -.fa-toggle-right:before, -.fa-caret-square-o-right:before { - content: "\f152"; -} -.fa-euro:before, -.fa-eur:before { - content: "\f153"; -} -.fa-gbp:before { - content: "\f154"; -} -.fa-dollar:before, -.fa-usd:before { - content: "\f155"; -} -.fa-rupee:before, -.fa-inr:before { - content: "\f156"; -} -.fa-cny:before, -.fa-rmb:before, -.fa-yen:before, -.fa-jpy:before { - content: "\f157"; -} -.fa-ruble:before, -.fa-rouble:before, -.fa-rub:before { - content: "\f158"; -} -.fa-won:before, -.fa-krw:before { - content: "\f159"; -} -.fa-bitcoin:before, -.fa-btc:before { - content: "\f15a"; -} -.fa-file:before { - content: "\f15b"; -} -.fa-file-text:before { - content: "\f15c"; -} -.fa-sort-alpha-asc:before { - content: "\f15d"; -} -.fa-sort-alpha-desc:before { - content: "\f15e"; -} -.fa-sort-amount-asc:before { - content: "\f160"; -} -.fa-sort-amount-desc:before { - content: "\f161"; -} -.fa-sort-numeric-asc:before { - content: "\f162"; -} -.fa-sort-numeric-desc:before { - content: "\f163"; -} -.fa-thumbs-up:before { - content: "\f164"; -} -.fa-thumbs-down:before { - content: "\f165"; -} -.fa-youtube-square:before { - content: "\f166"; -} -.fa-youtube:before { - content: "\f167"; -} -.fa-xing:before { - content: "\f168"; -} -.fa-xing-square:before { - content: "\f169"; -} -.fa-youtube-play:before { - content: "\f16a"; -} -.fa-dropbox:before { - content: "\f16b"; -} -.fa-stack-overflow:before { - content: "\f16c"; -} -.fa-instagram:before { - content: "\f16d"; -} -.fa-flickr:before { - content: "\f16e"; -} -.fa-adn:before { - content: "\f170"; -} -.fa-bitbucket:before { - content: "\f171"; -} -.fa-bitbucket-square:before { - content: "\f172"; -} -.fa-tumblr:before { - content: "\f173"; -} -.fa-tumblr-square:before { - content: "\f174"; -} -.fa-long-arrow-down:before { - content: "\f175"; -} -.fa-long-arrow-up:before { - content: "\f176"; -} -.fa-long-arrow-left:before { - content: "\f177"; -} -.fa-long-arrow-right:before { - content: "\f178"; -} -.fa-apple:before { - content: "\f179"; -} -.fa-windows:before { - content: "\f17a"; -} -.fa-android:before { - content: "\f17b"; -} -.fa-linux:before { - content: "\f17c"; -} -.fa-dribbble:before { - content: "\f17d"; -} -.fa-skype:before { - content: "\f17e"; -} -.fa-foursquare:before { - content: "\f180"; -} -.fa-trello:before { - content: "\f181"; -} -.fa-female:before { - content: "\f182"; -} -.fa-male:before { - content: "\f183"; -} -.fa-gittip:before, -.fa-gratipay:before { - content: "\f184"; -} -.fa-sun-o:before { - content: "\f185"; -} -.fa-moon-o:before { - content: "\f186"; -} -.fa-archive:before { - content: "\f187"; -} -.fa-bug:before { - content: "\f188"; -} -.fa-vk:before { - content: "\f189"; -} -.fa-weibo:before { - content: "\f18a"; -} -.fa-renren:before { - content: "\f18b"; -} -.fa-pagelines:before { - content: "\f18c"; -} -.fa-stack-exchange:before { - content: "\f18d"; -} -.fa-arrow-circle-o-right:before { - content: "\f18e"; -} -.fa-arrow-circle-o-left:before { - content: "\f190"; -} -.fa-toggle-left:before, -.fa-caret-square-o-left:before { - content: "\f191"; -} -.fa-dot-circle-o:before { - content: "\f192"; -} -.fa-wheelchair:before { - content: "\f193"; -} -.fa-vimeo-square:before { - content: "\f194"; -} -.fa-turkish-lira:before, -.fa-try:before { - content: "\f195"; -} -.fa-plus-square-o:before { - content: "\f196"; -} -.fa-space-shuttle:before { - content: "\f197"; -} -.fa-slack:before { - content: "\f198"; -} -.fa-envelope-square:before { - content: "\f199"; -} -.fa-wordpress:before { - content: "\f19a"; -} -.fa-openid:before { - content: "\f19b"; -} -.fa-institution:before, -.fa-bank:before, -.fa-university:before { - content: "\f19c"; -} -.fa-mortar-board:before, -.fa-graduation-cap:before { - content: "\f19d"; -} -.fa-yahoo:before { - content: "\f19e"; -} -.fa-google:before { - content: "\f1a0"; -} -.fa-reddit:before { - content: "\f1a1"; -} -.fa-reddit-square:before { - content: "\f1a2"; -} -.fa-stumbleupon-circle:before { - content: "\f1a3"; -} -.fa-stumbleupon:before { - content: "\f1a4"; -} -.fa-delicious:before { - content: "\f1a5"; -} -.fa-digg:before { - content: "\f1a6"; -} -.fa-pied-piper:before { - content: "\f1a7"; -} -.fa-pied-piper-alt:before { - content: "\f1a8"; -} -.fa-drupal:before { - content: "\f1a9"; -} -.fa-joomla:before { - content: "\f1aa"; -} -.fa-language:before { - content: "\f1ab"; -} -.fa-fax:before { - content: "\f1ac"; -} -.fa-building:before { - content: "\f1ad"; -} -.fa-child:before { - content: "\f1ae"; -} -.fa-paw:before { - content: "\f1b0"; -} -.fa-spoon:before { - content: "\f1b1"; -} -.fa-cube:before { - content: "\f1b2"; -} -.fa-cubes:before { - content: "\f1b3"; -} -.fa-behance:before { - content: "\f1b4"; -} -.fa-behance-square:before { - content: "\f1b5"; -} -.fa-steam:before { - content: "\f1b6"; -} -.fa-steam-square:before { - content: "\f1b7"; -} -.fa-recycle:before { - content: "\f1b8"; -} -.fa-automobile:before, -.fa-car:before { - content: "\f1b9"; -} -.fa-cab:before, -.fa-taxi:before { - content: "\f1ba"; -} -.fa-tree:before { - content: "\f1bb"; -} -.fa-spotify:before { - content: "\f1bc"; -} -.fa-deviantart:before { - content: "\f1bd"; -} -.fa-soundcloud:before { - content: "\f1be"; -} -.fa-database:before { - content: "\f1c0"; -} -.fa-file-pdf-o:before { - content: "\f1c1"; -} -.fa-file-word-o:before { - content: "\f1c2"; -} -.fa-file-excel-o:before { - content: "\f1c3"; -} -.fa-file-powerpoint-o:before { - content: "\f1c4"; -} -.fa-file-photo-o:before, -.fa-file-picture-o:before, -.fa-file-image-o:before { - content: "\f1c5"; -} -.fa-file-zip-o:before, -.fa-file-archive-o:before { - content: "\f1c6"; -} -.fa-file-sound-o:before, -.fa-file-audio-o:before { - content: "\f1c7"; -} -.fa-file-movie-o:before, -.fa-file-video-o:before { - content: "\f1c8"; -} -.fa-file-code-o:before { - content: "\f1c9"; -} -.fa-vine:before { - content: "\f1ca"; -} -.fa-codepen:before { - content: "\f1cb"; -} -.fa-jsfiddle:before { - content: "\f1cc"; -} -.fa-life-bouy:before, -.fa-life-buoy:before, -.fa-life-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: "\f1cd"; -} -.fa-circle-o-notch:before { - content: "\f1ce"; -} -.fa-ra:before, -.fa-rebel:before { - content: "\f1d0"; -} -.fa-ge:before, -.fa-empire:before { - content: "\f1d1"; -} -.fa-git-square:before { - content: "\f1d2"; -} -.fa-git:before { - content: "\f1d3"; -} -.fa-y-combinator-square:before, -.fa-yc-square:before, -.fa-hacker-news:before { - content: "\f1d4"; -} -.fa-tencent-weibo:before { - content: "\f1d5"; -} -.fa-qq:before { - content: "\f1d6"; -} -.fa-wechat:before, -.fa-weixin:before { - content: "\f1d7"; -} -.fa-send:before, -.fa-paper-plane:before { - content: "\f1d8"; -} -.fa-send-o:before, -.fa-paper-plane-o:before { - content: "\f1d9"; -} -.fa-history:before { - content: "\f1da"; -} -.fa-circle-thin:before { - content: "\f1db"; -} -.fa-header:before { - content: "\f1dc"; -} -.fa-paragraph:before { - content: "\f1dd"; -} -.fa-sliders:before { - content: "\f1de"; -} -.fa-share-alt:before { - content: "\f1e0"; -} -.fa-share-alt-square:before { - content: "\f1e1"; -} -.fa-bomb:before { - content: "\f1e2"; -} -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: "\f1e3"; -} -.fa-tty:before { - content: "\f1e4"; -} -.fa-binoculars:before { - content: "\f1e5"; -} -.fa-plug:before { - content: "\f1e6"; -} -.fa-slideshare:before { - content: "\f1e7"; -} -.fa-twitch:before { - content: "\f1e8"; -} -.fa-yelp:before { - content: "\f1e9"; -} -.fa-newspaper-o:before { - content: "\f1ea"; -} -.fa-wifi:before { - content: "\f1eb"; -} -.fa-calculator:before { - content: "\f1ec"; -} -.fa-paypal:before { - content: "\f1ed"; -} -.fa-google-wallet:before { - content: "\f1ee"; -} -.fa-cc-visa:before { - content: "\f1f0"; -} -.fa-cc-mastercard:before { - content: "\f1f1"; -} -.fa-cc-discover:before { - content: "\f1f2"; -} -.fa-cc-amex:before { - content: "\f1f3"; -} -.fa-cc-paypal:before { - content: "\f1f4"; -} -.fa-cc-stripe:before { - content: "\f1f5"; -} -.fa-bell-slash:before { - content: "\f1f6"; -} -.fa-bell-slash-o:before { - content: "\f1f7"; -} -.fa-trash:before { - content: "\f1f8"; -} -.fa-copyright:before { - content: "\f1f9"; -} -.fa-at:before { - content: "\f1fa"; -} -.fa-eyedropper:before { - content: "\f1fb"; -} -.fa-paint-brush:before { - content: "\f1fc"; -} -.fa-birthday-cake:before { - content: "\f1fd"; -} -.fa-area-chart:before { - content: "\f1fe"; -} -.fa-pie-chart:before { - content: "\f200"; -} -.fa-line-chart:before { - content: "\f201"; -} -.fa-lastfm:before { - content: "\f202"; -} -.fa-lastfm-square:before { - content: "\f203"; -} -.fa-toggle-off:before { - content: "\f204"; -} -.fa-toggle-on:before { - content: "\f205"; -} -.fa-bicycle:before { - content: "\f206"; -} -.fa-bus:before { - content: "\f207"; -} -.fa-ioxhost:before { - content: "\f208"; -} -.fa-angellist:before { - content: "\f209"; -} -.fa-cc:before { - content: "\f20a"; -} -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: "\f20b"; -} -.fa-meanpath:before { - content: "\f20c"; -} -.fa-buysellads:before { - content: "\f20d"; -} -.fa-connectdevelop:before { - content: "\f20e"; -} -.fa-dashcube:before { - content: "\f210"; -} -.fa-forumbee:before { - content: "\f211"; -} -.fa-leanpub:before { - content: "\f212"; -} -.fa-sellsy:before { - content: "\f213"; -} -.fa-shirtsinbulk:before { - content: "\f214"; -} -.fa-simplybuilt:before { - content: "\f215"; -} -.fa-skyatlas:before { - content: "\f216"; -} -.fa-cart-plus:before { - content: "\f217"; -} -.fa-cart-arrow-down:before { - content: "\f218"; -} -.fa-diamond:before { - content: "\f219"; -} -.fa-ship:before { - content: "\f21a"; -} -.fa-user-secret:before { - content: "\f21b"; -} -.fa-motorcycle:before { - content: "\f21c"; -} -.fa-street-view:before { - content: "\f21d"; -} -.fa-heartbeat:before { - content: "\f21e"; -} -.fa-venus:before { - content: "\f221"; -} -.fa-mars:before { - content: "\f222"; -} -.fa-mercury:before { - content: "\f223"; -} -.fa-intersex:before, -.fa-transgender:before { - content: "\f224"; -} -.fa-transgender-alt:before { - content: "\f225"; -} -.fa-venus-double:before { - content: "\f226"; -} -.fa-mars-double:before { - content: "\f227"; -} -.fa-venus-mars:before { - content: "\f228"; -} -.fa-mars-stroke:before { - content: "\f229"; -} -.fa-mars-stroke-v:before { - content: "\f22a"; -} -.fa-mars-stroke-h:before { - content: "\f22b"; -} -.fa-neuter:before { - content: "\f22c"; -} -.fa-genderless:before { - content: "\f22d"; -} -.fa-facebook-official:before { - content: "\f230"; -} -.fa-pinterest-p:before { - content: "\f231"; -} -.fa-whatsapp:before { - content: "\f232"; -} -.fa-server:before { - content: "\f233"; -} -.fa-user-plus:before { - content: "\f234"; -} -.fa-user-times:before { - content: "\f235"; -} -.fa-hotel:before, -.fa-bed:before { - content: "\f236"; -} -.fa-viacoin:before { - content: "\f237"; -} -.fa-train:before { - content: "\f238"; -} -.fa-subway:before { - content: "\f239"; -} -.fa-medium:before { - content: "\f23a"; -} -.fa-yc:before, -.fa-y-combinator:before { - content: "\f23b"; -} -.fa-optin-monster:before { - content: "\f23c"; -} -.fa-opencart:before { - content: "\f23d"; -} -.fa-expeditedssl:before { - content: "\f23e"; -} -.fa-battery-4:before, -.fa-battery-full:before { - content: "\f240"; -} -.fa-battery-3:before, -.fa-battery-three-quarters:before { - content: "\f241"; -} -.fa-battery-2:before, -.fa-battery-half:before { - content: "\f242"; -} -.fa-battery-1:before, -.fa-battery-quarter:before { - content: "\f243"; -} -.fa-battery-0:before, -.fa-battery-empty:before { - content: "\f244"; -} -.fa-mouse-pointer:before { - content: "\f245"; -} -.fa-i-cursor:before { - content: "\f246"; -} -.fa-object-group:before { - content: "\f247"; -} -.fa-object-ungroup:before { - content: "\f248"; -} -.fa-sticky-note:before { - content: "\f249"; -} -.fa-sticky-note-o:before { - content: "\f24a"; -} -.fa-cc-jcb:before { - content: "\f24b"; -} -.fa-cc-diners-club:before { - content: "\f24c"; -} -.fa-clone:before { - content: "\f24d"; -} -.fa-balance-scale:before { - content: "\f24e"; -} -.fa-hourglass-o:before { - content: "\f250"; -} -.fa-hourglass-1:before, -.fa-hourglass-start:before { - content: "\f251"; -} -.fa-hourglass-2:before, -.fa-hourglass-half:before { - content: "\f252"; -} -.fa-hourglass-3:before, -.fa-hourglass-end:before { - content: "\f253"; -} -.fa-hourglass:before { - content: "\f254"; -} -.fa-hand-grab-o:before, -.fa-hand-rock-o:before { - content: "\f255"; -} -.fa-hand-stop-o:before, -.fa-hand-paper-o:before { - content: "\f256"; -} -.fa-hand-scissors-o:before { - content: "\f257"; -} -.fa-hand-lizard-o:before { - content: "\f258"; -} -.fa-hand-spock-o:before { - content: "\f259"; -} -.fa-hand-pointer-o:before { - content: "\f25a"; -} -.fa-hand-peace-o:before { - content: "\f25b"; -} -.fa-trademark:before { - content: "\f25c"; -} -.fa-registered:before { - content: "\f25d"; -} -.fa-creative-commons:before { - content: "\f25e"; -} -.fa-gg:before { - content: "\f260"; -} -.fa-gg-circle:before { - content: "\f261"; -} -.fa-tripadvisor:before { - content: "\f262"; -} -.fa-odnoklassniki:before { - content: "\f263"; -} -.fa-odnoklassniki-square:before { - content: "\f264"; -} -.fa-get-pocket:before { - content: "\f265"; -} -.fa-wikipedia-w:before { - content: "\f266"; -} -.fa-safari:before { - content: "\f267"; -} -.fa-chrome:before { - content: "\f268"; -} -.fa-firefox:before { - content: "\f269"; -} -.fa-opera:before { - content: "\f26a"; -} -.fa-internet-explorer:before { - content: "\f26b"; -} -.fa-tv:before, -.fa-television:before { - content: "\f26c"; -} -.fa-contao:before { - content: "\f26d"; -} -.fa-500px:before { - content: "\f26e"; -} -.fa-amazon:before { - content: "\f270"; -} -.fa-calendar-plus-o:before { - content: "\f271"; -} -.fa-calendar-minus-o:before { - content: "\f272"; -} -.fa-calendar-times-o:before { - content: "\f273"; -} -.fa-calendar-check-o:before { - content: "\f274"; -} -.fa-industry:before { - content: "\f275"; -} -.fa-map-pin:before { - content: "\f276"; -} -.fa-map-signs:before { - content: "\f277"; -} -.fa-map-o:before { - content: "\f278"; -} -.fa-map:before { - content: "\f279"; -} -.fa-commenting:before { - content: "\f27a"; -} -.fa-commenting-o:before { - content: "\f27b"; -} -.fa-houzz:before { - content: "\f27c"; -} -.fa-vimeo:before { - content: "\f27d"; -} -.fa-black-tie:before { - content: "\f27e"; -} -.fa-fonticons:before { - content: "\f280"; -} -.fa-reddit-alien:before { - content: "\f281"; -} -.fa-edge:before { - content: "\f282"; -} -.fa-credit-card-alt:before { - content: "\f283"; -} -.fa-codiepie:before { - content: "\f284"; -} -.fa-modx:before { - content: "\f285"; -} -.fa-fort-awesome:before { - content: "\f286"; -} -.fa-usb:before { - content: "\f287"; -} -.fa-product-hunt:before { - content: "\f288"; -} -.fa-mixcloud:before { - content: "\f289"; -} -.fa-scribd:before { - content: "\f28a"; -} -.fa-pause-circle:before { - content: "\f28b"; -} -.fa-pause-circle-o:before { - content: "\f28c"; -} -.fa-stop-circle:before { - content: "\f28d"; -} -.fa-stop-circle-o:before { - content: "\f28e"; -} -.fa-shopping-bag:before { - content: "\f290"; -} -.fa-shopping-basket:before { - content: "\f291"; -} -.fa-hashtag:before { - content: "\f292"; -} -.fa-bluetooth:before { - content: "\f293"; -} -.fa-bluetooth-b:before { - content: "\f294"; -} -.fa-percent:before { - content: "\f295"; -} diff --git a/pig-register/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.eot b/pig-register/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.eot deleted file mode 100644 index df84394b2613c6c099896d3a1f8d61b87921c14b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169748 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 a6S;J+@i~6l;51PP^6Y@g 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%0AB8*?* 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 diff --git a/pig-register/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.ttf b/pig-register/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.ttf deleted file mode 100644 index a765a05c2c8757614c8741c080d1c1284cbde957..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169536 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�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 C4vr}R diff --git a/pig-register/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.woff b/pig-register/src/main/resources/static/console-ui/public/css/fonts/aliyun-console-font.woff deleted file mode 100644 index 34fc56827c2ac5d2db4fe6069670a4fd43dd4565..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169612 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 F{|ADEbC3W4 diff --git a/pig-register/src/main/resources/static/console-ui/public/css/fonts/font_515771_emcns5054x3whfr.woff b/pig-register/src/main/resources/static/console-ui/public/css/fonts/font_515771_emcns5054x3whfr.woff deleted file mode 100644 index 9487bb68114af130a338c4294890caf6c1df2240..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5504 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 diff --git a/pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.ttf b/pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.ttf deleted file mode 100644 index cbe70c8ef592aedac22d1f2c63b6cf263ce69508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48448 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 diff --git a/pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.woff2 b/pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-bold.woff2 deleted file mode 100644 index 9fd172f9dc8ab4b9a2781692aea4c05c8b0aaad9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20248 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

I 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 H7193!@H(om diff --git a/pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.woff b/pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.woff deleted file mode 100644 index b41d9054d402714e646fbab58290884754544919..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26296 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 BAgurZ diff --git a/pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.woff2 b/pig-register/src/main/resources/static/console-ui/public/css/fonts/roboto-regular.woff2 deleted file mode 100644 index 74b5d0e8007cef4d21d8d859f76165da988d84a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19988 zcmV(^K-Ir@Pew8T0RR9108SJD6951J0J}s008OL-0ssI200000000000000000000 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%0AW56nD3oD* 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 diff --git a/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-bold.ttf b/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-bold.ttf deleted file mode 100644 index cbe70c8ef592aedac22d1f2c63b6cf263ce69508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48448 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 diff --git a/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-bold.woff2 b/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-bold.woff2 deleted file mode 100644 index 9fd172f9dc8ab4b9a2781692aea4c05c8b0aaad9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20248 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 ZvkkU}F#~ec2d+PBRsaA2R>U2%0020kIBx&| diff --git a/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-light.woff2 b/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-light.woff2 deleted file mode 100644 index d64382983e6b92433028e1142ca7d171b8c72918..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19544 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 diff --git a/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-medium.ttf b/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-medium.ttf deleted file mode 100644 index f0bfe55ea1793860de946040e0813b4725091b9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46772 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 XAQ_LEYfl$?oCQ2zNb`@U9wGW)B79T9 diff --git a/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-medium.woff b/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-medium.woff deleted file mode 100644 index f5bd71cb11285018a897bd54f4f29c979279bf41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26360 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 Y%m3^s;a>-pT|58)00042#2vE$0RF+2cK`qY diff --git a/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-medium.woff2 b/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-medium.woff2 deleted file mode 100644 index 2f2c83bc56cb44115de7cbaff6f65bb022200242..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20044 zcmV(|K+(TObLW#5ey1~n;?PwIsrBUBm;*k3xiky1Rw>6 zD+h&d41!HRcV%K`1{)=$2k_>Zta3Zp%4Xj$gR>D0Y#fYzfNh-}h#BJy0E-7_|Nmc; z8$$$ZptkBe6xj}xf{}trK^aAjOcZMgcE3dxsXN@$9SX$_!*LJn=la0he3K;oiEkl28Yh#avIxgf^qks*Sh(k&q+qs#;=h-srgbUxMk&1iB^h?Z?R-0p4oF+fo^ z6eV;$Jr6&BE%$`GbDKVx%T3V<>%8RkE+`!)C#wU za5#6RO&%LR49V%Cv{mOQRk#%vi^P>y)JcTW@bLZh<6}!b;EMs+*8k3q_oML5(&A1a ztGY!^KmmvS|El`c-UpD<1NHSCCaq^TS1A;goHkb>7UdQd-+KrG9snAFqzO>ckd(ho z(ut()8Bz`)NNFkR2g&|t$M%MtL`n7!@&wtFLg=R3R86<(^s%U?DYq!MDMS4K@12%l zV4t9qXBPLV9yKjBfN z52W7!m_frJBgVj7RDg^>4`#v?$R*QYX3T=jsrSIldk6B~1{ee&TmS8Pe4K?i{zMxW zAbVvJBN80BmJt#Gv~QxaqJdeO*PXhzR=H3vOyFtcmA5ft0Y0d*o;Y3o#t=p{&;v7Uz{O2&SQP9!A9Vn<|0A3tXeXQC3Ucwr-YV#t#ikIS(ZUvrC8PTgc= zVpe2LZsg~&lWJBR$A-c18Ua2VZw3agc@cY3$eyZzQeG9>yi%#Few0=49f)r8LA;4T z(kJ5-WrlWZ@Ur+_h;(BjIEC)dqd)QP=ispY4ynJRZX6`v1Q@FpTxi~)O5%S3Dg8X9 zCPrvgx@3_18S~y`p+vD{&6(@GTfgJk8@&1hUlmzRj3--;TzS#l&$MXOrd>yL^`>q; zdi5DK=Av;Eaj7>$|m&-$Eg@fSy+mr zUApz?)rY@M@AAT@vJkAu@Sx6{B@Z!yv|2y4dwj8 zS`F_?>&fQ7V2v0x=Av;E=3KVuk;k4|16xlS0$4q{_Q)Xz0QJVxd2U?1wN*>@yJD|p z<;A~iZ~czVc|INXc=#W07}iz$bC$-p_&{n5_0Ya$Emh^;*yg3(v4Q*R%uDhY&av@h zrn&8pSO4~>@##Bu#jnyyZ}j)NxV|-U_}toHv)&1+HS}!d<43od=Ib$^AG;TRiGNk* zYWz@r^Z4uRQop#}AHQ|$CA|@Y_S7O@zXl7{Adkm(*RFcR8!sN_j?U`Ce-){@><{5t zpC8Hk!zrWgyazEQf4nz;)b(p0r37ux-2ePbVKNsrY`Y;IH?PE(_2+EjeWquV$9R4I zZ9N!_h4Az3=#TVzOJ7?X+LryAAK&^a=C{9&%?D_@N0OJ;j;Md|)u1D-nu${lLQxnF*!LN~c^lODW!Js7^GW1jEBoRQzW z5Bi(@o`+^-Px`top2JIKujz9mi_55L^zZ80X(LW|;o;cP)YLgDLcA!`CVZ;oaCs4Q38xI;0^=f2#}6OQBF7sjQ|W42vLm+Q=<+|14x<>p$k!Zz|aTQ zDTpzEI73J@t$xZPbK4J7vM;fwarS?V2dD zhjEZ~1mrm(AuS335g{b1+f5RPleS}b5go>HBt}Te%H}Y%5Ewe#C!Pwau!^Xt?oq7n zwQvlU5Ui01!4#<|hvW)Ca0i+v#l%x_-LK+KLM-gXNl1)T4x@D{$Wjfr?C{ zTrx`xC=L|gYdQ?RBSN+`)&mdWJ_{0(kh?z$URn6UKG3^#kRT+^R-Uyg=yG?nuvv;VEb8>&UL2UJhINcp2YWPWO7Rg z>oL{uvN{|B1mt=mbn)4B4C}`9_a&@9fy5cMxDtj-A z6xeGpS6&$v3)HV+P=kQ(O<{B@AnNgyTi8(yV5ctX#f;TCi$=mmhTh&LVlL&{F2eXN@UnP0 zygXhRuY%Xd`{R3LSNiYY>c5hmkA>F|PN`oJ;5WhV#qS^2Ls5XB&vkE}H{Ze+$9Dez z@w1f|3oqtg%wC!p?BMA>UwE>Cd{^UAExB0!CwUX%ZzkLSx&nx+CS_bmrHyqy#FR^I zyM7p_d0Ds9e!g4}nWH#K5hj#zA(b{+UX<10cv2Q4V^{T;$t?2#{X~SOA13>W_w~6wo=985{!u0MV(>gR*jJ7WfYyK3#kCcoJM*1aDrx zdjA1%o~(oHVqQsMS$Rci^%-#b-1&O7$kLw?0jJ}ylNJ94jG47y+npu9GH~kBtw-;^ z{GZ-=)1PI%#ud0?(Y#MnI(2)jVM-3D69Y=x8a56FtM~w*U>u`H9+hGHvdsiO8mLc* z6KIUT7#QdzDs0_hjT*$(F*qz{eC1#QUu&KTEY3GVR3`13wmm7!w)RhNo}>bYJV1#L zk!dHWPB@J9@#+mV9=w6_FgN1!e)Sw9va9` zvltmGnV(?4GWV~#`c=VgS%yM(KwJ{q=v@F}$Q8-XJ1p&$CwoPRPYPH-a-6bcDA#In zNpq^l3Vc%XNM&p9B!T|-@YXc<1hk-e^2Yatd9yh zcZL%+a0`B8*+{D)b#K|hDrhZs+uey(MGT@zUB-G`0u1`1DcxT@z=$6`bbz50OlS_8 zaQz9sahNn#*?z+k}oFXw}q>9>z}fOrnr zVqXAuny~%cgMpJS>CilXecvHSaL^#^hlUw=RvFM=gYYb|1=Wmw&QwHQ=wgcYxv)S& zS2fhxFa(+|bR048(~R;jj<{J4E3W=Tl7~UD%b}tfc(w?|}1$!Uodww4V~g_ojOCuP-2NyRW`z4}3Og~q^p7SXb-5|}jmPBCPM(*xvei2lXrrUz| zT<>j(`lesge}K4S(!KdXWal&|xl6jSSk(;!A~_l*5bbRA)o#gbr^f9UkR^hOYAEWxK|( zga33%TjuvK6~3HE9|1s$lAJBh(}p67K)z0w zsrxiZcH`zmX_!Rua@Nv>Mwa~-l}hgTx`-eeyxb4TfnrIHG+)AFr>~p8KSwu0T8$lQ~8$<2{ zP{EM;uLmi1grZ37LEcZ(j3=<zyqE!7$?4y8V@<4u?iv0YXQmF1nm)LQy;e7V4{mGtM!9!NK z8AB8_HIXY6qceL6(GpBcN#&-lC}~ht0|~s`AyN634`PL6Lv3zaP)LDXw$ZKoDu}e0 zJZfB(o2El$MZhb`AqNZ;l`q`%_;9X`P0Uf*X*lKq|ECRS#je>mJ9(?i?I@KSJk4m# zE4Ci$G2YX-){JLIIDu1Ru-Metby`XIN#&w~1PdMU!j+V zRJrOVSCJ7t;7HY+VJ({WEqOGQTTy-@edb-UX_3>)*QmZ{B_L5HjOBUApF5^nw{^v- z7FnlOa#591$@*?f(w4etysNCO#k(#;3Ysu%l@b&f>Ul@g=ZwlJ-BAl^YjdA}>8`_0 zz9oZmT&YUklhq^NoTzW_JepR`m@h8A_|}W*@3qU;Zy^6e^)VM@4oVhHpCfln>YHf_ zvax7Ee7I=~?=9}-EGP5bWN{J@j=g>3^NPMQUnqajQZJ3@U2W_K;iiz1%gg^S%_!TW z%7N$OuTF&AMCk88NvQ~Xfiq%P?l|i8R=-s?QQ)cz zt7oqDLYHkME2Aw0w3+g5*u~#UR%S8ryOVzM38)UWdR-dv)OZYu;FYg9Q<#Ui^QJ+L4OW;|nw3V$E8il=l99Ea6Np`SU{{#Dw{X*#) z(e*h!-M4HP1u8||5%K+o!YI!i7i81?S{|dg(`wjt^vYY`iJT#WeRq zlBC;tiLQXZve>Ug_Qy4HiXfEs04i-gV&kQ&SuLh(?|#5mm#mGbpX1>u;rS07B)P-Q zKG^%^cu0MDFnuTkbB1-Zh)J_V#t)-$F=(|;x-`)H67^CQRiz%Oq;^=Ennjes0Ij<6 zvccyxcG#$;#-Euh6AOj}9-H_6q{!UAJvd~y%IL!gq*Ah$4Z%g2iG~qNAH`K^ECPzg zEo&vs@`I|UG~@w?F@WA_pzDeoz_BVr*V(ZlCmHx5uZAhvwT*&qf9}f5{I7wB1?59qlBmvFlfp zu4OseJhu*enzrnLO{;4k!lPE98d8Cz%{p+#Ja_M+Dy5g|2wsaG&dI}c%0akaZr@r( z-*&8gIV4RCn=z~wYMCC4_Z z%Sbz?9RF)^^Hh*)qfaN}T+Ee4(ZQs6T*`Q8bW?pAV%6sle7NpY)0*owgu+-|3yYNe z0$pv2MaCNous!~TvOZn2LTS8!x^v_?7oe`3LmU&|@;acaCa4#&In!)?X6@_fwfc|m z=X_N6)3Ut9s(g*<*6ry0*)_e7uKgXS4hoXFxpA?q2v3)=h@b9eim#KtG%eolkiLKJ zVb|V?PjlPJ(Z&9LVZr`xp|pRzOKhpZnwg%hSFVpp&DPJ%@4B^d7A13voY~fro8Q`! zW1il6Jr1wCu`Scg%E`#k(#gWy)_3MwxRBxBt{<=R;ZW-TGreuPEV8-kuxP*MfC{p#hO`lYd4PtVgds{pbT z`4qeCCMLQ4_Ku8$Uk#)E{}vd z_&vtKr4qQNuai!15HpQc3JOBIdeJh#`Dpv?>O>V@CUKLLSS77YtcdNtdt$d_)l5O| z27#AyYD0^gioObL9>-UGwdNV`gIdJ3S`Noy9s0%G4XpVi%Z|55eh-sPBu1ZLC-Y|dmgYBG@(H2|B^ z7j}WI9=~=FAZr91Rm8U!nen%tGRkj$x;Y+^u#s2k!>*p0ZFz#EG2CixX>nXCE47Fd zVUzO7FNGBmlgf&X<0bNnE|o`tw3u*OSWI+4a+H@Knl*AWDD%O$`?CR@&VXa=!$~~} zbLiI(ZlIo)tKU#&@_$wj%?=p}j6%Q8u${#`Qqtdx(vzYBqm%0LGIP!(5IyCI(*&Cv ze{Se1y9DZTuf0U9J^2TE!iS!nWgK=)i0pL7Ey^v!1ow9>#3c?-KNi0G_z(8h1I(%I z_4B-`dz|xdZd0gTrpEz`0EF4S*)^U*tN1?(E%)R@c+AAnC{=Glcyrj;#=VtQj*Nw! zuR9+?v_|4Ewp*j2f!&Bc7JFP*A5|Eygo(Lq1eHLvOHE&;7vR#tpHg5R7@_n|U z`6X&v5g%eVzGPB-=dS zLDSD?zvJ;&5Fsk>TA$RR(aL9s7AxUQ>!bOJFd=>JhW&|hfUNxZ^}qSKz_9v|W6Xmo zJ)9Nr@Qe7OG&_??d;SV>Wb7L&BQzj9(Kqc&P!Ko!N{NO@YyZ~4zk9eNSyP%<*wnKH zy-xkm^0lF&B1^hvXV)90zu&vyjYUV@AirX*Gm0G-G*>LHHmDzKn{QfdTDbWQdhPIG z<@eG$Rue23d@vScQE}37yg9=wFJB*f$e2MhjSW~U=U4lIu``5l5fne=DpJDH# z-(UW_GUMR3NBPnL1>0ardjGI=(`iCPq3SQERHvPvrX5Zy$GBlm!h1b*yn2Tb%ZLbO z^H?8tK3@O(dHcoJm&RG|;apxv)4StI}As!x!6Dp$~34+$lSS?d#WrKd3SRRG`9@?^Tm35=)cy+k$<7L2Knz@{?p!H*Y8Mu_;pz7@iATjm(425=Rj&E zzG#kNJ9-D^cet8%gz5HurlCybQxCZp-IsVjf@oxg_+M?OKS?a*+9PDqbs$C;N@!0x` z@Hv8}>c2~bbVGpdDw}KsDDB2cEr?vXsYJnUNs44OKNOlLD-!bRbEG>O3EUZHmRyr3*C(OQXQfA6B)|PH zVip(Q(y%(Vea_6w!Ir``{kW3O%l1y>0OU)70xhZU^7=uz*v^{5{3Ja`gt1%KsGvSJ zu?^~w>q+ck)fwi{ZG>=NVe&7gx7UzEFX3KHwik=r4my>4lRM%)Sv0uKOL!o&dohUd z9D#SU!TorBWVVCOJ}7|xpV>o^sPK%T$#=&ETaC%1%nFmtMPh0Ni#rzQ@bkb0&hNE? z{70M8{|Af;XVsozH`B7xImUkXLV2%n2fl?bNulGTIYEJmdG@dc)<6?=aA9`9m@J8y zNYLyW@Ow1yh$Uco*yDCSD9?@3Q-s4FAa21vud~+!^lW2GqB0s1^3qbwX^ig4t;5@& zFJxR~m6;{qF-a_EXH0Mt>i#mSGINHV5t*Zco@jqBpHgz_Pg``Wt`6BegJQ0uU8XbU z%L{&_qCnBu@|lN9JS@FXklEbORc~@rr0t%LnRzBTOr3t}Mh`TS%iRLCv0S^R|h{?$^ zeHMsKNcVA<#44V%MslVF{UPoFL1pBOZ?-n#qV>tYpJkUn6pW8pNSTPQ zFiP~dk^TKz;qo9o8B4#L`Tq@quk@(4nYTv-pPSOg8O5dvuS}VRjEvDZj^b-1+cm#d z0}GzLS8vftxo==;`yS!U@}l}tDf&b@>6^O4;X&7y{C5|JWOIVw>Pvx;;3TdDS4u(IBj@FJl?6#Ix@eE?I`UO2#+WQQ+ zzXggfk#u_U<(`36TPRp@=hctrKYs51u6WZBhEV+2b@%bz;kBpjPd`Y>DDq!DeEyJM zE@zK36+$oitomTa2|FD6PI$a;C)$nVP&5%N6)P#(9}RJ$+$ zRo@&wo;>bBj}H9zwO4~KgU)ZS&a~d9JD3&B+VJ#hOO!|_5{|?F$T>BU% zQBnJEFXM*r>-@E|vLkolHP2DLOor!6aWz2h<#xoovxAX#&*8kem6CmL`EQ2~E$@x- zwp^$|Z!LX)Tk`7u$Y);~&Br}BjfUA$TR4X5&Ng!D0*iFJ@LYwPv0l z-dI$cUsO#{ zk73IbjK}%EUifkvlwB#K8Lbg5oj!#=?Uw6S<#u@Iuy>VruJ>sf77ruxQbbI8^!>~C z^6sizAhL#)6QA#6Ym@0QrZuiM5$;tTG1BVs*@PF^j$L}Wg?zdq2rcHuC+7M%II&zg zAv00#r^83u-Lt5po#@MNzvAwROCNLya4tXDuW=*xB*P)wZ%o@x+G=0e;WFgtDK!#_ zX+jD#F=3KSW>nNn_G!Mlp3CaeMJLnCiMz*~ivDjP@n@z<3*$}+QMPAr!p-`kZB@AD z=8D}S?G5$94JO~CyC-keHFP#s)cSckxO)ZjSPWK3rl*IyT|n*W?(=#Rx5hEe*%2-A zox$qdIHI|lN(YwKm6DTFU7Vrqzt^r;!oP&cqm^O_<(a6`dqZ%4|M50y< zJSb{R$yDQ%;powzOyHGjpW&}yYM}B{evI0XlwNcpp3dT_l^-b#?co$GLYjZCia)jj8~p+q5+3rBKG{FGy9dUZG@ zos&S}dFBIfZh-HO=+XsDm2&bLI}gksm8oZ#!7lF-g!`T3(w7ynp4)Q~_l zK1ukaa?+3(kbgf+7uHa!ygr{KUW%KSl%C6~n zwZ3eB>FZQHT3EL1W%4YXa>M~omQJ2VdC1GpJZLIVg#U7^?t)0Mk>fRVzy#T&rA2HxRIaiu44;C$w;pDwoQQ)Ii1wvyG2a05`g&>S6HXAJmw?2t};4g@N6l^QM z{gPaq`Xnzs0s3v7ed^AO4_7YU8EZ3?^*4>SQ$Atr*jr|oZPk8v^s;@MvboC4WU_*m zzq>O@)zq_#XUDU5({jW0Ar@e zWQf$rfyb)=4ia_mNb`n}bSBh5-2v#T8W}^h^Xd%9G`9#{PzUn>xSKaZsA4N)!#mp| zMXl~b`r%$k(XRI4(OR98dWd2EHMtar)bo1l??{YfPc~!N%oKT%XN|TxPRil_+ zdFPC+ZaZc5Ec9$u5xs2O^muv`*XKeYmTxX>N-jDqA&AP&>2;>fF4f~oW3F=?eeYpg zlgdq|(EPk6+{AIYWwH6>02ugmdy*_1i!=I?sF4rRdz-duz=moRY@sig@whW!DL0pP6$!aIZnU#W)A_iN%M~g$eFIKC7uV@ON!wuwog-=`Yk*anklDOcK1Gli=@Cja z3R4LDOIP@cBI$$Dfag-YlZ3OFL(;qT{8s!?Jqs(6X|d?(SXh{na`;#a%iE}Bte+&< z?8CAt)D3S|SQ2z~_OyOk`*^z_pp=#bU0JOV5NZqq6kYD?A}=-}E~qE%=P1|p3V-Dg zN3oA{zn&Ko2^j>8xitPcl`6?yJ@AppH`yZ@W#)T}1W+6<`AO8&GXS0RNsh+qonJo) zNqk*DGSg3g#p7#E8)Z?tB0-9gwXtvEQjckL7Kd*KnXs?Axl z;j(f3*SxN*t}o9p%3I&svPR?CnIo5)vnJvh*`uE+J-Eo|1gbMDJAEieV)=g6oZtw_ zEOUF#<7nQMMrs>7*B#)?S{X3+Zf=jZdpWCuxjiTukzC*#e9gu%$=V|WR&-hkuBhXl z1}mw%of|^CW_3zQ^`R3NR#x^P6L<$*u_Y>@S~7P@yoM(5@3})+apMvusvAz(u-e53 zV<1c`Mulo&JZs}x0IyiSKST|BWJfmPEuHj@X9tF`*a1pDOlAl*K8BF<*FY-U!tWA% zEs?|CH^_$^9o)Md@`e|7rgRo`iTqaD^(!<}Zr@7Kp`fbs9q0z10^bzhLSJO(57L6NSOblg zAelZi?U`*~inqZj@N)>UQB*&F)7t~LSpt^QFiR2JoOik$0576H7`{C-pI}G;$mLG} zsThd0oE!0awYy^UTVE>@F3z$0TDCYPK93L=*?4Q<7V8r$GLLKR4149)oTRKTx-&DE zXn+KJg0L1d4+kD@oLcblO<}+w@v%Ahj~S{9$@ItUmnz>wt4TP~9~|mLV&_;FbX!QY6z9J|RlFaT1`OC!PLz zJ7%jL`A|PNYDH@UK(6e<#Z}9x$(a}N>+4FpSW|eso8~scKmsg1Fqiv=O2j7@s z%f6f{Jy=T>3n}4_Tj+n5w298g!wn?MkY!9(5UfeW%mx&woR@n00zGN){o%*o|Nq@W zdAW6L^8tEuSnm_Uz646jEOoKpm_gkmr)?;^&A8)r?}=DJ-B+R+K zWD?fe@~cGCpxUiQw$OjYc-R|*`w01S;4pe_z-<+K#?w-WpN~TLDhd)Fnv_3aA9gVK zD`PfingCZnjl$zaGw3xkiBo@ge%>#m638@Y#Y>jYs^Zt3_&6UcvT#T7p*7iXJ9;a{ z!CLJgj~+E6wNj0~MFy^p(6#6Hw=Y%{e!rXu5kfHVa|`v;%ImlVb91V~!SyEb0x#%O zyfylZhPlJHPuclp!Ou6FebeoWi+d=3&tqjQb~sk2^Hv?yIWc}Vxp{^ls_D&h;In+j zlJX23YfPa|*#ns4z3A>zLxZWz(meUik8{*$F*>&Kf?ZtQJ;b^IO+D;SZwZjLWy`+s zhWDT@Mt9Hn5&*bcK@0~clq-ksu0>Z=zTx13w9}%a@g5SOX^XPT*LGSO?FH)ghD)MQ zD5?Yj?@BU>>PZ0%TZMrT37}gD1~Le!&KR1z8eB7SqY(v8Uyb93pC9}&XJX<4O^%%^%x8&)l-pXhL%pnA)N$*T1Zg2 z;2Ru;&nL#sSen|^d2*VZ8xCkDmSLj2Xi#m&7_y0J3euY}(MRRlIoMgH$%<@Fg+;GN zUQ^-Eg&j8TQWh~byq;ZspO3qPZ!Lu{3R|lI4 zuc`S9cGMYEtZ4T-XyJN18@ET$j;||kuhDJ64e!O_?CSbJVeJT4iraClM%5Zu)R~`? zPg2+P3wqKtc=LPHen&{+jw>##;G{v2UWU$2Rba15+Av{Y*gKVq{ji4s+Zs^%e2vW7 zg-`>O_!JuX&f4mka$-%gT@It5(2u&>g(~Ad#d@nMo-jl%k(S{%x`#9Vs@lkFs6%uU z05?VK)dHtm7`rNPvQ)7z&|=uZ&2j*A9sDAIyXZizp@OL&X}Swn!z%z|MXEG;)%Uc& zV>EWElGT{5Z&_1|sOT3MoE25Xc0u7e8vY1BSNUYWe8Zopg)`uA;2#5tcst1r+=fvK ztbg{5z5o4Rc4wvk2K;_<-2cOHDt$P9^X;3D%y43T1KrBPrzW7zkIMG$UcQ}w(OBx7 z6xX^6y_UZgf3^v@0SFX9t9IB!8wsUGfitZg3LE=D%~sJFs@)ghYMAX*mK3&ir@}5l zYdS5es~cl%%sxrI%OL}3;iXvnajig$*B7u7q!^)&34Sge)TA2(6X+ncd&Ig`HHz*% z?rqB|LTo{qi)#x8n2{VB5EF;3iS~<{3`f+~7uZ4>Y1xy=O!rwS5xJ4o<7%1>!SC zj^c?3dWMEO#0cAtm!TT?NvovOLy3ao!57?Is5QHftoUSSwr%JmO{UTA1NIy?ab`;C31C`?Tu*F_EJ=PM)CX zr<>^vJuo}g5{K$?k`xv@6C-gwKuv%R4M8$EXXr+75TwR~i3x(bGp0%#q?jpc(Uv)j zSSJi5@IZZw_B1y5oWqS(tSnh+2sohhBJ<$XXAr_T(|kGtp`;#@c-^WrW55xyg(FZ3 zWZSO2+J}^$XHgYs*-7?Z_h;_O(Ysx5PRheStEkhD|K9v##*Gl~R3W%L?cyTw9r(0d zJ{p$|OTWiYW16j)<{@o64~q-t$S8C2xX8BsAURkw|VBaA7C{1OO$m z!?x6Z(!ir&(>st)Dy&_MuLdiNMF1Fidh9NRBPTRhHZ|(I zcIsSZK}vaX#*Vnda0Cul0EQO5;9>7VG}kpkxPXlIXv|<0swamEDwH`fm0RGT=tcrG z8W|==sfs{k;K%mO%Y`ih3P?c-DQi5FwjMpRhW@I;>Kr9#fqT(T#Bd8JSRkLrssl&I z%4ZeUixyA|u&clkFDRBarZ!J618^iTsW?c{rxFPX)uKvkQ-M;HsJ+;^VNfmL3G6hG zg6CI$pdm4gugtVhLx(gd$@a||JHqX;DQZwI@G?|wiYxBXs$gt**N~zY7@5)@G&&!*)Jq*3nTiUu;4LvdMI*t4^BvGKCIEG)u~(DO7;~Tr-&~pk?y7czHNW z6ua1*xns@-f>&v@_N}fbZB6DpS#@byz9E%h1&azI9K*wp7x_fAhKUMf5mK-`WIo4G%kOc=IS0g;M8Hw$1Cf_p%0`o6Eh@?AwxwV>L0 zMPt%1yWpb1&S`QqqRroEN$u7JNQ`HX&h4IpalzWOQj+G4(G2Lk7HjQ!85*c%w56^O zGB=MGVIWjEW9(MpTVsb+kv#I&OSMV7-9I45K5MdS>)TB^iT7FJFmZ7wwuvhgit2{x zK19>xn7n=ztfp;zL11k74PYfw8<@KL9|6c%w^=rgY=UEe1Cc1fpnOR|f>n`-KIBOJ zGZDpBI)I*%zAn;1^b{P&@A=!ezZE6i_x_)$|7LvsxI@-TU5S5OW$0K9j1-$Yz#Nr5 ztj$6YzD)9!SO04P8dAs$`Y=2IA37u6D7H_l9www1@4g@1I98_O2t=ofF|X4#Tc;e^ zfDC$QfT02w4cSs@`COo>N&}ANW+wI!Loz#nZZ;1%1I5MgvcxAiE(=YhbtGn28+MTL>zi^|NItz=DLIf<3LiNR0K zoJi(ug&C6)357{>)3$DQoJ2dG&I9ePdPY9u@uCfjA?M@fA0s4I+Ni(M!H_CJU!jOK zG`CEkr)vuQDi}9l<7?;jQZge9q$&*OG>bhbYAfpbA(bzs90!u(M<<+3MKZNzSr<6( zH1qUcEXT#dttJO6YYsgA^h2Czec|k7xN&_R2&__vuH#|;%CWO?#?I5|^pV6IH+}yg za8vAACC-6qQ{Ddgk~(dQGQ>4#O^KHDxGOqqVjt^DGLNr-pzJZ3oDO(CGSn);7wi?e6Uz$l*k8m}xCHvT(z0QjBC zP)Kc|ZbIZKc5p_QnOk!MyXbY0OQMh zPM;dm&_+|g3r(?(b*U*KrV?ftT_nO(6yoSM96T3MvkPqUuA9M6^a2owlWgTvo>w-~ z%30paU*=c@SfGurqG5H~IKI}Vu=^yiUs6QB94btG*&P-yEJ#p`q+_pbot+cqTG4U+ z9J}SYQWzoCGfA=MCaPY>w@lwbxvubxn@*(QgLB%1EhXhMW=*1jQd>n!E@TcQKeKtHfXjlW-GkA)^!@IMk%1MyvH@xtVA7C zoUJ-$h)Ox7ds~(7qi6PL1(K3-v}4~aMtlmE0?KLb!)W}FFC>gnn?CSJEht(BV~9fM z5L*Bg*r_i+2copafE=|%3s%-f#ybDzSC!N5GvWM0fC&TT=g!Q1Dl@}(QsE4THi!uy z@ziC#WZtpynUBJQ1ENo{<0dXksNDDYFc>BWwvaiiDbFr$s5}GvaESpprzCKqmwf>J zgQ42bVpxPtLC9i3c(62f;ZeGDM<2T322{cfC*bBRvH0S>(L<1kX!qu(SnUK%80*6; zT79A^B*6>5xi@~u{JiCm)P|~wt_qd`bC?46Olky_!#>eficRANlqTCWGLi~CMdNzC zUn$%lQq@~E?^7G6is$S)>?#&%1KYgVvXrz`z;TtZ=!8qVv5;D0#NNRE_SUfc2tZWM z#YOKw#&a1}Ijq$MfK}mxx8V0$*l}$O-u3L1nJ(yg>ZYXsC$$_Piyx_P|G!qB$x|6Ubo2)4@r^b&t0 zA+?5h7=lX%hKtZPJ^K`@TdRSpPWskK7?aF2&k3SI{=*Y>l45`$5x|l=(U=k8AXg$r zHFHRMIzIw4<5n92oox@IL4U`DN}CF%Rp`i2qui>!v=>kJQofV?l(K-Vj~`1+QI#u| zusE9u9xJj>aI^tUM3Ru~Ow zV|xJ-0}P1~eUFES1s|{*%vLYnOH;hK>kSW;Ha5d$TRP_JY7XQngMXwe4Cuh{0(`KQ z8PDCX?Z)vQ(SB!N6aCc5#$gJR>|_%+HP%it-lQw#W%d276WTsAf?owPoi6Ru;3#U+ znb1M*IPjj~-s-&KeGL5wpK&YG)EYB7JiE>AW1$B?f6!vp0em|`fn&F{x8FER^=HgY zxm&D%`z4`}#11;x<0OIuEres*VgKmlFeZ5)dS27EN^H4F`mBN2n28*})Ylk*KO|jD z>CSkVJOLgK;qk58oHfohhs%JyU_ykPC+%+{noy($+{+5Xgvu?-Gtusmd7kCE+eFi3 zlW*r}r6`n91(u3A?*`amtc=0T@^GZdGFN{&m@hqKQ-)L5{%8Z9iIi8@H1*{b1SWlr zGf90PUXGr3pfU3Crd{Dt>D6Yo3rPo1WFN z76~{H*;7B%nlhk15`rX6-W{@jK~DyU8kT2NV)jfPp3IvM4;loo-eSGO^h{Pj$4zmI@_RP%!I3>xlOQ+P)L8K5*lgW!=ej?4%lf^|TCXh8d2f0@pUQu`&9e40tr zRUniz-}oZ=IWM`G!PiaEkn@>uo)U+WKm_Mtmb2E96u z9<<=tJH5E{*B)Uvv0b8vz4O(rq%MpoXL`|F(3%)v2&qgyH^)RAg^}J|gCE(P)uB}T zCeEkzheTrR`|ku$y6ZN^E4K*q`65nt8!+ zFRvedLQZ%Lk!;IM)sK#*vjgZuq^bH)NkApH%2wGVe;KRa&!&tpSSK|gQ!l_k%k;v! z3`yG8^#yFF=~Cl@A8=?_d#C;ev#M6}#m99N%o>cIrC4H2FGbwG5nQ&gd6>`fkl}iD zVB$=v4^0dd9o)VnsIDUy4byZ}7p;ZcZLfl97S9-Ac{*o70$LqyVUBeg6BX*@Gk9T=Y9{b)X9^z~E zPdtsM%ZM6hHy{bqGiT7cMIVPhoVbixS-+-4_0SG2#6u1F#P(M_i%F)kvZT=4D3`-Z zy)CmcO$60Uxrn4(LjvoEy{$9T1?9RbvD;RQAq=r5S}`XFE+@N#aj)I4N~8~E5KawI z7scwW0iLJb6z20SBk3ws;A9$K;&MFSGOM_u5q9vnq&;wa=!0>9knc<>3={F9ONx49 zNJEMBMxXPzg2+Q|b$=0GIOh!QOSWX5#pl>0+HRlf2CFwy4VRjsxzi;gCEU40$F42l z;M|*vWS2R z*pdLaG?DRevJ;>Q!_vqxtAX+^)F{}1L_#t>LKqeQaxBW?K@jRiyooTYyk#P8hL|c+#tdOS z_tAfrbK^mvQifq0NIdH(M1U`5_%jGGT7kcvvPxG-`>uoN8M8zTt%sW`=*m_Vrq!EZ ztI4xu5%TRC-BR;PzFaK8`5$Zd^ZBClv6Bzwn-AHEil=Pv(fBs&E(C4}5)an^X&>d& z85%i{FcEsOiM-WB_hM`I0KM@j|B%5sIR<+L2@x;I2mt4>sc$3m3WgowZg+c)yS9la zab8|XXJF!ZD%{zjYY&NJ%+l=? z1AQz~qOAs8ai>$=alip`s7h`}eRssCfkCbo2&;NL|wM zy?MiaK`Qo=Xf|ehN&sF#2E7EUy_`TqMJ~`a6x3PcauTBxV$XQ>#8Z)De4~8Va_af_UG5_u#$22plvRA}8;a>k;(O^FqaaMG4j2)Eq+jM<;J z7cUm&EW6#!BQ|I#mIQ44gjaq`5=ZLxVBAvUhn7Z&VR7S?Sz_-%(!QCyDQ~}cF5!W| ztET4T=Hv}KBk-i%+*-UxS+TTzQ9iGX<2qZfGdQC?-+klt)=L6Z@Pj3;spDQa;F{Rc z38vKPMmnvTQ#1n0W^TV<@yc=%;5Fml=w--shRNUZi%+70IMV6fiOo_Mr z+q)F4wu%C*{eXO90IQq+A7T3GAFM0>r_Ad=1f08KS+uyi-P6tUEdW zV^l#(N=C}K<Cc$D!m-5)yz1;%ASYJva%#6U&{nFZ7X6@iYgRPR_@jivX*vgDG$9 z@xtzT7k+#pH*S|o^EDl^kxuOBuFFm>Oxa&|o69Piz^dmn(|Omjz41kMJ>xMLycY$o zBUQn;LAl&;fo-2?8883AEls}p&MCh$?JO2uO-jcjW~r?(ksyMqri?1=+|k~1i2EV} z>=tbyvKu7Hd;0RquYdM|^&pCA++Nir>euv{xx=7$bQ~-w0_#af??V(AR0oyU_4cUb zy>w+c&s>upbm3>E_}?)H6h(a;&h(yAAvzYSNlYqM-{6f6v=8Mk-rj0X#6S55o%%DLd z8a6^ieKR6t{57JKL)u{Zgq{)O5~qy>(fBBm9Y4&9-3gghs=3EpA(rN2R|%)NvlRvVBKG#ABGXsebv`7qRK%H@g`7TYL7 zun{I`VRSor=J42}3zJa?L*;NJv5*93)iY;=n7|moToQ=-nu!Z3%h7gf&&A&-~L&5AT^CJ)m!65{ILqI}7!w@1& zLKNm8WAjMwto?S&(2pZyMya}eGk@)RgiqC99BKR!B9NT5=8Mt$fqUB_@e zV;Pw3iAYSCGDAjT&SDrd-P)XQ%Z@#Vq0BaO;mVCW51zxB={`pHGpzxrfdtKCnl(tGnKe*@i|%P0cN> zZD)h&kx8+kYG`(Jn5tW5F`+(5QdOv=N!COIl3IeEu6{2Cl4?oyq()LRsg=}D>Lhhl zt^_HorV3lC3Dd&pY(_{hl^OcyK6Of~76n0OGh%SB7RA)3nAAXYQa!10cbenS-|PXX z7+4Qr96SagsKj%Sau$`w0SQm*0U4*~<13Nwd0+r_+{Xh9!13e(_;IrV1fG1vK>H7LVFUGsCQ=ls?M0C4{U)PDv8_#glOFCZWp2>6dvRQ*H*90ZdCRLTE$st5=m`=9Vc zK!)^xQ~!rU2B-sE0OtR}^FIIpsQ;a<05*Ux07rls!2Lgl384KS;|}lu*!@@G{9iK; z01JTaKV$#T{%05bU)=vhT>sS*{a+o){-1sTfVhT?>i=%g9>JKEl)qn)Jd8oHia(R4DRO;+N%HQD z)fYH;%af=%_lvHsigz_4Yxk2L*l3z$=gaCdApcrcUXfa~(92Oeh1y)H>^hC-cwI z2_$+v#?CCydt6sz$QOHPohOkX-{R*+ed(*92zi}%Drp3H^{&;pqE4+zX0S`+cBLHn zOP#<=YfV~H?aAz?VnL*tNX4TLRRo`G)Eef{s|b8PRpqIHlRLMx99X!vc_E-H=l;`= z^Zl2Pch18^!3NDgU$VK& zH1y0ca8MN?mS0NRYPF3-RVuiO09)-0vOPk4NQ|c{7Wz{rFUp7LmK4D|1O@(yv25ZB z7A7S&1W#2ilWAiu>sIEP@0@{(&>l+&;oRzKh{3hf9PGY z4wb55IsrjZ(nQyU^@P_NOy0#r$yaV&$)`3LIPpFnvJnWGMVf?B1|CA;3Ch<#+ojj{IM>n z8TFJfCkYE68Pi{U-TQ%8g57A1kDt6?8P%RL(%Brf7$hj`GF3(c^J#*c0Kw zv#IKe#h4F;@_s0i;gn@mXJ)n4$#ccac#SXHiG=Qb>LFnlY6V;))^zDE1yV@F#>7x; zPTHOlX85?)%Cz&YdBv0*S$zrAcc9^dEf$8-i%uPtAi!VRL$&FUM8jKW%3arEv!1E< zQ`Zg9`zkkWdNE5vnW`JK1$^G7YcK4<4Ccv*_K2j0+9KAQ%rc~U%LGXq3^ySYMssUu zsWKy8DD@5X;SOMXA>b7()B*&Yug3ktk8c{!$czgl`uy;e$(bYMZ&A+aTE-?sd ze?Y4DmHvjP>XX{S!j>;X=!iw)-a?n#b;eLvrCcGFJq+T|wDan??mYI%Rq6BU;QPIA zF&yxZHyIn+=$}JK5WYo3X!o9LGOO?i0#w^yvJggo(+HqmE_w(p zO9?cT`y09dEj(Z4Uv!3?W+)gaMKUr7)dUaLQvmHj)8PO@+m zE8riNa6sg`2_cP)XIpXO7BFPVlB)PCm<_!kdN0J9zye9Zty_n|h0h*i7~;F|9m4u$A?QUHvyUM>12no)KkQ%n?N{S7lsOTxC-tx*=Jbh|$nUfbdWWG06d* zj7%2*WBLZ?KVZWjzrc_13y%PjRBR533KmOmVUK`QGP%fDNV2OpmfH(w0ZC5!$ zdy)em&RLRa^Cto%t$`{B(IErk_yqm%msI`|BPF7dOw8LR<#SZV_IE0mW_7|gL;$L7=}vs6^`eamu;!)nlk$(}=G7jo3U z2QdP0(G@O|4uR5!Q^G$Z)y~38iBkxtvj3L73LeTt`BWUTI`bmC&64xojCdj+Vp}y! zP#V5!5qYRnqhC&=eLXkrnL>FayPG`7X&W=X`D;ah%dA<+AXdnu5*?1r!M#^$HJs?l z#)87uQu3UF-5L>#NIfJMFM}d^u=Z>e&aEG<03ucqn2^mt^(ar74Xpl%KdI|sj(xOo zRb-fsRjG!o=?#@TGJPiU_mztpg&pZK8J>B(WGHr} zc^X2fOhj0kVdf>ZC( zEP5>0!MG!S^j+6GgNwkrLJEX|&#-jE`$a&f8j8Ea?nPOLjuj^}Rf@RV%~z8CRGn}Ci7)g`u;}ME`^-hQA4l2>wAjiou z7%au0u@U7xfe5m#t?;4x0JWIQ?_#ROKiCn&Xyw@yA+BVL_0TL@XnzGV=+V8u7sd{1 zb!|FMj;jcTP)cDp85dKj3B{P2R7pNavg?!s4C1k_i>0S6;%x%Cu-O9Ro|M?j!L(4C zG|O0Q*gWU-AvL{OYBsirxb>zdd359T%wc*j4JVSIN+Kc&iTdt z(HxM22hz0^KP!oH*<(K?8XYAu9UI%TLQb6@)e_pXg3)L=6w?8DEyjJoS0eBwO?`h( z%`juF=QUGtf{Z&M*|ho?0UVxSO6&xaG5gmvRo&F$N4@1}_%Ycj4P@b^>(CELbWTXb z`B_~J&c&t6aBkIS($r4mtB=s*EYs*R85juEP@p06w31>?DbffuWZeYu( zqqNqoDV7FmBIP4vLGrGs_ zV8x!AWnxQ<#PSiY(^X4Gq6vAKbZY4QP1Dneo>e;$WaiZ4^e}aP#jYg7J$V{&|E?*t z-}o>!G?41d^idWazOm>|xK?~7*i(sayUYh>0ZpnmCth_t)f^SqTCBL?R=MIbE65K0 zaJoh~iLKBY*_HviAsw*2hHQc9aLVx*qYGP#G{G9vhynlAOU1|?=4dt<6(k}l&z; zF-x&dOrOK#v04ddw^|Cqj?!l1TpH_vx?<$O8RrC!lUH28JyQ+-vEu8tZ&{ zdl*@IO%+?yJK`u#sNm^DyT0(s)KnVpW-)A&IWlTzVFX|8)bQ@FKuwU$^cuMISu``J zqpq^{8Dp-WOe41TM;QrP+PW(ko>chFAg(cNs`}3f3!9msdTs>WPVW2I z#qv_`seV0B#b7+H{-rsr3}0T?xW(MX?4xy5F)7xqxy?2wj#r0#J@lw;!|>F$=I5fD ziEU*p{kWj6^7DI&8d*N0sn$%!r7$K_Mp{l@C0Be_$rqU4D0!pnnvjM;CZb)j`M(4T zZ>8O~Gx`+cv4>7SJ#ep(TFg)dbSNU!ElfhKu?-I2iQmI`yhHa5%V@tuPE-IDPdLCukuQ+_3z(SJyS} znp;@`g?xP|_W`Mt2vW64Nc@o?XtIa!g|h`3x=}X~`);sgKV9gaSUYq=B(bjWD~Cd6 zl~i-=@EuwXpN%Q^$L^oiiFKh;wg}OA54331^}m?2hkE=@fG#G8q2}_ov0|+3y?DZ4 z_ODn>7c71y?#ida=m)d%^>9^_fIU|J^t{Qo>>Mb28Fn1FIqtayG0LhBP!7_OM8GG% z{%mtqraU->R#+2fi4_qneTf^_PbKZ7+t!GT4-jjTHGot8IK44oUrYK59 z-}d5M;O# za1PPV4f?N_`+qGfe|)bJJ5YVgDr>a&U z(P`R5Y&sxZvTsP+A&8-K5It*gs=8cAma1P*3sD!$)%Qb(82u^gJCy^G7Qs=Z6<1WM zb-r2+ebZqT7y0{Wk+T3Y;hrWt+p&|=mL0tEdtT7MDqJx^EBFOd3MHZj98;?1kgGvx zYskMvVMoZae$OPeDT|AFhTr(A#88qq zeaMNt;_R04O+S3_bNjHwek<#n!_lozt4b|+t3-?MDToKadYT%^{Ed;@O0B%Ph_-N~ zcU?p>R7~tNm>M)vg}RbDE*%8@VnoF3s-E05fA#K7}@g zStzl7_68nlEL+%5O34fi+P_Iyozm|m4;j1?=Vi{nnk5&-S0E8WV*Nh%5;;m1SS9HD zW7Cv{65)0OP-A_NpLfk^-L_}>7z_8i;xz312L7+IB>5&A5?P#r+?P+ZY1O$8PSQ+xwlM2O9DTBew6)%uFpXMN-Kd@7W*)xdy(B}6lqf(x>tik zRiVL=fB*SvbWePm;uLvGT&7Sdw%zR)?GlwH+8=`V22L4u4@TQcxXDCytO^%#AUzr_mxvPHY(fzcuPUrdyhv)Irwt`;cPufIe2K0$y zyuS{O6;B&LgPX&QGeg+vMF_s+Zl^tw0jg)B2nP^M6K!UN{brG*W^a&i0>93hXYHKQ z>ii9lNo1ZDmk(c+$E&(WzF+7LQzEHFGFO8W#Q*O0ku~yF{BKDNa&zH?rvYa;Q|qrE z9||F<(jGWL&~TH;ZPClH*ww`xHvsDH#=Fb`dc#Xkx_|PDS_D}#4ql4*>28vqYGtDq z`uWX7xk&+^9{A$EqE||ZX`!l|8450i$%;|?rBheSU0bBQCug3O5^I_YjLOMjikpJa z^p;B%M^Oq5!gJ=Nhl)W2@r@)dA434HdpL3ikBKC+&I749C$8`$d8S!Ld|}O$MZ2I> zH3so-bJ5LXSx#|K+;d2qqZ#C}acIsu%gxz%=f>lo3HEzm4w5|CVDpxviH9S@KA$LGX!EEg>s=aFPSUyR#g232p_AuFp;yn5&zs{f1L1Nu-~mED zfcm+1Bm536sTe7;T?2Fgy<LBh<)33WOjz{Vsc-@YJatfhQK;mU9Dz2YQjd1m4

u`CfPZ6Cu$_f ziYlwNT93oyMHK5#?A(ze3Ci(toVC8xzjfSfKZJREtitvjJiW1dDxP~87f^*7(U&TN zOKgMEiJgY^gq&Oi!(40lcPCCWwN#>ETvIplgkxkCvVa>9Z(l}=;Li7bMF~9JUyc@6 zScXVHpRCIeD>GA`J`9AU7C@@>O{MV8^hH{ig`mwx@ZknKn)<7!4&Xen$eta&tk>%D2vFBM-jPkI7 zBWxs=t&tn)TLsgIZd`@0_vW^a1x%dFce~HoHt`IRC z5F<@alpE(gmmb#FnpHQ|)Q*w4rK1&vH)Ml^e4jh;juI%(TBNR`S;MxMZ3io5M3Z_q z{4{eCzZ}C6Evtz`>BgQcSv@Q5D6yb{fC6%qH6jmG*3-hLVONBJ1NkO%EDPQcqgF_6KNBb(W%m^fgA3HdQvjQVcV?Sqhv>V~YqUW-=vZUqwu zg)E5>B%3cCWtMSU>rh28jP~-zCt_@ij$49K^yo3PG(OQ<8XWJw2wI*+>nwkTBVE%z>wpqN?wzsb)O-ph&d3 zjd05}e3XLrnI3LWidTZys$en~Za;126q z3@;h$i)52`Ao80Qn(y;;xNtG*j%}OMEyv{Pp_L2d#L>C<3oI=dT-=&+5rnpj%7z8z z-e))-&CJL_^8XFt3$acYgu)NZbSqVznjdMy4T0|pV_OoS6WrwgG$yNeuR{aKIS5vj zg}KmUgm|vSQuL+r|3)}Ca;r_woEWcY?rowZ8VO++WgD3$nq(X19yY%WeHyw!ERjZ(`6t#;O@#muVf4yREAd54D`vrxtrO? zNhLb%2blVSgNoW-4iiHPFt;X-+NFqKS64bzAhYss?jH24v)yRu5@DQ}rH~(!=>}IF zG$H7P`gnIXz|mXyDzS>I;Yd}df73jIrOpxP+%S?DW^qH`n!m+hLu0(-ahE+};&{4i zn-X%2(aMs8{in#D_A;-VTrLTyyA2;vLM3UaLyJ?QbMnHoS=frR+TeS zWigcGKS4rHB#{5c4b6jbhapg!-`?a^N4)QA{nH?PAKXq2+YhnKF98O!Tqz}0T&(Muh%(4P>jDOG&(y9_ z^jfF6#+%z!&G9N0Z?ghn+WqsoVlZdtA>Q+5d=RM)H}-)#26|NhiX~d;Ef)xRC@Qe z8>_sD&!#Fp6x86wKAeJTno4phqEYnLi*$Y!WYPTyA6x+^Gn%&6HT^MU)cDd{J50Y3AWi%UaC^9lr*=>P|@b0rft9kw%VdW((uq-xU3QFR{YR>ycKi} zjmB6n0G~ntePNw_+_Bg+2{-2|P5mGKDm463d`XV_`;=+IrREXDD0r|D60pTcX}X9j zT~(Bn|EgME5Uw6ej?6njH^q-TW969mJ zI|p&7KL$+pZe}vUf$cD269SIVTEtWR`uuwKHb9j*6yP;i;CTflKxYowcv%ps;uT>B z^i|s$v&!XPE(~nI2Fg!f#XhgL~P@ZdfE;q&P}$RNQ3rS6zUk zw0g;wKM}Kd8J5ypN(SFU4bO>GDAajFh#XR}#rawEf|rEEZ%z9Iy|CQQyDlsN^N_g2 z(IhUpAX{S=y&$e6d9rPMVV-WP{IhIcM@&adYW-flSP81tbl1J*>P7ui;XSFFrDBXK z?8WqX3%zUJu*$`D*pAjVpg(37bMkwq&rpVDq;n@aOew6a<=h0Nk*MLX0`nvw5zj0>09 zAJngJE53cbs$CEPK@5If#0NURA>2Vn{A?T z77DMh-NBZDYg?2%9D5q#-5+u0 zHoIRR>x2!?c{*tc#&eP;Gf601R2R!>XoxS89Q>h4b>*coM%w(>%X*Y^iVNS9PDCxL z)-r)BVm2j`%6Cq(#w^0|%m6G&PRG5=-F$y)df?WAetic+pN}Ud?wdB4th3*GmaRoz zHD`sA*z=VX^Wlf^AFDr}7?qp+0lp|0tGvx>2Hpe7oYDykvsn7zlB>iRO<@F>!H;6W z!4-c#kuQveZfGjmqoBl##wy(LBHC2?DN1xqJqO3(4r5#=Iu0nN(P(v5^ANlwu`X9J zKO?OaQDt8I)$zS~gszXL_JW=ka|F0mEnnHN2PnenC;r+9c6P?*q2OXh%$Dzr=8|Lz zM~E_50Mi#I&#xt{s)=`7yjnU+e^$~1i&%AIV(jZhwidqtl$Nns)46nxyDQ&`3~pExVnxHL z!xp{2{LG&_0`ULc&;d@M#1(Bzb@H zzg12%Y`G923R5e14P4rB8O_a0g1GeoV4&vq!miH@6hBmWFpRR7S|$Ew&@&@7~i>6=R}tMP4=P16KV zun+~l(IDIdLETKtvxtLi$V{|YaYh@d2S5q1$PRo@kAyo9b{Wqe1|J@qLfd1ugz47> zY^7qL(U?qhZ)4fr$Pr=QK9==d^s!_h4EmDnlh+z~dYmCT zy;p3#7`gdq^ewvKf{|1otHDHfcI%>l^n}EFh+IuQm)&&5KkPvw;O@y3=D-z9*{4>J zlUQ3%Iiyp@vx=2$(3Ca3rcdq5UPzM!uf?!@c{Q@n7(cQB?=O!*2P%YALAUaObC?*y zI4;;(|0u+r3F|E?Cl2Co^L@kF2d_zbuyLHP>8LV4XPSSIxU1iYWJE6d5ylgha2SMO z2016tIL`qKBa-We`~oX9_y_k&z4E0ZI3-u&-r3lwf|k7AAc1dTt)O2jo}m%4Txh6p zPWdz2I;nH^@~pUFBY*v~Ibw=_$~&wGPjRz%X9z_)P_|iVhYQdjGo@i-FxW*LtEqlU z4g7ddTj#{d3MPDAh&qE=St#Wrq zB@Sg(-f@~VwtH#}i`)d7iDx817q0<;59d$TDz}q!=oxo*PispcOj9w{z56y+4$^iV z7c-g4*{uRL611HP40?5NRq29r%LuKm%06;%>ce#c#suGUU|7ST2}?Lze>+;AIAN3S z6?DJc*{VO7WCzX~%661>P{f%;2nJ)yHb(MG6$%C+xR;D=^geDLYX?QgUN#9#}oKl5$8FobtP3t$R1B*&0FeX=_T-tTkmhxw8M4PS7~yh%WEf^P`VarapQmNZYE(^uPva{ zRyXr2x#}O8J#fhasdpNU&MkTotJu-0@CT|heJ@?#0X@;=L1FYMGmH)JX_0HtelRhS zDYQ9M1m5IHsS_S<=Lk!;@y2iH^H}rP z2YZD0?q)xa;N@<)ViVl3k6A${NEL))1N;i#NJj}>jO4cifb9l9L6(TrQ`?e*PT+w2A7EB`HDGNqu81jE{ zc|KlYTL|04bMO6lhM5CIDB#u))m>7elI5`qaYW3FLt*@R@_p&97U531K@VYk->$X zkN4Ra*lwY7i2EnmYJlP^9=4`_sM6|wg2`@$^Fw-H03GX zh@tdT8_0WWdAsvn4#hcY$`SgQ3YWKkJHP&bP$l=$CQ-6G5BAa33*1TOG)qc-j zTBy`5mjvGKa*OfKGnTOC95jeK(?oY30k)xGj10(xJZp#f+0r>C!tgv(N8N!_W@vJ6}^yGxJ1H;3o^eWyWQSIM@ zUWkkLUA{;iU!kDVoc-F)W;Bm+KYff+-MS1irGgSj@o-X5N9TaYTgrY;AitRZE+`XE zPuY@yN7#WgnBCf>q_-EmTT>%2M!;;Zj#(Eu_^`=|%~;&hF&u`TshS>I49jm0lpsb> z6((q8myd(QEG#h#=E0@dI~o8Z;zoTUd-h z&giB+MzWSYf`036LTDr^6dUbR)f+o{wH{R)7g#lk<#+SG>xw?1+e7WPVHBD9+Qg{J=5;2F{pDV(8#`tMq9~VD+h!`e*+?(H zqF%{6a|6qn;G_Wuei)`nFh!X7LpWuPEv)r*qESJdofdqB+|)5bj_k&6^)zxG& z#%E8hdVgeJ$!1@XtbibGw_VztnuogC1qG1|*OTEpgfqNz@n8LiA7TU(d?@8m0oZdUEdAH{kgUWukg>~HHQ8}tL`IZ{4Vr3ds0*k2t@MWnP0~EpJ0a3e*NDZ! zlSL7l`1}_V8Na`*q}&DeQ(qXRu$p%!$b=B^^jE;yW1=va(HQ9C7HZHr{y^dJ#AeZs zz7HcG(?AZEc4V%O!=7GxP4V|K(SN%eE^$OI=#YIIlsh#!=_PlH^vAL!ufB&ADuzv2L-))*x8an0<3BcMO}oo&B--iv)Vp2mMq= zf}9NO^EfIt5hEGwd`8!j7QaV6j&|vfkao*IiY}WExs#>* z-Ipx%LJ4(A^N8)1+~W+(Lkqe#q7sv{bJ^NLU$cik;AdoiB|cB&tHJ)#Xn^pdvBug+ z7)UvWa)0c2MN~_7oH=^c@R;5?#l&#!YgJCuqjzZX2$E|`8jWz@Zfb=>SlOs6&@TT&he16es5?hh$uxyf^dZ>>WR2%us#yjay87sCraQ_Vr9N zP_fMzB1vvK5P|%!h1N}!-15z!16uhHXo#f)+W(LXPn2hP3eSIiSLk}tVq<*^r2hHt zRSJh`IoSb$!cj9O;TH5%MbTce!a2F7lRsK1#!-*qhM_t-eAQG=bJb>oZ^7_+hEIcZ z=?aOJ$0@e)6-x=ua{~?FWouw&Rjl-{4>k$89JpDee}(gW3Nn27d2^RZ7oSq2!Qa`H zX=YoVIjId{=pcM2VG{p!Ag+z!nMK>?p%*?nMRuU?_XEEtGD2SykLh0RH=qr%Ybyj? zpn>=Um4A?=S;R++AB4Xj!U@mt&Q#)VGi0C`qe8b=K&7Jr0Uct?e--%-^C;e>0EmnK z-Q%InvnT~uZ2GK}b7*r&!G?eLqFItHDcy8x@pn}gsU(%KLfbr{y)$Od^)apm#!~0! zjzTTl0niKMTDEHQ&93o~6+ZO5=0cX;C6JY*7k376#-MjbSsUX86{g|-=mE&KEYZQ5 zZrFZ`P^)eXR%OHJ6?T0%wgTIslqZaW*Xq#~=BfaA=ZIX$+;4n8%7-4&RWsdZ1~i6% ztxcCbIMPE?U|-a$dwEg?Pez0%-rAa<)5Q6Ua~M?k_9Ch1nnpcou-!J3+kZM*L`Ce2~uE;eDQxv?Jw@v3`== zu(T)^%}BM^EMh#{FPb+eewa3t_zUw4e~^zb(J^*l?GY((#k&9sy_$Oq5tbwWd*(e# zLLFZpPAn^+bj@g`%O0$(kzMih$} z^}cJ!Owov;J9SJMlJIjx;OO$vNYwiQr|uh<%W@rSImY3{0`bISLGS>-dOx>Km;a~F zyslDxIAA&?e-Z}>>V*y@9l6S`;CH*MM7m`cFEdSM(8Ngj?(LeQvu!Bz-HJhk|fWs~IP)4{2Z9fXdYDHn^3VkTbhxM1QurCu!r7Kx^k{k&3 zKD;z;{_GHDAS-uyC}>P-ANH$eXfocKeoR=xu1HlpiY@uqA!VvPB@^b=&MasR=rSyb`Ai>jvQFs)vRX^?E_;vLHa%nm`PnfnCO@MWvsSlJmD+ ztH8jtAuU}IsP+~cAX7px1&ZVlY;n*X&3HoGCxsU!rLanjU{Ve6xdpN#>2Fi-6PjvS zp*Z-WDP}{mP5$kj{ZPNXAnXD`No*vzo^{x7&$~b1J=wJgVA3rhqrwAA!-wc)dOP#e*bAbD7{vE52>eoICUAY&l#>fH#sRiWq75@2E8&soS9p??o}5q{ z-c6~FZ=A7{`ba%5zumrZJ>Tui;)RJE$N5sahggKW9BntPg!B6+P#tc2^KpQ_?!Ce@ z5F%Z|=D|^Dq^3N%p&-*ENwb1Pna;?%QoxbmpP1QXjRbhdIBK zrkU@FtLgB*LqD)7SH`6)jZ$o~b0;L)LP_}GZ1ZN^>p>Mdge>HH4XH@N^)Wrl zSq>*h>*6RCGfU1VieLkT1B9Kt{5&<(G)>ip@S&Dv^$V=peu{isJmpPFuk`Ffiy1 z$=bYm)=25Cw7oE3BYV2pvYD=rBV zb{0V8#&=$%eCJH`+}?f=zZ6(@xCY*^aVN@zhasO;m-!Y73A0^^mLOS|5$yWzVmF(G zVFk}Y>v%wr8!I9ZjdW@*tn5PMY$IJV?gJ)#O?!a^y-bse>r5&jO#2&x^AqcDmKn89 zssiQXDowU0_9e(zc$LJ>FSPCPGOj7jk3;nF+d$HQBhVvx)$NtG2aNX`$r7~6Y~hli z=qSCwGa}93vCU#IWR?Yctd~d^Uq}vHdK%9P`OWQgp#p0``3!mmGED^mjt|ja}=dLIYDG>mu-?rnOwH^YykxOtx)$5 z*jgP>^7tgOabiNddsV6jgR~1juE~Ov)Z~ETud2$3PANbTHU^bVW?tC8z&Ms7seq1w z^80QT5m{E20&2zwie8sca-56<^*HSSehtffqB+XpItLgMHv*=xfwuFM8x+q*>!}||?9`Y^?G))6@slNA{3VRw z6x*NxWH`z)s#y$!zm%s?Tp_|fAS%3KzNYEgmJqa%J>b{XXi+zQO~2!4ku@DMfwnA6 z8FI?b{#atMA2(TKa2P(-Pziq^=%q~q#Gl2#e;fqqJVnn9X8CXRz>;K|OD8H^@6aKQ zg-ywzB^Sc^9KJ%lu6|(s8b5h9O^8%$f6UB6<#0yD&qc~ao)Ka$ZBzmuXeh3xJ(nC4 zeSWh_XDoWZ+cz50WfvC~ZiA+_WoD%Qtb?M zsG(d46)qMCj)x{G2iekgfoRVlsGJB z&zXu}3=)B{T(YftdgJh?havMtp@2Ydr7XON>-S_-9M) zpwlveRJzPfgsI9Z^?hm1o*MYA{#Neb#W=ezoVKvGv_3C1=iF5LCeO+dWAm}!UGTXh zL5hL_or$TgA!fp)fWruBP=j1k)wJ4Wo}ctpB=iVq5I;=gwp63y&^&~O7n-8L*WK!F zjlyNeyU0S|YqsXoU2h^MwoG#ep;duJi<5PCDf+Dj(yCl|~8B*G-Iu2pzB zhmgR8T2%^sEKm)r!B6CqQAgVRPt2C(RH8VSipq`fU4362FrXYNA-XISkKc3Bq`E_Q zoK3#>Ti}ygKQmKRKUURO$v1cAMxO#XJAI08AjkShiGuYAc>@9GV8^PNK$MH^A9aiv zO;1;BfV~tkMn!<)kFrLS92N~{#v`YYM2sACDj9W7zMhz3d?+s91dw}A=}u6e5qG~v zCS@`96E92VPA?Ho5(^KbWx3?S3~ei1w&q}_%9kY~(qFpG*_^H2H&Vm{(a%(0G#=&) z2wOh5Ug>Q@Mz?_x8(X5c+&n!N4$@3ZLfz!sYV1mlEl$6n?>JYOKw z+JO{CRuR=HPew+={5w}=F*cHvts0@#4R_nl6QJ0XZVF;gF$FCO#W;wu#%h0Nk2ma!nP8Pl;@~g@(atc znvW*FaCTt@Em@v_IcVFo4?BmHMu=<={hbj|I|_Z!y2(JxY*avd56G6MWU%KXhNc0#p= zxzFE=kAnhYWa{}#q3VS*Zc8owIBkl~ooyK9b>l9PZpb)vw>>WHu28a1{qM>h+dEU= zK6m_LS6cm27M$aFH-l!{lPeABHn$d3=b+=W%S_`!P2ou~IqP6D{Lb>8UU9eVe0#_c zS(MnEENkdX+mLLpnyi8&=$1YEW%MYSAw2RC0Q!nTyXExnJQDvG%H@b&M9Q?brw1k; zp8F-&*r~KR0T~Q380Z=~3(IAXK@fJTpJUcp71tqQ7gbeQS1$HQn!Q~3?{LeAvKk{v za1b>V1&ls~FAlrJ)h)yJ*HMrGW3`%JNwIf4VO`^GT!Sewb&5HoSQt3*?Y9QE6*ec` ztFsHaWXrUz`c2B1++%+@7ss7mBqik;)D%qmkU}NtCdZ(oB*D9+mvq13GEVL*eY&Zg zEp)RxduYC)&15;MWF=^%2M&R6Z8gofSh}4`iLI&g3m4v1DolPrdUd|0W8=%IJ3u19#Q3uq)dOtVIBGN8&xSk1fUOoIUfXoitYPaW#_Sm@`Y%Eg#ls}6i4 z8`EU5C2*RglAa-f_fydOf+X`)r50et2vcytqCsZT246l$mPQm>|En!axJ7R{S)EwJ z#LzR}z@^A?nJ5ycK4tVMD;^z1I8Kn!=v%*zicQQ_)EA^OxxJKk^4RLuq`O#V)z;bg z^OG78EZ+D(Cm|8F1qpavt?kON@{Z)VI`W--7L{j7KYiT)E>ShACTj>WK;!u1Q?p_y+3)s zY=dTL?QSS^zFD%SG&AHJupN`<53yS#pUYg-6Iz;VrWWxOfhDHUV&`DS9>`+%9o)4X zp}tbv+Rl%jWk-nH@gOUzdj3tb1RXX@B3ftANPkWJ!#$=tzB}9v4dyDoBbaIRLQy!T965JW^-C7Bkjkh- z)VE|o-SNRbP^>JP3@bO8(CYark1|@qEt;ItG^mQ9lH@yFWqLj3`n-XQ-^Eaw4uc9%)sYrKr3+(mv`xB_oQ^_zw8ED?mOY z_dylBocc7BQ4?wJJc@@4h)6mW!WaH<cs~nY}_EPbq@&>A|U+lA(d%&n``?4>6c+Db$-q~D6moEJ|U_RaHkPCL!ZsXte>F&I&DV?b^$@Q^}&pd@M=u1Zr2UPs1hoX@%>WL&O!MX3@ z(d70+t%HX4$eDpK&wAI#XAy@3K8!Jh7Edzd<#b4f6+C#W=V| zP4&OA0X(e8SQx_zH{Cspa>*k=@DP`?+1gI5*zLc$>zpPZ-T)SE@dL)Tb_sb3n6z)f^V+EWZl`;kqcJj?HriHN@RgqB>O+;Dsvi{!&F4XNC5`a3e%4 zw7;ugJeb`kx5d!<=y>_1Q|Z$66!gBliS(6xclbe$P2Jn$r?+CCH_}g*TiKD?SAiF~ z5hpiU4rJm`S*@i1;%uYJ%Z2*hSbZ{p*l}kSn`wg^E)+$Quw__b6^N{w4m@=#RP?AKd=}f--J9gZg!J zq~u{eg%F#Ccr!9=s^UbF3Y3+Ql{S}fmn+tt1NEhD+X6Q%fnn!=BS{F0EILYQPNxb4 zZ@@iNt?=*E_L+EMO3`ak(Umd;E;+wMSZzvFEbzKtQ-e$c=eh3B2Q#aj(qX7pzkcY6 z3Um}!5pVE8*kGYIxm_|@fBDEH#pTkL(jKlpW-j5m`Ny8iBF}dI3F&V+jvBsqV3i74 z>n}|M-?`NWK%!#$H*rMBxUSKF>@oS^$I93p`tje`P3W=TUvDttpEzYmfOGfq6W!d2`t94=yjpxvQ1-{N)k>uiU-))bBru5B_raLtL z$;$@_NV1`D81^g|y9z*ufU=3qhB7*VI7zCm3IdoU@V@&S0!$Gl{7?O5)2irLm=3|= za+?hJ8ap)UgvL1I|J;ULnMn{lliFIAA!t}d@n%qNjS88q>Q{bflCGLJuj2g~K1+wh zx2?2bxiVzKe-h@clKw|>PUGlZEx_)g5F)=h8Hgxm{BvTS-qqFpr*GfAgTQ!}V9`V^ z)|dJd&Wavd*pU+-%!!c;~oS`ZMH$6 zcuZ(Bs$)|Cuj$sn(J}^xLM4gBl&5oKTYmg_60#A?r1r3h}+hQ7jHntMKl4#WEd4a8Hd8{0a$d0w22RqC{8{q!Jv2 zUR_Hz89fP5cC6m4B|-ecnl|!h2^y*l_0-j#1`ww^ffb4fV;5^`Y(K?`h+|AGg|Lh* zxOibOV}^%A{4#rZzZRzhE{tQ&2A>!reB1;3@+n})Yg&|58vQ`QBvwNOTU#}K_JswH zRc1tHigZ^*Edo3!b&i$^0$j%swH^fh?5KwgiuK~J#79^M1i2FSk=t1FRs497g)T0h zMM;H%vv5dQ5mWWS<)rWp3l$hu2rOLQEwODO z+Q~U$G~|%M9bB%$6L>kSisVx_wT!QT4bZC-&JE+tDfX23^F=b8BkaTbSP}a4`t*&2 z*nm?LN*u75G%(>{cOQK*OWy|*dEs&9v9!N#D~3HQg*0})tQGCD#1^bKm623X{BF!0d?+!IfvSt&c&WuN4*11PhL0of}RX9$FXy6yG6v zbh>j>N@5W&9RVlQ*lQ3KT7BgKty5LjY7kwcQiIv5sdg9vR8*4M7@YTOGhG zq2pRkKsHEkK)CK#{~ex%@8vII$*mAZ2&f17;dMXGet#eyxJj#~kW!KdHA16spgCFG z)ev^E!soDs#t5L=64jo2;!I2O_B!N~Z^1GRmH;)*)}r3~AJ41cp?OkalQEKs5SF%` z+q^lLb5cl+63W4SriWl#Odo;7&X)&odKnChO?pJR zYPOuf$tMn5$r>TjMYN-bKNGc9Hk(Wd{z;lV09lQp0Y7uI;u~%&pIk?v%Rkdo&Bz{;ghVRpLoVIk+j%MXiomti} zo&xBzZ)^B$PgbI)Vb-szrQuVDk6j!Z1vqWu&MLx3SVDukdm7m;V`MCIuF?yU=C0jj z7UOPODsBTCQ5<-n6;q&8!)TnYIcb_MXz;J+#FXGf9u2WHziFQR;A29NL#Ypb z%wh0WOTf!l61ZTl0Tb&&9=$RlQ14YzsQ@z``$n59&>8~jI4py`CbZpCUAF|}9WSks zO?J$o9%@f zah3@kfEHp_i>5)MC}3mClFcDv_!J5dxKWfhcl%Tb&xGij_s`X7p0*uY@Wd3IEr%{D zU8CCjW`aAmPM$PJ7ZoJsKI%Nc8Al>?XuPPib=P393wTFvd*EkAe8AvMfsw1wKr&^P z^uYZR>Gi7|;xNye#pesh?JQiP@9yXyc!kUz)C(9 z1HFbPyk$w0}QexeQ&WCy`k zfDZz*Y~N`+lU^cp#-e~W6?j;vh$SzvLX*}uPn&)yuNMIA62LK|=yQbdi80;Luz^7g z)2D>fLA*Zu9I+5X5us&P#5iu6?o|Ob!^4GrzfUjZEy+IdkFO}8AtbN!@~sNN+h)7K z!O#j^Vzv#_!@}!_f_lQLNHAmry;`O~HXXPipxjO_(IxtJM}%XC_5fA62%m;ccmUrz z4%tkd81Eq1V*txZc6_PN(2`a=49kPMWG~%TKj#jK_#v?Y!zXB zuh8U;mR?p%Mw^HT@Z@QQ7amB0UM$Hua9|RRR0rb6R6+)k86yZiIad%Gjx3OERR3i7 z^BT7br)IQ(Nwo zV_5gcex?=%09|b-Nk7CJuNFFzAHdPMsMyY@xR!=0JEUWq;Q8u>X4 z;zBgcgw!+aevKE7^1e;bcGVwSOk_^nkCOrxe+B9o47V^Sh)SyM$M95js*_j2dDnkN z9hGMd0rcWPMK``yNa#TLuyMrSiww-;ZIjX@juLj{3w2uB#N|^+l@Vqz>`KhNL$hwr zV~b5au|{!hr?95@dcSGs)$zs6GCD}6JE=|G!sJg7g$+_cHCMDz(p68B&2e2wM(me+ zHo_;h5JC8qgg9~k=Wc0?_u;WN2;v{y-YW>a=3v>FGU@Ue*?*`|J`;U?`sY<+sn~99 z;8@G2lM-!{6C6TZY!<(VrY z9!OvD!2Hp89r{s>2{?t5*{$nJ;!^?OjPff}*UPWbY7RRO6mr8mf*DdH?QaEW!nya8 zdAI#NLjWh;Zc5A=8_fMA#vLLsknmM{^@nozSUfYWmW;5J%2u_EE2;Hu3w+Nj5 z0O@>?6>f{fRGCcCPuA*bI0|71fFqPC!d)I&2+!g{&YQ~UHx+MCh@=53qr|>H{CG4* z@HyWC_l=yQU7M{aHhI*vR$)~=hs42aNBkGGQ5 znbx$H02!hQzWnV1!thSob|gSLtDS+4JR=(d;1?z=cF4Vfph;bBRKjf_$u2_=4$eRMxgkmSYmi#s7cZPA&D|U7&pL49 z3iSv;BiIm_447u481{|qxc6$a!|hQ$XN8~#oJiu|l}HdpL(p7!xPxqXQ4CdG7_1pS z9U5KF0y<*T%^C&KDaab9%6ci3IaVTV{$oPJ&Y|;Yql3si)Xi`77)3zB8koq2EXXUF zmShrk;tstFkL46s78DIiF+pG*AnvPbU65yqk0U{-3?O9z(P;Uv(+svE^2OLa!+L`) z)J2{uq=SH4TtbNv6!MvetSmS0n&6wh`P?vo>QeBD;>cG6L`~9DoOV!(C;!C9IS8_F zzzIM{YNQz}_CR!}a!~RYIl=^C=B{x=Qhd9I`-1B_J25Kd&ITH4{LsGaYGG)cD*5Q9 z#9Z7;2xkE+68A9ZY0Q|0ytjt^N{5RJFXqkwY3?AV;lqHCQ=GC&(8&n)X|V1ETDWve zJt(Qd_^LmD5W*bY(FT>jbH_{D1dx*ePgq8cSB$T(II&4#K{zWDPz z=9_v^+}B|;jv9RjsM0QUBVH{X$E)cm@9(h10sVNmFw4Hui7fa7Z<6hGk{H6oH<|O5 zQ>0vmHAFt4S>j(7hQq!k3D2*wpxJPfnj>AoK&864GPM&PPyv9QLepriGb-2I3TqXy zrk>$JPE!SwaS41#dr7O%5(!>|oyvsxVc=v9iIam&TkQnFNFsf(7iQA?FmlZtk}SE@ z>k{hQkU$$_@^jBk#xn=BPmF!fE0XdexzwYDhmw4N(rwJOeAmSN)()=&+8`v3(gG91 znT7s)APlnO3BVqD;mq4T1y(h7z{TG+B1!*dLG6q320Ec0$NC2H`TZ^kY92-Rbqhlj z(DcfBa_|S&_;^)>gbdc<0y<8Ktt zr^Su$n)tw0_TlT~YsgT8Yw(THu(zG~CzYAnodW#>_`%3{jgPD~HJ+l?H6(HRuYd{G zXr*zQP5XdVJ8zC?+3{re1;|MI+v>(|zq?q&>4b&Lo8=0f}{NmpsSW)6I zv|Av0;z74ZSV~5MSW)X92$8{Oqr#HVS>w2o_!A~27E1CK6n%6?^g0kG`aP1abTGxF zQnqq%qF5(Gxsr$J^^bj`fd82Y4Bu4nH3ZEP0@r=cYL7$=m_4)#%p-D+_fdqg2LmH- zXQgpdo&_^~L>{d5utsqxuQ#e&0_NH|n<=a4QEctYjbY{?R)wg16jfv-##JZ-2s887 zFZ<5mvah8lTZ*l?<|NM(rHqH$VU=VdVz*!Qh;?EPh@NJhz^QHg* z_Dp+ggpp~kD+I8K(Nk-|D@zk_D-RE>LV#x8lz_3`<>6Do+3+$)pLwls=zQoxQ}Vt? z{j<4c+U5Wm?M^etV>FPKE&W)N_nDU!Nm;SoKzd-ys1HoJZ;|RD*;tKqr5ucR+$IfV zF0cUeVw+Z*T6CIdfGMLr?sgG}tP6IUtljUD&U5vh{!+8ux3~ph5I_BI))W^xL|#QH z4K$Dd{!B>#I)x}dsv8dUfk;;m38wd$F|dj#GIJ7V7@nz~AW}cOGyu`5V;~EDWT`U> zLTe2T%-0A4O--9ZfsK+)w0yxnPs&R03Mg&2xEjF$+Z40%Kw(I8rKh$RK!-dD3OZ1M z3AtH<$dWaGsE~?JTZcoxVa>)EN1RcG2H!&nj#KJV+fRky(@aUo<0O{(B`rn^Fiq~k zhA^25U&Cju4nJIO__5GoQ>p13NmChT#A7Z?eP^3e06F^)wfdS=dtv5~$q~_rUBJK& zq0lF-S&`3FoFYWJ4HU8aXU47>1IN^yxxn=U7AV$0)*5)ELs$hwb+wfGRyrie?(<?*)L}$%+Lh1FS9y6!0+!gAghPWE`!=KB%Az z63&zwm(zqd;O_v)OU8^^<`5H}!6VIk96Sj;fYwPl#*m<&r^IAi!5~U2U?mOkr6#c~ zg+VOXGkUBg4gJ;Ks+1)MV_1|-GHOM+H5ap-Iz`xAIx-+z{vHGtia;Fzhbn4fK0%@( z=OHX8=w^q3xuv)*R{NoyNCj^$)<)pDwxlE~;#A`xykr%dF->r-2eto6J)-V)j|if( z|oseo-&_7eig7xBH^k3RoHe)nh=CWvvCAUdebAvOFYb0H?Q< zc7Vnk28@%Kc!+Up2B9m7AzRCoyr)u4n6c!d3n~Z(f98ywcGke|%&j@y8L4D*h{o1n z&CC?2!Je~N<&|D!`d)h3ojmMT09a9@k-tpq9ZL5W#XE}N&U!rOCZr1>e-8R2f^ug0}zl?!nF-vsOi==nW&B02^ zfsX~lq>2Qu8j+ev3Z#A93eyas5%0)qq-)cyFf$e^BW2m-A~P9do>e{$R+xbErwTrh zwD_6z4wW^O5%53=r@tjvF(6Kj5Jf>7s+q^(jpagu8L#7Uo1}QAg6u5g=(U69fSyp< z5D0A_-m_*-lwY2YY!#g2V_Vf!@fnv06dl0ZB?=w`ZW@Rkdb&T9UYbSJ2;WK_YyRGg zH?@z$HBV_Ph}+-wz^f1>406Fnq(nQtE{5F`bW@669;mJNaF*4hxum7(Jtzf66SS7p zmK{Nx%tko*^&CU0>r7xKH4IVE%ax_uXQa7*4@Rb0C@>n#5x=Q<58_mX@kv`*Z_?)! zIaFV)W(1}nJu;YKomd5Fb_jw2MQm+Pcwjo4$~Y= zhm?YZ<__GkaKmyK0fCr8)Avj$9D|LwLycwP15p^_b^U?ge# a|7X0DjesVjF(~pd-9GG6uOWbP1Tm0$@&#A` diff --git a/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-regular.ttf b/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-regular.ttf deleted file mode 100644 index 695e4d48523a110867087dd487aa967c4697fcda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47940 zcmce<2YeLO7C(OP%$Dq?ZONvS>}FF*NFYlRLPrn;MGz1{L8J&s2LUN6NGH;Z(rq*a zbY@df1O>68fcoCU28xOW#piprr;^P6zvs?w$_o14@ALotSZ;Q9c6a99bI(2Hd(OGb zIAhF-KL*yad-nmoM~1T1W{pcxUCibr?+Jo0W;rn-v8GiQ^oVPKSJ_OGZVo z{Q1lNj2-wI@0X6niI|}#y#KTtuQSI^oIY#Iz8lBjbvMT3rzT7uIlS!rt)+~q|HA#> zpE!Kh6e)r~!&v3(_`G}4@QHV-W&i#NuW>zj)|AP2Pyb+0^$Uz0yaWCDe#*2vr%Za{ zu}>L0)EA%s_MSUOjBa+LgMWd5_y+$UUP&XTfVwf`@0>P?#Rcz0cjUN|iN%O}a~3bIYhZ)qy_QRnqj1*B zj4YE~hx1kzfd^w*tRv2k#v_G|#Uqt1WXo7HR>3wiFWbf*Wj=Nsk2dTTJj&SxJlZlY zy)Am%kuAYv1zU&DJk;^tU5C~a?RvESXg8w` z#MK7lo3{qOW<${y;(LqG7NadeTZ*;}?Fn3CC)zHw-DrEz_M$z7YwSbYk9GjA7}p@o`0~IbnE5t= zf3UWJ3#?t>66+8+#~wv{1ucRZ0`FrK)%f0PY?AgYyFZYN@API*23E1>1CL=gqd|i% z%#Kfe#)dPeI1`IAQ8@E0&cxth#e4L*n80bg;{Zj!!MpE+?%#;-ObR@WE1$%bAH|iA z;mSwZ$AQ0zo_>M99|RP9+XSf)iKgGt0jhrus(%fte+{aC4T^s)uJ#n3_o3}aJAn2y z+RJF~R77b^~*>K4^W>`UmE-TLNnYzf|M62JIl) zvuMwuajXIpzT?Dt$YHrG4=cS0eBxuRSqZqKEo;X*;4?jO?HkxltRL&o2C`e(P^^|k zY%#cTDOODddk|}3C0oVTvyJQ__AuLoRrDy^$M&-WVtrJz8g`I9%bsIL*-KbY?_(Sv zVGP_f_#jwQiDEid~)HUM%ap-{qeTc{P;_=OR_AkN3#L0~tadmhj zE)Q?S_2G?HL3pE85#DH(gg06>;f+>Nc%xMn-e{GDH(GV!jaFfJqg5H+XqARHTD9Sg zR&jWvRUO`Fm4`Q4_2G@AKzJjm5Z*{igg25J;f9FudIxW1Bjtg&`nV~VF zpr=Y$DeDBi#Q8X(LyVY#YhZUygD#2$jW21b(>$ez^pGxdeW> z#L9&BB@NuTkv0x*q@BYXY3uMt+B>|F^%veqyN5T@_Ti1Re|RHnAiR-v5Z*ZG(FgX% zZEP6kPqGT#ZLWy8z&x;=8M6mY1y+MvKL@@KEDQV;cs?*M@H2}FJQ;XA@CM%hAN~ct zpbrPWrtbxQ{F5)*@%|UEe(L`PKGzQe7a&gOX{oz^9F0(Q)ve-#{+Wt8W9} z1hxb&((zyY3*GatK8LG*+3*=iA;#ihr~l!fc&EwPz?*?*1NR2*7h__9?Xdf7fyV+b zV}-!e#C26P_>h6^fyzK)V13|Ufz^Q(0lXJj7nl}^3d9DEh|hJy9GU~y2bN$RnZ=oo zjA?W5xo&}R+K7NJ@J^s0kVEh2|6qrSf8g$`{JYXSf%gMX;F^NQLAqXnl0=Qb(WW#G z%%$4|UJRVj6g*GWz6<;v&o>41d30W-6AYXZi_d+azyC*`3Cs+9svQn|+3*f{lLgvb z?RpL8p*gSmkFJ5M2o4RrD~^flg8$%mus}K*jo>3Xsec9s_Q0osckuTsarWE#zvOK< z`X?wPuG?@@r+46U_!^)S_}d=%0RD*s5Bv)}4j-@uy%V??cnkCJufV~;tMu8X|HRzH zH0Cto`@mu}%o;cg|KL3a{{`nza4)O@dXKm_^e}P4bdp@@6eTW-VMF_U!L{(`R~6Wc;W~8e8ZY<=tskK{&=nt zUy1KGeD=RT3T*oCKTDsaUIhLnj%J0vslN`r(x3l0FXB7ziFafFI2Q5lMqImI@;3TR zX#Rk4U1{axTf{^4+!2x=dQU=sul!AM->b?Q{kvBh-(S5WuDcO9N!Y)@vfwvg5ud=F zp}`<^n*M_)^FRD+%yB>g@K4ia#Or|rfv;#LLL>O2P7Iu@mtV90?3Ru1fzL_6r%ZS> zgIy4bzoZk=ggi)N*?4gH_BpVTa`BMi1B;X92alDN^f?hp}M=X1S?Zw@n!XpmI!_&Agp=$}O8mL1eJBmjVJBEh~ z2*gV`CR{I8AQ8>jhj^q3M4}lxhesOw1dlY_r%X`REGTOhly#EC#dS&E5^j=(S43YU z%g4hgXqqZ0XoQVgf-_}!BndiN1szR|=x7miB!r^_s7Z7LB8NvZ=+_f{y&eyjpk1P% zU4)=rBD)z67rOo~24GHzYcj-Wy%_E7 zz;y|^&B53SjTp&w7{_z0H~Rh(=tpxt5WPGHy3q^|#p>Z`R<;vZc4NG{ zxxlO23cR|P@Gl6jmc{1{fB8C>nY!G1t(%p0?Kc2_d-u5ke{bwE5P$pi>5abwZtmxX zw?fx6h-(tI-uMm;@5p$^ICA8~Da<{3+VGJqd%|5~hOe(5LB{ z5OF%I|22Z{G0cti-xAdAj8}yGw*{Uzj?D*Rw?EhmCHQ<)e1fyL1$8*EZ=w=sKLja2 zNV|@|bI_LF(<#&V{EcDfNpI*^Y5eK`)3Y2L!h!En^x!Lul6pZ1Xyfx=<9y%Xc^S`% zXu5qx^obKb3-w5X454Vo48$xrj$Du(30FCbzRPud4OWi9xW(whkka*M`5iWzh)qrZ zcOI~DU*?&IR~|akqfeh6puKe2U}73$qs?0+=4Sj6de4w)T#qNW_&U*&S}J-&|1RJa z9i?Kd6!R&>=L}*b5~T6{EWrEoS<`~q?_<82Gxf9)~!Oxf1f1cy>peH=J3xVT-se#@atNZr+>*tT3KYISf^M}tr zcV0ce_xz&sZ9X~v;WtK#0{xHwI5?0ocI9Gf^ zVp4KSYO}O-w59N#kL!B& zy8edVH}>g!Q@{QLZXS5cpuxA^He~4S!|oV9f-PNEv0}sKM|M83YtQbzPwn4#;A!O< z)n8Rpeek(wj~ssCMRxa{qsM(b`|+t0zPM*RTfUV|XKbu)XHC41J^B2CQIn~!lkWdy zl(ktx3r=NZGHJkI{IktG^qE!#BS-WoaLl3i!+jneZuf8@7 zUlL9Zp2fUxVGjVa*uWlR&#=>ww!5Lfs`301Wa@J0zJoy2*WvEl@wEd$-FLEXM!Uia z6z05MxuNeMrPs{C3iEbKR80AUIt&))?i=j>yTYA?i7gaf;QmmF%5R}a1=sf*bgg%= zr-dRH+?D87I`rX`#IPC87q85s!z7*j-AiG82UXlzG2BfDZBjg*!6_BuRX_a|-O#G{&X!{H;3km;?svs-q6*wa ziaCGCAh)}RxBKvM?m_NRBlJtq=c4J(xV5{&-J_!WaBqdX!Ygj)Ran14N@si$ZA?ci%znQ;y=DxPnU7nRmYC8h-t=Ha3!pzx3go(Q|i2zd_y+=)L!v6g+Y7HK2Uw zeuMmw0bNI4;%|}z0a!{B;GY+=KZ6OXRDv<)Ysrv3#yX7b)zFVkuUQwu{s%ql_#fUyY2s zsK#(SN7)^fvdJuECX_SPBHJBGWO>V0Wvxq#-)l6_A6S%B+9NTofFL z-yA`oFdHoSipxghsfrRGQ9V3gDNR1q@zjqhbLCqPb$s>53OZ1dZIx28*_mG{i@zrN zi`!OOk|J;rZ>zM%N8-R`tBiI<;bS)O*Dn6X(O>#Zg7^%+l_&*lN!2CGx|(r zTIiGMbYAXklVlpX%}%5ttxy>DPwAYDIdPVFoL)4aOwH%=isp5CWUsT#9-n^ z%gf7EvlHjsSQE(xtPmC*@5KrMHGFaLzT(o7*4a6Qyrgw$S&7e;#$Ddl+1?D3D=yxE z7jY)D%Ue>&CseOqG=KfPjqkkp{LXbd4^}OlGGp!np1-%xYn5wjPV=41*55n+*15%< zPi}wgRNR^O625w);)&T4M$H^PW9!&mC!EheZ~u(JQW_KZ);Pwv2ewBt?DyudKsV_$ zQVR_i{RU7)O*CArD)HtSqVv@f9NHtrq1|wiE9JEQt77!g$Jo@k`lY8t*wl2q%Gck^ zx2di0DqFl#+kz}{F&KHIAtenXS6k)V9o4BB-rPJaDUhY4(C$!E(m<(1JC0JDl@oP9 z5npk9GahI1W@MKMQgz_1vq2gsPvBX2+b!O0{3a1@%+C1>9^ZNYygf??_PloB&1(k? zm!2C_*MpCJg7aNF1G{m$`^^J;bic*WzS{%4_bl%Iz|Nfy+%WQv{yln+8r8S9$S|bK zCun~=_Dg_!6E53wGgC;ioB>q*;FS{1(LIbm?j+zB9|+L_9{ziMwSg! zQKB45X1U_DtM;VwawX28#wV78RvC%-Xi~Y-%3jS(QSn*LbyfoR2p$5(z%#L&mzMbA z%n9C{7#^Zt88@4paS3G|!E3}}Bkz7}Sm&cV*B`xQ;#l6H>l3ry`f%8F$M1ZnuKJ;c zYwpo@x_8c)es|YaBd+gzJD)e^z_jTryFdQyz6H0e>)TsfG=JOgyMCJ5rQ65VcdwYl zA4{Ai^}Bs#zoMHvbQv@eYw%7(6#G@k@3Fhn^X~8|;&dXZ; zYy_|9e|OfxnO{p?Kjshf8@t^zN$a3p9H1@HzS(p8?e2q8zkU2MZP-4o13#|QF;%<33t=Zm06|b9imGIxy18PZ z0jow()EXLXL^(#AAOs!+TeQ*IMTZW!o+GeCW|%`690(JN<`BKmZ=Jw>+#&VfT6bWMDf&0U zXeBl^a7q3dG9nt5MO)^Nq#oEI9CYbQgGd!T90SVhLR5_aahj1lfRt1t4Or(S|7;Fl zvBT-IN!|>}Ddb<7U94R5)DJFx`GNew*B3rgmn>VlKz?Awig}WB-4DDSZ>4>xz4fhj zOgq7gc-~j%-agOszWm#}AL?_o2OT_N+yYFYBl85fW^w9XB!Iz9u_;z!V8Kw43PA9)&I>;az(INF!TF z1X^HcD$$UMcGYATszPWASDb}|NlSQ0z`1VI{_)yZ+K<`->16F-{@tVj%cd-QNdD(5 zKfe9+yV^Nz_=W{i)_q$COkT640(~EXdHVu=&jyO+&!WB?Xx6f*8?Z_9{Yf+o2hKT? z=$s?oLUvhJ5;SELO=}K~i0l9|8(hT-7xsagfmb%NCQ>oWxfqI#L;V>dlhQM@g!+qw zRiI=*;@g$e0LQkxnF-Vz@TiFBJcI8u{Y*aq(GAvNpoUHIVUHOrPgu>SX%E2@8e z@x&Li#?E-)vNoxf&ziEVV*b5Lqz%%-DVLW{dh+}~UKsjJe%66|kA5cjK?26d3~j;N zR!FEp%x?*CL=}s)NYVL<0S2$>qAzHD>sFgLBNkE`EGNTIaX@-N(>}bTN%015NZJOGM=Ax7LsLp946 ztD@2zWRXS57;1(XsteO#EhhgU1w0jt(R%Tm;zI9@Q4aK;scB>@#0ti;ig~cHEX+d; zH|rfH!J->hxah?Qfm}rsFYJBNngEi`0J^6Oj+>zo2P!QUh}}b zwVQsvd*KHQmyH>}m_IQ6P|Kn{cUAxGZ`I@W6t#SI#&c)S@zNhxteiFLVZLnQ(xo3% zEEaq)A`p--h_PoPlAue_X!t0C4`5+d#ic|MA3&ILB}-qN6rqd8{MVZk8cXb@mzQpifI4lTGa03$d>ji$vHL=c2_ zb`q8#juz^Anm1L~@~V*DmRK(Akv_P01n_BSyC}M)oo?w286=9)R@u@R69X-Un_G(1 z7~mRkYJ^D!Up&fYC-OBiRpk2n=L(}GL%)5b6REO1{;6+R?gSj|!S?!07g3~I>a8AL z;&E-1Th*SHTk)maxATX0>>#>xXt1O5>xL5j-iD_4E-Qia#9a%eWp%UUYmXl0Tsx$# zS}pF~EAX>C3jCJ{IW&X$-L&#jf&T~%4ms<02@UQN8eEq{LH>(^s7)$XBeB%dK+H&+ z>Hs03(}h?fXsAk#b)^C*DOVk7m|Ket%gtn0U<<0QRGctHigib? zKP;x6EVN$y6aS%8JH}sEEw#G-fqoOljGBE*>A148aixZ9cN~B9>3w^~_1QRmS-(X? z$B&sYZg6e9jx&kzP1m}a_88|N7I+Q&hi;oGHeXdU1IsYv>!w<{@uE^(q~;qgDxHhe z1Uz|*R0FxcU5Qmg&VPb$DVi9iy-n$OR84XGrX(N5i^>k|J390I z_)A!z*91GSoK+>K03a7Y32$^Pv``MQKhFh;-1dW!28TDlsJINYQzAe)4+;1DVyx++ zawXEP6qc)<%kfGm+hm^UD>gV}6Qq04`|BuyqzSSKYOBn_JQ)VbY;qXrRRS&iOexDm zKtw0*B)@Qaw5Fh9-#^YaNSyvl@-6GWkjRAOY23I>FJi2xZ$*ZE+Wdu5LdXemYV?2K$;a1iBS~ zJ?NWQE9}-{C06(2Bk?NIrWi@tq~JIOi`9CO&^k3G7Cj;!kEeskawUOSUP*T-M(U>B zBjj07y<~X+2ifwltOYFO_3Y;Fe*NvV5!09a_PKVFmoD0*eWks|Q|E42zC!!Pxc=zj zQCpgOs_#2`cFVF^oIiZ;xEbRyCeCKSo_G=KI2AEgfo!TyjK?XEE@uKvHY2H0SQGvz zBiU6^7Bb13iJ{pr0Gj|T3F=M2tB7KuPvZe;sYW1L!aHg0AU;d*7J`E$pfqq+O3QpE zgExcCSj7$dKj+T)BZ)iLSDk$6>Fs+{jwEYeUaZsJmXY%B+X?NRC!{Sr=Jx?V z@@R^HanX;Kq8~uPaRwS9)C(YqRYslljMO1`(%=URIz(=?aIr0Lv7yp*e>&(y>kc$I z(H_@sd464cX)`Mf(Ik$o`AxybkE=o zb^N>GhP&nIb=OI^)ICWzOWaaN6?C}QEbz#2@JKqli|G)S9b*)hh7|`^;R0GC;N-+7 zq>|AQ-@yJc7_RQS5_2TsmATj-C)}bqxJ82Vg)?hNC0P{@SP!5T={+06A(lP76ePk&-K`MAC^uZIa1fkxV~Mcj-) z0-7Wl>`6_>3+RfKM@R(e-)#+B_c?qw7WvcuXyP*hstwWgzD@+zDOYUbQXD-E`jl2& zk$h%yRv`9iLF!;~8EzmPk=BQo%%8r7zwpb+e|*O)<}P2qSpK;-`mL|Y@zeS2TS23i zVKg%MLM*KlMzF82+lBW{tIKESJ`0R@GZAIZ=XIy0p`U6dEZe${(o1y}wVz85S8HkY z_c7x>l;xzaBTzm_A5(}vep##<*$Bn~pe|N0aqsRU(oW<0%jSl)VJgP8VvsSSU&~}g ztcFAb{8Ry~f!^RuH40uJxD(e>O`w^{2FO6zcS2r3_f|>-N|EJw!|5Hw&_@M86bM zqh2*ERf|oP^&S!Eq*}-olFAj?u9&ezs3WQz5$pyBk-gjw3cUUNkvfd}@-v2;exGQ# z;c^w|DzWKUyWeB&+Oc|pF#!Vcm>6jGuCH;OSfk>U=> zZ%Hh`GFp-jxB%oEny0Vk#wYi2)5?`v-To)F+BMIeuC94qe(RwBq%5r-bCS2;vrBvB z?c3hbUfZ>s`_BBLeZ{T6j;rG~?O#ZU)aChJ(8db;{~Db-V!}urRUuqQS{0Ht=mt<9 zmB?bnYExs;Q&ORD1(@oL1gS#m(%_0Scs)s6SCKiM-BQdq+^W_7peelH!;d|-LVLov z{`*(nK415a^!n;0^ES)q$M`_3;S%WOVj1klpnshNb5^LqbfTA6aAQ0=5U+dG)R&lI zMA4zcZ(gOU=|IkTHmE=$cT_&}=kk0S3r~TkUYylX3iNZrXc*8&@v8 zhXv+qf9rAMUhVRlLnrx!*X1`3sr9tnt-bd4kW<<}Zhq~a?;S+XpS3TEo|m~JNY7o+ zkBV3W38*X4xy`C`8(Ak+(XoQ0a2Z1Y8%gTeVpusQaHrZF+dO7E zop{TvQL`VL@bo)VUxqwwiFuiic`?&!L_!U~b~3OS95)%k;D{o{1jyM6h7+i!5e9Bw+a0~ih->B5*(PMSe}u&{LsD~k34mR*S=T$t@aInO@6Dk?biMK zw#u*7mY&c8HmOeB8#cJ%bKKiR`b~@t3yRF}dVdxekC0`gg&;t=H{~R%uQ#2n`+heh z*BHZQs5?%%ai$Yu3_s~B&>t0Tr)WD}u8M;)5Xtp}2`W1Z89))yUNx)2 zAM1Xa)uvdE8p(K%!pBR#ABfYD&={3w69U`Fn}}%Su+_kzjIhMmg0XGhIa<;)qmUN` z+cgz0ZT+0XF?f>lThXag?Nscd)puWG&PqeKf;~4Y3E+hcJJ3dj8D)` z?=!BiEjs+9e4#dV|55pEh<)3{iI@LHx~2{0q8c=e#7fdve}qp!_^@qAZ|mBcP9q86-8soy*S@Zm)S`~+q*1$JfCvR{ z0^5KxK*R)z`9>(me1>$Y2<4c}V%9NA{U9{`VBy&J_}zT^87=NGtO6h4_Xp}ONpWB& zTz>$rKN8osAbU>N;{Z5yyHl8D)*=y{BJ@ zq}pH~$b`M*2?>XIx)McBHee#bM zcsQ?0j$Mrd5d|5%^OA5?Nf{>>PshL#U|NJ-+sWGIjFsg$Jh| zn||;2Dcf1`TZ;F~vRtkNoZ_U?oIhfN*Pz3+yB2OrZC*A29#-?Yg8*v)qg z>Os{|5_ToHWQasuJO=sHLv`v01B6%tMxp_9AlQK`$zs3+>q{}k0%#y$k^+SS?x(e( zhro=0&6tWrcsijP5hfD=JDKUFZef%F2QoW_=qDu2yu5l6UvTdH;Ws8)Vg@J+*REMo z*~j>4-RWi8SF>lR~^H9*{otmDR}Nom-fx_KZ2Sk%SMDd1}m}*A8bq`|8X=x9u9iGlBY6D}4(A%uyliJ-L^v`!JU4)&G6XOp#9M8?%ryl@fhVTeXoExN7b zw1UQw5KI(a(SxC_VKpa^%}yMn$5hJfAhv1fSBDQxtlndp@X~W%S8rUjzi+?2OEyZ; zF+cIVc~b80>C=|*!b??eZRKA*bP9dG4SoIuw07y#c9N!#24w|nAOunsZ*>~U6(?b$ zhrFyHalEjZ2?ZerA^IkukA7pclU6`PeH1GiBcXs+J+;9f9udw$3WX!d%`VabJHR+`BLBdN?#C4SopH46ok+s+ z$2sYcg2aUDAeu-%E=*H_6;scBA~OiN9_VQ^Wcg8GvE817yE}EX7PcOA$7i3_$eUJ7 z+;_;n-ZJKnDJyEn%A1HEZr6s%AA`0@s8g8F{0T(cW?%&qdgzylA2PrX=pcgiq2Nj~ zdIyt}tdDd(@`*$z6B2k#MIy|SOqw=^0!MN7O4%NnKpujLtY?^^l*=UEYi3tm2)>Y9 zq*0J3;}jfI7IfB;TmoM2z{8m5_Ag#|X@X_DN( z8KdXY*fB-`Aa>nyBnBc+!9tJ?4Z{egX^<#Bw-eMBOk%b#ubzF3_m!*pn2CcHXG4Y@ z-=Hn7>ngo4ZPM*G)J1{jfSUMl*!`4G+9eoY7O?~~f(lm9JeX7(O2??Qh>TJS*ilAl zlm(7gD5I2!7Rn^WQmfE0|JZ6{M*{fUwfp^_hRn-nNoGlbquK!85BH4%rV9j*(*0By zZb@?u^h}k=K}rzm4iwII6jK6QG~yP~MZ#H*K*ED+bCG0~XthUS%H)vsZ1ZH~pew-C zDIC$+?Q7q;TKl%W?{I1B5`-a2v|r3!`WYU-JVHBVH+_)bfjWoz04?PIU_PSAu0k*K z71(YxA7U;;C z+Pa7NxA$l(X#5=YH;mtid&$5D^m~y`2_jM;u8h`zNNuh*e)@YleGgT5rdx!ppP+wF zjgBXb1-;a}Y85$?AXrHJP_87n2U(INe&X>8{xi)TrBDe;LOWfw!{jOF`! z->$8yYbza|I(63Qy3W$UuQt{G9^!qB!%njwqILZ!RN){0SKQAVaX-4)g!}iKX20CP z{)WuOo11Vy$(+H^_i5-ytey*`tDlfOPa-*^=K?k8NlM5Pxj?#xgxYD)jSNbW0yeC1 z(0=gT4_AD^BWIpl{hszy&CcZ&Pwc8#vP+7M-uBy4?eD)uZ~3JHVnI3c!SSa*I759} zu8lQVM4ytedw?EermU6*@{nF+^?DIDh+->NB}hGlJ4iiJ7fCb5Qsx@c7F`Ij6QG2= z3Y>^3S2<}$5$3o1Xkrm+j-zl?5*KSoH$!$?CcX0FCm$aRDnK6BhyCkp{@@BNDD!1jQ|J425aeLDfOrs`B6`N>cM$A|EMp&Z?Nb=1p~Q)@a?5t+N;RX@sv}Mhy-4imZzs(yqCzA*jk;}t_(L$i5n1yhOr+Zvq5MW+Ur>G{ zSsQU8cd5a|U^?Fl;{u|VObW6-%UqcK>=L`>SoN!~mUK=pyRPe;xv(t|F%PV$o7}l` z)cUyf%cQmX94y8hyl%)uEhS_QW&P=}EP_P(q({I*w~M)k^d+E%lE)*9RTyw0R&FML zBnJFwB)F3_juU-}LpSgw49o1rH7}pOwtBx|+{q{Xe46C1>;LbqvV8gMUH84B_rVPv zvj=@J!N&?>HAEvFt5J~HYJi6%GI7Eo8}}g|&CSngiyky&*1jtjk|yP}+n});*Nb9n zL-~A>gxJuMlMN=IHz5Ts+*nbKp_(xuXaK@%I;33EGp}R-Fw#-g>Hq)}38dx1r8)u3 zSPB8}L@3syF{+W?GaQwXEMc?)MBz0Od|XtW1#uN1Do7HBPK*FrFCrc&@xXt8DYCbD z)jR)LSNm4A_U3vmaCtq(@RgiYdq!@4`K+8-E5?!w+8o4Knqnt93tbgE!S$haBY7?# zt?fcA_V3y*KKk9Cf0h!ZDD6JJu^&<&A2R>W(F zB)`9Tv{c8QEH+?Ks@3%yD56*ZIay2uIay4NASayE3Bc=*1hNF?@NxW?yhXeufnxXZ zukwihyrc~r`F=*XRzt>QkZeBoPa)}eqMeQeQboikemP!RDb{! zSo}-uWuVlv?x>tur%DqR%a(`c*Zzwj0$jV3wpm(hYKGjA0St&_l|v*|i2N1U{zwQm zixXT)DpKOl00dD7h84}tCh@ApiI${A<+0-q$R?$acJc%it3x%%(D)Kc;Q^Or zci^_1vNVq9wa=9SeQz>5Uo-jrZ)F{LhMzv|-}g&rZg~H*{(UdJ#$6cK*_u<|torAx z&wkuW%)xwKVK^f@kbgUnA=6xq0JIVz5OqRSkZh&OICF(GTqt*>;Zj@*-tYqE** zzmd@85l(p=Vk@>{zegxd4?J_{XA?*;vLD3QhPWp`1QE7^Zios#aR-Je@mTpd&u+_>E%t&7|CzuHe0`L}> z#)~O^n|$UNK4#hINo(e<+4|zqZR-|n7(Z&|g2mfTzPWYL^;3?WJ34vtu}PDTO&MRY z`PCDTY*?~>#>|aNAA0n)quW+4UbbNVVrk;+)3auuntjjdduF~(Yl#C(WrmHAXYr^> z7Uo6>tFN-zV;JVx;!|x%VT&xTigSq*Fqh(R!VCuv{%_0~xN>SVraPk8A1(MlnrtL% zu|Gy6A;iStm91Df#nA{FiYfqx>BRx*APVpISP9J!;s{p`o*=rUmqAa?G;hP*x8E|Reai`(Ce{pWwRptiFQ0p3 z?!!~==yqf08+#19f6#ONTP_~4>v&n4NpkkJH+Jc3j~m(bmT_GYlN}>TZjUm&C!II$ zf!wxJb`rrjN~BK(l7j%Vo*|0kP=ywy^BQ$XiLz<|DWM=4aU#_sv|T-vlNG{rM(KDC z-=#krI~TNTH@I!vd>z~Yk}(*yi?3r|V}Om8V}}_XICqBX7L!q|Sk^L<5|zquu4Nes zsg|t~N65$%XESg%FN4nJWs!@}mTd8=SiO)Ko-Jg1RSUg-v4u_bL9k~RSGCqpWECr| z^%`E(>Z0&iZ3hPMwXi!5$_{68WL}2I&1`K~44Cu0mJk`{*mx#p97tcL+kofG=AitK+;@u9a+ToXuX@@JPZikKDmPc*hs{OcQ zyY|Djub$tu{mIq04<0gZ+>l#`tbS_imgl4suk!xKk81~BJ*GW#@=boz@x9uoPdvfX z_wM1TJ0I6R`)I;}(~qqi-hb)rNi&!B8~Me(k>|g+NPj(YbqoOtr;_{nxrB% zO=Q4U$wA{Lo2W)AkK`%p4g8N0X>}qvUn(&HwJ1>aX?=rkO7gFgi~=igp?Ke z_NZw9K5dNz7ENMA55SNik)x{$gkS2TFBAnRLD9mRoqNa4?$&$9-lYp3PI@fL)a(8k z^B$ek{FanSH{BvHnlRJ1sH8aR&Uq^qYA1&E@nj8{bJx(^`qv;u%d#Mb;8|5 zE|USdUZ`L)hy-b>7YgPwq2?Kq@m{&8Mw+%my8}iit$2xdTtOM-Rj2(6k zg|CDZtOQ?);CUZ--d93A?@Nc=D=4n=bP#WND5%ykYy|+W3o(3&VEA&(Y>VQmOnnjL z7FQMMN0|ccqq=ok3!O0Ot%DV;<#t4dV6T@enFyL>)8zX|PUe;?CH5+FYy!*1s!%#m zaVt&yAJ&GixM6W{Jv-JM4{MmhajhZ$yh&VCLuKdlL04KI+jsDoEnBo7#QNYZc+5k) z@1Mo(tD|Mx)cu>g-_m=;(km~K-8^;gUYjJb=1 z#_pxdP}PMwiX|i1LURJ845<{Y(>YpX(N~#tI#U*x16UO@riiXCBowRI4oqJ_B59ta zMro)(#hWp2-PqA<){Gvres0gwlAb+FN)3BQZ+dvl*!AnTkL%gJO?gkDFNeV={M7Iv z`V@=$y1eYJa ztKR{>w62`uYwv5iUAK8)znJLPP+pvS$LxDXmkv(MTQPRdT#R|P;YGCG#i7>ga8ws?mN7Zud4_EU$rycK5v(s|h?lpZ0 zg|6H1=;n>G?ef{Fi?7pK>;1b1>!b*4-by)GA`gm8AgVo}6>G3DGtdA7ATV@|^ntAk zP#~Q{{W29N5MO2bNEskO@EUITjGJrveWumPufOv=@QQv5ZpkV0k!NG_PV0Sh$2-y&L~h)+LVM9y zn4f1^=u2LG$0Xcymb8(7A?l0s0pkhs1dEDkNnW|A7}qZm#l*AtZH_I5r|!GE_OjHQ zXfEM;JLLq(%P7R~ky$5_(-UBqAWCZ^IjcwRqp>O=Dk*Fk0V9M$6NKr*zCbB;Fn&TF zD8VW2Mq5e1;4sg6_Tf#>9@O4F^vJOOHw_(jQ{USqgQ4e^7mqyNbK46qY#T9U>d4;1 zCr^No)a{6k@@V;S-Hs@80#|i$pZ+weuI@qZ(LQ-I_`H!X;Y+oJPHkcR0bRpD`A^2_ z#x=Nx6?k?M+sXVC=T}@sC`D4^X^x8h@h)27@dVmX`8$M15Z#u@bVYIq6>2x3DX|_X zK--bP5>uiPQ+LocoDhK`XM~El{gN30McP)PGQtuS4^<33Li*WC0Xo$T&8;wp-(WW;ha+M=!9_@T}4=>5}Z zA}^m68)`hnFKh03yLZpyDM%>9Qo{b#%(yQ|2M_i&)FblboFcISg~u@%beeEU(=dc9 zkpXyxQ2=d!qy!;ZBrH98GOrD!vWbip8_E;>DMC4hVkA7>PP|5b)2{57C!ArLtnR7$0s??DrKD)A{m2TJn)Z zHFZ*E4w2GhSJRv0+2`=*7L?MNV!M(D4lMD3>dniQQoEXykJFhBr42wNDvNKV#Qdqb zdH51|F|=>apDQv8?Gn?JS0`RwxA7tR)Z{i|VR>wewr!#BrU`wQ2Yq*E>8**mE5^>f zx32mMTrIJ#+ERHmu+2osZ&WTjXl}sl*dm4uJP%yu_#!GT3+0M2w>1oV^*t`wza8QER8jqg&;b8oMTl%|avF}GSeTXpmuUMN7*GUHSGCf~4n%ze|3 z49^@tb@JftufJkgoZqfpet}RcShu1k&m4;!%Sh;!KUC#Ki41g6l?MP?><7R@;kEjz zJmdzVIImG<-eP15zSO8X&m60ruXUqBukrn8mx4dsuTd3X{r&z}1sF-el1BHVO29kF z0%=?h$h+y*Na&t+jM0Y5g+JWW-Y`Z$>Y_%0Q@#vk6V{Kh1W2^Yn`3S|&{hAQ_~S$C z*Ntj4R^#O;6fpc`-Lt1QE?AQ&Xl&AO|8#KD++YqvedVJ&bbq)DqzEfhZ3(my8>vJT zGDMuIO4nfx9FFo=51!rx;3}mu;!_`cPF0nup5nBBPO?vpq@@H56D5lg*sg~%cSM>N zEgnL0)MznI;0wsi!Zk!9ToOi!CN%LAW{CzC2b-~3QB{mM z5|unrXK3#@_}ank9;$5mgo*-FfU(saDTP+Tr7jr+Swp%htr)ex~hSob+JDZPR(h?CA zs7{)dD^<-Rx)3ZM4{b#ete>Uo@Z2D95?)P9n^CxJfQ>CtMrSh8Dzfuw73SKNEX-gs zGN%0AY!rW&t5KOa#>Q5<;zQ7gz~UZ&4Gt82Wh>xoc5Xt(z`?1}vsG=YJCrK(+^sKLTr z>=7wwf;2$kwltwiNS!q9mRVOO_0%z$Lz)D7Q_Pp?bJ4eE*sJzWdq*WiDLyq8Vl|;Y zx9{rHR~coYUG40UyC`dq7vI zhF1GiSU4cW0H%AJ#swt$jSM~qd`bIdEER}TO_Z6+!Z<-^$mJvh z1VBJKcq{)1G1c!zy((A2zP?PlHh8_}f4rW8aM6`6Ntq~g$pgeHD~{+q61plbNxxkp zwKF#pac}HQCiYsgihd&SZ8;-qwkWbqNv{Z}n6c!kr=fW#+#+6|Z{LxIiT>?3z29;G zzab&@$9z++t&7mb`a96ZUfApsKmstNPzimb08KEuj-qGPfoT+3*CJLEEn@y+(-TT{ zr7qO##5{e1&K`-<4?+|3n@Sxr%?T<%3E9@n@TSlW&Dfp6T2&j8qC_5W62j5g3S5Sx zl8Qa+05&G;?1#uC(&0#!CKdZ_!VR>g!gY%gu3HQtW+*J6ng|L$6X(T2pi&A6IjdMX z^;-aV?9O0GYYrlmE>GqoeEp%&P5|1B!>@e!1OMWkv)rY9E3MohO>5W_Kw7Cq^QfPO z(6#_t9{tt)RNT;hN=mgY#p;)o_|Oy47g782G8QW2{>x*mt$ zgjG`&ufGCr87d8?6oO!BunLg~)G7&TK&JGVCS}6H4}i%=Yswca7slKmIV0Rg3l$MZ zUBNnQTv%+p9A=$iMTt6NGyTd!I(9JZ5S%^Q2u4)Sib~^5A=bhwjZv8+Dvc{+jBc_p z#jG?cl)XZ+G0bJ}pA{Srz*_ywqGLle^uzz#ev@bMXZ_|Lk_dm2H-?m6c z7T=X=u9riF(VQxusJfeIp7~$WJS1KIYyd-bsq@z(_^n?15Wb`H4t`$=<0!*^{(r1e zSBi?%T&$PYxkXqnURp108Z#4_P-XfGDYL2hc!l^AS-}MjCG7}Nsrh9vfsL+IZ%mOe zfr|*wahK8JpgbEgnXXphe&r?eXVfUT!ZP|VNE5!c3_5*G9|Y&Q6@LHW3KT*ppvb3s zA-VG*7mLHFqh>(?XW7&|5TOuCQff+y-%2HvfHwRS7EBr61qB}wLs`<|- z(yOVe{!3!WlbWh<;KsMG6Y?8|-mq1e)56OD-B`HU!f)Z-v=?UZYk1e`+Kcq(dF?P> z_2Spf)(-NXv$bcnnpwP;R-^OVF6Tc6WCFq zYVbYST%knDhAW2enUz)7A<%ZTjpmAM|~NJaZ!U0jPVe6Kx9MpAUT`>cWA= zI1nXkccsd35l*BHNE%m$QxuFU!~HfV^3;TEhGy5}hB(lx!$}-Btq^|~0+?T+O5Bt! zZ1Vq$eIXIsv@iS-5~^3~jnO3JXoxm;&?e=|w9!j1!e~R=um)*EP8aE|E6^q+Hk)?p zBVABlu~&{JvQf|qcn9?@6Tf`^hnjwZ_%jdO@3w9NVj+%(o4i=_RhX;o+ zC&m6hwsj0$HxY9uWV1qXu(d$i@_7z9AG;B4)426e?8glR@ z*`kP+HLW6txr-ub>@7uwE0OK_X*s$ z2W-t~tcUA$`%DLrqGAMOhAP!6S>Mb{G9#YM`kYf; zFl8`$nnS`H;$1nA@Jc4|^(4q8t3z>=tFcJK5gFA<1RSIOFb9DPN~{*c(bH_=u+2PW zn^D}CvW`VqnDWx}P4|-cvNvngWB2!ZcED@?KK`ucEf@Rlnta`%o0p9q_zy#ux4wL4 z+uYZ>77tyuxYxF43Q{(u7Yw<{cl(;9eQ$ZQ-;lesPcI)Mxh(3w5f@Gal39S?Pia*7 zoekl9#mevehRW|2f-YVH$_X5z%5SgGc$9P0r1HBE1o0BooL;WxA&^sTOT~}Vh

I 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 H7193!@H(om diff --git a/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-regular.woff b/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-regular.woff deleted file mode 100644 index b41d9054d402714e646fbab58290884754544919..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26296 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 BAgurZ diff --git a/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-regular.woff2 b/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-regular.woff2 deleted file mode 100644 index 74b5d0e8007cef4d21d8d859f76165da988d84a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19988 zcmV(^K-Ir@Pew8T0RR9108SJD6951J0J}s008OL-0ssI200000000000000000000 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 diff --git a/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-thin.ttf b/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-thin.ttf deleted file mode 100644 index 542f190aa80037f94fd3af5613d9c2208465655b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46132 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

hWwN-|TF^c{NonjdSPBYO2-`<&^7wez`WHrLjRq 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 M00042#2sh=0QI$d;{X5v diff --git a/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-thin.woff2 b/pig-register/src/main/resources/static/console-ui/public/fonts/roboto-thin.woff2 deleted file mode 100644 index 6a53617d1f8456923755bf710dcca0dd2cf70c40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18944 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 diff --git a/pig-register/src/main/resources/static/console-ui/public/icons/icon-font.eot b/pig-register/src/main/resources/static/console-ui/public/icons/icon-font.eot deleted file mode 100644 index 63971bf2883671d514519e5fae70984734ae4840..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10156 zcmd5?dvqLEdB5Mx&g^^k{g!sMyV_kTl2*1JE8B@=$CjO!A;Gat98BWPYHbPhs}C(mJJe0?C--CP0A}4$^FYcV<_T zE!pAppLTce%)NKMx%1uo{l3?oeJaP835A%z_(x!ps8`VQ5b@gP8;thCQSV0c!FR5h zTc(yBk801ogU(gxU4Q+Jon701cFn(|eJ9%6OJl{!?{E8z8MC<$vm4qo zdSLf2Ptycr=0V0{JBQ1~A=j^4PJs3el)^AN%s&!8kNQcJ=Hao*{%7B<{ubkXAMK-~ z6Q$y#>mMmFCjSKOo5za#CuxxV9j=GbZW=F+l?S$JcQKYaf@h9RPE1$s-xx?SmT`mT zmz;NTraHrRny9K(e`k{P+2GdsPrKd&y2&fvdGJ=(6~AV7lYa5Fk*OWL!q2$(ph*%B zqiLy$3&W$;&c1{t<{vIZ8@`NHc@rOg-Nxdep}|d?x8hD?VB-pnj_fI-uhzmfewENe zOs@5!ZDRBglbA&~ESy5`9~);n$GQmjE?@@N&imZ3d*cvW$M&Cn*O)(e|2POZPx$ah ziI5sU≶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 diff --git a/pig-register/src/main/resources/static/console-ui/public/icons/icon-font.svg b/pig-register/src/main/resources/static/console-ui/public/icons/icon-font.svg deleted file mode 100644 index 3afd1760..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/icons/icon-font.svg +++ /dev/null @@ -1,159 +0,0 @@ - - - - - -Created by iconfont - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pig-register/src/main/resources/static/console-ui/public/icons/icon-font.ttf b/pig-register/src/main/resources/static/console-ui/public/icons/icon-font.ttf deleted file mode 100644 index 95551f3dead037052c7b612a37533cb2e6b3f093..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9988 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 F{|ADEbC3W4 diff --git a/pig-register/src/main/resources/static/console-ui/public/icons/icon-font.woff b/pig-register/src/main/resources/static/console-ui/public/icons/icon-font.woff deleted file mode 100644 index 9487bb68114af130a338c4294890caf6c1df2240..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5504 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 diff --git a/pig-register/src/main/resources/static/console-ui/public/icons/icon-font.woff2 b/pig-register/src/main/resources/static/console-ui/public/icons/icon-font.woff2 deleted file mode 100644 index 3d11f84bbb3c0ca6ff3cf21cf9e89c57dea2e60b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4368 zcmV+r5%2DIPew8T0RR9101*%X3IG5A03<{J01(9h0RR9100000000000000000000 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 KF%c}MhC=~#z-`w6 diff --git a/pig-register/src/main/resources/static/console-ui/public/img/black_dot.png b/pig-register/src/main/resources/static/console-ui/public/img/black_dot.png deleted file mode 100644 index 1b64e7dff794db8d1a9744d940d72c7f66d3ddac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*z3?w}c`(6i9Ea{HEjtmSN`?>!lvI6;R0X`wF zCT3Q81}5%N4AwvqaZeY=5RU7~KmPy!&(3zKgZbML!6mbJ7@h~Gem(Un^)yfkgQu&X J%Q~loCIFL(AJzZ> diff --git a/pig-register/src/main/resources/static/console-ui/public/img/favicon.ico b/pig-register/src/main/resources/static/console-ui/public/img/favicon.ico deleted file mode 100644 index 0439e0caeab0a42f71c4d80fc1beb09ae57c0a40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmeHJF>-@25IiOYB~)oc>1XH(egd^#!4v!h%9MFRp5Q0w2`bZFv>{;Q(Q%R{6J`?d zoNbQV-MiHwAgaQr>j>ZU+7dkz(J4eokqLqPaU2dD4s1AJ`An9tAy^3`vRF0>7TnM{ zuQ)7^2{>RcD_raZHTn$T8o%I{`-FPG)WYqI0=K> \ No newline at end of file diff --git a/pig-register/src/main/resources/static/console-ui/public/img/nacos-logo.png b/pig-register/src/main/resources/static/console-ui/public/img/nacos-logo.png deleted file mode 100644 index 0d7626a5144e49a00446304fb8f34f40d06202d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1529 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+yeRz^suO5>XQ2>tmIipR1RclAn~S zSCLx)lxJYDv9BmdOwLX%QAkQn&&;z`dcS+Wl0s&Rtx~wDuYqrYb81GWM^#a3aFt(3 za#eP+Wr~u$oq|n;70`g()RIJnirk#MVyg;UC9t_xKsHENUr7P1q$Jx`$q{6sLWFOC zf^&XRs)DJWnQpS7v4w)UrJkXwrG=4+j)IYap_#scrM{twu7RPIfu)s!p#l^r0c|Tv zNwW%aaf8|g1^l#~=$>Fbx5m+O@q>*W`v>l<2HTIw4Z=^Gj80#)c1SLT%@R_Nvx zE5l51Ni9w;$}A|!%+FH*nV6WAUs__T1av9H3%LbwWAlok!2}F2{ffi_eM3D1ke6Tz zeSPsO&CP|YE-nd5MYtEM!Nnn!1*!T$sm1xFMaii^<;ozd3ap%qQWHz^i$e1Ab6}wu zkda@KU!0L&py2Eb3N>>D4d2A%%sh~wCRmrRua#$BaY^x=oo!a^ddz!ObD2UKumbz z1#;lYKQ#}S=8J%ddvo;Nd|<|qEOCt}3C>R|DNig)Wq_n%&)mdxVEiPeR2H60wE-$h z2=EDUbuaL-ne|U+&u^Lg-(_!q*WUljeCc1U!@rEz|FNF?4~R4m{Zc>vQ{%`lpfcmN ze;g+Mm%aPlbk$$w^FI`>eV2at-C@FijiW#1Zhi-fXz%-NJM*8>`ahNn|C+7%tH1qE z)owLQpk1ORL4LsurQ0@#$xXH64>@14=+ORKullvlKZ`GU&&j~Rc+1npF(l&f+o>nF zH7f|XnEGi1E@ms}`u9KHE|bmipibPhZ(7e)N`p(xT?OuxUXLyRyYH64+O9=jhp&C_ z=CMD$u6ve6Va?3&%VF|y-czmX8VbyLobA8tS@h$Cp2myD4LaTvWxsx$&6{(9Lnu8{NYOpE?9 zY;oBAcnRBqJF?=NII^m&7L zuYyWa%NDD*vAR`1BJTcDs1P>n;9_`wH+SO&<^-G9OIzKx9Vo6h`}^u5`^KCm28HP| zS7Y|?`nsw2dP9*Y-=+5q{{?q2f7@Zvw7!#5r!i+y_kvk3vg;TMb{fX4%~9l^U4iiGGOp@^>bP0l+XkK_54L> diff --git a/pig-register/src/main/resources/static/console-ui/public/img/nacos.png b/pig-register/src/main/resources/static/console-ui/public/img/nacos.png deleted file mode 100644 index 9d9fba8ab1684415d478938ac43d4af18f347053..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3588 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 KMNUMnLSTZUI)07- diff --git a/pig-register/src/main/resources/static/console-ui/public/js/codemirror.addone.fullscreen.js b/pig-register/src/main/resources/static/console-ui/public/js/codemirror.addone.fullscreen.js deleted file mode 100644 index e38b6a0e..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/codemirror.addone.fullscreen.js +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - "use strict"; - - CodeMirror.defineOption("fullScreen", false, function(cm, val, old) { - if (old == CodeMirror.Init) old = false; - if (!old == !val) return; - if (val) setFullscreen(cm); - else setNormal(cm); - }); - - function setFullscreen(cm) { - var wrap = cm.getWrapperElement(); - cm.state.fullScreenRestore = {scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset, - width: wrap.style.width, height: wrap.style.height}; - wrap.style.width = ""; - wrap.style.height = "auto"; - wrap.className += " CodeMirror-fullscreen"; - document.documentElement.style.overflow = "hidden"; - cm.refresh(); - } - - function setNormal(cm) { - var wrap = cm.getWrapperElement(); - wrap.className = wrap.className.replace(/\s*CodeMirror-fullscreen\b/, ""); - document.documentElement.style.overflow = ""; - var info = cm.state.fullScreenRestore; - wrap.style.width = info.width; wrap.style.height = info.height; - window.scrollTo(info.scrollLeft, info.scrollTop); - cm.refresh(); - } -}); diff --git a/pig-register/src/main/resources/static/console-ui/public/js/codemirror.addone.json-lint.js b/pig-register/src/main/resources/static/console-ui/public/js/codemirror.addone.json-lint.js deleted file mode 100644 index 5628e0da..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/codemirror.addone.json-lint.js +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Depends on jsonlint.js from https://github.com/zaach/jsonlint - -// declare global: jsonlint - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { -"use strict"; - -CodeMirror.registerHelper("lint", "json", function(text) { - var found = []; - jsonlint.parseError = function(str, hash) { - var loc = hash.loc; - found.push({from: CodeMirror.Pos(loc.first_line - 1, loc.first_column), - to: CodeMirror.Pos(loc.last_line - 1, loc.last_column), - message: str}); - }; - try { jsonlint.parse(text); } - catch(e) {} - return found; -}); - -}); diff --git a/pig-register/src/main/resources/static/console-ui/public/js/codemirror.addone.lint.js b/pig-register/src/main/resources/static/console-ui/public/js/codemirror.addone.lint.js deleted file mode 100644 index 927caf8f..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/codemirror.addone.lint.js +++ /dev/null @@ -1,251 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - "use strict"; - var GUTTER_ID = "CodeMirror-lint-markers"; - - function showTooltip(e, content) { - var tt = document.createElement("div"); - tt.className = "CodeMirror-lint-tooltip"; - tt.appendChild(content.cloneNode(true)); - document.body.appendChild(tt); - - function position(e) { - if (!tt.parentNode) return CodeMirror.off(document, "mousemove", position); - tt.style.top = Math.max(0, e.clientY - tt.offsetHeight - 5) + "px"; - tt.style.left = (e.clientX + 5) + "px"; - } - CodeMirror.on(document, "mousemove", position); - position(e); - if (tt.style.opacity != null) tt.style.opacity = 1; - return tt; - } - function rm(elt) { - if (elt.parentNode) elt.parentNode.removeChild(elt); - } - function hideTooltip(tt) { - if (!tt.parentNode) return; - if (tt.style.opacity == null) rm(tt); - tt.style.opacity = 0; - setTimeout(function() { rm(tt); }, 600); - } - - function showTooltipFor(e, content, node) { - var tooltip = showTooltip(e, content); - function hide() { - CodeMirror.off(node, "mouseout", hide); - if (tooltip) { hideTooltip(tooltip); tooltip = null; } - } - var poll = setInterval(function() { - if (tooltip) for (var n = node;; n = n.parentNode) { - if (n && n.nodeType == 11) n = n.host; - if (n == document.body) return; - if (!n) { hide(); break; } - } - if (!tooltip) return clearInterval(poll); - }, 400); - CodeMirror.on(node, "mouseout", hide); - } - - function LintState(cm, options, hasGutter) { - this.marked = []; - this.options = options; - this.timeout = null; - this.hasGutter = hasGutter; - this.onMouseOver = function(e) { onMouseOver(cm, e); }; - this.waitingFor = 0 - } - - function parseOptions(_cm, options) { - if (options instanceof Function) return {getAnnotations: options}; - if (!options || options === true) options = {}; - return options; - } - - function clearMarks(cm) { - var state = cm.state.lint; - if (state.hasGutter) cm.clearGutter(GUTTER_ID); - for (var i = 0; i < state.marked.length; ++i) - state.marked[i].clear(); - state.marked.length = 0; - } - - function makeMarker(labels, severity, multiple, tooltips) { - var marker = document.createElement("div"), inner = marker; - marker.className = "CodeMirror-lint-marker-" + severity; - if (multiple) { - inner = marker.appendChild(document.createElement("div")); - inner.className = "CodeMirror-lint-marker-multiple"; - } - - if (tooltips != false) CodeMirror.on(inner, "mouseover", function(e) { - showTooltipFor(e, labels, inner); - }); - - return marker; - } - - function getMaxSeverity(a, b) { - if (a == "error") return a; - else return b; - } - - function groupByLine(annotations) { - var lines = []; - for (var i = 0; i < annotations.length; ++i) { - var ann = annotations[i], line = ann.from.line; - (lines[line] || (lines[line] = [])).push(ann); - } - return lines; - } - - function annotationTooltip(ann) { - var severity = ann.severity; - if (!severity) severity = "error"; - var tip = document.createElement("div"); - tip.className = "CodeMirror-lint-message-" + severity; - tip.appendChild(document.createTextNode(ann.message)); - return tip; - } - - function lintAsync(cm, getAnnotations, passOptions) { - var state = cm.state.lint - var id = ++state.waitingFor - function abort() { - id = -1 - cm.off("change", abort) - } - cm.on("change", abort) - getAnnotations(cm.getValue(), function(annotations, arg2) { - cm.off("change", abort) - if (state.waitingFor != id) return - if (arg2 && annotations instanceof CodeMirror) annotations = arg2 - updateLinting(cm, annotations) - }, passOptions, cm); - } - - function startLinting(cm) { - var state = cm.state.lint, options = state.options; - var passOptions = options.options || options; // Support deprecated passing of `options` property in options - var getAnnotations = options.getAnnotations || cm.getHelper(CodeMirror.Pos(0, 0), "lint"); - if (!getAnnotations) return; - if (options.async || getAnnotations.async) { - lintAsync(cm, getAnnotations, passOptions) - } else { - updateLinting(cm, getAnnotations(cm.getValue(), passOptions, cm)); - } - } - - function updateLinting(cm, annotationsNotSorted) { - clearMarks(cm); - var state = cm.state.lint, options = state.options; - - var annotations = groupByLine(annotationsNotSorted); - - for (var line = 0; line < annotations.length; ++line) { - var anns = annotations[line]; - if (!anns) continue; - - var maxSeverity = null; - var tipLabel = state.hasGutter && document.createDocumentFragment(); - - for (var i = 0; i < anns.length; ++i) { - var ann = anns[i]; - var severity = ann.severity; - if (!severity) severity = "error"; - maxSeverity = getMaxSeverity(maxSeverity, severity); - - if (options.formatAnnotation) ann = options.formatAnnotation(ann); - if (state.hasGutter) tipLabel.appendChild(annotationTooltip(ann)); - - if (ann.to) state.marked.push(cm.markText(ann.from, ann.to, { - className: "CodeMirror-lint-mark-" + severity, - __annotation: ann - })); - } - - if (state.hasGutter) - cm.setGutterMarker(line, GUTTER_ID, makeMarker(tipLabel, maxSeverity, anns.length > 1, - state.options.tooltips)); - } - if (options.onUpdateLinting) options.onUpdateLinting(annotationsNotSorted, annotations, cm); - } - - function onChange(cm) { - var state = cm.state.lint; - if (!state) return; - clearTimeout(state.timeout); - state.timeout = setTimeout(function(){startLinting(cm);}, state.options.delay || 500); - } - - function popupTooltips(annotations, e) { - var target = e.target || e.srcElement; - var tooltip = document.createDocumentFragment(); - for (var i = 0; i < annotations.length; i++) { - var ann = annotations[i]; - tooltip.appendChild(annotationTooltip(ann)); - } - showTooltipFor(e, tooltip, target); - } - - function onMouseOver(cm, e) { - var target = e.target || e.srcElement; - if (!/\bCodeMirror-lint-mark-/.test(target.className)) return; - var box = target.getBoundingClientRect(), x = (box.left + box.right) / 2, y = (box.top + box.bottom) / 2; - var spans = cm.findMarksAt(cm.coordsChar({left: x, top: y}, "client")); - - var annotations = []; - for (var i = 0; i < spans.length; ++i) { - annotations.push(spans[i].__annotation); - } - if (annotations.length) popupTooltips(annotations, e); - } - - CodeMirror.defineOption("lint", false, function(cm, val, old) { - if (old && old != CodeMirror.Init) { - clearMarks(cm); - if (cm.state.lint.options.lintOnChange !== false) - cm.off("change", onChange); - CodeMirror.off(cm.getWrapperElement(), "mouseover", cm.state.lint.onMouseOver); - clearTimeout(cm.state.lint.timeout); - delete cm.state.lint; - } - - if (val) { - var gutters = cm.getOption("gutters"), hasLintGutter = false; - for (var i = 0; i < gutters.length; ++i) if (gutters[i] == GUTTER_ID) hasLintGutter = true; - var state = cm.state.lint = new LintState(cm, parseOptions(cm, val), hasLintGutter); - if (state.options.lintOnChange !== false) - cm.on("change", onChange); - if (state.options.tooltips != false) - CodeMirror.on(cm.getWrapperElement(), "mouseover", state.onMouseOver); - - startLinting(cm); - } - }); - - CodeMirror.defineExtension("performLint", function() { - if (this.state.lint) startLinting(this); - }); -}); diff --git a/pig-register/src/main/resources/static/console-ui/public/js/codemirror.js b/pig-register/src/main/resources/static/console-ui/public/js/codemirror.js deleted file mode 100644 index 559b4ea1..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/codemirror.js +++ /dev/null @@ -1,9515 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// This is CodeMirror (http://codemirror.net), a code editor -// implemented in JavaScript on top of the browser's DOM. -// -// You can find some technical background for some of the code below -// at http://marijnhaverbeke.nl/blog/#cm-internals . - -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global.CodeMirror = factory()); -}(this, (function () { 'use strict'; - -// Kludges for bugs and behavior differences that can't be feature -// detected are enabled based on userAgent etc sniffing. -var userAgent = navigator.userAgent; -var platform = navigator.platform; - -var gecko = /gecko\/\d/i.test(userAgent); -var ie_upto10 = /MSIE \d/.test(userAgent); -var ie_11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(userAgent); -var edge = /Edge\/(\d+)/.exec(userAgent); -var ie = ie_upto10 || ie_11up || edge; -var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1]); -var webkit = !edge && /WebKit\//.test(userAgent); -var qtwebkit = webkit && /Qt\/\d+\.\d+/.test(userAgent); -var chrome = !edge && /Chrome\//.test(userAgent); -var presto = /Opera\//.test(userAgent); -var safari = /Apple Computer/.test(navigator.vendor); -var mac_geMountainLion = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(userAgent); -var phantom = /PhantomJS/.test(userAgent); - -var ios = !edge && /AppleWebKit/.test(userAgent) && /Mobile\/\w+/.test(userAgent); -var android = /Android/.test(userAgent); -// This is woefully incomplete. Suggestions for alternative methods welcome. -var mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent); -var mac = ios || /Mac/.test(platform); -var chromeOS = /\bCrOS\b/.test(userAgent); -var windows = /win/i.test(platform); - -var presto_version = presto && userAgent.match(/Version\/(\d*\.\d*)/); -if (presto_version) { presto_version = Number(presto_version[1]); } -if (presto_version && presto_version >= 15) { presto = false; webkit = true; } -// Some browsers use the wrong event properties to signal cmd/ctrl on OS X -var flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11)); -var captureRightClick = gecko || (ie && ie_version >= 9); - -function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)\\s*") } - -var rmClass = function(node, cls) { - var current = node.className; - var match = classTest(cls).exec(current); - if (match) { - var after = current.slice(match.index + match[0].length); - node.className = current.slice(0, match.index) + (after ? match[1] + after : ""); - } -}; - -function removeChildren(e) { - for (var count = e.childNodes.length; count > 0; --count) - { e.removeChild(e.firstChild); } - return e -} - -function removeChildrenAndAdd(parent, e) { - return removeChildren(parent).appendChild(e) -} - -function elt(tag, content, className, style) { - var e = document.createElement(tag); - if (className) { e.className = className; } - if (style) { e.style.cssText = style; } - if (typeof content == "string") { e.appendChild(document.createTextNode(content)); } - else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]); } } - return e -} -// wrapper for elt, which removes the elt from the accessibility tree -function eltP(tag, content, className, style) { - var e = elt(tag, content, className, style); - e.setAttribute("role", "presentation"); - return e -} - -var range; -if (document.createRange) { range = function(node, start, end, endNode) { - var r = document.createRange(); - r.setEnd(endNode || node, end); - r.setStart(node, start); - return r -}; } -else { range = function(node, start, end) { - var r = document.body.createTextRange(); - try { r.moveToElementText(node.parentNode); } - catch(e) { return r } - r.collapse(true); - r.moveEnd("character", end); - r.moveStart("character", start); - return r -}; } - -function contains(parent, child) { - if (child.nodeType == 3) // Android browser always returns false when child is a textnode - { child = child.parentNode; } - if (parent.contains) - { return parent.contains(child) } - do { - if (child.nodeType == 11) { child = child.host; } - if (child == parent) { return true } - } while (child = child.parentNode) -} - -function activeElt() { - // IE and Edge may throw an "Unspecified Error" when accessing document.activeElement. - // IE < 10 will throw when accessed while the page is loading or in an iframe. - // IE > 9 and Edge will throw when accessed in an iframe if document.body is unavailable. - var activeElement; - try { - activeElement = document.activeElement; - } catch(e) { - activeElement = document.body || null; - } - while (activeElement && activeElement.shadowRoot && activeElement.shadowRoot.activeElement) - { activeElement = activeElement.shadowRoot.activeElement; } - return activeElement -} - -function addClass(node, cls) { - var current = node.className; - if (!classTest(cls).test(current)) { node.className += (current ? " " : "") + cls; } -} -function joinClasses(a, b) { - var as = a.split(" "); - for (var i = 0; i < as.length; i++) - { if (as[i] && !classTest(as[i]).test(b)) { b += " " + as[i]; } } - return b -} - -var selectInput = function(node) { node.select(); }; -if (ios) // Mobile Safari apparently has a bug where select() is broken. - { selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length; }; } -else if (ie) // Suppress mysterious IE10 errors - { selectInput = function(node) { try { node.select(); } catch(_e) {} }; } - -function bind(f) { - var args = Array.prototype.slice.call(arguments, 1); - return function(){return f.apply(null, args)} -} - -function copyObj(obj, target, overwrite) { - if (!target) { target = {}; } - for (var prop in obj) - { if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop))) - { target[prop] = obj[prop]; } } - return target -} - -// Counts the column offset in a string, taking tabs into account. -// Used mostly to find indentation. -function countColumn(string, end, tabSize, startIndex, startValue) { - if (end == null) { - end = string.search(/[^\s\u00a0]/); - if (end == -1) { end = string.length; } - } - for (var i = startIndex || 0, n = startValue || 0;;) { - var nextTab = string.indexOf("\t", i); - if (nextTab < 0 || nextTab >= end) - { return n + (end - i) } - n += nextTab - i; - n += tabSize - (n % tabSize); - i = nextTab + 1; - } -} - -var Delayed = function() {this.id = null;}; -Delayed.prototype.set = function (ms, f) { - clearTimeout(this.id); - this.id = setTimeout(f, ms); -}; - -function indexOf(array, elt) { - for (var i = 0; i < array.length; ++i) - { if (array[i] == elt) { return i } } - return -1 -} - -// Number of pixels added to scroller and sizer to hide scrollbar -var scrollerGap = 30; - -// Returned or thrown by various protocols to signal 'I'm not -// handling this'. -var Pass = {toString: function(){return "CodeMirror.Pass"}}; - -// Reused option objects for setSelection & friends -var sel_dontScroll = {scroll: false}; -var sel_mouse = {origin: "*mouse"}; -var sel_move = {origin: "+move"}; - -// The inverse of countColumn -- find the offset that corresponds to -// a particular column. -function findColumn(string, goal, tabSize) { - for (var pos = 0, col = 0;;) { - var nextTab = string.indexOf("\t", pos); - if (nextTab == -1) { nextTab = string.length; } - var skipped = nextTab - pos; - if (nextTab == string.length || col + skipped >= goal) - { return pos + Math.min(skipped, goal - col) } - col += nextTab - pos; - col += tabSize - (col % tabSize); - pos = nextTab + 1; - if (col >= goal) { return pos } - } -} - -var spaceStrs = [""]; -function spaceStr(n) { - while (spaceStrs.length <= n) - { spaceStrs.push(lst(spaceStrs) + " "); } - return spaceStrs[n] -} - -function lst(arr) { return arr[arr.length-1] } - -function map(array, f) { - var out = []; - for (var i = 0; i < array.length; i++) { out[i] = f(array[i], i); } - return out -} - -function insertSorted(array, value, score) { - var pos = 0, priority = score(value); - while (pos < array.length && score(array[pos]) <= priority) { pos++; } - array.splice(pos, 0, value); -} - -function nothing() {} - -function createObj(base, props) { - var inst; - if (Object.create) { - inst = Object.create(base); - } else { - nothing.prototype = base; - inst = new nothing(); - } - if (props) { copyObj(props, inst); } - return inst -} - -var nonASCIISingleCaseWordChar = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/; -function isWordCharBasic(ch) { - return /\w/.test(ch) || ch > "\x80" && - (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch)) -} -function isWordChar(ch, helper) { - if (!helper) { return isWordCharBasic(ch) } - if (helper.source.indexOf("\\w") > -1 && isWordCharBasic(ch)) { return true } - return helper.test(ch) -} - -function isEmpty(obj) { - for (var n in obj) { if (obj.hasOwnProperty(n) && obj[n]) { return false } } - return true -} - -// Extending unicode characters. A series of a non-extending char + -// any number of extending chars is treated as a single unit as far -// as editing and measuring is concerned. This is not fully correct, -// since some scripts/fonts/browsers also treat other configurations -// of code points as a group. -var extendingChars = /[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/; -function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch) } - -// Returns a number from the range [`0`; `str.length`] unless `pos` is outside that range. -function skipExtendingChars(str, pos, dir) { - while ((dir < 0 ? pos > 0 : pos < str.length) && isExtendingChar(str.charAt(pos))) { pos += dir; } - return pos -} - -// Returns the value from the range [`from`; `to`] that satisfies -// `pred` and is closest to `from`. Assumes that at least `to` satisfies `pred`. -function findFirst(pred, from, to) { - for (;;) { - if (Math.abs(from - to) <= 1) { return pred(from) ? from : to } - var mid = Math.floor((from + to) / 2); - if (pred(mid)) { to = mid; } - else { from = mid; } - } -} - -// The display handles the DOM integration, both for input reading -// and content drawing. It holds references to DOM nodes and -// display-related state. - -function Display(place, doc, input) { - var d = this; - this.input = input; - - // Covers bottom-right square when both scrollbars are present. - d.scrollbarFiller = elt("div", null, "CodeMirror-scrollbar-filler"); - d.scrollbarFiller.setAttribute("cm-not-content", "true"); - // Covers bottom of gutter when coverGutterNextToScrollbar is on - // and h scrollbar is present. - d.gutterFiller = elt("div", null, "CodeMirror-gutter-filler"); - d.gutterFiller.setAttribute("cm-not-content", "true"); - // Will contain the actual code, positioned to cover the viewport. - d.lineDiv = eltP("div", null, "CodeMirror-code"); - // Elements are added to these to represent selection and cursors. - d.selectionDiv = elt("div", null, null, "position: relative; z-index: 1"); - d.cursorDiv = elt("div", null, "CodeMirror-cursors"); - // A visibility: hidden element used to find the size of things. - d.measure = elt("div", null, "CodeMirror-measure"); - // When lines outside of the viewport are measured, they are drawn in this. - d.lineMeasure = elt("div", null, "CodeMirror-measure"); - // Wraps everything that needs to exist inside the vertically-padded coordinate system - d.lineSpace = eltP("div", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv], - null, "position: relative; outline: none"); - var lines = eltP("div", [d.lineSpace], "CodeMirror-lines"); - // Moved around its parent to cover visible view. - d.mover = elt("div", [lines], null, "position: relative"); - // Set to the height of the document, allowing scrolling. - d.sizer = elt("div", [d.mover], "CodeMirror-sizer"); - d.sizerWidth = null; - // Behavior of elts with overflow: auto and padding is - // inconsistent across browsers. This is used to ensure the - // scrollable area is big enough. - d.heightForcer = elt("div", null, null, "position: absolute; height: " + scrollerGap + "px; width: 1px;"); - // Will contain the gutters, if any. - d.gutters = elt("div", null, "CodeMirror-gutters"); - d.lineGutter = null; - // Actual scrollable element. - d.scroller = elt("div", [d.sizer, d.heightForcer, d.gutters], "CodeMirror-scroll"); - d.scroller.setAttribute("tabIndex", "-1"); - // The element in which the editor lives. - d.wrapper = elt("div", [d.scrollbarFiller, d.gutterFiller, d.scroller], "CodeMirror"); - - // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported) - if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0; } - if (!webkit && !(gecko && mobile)) { d.scroller.draggable = true; } - - if (place) { - if (place.appendChild) { place.appendChild(d.wrapper); } - else { place(d.wrapper); } - } - - // Current rendered range (may be bigger than the view window). - d.viewFrom = d.viewTo = doc.first; - d.reportedViewFrom = d.reportedViewTo = doc.first; - // Information about the rendered lines. - d.view = []; - d.renderedView = null; - // Holds info about a single rendered line when it was rendered - // for measurement, while not in view. - d.externalMeasured = null; - // Empty space (in pixels) above the view - d.viewOffset = 0; - d.lastWrapHeight = d.lastWrapWidth = 0; - d.updateLineNumbers = null; - - d.nativeBarWidth = d.barHeight = d.barWidth = 0; - d.scrollbarsClipped = false; - - // Used to only resize the line number gutter when necessary (when - // the amount of lines crosses a boundary that makes its width change) - d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null; - // Set to true when a non-horizontal-scrolling line widget is - // added. As an optimization, line widget aligning is skipped when - // this is false. - d.alignWidgets = false; - - d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null; - - // Tracks the maximum line length so that the horizontal scrollbar - // can be kept static when scrolling. - d.maxLine = null; - d.maxLineLength = 0; - d.maxLineChanged = false; - - // Used for measuring wheel scrolling granularity - d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null; - - // True when shift is held down. - d.shift = false; - - // Used to track whether anything happened since the context menu - // was opened. - d.selForContextMenu = null; - - d.activeTouch = null; - - input.init(d); -} - -// Find the line object corresponding to the given line number. -function getLine(doc, n) { - n -= doc.first; - if (n < 0 || n >= doc.size) { throw new Error("There is no line " + (n + doc.first) + " in the document.") } - var chunk = doc; - while (!chunk.lines) { - for (var i = 0;; ++i) { - var child = chunk.children[i], sz = child.chunkSize(); - if (n < sz) { chunk = child; break } - n -= sz; - } - } - return chunk.lines[n] -} - -// Get the part of a document between two positions, as an array of -// strings. -function getBetween(doc, start, end) { - var out = [], n = start.line; - doc.iter(start.line, end.line + 1, function (line) { - var text = line.text; - if (n == end.line) { text = text.slice(0, end.ch); } - if (n == start.line) { text = text.slice(start.ch); } - out.push(text); - ++n; - }); - return out -} -// Get the lines between from and to, as array of strings. -function getLines(doc, from, to) { - var out = []; - doc.iter(from, to, function (line) { out.push(line.text); }); // iter aborts when callback returns truthy value - return out -} - -// Update the height of a line, propagating the height change -// upwards to parent nodes. -function updateLineHeight(line, height) { - var diff = height - line.height; - if (diff) { for (var n = line; n; n = n.parent) { n.height += diff; } } -} - -// Given a line object, find its line number by walking up through -// its parent links. -function lineNo(line) { - if (line.parent == null) { return null } - var cur = line.parent, no = indexOf(cur.lines, line); - for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) { - for (var i = 0;; ++i) { - if (chunk.children[i] == cur) { break } - no += chunk.children[i].chunkSize(); - } - } - return no + cur.first -} - -// Find the line at the given vertical position, using the height -// information in the document tree. -function lineAtHeight(chunk, h) { - var n = chunk.first; - outer: do { - for (var i$1 = 0; i$1 < chunk.children.length; ++i$1) { - var child = chunk.children[i$1], ch = child.height; - if (h < ch) { chunk = child; continue outer } - h -= ch; - n += child.chunkSize(); - } - return n - } while (!chunk.lines) - var i = 0; - for (; i < chunk.lines.length; ++i) { - var line = chunk.lines[i], lh = line.height; - if (h < lh) { break } - h -= lh; - } - return n + i -} - -function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size} - -function lineNumberFor(options, i) { - return String(options.lineNumberFormatter(i + options.firstLineNumber)) -} - -// A Pos instance represents a position within the text. -function Pos(line, ch, sticky) { - if ( sticky === void 0 ) sticky = null; - - if (!(this instanceof Pos)) { return new Pos(line, ch, sticky) } - this.line = line; - this.ch = ch; - this.sticky = sticky; -} - -// Compare two positions, return 0 if they are the same, a negative -// number when a is less, and a positive number otherwise. -function cmp(a, b) { return a.line - b.line || a.ch - b.ch } - -function equalCursorPos(a, b) { return a.sticky == b.sticky && cmp(a, b) == 0 } - -function copyPos(x) {return Pos(x.line, x.ch)} -function maxPos(a, b) { return cmp(a, b) < 0 ? b : a } -function minPos(a, b) { return cmp(a, b) < 0 ? a : b } - -// Most of the external API clips given positions to make sure they -// actually exist within the document. -function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1))} -function clipPos(doc, pos) { - if (pos.line < doc.first) { return Pos(doc.first, 0) } - var last = doc.first + doc.size - 1; - if (pos.line > last) { return Pos(last, getLine(doc, last).text.length) } - return clipToLen(pos, getLine(doc, pos.line).text.length) -} -function clipToLen(pos, linelen) { - var ch = pos.ch; - if (ch == null || ch > linelen) { return Pos(pos.line, linelen) } - else if (ch < 0) { return Pos(pos.line, 0) } - else { return pos } -} -function clipPosArray(doc, array) { - var out = []; - for (var i = 0; i < array.length; i++) { out[i] = clipPos(doc, array[i]); } - return out -} - -// Optimize some code when these features are not used. -var sawReadOnlySpans = false; -var sawCollapsedSpans = false; - -function seeReadOnlySpans() { - sawReadOnlySpans = true; -} - -function seeCollapsedSpans() { - sawCollapsedSpans = true; -} - -// TEXTMARKER SPANS - -function MarkedSpan(marker, from, to) { - this.marker = marker; - this.from = from; this.to = to; -} - -// Search an array of spans for a span matching the given marker. -function getMarkedSpanFor(spans, marker) { - if (spans) { for (var i = 0; i < spans.length; ++i) { - var span = spans[i]; - if (span.marker == marker) { return span } - } } -} -// Remove a span from an array, returning undefined if no spans are -// left (we don't store arrays for lines without spans). -function removeMarkedSpan(spans, span) { - var r; - for (var i = 0; i < spans.length; ++i) - { if (spans[i] != span) { (r || (r = [])).push(spans[i]); } } - return r -} -// Add a span to a line. -function addMarkedSpan(line, span) { - line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span]; - span.marker.attachLine(line); -} - -// Used for the algorithm that adjusts markers for a change in the -// document. These functions cut an array of spans at a given -// character position, returning an array of remaining chunks (or -// undefined if nothing remains). -function markedSpansBefore(old, startCh, isInsert) { - var nw; - if (old) { for (var i = 0; i < old.length; ++i) { - var span = old[i], marker = span.marker; - var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh); - if (startsBefore || span.from == startCh && marker.type == "bookmark" && (!isInsert || !span.marker.insertLeft)) { - var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh);(nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to)); - } - } } - return nw -} -function markedSpansAfter(old, endCh, isInsert) { - var nw; - if (old) { for (var i = 0; i < old.length; ++i) { - var span = old[i], marker = span.marker; - var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh); - if (endsAfter || span.from == endCh && marker.type == "bookmark" && (!isInsert || span.marker.insertLeft)) { - var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh);(nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh, - span.to == null ? null : span.to - endCh)); - } - } } - return nw -} - -// Given a change object, compute the new set of marker spans that -// cover the line in which the change took place. Removes spans -// entirely within the change, reconnects spans belonging to the -// same marker that appear on both sides of the change, and cuts off -// spans partially within the change. Returns an array of span -// arrays with one element for each line in (after) the change. -function stretchSpansOverChange(doc, change) { - if (change.full) { return null } - var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans; - var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans; - if (!oldFirst && !oldLast) { return null } - - var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0; - // Get the spans that 'stick out' on both sides - var first = markedSpansBefore(oldFirst, startCh, isInsert); - var last = markedSpansAfter(oldLast, endCh, isInsert); - - // Next, merge those two ends - var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0); - if (first) { - // Fix up .to properties of first - for (var i = 0; i < first.length; ++i) { - var span = first[i]; - if (span.to == null) { - var found = getMarkedSpanFor(last, span.marker); - if (!found) { span.to = startCh; } - else if (sameLine) { span.to = found.to == null ? null : found.to + offset; } - } - } - } - if (last) { - // Fix up .from in last (or move them into first in case of sameLine) - for (var i$1 = 0; i$1 < last.length; ++i$1) { - var span$1 = last[i$1]; - if (span$1.to != null) { span$1.to += offset; } - if (span$1.from == null) { - var found$1 = getMarkedSpanFor(first, span$1.marker); - if (!found$1) { - span$1.from = offset; - if (sameLine) { (first || (first = [])).push(span$1); } - } - } else { - span$1.from += offset; - if (sameLine) { (first || (first = [])).push(span$1); } - } - } - } - // Make sure we didn't create any zero-length spans - if (first) { first = clearEmptySpans(first); } - if (last && last != first) { last = clearEmptySpans(last); } - - var newMarkers = [first]; - if (!sameLine) { - // Fill gap with whole-line-spans - var gap = change.text.length - 2, gapMarkers; - if (gap > 0 && first) - { for (var i$2 = 0; i$2 < first.length; ++i$2) - { if (first[i$2].to == null) - { (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i$2].marker, null, null)); } } } - for (var i$3 = 0; i$3 < gap; ++i$3) - { newMarkers.push(gapMarkers); } - newMarkers.push(last); - } - return newMarkers -} - -// Remove spans that are empty and don't have a clearWhenEmpty -// option of false. -function clearEmptySpans(spans) { - for (var i = 0; i < spans.length; ++i) { - var span = spans[i]; - if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false) - { spans.splice(i--, 1); } - } - if (!spans.length) { return null } - return spans -} - -// Used to 'clip' out readOnly ranges when making a change. -function removeReadOnlyRanges(doc, from, to) { - var markers = null; - doc.iter(from.line, to.line + 1, function (line) { - if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) { - var mark = line.markedSpans[i].marker; - if (mark.readOnly && (!markers || indexOf(markers, mark) == -1)) - { (markers || (markers = [])).push(mark); } - } } - }); - if (!markers) { return null } - var parts = [{from: from, to: to}]; - for (var i = 0; i < markers.length; ++i) { - var mk = markers[i], m = mk.find(0); - for (var j = 0; j < parts.length; ++j) { - var p = parts[j]; - if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) { continue } - var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to); - if (dfrom < 0 || !mk.inclusiveLeft && !dfrom) - { newParts.push({from: p.from, to: m.from}); } - if (dto > 0 || !mk.inclusiveRight && !dto) - { newParts.push({from: m.to, to: p.to}); } - parts.splice.apply(parts, newParts); - j += newParts.length - 3; - } - } - return parts -} - -// Connect or disconnect spans from a line. -function detachMarkedSpans(line) { - var spans = line.markedSpans; - if (!spans) { return } - for (var i = 0; i < spans.length; ++i) - { spans[i].marker.detachLine(line); } - line.markedSpans = null; -} -function attachMarkedSpans(line, spans) { - if (!spans) { return } - for (var i = 0; i < spans.length; ++i) - { spans[i].marker.attachLine(line); } - line.markedSpans = spans; -} - -// Helpers used when computing which overlapping collapsed span -// counts as the larger one. -function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 } -function extraRight(marker) { return marker.inclusiveRight ? 1 : 0 } - -// Returns a number indicating which of two overlapping collapsed -// spans is larger (and thus includes the other). Falls back to -// comparing ids when the spans cover exactly the same range. -function compareCollapsedMarkers(a, b) { - var lenDiff = a.lines.length - b.lines.length; - if (lenDiff != 0) { return lenDiff } - var aPos = a.find(), bPos = b.find(); - var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b); - if (fromCmp) { return -fromCmp } - var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b); - if (toCmp) { return toCmp } - return b.id - a.id -} - -// Find out whether a line ends or starts in a collapsed span. If -// so, return the marker for that span. -function collapsedSpanAtSide(line, start) { - var sps = sawCollapsedSpans && line.markedSpans, found; - if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) { - sp = sps[i]; - if (sp.marker.collapsed && (start ? sp.from : sp.to) == null && - (!found || compareCollapsedMarkers(found, sp.marker) < 0)) - { found = sp.marker; } - } } - return found -} -function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true) } -function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false) } - -// Test whether there exists a collapsed span that partially -// overlaps (covers the start or end, but not both) of a new span. -// Such overlap is not allowed. -function conflictingCollapsedRange(doc, lineNo$$1, from, to, marker) { - var line = getLine(doc, lineNo$$1); - var sps = sawCollapsedSpans && line.markedSpans; - if (sps) { for (var i = 0; i < sps.length; ++i) { - var sp = sps[i]; - if (!sp.marker.collapsed) { continue } - var found = sp.marker.find(0); - var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker); - var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker); - if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) { continue } - if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) || - fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0)) - { return true } - } } -} - -// A visual line is a line as drawn on the screen. Folding, for -// example, can cause multiple logical lines to appear on the same -// visual line. This finds the start of the visual line that the -// given line is part of (usually that is the line itself). -function visualLine(line) { - var merged; - while (merged = collapsedSpanAtStart(line)) - { line = merged.find(-1, true).line; } - return line -} - -function visualLineEnd(line) { - var merged; - while (merged = collapsedSpanAtEnd(line)) - { line = merged.find(1, true).line; } - return line -} - -// Returns an array of logical lines that continue the visual line -// started by the argument, or undefined if there are no such lines. -function visualLineContinued(line) { - var merged, lines; - while (merged = collapsedSpanAtEnd(line)) { - line = merged.find(1, true).line - ;(lines || (lines = [])).push(line); - } - return lines -} - -// Get the line number of the start of the visual line that the -// given line number is part of. -function visualLineNo(doc, lineN) { - var line = getLine(doc, lineN), vis = visualLine(line); - if (line == vis) { return lineN } - return lineNo(vis) -} - -// Get the line number of the start of the next visual line after -// the given line. -function visualLineEndNo(doc, lineN) { - if (lineN > doc.lastLine()) { return lineN } - var line = getLine(doc, lineN), merged; - if (!lineIsHidden(doc, line)) { return lineN } - while (merged = collapsedSpanAtEnd(line)) - { line = merged.find(1, true).line; } - return lineNo(line) + 1 -} - -// Compute whether a line is hidden. Lines count as hidden when they -// are part of a visual line that starts with another line, or when -// they are entirely covered by collapsed, non-widget span. -function lineIsHidden(doc, line) { - var sps = sawCollapsedSpans && line.markedSpans; - if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) { - sp = sps[i]; - if (!sp.marker.collapsed) { continue } - if (sp.from == null) { return true } - if (sp.marker.widgetNode) { continue } - if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp)) - { return true } - } } -} -function lineIsHiddenInner(doc, line, span) { - if (span.to == null) { - var end = span.marker.find(1, true); - return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker)) - } - if (span.marker.inclusiveRight && span.to == line.text.length) - { return true } - for (var sp = (void 0), i = 0; i < line.markedSpans.length; ++i) { - sp = line.markedSpans[i]; - if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to && - (sp.to == null || sp.to != span.from) && - (sp.marker.inclusiveLeft || span.marker.inclusiveRight) && - lineIsHiddenInner(doc, line, sp)) { return true } - } -} - -// Find the height above the given line. -function heightAtLine(lineObj) { - lineObj = visualLine(lineObj); - - var h = 0, chunk = lineObj.parent; - for (var i = 0; i < chunk.lines.length; ++i) { - var line = chunk.lines[i]; - if (line == lineObj) { break } - else { h += line.height; } - } - for (var p = chunk.parent; p; chunk = p, p = chunk.parent) { - for (var i$1 = 0; i$1 < p.children.length; ++i$1) { - var cur = p.children[i$1]; - if (cur == chunk) { break } - else { h += cur.height; } - } - } - return h -} - -// Compute the character length of a line, taking into account -// collapsed ranges (see markText) that might hide parts, and join -// other lines onto it. -function lineLength(line) { - if (line.height == 0) { return 0 } - var len = line.text.length, merged, cur = line; - while (merged = collapsedSpanAtStart(cur)) { - var found = merged.find(0, true); - cur = found.from.line; - len += found.from.ch - found.to.ch; - } - cur = line; - while (merged = collapsedSpanAtEnd(cur)) { - var found$1 = merged.find(0, true); - len -= cur.text.length - found$1.from.ch; - cur = found$1.to.line; - len += cur.text.length - found$1.to.ch; - } - return len -} - -// Find the longest line in the document. -function findMaxLine(cm) { - var d = cm.display, doc = cm.doc; - d.maxLine = getLine(doc, doc.first); - d.maxLineLength = lineLength(d.maxLine); - d.maxLineChanged = true; - doc.iter(function (line) { - var len = lineLength(line); - if (len > d.maxLineLength) { - d.maxLineLength = len; - d.maxLine = line; - } - }); -} - -// BIDI HELPERS - -function iterateBidiSections(order, from, to, f) { - if (!order) { return f(from, to, "ltr") } - var found = false; - for (var i = 0; i < order.length; ++i) { - var part = order[i]; - if (part.from < to && part.to > from || from == to && part.to == from) { - f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? "rtl" : "ltr"); - found = true; - } - } - if (!found) { f(from, to, "ltr"); } -} - -var bidiOther = null; -function getBidiPartAt(order, ch, sticky) { - var found; - bidiOther = null; - for (var i = 0; i < order.length; ++i) { - var cur = order[i]; - if (cur.from < ch && cur.to > ch) { return i } - if (cur.to == ch) { - if (cur.from != cur.to && sticky == "before") { found = i; } - else { bidiOther = i; } - } - if (cur.from == ch) { - if (cur.from != cur.to && sticky != "before") { found = i; } - else { bidiOther = i; } - } - } - return found != null ? found : bidiOther -} - -// Bidirectional ordering algorithm -// See http://unicode.org/reports/tr9/tr9-13.html for the algorithm -// that this (partially) implements. - -// One-char codes used for character types: -// L (L): Left-to-Right -// R (R): Right-to-Left -// r (AL): Right-to-Left Arabic -// 1 (EN): European Number -// + (ES): European Number Separator -// % (ET): European Number Terminator -// n (AN): Arabic Number -// , (CS): Common Number Separator -// m (NSM): Non-Spacing Mark -// b (BN): Boundary Neutral -// s (B): Paragraph Separator -// t (S): Segment Separator -// w (WS): Whitespace -// N (ON): Other Neutrals - -// Returns null if characters are ordered as they appear -// (left-to-right), or an array of sections ({from, to, level} -// objects) in the order in which they occur visually. -var bidiOrdering = (function() { - // Character types for codepoints 0 to 0xff - var lowTypes = "bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN"; - // Character types for codepoints 0x600 to 0x6f9 - var arabicTypes = "nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111"; - function charType(code) { - if (code <= 0xf7) { return lowTypes.charAt(code) } - else if (0x590 <= code && code <= 0x5f4) { return "R" } - else if (0x600 <= code && code <= 0x6f9) { return arabicTypes.charAt(code - 0x600) } - else if (0x6ee <= code && code <= 0x8ac) { return "r" } - else if (0x2000 <= code && code <= 0x200b) { return "w" } - else if (code == 0x200c) { return "b" } - else { return "L" } - } - - var bidiRE = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/; - var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/; - - function BidiSpan(level, from, to) { - this.level = level; - this.from = from; this.to = to; - } - - return function(str, direction) { - var outerType = direction == "ltr" ? "L" : "R"; - - if (str.length == 0 || direction == "ltr" && !bidiRE.test(str)) { return false } - var len = str.length, types = []; - for (var i = 0; i < len; ++i) - { types.push(charType(str.charCodeAt(i))); } - - // W1. Examine each non-spacing mark (NSM) in the level run, and - // change the type of the NSM to the type of the previous - // character. If the NSM is at the start of the level run, it will - // get the type of sor. - for (var i$1 = 0, prev = outerType; i$1 < len; ++i$1) { - var type = types[i$1]; - if (type == "m") { types[i$1] = prev; } - else { prev = type; } - } - - // W2. Search backwards from each instance of a European number - // until the first strong type (R, L, AL, or sor) is found. If an - // AL is found, change the type of the European number to Arabic - // number. - // W3. Change all ALs to R. - for (var i$2 = 0, cur = outerType; i$2 < len; ++i$2) { - var type$1 = types[i$2]; - if (type$1 == "1" && cur == "r") { types[i$2] = "n"; } - else if (isStrong.test(type$1)) { cur = type$1; if (type$1 == "r") { types[i$2] = "R"; } } - } - - // W4. A single European separator between two European numbers - // changes to a European number. A single common separator between - // two numbers of the same type changes to that type. - for (var i$3 = 1, prev$1 = types[0]; i$3 < len - 1; ++i$3) { - var type$2 = types[i$3]; - if (type$2 == "+" && prev$1 == "1" && types[i$3+1] == "1") { types[i$3] = "1"; } - else if (type$2 == "," && prev$1 == types[i$3+1] && - (prev$1 == "1" || prev$1 == "n")) { types[i$3] = prev$1; } - prev$1 = type$2; - } - - // W5. A sequence of European terminators adjacent to European - // numbers changes to all European numbers. - // W6. Otherwise, separators and terminators change to Other - // Neutral. - for (var i$4 = 0; i$4 < len; ++i$4) { - var type$3 = types[i$4]; - if (type$3 == ",") { types[i$4] = "N"; } - else if (type$3 == "%") { - var end = (void 0); - for (end = i$4 + 1; end < len && types[end] == "%"; ++end) {} - var replace = (i$4 && types[i$4-1] == "!") || (end < len && types[end] == "1") ? "1" : "N"; - for (var j = i$4; j < end; ++j) { types[j] = replace; } - i$4 = end - 1; - } - } - - // W7. Search backwards from each instance of a European number - // until the first strong type (R, L, or sor) is found. If an L is - // found, then change the type of the European number to L. - for (var i$5 = 0, cur$1 = outerType; i$5 < len; ++i$5) { - var type$4 = types[i$5]; - if (cur$1 == "L" && type$4 == "1") { types[i$5] = "L"; } - else if (isStrong.test(type$4)) { cur$1 = type$4; } - } - - // N1. A sequence of neutrals takes the direction of the - // surrounding strong text if the text on both sides has the same - // direction. European and Arabic numbers act as if they were R in - // terms of their influence on neutrals. Start-of-level-run (sor) - // and end-of-level-run (eor) are used at level run boundaries. - // N2. Any remaining neutrals take the embedding direction. - for (var i$6 = 0; i$6 < len; ++i$6) { - if (isNeutral.test(types[i$6])) { - var end$1 = (void 0); - for (end$1 = i$6 + 1; end$1 < len && isNeutral.test(types[end$1]); ++end$1) {} - var before = (i$6 ? types[i$6-1] : outerType) == "L"; - var after = (end$1 < len ? types[end$1] : outerType) == "L"; - var replace$1 = before == after ? (before ? "L" : "R") : outerType; - for (var j$1 = i$6; j$1 < end$1; ++j$1) { types[j$1] = replace$1; } - i$6 = end$1 - 1; - } - } - - // Here we depart from the documented algorithm, in order to avoid - // building up an actual levels array. Since there are only three - // levels (0, 1, 2) in an implementation that doesn't take - // explicit embedding into account, we can build up the order on - // the fly, without following the level-based algorithm. - var order = [], m; - for (var i$7 = 0; i$7 < len;) { - if (countsAsLeft.test(types[i$7])) { - var start = i$7; - for (++i$7; i$7 < len && countsAsLeft.test(types[i$7]); ++i$7) {} - order.push(new BidiSpan(0, start, i$7)); - } else { - var pos = i$7, at = order.length; - for (++i$7; i$7 < len && types[i$7] != "L"; ++i$7) {} - for (var j$2 = pos; j$2 < i$7;) { - if (countsAsNum.test(types[j$2])) { - if (pos < j$2) { order.splice(at, 0, new BidiSpan(1, pos, j$2)); } - var nstart = j$2; - for (++j$2; j$2 < i$7 && countsAsNum.test(types[j$2]); ++j$2) {} - order.splice(at, 0, new BidiSpan(2, nstart, j$2)); - pos = j$2; - } else { ++j$2; } - } - if (pos < i$7) { order.splice(at, 0, new BidiSpan(1, pos, i$7)); } - } - } - if (order[0].level == 1 && (m = str.match(/^\s+/))) { - order[0].from = m[0].length; - order.unshift(new BidiSpan(0, 0, m[0].length)); - } - if (lst(order).level == 1 && (m = str.match(/\s+$/))) { - lst(order).to -= m[0].length; - order.push(new BidiSpan(0, len - m[0].length, len)); - } - - return direction == "rtl" ? order.reverse() : order - } -})(); - -// Get the bidi ordering for the given line (and cache it). Returns -// false for lines that are fully left-to-right, and an array of -// BidiSpan objects otherwise. -function getOrder(line, direction) { - var order = line.order; - if (order == null) { order = line.order = bidiOrdering(line.text, direction); } - return order -} - -function moveCharLogically(line, ch, dir) { - var target = skipExtendingChars(line.text, ch + dir, dir); - return target < 0 || target > line.text.length ? null : target -} - -function moveLogically(line, start, dir) { - var ch = moveCharLogically(line, start.ch, dir); - return ch == null ? null : new Pos(start.line, ch, dir < 0 ? "after" : "before") -} - -function endOfLine(visually, cm, lineObj, lineNo, dir) { - if (visually) { - var order = getOrder(lineObj, cm.doc.direction); - if (order) { - var part = dir < 0 ? lst(order) : order[0]; - var moveInStorageOrder = (dir < 0) == (part.level == 1); - var sticky = moveInStorageOrder ? "after" : "before"; - var ch; - // With a wrapped rtl chunk (possibly spanning multiple bidi parts), - // it could be that the last bidi part is not on the last visual line, - // since visual lines contain content order-consecutive chunks. - // Thus, in rtl, we are looking for the first (content-order) character - // in the rtl chunk that is on the last line (that is, the same line - // as the last (content-order) character). - if (part.level > 0) { - var prep = prepareMeasureForLine(cm, lineObj); - ch = dir < 0 ? lineObj.text.length - 1 : 0; - var targetTop = measureCharPrepared(cm, prep, ch).top; - ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch); - if (sticky == "before") { ch = moveCharLogically(lineObj, ch, 1); } - } else { ch = dir < 0 ? part.to : part.from; } - return new Pos(lineNo, ch, sticky) - } - } - return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? "before" : "after") -} - -function moveVisually(cm, line, start, dir) { - var bidi = getOrder(line, cm.doc.direction); - if (!bidi) { return moveLogically(line, start, dir) } - if (start.ch >= line.text.length) { - start.ch = line.text.length; - start.sticky = "before"; - } else if (start.ch <= 0) { - start.ch = 0; - start.sticky = "after"; - } - var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos]; - if (cm.doc.direction == "ltr" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) { - // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines, - // nothing interesting happens. - return moveLogically(line, start, dir) - } - - var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); }; - var prep; - var getWrappedLineExtent = function (ch) { - if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} } - prep = prep || prepareMeasureForLine(cm, line); - return wrappedLineExtentChar(cm, line, prep, ch) - }; - var wrappedLineExtent = getWrappedLineExtent(start.sticky == "before" ? mv(start, -1) : start.ch); - - if (cm.doc.direction == "rtl" || part.level == 1) { - var moveInStorageOrder = (part.level == 1) == (dir < 0); - var ch = mv(start, moveInStorageOrder ? 1 : -1); - if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) { - // Case 2: We move within an rtl part or in an rtl editor on the same visual line - var sticky = moveInStorageOrder ? "before" : "after"; - return new Pos(start.line, ch, sticky) - } - } - - // Case 3: Could not move within this bidi part in this visual line, so leave - // the current bidi part - - var searchInVisualLine = function (partPos, dir, wrappedLineExtent) { - var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder - ? new Pos(start.line, mv(ch, 1), "before") - : new Pos(start.line, ch, "after"); }; - - for (; partPos >= 0 && partPos < bidi.length; partPos += dir) { - var part = bidi[partPos]; - var moveInStorageOrder = (dir > 0) == (part.level != 1); - var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1); - if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) } - ch = moveInStorageOrder ? part.from : mv(part.to, -1); - if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) } - } - }; - - // Case 3a: Look for other bidi parts on the same visual line - var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent); - if (res) { return res } - - // Case 3b: Look for other bidi parts on the next visual line - var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1); - if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) { - res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh)); - if (res) { return res } - } - - // Case 4: Nowhere to move - return null -} - -// EVENT HANDLING - -// Lightweight event framework. on/off also work on DOM nodes, -// registering native DOM handlers. - -var noHandlers = []; - -var on = function(emitter, type, f) { - if (emitter.addEventListener) { - emitter.addEventListener(type, f, false); - } else if (emitter.attachEvent) { - emitter.attachEvent("on" + type, f); - } else { - var map$$1 = emitter._handlers || (emitter._handlers = {}); - map$$1[type] = (map$$1[type] || noHandlers).concat(f); - } -}; - -function getHandlers(emitter, type) { - return emitter._handlers && emitter._handlers[type] || noHandlers -} - -function off(emitter, type, f) { - if (emitter.removeEventListener) { - emitter.removeEventListener(type, f, false); - } else if (emitter.detachEvent) { - emitter.detachEvent("on" + type, f); - } else { - var map$$1 = emitter._handlers, arr = map$$1 && map$$1[type]; - if (arr) { - var index = indexOf(arr, f); - if (index > -1) - { map$$1[type] = arr.slice(0, index).concat(arr.slice(index + 1)); } - } - } -} - -function signal(emitter, type /*, values...*/) { - var handlers = getHandlers(emitter, type); - if (!handlers.length) { return } - var args = Array.prototype.slice.call(arguments, 2); - for (var i = 0; i < handlers.length; ++i) { handlers[i].apply(null, args); } -} - -// The DOM events that CodeMirror handles can be overridden by -// registering a (non-DOM) handler on the editor for the event name, -// and preventDefault-ing the event in that handler. -function signalDOMEvent(cm, e, override) { - if (typeof e == "string") - { e = {type: e, preventDefault: function() { this.defaultPrevented = true; }}; } - signal(cm, override || e.type, cm, e); - return e_defaultPrevented(e) || e.codemirrorIgnore -} - -function signalCursorActivity(cm) { - var arr = cm._handlers && cm._handlers.cursorActivity; - if (!arr) { return } - var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = []); - for (var i = 0; i < arr.length; ++i) { if (indexOf(set, arr[i]) == -1) - { set.push(arr[i]); } } -} - -function hasHandler(emitter, type) { - return getHandlers(emitter, type).length > 0 -} - -// Add on and off methods to a constructor's prototype, to make -// registering events on such objects more convenient. -function eventMixin(ctor) { - ctor.prototype.on = function(type, f) {on(this, type, f);}; - ctor.prototype.off = function(type, f) {off(this, type, f);}; -} - -// Due to the fact that we still support jurassic IE versions, some -// compatibility wrappers are needed. - -function e_preventDefault(e) { - if (e.preventDefault) { e.preventDefault(); } - else { e.returnValue = false; } -} -function e_stopPropagation(e) { - if (e.stopPropagation) { e.stopPropagation(); } - else { e.cancelBubble = true; } -} -function e_defaultPrevented(e) { - return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false -} -function e_stop(e) {e_preventDefault(e); e_stopPropagation(e);} - -function e_target(e) {return e.target || e.srcElement} -function e_button(e) { - var b = e.which; - if (b == null) { - if (e.button & 1) { b = 1; } - else if (e.button & 2) { b = 3; } - else if (e.button & 4) { b = 2; } - } - if (mac && e.ctrlKey && b == 1) { b = 3; } - return b -} - -// Detect drag-and-drop -var dragAndDrop = function() { - // There is *some* kind of drag-and-drop support in IE6-8, but I - // couldn't get it to work yet. - if (ie && ie_version < 9) { return false } - var div = elt('div'); - return "draggable" in div || "dragDrop" in div -}(); - -var zwspSupported; -function zeroWidthElement(measure) { - if (zwspSupported == null) { - var test = elt("span", "\u200b"); - removeChildrenAndAdd(measure, elt("span", [test, document.createTextNode("x")])); - if (measure.firstChild.offsetHeight != 0) - { zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8); } - } - var node = zwspSupported ? elt("span", "\u200b") : - elt("span", "\u00a0", null, "display: inline-block; width: 1px; margin-right: -1px"); - node.setAttribute("cm-text", ""); - return node -} - -// Feature-detect IE's crummy client rect reporting for bidi text -var badBidiRects; -function hasBadBidiRects(measure) { - if (badBidiRects != null) { return badBidiRects } - var txt = removeChildrenAndAdd(measure, document.createTextNode("A\u062eA")); - var r0 = range(txt, 0, 1).getBoundingClientRect(); - var r1 = range(txt, 1, 2).getBoundingClientRect(); - removeChildren(measure); - if (!r0 || r0.left == r0.right) { return false } // Safari returns null in some cases (#2780) - return badBidiRects = (r1.right - r0.right < 3) -} - -// See if "".split is the broken IE version, if so, provide an -// alternative way to split lines. -var splitLinesAuto = "\n\nb".split(/\n/).length != 3 ? function (string) { - var pos = 0, result = [], l = string.length; - while (pos <= l) { - var nl = string.indexOf("\n", pos); - if (nl == -1) { nl = string.length; } - var line = string.slice(pos, string.charAt(nl - 1) == "\r" ? nl - 1 : nl); - var rt = line.indexOf("\r"); - if (rt != -1) { - result.push(line.slice(0, rt)); - pos += rt + 1; - } else { - result.push(line); - pos = nl + 1; - } - } - return result -} : function (string) { return string.split(/\r\n?|\n/); }; - -var hasSelection = window.getSelection ? function (te) { - try { return te.selectionStart != te.selectionEnd } - catch(e) { return false } -} : function (te) { - var range$$1; - try {range$$1 = te.ownerDocument.selection.createRange();} - catch(e) {} - if (!range$$1 || range$$1.parentElement() != te) { return false } - return range$$1.compareEndPoints("StartToEnd", range$$1) != 0 -}; - -var hasCopyEvent = (function () { - var e = elt("div"); - if ("oncopy" in e) { return true } - e.setAttribute("oncopy", "return;"); - return typeof e.oncopy == "function" -})(); - -var badZoomedRects = null; -function hasBadZoomedRects(measure) { - if (badZoomedRects != null) { return badZoomedRects } - var node = removeChildrenAndAdd(measure, elt("span", "x")); - var normal = node.getBoundingClientRect(); - var fromRange = range(node, 0, 1).getBoundingClientRect(); - return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1 -} - -// Known modes, by name and by MIME -var modes = {}; -var mimeModes = {}; - -// Extra arguments are stored as the mode's dependencies, which is -// used by (legacy) mechanisms like loadmode.js to automatically -// load a mode. (Preferred mechanism is the require/define calls.) -function defineMode(name, mode) { - if (arguments.length > 2) - { mode.dependencies = Array.prototype.slice.call(arguments, 2); } - modes[name] = mode; -} - -function defineMIME(mime, spec) { - mimeModes[mime] = spec; -} - -// Given a MIME type, a {name, ...options} config object, or a name -// string, return a mode config object. -function resolveMode(spec) { - if (typeof spec == "string" && mimeModes.hasOwnProperty(spec)) { - spec = mimeModes[spec]; - } else if (spec && typeof spec.name == "string" && mimeModes.hasOwnProperty(spec.name)) { - var found = mimeModes[spec.name]; - if (typeof found == "string") { found = {name: found}; } - spec = createObj(found, spec); - spec.name = found.name; - } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+xml$/.test(spec)) { - return resolveMode("application/xml") - } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+json$/.test(spec)) { - return resolveMode("application/json") - } - if (typeof spec == "string") { return {name: spec} } - else { return spec || {name: "null"} } -} - -// Given a mode spec (anything that resolveMode accepts), find and -// initialize an actual mode object. -function getMode(options, spec) { - spec = resolveMode(spec); - var mfactory = modes[spec.name]; - if (!mfactory) { return getMode(options, "text/plain") } - var modeObj = mfactory(options, spec); - if (modeExtensions.hasOwnProperty(spec.name)) { - var exts = modeExtensions[spec.name]; - for (var prop in exts) { - if (!exts.hasOwnProperty(prop)) { continue } - if (modeObj.hasOwnProperty(prop)) { modeObj["_" + prop] = modeObj[prop]; } - modeObj[prop] = exts[prop]; - } - } - modeObj.name = spec.name; - if (spec.helperType) { modeObj.helperType = spec.helperType; } - if (spec.modeProps) { for (var prop$1 in spec.modeProps) - { modeObj[prop$1] = spec.modeProps[prop$1]; } } - - return modeObj -} - -// This can be used to attach properties to mode objects from -// outside the actual mode definition. -var modeExtensions = {}; -function extendMode(mode, properties) { - var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {}); - copyObj(properties, exts); -} - -function copyState(mode, state) { - if (state === true) { return state } - if (mode.copyState) { return mode.copyState(state) } - var nstate = {}; - for (var n in state) { - var val = state[n]; - if (val instanceof Array) { val = val.concat([]); } - nstate[n] = val; - } - return nstate -} - -// Given a mode and a state (for that mode), find the inner mode and -// state at the position that the state refers to. -function innerMode(mode, state) { - var info; - while (mode.innerMode) { - info = mode.innerMode(state); - if (!info || info.mode == mode) { break } - state = info.state; - mode = info.mode; - } - return info || {mode: mode, state: state} -} - -function startState(mode, a1, a2) { - return mode.startState ? mode.startState(a1, a2) : true -} - -// STRING STREAM - -// Fed to the mode parsers, provides helper functions to make -// parsers more succinct. - -var StringStream = function(string, tabSize, lineOracle) { - this.pos = this.start = 0; - this.string = string; - this.tabSize = tabSize || 8; - this.lastColumnPos = this.lastColumnValue = 0; - this.lineStart = 0; - this.lineOracle = lineOracle; -}; - -StringStream.prototype.eol = function () {return this.pos >= this.string.length}; -StringStream.prototype.sol = function () {return this.pos == this.lineStart}; -StringStream.prototype.peek = function () {return this.string.charAt(this.pos) || undefined}; -StringStream.prototype.next = function () { - if (this.pos < this.string.length) - { return this.string.charAt(this.pos++) } -}; -StringStream.prototype.eat = function (match) { - var ch = this.string.charAt(this.pos); - var ok; - if (typeof match == "string") { ok = ch == match; } - else { ok = ch && (match.test ? match.test(ch) : match(ch)); } - if (ok) {++this.pos; return ch} -}; -StringStream.prototype.eatWhile = function (match) { - var start = this.pos; - while (this.eat(match)){} - return this.pos > start -}; -StringStream.prototype.eatSpace = function () { - var this$1 = this; - - var start = this.pos; - while (/[\s\u00a0]/.test(this.string.charAt(this.pos))) { ++this$1.pos; } - return this.pos > start -}; -StringStream.prototype.skipToEnd = function () {this.pos = this.string.length;}; -StringStream.prototype.skipTo = function (ch) { - var found = this.string.indexOf(ch, this.pos); - if (found > -1) {this.pos = found; return true} -}; -StringStream.prototype.backUp = function (n) {this.pos -= n;}; -StringStream.prototype.column = function () { - if (this.lastColumnPos < this.start) { - this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue); - this.lastColumnPos = this.start; - } - return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0) -}; -StringStream.prototype.indentation = function () { - return countColumn(this.string, null, this.tabSize) - - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0) -}; -StringStream.prototype.match = function (pattern, consume, caseInsensitive) { - if (typeof pattern == "string") { - var cased = function (str) { return caseInsensitive ? str.toLowerCase() : str; }; - var substr = this.string.substr(this.pos, pattern.length); - if (cased(substr) == cased(pattern)) { - if (consume !== false) { this.pos += pattern.length; } - return true - } - } else { - var match = this.string.slice(this.pos).match(pattern); - if (match && match.index > 0) { return null } - if (match && consume !== false) { this.pos += match[0].length; } - return match - } -}; -StringStream.prototype.current = function (){return this.string.slice(this.start, this.pos)}; -StringStream.prototype.hideFirstChars = function (n, inner) { - this.lineStart += n; - try { return inner() } - finally { this.lineStart -= n; } -}; -StringStream.prototype.lookAhead = function (n) { - var oracle = this.lineOracle; - return oracle && oracle.lookAhead(n) -}; - -var SavedContext = function(state, lookAhead) { - this.state = state; - this.lookAhead = lookAhead; -}; - -var Context = function(doc, state, line, lookAhead) { - this.state = state; - this.doc = doc; - this.line = line; - this.maxLookAhead = lookAhead || 0; -}; - -Context.prototype.lookAhead = function (n) { - var line = this.doc.getLine(this.line + n); - if (line != null && n > this.maxLookAhead) { this.maxLookAhead = n; } - return line -}; - -Context.prototype.nextLine = function () { - this.line++; - if (this.maxLookAhead > 0) { this.maxLookAhead--; } -}; - -Context.fromSaved = function (doc, saved, line) { - if (saved instanceof SavedContext) - { return new Context(doc, copyState(doc.mode, saved.state), line, saved.lookAhead) } - else - { return new Context(doc, copyState(doc.mode, saved), line) } -}; - -Context.prototype.save = function (copy) { - var state = copy !== false ? copyState(this.doc.mode, this.state) : this.state; - return this.maxLookAhead > 0 ? new SavedContext(state, this.maxLookAhead) : state -}; - - -// Compute a style array (an array starting with a mode generation -// -- for invalidation -- followed by pairs of end positions and -// style strings), which is used to highlight the tokens on the -// line. -function highlightLine(cm, line, context, forceToEnd) { - // A styles array always starts with a number identifying the - // mode/overlays that it is based on (for easy invalidation). - var st = [cm.state.modeGen], lineClasses = {}; - // Compute the base array of styles - runMode(cm, line.text, cm.doc.mode, context, function (end, style) { return st.push(end, style); }, - lineClasses, forceToEnd); - var state = context.state; - - // Run overlays, adjust style array. - var loop = function ( o ) { - var overlay = cm.state.overlays[o], i = 1, at = 0; - context.state = true; - runMode(cm, line.text, overlay.mode, context, function (end, style) { - var start = i; - // Ensure there's a token end at the current position, and that i points at it - while (at < end) { - var i_end = st[i]; - if (i_end > end) - { st.splice(i, 1, end, st[i+1], i_end); } - i += 2; - at = Math.min(end, i_end); - } - if (!style) { return } - if (overlay.opaque) { - st.splice(start, i - start, end, "overlay " + style); - i = start + 2; - } else { - for (; start < i; start += 2) { - var cur = st[start+1]; - st[start+1] = (cur ? cur + " " : "") + "overlay " + style; - } - } - }, lineClasses); - }; - - for (var o = 0; o < cm.state.overlays.length; ++o) loop( o ); - context.state = state; - - return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null} -} - -function getLineStyles(cm, line, updateFrontier) { - if (!line.styles || line.styles[0] != cm.state.modeGen) { - var context = getContextBefore(cm, lineNo(line)); - var resetState = line.text.length > cm.options.maxHighlightLength && copyState(cm.doc.mode, context.state); - var result = highlightLine(cm, line, context); - if (resetState) { context.state = resetState; } - line.stateAfter = context.save(!resetState); - line.styles = result.styles; - if (result.classes) { line.styleClasses = result.classes; } - else if (line.styleClasses) { line.styleClasses = null; } - if (updateFrontier === cm.doc.highlightFrontier) - { cm.doc.modeFrontier = Math.max(cm.doc.modeFrontier, ++cm.doc.highlightFrontier); } - } - return line.styles -} - -function getContextBefore(cm, n, precise) { - var doc = cm.doc, display = cm.display; - if (!doc.mode.startState) { return new Context(doc, true, n) } - var start = findStartLine(cm, n, precise); - var saved = start > doc.first && getLine(doc, start - 1).stateAfter; - var context = saved ? Context.fromSaved(doc, saved, start) : new Context(doc, startState(doc.mode), start); - - doc.iter(start, n, function (line) { - processLine(cm, line.text, context); - var pos = context.line; - line.stateAfter = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo ? context.save() : null; - context.nextLine(); - }); - if (precise) { doc.modeFrontier = context.line; } - return context -} - -// Lightweight form of highlight -- proceed over this line and -// update state, but don't save a style array. Used for lines that -// aren't currently visible. -function processLine(cm, text, context, startAt) { - var mode = cm.doc.mode; - var stream = new StringStream(text, cm.options.tabSize, context); - stream.start = stream.pos = startAt || 0; - if (text == "") { callBlankLine(mode, context.state); } - while (!stream.eol()) { - readToken(mode, stream, context.state); - stream.start = stream.pos; - } -} - -function callBlankLine(mode, state) { - if (mode.blankLine) { return mode.blankLine(state) } - if (!mode.innerMode) { return } - var inner = innerMode(mode, state); - if (inner.mode.blankLine) { return inner.mode.blankLine(inner.state) } -} - -function readToken(mode, stream, state, inner) { - for (var i = 0; i < 10; i++) { - if (inner) { inner[0] = innerMode(mode, state).mode; } - var style = mode.token(stream, state); - if (stream.pos > stream.start) { return style } - } - throw new Error("Mode " + mode.name + " failed to advance stream.") -} - -var Token = function(stream, type, state) { - this.start = stream.start; this.end = stream.pos; - this.string = stream.current(); - this.type = type || null; - this.state = state; -}; - -// Utility for getTokenAt and getLineTokens -function takeToken(cm, pos, precise, asArray) { - var doc = cm.doc, mode = doc.mode, style; - pos = clipPos(doc, pos); - var line = getLine(doc, pos.line), context = getContextBefore(cm, pos.line, precise); - var stream = new StringStream(line.text, cm.options.tabSize, context), tokens; - if (asArray) { tokens = []; } - while ((asArray || stream.pos < pos.ch) && !stream.eol()) { - stream.start = stream.pos; - style = readToken(mode, stream, context.state); - if (asArray) { tokens.push(new Token(stream, style, copyState(doc.mode, context.state))); } - } - return asArray ? tokens : new Token(stream, style, context.state) -} - -function extractLineClasses(type, output) { - if (type) { for (;;) { - var lineClass = type.match(/(?:^|\s+)line-(background-)?(\S+)/); - if (!lineClass) { break } - type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length); - var prop = lineClass[1] ? "bgClass" : "textClass"; - if (output[prop] == null) - { output[prop] = lineClass[2]; } - else if (!(new RegExp("(?:^|\s)" + lineClass[2] + "(?:$|\s)")).test(output[prop])) - { output[prop] += " " + lineClass[2]; } - } } - return type -} - -// Run the given mode's parser over a line, calling f for each token. -function runMode(cm, text, mode, context, f, lineClasses, forceToEnd) { - var flattenSpans = mode.flattenSpans; - if (flattenSpans == null) { flattenSpans = cm.options.flattenSpans; } - var curStart = 0, curStyle = null; - var stream = new StringStream(text, cm.options.tabSize, context), style; - var inner = cm.options.addModeClass && [null]; - if (text == "") { extractLineClasses(callBlankLine(mode, context.state), lineClasses); } - while (!stream.eol()) { - if (stream.pos > cm.options.maxHighlightLength) { - flattenSpans = false; - if (forceToEnd) { processLine(cm, text, context, stream.pos); } - stream.pos = text.length; - style = null; - } else { - style = extractLineClasses(readToken(mode, stream, context.state, inner), lineClasses); - } - if (inner) { - var mName = inner[0].name; - if (mName) { style = "m-" + (style ? mName + " " + style : mName); } - } - if (!flattenSpans || curStyle != style) { - while (curStart < stream.start) { - curStart = Math.min(stream.start, curStart + 5000); - f(curStart, curStyle); - } - curStyle = style; - } - stream.start = stream.pos; - } - while (curStart < stream.pos) { - // Webkit seems to refuse to render text nodes longer than 57444 - // characters, and returns inaccurate measurements in nodes - // starting around 5000 chars. - var pos = Math.min(stream.pos, curStart + 5000); - f(pos, curStyle); - curStart = pos; - } -} - -// Finds the line to start with when starting a parse. Tries to -// find a line with a stateAfter, so that it can start with a -// valid state. If that fails, it returns the line with the -// smallest indentation, which tends to need the least context to -// parse correctly. -function findStartLine(cm, n, precise) { - var minindent, minline, doc = cm.doc; - var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100); - for (var search = n; search > lim; --search) { - if (search <= doc.first) { return doc.first } - var line = getLine(doc, search - 1), after = line.stateAfter; - if (after && (!precise || search + (after instanceof SavedContext ? after.lookAhead : 0) <= doc.modeFrontier)) - { return search } - var indented = countColumn(line.text, null, cm.options.tabSize); - if (minline == null || minindent > indented) { - minline = search - 1; - minindent = indented; - } - } - return minline -} - -function retreatFrontier(doc, n) { - doc.modeFrontier = Math.min(doc.modeFrontier, n); - if (doc.highlightFrontier < n - 10) { return } - var start = doc.first; - for (var line = n - 1; line > start; line--) { - var saved = getLine(doc, line).stateAfter; - // change is on 3 - // state on line 1 looked ahead 2 -- so saw 3 - // test 1 + 2 < 3 should cover this - if (saved && (!(saved instanceof SavedContext) || line + saved.lookAhead < n)) { - start = line + 1; - break - } - } - doc.highlightFrontier = Math.min(doc.highlightFrontier, start); -} - -// LINE DATA STRUCTURE - -// Line objects. These hold state related to a line, including -// highlighting info (the styles array). -var Line = function(text, markedSpans, estimateHeight) { - this.text = text; - attachMarkedSpans(this, markedSpans); - this.height = estimateHeight ? estimateHeight(this) : 1; -}; - -Line.prototype.lineNo = function () { return lineNo(this) }; -eventMixin(Line); - -// Change the content (text, markers) of a line. Automatically -// invalidates cached information and tries to re-estimate the -// line's height. -function updateLine(line, text, markedSpans, estimateHeight) { - line.text = text; - if (line.stateAfter) { line.stateAfter = null; } - if (line.styles) { line.styles = null; } - if (line.order != null) { line.order = null; } - detachMarkedSpans(line); - attachMarkedSpans(line, markedSpans); - var estHeight = estimateHeight ? estimateHeight(line) : 1; - if (estHeight != line.height) { updateLineHeight(line, estHeight); } -} - -// Detach a line from the document tree and its markers. -function cleanUpLine(line) { - line.parent = null; - detachMarkedSpans(line); -} - -// Convert a style as returned by a mode (either null, or a string -// containing one or more styles) to a CSS style. This is cached, -// and also looks for line-wide styles. -var styleToClassCache = {}; -var styleToClassCacheWithMode = {}; -function interpretTokenStyle(style, options) { - if (!style || /^\s*$/.test(style)) { return null } - var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache; - return cache[style] || - (cache[style] = style.replace(/\S+/g, "cm-$&")) -} - -// Render the DOM representation of the text of a line. Also builds -// up a 'line map', which points at the DOM nodes that represent -// specific stretches of text, and is used by the measuring code. -// The returned object contains the DOM node, this map, and -// information about line-wide styles that were set by the mode. -function buildLineContent(cm, lineView) { - // The padding-right forces the element to have a 'border', which - // is needed on Webkit to be able to get line-level bounding - // rectangles for it (in measureChar). - var content = eltP("span", null, null, webkit ? "padding-right: .1px" : null); - var builder = {pre: eltP("pre", [content], "CodeMirror-line"), content: content, - col: 0, pos: 0, cm: cm, - trailingSpace: false, - splitSpaces: (ie || webkit) && cm.getOption("lineWrapping")}; - lineView.measure = {}; - - // Iterate over the logical lines that make up this visual line. - for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) { - var line = i ? lineView.rest[i - 1] : lineView.line, order = (void 0); - builder.pos = 0; - builder.addToken = buildToken; - // Optionally wire in some hacks into the token-rendering - // algorithm, to deal with browser quirks. - if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line, cm.doc.direction))) - { builder.addToken = buildTokenBadBidi(builder.addToken, order); } - builder.map = []; - var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line); - insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate)); - if (line.styleClasses) { - if (line.styleClasses.bgClass) - { builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || ""); } - if (line.styleClasses.textClass) - { builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || ""); } - } - - // Ensure at least a single node is present, for measuring. - if (builder.map.length == 0) - { builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))); } - - // Store the map and a cache object for the current logical line - if (i == 0) { - lineView.measure.map = builder.map; - lineView.measure.cache = {}; - } else { - (lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map) - ;(lineView.measure.caches || (lineView.measure.caches = [])).push({}); - } - } - - // See issue #2901 - if (webkit) { - var last = builder.content.lastChild; - if (/\bcm-tab\b/.test(last.className) || (last.querySelector && last.querySelector(".cm-tab"))) - { builder.content.className = "cm-tab-wrap-hack"; } - } - - signal(cm, "renderLine", cm, lineView.line, builder.pre); - if (builder.pre.className) - { builder.textClass = joinClasses(builder.pre.className, builder.textClass || ""); } - - return builder -} - -function defaultSpecialCharPlaceholder(ch) { - var token = elt("span", "\u2022", "cm-invalidchar"); - token.title = "\\u" + ch.charCodeAt(0).toString(16); - token.setAttribute("aria-label", token.title); - return token -} - -// Build up the DOM representation for a single token, and add it to -// the line map. Takes care to render special characters separately. -function buildToken(builder, text, style, startStyle, endStyle, title, css) { - if (!text) { return } - var displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text; - var special = builder.cm.state.specialChars, mustWrap = false; - var content; - if (!special.test(text)) { - builder.col += text.length; - content = document.createTextNode(displayText); - builder.map.push(builder.pos, builder.pos + text.length, content); - if (ie && ie_version < 9) { mustWrap = true; } - builder.pos += text.length; - } else { - content = document.createDocumentFragment(); - var pos = 0; - while (true) { - special.lastIndex = pos; - var m = special.exec(text); - var skipped = m ? m.index - pos : text.length - pos; - if (skipped) { - var txt = document.createTextNode(displayText.slice(pos, pos + skipped)); - if (ie && ie_version < 9) { content.appendChild(elt("span", [txt])); } - else { content.appendChild(txt); } - builder.map.push(builder.pos, builder.pos + skipped, txt); - builder.col += skipped; - builder.pos += skipped; - } - if (!m) { break } - pos += skipped + 1; - var txt$1 = (void 0); - if (m[0] == "\t") { - var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize; - txt$1 = content.appendChild(elt("span", spaceStr(tabWidth), "cm-tab")); - txt$1.setAttribute("role", "presentation"); - txt$1.setAttribute("cm-text", "\t"); - builder.col += tabWidth; - } else if (m[0] == "\r" || m[0] == "\n") { - txt$1 = content.appendChild(elt("span", m[0] == "\r" ? "\u240d" : "\u2424", "cm-invalidchar")); - txt$1.setAttribute("cm-text", m[0]); - builder.col += 1; - } else { - txt$1 = builder.cm.options.specialCharPlaceholder(m[0]); - txt$1.setAttribute("cm-text", m[0]); - if (ie && ie_version < 9) { content.appendChild(elt("span", [txt$1])); } - else { content.appendChild(txt$1); } - builder.col += 1; - } - builder.map.push(builder.pos, builder.pos + 1, txt$1); - builder.pos++; - } - } - builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32; - if (style || startStyle || endStyle || mustWrap || css) { - var fullStyle = style || ""; - if (startStyle) { fullStyle += startStyle; } - if (endStyle) { fullStyle += endStyle; } - var token = elt("span", [content], fullStyle, css); - if (title) { token.title = title; } - return builder.content.appendChild(token) - } - builder.content.appendChild(content); -} - -function splitSpaces(text, trailingBefore) { - if (text.length > 1 && !/ /.test(text)) { return text } - var spaceBefore = trailingBefore, result = ""; - for (var i = 0; i < text.length; i++) { - var ch = text.charAt(i); - if (ch == " " && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32)) - { ch = "\u00a0"; } - result += ch; - spaceBefore = ch == " "; - } - return result -} - -// Work around nonsense dimensions being reported for stretches of -// right-to-left text. -function buildTokenBadBidi(inner, order) { - return function (builder, text, style, startStyle, endStyle, title, css) { - style = style ? style + " cm-force-border" : "cm-force-border"; - var start = builder.pos, end = start + text.length; - for (;;) { - // Find the part that overlaps with the start of this text - var part = (void 0); - for (var i = 0; i < order.length; i++) { - part = order[i]; - if (part.to > start && part.from <= start) { break } - } - if (part.to >= end) { return inner(builder, text, style, startStyle, endStyle, title, css) } - inner(builder, text.slice(0, part.to - start), style, startStyle, null, title, css); - startStyle = null; - text = text.slice(part.to - start); - start = part.to; - } - } -} - -function buildCollapsedSpan(builder, size, marker, ignoreWidget) { - var widget = !ignoreWidget && marker.widgetNode; - if (widget) { builder.map.push(builder.pos, builder.pos + size, widget); } - if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) { - if (!widget) - { widget = builder.content.appendChild(document.createElement("span")); } - widget.setAttribute("cm-marker", marker.id); - } - if (widget) { - builder.cm.display.input.setUneditable(widget); - builder.content.appendChild(widget); - } - builder.pos += size; - builder.trailingSpace = false; -} - -// Outputs a number of spans to make up a line, taking highlighting -// and marked text into account. -function insertLineContent(line, builder, styles) { - var spans = line.markedSpans, allText = line.text, at = 0; - if (!spans) { - for (var i$1 = 1; i$1 < styles.length; i$1+=2) - { builder.addToken(builder, allText.slice(at, at = styles[i$1]), interpretTokenStyle(styles[i$1+1], builder.cm.options)); } - return - } - - var len = allText.length, pos = 0, i = 1, text = "", style, css; - var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, title, collapsed; - for (;;) { - if (nextChange == pos) { // Update current marker set - spanStyle = spanEndStyle = spanStartStyle = title = css = ""; - collapsed = null; nextChange = Infinity; - var foundBookmarks = [], endStyles = (void 0); - for (var j = 0; j < spans.length; ++j) { - var sp = spans[j], m = sp.marker; - if (m.type == "bookmark" && sp.from == pos && m.widgetNode) { - foundBookmarks.push(m); - } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) { - if (sp.to != null && sp.to != pos && nextChange > sp.to) { - nextChange = sp.to; - spanEndStyle = ""; - } - if (m.className) { spanStyle += " " + m.className; } - if (m.css) { css = (css ? css + ";" : "") + m.css; } - if (m.startStyle && sp.from == pos) { spanStartStyle += " " + m.startStyle; } - if (m.endStyle && sp.to == nextChange) { (endStyles || (endStyles = [])).push(m.endStyle, sp.to); } - if (m.title && !title) { title = m.title; } - if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0)) - { collapsed = sp; } - } else if (sp.from > pos && nextChange > sp.from) { - nextChange = sp.from; - } - } - if (endStyles) { for (var j$1 = 0; j$1 < endStyles.length; j$1 += 2) - { if (endStyles[j$1 + 1] == nextChange) { spanEndStyle += " " + endStyles[j$1]; } } } - - if (!collapsed || collapsed.from == pos) { for (var j$2 = 0; j$2 < foundBookmarks.length; ++j$2) - { buildCollapsedSpan(builder, 0, foundBookmarks[j$2]); } } - if (collapsed && (collapsed.from || 0) == pos) { - buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos, - collapsed.marker, collapsed.from == null); - if (collapsed.to == null) { return } - if (collapsed.to == pos) { collapsed = false; } - } - } - if (pos >= len) { break } - - var upto = Math.min(len, nextChange); - while (true) { - if (text) { - var end = pos + text.length; - if (!collapsed) { - var tokenText = end > upto ? text.slice(0, upto - pos) : text; - builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle, - spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : "", title, css); - } - if (end >= upto) {text = text.slice(upto - pos); pos = upto; break} - pos = end; - spanStartStyle = ""; - } - text = allText.slice(at, at = styles[i++]); - style = interpretTokenStyle(styles[i++], builder.cm.options); - } - } -} - - -// These objects are used to represent the visible (currently drawn) -// part of the document. A LineView may correspond to multiple -// logical lines, if those are connected by collapsed ranges. -function LineView(doc, line, lineN) { - // The starting line - this.line = line; - // Continuing lines, if any - this.rest = visualLineContinued(line); - // Number of logical lines in this visual line - this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1; - this.node = this.text = null; - this.hidden = lineIsHidden(doc, line); -} - -// Create a range of LineView objects for the given lines. -function buildViewArray(cm, from, to) { - var array = [], nextPos; - for (var pos = from; pos < to; pos = nextPos) { - var view = new LineView(cm.doc, getLine(cm.doc, pos), pos); - nextPos = pos + view.size; - array.push(view); - } - return array -} - -var operationGroup = null; - -function pushOperation(op) { - if (operationGroup) { - operationGroup.ops.push(op); - } else { - op.ownsGroup = operationGroup = { - ops: [op], - delayedCallbacks: [] - }; - } -} - -function fireCallbacksForOps(group) { - // Calls delayed callbacks and cursorActivity handlers until no - // new ones appear - var callbacks = group.delayedCallbacks, i = 0; - do { - for (; i < callbacks.length; i++) - { callbacks[i].call(null); } - for (var j = 0; j < group.ops.length; j++) { - var op = group.ops[j]; - if (op.cursorActivityHandlers) - { while (op.cursorActivityCalled < op.cursorActivityHandlers.length) - { op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm); } } - } - } while (i < callbacks.length) -} - -function finishOperation(op, endCb) { - var group = op.ownsGroup; - if (!group) { return } - - try { fireCallbacksForOps(group); } - finally { - operationGroup = null; - endCb(group); - } -} - -var orphanDelayedCallbacks = null; - -// Often, we want to signal events at a point where we are in the -// middle of some work, but don't want the handler to start calling -// other methods on the editor, which might be in an inconsistent -// state or simply not expect any other events to happen. -// signalLater looks whether there are any handlers, and schedules -// them to be executed when the last operation ends, or, if no -// operation is active, when a timeout fires. -function signalLater(emitter, type /*, values...*/) { - var arr = getHandlers(emitter, type); - if (!arr.length) { return } - var args = Array.prototype.slice.call(arguments, 2), list; - if (operationGroup) { - list = operationGroup.delayedCallbacks; - } else if (orphanDelayedCallbacks) { - list = orphanDelayedCallbacks; - } else { - list = orphanDelayedCallbacks = []; - setTimeout(fireOrphanDelayed, 0); - } - var loop = function ( i ) { - list.push(function () { return arr[i].apply(null, args); }); - }; - - for (var i = 0; i < arr.length; ++i) - loop( i ); -} - -function fireOrphanDelayed() { - var delayed = orphanDelayedCallbacks; - orphanDelayedCallbacks = null; - for (var i = 0; i < delayed.length; ++i) { delayed[i](); } -} - -// When an aspect of a line changes, a string is added to -// lineView.changes. This updates the relevant part of the line's -// DOM structure. -function updateLineForChanges(cm, lineView, lineN, dims) { - for (var j = 0; j < lineView.changes.length; j++) { - var type = lineView.changes[j]; - if (type == "text") { updateLineText(cm, lineView); } - else if (type == "gutter") { updateLineGutter(cm, lineView, lineN, dims); } - else if (type == "class") { updateLineClasses(cm, lineView); } - else if (type == "widget") { updateLineWidgets(cm, lineView, dims); } - } - lineView.changes = null; -} - -// Lines with gutter elements, widgets or a background class need to -// be wrapped, and have the extra elements added to the wrapper div -function ensureLineWrapped(lineView) { - if (lineView.node == lineView.text) { - lineView.node = elt("div", null, null, "position: relative"); - if (lineView.text.parentNode) - { lineView.text.parentNode.replaceChild(lineView.node, lineView.text); } - lineView.node.appendChild(lineView.text); - if (ie && ie_version < 8) { lineView.node.style.zIndex = 2; } - } - return lineView.node -} - -function updateLineBackground(cm, lineView) { - var cls = lineView.bgClass ? lineView.bgClass + " " + (lineView.line.bgClass || "") : lineView.line.bgClass; - if (cls) { cls += " CodeMirror-linebackground"; } - if (lineView.background) { - if (cls) { lineView.background.className = cls; } - else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null; } - } else if (cls) { - var wrap = ensureLineWrapped(lineView); - lineView.background = wrap.insertBefore(elt("div", null, cls), wrap.firstChild); - cm.display.input.setUneditable(lineView.background); - } -} - -// Wrapper around buildLineContent which will reuse the structure -// in display.externalMeasured when possible. -function getLineContent(cm, lineView) { - var ext = cm.display.externalMeasured; - if (ext && ext.line == lineView.line) { - cm.display.externalMeasured = null; - lineView.measure = ext.measure; - return ext.built - } - return buildLineContent(cm, lineView) -} - -// Redraw the line's text. Interacts with the background and text -// classes because the mode may output tokens that influence these -// classes. -function updateLineText(cm, lineView) { - var cls = lineView.text.className; - var built = getLineContent(cm, lineView); - if (lineView.text == lineView.node) { lineView.node = built.pre; } - lineView.text.parentNode.replaceChild(built.pre, lineView.text); - lineView.text = built.pre; - if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) { - lineView.bgClass = built.bgClass; - lineView.textClass = built.textClass; - updateLineClasses(cm, lineView); - } else if (cls) { - lineView.text.className = cls; - } -} - -function updateLineClasses(cm, lineView) { - updateLineBackground(cm, lineView); - if (lineView.line.wrapClass) - { ensureLineWrapped(lineView).className = lineView.line.wrapClass; } - else if (lineView.node != lineView.text) - { lineView.node.className = ""; } - var textClass = lineView.textClass ? lineView.textClass + " " + (lineView.line.textClass || "") : lineView.line.textClass; - lineView.text.className = textClass || ""; -} - -function updateLineGutter(cm, lineView, lineN, dims) { - if (lineView.gutter) { - lineView.node.removeChild(lineView.gutter); - lineView.gutter = null; - } - if (lineView.gutterBackground) { - lineView.node.removeChild(lineView.gutterBackground); - lineView.gutterBackground = null; - } - if (lineView.line.gutterClass) { - var wrap = ensureLineWrapped(lineView); - lineView.gutterBackground = elt("div", null, "CodeMirror-gutter-background " + lineView.line.gutterClass, - ("left: " + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + "px; width: " + (dims.gutterTotalWidth) + "px")); - cm.display.input.setUneditable(lineView.gutterBackground); - wrap.insertBefore(lineView.gutterBackground, lineView.text); - } - var markers = lineView.line.gutterMarkers; - if (cm.options.lineNumbers || markers) { - var wrap$1 = ensureLineWrapped(lineView); - var gutterWrap = lineView.gutter = elt("div", null, "CodeMirror-gutter-wrapper", ("left: " + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + "px")); - cm.display.input.setUneditable(gutterWrap); - wrap$1.insertBefore(gutterWrap, lineView.text); - if (lineView.line.gutterClass) - { gutterWrap.className += " " + lineView.line.gutterClass; } - if (cm.options.lineNumbers && (!markers || !markers["CodeMirror-linenumbers"])) - { lineView.lineNumber = gutterWrap.appendChild( - elt("div", lineNumberFor(cm.options, lineN), - "CodeMirror-linenumber CodeMirror-gutter-elt", - ("left: " + (dims.gutterLeft["CodeMirror-linenumbers"]) + "px; width: " + (cm.display.lineNumInnerWidth) + "px"))); } - if (markers) { for (var k = 0; k < cm.options.gutters.length; ++k) { - var id = cm.options.gutters[k], found = markers.hasOwnProperty(id) && markers[id]; - if (found) - { gutterWrap.appendChild(elt("div", [found], "CodeMirror-gutter-elt", - ("left: " + (dims.gutterLeft[id]) + "px; width: " + (dims.gutterWidth[id]) + "px"))); } - } } - } -} - -function updateLineWidgets(cm, lineView, dims) { - if (lineView.alignable) { lineView.alignable = null; } - for (var node = lineView.node.firstChild, next = (void 0); node; node = next) { - next = node.nextSibling; - if (node.className == "CodeMirror-linewidget") - { lineView.node.removeChild(node); } - } - insertLineWidgets(cm, lineView, dims); -} - -// Build a line's DOM representation from scratch -function buildLineElement(cm, lineView, lineN, dims) { - var built = getLineContent(cm, lineView); - lineView.text = lineView.node = built.pre; - if (built.bgClass) { lineView.bgClass = built.bgClass; } - if (built.textClass) { lineView.textClass = built.textClass; } - - updateLineClasses(cm, lineView); - updateLineGutter(cm, lineView, lineN, dims); - insertLineWidgets(cm, lineView, dims); - return lineView.node -} - -// A lineView may contain multiple logical lines (when merged by -// collapsed spans). The widgets for all of them need to be drawn. -function insertLineWidgets(cm, lineView, dims) { - insertLineWidgetsFor(cm, lineView.line, lineView, dims, true); - if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++) - { insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false); } } -} - -function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) { - if (!line.widgets) { return } - var wrap = ensureLineWrapped(lineView); - for (var i = 0, ws = line.widgets; i < ws.length; ++i) { - var widget = ws[i], node = elt("div", [widget.node], "CodeMirror-linewidget"); - if (!widget.handleMouseEvents) { node.setAttribute("cm-ignore-events", "true"); } - positionLineWidget(widget, node, lineView, dims); - cm.display.input.setUneditable(node); - if (allowAbove && widget.above) - { wrap.insertBefore(node, lineView.gutter || lineView.text); } - else - { wrap.appendChild(node); } - signalLater(widget, "redraw"); - } -} - -function positionLineWidget(widget, node, lineView, dims) { - if (widget.noHScroll) { - (lineView.alignable || (lineView.alignable = [])).push(node); - var width = dims.wrapperWidth; - node.style.left = dims.fixedPos + "px"; - if (!widget.coverGutter) { - width -= dims.gutterTotalWidth; - node.style.paddingLeft = dims.gutterTotalWidth + "px"; - } - node.style.width = width + "px"; - } - if (widget.coverGutter) { - node.style.zIndex = 5; - node.style.position = "relative"; - if (!widget.noHScroll) { node.style.marginLeft = -dims.gutterTotalWidth + "px"; } - } -} - -function widgetHeight(widget) { - if (widget.height != null) { return widget.height } - var cm = widget.doc.cm; - if (!cm) { return 0 } - if (!contains(document.body, widget.node)) { - var parentStyle = "position: relative;"; - if (widget.coverGutter) - { parentStyle += "margin-left: -" + cm.display.gutters.offsetWidth + "px;"; } - if (widget.noHScroll) - { parentStyle += "width: " + cm.display.wrapper.clientWidth + "px;"; } - removeChildrenAndAdd(cm.display.measure, elt("div", [widget.node], null, parentStyle)); - } - return widget.height = widget.node.parentNode.offsetHeight -} - -// Return true when the given mouse event happened in a widget -function eventInWidget(display, e) { - for (var n = e_target(e); n != display.wrapper; n = n.parentNode) { - if (!n || (n.nodeType == 1 && n.getAttribute("cm-ignore-events") == "true") || - (n.parentNode == display.sizer && n != display.mover)) - { return true } - } -} - -// POSITION MEASUREMENT - -function paddingTop(display) {return display.lineSpace.offsetTop} -function paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight} -function paddingH(display) { - if (display.cachedPaddingH) { return display.cachedPaddingH } - var e = removeChildrenAndAdd(display.measure, elt("pre", "x")); - var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle; - var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)}; - if (!isNaN(data.left) && !isNaN(data.right)) { display.cachedPaddingH = data; } - return data -} - -function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth } -function displayWidth(cm) { - return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth -} -function displayHeight(cm) { - return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight -} - -// Ensure the lineView.wrapping.heights array is populated. This is -// an array of bottom offsets for the lines that make up a drawn -// line. When lineWrapping is on, there might be more than one -// height. -function ensureLineHeights(cm, lineView, rect) { - var wrapping = cm.options.lineWrapping; - var curWidth = wrapping && displayWidth(cm); - if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) { - var heights = lineView.measure.heights = []; - if (wrapping) { - lineView.measure.width = curWidth; - var rects = lineView.text.firstChild.getClientRects(); - for (var i = 0; i < rects.length - 1; i++) { - var cur = rects[i], next = rects[i + 1]; - if (Math.abs(cur.bottom - next.bottom) > 2) - { heights.push((cur.bottom + next.top) / 2 - rect.top); } - } - } - heights.push(rect.bottom - rect.top); - } -} - -// Find a line map (mapping character offsets to text nodes) and a -// measurement cache for the given line number. (A line view might -// contain multiple lines when collapsed ranges are present.) -function mapFromLineView(lineView, line, lineN) { - if (lineView.line == line) - { return {map: lineView.measure.map, cache: lineView.measure.cache} } - for (var i = 0; i < lineView.rest.length; i++) - { if (lineView.rest[i] == line) - { return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]} } } - for (var i$1 = 0; i$1 < lineView.rest.length; i$1++) - { if (lineNo(lineView.rest[i$1]) > lineN) - { return {map: lineView.measure.maps[i$1], cache: lineView.measure.caches[i$1], before: true} } } -} - -// Render a line into the hidden node display.externalMeasured. Used -// when measurement is needed for a line that's not in the viewport. -function updateExternalMeasurement(cm, line) { - line = visualLine(line); - var lineN = lineNo(line); - var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN); - view.lineN = lineN; - var built = view.built = buildLineContent(cm, view); - view.text = built.pre; - removeChildrenAndAdd(cm.display.lineMeasure, built.pre); - return view -} - -// Get a {top, bottom, left, right} box (in line-local coordinates) -// for a given character. -function measureChar(cm, line, ch, bias) { - return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias) -} - -// Find a line view that corresponds to the given line number. -function findViewForLine(cm, lineN) { - if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo) - { return cm.display.view[findViewIndex(cm, lineN)] } - var ext = cm.display.externalMeasured; - if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size) - { return ext } -} - -// Measurement can be split in two steps, the set-up work that -// applies to the whole line, and the measurement of the actual -// character. Functions like coordsChar, that need to do a lot of -// measurements in a row, can thus ensure that the set-up work is -// only done once. -function prepareMeasureForLine(cm, line) { - var lineN = lineNo(line); - var view = findViewForLine(cm, lineN); - if (view && !view.text) { - view = null; - } else if (view && view.changes) { - updateLineForChanges(cm, view, lineN, getDimensions(cm)); - cm.curOp.forceUpdate = true; - } - if (!view) - { view = updateExternalMeasurement(cm, line); } - - var info = mapFromLineView(view, line, lineN); - return { - line: line, view: view, rect: null, - map: info.map, cache: info.cache, before: info.before, - hasHeights: false - } -} - -// Given a prepared measurement object, measures the position of an -// actual character (or fetches it from the cache). -function measureCharPrepared(cm, prepared, ch, bias, varHeight) { - if (prepared.before) { ch = -1; } - var key = ch + (bias || ""), found; - if (prepared.cache.hasOwnProperty(key)) { - found = prepared.cache[key]; - } else { - if (!prepared.rect) - { prepared.rect = prepared.view.text.getBoundingClientRect(); } - if (!prepared.hasHeights) { - ensureLineHeights(cm, prepared.view, prepared.rect); - prepared.hasHeights = true; - } - found = measureCharInner(cm, prepared, ch, bias); - if (!found.bogus) { prepared.cache[key] = found; } - } - return {left: found.left, right: found.right, - top: varHeight ? found.rtop : found.top, - bottom: varHeight ? found.rbottom : found.bottom} -} - -var nullRect = {left: 0, right: 0, top: 0, bottom: 0}; - -function nodeAndOffsetInLineMap(map$$1, ch, bias) { - var node, start, end, collapse, mStart, mEnd; - // First, search the line map for the text node corresponding to, - // or closest to, the target character. - for (var i = 0; i < map$$1.length; i += 3) { - mStart = map$$1[i]; - mEnd = map$$1[i + 1]; - if (ch < mStart) { - start = 0; end = 1; - collapse = "left"; - } else if (ch < mEnd) { - start = ch - mStart; - end = start + 1; - } else if (i == map$$1.length - 3 || ch == mEnd && map$$1[i + 3] > ch) { - end = mEnd - mStart; - start = end - 1; - if (ch >= mEnd) { collapse = "right"; } - } - if (start != null) { - node = map$$1[i + 2]; - if (mStart == mEnd && bias == (node.insertLeft ? "left" : "right")) - { collapse = bias; } - if (bias == "left" && start == 0) - { while (i && map$$1[i - 2] == map$$1[i - 3] && map$$1[i - 1].insertLeft) { - node = map$$1[(i -= 3) + 2]; - collapse = "left"; - } } - if (bias == "right" && start == mEnd - mStart) - { while (i < map$$1.length - 3 && map$$1[i + 3] == map$$1[i + 4] && !map$$1[i + 5].insertLeft) { - node = map$$1[(i += 3) + 2]; - collapse = "right"; - } } - break - } - } - return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd} -} - -function getUsefulRect(rects, bias) { - var rect = nullRect; - if (bias == "left") { for (var i = 0; i < rects.length; i++) { - if ((rect = rects[i]).left != rect.right) { break } - } } else { for (var i$1 = rects.length - 1; i$1 >= 0; i$1--) { - if ((rect = rects[i$1]).left != rect.right) { break } - } } - return rect -} - -function measureCharInner(cm, prepared, ch, bias) { - var place = nodeAndOffsetInLineMap(prepared.map, ch, bias); - var node = place.node, start = place.start, end = place.end, collapse = place.collapse; - - var rect; - if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates. - for (var i$1 = 0; i$1 < 4; i$1++) { // Retry a maximum of 4 times when nonsense rectangles are returned - while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) { --start; } - while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) { ++end; } - if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart) - { rect = node.parentNode.getBoundingClientRect(); } - else - { rect = getUsefulRect(range(node, start, end).getClientRects(), bias); } - if (rect.left || rect.right || start == 0) { break } - end = start; - start = start - 1; - collapse = "right"; - } - if (ie && ie_version < 11) { rect = maybeUpdateRectForZooming(cm.display.measure, rect); } - } else { // If it is a widget, simply get the box for the whole widget. - if (start > 0) { collapse = bias = "right"; } - var rects; - if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1) - { rect = rects[bias == "right" ? rects.length - 1 : 0]; } - else - { rect = node.getBoundingClientRect(); } - } - if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) { - var rSpan = node.parentNode.getClientRects()[0]; - if (rSpan) - { rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom}; } - else - { rect = nullRect; } - } - - var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top; - var mid = (rtop + rbot) / 2; - var heights = prepared.view.measure.heights; - var i = 0; - for (; i < heights.length - 1; i++) - { if (mid < heights[i]) { break } } - var top = i ? heights[i - 1] : 0, bot = heights[i]; - var result = {left: (collapse == "right" ? rect.right : rect.left) - prepared.rect.left, - right: (collapse == "left" ? rect.left : rect.right) - prepared.rect.left, - top: top, bottom: bot}; - if (!rect.left && !rect.right) { result.bogus = true; } - if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot; } - - return result -} - -// Work around problem with bounding client rects on ranges being -// returned incorrectly when zoomed on IE10 and below. -function maybeUpdateRectForZooming(measure, rect) { - if (!window.screen || screen.logicalXDPI == null || - screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure)) - { return rect } - var scaleX = screen.logicalXDPI / screen.deviceXDPI; - var scaleY = screen.logicalYDPI / screen.deviceYDPI; - return {left: rect.left * scaleX, right: rect.right * scaleX, - top: rect.top * scaleY, bottom: rect.bottom * scaleY} -} - -function clearLineMeasurementCacheFor(lineView) { - if (lineView.measure) { - lineView.measure.cache = {}; - lineView.measure.heights = null; - if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++) - { lineView.measure.caches[i] = {}; } } - } -} - -function clearLineMeasurementCache(cm) { - cm.display.externalMeasure = null; - removeChildren(cm.display.lineMeasure); - for (var i = 0; i < cm.display.view.length; i++) - { clearLineMeasurementCacheFor(cm.display.view[i]); } -} - -function clearCaches(cm) { - clearLineMeasurementCache(cm); - cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null; - if (!cm.options.lineWrapping) { cm.display.maxLineChanged = true; } - cm.display.lineNumChars = null; -} - -function pageScrollX() { - // Work around https://bugs.chromium.org/p/chromium/issues/detail?id=489206 - // which causes page_Offset and bounding client rects to use - // different reference viewports and invalidate our calculations. - if (chrome && android) { return -(document.body.getBoundingClientRect().left - parseInt(getComputedStyle(document.body).marginLeft)) } - return window.pageXOffset || (document.documentElement || document.body).scrollLeft -} -function pageScrollY() { - if (chrome && android) { return -(document.body.getBoundingClientRect().top - parseInt(getComputedStyle(document.body).marginTop)) } - return window.pageYOffset || (document.documentElement || document.body).scrollTop -} - -// Converts a {top, bottom, left, right} box from line-local -// coordinates into another coordinate system. Context may be one of -// "line", "div" (display.lineDiv), "local"./null (editor), "window", -// or "page". -function intoCoordSystem(cm, lineObj, rect, context, includeWidgets) { - if (!includeWidgets && lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above) { - var size = widgetHeight(lineObj.widgets[i]); - rect.top += size; rect.bottom += size; - } } } - if (context == "line") { return rect } - if (!context) { context = "local"; } - var yOff = heightAtLine(lineObj); - if (context == "local") { yOff += paddingTop(cm.display); } - else { yOff -= cm.display.viewOffset; } - if (context == "page" || context == "window") { - var lOff = cm.display.lineSpace.getBoundingClientRect(); - yOff += lOff.top + (context == "window" ? 0 : pageScrollY()); - var xOff = lOff.left + (context == "window" ? 0 : pageScrollX()); - rect.left += xOff; rect.right += xOff; - } - rect.top += yOff; rect.bottom += yOff; - return rect -} - -// Coverts a box from "div" coords to another coordinate system. -// Context may be "window", "page", "div", or "local"./null. -function fromCoordSystem(cm, coords, context) { - if (context == "div") { return coords } - var left = coords.left, top = coords.top; - // First move into "page" coordinate system - if (context == "page") { - left -= pageScrollX(); - top -= pageScrollY(); - } else if (context == "local" || !context) { - var localBox = cm.display.sizer.getBoundingClientRect(); - left += localBox.left; - top += localBox.top; - } - - var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect(); - return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top} -} - -function charCoords(cm, pos, context, lineObj, bias) { - if (!lineObj) { lineObj = getLine(cm.doc, pos.line); } - return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context) -} - -// Returns a box for a given cursor position, which may have an -// 'other' property containing the position of the secondary cursor -// on a bidi boundary. -// A cursor Pos(line, char, "before") is on the same visual line as `char - 1` -// and after `char - 1` in writing order of `char - 1` -// A cursor Pos(line, char, "after") is on the same visual line as `char` -// and before `char` in writing order of `char` -// Examples (upper-case letters are RTL, lower-case are LTR): -// Pos(0, 1, ...) -// before after -// ab a|b a|b -// aB a|B aB| -// Ab |Ab A|b -// AB B|A B|A -// Every position after the last character on a line is considered to stick -// to the last character on the line. -function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) { - lineObj = lineObj || getLine(cm.doc, pos.line); - if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); } - function get(ch, right) { - var m = measureCharPrepared(cm, preparedMeasure, ch, right ? "right" : "left", varHeight); - if (right) { m.left = m.right; } else { m.right = m.left; } - return intoCoordSystem(cm, lineObj, m, context) - } - var order = getOrder(lineObj, cm.doc.direction), ch = pos.ch, sticky = pos.sticky; - if (ch >= lineObj.text.length) { - ch = lineObj.text.length; - sticky = "before"; - } else if (ch <= 0) { - ch = 0; - sticky = "after"; - } - if (!order) { return get(sticky == "before" ? ch - 1 : ch, sticky == "before") } - - function getBidi(ch, partPos, invert) { - var part = order[partPos], right = (part.level % 2) != 0; - return get(invert ? ch - 1 : ch, right != invert) - } - var partPos = getBidiPartAt(order, ch, sticky); - var other = bidiOther; - var val = getBidi(ch, partPos, sticky == "before"); - if (other != null) { val.other = getBidi(ch, other, sticky != "before"); } - return val -} - -// Used to cheaply estimate the coordinates for a position. Used for -// intermediate scroll updates. -function estimateCoords(cm, pos) { - var left = 0; - pos = clipPos(cm.doc, pos); - if (!cm.options.lineWrapping) { left = charWidth(cm.display) * pos.ch; } - var lineObj = getLine(cm.doc, pos.line); - var top = heightAtLine(lineObj) + paddingTop(cm.display); - return {left: left, right: left, top: top, bottom: top + lineObj.height} -} - -// Positions returned by coordsChar contain some extra information. -// xRel is the relative x position of the input coordinates compared -// to the found position (so xRel > 0 means the coordinates are to -// the right of the character position, for example). When outside -// is true, that means the coordinates lie outside the line's -// vertical range. -function PosWithInfo(line, ch, sticky, outside, xRel) { - var pos = Pos(line, ch, sticky); - pos.xRel = xRel; - if (outside) { pos.outside = true; } - return pos -} - -// Compute the character position closest to the given coordinates. -// Input must be lineSpace-local ("div" coordinate system). -function coordsChar(cm, x, y) { - var doc = cm.doc; - y += cm.display.viewOffset; - if (y < 0) { return PosWithInfo(doc.first, 0, null, true, -1) } - var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1; - if (lineN > last) - { return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, null, true, 1) } - if (x < 0) { x = 0; } - - var lineObj = getLine(doc, lineN); - for (;;) { - var found = coordsCharInner(cm, lineObj, lineN, x, y); - var merged = collapsedSpanAtEnd(lineObj); - var mergedPos = merged && merged.find(0, true); - if (merged && (found.ch > mergedPos.from.ch || found.ch == mergedPos.from.ch && found.xRel > 0)) - { lineN = lineNo(lineObj = mergedPos.to.line); } - else - { return found } - } -} - -function wrappedLineExtent(cm, lineObj, preparedMeasure, y) { - var measure = function (ch) { return intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, ch), "line"); }; - var end = lineObj.text.length; - var begin = findFirst(function (ch) { return measure(ch - 1).bottom <= y; }, end, 0); - end = findFirst(function (ch) { return measure(ch).top > y; }, begin, end); - return {begin: begin, end: end} -} - -function wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) { - var targetTop = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, target), "line").top; - return wrappedLineExtent(cm, lineObj, preparedMeasure, targetTop) -} - -function coordsCharInner(cm, lineObj, lineNo$$1, x, y) { - y -= heightAtLine(lineObj); - var begin = 0, end = lineObj.text.length; - var preparedMeasure = prepareMeasureForLine(cm, lineObj); - var pos; - var order = getOrder(lineObj, cm.doc.direction); - if (order) { - if (cm.options.lineWrapping) { - var assign; - ((assign = wrappedLineExtent(cm, lineObj, preparedMeasure, y), begin = assign.begin, end = assign.end, assign)); - } - pos = new Pos(lineNo$$1, Math.floor(begin + (end - begin) / 2)); - var beginLeft = cursorCoords(cm, pos, "line", lineObj, preparedMeasure).left; - var dir = beginLeft < x ? 1 : -1; - var prevDiff, diff = beginLeft - x, prevPos; - var steps = Math.ceil((end - begin) / 4); - outer: do { - prevDiff = diff; - prevPos = pos; - var i = 0; - for (; i < steps; ++i) { - var prevPos$1 = pos; - pos = moveVisually(cm, lineObj, pos, dir); - if (pos == null || pos.ch < begin || end <= (pos.sticky == "before" ? pos.ch - 1 : pos.ch)) { - pos = prevPos$1; - break outer - } - } - diff = cursorCoords(cm, pos, "line", lineObj, preparedMeasure).left - x; - if (steps > 1) { - var diff_change_per_step = Math.abs(diff - prevDiff) / steps; - steps = Math.min(steps, Math.ceil(Math.abs(diff) / diff_change_per_step)); - dir = diff < 0 ? 1 : -1; - } - } while (diff != 0 && (steps > 1 || ((dir < 0) != (diff < 0) && (Math.abs(diff) <= Math.abs(prevDiff))))) - if (Math.abs(diff) > Math.abs(prevDiff)) { - if ((diff < 0) == (prevDiff < 0)) { throw new Error("Broke out of infinite loop in coordsCharInner") } - pos = prevPos; - } - } else { - var ch = findFirst(function (ch) { - var box = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, ch), "line"); - if (box.top > y) { - // For the cursor stickiness - end = Math.min(ch, end); - return true - } - else if (box.bottom <= y) { return false } - else if (box.left > x) { return true } - else if (box.right < x) { return false } - else { return (x - box.left < box.right - x) } - }, begin, end); - ch = skipExtendingChars(lineObj.text, ch, 1); - pos = new Pos(lineNo$$1, ch, ch == end ? "before" : "after"); - } - var coords = cursorCoords(cm, pos, "line", lineObj, preparedMeasure); - if (y < coords.top || coords.bottom < y) { pos.outside = true; } - pos.xRel = x < coords.left ? -1 : (x > coords.right ? 1 : 0); - return pos -} - -var measureText; -// Compute the default text height. -function textHeight(display) { - if (display.cachedTextHeight != null) { return display.cachedTextHeight } - if (measureText == null) { - measureText = elt("pre"); - // Measure a bunch of lines, for browsers that compute - // fractional heights. - for (var i = 0; i < 49; ++i) { - measureText.appendChild(document.createTextNode("x")); - measureText.appendChild(elt("br")); - } - measureText.appendChild(document.createTextNode("x")); - } - removeChildrenAndAdd(display.measure, measureText); - var height = measureText.offsetHeight / 50; - if (height > 3) { display.cachedTextHeight = height; } - removeChildren(display.measure); - return height || 1 -} - -// Compute the default character width. -function charWidth(display) { - if (display.cachedCharWidth != null) { return display.cachedCharWidth } - var anchor = elt("span", "xxxxxxxxxx"); - var pre = elt("pre", [anchor]); - removeChildrenAndAdd(display.measure, pre); - var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10; - if (width > 2) { display.cachedCharWidth = width; } - return width || 10 -} - -// Do a bulk-read of the DOM positions and sizes needed to draw the -// view, so that we don't interleave reading and writing to the DOM. -function getDimensions(cm) { - var d = cm.display, left = {}, width = {}; - var gutterLeft = d.gutters.clientLeft; - for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) { - left[cm.options.gutters[i]] = n.offsetLeft + n.clientLeft + gutterLeft; - width[cm.options.gutters[i]] = n.clientWidth; - } - return {fixedPos: compensateForHScroll(d), - gutterTotalWidth: d.gutters.offsetWidth, - gutterLeft: left, - gutterWidth: width, - wrapperWidth: d.wrapper.clientWidth} -} - -// Computes display.scroller.scrollLeft + display.gutters.offsetWidth, -// but using getBoundingClientRect to get a sub-pixel-accurate -// result. -function compensateForHScroll(display) { - return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left -} - -// Returns a function that estimates the height of a line, to use as -// first approximation until the line becomes visible (and is thus -// properly measurable). -function estimateHeight(cm) { - var th = textHeight(cm.display), wrapping = cm.options.lineWrapping; - var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3); - return function (line) { - if (lineIsHidden(cm.doc, line)) { return 0 } - - var widgetsHeight = 0; - if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) { - if (line.widgets[i].height) { widgetsHeight += line.widgets[i].height; } - } } - - if (wrapping) - { return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th } - else - { return widgetsHeight + th } - } -} - -function estimateLineHeights(cm) { - var doc = cm.doc, est = estimateHeight(cm); - doc.iter(function (line) { - var estHeight = est(line); - if (estHeight != line.height) { updateLineHeight(line, estHeight); } - }); -} - -// Given a mouse event, find the corresponding position. If liberal -// is false, it checks whether a gutter or scrollbar was clicked, -// and returns null if it was. forRect is used by rectangular -// selections, and tries to estimate a character position even for -// coordinates beyond the right of the text. -function posFromMouse(cm, e, liberal, forRect) { - var display = cm.display; - if (!liberal && e_target(e).getAttribute("cm-not-content") == "true") { return null } - - var x, y, space = display.lineSpace.getBoundingClientRect(); - // Fails unpredictably on IE[67] when mouse is dragged around quickly. - try { x = e.clientX - space.left; y = e.clientY - space.top; } - catch (e) { return null } - var coords = coordsChar(cm, x, y), line; - if (forRect && coords.xRel == 1 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) { - var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length; - coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff)); - } - return coords -} - -// Find the view element corresponding to a given line. Return null -// when the line isn't visible. -function findViewIndex(cm, n) { - if (n >= cm.display.viewTo) { return null } - n -= cm.display.viewFrom; - if (n < 0) { return null } - var view = cm.display.view; - for (var i = 0; i < view.length; i++) { - n -= view[i].size; - if (n < 0) { return i } - } -} - -function updateSelection(cm) { - cm.display.input.showSelection(cm.display.input.prepareSelection()); -} - -function prepareSelection(cm, primary) { - var doc = cm.doc, result = {}; - var curFragment = result.cursors = document.createDocumentFragment(); - var selFragment = result.selection = document.createDocumentFragment(); - - for (var i = 0; i < doc.sel.ranges.length; i++) { - if (primary === false && i == doc.sel.primIndex) { continue } - var range$$1 = doc.sel.ranges[i]; - if (range$$1.from().line >= cm.display.viewTo || range$$1.to().line < cm.display.viewFrom) { continue } - var collapsed = range$$1.empty(); - if (collapsed || cm.options.showCursorWhenSelecting) - { drawSelectionCursor(cm, range$$1.head, curFragment); } - if (!collapsed) - { drawSelectionRange(cm, range$$1, selFragment); } - } - return result -} - -// Draws a cursor for the given range -function drawSelectionCursor(cm, head, output) { - var pos = cursorCoords(cm, head, "div", null, null, !cm.options.singleCursorHeightPerLine); - - var cursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor")); - cursor.style.left = pos.left + "px"; - cursor.style.top = pos.top + "px"; - cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + "px"; - - if (pos.other) { - // Secondary cursor, shown when on a 'jump' in bi-directional text - var otherCursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor CodeMirror-secondarycursor")); - otherCursor.style.display = ""; - otherCursor.style.left = pos.other.left + "px"; - otherCursor.style.top = pos.other.top + "px"; - otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + "px"; - } -} - -// Draws the given range as a highlighted selection -function drawSelectionRange(cm, range$$1, output) { - var display = cm.display, doc = cm.doc; - var fragment = document.createDocumentFragment(); - var padding = paddingH(cm.display), leftSide = padding.left; - var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right; - - function add(left, top, width, bottom) { - if (top < 0) { top = 0; } - top = Math.round(top); - bottom = Math.round(bottom); - fragment.appendChild(elt("div", null, "CodeMirror-selected", ("position: absolute; left: " + left + "px;\n top: " + top + "px; width: " + (width == null ? rightSide - left : width) + "px;\n height: " + (bottom - top) + "px"))); - } - - function drawForLine(line, fromArg, toArg) { - var lineObj = getLine(doc, line); - var lineLen = lineObj.text.length; - var start, end; - function coords(ch, bias) { - return charCoords(cm, Pos(line, ch), "div", lineObj, bias) - } - - iterateBidiSections(getOrder(lineObj, doc.direction), fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir) { - var leftPos = coords(from, "left"), rightPos, left, right; - if (from == to) { - rightPos = leftPos; - left = right = leftPos.left; - } else { - rightPos = coords(to - 1, "right"); - if (dir == "rtl") { var tmp = leftPos; leftPos = rightPos; rightPos = tmp; } - left = leftPos.left; - right = rightPos.right; - } - if (fromArg == null && from == 0) { left = leftSide; } - if (rightPos.top - leftPos.top > 3) { // Different lines, draw top part - add(left, leftPos.top, null, leftPos.bottom); - left = leftSide; - if (leftPos.bottom < rightPos.top) { add(left, leftPos.bottom, null, rightPos.top); } - } - if (toArg == null && to == lineLen) { right = rightSide; } - if (!start || leftPos.top < start.top || leftPos.top == start.top && leftPos.left < start.left) - { start = leftPos; } - if (!end || rightPos.bottom > end.bottom || rightPos.bottom == end.bottom && rightPos.right > end.right) - { end = rightPos; } - if (left < leftSide + 1) { left = leftSide; } - add(left, rightPos.top, right - left, rightPos.bottom); - }); - return {start: start, end: end} - } - - var sFrom = range$$1.from(), sTo = range$$1.to(); - if (sFrom.line == sTo.line) { - drawForLine(sFrom.line, sFrom.ch, sTo.ch); - } else { - var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line); - var singleVLine = visualLine(fromLine) == visualLine(toLine); - var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end; - var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start; - if (singleVLine) { - if (leftEnd.top < rightStart.top - 2) { - add(leftEnd.right, leftEnd.top, null, leftEnd.bottom); - add(leftSide, rightStart.top, rightStart.left, rightStart.bottom); - } else { - add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom); - } - } - if (leftEnd.bottom < rightStart.top) - { add(leftSide, leftEnd.bottom, null, rightStart.top); } - } - - output.appendChild(fragment); -} - -// Cursor-blinking -function restartBlink(cm) { - if (!cm.state.focused) { return } - var display = cm.display; - clearInterval(display.blinker); - var on = true; - display.cursorDiv.style.visibility = ""; - if (cm.options.cursorBlinkRate > 0) - { display.blinker = setInterval(function () { return display.cursorDiv.style.visibility = (on = !on) ? "" : "hidden"; }, - cm.options.cursorBlinkRate); } - else if (cm.options.cursorBlinkRate < 0) - { display.cursorDiv.style.visibility = "hidden"; } -} - -function ensureFocus(cm) { - if (!cm.state.focused) { cm.display.input.focus(); onFocus(cm); } -} - -function delayBlurEvent(cm) { - cm.state.delayingBlurEvent = true; - setTimeout(function () { if (cm.state.delayingBlurEvent) { - cm.state.delayingBlurEvent = false; - onBlur(cm); - } }, 100); -} - -function onFocus(cm, e) { - if (cm.state.delayingBlurEvent) { cm.state.delayingBlurEvent = false; } - - if (cm.options.readOnly == "nocursor") { return } - if (!cm.state.focused) { - signal(cm, "focus", cm, e); - cm.state.focused = true; - addClass(cm.display.wrapper, "CodeMirror-focused"); - // This test prevents this from firing when a context - // menu is closed (since the input reset would kill the - // select-all detection hack) - if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) { - cm.display.input.reset(); - if (webkit) { setTimeout(function () { return cm.display.input.reset(true); }, 20); } // Issue #1730 - } - cm.display.input.receivedFocus(); - } - restartBlink(cm); -} -function onBlur(cm, e) { - if (cm.state.delayingBlurEvent) { return } - - if (cm.state.focused) { - signal(cm, "blur", cm, e); - cm.state.focused = false; - rmClass(cm.display.wrapper, "CodeMirror-focused"); - } - clearInterval(cm.display.blinker); - setTimeout(function () { if (!cm.state.focused) { cm.display.shift = false; } }, 150); -} - -// Read the actual heights of the rendered lines, and update their -// stored heights to match. -function updateHeightsInViewport(cm) { - var display = cm.display; - var prevBottom = display.lineDiv.offsetTop; - for (var i = 0; i < display.view.length; i++) { - var cur = display.view[i], height = (void 0); - if (cur.hidden) { continue } - if (ie && ie_version < 8) { - var bot = cur.node.offsetTop + cur.node.offsetHeight; - height = bot - prevBottom; - prevBottom = bot; - } else { - var box = cur.node.getBoundingClientRect(); - height = box.bottom - box.top; - } - var diff = cur.line.height - height; - if (height < 2) { height = textHeight(display); } - if (diff > .005 || diff < -.005) { - updateLineHeight(cur.line, height); - updateWidgetHeight(cur.line); - if (cur.rest) { for (var j = 0; j < cur.rest.length; j++) - { updateWidgetHeight(cur.rest[j]); } } - } - } -} - -// Read and store the height of line widgets associated with the -// given line. -function updateWidgetHeight(line) { - if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i) - { line.widgets[i].height = line.widgets[i].node.parentNode.offsetHeight; } } -} - -// Compute the lines that are visible in a given viewport (defaults -// the the current scroll position). viewport may contain top, -// height, and ensure (see op.scrollToPos) properties. -function visibleLines(display, doc, viewport) { - var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop; - top = Math.floor(top - paddingTop(display)); - var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight; - - var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom); - // Ensure is a {from: {line, ch}, to: {line, ch}} object, and - // forces those lines into the viewport (if possible). - if (viewport && viewport.ensure) { - var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line; - if (ensureFrom < from) { - from = ensureFrom; - to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight); - } else if (Math.min(ensureTo, doc.lastLine()) >= to) { - from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight); - to = ensureTo; - } - } - return {from: from, to: Math.max(to, from + 1)} -} - -// Re-align line numbers and gutter marks to compensate for -// horizontal scrolling. -function alignHorizontally(cm) { - var display = cm.display, view = display.view; - if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) { return } - var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft; - var gutterW = display.gutters.offsetWidth, left = comp + "px"; - for (var i = 0; i < view.length; i++) { if (!view[i].hidden) { - if (cm.options.fixedGutter) { - if (view[i].gutter) - { view[i].gutter.style.left = left; } - if (view[i].gutterBackground) - { view[i].gutterBackground.style.left = left; } - } - var align = view[i].alignable; - if (align) { for (var j = 0; j < align.length; j++) - { align[j].style.left = left; } } - } } - if (cm.options.fixedGutter) - { display.gutters.style.left = (comp + gutterW) + "px"; } -} - -// Used to ensure that the line number gutter is still the right -// size for the current document size. Returns true when an update -// is needed. -function maybeUpdateLineNumberWidth(cm) { - if (!cm.options.lineNumbers) { return false } - var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display; - if (last.length != display.lineNumChars) { - var test = display.measure.appendChild(elt("div", [elt("div", last)], - "CodeMirror-linenumber CodeMirror-gutter-elt")); - var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW; - display.lineGutter.style.width = ""; - display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1; - display.lineNumWidth = display.lineNumInnerWidth + padding; - display.lineNumChars = display.lineNumInnerWidth ? last.length : -1; - display.lineGutter.style.width = display.lineNumWidth + "px"; - updateGutterSpace(cm); - return true - } - return false -} - -// SCROLLING THINGS INTO VIEW - -// If an editor sits on the top or bottom of the window, partially -// scrolled out of view, this ensures that the cursor is visible. -function maybeScrollWindow(cm, rect) { - if (signalDOMEvent(cm, "scrollCursorIntoView")) { return } - - var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null; - if (rect.top + box.top < 0) { doScroll = true; } - else if (rect.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) { doScroll = false; } - if (doScroll != null && !phantom) { - var scrollNode = elt("div", "\u200b", null, ("position: absolute;\n top: " + (rect.top - display.viewOffset - paddingTop(cm.display)) + "px;\n height: " + (rect.bottom - rect.top + scrollGap(cm) + display.barHeight) + "px;\n left: " + (rect.left) + "px; width: " + (Math.max(2, rect.right - rect.left)) + "px;")); - cm.display.lineSpace.appendChild(scrollNode); - scrollNode.scrollIntoView(doScroll); - cm.display.lineSpace.removeChild(scrollNode); - } -} - -// Scroll a given position into view (immediately), verifying that -// it actually became visible (as line heights are accurately -// measured, the position of something may 'drift' during drawing). -function scrollPosIntoView(cm, pos, end, margin) { - if (margin == null) { margin = 0; } - var rect; - if (!cm.options.lineWrapping && pos == end) { - // Set pos and end to the cursor positions around the character pos sticks to - // If pos.sticky == "before", that is around pos.ch - 1, otherwise around pos.ch - // If pos == Pos(_, 0, "before"), pos and end are unchanged - pos = pos.ch ? Pos(pos.line, pos.sticky == "before" ? pos.ch - 1 : pos.ch, "after") : pos; - end = pos.sticky == "before" ? Pos(pos.line, pos.ch + 1, "before") : pos; - } - for (var limit = 0; limit < 5; limit++) { - var changed = false; - var coords = cursorCoords(cm, pos); - var endCoords = !end || end == pos ? coords : cursorCoords(cm, end); - rect = {left: Math.min(coords.left, endCoords.left), - top: Math.min(coords.top, endCoords.top) - margin, - right: Math.max(coords.left, endCoords.left), - bottom: Math.max(coords.bottom, endCoords.bottom) + margin}; - var scrollPos = calculateScrollPos(cm, rect); - var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft; - if (scrollPos.scrollTop != null) { - updateScrollTop(cm, scrollPos.scrollTop); - if (Math.abs(cm.doc.scrollTop - startTop) > 1) { changed = true; } - } - if (scrollPos.scrollLeft != null) { - setScrollLeft(cm, scrollPos.scrollLeft); - if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) { changed = true; } - } - if (!changed) { break } - } - return rect -} - -// Scroll a given set of coordinates into view (immediately). -function scrollIntoView(cm, rect) { - var scrollPos = calculateScrollPos(cm, rect); - if (scrollPos.scrollTop != null) { updateScrollTop(cm, scrollPos.scrollTop); } - if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft); } -} - -// Calculate a new scroll position needed to scroll the given -// rectangle into view. Returns an object with scrollTop and -// scrollLeft properties. When these are undefined, the -// vertical/horizontal position does not need to be adjusted. -function calculateScrollPos(cm, rect) { - var display = cm.display, snapMargin = textHeight(cm.display); - if (rect.top < 0) { rect.top = 0; } - var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop; - var screen = displayHeight(cm), result = {}; - if (rect.bottom - rect.top > screen) { rect.bottom = rect.top + screen; } - var docBottom = cm.doc.height + paddingVert(display); - var atTop = rect.top < snapMargin, atBottom = rect.bottom > docBottom - snapMargin; - if (rect.top < screentop) { - result.scrollTop = atTop ? 0 : rect.top; - } else if (rect.bottom > screentop + screen) { - var newTop = Math.min(rect.top, (atBottom ? docBottom : rect.bottom) - screen); - if (newTop != screentop) { result.scrollTop = newTop; } - } - - var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft; - var screenw = displayWidth(cm) - (cm.options.fixedGutter ? display.gutters.offsetWidth : 0); - var tooWide = rect.right - rect.left > screenw; - if (tooWide) { rect.right = rect.left + screenw; } - if (rect.left < 10) - { result.scrollLeft = 0; } - else if (rect.left < screenleft) - { result.scrollLeft = Math.max(0, rect.left - (tooWide ? 0 : 10)); } - else if (rect.right > screenw + screenleft - 3) - { result.scrollLeft = rect.right + (tooWide ? 0 : 10) - screenw; } - return result -} - -// Store a relative adjustment to the scroll position in the current -// operation (to be applied when the operation finishes). -function addToScrollTop(cm, top) { - if (top == null) { return } - resolveScrollToPos(cm); - cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top; -} - -// Make sure that at the end of the operation the current cursor is -// shown. -function ensureCursorVisible(cm) { - resolveScrollToPos(cm); - var cur = cm.getCursor(); - cm.curOp.scrollToPos = {from: cur, to: cur, margin: cm.options.cursorScrollMargin}; -} - -function scrollToCoords(cm, x, y) { - if (x != null || y != null) { resolveScrollToPos(cm); } - if (x != null) { cm.curOp.scrollLeft = x; } - if (y != null) { cm.curOp.scrollTop = y; } -} - -function scrollToRange(cm, range$$1) { - resolveScrollToPos(cm); - cm.curOp.scrollToPos = range$$1; -} - -// When an operation has its scrollToPos property set, and another -// scroll action is applied before the end of the operation, this -// 'simulates' scrolling that position into view in a cheap way, so -// that the effect of intermediate scroll commands is not ignored. -function resolveScrollToPos(cm) { - var range$$1 = cm.curOp.scrollToPos; - if (range$$1) { - cm.curOp.scrollToPos = null; - var from = estimateCoords(cm, range$$1.from), to = estimateCoords(cm, range$$1.to); - scrollToCoordsRange(cm, from, to, range$$1.margin); - } -} - -function scrollToCoordsRange(cm, from, to, margin) { - var sPos = calculateScrollPos(cm, { - left: Math.min(from.left, to.left), - top: Math.min(from.top, to.top) - margin, - right: Math.max(from.right, to.right), - bottom: Math.max(from.bottom, to.bottom) + margin - }); - scrollToCoords(cm, sPos.scrollLeft, sPos.scrollTop); -} - -// Sync the scrollable area and scrollbars, ensure the viewport -// covers the visible area. -function updateScrollTop(cm, val) { - if (Math.abs(cm.doc.scrollTop - val) < 2) { return } - if (!gecko) { updateDisplaySimple(cm, {top: val}); } - setScrollTop(cm, val, true); - if (gecko) { updateDisplaySimple(cm); } - startWorker(cm, 100); -} - -function setScrollTop(cm, val, forceScroll) { - val = Math.min(cm.display.scroller.scrollHeight - cm.display.scroller.clientHeight, val); - if (cm.display.scroller.scrollTop == val && !forceScroll) { return } - cm.doc.scrollTop = val; - cm.display.scrollbars.setScrollTop(val); - if (cm.display.scroller.scrollTop != val) { cm.display.scroller.scrollTop = val; } -} - -// Sync scroller and scrollbar, ensure the gutter elements are -// aligned. -function setScrollLeft(cm, val, isScroller, forceScroll) { - val = Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth); - if ((isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) && !forceScroll) { return } - cm.doc.scrollLeft = val; - alignHorizontally(cm); - if (cm.display.scroller.scrollLeft != val) { cm.display.scroller.scrollLeft = val; } - cm.display.scrollbars.setScrollLeft(val); -} - -// SCROLLBARS - -// Prepare DOM reads needed to update the scrollbars. Done in one -// shot to minimize update/measure roundtrips. -function measureForScrollbars(cm) { - var d = cm.display, gutterW = d.gutters.offsetWidth; - var docH = Math.round(cm.doc.height + paddingVert(cm.display)); - return { - clientHeight: d.scroller.clientHeight, - viewHeight: d.wrapper.clientHeight, - scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth, - viewWidth: d.wrapper.clientWidth, - barLeft: cm.options.fixedGutter ? gutterW : 0, - docHeight: docH, - scrollHeight: docH + scrollGap(cm) + d.barHeight, - nativeBarWidth: d.nativeBarWidth, - gutterWidth: gutterW - } -} - -var NativeScrollbars = function(place, scroll, cm) { - this.cm = cm; - var vert = this.vert = elt("div", [elt("div", null, null, "min-width: 1px")], "CodeMirror-vscrollbar"); - var horiz = this.horiz = elt("div", [elt("div", null, null, "height: 100%; min-height: 1px")], "CodeMirror-hscrollbar"); - place(vert); place(horiz); - - on(vert, "scroll", function () { - if (vert.clientHeight) { scroll(vert.scrollTop, "vertical"); } - }); - on(horiz, "scroll", function () { - if (horiz.clientWidth) { scroll(horiz.scrollLeft, "horizontal"); } - }); - - this.checkedZeroWidth = false; - // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8). - if (ie && ie_version < 8) { this.horiz.style.minHeight = this.vert.style.minWidth = "18px"; } -}; - -NativeScrollbars.prototype.update = function (measure) { - var needsH = measure.scrollWidth > measure.clientWidth + 1; - var needsV = measure.scrollHeight > measure.clientHeight + 1; - var sWidth = measure.nativeBarWidth; - - if (needsV) { - this.vert.style.display = "block"; - this.vert.style.bottom = needsH ? sWidth + "px" : "0"; - var totalHeight = measure.viewHeight - (needsH ? sWidth : 0); - // A bug in IE8 can cause this value to be negative, so guard it. - this.vert.firstChild.style.height = - Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + "px"; - } else { - this.vert.style.display = ""; - this.vert.firstChild.style.height = "0"; - } - - if (needsH) { - this.horiz.style.display = "block"; - this.horiz.style.right = needsV ? sWidth + "px" : "0"; - this.horiz.style.left = measure.barLeft + "px"; - var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0); - this.horiz.firstChild.style.width = - Math.max(0, measure.scrollWidth - measure.clientWidth + totalWidth) + "px"; - } else { - this.horiz.style.display = ""; - this.horiz.firstChild.style.width = "0"; - } - - if (!this.checkedZeroWidth && measure.clientHeight > 0) { - if (sWidth == 0) { this.zeroWidthHack(); } - this.checkedZeroWidth = true; - } - - return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0} -}; - -NativeScrollbars.prototype.setScrollLeft = function (pos) { - if (this.horiz.scrollLeft != pos) { this.horiz.scrollLeft = pos; } - if (this.disableHoriz) { this.enableZeroWidthBar(this.horiz, this.disableHoriz, "horiz"); } -}; - -NativeScrollbars.prototype.setScrollTop = function (pos) { - if (this.vert.scrollTop != pos) { this.vert.scrollTop = pos; } - if (this.disableVert) { this.enableZeroWidthBar(this.vert, this.disableVert, "vert"); } -}; - -NativeScrollbars.prototype.zeroWidthHack = function () { - var w = mac && !mac_geMountainLion ? "12px" : "18px"; - this.horiz.style.height = this.vert.style.width = w; - this.horiz.style.pointerEvents = this.vert.style.pointerEvents = "none"; - this.disableHoriz = new Delayed; - this.disableVert = new Delayed; -}; - -NativeScrollbars.prototype.enableZeroWidthBar = function (bar, delay, type) { - bar.style.pointerEvents = "auto"; - function maybeDisable() { - // To find out whether the scrollbar is still visible, we - // check whether the element under the pixel in the bottom - // right corner of the scrollbar box is the scrollbar box - // itself (when the bar is still visible) or its filler child - // (when the bar is hidden). If it is still visible, we keep - // it enabled, if it's hidden, we disable pointer events. - var box = bar.getBoundingClientRect(); - var elt$$1 = type == "vert" ? document.elementFromPoint(box.right - 1, (box.top + box.bottom) / 2) - : document.elementFromPoint((box.right + box.left) / 2, box.bottom - 1); - if (elt$$1 != bar) { bar.style.pointerEvents = "none"; } - else { delay.set(1000, maybeDisable); } - } - delay.set(1000, maybeDisable); -}; - -NativeScrollbars.prototype.clear = function () { - var parent = this.horiz.parentNode; - parent.removeChild(this.horiz); - parent.removeChild(this.vert); -}; - -var NullScrollbars = function () {}; - -NullScrollbars.prototype.update = function () { return {bottom: 0, right: 0} }; -NullScrollbars.prototype.setScrollLeft = function () {}; -NullScrollbars.prototype.setScrollTop = function () {}; -NullScrollbars.prototype.clear = function () {}; - -function updateScrollbars(cm, measure) { - if (!measure) { measure = measureForScrollbars(cm); } - var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight; - updateScrollbarsInner(cm, measure); - for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) { - if (startWidth != cm.display.barWidth && cm.options.lineWrapping) - { updateHeightsInViewport(cm); } - updateScrollbarsInner(cm, measureForScrollbars(cm)); - startWidth = cm.display.barWidth; startHeight = cm.display.barHeight; - } -} - -// Re-synchronize the fake scrollbars with the actual size of the -// content. -function updateScrollbarsInner(cm, measure) { - var d = cm.display; - var sizes = d.scrollbars.update(measure); - - d.sizer.style.paddingRight = (d.barWidth = sizes.right) + "px"; - d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + "px"; - d.heightForcer.style.borderBottom = sizes.bottom + "px solid transparent"; - - if (sizes.right && sizes.bottom) { - d.scrollbarFiller.style.display = "block"; - d.scrollbarFiller.style.height = sizes.bottom + "px"; - d.scrollbarFiller.style.width = sizes.right + "px"; - } else { d.scrollbarFiller.style.display = ""; } - if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) { - d.gutterFiller.style.display = "block"; - d.gutterFiller.style.height = sizes.bottom + "px"; - d.gutterFiller.style.width = measure.gutterWidth + "px"; - } else { d.gutterFiller.style.display = ""; } -} - -var scrollbarModel = {"native": NativeScrollbars, "null": NullScrollbars}; - -function initScrollbars(cm) { - if (cm.display.scrollbars) { - cm.display.scrollbars.clear(); - if (cm.display.scrollbars.addClass) - { rmClass(cm.display.wrapper, cm.display.scrollbars.addClass); } - } - - cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](function (node) { - cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller); - // Prevent clicks in the scrollbars from killing focus - on(node, "mousedown", function () { - if (cm.state.focused) { setTimeout(function () { return cm.display.input.focus(); }, 0); } - }); - node.setAttribute("cm-not-content", "true"); - }, function (pos, axis) { - if (axis == "horizontal") { setScrollLeft(cm, pos); } - else { updateScrollTop(cm, pos); } - }, cm); - if (cm.display.scrollbars.addClass) - { addClass(cm.display.wrapper, cm.display.scrollbars.addClass); } -} - -// Operations are used to wrap a series of changes to the editor -// state in such a way that each change won't have to update the -// cursor and display (which would be awkward, slow, and -// error-prone). Instead, display updates are batched and then all -// combined and executed at once. - -var nextOpId = 0; -// Start a new operation. -function startOperation(cm) { - cm.curOp = { - cm: cm, - viewChanged: false, // Flag that indicates that lines might need to be redrawn - startHeight: cm.doc.height, // Used to detect need to update scrollbar - forceUpdate: false, // Used to force a redraw - updateInput: null, // Whether to reset the input textarea - typing: false, // Whether this reset should be careful to leave existing text (for compositing) - changeObjs: null, // Accumulated changes, for firing change events - cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on - cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already - selectionChanged: false, // Whether the selection needs to be redrawn - updateMaxLine: false, // Set when the widest line needs to be determined anew - scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet - scrollToPos: null, // Used to scroll to a specific position - focus: false, - id: ++nextOpId // Unique ID - }; - pushOperation(cm.curOp); -} - -// Finish an operation, updating the display and signalling delayed events -function endOperation(cm) { - var op = cm.curOp; - finishOperation(op, function (group) { - for (var i = 0; i < group.ops.length; i++) - { group.ops[i].cm.curOp = null; } - endOperations(group); - }); -} - -// The DOM updates done when an operation finishes are batched so -// that the minimum number of relayouts are required. -function endOperations(group) { - var ops = group.ops; - for (var i = 0; i < ops.length; i++) // Read DOM - { endOperation_R1(ops[i]); } - for (var i$1 = 0; i$1 < ops.length; i$1++) // Write DOM (maybe) - { endOperation_W1(ops[i$1]); } - for (var i$2 = 0; i$2 < ops.length; i$2++) // Read DOM - { endOperation_R2(ops[i$2]); } - for (var i$3 = 0; i$3 < ops.length; i$3++) // Write DOM (maybe) - { endOperation_W2(ops[i$3]); } - for (var i$4 = 0; i$4 < ops.length; i$4++) // Read DOM - { endOperation_finish(ops[i$4]); } -} - -function endOperation_R1(op) { - var cm = op.cm, display = cm.display; - maybeClipScrollbars(cm); - if (op.updateMaxLine) { findMaxLine(cm); } - - op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null || - op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom || - op.scrollToPos.to.line >= display.viewTo) || - display.maxLineChanged && cm.options.lineWrapping; - op.update = op.mustUpdate && - new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate); -} - -function endOperation_W1(op) { - op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update); -} - -function endOperation_R2(op) { - var cm = op.cm, display = cm.display; - if (op.updatedDisplay) { updateHeightsInViewport(cm); } - - op.barMeasure = measureForScrollbars(cm); - - // If the max line changed since it was last measured, measure it, - // and ensure the document's width matches it. - // updateDisplay_W2 will use these properties to do the actual resizing - if (display.maxLineChanged && !cm.options.lineWrapping) { - op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3; - cm.display.sizerWidth = op.adjustWidthTo; - op.barMeasure.scrollWidth = - Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth); - op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm)); - } - - if (op.updatedDisplay || op.selectionChanged) - { op.preparedSelection = display.input.prepareSelection(op.focus); } -} - -function endOperation_W2(op) { - var cm = op.cm; - - if (op.adjustWidthTo != null) { - cm.display.sizer.style.minWidth = op.adjustWidthTo + "px"; - if (op.maxScrollLeft < cm.doc.scrollLeft) - { setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true); } - cm.display.maxLineChanged = false; - } - - var takeFocus = op.focus && op.focus == activeElt() && (!document.hasFocus || document.hasFocus()); - if (op.preparedSelection) - { cm.display.input.showSelection(op.preparedSelection, takeFocus); } - if (op.updatedDisplay || op.startHeight != cm.doc.height) - { updateScrollbars(cm, op.barMeasure); } - if (op.updatedDisplay) - { setDocumentHeight(cm, op.barMeasure); } - - if (op.selectionChanged) { restartBlink(cm); } - - if (cm.state.focused && op.updateInput) - { cm.display.input.reset(op.typing); } - if (takeFocus) { ensureFocus(op.cm); } -} - -function endOperation_finish(op) { - var cm = op.cm, display = cm.display, doc = cm.doc; - - if (op.updatedDisplay) { postUpdateDisplay(cm, op.update); } - - // Abort mouse wheel delta measurement, when scrolling explicitly - if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos)) - { display.wheelStartX = display.wheelStartY = null; } - - // Propagate the scroll position to the actual DOM scroller - if (op.scrollTop != null) { setScrollTop(cm, op.scrollTop, op.forceScroll); } - - if (op.scrollLeft != null) { setScrollLeft(cm, op.scrollLeft, true, true); } - // If we need to scroll a specific position into view, do so. - if (op.scrollToPos) { - var rect = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from), - clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin); - maybeScrollWindow(cm, rect); - } - - // Fire events for markers that are hidden/unidden by editing or - // undoing - var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers; - if (hidden) { for (var i = 0; i < hidden.length; ++i) - { if (!hidden[i].lines.length) { signal(hidden[i], "hide"); } } } - if (unhidden) { for (var i$1 = 0; i$1 < unhidden.length; ++i$1) - { if (unhidden[i$1].lines.length) { signal(unhidden[i$1], "unhide"); } } } - - if (display.wrapper.offsetHeight) - { doc.scrollTop = cm.display.scroller.scrollTop; } - - // Fire change events, and delayed event handlers - if (op.changeObjs) - { signal(cm, "changes", cm, op.changeObjs); } - if (op.update) - { op.update.finish(); } -} - -// Run the given function in an operation -function runInOp(cm, f) { - if (cm.curOp) { return f() } - startOperation(cm); - try { return f() } - finally { endOperation(cm); } -} -// Wraps a function in an operation. Returns the wrapped function. -function operation(cm, f) { - return function() { - if (cm.curOp) { return f.apply(cm, arguments) } - startOperation(cm); - try { return f.apply(cm, arguments) } - finally { endOperation(cm); } - } -} -// Used to add methods to editor and doc instances, wrapping them in -// operations. -function methodOp(f) { - return function() { - if (this.curOp) { return f.apply(this, arguments) } - startOperation(this); - try { return f.apply(this, arguments) } - finally { endOperation(this); } - } -} -function docMethodOp(f) { - return function() { - var cm = this.cm; - if (!cm || cm.curOp) { return f.apply(this, arguments) } - startOperation(cm); - try { return f.apply(this, arguments) } - finally { endOperation(cm); } - } -} - -// Updates the display.view data structure for a given change to the -// document. From and to are in pre-change coordinates. Lendiff is -// the amount of lines added or subtracted by the change. This is -// used for changes that span multiple lines, or change the way -// lines are divided into visual lines. regLineChange (below) -// registers single-line changes. -function regChange(cm, from, to, lendiff) { - if (from == null) { from = cm.doc.first; } - if (to == null) { to = cm.doc.first + cm.doc.size; } - if (!lendiff) { lendiff = 0; } - - var display = cm.display; - if (lendiff && to < display.viewTo && - (display.updateLineNumbers == null || display.updateLineNumbers > from)) - { display.updateLineNumbers = from; } - - cm.curOp.viewChanged = true; - - if (from >= display.viewTo) { // Change after - if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo) - { resetView(cm); } - } else if (to <= display.viewFrom) { // Change before - if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) { - resetView(cm); - } else { - display.viewFrom += lendiff; - display.viewTo += lendiff; - } - } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap - resetView(cm); - } else if (from <= display.viewFrom) { // Top overlap - var cut = viewCuttingPoint(cm, to, to + lendiff, 1); - if (cut) { - display.view = display.view.slice(cut.index); - display.viewFrom = cut.lineN; - display.viewTo += lendiff; - } else { - resetView(cm); - } - } else if (to >= display.viewTo) { // Bottom overlap - var cut$1 = viewCuttingPoint(cm, from, from, -1); - if (cut$1) { - display.view = display.view.slice(0, cut$1.index); - display.viewTo = cut$1.lineN; - } else { - resetView(cm); - } - } else { // Gap in the middle - var cutTop = viewCuttingPoint(cm, from, from, -1); - var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1); - if (cutTop && cutBot) { - display.view = display.view.slice(0, cutTop.index) - .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN)) - .concat(display.view.slice(cutBot.index)); - display.viewTo += lendiff; - } else { - resetView(cm); - } - } - - var ext = display.externalMeasured; - if (ext) { - if (to < ext.lineN) - { ext.lineN += lendiff; } - else if (from < ext.lineN + ext.size) - { display.externalMeasured = null; } - } -} - -// Register a change to a single line. Type must be one of "text", -// "gutter", "class", "widget" -function regLineChange(cm, line, type) { - cm.curOp.viewChanged = true; - var display = cm.display, ext = cm.display.externalMeasured; - if (ext && line >= ext.lineN && line < ext.lineN + ext.size) - { display.externalMeasured = null; } - - if (line < display.viewFrom || line >= display.viewTo) { return } - var lineView = display.view[findViewIndex(cm, line)]; - if (lineView.node == null) { return } - var arr = lineView.changes || (lineView.changes = []); - if (indexOf(arr, type) == -1) { arr.push(type); } -} - -// Clear the view. -function resetView(cm) { - cm.display.viewFrom = cm.display.viewTo = cm.doc.first; - cm.display.view = []; - cm.display.viewOffset = 0; -} - -function viewCuttingPoint(cm, oldN, newN, dir) { - var index = findViewIndex(cm, oldN), diff, view = cm.display.view; - if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size) - { return {index: index, lineN: newN} } - var n = cm.display.viewFrom; - for (var i = 0; i < index; i++) - { n += view[i].size; } - if (n != oldN) { - if (dir > 0) { - if (index == view.length - 1) { return null } - diff = (n + view[index].size) - oldN; - index++; - } else { - diff = n - oldN; - } - oldN += diff; newN += diff; - } - while (visualLineNo(cm.doc, newN) != newN) { - if (index == (dir < 0 ? 0 : view.length - 1)) { return null } - newN += dir * view[index - (dir < 0 ? 1 : 0)].size; - index += dir; - } - return {index: index, lineN: newN} -} - -// Force the view to cover a given range, adding empty view element -// or clipping off existing ones as needed. -function adjustView(cm, from, to) { - var display = cm.display, view = display.view; - if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) { - display.view = buildViewArray(cm, from, to); - display.viewFrom = from; - } else { - if (display.viewFrom > from) - { display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view); } - else if (display.viewFrom < from) - { display.view = display.view.slice(findViewIndex(cm, from)); } - display.viewFrom = from; - if (display.viewTo < to) - { display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)); } - else if (display.viewTo > to) - { display.view = display.view.slice(0, findViewIndex(cm, to)); } - } - display.viewTo = to; -} - -// Count the number of lines in the view whose DOM representation is -// out of date (or nonexistent). -function countDirtyView(cm) { - var view = cm.display.view, dirty = 0; - for (var i = 0; i < view.length; i++) { - var lineView = view[i]; - if (!lineView.hidden && (!lineView.node || lineView.changes)) { ++dirty; } - } - return dirty -} - -// HIGHLIGHT WORKER - -function startWorker(cm, time) { - if (cm.doc.highlightFrontier < cm.display.viewTo) - { cm.state.highlight.set(time, bind(highlightWorker, cm)); } -} - -function highlightWorker(cm) { - var doc = cm.doc; - if (doc.highlightFrontier >= cm.display.viewTo) { return } - var end = +new Date + cm.options.workTime; - var context = getContextBefore(cm, doc.highlightFrontier); - var changedLines = []; - - doc.iter(context.line, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function (line) { - if (context.line >= cm.display.viewFrom) { // Visible - var oldStyles = line.styles; - var resetState = line.text.length > cm.options.maxHighlightLength ? copyState(doc.mode, context.state) : null; - var highlighted = highlightLine(cm, line, context, true); - if (resetState) { context.state = resetState; } - line.styles = highlighted.styles; - var oldCls = line.styleClasses, newCls = highlighted.classes; - if (newCls) { line.styleClasses = newCls; } - else if (oldCls) { line.styleClasses = null; } - var ischange = !oldStyles || oldStyles.length != line.styles.length || - oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass); - for (var i = 0; !ischange && i < oldStyles.length; ++i) { ischange = oldStyles[i] != line.styles[i]; } - if (ischange) { changedLines.push(context.line); } - line.stateAfter = context.save(); - context.nextLine(); - } else { - if (line.text.length <= cm.options.maxHighlightLength) - { processLine(cm, line.text, context); } - line.stateAfter = context.line % 5 == 0 ? context.save() : null; - context.nextLine(); - } - if (+new Date > end) { - startWorker(cm, cm.options.workDelay); - return true - } - }); - doc.highlightFrontier = context.line; - doc.modeFrontier = Math.max(doc.modeFrontier, context.line); - if (changedLines.length) { runInOp(cm, function () { - for (var i = 0; i < changedLines.length; i++) - { regLineChange(cm, changedLines[i], "text"); } - }); } -} - -// DISPLAY DRAWING - -var DisplayUpdate = function(cm, viewport, force) { - var display = cm.display; - - this.viewport = viewport; - // Store some values that we'll need later (but don't want to force a relayout for) - this.visible = visibleLines(display, cm.doc, viewport); - this.editorIsHidden = !display.wrapper.offsetWidth; - this.wrapperHeight = display.wrapper.clientHeight; - this.wrapperWidth = display.wrapper.clientWidth; - this.oldDisplayWidth = displayWidth(cm); - this.force = force; - this.dims = getDimensions(cm); - this.events = []; -}; - -DisplayUpdate.prototype.signal = function (emitter, type) { - if (hasHandler(emitter, type)) - { this.events.push(arguments); } -}; -DisplayUpdate.prototype.finish = function () { - var this$1 = this; - - for (var i = 0; i < this.events.length; i++) - { signal.apply(null, this$1.events[i]); } -}; - -function maybeClipScrollbars(cm) { - var display = cm.display; - if (!display.scrollbarsClipped && display.scroller.offsetWidth) { - display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth; - display.heightForcer.style.height = scrollGap(cm) + "px"; - display.sizer.style.marginBottom = -display.nativeBarWidth + "px"; - display.sizer.style.borderRightWidth = scrollGap(cm) + "px"; - display.scrollbarsClipped = true; - } -} - -function selectionSnapshot(cm) { - if (cm.hasFocus()) { return null } - var active = activeElt(); - if (!active || !contains(cm.display.lineDiv, active)) { return null } - var result = {activeElt: active}; - if (window.getSelection) { - var sel = window.getSelection(); - if (sel.anchorNode && sel.extend && contains(cm.display.lineDiv, sel.anchorNode)) { - result.anchorNode = sel.anchorNode; - result.anchorOffset = sel.anchorOffset; - result.focusNode = sel.focusNode; - result.focusOffset = sel.focusOffset; - } - } - return result -} - -function restoreSelection(snapshot) { - if (!snapshot || !snapshot.activeElt || snapshot.activeElt == activeElt()) { return } - snapshot.activeElt.focus(); - if (snapshot.anchorNode && contains(document.body, snapshot.anchorNode) && contains(document.body, snapshot.focusNode)) { - var sel = window.getSelection(), range$$1 = document.createRange(); - range$$1.setEnd(snapshot.anchorNode, snapshot.anchorOffset); - range$$1.collapse(false); - sel.removeAllRanges(); - sel.addRange(range$$1); - sel.extend(snapshot.focusNode, snapshot.focusOffset); - } -} - -// Does the actual updating of the line display. Bails out -// (returning false) when there is nothing to be done and forced is -// false. -function updateDisplayIfNeeded(cm, update) { - var display = cm.display, doc = cm.doc; - - if (update.editorIsHidden) { - resetView(cm); - return false - } - - // Bail out if the visible area is already rendered and nothing changed. - if (!update.force && - update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo && - (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) && - display.renderedView == display.view && countDirtyView(cm) == 0) - { return false } - - if (maybeUpdateLineNumberWidth(cm)) { - resetView(cm); - update.dims = getDimensions(cm); - } - - // Compute a suitable new viewport (from & to) - var end = doc.first + doc.size; - var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first); - var to = Math.min(end, update.visible.to + cm.options.viewportMargin); - if (display.viewFrom < from && from - display.viewFrom < 20) { from = Math.max(doc.first, display.viewFrom); } - if (display.viewTo > to && display.viewTo - to < 20) { to = Math.min(end, display.viewTo); } - if (sawCollapsedSpans) { - from = visualLineNo(cm.doc, from); - to = visualLineEndNo(cm.doc, to); - } - - var different = from != display.viewFrom || to != display.viewTo || - display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth; - adjustView(cm, from, to); - - display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom)); - // Position the mover div to align with the current scroll position - cm.display.mover.style.top = display.viewOffset + "px"; - - var toUpdate = countDirtyView(cm); - if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view && - (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo)) - { return false } - - // For big changes, we hide the enclosing element during the - // update, since that speeds up the operations on most browsers. - var selSnapshot = selectionSnapshot(cm); - if (toUpdate > 4) { display.lineDiv.style.display = "none"; } - patchDisplay(cm, display.updateLineNumbers, update.dims); - if (toUpdate > 4) { display.lineDiv.style.display = ""; } - display.renderedView = display.view; - // There might have been a widget with a focused element that got - // hidden or updated, if so re-focus it. - restoreSelection(selSnapshot); - - // Prevent selection and cursors from interfering with the scroll - // width and height. - removeChildren(display.cursorDiv); - removeChildren(display.selectionDiv); - display.gutters.style.height = display.sizer.style.minHeight = 0; - - if (different) { - display.lastWrapHeight = update.wrapperHeight; - display.lastWrapWidth = update.wrapperWidth; - startWorker(cm, 400); - } - - display.updateLineNumbers = null; - - return true -} - -function postUpdateDisplay(cm, update) { - var viewport = update.viewport; - - for (var first = true;; first = false) { - if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) { - // Clip forced viewport to actual scrollable area. - if (viewport && viewport.top != null) - { viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)}; } - // Updated line heights might result in the drawn area not - // actually covering the viewport. Keep looping until it does. - update.visible = visibleLines(cm.display, cm.doc, viewport); - if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo) - { break } - } - if (!updateDisplayIfNeeded(cm, update)) { break } - updateHeightsInViewport(cm); - var barMeasure = measureForScrollbars(cm); - updateSelection(cm); - updateScrollbars(cm, barMeasure); - setDocumentHeight(cm, barMeasure); - update.force = false; - } - - update.signal(cm, "update", cm); - if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) { - update.signal(cm, "viewportChange", cm, cm.display.viewFrom, cm.display.viewTo); - cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo; - } -} - -function updateDisplaySimple(cm, viewport) { - var update = new DisplayUpdate(cm, viewport); - if (updateDisplayIfNeeded(cm, update)) { - updateHeightsInViewport(cm); - postUpdateDisplay(cm, update); - var barMeasure = measureForScrollbars(cm); - updateSelection(cm); - updateScrollbars(cm, barMeasure); - setDocumentHeight(cm, barMeasure); - update.finish(); - } -} - -// Sync the actual display DOM structure with display.view, removing -// nodes for lines that are no longer in view, and creating the ones -// that are not there yet, and updating the ones that are out of -// date. -function patchDisplay(cm, updateNumbersFrom, dims) { - var display = cm.display, lineNumbers = cm.options.lineNumbers; - var container = display.lineDiv, cur = container.firstChild; - - function rm(node) { - var next = node.nextSibling; - // Works around a throw-scroll bug in OS X Webkit - if (webkit && mac && cm.display.currentWheelTarget == node) - { node.style.display = "none"; } - else - { node.parentNode.removeChild(node); } - return next - } - - var view = display.view, lineN = display.viewFrom; - // Loop over the elements in the view, syncing cur (the DOM nodes - // in display.lineDiv) with the view as we go. - for (var i = 0; i < view.length; i++) { - var lineView = view[i]; - if (lineView.hidden) { - } else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet - var node = buildLineElement(cm, lineView, lineN, dims); - container.insertBefore(node, cur); - } else { // Already drawn - while (cur != lineView.node) { cur = rm(cur); } - var updateNumber = lineNumbers && updateNumbersFrom != null && - updateNumbersFrom <= lineN && lineView.lineNumber; - if (lineView.changes) { - if (indexOf(lineView.changes, "gutter") > -1) { updateNumber = false; } - updateLineForChanges(cm, lineView, lineN, dims); - } - if (updateNumber) { - removeChildren(lineView.lineNumber); - lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN))); - } - cur = lineView.node.nextSibling; - } - lineN += lineView.size; - } - while (cur) { cur = rm(cur); } -} - -function updateGutterSpace(cm) { - var width = cm.display.gutters.offsetWidth; - cm.display.sizer.style.marginLeft = width + "px"; -} - -function setDocumentHeight(cm, measure) { - cm.display.sizer.style.minHeight = measure.docHeight + "px"; - cm.display.heightForcer.style.top = measure.docHeight + "px"; - cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + "px"; -} - -// Rebuild the gutter elements, ensure the margin to the left of the -// code matches their width. -function updateGutters(cm) { - var gutters = cm.display.gutters, specs = cm.options.gutters; - removeChildren(gutters); - var i = 0; - for (; i < specs.length; ++i) { - var gutterClass = specs[i]; - var gElt = gutters.appendChild(elt("div", null, "CodeMirror-gutter " + gutterClass)); - if (gutterClass == "CodeMirror-linenumbers") { - cm.display.lineGutter = gElt; - gElt.style.width = (cm.display.lineNumWidth || 1) + "px"; - } - } - gutters.style.display = i ? "" : "none"; - updateGutterSpace(cm); -} - -// Make sure the gutters options contains the element -// "CodeMirror-linenumbers" when the lineNumbers option is true. -function setGuttersForLineNumbers(options) { - var found = indexOf(options.gutters, "CodeMirror-linenumbers"); - if (found == -1 && options.lineNumbers) { - options.gutters = options.gutters.concat(["CodeMirror-linenumbers"]); - } else if (found > -1 && !options.lineNumbers) { - options.gutters = options.gutters.slice(0); - options.gutters.splice(found, 1); - } -} - -// Since the delta values reported on mouse wheel events are -// unstandardized between browsers and even browser versions, and -// generally horribly unpredictable, this code starts by measuring -// the scroll effect that the first few mouse wheel events have, -// and, from that, detects the way it can convert deltas to pixel -// offsets afterwards. -// -// The reason we want to know the amount a wheel event will scroll -// is that it gives us a chance to update the display before the -// actual scrolling happens, reducing flickering. - -var wheelSamples = 0; -var wheelPixelsPerUnit = null; -// Fill in a browser-detected starting value on browsers where we -// know one. These don't have to be accurate -- the result of them -// being wrong would just be a slight flicker on the first wheel -// scroll (if it is large enough). -if (ie) { wheelPixelsPerUnit = -.53; } -else if (gecko) { wheelPixelsPerUnit = 15; } -else if (chrome) { wheelPixelsPerUnit = -.7; } -else if (safari) { wheelPixelsPerUnit = -1/3; } - -function wheelEventDelta(e) { - var dx = e.wheelDeltaX, dy = e.wheelDeltaY; - if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) { dx = e.detail; } - if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) { dy = e.detail; } - else if (dy == null) { dy = e.wheelDelta; } - return {x: dx, y: dy} -} -function wheelEventPixels(e) { - var delta = wheelEventDelta(e); - delta.x *= wheelPixelsPerUnit; - delta.y *= wheelPixelsPerUnit; - return delta -} - -function onScrollWheel(cm, e) { - var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y; - - var display = cm.display, scroll = display.scroller; - // Quit if there's nothing to scroll here - var canScrollX = scroll.scrollWidth > scroll.clientWidth; - var canScrollY = scroll.scrollHeight > scroll.clientHeight; - if (!(dx && canScrollX || dy && canScrollY)) { return } - - // Webkit browsers on OS X abort momentum scrolls when the target - // of the scroll event is removed from the scrollable element. - // This hack (see related code in patchDisplay) makes sure the - // element is kept around. - if (dy && mac && webkit) { - outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) { - for (var i = 0; i < view.length; i++) { - if (view[i].node == cur) { - cm.display.currentWheelTarget = cur; - break outer - } - } - } - } - - // On some browsers, horizontal scrolling will cause redraws to - // happen before the gutter has been realigned, causing it to - // wriggle around in a most unseemly way. When we have an - // estimated pixels/delta value, we just handle horizontal - // scrolling entirely here. It'll be slightly off from native, but - // better than glitching out. - if (dx && !gecko && !presto && wheelPixelsPerUnit != null) { - if (dy && canScrollY) - { updateScrollTop(cm, Math.max(0, scroll.scrollTop + dy * wheelPixelsPerUnit)); } - setScrollLeft(cm, Math.max(0, scroll.scrollLeft + dx * wheelPixelsPerUnit)); - // Only prevent default scrolling if vertical scrolling is - // actually possible. Otherwise, it causes vertical scroll - // jitter on OSX trackpads when deltaX is small and deltaY - // is large (issue #3579) - if (!dy || (dy && canScrollY)) - { e_preventDefault(e); } - display.wheelStartX = null; // Abort measurement, if in progress - return - } - - // 'Project' the visible viewport to cover the area that is being - // scrolled into view (if we know enough to estimate it). - if (dy && wheelPixelsPerUnit != null) { - var pixels = dy * wheelPixelsPerUnit; - var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight; - if (pixels < 0) { top = Math.max(0, top + pixels - 50); } - else { bot = Math.min(cm.doc.height, bot + pixels + 50); } - updateDisplaySimple(cm, {top: top, bottom: bot}); - } - - if (wheelSamples < 20) { - if (display.wheelStartX == null) { - display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop; - display.wheelDX = dx; display.wheelDY = dy; - setTimeout(function () { - if (display.wheelStartX == null) { return } - var movedX = scroll.scrollLeft - display.wheelStartX; - var movedY = scroll.scrollTop - display.wheelStartY; - var sample = (movedY && display.wheelDY && movedY / display.wheelDY) || - (movedX && display.wheelDX && movedX / display.wheelDX); - display.wheelStartX = display.wheelStartY = null; - if (!sample) { return } - wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1); - ++wheelSamples; - }, 200); - } else { - display.wheelDX += dx; display.wheelDY += dy; - } - } -} - -// Selection objects are immutable. A new one is created every time -// the selection changes. A selection is one or more non-overlapping -// (and non-touching) ranges, sorted, and an integer that indicates -// which one is the primary selection (the one that's scrolled into -// view, that getCursor returns, etc). -var Selection = function(ranges, primIndex) { - this.ranges = ranges; - this.primIndex = primIndex; -}; - -Selection.prototype.primary = function () { return this.ranges[this.primIndex] }; - -Selection.prototype.equals = function (other) { - var this$1 = this; - - if (other == this) { return true } - if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) { return false } - for (var i = 0; i < this.ranges.length; i++) { - var here = this$1.ranges[i], there = other.ranges[i]; - if (!equalCursorPos(here.anchor, there.anchor) || !equalCursorPos(here.head, there.head)) { return false } - } - return true -}; - -Selection.prototype.deepCopy = function () { - var this$1 = this; - - var out = []; - for (var i = 0; i < this.ranges.length; i++) - { out[i] = new Range(copyPos(this$1.ranges[i].anchor), copyPos(this$1.ranges[i].head)); } - return new Selection(out, this.primIndex) -}; - -Selection.prototype.somethingSelected = function () { - var this$1 = this; - - for (var i = 0; i < this.ranges.length; i++) - { if (!this$1.ranges[i].empty()) { return true } } - return false -}; - -Selection.prototype.contains = function (pos, end) { - var this$1 = this; - - if (!end) { end = pos; } - for (var i = 0; i < this.ranges.length; i++) { - var range = this$1.ranges[i]; - if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0) - { return i } - } - return -1 -}; - -var Range = function(anchor, head) { - this.anchor = anchor; this.head = head; -}; - -Range.prototype.from = function () { return minPos(this.anchor, this.head) }; -Range.prototype.to = function () { return maxPos(this.anchor, this.head) }; -Range.prototype.empty = function () { return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch }; - -// Take an unsorted, potentially overlapping set of ranges, and -// build a selection out of it. 'Consumes' ranges array (modifying -// it). -function normalizeSelection(ranges, primIndex) { - var prim = ranges[primIndex]; - ranges.sort(function (a, b) { return cmp(a.from(), b.from()); }); - primIndex = indexOf(ranges, prim); - for (var i = 1; i < ranges.length; i++) { - var cur = ranges[i], prev = ranges[i - 1]; - if (cmp(prev.to(), cur.from()) >= 0) { - var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to()); - var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head; - if (i <= primIndex) { --primIndex; } - ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to)); - } - } - return new Selection(ranges, primIndex) -} - -function simpleSelection(anchor, head) { - return new Selection([new Range(anchor, head || anchor)], 0) -} - -// Compute the position of the end of a change (its 'to' property -// refers to the pre-change end). -function changeEnd(change) { - if (!change.text) { return change.to } - return Pos(change.from.line + change.text.length - 1, - lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0)) -} - -// Adjust a position to refer to the post-change position of the -// same text, or the end of the change if the change covers it. -function adjustForChange(pos, change) { - if (cmp(pos, change.from) < 0) { return pos } - if (cmp(pos, change.to) <= 0) { return changeEnd(change) } - - var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch; - if (pos.line == change.to.line) { ch += changeEnd(change).ch - change.to.ch; } - return Pos(line, ch) -} - -function computeSelAfterChange(doc, change) { - var out = []; - for (var i = 0; i < doc.sel.ranges.length; i++) { - var range = doc.sel.ranges[i]; - out.push(new Range(adjustForChange(range.anchor, change), - adjustForChange(range.head, change))); - } - return normalizeSelection(out, doc.sel.primIndex) -} - -function offsetPos(pos, old, nw) { - if (pos.line == old.line) - { return Pos(nw.line, pos.ch - old.ch + nw.ch) } - else - { return Pos(nw.line + (pos.line - old.line), pos.ch) } -} - -// Used by replaceSelections to allow moving the selection to the -// start or around the replaced test. Hint may be "start" or "around". -function computeReplacedSel(doc, changes, hint) { - var out = []; - var oldPrev = Pos(doc.first, 0), newPrev = oldPrev; - for (var i = 0; i < changes.length; i++) { - var change = changes[i]; - var from = offsetPos(change.from, oldPrev, newPrev); - var to = offsetPos(changeEnd(change), oldPrev, newPrev); - oldPrev = change.to; - newPrev = to; - if (hint == "around") { - var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0; - out[i] = new Range(inv ? to : from, inv ? from : to); - } else { - out[i] = new Range(from, from); - } - } - return new Selection(out, doc.sel.primIndex) -} - -// Used to get the editor into a consistent state again when options change. - -function loadMode(cm) { - cm.doc.mode = getMode(cm.options, cm.doc.modeOption); - resetModeState(cm); -} - -function resetModeState(cm) { - cm.doc.iter(function (line) { - if (line.stateAfter) { line.stateAfter = null; } - if (line.styles) { line.styles = null; } - }); - cm.doc.modeFrontier = cm.doc.highlightFrontier = cm.doc.first; - startWorker(cm, 100); - cm.state.modeGen++; - if (cm.curOp) { regChange(cm); } -} - -// DOCUMENT DATA STRUCTURE - -// By default, updates that start and end at the beginning of a line -// are treated specially, in order to make the association of line -// widgets and marker elements with the text behave more intuitive. -function isWholeLineUpdate(doc, change) { - return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == "" && - (!doc.cm || doc.cm.options.wholeLineUpdateBefore) -} - -// Perform a change on the document data structure. -function updateDoc(doc, change, markedSpans, estimateHeight$$1) { - function spansFor(n) {return markedSpans ? markedSpans[n] : null} - function update(line, text, spans) { - updateLine(line, text, spans, estimateHeight$$1); - signalLater(line, "change", line, change); - } - function linesFor(start, end) { - var result = []; - for (var i = start; i < end; ++i) - { result.push(new Line(text[i], spansFor(i), estimateHeight$$1)); } - return result - } - - var from = change.from, to = change.to, text = change.text; - var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line); - var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line; - - // Adjust the line structure - if (change.full) { - doc.insert(0, linesFor(0, text.length)); - doc.remove(text.length, doc.size - text.length); - } else if (isWholeLineUpdate(doc, change)) { - // This is a whole-line replace. Treated specially to make - // sure line objects move the way they are supposed to. - var added = linesFor(0, text.length - 1); - update(lastLine, lastLine.text, lastSpans); - if (nlines) { doc.remove(from.line, nlines); } - if (added.length) { doc.insert(from.line, added); } - } else if (firstLine == lastLine) { - if (text.length == 1) { - update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans); - } else { - var added$1 = linesFor(1, text.length - 1); - added$1.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight$$1)); - update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)); - doc.insert(from.line + 1, added$1); - } - } else if (text.length == 1) { - update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0)); - doc.remove(from.line + 1, nlines); - } else { - update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)); - update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans); - var added$2 = linesFor(1, text.length - 1); - if (nlines > 1) { doc.remove(from.line + 1, nlines - 1); } - doc.insert(from.line + 1, added$2); - } - - signalLater(doc, "change", doc, change); -} - -// Call f for all linked documents. -function linkedDocs(doc, f, sharedHistOnly) { - function propagate(doc, skip, sharedHist) { - if (doc.linked) { for (var i = 0; i < doc.linked.length; ++i) { - var rel = doc.linked[i]; - if (rel.doc == skip) { continue } - var shared = sharedHist && rel.sharedHist; - if (sharedHistOnly && !shared) { continue } - f(rel.doc, shared); - propagate(rel.doc, doc, shared); - } } - } - propagate(doc, null, true); -} - -// Attach a document to an editor. -function attachDoc(cm, doc) { - if (doc.cm) { throw new Error("This document is already in use.") } - cm.doc = doc; - doc.cm = cm; - estimateLineHeights(cm); - loadMode(cm); - setDirectionClass(cm); - if (!cm.options.lineWrapping) { findMaxLine(cm); } - cm.options.mode = doc.modeOption; - regChange(cm); -} - -function setDirectionClass(cm) { - (cm.doc.direction == "rtl" ? addClass : rmClass)(cm.display.lineDiv, "CodeMirror-rtl"); -} - -function directionChanged(cm) { - runInOp(cm, function () { - setDirectionClass(cm); - regChange(cm); - }); -} - -function History(startGen) { - // Arrays of change events and selections. Doing something adds an - // event to done and clears undo. Undoing moves events from done - // to undone, redoing moves them in the other direction. - this.done = []; this.undone = []; - this.undoDepth = Infinity; - // Used to track when changes can be merged into a single undo - // event - this.lastModTime = this.lastSelTime = 0; - this.lastOp = this.lastSelOp = null; - this.lastOrigin = this.lastSelOrigin = null; - // Used by the isClean() method - this.generation = this.maxGeneration = startGen || 1; -} - -// Create a history change event from an updateDoc-style change -// object. -function historyChangeFromChange(doc, change) { - var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)}; - attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); - linkedDocs(doc, function (doc) { return attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); }, true); - return histChange -} - -// Pop all selection events off the end of a history array. Stop at -// a change event. -function clearSelectionEvents(array) { - while (array.length) { - var last = lst(array); - if (last.ranges) { array.pop(); } - else { break } - } -} - -// Find the top change event in the history. Pop off selection -// events that are in the way. -function lastChangeEvent(hist, force) { - if (force) { - clearSelectionEvents(hist.done); - return lst(hist.done) - } else if (hist.done.length && !lst(hist.done).ranges) { - return lst(hist.done) - } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) { - hist.done.pop(); - return lst(hist.done) - } -} - -// Register a change in the history. Merges changes that are within -// a single operation, or are close together with an origin that -// allows merging (starting with "+") into a single event. -function addChangeToHistory(doc, change, selAfter, opId) { - var hist = doc.history; - hist.undone.length = 0; - var time = +new Date, cur; - var last; - - if ((hist.lastOp == opId || - hist.lastOrigin == change.origin && change.origin && - ((change.origin.charAt(0) == "+" && doc.cm && hist.lastModTime > time - doc.cm.options.historyEventDelay) || - change.origin.charAt(0) == "*")) && - (cur = lastChangeEvent(hist, hist.lastOp == opId))) { - // Merge this change into the last event - last = lst(cur.changes); - if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) { - // Optimized case for simple insertion -- don't want to add - // new changesets for every character typed - last.to = changeEnd(change); - } else { - // Add new sub-event - cur.changes.push(historyChangeFromChange(doc, change)); - } - } else { - // Can not be merged, start a new event. - var before = lst(hist.done); - if (!before || !before.ranges) - { pushSelectionToHistory(doc.sel, hist.done); } - cur = {changes: [historyChangeFromChange(doc, change)], - generation: hist.generation}; - hist.done.push(cur); - while (hist.done.length > hist.undoDepth) { - hist.done.shift(); - if (!hist.done[0].ranges) { hist.done.shift(); } - } - } - hist.done.push(selAfter); - hist.generation = ++hist.maxGeneration; - hist.lastModTime = hist.lastSelTime = time; - hist.lastOp = hist.lastSelOp = opId; - hist.lastOrigin = hist.lastSelOrigin = change.origin; - - if (!last) { signal(doc, "historyAdded"); } -} - -function selectionEventCanBeMerged(doc, origin, prev, sel) { - var ch = origin.charAt(0); - return ch == "*" || - ch == "+" && - prev.ranges.length == sel.ranges.length && - prev.somethingSelected() == sel.somethingSelected() && - new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500) -} - -// Called whenever the selection changes, sets the new selection as -// the pending selection in the history, and pushes the old pending -// selection into the 'done' array when it was significantly -// different (in number of selected ranges, emptiness, or time). -function addSelectionToHistory(doc, sel, opId, options) { - var hist = doc.history, origin = options && options.origin; - - // A new event is started when the previous origin does not match - // the current, or the origins don't allow matching. Origins - // starting with * are always merged, those starting with + are - // merged when similar and close together in time. - if (opId == hist.lastSelOp || - (origin && hist.lastSelOrigin == origin && - (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin || - selectionEventCanBeMerged(doc, origin, lst(hist.done), sel)))) - { hist.done[hist.done.length - 1] = sel; } - else - { pushSelectionToHistory(sel, hist.done); } - - hist.lastSelTime = +new Date; - hist.lastSelOrigin = origin; - hist.lastSelOp = opId; - if (options && options.clearRedo !== false) - { clearSelectionEvents(hist.undone); } -} - -function pushSelectionToHistory(sel, dest) { - var top = lst(dest); - if (!(top && top.ranges && top.equals(sel))) - { dest.push(sel); } -} - -// Used to store marked span information in the history. -function attachLocalSpans(doc, change, from, to) { - var existing = change["spans_" + doc.id], n = 0; - doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function (line) { - if (line.markedSpans) - { (existing || (existing = change["spans_" + doc.id] = {}))[n] = line.markedSpans; } - ++n; - }); -} - -// When un/re-doing restores text containing marked spans, those -// that have been explicitly cleared should not be restored. -function removeClearedSpans(spans) { - if (!spans) { return null } - var out; - for (var i = 0; i < spans.length; ++i) { - if (spans[i].marker.explicitlyCleared) { if (!out) { out = spans.slice(0, i); } } - else if (out) { out.push(spans[i]); } - } - return !out ? spans : out.length ? out : null -} - -// Retrieve and filter the old marked spans stored in a change event. -function getOldSpans(doc, change) { - var found = change["spans_" + doc.id]; - if (!found) { return null } - var nw = []; - for (var i = 0; i < change.text.length; ++i) - { nw.push(removeClearedSpans(found[i])); } - return nw -} - -// Used for un/re-doing changes from the history. Combines the -// result of computing the existing spans with the set of spans that -// existed in the history (so that deleting around a span and then -// undoing brings back the span). -function mergeOldSpans(doc, change) { - var old = getOldSpans(doc, change); - var stretched = stretchSpansOverChange(doc, change); - if (!old) { return stretched } - if (!stretched) { return old } - - for (var i = 0; i < old.length; ++i) { - var oldCur = old[i], stretchCur = stretched[i]; - if (oldCur && stretchCur) { - spans: for (var j = 0; j < stretchCur.length; ++j) { - var span = stretchCur[j]; - for (var k = 0; k < oldCur.length; ++k) - { if (oldCur[k].marker == span.marker) { continue spans } } - oldCur.push(span); - } - } else if (stretchCur) { - old[i] = stretchCur; - } - } - return old -} - -// Used both to provide a JSON-safe object in .getHistory, and, when -// detaching a document, to split the history in two -function copyHistoryArray(events, newGroup, instantiateSel) { - var copy = []; - for (var i = 0; i < events.length; ++i) { - var event = events[i]; - if (event.ranges) { - copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event); - continue - } - var changes = event.changes, newChanges = []; - copy.push({changes: newChanges}); - for (var j = 0; j < changes.length; ++j) { - var change = changes[j], m = (void 0); - newChanges.push({from: change.from, to: change.to, text: change.text}); - if (newGroup) { for (var prop in change) { if (m = prop.match(/^spans_(\d+)$/)) { - if (indexOf(newGroup, Number(m[1])) > -1) { - lst(newChanges)[prop] = change[prop]; - delete change[prop]; - } - } } } - } - } - return copy -} - -// The 'scroll' parameter given to many of these indicated whether -// the new cursor position should be scrolled into view after -// modifying the selection. - -// If shift is held or the extend flag is set, extends a range to -// include a given position (and optionally a second position). -// Otherwise, simply returns the range between the given positions. -// Used for cursor motion and such. -function extendRange(range, head, other, extend) { - if (extend) { - var anchor = range.anchor; - if (other) { - var posBefore = cmp(head, anchor) < 0; - if (posBefore != (cmp(other, anchor) < 0)) { - anchor = head; - head = other; - } else if (posBefore != (cmp(head, other) < 0)) { - head = other; - } - } - return new Range(anchor, head) - } else { - return new Range(other || head, head) - } -} - -// Extend the primary selection range, discard the rest. -function extendSelection(doc, head, other, options, extend) { - if (extend == null) { extend = doc.cm && (doc.cm.display.shift || doc.extend); } - setSelection(doc, new Selection([extendRange(doc.sel.primary(), head, other, extend)], 0), options); -} - -// Extend all selections (pos is an array of selections with length -// equal the number of selections) -function extendSelections(doc, heads, options) { - var out = []; - var extend = doc.cm && (doc.cm.display.shift || doc.extend); - for (var i = 0; i < doc.sel.ranges.length; i++) - { out[i] = extendRange(doc.sel.ranges[i], heads[i], null, extend); } - var newSel = normalizeSelection(out, doc.sel.primIndex); - setSelection(doc, newSel, options); -} - -// Updates a single range in the selection. -function replaceOneSelection(doc, i, range, options) { - var ranges = doc.sel.ranges.slice(0); - ranges[i] = range; - setSelection(doc, normalizeSelection(ranges, doc.sel.primIndex), options); -} - -// Reset the selection to a single range. -function setSimpleSelection(doc, anchor, head, options) { - setSelection(doc, simpleSelection(anchor, head), options); -} - -// Give beforeSelectionChange handlers a change to influence a -// selection update. -function filterSelectionChange(doc, sel, options) { - var obj = { - ranges: sel.ranges, - update: function(ranges) { - var this$1 = this; - - this.ranges = []; - for (var i = 0; i < ranges.length; i++) - { this$1.ranges[i] = new Range(clipPos(doc, ranges[i].anchor), - clipPos(doc, ranges[i].head)); } - }, - origin: options && options.origin - }; - signal(doc, "beforeSelectionChange", doc, obj); - if (doc.cm) { signal(doc.cm, "beforeSelectionChange", doc.cm, obj); } - if (obj.ranges != sel.ranges) { return normalizeSelection(obj.ranges, obj.ranges.length - 1) } - else { return sel } -} - -function setSelectionReplaceHistory(doc, sel, options) { - var done = doc.history.done, last = lst(done); - if (last && last.ranges) { - done[done.length - 1] = sel; - setSelectionNoUndo(doc, sel, options); - } else { - setSelection(doc, sel, options); - } -} - -// Set a new selection. -function setSelection(doc, sel, options) { - setSelectionNoUndo(doc, sel, options); - addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options); -} - -function setSelectionNoUndo(doc, sel, options) { - if (hasHandler(doc, "beforeSelectionChange") || doc.cm && hasHandler(doc.cm, "beforeSelectionChange")) - { sel = filterSelectionChange(doc, sel, options); } - - var bias = options && options.bias || - (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1); - setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true)); - - if (!(options && options.scroll === false) && doc.cm) - { ensureCursorVisible(doc.cm); } -} - -function setSelectionInner(doc, sel) { - if (sel.equals(doc.sel)) { return } - - doc.sel = sel; - - if (doc.cm) { - doc.cm.curOp.updateInput = doc.cm.curOp.selectionChanged = true; - signalCursorActivity(doc.cm); - } - signalLater(doc, "cursorActivity", doc); -} - -// Verify that the selection does not partially select any atomic -// marked ranges. -function reCheckSelection(doc) { - setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false)); -} - -// Return a selection that does not partially select any atomic -// ranges. -function skipAtomicInSelection(doc, sel, bias, mayClear) { - var out; - for (var i = 0; i < sel.ranges.length; i++) { - var range = sel.ranges[i]; - var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i]; - var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear); - var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear); - if (out || newAnchor != range.anchor || newHead != range.head) { - if (!out) { out = sel.ranges.slice(0, i); } - out[i] = new Range(newAnchor, newHead); - } - } - return out ? normalizeSelection(out, sel.primIndex) : sel -} - -function skipAtomicInner(doc, pos, oldPos, dir, mayClear) { - var line = getLine(doc, pos.line); - if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) { - var sp = line.markedSpans[i], m = sp.marker; - if ((sp.from == null || (m.inclusiveLeft ? sp.from <= pos.ch : sp.from < pos.ch)) && - (sp.to == null || (m.inclusiveRight ? sp.to >= pos.ch : sp.to > pos.ch))) { - if (mayClear) { - signal(m, "beforeCursorEnter"); - if (m.explicitlyCleared) { - if (!line.markedSpans) { break } - else {--i; continue} - } - } - if (!m.atomic) { continue } - - if (oldPos) { - var near = m.find(dir < 0 ? 1 : -1), diff = (void 0); - if (dir < 0 ? m.inclusiveRight : m.inclusiveLeft) - { near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null); } - if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0)) - { return skipAtomicInner(doc, near, pos, dir, mayClear) } - } - - var far = m.find(dir < 0 ? -1 : 1); - if (dir < 0 ? m.inclusiveLeft : m.inclusiveRight) - { far = movePos(doc, far, dir, far.line == pos.line ? line : null); } - return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null - } - } } - return pos -} - -// Ensure a given position is not inside an atomic range. -function skipAtomic(doc, pos, oldPos, bias, mayClear) { - var dir = bias || 1; - var found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) || - (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) || - skipAtomicInner(doc, pos, oldPos, -dir, mayClear) || - (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true)); - if (!found) { - doc.cantEdit = true; - return Pos(doc.first, 0) - } - return found -} - -function movePos(doc, pos, dir, line) { - if (dir < 0 && pos.ch == 0) { - if (pos.line > doc.first) { return clipPos(doc, Pos(pos.line - 1)) } - else { return null } - } else if (dir > 0 && pos.ch == (line || getLine(doc, pos.line)).text.length) { - if (pos.line < doc.first + doc.size - 1) { return Pos(pos.line + 1, 0) } - else { return null } - } else { - return new Pos(pos.line, pos.ch + dir) - } -} - -function selectAll(cm) { - cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll); -} - -// UPDATING - -// Allow "beforeChange" event handlers to influence a change -function filterChange(doc, change, update) { - var obj = { - canceled: false, - from: change.from, - to: change.to, - text: change.text, - origin: change.origin, - cancel: function () { return obj.canceled = true; } - }; - if (update) { obj.update = function (from, to, text, origin) { - if (from) { obj.from = clipPos(doc, from); } - if (to) { obj.to = clipPos(doc, to); } - if (text) { obj.text = text; } - if (origin !== undefined) { obj.origin = origin; } - }; } - signal(doc, "beforeChange", doc, obj); - if (doc.cm) { signal(doc.cm, "beforeChange", doc.cm, obj); } - - if (obj.canceled) { return null } - return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin} -} - -// Apply a change to a document, and add it to the document's -// history, and propagating it to all linked documents. -function makeChange(doc, change, ignoreReadOnly) { - if (doc.cm) { - if (!doc.cm.curOp) { return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly) } - if (doc.cm.state.suppressEdits) { return } - } - - if (hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange")) { - change = filterChange(doc, change, true); - if (!change) { return } - } - - // Possibly split or suppress the update based on the presence - // of read-only spans in its range. - var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to); - if (split) { - for (var i = split.length - 1; i >= 0; --i) - { makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [""] : change.text}); } - } else { - makeChangeInner(doc, change); - } -} - -function makeChangeInner(doc, change) { - if (change.text.length == 1 && change.text[0] == "" && cmp(change.from, change.to) == 0) { return } - var selAfter = computeSelAfterChange(doc, change); - addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN); - - makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change)); - var rebased = []; - - linkedDocs(doc, function (doc, sharedHist) { - if (!sharedHist && indexOf(rebased, doc.history) == -1) { - rebaseHist(doc.history, change); - rebased.push(doc.history); - } - makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change)); - }); -} - -// Revert a change stored in a document's history. -function makeChangeFromHistory(doc, type, allowSelectionOnly) { - if (doc.cm && doc.cm.state.suppressEdits && !allowSelectionOnly) { return } - - var hist = doc.history, event, selAfter = doc.sel; - var source = type == "undo" ? hist.done : hist.undone, dest = type == "undo" ? hist.undone : hist.done; - - // Verify that there is a useable event (so that ctrl-z won't - // needlessly clear selection events) - var i = 0; - for (; i < source.length; i++) { - event = source[i]; - if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges) - { break } - } - if (i == source.length) { return } - hist.lastOrigin = hist.lastSelOrigin = null; - - for (;;) { - event = source.pop(); - if (event.ranges) { - pushSelectionToHistory(event, dest); - if (allowSelectionOnly && !event.equals(doc.sel)) { - setSelection(doc, event, {clearRedo: false}); - return - } - selAfter = event; - } - else { break } - } - - // Build up a reverse change object to add to the opposite history - // stack (redo when undoing, and vice versa). - var antiChanges = []; - pushSelectionToHistory(selAfter, dest); - dest.push({changes: antiChanges, generation: hist.generation}); - hist.generation = event.generation || ++hist.maxGeneration; - - var filter = hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange"); - - var loop = function ( i ) { - var change = event.changes[i]; - change.origin = type; - if (filter && !filterChange(doc, change, false)) { - source.length = 0; - return {} - } - - antiChanges.push(historyChangeFromChange(doc, change)); - - var after = i ? computeSelAfterChange(doc, change) : lst(source); - makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change)); - if (!i && doc.cm) { doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}); } - var rebased = []; - - // Propagate to the linked documents - linkedDocs(doc, function (doc, sharedHist) { - if (!sharedHist && indexOf(rebased, doc.history) == -1) { - rebaseHist(doc.history, change); - rebased.push(doc.history); - } - makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change)); - }); - }; - - for (var i$1 = event.changes.length - 1; i$1 >= 0; --i$1) { - var returned = loop( i$1 ); - - if ( returned ) return returned.v; - } -} - -// Sub-views need their line numbers shifted when text is added -// above or below them in the parent document. -function shiftDoc(doc, distance) { - if (distance == 0) { return } - doc.first += distance; - doc.sel = new Selection(map(doc.sel.ranges, function (range) { return new Range( - Pos(range.anchor.line + distance, range.anchor.ch), - Pos(range.head.line + distance, range.head.ch) - ); }), doc.sel.primIndex); - if (doc.cm) { - regChange(doc.cm, doc.first, doc.first - distance, distance); - for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++) - { regLineChange(doc.cm, l, "gutter"); } - } -} - -// More lower-level change function, handling only a single document -// (not linked ones). -function makeChangeSingleDoc(doc, change, selAfter, spans) { - if (doc.cm && !doc.cm.curOp) - { return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans) } - - if (change.to.line < doc.first) { - shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line)); - return - } - if (change.from.line > doc.lastLine()) { return } - - // Clip the change to the size of this doc - if (change.from.line < doc.first) { - var shift = change.text.length - 1 - (doc.first - change.from.line); - shiftDoc(doc, shift); - change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch), - text: [lst(change.text)], origin: change.origin}; - } - var last = doc.lastLine(); - if (change.to.line > last) { - change = {from: change.from, to: Pos(last, getLine(doc, last).text.length), - text: [change.text[0]], origin: change.origin}; - } - - change.removed = getBetween(doc, change.from, change.to); - - if (!selAfter) { selAfter = computeSelAfterChange(doc, change); } - if (doc.cm) { makeChangeSingleDocInEditor(doc.cm, change, spans); } - else { updateDoc(doc, change, spans); } - setSelectionNoUndo(doc, selAfter, sel_dontScroll); -} - -// Handle the interaction of a change to a document with the editor -// that this document is part of. -function makeChangeSingleDocInEditor(cm, change, spans) { - var doc = cm.doc, display = cm.display, from = change.from, to = change.to; - - var recomputeMaxLength = false, checkWidthStart = from.line; - if (!cm.options.lineWrapping) { - checkWidthStart = lineNo(visualLine(getLine(doc, from.line))); - doc.iter(checkWidthStart, to.line + 1, function (line) { - if (line == display.maxLine) { - recomputeMaxLength = true; - return true - } - }); - } - - if (doc.sel.contains(change.from, change.to) > -1) - { signalCursorActivity(cm); } - - updateDoc(doc, change, spans, estimateHeight(cm)); - - if (!cm.options.lineWrapping) { - doc.iter(checkWidthStart, from.line + change.text.length, function (line) { - var len = lineLength(line); - if (len > display.maxLineLength) { - display.maxLine = line; - display.maxLineLength = len; - display.maxLineChanged = true; - recomputeMaxLength = false; - } - }); - if (recomputeMaxLength) { cm.curOp.updateMaxLine = true; } - } - - retreatFrontier(doc, from.line); - startWorker(cm, 400); - - var lendiff = change.text.length - (to.line - from.line) - 1; - // Remember that these lines changed, for updating the display - if (change.full) - { regChange(cm); } - else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change)) - { regLineChange(cm, from.line, "text"); } - else - { regChange(cm, from.line, to.line + 1, lendiff); } - - var changesHandler = hasHandler(cm, "changes"), changeHandler = hasHandler(cm, "change"); - if (changeHandler || changesHandler) { - var obj = { - from: from, to: to, - text: change.text, - removed: change.removed, - origin: change.origin - }; - if (changeHandler) { signalLater(cm, "change", cm, obj); } - if (changesHandler) { (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj); } - } - cm.display.selForContextMenu = null; -} - -function replaceRange(doc, code, from, to, origin) { - if (!to) { to = from; } - if (cmp(to, from) < 0) { var tmp = to; to = from; from = tmp; } - if (typeof code == "string") { code = doc.splitLines(code); } - makeChange(doc, {from: from, to: to, text: code, origin: origin}); -} - -// Rebasing/resetting history to deal with externally-sourced changes - -function rebaseHistSelSingle(pos, from, to, diff) { - if (to < pos.line) { - pos.line += diff; - } else if (from < pos.line) { - pos.line = from; - pos.ch = 0; - } -} - -// Tries to rebase an array of history events given a change in the -// document. If the change touches the same lines as the event, the -// event, and everything 'behind' it, is discarded. If the change is -// before the event, the event's positions are updated. Uses a -// copy-on-write scheme for the positions, to avoid having to -// reallocate them all on every rebase, but also avoid problems with -// shared position objects being unsafely updated. -function rebaseHistArray(array, from, to, diff) { - for (var i = 0; i < array.length; ++i) { - var sub = array[i], ok = true; - if (sub.ranges) { - if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true; } - for (var j = 0; j < sub.ranges.length; j++) { - rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff); - rebaseHistSelSingle(sub.ranges[j].head, from, to, diff); - } - continue - } - for (var j$1 = 0; j$1 < sub.changes.length; ++j$1) { - var cur = sub.changes[j$1]; - if (to < cur.from.line) { - cur.from = Pos(cur.from.line + diff, cur.from.ch); - cur.to = Pos(cur.to.line + diff, cur.to.ch); - } else if (from <= cur.to.line) { - ok = false; - break - } - } - if (!ok) { - array.splice(0, i + 1); - i = 0; - } - } -} - -function rebaseHist(hist, change) { - var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1; - rebaseHistArray(hist.done, from, to, diff); - rebaseHistArray(hist.undone, from, to, diff); -} - -// Utility for applying a change to a line by handle or number, -// returning the number and optionally registering the line as -// changed. -function changeLine(doc, handle, changeType, op) { - var no = handle, line = handle; - if (typeof handle == "number") { line = getLine(doc, clipLine(doc, handle)); } - else { no = lineNo(handle); } - if (no == null) { return null } - if (op(line, no) && doc.cm) { regLineChange(doc.cm, no, changeType); } - return line -} - -// The document is represented as a BTree consisting of leaves, with -// chunk of lines in them, and branches, with up to ten leaves or -// other branch nodes below them. The top node is always a branch -// node, and is the document object itself (meaning it has -// additional methods and properties). -// -// All nodes have parent links. The tree is used both to go from -// line numbers to line objects, and to go from objects to numbers. -// It also indexes by height, and is used to convert between height -// and line object, and to find the total height of the document. -// -// See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html - -function LeafChunk(lines) { - var this$1 = this; - - this.lines = lines; - this.parent = null; - var height = 0; - for (var i = 0; i < lines.length; ++i) { - lines[i].parent = this$1; - height += lines[i].height; - } - this.height = height; -} - -LeafChunk.prototype = { - chunkSize: function chunkSize() { return this.lines.length }, - - // Remove the n lines at offset 'at'. - removeInner: function removeInner(at, n) { - var this$1 = this; - - for (var i = at, e = at + n; i < e; ++i) { - var line = this$1.lines[i]; - this$1.height -= line.height; - cleanUpLine(line); - signalLater(line, "delete"); - } - this.lines.splice(at, n); - }, - - // Helper used to collapse a small branch into a single leaf. - collapse: function collapse(lines) { - lines.push.apply(lines, this.lines); - }, - - // Insert the given array of lines at offset 'at', count them as - // having the given height. - insertInner: function insertInner(at, lines, height) { - var this$1 = this; - - this.height += height; - this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at)); - for (var i = 0; i < lines.length; ++i) { lines[i].parent = this$1; } - }, - - // Used to iterate over a part of the tree. - iterN: function iterN(at, n, op) { - var this$1 = this; - - for (var e = at + n; at < e; ++at) - { if (op(this$1.lines[at])) { return true } } - } -}; - -function BranchChunk(children) { - var this$1 = this; - - this.children = children; - var size = 0, height = 0; - for (var i = 0; i < children.length; ++i) { - var ch = children[i]; - size += ch.chunkSize(); height += ch.height; - ch.parent = this$1; - } - this.size = size; - this.height = height; - this.parent = null; -} - -BranchChunk.prototype = { - chunkSize: function chunkSize() { return this.size }, - - removeInner: function removeInner(at, n) { - var this$1 = this; - - this.size -= n; - for (var i = 0; i < this.children.length; ++i) { - var child = this$1.children[i], sz = child.chunkSize(); - if (at < sz) { - var rm = Math.min(n, sz - at), oldHeight = child.height; - child.removeInner(at, rm); - this$1.height -= oldHeight - child.height; - if (sz == rm) { this$1.children.splice(i--, 1); child.parent = null; } - if ((n -= rm) == 0) { break } - at = 0; - } else { at -= sz; } - } - // If the result is smaller than 25 lines, ensure that it is a - // single leaf node. - if (this.size - n < 25 && - (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) { - var lines = []; - this.collapse(lines); - this.children = [new LeafChunk(lines)]; - this.children[0].parent = this; - } - }, - - collapse: function collapse(lines) { - var this$1 = this; - - for (var i = 0; i < this.children.length; ++i) { this$1.children[i].collapse(lines); } - }, - - insertInner: function insertInner(at, lines, height) { - var this$1 = this; - - this.size += lines.length; - this.height += height; - for (var i = 0; i < this.children.length; ++i) { - var child = this$1.children[i], sz = child.chunkSize(); - if (at <= sz) { - child.insertInner(at, lines, height); - if (child.lines && child.lines.length > 50) { - // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced. - // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest. - var remaining = child.lines.length % 25 + 25; - for (var pos = remaining; pos < child.lines.length;) { - var leaf = new LeafChunk(child.lines.slice(pos, pos += 25)); - child.height -= leaf.height; - this$1.children.splice(++i, 0, leaf); - leaf.parent = this$1; - } - child.lines = child.lines.slice(0, remaining); - this$1.maybeSpill(); - } - break - } - at -= sz; - } - }, - - // When a node has grown, check whether it should be split. - maybeSpill: function maybeSpill() { - if (this.children.length <= 10) { return } - var me = this; - do { - var spilled = me.children.splice(me.children.length - 5, 5); - var sibling = new BranchChunk(spilled); - if (!me.parent) { // Become the parent node - var copy = new BranchChunk(me.children); - copy.parent = me; - me.children = [copy, sibling]; - me = copy; - } else { - me.size -= sibling.size; - me.height -= sibling.height; - var myIndex = indexOf(me.parent.children, me); - me.parent.children.splice(myIndex + 1, 0, sibling); - } - sibling.parent = me.parent; - } while (me.children.length > 10) - me.parent.maybeSpill(); - }, - - iterN: function iterN(at, n, op) { - var this$1 = this; - - for (var i = 0; i < this.children.length; ++i) { - var child = this$1.children[i], sz = child.chunkSize(); - if (at < sz) { - var used = Math.min(n, sz - at); - if (child.iterN(at, used, op)) { return true } - if ((n -= used) == 0) { break } - at = 0; - } else { at -= sz; } - } - } -}; - -// Line widgets are block elements displayed above or below a line. - -var LineWidget = function(doc, node, options) { - var this$1 = this; - - if (options) { for (var opt in options) { if (options.hasOwnProperty(opt)) - { this$1[opt] = options[opt]; } } } - this.doc = doc; - this.node = node; -}; - -LineWidget.prototype.clear = function () { - var this$1 = this; - - var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line); - if (no == null || !ws) { return } - for (var i = 0; i < ws.length; ++i) { if (ws[i] == this$1) { ws.splice(i--, 1); } } - if (!ws.length) { line.widgets = null; } - var height = widgetHeight(this); - updateLineHeight(line, Math.max(0, line.height - height)); - if (cm) { - runInOp(cm, function () { - adjustScrollWhenAboveVisible(cm, line, -height); - regLineChange(cm, no, "widget"); - }); - signalLater(cm, "lineWidgetCleared", cm, this, no); - } -}; - -LineWidget.prototype.changed = function () { - var this$1 = this; - - var oldH = this.height, cm = this.doc.cm, line = this.line; - this.height = null; - var diff = widgetHeight(this) - oldH; - if (!diff) { return } - updateLineHeight(line, line.height + diff); - if (cm) { - runInOp(cm, function () { - cm.curOp.forceUpdate = true; - adjustScrollWhenAboveVisible(cm, line, diff); - signalLater(cm, "lineWidgetChanged", cm, this$1, lineNo(line)); - }); - } -}; -eventMixin(LineWidget); - -function adjustScrollWhenAboveVisible(cm, line, diff) { - if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop)) - { addToScrollTop(cm, diff); } -} - -function addLineWidget(doc, handle, node, options) { - var widget = new LineWidget(doc, node, options); - var cm = doc.cm; - if (cm && widget.noHScroll) { cm.display.alignWidgets = true; } - changeLine(doc, handle, "widget", function (line) { - var widgets = line.widgets || (line.widgets = []); - if (widget.insertAt == null) { widgets.push(widget); } - else { widgets.splice(Math.min(widgets.length - 1, Math.max(0, widget.insertAt)), 0, widget); } - widget.line = line; - if (cm && !lineIsHidden(doc, line)) { - var aboveVisible = heightAtLine(line) < doc.scrollTop; - updateLineHeight(line, line.height + widgetHeight(widget)); - if (aboveVisible) { addToScrollTop(cm, widget.height); } - cm.curOp.forceUpdate = true; - } - return true - }); - signalLater(cm, "lineWidgetAdded", cm, widget, typeof handle == "number" ? handle : lineNo(handle)); - return widget -} - -// TEXTMARKERS - -// Created with markText and setBookmark methods. A TextMarker is a -// handle that can be used to clear or find a marked position in the -// document. Line objects hold arrays (markedSpans) containing -// {from, to, marker} object pointing to such marker objects, and -// indicating that such a marker is present on that line. Multiple -// lines may point to the same marker when it spans across lines. -// The spans will have null for their from/to properties when the -// marker continues beyond the start/end of the line. Markers have -// links back to the lines they currently touch. - -// Collapsed markers have unique ids, in order to be able to order -// them, which is needed for uniquely determining an outer marker -// when they overlap (they may nest, but not partially overlap). -var nextMarkerId = 0; - -var TextMarker = function(doc, type) { - this.lines = []; - this.type = type; - this.doc = doc; - this.id = ++nextMarkerId; -}; - -// Clear the marker. -TextMarker.prototype.clear = function () { - var this$1 = this; - - if (this.explicitlyCleared) { return } - var cm = this.doc.cm, withOp = cm && !cm.curOp; - if (withOp) { startOperation(cm); } - if (hasHandler(this, "clear")) { - var found = this.find(); - if (found) { signalLater(this, "clear", found.from, found.to); } - } - var min = null, max = null; - for (var i = 0; i < this.lines.length; ++i) { - var line = this$1.lines[i]; - var span = getMarkedSpanFor(line.markedSpans, this$1); - if (cm && !this$1.collapsed) { regLineChange(cm, lineNo(line), "text"); } - else if (cm) { - if (span.to != null) { max = lineNo(line); } - if (span.from != null) { min = lineNo(line); } - } - line.markedSpans = removeMarkedSpan(line.markedSpans, span); - if (span.from == null && this$1.collapsed && !lineIsHidden(this$1.doc, line) && cm) - { updateLineHeight(line, textHeight(cm.display)); } - } - if (cm && this.collapsed && !cm.options.lineWrapping) { for (var i$1 = 0; i$1 < this.lines.length; ++i$1) { - var visual = visualLine(this$1.lines[i$1]), len = lineLength(visual); - if (len > cm.display.maxLineLength) { - cm.display.maxLine = visual; - cm.display.maxLineLength = len; - cm.display.maxLineChanged = true; - } - } } - - if (min != null && cm && this.collapsed) { regChange(cm, min, max + 1); } - this.lines.length = 0; - this.explicitlyCleared = true; - if (this.atomic && this.doc.cantEdit) { - this.doc.cantEdit = false; - if (cm) { reCheckSelection(cm.doc); } - } - if (cm) { signalLater(cm, "markerCleared", cm, this, min, max); } - if (withOp) { endOperation(cm); } - if (this.parent) { this.parent.clear(); } -}; - -// Find the position of the marker in the document. Returns a {from, -// to} object by default. Side can be passed to get a specific side -// -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the -// Pos objects returned contain a line object, rather than a line -// number (used to prevent looking up the same line twice). -TextMarker.prototype.find = function (side, lineObj) { - var this$1 = this; - - if (side == null && this.type == "bookmark") { side = 1; } - var from, to; - for (var i = 0; i < this.lines.length; ++i) { - var line = this$1.lines[i]; - var span = getMarkedSpanFor(line.markedSpans, this$1); - if (span.from != null) { - from = Pos(lineObj ? line : lineNo(line), span.from); - if (side == -1) { return from } - } - if (span.to != null) { - to = Pos(lineObj ? line : lineNo(line), span.to); - if (side == 1) { return to } - } - } - return from && {from: from, to: to} -}; - -// Signals that the marker's widget changed, and surrounding layout -// should be recomputed. -TextMarker.prototype.changed = function () { - var this$1 = this; - - var pos = this.find(-1, true), widget = this, cm = this.doc.cm; - if (!pos || !cm) { return } - runInOp(cm, function () { - var line = pos.line, lineN = lineNo(pos.line); - var view = findViewForLine(cm, lineN); - if (view) { - clearLineMeasurementCacheFor(view); - cm.curOp.selectionChanged = cm.curOp.forceUpdate = true; - } - cm.curOp.updateMaxLine = true; - if (!lineIsHidden(widget.doc, line) && widget.height != null) { - var oldHeight = widget.height; - widget.height = null; - var dHeight = widgetHeight(widget) - oldHeight; - if (dHeight) - { updateLineHeight(line, line.height + dHeight); } - } - signalLater(cm, "markerChanged", cm, this$1); - }); -}; - -TextMarker.prototype.attachLine = function (line) { - if (!this.lines.length && this.doc.cm) { - var op = this.doc.cm.curOp; - if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1) - { (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this); } - } - this.lines.push(line); -}; - -TextMarker.prototype.detachLine = function (line) { - this.lines.splice(indexOf(this.lines, line), 1); - if (!this.lines.length && this.doc.cm) { - var op = this.doc.cm.curOp;(op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this); - } -}; -eventMixin(TextMarker); - -// Create a marker, wire it up to the right lines, and -function markText(doc, from, to, options, type) { - // Shared markers (across linked documents) are handled separately - // (markTextShared will call out to this again, once per - // document). - if (options && options.shared) { return markTextShared(doc, from, to, options, type) } - // Ensure we are in an operation. - if (doc.cm && !doc.cm.curOp) { return operation(doc.cm, markText)(doc, from, to, options, type) } - - var marker = new TextMarker(doc, type), diff = cmp(from, to); - if (options) { copyObj(options, marker, false); } - // Don't connect empty markers unless clearWhenEmpty is false - if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false) - { return marker } - if (marker.replacedWith) { - // Showing up as a widget implies collapsed (widget replaces text) - marker.collapsed = true; - marker.widgetNode = eltP("span", [marker.replacedWith], "CodeMirror-widget"); - if (!options.handleMouseEvents) { marker.widgetNode.setAttribute("cm-ignore-events", "true"); } - if (options.insertLeft) { marker.widgetNode.insertLeft = true; } - } - if (marker.collapsed) { - if (conflictingCollapsedRange(doc, from.line, from, to, marker) || - from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker)) - { throw new Error("Inserting collapsed marker partially overlapping an existing one") } - seeCollapsedSpans(); - } - - if (marker.addToHistory) - { addChangeToHistory(doc, {from: from, to: to, origin: "markText"}, doc.sel, NaN); } - - var curLine = from.line, cm = doc.cm, updateMaxLine; - doc.iter(curLine, to.line + 1, function (line) { - if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine) - { updateMaxLine = true; } - if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0); } - addMarkedSpan(line, new MarkedSpan(marker, - curLine == from.line ? from.ch : null, - curLine == to.line ? to.ch : null)); - ++curLine; - }); - // lineIsHidden depends on the presence of the spans, so needs a second pass - if (marker.collapsed) { doc.iter(from.line, to.line + 1, function (line) { - if (lineIsHidden(doc, line)) { updateLineHeight(line, 0); } - }); } - - if (marker.clearOnEnter) { on(marker, "beforeCursorEnter", function () { return marker.clear(); }); } - - if (marker.readOnly) { - seeReadOnlySpans(); - if (doc.history.done.length || doc.history.undone.length) - { doc.clearHistory(); } - } - if (marker.collapsed) { - marker.id = ++nextMarkerId; - marker.atomic = true; - } - if (cm) { - // Sync editor state - if (updateMaxLine) { cm.curOp.updateMaxLine = true; } - if (marker.collapsed) - { regChange(cm, from.line, to.line + 1); } - else if (marker.className || marker.title || marker.startStyle || marker.endStyle || marker.css) - { for (var i = from.line; i <= to.line; i++) { regLineChange(cm, i, "text"); } } - if (marker.atomic) { reCheckSelection(cm.doc); } - signalLater(cm, "markerAdded", cm, marker); - } - return marker -} - -// SHARED TEXTMARKERS - -// A shared marker spans multiple linked documents. It is -// implemented as a meta-marker-object controlling multiple normal -// markers. -var SharedTextMarker = function(markers, primary) { - var this$1 = this; - - this.markers = markers; - this.primary = primary; - for (var i = 0; i < markers.length; ++i) - { markers[i].parent = this$1; } -}; - -SharedTextMarker.prototype.clear = function () { - var this$1 = this; - - if (this.explicitlyCleared) { return } - this.explicitlyCleared = true; - for (var i = 0; i < this.markers.length; ++i) - { this$1.markers[i].clear(); } - signalLater(this, "clear"); -}; - -SharedTextMarker.prototype.find = function (side, lineObj) { - return this.primary.find(side, lineObj) -}; -eventMixin(SharedTextMarker); - -function markTextShared(doc, from, to, options, type) { - options = copyObj(options); - options.shared = false; - var markers = [markText(doc, from, to, options, type)], primary = markers[0]; - var widget = options.widgetNode; - linkedDocs(doc, function (doc) { - if (widget) { options.widgetNode = widget.cloneNode(true); } - markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type)); - for (var i = 0; i < doc.linked.length; ++i) - { if (doc.linked[i].isParent) { return } } - primary = lst(markers); - }); - return new SharedTextMarker(markers, primary) -} - -function findSharedMarkers(doc) { - return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), function (m) { return m.parent; }) -} - -function copySharedMarkers(doc, markers) { - for (var i = 0; i < markers.length; i++) { - var marker = markers[i], pos = marker.find(); - var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to); - if (cmp(mFrom, mTo)) { - var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type); - marker.markers.push(subMark); - subMark.parent = marker; - } - } -} - -function detachSharedMarkers(markers) { - var loop = function ( i ) { - var marker = markers[i], linked = [marker.primary.doc]; - linkedDocs(marker.primary.doc, function (d) { return linked.push(d); }); - for (var j = 0; j < marker.markers.length; j++) { - var subMarker = marker.markers[j]; - if (indexOf(linked, subMarker.doc) == -1) { - subMarker.parent = null; - marker.markers.splice(j--, 1); - } - } - }; - - for (var i = 0; i < markers.length; i++) loop( i ); -} - -var nextDocId = 0; -var Doc = function(text, mode, firstLine, lineSep, direction) { - if (!(this instanceof Doc)) { return new Doc(text, mode, firstLine, lineSep, direction) } - if (firstLine == null) { firstLine = 0; } - - BranchChunk.call(this, [new LeafChunk([new Line("", null)])]); - this.first = firstLine; - this.scrollTop = this.scrollLeft = 0; - this.cantEdit = false; - this.cleanGeneration = 1; - this.modeFrontier = this.highlightFrontier = firstLine; - var start = Pos(firstLine, 0); - this.sel = simpleSelection(start); - this.history = new History(null); - this.id = ++nextDocId; - this.modeOption = mode; - this.lineSep = lineSep; - this.direction = (direction == "rtl") ? "rtl" : "ltr"; - this.extend = false; - - if (typeof text == "string") { text = this.splitLines(text); } - updateDoc(this, {from: start, to: start, text: text}); - setSelection(this, simpleSelection(start), sel_dontScroll); -}; - -Doc.prototype = createObj(BranchChunk.prototype, { - constructor: Doc, - // Iterate over the document. Supports two forms -- with only one - // argument, it calls that for each line in the document. With - // three, it iterates over the range given by the first two (with - // the second being non-inclusive). - iter: function(from, to, op) { - if (op) { this.iterN(from - this.first, to - from, op); } - else { this.iterN(this.first, this.first + this.size, from); } - }, - - // Non-public interface for adding and removing lines. - insert: function(at, lines) { - var height = 0; - for (var i = 0; i < lines.length; ++i) { height += lines[i].height; } - this.insertInner(at - this.first, lines, height); - }, - remove: function(at, n) { this.removeInner(at - this.first, n); }, - - // From here, the methods are part of the public interface. Most - // are also available from CodeMirror (editor) instances. - - getValue: function(lineSep) { - var lines = getLines(this, this.first, this.first + this.size); - if (lineSep === false) { return lines } - return lines.join(lineSep || this.lineSeparator()) - }, - setValue: docMethodOp(function(code) { - var top = Pos(this.first, 0), last = this.first + this.size - 1; - makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length), - text: this.splitLines(code), origin: "setValue", full: true}, true); - if (this.cm) { scrollToCoords(this.cm, 0, 0); } - setSelection(this, simpleSelection(top), sel_dontScroll); - }), - replaceRange: function(code, from, to, origin) { - from = clipPos(this, from); - to = to ? clipPos(this, to) : from; - replaceRange(this, code, from, to, origin); - }, - getRange: function(from, to, lineSep) { - var lines = getBetween(this, clipPos(this, from), clipPos(this, to)); - if (lineSep === false) { return lines } - return lines.join(lineSep || this.lineSeparator()) - }, - - getLine: function(line) {var l = this.getLineHandle(line); return l && l.text}, - - getLineHandle: function(line) {if (isLine(this, line)) { return getLine(this, line) }}, - getLineNumber: function(line) {return lineNo(line)}, - - getLineHandleVisualStart: function(line) { - if (typeof line == "number") { line = getLine(this, line); } - return visualLine(line) - }, - - lineCount: function() {return this.size}, - firstLine: function() {return this.first}, - lastLine: function() {return this.first + this.size - 1}, - - clipPos: function(pos) {return clipPos(this, pos)}, - - getCursor: function(start) { - var range$$1 = this.sel.primary(), pos; - if (start == null || start == "head") { pos = range$$1.head; } - else if (start == "anchor") { pos = range$$1.anchor; } - else if (start == "end" || start == "to" || start === false) { pos = range$$1.to(); } - else { pos = range$$1.from(); } - return pos - }, - listSelections: function() { return this.sel.ranges }, - somethingSelected: function() {return this.sel.somethingSelected()}, - - setCursor: docMethodOp(function(line, ch, options) { - setSimpleSelection(this, clipPos(this, typeof line == "number" ? Pos(line, ch || 0) : line), null, options); - }), - setSelection: docMethodOp(function(anchor, head, options) { - setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options); - }), - extendSelection: docMethodOp(function(head, other, options) { - extendSelection(this, clipPos(this, head), other && clipPos(this, other), options); - }), - extendSelections: docMethodOp(function(heads, options) { - extendSelections(this, clipPosArray(this, heads), options); - }), - extendSelectionsBy: docMethodOp(function(f, options) { - var heads = map(this.sel.ranges, f); - extendSelections(this, clipPosArray(this, heads), options); - }), - setSelections: docMethodOp(function(ranges, primary, options) { - var this$1 = this; - - if (!ranges.length) { return } - var out = []; - for (var i = 0; i < ranges.length; i++) - { out[i] = new Range(clipPos(this$1, ranges[i].anchor), - clipPos(this$1, ranges[i].head)); } - if (primary == null) { primary = Math.min(ranges.length - 1, this.sel.primIndex); } - setSelection(this, normalizeSelection(out, primary), options); - }), - addSelection: docMethodOp(function(anchor, head, options) { - var ranges = this.sel.ranges.slice(0); - ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor))); - setSelection(this, normalizeSelection(ranges, ranges.length - 1), options); - }), - - getSelection: function(lineSep) { - var this$1 = this; - - var ranges = this.sel.ranges, lines; - for (var i = 0; i < ranges.length; i++) { - var sel = getBetween(this$1, ranges[i].from(), ranges[i].to()); - lines = lines ? lines.concat(sel) : sel; - } - if (lineSep === false) { return lines } - else { return lines.join(lineSep || this.lineSeparator()) } - }, - getSelections: function(lineSep) { - var this$1 = this; - - var parts = [], ranges = this.sel.ranges; - for (var i = 0; i < ranges.length; i++) { - var sel = getBetween(this$1, ranges[i].from(), ranges[i].to()); - if (lineSep !== false) { sel = sel.join(lineSep || this$1.lineSeparator()); } - parts[i] = sel; - } - return parts - }, - replaceSelection: function(code, collapse, origin) { - var dup = []; - for (var i = 0; i < this.sel.ranges.length; i++) - { dup[i] = code; } - this.replaceSelections(dup, collapse, origin || "+input"); - }, - replaceSelections: docMethodOp(function(code, collapse, origin) { - var this$1 = this; - - var changes = [], sel = this.sel; - for (var i = 0; i < sel.ranges.length; i++) { - var range$$1 = sel.ranges[i]; - changes[i] = {from: range$$1.from(), to: range$$1.to(), text: this$1.splitLines(code[i]), origin: origin}; - } - var newSel = collapse && collapse != "end" && computeReplacedSel(this, changes, collapse); - for (var i$1 = changes.length - 1; i$1 >= 0; i$1--) - { makeChange(this$1, changes[i$1]); } - if (newSel) { setSelectionReplaceHistory(this, newSel); } - else if (this.cm) { ensureCursorVisible(this.cm); } - }), - undo: docMethodOp(function() {makeChangeFromHistory(this, "undo");}), - redo: docMethodOp(function() {makeChangeFromHistory(this, "redo");}), - undoSelection: docMethodOp(function() {makeChangeFromHistory(this, "undo", true);}), - redoSelection: docMethodOp(function() {makeChangeFromHistory(this, "redo", true);}), - - setExtending: function(val) {this.extend = val;}, - getExtending: function() {return this.extend}, - - historySize: function() { - var hist = this.history, done = 0, undone = 0; - for (var i = 0; i < hist.done.length; i++) { if (!hist.done[i].ranges) { ++done; } } - for (var i$1 = 0; i$1 < hist.undone.length; i$1++) { if (!hist.undone[i$1].ranges) { ++undone; } } - return {undo: done, redo: undone} - }, - clearHistory: function() {this.history = new History(this.history.maxGeneration);}, - - markClean: function() { - this.cleanGeneration = this.changeGeneration(true); - }, - changeGeneration: function(forceSplit) { - if (forceSplit) - { this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null; } - return this.history.generation - }, - isClean: function (gen) { - return this.history.generation == (gen || this.cleanGeneration) - }, - - getHistory: function() { - return {done: copyHistoryArray(this.history.done), - undone: copyHistoryArray(this.history.undone)} - }, - setHistory: function(histData) { - var hist = this.history = new History(this.history.maxGeneration); - hist.done = copyHistoryArray(histData.done.slice(0), null, true); - hist.undone = copyHistoryArray(histData.undone.slice(0), null, true); - }, - - setGutterMarker: docMethodOp(function(line, gutterID, value) { - return changeLine(this, line, "gutter", function (line) { - var markers = line.gutterMarkers || (line.gutterMarkers = {}); - markers[gutterID] = value; - if (!value && isEmpty(markers)) { line.gutterMarkers = null; } - return true - }) - }), - - clearGutter: docMethodOp(function(gutterID) { - var this$1 = this; - - this.iter(function (line) { - if (line.gutterMarkers && line.gutterMarkers[gutterID]) { - changeLine(this$1, line, "gutter", function () { - line.gutterMarkers[gutterID] = null; - if (isEmpty(line.gutterMarkers)) { line.gutterMarkers = null; } - return true - }); - } - }); - }), - - lineInfo: function(line) { - var n; - if (typeof line == "number") { - if (!isLine(this, line)) { return null } - n = line; - line = getLine(this, line); - if (!line) { return null } - } else { - n = lineNo(line); - if (n == null) { return null } - } - return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers, - textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass, - widgets: line.widgets} - }, - - addLineClass: docMethodOp(function(handle, where, cls) { - return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function (line) { - var prop = where == "text" ? "textClass" - : where == "background" ? "bgClass" - : where == "gutter" ? "gutterClass" : "wrapClass"; - if (!line[prop]) { line[prop] = cls; } - else if (classTest(cls).test(line[prop])) { return false } - else { line[prop] += " " + cls; } - return true - }) - }), - removeLineClass: docMethodOp(function(handle, where, cls) { - return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function (line) { - var prop = where == "text" ? "textClass" - : where == "background" ? "bgClass" - : where == "gutter" ? "gutterClass" : "wrapClass"; - var cur = line[prop]; - if (!cur) { return false } - else if (cls == null) { line[prop] = null; } - else { - var found = cur.match(classTest(cls)); - if (!found) { return false } - var end = found.index + found[0].length; - line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? "" : " ") + cur.slice(end) || null; - } - return true - }) - }), - - addLineWidget: docMethodOp(function(handle, node, options) { - return addLineWidget(this, handle, node, options) - }), - removeLineWidget: function(widget) { widget.clear(); }, - - markText: function(from, to, options) { - return markText(this, clipPos(this, from), clipPos(this, to), options, options && options.type || "range") - }, - setBookmark: function(pos, options) { - var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options), - insertLeft: options && options.insertLeft, - clearWhenEmpty: false, shared: options && options.shared, - handleMouseEvents: options && options.handleMouseEvents}; - pos = clipPos(this, pos); - return markText(this, pos, pos, realOpts, "bookmark") - }, - findMarksAt: function(pos) { - pos = clipPos(this, pos); - var markers = [], spans = getLine(this, pos.line).markedSpans; - if (spans) { for (var i = 0; i < spans.length; ++i) { - var span = spans[i]; - if ((span.from == null || span.from <= pos.ch) && - (span.to == null || span.to >= pos.ch)) - { markers.push(span.marker.parent || span.marker); } - } } - return markers - }, - findMarks: function(from, to, filter) { - from = clipPos(this, from); to = clipPos(this, to); - var found = [], lineNo$$1 = from.line; - this.iter(from.line, to.line + 1, function (line) { - var spans = line.markedSpans; - if (spans) { for (var i = 0; i < spans.length; i++) { - var span = spans[i]; - if (!(span.to != null && lineNo$$1 == from.line && from.ch >= span.to || - span.from == null && lineNo$$1 != from.line || - span.from != null && lineNo$$1 == to.line && span.from >= to.ch) && - (!filter || filter(span.marker))) - { found.push(span.marker.parent || span.marker); } - } } - ++lineNo$$1; - }); - return found - }, - getAllMarks: function() { - var markers = []; - this.iter(function (line) { - var sps = line.markedSpans; - if (sps) { for (var i = 0; i < sps.length; ++i) - { if (sps[i].from != null) { markers.push(sps[i].marker); } } } - }); - return markers - }, - - posFromIndex: function(off) { - var ch, lineNo$$1 = this.first, sepSize = this.lineSeparator().length; - this.iter(function (line) { - var sz = line.text.length + sepSize; - if (sz > off) { ch = off; return true } - off -= sz; - ++lineNo$$1; - }); - return clipPos(this, Pos(lineNo$$1, ch)) - }, - indexFromPos: function (coords) { - coords = clipPos(this, coords); - var index = coords.ch; - if (coords.line < this.first || coords.ch < 0) { return 0 } - var sepSize = this.lineSeparator().length; - this.iter(this.first, coords.line, function (line) { // iter aborts when callback returns a truthy value - index += line.text.length + sepSize; - }); - return index - }, - - copy: function(copyHistory) { - var doc = new Doc(getLines(this, this.first, this.first + this.size), - this.modeOption, this.first, this.lineSep, this.direction); - doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft; - doc.sel = this.sel; - doc.extend = false; - if (copyHistory) { - doc.history.undoDepth = this.history.undoDepth; - doc.setHistory(this.getHistory()); - } - return doc - }, - - linkedDoc: function(options) { - if (!options) { options = {}; } - var from = this.first, to = this.first + this.size; - if (options.from != null && options.from > from) { from = options.from; } - if (options.to != null && options.to < to) { to = options.to; } - var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from, this.lineSep, this.direction); - if (options.sharedHist) { copy.history = this.history - ; }(this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist}); - copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}]; - copySharedMarkers(copy, findSharedMarkers(this)); - return copy - }, - unlinkDoc: function(other) { - var this$1 = this; - - if (other instanceof CodeMirror$1) { other = other.doc; } - if (this.linked) { for (var i = 0; i < this.linked.length; ++i) { - var link = this$1.linked[i]; - if (link.doc != other) { continue } - this$1.linked.splice(i, 1); - other.unlinkDoc(this$1); - detachSharedMarkers(findSharedMarkers(this$1)); - break - } } - // If the histories were shared, split them again - if (other.history == this.history) { - var splitIds = [other.id]; - linkedDocs(other, function (doc) { return splitIds.push(doc.id); }, true); - other.history = new History(null); - other.history.done = copyHistoryArray(this.history.done, splitIds); - other.history.undone = copyHistoryArray(this.history.undone, splitIds); - } - }, - iterLinkedDocs: function(f) {linkedDocs(this, f);}, - - getMode: function() {return this.mode}, - getEditor: function() {return this.cm}, - - splitLines: function(str) { - if (this.lineSep) { return str.split(this.lineSep) } - return splitLinesAuto(str) - }, - lineSeparator: function() { return this.lineSep || "\n" }, - - setDirection: docMethodOp(function (dir) { - if (dir != "rtl") { dir = "ltr"; } - if (dir == this.direction) { return } - this.direction = dir; - this.iter(function (line) { return line.order = null; }); - if (this.cm) { directionChanged(this.cm); } - }) -}); - -// Public alias. -Doc.prototype.eachLine = Doc.prototype.iter; - -// Kludge to work around strange IE behavior where it'll sometimes -// re-fire a series of drag-related events right after the drop (#1551) -var lastDrop = 0; - -function onDrop(e) { - var cm = this; - clearDragCursor(cm); - if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) - { return } - e_preventDefault(e); - if (ie) { lastDrop = +new Date; } - var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files; - if (!pos || cm.isReadOnly()) { return } - // Might be a file drop, in which case we simply extract the text - // and insert it. - if (files && files.length && window.FileReader && window.File) { - var n = files.length, text = Array(n), read = 0; - var loadFile = function (file, i) { - if (cm.options.allowDropFileTypes && - indexOf(cm.options.allowDropFileTypes, file.type) == -1) - { return } - - var reader = new FileReader; - reader.onload = operation(cm, function () { - var content = reader.result; - if (/[\x00-\x08\x0e-\x1f]{2}/.test(content)) { content = ""; } - text[i] = content; - if (++read == n) { - pos = clipPos(cm.doc, pos); - var change = {from: pos, to: pos, - text: cm.doc.splitLines(text.join(cm.doc.lineSeparator())), - origin: "paste"}; - makeChange(cm.doc, change); - setSelectionReplaceHistory(cm.doc, simpleSelection(pos, changeEnd(change))); - } - }); - reader.readAsText(file); - }; - for (var i = 0; i < n; ++i) { loadFile(files[i], i); } - } else { // Normal drop - // Don't do a replace if the drop happened inside of the selected text. - if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) { - cm.state.draggingText(e); - // Ensure the editor is re-focused - setTimeout(function () { return cm.display.input.focus(); }, 20); - return - } - try { - var text$1 = e.dataTransfer.getData("Text"); - if (text$1) { - var selected; - if (cm.state.draggingText && !cm.state.draggingText.copy) - { selected = cm.listSelections(); } - setSelectionNoUndo(cm.doc, simpleSelection(pos, pos)); - if (selected) { for (var i$1 = 0; i$1 < selected.length; ++i$1) - { replaceRange(cm.doc, "", selected[i$1].anchor, selected[i$1].head, "drag"); } } - cm.replaceSelection(text$1, "around", "paste"); - cm.display.input.focus(); - } - } - catch(e){} - } -} - -function onDragStart(cm, e) { - if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return } - if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) { return } - - e.dataTransfer.setData("Text", cm.getSelection()); - e.dataTransfer.effectAllowed = "copyMove"; - - // Use dummy image instead of default browsers image. - // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there. - if (e.dataTransfer.setDragImage && !safari) { - var img = elt("img", null, null, "position: fixed; left: 0; top: 0;"); - img.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; - if (presto) { - img.width = img.height = 1; - cm.display.wrapper.appendChild(img); - // Force a relayout, or Opera won't use our image for some obscure reason - img._top = img.offsetTop; - } - e.dataTransfer.setDragImage(img, 0, 0); - if (presto) { img.parentNode.removeChild(img); } - } -} - -function onDragOver(cm, e) { - var pos = posFromMouse(cm, e); - if (!pos) { return } - var frag = document.createDocumentFragment(); - drawSelectionCursor(cm, pos, frag); - if (!cm.display.dragCursor) { - cm.display.dragCursor = elt("div", null, "CodeMirror-cursors CodeMirror-dragcursors"); - cm.display.lineSpace.insertBefore(cm.display.dragCursor, cm.display.cursorDiv); - } - removeChildrenAndAdd(cm.display.dragCursor, frag); -} - -function clearDragCursor(cm) { - if (cm.display.dragCursor) { - cm.display.lineSpace.removeChild(cm.display.dragCursor); - cm.display.dragCursor = null; - } -} - -// These must be handled carefully, because naively registering a -// handler for each editor will cause the editors to never be -// garbage collected. - -function forEachCodeMirror(f) { - if (!document.getElementsByClassName) { return } - var byClass = document.getElementsByClassName("CodeMirror"); - for (var i = 0; i < byClass.length; i++) { - var cm = byClass[i].CodeMirror; - if (cm) { f(cm); } - } -} - -var globalsRegistered = false; -function ensureGlobalHandlers() { - if (globalsRegistered) { return } - registerGlobalHandlers(); - globalsRegistered = true; -} -function registerGlobalHandlers() { - // When the window resizes, we need to refresh active editors. - var resizeTimer; - on(window, "resize", function () { - if (resizeTimer == null) { resizeTimer = setTimeout(function () { - resizeTimer = null; - forEachCodeMirror(onResize); - }, 100); } - }); - // When the window loses focus, we want to show the editor as blurred - on(window, "blur", function () { return forEachCodeMirror(onBlur); }); -} -// Called when the window resizes -function onResize(cm) { - var d = cm.display; - if (d.lastWrapHeight == d.wrapper.clientHeight && d.lastWrapWidth == d.wrapper.clientWidth) - { return } - // Might be a text scaling operation, clear size caches. - d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null; - d.scrollbarsClipped = false; - cm.setSize(); -} - -var keyNames = { - 3: "Enter", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt", - 19: "Pause", 20: "CapsLock", 27: "Esc", 32: "Space", 33: "PageUp", 34: "PageDown", 35: "End", - 36: "Home", 37: "Left", 38: "Up", 39: "Right", 40: "Down", 44: "PrintScrn", 45: "Insert", - 46: "Delete", 59: ";", 61: "=", 91: "Mod", 92: "Mod", 93: "Mod", - 106: "*", 107: "=", 109: "-", 110: ".", 111: "/", 127: "Delete", - 173: "-", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", - 221: "]", 222: "'", 63232: "Up", 63233: "Down", 63234: "Left", 63235: "Right", 63272: "Delete", - 63273: "Home", 63275: "End", 63276: "PageUp", 63277: "PageDown", 63302: "Insert" -}; - -// Number keys -for (var i = 0; i < 10; i++) { keyNames[i + 48] = keyNames[i + 96] = String(i); } -// Alphabetic keys -for (var i$1 = 65; i$1 <= 90; i$1++) { keyNames[i$1] = String.fromCharCode(i$1); } -// Function keys -for (var i$2 = 1; i$2 <= 12; i$2++) { keyNames[i$2 + 111] = keyNames[i$2 + 63235] = "F" + i$2; } - -var keyMap = {}; - -keyMap.basic = { - "Left": "goCharLeft", "Right": "goCharRight", "Up": "goLineUp", "Down": "goLineDown", - "End": "goLineEnd", "Home": "goLineStartSmart", "PageUp": "goPageUp", "PageDown": "goPageDown", - "Delete": "delCharAfter", "Backspace": "delCharBefore", "Shift-Backspace": "delCharBefore", - "Tab": "defaultTab", "Shift-Tab": "indentAuto", - "Enter": "newlineAndIndent", "Insert": "toggleOverwrite", - "Esc": "singleSelection" -}; -// Note that the save and find-related commands aren't defined by -// default. User code or addons can define them. Unknown commands -// are simply ignored. -keyMap.pcDefault = { - "Ctrl-A": "selectAll", "Ctrl-D": "deleteLine", "Ctrl-Z": "undo", "Shift-Ctrl-Z": "redo", "Ctrl-Y": "redo", - "Ctrl-Home": "goDocStart", "Ctrl-End": "goDocEnd", "Ctrl-Up": "goLineUp", "Ctrl-Down": "goLineDown", - "Ctrl-Left": "goGroupLeft", "Ctrl-Right": "goGroupRight", "Alt-Left": "goLineStart", "Alt-Right": "goLineEnd", - "Ctrl-Backspace": "delGroupBefore", "Ctrl-Delete": "delGroupAfter", "Ctrl-S": "save", "Ctrl-F": "find", - "Ctrl-G": "findNext", "Shift-Ctrl-G": "findPrev", "Shift-Ctrl-F": "replace", "Shift-Ctrl-R": "replaceAll", - "Ctrl-[": "indentLess", "Ctrl-]": "indentMore", - "Ctrl-U": "undoSelection", "Shift-Ctrl-U": "redoSelection", "Alt-U": "redoSelection", - fallthrough: "basic" -}; -// Very basic readline/emacs-style bindings, which are standard on Mac. -keyMap.emacsy = { - "Ctrl-F": "goCharRight", "Ctrl-B": "goCharLeft", "Ctrl-P": "goLineUp", "Ctrl-N": "goLineDown", - "Alt-F": "goWordRight", "Alt-B": "goWordLeft", "Ctrl-A": "goLineStart", "Ctrl-E": "goLineEnd", - "Ctrl-V": "goPageDown", "Shift-Ctrl-V": "goPageUp", "Ctrl-D": "delCharAfter", "Ctrl-H": "delCharBefore", - "Alt-D": "delWordAfter", "Alt-Backspace": "delWordBefore", "Ctrl-K": "killLine", "Ctrl-T": "transposeChars", - "Ctrl-O": "openLine" -}; -keyMap.macDefault = { - "Cmd-A": "selectAll", "Cmd-D": "deleteLine", "Cmd-Z": "undo", "Shift-Cmd-Z": "redo", "Cmd-Y": "redo", - "Cmd-Home": "goDocStart", "Cmd-Up": "goDocStart", "Cmd-End": "goDocEnd", "Cmd-Down": "goDocEnd", "Alt-Left": "goGroupLeft", - "Alt-Right": "goGroupRight", "Cmd-Left": "goLineLeft", "Cmd-Right": "goLineRight", "Alt-Backspace": "delGroupBefore", - "Ctrl-Alt-Backspace": "delGroupAfter", "Alt-Delete": "delGroupAfter", "Cmd-S": "save", "Cmd-F": "find", - "Cmd-G": "findNext", "Shift-Cmd-G": "findPrev", "Cmd-Alt-F": "replace", "Shift-Cmd-Alt-F": "replaceAll", - "Cmd-[": "indentLess", "Cmd-]": "indentMore", "Cmd-Backspace": "delWrappedLineLeft", "Cmd-Delete": "delWrappedLineRight", - "Cmd-U": "undoSelection", "Shift-Cmd-U": "redoSelection", "Ctrl-Up": "goDocStart", "Ctrl-Down": "goDocEnd", - fallthrough: ["basic", "emacsy"] -}; -keyMap["default"] = mac ? keyMap.macDefault : keyMap.pcDefault; - -// KEYMAP DISPATCH - -function normalizeKeyName(name) { - var parts = name.split(/-(?!$)/); - name = parts[parts.length - 1]; - var alt, ctrl, shift, cmd; - for (var i = 0; i < parts.length - 1; i++) { - var mod = parts[i]; - if (/^(cmd|meta|m)$/i.test(mod)) { cmd = true; } - else if (/^a(lt)?$/i.test(mod)) { alt = true; } - else if (/^(c|ctrl|control)$/i.test(mod)) { ctrl = true; } - else if (/^s(hift)?$/i.test(mod)) { shift = true; } - else { throw new Error("Unrecognized modifier name: " + mod) } - } - if (alt) { name = "Alt-" + name; } - if (ctrl) { name = "Ctrl-" + name; } - if (cmd) { name = "Cmd-" + name; } - if (shift) { name = "Shift-" + name; } - return name -} - -// This is a kludge to keep keymaps mostly working as raw objects -// (backwards compatibility) while at the same time support features -// like normalization and multi-stroke key bindings. It compiles a -// new normalized keymap, and then updates the old object to reflect -// this. -function normalizeKeyMap(keymap) { - var copy = {}; - for (var keyname in keymap) { if (keymap.hasOwnProperty(keyname)) { - var value = keymap[keyname]; - if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) { continue } - if (value == "...") { delete keymap[keyname]; continue } - - var keys = map(keyname.split(" "), normalizeKeyName); - for (var i = 0; i < keys.length; i++) { - var val = (void 0), name = (void 0); - if (i == keys.length - 1) { - name = keys.join(" "); - val = value; - } else { - name = keys.slice(0, i + 1).join(" "); - val = "..."; - } - var prev = copy[name]; - if (!prev) { copy[name] = val; } - else if (prev != val) { throw new Error("Inconsistent bindings for " + name) } - } - delete keymap[keyname]; - } } - for (var prop in copy) { keymap[prop] = copy[prop]; } - return keymap -} - -function lookupKey(key, map$$1, handle, context) { - map$$1 = getKeyMap(map$$1); - var found = map$$1.call ? map$$1.call(key, context) : map$$1[key]; - if (found === false) { return "nothing" } - if (found === "...") { return "multi" } - if (found != null && handle(found)) { return "handled" } - - if (map$$1.fallthrough) { - if (Object.prototype.toString.call(map$$1.fallthrough) != "[object Array]") - { return lookupKey(key, map$$1.fallthrough, handle, context) } - for (var i = 0; i < map$$1.fallthrough.length; i++) { - var result = lookupKey(key, map$$1.fallthrough[i], handle, context); - if (result) { return result } - } - } -} - -// Modifier key presses don't count as 'real' key presses for the -// purpose of keymap fallthrough. -function isModifierKey(value) { - var name = typeof value == "string" ? value : keyNames[value.keyCode]; - return name == "Ctrl" || name == "Alt" || name == "Shift" || name == "Mod" -} - -function addModifierNames(name, event, noShift) { - var base = name; - if (event.altKey && base != "Alt") { name = "Alt-" + name; } - if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != "Ctrl") { name = "Ctrl-" + name; } - if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != "Cmd") { name = "Cmd-" + name; } - if (!noShift && event.shiftKey && base != "Shift") { name = "Shift-" + name; } - return name -} - -// Look up the name of a key as indicated by an event object. -function keyName(event, noShift) { - if (presto && event.keyCode == 34 && event["char"]) { return false } - var name = keyNames[event.keyCode]; - if (name == null || event.altGraphKey) { return false } - return addModifierNames(name, event, noShift) -} - -function getKeyMap(val) { - return typeof val == "string" ? keyMap[val] : val -} - -// Helper for deleting text near the selection(s), used to implement -// backspace, delete, and similar functionality. -function deleteNearSelection(cm, compute) { - var ranges = cm.doc.sel.ranges, kill = []; - // Build up a set of ranges to kill first, merging overlapping - // ranges. - for (var i = 0; i < ranges.length; i++) { - var toKill = compute(ranges[i]); - while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) { - var replaced = kill.pop(); - if (cmp(replaced.from, toKill.from) < 0) { - toKill.from = replaced.from; - break - } - } - kill.push(toKill); - } - // Next, remove those actual ranges. - runInOp(cm, function () { - for (var i = kill.length - 1; i >= 0; i--) - { replaceRange(cm.doc, "", kill[i].from, kill[i].to, "+delete"); } - ensureCursorVisible(cm); - }); -} - -// Commands are parameter-less actions that can be performed on an -// editor, mostly used for keybindings. -var commands = { - selectAll: selectAll, - singleSelection: function (cm) { return cm.setSelection(cm.getCursor("anchor"), cm.getCursor("head"), sel_dontScroll); }, - killLine: function (cm) { return deleteNearSelection(cm, function (range) { - if (range.empty()) { - var len = getLine(cm.doc, range.head.line).text.length; - if (range.head.ch == len && range.head.line < cm.lastLine()) - { return {from: range.head, to: Pos(range.head.line + 1, 0)} } - else - { return {from: range.head, to: Pos(range.head.line, len)} } - } else { - return {from: range.from(), to: range.to()} - } - }); }, - deleteLine: function (cm) { return deleteNearSelection(cm, function (range) { return ({ - from: Pos(range.from().line, 0), - to: clipPos(cm.doc, Pos(range.to().line + 1, 0)) - }); }); }, - delLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { return ({ - from: Pos(range.from().line, 0), to: range.from() - }); }); }, - delWrappedLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { - var top = cm.charCoords(range.head, "div").top + 5; - var leftPos = cm.coordsChar({left: 0, top: top}, "div"); - return {from: leftPos, to: range.from()} - }); }, - delWrappedLineRight: function (cm) { return deleteNearSelection(cm, function (range) { - var top = cm.charCoords(range.head, "div").top + 5; - var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div"); - return {from: range.from(), to: rightPos } - }); }, - undo: function (cm) { return cm.undo(); }, - redo: function (cm) { return cm.redo(); }, - undoSelection: function (cm) { return cm.undoSelection(); }, - redoSelection: function (cm) { return cm.redoSelection(); }, - goDocStart: function (cm) { return cm.extendSelection(Pos(cm.firstLine(), 0)); }, - goDocEnd: function (cm) { return cm.extendSelection(Pos(cm.lastLine())); }, - goLineStart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStart(cm, range.head.line); }, - {origin: "+move", bias: 1} - ); }, - goLineStartSmart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStartSmart(cm, range.head); }, - {origin: "+move", bias: 1} - ); }, - goLineEnd: function (cm) { return cm.extendSelectionsBy(function (range) { return lineEnd(cm, range.head.line); }, - {origin: "+move", bias: -1} - ); }, - goLineRight: function (cm) { return cm.extendSelectionsBy(function (range) { - var top = cm.charCoords(range.head, "div").top + 5; - return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div") - }, sel_move); }, - goLineLeft: function (cm) { return cm.extendSelectionsBy(function (range) { - var top = cm.charCoords(range.head, "div").top + 5; - return cm.coordsChar({left: 0, top: top}, "div") - }, sel_move); }, - goLineLeftSmart: function (cm) { return cm.extendSelectionsBy(function (range) { - var top = cm.charCoords(range.head, "div").top + 5; - var pos = cm.coordsChar({left: 0, top: top}, "div"); - if (pos.ch < cm.getLine(pos.line).search(/\S/)) { return lineStartSmart(cm, range.head) } - return pos - }, sel_move); }, - goLineUp: function (cm) { return cm.moveV(-1, "line"); }, - goLineDown: function (cm) { return cm.moveV(1, "line"); }, - goPageUp: function (cm) { return cm.moveV(-1, "page"); }, - goPageDown: function (cm) { return cm.moveV(1, "page"); }, - goCharLeft: function (cm) { return cm.moveH(-1, "char"); }, - goCharRight: function (cm) { return cm.moveH(1, "char"); }, - goColumnLeft: function (cm) { return cm.moveH(-1, "column"); }, - goColumnRight: function (cm) { return cm.moveH(1, "column"); }, - goWordLeft: function (cm) { return cm.moveH(-1, "word"); }, - goGroupRight: function (cm) { return cm.moveH(1, "group"); }, - goGroupLeft: function (cm) { return cm.moveH(-1, "group"); }, - goWordRight: function (cm) { return cm.moveH(1, "word"); }, - delCharBefore: function (cm) { return cm.deleteH(-1, "char"); }, - delCharAfter: function (cm) { return cm.deleteH(1, "char"); }, - delWordBefore: function (cm) { return cm.deleteH(-1, "word"); }, - delWordAfter: function (cm) { return cm.deleteH(1, "word"); }, - delGroupBefore: function (cm) { return cm.deleteH(-1, "group"); }, - delGroupAfter: function (cm) { return cm.deleteH(1, "group"); }, - indentAuto: function (cm) { return cm.indentSelection("smart"); }, - indentMore: function (cm) { return cm.indentSelection("add"); }, - indentLess: function (cm) { return cm.indentSelection("subtract"); }, - insertTab: function (cm) { return cm.replaceSelection("\t"); }, - insertSoftTab: function (cm) { - var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize; - for (var i = 0; i < ranges.length; i++) { - var pos = ranges[i].from(); - var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize); - spaces.push(spaceStr(tabSize - col % tabSize)); - } - cm.replaceSelections(spaces); - }, - defaultTab: function (cm) { - if (cm.somethingSelected()) { cm.indentSelection("add"); } - else { cm.execCommand("insertTab"); } - }, - // Swap the two chars left and right of each selection's head. - // Move cursor behind the two swapped characters afterwards. - // - // Doesn't consider line feeds a character. - // Doesn't scan more than one line above to find a character. - // Doesn't do anything on an empty line. - // Doesn't do anything with non-empty selections. - transposeChars: function (cm) { return runInOp(cm, function () { - var ranges = cm.listSelections(), newSel = []; - for (var i = 0; i < ranges.length; i++) { - if (!ranges[i].empty()) { continue } - var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text; - if (line) { - if (cur.ch == line.length) { cur = new Pos(cur.line, cur.ch - 1); } - if (cur.ch > 0) { - cur = new Pos(cur.line, cur.ch + 1); - cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2), - Pos(cur.line, cur.ch - 2), cur, "+transpose"); - } else if (cur.line > cm.doc.first) { - var prev = getLine(cm.doc, cur.line - 1).text; - if (prev) { - cur = new Pos(cur.line, 1); - cm.replaceRange(line.charAt(0) + cm.doc.lineSeparator() + - prev.charAt(prev.length - 1), - Pos(cur.line - 1, prev.length - 1), cur, "+transpose"); - } - } - } - newSel.push(new Range(cur, cur)); - } - cm.setSelections(newSel); - }); }, - newlineAndIndent: function (cm) { return runInOp(cm, function () { - var sels = cm.listSelections(); - for (var i = sels.length - 1; i >= 0; i--) - { cm.replaceRange(cm.doc.lineSeparator(), sels[i].anchor, sels[i].head, "+input"); } - sels = cm.listSelections(); - for (var i$1 = 0; i$1 < sels.length; i$1++) - { cm.indentLine(sels[i$1].from().line, null, true); } - ensureCursorVisible(cm); - }); }, - openLine: function (cm) { return cm.replaceSelection("\n", "start"); }, - toggleOverwrite: function (cm) { return cm.toggleOverwrite(); } -}; - - -function lineStart(cm, lineN) { - var line = getLine(cm.doc, lineN); - var visual = visualLine(line); - if (visual != line) { lineN = lineNo(visual); } - return endOfLine(true, cm, visual, lineN, 1) -} -function lineEnd(cm, lineN) { - var line = getLine(cm.doc, lineN); - var visual = visualLineEnd(line); - if (visual != line) { lineN = lineNo(visual); } - return endOfLine(true, cm, line, lineN, -1) -} -function lineStartSmart(cm, pos) { - var start = lineStart(cm, pos.line); - var line = getLine(cm.doc, start.line); - var order = getOrder(line, cm.doc.direction); - if (!order || order[0].level == 0) { - var firstNonWS = Math.max(0, line.text.search(/\S/)); - var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch; - return Pos(start.line, inWS ? 0 : firstNonWS, start.sticky) - } - return start -} - -// Run a handler that was bound to a key. -function doHandleBinding(cm, bound, dropShift) { - if (typeof bound == "string") { - bound = commands[bound]; - if (!bound) { return false } - } - // Ensure previous input has been read, so that the handler sees a - // consistent view of the document - cm.display.input.ensurePolled(); - var prevShift = cm.display.shift, done = false; - try { - if (cm.isReadOnly()) { cm.state.suppressEdits = true; } - if (dropShift) { cm.display.shift = false; } - done = bound(cm) != Pass; - } finally { - cm.display.shift = prevShift; - cm.state.suppressEdits = false; - } - return done -} - -function lookupKeyForEditor(cm, name, handle) { - for (var i = 0; i < cm.state.keyMaps.length; i++) { - var result = lookupKey(name, cm.state.keyMaps[i], handle, cm); - if (result) { return result } - } - return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm)) - || lookupKey(name, cm.options.keyMap, handle, cm) -} - -// Note that, despite the name, this function is also used to check -// for bound mouse clicks. - -var stopSeq = new Delayed; -function dispatchKey(cm, name, e, handle) { - var seq = cm.state.keySeq; - if (seq) { - if (isModifierKey(name)) { return "handled" } - stopSeq.set(50, function () { - if (cm.state.keySeq == seq) { - cm.state.keySeq = null; - cm.display.input.reset(); - } - }); - name = seq + " " + name; - } - var result = lookupKeyForEditor(cm, name, handle); - - if (result == "multi") - { cm.state.keySeq = name; } - if (result == "handled") - { signalLater(cm, "keyHandled", cm, name, e); } - - if (result == "handled" || result == "multi") { - e_preventDefault(e); - restartBlink(cm); - } - - if (seq && !result && /\'$/.test(name)) { - e_preventDefault(e); - return true - } - return !!result -} - -// Handle a key from the keydown event. -function handleKeyBinding(cm, e) { - var name = keyName(e, true); - if (!name) { return false } - - if (e.shiftKey && !cm.state.keySeq) { - // First try to resolve full name (including 'Shift-'). Failing - // that, see if there is a cursor-motion command (starting with - // 'go') bound to the keyname without 'Shift-'. - return dispatchKey(cm, "Shift-" + name, e, function (b) { return doHandleBinding(cm, b, true); }) - || dispatchKey(cm, name, e, function (b) { - if (typeof b == "string" ? /^go[A-Z]/.test(b) : b.motion) - { return doHandleBinding(cm, b) } - }) - } else { - return dispatchKey(cm, name, e, function (b) { return doHandleBinding(cm, b); }) - } -} - -// Handle a key from the keypress event -function handleCharBinding(cm, e, ch) { - return dispatchKey(cm, "'" + ch + "'", e, function (b) { return doHandleBinding(cm, b, true); }) -} - -var lastStoppedKey = null; -function onKeyDown(e) { - var cm = this; - cm.curOp.focus = activeElt(); - if (signalDOMEvent(cm, e)) { return } - // IE does strange things with escape. - if (ie && ie_version < 11 && e.keyCode == 27) { e.returnValue = false; } - var code = e.keyCode; - cm.display.shift = code == 16 || e.shiftKey; - var handled = handleKeyBinding(cm, e); - if (presto) { - lastStoppedKey = handled ? code : null; - // Opera has no cut event... we try to at least catch the key combo - if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey)) - { cm.replaceSelection("", null, "cut"); } - } - - // Turn mouse into crosshair when Alt is held on Mac. - if (code == 18 && !/\bCodeMirror-crosshair\b/.test(cm.display.lineDiv.className)) - { showCrossHair(cm); } -} - -function showCrossHair(cm) { - var lineDiv = cm.display.lineDiv; - addClass(lineDiv, "CodeMirror-crosshair"); - - function up(e) { - if (e.keyCode == 18 || !e.altKey) { - rmClass(lineDiv, "CodeMirror-crosshair"); - off(document, "keyup", up); - off(document, "mouseover", up); - } - } - on(document, "keyup", up); - on(document, "mouseover", up); -} - -function onKeyUp(e) { - if (e.keyCode == 16) { this.doc.sel.shift = false; } - signalDOMEvent(this, e); -} - -function onKeyPress(e) { - var cm = this; - if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) { return } - var keyCode = e.keyCode, charCode = e.charCode; - if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return} - if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) { return } - var ch = String.fromCharCode(charCode == null ? keyCode : charCode); - // Some browsers fire keypress events for backspace - if (ch == "\x08") { return } - if (handleCharBinding(cm, e, ch)) { return } - cm.display.input.onKeyPress(e); -} - -var DOUBLECLICK_DELAY = 400; - -var PastClick = function(time, pos, button) { - this.time = time; - this.pos = pos; - this.button = button; -}; - -PastClick.prototype.compare = function (time, pos, button) { - return this.time + DOUBLECLICK_DELAY > time && - cmp(pos, this.pos) == 0 && button == this.button -}; - -var lastClick; -var lastDoubleClick; -function clickRepeat(pos, button) { - var now = +new Date; - if (lastDoubleClick && lastDoubleClick.compare(now, pos, button)) { - lastClick = lastDoubleClick = null; - return "triple" - } else if (lastClick && lastClick.compare(now, pos, button)) { - lastDoubleClick = new PastClick(now, pos, button); - lastClick = null; - return "double" - } else { - lastClick = new PastClick(now, pos, button); - lastDoubleClick = null; - return "single" - } -} - -// A mouse down can be a single click, double click, triple click, -// start of selection drag, start of text drag, new cursor -// (ctrl-click), rectangle drag (alt-drag), or xwin -// middle-click-paste. Or it might be a click on something we should -// not interfere with, such as a scrollbar or widget. -function onMouseDown(e) { - var cm = this, display = cm.display; - if (signalDOMEvent(cm, e) || display.activeTouch && display.input.supportsTouch()) { return } - display.input.ensurePolled(); - display.shift = e.shiftKey; - - if (eventInWidget(display, e)) { - if (!webkit) { - // Briefly turn off draggability, to allow widgets to do - // normal dragging things. - display.scroller.draggable = false; - setTimeout(function () { return display.scroller.draggable = true; }, 100); - } - return - } - if (clickInGutter(cm, e)) { return } - var pos = posFromMouse(cm, e), button = e_button(e), repeat = pos ? clickRepeat(pos, button) : "single"; - window.focus(); - - // #3261: make sure, that we're not starting a second selection - if (button == 1 && cm.state.selectingText) - { cm.state.selectingText(e); } - - if (pos && handleMappedButton(cm, button, pos, repeat, e)) { return } - - if (button == 1) { - if (pos) { leftButtonDown(cm, pos, repeat, e); } - else if (e_target(e) == display.scroller) { e_preventDefault(e); } - } else if (button == 2) { - if (pos) { extendSelection(cm.doc, pos); } - setTimeout(function () { return display.input.focus(); }, 20); - } else if (button == 3) { - if (captureRightClick) { onContextMenu(cm, e); } - else { delayBlurEvent(cm); } - } -} - -function handleMappedButton(cm, button, pos, repeat, event) { - var name = "Click"; - if (repeat == "double") { name = "Double" + name; } - else if (repeat == "triple") { name = "Triple" + name; } - name = (button == 1 ? "Left" : button == 2 ? "Middle" : "Right") + name; - - return dispatchKey(cm, addModifierNames(name, event), event, function (bound) { - if (typeof bound == "string") { bound = commands[bound]; } - if (!bound) { return false } - var done = false; - try { - if (cm.isReadOnly()) { cm.state.suppressEdits = true; } - done = bound(cm, pos) != Pass; - } finally { - cm.state.suppressEdits = false; - } - return done - }) -} - -function configureMouse(cm, repeat, event) { - var option = cm.getOption("configureMouse"); - var value = option ? option(cm, repeat, event) : {}; - if (value.unit == null) { - var rect = chromeOS ? event.shiftKey && event.metaKey : event.altKey; - value.unit = rect ? "rectangle" : repeat == "single" ? "char" : repeat == "double" ? "word" : "line"; - } - if (value.extend == null || cm.doc.extend) { value.extend = cm.doc.extend || event.shiftKey; } - if (value.addNew == null) { value.addNew = mac ? event.metaKey : event.ctrlKey; } - if (value.moveOnDrag == null) { value.moveOnDrag = !(mac ? event.altKey : event.ctrlKey); } - return value -} - -function leftButtonDown(cm, pos, repeat, event) { - if (ie) { setTimeout(bind(ensureFocus, cm), 0); } - else { cm.curOp.focus = activeElt(); } - - var behavior = configureMouse(cm, repeat, event); - - var sel = cm.doc.sel, contained; - if (cm.options.dragDrop && dragAndDrop && !cm.isReadOnly() && - repeat == "single" && (contained = sel.contains(pos)) > -1 && - (cmp((contained = sel.ranges[contained]).from(), pos) < 0 || pos.xRel > 0) && - (cmp(contained.to(), pos) > 0 || pos.xRel < 0)) - { leftButtonStartDrag(cm, event, pos, behavior); } - else - { leftButtonSelect(cm, event, pos, behavior); } -} - -// Start a text drag. When it ends, see if any dragging actually -// happen, and treat as a click if it didn't. -function leftButtonStartDrag(cm, event, pos, behavior) { - var display = cm.display, moved = false; - var dragEnd = operation(cm, function (e) { - if (webkit) { display.scroller.draggable = false; } - cm.state.draggingText = false; - off(document, "mouseup", dragEnd); - off(document, "mousemove", mouseMove); - off(display.scroller, "dragstart", dragStart); - off(display.scroller, "drop", dragEnd); - if (!moved) { - e_preventDefault(e); - if (!behavior.addNew) - { extendSelection(cm.doc, pos, null, null, behavior.extend); } - // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081) - if (webkit || ie && ie_version == 9) - { setTimeout(function () {document.body.focus(); display.input.focus();}, 20); } - else - { display.input.focus(); } - } - }); - var mouseMove = function(e2) { - moved = moved || Math.abs(event.clientX - e2.clientX) + Math.abs(event.clientY - e2.clientY) >= 10; - }; - var dragStart = function () { return moved = true; }; - // Let the drag handler handle this. - if (webkit) { display.scroller.draggable = true; } - cm.state.draggingText = dragEnd; - dragEnd.copy = !behavior.moveOnDrag; - // IE's approach to draggable - if (display.scroller.dragDrop) { display.scroller.dragDrop(); } - on(document, "mouseup", dragEnd); - on(document, "mousemove", mouseMove); - on(display.scroller, "dragstart", dragStart); - on(display.scroller, "drop", dragEnd); - - delayBlurEvent(cm); - setTimeout(function () { return display.input.focus(); }, 20); -} - -function rangeForUnit(cm, pos, unit) { - if (unit == "char") { return new Range(pos, pos) } - if (unit == "word") { return cm.findWordAt(pos) } - if (unit == "line") { return new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) } - var result = unit(cm, pos); - return new Range(result.from, result.to) -} - -// Normal selection, as opposed to text dragging. -function leftButtonSelect(cm, event, start, behavior) { - var display = cm.display, doc = cm.doc; - e_preventDefault(event); - - var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges; - if (behavior.addNew && !behavior.extend) { - ourIndex = doc.sel.contains(start); - if (ourIndex > -1) - { ourRange = ranges[ourIndex]; } - else - { ourRange = new Range(start, start); } - } else { - ourRange = doc.sel.primary(); - ourIndex = doc.sel.primIndex; - } - - if (behavior.unit == "rectangle") { - if (!behavior.addNew) { ourRange = new Range(start, start); } - start = posFromMouse(cm, event, true, true); - ourIndex = -1; - } else { - var range$$1 = rangeForUnit(cm, start, behavior.unit); - if (behavior.extend) - { ourRange = extendRange(ourRange, range$$1.anchor, range$$1.head, behavior.extend); } - else - { ourRange = range$$1; } - } - - if (!behavior.addNew) { - ourIndex = 0; - setSelection(doc, new Selection([ourRange], 0), sel_mouse); - startSel = doc.sel; - } else if (ourIndex == -1) { - ourIndex = ranges.length; - setSelection(doc, normalizeSelection(ranges.concat([ourRange]), ourIndex), - {scroll: false, origin: "*mouse"}); - } else if (ranges.length > 1 && ranges[ourIndex].empty() && behavior.unit == "char" && !behavior.extend) { - setSelection(doc, normalizeSelection(ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0), - {scroll: false, origin: "*mouse"}); - startSel = doc.sel; - } else { - replaceOneSelection(doc, ourIndex, ourRange, sel_mouse); - } - - var lastPos = start; - function extendTo(pos) { - if (cmp(lastPos, pos) == 0) { return } - lastPos = pos; - - if (behavior.unit == "rectangle") { - var ranges = [], tabSize = cm.options.tabSize; - var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize); - var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize); - var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol); - for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line)); - line <= end; line++) { - var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize); - if (left == right) - { ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))); } - else if (text.length > leftPos) - { ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))); } - } - if (!ranges.length) { ranges.push(new Range(start, start)); } - setSelection(doc, normalizeSelection(startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex), - {origin: "*mouse", scroll: false}); - cm.scrollIntoView(pos); - } else { - var oldRange = ourRange; - var range$$1 = rangeForUnit(cm, pos, behavior.unit); - var anchor = oldRange.anchor, head; - if (cmp(range$$1.anchor, anchor) > 0) { - head = range$$1.head; - anchor = minPos(oldRange.from(), range$$1.anchor); - } else { - head = range$$1.anchor; - anchor = maxPos(oldRange.to(), range$$1.head); - } - var ranges$1 = startSel.ranges.slice(0); - ranges$1[ourIndex] = new Range(clipPos(doc, anchor), head); - setSelection(doc, normalizeSelection(ranges$1, ourIndex), sel_mouse); - } - } - - var editorSize = display.wrapper.getBoundingClientRect(); - // Used to ensure timeout re-tries don't fire when another extend - // happened in the meantime (clearTimeout isn't reliable -- at - // least on Chrome, the timeouts still happen even when cleared, - // if the clear happens after their scheduled firing time). - var counter = 0; - - function extend(e) { - var curCount = ++counter; - var cur = posFromMouse(cm, e, true, behavior.unit == "rectangle"); - if (!cur) { return } - if (cmp(cur, lastPos) != 0) { - cm.curOp.focus = activeElt(); - extendTo(cur); - var visible = visibleLines(display, doc); - if (cur.line >= visible.to || cur.line < visible.from) - { setTimeout(operation(cm, function () {if (counter == curCount) { extend(e); }}), 150); } - } else { - var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0; - if (outside) { setTimeout(operation(cm, function () { - if (counter != curCount) { return } - display.scroller.scrollTop += outside; - extend(e); - }), 50); } - } - } - - function done(e) { - cm.state.selectingText = false; - counter = Infinity; - e_preventDefault(e); - display.input.focus(); - off(document, "mousemove", move); - off(document, "mouseup", up); - doc.history.lastSelOrigin = null; - } - - var move = operation(cm, function (e) { - if (!e_button(e)) { done(e); } - else { extend(e); } - }); - var up = operation(cm, done); - cm.state.selectingText = up; - on(document, "mousemove", move); - on(document, "mouseup", up); -} - - -// Determines whether an event happened in the gutter, and fires the -// handlers for the corresponding event. -function gutterEvent(cm, e, type, prevent) { - var mX, mY; - try { mX = e.clientX; mY = e.clientY; } - catch(e) { return false } - if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false } - if (prevent) { e_preventDefault(e); } - - var display = cm.display; - var lineBox = display.lineDiv.getBoundingClientRect(); - - if (mY > lineBox.bottom || !hasHandler(cm, type)) { return e_defaultPrevented(e) } - mY -= lineBox.top - display.viewOffset; - - for (var i = 0; i < cm.options.gutters.length; ++i) { - var g = display.gutters.childNodes[i]; - if (g && g.getBoundingClientRect().right >= mX) { - var line = lineAtHeight(cm.doc, mY); - var gutter = cm.options.gutters[i]; - signal(cm, type, cm, line, gutter, e); - return e_defaultPrevented(e) - } - } -} - -function clickInGutter(cm, e) { - return gutterEvent(cm, e, "gutterClick", true) -} - -// CONTEXT MENU HANDLING - -// To make the context menu work, we need to briefly unhide the -// textarea (making it as unobtrusive as possible) to let the -// right-click take effect on it. -function onContextMenu(cm, e) { - if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) { return } - if (signalDOMEvent(cm, e, "contextmenu")) { return } - cm.display.input.onContextMenu(e); -} - -function contextMenuInGutter(cm, e) { - if (!hasHandler(cm, "gutterContextMenu")) { return false } - return gutterEvent(cm, e, "gutterContextMenu", false) -} - -function themeChanged(cm) { - cm.display.wrapper.className = cm.display.wrapper.className.replace(/\s*cm-s-\S+/g, "") + - cm.options.theme.replace(/(^|\s)\s*/g, " cm-s-"); - clearCaches(cm); -} - -var Init = {toString: function(){return "CodeMirror.Init"}}; - -var defaults = {}; -var optionHandlers = {}; - -function defineOptions(CodeMirror) { - var optionHandlers = CodeMirror.optionHandlers; - - function option(name, deflt, handle, notOnInit) { - CodeMirror.defaults[name] = deflt; - if (handle) { optionHandlers[name] = - notOnInit ? function (cm, val, old) {if (old != Init) { handle(cm, val, old); }} : handle; } - } - - CodeMirror.defineOption = option; - - // Passed to option handlers when there is no old value. - CodeMirror.Init = Init; - - // These two are, on init, called from the constructor because they - // have to be initialized before the editor can start at all. - option("value", "", function (cm, val) { return cm.setValue(val); }, true); - option("mode", null, function (cm, val) { - cm.doc.modeOption = val; - loadMode(cm); - }, true); - - option("indentUnit", 2, loadMode, true); - option("indentWithTabs", false); - option("smartIndent", true); - option("tabSize", 4, function (cm) { - resetModeState(cm); - clearCaches(cm); - regChange(cm); - }, true); - option("lineSeparator", null, function (cm, val) { - cm.doc.lineSep = val; - if (!val) { return } - var newBreaks = [], lineNo = cm.doc.first; - cm.doc.iter(function (line) { - for (var pos = 0;;) { - var found = line.text.indexOf(val, pos); - if (found == -1) { break } - pos = found + val.length; - newBreaks.push(Pos(lineNo, found)); - } - lineNo++; - }); - for (var i = newBreaks.length - 1; i >= 0; i--) - { replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)); } - }); - option("specialChars", /[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g, function (cm, val, old) { - cm.state.specialChars = new RegExp(val.source + (val.test("\t") ? "" : "|\t"), "g"); - if (old != Init) { cm.refresh(); } - }); - option("specialCharPlaceholder", defaultSpecialCharPlaceholder, function (cm) { return cm.refresh(); }, true); - option("electricChars", true); - option("inputStyle", mobile ? "contenteditable" : "textarea", function () { - throw new Error("inputStyle can not (yet) be changed in a running editor") // FIXME - }, true); - option("spellcheck", false, function (cm, val) { return cm.getInputField().spellcheck = val; }, true); - option("rtlMoveVisually", !windows); - option("wholeLineUpdateBefore", true); - - option("theme", "default", function (cm) { - themeChanged(cm); - guttersChanged(cm); - }, true); - option("keyMap", "default", function (cm, val, old) { - var next = getKeyMap(val); - var prev = old != Init && getKeyMap(old); - if (prev && prev.detach) { prev.detach(cm, next); } - if (next.attach) { next.attach(cm, prev || null); } - }); - option("extraKeys", null); - option("configureMouse", null); - - option("lineWrapping", false, wrappingChanged, true); - option("gutters", [], function (cm) { - setGuttersForLineNumbers(cm.options); - guttersChanged(cm); - }, true); - option("fixedGutter", true, function (cm, val) { - cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + "px" : "0"; - cm.refresh(); - }, true); - option("coverGutterNextToScrollbar", false, function (cm) { return updateScrollbars(cm); }, true); - option("scrollbarStyle", "native", function (cm) { - initScrollbars(cm); - updateScrollbars(cm); - cm.display.scrollbars.setScrollTop(cm.doc.scrollTop); - cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft); - }, true); - option("lineNumbers", false, function (cm) { - setGuttersForLineNumbers(cm.options); - guttersChanged(cm); - }, true); - option("firstLineNumber", 1, guttersChanged, true); - option("lineNumberFormatter", function (integer) { return integer; }, guttersChanged, true); - option("showCursorWhenSelecting", false, updateSelection, true); - - option("resetSelectionOnContextMenu", true); - option("lineWiseCopyCut", true); - option("pasteLinesPerSelection", true); - - option("readOnly", false, function (cm, val) { - if (val == "nocursor") { - onBlur(cm); - cm.display.input.blur(); - } - cm.display.input.readOnlyChanged(val); - }); - option("disableInput", false, function (cm, val) {if (!val) { cm.display.input.reset(); }}, true); - option("dragDrop", true, dragDropChanged); - option("allowDropFileTypes", null); - - option("cursorBlinkRate", 530); - option("cursorScrollMargin", 0); - option("cursorHeight", 1, updateSelection, true); - option("singleCursorHeightPerLine", true, updateSelection, true); - option("workTime", 100); - option("workDelay", 100); - option("flattenSpans", true, resetModeState, true); - option("addModeClass", false, resetModeState, true); - option("pollInterval", 100); - option("undoDepth", 200, function (cm, val) { return cm.doc.history.undoDepth = val; }); - option("historyEventDelay", 1250); - option("viewportMargin", 10, function (cm) { return cm.refresh(); }, true); - option("maxHighlightLength", 10000, resetModeState, true); - option("moveInputWithCursor", true, function (cm, val) { - if (!val) { cm.display.input.resetPosition(); } - }); - - option("tabindex", null, function (cm, val) { return cm.display.input.getField().tabIndex = val || ""; }); - option("autofocus", null); - option("direction", "ltr", function (cm, val) { return cm.doc.setDirection(val); }, true); -} - -function guttersChanged(cm) { - updateGutters(cm); - regChange(cm); - alignHorizontally(cm); -} - -function dragDropChanged(cm, value, old) { - var wasOn = old && old != Init; - if (!value != !wasOn) { - var funcs = cm.display.dragFunctions; - var toggle = value ? on : off; - toggle(cm.display.scroller, "dragstart", funcs.start); - toggle(cm.display.scroller, "dragenter", funcs.enter); - toggle(cm.display.scroller, "dragover", funcs.over); - toggle(cm.display.scroller, "dragleave", funcs.leave); - toggle(cm.display.scroller, "drop", funcs.drop); - } -} - -function wrappingChanged(cm) { - if (cm.options.lineWrapping) { - addClass(cm.display.wrapper, "CodeMirror-wrap"); - cm.display.sizer.style.minWidth = ""; - cm.display.sizerWidth = null; - } else { - rmClass(cm.display.wrapper, "CodeMirror-wrap"); - findMaxLine(cm); - } - estimateLineHeights(cm); - regChange(cm); - clearCaches(cm); - setTimeout(function () { return updateScrollbars(cm); }, 100); -} - -// A CodeMirror instance represents an editor. This is the object -// that user code is usually dealing with. - -function CodeMirror$1(place, options) { - var this$1 = this; - - if (!(this instanceof CodeMirror$1)) { return new CodeMirror$1(place, options) } - - this.options = options = options ? copyObj(options) : {}; - // Determine effective options based on given values and defaults. - copyObj(defaults, options, false); - setGuttersForLineNumbers(options); - - var doc = options.value; - if (typeof doc == "string") { doc = new Doc(doc, options.mode, null, options.lineSeparator, options.direction); } - this.doc = doc; - - var input = new CodeMirror$1.inputStyles[options.inputStyle](this); - var display = this.display = new Display(place, doc, input); - display.wrapper.CodeMirror = this; - updateGutters(this); - themeChanged(this); - if (options.lineWrapping) - { this.display.wrapper.className += " CodeMirror-wrap"; } - initScrollbars(this); - - this.state = { - keyMaps: [], // stores maps added by addKeyMap - overlays: [], // highlighting overlays, as added by addOverlay - modeGen: 0, // bumped when mode/overlay changes, used to invalidate highlighting info - overwrite: false, - delayingBlurEvent: false, - focused: false, - suppressEdits: false, // used to disable editing during key handlers when in readOnly mode - pasteIncoming: false, cutIncoming: false, // help recognize paste/cut edits in input.poll - selectingText: false, - draggingText: false, - highlight: new Delayed(), // stores highlight worker timeout - keySeq: null, // Unfinished key sequence - specialChars: null - }; - - if (options.autofocus && !mobile) { display.input.focus(); } - - // Override magic textarea content restore that IE sometimes does - // on our hidden textarea on reload - if (ie && ie_version < 11) { setTimeout(function () { return this$1.display.input.reset(true); }, 20); } - - registerEventHandlers(this); - ensureGlobalHandlers(); - - startOperation(this); - this.curOp.forceUpdate = true; - attachDoc(this, doc); - - if ((options.autofocus && !mobile) || this.hasFocus()) - { setTimeout(bind(onFocus, this), 20); } - else - { onBlur(this); } - - for (var opt in optionHandlers) { if (optionHandlers.hasOwnProperty(opt)) - { optionHandlers[opt](this$1, options[opt], Init); } } - maybeUpdateLineNumberWidth(this); - if (options.finishInit) { options.finishInit(this); } - for (var i = 0; i < initHooks.length; ++i) { initHooks[i](this$1); } - endOperation(this); - // Suppress optimizelegibility in Webkit, since it breaks text - // measuring on line wrapping boundaries. - if (webkit && options.lineWrapping && - getComputedStyle(display.lineDiv).textRendering == "optimizelegibility") - { display.lineDiv.style.textRendering = "auto"; } -} - -// The default configuration options. -CodeMirror$1.defaults = defaults; -// Functions to run when options are changed. -CodeMirror$1.optionHandlers = optionHandlers; - -// Attach the necessary event handlers when initializing the editor -function registerEventHandlers(cm) { - var d = cm.display; - on(d.scroller, "mousedown", operation(cm, onMouseDown)); - // Older IE's will not fire a second mousedown for a double click - if (ie && ie_version < 11) - { on(d.scroller, "dblclick", operation(cm, function (e) { - if (signalDOMEvent(cm, e)) { return } - var pos = posFromMouse(cm, e); - if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) { return } - e_preventDefault(e); - var word = cm.findWordAt(pos); - extendSelection(cm.doc, word.anchor, word.head); - })); } - else - { on(d.scroller, "dblclick", function (e) { return signalDOMEvent(cm, e) || e_preventDefault(e); }); } - // Some browsers fire contextmenu *after* opening the menu, at - // which point we can't mess with it anymore. Context menu is - // handled in onMouseDown for these browsers. - if (!captureRightClick) { on(d.scroller, "contextmenu", function (e) { return onContextMenu(cm, e); }); } - - // Used to suppress mouse event handling when a touch happens - var touchFinished, prevTouch = {end: 0}; - function finishTouch() { - if (d.activeTouch) { - touchFinished = setTimeout(function () { return d.activeTouch = null; }, 1000); - prevTouch = d.activeTouch; - prevTouch.end = +new Date; - } - } - function isMouseLikeTouchEvent(e) { - if (e.touches.length != 1) { return false } - var touch = e.touches[0]; - return touch.radiusX <= 1 && touch.radiusY <= 1 - } - function farAway(touch, other) { - if (other.left == null) { return true } - var dx = other.left - touch.left, dy = other.top - touch.top; - return dx * dx + dy * dy > 20 * 20 - } - on(d.scroller, "touchstart", function (e) { - if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e)) { - d.input.ensurePolled(); - clearTimeout(touchFinished); - var now = +new Date; - d.activeTouch = {start: now, moved: false, - prev: now - prevTouch.end <= 300 ? prevTouch : null}; - if (e.touches.length == 1) { - d.activeTouch.left = e.touches[0].pageX; - d.activeTouch.top = e.touches[0].pageY; - } - } - }); - on(d.scroller, "touchmove", function () { - if (d.activeTouch) { d.activeTouch.moved = true; } - }); - on(d.scroller, "touchend", function (e) { - var touch = d.activeTouch; - if (touch && !eventInWidget(d, e) && touch.left != null && - !touch.moved && new Date - touch.start < 300) { - var pos = cm.coordsChar(d.activeTouch, "page"), range; - if (!touch.prev || farAway(touch, touch.prev)) // Single tap - { range = new Range(pos, pos); } - else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap - { range = cm.findWordAt(pos); } - else // Triple tap - { range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))); } - cm.setSelection(range.anchor, range.head); - cm.focus(); - e_preventDefault(e); - } - finishTouch(); - }); - on(d.scroller, "touchcancel", finishTouch); - - // Sync scrolling between fake scrollbars and real scrollable - // area, ensure viewport is updated when scrolling. - on(d.scroller, "scroll", function () { - if (d.scroller.clientHeight) { - updateScrollTop(cm, d.scroller.scrollTop); - setScrollLeft(cm, d.scroller.scrollLeft, true); - signal(cm, "scroll", cm); - } - }); - - // Listen to wheel events in order to try and update the viewport on time. - on(d.scroller, "mousewheel", function (e) { return onScrollWheel(cm, e); }); - on(d.scroller, "DOMMouseScroll", function (e) { return onScrollWheel(cm, e); }); - - // Prevent wrapper from ever scrolling - on(d.wrapper, "scroll", function () { return d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; }); - - d.dragFunctions = { - enter: function (e) {if (!signalDOMEvent(cm, e)) { e_stop(e); }}, - over: function (e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e); }}, - start: function (e) { return onDragStart(cm, e); }, - drop: operation(cm, onDrop), - leave: function (e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm); }} - }; - - var inp = d.input.getField(); - on(inp, "keyup", function (e) { return onKeyUp.call(cm, e); }); - on(inp, "keydown", operation(cm, onKeyDown)); - on(inp, "keypress", operation(cm, onKeyPress)); - on(inp, "focus", function (e) { return onFocus(cm, e); }); - on(inp, "blur", function (e) { return onBlur(cm, e); }); -} - -var initHooks = []; -CodeMirror$1.defineInitHook = function (f) { return initHooks.push(f); }; - -// Indent the given line. The how parameter can be "smart", -// "add"/null, "subtract", or "prev". When aggressive is false -// (typically set to true for forced single-line indents), empty -// lines are not indented, and places where the mode returns Pass -// are left alone. -function indentLine(cm, n, how, aggressive) { - var doc = cm.doc, state; - if (how == null) { how = "add"; } - if (how == "smart") { - // Fall back to "prev" when the mode doesn't have an indentation - // method. - if (!doc.mode.indent) { how = "prev"; } - else { state = getContextBefore(cm, n).state; } - } - - var tabSize = cm.options.tabSize; - var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize); - if (line.stateAfter) { line.stateAfter = null; } - var curSpaceString = line.text.match(/^\s*/)[0], indentation; - if (!aggressive && !/\S/.test(line.text)) { - indentation = 0; - how = "not"; - } else if (how == "smart") { - indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text); - if (indentation == Pass || indentation > 150) { - if (!aggressive) { return } - how = "prev"; - } - } - if (how == "prev") { - if (n > doc.first) { indentation = countColumn(getLine(doc, n-1).text, null, tabSize); } - else { indentation = 0; } - } else if (how == "add") { - indentation = curSpace + cm.options.indentUnit; - } else if (how == "subtract") { - indentation = curSpace - cm.options.indentUnit; - } else if (typeof how == "number") { - indentation = curSpace + how; - } - indentation = Math.max(0, indentation); - - var indentString = "", pos = 0; - if (cm.options.indentWithTabs) - { for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += "\t";} } - if (pos < indentation) { indentString += spaceStr(indentation - pos); } - - if (indentString != curSpaceString) { - replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), "+input"); - line.stateAfter = null; - return true - } else { - // Ensure that, if the cursor was in the whitespace at the start - // of the line, it is moved to the end of that space. - for (var i$1 = 0; i$1 < doc.sel.ranges.length; i$1++) { - var range = doc.sel.ranges[i$1]; - if (range.head.line == n && range.head.ch < curSpaceString.length) { - var pos$1 = Pos(n, curSpaceString.length); - replaceOneSelection(doc, i$1, new Range(pos$1, pos$1)); - break - } - } - } -} - -// This will be set to a {lineWise: bool, text: [string]} object, so -// that, when pasting, we know what kind of selections the copied -// text was made out of. -var lastCopied = null; - -function setLastCopied(newLastCopied) { - lastCopied = newLastCopied; -} - -function applyTextInput(cm, inserted, deleted, sel, origin) { - var doc = cm.doc; - cm.display.shift = false; - if (!sel) { sel = doc.sel; } - - var paste = cm.state.pasteIncoming || origin == "paste"; - var textLines = splitLinesAuto(inserted), multiPaste = null; - // When pasing N lines into N selections, insert one line per selection - if (paste && sel.ranges.length > 1) { - if (lastCopied && lastCopied.text.join("\n") == inserted) { - if (sel.ranges.length % lastCopied.text.length == 0) { - multiPaste = []; - for (var i = 0; i < lastCopied.text.length; i++) - { multiPaste.push(doc.splitLines(lastCopied.text[i])); } - } - } else if (textLines.length == sel.ranges.length && cm.options.pasteLinesPerSelection) { - multiPaste = map(textLines, function (l) { return [l]; }); - } - } - - var updateInput; - // Normal behavior is to insert the new text into every selection - for (var i$1 = sel.ranges.length - 1; i$1 >= 0; i$1--) { - var range$$1 = sel.ranges[i$1]; - var from = range$$1.from(), to = range$$1.to(); - if (range$$1.empty()) { - if (deleted && deleted > 0) // Handle deletion - { from = Pos(from.line, from.ch - deleted); } - else if (cm.state.overwrite && !paste) // Handle overwrite - { to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)); } - else if (lastCopied && lastCopied.lineWise && lastCopied.text.join("\n") == inserted) - { from = to = Pos(from.line, 0); } - } - updateInput = cm.curOp.updateInput; - var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i$1 % multiPaste.length] : textLines, - origin: origin || (paste ? "paste" : cm.state.cutIncoming ? "cut" : "+input")}; - makeChange(cm.doc, changeEvent); - signalLater(cm, "inputRead", cm, changeEvent); - } - if (inserted && !paste) - { triggerElectric(cm, inserted); } - - ensureCursorVisible(cm); - cm.curOp.updateInput = updateInput; - cm.curOp.typing = true; - cm.state.pasteIncoming = cm.state.cutIncoming = false; -} - -function handlePaste(e, cm) { - var pasted = e.clipboardData && e.clipboardData.getData("Text"); - if (pasted) { - e.preventDefault(); - if (!cm.isReadOnly() && !cm.options.disableInput) - { runInOp(cm, function () { return applyTextInput(cm, pasted, 0, null, "paste"); }); } - return true - } -} - -function triggerElectric(cm, inserted) { - // When an 'electric' character is inserted, immediately trigger a reindent - if (!cm.options.electricChars || !cm.options.smartIndent) { return } - var sel = cm.doc.sel; - - for (var i = sel.ranges.length - 1; i >= 0; i--) { - var range$$1 = sel.ranges[i]; - if (range$$1.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range$$1.head.line)) { continue } - var mode = cm.getModeAt(range$$1.head); - var indented = false; - if (mode.electricChars) { - for (var j = 0; j < mode.electricChars.length; j++) - { if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) { - indented = indentLine(cm, range$$1.head.line, "smart"); - break - } } - } else if (mode.electricInput) { - if (mode.electricInput.test(getLine(cm.doc, range$$1.head.line).text.slice(0, range$$1.head.ch))) - { indented = indentLine(cm, range$$1.head.line, "smart"); } - } - if (indented) { signalLater(cm, "electricInput", cm, range$$1.head.line); } - } -} - -function copyableRanges(cm) { - var text = [], ranges = []; - for (var i = 0; i < cm.doc.sel.ranges.length; i++) { - var line = cm.doc.sel.ranges[i].head.line; - var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)}; - ranges.push(lineRange); - text.push(cm.getRange(lineRange.anchor, lineRange.head)); - } - return {text: text, ranges: ranges} -} - -function disableBrowserMagic(field, spellcheck) { - field.setAttribute("autocorrect", "off"); - field.setAttribute("autocapitalize", "off"); - field.setAttribute("spellcheck", !!spellcheck); -} - -function hiddenTextarea() { - var te = elt("textarea", null, null, "position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"); - var div = elt("div", [te], null, "overflow: hidden; position: relative; width: 3px; height: 0px;"); - // The textarea is kept positioned near the cursor to prevent the - // fact that it'll be scrolled into view on input from scrolling - // our fake cursor out of view. On webkit, when wrap=off, paste is - // very slow. So make the area wide instead. - if (webkit) { te.style.width = "1000px"; } - else { te.setAttribute("wrap", "off"); } - // If border: 0; -- iOS fails to open keyboard (issue #1287) - if (ios) { te.style.border = "1px solid black"; } - disableBrowserMagic(te); - return div -} - -// The publicly visible API. Note that methodOp(f) means -// 'wrap f in an operation, performed on its `this` parameter'. - -// This is not the complete set of editor methods. Most of the -// methods defined on the Doc type are also injected into -// CodeMirror.prototype, for backwards compatibility and -// convenience. - -var addEditorMethods = function(CodeMirror) { - var optionHandlers = CodeMirror.optionHandlers; - - var helpers = CodeMirror.helpers = {}; - - CodeMirror.prototype = { - constructor: CodeMirror, - focus: function(){window.focus(); this.display.input.focus();}, - - setOption: function(option, value) { - var options = this.options, old = options[option]; - if (options[option] == value && option != "mode") { return } - options[option] = value; - if (optionHandlers.hasOwnProperty(option)) - { operation(this, optionHandlers[option])(this, value, old); } - signal(this, "optionChange", this, option); - }, - - getOption: function(option) {return this.options[option]}, - getDoc: function() {return this.doc}, - - addKeyMap: function(map$$1, bottom) { - this.state.keyMaps[bottom ? "push" : "unshift"](getKeyMap(map$$1)); - }, - removeKeyMap: function(map$$1) { - var maps = this.state.keyMaps; - for (var i = 0; i < maps.length; ++i) - { if (maps[i] == map$$1 || maps[i].name == map$$1) { - maps.splice(i, 1); - return true - } } - }, - - addOverlay: methodOp(function(spec, options) { - var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec); - if (mode.startState) { throw new Error("Overlays may not be stateful.") } - insertSorted(this.state.overlays, - {mode: mode, modeSpec: spec, opaque: options && options.opaque, - priority: (options && options.priority) || 0}, - function (overlay) { return overlay.priority; }); - this.state.modeGen++; - regChange(this); - }), - removeOverlay: methodOp(function(spec) { - var this$1 = this; - - var overlays = this.state.overlays; - for (var i = 0; i < overlays.length; ++i) { - var cur = overlays[i].modeSpec; - if (cur == spec || typeof spec == "string" && cur.name == spec) { - overlays.splice(i, 1); - this$1.state.modeGen++; - regChange(this$1); - return - } - } - }), - - indentLine: methodOp(function(n, dir, aggressive) { - if (typeof dir != "string" && typeof dir != "number") { - if (dir == null) { dir = this.options.smartIndent ? "smart" : "prev"; } - else { dir = dir ? "add" : "subtract"; } - } - if (isLine(this.doc, n)) { indentLine(this, n, dir, aggressive); } - }), - indentSelection: methodOp(function(how) { - var this$1 = this; - - var ranges = this.doc.sel.ranges, end = -1; - for (var i = 0; i < ranges.length; i++) { - var range$$1 = ranges[i]; - if (!range$$1.empty()) { - var from = range$$1.from(), to = range$$1.to(); - var start = Math.max(end, from.line); - end = Math.min(this$1.lastLine(), to.line - (to.ch ? 0 : 1)) + 1; - for (var j = start; j < end; ++j) - { indentLine(this$1, j, how); } - var newRanges = this$1.doc.sel.ranges; - if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0) - { replaceOneSelection(this$1.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll); } - } else if (range$$1.head.line > end) { - indentLine(this$1, range$$1.head.line, how, true); - end = range$$1.head.line; - if (i == this$1.doc.sel.primIndex) { ensureCursorVisible(this$1); } - } - } - }), - - // Fetch the parser token for a given character. Useful for hacks - // that want to inspect the mode state (say, for completion). - getTokenAt: function(pos, precise) { - return takeToken(this, pos, precise) - }, - - getLineTokens: function(line, precise) { - return takeToken(this, Pos(line), precise, true) - }, - - getTokenTypeAt: function(pos) { - pos = clipPos(this.doc, pos); - var styles = getLineStyles(this, getLine(this.doc, pos.line)); - var before = 0, after = (styles.length - 1) / 2, ch = pos.ch; - var type; - if (ch == 0) { type = styles[2]; } - else { for (;;) { - var mid = (before + after) >> 1; - if ((mid ? styles[mid * 2 - 1] : 0) >= ch) { after = mid; } - else if (styles[mid * 2 + 1] < ch) { before = mid + 1; } - else { type = styles[mid * 2 + 2]; break } - } } - var cut = type ? type.indexOf("overlay ") : -1; - return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1) - }, - - getModeAt: function(pos) { - var mode = this.doc.mode; - if (!mode.innerMode) { return mode } - return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode - }, - - getHelper: function(pos, type) { - return this.getHelpers(pos, type)[0] - }, - - getHelpers: function(pos, type) { - var this$1 = this; - - var found = []; - if (!helpers.hasOwnProperty(type)) { return found } - var help = helpers[type], mode = this.getModeAt(pos); - if (typeof mode[type] == "string") { - if (help[mode[type]]) { found.push(help[mode[type]]); } - } else if (mode[type]) { - for (var i = 0; i < mode[type].length; i++) { - var val = help[mode[type][i]]; - if (val) { found.push(val); } - } - } else if (mode.helperType && help[mode.helperType]) { - found.push(help[mode.helperType]); - } else if (help[mode.name]) { - found.push(help[mode.name]); - } - for (var i$1 = 0; i$1 < help._global.length; i$1++) { - var cur = help._global[i$1]; - if (cur.pred(mode, this$1) && indexOf(found, cur.val) == -1) - { found.push(cur.val); } - } - return found - }, - - getStateAfter: function(line, precise) { - var doc = this.doc; - line = clipLine(doc, line == null ? doc.first + doc.size - 1: line); - return getContextBefore(this, line + 1, precise).state - }, - - cursorCoords: function(start, mode) { - var pos, range$$1 = this.doc.sel.primary(); - if (start == null) { pos = range$$1.head; } - else if (typeof start == "object") { pos = clipPos(this.doc, start); } - else { pos = start ? range$$1.from() : range$$1.to(); } - return cursorCoords(this, pos, mode || "page") - }, - - charCoords: function(pos, mode) { - return charCoords(this, clipPos(this.doc, pos), mode || "page") - }, - - coordsChar: function(coords, mode) { - coords = fromCoordSystem(this, coords, mode || "page"); - return coordsChar(this, coords.left, coords.top) - }, - - lineAtHeight: function(height, mode) { - height = fromCoordSystem(this, {top: height, left: 0}, mode || "page").top; - return lineAtHeight(this.doc, height + this.display.viewOffset) - }, - heightAtLine: function(line, mode, includeWidgets) { - var end = false, lineObj; - if (typeof line == "number") { - var last = this.doc.first + this.doc.size - 1; - if (line < this.doc.first) { line = this.doc.first; } - else if (line > last) { line = last; end = true; } - lineObj = getLine(this.doc, line); - } else { - lineObj = line; - } - return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || "page", includeWidgets || end).top + - (end ? this.doc.height - heightAtLine(lineObj) : 0) - }, - - defaultTextHeight: function() { return textHeight(this.display) }, - defaultCharWidth: function() { return charWidth(this.display) }, - - getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo}}, - - addWidget: function(pos, node, scroll, vert, horiz) { - var display = this.display; - pos = cursorCoords(this, clipPos(this.doc, pos)); - var top = pos.bottom, left = pos.left; - node.style.position = "absolute"; - node.setAttribute("cm-ignore-events", "true"); - this.display.input.setUneditable(node); - display.sizer.appendChild(node); - if (vert == "over") { - top = pos.top; - } else if (vert == "above" || vert == "near") { - var vspace = Math.max(display.wrapper.clientHeight, this.doc.height), - hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth); - // Default to positioning above (if specified and possible); otherwise default to positioning below - if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight) - { top = pos.top - node.offsetHeight; } - else if (pos.bottom + node.offsetHeight <= vspace) - { top = pos.bottom; } - if (left + node.offsetWidth > hspace) - { left = hspace - node.offsetWidth; } - } - node.style.top = top + "px"; - node.style.left = node.style.right = ""; - if (horiz == "right") { - left = display.sizer.clientWidth - node.offsetWidth; - node.style.right = "0px"; - } else { - if (horiz == "left") { left = 0; } - else if (horiz == "middle") { left = (display.sizer.clientWidth - node.offsetWidth) / 2; } - node.style.left = left + "px"; - } - if (scroll) - { scrollIntoView(this, {left: left, top: top, right: left + node.offsetWidth, bottom: top + node.offsetHeight}); } - }, - - triggerOnKeyDown: methodOp(onKeyDown), - triggerOnKeyPress: methodOp(onKeyPress), - triggerOnKeyUp: onKeyUp, - triggerOnMouseDown: methodOp(onMouseDown), - - execCommand: function(cmd) { - if (commands.hasOwnProperty(cmd)) - { return commands[cmd].call(null, this) } - }, - - triggerElectric: methodOp(function(text) { triggerElectric(this, text); }), - - findPosH: function(from, amount, unit, visually) { - var this$1 = this; - - var dir = 1; - if (amount < 0) { dir = -1; amount = -amount; } - var cur = clipPos(this.doc, from); - for (var i = 0; i < amount; ++i) { - cur = findPosH(this$1.doc, cur, dir, unit, visually); - if (cur.hitSide) { break } - } - return cur - }, - - moveH: methodOp(function(dir, unit) { - var this$1 = this; - - this.extendSelectionsBy(function (range$$1) { - if (this$1.display.shift || this$1.doc.extend || range$$1.empty()) - { return findPosH(this$1.doc, range$$1.head, dir, unit, this$1.options.rtlMoveVisually) } - else - { return dir < 0 ? range$$1.from() : range$$1.to() } - }, sel_move); - }), - - deleteH: methodOp(function(dir, unit) { - var sel = this.doc.sel, doc = this.doc; - if (sel.somethingSelected()) - { doc.replaceSelection("", null, "+delete"); } - else - { deleteNearSelection(this, function (range$$1) { - var other = findPosH(doc, range$$1.head, dir, unit, false); - return dir < 0 ? {from: other, to: range$$1.head} : {from: range$$1.head, to: other} - }); } - }), - - findPosV: function(from, amount, unit, goalColumn) { - var this$1 = this; - - var dir = 1, x = goalColumn; - if (amount < 0) { dir = -1; amount = -amount; } - var cur = clipPos(this.doc, from); - for (var i = 0; i < amount; ++i) { - var coords = cursorCoords(this$1, cur, "div"); - if (x == null) { x = coords.left; } - else { coords.left = x; } - cur = findPosV(this$1, coords, dir, unit); - if (cur.hitSide) { break } - } - return cur - }, - - moveV: methodOp(function(dir, unit) { - var this$1 = this; - - var doc = this.doc, goals = []; - var collapse = !this.display.shift && !doc.extend && doc.sel.somethingSelected(); - doc.extendSelectionsBy(function (range$$1) { - if (collapse) - { return dir < 0 ? range$$1.from() : range$$1.to() } - var headPos = cursorCoords(this$1, range$$1.head, "div"); - if (range$$1.goalColumn != null) { headPos.left = range$$1.goalColumn; } - goals.push(headPos.left); - var pos = findPosV(this$1, headPos, dir, unit); - if (unit == "page" && range$$1 == doc.sel.primary()) - { addToScrollTop(this$1, charCoords(this$1, pos, "div").top - headPos.top); } - return pos - }, sel_move); - if (goals.length) { for (var i = 0; i < doc.sel.ranges.length; i++) - { doc.sel.ranges[i].goalColumn = goals[i]; } } - }), - - // Find the word at the given position (as returned by coordsChar). - findWordAt: function(pos) { - var doc = this.doc, line = getLine(doc, pos.line).text; - var start = pos.ch, end = pos.ch; - if (line) { - var helper = this.getHelper(pos, "wordChars"); - if ((pos.sticky == "before" || end == line.length) && start) { --start; } else { ++end; } - var startChar = line.charAt(start); - var check = isWordChar(startChar, helper) - ? function (ch) { return isWordChar(ch, helper); } - : /\s/.test(startChar) ? function (ch) { return /\s/.test(ch); } - : function (ch) { return (!/\s/.test(ch) && !isWordChar(ch)); }; - while (start > 0 && check(line.charAt(start - 1))) { --start; } - while (end < line.length && check(line.charAt(end))) { ++end; } - } - return new Range(Pos(pos.line, start), Pos(pos.line, end)) - }, - - toggleOverwrite: function(value) { - if (value != null && value == this.state.overwrite) { return } - if (this.state.overwrite = !this.state.overwrite) - { addClass(this.display.cursorDiv, "CodeMirror-overwrite"); } - else - { rmClass(this.display.cursorDiv, "CodeMirror-overwrite"); } - - signal(this, "overwriteToggle", this, this.state.overwrite); - }, - hasFocus: function() { return this.display.input.getField() == activeElt() }, - isReadOnly: function() { return !!(this.options.readOnly || this.doc.cantEdit) }, - - scrollTo: methodOp(function (x, y) { scrollToCoords(this, x, y); }), - getScrollInfo: function() { - var scroller = this.display.scroller; - return {left: scroller.scrollLeft, top: scroller.scrollTop, - height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight, - width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth, - clientHeight: displayHeight(this), clientWidth: displayWidth(this)} - }, - - scrollIntoView: methodOp(function(range$$1, margin) { - if (range$$1 == null) { - range$$1 = {from: this.doc.sel.primary().head, to: null}; - if (margin == null) { margin = this.options.cursorScrollMargin; } - } else if (typeof range$$1 == "number") { - range$$1 = {from: Pos(range$$1, 0), to: null}; - } else if (range$$1.from == null) { - range$$1 = {from: range$$1, to: null}; - } - if (!range$$1.to) { range$$1.to = range$$1.from; } - range$$1.margin = margin || 0; - - if (range$$1.from.line != null) { - scrollToRange(this, range$$1); - } else { - scrollToCoordsRange(this, range$$1.from, range$$1.to, range$$1.margin); - } - }), - - setSize: methodOp(function(width, height) { - var this$1 = this; - - var interpret = function (val) { return typeof val == "number" || /^\d+$/.test(String(val)) ? val + "px" : val; }; - if (width != null) { this.display.wrapper.style.width = interpret(width); } - if (height != null) { this.display.wrapper.style.height = interpret(height); } - if (this.options.lineWrapping) { clearLineMeasurementCache(this); } - var lineNo$$1 = this.display.viewFrom; - this.doc.iter(lineNo$$1, this.display.viewTo, function (line) { - if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) - { if (line.widgets[i].noHScroll) { regLineChange(this$1, lineNo$$1, "widget"); break } } } - ++lineNo$$1; - }); - this.curOp.forceUpdate = true; - signal(this, "refresh", this); - }), - - operation: function(f){return runInOp(this, f)}, - - refresh: methodOp(function() { - var oldHeight = this.display.cachedTextHeight; - regChange(this); - this.curOp.forceUpdate = true; - clearCaches(this); - scrollToCoords(this, this.doc.scrollLeft, this.doc.scrollTop); - updateGutterSpace(this); - if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5) - { estimateLineHeights(this); } - signal(this, "refresh", this); - }), - - swapDoc: methodOp(function(doc) { - var old = this.doc; - old.cm = null; - attachDoc(this, doc); - clearCaches(this); - this.display.input.reset(); - scrollToCoords(this, doc.scrollLeft, doc.scrollTop); - this.curOp.forceScroll = true; - signalLater(this, "swapDoc", this, old); - return old - }), - - getInputField: function(){return this.display.input.getField()}, - getWrapperElement: function(){return this.display.wrapper}, - getScrollerElement: function(){return this.display.scroller}, - getGutterElement: function(){return this.display.gutters} - }; - eventMixin(CodeMirror); - - CodeMirror.registerHelper = function(type, name, value) { - if (!helpers.hasOwnProperty(type)) { helpers[type] = CodeMirror[type] = {_global: []}; } - helpers[type][name] = value; - }; - CodeMirror.registerGlobalHelper = function(type, name, predicate, value) { - CodeMirror.registerHelper(type, name, value); - helpers[type]._global.push({pred: predicate, val: value}); - }; -}; - -// Used for horizontal relative motion. Dir is -1 or 1 (left or -// right), unit can be "char", "column" (like char, but doesn't -// cross line boundaries), "word" (across next word), or "group" (to -// the start of next group of word or non-word-non-whitespace -// chars). The visually param controls whether, in right-to-left -// text, direction 1 means to move towards the next index in the -// string, or towards the character to the right of the current -// position. The resulting position will have a hitSide=true -// property if it reached the end of the document. -function findPosH(doc, pos, dir, unit, visually) { - var oldPos = pos; - var origDir = dir; - var lineObj = getLine(doc, pos.line); - function findNextLine() { - var l = pos.line + dir; - if (l < doc.first || l >= doc.first + doc.size) { return false } - pos = new Pos(l, pos.ch, pos.sticky); - return lineObj = getLine(doc, l) - } - function moveOnce(boundToLine) { - var next; - if (visually) { - next = moveVisually(doc.cm, lineObj, pos, dir); - } else { - next = moveLogically(lineObj, pos, dir); - } - if (next == null) { - if (!boundToLine && findNextLine()) - { pos = endOfLine(visually, doc.cm, lineObj, pos.line, dir); } - else - { return false } - } else { - pos = next; - } - return true - } - - if (unit == "char") { - moveOnce(); - } else if (unit == "column") { - moveOnce(true); - } else if (unit == "word" || unit == "group") { - var sawType = null, group = unit == "group"; - var helper = doc.cm && doc.cm.getHelper(pos, "wordChars"); - for (var first = true;; first = false) { - if (dir < 0 && !moveOnce(!first)) { break } - var cur = lineObj.text.charAt(pos.ch) || "\n"; - var type = isWordChar(cur, helper) ? "w" - : group && cur == "\n" ? "n" - : !group || /\s/.test(cur) ? null - : "p"; - if (group && !first && !type) { type = "s"; } - if (sawType && sawType != type) { - if (dir < 0) {dir = 1; moveOnce(); pos.sticky = "after";} - break - } - - if (type) { sawType = type; } - if (dir > 0 && !moveOnce(!first)) { break } - } - } - var result = skipAtomic(doc, pos, oldPos, origDir, true); - if (equalCursorPos(oldPos, result)) { result.hitSide = true; } - return result -} - -// For relative vertical movement. Dir may be -1 or 1. Unit can be -// "page" or "line". The resulting position will have a hitSide=true -// property if it reached the end of the document. -function findPosV(cm, pos, dir, unit) { - var doc = cm.doc, x = pos.left, y; - if (unit == "page") { - var pageSize = Math.min(cm.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight); - var moveAmount = Math.max(pageSize - .5 * textHeight(cm.display), 3); - y = (dir > 0 ? pos.bottom : pos.top) + dir * moveAmount; - - } else if (unit == "line") { - y = dir > 0 ? pos.bottom + 3 : pos.top - 3; - } - var target; - for (;;) { - target = coordsChar(cm, x, y); - if (!target.outside) { break } - if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break } - y += dir * 5; - } - return target -} - -// CONTENTEDITABLE INPUT STYLE - -var ContentEditableInput = function(cm) { - this.cm = cm; - this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null; - this.polling = new Delayed(); - this.composing = null; - this.gracePeriod = false; - this.readDOMTimeout = null; -}; - -ContentEditableInput.prototype.init = function (display) { - var this$1 = this; - - var input = this, cm = input.cm; - var div = input.div = display.lineDiv; - disableBrowserMagic(div, cm.options.spellcheck); - - on(div, "paste", function (e) { - if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return } - // IE doesn't fire input events, so we schedule a read for the pasted content in this way - if (ie_version <= 11) { setTimeout(operation(cm, function () { return this$1.updateFromDOM(); }), 20); } - }); - - on(div, "compositionstart", function (e) { - this$1.composing = {data: e.data, done: false}; - }); - on(div, "compositionupdate", function (e) { - if (!this$1.composing) { this$1.composing = {data: e.data, done: false}; } - }); - on(div, "compositionend", function (e) { - if (this$1.composing) { - if (e.data != this$1.composing.data) { this$1.readFromDOMSoon(); } - this$1.composing.done = true; - } - }); - - on(div, "touchstart", function () { return input.forceCompositionEnd(); }); - - on(div, "input", function () { - if (!this$1.composing) { this$1.readFromDOMSoon(); } - }); - - function onCopyCut(e) { - if (signalDOMEvent(cm, e)) { return } - if (cm.somethingSelected()) { - setLastCopied({lineWise: false, text: cm.getSelections()}); - if (e.type == "cut") { cm.replaceSelection("", null, "cut"); } - } else if (!cm.options.lineWiseCopyCut) { - return - } else { - var ranges = copyableRanges(cm); - setLastCopied({lineWise: true, text: ranges.text}); - if (e.type == "cut") { - cm.operation(function () { - cm.setSelections(ranges.ranges, 0, sel_dontScroll); - cm.replaceSelection("", null, "cut"); - }); - } - } - if (e.clipboardData) { - e.clipboardData.clearData(); - var content = lastCopied.text.join("\n"); - // iOS exposes the clipboard API, but seems to discard content inserted into it - e.clipboardData.setData("Text", content); - if (e.clipboardData.getData("Text") == content) { - e.preventDefault(); - return - } - } - // Old-fashioned briefly-focus-a-textarea hack - var kludge = hiddenTextarea(), te = kludge.firstChild; - cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild); - te.value = lastCopied.text.join("\n"); - var hadFocus = document.activeElement; - selectInput(te); - setTimeout(function () { - cm.display.lineSpace.removeChild(kludge); - hadFocus.focus(); - if (hadFocus == div) { input.showPrimarySelection(); } - }, 50); - } - on(div, "copy", onCopyCut); - on(div, "cut", onCopyCut); -}; - -ContentEditableInput.prototype.prepareSelection = function () { - var result = prepareSelection(this.cm, false); - result.focus = this.cm.state.focused; - return result -}; - -ContentEditableInput.prototype.showSelection = function (info, takeFocus) { - if (!info || !this.cm.display.view.length) { return } - if (info.focus || takeFocus) { this.showPrimarySelection(); } - this.showMultipleSelections(info); -}; - -ContentEditableInput.prototype.showPrimarySelection = function () { - var sel = window.getSelection(), cm = this.cm, prim = cm.doc.sel.primary(); - var from = prim.from(), to = prim.to(); - - if (cm.display.viewTo == cm.display.viewFrom || from.line >= cm.display.viewTo || to.line < cm.display.viewFrom) { - sel.removeAllRanges(); - return - } - - var curAnchor = domToPos(cm, sel.anchorNode, sel.anchorOffset); - var curFocus = domToPos(cm, sel.focusNode, sel.focusOffset); - if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad && - cmp(minPos(curAnchor, curFocus), from) == 0 && - cmp(maxPos(curAnchor, curFocus), to) == 0) - { return } - - var view = cm.display.view; - var start = (from.line >= cm.display.viewFrom && posToDOM(cm, from)) || - {node: view[0].measure.map[2], offset: 0}; - var end = to.line < cm.display.viewTo && posToDOM(cm, to); - if (!end) { - var measure = view[view.length - 1].measure; - var map$$1 = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map; - end = {node: map$$1[map$$1.length - 1], offset: map$$1[map$$1.length - 2] - map$$1[map$$1.length - 3]}; - } - - if (!start || !end) { - sel.removeAllRanges(); - return - } - - var old = sel.rangeCount && sel.getRangeAt(0), rng; - try { rng = range(start.node, start.offset, end.offset, end.node); } - catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible - if (rng) { - if (!gecko && cm.state.focused) { - sel.collapse(start.node, start.offset); - if (!rng.collapsed) { - sel.removeAllRanges(); - sel.addRange(rng); - } - } else { - sel.removeAllRanges(); - sel.addRange(rng); - } - if (old && sel.anchorNode == null) { sel.addRange(old); } - else if (gecko) { this.startGracePeriod(); } - } - this.rememberSelection(); -}; - -ContentEditableInput.prototype.startGracePeriod = function () { - var this$1 = this; - - clearTimeout(this.gracePeriod); - this.gracePeriod = setTimeout(function () { - this$1.gracePeriod = false; - if (this$1.selectionChanged()) - { this$1.cm.operation(function () { return this$1.cm.curOp.selectionChanged = true; }); } - }, 20); -}; - -ContentEditableInput.prototype.showMultipleSelections = function (info) { - removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors); - removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection); -}; - -ContentEditableInput.prototype.rememberSelection = function () { - var sel = window.getSelection(); - this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset; - this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset; -}; - -ContentEditableInput.prototype.selectionInEditor = function () { - var sel = window.getSelection(); - if (!sel.rangeCount) { return false } - var node = sel.getRangeAt(0).commonAncestorContainer; - return contains(this.div, node) -}; - -ContentEditableInput.prototype.focus = function () { - if (this.cm.options.readOnly != "nocursor") { - if (!this.selectionInEditor()) - { this.showSelection(this.prepareSelection(), true); } - this.div.focus(); - } -}; -ContentEditableInput.prototype.blur = function () { this.div.blur(); }; -ContentEditableInput.prototype.getField = function () { return this.div }; - -ContentEditableInput.prototype.supportsTouch = function () { return true }; - -ContentEditableInput.prototype.receivedFocus = function () { - var input = this; - if (this.selectionInEditor()) - { this.pollSelection(); } - else - { runInOp(this.cm, function () { return input.cm.curOp.selectionChanged = true; }); } - - function poll() { - if (input.cm.state.focused) { - input.pollSelection(); - input.polling.set(input.cm.options.pollInterval, poll); - } - } - this.polling.set(this.cm.options.pollInterval, poll); -}; - -ContentEditableInput.prototype.selectionChanged = function () { - var sel = window.getSelection(); - return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset || - sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset -}; - -ContentEditableInput.prototype.pollSelection = function () { - if (this.readDOMTimeout != null || this.gracePeriod || !this.selectionChanged()) { return } - var sel = window.getSelection(), cm = this.cm; - // On Android Chrome (version 56, at least), backspacing into an - // uneditable block element will put the cursor in that element, - // and then, because it's not editable, hide the virtual keyboard. - // Because Android doesn't allow us to actually detect backspace - // presses in a sane way, this code checks for when that happens - // and simulates a backspace press in this case. - if (android && chrome && this.cm.options.gutters.length && isInGutter(sel.anchorNode)) { - this.cm.triggerOnKeyDown({type: "keydown", keyCode: 8, preventDefault: Math.abs}); - this.blur(); - this.focus(); - return - } - if (this.composing) { return } - this.rememberSelection(); - var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset); - var head = domToPos(cm, sel.focusNode, sel.focusOffset); - if (anchor && head) { runInOp(cm, function () { - setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll); - if (anchor.bad || head.bad) { cm.curOp.selectionChanged = true; } - }); } -}; - -ContentEditableInput.prototype.pollContent = function () { - if (this.readDOMTimeout != null) { - clearTimeout(this.readDOMTimeout); - this.readDOMTimeout = null; - } - - var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary(); - var from = sel.from(), to = sel.to(); - if (from.ch == 0 && from.line > cm.firstLine()) - { from = Pos(from.line - 1, getLine(cm.doc, from.line - 1).length); } - if (to.ch == getLine(cm.doc, to.line).text.length && to.line < cm.lastLine()) - { to = Pos(to.line + 1, 0); } - if (from.line < display.viewFrom || to.line > display.viewTo - 1) { return false } - - var fromIndex, fromLine, fromNode; - if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) { - fromLine = lineNo(display.view[0].line); - fromNode = display.view[0].node; - } else { - fromLine = lineNo(display.view[fromIndex].line); - fromNode = display.view[fromIndex - 1].node.nextSibling; - } - var toIndex = findViewIndex(cm, to.line); - var toLine, toNode; - if (toIndex == display.view.length - 1) { - toLine = display.viewTo - 1; - toNode = display.lineDiv.lastChild; - } else { - toLine = lineNo(display.view[toIndex + 1].line) - 1; - toNode = display.view[toIndex + 1].node.previousSibling; - } - - if (!fromNode) { return false } - var newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine)); - var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length)); - while (newText.length > 1 && oldText.length > 1) { - if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine--; } - else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++; } - else { break } - } - - var cutFront = 0, cutEnd = 0; - var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length); - while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront)) - { ++cutFront; } - var newBot = lst(newText), oldBot = lst(oldText); - var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0), - oldBot.length - (oldText.length == 1 ? cutFront : 0)); - while (cutEnd < maxCutEnd && - newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) - { ++cutEnd; } - // Try to move start of change to start of selection if ambiguous - if (newText.length == 1 && oldText.length == 1 && fromLine == from.line) { - while (cutFront && cutFront > from.ch && - newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) { - cutFront--; - cutEnd++; - } - } - - newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd).replace(/^\u200b+/, ""); - newText[0] = newText[0].slice(cutFront).replace(/\u200b+$/, ""); - - var chFrom = Pos(fromLine, cutFront); - var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0); - if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) { - replaceRange(cm.doc, newText, chFrom, chTo, "+input"); - return true - } -}; - -ContentEditableInput.prototype.ensurePolled = function () { - this.forceCompositionEnd(); -}; -ContentEditableInput.prototype.reset = function () { - this.forceCompositionEnd(); -}; -ContentEditableInput.prototype.forceCompositionEnd = function () { - if (!this.composing) { return } - clearTimeout(this.readDOMTimeout); - this.composing = null; - this.updateFromDOM(); - this.div.blur(); - this.div.focus(); -}; -ContentEditableInput.prototype.readFromDOMSoon = function () { - var this$1 = this; - - if (this.readDOMTimeout != null) { return } - this.readDOMTimeout = setTimeout(function () { - this$1.readDOMTimeout = null; - if (this$1.composing) { - if (this$1.composing.done) { this$1.composing = null; } - else { return } - } - this$1.updateFromDOM(); - }, 80); -}; - -ContentEditableInput.prototype.updateFromDOM = function () { - var this$1 = this; - - if (this.cm.isReadOnly() || !this.pollContent()) - { runInOp(this.cm, function () { return regChange(this$1.cm); }); } -}; - -ContentEditableInput.prototype.setUneditable = function (node) { - node.contentEditable = "false"; -}; - -ContentEditableInput.prototype.onKeyPress = function (e) { - if (e.charCode == 0) { return } - e.preventDefault(); - if (!this.cm.isReadOnly()) - { operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0); } -}; - -ContentEditableInput.prototype.readOnlyChanged = function (val) { - this.div.contentEditable = String(val != "nocursor"); -}; - -ContentEditableInput.prototype.onContextMenu = function () {}; -ContentEditableInput.prototype.resetPosition = function () {}; - -ContentEditableInput.prototype.needsContentAttribute = true; - -function posToDOM(cm, pos) { - var view = findViewForLine(cm, pos.line); - if (!view || view.hidden) { return null } - var line = getLine(cm.doc, pos.line); - var info = mapFromLineView(view, line, pos.line); - - var order = getOrder(line, cm.doc.direction), side = "left"; - if (order) { - var partPos = getBidiPartAt(order, pos.ch); - side = partPos % 2 ? "right" : "left"; - } - var result = nodeAndOffsetInLineMap(info.map, pos.ch, side); - result.offset = result.collapse == "right" ? result.end : result.start; - return result -} - -function isInGutter(node) { - for (var scan = node; scan; scan = scan.parentNode) - { if (/CodeMirror-gutter-wrapper/.test(scan.className)) { return true } } - return false -} - -function badPos(pos, bad) { if (bad) { pos.bad = true; } return pos } - -function domTextBetween(cm, from, to, fromLine, toLine) { - var text = "", closing = false, lineSep = cm.doc.lineSeparator(); - function recognizeMarker(id) { return function (marker) { return marker.id == id; } } - function close() { - if (closing) { - text += lineSep; - closing = false; - } - } - function addText(str) { - if (str) { - close(); - text += str; - } - } - function walk(node) { - if (node.nodeType == 1) { - var cmText = node.getAttribute("cm-text"); - if (cmText != null) { - addText(cmText || node.textContent.replace(/\u200b/g, "")); - return - } - var markerID = node.getAttribute("cm-marker"), range$$1; - if (markerID) { - var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID)); - if (found.length && (range$$1 = found[0].find())) - { addText(getBetween(cm.doc, range$$1.from, range$$1.to).join(lineSep)); } - return - } - if (node.getAttribute("contenteditable") == "false") { return } - var isBlock = /^(pre|div|p)$/i.test(node.nodeName); - if (isBlock) { close(); } - for (var i = 0; i < node.childNodes.length; i++) - { walk(node.childNodes[i]); } - if (isBlock) { closing = true; } - } else if (node.nodeType == 3) { - addText(node.nodeValue); - } - } - for (;;) { - walk(from); - if (from == to) { break } - from = from.nextSibling; - } - return text -} - -function domToPos(cm, node, offset) { - var lineNode; - if (node == cm.display.lineDiv) { - lineNode = cm.display.lineDiv.childNodes[offset]; - if (!lineNode) { return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true) } - node = null; offset = 0; - } else { - for (lineNode = node;; lineNode = lineNode.parentNode) { - if (!lineNode || lineNode == cm.display.lineDiv) { return null } - if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) { break } - } - } - for (var i = 0; i < cm.display.view.length; i++) { - var lineView = cm.display.view[i]; - if (lineView.node == lineNode) - { return locateNodeInLineView(lineView, node, offset) } - } -} - -function locateNodeInLineView(lineView, node, offset) { - var wrapper = lineView.text.firstChild, bad = false; - if (!node || !contains(wrapper, node)) { return badPos(Pos(lineNo(lineView.line), 0), true) } - if (node == wrapper) { - bad = true; - node = wrapper.childNodes[offset]; - offset = 0; - if (!node) { - var line = lineView.rest ? lst(lineView.rest) : lineView.line; - return badPos(Pos(lineNo(line), line.text.length), bad) - } - } - - var textNode = node.nodeType == 3 ? node : null, topNode = node; - if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) { - textNode = node.firstChild; - if (offset) { offset = textNode.nodeValue.length; } - } - while (topNode.parentNode != wrapper) { topNode = topNode.parentNode; } - var measure = lineView.measure, maps = measure.maps; - - function find(textNode, topNode, offset) { - for (var i = -1; i < (maps ? maps.length : 0); i++) { - var map$$1 = i < 0 ? measure.map : maps[i]; - for (var j = 0; j < map$$1.length; j += 3) { - var curNode = map$$1[j + 2]; - if (curNode == textNode || curNode == topNode) { - var line = lineNo(i < 0 ? lineView.line : lineView.rest[i]); - var ch = map$$1[j] + offset; - if (offset < 0 || curNode != textNode) { ch = map$$1[j + (offset ? 1 : 0)]; } - return Pos(line, ch) - } - } - } - } - var found = find(textNode, topNode, offset); - if (found) { return badPos(found, bad) } - - // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems - for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) { - found = find(after, after.firstChild, 0); - if (found) - { return badPos(Pos(found.line, found.ch - dist), bad) } - else - { dist += after.textContent.length; } - } - for (var before = topNode.previousSibling, dist$1 = offset; before; before = before.previousSibling) { - found = find(before, before.firstChild, -1); - if (found) - { return badPos(Pos(found.line, found.ch + dist$1), bad) } - else - { dist$1 += before.textContent.length; } - } -} - -// TEXTAREA INPUT STYLE - -var TextareaInput = function(cm) { - this.cm = cm; - // See input.poll and input.reset - this.prevInput = ""; - - // Flag that indicates whether we expect input to appear real soon - // now (after some event like 'keypress' or 'input') and are - // polling intensively. - this.pollingFast = false; - // Self-resetting timeout for the poller - this.polling = new Delayed(); - // Tracks when input.reset has punted to just putting a short - // string into the textarea instead of the full selection. - this.inaccurateSelection = false; - // Used to work around IE issue with selection being forgotten when focus moves away from textarea - this.hasSelection = false; - this.composing = null; -}; - -TextareaInput.prototype.init = function (display) { - var this$1 = this; - - var input = this, cm = this.cm; - - // Wraps and hides input textarea - var div = this.wrapper = hiddenTextarea(); - // The semihidden textarea that is focused when the editor is - // focused, and receives input. - var te = this.textarea = div.firstChild; - display.wrapper.insertBefore(div, display.wrapper.firstChild); - - // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore) - if (ios) { te.style.width = "0px"; } - - on(te, "input", function () { - if (ie && ie_version >= 9 && this$1.hasSelection) { this$1.hasSelection = null; } - input.poll(); - }); - - on(te, "paste", function (e) { - if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return } - - cm.state.pasteIncoming = true; - input.fastPoll(); - }); - - function prepareCopyCut(e) { - if (signalDOMEvent(cm, e)) { return } - if (cm.somethingSelected()) { - setLastCopied({lineWise: false, text: cm.getSelections()}); - if (input.inaccurateSelection) { - input.prevInput = ""; - input.inaccurateSelection = false; - te.value = lastCopied.text.join("\n"); - selectInput(te); - } - } else if (!cm.options.lineWiseCopyCut) { - return - } else { - var ranges = copyableRanges(cm); - setLastCopied({lineWise: true, text: ranges.text}); - if (e.type == "cut") { - cm.setSelections(ranges.ranges, null, sel_dontScroll); - } else { - input.prevInput = ""; - te.value = ranges.text.join("\n"); - selectInput(te); - } - } - if (e.type == "cut") { cm.state.cutIncoming = true; } - } - on(te, "cut", prepareCopyCut); - on(te, "copy", prepareCopyCut); - - on(display.scroller, "paste", function (e) { - if (eventInWidget(display, e) || signalDOMEvent(cm, e)) { return } - cm.state.pasteIncoming = true; - input.focus(); - }); - - // Prevent normal selection in the editor (we handle our own) - on(display.lineSpace, "selectstart", function (e) { - if (!eventInWidget(display, e)) { e_preventDefault(e); } - }); - - on(te, "compositionstart", function () { - var start = cm.getCursor("from"); - if (input.composing) { input.composing.range.clear(); } - input.composing = { - start: start, - range: cm.markText(start, cm.getCursor("to"), {className: "CodeMirror-composing"}) - }; - }); - on(te, "compositionend", function () { - if (input.composing) { - input.poll(); - input.composing.range.clear(); - input.composing = null; - } - }); -}; - -TextareaInput.prototype.prepareSelection = function () { - // Redraw the selection and/or cursor - var cm = this.cm, display = cm.display, doc = cm.doc; - var result = prepareSelection(cm); - - // Move the hidden textarea near the cursor to prevent scrolling artifacts - if (cm.options.moveInputWithCursor) { - var headPos = cursorCoords(cm, doc.sel.primary().head, "div"); - var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect(); - result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10, - headPos.top + lineOff.top - wrapOff.top)); - result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10, - headPos.left + lineOff.left - wrapOff.left)); - } - - return result -}; - -TextareaInput.prototype.showSelection = function (drawn) { - var cm = this.cm, display = cm.display; - removeChildrenAndAdd(display.cursorDiv, drawn.cursors); - removeChildrenAndAdd(display.selectionDiv, drawn.selection); - if (drawn.teTop != null) { - this.wrapper.style.top = drawn.teTop + "px"; - this.wrapper.style.left = drawn.teLeft + "px"; - } -}; - -// Reset the input to correspond to the selection (or to be empty, -// when not typing and nothing is selected) -TextareaInput.prototype.reset = function (typing) { - if (this.contextMenuPending || this.composing) { return } - var minimal, selected, cm = this.cm, doc = cm.doc; - if (cm.somethingSelected()) { - this.prevInput = ""; - var range$$1 = doc.sel.primary(); - minimal = hasCopyEvent && - (range$$1.to().line - range$$1.from().line > 100 || (selected = cm.getSelection()).length > 1000); - var content = minimal ? "-" : selected || cm.getSelection(); - this.textarea.value = content; - if (cm.state.focused) { selectInput(this.textarea); } - if (ie && ie_version >= 9) { this.hasSelection = content; } - } else if (!typing) { - this.prevInput = this.textarea.value = ""; - if (ie && ie_version >= 9) { this.hasSelection = null; } - } - this.inaccurateSelection = minimal; -}; - -TextareaInput.prototype.getField = function () { return this.textarea }; - -TextareaInput.prototype.supportsTouch = function () { return false }; - -TextareaInput.prototype.focus = function () { - if (this.cm.options.readOnly != "nocursor" && (!mobile || activeElt() != this.textarea)) { - try { this.textarea.focus(); } - catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM - } -}; - -TextareaInput.prototype.blur = function () { this.textarea.blur(); }; - -TextareaInput.prototype.resetPosition = function () { - this.wrapper.style.top = this.wrapper.style.left = 0; -}; - -TextareaInput.prototype.receivedFocus = function () { this.slowPoll(); }; - -// Poll for input changes, using the normal rate of polling. This -// runs as long as the editor is focused. -TextareaInput.prototype.slowPoll = function () { - var this$1 = this; - - if (this.pollingFast) { return } - this.polling.set(this.cm.options.pollInterval, function () { - this$1.poll(); - if (this$1.cm.state.focused) { this$1.slowPoll(); } - }); -}; - -// When an event has just come in that is likely to add or change -// something in the input textarea, we poll faster, to ensure that -// the change appears on the screen quickly. -TextareaInput.prototype.fastPoll = function () { - var missed = false, input = this; - input.pollingFast = true; - function p() { - var changed = input.poll(); - if (!changed && !missed) {missed = true; input.polling.set(60, p);} - else {input.pollingFast = false; input.slowPoll();} - } - input.polling.set(20, p); -}; - -// Read input from the textarea, and update the document to match. -// When something is selected, it is present in the textarea, and -// selected (unless it is huge, in which case a placeholder is -// used). When nothing is selected, the cursor sits after previously -// seen text (can be empty), which is stored in prevInput (we must -// not reset the textarea when typing, because that breaks IME). -TextareaInput.prototype.poll = function () { - var this$1 = this; - - var cm = this.cm, input = this.textarea, prevInput = this.prevInput; - // Since this is called a *lot*, try to bail out as cheaply as - // possible when it is clear that nothing happened. hasSelection - // will be the case when there is a lot of text in the textarea, - // in which case reading its value would be expensive. - if (this.contextMenuPending || !cm.state.focused || - (hasSelection(input) && !prevInput && !this.composing) || - cm.isReadOnly() || cm.options.disableInput || cm.state.keySeq) - { return false } - - var text = input.value; - // If nothing changed, bail. - if (text == prevInput && !cm.somethingSelected()) { return false } - // Work around nonsensical selection resetting in IE9/10, and - // inexplicable appearance of private area unicode characters on - // some key combos in Mac (#2689). - if (ie && ie_version >= 9 && this.hasSelection === text || - mac && /[\uf700-\uf7ff]/.test(text)) { - cm.display.input.reset(); - return false - } - - if (cm.doc.sel == cm.display.selForContextMenu) { - var first = text.charCodeAt(0); - if (first == 0x200b && !prevInput) { prevInput = "\u200b"; } - if (first == 0x21da) { this.reset(); return this.cm.execCommand("undo") } - } - // Find the part of the input that is actually new - var same = 0, l = Math.min(prevInput.length, text.length); - while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) { ++same; } - - runInOp(cm, function () { - applyTextInput(cm, text.slice(same), prevInput.length - same, - null, this$1.composing ? "*compose" : null); - - // Don't leave long text in the textarea, since it makes further polling slow - if (text.length > 1000 || text.indexOf("\n") > -1) { input.value = this$1.prevInput = ""; } - else { this$1.prevInput = text; } - - if (this$1.composing) { - this$1.composing.range.clear(); - this$1.composing.range = cm.markText(this$1.composing.start, cm.getCursor("to"), - {className: "CodeMirror-composing"}); - } - }); - return true -}; - -TextareaInput.prototype.ensurePolled = function () { - if (this.pollingFast && this.poll()) { this.pollingFast = false; } -}; - -TextareaInput.prototype.onKeyPress = function () { - if (ie && ie_version >= 9) { this.hasSelection = null; } - this.fastPoll(); -}; - -TextareaInput.prototype.onContextMenu = function (e) { - var input = this, cm = input.cm, display = cm.display, te = input.textarea; - var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop; - if (!pos || presto) { return } // Opera is difficult. - - // Reset the current text selection only if the click is done outside of the selection - // and 'resetSelectionOnContextMenu' option is true. - var reset = cm.options.resetSelectionOnContextMenu; - if (reset && cm.doc.sel.contains(pos) == -1) - { operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll); } - - var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText; - input.wrapper.style.cssText = "position: absolute"; - var wrapperBox = input.wrapper.getBoundingClientRect(); - te.style.cssText = "position: absolute; width: 30px; height: 30px;\n top: " + (e.clientY - wrapperBox.top - 5) + "px; left: " + (e.clientX - wrapperBox.left - 5) + "px;\n z-index: 1000; background: " + (ie ? "rgba(255, 255, 255, .05)" : "transparent") + ";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);"; - var oldScrollY; - if (webkit) { oldScrollY = window.scrollY; } // Work around Chrome issue (#2712) - display.input.focus(); - if (webkit) { window.scrollTo(null, oldScrollY); } - display.input.reset(); - // Adds "Select all" to context menu in FF - if (!cm.somethingSelected()) { te.value = input.prevInput = " "; } - input.contextMenuPending = true; - display.selForContextMenu = cm.doc.sel; - clearTimeout(display.detectingSelectAll); - - // Select-all will be greyed out if there's nothing to select, so - // this adds a zero-width space so that we can later check whether - // it got selected. - function prepareSelectAllHack() { - if (te.selectionStart != null) { - var selected = cm.somethingSelected(); - var extval = "\u200b" + (selected ? te.value : ""); - te.value = "\u21da"; // Used to catch context-menu undo - te.value = extval; - input.prevInput = selected ? "" : "\u200b"; - te.selectionStart = 1; te.selectionEnd = extval.length; - // Re-set this, in case some other handler touched the - // selection in the meantime. - display.selForContextMenu = cm.doc.sel; - } - } - function rehide() { - input.contextMenuPending = false; - input.wrapper.style.cssText = oldWrapperCSS; - te.style.cssText = oldCSS; - if (ie && ie_version < 9) { display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos); } - - // Try to detect the user choosing select-all - if (te.selectionStart != null) { - if (!ie || (ie && ie_version < 9)) { prepareSelectAllHack(); } - var i = 0, poll = function () { - if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 && - te.selectionEnd > 0 && input.prevInput == "\u200b") { - operation(cm, selectAll)(cm); - } else if (i++ < 10) { - display.detectingSelectAll = setTimeout(poll, 500); - } else { - display.selForContextMenu = null; - display.input.reset(); - } - }; - display.detectingSelectAll = setTimeout(poll, 200); - } - } - - if (ie && ie_version >= 9) { prepareSelectAllHack(); } - if (captureRightClick) { - e_stop(e); - var mouseup = function () { - off(window, "mouseup", mouseup); - setTimeout(rehide, 20); - }; - on(window, "mouseup", mouseup); - } else { - setTimeout(rehide, 50); - } -}; - -TextareaInput.prototype.readOnlyChanged = function (val) { - if (!val) { this.reset(); } - this.textarea.disabled = val == "nocursor"; -}; - -TextareaInput.prototype.setUneditable = function () {}; - -TextareaInput.prototype.needsContentAttribute = false; - -function fromTextArea(textarea, options) { - options = options ? copyObj(options) : {}; - options.value = textarea.value; - if (!options.tabindex && textarea.tabIndex) - { options.tabindex = textarea.tabIndex; } - if (!options.placeholder && textarea.placeholder) - { options.placeholder = textarea.placeholder; } - // Set autofocus to true if this textarea is focused, or if it has - // autofocus and no other element is focused. - if (options.autofocus == null) { - var hasFocus = activeElt(); - options.autofocus = hasFocus == textarea || - textarea.getAttribute("autofocus") != null && hasFocus == document.body; - } - - function save() {textarea.value = cm.getValue();} - - var realSubmit; - if (textarea.form) { - on(textarea.form, "submit", save); - // Deplorable hack to make the submit method do the right thing. - if (!options.leaveSubmitMethodAlone) { - var form = textarea.form; - realSubmit = form.submit; - try { - var wrappedSubmit = form.submit = function () { - save(); - form.submit = realSubmit; - form.submit(); - form.submit = wrappedSubmit; - }; - } catch(e) {} - } - } - - options.finishInit = function (cm) { - cm.save = save; - cm.getTextArea = function () { return textarea; }; - cm.toTextArea = function () { - cm.toTextArea = isNaN; // Prevent this from being ran twice - save(); - textarea.parentNode.removeChild(cm.getWrapperElement()); - textarea.style.display = ""; - if (textarea.form) { - off(textarea.form, "submit", save); - if (typeof textarea.form.submit == "function") - { textarea.form.submit = realSubmit; } - } - }; - }; - - textarea.style.display = "none"; - var cm = CodeMirror$1(function (node) { return textarea.parentNode.insertBefore(node, textarea.nextSibling); }, - options); - return cm -} - -function addLegacyProps(CodeMirror) { - CodeMirror.off = off; - CodeMirror.on = on; - CodeMirror.wheelEventPixels = wheelEventPixels; - CodeMirror.Doc = Doc; - CodeMirror.splitLines = splitLinesAuto; - CodeMirror.countColumn = countColumn; - CodeMirror.findColumn = findColumn; - CodeMirror.isWordChar = isWordCharBasic; - CodeMirror.Pass = Pass; - CodeMirror.signal = signal; - CodeMirror.Line = Line; - CodeMirror.changeEnd = changeEnd; - CodeMirror.scrollbarModel = scrollbarModel; - CodeMirror.Pos = Pos; - CodeMirror.cmpPos = cmp; - CodeMirror.modes = modes; - CodeMirror.mimeModes = mimeModes; - CodeMirror.resolveMode = resolveMode; - CodeMirror.getMode = getMode; - CodeMirror.modeExtensions = modeExtensions; - CodeMirror.extendMode = extendMode; - CodeMirror.copyState = copyState; - CodeMirror.startState = startState; - CodeMirror.innerMode = innerMode; - CodeMirror.commands = commands; - CodeMirror.keyMap = keyMap; - CodeMirror.keyName = keyName; - CodeMirror.isModifierKey = isModifierKey; - CodeMirror.lookupKey = lookupKey; - CodeMirror.normalizeKeyMap = normalizeKeyMap; - CodeMirror.StringStream = StringStream; - CodeMirror.SharedTextMarker = SharedTextMarker; - CodeMirror.TextMarker = TextMarker; - CodeMirror.LineWidget = LineWidget; - CodeMirror.e_preventDefault = e_preventDefault; - CodeMirror.e_stopPropagation = e_stopPropagation; - CodeMirror.e_stop = e_stop; - CodeMirror.addClass = addClass; - CodeMirror.contains = contains; - CodeMirror.rmClass = rmClass; - CodeMirror.keyNames = keyNames; -} - -// EDITOR CONSTRUCTOR - -defineOptions(CodeMirror$1); - -addEditorMethods(CodeMirror$1); - -// Set up methods on CodeMirror's prototype to redirect to the editor's document. -var dontDelegate = "iter insert remove copy getEditor constructor".split(" "); -for (var prop in Doc.prototype) { if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0) - { CodeMirror$1.prototype[prop] = (function(method) { - return function() {return method.apply(this.doc, arguments)} - })(Doc.prototype[prop]); } } - -eventMixin(Doc); - -// INPUT HANDLING - -CodeMirror$1.inputStyles = {"textarea": TextareaInput, "contenteditable": ContentEditableInput}; - -// MODE DEFINITION AND QUERYING - -// Extra arguments are stored as the mode's dependencies, which is -// used by (legacy) mechanisms like loadmode.js to automatically -// load a mode. (Preferred mechanism is the require/define calls.) -CodeMirror$1.defineMode = function(name/*, mode, …*/) { - if (!CodeMirror$1.defaults.mode && name != "null") { CodeMirror$1.defaults.mode = name; } - defineMode.apply(this, arguments); -}; - -CodeMirror$1.defineMIME = defineMIME; - -// Minimal default mode. -CodeMirror$1.defineMode("null", function () { return ({token: function (stream) { return stream.skipToEnd(); }}); }); -CodeMirror$1.defineMIME("text/plain", "null"); - -// EXTENSIONS - -CodeMirror$1.defineExtension = function (name, func) { - CodeMirror$1.prototype[name] = func; -}; -CodeMirror$1.defineDocExtension = function (name, func) { - Doc.prototype[name] = func; -}; - -CodeMirror$1.fromTextArea = fromTextArea; - -addLegacyProps(CodeMirror$1); - -CodeMirror$1.version = "5.27.4"; - -return CodeMirror$1; - -}))); diff --git a/pig-register/src/main/resources/static/console-ui/public/js/codemirror.lib.clike-lint.js b/pig-register/src/main/resources/static/console-ui/public/js/codemirror.lib.clike-lint.js deleted file mode 100644 index 5ea9b185..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/codemirror.lib.clike-lint.js +++ /dev/null @@ -1,802 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { -"use strict"; - -function Context(indented, column, type, info, align, prev) { - this.indented = indented; - this.column = column; - this.type = type; - this.info = info; - this.align = align; - this.prev = prev; -} -function pushContext(state, col, type, info) { - var indent = state.indented; - if (state.context && state.context.type == "statement" && type != "statement") - indent = state.context.indented; - return state.context = new Context(indent, col, type, info, null, state.context); -} -function popContext(state) { - var t = state.context.type; - if (t == ")" || t == "]" || t == "}") - state.indented = state.context.indented; - return state.context = state.context.prev; -} - -function typeBefore(stream, state, pos) { - if (state.prevToken == "variable" || state.prevToken == "type") return true; - if (/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(stream.string.slice(0, pos))) return true; - if (state.typeAtEndOfLine && stream.column() == stream.indentation()) return true; -} - -function isTopScope(context) { - for (;;) { - if (!context || context.type == "top") return true; - if (context.type == "}" && context.prev.info != "namespace") return false; - context = context.prev; - } -} - -CodeMirror.defineMode("clike", function(config, parserConfig) { - var indentUnit = config.indentUnit, - statementIndentUnit = parserConfig.statementIndentUnit || indentUnit, - dontAlignCalls = parserConfig.dontAlignCalls, - keywords = parserConfig.keywords || {}, - types = parserConfig.types || {}, - builtin = parserConfig.builtin || {}, - blockKeywords = parserConfig.blockKeywords || {}, - defKeywords = parserConfig.defKeywords || {}, - atoms = parserConfig.atoms || {}, - hooks = parserConfig.hooks || {}, - multiLineStrings = parserConfig.multiLineStrings, - indentStatements = parserConfig.indentStatements !== false, - indentSwitch = parserConfig.indentSwitch !== false, - namespaceSeparator = parserConfig.namespaceSeparator, - isPunctuationChar = parserConfig.isPunctuationChar || /[\[\]{}\(\),;\:\.]/, - numberStart = parserConfig.numberStart || /[\d\.]/, - number = parserConfig.number || /^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i, - isOperatorChar = parserConfig.isOperatorChar || /[+\-*&%=<>!?|\/]/, - isIdentifierChar = parserConfig.isIdentifierChar || /[\w\$_\xa1-\uffff]/; - - var curPunc, isDefKeyword; - - function tokenBase(stream, state) { - var ch = stream.next(); - if (hooks[ch]) { - var result = hooks[ch](stream, state); - if (result !== false) return result; - } - if (ch == '"' || ch == "'") { - state.tokenize = tokenString(ch); - return state.tokenize(stream, state); - } - if (isPunctuationChar.test(ch)) { - curPunc = ch; - return null; - } - if (numberStart.test(ch)) { - stream.backUp(1) - if (stream.match(number)) return "number" - stream.next() - } - if (ch == "/") { - if (stream.eat("*")) { - state.tokenize = tokenComment; - return tokenComment(stream, state); - } - if (stream.eat("/")) { - stream.skipToEnd(); - return "comment"; - } - } - if (isOperatorChar.test(ch)) { - while (!stream.match(/^\/[\/*]/, false) && stream.eat(isOperatorChar)) {} - return "operator"; - } - stream.eatWhile(isIdentifierChar); - if (namespaceSeparator) while (stream.match(namespaceSeparator)) - stream.eatWhile(isIdentifierChar); - - var cur = stream.current(); - if (contains(keywords, cur)) { - if (contains(blockKeywords, cur)) curPunc = "newstatement"; - if (contains(defKeywords, cur)) isDefKeyword = true; - return "keyword"; - } - if (contains(types, cur)) return "type"; - if (contains(builtin, cur)) { - if (contains(blockKeywords, cur)) curPunc = "newstatement"; - return "builtin"; - } - if (contains(atoms, cur)) return "atom"; - return "variable"; - } - - function tokenString(quote) { - return function(stream, state) { - var escaped = false, next, end = false; - while ((next = stream.next()) != null) { - if (next == quote && !escaped) {end = true; break;} - escaped = !escaped && next == "\\"; - } - if (end || !(escaped || multiLineStrings)) - state.tokenize = null; - return "string"; - }; - } - - function tokenComment(stream, state) { - var maybeEnd = false, ch; - while (ch = stream.next()) { - if (ch == "/" && maybeEnd) { - state.tokenize = null; - break; - } - maybeEnd = (ch == "*"); - } - return "comment"; - } - - function maybeEOL(stream, state) { - if (parserConfig.typeFirstDefinitions && stream.eol() && isTopScope(state.context)) - state.typeAtEndOfLine = typeBefore(stream, state, stream.pos) - } - - // Interface - - return { - startState: function(basecolumn) { - return { - tokenize: null, - context: new Context((basecolumn || 0) - indentUnit, 0, "top", null, false), - indented: 0, - startOfLine: true, - prevToken: null - }; - }, - - token: function(stream, state) { - var ctx = state.context; - if (stream.sol()) { - if (ctx.align == null) ctx.align = false; - state.indented = stream.indentation(); - state.startOfLine = true; - } - if (stream.eatSpace()) { maybeEOL(stream, state); return null; } - curPunc = isDefKeyword = null; - var style = (state.tokenize || tokenBase)(stream, state); - if (style == "comment" || style == "meta") return style; - if (ctx.align == null) ctx.align = true; - - if (curPunc == ";" || curPunc == ":" || (curPunc == "," && stream.match(/^\s*(?:\/\/.*)?$/, false))) - while (state.context.type == "statement") popContext(state); - else if (curPunc == "{") pushContext(state, stream.column(), "}"); - else if (curPunc == "[") pushContext(state, stream.column(), "]"); - else if (curPunc == "(") pushContext(state, stream.column(), ")"); - else if (curPunc == "}") { - while (ctx.type == "statement") ctx = popContext(state); - if (ctx.type == "}") ctx = popContext(state); - while (ctx.type == "statement") ctx = popContext(state); - } - else if (curPunc == ctx.type) popContext(state); - else if (indentStatements && - (((ctx.type == "}" || ctx.type == "top") && curPunc != ";") || - (ctx.type == "statement" && curPunc == "newstatement"))) { - pushContext(state, stream.column(), "statement", stream.current()); - } - - if (style == "variable" && - ((state.prevToken == "def" || - (parserConfig.typeFirstDefinitions && typeBefore(stream, state, stream.start) && - isTopScope(state.context) && stream.match(/^\s*\(/, false))))) - style = "def"; - - if (hooks.token) { - var result = hooks.token(stream, state, style); - if (result !== undefined) style = result; - } - - if (style == "def" && parserConfig.styleDefs === false) style = "variable"; - - state.startOfLine = false; - state.prevToken = isDefKeyword ? "def" : style || curPunc; - maybeEOL(stream, state); - return style; - }, - - indent: function(state, textAfter) { - if (state.tokenize != tokenBase && state.tokenize != null || state.typeAtEndOfLine) return CodeMirror.Pass; - var ctx = state.context, firstChar = textAfter && textAfter.charAt(0); - if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev; - if (parserConfig.dontIndentStatements) - while (ctx.type == "statement" && parserConfig.dontIndentStatements.test(ctx.info)) - ctx = ctx.prev - if (hooks.indent) { - var hook = hooks.indent(state, ctx, textAfter); - if (typeof hook == "number") return hook - } - var closing = firstChar == ctx.type; - var switchBlock = ctx.prev && ctx.prev.info == "switch"; - if (parserConfig.allmanIndentation && /[{(]/.test(firstChar)) { - while (ctx.type != "top" && ctx.type != "}") ctx = ctx.prev - return ctx.indented - } - if (ctx.type == "statement") - return ctx.indented + (firstChar == "{" ? 0 : statementIndentUnit); - if (ctx.align && (!dontAlignCalls || ctx.type != ")")) - return ctx.column + (closing ? 0 : 1); - if (ctx.type == ")" && !closing) - return ctx.indented + statementIndentUnit; - - return ctx.indented + (closing ? 0 : indentUnit) + - (!closing && switchBlock && !/^(?:case|default)\b/.test(textAfter) ? indentUnit : 0); - }, - - electricInput: indentSwitch ? /^\s*(?:case .*?:|default:|\{\}?|\})$/ : /^\s*[{}]$/, - blockCommentStart: "/*", - blockCommentEnd: "*/", - lineComment: "//", - fold: "brace" - }; -}); - - function words(str) { - var obj = {}, words = str.split(" "); - for (var i = 0; i < words.length; ++i) obj[words[i]] = true; - return obj; - } - function contains(words, word) { - if (typeof words === "function") { - return words(word); - } else { - return words.propertyIsEnumerable(word); - } - } - var cKeywords = "auto if break case register continue return default do sizeof " + - "static else struct switch extern typedef union for goto while enum const volatile"; - var cTypes = "int long char short double float unsigned signed void size_t ptrdiff_t"; - - function cppHook(stream, state) { - if (!state.startOfLine) return false - for (var ch, next = null; ch = stream.peek();) { - if (ch == "\\" && stream.match(/^.$/)) { - next = cppHook - break - } else if (ch == "/" && stream.match(/^\/[\/\*]/, false)) { - break - } - stream.next() - } - state.tokenize = next - return "meta" - } - - function pointerHook(_stream, state) { - if (state.prevToken == "type") return "type"; - return false; - } - - function cpp14Literal(stream) { - stream.eatWhile(/[\w\.']/); - return "number"; - } - - function cpp11StringHook(stream, state) { - stream.backUp(1); - // Raw strings. - if (stream.match(/(R|u8R|uR|UR|LR)/)) { - var match = stream.match(/"([^\s\\()]{0,16})\(/); - if (!match) { - return false; - } - state.cpp11RawStringDelim = match[1]; - state.tokenize = tokenRawString; - return tokenRawString(stream, state); - } - // Unicode strings/chars. - if (stream.match(/(u8|u|U|L)/)) { - if (stream.match(/["']/, /* eat */ false)) { - return "string"; - } - return false; - } - // Ignore this hook. - stream.next(); - return false; - } - - function cppLooksLikeConstructor(word) { - var lastTwo = /(\w+)::~?(\w+)$/.exec(word); - return lastTwo && lastTwo[1] == lastTwo[2]; - } - - // C#-style strings where "" escapes a quote. - function tokenAtString(stream, state) { - var next; - while ((next = stream.next()) != null) { - if (next == '"' && !stream.eat('"')) { - state.tokenize = null; - break; - } - } - return "string"; - } - - // C++11 raw string literal is "( anything )", where - // can be a string up to 16 characters long. - function tokenRawString(stream, state) { - // Escape characters that have special regex meanings. - var delim = state.cpp11RawStringDelim.replace(/[^\w\s]/g, '\\$&'); - var match = stream.match(new RegExp(".*?\\)" + delim + '"')); - if (match) - state.tokenize = null; - else - stream.skipToEnd(); - return "string"; - } - - function def(mimes, mode) { - if (typeof mimes == "string") mimes = [mimes]; - var words = []; - function add(obj) { - if (obj) for (var prop in obj) if (obj.hasOwnProperty(prop)) - words.push(prop); - } - add(mode.keywords); - add(mode.types); - add(mode.builtin); - add(mode.atoms); - if (words.length) { - mode.helperType = mimes[0]; - CodeMirror.registerHelper("hintWords", mimes[0], words); - } - - for (var i = 0; i < mimes.length; ++i) - CodeMirror.defineMIME(mimes[i], mode); - } - - def(["text/x-csrc", "text/x-c", "text/x-chdr"], { - name: "clike", - keywords: words(cKeywords), - types: words(cTypes + " bool _Complex _Bool float_t double_t intptr_t intmax_t " + - "int8_t int16_t int32_t int64_t uintptr_t uintmax_t uint8_t uint16_t " + - "uint32_t uint64_t"), - blockKeywords: words("case do else for if switch while struct"), - defKeywords: words("struct"), - typeFirstDefinitions: true, - atoms: words("null true false"), - hooks: {"#": cppHook, "*": pointerHook}, - modeProps: {fold: ["brace", "include"]} - }); - - def(["text/x-c++src", "text/x-c++hdr"], { - name: "clike", - keywords: words(cKeywords + " asm dynamic_cast namespace reinterpret_cast try explicit new " + - "static_cast typeid catch operator template typename class friend private " + - "this using const_cast inline public throw virtual delete mutable protected " + - "alignas alignof constexpr decltype nullptr noexcept thread_local final " + - "static_assert override"), - types: words(cTypes + " bool wchar_t"), - blockKeywords: words("catch class do else finally for if struct switch try while"), - defKeywords: words("class namespace struct enum union"), - typeFirstDefinitions: true, - atoms: words("true false null"), - dontIndentStatements: /^template$/, - isIdentifierChar: /[\w\$_~\xa1-\uffff]/, - hooks: { - "#": cppHook, - "*": pointerHook, - "u": cpp11StringHook, - "U": cpp11StringHook, - "L": cpp11StringHook, - "R": cpp11StringHook, - "0": cpp14Literal, - "1": cpp14Literal, - "2": cpp14Literal, - "3": cpp14Literal, - "4": cpp14Literal, - "5": cpp14Literal, - "6": cpp14Literal, - "7": cpp14Literal, - "8": cpp14Literal, - "9": cpp14Literal, - token: function(stream, state, style) { - if (style == "variable" && stream.peek() == "(" && - (state.prevToken == ";" || state.prevToken == null || - state.prevToken == "}") && - cppLooksLikeConstructor(stream.current())) - return "def"; - } - }, - namespaceSeparator: "::", - modeProps: {fold: ["brace", "include"]} - }); - - def("text/x-java", { - name: "clike", - keywords: words("abstract assert break case catch class const continue default " + - "do else enum extends final finally float for goto if implements import " + - "instanceof interface native new package private protected public " + - "return static strictfp super switch synchronized this throw throws transient " + - "try volatile while @interface"), - types: words("byte short int long float double boolean char void Boolean Byte Character Double Float " + - "Integer Long Number Object Short String StringBuffer StringBuilder Void"), - blockKeywords: words("catch class do else finally for if switch try while"), - defKeywords: words("class interface package enum @interface"), - typeFirstDefinitions: true, - atoms: words("true false null"), - number: /^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i, - hooks: { - "@": function(stream) { - // Don't match the @interface keyword. - if (stream.match('interface', false)) return false; - - stream.eatWhile(/[\w\$_]/); - return "meta"; - } - }, - modeProps: {fold: ["brace", "import"]} - }); - - def("text/x-csharp", { - name: "clike", - keywords: words("abstract as async await base break case catch checked class const continue" + - " default delegate do else enum event explicit extern finally fixed for" + - " foreach goto if implicit in interface internal is lock namespace new" + - " operator out override params private protected public readonly ref return sealed" + - " sizeof stackalloc static struct switch this throw try typeof unchecked" + - " unsafe using virtual void volatile while add alias ascending descending dynamic from get" + - " global group into join let orderby partial remove select set value var yield"), - types: words("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func" + - " Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32" + - " UInt64 bool byte char decimal double short int long object" + - " sbyte float string ushort uint ulong"), - blockKeywords: words("catch class do else finally for foreach if struct switch try while"), - defKeywords: words("class interface namespace struct var"), - typeFirstDefinitions: true, - atoms: words("true false null"), - hooks: { - "@": function(stream, state) { - if (stream.eat('"')) { - state.tokenize = tokenAtString; - return tokenAtString(stream, state); - } - stream.eatWhile(/[\w\$_]/); - return "meta"; - } - } - }); - - function tokenTripleString(stream, state) { - var escaped = false; - while (!stream.eol()) { - if (!escaped && stream.match('"""')) { - state.tokenize = null; - break; - } - escaped = stream.next() == "\\" && !escaped; - } - return "string"; - } - - def("text/x-scala", { - name: "clike", - keywords: words( - - /* scala */ - "abstract case catch class def do else extends final finally for forSome if " + - "implicit import lazy match new null object override package private protected return " + - "sealed super this throw trait try type val var while with yield _ " + - - /* package scala */ - "assert assume require print println printf readLine readBoolean readByte readShort " + - "readChar readInt readLong readFloat readDouble" - ), - types: words( - "AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either " + - "Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable " + - "Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering " + - "Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder " + - "StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector " + - - /* package java.lang */ - "Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable " + - "Compiler Double Exception Float Integer Long Math Number Object Package Pair Process " + - "Runtime Runnable SecurityManager Short StackTraceElement StrictMath String " + - "StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void" - ), - multiLineStrings: true, - blockKeywords: words("catch class enum do else finally for forSome if match switch try while"), - defKeywords: words("class enum def object package trait type val var"), - atoms: words("true false null"), - indentStatements: false, - indentSwitch: false, - isOperatorChar: /[+\-*&%=<>!?|\/#:@]/, - hooks: { - "@": function(stream) { - stream.eatWhile(/[\w\$_]/); - return "meta"; - }, - '"': function(stream, state) { - if (!stream.match('""')) return false; - state.tokenize = tokenTripleString; - return state.tokenize(stream, state); - }, - "'": function(stream) { - stream.eatWhile(/[\w\$_\xa1-\uffff]/); - return "atom"; - }, - "=": function(stream, state) { - var cx = state.context - if (cx.type == "}" && cx.align && stream.eat(">")) { - state.context = new Context(cx.indented, cx.column, cx.type, cx.info, null, cx.prev) - return "operator" - } else { - return false - } - } - }, - modeProps: {closeBrackets: {triples: '"'}} - }); - - function tokenKotlinString(tripleString){ - return function (stream, state) { - var escaped = false, next, end = false; - while (!stream.eol()) { - if (!tripleString && !escaped && stream.match('"') ) {end = true; break;} - if (tripleString && stream.match('"""')) {end = true; break;} - next = stream.next(); - if(!escaped && next == "$" && stream.match('{')) - stream.skipTo("}"); - escaped = !escaped && next == "\\" && !tripleString; - } - if (end || !tripleString) - state.tokenize = null; - return "string"; - } - } - - def("text/x-kotlin", { - name: "clike", - keywords: words( - /*keywords*/ - "package as typealias class interface this super val " + - "var fun for is in This throw return " + - "break continue object if else while do try when !in !is as? " + - - /*soft keywords*/ - "file import where by get set abstract enum open inner override private public internal " + - "protected catch finally out final vararg reified dynamic companion constructor init " + - "sealed field property receiver param sparam lateinit data inline noinline tailrec " + - "external annotation crossinline const operator infix suspend" - ), - types: words( - /* package java.lang */ - "Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable " + - "Compiler Double Exception Float Integer Long Math Number Object Package Pair Process " + - "Runtime Runnable SecurityManager Short StackTraceElement StrictMath String " + - "StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void" - ), - intendSwitch: false, - indentStatements: false, - multiLineStrings: true, - number: /^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i, - blockKeywords: words("catch class do else finally for if where try while enum"), - defKeywords: words("class val var object package interface fun"), - atoms: words("true false null this"), - hooks: { - '"': function(stream, state) { - state.tokenize = tokenKotlinString(stream.match('""')); - return state.tokenize(stream, state); - } - }, - modeProps: {closeBrackets: {triples: '"'}} - }); - - def(["x-shader/x-vertex", "x-shader/x-fragment"], { - name: "clike", - keywords: words("sampler1D sampler2D sampler3D samplerCube " + - "sampler1DShadow sampler2DShadow " + - "const attribute uniform varying " + - "break continue discard return " + - "for while do if else struct " + - "in out inout"), - types: words("float int bool void " + - "vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 " + - "mat2 mat3 mat4"), - blockKeywords: words("for while do if else struct"), - builtin: words("radians degrees sin cos tan asin acos atan " + - "pow exp log exp2 sqrt inversesqrt " + - "abs sign floor ceil fract mod min max clamp mix step smoothstep " + - "length distance dot cross normalize ftransform faceforward " + - "reflect refract matrixCompMult " + - "lessThan lessThanEqual greaterThan greaterThanEqual " + - "equal notEqual any all not " + - "texture1D texture1DProj texture1DLod texture1DProjLod " + - "texture2D texture2DProj texture2DLod texture2DProjLod " + - "texture3D texture3DProj texture3DLod texture3DProjLod " + - "textureCube textureCubeLod " + - "shadow1D shadow2D shadow1DProj shadow2DProj " + - "shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod " + - "dFdx dFdy fwidth " + - "noise1 noise2 noise3 noise4"), - atoms: words("true false " + - "gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex " + - "gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 " + - "gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 " + - "gl_FogCoord gl_PointCoord " + - "gl_Position gl_PointSize gl_ClipVertex " + - "gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor " + - "gl_TexCoord gl_FogFragCoord " + - "gl_FragCoord gl_FrontFacing " + - "gl_FragData gl_FragDepth " + - "gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix " + - "gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse " + - "gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse " + - "gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose " + - "gl_ProjectionMatrixInverseTranspose " + - "gl_ModelViewProjectionMatrixInverseTranspose " + - "gl_TextureMatrixInverseTranspose " + - "gl_NormalScale gl_DepthRange gl_ClipPlane " + - "gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel " + - "gl_FrontLightModelProduct gl_BackLightModelProduct " + - "gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ " + - "gl_FogParameters " + - "gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords " + - "gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats " + - "gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits " + - "gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits " + - "gl_MaxDrawBuffers"), - indentSwitch: false, - hooks: {"#": cppHook}, - modeProps: {fold: ["brace", "include"]} - }); - - def("text/x-nesc", { - name: "clike", - keywords: words(cKeywords + "as atomic async call command component components configuration event generic " + - "implementation includes interface module new norace nx_struct nx_union post provides " + - "signal task uses abstract extends"), - types: words(cTypes), - blockKeywords: words("case do else for if switch while struct"), - atoms: words("null true false"), - hooks: {"#": cppHook}, - modeProps: {fold: ["brace", "include"]} - }); - - def("text/x-objectivec", { - name: "clike", - keywords: words(cKeywords + "inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in " + - "inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"), - types: words(cTypes), - atoms: words("YES NO NULL NILL ON OFF true false"), - hooks: { - "@": function(stream) { - stream.eatWhile(/[\w\$]/); - return "keyword"; - }, - "#": cppHook, - indent: function(_state, ctx, textAfter) { - if (ctx.type == "statement" && /^@\w/.test(textAfter)) return ctx.indented - } - }, - modeProps: {fold: "brace"} - }); - - def("text/x-squirrel", { - name: "clike", - keywords: words("base break clone continue const default delete enum extends function in class" + - " foreach local resume return this throw typeof yield constructor instanceof static"), - types: words(cTypes), - blockKeywords: words("case catch class else for foreach if switch try while"), - defKeywords: words("function local class"), - typeFirstDefinitions: true, - atoms: words("true false null"), - hooks: {"#": cppHook}, - modeProps: {fold: ["brace", "include"]} - }); - - // Ceylon Strings need to deal with interpolation - var stringTokenizer = null; - function tokenCeylonString(type) { - return function(stream, state) { - var escaped = false, next, end = false; - while (!stream.eol()) { - if (!escaped && stream.match('"') && - (type == "single" || stream.match('""'))) { - end = true; - break; - } - if (!escaped && stream.match('``')) { - stringTokenizer = tokenCeylonString(type); - end = true; - break; - } - next = stream.next(); - escaped = type == "single" && !escaped && next == "\\"; - } - if (end) - state.tokenize = null; - return "string"; - } - } - - def("text/x-ceylon", { - name: "clike", - keywords: words("abstracts alias assembly assert assign break case catch class continue dynamic else" + - " exists extends finally for function given if import in interface is let module new" + - " nonempty object of out outer package return satisfies super switch then this throw" + - " try value void while"), - types: function(word) { - // In Ceylon all identifiers that start with an uppercase are types - var first = word.charAt(0); - return (first === first.toUpperCase() && first !== first.toLowerCase()); - }, - blockKeywords: words("case catch class dynamic else finally for function if interface module new object switch try while"), - defKeywords: words("class dynamic function interface module object package value"), - builtin: words("abstract actual aliased annotation by default deprecated doc final formal late license" + - " native optional sealed see serializable shared suppressWarnings tagged throws variable"), - isPunctuationChar: /[\[\]{}\(\),;\:\.`]/, - isOperatorChar: /[+\-*&%=<>!?|^~:\/]/, - numberStart: /[\d#$]/, - number: /^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i, - multiLineStrings: true, - typeFirstDefinitions: true, - atoms: words("true false null larger smaller equal empty finished"), - indentSwitch: false, - styleDefs: false, - hooks: { - "@": function(stream) { - stream.eatWhile(/[\w\$_]/); - return "meta"; - }, - '"': function(stream, state) { - state.tokenize = tokenCeylonString(stream.match('""') ? "triple" : "single"); - return state.tokenize(stream, state); - }, - '`': function(stream, state) { - if (!stringTokenizer || !stream.match('`')) return false; - state.tokenize = stringTokenizer; - stringTokenizer = null; - return state.tokenize(stream, state); - }, - "'": function(stream) { - stream.eatWhile(/[\w\$_\xa1-\uffff]/); - return "atom"; - }, - token: function(_stream, state, style) { - if ((style == "variable" || style == "type") && - state.prevToken == ".") { - return "variable-2"; - } - } - }, - modeProps: { - fold: ["brace", "import"], - closeBrackets: {triples: '"'} - } - }); - -}); diff --git a/pig-register/src/main/resources/static/console-ui/public/js/codemirror.lib.json-lint.js b/pig-register/src/main/resources/static/console-ui/public/js/codemirror.lib.json-lint.js deleted file mode 100644 index 92989879..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/codemirror.lib.json-lint.js +++ /dev/null @@ -1,448 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* Jison generated parser */ -var jsonlint = (function(){ -var parser = {trace: function trace() { }, -yy: {}, -symbols_: {"error":2,"JSONString":3,"STRING":4,"JSONNumber":5,"NUMBER":6,"JSONNullLiteral":7,"NULL":8,"JSONBooleanLiteral":9,"TRUE":10,"FALSE":11,"JSONText":12,"JSONValue":13,"EOF":14,"JSONObject":15,"JSONArray":16,"{":17,"}":18,"JSONMemberList":19,"JSONMember":20,":":21,",":22,"[":23,"]":24,"JSONElementList":25,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"STRING",6:"NUMBER",8:"NULL",10:"TRUE",11:"FALSE",14:"EOF",17:"{",18:"}",21:":",22:",",23:"[",24:"]"}, -productions_: [0,[3,1],[5,1],[7,1],[9,1],[9,1],[12,2],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[15,2],[15,3],[20,3],[19,1],[19,3],[16,2],[16,3],[25,1],[25,3]], -performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) { - -var $0 = $$.length - 1; -switch (yystate) { -case 1: // replace escaped characters with actual character - this.$ = yytext.replace(/\\(\\|")/g, "$"+"1") - .replace(/\\n/g,'\n') - .replace(/\\r/g,'\r') - .replace(/\\t/g,'\t') - .replace(/\\v/g,'\v') - .replace(/\\f/g,'\f') - .replace(/\\b/g,'\b'); - -break; -case 2:this.$ = Number(yytext); -break; -case 3:this.$ = null; -break; -case 4:this.$ = true; -break; -case 5:this.$ = false; -break; -case 6:return this.$ = $$[$0-1]; -break; -case 13:this.$ = {}; -break; -case 14:this.$ = $$[$0-1]; -break; -case 15:this.$ = [$$[$0-2], $$[$0]]; -break; -case 16:this.$ = {}; this.$[$$[$0][0]] = $$[$0][1]; -break; -case 17:this.$ = $$[$0-2]; $$[$0-2][$$[$0][0]] = $$[$0][1]; -break; -case 18:this.$ = []; -break; -case 19:this.$ = $$[$0-1]; -break; -case 20:this.$ = [$$[$0]]; -break; -case 21:this.$ = $$[$0-2]; $$[$0-2].push($$[$0]); -break; -} -}, -table: [{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],12:1,13:2,15:7,16:8,17:[1,14],23:[1,15]},{1:[3]},{14:[1,16]},{14:[2,7],18:[2,7],22:[2,7],24:[2,7]},{14:[2,8],18:[2,8],22:[2,8],24:[2,8]},{14:[2,9],18:[2,9],22:[2,9],24:[2,9]},{14:[2,10],18:[2,10],22:[2,10],24:[2,10]},{14:[2,11],18:[2,11],22:[2,11],24:[2,11]},{14:[2,12],18:[2,12],22:[2,12],24:[2,12]},{14:[2,3],18:[2,3],22:[2,3],24:[2,3]},{14:[2,4],18:[2,4],22:[2,4],24:[2,4]},{14:[2,5],18:[2,5],22:[2,5],24:[2,5]},{14:[2,1],18:[2,1],21:[2,1],22:[2,1],24:[2,1]},{14:[2,2],18:[2,2],22:[2,2],24:[2,2]},{3:20,4:[1,12],18:[1,17],19:18,20:19},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:23,15:7,16:8,17:[1,14],23:[1,15],24:[1,21],25:22},{1:[2,6]},{14:[2,13],18:[2,13],22:[2,13],24:[2,13]},{18:[1,24],22:[1,25]},{18:[2,16],22:[2,16]},{21:[1,26]},{14:[2,18],18:[2,18],22:[2,18],24:[2,18]},{22:[1,28],24:[1,27]},{22:[2,20],24:[2,20]},{14:[2,14],18:[2,14],22:[2,14],24:[2,14]},{3:20,4:[1,12],20:29},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:30,15:7,16:8,17:[1,14],23:[1,15]},{14:[2,19],18:[2,19],22:[2,19],24:[2,19]},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:31,15:7,16:8,17:[1,14],23:[1,15]},{18:[2,17],22:[2,17]},{18:[2,15],22:[2,15]},{22:[2,21],24:[2,21]}], -defaultActions: {16:[2,6]}, -parseError: function parseError(str, hash) { - throw new Error(str); -}, -parse: function parse(input) { - var self = this, - stack = [0], - vstack = [null], // semantic value stack - lstack = [], // location stack - table = this.table, - yytext = '', - yylineno = 0, - yyleng = 0, - recovering = 0, - TERROR = 2, - EOF = 1; - - //this.reductionCount = this.shiftCount = 0; - - this.lexer.setInput(input); - this.lexer.yy = this.yy; - this.yy.lexer = this.lexer; - if (typeof this.lexer.yylloc == 'undefined') - this.lexer.yylloc = {}; - var yyloc = this.lexer.yylloc; - lstack.push(yyloc); - - if (typeof this.yy.parseError === 'function') - this.parseError = this.yy.parseError; - - function popStack (n) { - stack.length = stack.length - 2*n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - - function lex() { - var token; - token = self.lexer.lex() || 1; // $end = 1 - // if token isn't its numeric value, convert - if (typeof token !== 'number') { - token = self.symbols_[token] || token; - } - return token; - } - - var symbol, preErrorSymbol, state, action, a, r, yyval={},p,len,newState, expected; - while (true) { - // retreive state number from top of stack - state = stack[stack.length-1]; - - // use default actions if available - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol == null) - symbol = lex(); - // read action for current state and first input - action = table[state] && table[state][symbol]; - } - - // handle parse error - _handle_error: - if (typeof action === 'undefined' || !action.length || !action[0]) { - - if (!recovering) { - // Report error - expected = []; - for (p in table[state]) if (this.terminals_[p] && p > 2) { - expected.push("'"+this.terminals_[p]+"'"); - } - var errStr = ''; - if (this.lexer.showPosition) { - errStr = 'Parse error on line '+(yylineno+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+expected.join(', ') + ", got '" + this.terminals_[symbol]+ "'"; - } else { - errStr = 'Parse error on line '+(yylineno+1)+": Unexpected " + - (symbol == 1 /*EOF*/ ? "end of input" : - ("'"+(this.terminals_[symbol] || symbol)+"'")); - } - this.parseError(errStr, - {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); - } - - // just recovered from another error - if (recovering == 3) { - if (symbol == EOF) { - throw new Error(errStr || 'Parsing halted.'); - } - - // discard current lookahead and grab another - yyleng = this.lexer.yyleng; - yytext = this.lexer.yytext; - yylineno = this.lexer.yylineno; - yyloc = this.lexer.yylloc; - symbol = lex(); - } - - // try to recover from error - while (1) { - // check for error recovery rule in this state - if ((TERROR.toString()) in table[state]) { - break; - } - if (state == 0) { - throw new Error(errStr || 'Parsing halted.'); - } - popStack(1); - state = stack[stack.length-1]; - } - - preErrorSymbol = symbol; // save the lookahead token - symbol = TERROR; // insert generic error symbol as new lookahead - state = stack[stack.length-1]; - action = table[state] && table[state][TERROR]; - recovering = 3; // allow 3 real symbols to be shifted before reporting a new error - } - - // this shouldn't happen, unless resolve defaults are off - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: '+state+', token: '+symbol); - } - - switch (action[0]) { - - case 1: // shift - //this.shiftCount++; - - stack.push(symbol); - vstack.push(this.lexer.yytext); - lstack.push(this.lexer.yylloc); - stack.push(action[1]); // push state - symbol = null; - if (!preErrorSymbol) { // normal execution/no error - yyleng = this.lexer.yyleng; - yytext = this.lexer.yytext; - yylineno = this.lexer.yylineno; - yyloc = this.lexer.yylloc; - if (recovering > 0) - recovering--; - } else { // error just occurred, resume old lookahead f/ before error - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - - case 2: // reduce - //this.reductionCount++; - - len = this.productions_[action[1]][1]; - - // perform semantic action - yyval.$ = vstack[vstack.length-len]; // default to $$ = $1 - // default location, uses first token for firsts, last for lasts - yyval._$ = { - first_line: lstack[lstack.length-(len||1)].first_line, - last_line: lstack[lstack.length-1].last_line, - first_column: lstack[lstack.length-(len||1)].first_column, - last_column: lstack[lstack.length-1].last_column - }; - r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); - - if (typeof r !== 'undefined') { - return r; - } - - // pop off stack - if (len) { - stack = stack.slice(0,-1*len*2); - vstack = vstack.slice(0, -1*len); - lstack = lstack.slice(0, -1*len); - } - - stack.push(this.productions_[action[1]][0]); // push nonterminal (reduce) - vstack.push(yyval.$); - lstack.push(yyval._$); - // goto new state = table[STATE][NONTERMINAL] - newState = table[stack[stack.length-2]][stack[stack.length-1]]; - stack.push(newState); - break; - - case 3: // accept - return true; - } - - } - - return true; -}}; -/* Jison generated lexer */ -var lexer = (function(){ -var lexer = ({EOF:1, -parseError:function parseError(str, hash) { - if (this.yy.parseError) { - this.yy.parseError(str, hash); - } else { - throw new Error(str); - } - }, -setInput:function (input) { - this._input = input; - this._more = this._less = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; - return this; - }, -input:function () { - var ch = this._input[0]; - this.yytext+=ch; - this.yyleng++; - this.match+=ch; - this.matched+=ch; - var lines = ch.match(/\n/); - if (lines) this.yylineno++; - this._input = this._input.slice(1); - return ch; - }, -unput:function (ch) { - this._input = ch + this._input; - return this; - }, -more:function () { - this._more = true; - return this; - }, -less:function (n) { - this._input = this.match.slice(n) + this._input; - }, -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); - }, -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c+"^"; - }, -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) this.done = true; - - var token, - match, - tempMatch, - index, - col, - lines; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i=0;i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (!this.options.flex) break; - } - } - if (match) { - lines = match[0].match(/\n.*/g); - if (lines) this.yylineno += lines.length; - this.yylloc = {first_line: this.yylloc.last_line, - last_line: this.yylineno+1, - first_column: this.yylloc.last_column, - last_column: lines ? lines[lines.length-1].length-1 : this.yylloc.last_column + match[0].length} - this.yytext += match[0]; - this.match += match[0]; - this.yyleng = this.yytext.length; - this._more = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); - if (this.done && this._input) this.done = false; - if (token) return token; - else return; - } - if (this._input === "") { - return this.EOF; - } else { - this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), - {text: "", token: null, line: this.yylineno}); - } - }, -lex:function lex() { - var r = this.next(); - if (typeof r !== 'undefined') { - return r; - } else { - return this.lex(); - } - }, -begin:function begin(condition) { - this.conditionStack.push(condition); - }, -popState:function popState() { - return this.conditionStack.pop(); - }, -_currentRules:function _currentRules() { - return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; - }, -topState:function () { - return this.conditionStack[this.conditionStack.length-2]; - }, -pushState:function begin(condition) { - this.begin(condition); - }}); -lexer.options = {}; -lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { - -var YYSTATE=YY_START -switch($avoiding_name_collisions) { -case 0:/* skip whitespace */ -break; -case 1:return 6 -break; -case 2:yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2); return 4 -break; -case 3:return 17 -break; -case 4:return 18 -break; -case 5:return 23 -break; -case 6:return 24 -break; -case 7:return 22 -break; -case 8:return 21 -break; -case 9:return 10 -break; -case 10:return 11 -break; -case 11:return 8 -break; -case 12:return 14 -break; -case 13:return 'INVALID' -break; -} -}; -lexer.rules = [/^(?:\s+)/,/^(?:(-?([0-9]|[1-9][0-9]+))(\.[0-9]+)?([eE][-+]?[0-9]+)?\b)/,/^(?:"(?:\\[\\"bfnrt/]|\\u[a-fA-F0-9]{4}|[^\\\0-\x09\x0a-\x1f"])*")/,/^(?:\{)/,/^(?:\})/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?::)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:null\b)/,/^(?:$)/,/^(?:.)/]; -lexer.conditions = {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13],"inclusive":true}}; - - -; -return lexer;})() -parser.lexer = lexer; -return parser; -})(); -if (typeof require !== 'undefined' && typeof exports !== 'undefined') { -exports.parser = jsonlint; -exports.parse = function () { return jsonlint.parse.apply(jsonlint, arguments); } -exports.main = function commonjsMain(args) { - if (!args[1]) - throw new Error('Usage: '+args[0]+' FILE'); - if (typeof process !== 'undefined') { - var source = require('fs').readFileSync(require('path').join(process.cwd(), args[1]), "utf8"); - } else { - var cwd = require("file").path(require("file").cwd()); - var source = cwd.join(args[1]).read({charset: "utf-8"}); - } - return exports.parser.parse(source); -} -if (typeof module !== 'undefined' && require.main === module) { - exports.main(typeof process !== 'undefined' ? process.argv.slice(1) : require("system").args); -} -} diff --git a/pig-register/src/main/resources/static/console-ui/public/js/diff_match_patch.js b/pig-register/src/main/resources/static/console-ui/public/js/diff_match_patch.js deleted file mode 100644 index c41b5132..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/diff_match_patch.js +++ /dev/null @@ -1,49 +0,0 @@ -(function(){function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=0.5;this.Match_Distance=1E3;this.Patch_DeleteThreshold=0.5;this.Patch_Margin=4;this.Match_MaxBits=32} -diff_match_patch.prototype.diff_main=function(a,b,c,d){"undefined"==typeof d&&(d=0>=this.Diff_Timeout?Number.MAX_VALUE:(new Date).getTime()+1E3*this.Diff_Timeout);if(null==a||null==b)throw Error("Null input. (diff_main)");if(a==b)return a?[[0,a]]:[];"undefined"==typeof c&&(c=!0);var e=c,f=this.diff_commonPrefix(a,b);c=a.substring(0,f);a=a.substring(f);b=b.substring(f);var f=this.diff_commonSuffix(a,b),g=a.substring(a.length-f);a=a.substring(0,a.length-f);b=b.substring(0,b.length-f);a=this.diff_compute_(a, -b,e,d);c&&a.unshift([0,c]);g&&a.push([0,g]);this.diff_cleanupMerge(a);return a}; -diff_match_patch.prototype.diff_compute_=function(a,b,c,d){if(!a)return[[1,b]];if(!b)return[[-1,a]];var e=a.length>b.length?a:b,f=a.length>b.length?b:a,g=e.indexOf(f);return-1!=g?(c=[[1,e.substring(0,g)],[0,f],[1,e.substring(g+f.length)]],a.length>b.length&&(c[0][0]=c[2][0]=-1),c):1==f.length?[[-1,a],[1,b]]:(e=this.diff_halfMatch_(a,b))?(f=e[0],a=e[1],g=e[2],b=e[3],e=e[4],f=this.diff_main(f,g,c,d),c=this.diff_main(a,b,c,d),f.concat([[0,e]],c)):c&&100c);v++){for(var n=-v+r;n<=v-t;n+=2){var l=g+n,m;m=n==-v||n!=v&&j[l-1]d)t+=2;else if(s>e)r+=2;else if(q&&(l=g+k-n,0<=l&&l= -u)return this.diff_bisectSplit_(a,b,m,s,c)}}for(n=-v+p;n<=v-w;n+=2){l=g+n;u=n==-v||n!=v&&i[l-1]d)w+=2;else if(m>e)p+=2;else if(!q&&(l=g+k-n,0<=l&&(l=u)))return this.diff_bisectSplit_(a,b,m,s,c)}}return[[-1,a],[1,b]]}; -diff_match_patch.prototype.diff_bisectSplit_=function(a,b,c,d,e){var f=a.substring(0,c),g=b.substring(0,d);a=a.substring(c);b=b.substring(d);f=this.diff_main(f,g,!1,e);e=this.diff_main(a,b,!1,e);return f.concat(e)}; -diff_match_patch.prototype.diff_linesToChars_=function(a,b){function c(a){for(var b="",c=0,f=-1,g=d.length;fd?a=a.substring(c-d):c=a.length?[h,j,n,l,g]:null}if(0>=this.Diff_Timeout)return null; -var d=a.length>b.length?a:b,e=a.length>b.length?b:a;if(4>d.length||2*e.lengthd[4].length?g:d:d:g;var j;a.length>b.length?(g=h[0],d=h[1],e=h[2],j=h[3]):(e=h[0],j=h[1],g=h[2],d=h[3]);h=h[4];return[g,d,e,j,h]}; -diff_match_patch.prototype.diff_cleanupSemantic=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=0,h=0,j=0,i=0;f=e){if(d>=b.length/2||d>=c.length/2)a.splice(f,0,[0,c.substring(0,d)]),a[f-1][1]=b.substring(0,b.length-d),a[f+1][1]=c.substring(d),f++}else if(e>=b.length/2||e>=c.length/2)a.splice(f,0,[0,b.substring(0,e)]),a[f-1][0]=1,a[f-1][1]=c.substring(0,c.length-e),a[f+1][0]=-1,a[f+1][1]=b.substring(e),f++;f++}f++}}; -diff_match_patch.prototype.diff_cleanupSemanticLossless=function(a){function b(a,b){if(!a||!b)return 6;var c=a.charAt(a.length-1),d=b.charAt(0),e=c.match(diff_match_patch.nonAlphaNumericRegex_),f=d.match(diff_match_patch.nonAlphaNumericRegex_),g=e&&c.match(diff_match_patch.whitespaceRegex_),h=f&&d.match(diff_match_patch.whitespaceRegex_),c=g&&c.match(diff_match_patch.linebreakRegex_),d=h&&d.match(diff_match_patch.linebreakRegex_),i=c&&a.match(diff_match_patch.blanklineEndRegex_),j=d&&b.match(diff_match_patch.blanklineStartRegex_); -return i||j?5:c||d?4:e&&!g&&h?3:g||h?2:e||f?1:0}for(var c=1;c=i&&(i=k,g=d,h=e,j=f)}a[c-1][1]!=g&&(g?a[c-1][1]=g:(a.splice(c-1,1),c--),a[c][1]= -h,j?a[c+1][1]=j:(a.splice(c+1,1),c--))}c++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\s/;diff_match_patch.linebreakRegex_=/[\r\n]/;diff_match_patch.blanklineEndRegex_=/\n\r?\n$/;diff_match_patch.blanklineStartRegex_=/^\r?\n\r?\n/; -diff_match_patch.prototype.diff_cleanupEfficiency=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=!1,h=!1,j=!1,i=!1;fb)break;e=c;f=d}return a.length!=g&&-1===a[g][0]?f:f+(b-e)}; -diff_match_patch.prototype.diff_prettyHtml=function(a){for(var b=[],c=/&/g,d=//g,f=/\n/g,g=0;g");switch(h){case 1:b[g]=''+j+"";break;case -1:b[g]=''+j+"";break;case 0:b[g]=""+j+""}}return b.join("")}; -diff_match_patch.prototype.diff_text1=function(a){for(var b=[],c=0;cthis.Match_MaxBits)throw Error("Pattern too long for this browser.");var e=this.match_alphabet_(b),f=this,g=this.Match_Threshold,h=a.indexOf(b,c);-1!=h&&(g=Math.min(d(0,h),g),h=a.lastIndexOf(b,c+b.length),-1!=h&&(g=Math.min(d(0,h),g)));for(var j=1<=i;p--){var w=e[a.charAt(p-1)];k[p]=0===t?(k[p+1]<<1|1)&w:(k[p+1]<<1|1)&w|((r[p+1]|r[p])<<1|1)|r[p+1];if(k[p]&j&&(w=d(t,p-1),w<=g))if(g=w,h=p-1,h>c)i=Math.max(1,2*c-h);else break}if(d(t+1,c)>g)break;r=k}return h}; -diff_match_patch.prototype.match_alphabet_=function(a){for(var b={},c=0;c=2*this.Patch_Margin&& -e&&(this.patch_addContext_(a,h),c.push(a),a=new diff_match_patch.patch_obj,e=0,h=d,f=g)}1!==i&&(f+=k.length);-1!==i&&(g+=k.length)}e&&(this.patch_addContext_(a,h),c.push(a));return c};diff_match_patch.prototype.patch_deepCopy=function(a){for(var b=[],c=0;cthis.Match_MaxBits){if(j=this.match_main(b,h.substring(0,this.Match_MaxBits),g),-1!=j&&(i=this.match_main(b,h.substring(h.length-this.Match_MaxBits),g+h.length-this.Match_MaxBits),-1==i||j>=i))j=-1}else j=this.match_main(b,h,g); -if(-1==j)e[f]=!1,d-=a[f].length2-a[f].length1;else if(e[f]=!0,d=j-g,g=-1==i?b.substring(j,j+h.length):b.substring(j,i+this.Match_MaxBits),h==g)b=b.substring(0,j)+this.diff_text2(a[f].diffs)+b.substring(j+h.length);else if(g=this.diff_main(h,g,!1),h.length>this.Match_MaxBits&&this.diff_levenshtein(g)/h.length>this.Patch_DeleteThreshold)e[f]=!1;else{this.diff_cleanupSemanticLossless(g);for(var h=0,k,i=0;ie[0][1].length){var f=b-e[0][1].length;e[0][1]=c.substring(e[0][1].length)+e[0][1];d.start1-=f;d.start2-=f;d.length1+=f;d.length2+=f}d=a[a.length-1];e=d.diffs;0==e.length||0!=e[e.length-1][0]?(e.push([0, -c]),d.length1+=b,d.length2+=b):b>e[e.length-1][1].length&&(f=b-e[e.length-1][1].length,e[e.length-1][1]+=c.substring(0,f),d.length1+=f,d.length2+=f);return c}; -diff_match_patch.prototype.patch_splitMax=function(a){for(var b=this.Match_MaxBits,c=0;c2*b?(h.length1+=i.length,e+=i.length,j=!1,h.diffs.push([g,i]),d.diffs.shift()):(i=i.substring(0,b-h.length1-this.Patch_Margin),h.length1+=i.length,e+=i.length,0===g?(h.length2+=i.length,f+=i.length):j=!1,h.diffs.push([g,i]),i==d.diffs[0][1]?d.diffs.shift():d.diffs[0][1]=d.diffs[0][1].substring(i.length))}g=this.diff_text2(h.diffs);g=g.substring(g.length-this.Patch_Margin);i=this.diff_text1(d.diffs).substring(0,this.Patch_Margin);""!==i&& -(h.length1+=i.length,h.length2+=i.length,0!==h.diffs.length&&0===h.diffs[h.diffs.length-1][0]?h.diffs[h.diffs.length-1][1]+=i:h.diffs.push([0,i]));j||a.splice(++c,0,h)}}};diff_match_patch.prototype.patch_toText=function(a){for(var b=[],c=0;c)$/.test(state.lastType) || - (state.lastType == "quasi" && /\{\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0)))) -} - -CodeMirror.defineMode("javascript", function(config, parserConfig) { - var indentUnit = config.indentUnit; - var statementIndent = parserConfig.statementIndent; - var jsonldMode = parserConfig.jsonld; - var jsonMode = parserConfig.json || jsonldMode; - var isTS = parserConfig.typescript; - var wordRE = parserConfig.wordCharacters || /[\w$\xa1-\uffff]/; - - // Tokenizer - - var keywords = function(){ - function kw(type) {return {type: type, style: "keyword"};} - var A = kw("keyword a"), B = kw("keyword b"), C = kw("keyword c"); - var operator = kw("operator"), atom = {type: "atom", style: "atom"}; - - var jsKeywords = { - "if": kw("if"), "while": A, "with": A, "else": B, "do": B, "try": B, "finally": B, - "return": C, "break": C, "continue": C, "new": kw("new"), "delete": C, "throw": C, "debugger": C, - "var": kw("var"), "const": kw("var"), "let": kw("var"), - "function": kw("function"), "catch": kw("catch"), - "for": kw("for"), "switch": kw("switch"), "case": kw("case"), "default": kw("default"), - "in": operator, "typeof": operator, "instanceof": operator, - "true": atom, "false": atom, "null": atom, "undefined": atom, "NaN": atom, "Infinity": atom, - "this": kw("this"), "class": kw("class"), "super": kw("atom"), - "yield": C, "export": kw("export"), "import": kw("import"), "extends": C, - "await": C - }; - - // Extend the 'normal' keywords with the TypeScript language extensions - if (isTS) { - var type = {type: "variable", style: "type"}; - var tsKeywords = { - // object-like things - "interface": kw("class"), - "implements": C, - "namespace": C, - "module": kw("module"), - "enum": kw("module"), - - // scope modifiers - "public": kw("modifier"), - "private": kw("modifier"), - "protected": kw("modifier"), - "abstract": kw("modifier"), - - // types - "string": type, "number": type, "boolean": type, "any": type - }; - - for (var attr in tsKeywords) { - jsKeywords[attr] = tsKeywords[attr]; - } - } - - return jsKeywords; - }(); - - var isOperatorChar = /[+\-*&%=<>!?|~^@]/; - var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/; - - function readRegexp(stream) { - var escaped = false, next, inSet = false; - while ((next = stream.next()) != null) { - if (!escaped) { - if (next == "/" && !inSet) return; - if (next == "[") inSet = true; - else if (inSet && next == "]") inSet = false; - } - escaped = !escaped && next == "\\"; - } - } - - // Used as scratch variables to communicate multiple values without - // consing up tons of objects. - var type, content; - function ret(tp, style, cont) { - type = tp; content = cont; - return style; - } - function tokenBase(stream, state) { - var ch = stream.next(); - if (ch == '"' || ch == "'") { - state.tokenize = tokenString(ch); - return state.tokenize(stream, state); - } else if (ch == "." && stream.match(/^\d+(?:[eE][+\-]?\d+)?/)) { - return ret("number", "number"); - } else if (ch == "." && stream.match("..")) { - return ret("spread", "meta"); - } else if (/[\[\]{}\(\),;\:\.]/.test(ch)) { - return ret(ch); - } else if (ch == "=" && stream.eat(">")) { - return ret("=>", "operator"); - } else if (ch == "0" && stream.eat(/x/i)) { - stream.eatWhile(/[\da-f]/i); - return ret("number", "number"); - } else if (ch == "0" && stream.eat(/o/i)) { - stream.eatWhile(/[0-7]/i); - return ret("number", "number"); - } else if (ch == "0" && stream.eat(/b/i)) { - stream.eatWhile(/[01]/i); - return ret("number", "number"); - } else if (/\d/.test(ch)) { - stream.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/); - return ret("number", "number"); - } else if (ch == "/") { - if (stream.eat("*")) { - state.tokenize = tokenComment; - return tokenComment(stream, state); - } else if (stream.eat("/")) { - stream.skipToEnd(); - return ret("comment", "comment"); - } else if (expressionAllowed(stream, state, 1)) { - readRegexp(stream); - stream.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/); - return ret("regexp", "string-2"); - } else { - stream.eatWhile(isOperatorChar); - return ret("operator", "operator", stream.current()); - } - } else if (ch == "`") { - state.tokenize = tokenQuasi; - return tokenQuasi(stream, state); - } else if (ch == "#") { - stream.skipToEnd(); - return ret("error", "error"); - } else if (isOperatorChar.test(ch)) { - if (ch != ">" || !state.lexical || state.lexical.type != ">") - stream.eatWhile(isOperatorChar); - return ret("operator", "operator", stream.current()); - } else if (wordRE.test(ch)) { - stream.eatWhile(wordRE); - var word = stream.current() - if (state.lastType != ".") { - if (keywords.propertyIsEnumerable(word)) { - var kw = keywords[word] - return ret(kw.type, kw.style, word) - } - if (word == "async" && stream.match(/^\s*[\(\w]/, false)) - return ret("async", "keyword", word) - } - return ret("variable", "variable", word) - } - } - - function tokenString(quote) { - return function(stream, state) { - var escaped = false, next; - if (jsonldMode && stream.peek() == "@" && stream.match(isJsonldKeyword)){ - state.tokenize = tokenBase; - return ret("jsonld-keyword", "meta"); - } - while ((next = stream.next()) != null) { - if (next == quote && !escaped) break; - escaped = !escaped && next == "\\"; - } - if (!escaped) state.tokenize = tokenBase; - return ret("string", "string"); - }; - } - - function tokenComment(stream, state) { - var maybeEnd = false, ch; - while (ch = stream.next()) { - if (ch == "/" && maybeEnd) { - state.tokenize = tokenBase; - break; - } - maybeEnd = (ch == "*"); - } - return ret("comment", "comment"); - } - - function tokenQuasi(stream, state) { - var escaped = false, next; - while ((next = stream.next()) != null) { - if (!escaped && (next == "`" || next == "$" && stream.eat("{"))) { - state.tokenize = tokenBase; - break; - } - escaped = !escaped && next == "\\"; - } - return ret("quasi", "string-2", stream.current()); - } - - var brackets = "([{}])"; - // This is a crude lookahead trick to try and notice that we're - // parsing the argument patterns for a fat-arrow function before we - // actually hit the arrow token. It only works if the arrow is on - // the same line as the arguments and there's no strange noise - // (comments) in between. Fallback is to only notice when we hit the - // arrow, and not declare the arguments as locals for the arrow - // body. - function findFatArrow(stream, state) { - if (state.fatArrowAt) state.fatArrowAt = null; - var arrow = stream.string.indexOf("=>", stream.start); - if (arrow < 0) return; - - if (isTS) { // Try to skip TypeScript return type declarations after the arguments - var m = /:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(stream.string.slice(stream.start, arrow)) - if (m) arrow = m.index - } - - var depth = 0, sawSomething = false; - for (var pos = arrow - 1; pos >= 0; --pos) { - var ch = stream.string.charAt(pos); - var bracket = brackets.indexOf(ch); - if (bracket >= 0 && bracket < 3) { - if (!depth) { ++pos; break; } - if (--depth == 0) { if (ch == "(") sawSomething = true; break; } - } else if (bracket >= 3 && bracket < 6) { - ++depth; - } else if (wordRE.test(ch)) { - sawSomething = true; - } else if (/["'\/]/.test(ch)) { - return; - } else if (sawSomething && !depth) { - ++pos; - break; - } - } - if (sawSomething && !depth) state.fatArrowAt = pos; - } - - // Parser - - var atomicTypes = {"atom": true, "number": true, "variable": true, "string": true, "regexp": true, "this": true, "jsonld-keyword": true}; - - function JSLexical(indented, column, type, align, prev, info) { - this.indented = indented; - this.column = column; - this.type = type; - this.prev = prev; - this.info = info; - if (align != null) this.align = align; - } - - function inScope(state, varname) { - for (var v = state.localVars; v; v = v.next) - if (v.name == varname) return true; - for (var cx = state.context; cx; cx = cx.prev) { - for (var v = cx.vars; v; v = v.next) - if (v.name == varname) return true; - } - } - - function parseJS(state, style, type, content, stream) { - var cc = state.cc; - // Communicate our context to the combinators. - // (Less wasteful than consing up a hundred closures on every call.) - cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style; - - if (!state.lexical.hasOwnProperty("align")) - state.lexical.align = true; - - while(true) { - var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement; - if (combinator(type, content)) { - while(cc.length && cc[cc.length - 1].lex) - cc.pop()(); - if (cx.marked) return cx.marked; - if (type == "variable" && inScope(state, content)) return "variable-2"; - return style; - } - } - } - - // Combinator utils - - var cx = {state: null, column: null, marked: null, cc: null}; - function pass() { - for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]); - } - function cont() { - pass.apply(null, arguments); - return true; - } - function register(varname) { - function inList(list) { - for (var v = list; v; v = v.next) - if (v.name == varname) return true; - return false; - } - var state = cx.state; - cx.marked = "def"; - if (state.context) { - if (inList(state.localVars)) return; - state.localVars = {name: varname, next: state.localVars}; - } else { - if (inList(state.globalVars)) return; - if (parserConfig.globalVars) - state.globalVars = {name: varname, next: state.globalVars}; - } - } - - // Combinators - - var defaultVars = {name: "this", next: {name: "arguments"}}; - function pushcontext() { - cx.state.context = {prev: cx.state.context, vars: cx.state.localVars}; - cx.state.localVars = defaultVars; - } - function popcontext() { - cx.state.localVars = cx.state.context.vars; - cx.state.context = cx.state.context.prev; - } - function pushlex(type, info) { - var result = function() { - var state = cx.state, indent = state.indented; - if (state.lexical.type == "stat") indent = state.lexical.indented; - else for (var outer = state.lexical; outer && outer.type == ")" && outer.align; outer = outer.prev) - indent = outer.indented; - state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info); - }; - result.lex = true; - return result; - } - function poplex() { - var state = cx.state; - if (state.lexical.prev) { - if (state.lexical.type == ")") - state.indented = state.lexical.indented; - state.lexical = state.lexical.prev; - } - } - poplex.lex = true; - - function expect(wanted) { - function exp(type) { - if (type == wanted) return cont(); - else if (wanted == ";") return pass(); - else return cont(exp); - }; - return exp; - } - - function statement(type, value) { - if (type == "var") return cont(pushlex("vardef", value.length), vardef, expect(";"), poplex); - if (type == "keyword a") return cont(pushlex("form"), parenExpr, statement, poplex); - if (type == "keyword b") return cont(pushlex("form"), statement, poplex); - if (type == "{") return cont(pushlex("}"), block, poplex); - if (type == ";") return cont(); - if (type == "if") { - if (cx.state.lexical.info == "else" && cx.state.cc[cx.state.cc.length - 1] == poplex) - cx.state.cc.pop()(); - return cont(pushlex("form"), parenExpr, statement, poplex, maybeelse); - } - if (type == "function") return cont(functiondef); - if (type == "for") return cont(pushlex("form"), forspec, statement, poplex); - if (type == "variable") { - if (isTS && value == "type") { - cx.marked = "keyword" - return cont(typeexpr, expect("operator"), typeexpr, expect(";")); - } else { - return cont(pushlex("stat"), maybelabel); - } - } - if (type == "switch") return cont(pushlex("form"), parenExpr, expect("{"), pushlex("}", "switch"), - block, poplex, poplex); - if (type == "case") return cont(expression, expect(":")); - if (type == "default") return cont(expect(":")); - if (type == "catch") return cont(pushlex("form"), pushcontext, expect("("), funarg, expect(")"), - statement, poplex, popcontext); - if (type == "class") return cont(pushlex("form"), className, poplex); - if (type == "export") return cont(pushlex("stat"), afterExport, poplex); - if (type == "import") return cont(pushlex("stat"), afterImport, poplex); - if (type == "module") return cont(pushlex("form"), pattern, expect("{"), pushlex("}"), block, poplex, poplex) - if (type == "async") return cont(statement) - if (value == "@") return cont(expression, statement) - return pass(pushlex("stat"), expression, expect(";"), poplex); - } - function expression(type) { - return expressionInner(type, false); - } - function expressionNoComma(type) { - return expressionInner(type, true); - } - function parenExpr(type) { - if (type != "(") return pass() - return cont(pushlex(")"), expression, expect(")"), poplex) - } - function expressionInner(type, noComma) { - if (cx.state.fatArrowAt == cx.stream.start) { - var body = noComma ? arrowBodyNoComma : arrowBody; - if (type == "(") return cont(pushcontext, pushlex(")"), commasep(pattern, ")"), poplex, expect("=>"), body, popcontext); - else if (type == "variable") return pass(pushcontext, pattern, expect("=>"), body, popcontext); - } - - var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma; - if (atomicTypes.hasOwnProperty(type)) return cont(maybeop); - if (type == "function") return cont(functiondef, maybeop); - if (type == "class") return cont(pushlex("form"), classExpression, poplex); - if (type == "keyword c" || type == "async") return cont(noComma ? maybeexpressionNoComma : maybeexpression); - if (type == "(") return cont(pushlex(")"), maybeexpression, expect(")"), poplex, maybeop); - if (type == "operator" || type == "spread") return cont(noComma ? expressionNoComma : expression); - if (type == "[") return cont(pushlex("]"), arrayLiteral, poplex, maybeop); - if (type == "{") return contCommasep(objprop, "}", null, maybeop); - if (type == "quasi") return pass(quasi, maybeop); - if (type == "new") return cont(maybeTarget(noComma)); - return cont(); - } - function maybeexpression(type) { - if (type.match(/[;\}\)\],]/)) return pass(); - return pass(expression); - } - function maybeexpressionNoComma(type) { - if (type.match(/[;\}\)\],]/)) return pass(); - return pass(expressionNoComma); - } - - function maybeoperatorComma(type, value) { - if (type == ",") return cont(expression); - return maybeoperatorNoComma(type, value, false); - } - function maybeoperatorNoComma(type, value, noComma) { - var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma; - var expr = noComma == false ? expression : expressionNoComma; - if (type == "=>") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext); - if (type == "operator") { - if (/\+\+|--/.test(value)) return cont(me); - if (value == "?") return cont(expression, expect(":"), expr); - return cont(expr); - } - if (type == "quasi") { return pass(quasi, me); } - if (type == ";") return; - if (type == "(") return contCommasep(expressionNoComma, ")", "call", me); - if (type == ".") return cont(property, me); - if (type == "[") return cont(pushlex("]"), maybeexpression, expect("]"), poplex, me); - if (isTS && value == "as") { cx.marked = "keyword"; return cont(typeexpr, me) } - } - function quasi(type, value) { - if (type != "quasi") return pass(); - if (value.slice(value.length - 2) != "${") return cont(quasi); - return cont(expression, continueQuasi); - } - function continueQuasi(type) { - if (type == "}") { - cx.marked = "string-2"; - cx.state.tokenize = tokenQuasi; - return cont(quasi); - } - } - function arrowBody(type) { - findFatArrow(cx.stream, cx.state); - return pass(type == "{" ? statement : expression); - } - function arrowBodyNoComma(type) { - findFatArrow(cx.stream, cx.state); - return pass(type == "{" ? statement : expressionNoComma); - } - function maybeTarget(noComma) { - return function(type) { - if (type == ".") return cont(noComma ? targetNoComma : target); - else return pass(noComma ? expressionNoComma : expression); - }; - } - function target(_, value) { - if (value == "target") { cx.marked = "keyword"; return cont(maybeoperatorComma); } - } - function targetNoComma(_, value) { - if (value == "target") { cx.marked = "keyword"; return cont(maybeoperatorNoComma); } - } - function maybelabel(type) { - if (type == ":") return cont(poplex, statement); - return pass(maybeoperatorComma, expect(";"), poplex); - } - function property(type) { - if (type == "variable") {cx.marked = "property"; return cont();} - } - function objprop(type, value) { - if (type == "async") { - cx.marked = "property"; - return cont(objprop); - } else if (type == "variable" || cx.style == "keyword") { - cx.marked = "property"; - if (value == "get" || value == "set") return cont(getterSetter); - return cont(afterprop); - } else if (type == "number" || type == "string") { - cx.marked = jsonldMode ? "property" : (cx.style + " property"); - return cont(afterprop); - } else if (type == "jsonld-keyword") { - return cont(afterprop); - } else if (type == "modifier") { - return cont(objprop) - } else if (type == "[") { - return cont(expression, expect("]"), afterprop); - } else if (type == "spread") { - return cont(expression, afterprop); - } else if (type == ":") { - return pass(afterprop) - } - } - function getterSetter(type) { - if (type != "variable") return pass(afterprop); - cx.marked = "property"; - return cont(functiondef); - } - function afterprop(type) { - if (type == ":") return cont(expressionNoComma); - if (type == "(") return pass(functiondef); - } - function commasep(what, end, sep) { - function proceed(type, value) { - if (sep ? sep.indexOf(type) > -1 : type == ",") { - var lex = cx.state.lexical; - if (lex.info == "call") lex.pos = (lex.pos || 0) + 1; - return cont(function(type, value) { - if (type == end || value == end) return pass() - return pass(what) - }, proceed); - } - if (type == end || value == end) return cont(); - return cont(expect(end)); - } - return function(type, value) { - if (type == end || value == end) return cont(); - return pass(what, proceed); - }; - } - function contCommasep(what, end, info) { - for (var i = 3; i < arguments.length; i++) - cx.cc.push(arguments[i]); - return cont(pushlex(end, info), commasep(what, end), poplex); - } - function block(type) { - if (type == "}") return cont(); - return pass(statement, block); - } - function maybetype(type, value) { - if (isTS) { - if (type == ":") return cont(typeexpr); - if (value == "?") return cont(maybetype); - } - } - function typeexpr(type) { - if (type == "variable") {cx.marked = "type"; return cont(afterType);} - if (type == "string" || type == "number" || type == "atom") return cont(afterType); - if (type == "{") return cont(pushlex("}"), commasep(typeprop, "}", ",;"), poplex, afterType) - if (type == "(") return cont(commasep(typearg, ")"), maybeReturnType) - } - function maybeReturnType(type) { - if (type == "=>") return cont(typeexpr) - } - function typeprop(type, value) { - if (type == "variable" || cx.style == "keyword") { - cx.marked = "property" - return cont(typeprop) - } else if (value == "?") { - return cont(typeprop) - } else if (type == ":") { - return cont(typeexpr) - } else if (type == "[") { - return cont(expression, maybetype, expect("]"), typeprop) - } - } - function typearg(type) { - if (type == "variable") return cont(typearg) - else if (type == ":") return cont(typeexpr) - } - function afterType(type, value) { - if (value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, afterType) - if (value == "|" || type == ".") return cont(typeexpr) - if (type == "[") return cont(expect("]"), afterType) - if (value == "extends") return cont(typeexpr) - } - function vardef() { - return pass(pattern, maybetype, maybeAssign, vardefCont); - } - function pattern(type, value) { - if (type == "modifier") return cont(pattern) - if (type == "variable") { register(value); return cont(); } - if (type == "spread") return cont(pattern); - if (type == "[") return contCommasep(pattern, "]"); - if (type == "{") return contCommasep(proppattern, "}"); - } - function proppattern(type, value) { - if (type == "variable" && !cx.stream.match(/^\s*:/, false)) { - register(value); - return cont(maybeAssign); - } - if (type == "variable") cx.marked = "property"; - if (type == "spread") return cont(pattern); - if (type == "}") return pass(); - return cont(expect(":"), pattern, maybeAssign); - } - function maybeAssign(_type, value) { - if (value == "=") return cont(expressionNoComma); - } - function vardefCont(type) { - if (type == ",") return cont(vardef); - } - function maybeelse(type, value) { - if (type == "keyword b" && value == "else") return cont(pushlex("form", "else"), statement, poplex); - } - function forspec(type) { - if (type == "(") return cont(pushlex(")"), forspec1, expect(")"), poplex); - } - function forspec1(type) { - if (type == "var") return cont(vardef, expect(";"), forspec2); - if (type == ";") return cont(forspec2); - if (type == "variable") return cont(formaybeinof); - return pass(expression, expect(";"), forspec2); - } - function formaybeinof(_type, value) { - if (value == "in" || value == "of") { cx.marked = "keyword"; return cont(expression); } - return cont(maybeoperatorComma, forspec2); - } - function forspec2(type, value) { - if (type == ";") return cont(forspec3); - if (value == "in" || value == "of") { cx.marked = "keyword"; return cont(expression); } - return pass(expression, expect(";"), forspec3); - } - function forspec3(type) { - if (type != ")") cont(expression); - } - function functiondef(type, value) { - if (value == "*") {cx.marked = "keyword"; return cont(functiondef);} - if (type == "variable") {register(value); return cont(functiondef);} - if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, maybetype, statement, popcontext); - if (isTS && value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, functiondef) - } - function funarg(type) { - if (type == "spread") return cont(funarg); - return pass(pattern, maybetype, maybeAssign); - } - function classExpression(type, value) { - // Class expressions may have an optional name. - if (type == "variable") return className(type, value); - return classNameAfter(type, value); - } - function className(type, value) { - if (type == "variable") {register(value); return cont(classNameAfter);} - } - function classNameAfter(type, value) { - if (value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, classNameAfter) - if (value == "extends" || value == "implements" || (isTS && type == ",")) - return cont(isTS ? typeexpr : expression, classNameAfter); - if (type == "{") return cont(pushlex("}"), classBody, poplex); - } - function classBody(type, value) { - if (type == "variable" || cx.style == "keyword") { - if ((value == "async" || value == "static" || value == "get" || value == "set" || - (isTS && (value == "public" || value == "private" || value == "protected" || value == "readonly" || value == "abstract"))) && - cx.stream.match(/^\s+[\w$\xa1-\uffff]/, false)) { - cx.marked = "keyword"; - return cont(classBody); - } - cx.marked = "property"; - return cont(isTS ? classfield : functiondef, classBody); - } - if (type == "[") - return cont(expression, expect("]"), isTS ? classfield : functiondef, classBody) - if (value == "*") { - cx.marked = "keyword"; - return cont(classBody); - } - if (type == ";") return cont(classBody); - if (type == "}") return cont(); - if (value == "@") return cont(expression, classBody) - } - function classfield(type, value) { - if (value == "?") return cont(classfield) - if (type == ":") return cont(typeexpr, maybeAssign) - if (value == "=") return cont(expressionNoComma) - return pass(functiondef) - } - function afterExport(type, value) { - if (value == "*") { cx.marked = "keyword"; return cont(maybeFrom, expect(";")); } - if (value == "default") { cx.marked = "keyword"; return cont(expression, expect(";")); } - if (type == "{") return cont(commasep(exportField, "}"), maybeFrom, expect(";")); - return pass(statement); - } - function exportField(type, value) { - if (value == "as") { cx.marked = "keyword"; return cont(expect("variable")); } - if (type == "variable") return pass(expressionNoComma, exportField); - } - function afterImport(type) { - if (type == "string") return cont(); - return pass(importSpec, maybeMoreImports, maybeFrom); - } - function importSpec(type, value) { - if (type == "{") return contCommasep(importSpec, "}"); - if (type == "variable") register(value); - if (value == "*") cx.marked = "keyword"; - return cont(maybeAs); - } - function maybeMoreImports(type) { - if (type == ",") return cont(importSpec, maybeMoreImports) - } - function maybeAs(_type, value) { - if (value == "as") { cx.marked = "keyword"; return cont(importSpec); } - } - function maybeFrom(_type, value) { - if (value == "from") { cx.marked = "keyword"; return cont(expression); } - } - function arrayLiteral(type) { - if (type == "]") return cont(); - return pass(commasep(expressionNoComma, "]")); - } - - function isContinuedStatement(state, textAfter) { - return state.lastType == "operator" || state.lastType == "," || - isOperatorChar.test(textAfter.charAt(0)) || - /[,.]/.test(textAfter.charAt(0)); - } - - // Interface - - return { - startState: function(basecolumn) { - var state = { - tokenize: tokenBase, - lastType: "sof", - cc: [], - lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, "block", false), - localVars: parserConfig.localVars, - context: parserConfig.localVars && {vars: parserConfig.localVars}, - indented: basecolumn || 0 - }; - if (parserConfig.globalVars && typeof parserConfig.globalVars == "object") - state.globalVars = parserConfig.globalVars; - return state; - }, - - token: function(stream, state) { - if (stream.sol()) { - if (!state.lexical.hasOwnProperty("align")) - state.lexical.align = false; - state.indented = stream.indentation(); - findFatArrow(stream, state); - } - if (state.tokenize != tokenComment && stream.eatSpace()) return null; - var style = state.tokenize(stream, state); - if (type == "comment") return style; - state.lastType = type == "operator" && (content == "++" || content == "--") ? "incdec" : type; - return parseJS(state, style, type, content, stream); - }, - - indent: function(state, textAfter) { - if (state.tokenize == tokenComment) return CodeMirror.Pass; - if (state.tokenize != tokenBase) return 0; - var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top - // Kludge to prevent 'maybelse' from blocking lexical scope pops - if (!/^\s*else\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) { - var c = state.cc[i]; - if (c == poplex) lexical = lexical.prev; - else if (c != maybeelse) break; - } - while ((lexical.type == "stat" || lexical.type == "form") && - (firstChar == "}" || ((top = state.cc[state.cc.length - 1]) && - (top == maybeoperatorComma || top == maybeoperatorNoComma) && - !/^[,\.=+\-*:?[\(]/.test(textAfter)))) - lexical = lexical.prev; - if (statementIndent && lexical.type == ")" && lexical.prev.type == "stat") - lexical = lexical.prev; - var type = lexical.type, closing = firstChar == type; - - if (type == "vardef") return lexical.indented + (state.lastType == "operator" || state.lastType == "," ? lexical.info + 1 : 0); - else if (type == "form" && firstChar == "{") return lexical.indented; - else if (type == "form") return lexical.indented + indentUnit; - else if (type == "stat") - return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0); - else if (lexical.info == "switch" && !closing && parserConfig.doubleIndentSwitch != false) - return lexical.indented + (/^(?:case|default)\b/.test(textAfter) ? indentUnit : 2 * indentUnit); - else if (lexical.align) return lexical.column + (closing ? 0 : 1); - else return lexical.indented + (closing ? 0 : indentUnit); - }, - - electricInput: /^\s*(?:case .*?:|default:|\{|\})$/, - blockCommentStart: jsonMode ? null : "/*", - blockCommentEnd: jsonMode ? null : "*/", - lineComment: jsonMode ? null : "//", - fold: "brace", - closeBrackets: "()[]{}''\"\"``", - - helperType: jsonMode ? "json" : "javascript", - jsonldMode: jsonldMode, - jsonMode: jsonMode, - - expressionAllowed: expressionAllowed, - skipExpression: function(state) { - var top = state.cc[state.cc.length - 1] - if (top == expression || top == expressionNoComma) state.cc.pop() - } - }; -}); - -CodeMirror.registerHelper("wordChars", "javascript", /[\w$]/); - -CodeMirror.defineMIME("text/javascript", "javascript"); -CodeMirror.defineMIME("text/ecmascript", "javascript"); -CodeMirror.defineMIME("application/javascript", "javascript"); -CodeMirror.defineMIME("application/x-javascript", "javascript"); -CodeMirror.defineMIME("application/ecmascript", "javascript"); -CodeMirror.defineMIME("application/json", {name: "javascript", json: true}); -CodeMirror.defineMIME("application/x-json", {name: "javascript", json: true}); -CodeMirror.defineMIME("application/ld+json", {name: "javascript", jsonld: true}); -CodeMirror.defineMIME("text/typescript", { name: "javascript", typescript: true }); -CodeMirror.defineMIME("application/typescript", { name: "javascript", typescript: true }); - -}); diff --git a/pig-register/src/main/resources/static/console-ui/public/js/jquery.js b/pig-register/src/main/resources/static/console-ui/public/js/jquery.js deleted file mode 100644 index b0614034..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/jquery.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="

",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0=0)||"undefined"!=typeof process&&"win32"===process.platform},t}();e.Environment=t}(AMDLoader||(AMDLoader={}));var AMDLoader;!function(e){var t;!function(e){e[e.LoaderAvailable=1]="LoaderAvailable",e[e.BeginLoadingScript=10]="BeginLoadingScript",e[e.EndLoadingScriptOK=11]="EndLoadingScriptOK",e[e.EndLoadingScriptError=12]="EndLoadingScriptError",e[e.BeginInvokeFactory=21]="BeginInvokeFactory",e[e.EndInvokeFactory=22]="EndInvokeFactory",e[e.NodeBeginEvaluatingScript=31]="NodeBeginEvaluatingScript",e[e.NodeEndEvaluatingScript=32]="NodeEndEvaluatingScript",e[e.NodeBeginNativeRequire=33]="NodeBeginNativeRequire",e[e.NodeEndNativeRequire=34]="NodeEndNativeRequire"}(t=e.LoaderEventType||(e.LoaderEventType={}));var r=function(){return function(e,t,r){this.type=e,this.detail=t,this.timestamp=r}}();e.LoaderEvent=r;var n=function(){function n(e){this._events=[new r(t.LoaderAvailable,"",e)]}return n.prototype.record=function(t,n){this._events.push(new r(t,n,e.Utilities.getHighPerformanceTimestamp()))},n.prototype.getEvents=function(){return this._events},n}();e.LoaderEventRecorder=n;var o=function(){function e(){}return e.prototype.record=function(e,t){},e.prototype.getEvents=function(){return[]},e}();o.INSTANCE=new o,e.NullLoaderEventRecorder=o}(AMDLoader||(AMDLoader={}));var AMDLoader;!function(e){var t=function(){function t(){}return t.fileUriToFilePath=function(e,t){if(t=decodeURI(t),e){if(/^file:\/\/\//.test(t))return t.substr(8);if(/^file:\/\//.test(t))return t.substr(5)}else if(/^file:\/\//.test(t))return t.substr(7);return t},t.startsWith=function(e,t){return e.length>=t.length&&e.substr(0,t.length)===t},t.endsWith=function(e,t){return e.length>=t.length&&e.substr(e.length-t.length)===t},t.containsQueryString=function(e){return/^[^\#]*\?/gi.test(e)},t.isAbsolutePath=function(e){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)|(\/))/.test(e)},t.forEachProperty=function(e,t){if(e){var r=void 0;for(r in e)e.hasOwnProperty(r)&&t(r,e[r])}},t.isEmpty=function(e){var r=!0;return t.forEachProperty(e,function(){r=!1}),r},t.recursiveClone=function(e){if(!e||"object"!=typeof e)return e;var r=Array.isArray(e)?[]:{};return t.forEachProperty(e,function(e,n){r[e]=n&&"object"==typeof n?t.recursiveClone(n):n}),r},t.generateAnonymousModule=function(){return"===anonymous"+t.NEXT_ANONYMOUS_ID+++"==="},t.isAnonymousModule=function(e){return/^===anonymous/.test(e)},t.getHighPerformanceTimestamp=function(){return this.PERFORMANCE_NOW_PROBED||(this.PERFORMANCE_NOW_PROBED=!0,this.HAS_PERFORMANCE_NOW=e.global.performance&&"function"==typeof e.global.performance.now),this.HAS_PERFORMANCE_NOW?e.global.performance.now():Date.now()},t}();t.NEXT_ANONYMOUS_ID=1,t.PERFORMANCE_NOW_PROBED=!1,t.HAS_PERFORMANCE_NOW=!1,e.Utilities=t}(AMDLoader||(AMDLoader={}));var AMDLoader;!function(e){var t=function(){function t(){}return t.validateConfigurationOptions=function(t,r){return"string"!=typeof(r=r||{}).baseUrl&&(r.baseUrl=""),"boolean"!=typeof r.isBuild&&(r.isBuild=!1),"object"!=typeof r.paths&&(r.paths={}),"object"!=typeof r.config&&(r.config={}),void 0===r.catchError&&(r.catchError=t),"string"!=typeof r.urlArgs&&(r.urlArgs=""),"function"!=typeof r.onError&&(r.onError=function(e){return"load"===e.errorCode?(console.error('Loading "'+e.moduleId+'" failed'),console.error("Detail: ",e.detail),e.detail&&e.detail.stack&&console.error(e.detail.stack),console.error("Here are the modules that depend on it:"),void console.error(e.neededBy)):"factory"===e.errorCode?(console.error('The factory method of "'+e.moduleId+'" has thrown an exception'),console.error(e.detail),void(e.detail&&e.detail.stack&&console.error(e.detail.stack))):void 0}),"object"==typeof r.ignoreDuplicateModules&&Array.isArray(r.ignoreDuplicateModules)||(r.ignoreDuplicateModules=[]),r.baseUrl.length>0&&(e.Utilities.endsWith(r.baseUrl,"/")||(r.baseUrl+="/")),Array.isArray(r.nodeModules)||(r.nodeModules=[]),("number"!=typeof r.nodeCachedDataWriteDelay||r.nodeCachedDataWriteDelay<0)&&(r.nodeCachedDataWriteDelay=7e3),"function"!=typeof r.onNodeCachedData&&(r.onNodeCachedData=function(e,t){e&&("cachedDataRejected"===e.errorCode?console.warn("Rejected cached data from file: "+e.path):"unlink"===e.errorCode||"writeFile"===e.errorCode?(console.error("Problems writing cached data file: "+e.path),console.error(e.detail)):console.error(e))}),r},t.mergeConfigurationOptions=function(r,n,o){void 0===n&&(n=null),void 0===o&&(o=null);var i=e.Utilities.recursiveClone(o||{});return e.Utilities.forEachProperty(n,function(t,r){"ignoreDuplicateModules"===t&&void 0!==i.ignoreDuplicateModules?i.ignoreDuplicateModules=i.ignoreDuplicateModules.concat(r):"paths"===t&&void 0!==i.paths?e.Utilities.forEachProperty(r,function(e,t){return i.paths[e]=t}):"config"===t&&void 0!==i.config?e.Utilities.forEachProperty(r,function(e,t){return i.config[e]=t}):i[t]=e.Utilities.recursiveClone(r)}),t.validateConfigurationOptions(r,i)},t}();e.ConfigurationOptionsUtil=t;var r=function(){function r(e,r){if(this._env=e,this.options=t.mergeConfigurationOptions(this._env.isWebWorker,r),this._createIgnoreDuplicateModulesMap(),this._createNodeModulesMap(),this._createSortedPathsRules(),""===this.options.baseUrl){if(this._env.isNode&&this.options.nodeRequire&&this.options.nodeRequire.main&&this.options.nodeRequire.main.filename){var n=this.options.nodeRequire.main.filename,o=Math.max(n.lastIndexOf("/"),n.lastIndexOf("\\"));this.options.baseUrl=n.substring(0,o+1)}if(this._env.isNode&&this.options.nodeMain){var n=this.options.nodeMain,o=Math.max(n.lastIndexOf("/"),n.lastIndexOf("\\"));this.options.baseUrl=n.substring(0,o+1)}}}return r.prototype._createIgnoreDuplicateModulesMap=function(){this.ignoreDuplicateModulesMap={};for(var e=0;e=0){var n=t.resolveModule(e.substr(0,r)),s=t.resolveModule(e.substr(r+1)),a=this._moduleIdProvider.getModuleId(n+"!"+s),d=this._moduleIdProvider.getModuleId(n);return new i(a,d,s)}return new o(this._moduleIdProvider.getModuleId(t.resolveModule(e)))},s.prototype._normalizeDependencies=function(e,t){for(var r=[],n=0,o=0,i=e.length;o0;){var d=a.shift(),l=this._modules2[d];l&&(s=l.onDependencyError(r)||s);var u=this._inverseDependencies2[d];if(u)for(var o=0,i=u.length;o0;){var a=s.shift().dependencies;if(a)for(var o=0,i=a.length;o=o.length)r._onLoadError(t,n);else{var a=o[i],d=r.getRecorder();if(r._config.isBuild()&&"empty:"===a)return r._buildInfoPath[t]=a,r.defineModule(r._moduleIdProvider.getStrModuleId(t),[],null,null,null),void r._onLoad(t);d.record(e.LoaderEventType.BeginLoadingScript,a),r._scriptLoader.load(r,a,function(){r._config.isBuild()&&(r._buildInfoPath[t]=a),d.record(e.LoaderEventType.EndLoadingScriptOK,a),r._onLoad(t)},function(t){d.record(e.LoaderEventType.EndLoadingScriptError,a),s(t)})}};s(null)}},s.prototype._loadPluginDependency=function(e,r){var n=this;if(!this._modules2[r.id]&&!this._knownModules2[r.id]){this._knownModules2[r.id]=!0;var o=function(e){n.defineModule(n._moduleIdProvider.getStrModuleId(r.id),[],e,null,null)};o.error=function(e){n._config.onError(n._createLoadError(r.id,e))},e.load(r.pluginParam,this._createRequire(t.ROOT),o,this._config.getOptionsLiteral())}},s.prototype._resolve=function(e){for(var t=this,r=e.dependencies,n=0,s=r.length;n \n")),e.unresolvedDependenciesCount--}else if(this._inverseDependencies2[a.id]=this._inverseDependencies2[a.id]||[],this._inverseDependencies2[a.id].push(e.id),a instanceof i){var u=this._modules2[a.pluginId];if(u&&u.isComplete()){this._loadPluginDependency(u.exports,a);continue}var c=this._inversePluginDependencies2.get(a.pluginId);c||(c=[],this._inversePluginDependencies2.set(a.pluginId,c)),c.push(a),this._loadModule(a.pluginId)}else this._loadModule(a.id)}else e.unresolvedDependenciesCount--;else e.unresolvedDependenciesCount--;else e.exportsPassedIn=!0,e.unresolvedDependenciesCount--}0===e.unresolvedDependenciesCount&&this._onModuleComplete(e)},s.prototype._onModuleComplete=function(e){var t=this,r=this.getRecorder();if(!e.isComplete()){for(var n=e.dependencies,i=[],s=0,a=n.length;s now) return false; - - var sInfo = editor.getScrollInfo(); - if (dv.mv.options.connect == "align") { - targetPos = sInfo.top; - } else { - var halfScreen = .5 * sInfo.clientHeight, midY = sInfo.top + halfScreen; - var mid = editor.lineAtHeight(midY, "local"); - var around = chunkBoundariesAround(dv.chunks, mid, toOrig); - var off = getOffsets(editor, toOrig ? around.edit : around.orig); - var offOther = getOffsets(other, toOrig ? around.orig : around.edit); - var ratio = (midY - off.top) / (off.bot - off.top); - var targetPos = (offOther.top - halfScreen) + ratio * (offOther.bot - offOther.top); - - var botDist, mix; - // Some careful tweaking to make sure no space is left out of view - // when scrolling to top or bottom. - if (targetPos > sInfo.top && (mix = sInfo.top / halfScreen) < 1) { - targetPos = targetPos * mix + sInfo.top * (1 - mix); - } else if ((botDist = sInfo.height - sInfo.clientHeight - sInfo.top) < halfScreen) { - var otherInfo = other.getScrollInfo(); - var botDistOther = otherInfo.height - otherInfo.clientHeight - targetPos; - if (botDistOther > botDist && (mix = botDist / halfScreen) < 1) - targetPos = targetPos * mix + (otherInfo.height - otherInfo.clientHeight - botDist) * (1 - mix); - } - } - - other.scrollTo(sInfo.left, targetPos); - other.state.scrollSetAt = now; - other.state.scrollSetBy = dv; - return true; - } - - function getOffsets(editor, around) { - var bot = around.after; - if (bot == null) bot = editor.lastLine() + 1; - return {top: editor.heightAtLine(around.before || 0, "local"), - bot: editor.heightAtLine(bot, "local")}; - } - - function setScrollLock(dv, val, action) { - dv.lockScroll = val; - if (val && action != false) syncScroll(dv, DIFF_INSERT) && makeConnections(dv); - dv.lockButton.innerHTML = val ? "\u21db\u21da" : "\u21db  \u21da"; - } - - // Updating the marks for editor content - - function removeClass(editor, line, classes) { - var locs = classes.classLocation - for (var i = 0; i < locs.length; i++) { - editor.removeLineClass(line, locs[i], classes.chunk); - editor.removeLineClass(line, locs[i], classes.start); - editor.removeLineClass(line, locs[i], classes.end); - } - } - - function clearMarks(editor, arr, classes) { - for (var i = 0; i < arr.length; ++i) { - var mark = arr[i]; - if (mark instanceof CodeMirror.TextMarker) - mark.clear(); - else if (mark.parent) - removeClass(editor, mark, classes); - } - arr.length = 0; - } - - // FIXME maybe add a margin around viewport to prevent too many updates - function updateMarks(editor, diff, state, type, classes) { - var vp = editor.getViewport(); - editor.operation(function() { - if (state.from == state.to || vp.from - state.to > 20 || state.from - vp.to > 20) { - clearMarks(editor, state.marked, classes); - markChanges(editor, diff, type, state.marked, vp.from, vp.to, classes); - state.from = vp.from; state.to = vp.to; - } else { - if (vp.from < state.from) { - markChanges(editor, diff, type, state.marked, vp.from, state.from, classes); - state.from = vp.from; - } - if (vp.to > state.to) { - markChanges(editor, diff, type, state.marked, state.to, vp.to, classes); - state.to = vp.to; - } - } - }); - } - - function addClass(editor, lineNr, classes, main, start, end) { - var locs = classes.classLocation, line = editor.getLineHandle(lineNr); - for (var i = 0; i < locs.length; i++) { - if (main) editor.addLineClass(line, locs[i], classes.chunk); - if (start) editor.addLineClass(line, locs[i], classes.start); - if (end) editor.addLineClass(line, locs[i], classes.end); - } - return line; - } - - function markChanges(editor, diff, type, marks, from, to, classes) { - var pos = Pos(0, 0); - var top = Pos(from, 0), bot = editor.clipPos(Pos(to - 1)); - var cls = type == DIFF_DELETE ? classes.del : classes.insert; - function markChunk(start, end) { - var bfrom = Math.max(from, start), bto = Math.min(to, end); - for (var i = bfrom; i < bto; ++i) - marks.push(addClass(editor, i, classes, true, i == start, i == end - 1)); - // When the chunk is empty, make sure a horizontal line shows up - if (start == end && bfrom == end && bto == end) { - if (bfrom) - marks.push(addClass(editor, bfrom - 1, classes, false, false, true)); - else - marks.push(addClass(editor, bfrom, classes, false, true, false)); - } - } - - var chunkStart = 0, pending = false; - for (var i = 0; i < diff.length; ++i) { - var part = diff[i], tp = part[0], str = part[1]; - if (tp == DIFF_EQUAL) { - var cleanFrom = pos.line + (startOfLineClean(diff, i) ? 0 : 1); - moveOver(pos, str); - var cleanTo = pos.line + (endOfLineClean(diff, i) ? 1 : 0); - if (cleanTo > cleanFrom) { - if (pending) { markChunk(chunkStart, cleanFrom); pending = false } - chunkStart = cleanTo; - } - } else { - pending = true - if (tp == type) { - var end = moveOver(pos, str, true); - var a = posMax(top, pos), b = posMin(bot, end); - if (!posEq(a, b)) - marks.push(editor.markText(a, b, {className: cls})); - pos = end; - } - } - } - if (pending) markChunk(chunkStart, pos.line + 1); - } - - // Updating the gap between editor and original - - function makeConnections(dv) { - if (!dv.showDifferences) return; - - if (dv.svg) { - clear(dv.svg); - var w = dv.gap.offsetWidth; - attrs(dv.svg, "width", w, "height", dv.gap.offsetHeight); - } - if (dv.copyButtons) clear(dv.copyButtons); - - var vpEdit = dv.edit.getViewport(), vpOrig = dv.orig.getViewport(); - var outerTop = dv.mv.wrap.getBoundingClientRect().top - var sTopEdit = outerTop - dv.edit.getScrollerElement().getBoundingClientRect().top + dv.edit.getScrollInfo().top - var sTopOrig = outerTop - dv.orig.getScrollerElement().getBoundingClientRect().top + dv.orig.getScrollInfo().top; - for (var i = 0; i < dv.chunks.length; i++) { - var ch = dv.chunks[i]; - if (ch.editFrom <= vpEdit.to && ch.editTo >= vpEdit.from && - ch.origFrom <= vpOrig.to && ch.origTo >= vpOrig.from) - drawConnectorsForChunk(dv, ch, sTopOrig, sTopEdit, w); - } - } - - function getMatchingOrigLine(editLine, chunks) { - var editStart = 0, origStart = 0; - for (var i = 0; i < chunks.length; i++) { - var chunk = chunks[i]; - if (chunk.editTo > editLine && chunk.editFrom <= editLine) return null; - if (chunk.editFrom > editLine) break; - editStart = chunk.editTo; - origStart = chunk.origTo; - } - return origStart + (editLine - editStart); - } - - // Combines information about chunks and widgets/markers to return - // an array of lines, in a single editor, that probably need to be - // aligned with their counterparts in the editor next to it. - function alignableFor(cm, chunks, isOrig) { - var tracker = cm.state.trackAlignable - var start = cm.firstLine(), trackI = 0 - var result = [] - for (var i = 0;; i++) { - var chunk = chunks[i] - var chunkStart = !chunk ? 1e9 : isOrig ? chunk.origFrom : chunk.editFrom - for (; trackI < tracker.alignable.length; trackI += 2) { - var n = tracker.alignable[trackI] + 1 - if (n <= start) continue - if (n <= chunkStart) result.push(n) - else break - } - if (!chunk) break - result.push(start = isOrig ? chunk.origTo : chunk.editTo) - } - return result - } - - // Given information about alignable lines in two editors, fill in - // the result (an array of three-element arrays) to reflect the - // lines that need to be aligned with each other. - function mergeAlignable(result, origAlignable, chunks, setIndex) { - var rI = 0, origI = 0, chunkI = 0, diff = 0 - outer: for (;; rI++) { - var nextR = result[rI], nextO = origAlignable[origI] - if (!nextR && nextO == null) break - - var rLine = nextR ? nextR[0] : 1e9, oLine = nextO == null ? 1e9 : nextO - while (chunkI < chunks.length) { - var chunk = chunks[chunkI] - if (chunk.origFrom <= oLine && chunk.origTo > oLine) { - origI++ - rI-- - continue outer; - } - if (chunk.editTo > rLine) { - if (chunk.editFrom <= rLine) continue outer; - break - } - diff += (chunk.origTo - chunk.origFrom) - (chunk.editTo - chunk.editFrom) - chunkI++ - } - if (rLine == oLine - diff) { - nextR[setIndex] = oLine - origI++ - } else if (rLine < oLine - diff) { - nextR[setIndex] = rLine + diff - } else { - var record = [oLine - diff, null, null] - record[setIndex] = oLine - result.splice(rI, 0, record) - origI++ - } - } - } - - function findAlignedLines(dv, other) { - var alignable = alignableFor(dv.edit, dv.chunks, false), result = [] - if (other) for (var i = 0, j = 0; i < other.chunks.length; i++) { - var n = other.chunks[i].editTo - while (j < alignable.length && alignable[j] < n) j++ - if (j == alignable.length || alignable[j] != n) alignable.splice(j++, 0, n) - } - for (var i = 0; i < alignable.length; i++) - result.push([alignable[i], null, null]) - - mergeAlignable(result, alignableFor(dv.orig, dv.chunks, true), dv.chunks, 1) - if (other) - mergeAlignable(result, alignableFor(other.orig, other.chunks, true), other.chunks, 2) - - return result - } - - function alignChunks(dv, force) { - if (!dv.dealigned && !force) return; - if (!dv.orig.curOp) return dv.orig.operation(function() { - alignChunks(dv, force); - }); - - dv.dealigned = false; - var other = dv.mv.left == dv ? dv.mv.right : dv.mv.left; - if (other) { - ensureDiff(other); - other.dealigned = false; - } - var linesToAlign = findAlignedLines(dv, other); - - // Clear old aligners - var aligners = dv.mv.aligners; - for (var i = 0; i < aligners.length; i++) - aligners[i].clear(); - aligners.length = 0; - - var cm = [dv.edit, dv.orig], scroll = []; - if (other) cm.push(other.orig); - for (var i = 0; i < cm.length; i++) - scroll.push(cm[i].getScrollInfo().top); - - for (var ln = 0; ln < linesToAlign.length; ln++) - alignLines(cm, linesToAlign[ln], aligners); - - for (var i = 0; i < cm.length; i++) - cm[i].scrollTo(null, scroll[i]); - } - - function alignLines(cm, lines, aligners) { - var maxOffset = 0, offset = []; - for (var i = 0; i < cm.length; i++) if (lines[i] != null) { - var off = cm[i].heightAtLine(lines[i], "local"); - offset[i] = off; - maxOffset = Math.max(maxOffset, off); - } - for (var i = 0; i < cm.length; i++) if (lines[i] != null) { - var diff = maxOffset - offset[i]; - if (diff > 1) - aligners.push(padAbove(cm[i], lines[i], diff)); - } - } - - function padAbove(cm, line, size) { - var above = true; - if (line > cm.lastLine()) { - line--; - above = false; - } - var elt = document.createElement("div"); - elt.className = "CodeMirror-merge-spacer"; - elt.style.height = size + "px"; elt.style.minWidth = "1px"; - return cm.addLineWidget(line, elt, {height: size, above: above, mergeSpacer: true, handleMouseEvents: true}); - } - - function drawConnectorsForChunk(dv, chunk, sTopOrig, sTopEdit, w) { - var flip = dv.type == "left"; - var top = dv.orig.heightAtLine(chunk.origFrom, "local", true) - sTopOrig; - if (dv.svg) { - var topLpx = top; - var topRpx = dv.edit.heightAtLine(chunk.editFrom, "local", true) - sTopEdit; - if (flip) { var tmp = topLpx; topLpx = topRpx; topRpx = tmp; } - var botLpx = dv.orig.heightAtLine(chunk.origTo, "local", true) - sTopOrig; - var botRpx = dv.edit.heightAtLine(chunk.editTo, "local", true) - sTopEdit; - if (flip) { var tmp = botLpx; botLpx = botRpx; botRpx = tmp; } - var curveTop = " C " + w/2 + " " + topRpx + " " + w/2 + " " + topLpx + " " + (w + 2) + " " + topLpx; - var curveBot = " C " + w/2 + " " + botLpx + " " + w/2 + " " + botRpx + " -1 " + botRpx; - attrs(dv.svg.appendChild(document.createElementNS(svgNS, "path")), - "d", "M -1 " + topRpx + curveTop + " L " + (w + 2) + " " + botLpx + curveBot + " z", - "class", dv.classes.connect); - } - if (dv.copyButtons) { - var copy = dv.copyButtons.appendChild(elt("div", dv.type == "left" ? "\u21dd" : "\u21dc", - "CodeMirror-merge-copy")); - var editOriginals = dv.mv.options.allowEditingOriginals; - copy.title = editOriginals ? "Push to left" : "Revert chunk"; - copy.chunk = chunk; - copy.style.top = (chunk.origTo > chunk.origFrom ? top : dv.edit.heightAtLine(chunk.editFrom, "local") - sTopEdit) + "px"; - - if (editOriginals) { - var topReverse = dv.edit.heightAtLine(chunk.editFrom, "local") - sTopEdit; - var copyReverse = dv.copyButtons.appendChild(elt("div", dv.type == "right" ? "\u21dd" : "\u21dc", - "CodeMirror-merge-copy-reverse")); - copyReverse.title = "Push to right"; - copyReverse.chunk = {editFrom: chunk.origFrom, editTo: chunk.origTo, - origFrom: chunk.editFrom, origTo: chunk.editTo}; - copyReverse.style.top = topReverse + "px"; - dv.type == "right" ? copyReverse.style.left = "2px" : copyReverse.style.right = "2px"; - } - } - } - - function copyChunk(dv, to, from, chunk) { - if (dv.diffOutOfDate) return; - var origStart = chunk.origTo > from.lastLine() ? Pos(chunk.origFrom - 1) : Pos(chunk.origFrom, 0) - var origEnd = Pos(chunk.origTo, 0) - var editStart = chunk.editTo > to.lastLine() ? Pos(chunk.editFrom - 1) : Pos(chunk.editFrom, 0) - var editEnd = Pos(chunk.editTo, 0) - var handler = dv.mv.options.revertChunk - if (handler) - handler(dv.mv, from, origStart, origEnd, to, editStart, editEnd) - else - to.replaceRange(from.getRange(origStart, origEnd), editStart, editEnd) - } - - // Merge view, containing 0, 1, or 2 diff views. - - var MergeView = CodeMirror.MergeView = function(node, options) { - if (!(this instanceof MergeView)) return new MergeView(node, options); - - this.options = options; - var origLeft = options.origLeft, origRight = options.origRight == null ? options.orig : options.origRight; - - var hasLeft = origLeft != null, hasRight = origRight != null; - var panes = 1 + (hasLeft ? 1 : 0) + (hasRight ? 1 : 0); - var wrap = [], left = this.left = null, right = this.right = null; - var self = this; - - if (hasLeft) { - left = this.left = new DiffView(this, "left"); - var leftPane = elt("div", null, "CodeMirror-merge-pane CodeMirror-merge-left"); - wrap.push(leftPane); - wrap.push(buildGap(left)); - } - - var editPane = elt("div", null, "CodeMirror-merge-pane CodeMirror-merge-editor"); - wrap.push(editPane); - - if (hasRight) { - right = this.right = new DiffView(this, "right"); - wrap.push(buildGap(right)); - var rightPane = elt("div", null, "CodeMirror-merge-pane CodeMirror-merge-right"); - wrap.push(rightPane); - } - - (hasRight ? rightPane : editPane).className += " CodeMirror-merge-pane-rightmost"; - - wrap.push(elt("div", null, null, "height: 0; clear: both;")); - - var wrapElt = this.wrap = node.appendChild(elt("div", wrap, "CodeMirror-merge CodeMirror-merge-" + panes + "pane")); - this.edit = CodeMirror(editPane, copyObj(options)); - - if (left) left.init(leftPane, origLeft, options); - if (right) right.init(rightPane, origRight, options); - if (options.collapseIdentical) - this.editor().operation(function() { - collapseIdenticalStretches(self, options.collapseIdentical); - }); - if (options.connect == "align") { - this.aligners = []; - alignChunks(this.left || this.right, true); - } - if (left) left.registerEvents(right) - if (right) right.registerEvents(left) - - - var onResize = function() { - if (left) makeConnections(left); - if (right) makeConnections(right); - }; - CodeMirror.on(window, "resize", onResize); - var resizeInterval = setInterval(function() { - for (var p = wrapElt.parentNode; p && p != document.body; p = p.parentNode) {} - if (!p) { clearInterval(resizeInterval); CodeMirror.off(window, "resize", onResize); } - }, 5000); - }; - - function buildGap(dv) { - var lock = dv.lockButton = elt("div", null, "CodeMirror-merge-scrolllock"); - lock.title = "Toggle locked scrolling"; - var lockWrap = elt("div", [lock], "CodeMirror-merge-scrolllock-wrap"); - CodeMirror.on(lock, "click", function() { setScrollLock(dv, !dv.lockScroll); }); - var gapElts = [lockWrap]; - if (dv.mv.options.revertButtons !== false) { - dv.copyButtons = elt("div", null, "CodeMirror-merge-copybuttons-" + dv.type); - CodeMirror.on(dv.copyButtons, "click", function(e) { - var node = e.target || e.srcElement; - if (!node.chunk) return; - if (node.className == "CodeMirror-merge-copy-reverse") { - copyChunk(dv, dv.orig, dv.edit, node.chunk); - return; - } - copyChunk(dv, dv.edit, dv.orig, node.chunk); - }); - gapElts.unshift(dv.copyButtons); - } - if (dv.mv.options.connect != "align") { - var svg = document.createElementNS && document.createElementNS(svgNS, "svg"); - if (svg && !svg.createSVGRect) svg = null; - dv.svg = svg; - if (svg) gapElts.push(svg); - } - - return dv.gap = elt("div", gapElts, "CodeMirror-merge-gap"); - } - - MergeView.prototype = { - constructor: MergeView, - editor: function() { return this.edit; }, - rightOriginal: function() { return this.right && this.right.orig; }, - leftOriginal: function() { return this.left && this.left.orig; }, - setShowDifferences: function(val) { - if (this.right) this.right.setShowDifferences(val); - if (this.left) this.left.setShowDifferences(val); - }, - rightChunks: function() { - if (this.right) { ensureDiff(this.right); return this.right.chunks; } - }, - leftChunks: function() { - if (this.left) { ensureDiff(this.left); return this.left.chunks; } - } - }; - - function asString(obj) { - if (typeof obj == "string") return obj; - else return obj.getValue(); - } - - // Operations on diffs - - var dmp = new diff_match_patch(); - function getDiff(a, b, ignoreWhitespace) { - var diff = dmp.diff_main(a, b); - // The library sometimes leaves in empty parts, which confuse the algorithm - for (var i = 0; i < diff.length; ++i) { - var part = diff[i]; - if (ignoreWhitespace ? !/[^ \t]/.test(part[1]) : !part[1]) { - diff.splice(i--, 1); - } else if (i && diff[i - 1][0] == part[0]) { - diff.splice(i--, 1); - diff[i][1] += part[1]; - } - } - return diff; - } - - function getChunks(diff) { - var chunks = []; - var startEdit = 0, startOrig = 0; - var edit = Pos(0, 0), orig = Pos(0, 0); - for (var i = 0; i < diff.length; ++i) { - var part = diff[i], tp = part[0]; - if (tp == DIFF_EQUAL) { - var startOff = !startOfLineClean(diff, i) || edit.line < startEdit || orig.line < startOrig ? 1 : 0; - var cleanFromEdit = edit.line + startOff, cleanFromOrig = orig.line + startOff; - moveOver(edit, part[1], null, orig); - var endOff = endOfLineClean(diff, i) ? 1 : 0; - var cleanToEdit = edit.line + endOff, cleanToOrig = orig.line + endOff; - if (cleanToEdit > cleanFromEdit) { - if (i) chunks.push({origFrom: startOrig, origTo: cleanFromOrig, - editFrom: startEdit, editTo: cleanFromEdit}); - startEdit = cleanToEdit; startOrig = cleanToOrig; - } - } else { - moveOver(tp == DIFF_INSERT ? edit : orig, part[1]); - } - } - if (startEdit <= edit.line || startOrig <= orig.line) - chunks.push({origFrom: startOrig, origTo: orig.line + 1, - editFrom: startEdit, editTo: edit.line + 1}); - return chunks; - } - - function endOfLineClean(diff, i) { - if (i == diff.length - 1) return true; - var next = diff[i + 1][1]; - if ((next.length == 1 && i < diff.length - 2) || next.charCodeAt(0) != 10) return false; - if (i == diff.length - 2) return true; - next = diff[i + 2][1]; - return (next.length > 1 || i == diff.length - 3) && next.charCodeAt(0) == 10; - } - - function startOfLineClean(diff, i) { - if (i == 0) return true; - var last = diff[i - 1][1]; - if (last.charCodeAt(last.length - 1) != 10) return false; - if (i == 1) return true; - last = diff[i - 2][1]; - return last.charCodeAt(last.length - 1) == 10; - } - - function chunkBoundariesAround(chunks, n, nInEdit) { - var beforeE, afterE, beforeO, afterO; - for (var i = 0; i < chunks.length; i++) { - var chunk = chunks[i]; - var fromLocal = nInEdit ? chunk.editFrom : chunk.origFrom; - var toLocal = nInEdit ? chunk.editTo : chunk.origTo; - if (afterE == null) { - if (fromLocal > n) { afterE = chunk.editFrom; afterO = chunk.origFrom; } - else if (toLocal > n) { afterE = chunk.editTo; afterO = chunk.origTo; } - } - if (toLocal <= n) { beforeE = chunk.editTo; beforeO = chunk.origTo; } - else if (fromLocal <= n) { beforeE = chunk.editFrom; beforeO = chunk.origFrom; } - } - return {edit: {before: beforeE, after: afterE}, orig: {before: beforeO, after: afterO}}; - } - - function collapseSingle(cm, from, to) { - cm.addLineClass(from, "wrap", "CodeMirror-merge-collapsed-line"); - var widget = document.createElement("span"); - widget.className = "CodeMirror-merge-collapsed-widget"; - widget.title = "Identical text collapsed. Click to expand."; - var mark = cm.markText(Pos(from, 0), Pos(to - 1), { - inclusiveLeft: true, - inclusiveRight: true, - replacedWith: widget, - clearOnEnter: true - }); - function clear() { - mark.clear(); - cm.removeLineClass(from, "wrap", "CodeMirror-merge-collapsed-line"); - } - CodeMirror.on(widget, "click", clear); - return {mark: mark, clear: clear}; - } - - function collapseStretch(size, editors) { - var marks = []; - function clear() { - for (var i = 0; i < marks.length; i++) marks[i].clear(); - } - for (var i = 0; i < editors.length; i++) { - var editor = editors[i]; - var mark = collapseSingle(editor.cm, editor.line, editor.line + size); - marks.push(mark); - mark.mark.on("clear", clear); - } - return marks[0].mark; - } - - function unclearNearChunks(dv, margin, off, clear) { - for (var i = 0; i < dv.chunks.length; i++) { - var chunk = dv.chunks[i]; - for (var l = chunk.editFrom - margin; l < chunk.editTo + margin; l++) { - var pos = l + off; - if (pos >= 0 && pos < clear.length) clear[pos] = false; - } - } - } - - function collapseIdenticalStretches(mv, margin) { - if (typeof margin != "number") margin = 2; - var clear = [], edit = mv.editor(), off = edit.firstLine(); - for (var l = off, e = edit.lastLine(); l <= e; l++) clear.push(true); - if (mv.left) unclearNearChunks(mv.left, margin, off, clear); - if (mv.right) unclearNearChunks(mv.right, margin, off, clear); - - for (var i = 0; i < clear.length; i++) { - if (clear[i]) { - var line = i + off; - for (var size = 1; i < clear.length - 1 && clear[i + 1]; i++, size++) {} - if (size > margin) { - var editors = [{line: line, cm: edit}]; - if (mv.left) editors.push({line: getMatchingOrigLine(line, mv.left.chunks), cm: mv.left.orig}); - if (mv.right) editors.push({line: getMatchingOrigLine(line, mv.right.chunks), cm: mv.right.orig}); - var mark = collapseStretch(size, editors); - if (mv.options.onCollapse) mv.options.onCollapse(mv, line, size, mark); - } - } - } - } - - // General utilities - - function elt(tag, content, className, style) { - var e = document.createElement(tag); - if (className) e.className = className; - if (style) e.style.cssText = style; - if (typeof content == "string") e.appendChild(document.createTextNode(content)); - else if (content) for (var i = 0; i < content.length; ++i) e.appendChild(content[i]); - return e; - } - - function clear(node) { - for (var count = node.childNodes.length; count > 0; --count) - node.removeChild(node.firstChild); - } - - function attrs(elt) { - for (var i = 1; i < arguments.length; i += 2) - elt.setAttribute(arguments[i], arguments[i+1]); - } - - function copyObj(obj, target) { - if (!target) target = {}; - for (var prop in obj) if (obj.hasOwnProperty(prop)) target[prop] = obj[prop]; - return target; - } - - function moveOver(pos, str, copy, other) { - var out = copy ? Pos(pos.line, pos.ch) : pos, at = 0; - for (;;) { - var nl = str.indexOf("\n", at); - if (nl == -1) break; - ++out.line; - if (other) ++other.line; - at = nl + 1; - } - out.ch = (at ? 0 : out.ch) + (str.length - at); - if (other) other.ch = (at ? 0 : other.ch) + (str.length - at); - return out; - } - - // Tracks collapsed markers and line widgets, in order to be able to - // accurately align the content of two editors. - - var F_WIDGET = 1, F_WIDGET_BELOW = 2, F_MARKER = 4 - - function TrackAlignable(cm) { - this.cm = cm - this.alignable = [] - this.height = cm.doc.height - var self = this - cm.on("markerAdded", function(_, marker) { - if (!marker.collapsed) return - var found = marker.find(1) - if (found != null) self.set(found.line, F_MARKER) - }) - cm.on("markerCleared", function(_, marker, _min, max) { - if (max != null && marker.collapsed) - self.check(max, F_MARKER, self.hasMarker) - }) - cm.on("markerChanged", this.signal.bind(this)) - cm.on("lineWidgetAdded", function(_, widget, lineNo) { - if (widget.mergeSpacer) return - if (widget.above) self.set(lineNo - 1, F_WIDGET_BELOW) - else self.set(lineNo, F_WIDGET) - }) - cm.on("lineWidgetCleared", function(_, widget, lineNo) { - if (widget.mergeSpacer) return - if (widget.above) self.check(lineNo - 1, F_WIDGET_BELOW, self.hasWidgetBelow) - else self.check(lineNo, F_WIDGET, self.hasWidget) - }) - cm.on("lineWidgetChanged", this.signal.bind(this)) - cm.on("change", function(_, change) { - var start = change.from.line, nBefore = change.to.line - change.from.line - var nAfter = change.text.length - 1, end = start + nAfter - if (nBefore || nAfter) self.map(start, nBefore, nAfter) - self.check(end, F_MARKER, self.hasMarker) - if (nBefore || nAfter) self.check(change.from.line, F_MARKER, self.hasMarker) - }) - cm.on("viewportChange", function() { - if (self.cm.doc.height != self.height) self.signal() - }) - } - - TrackAlignable.prototype = { - signal: function() { - CodeMirror.signal(this, "realign") - this.height = this.cm.doc.height - }, - - set: function(n, flags) { - var pos = -1 - for (; pos < this.alignable.length; pos += 2) { - var diff = this.alignable[pos] - n - if (diff == 0) { - if ((this.alignable[pos + 1] & flags) == flags) return - this.alignable[pos + 1] |= flags - this.signal() - return - } - if (diff > 0) break - } - this.signal() - this.alignable.splice(pos, 0, n, flags) - }, - - find: function(n) { - for (var i = 0; i < this.alignable.length; i += 2) - if (this.alignable[i] == n) return i - return -1 - }, - - check: function(n, flag, pred) { - var found = this.find(n) - if (found == -1 || !(this.alignable[found + 1] & flag)) return - if (!pred.call(this, n)) { - this.signal() - var flags = this.alignable[found + 1] & ~flag - if (flags) this.alignable[found + 1] = flags - else this.alignable.splice(found, 2) - } - }, - - hasMarker: function(n) { - var handle = this.cm.getLineHandle(n) - if (handle.markedSpans) for (var i = 0; i < handle.markedSpans.length; i++) - if (handle.markedSpans[i].mark.collapsed && handle.markedSpans[i].to != null) - return true - return false - }, - - hasWidget: function(n) { - var handle = this.cm.getLineHandle(n) - if (handle.widgets) for (var i = 0; i < handle.widgets.length; i++) - if (!handle.widgets[i].above && !handle.widgets[i].mergeSpacer) return true - return false - }, - - hasWidgetBelow: function(n) { - if (n == this.cm.lastLine()) return false - var handle = this.cm.getLineHandle(n + 1) - if (handle.widgets) for (var i = 0; i < handle.widgets.length; i++) - if (handle.widgets[i].above && !handle.widgets[i].mergeSpacer) return true - return false - }, - - map: function(from, nBefore, nAfter) { - var diff = nAfter - nBefore, to = from + nBefore, widgetFrom = -1, widgetTo = -1 - for (var i = 0; i < this.alignable.length; i += 2) { - var n = this.alignable[i] - if (n == from && (this.alignable[i + 1] & F_WIDGET_BELOW)) widgetFrom = i - if (n == to && (this.alignable[i + 1] & F_WIDGET_BELOW)) widgetTo = i - if (n <= from) continue - else if (n < to) this.alignable.splice(i--, 2) - else this.alignable[i] += diff - } - if (widgetFrom > -1) { - var flags = this.alignable[widgetFrom + 1] - if (flags == F_WIDGET_BELOW) this.alignable.splice(widgetFrom, 2) - else this.alignable[widgetFrom + 1] = flags & ~F_WIDGET_BELOW - } - if (widgetTo > -1 && nAfter) - this.set(from + nAfter, F_WIDGET_BELOW) - } - } - - function posMin(a, b) { return (a.line - b.line || a.ch - b.ch) < 0 ? a : b; } - function posMax(a, b) { return (a.line - b.line || a.ch - b.ch) > 0 ? a : b; } - function posEq(a, b) { return a.line == b.line && a.ch == b.ch; } - - function findPrevDiff(chunks, start, isOrig) { - for (var i = chunks.length - 1; i >= 0; i--) { - var chunk = chunks[i]; - var to = (isOrig ? chunk.origTo : chunk.editTo) - 1; - if (to < start) return to; - } - } - - function findNextDiff(chunks, start, isOrig) { - for (var i = 0; i < chunks.length; i++) { - var chunk = chunks[i]; - var from = (isOrig ? chunk.origFrom : chunk.editFrom); - if (from > start) return from; - } - } - - function goNearbyDiff(cm, dir) { - var found = null, views = cm.state.diffViews, line = cm.getCursor().line; - if (views) for (var i = 0; i < views.length; i++) { - var dv = views[i], isOrig = cm == dv.orig; - ensureDiff(dv); - var pos = dir < 0 ? findPrevDiff(dv.chunks, line, isOrig) : findNextDiff(dv.chunks, line, isOrig); - if (pos != null && (found == null || (dir < 0 ? pos > found : pos < found))) - found = pos; - } - if (found != null) - cm.setCursor(found, 0); - else - return CodeMirror.Pass; - } - - CodeMirror.commands.goNextDiff = function(cm) { - return goNearbyDiff(cm, 1); - }; - CodeMirror.commands.goPrevDiff = function(cm) { - return goNearbyDiff(cm, -1); - }; -}); diff --git a/pig-register/src/main/resources/static/console-ui/public/js/vs/base/worker/workerMain.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/base/worker/workerMain.js deleted file mode 100644 index 09b04aa2..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/base/worker/workerMain.js +++ /dev/null @@ -1,8 +0,0 @@ -/*!----------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.10.1(ebbf400719be21761361804bf63fb3916e64a845) - * Released under the MIT license - * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt - *-----------------------------------------------------------*/ -(function(){var e=["exports","require","vs/base/common/winjs.base","vs/editor/common/core/position","vs/base/common/platform","vs/editor/common/core/range","vs/base/common/uri","vs/editor/common/core/uint","vs/base/common/errors","vs/base/common/event","vs/base/common/lifecycle","vs/base/common/functional","vs/base/common/diff/diff","vs/base/common/cancellation","vs/base/common/types","vs/base/common/callbackList","vs/base/common/diff/diffChange","vs/base/common/map","vs/base/common/async","vs/editor/common/viewModel/prefixSumComputer","vs/base/common/strings","vs/base/common/keyCodes","vs/editor/common/core/selection","vs/editor/common/core/token","vs/editor/common/model/mirrorModel","vs/editor/common/core/characterClassifier","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/standaloneBase","vs/base/common/worker/simpleWorker","vs/base/common/winjs.base.raw","vs/editor/common/services/editorSimpleWorker"],t=function(t){for(var n=[],r=0,i=t.length;r=0)||"undefined"!=typeof process&&"win32"===process.platform},t}();e.Environment=t}(i||(i={}));!function(e){var t;!function(e){e[e.LoaderAvailable=1]="LoaderAvailable",e[e.BeginLoadingScript=10]="BeginLoadingScript",e[e.EndLoadingScriptOK=11]="EndLoadingScriptOK",e[e.EndLoadingScriptError=12]="EndLoadingScriptError",e[e.BeginInvokeFactory=21]="BeginInvokeFactory",e[e.EndInvokeFactory=22]="EndInvokeFactory",e[e.NodeBeginEvaluatingScript=31]="NodeBeginEvaluatingScript",e[e.NodeEndEvaluatingScript=32]="NodeEndEvaluatingScript",e[e.NodeBeginNativeRequire=33]="NodeBeginNativeRequire",e[e.NodeEndNativeRequire=34]="NodeEndNativeRequire"}(t=e.LoaderEventType||(e.LoaderEventType={}));var n=function(){return function(e,t,n){this.type=e,this.detail=t,this.timestamp=n}}();e.LoaderEvent=n;var r=function(){function r(e){this._events=[new n(t.LoaderAvailable,"",e)]}return r.prototype.record=function(t,r){this._events.push(new n(t,r,e.Utilities.getHighPerformanceTimestamp()))},r.prototype.getEvents=function(){return this._events},r}();e.LoaderEventRecorder=r;var i=function(){function e(){}return e.prototype.record=function(e,t){},e.prototype.getEvents=function(){return[]},e}();i.INSTANCE=new i,e.NullLoaderEventRecorder=i}(i||(i={}));!function(e){var t=function(){function t(){}return t.fileUriToFilePath=function(e,t){if(t=decodeURI(t),e){if(/^file:\/\/\//.test(t))return t.substr(8);if(/^file:\/\//.test(t))return t.substr(5)}else if(/^file:\/\//.test(t))return t.substr(7);return t},t.startsWith=function(e,t){return e.length>=t.length&&e.substr(0,t.length)===t},t.endsWith=function(e,t){return e.length>=t.length&&e.substr(e.length-t.length)===t},t.containsQueryString=function(e){return/^[^\#]*\?/gi.test(e)},t.isAbsolutePath=function(e){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)|(\/))/.test(e)},t.forEachProperty=function(e,t){if(e){var n=void 0;for(n in e)e.hasOwnProperty(n)&&t(n,e[n])}},t.isEmpty=function(e){var n=!0;return t.forEachProperty(e,function(){n=!1}),n},t.recursiveClone=function(e){if(!e||"object"!=typeof e)return e;var n=Array.isArray(e)?[]:{};return t.forEachProperty(e,function(e,r){n[e]=r&&"object"==typeof r?t.recursiveClone(r):r}),n},t.generateAnonymousModule=function(){return"===anonymous"+t.NEXT_ANONYMOUS_ID+++"==="},t.isAnonymousModule=function(e){return/^===anonymous/.test(e)},t.getHighPerformanceTimestamp=function(){return this.PERFORMANCE_NOW_PROBED||(this.PERFORMANCE_NOW_PROBED=!0,this.HAS_PERFORMANCE_NOW=e.global.performance&&"function"==typeof e.global.performance.now),this.HAS_PERFORMANCE_NOW?e.global.performance.now():Date.now()},t}();t.NEXT_ANONYMOUS_ID=1,t.PERFORMANCE_NOW_PROBED=!1,t.HAS_PERFORMANCE_NOW=!1,e.Utilities=t}(i||(i={}));!function(e){var t=function(){function t(){}return t.validateConfigurationOptions=function(t,n){return"string"!=typeof(n=n||{}).baseUrl&&(n.baseUrl=""),"boolean"!=typeof n.isBuild&&(n.isBuild=!1),"object"!=typeof n.paths&&(n.paths={}),"object"!=typeof n.config&&(n.config={}),void 0===n.catchError&&(n.catchError=t),"string"!=typeof n.urlArgs&&(n.urlArgs=""),"function"!=typeof n.onError&&(n.onError=function(e){return"load"===e.errorCode?(console.error('Loading "'+e.moduleId+'" failed'),console.error("Detail: ",e.detail),e.detail&&e.detail.stack&&console.error(e.detail.stack),console.error("Here are the modules that depend on it:"),void console.error(e.neededBy)):"factory"===e.errorCode?(console.error('The factory method of "'+e.moduleId+'" has thrown an exception'),console.error(e.detail),void(e.detail&&e.detail.stack&&console.error(e.detail.stack))):void 0}),"object"==typeof n.ignoreDuplicateModules&&Array.isArray(n.ignoreDuplicateModules)||(n.ignoreDuplicateModules=[]),n.baseUrl.length>0&&(e.Utilities.endsWith(n.baseUrl,"/")||(n.baseUrl+="/")),Array.isArray(n.nodeModules)||(n.nodeModules=[]),("number"!=typeof n.nodeCachedDataWriteDelay||n.nodeCachedDataWriteDelay<0)&&(n.nodeCachedDataWriteDelay=7e3),"function"!=typeof n.onNodeCachedData&&(n.onNodeCachedData=function(e,t){e&&("cachedDataRejected"===e.errorCode?console.warn("Rejected cached data from file: "+e.path):"unlink"===e.errorCode||"writeFile"===e.errorCode?(console.error("Problems writing cached data file: "+e.path),console.error(e.detail)):console.error(e))}),n},t.mergeConfigurationOptions=function(n,r,i){void 0===r&&(r=null),void 0===i&&(i=null);var o=e.Utilities.recursiveClone(i||{});return e.Utilities.forEachProperty(r,function(t,n){"ignoreDuplicateModules"===t&&void 0!==o.ignoreDuplicateModules?o.ignoreDuplicateModules=o.ignoreDuplicateModules.concat(n):"paths"===t&&void 0!==o.paths?e.Utilities.forEachProperty(n,function(e,t){return o.paths[e]=t}):"config"===t&&void 0!==o.config?e.Utilities.forEachProperty(n,function(e,t){return o.config[e]=t}):o[t]=e.Utilities.recursiveClone(n)}),t.validateConfigurationOptions(n,o)},t}();e.ConfigurationOptionsUtil=t;var n=function(){function n(e,n){if(this._env=e,this.options=t.mergeConfigurationOptions(this._env.isWebWorker,n),this._createIgnoreDuplicateModulesMap(),this._createNodeModulesMap(),this._createSortedPathsRules(),""===this.options.baseUrl){if(this._env.isNode&&this.options.nodeRequire&&this.options.nodeRequire.main&&this.options.nodeRequire.main.filename){var r=this.options.nodeRequire.main.filename,i=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\"));this.options.baseUrl=r.substring(0,i+1)}if(this._env.isNode&&this.options.nodeMain){var r=this.options.nodeMain,i=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\"));this.options.baseUrl=r.substring(0,i+1)}}}return n.prototype._createIgnoreDuplicateModulesMap=function(){this.ignoreDuplicateModulesMap={};for(var e=0;e=0){var r=t.resolveModule(e.substr(0,n)),s=t.resolveModule(e.substr(n+1)),u=this._moduleIdProvider.getModuleId(r+"!"+s),a=this._moduleIdProvider.getModuleId(r);return new o(u,a,s)}return new i(this._moduleIdProvider.getModuleId(t.resolveModule(e)))},s.prototype._normalizeDependencies=function(e,t){for(var n=[],r=0,i=0,o=e.length;i0;){var a=u.shift(),l=this._modules2[a];l&&(s=l.onDependencyError(n)||s);var c=this._inverseDependencies2[a];if(c)for(var i=0,o=c.length;i0;){var u=s.shift().dependencies;if(u)for(var i=0,o=u.length;i=i.length)n._onLoadError(t,r);else{var u=i[o],a=n.getRecorder();if(n._config.isBuild()&&"empty:"===u)return n._buildInfoPath[t]=u,n.defineModule(n._moduleIdProvider.getStrModuleId(t),[],null,null,null),void n._onLoad(t);a.record(e.LoaderEventType.BeginLoadingScript,u),n._scriptLoader.load(n,u,function(){n._config.isBuild()&&(n._buildInfoPath[t]=u),a.record(e.LoaderEventType.EndLoadingScriptOK,u),n._onLoad(t)},function(t){a.record(e.LoaderEventType.EndLoadingScriptError,u),s(t)})}};s(null)}},s.prototype._loadPluginDependency=function(e,n){var r=this;if(!this._modules2[n.id]&&!this._knownModules2[n.id]){this._knownModules2[n.id]=!0;var i=function(e){r.defineModule(r._moduleIdProvider.getStrModuleId(n.id),[],e,null,null)};i.error=function(e){r._config.onError(r._createLoadError(n.id,e))},e.load(n.pluginParam,this._createRequire(t.ROOT),i,this._config.getOptionsLiteral())}},s.prototype._resolve=function(e){for(var t=this,n=e.dependencies,r=0,s=n.length;r \n")),e.unresolvedDependenciesCount--}else if(this._inverseDependencies2[u.id]=this._inverseDependencies2[u.id]||[],this._inverseDependencies2[u.id].push(e.id),u instanceof o){var c=this._modules2[u.pluginId];if(c&&c.isComplete()){this._loadPluginDependency(c.exports,u);continue}var f=this._inversePluginDependencies2.get(u.pluginId);f||(f=[],this._inversePluginDependencies2.set(u.pluginId,f)),f.push(u),this._loadModule(u.pluginId)}else this._loadModule(u.id)}else e.unresolvedDependenciesCount--;else e.unresolvedDependenciesCount--;else e.exportsPassedIn=!0,e.unresolvedDependenciesCount--}0===e.unresolvedDependenciesCount&&this._onModuleComplete(e)},s.prototype._onModuleComplete=function(e){var t=this,n=this.getRecorder();if(!e.isComplete()){for(var r=e.dependencies,o=[],s=0,u=r.length;s0||this.m_modifiedCount>0)&&this.m_changes.push(new n.DiffChange(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE},e.prototype.AddOriginalElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++},e.prototype.AddModifiedElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++},e.prototype.getChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes},e.prototype.getReverseChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes},e}(),u=Object.prototype.hasOwnProperty,a=function(){function e(e,t,n){void 0===n&&(n=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=n,this.m_originalIds=[],this.m_modifiedIds=[],this.m_forwardHistory=[],this.m_reverseHistory=[],this.ComputeUniqueIdentifiers()}return e.prototype.ComputeUniqueIdentifiers=function(){var e=this.OriginalSequence.getLength(),t=this.ModifiedSequence.getLength();this.m_originalIds=new Array(e),this.m_modifiedIds=new Array(t);var n,r={},i=1;for(n=0;n=e&&o>=r&&this.ElementsAreEqual(t,o);)t--,o--;if(e>t||r>o){var u=void 0;return r<=o?(i.Assert(e===t+1,"originalStart should only be one more than originalEnd"),u=[new n.DiffChange(e,0,r,o-r+1)]):e<=t?(i.Assert(r===o+1,"modifiedStart should only be one more than modifiedEnd"),u=[new n.DiffChange(e,t-e+1,r,0)]):(i.Assert(e===t+1,"originalStart should only be one more than originalEnd"),i.Assert(r===o+1,"modifiedStart should only be one more than modifiedEnd"),u=[]),u}var a=[0],l=[0],c=this.ComputeRecursionPoint(e,t,r,o,a,l,s),f=a[0],h=l[0];if(null!==c)return c;if(!s[0]){var d=this.ComputeDiffRecursive(e,f,r,h,s),p=[];return p=s[0]?[new n.DiffChange(f+1,t-(f+1)+1,h+1,o-(h+1)+1)]:this.ComputeDiffRecursive(f+1,t,h+1,o,s),this.ConcatenateChanges(d,p)}return[new n.DiffChange(e,t-e+1,r,o-r+1)]},e.prototype.WALKTRACE=function(e,t,r,i,o,u,a,l,c,f,h,d,p,m,_,g,v,y){var b,C=null,E=null,S=new s,L=t,N=r,A=p[0]-g[0]-i,P=Number.MIN_VALUE,M=this.m_forwardHistory.length-1;do{(b=A+e)===L||b=0&&(e=(c=this.m_forwardHistory[M])[0],L=1,N=c.length-1)}while(--M>=-1);if(C=S.getReverseChanges(),y[0]){var w=p[0]+1,D=g[0]+1;if(null!==C&&C.length>0){var I=C[C.length-1];w=Math.max(w,I.getOriginalEnd()),D=Math.max(D,I.getModifiedEnd())}E=[new n.DiffChange(w,d-w+1,D,_-D+1)]}else{S=new s,L=u,N=a,A=p[0]-g[0]-l,P=Number.MAX_VALUE,M=v?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(b=A+o)===L||b=f[b+1]?(m=(h=f[b+1]-1)-A-l,h>P&&S.MarkNextChange(),P=h+1,S.AddOriginalElement(h+1,m+1),A=b+1-o):(m=(h=f[b-1])-A-l,h>P&&S.MarkNextChange(),P=h,S.AddModifiedElement(h+1,m+1),A=b-1-o),M>=0&&(o=(f=this.m_reverseHistory[M])[0],L=1,N=f.length-1)}while(--M>=-1);E=S.getChanges()}return this.ConcatenateChanges(C,E)},e.prototype.ComputeRecursionPoint=function(e,t,r,i,s,u,a){var l,c,f,h=0,d=0,p=0,m=0;e--,r--,s[0]=0,u[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var _=t-e+(i-r),g=_+1,v=new Array(g),y=new Array(g),b=i-r,C=t-e,E=e-r,S=t-i,L=(C-b)%2==0;v[b]=e,y[C]=t,a[0]=!1;var N,A;for(f=1;f<=_/2+1;f++){var P=0,M=0;for(h=this.ClipDiagonalBound(b-f,f,b,g),d=this.ClipDiagonalBound(b+f,f,b,g),N=h;N<=d;N+=2){for(c=(l=N===h||NP+M&&(P=l,M=c),!L&&Math.abs(N-C)<=f-1&&l>=y[N])return s[0]=l,u[0]=c,A<=y[N]&&f<=1448?this.WALKTRACE(b,h,d,E,C,p,m,S,v,y,l,t,s,c,i,u,L,a):null}var w=(P-e+(M-r)-f)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(P,this.OriginalSequence,w))return a[0]=!0,s[0]=P,u[0]=M,w>0&&f<=1448?this.WALKTRACE(b,h,d,E,C,p,m,S,v,y,l,t,s,c,i,u,L,a):(e++,r++,[new n.DiffChange(e,t-e+1,r,i-r+1)]);for(p=this.ClipDiagonalBound(C-f,f,C,g),m=this.ClipDiagonalBound(C+f,f,C,g),N=p;N<=m;N+=2){for(c=(l=N===p||N=y[N+1]?y[N+1]-1:y[N-1])-(N-C)-S,A=l;l>e&&c>r&&this.ElementsAreEqual(l,c);)l--,c--;if(y[N]=l,L&&Math.abs(N-b)<=f&&l<=v[N])return s[0]=l,u[0]=c,A>=v[N]&&f<=1448?this.WALKTRACE(b,h,d,E,C,p,m,S,v,y,l,t,s,c,i,u,L,a):null}if(f<=1447){var D=new Array(d-h+2);D[0]=b-h+1,o.Copy(v,h,D,1,d-h+1),this.m_forwardHistory.push(D),(D=new Array(m-p+2))[0]=C-p+1,o.Copy(y,p,D,1,m-p+1),this.m_reverseHistory.push(D)}}return this.WALKTRACE(b,h,d,E,C,p,m,S,v,y,l,t,s,c,i,u,L,a)},e.prototype.ShiftChanges=function(e){var t;do{t=!1;for(l=0;l0,s=n.modifiedLength>0;n.originalStart+n.originalLength=0;l--){var n=e[l],r=0,i=0;if(l>0){var c=e[l-1];c.originalLength>0&&(r=c.originalStart+c.originalLength),c.modifiedLength>0&&(i=c.modifiedStart+c.modifiedLength)}for(var o=n.originalLength>0,s=n.modifiedLength>0,f=0,h=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength),d=1;;d++){var p=n.originalStart-d,m=n.modifiedStart-d;if(ph&&(h=_,f=d)}n.originalStart-=f,n.modifiedStart-=f}return e},e.prototype._OriginalIsBoundary=function(e){return e<=0||e>=this.OriginalSequence.getLength()-1||/^\s*$/.test(this.OriginalSequence.getElementHash(e))},e.prototype._OriginalRegionIsBoundary=function(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1},e.prototype._ModifiedIsBoundary=function(e){return e<=0||e>=this.ModifiedSequence.getLength()-1||/^\s*$/.test(this.ModifiedSequence.getElementHash(e))},e.prototype._ModifiedRegionIsBoundary=function(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1},e.prototype._boundaryScore=function(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var n=[],r=null;return 0===e.length||0===t.length?t.length>0?t:e:this.ChangesOverlap(e[e.length-1],t[0],n)?(r=new Array(e.length+t.length-1),o.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],o.Copy(t,1,r,e.length,t.length-1),r):(r=new Array(e.length+t.length),o.Copy(e,0,r,0,e.length),o.Copy(t,0,r,e.length,t.length),r)},e.prototype.ChangesOverlap=function(e,t,r){if(i.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),i.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){var o=e.originalStart,s=e.originalLength,u=e.modifiedStart,a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),r[0]=new n.DiffChange(o,s,u,a),!0}return r[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,r){if(e>=0&&e>>0)>>>0},t.createKeybinding=function(e,t){if(0===e)return null;var r=(65535&e)>>>0,i=(4294901760&e)>>>16;return 0!==i?new l(n(r,t),n(i,t)):n(r,t)},t.createSimpleKeybinding=n;!function(e){e[e.Simple=1]="Simple",e[e.Chord=2]="Chord"}(t.KeybindingType||(t.KeybindingType={}));var a=function(){function e(e,t,n,r,i){this.type=1,this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}return e.prototype.equals=function(e){return 1===e.type&&(this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode)},e.prototype.isModifierKey=function(){return 0===this.keyCode||5===this.keyCode||57===this.keyCode||6===this.keyCode||4===this.keyCode},e.prototype.isDuplicateModifierCase=function(){return this.ctrlKey&&5===this.keyCode||this.shiftKey&&4===this.keyCode||this.altKey&&6===this.keyCode||this.metaKey&&57===this.keyCode},e}();t.SimpleKeybinding=a;var l=function(){return function(e,t){this.type=2,this.firstPart=e,this.chordPart=t}}();t.ChordKeybinding=l;var c=function(){return function(e,t,n,r,i,o){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyLabel=i,this.keyAriaLabel=o}}();t.ResolvedKeybindingPart=c;var f=function(){return function(){}}();t.ResolvedKeybinding=f}),r(e[10],t([1,0,11]),function(e,t,n){"use strict";function r(e){for(var t=[],n=1;n=0,r=d.indexOf("Macintosh")>=0,i=d.indexOf("Linux")>=0,u=!0,l=a=navigator.language}var p;!function(e){e[e.Web=0]="Web",e[e.Mac=1]="Mac",e[e.Linux=2]="Linux",e[e.Windows=3]="Windows"}(p=t.Platform||(t.Platform={}));var m=p.Web;s&&(r?m=p.Mac:n?m=p.Windows:i&&(m=p.Linux)),t.isWindows=n,t.isMacintosh=r,t.isLinux=i,t.isRootUser=o,t.isNative=s,t.isWeb=u,t.platform=m,t.language=l,t.locale=a;var _="object"==typeof self?self:global;t.globals=_,t.hasWebWorkerSupport=function(){return void 0!==_.Worker},t.setTimeout=_.setTimeout.bind(_),t.clearTimeout=_.clearTimeout.bind(_),t.setInterval=_.setInterval.bind(_),t.clearInterval=_.clearInterval.bind(_);!function(e){e[e.Windows=1]="Windows",e[e.Macintosh=2]="Macintosh",e[e.Linux=3]="Linux"}(t.OperatingSystem||(t.OperatingSystem={})),t.OS=r?2:n?1:3;!function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(t.AccessibilitySupport||(t.AccessibilitySupport={}))}),r(e[14],t([1,0]),function(e,t){"use strict";function n(e){return Array.isArray?Array.isArray(e):!(!e||typeof e.length!==a.number||e.constructor!==Array)}function r(e){return typeof e===a.string||e instanceof String}function i(e){return!(typeof e!==a.object||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function o(e){return typeof e===a.undefined}function s(e){return typeof e===a.function}function u(e,t){if(r(t)){if(typeof e!==t)throw new Error("argument does not match constraint: typeof "+t)}else if(s(t)){if(e instanceof t)return;if(e&&e.constructor===t)return;if(1===t.length&&!0===t.call(void 0,e))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}Object.defineProperty(t,"__esModule",{value:!0});var a={number:"number",string:"string",undefined:"undefined",object:"object",function:"function"};t.isArray=n,t.isString=r,t.isStringArray=function(e){return n(e)&&e.every(function(e){return r(e)})},t.isObject=i,t.isNumber=function(e){return(typeof e===a.number||e instanceof Number)&&!isNaN(e)},t.isBoolean=function(e){return!0===e||!1===e},t.isUndefined=o,t.isUndefinedOrNull=function(e){return o(e)||null===e};var l=Object.prototype.hasOwnProperty;t.isEmptyObject=function(e){if(!i(e))return!1;for(var t in e)if(l.call(e,t))return!1;return!0},t.isFunction=s,t.areFunctions=function(){for(var e=[],t=0;t0&&e.every(s)},t.validateConstraints=function(e,t){for(var n=Math.min(e.length,t.length),r=0;rthis.limit;)this.trim()},e.prototype.serialize=function(){var e={entries:[]};return this.map.forEach(function(t){e.entries.push({key:t.key,value:t.value})}),e},Object.defineProperty(e.prototype,"size",{get:function(){return this.map.size},enumerable:!0,configurable:!0}),e.prototype.set=function(e,t){if(this.map.has(e))return!1;var n={key:e,value:t};return this.push(n),this.size>this.limit&&this.trim(),!0},e.prototype.get=function(e){var t=this.map.get(e);return t?t.value:null},e.prototype.getOrSet=function(e,t){var n=this.get(e);return n||(this.set(e,t),t)},e.prototype.delete=function(e){var t=this.map.get(e);return t?(this.map.delete(e),t.next?t.next.prev=t.prev:this.head=t.prev,t.prev?t.prev.next=t.next:this.tail=t.next,t.value):null},e.prototype.has=function(e){return this.map.has(e)},e.prototype.clear=function(){this.map.clear(),this.head=null,this.tail=null},e.prototype.push=function(e){this.head&&(e.prev=this.head,this.head.next=e),this.tail||(this.tail=e),this.head=e,this.map.set(e.key,e)},e.prototype.trim=function(){if(this.tail)if(this.ratiot?1:0}function u(e){return e>=97&&e<=122}function a(e){return e>=65&&e<=90}function l(e){return u(e)||a(e)}function c(e,t,n){if(void 0===n&&(n=e.length),"string"!=typeof e||"string"!=typeof t)return!1;for(var r=0;r=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}Object.defineProperty(t,"__esModule",{value:!0}),t.empty="",t.isFalsyOrWhitespace=function(e){return!e||"string"!=typeof e||0===e.trim().length},t.pad=function(e,t,n){void 0===n&&(n="0");for(var r=""+e,i=[r],o=r.length;o=t.length?e:t[r]})},t.escape=function(e){return e.replace(/[<|>|&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})},t.escapeRegExpCharacters=r,t.trim=function(e,t){return void 0===t&&(t=" "),o(i(e,t),t)},t.ltrim=i,t.rtrim=o,t.convertSimple2RegExpPattern=function(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")},t.stripWildcards=function(e){return e.replace(/\*/g,"")},t.startsWith=function(e,t){if(e.length0?e.indexOf(t,n)===n:0===n&&e===t},t.indexOfIgnoreCase=function(e,t,n){void 0===n&&(n=0);var i=e.indexOf(t,n);return i<0&&(n>0&&(e=e.substr(n)),t=r(t),i=e.search(new RegExp(t,"i"))),i},t.createRegExp=function(e,t,n){if(void 0===n&&(n={}),!e)throw new Error("Cannot create regex from empty string");t||(e=r(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));var i="";return n.global&&(i+="g"),n.matchCase||(i+="i"),n.multiline&&(i+="m"),new RegExp(e,i)},t.regExpLeadsToEndlessLoop=function(e){return"^"!==e.source&&"^$"!==e.source&&"$"!==e.source&&e.exec("")&&0===e.lastIndex},t.canNormalize="function"==typeof"".normalize;var p=/[^\u0000-\u0080]/,m=new n.BoundedMap(1e4);t.normalizeNFC=function(e){if(!t.canNormalize||!e)return e;var n=m.get(e);if(n)return n;var r;return r=p.test(e)?e.normalize("NFC"):e,m.set(e,r),r},t.firstNonWhitespaceIndex=function(e){for(var t=0,n=e.length;t=0;n--){var r=e.charCodeAt(n);if(32!==r&&9!==r)return n}return-1},t.compare=s,t.compareIgnoreCase=function(e,t){for(var n=Math.min(e.length,t.length),r=0;rt.length?1:0},t.equalsIgnoreCase=function(e,t){return(e?e.length:0)===(t?t.length:0)&&c(e,t)},t.beginsWithIgnoreCase=function(e,t){var n=t.length;return!(t.length>e.length)&&c(e,t,n)},t.commonPrefixLength=function(e,t){var n,r=Math.min(e.length,t.length);for(n=0;n0;){if(f(e,i,n,t,0,r))return r;r-=1,i+=1}return 0},t.isHighSurrogate=function(e){return 55296<=e&&e<=56319},t.isLowSurrogate=function(e){return 56320<=e&&e<=57343};var _=/(?:[\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])/;t.containsRTL=function(e){return _.test(e)};var g=/(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEF8]|\uD83E[\uDD00-\uDDE6])/;t.containsEmoji=function(e){return g.test(e)};var v=/^[\t\n\r\x20-\x7E]*$/;t.isBasicASCII=function(e){return v.test(e)},t.containsFullWidthCharacter=function(e){for(var t=0,n=e.length;tn)return 0;var i,o,s=[],u=[];for(i=0;i=0;o--)if((i+=r[o].length)>n){r.splice(0,o);break}return r.join(t.empty).replace(/^\s/,t.empty)};var y=/\x1B\x5B[12]?K/g,b=/\x1b\[\d+m/g,C=/\x1b\[0?m/g;t.removeAnsiEscapeCodes=function(e){return e&&(e=(e=(e=e.replace(y,"")).replace(b,"")).replace(C,"")),e},t.UTF8_BOM_CHARACTER=String.fromCharCode(65279),t.startsWithUTF8BOM=function(e){return e&&e.length>0&&65279===e.charCodeAt(0)},t.appendWithLimit=function(e,t,n){var r=e.length+t.length;return r>n&&(e="..."+e.substr(r-n)),t.length>n?e+=t.substr(t.length-n):e+=t,e},t.safeBtoa=function(e){return btoa(encodeURIComponent(e))},t.repeat=function(e,t){for(var n="",r=0;r"),o}var s=e;s.Namespace||(s.Namespace=Object.create(Object.prototype));var u={uninitialized:1,working:2,initialized:3};Object.defineProperties(s.Namespace,{defineWithParent:{value:o,writable:!0,enumerable:!0,configurable:!0},define:{value:function(e,n){return o(t,e,n)},writable:!0,enumerable:!0,configurable:!0},_lazy:{value:function(e){var t,n,i=u.uninitialized;return{setName:function(e){t=e},get:function(){switch(i){case u.initialized:return n;case u.uninitialized:i=u.working;try{r("WinJS.Namespace._lazy:"+t+",StartTM"),n=e()}finally{r("WinJS.Namespace._lazy:"+t+",StopTM"),i=u.uninitialized}return e=null,i=u.initialized,n;case u.working:throw"Illegal: reentrancy on initialization";default:throw"Illegal"}},set:function(e){switch(i){case u.working:throw"Illegal: reentrancy on initialization";default:i=u.initialized,n=e}},enumerable:!0,configurable:!0}},writable:!0,enumerable:!0,configurable:!0},_moduleDefine:{value:function(e,r,o){var s=[e],u=null;return r&&(u=n(t,r),s.push(u)),i(s,o,r||""),u},writable:!0,enumerable:!0,configurable:!0}})}(),function(){function t(e,t,r){return e=e||function(){},n.markSupportedForProcessing(e),t&&i(e.prototype,t),r&&i(e,r),e}e.Namespace.define("WinJS.Class",{define:t,derive:function(e,r,o,s){if(e){r=r||function(){};var u=e.prototype;return r.prototype=Object.create(u),n.markSupportedForProcessing(r),Object.defineProperty(r.prototype,"constructor",{value:r,writable:!0,configurable:!0,enumerable:!0}),o&&i(r.prototype,o),s&&i(r,s),r}return t(r,o,s)},mix:function(e){e=e||function(){};var t,n;for(t=1,n=arguments.length;t1)&&a.fire(e),s=null,u=0},n)})},onLastListenerRemove:function(){i.dispose()}});return a.event};var h=function(){function e(){this.buffers=[]}return e.prototype.wrapEvent=function(e){var t=this;return function(n,r,i){return e(function(e){var i=t.buffers[t.buffers.length-1];i?i.push(function(){return n.call(r,e)}):n.call(r,e)},void 0,i)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t),e(),this.buffers.pop(),t.forEach(function(e){return e()})},e}();t.EventBufferer=h,t.mapEvent=u,t.filterEvent=a;var d=function(){function e(e){this._event=e}return Object.defineProperty(e.prototype,"event",{get:function(){return this._event},enumerable:!0,configurable:!0}),e.prototype.map=function(t){return new e(u(this._event,t))},e.prototype.filter=function(t){return new e(a(this._event,t))},e.prototype.on=function(e,t,n){return this._event(e,t,n)},e}();t.chain=function(e){return new d(e)},t.stopwatch=function(e){var t=(new Date).getTime();return u(s(e),function(e){return(new Date).getTime()-t})},t.buffer=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=[]),n=n.slice();var r=e(function(e){n?n.push(e):o.fire(e)}),i=function(){n.forEach(function(e){return o.fire(e)}),n=null},o=new c({onFirstListenerAdd:function(){r||(r=e(function(e){return o.fire(e)}))},onFirstListenerDidAdd:function(){n&&(t?setTimeout(i):i())},onLastListenerRemove:function(){r.dispose(),r=null}});return o.event},t.echo=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=[]),n=n.slice(),e(function(e){n.push(e),i.fire(e)});var r=function(e,t){return n.forEach(function(n){return e.call(t,n)})},i=new c({onListenerDidAdd:function(e,n,i){t?setTimeout(function(){return r(n,i)}):r(n,i)}});return i.event}}),r(e[13],t([1,0,9]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=Object.freeze(function(e,t){var n=setTimeout(e.bind(t),0);return{dispose:function(){clearTimeout(n)}}});!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.default.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i})}(r=t.CancellationToken||(t.CancellationToken={}));var o=function(){function e(){this._isCancelled=!1}return e.prototype.cancel=function(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._emitter=void 0))},Object.defineProperty(e.prototype,"isCancellationRequested",{get:function(){return this._isCancelled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onCancellationRequested",{get:function(){return this._isCancelled?i:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)},enumerable:!0,configurable:!0}),e}(),s=function(){function e(){}return Object.defineProperty(e.prototype,"token",{get:function(){return this._token||(this._token=new o),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token.cancel():this._token=r.Cancelled},e.prototype.dispose=function(){this.cancel()},e}();t.CancellationTokenSource=s}),r(e[18],t([1,0,8,4,2,13,10,9]),function(e,t,n,r,i,s,u,a){"use strict";function l(e){return e&&"function"==typeof e.then}function c(e,t){return new i.TPromise(function(r,i,o){e.done(function(e){try{t(e)}catch(e){n.onUnexpectedError(e)}r(e)},function(e){try{t(e)}catch(e){n.onUnexpectedError(e)}i(e)},function(e){o(e)})},function(){e.cancel()})}Object.defineProperty(t,"__esModule",{value:!0}),t.toThenable=function(e){return l(e)?e:i.TPromise.as(e)},t.asWinJsPromise=function(e){var t=new s.CancellationTokenSource;return new i.TPromise(function(n,r,o){var s=e(t.token);s instanceof i.TPromise?s.then(n,r,o):l(s)?s.then(n,r):n(s)},function(){t.cancel()})},t.wireCancellationToken=function(e,t,r){var o=e.onCancellationRequested(function(){return t.cancel()});return r&&(t=t.then(void 0,function(e){if(!n.isPromiseCanceledError(e))return i.TPromise.wrapError(e)})),c(t,function(){return o.dispose()})};var f=function(){function e(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}return e.prototype.queue=function(e){var t=this;if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){var n=function(){t.queuedPromise=null;var e=t.queue(t.queuedPromiseFactory);return t.queuedPromiseFactory=null,e};this.queuedPromise=new i.TPromise(function(e,r,i){t.activePromise.then(n,n,i).done(e)},function(){t.activePromise.cancel()})}return new i.TPromise(function(e,n,r){t.queuedPromise.then(e,n,r)},function(){})}return this.activePromise=e(),new i.TPromise(function(e,n,r){t.activePromise.done(function(n){t.activePromise=null,e(n)},function(e){t.activePromise=null,n(e)},r)},function(){t.activePromise.cancel()})},e}();t.Throttler=f;var h=function(){function e(){this.current=i.TPromise.as(null)}return e.prototype.queue=function(e){return this.current=this.current.then(function(){return e()})},e}();t.SimpleThrottler=h;var d=function(){function e(e){this.defaultDelay=e,this.timeout=null,this.completionPromise=null,this.onSuccess=null,this.task=null}return e.prototype.trigger=function(e,t){var n=this;return void 0===t&&(t=this.defaultDelay),this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new i.TPromise(function(e){n.onSuccess=e},function(){}).then(function(){n.completionPromise=null,n.onSuccess=null;var e=n.task;return n.task=null,e()})),this.timeout=setTimeout(function(){n.timeout=null,n.onSuccess(null)},t),this.completionPromise},e.prototype.isTriggered=function(){return null!==this.timeout},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise&&(this.completionPromise.cancel(),this.completionPromise=null)},e.prototype.cancelTimeout=function(){null!==this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},e}();t.Delayer=d;var p=function(e){function t(t){var n=e.call(this,t)||this;return n.throttler=new f,n}return o(t,e),t.prototype.trigger=function(t,n){var r=this;return e.prototype.trigger.call(this,function(){return r.throttler.queue(t)},n)},t}(d);t.ThrottledDelayer=p;var m=function(e){function t(t,n){void 0===n&&(n=0);var r=e.call(this,t)||this;return r.minimumPeriod=n,r.periodThrottler=new f,r}return o(t,e),t.prototype.trigger=function(t,n){var r=this;return e.prototype.trigger.call(this,function(){return r.periodThrottler.queue(function(){return i.Promise.join([i.TPromise.timeout(r.minimumPeriod),t()]).then(function(e){return e[1]})})},n)},t}(p);t.PeriodThrottledDelayer=m;var _=function(){function e(){var e=this;this._value=new i.TPromise(function(t,n){e._completeCallback=t,e._errorCallback=n})}return Object.defineProperty(e.prototype,"value",{get:function(){return this._value},enumerable:!0,configurable:!0}),e.prototype.complete=function(e){this._completeCallback(e)},e.prototype.error=function(e){this._errorCallback(e)},e}();t.PromiseSource=_;var g=function(e){function t(t){var r,i,o,s=this;return s=e.call(this,function(e,t,n){r=e,i=t,o=n},function(){i(n.canceled())})||this,t.then(r,i,o),s}return o(t,e),t}(i.TPromise);t.ShallowCancelThenPromise=g,t.always=c,t.sequence=function(e){function t(){return e.length?e.pop()():null}function n(e){void 0!==e&&null!==e&&r.push(e);var o=t();return o?o.then(n):i.TPromise.as(r)}var r=[];return e=e.reverse(),i.TPromise.as(null).then(n)},t.first=function(e,t){void 0===t&&(t=function(e){return!!e}),e=e.reverse().slice();var n=function(){return 0===e.length?i.TPromise.as(null):e.pop()().then(function(e){return t(e)?i.TPromise.as(e):n()})};return n()};var v=function(){function e(e){this.maxDegreeOfParalellism=e,this.outstandingPromises=[],this.runningPromises=0,this._onFinished=new a.Emitter}return Object.defineProperty(e.prototype,"onFinished",{get:function(){return this._onFinished.event},enumerable:!0,configurable:!0}),e.prototype.queue=function(e){var t=this;return new i.TPromise(function(n,r,i){t.outstandingPromises.push({factory:e,c:n,e:r,p:i}),t.consume()})},e.prototype.consume=function(){for(var e=this;this.outstandingPromises.length&&this.runningPromises0?this.consume():this._onFinished.fire()},e.prototype.dispose=function(){this._onFinished.dispose()},e}();t.Limiter=v;var y=function(e){function t(){return e.call(this,1)||this}return o(t,e),t}(v);t.Queue=y,t.setDisposableTimeout=function(e,t){for(var n=[],r=2;rn||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}return e.prototype.isEmpty=function(){return e.isEmpty(this)},e.isEmpty=function(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn},e.prototype.containsPosition=function(t){return e.containsPosition(this,t)},e.containsPosition=function(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))},e.prototype.plusRange=function(t){return e.plusRange(this,t)},e.plusRange=function(t,n){var r,i,o,s;return n.startLineNumbert.endLineNumber?(o=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(o=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(o=t.endLineNumber,s=t.endColumn),new e(r,i,o,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,n){var r=t.startLineNumber,i=t.startColumn,o=t.endLineNumber,s=t.endColumn,u=n.startLineNumber,a=n.startColumn,l=n.endLineNumber,c=n.endColumn;return rl?(o=l,s=c):o===l&&(s=Math.min(s,c)),r>o?null:r===o&&i>s?null:new e(r,i,o,s)},e.prototype.equalsRange=function(t){return e.equalsRange(this,t)},e.equalsRange=function(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn},e.prototype.getEndPosition=function(){return new n.Position(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new n.Position(this.startLineNumber,this.startColumn)},e.prototype.cloneRange=function(){return new e(this.startLineNumber,this.startColumn,this.endLineNumber,this.endColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,this.endLineNumber,this.endColumn)},e.prototype.collapseToStart=function(){return e.collapseToStart(this)},e.collapseToStart=function(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)},e.fromPositions=function(t,n){return void 0===n&&(n=t),new e(t.lineNumber,t.column,n.lineNumber,n.column)},e.lift=function(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null},e.isIRange=function(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn},e.areIntersectingOrTouching=function(e,t){return!(e.endLineNumbere.startLineNumber},e}();t.Range=r}),r(e[22],t([1,0,5,3]),function(e,t,n,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i;!function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(i=t.SelectionDirection||(t.SelectionDirection={}));var s=function(e){function t(t,n,r,i){var o=e.call(this,t,n,r,i)||this;return o.selectionStartLineNumber=t,o.selectionStartColumn=n,o.positionLineNumber=r,o.positionColumn=i,o}return o(t,e),t.prototype.clone=function(){return new t(this.selectionStartLineNumber,this.selectionStartColumn,this.positionLineNumber,this.positionColumn)},t.prototype.toString=function(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"},t.prototype.equalsSelection=function(e){return t.selectionsEqual(this,e)},t.selectionsEqual=function(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn},t.prototype.getDirection=function(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?i.LTR:i.RTL},t.prototype.setEndPosition=function(e,n){return this.getDirection()===i.LTR?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){return new r.Position(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,n){return this.getDirection()===i.LTR?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.fromPositions=function(e,n){return void 0===n&&(n=e),new t(e.lineNumber,e.column,n.lineNumber,n.column)},t.liftSelection=function(e){return new t(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)},t.selectionsArrEqual=function(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(var n=0,r=e.length;n4294967295?4294967295:0|e}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n){for(var r=new Uint8Array(e*t),i=0,o=e*t;i255?255:0|e},t.toUint32=n,t.toUint32Array=function(e){for(var t=e.length,r=new Uint32Array(t),i=0;i=0&&e<256?this._asciiMap[e]=r:this._map.set(e,r)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}();t.CharacterClassifier=r;var i;!function(e){e[e.False=0]="False",e[e.True=1]="True"}(i||(i={}));var o=function(){function e(){this._actual=new r(0)}return e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)},e}();t.CharacterSet=o}),r(e[26],t([1,0,12,20]),function(e,t,n,r){"use strict";function i(e,t,r,i){return new n.LcsDiff(e,t,r).ComputeDiff(i)}function s(e){if(e.length<=1)return e;for(var t=[e[0]],n=t[0],r=1,i=e.length;r1&&g>1&&(E=p.charCodeAt(_-2))===(S=m.charCodeAt(g-2));)_--,g--;(_>1||g>1)&&this._pushTrimWhitespaceCharChange(o,s+1,1,_,u+1,1,g);for(var v=c._getLastNonBlankColumn(p,1),y=c._getLastNonBlankColumn(m,1),b=p.length+1,C=m.length+1;v=i)return{word:u[0],startColumn:r+1+u.index,endColumn:r+1+t.lastIndex};return null}function r(e,t,n,r){var i=e-1-r;t.lastIndex=0;for(var o;o=t.exec(n);){if(o.index>i)return null;if(t.lastIndex>=i)return{word:o[0],startColumn:r+1+o.index,endColumn:r+1+t.lastIndex}}return null}Object.defineProperty(t,"__esModule",{value:!0}),t.USUAL_WORD_SEPARATORS="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",t.DEFAULT_WORD_REGEXP=function(e){void 0===e&&(e="");for(var n=t.USUAL_WORD_SEPARATORS,r="(-?\\d*\\.\\d\\w*)|([^",i=0;i=0||(r+="\\"+n[i]);return r+="\\s]+)",new RegExp(r,"g")}(),t.ensureValidWordDefinition=function(e){var n=t.DEFAULT_WORD_REGEXP;if(e&&e instanceof RegExp)if(e.global)n=e;else{var r="g";e.ignoreCase&&(r+="i"),e.multiline&&(r+="m"),n=new RegExp(e.source,r)}return n.lastIndex=0,n},t.getWordAtText=function(e,t,i,o){t.lastIndex=0;var s=t.exec(i);if(!s)return null;var u=s[0].indexOf(" ")>=0?r(e,t,i,o):n(e,t,i,o);return t.lastIndex=0,u}}),r(e[28],t([1,0,25,7]),function(e,t,n,r){"use strict";function i(){return null===l&&(l=new a([[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]])),l}function o(){if(null===c){c=new n.CharacterClassifier(0);for(e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)c.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(var e=0;e<".,;".length;e++)c.set(".,;".charCodeAt(e),2)}return c}Object.defineProperty(t,"__esModule",{value:!0});var s;!function(e){e[e.Invalid=0]="Invalid",e[e.Start=1]="Start",e[e.H=2]="H",e[e.HT=3]="HT",e[e.HTT=4]="HTT",e[e.HTTP=5]="HTTP",e[e.F=6]="F",e[e.FI=7]="FI",e[e.FIL=8]="FIL",e[e.BeforeColon=9]="BeforeColon",e[e.AfterColon=10]="AfterColon",e[e.AlmostThere=11]="AlmostThere",e[e.End=12]="End",e[e.Accept=13]="Accept"}(s||(s={}));var u,a=function(){function e(e){for(var t=0,n=0,i=0,o=e.length;it&&(t=a),u>n&&(n=u),l>n&&(n=l)}t++,n++;for(var c=new r.Uint8Matrix(n,t,0),i=0,o=e.length;i=this._maxCharCode?0:this._states.get(e,t)},e}(),l=null;!function(e){e[e.None=0]="None",e[e.ForceTermination=1]="ForceTermination",e[e.CannotEndIn=2]="CannotEndIn"}(u||(u={}));var c=null,f=function(){function e(){}return e._createLink=function(e,t,n,r,i){var o=i-1;do{var s=t.charCodeAt(o);if(2!==e.get(s))break;o--}while(o>r);return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:o+2},url:t.substring(r,o+1)}},e.computeLinks=function(t){for(var n=i(),r=o(),s=[],u=1,a=t.getLineCount();u<=a;u++){for(var l=t.getLineContent(u),c=l.length,f=0,h=0,d=0,p=1,m=!1,_=!1,g=!1;f=0?((r+=n?1:-1)<0?r=e.length-1:r%=e.length,e[r]):null},e.INSTANCE=new e,e}();t.BasicInplaceReplace=n}),r(e[30],t([1,0,9,21,3,5,22,2,13,23,6]),function(e,t,n,r,i,o,s,u,a,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var f;!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(f=t.Severity||(t.Severity={}));var h=function(){function e(){}return e.chord=function(e,t){return r.KeyChord(e,t)},e.CtrlCmd=2048,e.Shift=1024,e.Alt=512,e.WinCtrl=256,e}();t.KeyMod=h;var d;!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"}(d=t.KeyCode||(t.KeyCode={})),t.createMonacoBaseAPI=function(){return{editor:void 0,languages:void 0,CancellationTokenSource:a.CancellationTokenSource,Emitter:n.Emitter,KeyCode:d,KeyMod:h,Position:i.Position,Range:o.Range,Selection:s.Selection,SelectionDirection:s.SelectionDirection,Severity:f,Promise:u.TPromise,Uri:c.default,Token:l.Token}}}),r(e[19],t([1,0,7]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.index=e,this.remainder=t}}();t.PrefixSumIndexOfResult=r;var i=function(){function e(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}return e.prototype.getCount=function(){return this.values.length},e.prototype.insertValues=function(e,t){e=n.toUint32(e);var r=this.values,i=this.prefixSum,o=t.length;return 0!==o&&(this.values=new Uint32Array(r.length+o),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e),e+o),this.values.set(t,e),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=n.toUint32(e),t=n.toUint32(t),this.values[e]!==t&&(this.values[e]=t,e-1=r.length)return!1;var o=r.length-e;return t>=o&&(t=o),0!==t&&(this.values=new Uint32Array(r.length-t),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){return e<0?0:(e=n.toUint32(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t,n,i,o=0,s=this.values.length-1;o<=s;)if(t=o+(s-o)/2|0,n=this.prefixSum[t],i=n-this.values[t],e=n))break;o=t+1}return new r(t,e-i)},e}();t.PrefixSumComputer=i;var o=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new i(e),this._bustCache()}return e.prototype._bustCache=function(){this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.getCount=function(){return this._actual.getCount()},e.prototype.insertValues=function(e,t){this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&tthis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{var i=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>i&&(n=i,r=!0)}return r?{lineNumber:t,column:n}:e},t}(l.MirrorModel),m=function(){function e(){this._foreignModule=null}return e.prototype.computeDiff=function(e,t,n){var i=this._getModel(e),o=this._getModel(t);if(!i||!o)return null;var u=i.getLinesContent(),a=o.getLinesContent(),l=new s.DiffComputer(u,a,{shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldConsiderTrimWhitespaceInEmptyCase:!0,shouldMakePrettyDiff:!0});return r.TPromise.as(l.computeDiff())},e.prototype.computeDirtyDiff=function(e,t,n){var i=this._getModel(e),o=this._getModel(t);if(!i||!o)return null;var u=i.getLinesContent(),a=o.getLinesContent(),l=new s.DiffComputer(u,a,{shouldPostProcessCharChanges:!1,shouldIgnoreTrimWhitespace:n,shouldConsiderTrimWhitespaceInEmptyCase:!1,shouldMakePrettyDiff:!0});return r.TPromise.as(l.computeDiff())},e.prototype.computeMoreMinimalEdits=function(t,n,o){var s=this._getModel(t);if(!s)return r.TPromise.as(n);for(var a,l=[],c=0,f=n;ce._diffLimit)l.push({range:d,text:p});else for(var g=u.stringDiff(_,p,!1),v=s.offsetAt(i.Range.lift(d).getStartPosition()),y=0,b=g;y0;)self.onmessage(i.shift())},0)})},r=!0,i=[];self.onmessage=function(e){r?(r=!1,n(e.data)):i.push(e)}}()}).call(this); -//# sourceMappingURL=../../../../min-maps/vs/base/worker/workerMain.js.map \ No newline at end of file diff --git a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/bat.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/bat.js deleted file mode 100644 index 0352c961..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/bat.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/bat",["require","exports"],function(e,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.conf={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},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:/[=>\/\?\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:"'"}]},t.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"]]}}}); \ No newline at end of file diff --git a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/csharp.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/csharp.js deleted file mode 100644 index 66e42fda..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/csharp.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/csharp",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!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:'"'}]},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","property","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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/css.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/css.js deleted file mode 100644 index aed4eee0..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/css.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/css",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:["/*","*/"]},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:"'"}]},t.language={defaultToken:"",tokenPostfix:".css",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.bracket"},{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:"@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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/dockerfile.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/dockerfile.js deleted file mode 100644 index 24c70d4c..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/dockerfile.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/dockerfile",["require","exports"],function(e,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.conf={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s.language={defaultToken:"",tokenPostfix:".dockerfile",instructions:/FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|ENTRYPOINT/,instructionAfter:/ONBUILD/,variableAfter:/ENV/,variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(@instructionAfter)(\s+)/,["keyword",{token:"",next:"@instructions"}]],["","keyword","@instructions"]],instructions:[[/(@variableAfter)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(@instructions)/,"keyword","@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:[[/'$/,"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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/fsharp.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/fsharp.js deleted file mode 100644 index 15edde89..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/fsharp.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/fsharp",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.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:"'"}]},t.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"]],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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/go.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/go.js deleted file mode 100644 index 75522dcd..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/go.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/go",["require","exports"],function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/handlebars.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/handlebars.js deleted file mode 100644 index 9ebfa2ce..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/handlebars.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/handlebars",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="undefined"==typeof monaco?self.monaco:monaco,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:[[/\{\{/,{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:[[/\{\{/,{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:[[/[#/][^\s}]+/,"keyword.helper.handlebars"],[/else\b/,"keyword.helper.handlebars"],[/[\s]+/],[/[^}]/,"variable.parameter.handlebars"]]}}}); \ No newline at end of file diff --git a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/html.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/html.js deleted file mode 100644 index 290975fd..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/html.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/html",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="undefined"==typeof monaco?self.monaco:monaco,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}}]},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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/ini.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/ini.js deleted file mode 100644 index 89f8a9e5..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/ini.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/ini",["require","exports"],function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/java.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/java.js deleted file mode 100644 index fab745f9..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/java.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/java",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!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:">"}]},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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/less.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/less.js deleted file mode 100644 index fcb8ead9..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/less.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/less",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!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:"'"}]},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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/lua.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/lua.js deleted file mode 100644 index 4ff93276..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/lua.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/lua",["require","exports"],function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!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:/[=>",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}]},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{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|[\/\-#])+)\s*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],{include:"@linecontent"}],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","@phpLineComment"],[/\/\//,"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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/postiats.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/postiats.js deleted file mode 100644 index 09b20fb7..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/postiats.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/postiats",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/powershell.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/powershell.js deleted file mode 100644 index b74678f9..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/powershell.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/powershell",["require","exports"],function(e,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.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:"'"}]},s.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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/pug.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/pug.js deleted file mode 100644 index 63e7de2d..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/pug.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/pug",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!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"]}]},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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/ruby.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/ruby.js deleted file mode 100644 index c5291b7d..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/ruby.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/ruby",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!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:"'"}]},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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/sb.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/sb.js deleted file mode 100644 index 5c3ed4b2..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/sb.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/sb",["require","exports"],function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/scss.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/scss.js deleted file mode 100644 index 2bb59ee5..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/scss.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/scss",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!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:"'"}]},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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/solidity.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/solidity.js deleted file mode 100644 index 09377b5d..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/solidity.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/solidity",["require","exports"],function(x,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.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"]}]},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","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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/sql.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/sql.js deleted file mode 100644 index e70da60e..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/sql.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/sql",["require","exports"],function(E,T){"use strict";Object.defineProperty(T,"__esModule",{value:!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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/swift.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/swift.js deleted file mode 100644 index 26fac7df..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/swift.js +++ /dev/null @@ -1,10 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -/*!--------------------------------------------------------------------------------------------- - * Copyright (C) David Owens II, owensd.io. All rights reserved. - *--------------------------------------------------------------------------------------------*/ -define("vs/basic-languages/src/swift",["require","exports"],function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},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:"`"}]},o.language={defaultToken:"",tokenPostfix:".swift",identifier:/[a-zA-Z_][\w$]*/,attributes:["@autoclosure","@noescape","@noreturn","@NSApplicationMain","@NSCopying","@NSManaged","@objc","@UIApplicationMain","@noreturn","@availability","@IBAction","@IBDesignable","@IBInspectable","@IBOutlet"],accessmodifiers:["public","private","internal"],keywords:["__COLUMN__","__FILE__","__FUNCTION__","__LINE__","as","as!","as?","associativity","break","case","catch","class","continue","convenience","default","deinit","didSet","do","dynamic","dynamicType","else","enum","extension","fallthrough","final","for","func","get","guard","if","import","in","infix","init","inout","internal","is","lazy","left","let","mutating","nil","none","nonmutating","operator","optional","override","postfix","precedence","prefix","private","protocol","Protocol","public","repeat","required","return","right","self","Self","set","static","struct","subscript","super","switch","throw","throws","try","try!","Type","typealias","unowned","var","weak","where","while","willSet","FALSE","TRUE"],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:"@comment"},{include:"@attribute"},{include:"@literal"},{include:"@keyword"},{include:"@invokedmethod"},{include:"@symbol"}],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/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/vb.js b/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/vb.js deleted file mode 100644 index 8929c0f5..00000000 --- a/pig-register/src/main/resources/static/console-ui/public/js/vs/basic-languages/src/vb.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * monaco-languages version: 0.9.0(e162b4ba29044167bc7181c42b3270fa8a467424) - * Released under the MIT license - * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md - *-----------------------------------------------------------------------------*/ -define("vs/basic-languages/src/vb",["require","exports"],function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!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"]}]},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:'"'}]},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"}],[//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,g._tag)(),g.paragraph=s(g.paragraph)("hr",g.hr)("heading",g.heading)("lheading",g.lheading)("blockquote",g.blockquote)("tag","<"+g._tag)("def",g.def)(),g.normal=u({},g),g.gfm=u({},g.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),g.gfm.paragraph=s(g.paragraph)("(?!","(?!"+g.gfm.fences.source.replace("\\1","\\2")+"|"+g.list.source.replace("\\1","\\3")+"|")(),g.tables=u({},g.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),e.rules=g,e.lex=function(t,n){return new e(n).lex(t)},e.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},e.prototype.token=function(e,t,n){for(var i,o,r,s,a,u,l,c,d,e=e.replace(/^ +$/gm,"");e;)if((r=this.rules.newline.exec(e))&&(e=e.substring(r[0].length),r[0].length>1&&this.tokens.push({type:"space"})),r=this.rules.code.exec(e))e=e.substring(r[0].length),r=r[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?r:r.replace(/\n+$/,"")});else if(r=this.rules.fences.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"code",lang:r[2],text:r[3]||""});else if(r=this.rules.heading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:r[1].length,text:r[2]});else if(t&&(r=this.rules.nptable.exec(e))){for(e=e.substring(r[0].length),u={type:"table",header:r[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3].replace(/\n$/,"").split("\n")},c=0;c ?/gm,""),this.token(r,t,!0),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),s=r[2],this.tokens.push({type:"list_start",ordered:s.length>1}),i=!1,d=(r=r[0].match(this.rules.item)).length,c=0;c1&&a.length>1||(e=r.slice(c+1).join("\n")+e,c=d-1)),o=i||/\n\n(?!\s*$)/.test(u),c!==d-1&&(i="\n"===u.charAt(u.length-1),o||(o=i)),this.tokens.push({type:o?"loose_item_start":"list_item_start"}),this.token(u,!1,n),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(r=this.rules.html.exec(e))e=e.substring(r[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===r[1]||"script"===r[1]||"style"===r[1]),text:r[0]});else if(!n&&t&&(r=this.rules.def.exec(e)))e=e.substring(r[0].length),this.tokens.links[r[1].toLowerCase()]={href:r[2],title:r[3]};else if(t&&(r=this.rules.table.exec(e))){for(e=e.substring(r[0].length),u={type:"table",header:r[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3].replace(/(?: *\| *)?\n$/,"").split("\n")},c=0;c])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:a,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:a,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/,m.link=s(m.link)("inside",m._inside)("href",m._href)(),m.reflink=s(m.reflink)("inside",m._inside)(),m.normal=u({},m),m.pedantic=u({},m.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),m.gfm=u({},m.normal,{escape:s(m.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:s(m.text)("]|","~]|")("|","|https?://|")()}),m.breaks=u({},m.gfm,{br:s(m.br)("{2,}","*")(),text:s(m.gfm.text)("{2,}","*")()}),t.rules=m,t.output=function(e,n,i){return new t(n,i).output(e)},t.prototype.output=function(e){for(var t,n,i,r,s="";e;)if(r=this.rules.escape.exec(e))e=e.substring(r[0].length),s+=r[1];else if(r=this.rules.autolink.exec(e))e=e.substring(r[0].length),"@"===r[2]?(n=":"===r[1].charAt(6)?this.mangle(r[1].substring(7)):this.mangle(r[1]),i=this.mangle("mailto:")+n):i=n=o(r[1]),s+=this.renderer.link(i,null,n);else if(this.inLink||!(r=this.rules.url.exec(e))){if(r=this.rules.tag.exec(e))!this.inLink&&/^/i.test(r[0])&&(this.inLink=!1),e=e.substring(r[0].length),s+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):o(r[0]):r[0];else if(r=this.rules.link.exec(e))e=e.substring(r[0].length),this.inLink=!0,s+=this.outputLink(r,{href:r[2],title:r[3]}),this.inLink=!1;else if((r=this.rules.reflink.exec(e))||(r=this.rules.nolink.exec(e))){if(e=e.substring(r[0].length),t=(r[2]||r[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){s+=r[0].charAt(0),e=r[0].substring(1)+e;continue}this.inLink=!0,s+=this.outputLink(r,t),this.inLink=!1}else if(r=this.rules.strong.exec(e))e=e.substring(r[0].length),s+=this.renderer.strong(this.output(r[2]||r[1]));else if(r=this.rules.em.exec(e))e=e.substring(r[0].length),s+=this.renderer.em(this.output(r[2]||r[1]));else if(r=this.rules.code.exec(e))e=e.substring(r[0].length),s+=this.renderer.codespan(o(r[2],!0));else if(r=this.rules.br.exec(e))e=e.substring(r[0].length),s+=this.renderer.br();else if(r=this.rules.del.exec(e))e=e.substring(r[0].length),s+=this.renderer.del(this.output(r[1]));else if(r=this.rules.text.exec(e))e=e.substring(r[0].length),s+=this.renderer.text(o(this.smartypants(r[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(r[0].length),i=n=o(r[1]),s+=this.renderer.link(i,null,n);return s},t.prototype.outputLink=function(e,t){var n=o(t.href),i=t.title?o(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,i,this.output(e[1])):this.renderer.image(n,i,o(e[1]))},t.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},t.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",i=e.length,o=0;o.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},n.prototype.code=function(e,t,n){if(this.options.highlight){var i=this.options.highlight(e,t);null!=i&&i!==e&&(n=!0,e=i)}return t?'
'+(n?e:o(e,!0))+"\n
\n":"
"+(n?e:o(e,!0))+"\n
"},n.prototype.blockquote=function(e){return"
\n"+e+"
\n"},n.prototype.html=function(e){return e},n.prototype.heading=function(e,t,n){return"'+e+"\n"},n.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},n.prototype.list=function(e,t){var n=t?"ol":"ul";return"<"+n+">\n"+e+"\n"},n.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},n.prototype.paragraph=function(e){return"

    "+e+"

    \n"},n.prototype.table=function(e,t){return"\n\n"+e+"\n\n"+t+"\n
    \n"},n.prototype.tablerow=function(e){return"\n"+e+"\n"},n.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">")+e+"\n"},n.prototype.strong=function(e){return""+e+""},n.prototype.em=function(e){return""+e+""},n.prototype.codespan=function(e){return""+e+""},n.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},n.prototype.del=function(e){return""+e+""},n.prototype.link=function(e,t,n){if(this.options.sanitize){try{var i=decodeURIComponent(r(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return""}var o='
    "},n.prototype.image=function(e,t,n){var i=''+n+'":">"},n.prototype.text=function(e){return e},i.parse=function(e,t,n){return new i(t,n).parse(e)},i.prototype.parse=function(e){this.inline=new t(e.links,this.options,this.renderer),this.tokens=e.reverse();for(var n="";this.next();)n+=this.tok();return n},i.prototype.next=function(){return this.token=this.tokens.pop()},i.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},i.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},i.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,i,o="",r="";for(n="",e=0;e=0,i=p.indexOf("Macintosh")>=0,o=p.indexOf("Linux")>=0,a=!0,l=u=navigator.language}var f;!function(e){e[e.Web=0]="Web",e[e.Mac=1]="Mac",e[e.Linux=2]="Linux",e[e.Windows=3]="Windows"}(f=t.Platform||(t.Platform={}));var g=f.Web;s&&(i?g=f.Mac:n?g=f.Windows:o&&(g=f.Linux)),t.isWindows=n,t.isMacintosh=i,t.isLinux=o,t.isRootUser=r,t.isNative=s,t.isWeb=a,t.platform=g,t.language=l,t.locale=u;var m="object"==typeof self?self:global;t.globals=m,t.hasWebWorkerSupport=function(){return void 0!==m.Worker},t.setTimeout=m.setTimeout.bind(m),t.clearTimeout=m.clearTimeout.bind(m),t.setInterval=m.setInterval.bind(m),t.clearInterval=m.clearInterval.bind(m);!function(e){e[e.Windows=1]="Windows",e[e.Macintosh=2]="Macintosh",e[e.Linux=3]="Linux"}(t.OperatingSystem||(t.OperatingSystem={})),t.OS=i?2:n?1:3;!function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(t.AccessibilitySupport||(t.AccessibilitySupport={}))}),define(d[423],h([1,0]),function(e,t){"use strict";function n(e){return 65<=e&&e<=90}Object.defineProperty(t,"__esModule",{value:!0});/*! - BEGIN THIRD PARTY - */ -/*! - * string_score.js: String Scoring Algorithm 0.1.22 - * - * http://joshaven.com/string_score - * https://github.com/joshaven/string_score - * - * Copyright (C) 2009-2014 Joshaven Potter - * Special thanks to all of the contributors listed here https://github.com/joshaven/string_score - * MIT License: http://opensource.org/licenses/MIT - * - * Date: Tue Mar 1 2011 - * Updated: Tue Mar 10 2015 - */ -var i=["-","_"," ","/","\\","."];t.score=function(e,t,o){if(!e||!t)return 0;var r=e+t,s=o&&o[r];if("number"==typeof s)return s;for(var a=t.length,u=e.toLowerCase(),l=t.toLowerCase(),c=0,d=0,h=0;c0&&e.every(s)},t.validateConstraints=function(e,t){for(var n=Math.min(e.length,t.length),i=0;i=0)throw new Error("Cannot clone recursive data-structure");i.push(e);var u={};for(var l in e)c.call(e,l)&&(u[l]=r(e[l],t,i));return i.pop(),u}return e}function s(e,t,i){return void 0===i&&(i=!0),n.isObject(e)?(n.isObject(t)&&Object.keys(t).forEach(function(o){o in e?i&&(n.isObject(e[o])&&n.isObject(t[o])?s(e[o],t[o],i):e[o]=t[o]):e[o]=t[o]}),e):t}function a(e){for(var t=[],n=1;nthis.limit;)this.trim()},e.prototype.serialize=function(){var e={entries:[]};return this.map.forEach(function(t){e.entries.push({key:t.key,value:t.value})}),e},Object.defineProperty(e.prototype,"size",{get:function(){return this.map.size},enumerable:!0,configurable:!0}),e.prototype.set=function(e,t){if(this.map.has(e))return!1;var n={key:e,value:t};return this.push(n),this.size>this.limit&&this.trim(),!0},e.prototype.get=function(e){var t=this.map.get(e);return t?t.value:null},e.prototype.getOrSet=function(e,t){var n=this.get(e);return n||(this.set(e,t),t)},e.prototype.delete=function(e){var t=this.map.get(e);return t?(this.map.delete(e),t.next?t.next.prev=t.prev:this.head=t.prev,t.prev?t.prev.next=t.next:this.tail=t.next,t.value):null},e.prototype.has=function(e){return this.map.has(e)},e.prototype.clear=function(){this.map.clear(),this.head=null,this.tail=null},e.prototype.push=function(e){this.head&&(e.prev=this.head,this.head.next=e),this.tail||(this.tail=e),this.head=e,this.map.set(e.key,e)},e.prototype.trim=function(){if(this.tail)if(this.ratiot?1:0}function a(e){return e>=97&&e<=122}function u(e){return e>=65&&e<=90}function l(e){return a(e)||u(e)}function c(e,t,n){if(void 0===n&&(n=e.length),"string"!=typeof e||"string"!=typeof t)return!1;for(var i=0;i=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}Object.defineProperty(t,"__esModule",{value:!0}),t.empty="",t.isFalsyOrWhitespace=function(e){return!e||"string"!=typeof e||0===e.trim().length},t.pad=function(e,t,n){void 0===n&&(n="0");for(var i=""+e,o=[i],r=i.length;r=t.length?e:t[i]})},t.escape=function(e){return e.replace(/[<|>|&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})},t.escapeRegExpCharacters=i,t.trim=function(e,t){return void 0===t&&(t=" "),r(o(e,t),t)},t.ltrim=o,t.rtrim=r,t.convertSimple2RegExpPattern=function(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")},t.stripWildcards=function(e){return e.replace(/\*/g,"")},t.startsWith=function(e,t){if(e.length0?e.indexOf(t,n)===n:0===n&&e===t},t.indexOfIgnoreCase=function(e,t,n){void 0===n&&(n=0);var o=e.indexOf(t,n);return o<0&&(n>0&&(e=e.substr(n)),t=i(t),o=e.search(new RegExp(t,"i"))),o},t.createRegExp=function(e,t,n){if(void 0===n&&(n={}),!e)throw new Error("Cannot create regex from empty string");t||(e=i(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));var o="";return n.global&&(o+="g"),n.matchCase||(o+="i"),n.multiline&&(o+="m"),new RegExp(e,o)},t.regExpLeadsToEndlessLoop=function(e){return"^"!==e.source&&"^$"!==e.source&&"$"!==e.source&&e.exec("")&&0===e.lastIndex},t.canNormalize="function"==typeof"".normalize;var f=/[^\u0000-\u0080]/,g=new n.BoundedMap(1e4);t.normalizeNFC=function(e){if(!t.canNormalize||!e)return e;var n=g.get(e);if(n)return n;var i;return i=f.test(e)?e.normalize("NFC"):e,g.set(e,i),i},t.firstNonWhitespaceIndex=function(e){for(var t=0,n=e.length;t=0;n--){var i=e.charCodeAt(n);if(32!==i&&9!==i)return n}return-1},t.compare=s,t.compareIgnoreCase=function(e,t){for(var n=Math.min(e.length,t.length),i=0;it.length?1:0},t.equalsIgnoreCase=function(e,t){return(e?e.length:0)===(t?t.length:0)&&c(e,t)},t.beginsWithIgnoreCase=function(e,t){var n=t.length;return!(t.length>e.length)&&c(e,t,n)},t.commonPrefixLength=function(e,t){var n,i=Math.min(e.length,t.length);for(n=0;n0;){if(d(e,o,n,t,0,i))return i;i-=1,o+=1}return 0},t.isHighSurrogate=function(e){return 55296<=e&&e<=56319},t.isLowSurrogate=function(e){return 56320<=e&&e<=57343};var m=/(?:[\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])/;t.containsRTL=function(e){return m.test(e)};var v=/(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEF8]|\uD83E[\uDD00-\uDDE6])/;t.containsEmoji=function(e){return v.test(e)};var _=/^[\t\n\r\x20-\x7E]*$/;t.isBasicASCII=function(e){return _.test(e)},t.containsFullWidthCharacter=function(e){for(var t=0,n=e.length;tn)return 0;var o,r,s=[],a=[];for(o=0;o=0;r--)if((o+=i[r].length)>n){i.splice(0,r);break}return i.join(t.empty).replace(/^\s/,t.empty)};var y=/\x1B\x5B[12]?K/g,C=/\x1b\[\d+m/g,b=/\x1b\[0?m/g;t.removeAnsiEscapeCodes=function(e){return e&&(e=(e=(e=e.replace(y,"")).replace(C,"")).replace(b,"")),e},t.UTF8_BOM_CHARACTER=String.fromCharCode(65279),t.startsWithUTF8BOM=function(e){return e&&e.length>0&&65279===e.charCodeAt(0)},t.appendWithLimit=function(e,t,n){var i=e.length+t.length;return i>n&&(e="..."+e.substr(i-n)),t.length>n?e+=t.substr(t.length-n):e+=t,e},t.safeBtoa=function(e){return btoa(encodeURIComponent(e))},t.repeat=function(e,t){for(var n="",i=0;i0?[{start:0,end:t.length}]:[]:null}function s(e,t){var n=t.toLowerCase().indexOf(e.toLowerCase());return-1===n?null:[{start:n,end:n+e.length}]}function a(e,t){return u(e.toLowerCase(),t.toLowerCase(),0,0)}function u(e,t,n,i){if(n===e.length)return[];if(i===t.length)return null;if(e[n]===t[i]){var o=null;if(o=u(e,t,n+1,i+1))return f({start:i,end:i+1},o)}return u(e,t,n,i+1)}function l(e){return 97<=e&&e<=122}function c(e){return 65<=e&&e<=90}function d(e){return 48<=e&&e<=57}function h(e){return 32===e||9===e||10===e||13===e}function p(e){return l(e)||c(e)||d(e)}function f(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function g(e,t){for(var n=t;n0&&!p(e.charCodeAt(n-1)))return n}return e.length}function m(e,t,n,i){if(n===e.length)return[];if(i===t.length)return null;if(e[n]!==t[i].toLowerCase())return null;var o=null,r=i+1;for(o=m(e,t,n+1,i+1);!o&&(r=g(t,r)).6}function y(e){var t=e.upperPercent,n=e.lowerPercent,i=e.alphaPercent,o=e.numericPercent;return n>.2&&t<.8&&i>.6&&o<.2}function C(e){for(var t=0,n=0,i=0,o=0,r=0;r60)return null;var n=v(t);if(!y(n)){if(!_(n))return null;t=t.toLowerCase()}for(var i=null,o=0;o0&&h(e.charCodeAt(n-1)))return n;return e.length}function E(){for(var e=[],t=[0],n=1;n<=100;n++)t.push(-n);for(n=0;n<=100;n++){var i=t.slice(0);i[0]=-n,e.push(i)}return e}function L(e,t,n,i,o){function r(e,t,n){for(void 0===n&&(n=" ");e.length100?100:e.length,o=t.length>100?100:t.length,r=0;for(void 0===n&&(n=i);ro)){for(var s=e.toLowerCase(),a=t.toLowerCase(),u=r,l=0;u1?1:d),f=I[u-1][l]+-1,g=I[u][l-1]+-1;g>=f?g>p?(I[u][l]=g,O[u][l]=4):g===p?(I[u][l]=g,O[u][l]=6):(I[u][l]=p,O[u][l]=2):f>p?(I[u][l]=f,O[u][l]=1):f===p?(I[u][l]=f,O[u][l]=3):(I[u][l]=p,O[u][l]=2),c=h}}if(R&&(console.log(L(I,e,i,t,o)),console.log(L(O,e,i,t,o)),console.log(L(D,e,i,t,o))),W.length=0,B=-100,V=r,N(i,o,0,new H,!1),0!==W.length)return[B,W[0].toArray()]}}}function N(e,t,n,i,o){if(!(W.length>=10||n<-25)){for(var r=0;e>V&&t>0;){var s=D[e][t],a=O[e][t];if(4===a)t-=1,o?n-=5:i.isEmpty()||(n-=1),o=!1,r=0;else{if(!(2&a))return;if(4&a&&N(e,t-1,i.isEmpty()?n:n-1,i.slice(),o),n+=s,e-=1,t-=1,i.unshift(t),o=!0,1===s){if(r+=1,e===V)return}else n+=1+r*(s-1),r=0}}(n-=t>=3?9:3*t)>B?(B=n,W.unshift(i)):W.push(i)}}function M(e,t){if(!(t+1>=e.length))return e.slice(0,t)+e[t+1]+e[t]+e.slice(t+2)}Object.defineProperty(t,"__esModule",{value:!0}),t.or=o,t.and=function(){for(var e=[],t=0;t0)&&".."!==g&&(h=-1===f?"":h.slice(0,f),d=!0)}else u(e,c,p,".")&&(a||h||p=65&&i<=90||i>=97&&i<=122)&&58===e.charCodeAt(1))return 47===(i=e.charCodeAt(2))||92===i?e.slice(0,2)+t:e.slice(0,2);var s=e.indexOf("://");if(-1!==s)for(s+=3;s=65&&t<=90||t>=97&&t<=122)&&e.length>2&&58===e.charCodeAt(1)){var n=e.charCodeAt(2);if(47===n||92===n)return!0}return!1}function d(e){return e&&47===e.charCodeAt(0)}Object.defineProperty(t,"__esModule",{value:!0}),t.sep="/",t.nativeSep=n.isWindows?"\\":"/",t.relative=function(e,r){for(var s=o.rtrim(a(e),t.sep),u=o.rtrim(a(r),t.sep),l=n.isLinux?s:s.toLowerCase(),c=n.isLinux?u:u.toLowerCase(),d=l.split(t.sep),h=c.split(t.sep),p=0,f=Math.min(d.length,h.length);p0){var o=e.charCodeAt(e.length-1);if(47!==o&&92!==o){var r=i.charCodeAt(0);47!==r&&92!==r&&(e+=t.sep)}}e+=i}return a(e)},t.isUNC=function(e){if(!n.isWindows)return!1;if(!e||e.length<5)return!1;var t=e.charCodeAt(0);if(92!==t)return!1;if(92!==(t=e.charCodeAt(1)))return!1;for(var i=2,o=i;i\|]/g:/[\\/]/g,g=/^(con|prn|aux|clock\$|nul|lpt[0-9]|com[0-9])$/i;t.isValidBasename=function(e){return!(!e||0===e.length||/^\s+$/.test(e)||(f.lastIndex=0,f.test(e)||n.isWindows&&g.test(e)||"."===e||".."===e||n.isWindows&&"."===e[e.length-1]||n.isWindows&&e.length!==e.trim().length))},t.isEqual=function(e,t,n){var i=e===t;return!n||i?i:!(!e||!t)&&o.equalsIgnoreCase(e,t)},t.isEqualOrParent=function(e,n,i){if(e===n)return!0;if(!e||!n)return!1;if(n.length>e.length)return!1;if(i){if(!o.beginsWithIgnoreCase(e,n))return!1;if(n.length===e.length)return!0;var r=n.length;return n.charAt(n.length-1)===t.nativeSep&&r--,e.charAt(r)===t.nativeSep}return n.charAt(n.length-1)!==t.nativeSep&&(n+=t.nativeSep),0===e.indexOf(n)},t.isAbsolute=function(e){return n.isWindows?c(e):d(e)},t.isAbsolute_win32=c,t.isAbsolute_posix=d}),define(d[229],h([1,0,423,9,45]),function(e,t,n,i,o){"use strict";function r(e,t){if(c){var n=e||"",i=t||"",o=c.compare(n,i);return d&&0===o&&n!==i?nr.length)return 1}return 0}Object.defineProperty(t,"__esModule",{value:!0});var c,d;t.setFileNameComparer=function(e){c=e,d=e.resolvedOptions().numeric},t.compareFileNames=r;var h=/^(.*?)(\.([^.]*))?$/;t.noIntlCompareFileNames=s,t.compareFileExtensions=function(e,t){if(c){var n=e?h.exec(e):[],i=t?h.exec(t):[],o=n[1]||"",r=n[3]||"",s=i[1]||"",u=i[3]||"",l=c.compare(r,u);if(0===l){if(d&&r!==u)return rp?-1:1;var f=i.getResourcePath(e),g=i.getResourcePath(t);if(f&&g){var m=n.score(f,o,s),v=n.score(g,o,s);if(m!==v)return m>v?-1:1}return a.length!==c.length?a.length1,c=void 0;if(c=o.isEqual(u.fsPath,e.fsPath,!i.isLinux)?"":o.normalize(r.ltrim(e.fsPath.substr(u.fsPath.length),o.nativeSep),!0),l){var d=o.basename(u.fsPath);c=c?o.join(d,c):d}return c}if(i.isWindows&&e.fsPath&&":"===e.fsPath[1])return o.normalize(e.fsPath.charAt(0).toUpperCase()+e.fsPath.slice(1),!0);var h=o.normalize(e.fsPath,!0);return!i.isWindows&&a&&(h=s(h,a.userHome)),h},t.tildify=s;var a="…",u="\\\\";t.shorten=function(e){for(var t=new Array(e.length),n=!1,i=0;i=0;h--){n=!1;for(var p=c.slice(h,h+d).join(o.nativeSep),f=0;!n&&f-1){var g=h+d===c.length,m=h>0&&e[f].indexOf(o.nativeSep)>-1?o.nativeSep+p:p,v=r.endsWith(e[f],m);n=!g||v}if(!n){var _="";(r.endsWith(c[0],":")||""!==l)&&(1===h&&(h=0,d++,p=c[0]+o.nativeSep+p),h>0&&(_=c[0]+o.nativeSep),_=l+_),h>0&&(_=_+a+o.nativeSep),_+=p,h+d0})}).map(function(e){return e.value}).join("")},t.mnemonicButtonLabel=function(e){return i.isWindows?e.replace(/&&/g,"&"):e.replace(/\(&&\w\)|&&/g,"")}}),function(){var e={};e["WinJS/Core/_WinJS"]={};var t=function(t,n,i){var o={},r=!1,s=n.map(function(t){return"exports"===t?(r=!0,o):e[t]}),a=i.apply({},s);e[t]=r?o:a};t("WinJS/Core/_Global",[],function(){"use strict";return"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:{}}),t("WinJS/Core/_BaseCoreUtils",["WinJS/Core/_Global"],function(e){"use strict";return{hasWinRT:!!e.Windows,markSupportedForProcessing:function(e){return e.supportedForProcessing=!0,e},_setImmediate:e.setImmediate?e.setImmediate.bind(e):function(t){e.setTimeout(t,0)}}}),t("WinJS/Core/_WriteProfilerMark",["WinJS/Core/_Global"],function(e){"use strict";return e.msWriteProfilerMark||function(){}}),t("WinJS/Core/_Base",["WinJS/Core/_WinJS","WinJS/Core/_Global","WinJS/Core/_BaseCoreUtils","WinJS/Core/_WriteProfilerMark"],function(e,t,n,i){"use strict";function o(e,t,n){var i,o,r,s=Object.keys(t),a=Array.isArray(e);for(o=0,r=s.length;o"),r}var s=e;s.Namespace||(s.Namespace=Object.create(Object.prototype));var a={uninitialized:1,working:2,initialized:3};Object.defineProperties(s.Namespace,{defineWithParent:{value:r,writable:!0,enumerable:!0,configurable:!0},define:{value:function(e,n){return r(t,e,n)},writable:!0,enumerable:!0,configurable:!0},_lazy:{value:function(e){var t,n,o=a.uninitialized;return{setName:function(e){t=e},get:function(){switch(o){case a.initialized:return n;case a.uninitialized:o=a.working;try{i("WinJS.Namespace._lazy:"+t+",StartTM"),n=e()}finally{i("WinJS.Namespace._lazy:"+t+",StopTM"),o=a.uninitialized}return e=null,o=a.initialized,n;case a.working:throw"Illegal: reentrancy on initialization";default:throw"Illegal"}},set:function(e){switch(o){case a.working:throw"Illegal: reentrancy on initialization";default:o=a.initialized,n=e}},enumerable:!0,configurable:!0}},writable:!0,enumerable:!0,configurable:!0},_moduleDefine:{value:function(e,i,r){var s=[e],a=null;return i&&(a=n(t,i),s.push(a)),o(s,r,i||""),a},writable:!0,enumerable:!0,configurable:!0}})}(),function(){function t(e,t,i){return e=e||function(){},n.markSupportedForProcessing(e),t&&o(e.prototype,t),i&&o(e,i),e}e.Namespace.define("WinJS.Class",{define:t,derive:function(e,i,r,s){if(e){i=i||function(){};var a=e.prototype;return i.prototype=Object.create(a),n.markSupportedForProcessing(i),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0,enumerable:!0}),r&&o(i.prototype,r),s&&o(i,s),i}return t(i,r,s)},mix:function(e){e=e||function(){};var t,n;for(t=1,n=arguments.length;t1)&&u.fire(e),s=null,a=0},n)})},onLastListenerRemove:function(){o.dispose()}});return u.event};var h=function(){function e(){this.buffers=[]}return e.prototype.wrapEvent=function(e){var t=this;return function(n,i,o){return e(function(e){var o=t.buffers[t.buffers.length-1];o?o.push(function(){return n.call(i,e)}):n.call(i,e)},void 0,o)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t),e(),this.buffers.pop(),t.forEach(function(e){return e()})},e}();t.EventBufferer=h,t.mapEvent=a,t.filterEvent=u;var p=function(){function e(e){this._event=e}return Object.defineProperty(e.prototype,"event",{get:function(){return this._event},enumerable:!0,configurable:!0}),e.prototype.map=function(t){return new e(a(this._event,t))},e.prototype.filter=function(t){return new e(u(this._event,t))},e.prototype.on=function(e,t,n){return this._event(e,t,n)},e}();t.chain=function(e){return new p(e)},t.stopwatch=function(e){var t=(new Date).getTime();return a(s(e),function(e){return(new Date).getTime()-t})},t.buffer=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=[]),n=n.slice();var i=e(function(e){n?n.push(e):r.fire(e)}),o=function(){n.forEach(function(e){return r.fire(e)}),n=null},r=new c({onFirstListenerAdd:function(){i||(i=e(function(e){return r.fire(e)}))},onFirstListenerDidAdd:function(){n&&(t?setTimeout(o):o())},onLastListenerRemove:function(){i.dispose(),i=null}});return r.event},t.echo=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=[]),n=n.slice(),e(function(e){n.push(e),o.fire(e)});var i=function(e,t){return n.forEach(function(n){return e.call(t,n)})},o=new c({onListenerDidAdd:function(e,n,o){t?setTimeout(function(){return i(n,o)}):i(n,o)}});return o.event}}),define(d[28],h([1,0,15,11]),function(e,t,n,i){"use strict";function o(){return s.INSTANCE.getZoomLevel()}function r(){return s.INSTANCE.getPixelRatio()}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(){this._zoomLevel=0,this._lastZoomLevelChangeTime=0,this._onDidChangeZoomLevel=new i.Emitter,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this._zoomFactor=0,this._onDidChangeFullscreen=new i.Emitter,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this._accessibilitySupport=0,this._onDidChangeAccessibilitySupport=new i.Emitter,this.onDidChangeAccessibilitySupport=this._onDidChangeAccessibilitySupport.event}return e.prototype.getZoomLevel=function(){return this._zoomLevel},e.prototype.getTimeSinceLastZoomLevelChanged=function(){return Date.now()-this._lastZoomLevelChangeTime},e.prototype.setZoomLevel=function(e,t){this._zoomLevel!==e&&(this._zoomLevel=e,this._lastZoomLevelChangeTime=t?0:Date.now(),this._onDidChangeZoomLevel.fire(this._zoomLevel))},e.prototype.getZoomFactor=function(){return this._zoomFactor},e.prototype.setZoomFactor=function(e){this._zoomFactor=e},e.prototype.getPixelRatio=function(){var e=document.createElement("canvas").getContext("2d");return(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)},e.prototype.setFullscreen=function(e){this._fullscreen!==e&&(this._fullscreen=e,this._onDidChangeFullscreen.fire())},e.prototype.isFullscreen=function(){return this._fullscreen},e.prototype.setAccessibilitySupport=function(e){this._accessibilitySupport!==e&&(this._accessibilitySupport=e,this._onDidChangeAccessibilitySupport.fire())},e.prototype.getAccessibilitySupport=function(){return this._accessibilitySupport},e.INSTANCE=new e,e}();t.setZoomLevel=function(e,t){s.INSTANCE.setZoomLevel(e,t)},t.getZoomLevel=o,t.getTimeSinceLastZoomLevelChanged=function(){return s.INSTANCE.getTimeSinceLastZoomLevelChanged()},t.onDidChangeZoomLevel=function(e){return s.INSTANCE.onDidChangeZoomLevel(e)},t.getZoomFactor=function(){return s.INSTANCE.getZoomFactor()},t.setZoomFactor=function(e){s.INSTANCE.setZoomFactor(e)},t.getPixelRatio=r,t.setFullscreen=function(e){s.INSTANCE.setFullscreen(e)},t.isFullscreen=function(){return s.INSTANCE.isFullscreen()},t.onDidChangeFullscreen=function(e){return s.INSTANCE.onDidChangeFullscreen(e)},t.setAccessibilitySupport=function(e){s.INSTANCE.setAccessibilitySupport(e)},t.getAccessibilitySupport=function(){return s.INSTANCE.getAccessibilitySupport()},t.onDidChangeAccessibilitySupport=function(e){return s.INSTANCE.onDidChangeAccessibilitySupport(e)};var a=navigator.userAgent;t.isIE=a.indexOf("Trident")>=0,t.isEdge=a.indexOf("Edge/")>=0,t.isEdgeOrIE=t.isIE||t.isEdge,t.isOpera=a.indexOf("Opera")>=0,t.isFirefox=a.indexOf("Firefox")>=0,t.isWebKit=a.indexOf("AppleWebKit")>=0,t.isChrome=a.indexOf("Chrome")>=0,t.isSafari=-1===a.indexOf("Chrome")&&a.indexOf("Safari")>=0,t.isIPad=a.indexOf("iPad")>=0,t.isChromev56=a.indexOf("Chrome/56.")>=0&&-1===a.indexOf("Edge/"),t.supportsTranslate3d=!t.isFirefox,t.canUseTranslate3d=function(){if(!t.supportsTranslate3d)return!1;if(0!==o())return!1;if(t.isChromev56){var e=r();if(Math.floor(e)!==e)return!1}return!0}}),define(d[124],h([1,0,11]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.domEvent=function(e,t,i){var o=function(e){return r.fire(e)},r=new n.Emitter({onFirstListenerAdd:function(){e.addEventListener(t,o,i)},onLastListenerRemove:function(){e.removeEventListener(t,o,i)}});return r.event},t.stop=function(e){return n.mapEvent(e,function(e){return e.preventDefault(),e.stopPropagation(),e})}}),define(d[65],h([1,0,40,15,28]),function(e,t,n,i,o){"use strict";function r(e){if(e.charCode){var t=String.fromCharCode(e.charCode).toUpperCase();return n.KeyCodeUtils.fromString(t)}return s[e.keyCode]||0}Object.defineProperty(t,"__esModule",{value:!0});var s={};s[3]=7,s[8]=1,s[9]=2,s[13]=3,s[16]=4,s[17]=5,s[18]=6,s[19]=7,s[20]=8,s[27]=9,s[32]=10,s[33]=11,s[34]=12,s[35]=13,s[36]=14,s[37]=15,s[38]=16,s[39]=17,s[40]=18,s[45]=19,s[46]=20,s[48]=21,s[49]=22,s[50]=23,s[51]=24,s[52]=25,s[53]=26,s[54]=27,s[55]=28,s[56]=29,s[57]=30,s[65]=31,s[66]=32,s[67]=33,s[68]=34,s[69]=35,s[70]=36,s[71]=37,s[72]=38,s[73]=39,s[74]=40,s[75]=41,s[76]=42,s[77]=43,s[78]=44,s[79]=45,s[80]=46,s[81]=47,s[82]=48,s[83]=49,s[84]=50,s[85]=51,s[86]=52,s[87]=53,s[88]=54,s[89]=55,s[90]=56,s[93]=58,s[96]=93,s[97]=94,s[98]=95,s[99]=96,s[100]=97,s[101]=98,s[102]=99,s[103]=100,s[104]=101,s[105]=102,s[106]=103,s[107]=104,s[108]=105,s[109]=106,s[110]=107,s[111]=108,s[112]=59,s[113]=60,s[114]=61,s[115]=62,s[116]=63,s[117]=64,s[118]=65,s[119]=66,s[120]=67,s[121]=68,s[122]=69,s[123]=70,s[124]=71,s[125]=72,s[126]=73,s[127]=74,s[128]=75,s[129]=76,s[130]=77,s[144]=78,s[145]=79,s[186]=80,s[187]=81,s[188]=82,s[189]=83,s[190]=84,s[191]=85,s[192]=86,s[193]=110,s[194]=111,s[219]=87,s[220]=88,s[221]=89,s[222]=90,s[223]=91,s[226]=92,s[229]=109,o.isIE?s[91]=57:o.isFirefox?(s[59]=80,s[107]=81,s[109]=83,i.isMacintosh&&(s[224]=57)):o.isWebKit&&(s[91]=57,i.isMacintosh?s[93]=57:s[92]=57);var a=i.isMacintosh?256:2048,u=i.isMacintosh?2048:256,l=function(){function e(e){var t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.keyCode=r(t),this.code=t.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asRuntimeKeybinding=this._computeRuntimeKeybinding()}return e.prototype.preventDefault=function(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e.prototype.toKeybinding=function(){return this._asRuntimeKeybinding},e.prototype.equals=function(e){return this._asKeybinding===e},e.prototype._computeKeybinding=function(){var e=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(e=this.keyCode);var t=0;return this.ctrlKey&&(t|=a),this.altKey&&(t|=512),this.shiftKey&&(t|=1024),this.metaKey&&(t|=u),t|=e},e.prototype._computeRuntimeKeybinding=function(){var e=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(e=this.keyCode),new n.SimpleKeybinding(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)},e}();t.StandardKeyboardEvent=l}),define(d[47],h([1,0,15,28,148]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.timestamp=Date.now(),this.browserEvent=e,this.leftButton=0===e.button,this.middleButton=1===e.button,this.rightButton=2===e.button,this.target=e.target,this.detail=e.detail||1,"dblclick"===e.type&&(this.detail=2),this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,"number"==typeof e.pageX?(this.posx=e.pageX,this.posy=e.pageY):(this.posx=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,this.posy=e.clientY+document.body.scrollTop+document.documentElement.scrollTop);var t=o.IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow(self,e.view);this.posx-=t.left,this.posy-=t.top}return e.prototype.preventDefault=function(){this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e}();t.StandardMouseEvent=r;var s=function(e){function t(t){var n=e.call(this,t)||this;return n.dataTransfer=t.dataTransfer,n}return f(t,e),t}(r);t.DragMouseEvent=s;var a=function(e){function t(t){return e.call(this,t)||this}return f(t,e),t}(s);t.DropMouseEvent=a;var u=function(){function e(e,t,o){if(void 0===t&&(t=0),void 0===o&&(o=0),this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=o,this.deltaX=t,e){var r=e,s=e;void 0!==r.wheelDeltaY?this.deltaY=r.wheelDeltaY/120:void 0!==s.VERTICAL_AXIS&&s.axis===s.VERTICAL_AXIS&&(this.deltaY=-s.detail/3),void 0!==r.wheelDeltaX?i.isSafari&&n.isWindows?this.deltaX=-r.wheelDeltaX/120:this.deltaX=r.wheelDeltaX/120:void 0!==s.HORIZONTAL_AXIS&&s.axis===s.HORIZONTAL_AXIS&&(this.deltaX=-e.detail/3),0===this.deltaY&&0===this.deltaX&&e.wheelDelta&&(this.deltaY=e.wheelDelta/120)}}return e.prototype.preventDefault=function(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e}();t.StandardMouseWheelEvent=u}),define(d[123],h([1,0,11]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=Object.freeze(function(e,t){var n=setTimeout(e.bind(t),0);return{dispose:function(){clearTimeout(n)}}});!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.default.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:o})}(i=t.CancellationToken||(t.CancellationToken={}));var r=function(){function e(){this._isCancelled=!1}return e.prototype.cancel=function(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._emitter=void 0))},Object.defineProperty(e.prototype,"isCancellationRequested",{get:function(){return this._isCancelled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onCancellationRequested",{get:function(){return this._isCancelled?o:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)},enumerable:!0,configurable:!0}),e}(),s=function(){function e(){}return Object.defineProperty(e.prototype,"token",{get:function(){return this._token||(this._token=new r),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token.cancel():this._token=i.Cancelled},e.prototype.dispose=function(){this.cancel()},e}();t.CancellationTokenSource=s}),define(d[18],h([1,0,10,15,7,123,3,11]),function(e,t,n,i,o,r,s,a){"use strict";function u(e){return e&&"function"==typeof e.then}function l(e,t){return new o.TPromise(function(i,o,r){e.done(function(e){try{t(e)}catch(e){n.onUnexpectedError(e)}i(e)},function(e){try{t(e)}catch(e){n.onUnexpectedError(e)}o(e)},function(e){r(e)})},function(){e.cancel()})}Object.defineProperty(t,"__esModule",{value:!0}),t.toThenable=function(e){return u(e)?e:o.TPromise.as(e)},t.asWinJsPromise=function(e){var t=new r.CancellationTokenSource;return new o.TPromise(function(n,i,r){var s=e(t.token);s instanceof o.TPromise?s.then(n,i,r):u(s)?s.then(n,i):n(s)},function(){t.cancel()})},t.wireCancellationToken=function(e,t,i){var r=e.onCancellationRequested(function(){return t.cancel()});return i&&(t=t.then(void 0,function(e){if(!n.isPromiseCanceledError(e))return o.TPromise.wrapError(e)})),l(t,function(){return r.dispose()})};var c=function(){function e(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}return e.prototype.queue=function(e){var t=this;if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){var n=function(){t.queuedPromise=null;var e=t.queue(t.queuedPromiseFactory);return t.queuedPromiseFactory=null,e};this.queuedPromise=new o.TPromise(function(e,i,o){t.activePromise.then(n,n,o).done(e)},function(){t.activePromise.cancel()})}return new o.TPromise(function(e,n,i){t.queuedPromise.then(e,n,i)},function(){})}return this.activePromise=e(),new o.TPromise(function(e,n,i){t.activePromise.done(function(n){t.activePromise=null,e(n)},function(e){t.activePromise=null,n(e)},i)},function(){t.activePromise.cancel()})},e}();t.Throttler=c;var d=function(){function e(){this.current=o.TPromise.as(null)}return e.prototype.queue=function(e){return this.current=this.current.then(function(){return e()})},e}();t.SimpleThrottler=d;var h=function(){function e(e){this.defaultDelay=e,this.timeout=null,this.completionPromise=null,this.onSuccess=null,this.task=null}return e.prototype.trigger=function(e,t){var n=this;return void 0===t&&(t=this.defaultDelay),this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new o.TPromise(function(e){n.onSuccess=e},function(){}).then(function(){n.completionPromise=null,n.onSuccess=null;var e=n.task;return n.task=null,e()})),this.timeout=setTimeout(function(){n.timeout=null,n.onSuccess(null)},t),this.completionPromise},e.prototype.isTriggered=function(){return null!==this.timeout},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise&&(this.completionPromise.cancel(),this.completionPromise=null)},e.prototype.cancelTimeout=function(){null!==this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},e}();t.Delayer=h;var p=function(e){function t(t){var n=e.call(this,t)||this;return n.throttler=new c,n}return f(t,e),t.prototype.trigger=function(t,n){var i=this;return e.prototype.trigger.call(this,function(){return i.throttler.queue(t)},n)},t}(h);t.ThrottledDelayer=p;var g=function(e){function t(t,n){void 0===n&&(n=0);var i=e.call(this,t)||this;return i.minimumPeriod=n,i.periodThrottler=new c,i}return f(t,e),t.prototype.trigger=function(t,n){var i=this;return e.prototype.trigger.call(this,function(){return i.periodThrottler.queue(function(){return o.Promise.join([o.TPromise.timeout(i.minimumPeriod),t()]).then(function(e){return e[1]})})},n)},t}(p);t.PeriodThrottledDelayer=g;var m=function(){function e(){var e=this;this._value=new o.TPromise(function(t,n){e._completeCallback=t,e._errorCallback=n})}return Object.defineProperty(e.prototype,"value",{get:function(){return this._value},enumerable:!0,configurable:!0}),e.prototype.complete=function(e){this._completeCallback(e)},e.prototype.error=function(e){this._errorCallback(e)},e}();t.PromiseSource=m;var v=function(e){function t(t){var i,o,r,s=this;return s=e.call(this,function(e,t,n){i=e,o=t,r=n},function(){o(n.canceled())})||this,t.then(i,o,r),s}return f(t,e),t}(o.TPromise);t.ShallowCancelThenPromise=v,t.always=l,t.sequence=function(e){function t(){return e.length?e.pop()():null}function n(e){void 0!==e&&null!==e&&i.push(e);var r=t();return r?r.then(n):o.TPromise.as(i)}var i=[];return e=e.reverse(),o.TPromise.as(null).then(n)},t.first=function(e,t){void 0===t&&(t=function(e){return!!e}),e=e.reverse().slice();var n=function(){return 0===e.length?o.TPromise.as(null):e.pop()().then(function(e){return t(e)?o.TPromise.as(e):n()})};return n()};var _=function(){function e(e){this.maxDegreeOfParalellism=e,this.outstandingPromises=[],this.runningPromises=0,this._onFinished=new a.Emitter}return Object.defineProperty(e.prototype,"onFinished",{get:function(){return this._onFinished.event},enumerable:!0,configurable:!0}),e.prototype.queue=function(e){var t=this;return new o.TPromise(function(n,i,o){t.outstandingPromises.push({factory:e,c:n,e:i,p:o}),t.consume()})},e.prototype.consume=function(){for(var e=this;this.outstandingPromises.length&&this.runningPromises0?this.consume():this._onFinished.fire()},e.prototype.dispose=function(){this._onFinished.dispose()},e}();t.Limiter=_;var y=function(e){function t(){return e.call(this,1)||this}return f(t,e),t}(_);t.Queue=y,t.setDisposableTimeout=function(e,t){for(var n=[],i=2;i0&&this._emitToBulkListeners(e);for(var t=0,n=e.length;t0;){var n=this._emitQueue.shift();o(n.target,n.arg)}},t}(s);t.OrderGuaranteeEventEmitter=u}),define(d[4],h([1,0,7,18,10,38,3,29,28,65,47]),function(e,t,n,i,o,r,s,a,u,l,c){"use strict";function d(e,t,n,i){return new N(e,t,n,i)}function h(e){return function(t){return e(new c.StandardMouseEvent(t))}}function p(e){return function(t){return e(new l.StandardKeyboardEvent(t))}}function g(e){return document.defaultView.getComputedStyle(e,null)}function m(e,t,n){var i=g(e),o="0";return i&&(o=i.getPropertyValue?i.getPropertyValue(t):i.getAttribute(n)),O(e,o)}function v(e){for(var t=e.offsetParent,n=e.offsetTop,i=e.offsetLeft;null!==(e=e.parentNode)&&e!==document.body&&e!==document.documentElement;){n-=e.scrollTop;var o=g(e);o&&(i-="rtl"!==o.direction?e.scrollLeft:-e.scrollLeft),e===t&&(i+=R.getBorderLeftWidth(e),n+=R.getBorderTopWidth(e),n+=e.offsetTop,i+=e.offsetLeft,t=e.offsetParent)}return{left:i,top:n}}function _(e){var t=R.getMarginLeft(e)+R.getMarginRight(e);return e.offsetWidth+t}function y(e){var t=R.getMarginLeft(e)+R.getMarginRight(e);return e.scrollWidth+t}function C(e,t){if(null===e)return 0;var n=v(e),i=v(t);return n.left-i.left}function b(e){void 0===e&&(e=document.getElementsByTagName("head")[0]);var t=document.createElement("style");return t.type="text/css",t.media="screen",e.appendChild(t),t}function w(e){return e&&e.sheet&&e.sheet.rules?e.sheet.rules:e&&e.sheet&&e.sheet.cssRules?e.sheet.cssRules:[]}function S(e,t){for(;e;){if(e instanceof HTMLElement&&e.hasAttribute(t))return e;e=e.parentNode}return null}Object.defineProperty(t,"__esModule",{value:!0}),t.clearNode=function(e){for(;e.firstChild;)e.removeChild(e.firstChild)},t.safeStringifyDOMAware=function(e){var t=[];return JSON.stringify(e,function(e,n){if(n instanceof Element)return"[Element]";if(a.isObject(n)||Array.isArray(n)){if(-1!==t.indexOf(n))return"[Circular]";t.push(n)}return n})},t.isInDOM=function(e){for(;e;){if(e===document.body)return!0;e=e.parentNode}return!1};var E=new(function(){function e(){}return e.prototype._findClassName=function(e,t){var n=e.className;if(n){t=t.trim();var i=n.length,o=t.length;if(0!==o)if(i=0;){if(r=s+o,(0===s||32===n.charCodeAt(s-1))&&32===n.charCodeAt(r))return this._lastStart=s,void(this._lastEnd=r+1);if(s>0&&32===n.charCodeAt(s-1)&&r===i)return this._lastStart=s-1,void(this._lastEnd=r);if(0===s&&r===i)return this._lastStart=0,void(this._lastEnd=r)}this._lastStart=-1}else this._lastStart=-1}else this._lastStart=-1},e.prototype.hasClass=function(e,t){return this._findClassName(e,t),-1!==this._lastStart},e.prototype.addClass=function(e,t){e.className?(this._findClassName(e,t),-1===this._lastStart&&(e.className=e.className+" "+t)):e.className=t},e.prototype.removeClass=function(e,t){this._findClassName(e,t),-1!==this._lastStart&&(e.className=e.className.substring(0,this._lastStart)+e.className.substring(this._lastEnd))},e.prototype.toggleClass=function(e,t,n){this._findClassName(e,t),-1===this._lastStart||void 0!==n&&n||this.removeClass(e,t),-1!==this._lastStart||void 0!==n&&!n||this.addClass(e,t)},e}()),L=new(function(){function e(){}return e.prototype.hasClass=function(e,t){return t&&e.classList&&e.classList.contains(t)},e.prototype.addClass=function(e,t){t&&e.classList&&e.classList.add(t)},e.prototype.removeClass=function(e,t){t&&e.classList&&e.classList.remove(t)},e.prototype.toggleClass=function(e,t,n){e.classList&&e.classList.toggle(t,n)},e}()),x=u.isIE?E:L;t.hasClass=x.hasClass.bind(x),t.addClass=x.addClass.bind(x),t.removeClass=x.removeClass.bind(x),t.toggleClass=x.toggleClass.bind(x);var N=function(){function e(e,t,n,i){this._node=e,this._type=t,this._handler=n,this._useCapture=i||!1,this._node.addEventListener(this._type,this._handler,this._useCapture)}return e.prototype.dispose=function(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._useCapture),this._node=null,this._handler=null)},e}();t.addDisposableListener=d,t.addStandardDisposableListener=function(e,t,n,i){var o=n;return"click"===t||"mousedown"===t?o=h(n):"keydown"!==t&&"keypress"!==t&&"keyup"!==t||(o=p(n)),d(e,t,o,i)},t.addDisposableNonBubblingMouseOutListener=function(e,t){return d(e,"mouseout",function(n){for(var i=n.relatedTarget||n.toElement;i&&i!==e;)i=i.parentNode;i!==e&&t(n)})};var M=function(){var e=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame,t=self.cancelAnimationFrame||self.cancelRequestAnimationFrame||self.msCancelAnimationFrame||self.msCancelRequestAnimationFrame||self.webkitCancelAnimationFrame||self.webkitCancelRequestAnimationFrame||self.mozCancelAnimationFrame||self.mozCancelRequestAnimationFrame||self.oCancelAnimationFrame||self.oCancelRequestAnimationFrame,n=!!e,i=e||function(e){return setTimeout(function(){return e((new Date).getTime())},0)},o=t||function(e){};return{isNative:n,request:function(e){return i(e)},cancel:function(e){return o(e)}}}(),T=function(){function e(e,t){this._runner=e,this.priority=t,this._canceled=!1}return e.prototype.dispose=function(){this._canceled=!0},e.prototype.execute=function(){if(!this._canceled)try{this._runner()}catch(e){o.onUnexpectedError(e)}},e.sort=function(e,t){return t.priority-e.priority},e}();!function(){var e=[],n=null,i=!1,o=!1,r=function(){for(i=!1,n=e,e=[],o=!0;n.length>0;)n.sort(T.sort),n.shift().execute();o=!1};t.scheduleAtNextAnimationFrame=function(t,n){void 0===n&&(n=0);var o=new T(t,n);return e.push(o),i||(i=!0,M.request(r)),o},t.runAtThisOrScheduleAtNextAnimationFrame=function(e,i){if(o){var r=new T(e,i);return n.push(r),r}return t.scheduleAtNextAnimationFrame(e,i)}}();var k=16,I=function(e,t){return t},D=function(e){function t(t,n,o,r,s){void 0===r&&(r=I),void 0===s&&(s=k);var a=e.call(this)||this,u=null,l=0,c=a._register(new i.TimeoutTimer),h=function(){l=(new Date).getTime(),o(u),u=null};return a._register(d(t,n,function(e){u=r(u,e);var t=(new Date).getTime()-l;t>=s?(c.cancel(),h()):c.setIfNotSet(h,s-t)})),a}return f(t,e),t}(s.Disposable);t.addDisposableThrottledListener=function(e,t,n,i,o){return new D(e,t,n,i,o)},t.getComputedStyle=g;var O=function(e,t){return parseFloat(t)||0},R={getBorderLeftWidth:function(e){return m(e,"border-left-width","borderLeftWidth")},getBorderTopWidth:function(e){return m(e,"border-top-width","borderTopWidth")},getBorderRightWidth:function(e){return m(e,"border-right-width","borderRightWidth")},getBorderBottomWidth:function(e){return m(e,"border-bottom-width","borderBottomWidth")},getPaddingLeft:function(e){return m(e,"padding-left","paddingLeft")},getPaddingTop:function(e){return m(e,"padding-top","paddingTop")},getPaddingRight:function(e){return m(e,"padding-right","paddingRight")},getPaddingBottom:function(e){return m(e,"padding-bottom","paddingBottom")},getMarginLeft:function(e){return m(e,"margin-left","marginLeft")},getMarginTop:function(e){return m(e,"margin-top","marginTop")},getMarginRight:function(e){return m(e,"margin-right","marginRight")},getMarginBottom:function(e){return m(e,"margin-bottom","marginBottom")},__commaSentinel:!1};t.getTopLeftOffset=v,t.getDomNodePagePosition=function(e){var n=e.getBoundingClientRect();return{left:n.left+t.StandardWindow.scrollX,top:n.top+t.StandardWindow.scrollY,width:n.width,height:n.height}},t.StandardWindow=new(function(){function e(){}return Object.defineProperty(e.prototype,"scrollX",{get:function(){return"number"==typeof window.scrollX?window.scrollX:document.body.scrollLeft+document.documentElement.scrollLeft},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollY",{get:function(){return"number"==typeof window.scrollY?window.scrollY:document.body.scrollTop+document.documentElement.scrollTop},enumerable:!0,configurable:!0}),e}()),t.getContentWidth=function(e){var t=R.getBorderLeftWidth(e)+R.getBorderRightWidth(e),n=R.getPaddingLeft(e)+R.getPaddingRight(e);return e.offsetWidth-t-n},t.getTotalWidth=_,t.getTotalScrollWidth=y,t.getContentHeight=function(e){var t=R.getBorderTopWidth(e)+R.getBorderBottomWidth(e),n=R.getPaddingTop(e)+R.getPaddingBottom(e);return e.offsetHeight-t-n},t.getTotalHeight=function(e){var t=R.getMarginTop(e)+R.getMarginBottom(e);return e.offsetHeight+t},t.getLargestChildWidth=function(e,t){var n=t.map(function(t){return Math.max(y(t),_(t))+C(t,e)||0});return Math.max.apply(Math,n)},t.isAncestor=function(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1},t.findParentWithClass=function(e,n,i){for(;e;){if(t.hasClass(e,n))return e;if(i&&t.hasClass(e,i))return null;e=e.parentNode}return null},t.createStyleSheet=b;var P=b();t.createCSSRule=function(e,t,n){void 0===n&&(n=P),n&&t&&n.sheet.insertRule(e+"{"+t+"}",0)},t.getCSSRule=function(e,t){if(void 0===t&&(t=P),!t)return null;for(var n=w(t),i=0;i=0;o--)t.sheet.deleteRule(i[o])}},t.isHTMLElement=function(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName},t.EventType={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",UNLOAD:"unload",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",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:u.isWebKit?"webkitAnimationStart":"animationstart",ANIMATION_END:u.isWebKit?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:u.isWebKit?"webkitAnimationIteration":"animationiteration"},t.EventHelper={stop:function(e,t){e.preventDefault?e.preventDefault():e.returnValue=!1,t&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)}},t.saveParentsScrollTop=function(e){for(var t=[],n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)t[n]=e.scrollTop,e=e.parentNode;return t},t.restoreParentsScrollTop=function(e,t){for(var n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)e.scrollTop!==t[n]&&(e.scrollTop=t[n]),e=e.parentNode};var A=function(e){function n(n){var i=e.call(this)||this,o=!1,s=!1;i._eventEmitter=i._register(new r.EventEmitter);return i._register(d(n,t.EventType.FOCUS,function(e){s=!1,o||(o=!0,i._eventEmitter.emit("focus",{}))},!0)),i._register(d(n,t.EventType.BLUR,function(e){o&&(s=!0,window.setTimeout(function(){s&&(s=!1,o=!1,i._eventEmitter.emit("blur",{}))},0))},!0)),i}return f(n,e),n.prototype.addFocusListener=function(e){return this._eventEmitter.addListener("focus",e)},n.prototype.addBlurListener=function(e){return this._eventEmitter.addListener("blur",e)},n}(s.Disposable);t.trackFocus=function(e){return new A(e)},t.append=function(e){for(var t=[],n=1;n0&&(t instanceof Node?n.push(t.cloneNode()):n.push(document.createTextNode(t))),n.push(e)}),n},t.show=function(){for(var e=[],t=0;t0},t.prototype.startMonitoring=function(e,t,n){var s=this;if(!this.isMonitoring()){this.mouseMoveEventMerger=e,this.mouseMoveCallback=t,this.onStopCallback=n;for(var a=o.IframeUtils.getSameOriginWindowChain(),u=0;u"},h.link=function(e,t,n){return e===n&&(n=s.removeMarkdownEscapes(n)),t=s.removeMarkdownEscapes(t),!(e=s.removeMarkdownEscapes(e))||e.match(/^data:|javascript:/i)?n:''+n+""},h.paragraph=function(e){return"

    "+e+"

    "},t.codeBlockRenderer&&(h.code=function(e,n){var s=t.codeBlockRenderer(n,e);if("string"==typeof s)return s;if(r.TPromise.is(s)){var a=i.defaultGenerator.nextId();return r.TPromise.join([s,d]).done(function(e){var t=e[0],n=c.querySelector('div[data-code="'+a+'"]');n&&(n.innerHTML=t)},function(e){}),'
    '+o.escape(e)+"
    "}return e}),t.actionCallback&&n.addStandardDisposableListener(c,"click",function(e){if("A"===e.target.tagName){var n=e.target.dataset.href;n&&t.actionCallback(n,e)}}),c.innerHTML=a.marked(e,{sanitize:!0,renderer:h}),l(),c}function c(e,t,i){var o;if(2===t.type)o=document.createTextNode(t.content);else if(3===t.type)o=document.createElement("b");else if(4===t.type)o=document.createElement("i");else if(5===t.type){var r=document.createElement("a");r.href="#",n.addStandardDisposableListener(r,"click",function(e){i(String(t.index),e)}),o=r}else 7===t.type?o=document.createElement("br"):1===t.type&&(o=e);e!==o&&e.appendChild(o),Array.isArray(t.children)&&t.children.forEach(function(e){c(o,e,i)})}function d(e){for(var t={type:1,children:[]},n=0,i=t,o=[],r=new g(e);!r.eos();){var s=r.next(),a="\\"===s&&0!==p(r.peek());if(a&&(s=r.next()),!a&&h(s)&&s===r.peek()){r.advance(),2===i.type&&(i=o.pop());var u=p(s);if(i.type===u||5===i.type&&6===u)i=o.pop();else{var l={type:u,children:[]};5===u&&(l.index=n,n++),i.children.push(l),o.push(i),i=l}}else if("\n"===s)2===i.type&&(i=o.pop()),i.children.push({type:7});else if(2!==i.type){var c={type:2,content:s};i.children.push(c),o.push(i),i=c}else i.content+=s}return 2===i.type&&(i=o.pop()),o.length,t}function h(e){return 0!==p(e)}function p(e){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}Object.defineProperty(t,"__esModule",{value:!0}),t.renderMarkedString=function(e,t){void 0===t&&(t={});var n;return n="string"==typeof e?e:"```"+e.language+"\n"+e.value+"\n```",l(n,t)},t.renderText=function(e,t){void 0===t&&(t={});var n=u(t);return n.textContent=e,n},t.renderFormattedText=function(e,t){void 0===t&&(t={});var n=u(t);return c(n,d(e),t.actionCallback),n},t.renderMarkdown=l;var f,g=function(){function e(e){this.source=e,this.index=0}return e.prototype.eos=function(){return this.index>=this.source.length},e.prototype.next=function(){var e=this.peek();return this.advance(),e},e.prototype.peek=function(){return this.source[this.index]},e.prototype.advance=function(){this.index++},e}();!function(e){e[e.Invalid=0]="Invalid",e[e.Root=1]="Root",e[e.Text=2]="Text",e[e.Bold=3]="Bold",e[e.Italics=4]="Italics",e[e.Action=5]="Action",e[e.ActionClose=6]="ActionClose",e[e.NewLine=7]="NewLine"}(f||(f={}))}),define(d[74],h([1,0,33,3,4]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r;!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(r=t.EventType||(t.EventType={}));var s=function(){function e(e){this.callOnTarget=[],this.activeTouches={},this.target=e,this.handle=null}return e.prototype.dispose=function(){this.target=null,this.handle&&(this.handle.dispose(),this.handle=null)},Object.defineProperty(e.prototype,"target",{set:function(e){var t=this;this.callOnTarget=i.dispose(this.callOnTarget),this.activeTouches={},this.targetElement=e,this.targetElement&&(this.callOnTarget.push(o.addDisposableListener(this.targetElement,"touchstart",function(e){return t.onTouchStart(e)})),this.callOnTarget.push(o.addDisposableListener(this.targetElement,"touchend",function(e){return t.onTouchEnd(e)})),this.callOnTarget.push(o.addDisposableListener(this.targetElement,"touchmove",function(e){return t.onTouchMove(e)})))},enumerable:!0,configurable:!0}),e.newGestureEvent=function(e){var t=document.createEvent("CustomEvent");return t.initEvent(e,!1,!0),t},e.prototype.onTouchStart=function(t){var n=Date.now();t.preventDefault(),this.handle&&(this.handle.dispose(),this.handle=null);for(var i=0,o=t.targetTouches.length;i=e.HOLD_DELAY&&Math.abs(l.initialPageX-n.tail(l.rollingPageX))<30&&Math.abs(l.initialPageY-n.tail(l.rollingPageY))<30){var d=e.newGestureEvent(r.Contextmenu);d.initialTarget=l.initialTarget,d.pageX=n.tail(l.rollingPageX),d.pageY=n.tail(l.rollingPageY),this.targetElement.dispatchEvent(d)}else if(1===o){var h=n.tail(l.rollingPageX),p=n.tail(l.rollingPageY),f=n.tail(l.rollingTimestamps)-l.rollingTimestamps[0],g=h-l.rollingPageX[0],m=p-l.rollingPageY[0];this.inertia(i,Math.abs(g)/f,g>0?1:-1,h,Math.abs(m)/f,m>0?1:-1,p)}delete this.activeTouches[u.identifier]}else console.warn("move of an UNKNOWN touch",u)}},e.prototype.inertia=function(t,n,i,s,a,u,l){var c=this;this.handle=o.scheduleAtNextAnimationFrame(function(){var o=Date.now(),d=o-t,h=0,p=0,f=!0;n+=e.SCROLL_FRICTION*d,a+=e.SCROLL_FRICTION*d,n>0&&(f=!1,h=i*n*d),a>0&&(f=!1,p=u*a*d);var g=e.newGestureEvent(r.Change);g.translationX=h,g.translationY=p,c.targetElement.dispatchEvent(g),f||c.inertia(o,n,i,s+h,a,u,l+p)})},e.prototype.onTouchMove=function(t){var i=Date.now();t.preventDefault(),t.stopPropagation();for(var o=0,s=t.changedTouches.length;o3&&(u.rollingPageX.shift(),u.rollingPageY.shift(),u.rollingTimestamps.shift()),u.rollingPageX.push(a.pageX),u.rollingPageY.push(a.pageY),u.rollingTimestamps.push(i)}else console.warn("end of an UNKNOWN touch",a)}},e.HOLD_DELAY=700,e.SCROLL_FRICTION=-.005,e}();t.Gesture=s}),define(d[110],h([1,0,9,4,26,512]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e){this.domNode=document.createElement("span"),this.domNode.className="monaco-highlighted-label",this.didEverRender=!1,e.appendChild(this.domNode)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.domNode},enumerable:!0,configurable:!0}),e.prototype.set=function(e,t){void 0===t&&(t=[]),e||(e=""),this.didEverRender&&this.text===e&&o.equals(this.highlights,t)||(Array.isArray(t)||(t=[]),this.text=e,this.highlights=t,this.render())},e.prototype.render=function(){i.clearNode(this.domNode);for(var e,t=[],o=0,s=0;s"),t.push(r.expand(n.escape(this.text.substring(o,e.start)))),t.push(""),o=e.end),t.push(''),t.push(r.expand(n.escape(this.text.substring(e.start,e.end)))),t.push(""),o=e.end);o"),t.push(r.expand(n.escape(this.text.substring(o)))),t.push("")),this.domNode.innerHTML=t.join(""),this.didEverRender=!0},e.prototype.dispose=function(){this.text=null,this.highlights=null},e}();t.HighlightedLabel=s}),define(d[416],h([1,0,4]),function(e,t,n){"use strict";function i(e){try{e.parentElement.removeChild(e)}catch(e){}}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e){this.renderers=e,this.cache=Object.create(null)}return e.prototype.alloc=function(e){var t=this.getTemplateCache(e).pop();if(!t){var i=n.$(".monaco-list-row");t={domNode:i,templateId:e,templateData:this.renderers[e].renderTemplate(i)}}return t},e.prototype.release=function(e){e&&this.releaseRow(e)},e.prototype.releaseRow=function(e){var t=e.domNode,o=e.templateId;n.removeClass(t,"scrolling"),i(t),this.getTemplateCache(o).push(e)},e.prototype.getTemplateCache=function(e){return this.cache[e]||(this.cache[e]=[])},e.prototype.garbageCollect=function(){var e=this;this.cache&&Object.keys(this.cache).forEach(function(t){e.cache[t].forEach(function(n){e.renderers[t].disposeTemplate(n.templateData),n.domNode=null,n.templateData=null}),delete e.cache[t]})},e.prototype.dispose=function(){this.garbageCollect(),this.cache=null,this.renderers=null},e}();t.RowCache=o}),define(d[41],h([1,0,3,47,65,4]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype.onclick=function(e,t){this._register(r.addDisposableListener(e,r.EventType.CLICK,function(e){return t(new i.StandardMouseEvent(e))}))},t.prototype.onmousedown=function(e,t){this._register(r.addDisposableListener(e,r.EventType.MOUSE_DOWN,function(e){return t(new i.StandardMouseEvent(e))}))},t.prototype.onmouseover=function(e,t){this._register(r.addDisposableListener(e,r.EventType.MOUSE_OVER,function(e){return t(new i.StandardMouseEvent(e))}))},t.prototype.onnonbubblingmouseout=function(e,t){this._register(r.addDisposableNonBubblingMouseOutListener(e,function(e){return t(new i.StandardMouseEvent(e))}))},t.prototype.onkeydown=function(e,t){this._register(r.addDisposableListener(e,r.EventType.KEY_DOWN,function(e){return t(new o.StandardKeyboardEvent(e))}))},t.prototype.onkeyup=function(e,t){this._register(r.addDisposableListener(e,r.EventType.KEY_UP,function(e){return t(new o.StandardKeyboardEvent(e))}))},t.prototype.oninput=function(e,t){this._register(r.addDisposableListener(e,r.EventType.INPUT,t))},t.prototype.onblur=function(e,t){this._register(r.addDisposableListener(e,r.EventType.BLUR,t))},t.prototype.onfocus=function(e,t){this._register(r.addDisposableListener(e,r.EventType.FOCUS,t))},t.prototype.onchange=function(e,t){this._register(r.addDisposableListener(e,r.EventType.CHANGE,t))},t}(n.Disposable);t.Widget=s}),define(d[117],h([1,0,83,41,18]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ARROW_IMG_SIZE=11;var r=function(e){function i(i){var r=e.call(this)||this;return r._onActivate=i.onActivate,r.bgDomNode=document.createElement("div"),r.bgDomNode.className="arrow-background",r.bgDomNode.style.position="absolute",r.bgDomNode.style.width=i.bgWidth+"px",r.bgDomNode.style.height=i.bgHeight+"px",void 0!==i.top&&(r.bgDomNode.style.top="0px"),void 0!==i.left&&(r.bgDomNode.style.left="0px"),void 0!==i.bottom&&(r.bgDomNode.style.bottom="0px"),void 0!==i.right&&(r.bgDomNode.style.right="0px"),r.domNode=document.createElement("div"),r.domNode.className=i.className,r.domNode.style.position="absolute",r.domNode.style.width=t.ARROW_IMG_SIZE+"px",r.domNode.style.height=t.ARROW_IMG_SIZE+"px",void 0!==i.top&&(r.domNode.style.top=i.top+"px"),void 0!==i.left&&(r.domNode.style.left=i.left+"px"),void 0!==i.bottom&&(r.domNode.style.bottom=i.bottom+"px"),void 0!==i.right&&(r.domNode.style.right=i.right+"px"),r._mouseMoveMonitor=r._register(new n.GlobalMouseMoveMonitor),r.onmousedown(r.bgDomNode,function(e){return r._arrowMouseDown(e)}),r.onmousedown(r.domNode,function(e){return r._arrowMouseDown(e)}),r._mousedownRepeatTimer=r._register(new o.IntervalTimer),r._mousedownScheduleRepeatTimer=r._register(new o.TimeoutTimer),r}return f(i,e),i.prototype._arrowMouseDown=function(e){var t=this;this._onActivate(),this._mousedownRepeatTimer.cancel(),this._mousedownScheduleRepeatTimer.cancelAndSet(function(){t._mousedownRepeatTimer.cancelAndSet(function(){return t._onActivate()},1e3/24)},200),this._mouseMoveMonitor.startMonitoring(n.standardMouseMoveMerger,function(e){},function(){t._mousedownRepeatTimer.cancel(),t._mousedownScheduleRepeatTimer.cancel()}),e.preventDefault()},i}(i.Widget);t.ScrollbarArrow=r}),define(d[53],h([1,0,7,38,79,11]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAction=function(e){return!!e&&(e instanceof s||"string"==typeof e.id&&"string"==typeof e.label&&"string"==typeof e.class&&"boolean"==typeof e.enabled&&"boolean"==typeof e.checked&&"function"==typeof e.run)};var s=function(){function e(e,t,n,i,o){void 0===t&&(t=""),void 0===n&&(n=""),void 0===i&&(i=!0),this._onDidChange=new r.Emitter,this._id=e,this._label=t,this._cssClass=n,this._enabled=i,this._actionCallback=o}return e.prototype.dispose=function(){this._onDidChange.dispose()},Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"label",{get:function(){return this._label},set:function(e){this._setLabel(e)},enumerable:!0,configurable:!0}),e.prototype._setLabel=function(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))},Object.defineProperty(e.prototype,"tooltip",{get:function(){return this._tooltip},set:function(e){this._setTooltip(e)},enumerable:!0,configurable:!0}),e.prototype._setTooltip=function(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))},Object.defineProperty(e.prototype,"class",{get:function(){return this._cssClass},set:function(e){this._setClass(e)},enumerable:!0,configurable:!0}),e.prototype._setClass=function(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))},Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},set:function(e){this._setEnabled(e)},enumerable:!0,configurable:!0}),e.prototype._setEnabled=function(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))},Object.defineProperty(e.prototype,"checked",{get:function(){return this._checked},set:function(e){this._setChecked(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"radio",{get:function(){return this._radio},set:function(e){this._setRadio(e)},enumerable:!0,configurable:!0}),e.prototype._setChecked=function(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))},e.prototype._setRadio=function(e){this._radio!==e&&(this._radio=e,this._onDidChange.fire({radio:e}))},Object.defineProperty(e.prototype,"order",{get:function(){return this._order},set:function(e){this._order=e},enumerable:!0,configurable:!0}),e.prototype.run=function(e,t){return void 0!==this._actionCallback?this._actionCallback(e):n.TPromise.as(!0)},e}();t.Action=s;var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype.run=function(e,t){var i=this;return e.enabled?(this.emit(o.EventType.BEFORE_RUN,{action:e}),this.runAction(e,t).then(function(t){i.emit(o.EventType.RUN,{action:e,result:t})},function(t){i.emit(o.EventType.RUN,{action:e,error:t})})):n.TPromise.as(null)},t.prototype.runAction=function(e,t){return n.TPromise.as(t?e.run(t):e.run())},t}(i.EventEmitter);t.ActionRunner=a}),define(d[165],h([1,0,33,26,9,45,80,7]),function(e,t,n,i,o,r,s,a){"use strict";function u(){return Object.create(null)}function l(e){switch(e){case 0:return"";case 1:return S+"*?";default:return"(?:"+w+"|"+S+"+"+w+"|"+w+S+"+)*?"}}function c(e,t){if(!e)return[];for(var n,i=[],o=!1,r=!1,s="",a=0;a0;n--){var r=e.charCodeAt(n-1);if(47===r||92===r)break}t=e.substr(n)}var s=o.indexOf(t);return-1!==s?i[s]:null};a.basenames=o,a.patterns=i,a.allBasenames=o;var u=e.filter(function(e){return!e.basenames});return u.push(a),u}Object.defineProperty(t,"__esModule",{value:!0}),t.getEmptyExpression=u,t.mergeExpressions=function(){for(var e=[],t=0;t=0}}function a(e,t,n){for(var i,s,a,u=n.length-1;u>=0;u--){var l=n[u];if(t===l.filenameLowercase){i=l;break}if(l.filepattern&&(!s||l.filepattern.length>s.filepattern.length)){var c=l.filepatternOnPath?e:t;r.match(l.filepatternLowercase,c)&&(s=l)}l.extension&&(!a||l.extension.length>a.extension.length)&&o.endsWith(t,l.extensionLowercase)&&(a=l)}return i?i.mime:s?s.mime:a?a.mime:null}function u(e){if(o.startsWithUTF8BOM(e)&&(e=e.substr(1)),e.length>0)for(var t=0;t0)return n.mime}}return null}function l(e){return!e||("string"==typeof e?e===t.MIME_BINARY||e===t.MIME_TEXT||e===t.MIME_UNKNOWN:1===e.length&&l(e[0]))}Object.defineProperty(t,"__esModule",{value:!0}),t.MIME_TEXT="text/plain",t.MIME_BINARY="application/octet-stream",t.MIME_UNKNOWN="application/unknown";var c=[],d=[],h=[];t.registerTextMime=function(e){var t=s(e);c.push(t),t.userConfigured?h.push(t):d.push(t),t.userConfigured||c.forEach(function(e){e.mime===t.mime||e.userConfigured||(t.extension&&e.extension===t.extension&&console.warn("Overwriting extension <<"+t.extension+">> to now point to mime <<"+t.mime+">>"),t.filename&&e.filename===t.filename&&console.warn("Overwriting filename <<"+t.filename+">> to now point to mime <<"+t.mime+">>"),t.filepattern&&e.filepattern===t.filepattern&&console.warn("Overwriting filepattern <<"+t.filepattern+">> to now point to mime <<"+t.mime+">>"),t.firstline&&e.firstline===t.firstline&&console.warn("Overwriting firstline <<"+t.firstline+">> to now point to mime <<"+t.mime+">>"))})},t.clearTextMimes=function(e){e?(c=c.filter(function(e){return!e.userConfigured}),h=[]):(c=[],d=[],h=[])},t.guessMimeTypes=function(e,i){if(!e)return[t.MIME_UNKNOWN];e=e.toLowerCase();var o=n.basename(e),r=a(e,o,h);if(r)return[r,t.MIME_TEXT];var s=a(e,o,d);if(s)return[s,t.MIME_TEXT];if(i){var l=u(i);if(l)return[l,t.MIME_TEXT]}return[t.MIME_UNKNOWN]},t.isBinaryMime=function(e){if(!e)return!1;return(i.isArray(e)?e:e.split(",").map(function(e){return e.trim()})).indexOf(t.MIME_BINARY)>=0},t.isUnspecific=l,t.suggestFilename=function(e,t){for(var n=0;nt&&(n=t-e),n<0&&(n=0),i<0&&(i=0),r+i>o&&(r=o-i),r<0&&(r=0),this.width=e,this.scrollWidth=t,this.scrollLeft=n,this.height=i,this.scrollHeight=o,this.scrollTop=r}return e.prototype.equals=function(e){return this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop},e.prototype.createScrollEvent=function(e){var t=this.width!==e.width,n=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,o=this.height!==e.height,r=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:t,scrollWidthChanged:n,scrollLeftChanged:i,heightChanged:o,scrollHeightChanged:r,scrollTopChanged:s}},e}();t.ScrollState=o;var r=function(e){function t(){var t=e.call(this)||this;return t._onScroll=t._register(new i.Emitter),t.onScroll=t._onScroll.event,t._state=new o(0,0,0,0,0,0),t}return f(t,e),t.prototype.getState=function(){return this._state},t.prototype.validateScrollTop=function(e){return e=Math.round(e),e=Math.max(e,0),e=Math.min(e,this._state.scrollHeight-this._state.height)},t.prototype.validateScrollLeft=function(e){return e=Math.round(e),e=Math.max(e,0),e=Math.min(e,this._state.scrollWidth-this._state.width)},t.prototype.updateState=function(e){var t=this._state,n=new o(void 0!==e.width?e.width:t.width,void 0!==e.scrollWidth?e.scrollWidth:t.scrollWidth,void 0!==e.scrollLeft?e.scrollLeft:t.scrollLeft,void 0!==e.height?e.height:t.height,void 0!==e.scrollHeight?e.scrollHeight:t.scrollHeight,void 0!==e.scrollTop?e.scrollTop:t.scrollTop);t.equals(n)||(this._state=n,this._onScroll.fire(this._state.createScrollEvent(t)))},t}(n.Disposable);t.Scrollable=r}),define(d[429],h([1,0,3,18,48]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t,n,o){var r=e.call(this)||this;return r._visibility=t,r._visibleClassName=n,r._invisibleClassName=o,r._domNode=null,r._isVisible=!1,r._isNeeded=!1,r._shouldBeVisible=!1,r._revealTimer=r._register(new i.TimeoutTimer),r}return f(t,e),t.prototype.applyVisibilitySetting=function(e){return this._visibility!==o.ScrollbarVisibility.Hidden&&(this._visibility===o.ScrollbarVisibility.Visible||e)},t.prototype.setShouldBeVisible=function(e){var t=this.applyVisibilitySetting(e);this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())},t.prototype.setIsNeeded=function(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())},t.prototype.setDomNode=function(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)},t.prototype.ensureVisibility=function(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)},t.prototype._reveal=function(){var e=this;this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(function(){e._domNode.setClassName(e._visibleClassName)},0))},t.prototype._hide=function(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode.setClassName(this._invisibleClassName+(e?" fade":"")))},t}(n.Disposable);t.ScrollbarVisibilityController=r}),define(d[184],h([1,0,15,4,83,41,27,117,429]),function(e,t,n,i,o,r,s,a,u){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l=function(e){function t(t){var n=e.call(this)||this;return n._lazyRender=t.lazyRender,n._host=t.host,n._scrollable=t.scrollable,n._scrollbarState=t.scrollbarState,n._visibilityController=n._register(new u.ScrollbarVisibilityController(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),n._mouseMoveMonitor=n._register(new o.GlobalMouseMoveMonitor),n._shouldRender=!0,n.domNode=s.createFastDomNode(document.createElement("div")),n.domNode.setAttribute("role","presentation"),n.domNode.setAttribute("aria-hidden","true"),n._visibilityController.setDomNode(n.domNode),n.domNode.setPosition("absolute"),n.onmousedown(n.domNode.domNode,function(e){return n._domNodeMouseDown(e)}),n}return f(t,e),t.prototype._createArrow=function(e){var t=this._register(new a.ScrollbarArrow(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)},t.prototype._createSlider=function(e,t,n,i){var o=this;this.slider=s.createFastDomNode(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),this.slider.setWidth(n),this.slider.setHeight(i),this.slider.setLayerHinting(!0),this.domNode.domNode.appendChild(this.slider.domNode),this.onmousedown(this.slider.domNode,function(e){e.leftButton&&(e.preventDefault(),o._sliderMouseDown(e,function(){}))})},t.prototype._onElementSize=function(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender},t.prototype._onElementScrollSize=function(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender},t.prototype._onElementScrollPosition=function(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender},t.prototype.beginReveal=function(){this._visibilityController.setShouldBeVisible(!0)},t.prototype.beginHide=function(){this._visibilityController.setShouldBeVisible(!1)},t.prototype.render=function(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))},t.prototype._domNodeMouseDown=function(e){e.target===this.domNode.domNode&&this._onMouseDown(e)},t.prototype.delegateMouseDown=function(e){var t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),i=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),o=this._sliderMousePosition(e);n<=o&&o<=i?e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,function(){})):this._onMouseDown(e)},t.prototype.delegateSliderMouseDown=function(e,t){this._sliderMouseDown(e,t)},t.prototype._onMouseDown=function(e){var t=i.getDomNodePagePosition(this.domNode.domNode);this.setDesiredScrollPosition(this._scrollbarState.getDesiredScrollPositionFromOffset(this._mouseDownRelativePosition(e,t))),e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,function(){}))},t.prototype._sliderMouseDown=function(e,t){var i=this,r=this._sliderMousePosition(e),s=this._sliderOrthogonalMousePosition(e),a=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._mouseMoveMonitor.startMonitoring(o.standardMouseMoveMerger,function(e){var t=i._sliderOrthogonalMousePosition(e),o=Math.abs(t-s);if(n.isWindows&&o>140)i.setDesiredScrollPosition(a.getScrollPosition());else{var u=i._sliderMousePosition(e)-r;i.setDesiredScrollPosition(a.getDesiredScrollPositionFromDelta(u))}},function(){i.slider.toggleClassName("active",!1),i._host.onDragEnd(),t()}),this._host.onDragStart()},t.prototype.setDesiredScrollPosition=function(e){e=this.validateScrollPosition(e);var t=this._getScrollPosition();return this._setScrollPosition(e),t!==this._getScrollPosition()&&(this._onElementScrollPosition(this._getScrollPosition()),!0)},t}(r.Widget);t.AbstractScrollbar=l}),define(d[439],h([1,0,184,47,48,150,117]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t,n,a){var u=e.call(this,{lazyRender:n.lazyRender,host:a,scrollbarState:new r.ScrollbarState(n.horizontalHasArrows?n.arrowSize:0,n.horizontal===o.ScrollbarVisibility.Hidden?0:n.horizontalScrollbarSize,n.vertical===o.ScrollbarVisibility.Hidden?0:n.verticalScrollbarSize),visibility:n.horizontal,extraScrollbarClassName:"horizontal",scrollable:t})||this;if(n.horizontalHasArrows){var l=(n.arrowSize-s.ARROW_IMG_SIZE)/2,c=(n.horizontalScrollbarSize-s.ARROW_IMG_SIZE)/2;u._createArrow({className:"left-arrow",top:c,left:l,bottom:void 0,right:void 0,bgWidth:n.arrowSize,bgHeight:n.horizontalScrollbarSize,onActivate:function(){return u._host.onMouseWheel(new i.StandardMouseWheelEvent(null,1,0))}}),u._createArrow({className:"right-arrow",top:c,left:void 0,bottom:void 0,right:l,bgWidth:n.arrowSize,bgHeight:n.horizontalScrollbarSize,onActivate:function(){return u._host.onMouseWheel(new i.StandardMouseWheelEvent(null,-1,0))}})}return u._createSlider(Math.floor((n.horizontalScrollbarSize-n.horizontalSliderSize)/2),0,null,n.horizontalSliderSize),u}return f(t,e),t.prototype._updateSlider=function(e,t){this.slider.setWidth(e),this.slider.setLeft(t)},t.prototype._renderDomNode=function(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)},t.prototype.onDidScroll=function(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender},t.prototype._mouseDownRelativePosition=function(e,t){return e.posx-t.left},t.prototype._sliderMousePosition=function(e){return e.posx},t.prototype._sliderOrthogonalMousePosition=function(e){return e.posy},t.prototype._getScrollPosition=function(){return this._scrollable.getState().scrollLeft},t.prototype._setScrollPosition=function(e){this._scrollable.updateState({scrollLeft:e})},t.prototype.validateScrollPosition=function(e){return this._scrollable.validateScrollLeft(e)},t}(n.AbstractScrollbar);t.HorizontalScrollbar=a}),define(d[440],h([1,0,184,47,48,150,117]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t,n,a){var u=e.call(this,{lazyRender:n.lazyRender,host:a,scrollbarState:new r.ScrollbarState(n.verticalHasArrows?n.arrowSize:0,n.vertical===o.ScrollbarVisibility.Hidden?0:n.verticalScrollbarSize,0),visibility:n.vertical,extraScrollbarClassName:"vertical",scrollable:t})||this;if(n.verticalHasArrows){var l=(n.arrowSize-s.ARROW_IMG_SIZE)/2,c=(n.verticalScrollbarSize-s.ARROW_IMG_SIZE)/2;u._createArrow({className:"up-arrow",top:l,left:c,bottom:void 0,right:void 0,bgWidth:n.verticalScrollbarSize,bgHeight:n.arrowSize,onActivate:function(){return u._host.onMouseWheel(new i.StandardMouseWheelEvent(null,0,1))}}),u._createArrow({className:"down-arrow",top:void 0,left:c,bottom:l,right:void 0,bgWidth:n.verticalScrollbarSize,bgHeight:n.arrowSize,onActivate:function(){return u._host.onMouseWheel(new i.StandardMouseWheelEvent(null,0,-1))}})}return u._createSlider(0,Math.floor((n.verticalScrollbarSize-n.verticalSliderSize)/2),n.verticalSliderSize,null),u}return f(t,e),t.prototype._updateSlider=function(e,t){this.slider.setHeight(e),this.slider.setTop(t)},t.prototype._renderDomNode=function(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)},t.prototype.onDidScroll=function(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender},t.prototype._mouseDownRelativePosition=function(e,t){return e.posy-t.top},t.prototype._sliderMousePosition=function(e){return e.posy},t.prototype._sliderOrthogonalMousePosition=function(e){return e.posx},t.prototype._getScrollPosition=function(){return this._scrollable.getState().scrollTop},t.prototype._setScrollPosition=function(e){this._scrollable.updateState({scrollTop:e})},t.prototype.validateScrollPosition=function(e){return this._scrollable.validateScrollTop(e)},t}(n.AbstractScrollbar);t.VerticalScrollbar=a}),define(d[197],h([1,0,10,3,7,18,15]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a="$initialize",u=!1;t.logOnceWebWorkerWarning=function(e){s.isWeb&&(u||(u=!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(e.message))};var l=function(){function e(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null)}return e.prototype.setWorkerId=function(e){this._workerId=e},e.prototype.sendMessage=function(e,t){var n=String(++this._lastSentReq),i={c:null,e:null},r=new o.TPromise(function(e,t,n){i.c=e,i.e=t},function(){});return this._pendingReplies[n]=i,this._send({vsWorker:this._workerId,req:n,method:e,args:t}),r},e.prototype.handleMessage=function(e){var t;try{t=JSON.parse(e)}catch(e){}t.vsWorker&&(-1!==this._workerId&&t.vsWorker!==this._workerId||this._handleMessage(t))},e.prototype._handleMessage=function(e){var t=this;if(e.seq){var i=e;if(!this._pendingReplies[i.seq])return void console.warn("Got reply to unknown seq");var o=this._pendingReplies[i.seq];if(delete this._pendingReplies[i.seq],i.err){var r=i.err;return i.err.$isError&&((r=new Error).name=i.err.name,r.message=i.err.message,r.stack=i.err.stack),void o.e(r)}o.c(i.res)}else{var s=e,a=s.req;this._handler.handleMessage(s.method,s.args).then(function(e){t._send({vsWorker:t._workerId,seq:a,res:e,err:void 0})},function(e){t._send({vsWorker:t._workerId,seq:a,res:void 0,err:n.transformErrorForSerialization(e)})})}},e.prototype._send=function(e){var t=JSON.stringify(e);this._handler.sendMessage(t)},e}(),c=function(e){function t(t,n){var i=e.call(this)||this;i._lastRequestTimestamp=-1;var r=null,s=null;i._worker=i._register(t.create("vs/base/common/worker/simpleWorker",function(e){i._protocol.handleMessage(e)},function(e){s(e)})),i._protocol=new l({sendMessage:function(e){i._worker.postMessage(e)},handleMessage:function(e,t){return o.TPromise.as(null)}}),i._protocol.setWorkerId(i._worker.getId());var u=null,c=self.require;"function"==typeof c.getConfig?u=c.getConfig():void 0!==self.requirejs&&(u=self.requirejs.s.contexts._.config),i._lazyProxy=new o.TPromise(function(e,t,n){r=e,s=t},function(){}),i._onModuleLoaded=i._protocol.sendMessage(a,[i._worker.getId(),n,u]),i._onModuleLoaded.then(function(e){for(var t={},n=0;n0},e.prototype.getChildren=function(e,t){var i=this.modelProvider.getModel();return n.TPromise.as(i===t?i.entries:[])},e.prototype.getParent=function(e,t){return n.TPromise.as(null)},e}();t.DataSource=o;var r=function(){function e(e){this.modelProvider=e}return e.prototype.getAriaLabel=function(e,t){var n=this.modelProvider.getModel();return n.accessibilityProvider&&n.accessibilityProvider.getAriaLabel(t)},e.prototype.getPosInSet=function(e,t){var n=this.modelProvider.getModel();return String(n.entries.indexOf(t)+1)},e.prototype.getSetSize=function(){var e=this.modelProvider.getModel();return String(e.entries.length)},e}();t.AccessibilityProvider=r;var s=function(){function e(e){this.modelProvider=e}return e.prototype.isVisible=function(e,t){var n=this.modelProvider.getModel();return!n.filter||n.filter.isVisible(t)},e}();t.Filter=s;var a=function(){function e(e,t){this.modelProvider=e,this.styles=t}return e.prototype.updateStyles=function(e){this.styles=e},e.prototype.getHeight=function(e,t){return this.modelProvider.getModel().renderer.getHeight(t)},e.prototype.getTemplateId=function(e,t){return this.modelProvider.getModel().renderer.getTemplateId(t)},e.prototype.renderTemplate=function(e,t,n){return this.modelProvider.getModel().renderer.renderTemplate(t,n,this.styles)},e.prototype.renderElement=function(e,t,n,i){this.modelProvider.getModel().renderer.renderElement(t,n,i,this.styles)},e.prototype.disposeTemplate=function(e,t,n){this.modelProvider.getModel().renderer.disposeTemplate(t,n)},e}();t.Renderer=a}),define(d[100],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});!function(e){e[e.PREVIEW=0]="PREVIEW",e[e.OPEN=1]="OPEN",e[e.OPEN_IN_BACKGROUND=2]="OPEN_IN_BACKGROUND"}(t.Mode||(t.Mode={}))}),define(d[448],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t,n){this._posx=e,this._posy=t,this._target=n}return e.prototype.preventDefault=function(){},e.prototype.stopPropagation=function(){},Object.defineProperty(e.prototype,"posx",{get:function(){return this._posx},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"posy",{get:function(){return this._posy},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"target",{get:function(){return this._target},enumerable:!0,configurable:!0}),e}();t.ContextMenuEvent=n;var i=function(e){function t(t){var n=e.call(this,t.posx,t.posy,t.target)||this;return n.originalEvent=t,n}return f(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(n);t.MouseContextMenuEvent=i;var o=function(e){function t(t,n,i){var o=e.call(this,t,n,i.target)||this;return o.originalEvent=i,o}return f(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(n);t.KeyboardContextMenuEvent=o;var r;!function(e){e[e.COPY=0]="COPY",e[e.MOVE=1]="MOVE"}(r=t.DragOverEffect||(t.DragOverEffect={}));var s;!function(e){e[e.BUBBLE_DOWN=0]="BUBBLE_DOWN",e[e.BUBBLE_UP=1]="BUBBLE_UP"}(s=t.DragOverBubble||(t.DragOverBubble={})),t.DRAG_OVER_REJECT={accept:!1},t.DRAG_OVER_ACCEPT={accept:!0},t.DRAG_OVER_ACCEPT_BUBBLE_UP={accept:!0,bubble:s.BUBBLE_UP},t.DRAG_OVER_ACCEPT_BUBBLE_DOWN=function(e){return void 0===e&&(e=!1),{accept:!0,bubble:s.BUBBLE_DOWN,autoExpand:e}},t.DRAG_OVER_ACCEPT_BUBBLE_UP_COPY={accept:!0,bubble:s.BUBBLE_UP,effect:r.COPY},t.DRAG_OVER_ACCEPT_BUBBLE_DOWN_COPY=function(e){return void 0===e&&(e=!1),{accept:!0,bubble:s.BUBBLE_DOWN,effect:r.COPY,autoExpand:e}}}),define(d[461],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this.elements=e}return e.prototype.update=function(e){},e.prototype.getData=function(){return this.elements},e}();t.ElementsDragAndDropData=n;var i=function(){function e(e){this.elements=e}return e.prototype.update=function(e){},e.prototype.getData=function(){return this.elements},e}();t.ExternalElementsDragAndDropData=i;var o=function(){function e(){this.types=[],this.files=[]}return e.prototype.update=function(e){e.dataTransfer.types&&(this.types=[],Array.prototype.push.apply(this.types,e.dataTransfer.types)),e.dataTransfer.files&&(this.files=[],Array.prototype.push.apply(this.files,e.dataTransfer.files),this.files=this.files.filter(function(e){return e.size||e.type}))},e.prototype.getData=function(){return{types:this.types,files:this.files}},e}();t.DesktopDragAndDropData=o}),define(d[466],h([1,0,72,10,3,33,38,7]),function(e,t,n,i,o,r,s,a){"use strict";function u(e,t){for(var n=e.getHierarchy(),i=t.getHierarchy(),o=n[r.commonPrefixLength(n,i)-1],s=o.getNavigator(),a=null,u=null,l=0,c=[];o&&(null===a||null===u);)c.push(o),o===e&&(a=l),o===t&&(u=l),l++,o=s.next();if(null===a||null===u)return[];var d=Math.min(a,u),h=Math.max(a,u);return c.slice(d,h+1)}Object.defineProperty(t,"__esModule",{value:!0});var l=function(e){function t(t){var n=e.call(this)||this;return n._item=t,n}return f(t,e),Object.defineProperty(t.prototype,"item",{get:function(){return this._item},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){this.emit("unlock"),e.prototype.dispose.call(this)},t}(s.EventEmitter);t.LockData=l;var c=function(){function e(){this.locks=Object.create({})}return e.prototype.isLocked=function(e){return!!this.locks[e.id]},e.prototype.run=function(e,t){var n=this,i=this.getLock(e);if(i){var o;return new a.TPromise(function(r,s){o=i.addOneTimeListener("unlock",function(){return n.run(e,t).then(r,s)})},function(){o.dispose()})}var r;return new a.TPromise(function(i,o){if(e.isDisposed())return o(new Error("Item is disposed."));var s=n.locks[e.id]=new l(e);return r=t().then(function(t){return delete n.locks[e.id],s.dispose(),t}).then(i,o)},function(){return r.cancel()})},e.prototype.getLock=function(e){var t;for(t in this.locks){var n=this.locks[t];if(e.intersects(n.item))return n}return null},e}();t.Lock=c;var d=function(e){function t(){var t=e.call(this)||this;return t._isDisposed=!1,t.items={},t}return f(t,e),t.prototype.register=function(e){n.ok(!this.isRegistered(e.id),"item already registered: "+e.id),this.items[e.id]={item:e,disposable:this.addEmitter(e)}},t.prototype.deregister=function(e){n.ok(this.isRegistered(e.id),"item not registered: "+e.id),this.items[e.id].disposable.dispose(),delete this.items[e.id]},t.prototype.isRegistered=function(e){return this.items.hasOwnProperty(e)},t.prototype.getItem=function(e){var t=this.items[e];return t?t.item:null},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.items=null,this._isDisposed=!0},t.prototype.isDisposed=function(){return this._isDisposed},t}(s.EventEmitter);t.ItemRegistry=d;var h=function(e){function t(t,n,i,o,r){var s=e.call(this)||this;return s.registry=n,s.context=i,s.lock=o,s.element=r,s.id=t,s.registry.register(s),s.doesHaveChildren=s.context.dataSource.hasChildren(s.context.tree,s.element),s.needsChildrenRefresh=!0,s.parent=null,s.previous=null,s.next=null,s.firstChild=null,s.lastChild=null,s.userContent=null,s.traits={},s.depth=0,s.expanded=s.context.dataSource.shouldAutoexpand&&s.context.dataSource.shouldAutoexpand(s.context.tree,r),s.emit("item:create",{item:s}),s.visible=s._isVisible(),s.height=s._getHeight(),s._isDisposed=!1,s}return f(t,e),t.prototype.getElement=function(){return this.element},t.prototype.hasChildren=function(){return this.doesHaveChildren},t.prototype.getDepth=function(){return this.depth},t.prototype.isVisible=function(){return this.visible},t.prototype.setVisible=function(e){this.visible=e},t.prototype.isExpanded=function(){return this.expanded},t.prototype._setExpanded=function(e){this.expanded=e},t.prototype.reveal=function(e){void 0===e&&(e=null);var t={item:this,relativeTop:e};this.emit("item:reveal",t)},t.prototype.expand=function(){var e=this;return this.isExpanded()||!this.doesHaveChildren||this.lock.isLocked(this)?a.TPromise.as(!1):this.lock.run(this,function(){var t={item:e};return e.emit("item:expanding",t),(e.needsChildrenRefresh?e.refreshChildren(!1,!0,!0):a.TPromise.as(null)).then(function(){return e._setExpanded(!0),e.emit("item:expanded",t),!0})}).then(function(t){return!e.isDisposed()&&(e.context.options.autoExpandSingleChildren&&t&&null!==e.firstChild&&e.firstChild===e.lastChild&&e.firstChild.isVisible()?e.firstChild.expand().then(function(){return!0}):t)})},t.prototype.collapse=function(e){var t=this;if(void 0===e&&(e=!1),e){var n=a.TPromise.as(null);return this.forEachChild(function(e){n=n.then(function(){return e.collapse(!0)})}),n.then(function(){return t.collapse(!1)})}return!this.isExpanded()||this.lock.isLocked(this)?a.TPromise.as(!1):this.lock.run(this,function(){var e={item:t};return t.emit("item:collapsing",e),t._setExpanded(!1),t.emit("item:collapsed",e),a.TPromise.as(!0)})},t.prototype.addTrait=function(e){var t={item:this,trait:e};this.traits[e]=!0,this.emit("item:addTrait",t)},t.prototype.removeTrait=function(e){var t={item:this,trait:e};delete this.traits[e],this.emit("item:removeTrait",t)},t.prototype.hasTrait=function(e){return this.traits[e]||!1},t.prototype.getAllTraits=function(){var e,t=[];for(e in this.traits)this.traits.hasOwnProperty(e)&&this.traits[e]&&t.push(e);return t},t.prototype.getHeight=function(){return this.height},t.prototype.refreshChildren=function(e,n,o){var r=this;if(void 0===n&&(n=!1),void 0===o&&(o=!1),!o&&!this.isExpanded())return this.needsChildrenRefresh=!0,a.TPromise.as(this);this.needsChildrenRefresh=!1;var s=function(){var o={item:r,isNested:n};r.emit("item:childrenRefreshing",o);return(r.doesHaveChildren?r.context.dataSource.getChildren(r.context.tree,r.element):a.TPromise.as([])).then(function(n){if(r.isDisposed()||r.registry.isDisposed())return a.TPromise.as(null);if(!Array.isArray(n))return a.TPromise.wrapError(new Error("Please return an array of children."));n=n?n.slice(0):[],n=r.sort(n);for(var i={};null!==r.firstChild;)i[r.firstChild.id]=r.firstChild,r.removeChild(r.firstChild);for(var o=0,s=n.length;o0?o[0]:this.input,s=this.getNavigator(r,!1),a=0;a0?n[0]:this.input,o=this.getNavigator(i,!1).parent();o&&(t?this.setSelection([o],e):this.select(o,e))},t.prototype.setFocus=function(e,t){this.setTraits("focused",e?[e]:[]);var n={focus:this.getFocus(),payload:t};this.emit("focus",n)},t.prototype.isFocused=function(e){var t=this.getItem(e);return!!t&&t.hasTrait("focused")},t.prototype.getFocus=function(e){var t=this.getElementsWithTrait("focused",e);return 0===t.length?null:t[0]},t.prototype.focusNext=function(e,t){void 0===e&&(e=1);for(var n,i=this.getFocus()||this.input,o=this.getNavigator(i,!1),r=0;r=0;r--)this.onInsertItem(l[r]);for(r=this.heightMap.length-1;r>=o;r--)this.onRefreshItem(this.heightMap[r]);return a},t.prototype.onInsertItem=function(e){},t.prototype.onRemoveItems=function(e){for(var t,n,i,o=null,r=0;t=e.next();){if(i=this.indexes[t],!(n=this.heightMap[i]))return void console.error("view item doesnt exist");r-=n.height,delete this.indexes[t],this.onRemoveItem(n),null===o&&(o=i)}if(0!==r)for(this.heightMap.splice(o,i-o+1),i=o;i=n.top+n.height))return t;if(i===t)break;i=t}return this.heightMap.length},t.prototype.indexAfter=function(e){return Math.min(this.indexAt(e)+1,this.heightMap.length)},t.prototype.itemAtIndex=function(e){return this.heightMap[e]},t.prototype.itemAfter=function(e){return this.heightMap[this.indexes[e.model.id]+1]||null},t.prototype.createViewItem=function(e){throw new Error("not implemented")},t.prototype.dispose=function(){this.heightMap=null,this.indexes=null},t}(n.EventEmitter);t.HeightMap=o}),define(d[473],h([1,0,15,197]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(e,t){return void 0===t&&(t=!1),n.globals.MonacoEnvironment&&n.globals.MonacoEnvironment.hasOwnProperty(e)?n.globals.MonacoEnvironment[e]:t}("getWorkerUrl",null)||function(t,n){return e.toUrl("./"+t)+"#"+n},r=function(){function e(e,t,n,i,r){this.id=t,this.worker=new Worker(o("workerMain.js",n)),this.postMessage(e),this.worker.onmessage=function(e){i(e.data)},"function"==typeof this.worker.addEventListener&&this.worker.addEventListener("error",r)}return e.prototype.getId=function(){return this.id},e.prototype.postMessage=function(e){this.worker&&this.worker.postMessage(e)},e.prototype.dispose=function(){this.worker.terminate(),this.worker=null},e}(),s=function(){function e(e){this._label=e,this._webWorkerFailedBeforeError=!1}return e.prototype.create=function(t,n,o){var s=this,a=++e.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new r(t,a,this._label||"anonymous"+a,n,function(e){i.logOnceWebWorkerWarning(e),s._webWorkerFailedBeforeError=e,o(e)})},e.LAST_WORKER_ID=0,e}();t.DefaultWorkerFactory=s}),define(d[484],h([5]),{}),define(d[52],h([1,0,7,29,3,9,72,4,484]),function(e,t,n,i,o,r,s,a){"use strict";function u(e,t){s.ok(i.isString(e),"Expected String as parameter");var n=document.getElementById(e);return n?new x(n,t):null}function l(e){return e[b]||(e[b]={}),e[b]}function c(e){return!!e[b]}function d(e,t){return e instanceof N?new N(e):new x(e.getHTMLElement(),t)}function h(e,t){return new x(e,t)}function p(){return new x(null,!0)}function g(e,t,n){l(e)[t]=n}function m(e,t,n){if(c(e)){var o=l(e)[t];if(!i.isUndefined(o))return o}return n}function v(e,t){c(e)&&delete l(e)[t]}function _(e,t){g(e,w,t)}function y(e){v(e,w)}function C(e){return m(e,w)}Object.defineProperty(t,"__esModule",{value:!0}),t.withElementById=u,t.Build={withElementById:u};var b="_msDataKey",w="__$binding",S=function(){return function(e,t){this.x=e,this.y=t}}();t.Position=S;var E=function(){return function(e,t,n,i){this.top=e,this.right=t,this.bottom=n,this.left=i}}();t.Box=E;var L=function(){function e(e,t){this.width=e,this.height=t}return e.prototype.substract=function(t){return new e(this.width-t.left-t.right,this.height-t.top-t.bottom)},e}();t.Dimension=L;var x=function(){function e(e,t){this.offdom=t,this.container=e,this.currentElement=e,this.createdElements=[],this.toUnbind={},this.captureToUnbind={}}return e.prototype.asContainer=function(){return d(this,this.offdom)},e.prototype.clone=function(){var t=new e(this.container,this.offdom);return t.currentElement=this.currentElement,t.createdElements=this.createdElements,t.captureToUnbind=this.captureToUnbind,t.toUnbind=this.toUnbind,t},e.prototype.and=function(t){t instanceof e||t instanceof N||(t=new e(t,this.offdom));var n=[this];if(t instanceof N)for(var i=0;i=0){var n=e.split("-");e=n[0];for(var i=1;i=0){var t=e.split("-");e=t[0];for(var n=1;n=0?this.padding.apply(this,e.split(" ")):(i.isUndefinedOrNull(e)||(this.currentElement.style.paddingTop=this.toPixel(e)),i.isUndefinedOrNull(t)||(this.currentElement.style.paddingRight=this.toPixel(t)),i.isUndefinedOrNull(n)||(this.currentElement.style.paddingBottom=this.toPixel(n)),i.isUndefinedOrNull(o)||(this.currentElement.style.paddingLeft=this.toPixel(o)),this)},e.prototype.margin=function(e,t,n,o){return i.isString(e)&&e.indexOf(" ")>=0?this.margin.apply(this,e.split(" ")):(i.isUndefinedOrNull(e)||(this.currentElement.style.marginTop=this.toPixel(e)),i.isUndefinedOrNull(t)||(this.currentElement.style.marginRight=this.toPixel(t)),i.isUndefinedOrNull(n)||(this.currentElement.style.marginBottom=this.toPixel(n)),i.isUndefinedOrNull(o)||(this.currentElement.style.marginLeft=this.toPixel(o)),this)},e.prototype.position=function(e,t,n,o,r){return i.isString(e)&&e.indexOf(" ")>=0?this.position.apply(this,e.split(" ")):(i.isUndefinedOrNull(e)||(this.currentElement.style.top=this.toPixel(e)),i.isUndefinedOrNull(t)||(this.currentElement.style.right=this.toPixel(t)),i.isUndefinedOrNull(n)||(this.currentElement.style.bottom=this.toPixel(n)),i.isUndefinedOrNull(o)||(this.currentElement.style.left=this.toPixel(o)),r||(r="absolute"),this.currentElement.style.position=r,this)},e.prototype.size=function(e,t){return i.isString(e)&&e.indexOf(" ")>=0?this.size.apply(this,e.split(" ")):(i.isUndefinedOrNull(e)||(this.currentElement.style.width=this.toPixel(e)),i.isUndefinedOrNull(t)||(this.currentElement.style.height=this.toPixel(t)),this)},e.prototype.minSize=function(e,t){return i.isString(e)&&e.indexOf(" ")>=0?this.minSize.apply(this,e.split(" ")):(i.isUndefinedOrNull(e)||(this.currentElement.style.minWidth=this.toPixel(e)),i.isUndefinedOrNull(t)||(this.currentElement.style.minHeight=this.toPixel(t)),this)},e.prototype.maxSize=function(e,t){return i.isString(e)&&e.indexOf(" ")>=0?this.maxSize.apply(this,e.split(" ")):(i.isUndefinedOrNull(e)||(this.currentElement.style.maxWidth=this.toPixel(e)),i.isUndefinedOrNull(t)||(this.currentElement.style.maxHeight=this.toPixel(t)),this)},e.prototype.float=function(e){return this.currentElement.style.cssFloat=e,this},e.prototype.clear=function(e){return this.currentElement.style.clear=e,this},e.prototype.normal=function(){return this.currentElement.style.fontStyle="normal",this.currentElement.style.fontWeight="normal",this.currentElement.style.textDecoration="none",this},e.prototype.italic=function(){return this.currentElement.style.fontStyle="italic",this},e.prototype.bold=function(){return this.currentElement.style.fontWeight="bold",this},e.prototype.underline=function(){return this.currentElement.style.textDecoration="underline",this},e.prototype.overflow=function(e){return this.currentElement.style.overflow=e,this},e.prototype.display=function(e){return this.currentElement.style.display=e,this},e.prototype.disable=function(){return this.currentElement.setAttribute("disabled","disabled"),this},e.prototype.enable=function(){return this.currentElement.removeAttribute("disabled"),this},e.prototype.show=function(){return this.hasClass("builder-hidden")&&this.removeClass("builder-hidden"),this.attr("aria-hidden","false"),this.cancelVisibilityPromise(),this},e.prototype.showDelayed=function(e){var t=this;this.cancelVisibilityPromise();var i=n.TPromise.timeout(e);return this.setProperty("__$visibility",i),i.done(function(){t.removeProperty("__$visibility"),t.show()}),this},e.prototype.hide=function(){return this.hasClass("builder-hidden")||this.addClass("builder-hidden"),this.attr("aria-hidden","true"),this.cancelVisibilityPromise(),this},e.prototype.isHidden=function(){return this.hasClass("builder-hidden")||"none"===this.currentElement.style.display},e.prototype.toggleVisibility=function(){return this.cancelVisibilityPromise(),this.swapClass("builder-visible","builder-hidden"),this.isHidden()?this.attr("aria-hidden","true"):this.attr("aria-hidden","false"),this},e.prototype.cancelVisibilityPromise=function(){var e=this.getProperty("__$visibility");e&&(e.cancel(),this.removeProperty("__$visibility"))},e.prototype.border=function(e,t,n){return i.isString(e)&&e.indexOf(" ")>=0?this.border.apply(this,e.split(" ")):(this.currentElement.style.borderWidth=this.toPixel(e),n&&(this.currentElement.style.borderColor=n),t&&(this.currentElement.style.borderStyle=t),this)},e.prototype.borderTop=function(e,t,n){return i.isString(e)&&e.indexOf(" ")>=0?this.borderTop.apply(this,e.split(" ")):(this.currentElement.style.borderTopWidth=this.toPixel(e),n&&(this.currentElement.style.borderTopColor=n),t&&(this.currentElement.style.borderTopStyle=t),this)},e.prototype.borderBottom=function(e,t,n){return i.isString(e)&&e.indexOf(" ")>=0?this.borderBottom.apply(this,e.split(" ")):(this.currentElement.style.borderBottomWidth=this.toPixel(e),n&&(this.currentElement.style.borderBottomColor=n),t&&(this.currentElement.style.borderBottomStyle=t),this)},e.prototype.borderLeft=function(e,t,n){return i.isString(e)&&e.indexOf(" ")>=0?this.borderLeft.apply(this,e.split(" ")):(this.currentElement.style.borderLeftWidth=this.toPixel(e),n&&(this.currentElement.style.borderLeftColor=n),t&&(this.currentElement.style.borderLeftStyle=t),this)},e.prototype.borderRight=function(e,t,n){return i.isString(e)&&e.indexOf(" ")>=0?this.borderRight.apply(this,e.split(" ")):(this.currentElement.style.borderRightWidth=this.toPixel(e),n&&(this.currentElement.style.borderRightColor=n),t&&(this.currentElement.style.borderRightStyle=t),this)},e.prototype.textAlign=function(e){return this.currentElement.style.textAlign=e,this},e.prototype.verticalAlign=function(e){return this.currentElement.style.verticalAlign=e,this},e.prototype.toPixel=function(e){return-1===e.toString().indexOf("px")?e.toString()+"px":e},e.prototype.innerHtml=function(e,t){return t?this.currentElement.innerHTML+=e:this.currentElement.innerHTML=e,this},e.prototype.text=function(e,t){return t?0===this.currentElement.children.length?this.currentElement.textContent+=e:this.currentElement.appendChild(document.createTextNode(e)):this.currentElement.textContent=e,this},e.prototype.safeInnerHtml=function(e,t){return this.innerHtml(r.escape(e),t)},e.prototype.bind=function(e){return _(this.currentElement,e),this},e.prototype.unbind=function(){return y(this.currentElement),this},e.prototype.getBinding=function(){return C(this.currentElement)},e.prototype.setProperty=function(e,t){return g(this.currentElement,e,t),this},e.prototype.getProperty=function(e,t){return m(this.currentElement,e,t)},e.prototype.removeProperty=function(e){return c(this.currentElement)&&delete l(this.currentElement)[e],this},e.prototype.parent=function(e){return s.ok(!this.offdom,"Builder was created with offdom = true and thus has no parent set"),h(this.currentElement.parentNode,e)},e.prototype.children=function(e){for(var t=this.currentElement.children,n=[],i=0;i=n.top&&o+e.height<=n.top+n.height,l=r>=n.top&&r+e.height<=n.top+n.height;return s(o,a,r,l,i===u.ABOVE)}(),left:function(){var i=t.left,r=t.left+t.width-e.width,u=i>=n.left&&i+e.width<=n.left+n.width,l=r>=n.left&&r+e.width<=n.left+n.width;return s(i,u,r,l,o===a.LEFT)}()}}Object.defineProperty(t,"__esModule",{value:!0});var a;!function(e){e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT"}(a=t.AnchorAlignment||(t.AnchorAlignment={}));var u;!function(e){e[e.BELOW=0]="BELOW",e[e.ABOVE=1]="ABOVE"}(u=t.AnchorPosition||(t.AnchorPosition={}));var l=function(e){function t(t){var i=e.call(this)||this;return i.$view=n.$(".context-view").hide(),i.setContainer(t),i.toDispose=[{dispose:function(){i.setContainer(null)}}],i.toDisposeOnClean=null,i}return f(t,e),t.prototype.setContainer=function(e){var i=this;this.$container&&(this.$container.off(t.BUBBLE_UP_EVENTS),this.$container.off(t.BUBBLE_DOWN_EVENTS,!0),this.$container=null),e&&(this.$container=n.$(e),this.$view.appendTo(this.$container),this.$container.on(t.BUBBLE_UP_EVENTS,function(e){i.onDOMEvent(e,document.activeElement,!1)}),this.$container.on(t.BUBBLE_DOWN_EVENTS,function(e){i.onDOMEvent(e,document.activeElement,!0)},null,!0))},t.prototype.show=function(e){this.isVisible()&&this.hide(),this.$view.setClass("context-view").empty().style({top:"0px",left:"0px"}).show(),this.toDisposeOnClean=e.render(this.$view.getHTMLElement()),this.delegate=e,this.doLayout()},t.prototype.layout=function(){this.isVisible()&&(!1!==this.delegate.canRelayout?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())},t.prototype.doLayout=function(){var e,t=this.delegate.getAnchor();if(i.isHTMLElement(t)){var n=i.getDomNodePagePosition(t);e={top:n.top,left:n.left,width:n.width,height:n.height}}else{var o=t;e={top:o.y,left:o.x,width:o.width||0,height:o.height||0}}var r={top:i.StandardWindow.scrollY,left:i.StandardWindow.scrollX,height:window.innerHeight,width:window.innerWidth},l=this.$view.getTotalSize(),c={width:l.width,height:l.height},d=this.delegate.anchorPosition||u.BELOW,h=this.delegate.anchorAlignment||a.LEFT,p=s(c,e,r,d,h),f=i.getDomNodePagePosition(this.$container.getHTMLElement());p.top-=f.top,p.left-=f.left,this.$view.removeClass("top","bottom","left","right"),this.$view.addClass(d===u.BELOW?"bottom":"top"),this.$view.addClass(h===a.LEFT?"left":"right"),this.$view.style({top:p.top+"px",left:p.left+"px",width:"initial"})},t.prototype.hide=function(e){this.delegate&&this.delegate.onHide&&this.delegate.onHide(e),this.delegate=null,this.toDisposeOnClean&&(this.toDisposeOnClean.dispose(),this.toDisposeOnClean=null),this.$view.hide()},t.prototype.isVisible=function(){return!!this.delegate},t.prototype.onDOMEvent=function(e,t,n){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,document.activeElement):n&&!i.isAncestor(e.target,this.$container.getHTMLElement())&&this.hide())},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.hide(),this.toDispose=o.dispose(this.toDispose)},t.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],t.BUBBLE_DOWN_EVENTS=["click"],t}(r.EventEmitter);t.ContextView=l}),define(d[201],h([5]),{}),define(d[204],h([1,0,4,9,32,26,201]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s={badgeBackground:o.Color.fromHex("#4D4D4D"),badgeForeground:o.Color.fromHex("#FFFFFF")},a=function(){function e(e,t){this.options=t||Object.create(null),r.mixin(this.options,s,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=n.append(e,n.$(".monaco-count-badge")),this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}return e.prototype.setCount=function(e){this.count=e,this.render()},e.prototype.setTitleFormat=function(e){this.titleFormat=e,this.render()},e.prototype.render=function(){this.element.textContent=""+this.count,this.element.title=i.format(this.titleFormat,this.count),this.applyStyles()},e.prototype.style=function(e){this.badgeBackground=e.badgeBackground,this.badgeForeground=e.badgeForeground,this.badgeBorder=e.badgeBorder,this.applyStyles()},e.prototype.applyStyles=function(){if(this.element){var e=this.badgeBackground?this.badgeBackground.toString():null,t=this.badgeForeground?this.badgeForeground.toString():null,n=this.badgeBorder?this.badgeBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.element.style.borderWidth=n?"1px":null,this.element.style.borderStyle=n?"solid":null,this.element.style.borderColor=n}},e}();t.CountBadge=a}),define(d[205],h([5]),{}),define(d[206],h([5]),{}),define(d[208],h([5]),{}),define(d[162],h([1,0,4,110,45,174,208]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){this.domNode=n.append(e,n.$(".monaco-icon-label")),t&&t.supportHighlights?this.labelNode=new i.HighlightedLabel(n.append(this.domNode,n.$("a.label-name"))):this.labelNode=n.append(this.domNode,n.$("a.label-name")),this.descriptionNode=n.append(this.domNode,n.$("span.label-description"))}return Object.defineProperty(e.prototype,"element",{get:function(){return this.domNode},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"labelElement",{get:function(){var e=this.labelNode;return e instanceof i.HighlightedLabel?e.element:e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"descriptionElement",{get:function(){return this.descriptionNode},enumerable:!0,configurable:!0}),e.prototype.setValue=function(e,t,o){var r=this.labelNode;r instanceof i.HighlightedLabel?r.set(e||"",o?o.matches:void 0):r.textContent=e||"",this.descriptionNode.textContent=t||"",t?n.removeClass(this.descriptionNode,"empty"):n.addClass(this.descriptionNode,"empty"),this.domNode.title=o&&o.title?o.title:"";var s=["monaco-icon-label"];o&&(o.extraClasses&&s.push.apply(s,o.extraClasses),o.italic&&s.push("italic")),this.domNode.className=s.join(" ")},e.prototype.dispose=function(){var e=this.labelNode;e instanceof i.HighlightedLabel&&e.dispose()},e}();t.IconLabel=s;var a=function(e){function t(t,n,i,o){var r=e.call(this,t)||this;return r.setFile(n,i,o),r}return f(t,e),t.prototype.setFile=function(e,t,n){var i=o.dirname(e.fsPath);this.setValue(o.basename(e.fsPath),i&&"."!==i?r.getPathLabel(i,t,n):"",{title:e.fsPath})},t}(s);t.FileLabel=a}),define(d[211],h([5]),{}),define(d[212],h([5]),{}),define(d[213],h([5]),{}),define(d[218],h([5]),{}),define(d[219],h([5]),{}),define(d[220],h([1,0,7,72,52,4,3,32,26,219]),function(e,t,n,i,o,r,s,a,u){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l={progressBarBackground:a.Color.fromHex("#0E70C0")},c=function(){function e(e,t){this.options=t||Object.create(null),u.mixin(this.options,l,!1),this.toUnbind=[],this.workedVal=0,this.progressBarBackground=this.options.progressBarBackground,this.create(e)}return e.prototype.create=function(e){var t=this;e.div({class:"progress-container"},function(e){t.element=e.clone(),e.div({class:"progress-bit"}).on([r.EventType.ANIMATION_START,r.EventType.ANIMATION_END,r.EventType.ANIMATION_ITERATION],function(e){switch(e.type){case r.EventType.ANIMATION_START:case r.EventType.ANIMATION_END:t.animationRunning=e.type===r.EventType.ANIMATION_START;break;case r.EventType.ANIMATION_ITERATION:t.animationStopToken&&t.animationStopToken(null)}},t.toUnbind),t.bit=e.getHTMLElement()}),this.applyStyles()},e.prototype.off=function(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.removeClass("active"),this.element.removeClass("infinite"),this.element.removeClass("discrete"),this.workedVal=0,this.totalWork=void 0},e.prototype.done=function(){return this.doDone(!0)},e.prototype.stop=function(){return this.doDone(!1)},e.prototype.doDone=function(e){var t=this;return this.element.addClass("done"),this.element.hasClass("infinite")?(this.bit.style.opacity="0",e?n.TPromise.timeout(200).then(function(){return t.off()}):this.off()):(this.bit.style.width="inherit",e?n.TPromise.timeout(200).then(function(){return t.off()}):this.off()),this},e.prototype.infinite=function(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.removeClass("discrete"),this.element.removeClass("done"),this.element.addClass("active"),this.element.addClass("infinite"),this},e.prototype.total=function(e){return this.workedVal=0,this.totalWork=e,this},e.prototype.hasTotal=function(){return!isNaN(this.totalWork)},e.prototype.worked=function(e){return i.ok(!isNaN(this.totalWork),"Total work not set"),e=Number(e),i.ok(!isNaN(e),"Value is not a number"),e=Math.max(1,e),this.workedVal+=e,this.workedVal=Math.min(this.totalWork,this.workedVal),this.element.hasClass("infinite")&&this.element.removeClass("infinite"),this.element.hasClass("done")&&this.element.removeClass("done"),this.element.hasClass("active")||this.element.addClass("active"),this.element.hasClass("discrete")||this.element.addClass("discrete"),this.bit.style.width=this.workedVal/this.totalWork*100+"%",this},e.prototype.getContainer=function(){return o.$(this.element)},e.prototype.style=function(e){this.progressBarBackground=e.progressBarBackground,this.applyStyles()},e.prototype.applyStyles=function(){if(this.bit){var e=this.progressBarBackground?this.progressBarBackground.toString():null;this.bit.style.backgroundColor=e}},e.prototype.dispose=function(){this.toUnbind=s.dispose(this.toUnbind)},e}();t.ProgressBar=c}),define(d[224],h([5]),{}),define(d[99],h([1,0,3,52,28,15,29,4,74,38,47,11,224]),function(e,t,n,i,o,r,s,a,u,l,c,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var h;!function(e){e[e.VERTICAL=0]="VERTICAL",e[e.HORIZONTAL=1]="HORIZONTAL"}(h=t.Orientation||(t.Orientation={}));var p=function(e){function t(t,n,s){void 0===s&&(s={});var l=e.call(this)||this;return l.$e=i.$(".monaco-sash").appendTo(t),r.isMacintosh&&l.$e.addClass("mac"),l.gesture=new u.Gesture(l.$e.getHTMLElement()),l.$e.on(a.EventType.MOUSE_DOWN,function(e){l.onMouseDown(e)}),l.$e.on(a.EventType.DBLCLICK,function(e){l.emit("reset",e)}),l.$e.on(u.EventType.Start,function(e){l.onTouchStart(e)}),l.size=s.baseSize||5,o.isIPad&&(l.size*=4,l.$e.addClass("touch")),l.setOrientation(s.orientation||h.VERTICAL),l.isDisabled=!1,l.hidden=!1,l.layoutProvider=n,l}return f(t,e),t.prototype.getHTMLElement=function(){return this.$e.getHTMLElement()},t.prototype.setOrientation=function(e){this.orientation=e,this.$e.removeClass("horizontal","vertical"),this.$e.addClass(this.getOrientation()),this.orientation===h.HORIZONTAL?this.$e.size(null,this.size):this.$e.size(this.size),this.layoutProvider&&this.layout()},t.prototype.getOrientation=function(){return this.orientation===h.HORIZONTAL?"horizontal":"vertical"},t.prototype.onMouseDown=function(e){var t=this;if(a.EventHelper.stop(e,!1),!this.isDisabled){var n=i.$(a.getElementsByTagName("iframe"));n&&n.style("pointer-events","none");var o=new c.StandardMouseEvent(e),s=o.posx,u=o.posy,l={startX:s,currentX:s,startY:u,currentY:u};this.$e.addClass("active"),this.emit("start",l);var d=i.$(window),h=this.getOrientation()+"-cursor-container"+(r.isMacintosh?"-mac":""),p=s,f=u;d.on("mousemove",function(e){a.EventHelper.stop(e,!1);var n=new c.StandardMouseEvent(e),i={startX:s,currentX:n.posx,startY:u,currentY:n.posy};p=n.posx,f=n.posy,t.emit("change",i)}).once("mouseup",function(e){a.EventHelper.stop(e,!1),t.$e.removeClass("active"),t.emit("end"),d.off("mousemove"),document.body.classList.remove(h);var n=i.$(a.getElementsByTagName("iframe"));n&&n.style("pointer-events","auto")}),document.body.classList.add(h)}},t.prototype.onTouchStart=function(e){var t=this;a.EventHelper.stop(e);var i=[],o=e.pageX,r=e.pageY;this.emit("start",{startX:o,currentX:o,startY:r,currentY:r});var l=o,c=r;i.push(a.addDisposableListener(this.$e.getHTMLElement(),u.EventType.Change,function(e){s.isNumber(e.pageX)&&s.isNumber(e.pageY)&&(t.emit("change",{startX:o,currentX:e.pageX,startY:r,currentY:e.pageY}),l=e.pageX,c=e.pageY)})),i.push(a.addDisposableListener(this.$e.getHTMLElement(),u.EventType.End,function(e){t.emit("end"),n.dispose(i)}))},t.prototype.layout=function(){var e;if(this.orientation===h.VERTICAL){var t=this.layoutProvider;e={left:t.getVerticalSashLeft(this)-this.size/2+"px"},t.getVerticalSashTop&&(e.top=t.getVerticalSashTop(this)+"px"),t.getVerticalSashHeight&&(e.height=t.getVerticalSashHeight(this)+"px")}else{var n=this.layoutProvider;e={top:n.getHorizontalSashTop(this)-this.size/2+"px"},n.getHorizontalSashLeft&&(e.left=n.getHorizontalSashLeft(this)+"px"),n.getHorizontalSashWidth&&(e.width=n.getHorizontalSashWidth(this)+"px")}this.$e.style(e)},t.prototype.show=function(){this.hidden=!1,this.$e.show()},t.prototype.hide=function(){this.hidden=!0,this.$e.hide()},t.prototype.isHidden=function(){return this.hidden},t.prototype.enable=function(){this.$e.removeClass("disabled"),this.isDisabled=!1},t.prototype.disable=function(){this.$e.addClass("disabled"),this.isDisabled=!0},t.prototype.dispose=function(){this.$e&&(this.$e.destroy(),this.$e=null),e.prototype.dispose.call(this)},t}(l.EventEmitter);t.Sash=p;var g=function(e){function t(t,n){var i=e.call(this)||this;return i.minWidth=n,i._onPositionChange=new d.Emitter,i.ratio=.5,i.sash=new p(t,i),i._register(i.sash.addListener("start",function(){return i.onSashDragStart()})),i._register(i.sash.addListener("change",function(e){return i.onSashDrag(e)})),i._register(i.sash.addListener("end",function(){return i.onSashDragEnd()})),i._register(i.sash.addListener("reset",function(){return i.onSashReset()})),i}return f(t,e),Object.defineProperty(t.prototype,"onPositionChange",{get:function(){return this._onPositionChange.event},enumerable:!0,configurable:!0}),t.prototype.getVerticalSashTop=function(){return 0},t.prototype.getVerticalSashLeft=function(){return this.position},t.prototype.getVerticalSashHeight=function(){return this.dimension.height},t.prototype.setDimenesion=function(e){this.dimension=e,this.compute(this.ratio)},t.prototype.onSashDragStart=function(){this.startPosition=this.position},t.prototype.onSashDrag=function(e){this.compute((this.startPosition+(e.currentX-e.startX))/this.dimension.width)},t.prototype.compute=function(e){this.computeSashPosition(e),this.ratio=this.position/this.dimension.width,this._onPositionChange.fire(this.position)},t.prototype.onSashDragEnd=function(){this.sash.layout()},t.prototype.onSashReset=function(){this.ratio=.5,this._onPositionChange.fire(this.position),this.sash.layout()},t.prototype.computeSashPosition=function(e){void 0===e&&(e=this.ratio);var t=this.dimension.width,n=Math.floor((e||.5)*t),i=Math.floor(.5*t);t>2*this.minWidth?(nt-this.minWidth&&(n=t-this.minWidth)):n=i,this.position!==n&&(this.position=n,this.sash.layout())},t}(n.Disposable);t.VSash=g}),define(d[228],h([5]),{}),define(d[63],h([1,0,4,15,47,439,440,3,48,41,18,27,11,228]),function(e,t,n,i,o,r,s,a,u,l,c,d,h){"use strict";function p(e){var t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:"",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:u.ScrollbarVisibility.Auto,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:u.ScrollbarVisibility.Auto,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0};return t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,i.isMacintosh&&(t.className+=" mac"),t}Object.defineProperty(t,"__esModule",{value:!0});var g=function(e){function t(t,n,i){var o=e.call(this)||this;o._onScroll=o._register(new h.Emitter),o.onScroll=o._onScroll.event,t.style.overflow="hidden",o._options=p(n),o._scrollable=void 0===i?o._register(new u.Scrollable):i,o._register(o._scrollable.onScroll(function(e){o._onDidScroll(e),o._onScroll.fire(e)}));var a={onMouseWheel:function(e){return o._onMouseWheel(e)},onDragStart:function(){return o._onDragStart()},onDragEnd:function(){return o._onDragEnd()}};return o._verticalScrollbar=o._register(new s.VerticalScrollbar(o._scrollable,o._options,a)),o._horizontalScrollbar=o._register(new r.HorizontalScrollbar(o._scrollable,o._options,a)),o._domNode=document.createElement("div"),o._domNode.className="monaco-scrollable-element "+o._options.className,o._domNode.setAttribute("role","presentation"),o._domNode.style.position="relative",o._domNode.style.overflow="hidden",o._domNode.appendChild(t),o._domNode.appendChild(o._horizontalScrollbar.domNode.domNode),o._domNode.appendChild(o._verticalScrollbar.domNode.domNode),o._options.useShadows&&(o._leftShadowDomNode=d.createFastDomNode(document.createElement("div")),o._leftShadowDomNode.setClassName("shadow"),o._domNode.appendChild(o._leftShadowDomNode.domNode),o._topShadowDomNode=d.createFastDomNode(document.createElement("div")),o._topShadowDomNode.setClassName("shadow"),o._domNode.appendChild(o._topShadowDomNode.domNode),o._topLeftShadowDomNode=d.createFastDomNode(document.createElement("div")),o._topLeftShadowDomNode.setClassName("shadow top-left-corner"),o._domNode.appendChild(o._topLeftShadowDomNode.domNode)),o._listenOnDomNode=o._options.listenOnDomNode||o._domNode,o._mouseWheelToDispose=[],o._setListeningToMouseWheel(o._options.handleMouseWheel),o.onmouseover(o._listenOnDomNode,function(e){return o._onMouseOver(e)}),o.onnonbubblingmouseout(o._listenOnDomNode,function(e){return o._onMouseOut(e)}),o._hideTimeout=o._register(new c.TimeoutTimer),o._isDragging=!1,o._mouseIsOver=!1,o._shouldRender=!0,o}return f(t,e),t.prototype.dispose=function(){this._mouseWheelToDispose=a.dispose(this._mouseWheelToDispose),e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getOverviewRulerLayoutInfo=function(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this._verticalScrollbar.delegateMouseDown(e)},t.prototype.delegateSliderMouseDown=function(e,t){this._verticalScrollbar.delegateSliderMouseDown(e,t)},t.prototype.updateState=function(e){this._scrollable.updateState(e)},t.prototype.getScrollState=function(){return this._scrollable.getState()},t.prototype.updateClassName=function(e){this._options.className=e,i.isMacintosh&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className},t.prototype.updateOptions=function(e){var t=p(e);this._options.handleMouseWheel=t.handleMouseWheel,this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity,this._setListeningToMouseWheel(this._options.handleMouseWheel),this._options.lazyRender||this._render()},t.prototype._setListeningToMouseWheel=function(e){var t=this;if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=a.dispose(this._mouseWheelToDispose),e)){var i=function(e){var n=new o.StandardMouseWheelEvent(e);t._onMouseWheel(n)};this._mouseWheelToDispose.push(n.addDisposableListener(this._listenOnDomNode,"mousewheel",i)),this._mouseWheelToDispose.push(n.addDisposableListener(this._listenOnDomNode,"DOMMouseScroll",i))}},t.prototype._onMouseWheel=function(e){var t=-1,n=-1;if(e.deltaY||e.deltaX){var o=e.deltaY*this._options.mouseWheelScrollSensitivity,r=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.flipAxes&&(o=(c=[r,o])[0],r=c[1]);var s=!i.isMacintosh&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!s||r||(r=o,o=0),i.isMacintosh&&(o&&Math.abs(r)<.2&&(r=0),Math.abs(o)>.5*Math.abs(r)&&(r=0));var a=this._scrollable.getState();if(o){var u=a.scrollTop;(t=this._verticalScrollbar.validateScrollPosition((-1!==t?t:u)-50*o))===u&&(t=-1)}if(r){var l=a.scrollLeft;(n=this._horizontalScrollbar.validateScrollPosition((-1!==n?n:l)-50*r))===l&&(n=-1)}-1===t&&-1===n||(-1!==t&&(this._shouldRender=this._verticalScrollbar.setDesiredScrollPosition(t)||this._shouldRender,t=-1),-1!==n&&(this._shouldRender=this._horizontalScrollbar.setDesiredScrollPosition(n)||this._shouldRender,n=-1))}(this._options.alwaysConsumeMouseWheel||this._shouldRender)&&(e.preventDefault(),e.stopPropagation());var c},t.prototype._onDidScroll=function(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._reveal(),this._options.lazyRender||this._render()},t.prototype.renderNow=function(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()},t.prototype._render=function(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){var e=this._scrollable.getState(),t=e.scrollTop>0,n=e.scrollLeft>0;this._leftShadowDomNode.setClassName("shadow"+(n?" left":"")),this._topShadowDomNode.setClassName("shadow"+(t?" top":"")),this._topLeftShadowDomNode.setClassName("shadow top-left-corner"+(t?" top":"")+(n?" left":""))}},t.prototype._onDragStart=function(){this._isDragging=!0,this._reveal()},t.prototype._onDragEnd=function(){this._isDragging=!1,this._hide()},t.prototype._onMouseOut=function(e){this._mouseIsOver=!1,this._hide()},t.prototype._onMouseOver=function(e){this._mouseIsOver=!0,this._reveal()},t.prototype._reveal=function(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()},t.prototype._hide=function(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())},t.prototype._scheduleHide=function(){var e=this;this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet(function(){return e._hide()},500)},t}(l.Widget);t.ScrollableElement=g;var m=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i._element=t,i.onScroll(function(e){e.scrollTopChanged&&(i._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(i._element.scrollLeft=e.scrollLeft)}),i.scanDomNode(),i}return f(t,e),t.prototype.scanDomNode=function(){this.updateState({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,scrollLeft:this._element.scrollLeft,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight,scrollTop:this._element.scrollTop})},t}(g);t.DomScrollableElement=m}),define(d[232],h([1,0,26,3,74,4,124,63,48,415,416,15,28]),function(e,t,n,i,o,r,s,a,u,l,c,d,h){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var p=["click","dblclick","mouseup","mousedown","mouseover","mousemove","mouseout","contextmenu","touchstart"],f={useShadows:!0},g=function(){function e(e,t,i,r){void 0===r&&(r=f),this.delegate=t,this.items=[],this.itemId=0,this.rangeMap=new l.RangeMap,this.renderers=n.toObject(i,function(e){return e.templateId}),this.cache=new c.RowCache(this.renderers),this.lastRenderTop=0,this.lastRenderHeight=0,this._domNode=document.createElement("div"),this._domNode.className="monaco-list",this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",this.gesture=new o.Gesture(this.rowsContainer),this.scrollableElement=new a.ScrollableElement(this.rowsContainer,{alwaysConsumeMouseWheel:!0,horizontal:u.ScrollbarVisibility.Hidden,vertical:u.ScrollbarVisibility.Auto,useShadows:n.getOrDefault(r,function(e){return e.useShadows},f.useShadows)}),this._domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this._domNode),this.disposables=[this.rangeMap,this.gesture,this.scrollableElement],this.scrollableElement.onScroll(this.onScroll,this,this.disposables),s.domEvent(this.rowsContainer,o.EventType.Change)(this.onTouchChange,this,this.disposables),this.layout()}return Object.defineProperty(e.prototype,"domNode",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){var i=this;void 0===n&&(n=[]);var o=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);l.each(o,function(e){return i.removeItemFromDOM(i.items[e])});var r=n.map(function(e){return{id:String(i.itemId++),element:e,size:i.delegate.getHeight(e),templateId:i.delegate.getTemplateId(e),row:null}});(c=this.rangeMap).splice.apply(c,[e,t].concat(r));var s=(d=this.items).splice.apply(d,[e,t].concat(r)),a=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);l.each(a,function(e){return i.insertItemInDOM(i.items[e],e)});var u=this.getContentHeight();return this.rowsContainer.style.height=u+"px",this.scrollableElement.updateState({scrollHeight:u}),s.map(function(e){return e.element});var c,d},Object.defineProperty(e.prototype,"length",{get:function(){return this.items.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderHeight",{get:function(){return this.scrollableElement.getScrollState().height},enumerable:!0,configurable:!0}),e.prototype.element=function(e){return this.items[e].element},e.prototype.domElement=function(e){var t=this.items[e].row;return t&&t.domNode},e.prototype.elementHeight=function(e){return this.items[e].size},e.prototype.elementTop=function(e){return this.rangeMap.positionAt(e)},e.prototype.indexAt=function(e){return this.rangeMap.indexAt(e)},e.prototype.indexAfter=function(e){return this.rangeMap.indexAfter(e)},e.prototype.layout=function(e){this.scrollableElement.updateState({height:e||r.getContentHeight(this._domNode)})},e.prototype.render=function(e,t){var n=this,i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),o=this.getRenderRange(e,t),r=l.relativeComplement(o,i),s=l.relativeComplement(i,o);if(r.forEach(function(e){return l.each(e,function(e){return n.insertItemInDOM(n.items[e],e)})}),s.forEach(function(e){return l.each(e,function(e){return n.removeItemFromDOM(n.items[e])})}),h.canUseTranslate3d()&&!d.isWindows){var a="translate3d(0px, -"+e+"px, 0px)";this.rowsContainer.style.transform=a,this.rowsContainer.style.webkitTransform=a}else this.rowsContainer.style.top="-"+e+"px";this.lastRenderTop=e,this.lastRenderHeight=t},e.prototype.insertItemInDOM=function(e,t){e.row||(e.row=this.cache.alloc(e.templateId)),e.row.domNode.parentElement||this.rowsContainer.appendChild(e.row.domNode);var n=this.renderers[e.templateId];e.row.domNode.style.top=this.elementTop(t)+"px",e.row.domNode.style.height=e.size+"px",e.row.domNode.setAttribute("data-index",""+t),n.renderElement(e.element,t,e.row.templateData)},e.prototype.removeItemFromDOM=function(e){this.cache.release(e.row),e.row=null},e.prototype.getContentHeight=function(){return this.rangeMap.size},e.prototype.getScrollTop=function(){return this.scrollableElement.getScrollState().scrollTop},e.prototype.setScrollTop=function(e){this.scrollableElement.updateState({scrollTop:e})},Object.defineProperty(e.prototype,"scrollTop",{get:function(){return this.getScrollTop()},set:function(e){this.setScrollTop(e)},enumerable:!0,configurable:!0}),e.prototype.addListener=function(e,t,n){var i=this,s=t,a=this.domNode;return p.indexOf(e)>-1?t=function(e){return i.fireScopedEvent(e,s,i.getItemIndexFromMouseEvent(e))}:e===o.EventType.Tap&&(a=this.rowsContainer,t=function(e){return i.fireScopedEvent(e,s,i.getItemIndexFromGestureEvent(e))}),r.addDisposableListener(a,e,t,n)},e.prototype.fireScopedEvent=function(e,t,i){if(!(i<0)){var o=this.items[i].element;t(n.assign(e,{element:o,index:i}))}},e.prototype.onScroll=function(e){this.render(e.scrollTop,e.height)},e.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},e.prototype.getItemIndexFromMouseEvent=function(e){return this.getItemIndexFromEventTarget(e.target)},e.prototype.getItemIndexFromGestureEvent=function(e){return this.getItemIndexFromEventTarget(e.initialTarget)},e.prototype.getItemIndexFromEventTarget=function(e){for(;e instanceof HTMLElement&&e!==this.rowsContainer;){var t=e,n=t.getAttribute("data-index");if(n){var i=Number(n);if(!isNaN(i))return i}e=t.parentElement}return-1},e.prototype.getRenderRange=function(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}},e.prototype.dispose=function(){this.items=null,this._domNode&&this._domNode.parentElement&&(this._domNode.parentNode.removeChild(this._domNode),this._domNode=null),this.disposables=i.dispose(this.disposables)},e}();t.ListView=g});var v=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s};define(d[234],h([1,0,3,29,33,136,446,4,15,74,65,11,124,232,32,26,213]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m){"use strict";function _(e){return u.isMacintosh?e.metaKey:e.ctrlKey}function y(e){return e.shiftKey}function C(e){return _(e)||y(e)}function b(e,t){var n=e.indexOf(t);if(-1===n)return[];for(var i=[],o=n-1;o>=0&&e[o]===t-(n-o);)i.push(e[o--]);for(i.reverse(),o=n;o=e.length)n.push(t[o++]);else if(o>=t.length)n.push(e[i++]);else{if(e[i]===t[o]){n.push(e[i]),i++,o++;continue}e[i]=e.length)n.push(t[o++]);else if(o>=t.length)n.push(e[i++]);else{if(e[i]===t[o]){i++,o++;continue}e[i]-1}).forEach(function(e){var n=e.index,i=e.templateData;return t.trait.renderIndex(n,i.container)})},e.prototype.splice=function(e,t){for(var n=0;n=o}).map(function(e){return e+i}));this.renderer.splice(e,t),this.set(r)},e.prototype.renderIndex=function(e,t){a.toggleClass(t,this._trait,this.contains(e))},e.prototype.set=function(e){var t=this.indexes;this.indexes=e;var n=w(t,e);return this.renderer.renderIndexes(n),this._onChange.fire({indexes:e}),t},e.prototype.get=function(){return this.indexes},e.prototype.contains=function(e){return this.indexes.some(function(t){return t===e})},e.prototype.dispose=function(){this.indexes=null,this._onChange=n.dispose(this._onChange)},v([s.memoize],e.prototype,"renderer",null),e}(),N=function(e){function t(t){var n=e.call(this,"focused")||this;return n.getDomId=t,n}return f(t,e),t.prototype.renderIndex=function(t,n){e.prototype.renderIndex.call(this,t,n),n.setAttribute("role","treeitem"),n.setAttribute("id",this.getDomId(t))},t}(x),M=function(){function e(){this.length=0}return Object.defineProperty(e.prototype,"templateId",{get:function(){return"aria"},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){this.length+=n.length-t},e.prototype.renderTemplate=function(e){return e},e.prototype.renderElement=function(e,t,n){n.setAttribute("aria-setsize",""+this.length),n.setAttribute("aria-posinset",""+(t+1))},e.prototype.disposeTemplate=function(e){},e}(),T=function(){function e(e,t,n){this.trait=e,this.view=t,this.getId=n}return e.prototype.splice=function(e,t,n){var i=this;if(!this.getId)return this.trait.splice(e,t,n.map(function(e){return!1}));var o=this.trait.get().map(function(e){return i.getId(i.view.element(e))}),r=n.map(function(e){return o.indexOf(i.getId(e))>-1});this.trait.splice(e,t,r)},e}(),k=function(){function e(e,t){this.list=e,this.view=t,this.disposables=[];var n=d.chain(h.domEvent(t.domNode,"keydown")).map(function(e){return new c.StandardKeyboardEvent(e)});n.filter(function(e){return 3===e.keyCode}).on(this.onEnter,this,this.disposables),n.filter(function(e){return 16===e.keyCode}).on(this.onUpArrow,this,this.disposables),n.filter(function(e){return 18===e.keyCode}).on(this.onDownArrow,this,this.disposables),n.filter(function(e){return 11===e.keyCode}).on(this.onPageUpArrow,this,this.disposables),n.filter(function(e){return 12===e.keyCode}).on(this.onPageDownArrow,this,this.disposables)}return e.prototype.onEnter=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus()),this.list.open(this.list.getFocus())},e.prototype.onUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.dispose=function(){this.disposables=n.dispose(this.disposables)},e}(),I=function(){function e(e,t,n){void 0===n&&(n={});var i=this;this.list=e,this.view=t,this.options=n,this.disposables=[],this.disposables.push(t.addListener("mousedown",function(e){return i.onMouseDown(e)})),this.disposables.push(t.addListener("click",function(e){return i.onPointer(e)})),this.disposables.push(t.addListener("dblclick",function(e){return i.onDoubleClick(e)})),this.disposables.push(t.addListener("touchstart",function(e){return i.onMouseDown(e)})),this.disposables.push(t.addListener(l.EventType.Tap,function(e){return i.onPointer(e)}))}return Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this,t=d.chain(h.domEvent(this.view.domNode,"keydown")).map(function(e){return new c.StandardKeyboardEvent(e)}).filter(function(t){return e.list.getFocus().length>0}).filter(function(e){return 58===e.keyCode||e.shiftKey&&68===e.keyCode}).map(function(t){var n=e.list.getFocus()[0];return{index:n,element:e.view.element(n),anchor:e.view.domElement(n)}}).filter(function(e){return!!e.anchor}).event,n=d.chain(d.fromCallback(function(t){return e.view.addListener("contextmenu",t)})).map(function(e){return{element:e.element,index:e.index,anchor:{x:e.clientX+1,y:e.clientY}}}).event;return d.any(t,n)},enumerable:!0,configurable:!0}),e.prototype.onMouseDown=function(e){e.preventDefault(),e.stopPropagation(),this.view.domNode.focus();var t=this.list.getFocus()[0];if(t=void 0===t?this.list.getSelection()[0]:t,y(e))return this.changeSelection(e,t);var n=e.index;if(this.list.setFocus([n]),C(e))return this.changeSelection(e,t);this.options.selectOnMouseDown&&(this.list.setSelection([n]),this.list.open([n]))},e.prototype.onPointer=function(e){if(e.preventDefault(),e.stopPropagation(),!C(e)){var t=this.list.getFocus();this.list.setSelection(t),this.list.open(t)}},e.prototype.onDoubleClick=function(e){if(e.preventDefault(),e.stopPropagation(),!C(e)){var t=this.list.getFocus();this.list.setSelection(t),this.list.pin(t)}},e.prototype.changeSelection=function(e,t){var n=e.index;if(y(e)&&void 0!==t){var i=Math.min(t,n),r=Math.max(t,n),s=o.range(r+1,i),a=b(w(u=this.list.getSelection(),[t]),t);if(0===a.length)return;l=w(s,S(u,a));this.list.setSelection(l)}else if(_(e)){var u=this.list.getSelection(),l=u.filter(function(e){return e!==n});u.length===l.length?this.list.setSelection(l.concat([n])):this.list.setSelection(l)}},e.prototype.dispose=function(){this.disposables=n.dispose(this.disposables)},v([s.memoize],e.prototype,"onContextMenu",null),e}(),D={listFocusBackground:g.Color.fromHex("#073655"),listActiveSelectionBackground:g.Color.fromHex("#0E639C"),listActiveSelectionForeground:g.Color.fromHex("#FFFFFF"),listFocusAndSelectionBackground:g.Color.fromHex("#094771"),listFocusAndSelectionForeground:g.Color.fromHex("#FFFFFF"),listInactiveSelectionBackground:g.Color.fromHex("#3F3F46"),listHoverBackground:g.Color.fromHex("#2A2D2E"),listDropBackground:g.Color.fromHex("#383B3D")},O={keyboardSupport:!0,mouseSupport:!0},R=function(e,t){return e-t},P=function(){function e(e,t){this._templateId=e,this.renderers=t}return Object.defineProperty(e.prototype,"templateId",{get:function(){return this._templateId},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){return this.renderers.map(function(t){return t.renderTemplate(e)})},e.prototype.renderElement=function(e,t,n){this.renderers.forEach(function(i,o){return i.renderElement(e,t,n[o])})},e.prototype.disposeTemplate=function(e){this.renderers.forEach(function(t,n){return t.disposeTemplate(e[n])})},e}(),A=function(){function e(t,n,i,o){void 0===o&&(o=O);var r=this;this.idPrefix="list_id_"+ ++e.InstanceCount,this._onContextMenu=d.default.None,this._onOpen=new d.Emitter,this._onPin=new d.Emitter,this._onDispose=new d.Emitter;var s=new M;if(this.focus=new N(function(e){return r.getElementDomId(e)}),this.selection=new x("selected"),this.eventBufferer=new d.EventBufferer,m.mixin(o,D,!1),i=i.map(function(e){return new P(e.templateId,[s,r.focus.renderer,r.selection.renderer,e])}),this.view=new p.ListView(t,n,i,o),this.view.domNode.setAttribute("role","tree"),a.addClass(this.view.domNode,this.idPrefix),this.view.domNode.tabIndex=0,this.styleElement=a.createStyleSheet(this.view.domNode),this.spliceable=new E([s,new T(this.focus,this.view,o.identityProvider),new T(this.selection,this.view,o.identityProvider),this.view]),this.disposables=[this.focus,this.selection,this.view,this._onDispose],this.onDOMFocus=d.mapEvent(h.domEvent(this.view.domNode,"focus",!0),function(){return null}),this.onDOMBlur=d.mapEvent(h.domEvent(this.view.domNode,"blur",!0),function(){return null}),"boolean"!=typeof o.keyboardSupport||o.keyboardSupport){u=new k(this,this.view);this.disposables.push(u)}if("boolean"!=typeof o.mouseSupport||o.mouseSupport){var u=new I(this,this.view,o);this.disposables.push(u),this._onContextMenu=u.onContextMenu}this.onFocusChange(this._onFocusChange,this,this.disposables),this.onSelectionChange(this._onSelectionChange,this,this.disposables),o.ariaLabel&&this.view.domNode.setAttribute("aria-label",o.ariaLabel),this.style(o)}return Object.defineProperty(e.prototype,"onFocusChange",{get:function(){var e=this;return d.mapEvent(this.eventBufferer.wrapEvent(this.focus.onChange),function(t){return e.toListEvent(t)})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onSelectionChange",{get:function(){var e=this;return d.mapEvent(this.eventBufferer.wrapEvent(this.selection.onChange),function(t){return e.toListEvent(t)})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onContextMenu",{get:function(){return this._onContextMenu},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onOpen",{get:function(){var e=this;return d.mapEvent(this._onOpen.event,function(t){return e.toListEvent({indexes:t})})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onPin",{get:function(){var e=this;return d.mapEvent(this._onPin.event,function(t){return e.toListEvent({indexes:t})})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDispose",{get:function(){return this._onDispose.event},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){var i=this;void 0===n&&(n=[]),this.eventBufferer.bufferEvents(function(){return i.spliceable.splice(e,t,n)})},Object.defineProperty(e.prototype,"length",{get:function(){return this.view.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"contentHeight",{get:function(){return this.view.getContentHeight()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollTop",{get:function(){return this.view.getScrollTop()},set:function(e){this.view.setScrollTop(e)},enumerable:!0,configurable:!0}),e.prototype.layout=function(e){this.view.layout(e)},e.prototype.setSelection=function(e){e=e.sort(R),this.selection.set(e)},e.prototype.selectNext=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var n=this.selection.get(),i=n.length>0?n[0]+e:0;this.setSelection(t?[i%this.length]:[Math.min(i,this.length-1)])}},e.prototype.selectPrevious=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var n=this.selection.get(),i=n.length>0?n[0]-e:0;t&&i<0&&(i=this.length+i%this.length),this.setSelection([Math.max(i,0)])}},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.getSelectedElements=function(){var e=this;return this.getSelection().map(function(t){return e.view.element(t)})},e.prototype.setFocus=function(e){e=e.sort(R),this.focus.set(e)},e.prototype.focusNext=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var n=this.focus.get(),i=n.length>0?n[0]+e:0;this.setFocus(t?[i%this.length]:[Math.min(i,this.length-1)])}},e.prototype.focusPrevious=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var n=this.focus.get(),i=n.length>0?n[0]-e:0;t&&i<0&&(i=(this.length+i%this.length)%this.length),this.setFocus([Math.max(i,0)])}},e.prototype.focusNextPage=function(){var e=this,t=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);t=0===t?0:t-1;var n=this.view.element(t);if(this.getFocusedElements()[0]!==n)this.setFocus([t]);else{var i=this.view.getScrollTop();this.view.setScrollTop(i+this.view.renderHeight-this.view.elementHeight(t)),this.view.getScrollTop()!==i&&setTimeout(function(){return e.focusNextPage()},0)}},e.prototype.focusPreviousPage=function(){var e,t=this,n=this.view.getScrollTop();e=0===n?this.view.indexAt(n):this.view.indexAfter(n-1);var i=this.view.element(e);if(this.getFocusedElements()[0]!==i)this.setFocus([e]);else{var o=n;this.view.setScrollTop(n-this.view.renderHeight),this.view.getScrollTop()!==o&&setTimeout(function(){return t.focusPreviousPage()},0)}},e.prototype.focusLast=function(){0!==this.length&&this.setFocus([this.length-1])},e.prototype.focusFirst=function(){0!==this.length&&this.setFocus([0])},e.prototype.getFocus=function(){return this.focus.get()},e.prototype.getFocusedElements=function(){var e=this;return this.getFocus().map(function(t){return e.view.element(t)})},e.prototype.reveal=function(e,t){var n=this.view.getScrollTop(),o=this.view.elementTop(e),r=this.view.elementHeight(e);if(i.isNumber(t)){t=(t=t<0?0:t)>1?1:t;var s=r-this.view.renderHeight;this.view.setScrollTop(s*t+o)}else{var a=o+r,u=n+this.view.renderHeight;o=u&&this.view.setScrollTop(a-this.view.renderHeight)}},e.prototype.getElementDomId=function(e){return this.idPrefix+"_"+e},e.prototype.isDOMFocused=function(){return this.view.domNode===document.activeElement},e.prototype.getHTMLElement=function(){return this.view.domNode},e.prototype.open=function(e){this._onOpen.fire(e)},e.prototype.pin=function(e){this._onPin.fire(e)},e.prototype.style=function(e){var t=[];e.listFocusBackground&&t.push(".monaco-list."+this.idPrefix+":focus .monaco-list-row.focused { background-color: "+e.listFocusBackground+"; }"),e.listFocusForeground&&t.push(".monaco-list."+this.idPrefix+":focus .monaco-list-row.focused { color: "+e.listFocusForeground+"; }"),e.listActiveSelectionBackground&&(t.push(".monaco-list."+this.idPrefix+":focus .monaco-list-row.selected { background-color: "+e.listActiveSelectionBackground+"; }"),t.push(".monaco-list."+this.idPrefix+":focus .monaco-list-row.selected:hover { background-color: "+e.listActiveSelectionBackground+"; }")),e.listActiveSelectionForeground&&t.push(".monaco-list."+this.idPrefix+":focus .monaco-list-row.selected { color: "+e.listActiveSelectionForeground+"; }"),e.listFocusAndSelectionBackground&&t.push(".monaco-list."+this.idPrefix+":focus .monaco-list-row.selected.focused { background-color: "+e.listFocusAndSelectionBackground+"; }"),e.listFocusAndSelectionForeground&&t.push(".monaco-list."+this.idPrefix+":focus .monaco-list-row.selected.focused { color: "+e.listFocusAndSelectionForeground+"; }"),e.listInactiveFocusBackground&&(t.push(".monaco-list."+this.idPrefix+" .monaco-list-row.focused { background-color: "+e.listInactiveFocusBackground+"; }"),t.push(".monaco-list."+this.idPrefix+" .monaco-list-row.focused:hover { background-color: "+e.listInactiveFocusBackground+"; }")),e.listInactiveSelectionBackground&&(t.push(".monaco-list."+this.idPrefix+" .monaco-list-row.selected { background-color: "+e.listInactiveSelectionBackground+"; }"),t.push(".monaco-list."+this.idPrefix+" .monaco-list-row.selected:hover { background-color: "+e.listInactiveSelectionBackground+"; }")),e.listInactiveSelectionForeground&&t.push(".monaco-list."+this.idPrefix+" .monaco-list-row.selected { color: "+e.listInactiveSelectionForeground+"; }"),e.listHoverBackground&&t.push(".monaco-list."+this.idPrefix+" .monaco-list-row:hover { background-color: "+e.listHoverBackground+"; }"),e.listHoverForeground&&t.push(".monaco-list."+this.idPrefix+" .monaco-list-row:hover { color: "+e.listHoverForeground+"; }"),e.listSelectionOutline&&t.push(".monaco-list."+this.idPrefix+" .monaco-list-row.selected { outline: 1px dotted "+e.listSelectionOutline+"; outline-offset: -1px; }"),e.listFocusOutline&&t.push(".monaco-list."+this.idPrefix+":focus .monaco-list-row.focused { outline: 1px solid "+e.listFocusOutline+"; outline-offset: -1px; }"),e.listInactiveFocusOutline&&t.push(".monaco-list."+this.idPrefix+" .monaco-list-row.focused { outline: 1px dotted "+e.listInactiveFocusOutline+"; outline-offset: -1px; }"),e.listHoverOutline&&t.push(".monaco-list."+this.idPrefix+" .monaco-list-row:hover { outline: 1px dashed "+e.listHoverOutline+"; outline-offset: -1px; }"),this.styleElement.innerHTML=t.join("\n")},e.prototype.toListEvent=function(e){var t=this,n=e.indexes;return{indexes:n,elements:n.map(function(e){return t.view.element(e)})}},e.prototype._onFocusChange=function(){var e=this.focus.get();e.length>0?this.view.domNode.setAttribute("aria-activedescendant",this.getElementDomId(e[0])):this.view.domNode.removeAttribute("aria-activedescendant"),this.view.domNode.setAttribute("role","tree"),a.toggleClass(this.view.domNode,"element-focused",e.length>0)},e.prototype._onSelectionChange=function(){var e=this.selection.get();a.toggleClass(this.view.domNode,"selection-none",0===e.length),a.toggleClass(this.view.domNode,"selection-single",1===e.length),a.toggleClass(this.view.domNode,"selection-multiple",e.length>1)},e.prototype.dispose=function(){this._onDispose.fire(),this.disposables=n.dispose(this.disposables)},e.InstanceCount=0,v([s.memoize],e.prototype,"onFocusChange",null),v([s.memoize],e.prototype,"onSelectionChange",null),v([s.memoize],e.prototype,"onOpen",null),v([s.memoize],e.prototype,"onPin",null),e}();t.List=A}),define(d[238],h([1,0,15,28,7,3,4,139,74,9,47,65,461,107,63,48,472,448,11]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,v,_,y){"use strict";function C(e){try{e.parentElement.removeChild(e)}catch(e){}}function b(e,t){return!e&&!t||!(!e||!t)&&(e.accept===t.accept&&(e.bubble===t.bubble&&e.effect===t.effect))}Object.defineProperty(t,"__esModule",{value:!0});var w=function(){function e(e){this.context=e,this._cache={"":[]}}return e.prototype.alloc=function(e){var t=this.cache(e).pop();if(!t){var n=document.createElement("div");n.className="content";var i=document.createElement("div");i.appendChild(n),t={element:i,templateId:e,templateData:this.context.renderer.renderTemplate(this.context.tree,e,n)}}return t},e.prototype.release=function(e,t){C(t.element),this.cache(e).push(t)},e.prototype.cache=function(e){return this._cache[e]||(this._cache[e]=[])},e.prototype.garbageCollect=function(){var e=this;this._cache&&Object.keys(this._cache).forEach(function(t){e._cache[t].forEach(function(n){e.context.renderer.disposeTemplate(e.context.tree,t,n.templateData),n.element=null,n.templateData=null}),delete e._cache[t]})},e.prototype.dispose=function(){this.garbageCollect(),this._cache=null,this.context=null},e}();t.RowCache=w;var S=function(){function e(e,t){var n=this;this.context=e,this.model=t,this.id=this.model.id,this.row=null,this.top=0,this.height=t.getHeight(),this._styles={},t.getAllTraits().forEach(function(e){return n._styles[e]=!0}),t.isExpanded()&&this.addClass("expanded")}return Object.defineProperty(e.prototype,"expanded",{set:function(e){e?this.addClass("expanded"):this.removeClass("expanded")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"loading",{set:function(e){e?this.addClass("loading"):this.removeClass("loading")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"draggable",{get:function(){return this._draggable},set:function(e){this._draggable=e,this.render(!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropTarget",{set:function(e){e?this.addClass("drop-target"):this.removeClass("drop-target")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"element",{get:function(){return this.row&&this.row.element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"templateId",{get:function(){return this._templateId||(this._templateId=this.context.renderer.getTemplateId&&this.context.renderer.getTemplateId(this.context.tree,this.model.getElement()))},enumerable:!0,configurable:!0}),e.prototype.addClass=function(e){this._styles[e]=!0,this.render(!0)},e.prototype.removeClass=function(e){delete this._styles[e],this.render(!0)},e.prototype.render=function(e){var t=this;if(void 0===e&&(e=!1),this.model&&this.element){var n=["monaco-tree-row"];n.push.apply(n,Object.keys(this._styles)),this.model.hasChildren()&&n.push("has-children"),this.element.className=n.join(" "),this.element.draggable=this.draggable,this.element.style.height=this.height+"px",this.element.setAttribute("role","treeitem");var i=this.context.accessibilityProvider,o=i.getAriaLabel(this.context.tree,this.model.getElement());if(o&&this.element.setAttribute("aria-label",o),i.getPosInSet&&i.getSetSize&&(this.element.setAttribute("aria-setsize",i.getSetSize()),this.element.setAttribute("aria-posinset",i.getPosInSet(this.context.tree,this.model.getElement()))),this.model.hasTrait("focused")){var r=l.safeBtoa(this.model.id);this.element.setAttribute("aria-selected","true"),this.element.setAttribute("id",r)}else this.element.setAttribute("aria-selected","false"),this.element.removeAttribute("id");this.model.hasChildren()?this.element.setAttribute("aria-expanded",String(!!this.model.isExpanded())):this.element.removeAttribute("aria-expanded"),this.element.setAttribute("aria-level",String(this.model.getDepth())),this.context.options.paddingOnRow?this.element.style.paddingLeft=this.context.options.twistiePixels+(this.model.getDepth()-1)*this.context.options.indentPixels+"px":(this.element.style.paddingLeft=(this.model.getDepth()-1)*this.context.options.indentPixels+"px",this.row.element.firstElementChild.style.paddingLeft=this.context.options.twistiePixels+"px");var a=this.context.dnd.getDragURI(this.context.tree,this.model.getElement());a!==this.uri&&(this.unbindDragStart&&(this.unbindDragStart.dispose(),this.unbindDragStart=null),a?(this.uri=a,this.draggable=!0,this.unbindDragStart=s.addDisposableListener(this.element,"dragstart",function(e){t.onDragStart(e)})):this.uri=null),e||this.context.renderer.renderElement(this.context.tree,this.model.getElement(),this.templateId,this.row.templateData)}},e.prototype.insertInDOM=function(e,t){if(this.row||(this.row=this.context.cache.alloc(this.templateId),this.element[L.BINDING]=this),!this.element.parentElement){if(null===t)e.appendChild(this.element);else try{e.insertBefore(this.element,t)}catch(t){console.warn("Failed to locate previous tree element"),e.appendChild(this.element)}this.render()}},e.prototype.removeFromDOM=function(){this.row&&(this.unbindDragStart&&(this.unbindDragStart.dispose(),this.unbindDragStart=null),this.uri=null,this.element[L.BINDING]=null,this.context.cache.release(this.templateId,this.row),this.row=null)},e.prototype.dispose=function(){this.row=null,this.model=null},e}();t.ViewItem=S;var E=function(e){function t(t,n,i){var o=e.call(this,t,n)||this;return o.row={element:i,templateData:null,templateId:null},o}return f(t,e),t.prototype.render=function(){if(this.model&&this.element){var e=["monaco-tree-wrapper"];e.push.apply(e,Object.keys(this._styles)),this.model.hasChildren()&&e.push("has-children"),this.element.className=e.join(" ")}},t.prototype.insertInDOM=function(e,t){},t.prototype.removeFromDOM=function(){},t}(S),L=function(e){function t(n,o){var r=e.call(this)||this;r.lastClickTimeStamp=0,r.isRefreshing=!1,r.refreshingPreviousChildrenIds={},r._onDOMFocus=new y.Emitter,r._onDOMBlur=new y.Emitter,t.counter++,r.instance=t.counter,r.context={dataSource:n.dataSource,renderer:n.renderer,controller:n.controller,dnd:n.dnd,filter:n.filter,sorter:n.sorter,tree:n.tree,accessibilityProvider:n.accessibilityProvider,options:n.options,cache:new w(n)},r.modelListeners=[],r.viewListeners=[],r.dragAndDropListeners=[],r.model=null,r.items={},r.domNode=document.createElement("div"),r.domNode.className="monaco-tree no-focused-item monaco-tree-instance-"+r.instance,r.domNode.tabIndex=0,r.styleElement=s.createStyleSheet(r.domNode),r.domNode.setAttribute("role","tree"),r.context.options.ariaLabel&&r.domNode.setAttribute("aria-label",r.context.options.ariaLabel),r.context.options.alwaysFocused&&s.addClass(r.domNode,"focused"),r.context.options.paddingOnRow||s.addClass(r.domNode,"no-row-padding"),r.wrapper=document.createElement("div"),r.wrapper.className="monaco-tree-wrapper",r.scrollableElement=new g.ScrollableElement(r.wrapper,{alwaysConsumeMouseWheel:!0,horizontal:m.ScrollbarVisibility.Hidden,vertical:void 0!==n.options.verticalScrollMode?n.options.verticalScrollMode:m.ScrollbarVisibility.Auto,useShadows:n.options.useShadows}),r.scrollableElement.onScroll(function(e){r.render(e.scrollTop,e.height),r.emit("scroll",e)}),i.isIE?(r.wrapper.style.msTouchAction="none",r.wrapper.style.msContentZooming="none"):r.wrapperGesture=new u.Gesture(r.wrapper),r.rowsContainer=document.createElement("div"),r.rowsContainer.className="monaco-tree-rows",n.options.showTwistie&&(r.rowsContainer.className+=" show-twisties");var a=s.trackFocus(r.domNode);return a.addFocusListener(function(){return r.onFocus()}),a.addBlurListener(function(){return r.onBlur()}),r.viewListeners.push(a),r.viewListeners.push(s.addDisposableListener(r.domNode,"keydown",function(e){return r.onKeyDown(e)})),r.viewListeners.push(s.addDisposableListener(r.domNode,"keyup",function(e){return r.onKeyUp(e)})),r.viewListeners.push(s.addDisposableListener(r.domNode,"mousedown",function(e){return r.onMouseDown(e)})),r.viewListeners.push(s.addDisposableListener(r.domNode,"mouseup",function(e){return r.onMouseUp(e)})),r.viewListeners.push(s.addDisposableListener(r.wrapper,"click",function(e){return r.onClick(e)})),r.viewListeners.push(s.addDisposableListener(r.wrapper,"auxclick",function(e){return r.onClick(e)})),r.viewListeners.push(s.addDisposableListener(r.domNode,"contextmenu",function(e){return r.onContextMenu(e)})),r.viewListeners.push(s.addDisposableListener(r.wrapper,u.EventType.Tap,function(e){return r.onTap(e)})),r.viewListeners.push(s.addDisposableListener(r.wrapper,u.EventType.Change,function(e){return r.onTouchChange(e)})),i.isIE&&(r.viewListeners.push(s.addDisposableListener(r.wrapper,"MSPointerDown",function(e){return r.onMsPointerDown(e)})),r.viewListeners.push(s.addDisposableListener(r.wrapper,"MSGestureTap",function(e){return r.onMsGestureTap(e)})),r.viewListeners.push(s.addDisposableThrottledListener(r.wrapper,"MSGestureChange",function(e){return r.onThrottledMsGestureChange(e)},function(e,t){t.stopPropagation(),t.preventDefault();var n={translationY:t.translationY,translationX:t.translationX};return e&&(n.translationY+=e.translationY,n.translationX+=e.translationX),n}))),r.viewListeners.push(s.addDisposableListener(window,"dragover",function(e){return r.onDragOver(e)})),r.viewListeners.push(s.addDisposableListener(r.wrapper,"drop",function(e){return r.onDrop(e)})),r.viewListeners.push(s.addDisposableListener(window,"dragend",function(e){return r.onDragEnd(e)})),r.viewListeners.push(s.addDisposableListener(window,"dragleave",function(e){return r.onDragOver(e)})),r.wrapper.appendChild(r.rowsContainer),r.domNode.appendChild(r.scrollableElement.getDomNode()),o.appendChild(r.domNode),r.lastRenderTop=0,r.lastRenderHeight=0,r.didJustPressContextMenuKey=!1,r.currentDropTarget=null,r.currentDropTargets=[],r.shouldInvalidateDropReaction=!1,r.dragAndDropScrollInterval=null,r.dragAndDropScrollTimeout=null,r.onHiddenScrollTop=null,r.onRowsChanged(),r.layout(),r.setupMSGesture(),r.applyStyles(n.options),r}return f(t,e),Object.defineProperty(t.prototype,"onDOMFocus",{get:function(){return this._onDOMFocus.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onDOMBlur",{get:function(){return this._onDOMBlur.event},enumerable:!0,configurable:!0}),t.prototype.applyStyles=function(e){var t=[];e.listFocusBackground&&t.push(".monaco-tree.monaco-tree-instance-"+this.instance+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { background-color: "+e.listFocusBackground+"; }"),e.listFocusForeground&&t.push(".monaco-tree.monaco-tree-instance-"+this.instance+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { color: "+e.listFocusForeground+"; }"),e.listActiveSelectionBackground&&t.push(".monaco-tree.monaco-tree-instance-"+this.instance+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listActiveSelectionBackground+"; }"),e.listActiveSelectionForeground&&t.push(".monaco-tree.monaco-tree-instance-"+this.instance+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listActiveSelectionForeground+"; }"),e.listFocusAndSelectionBackground&&t.push("\n\t\t\t\t.monaco-tree-drag-image,\n\t\t\t\t.monaco-tree.monaco-tree-instance-"+this.instance+".focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { background-color: "+e.listFocusAndSelectionBackground+"; }\n\t\t\t"),e.listFocusAndSelectionForeground&&t.push("\n\t\t\t\t.monaco-tree-drag-image,\n\t\t\t\t.monaco-tree.monaco-tree-instance-"+this.instance+".focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { color: "+e.listFocusAndSelectionForeground+"; }\n\t\t\t"),e.listInactiveSelectionBackground&&t.push(".monaco-tree.monaco-tree-instance-"+this.instance+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listInactiveSelectionBackground+"; }"),e.listInactiveSelectionForeground&&t.push(".monaco-tree.monaco-tree-instance-"+this.instance+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listInactiveSelectionForeground+"; }"),e.listHoverBackground&&t.push(".monaco-tree.monaco-tree-instance-"+this.instance+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { background-color: "+e.listHoverBackground+"; }"),e.listHoverForeground&&t.push(".monaco-tree.monaco-tree-instance-"+this.instance+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { color: "+e.listHoverForeground+"; }"),e.listDropBackground&&t.push("\n\t\t\t\t.monaco-tree.monaco-tree-instance-"+this.instance+" .monaco-tree-wrapper.drop-target,\n\t\t\t\t.monaco-tree.monaco-tree-instance-"+this.instance+" .monaco-tree-rows > .monaco-tree-row.drop-target { background-color: "+e.listDropBackground+" !important; color: inherit !important; }\n\t\t\t"),e.listFocusOutline&&t.push("\n\t\t\t\t.monaco-tree-drag-image\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; background: #000; }\n\t\t\t\t.monaco-tree.monaco-tree-instance-"+this.instance+" .monaco-tree-rows > .monaco-tree-row \t\t\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px solid transparent; }\n\t\t\t\t.monaco-tree.monaco-tree-instance-"+this.instance+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) \t\t\t\t\t\t{ border: 1px dotted "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree.monaco-tree-instance-"+this.instance+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) \t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree.monaco-tree-instance-"+this.instance+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) \t\t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree.monaco-tree-instance-"+this.instance+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) \t{ border: 1px dashed "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree.monaco-tree-instance-"+this.instance+" .monaco-tree-wrapper.drop-target,\n\t\t\t\t.monaco-tree.monaco-tree-instance-"+this.instance+" .monaco-tree-rows > .monaco-tree-row.drop-target\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px dashed "+e.listFocusOutline+"; }\n\t\t\t"),this.styleElement.innerHTML=t.join("\n")},t.prototype.createViewItem=function(e){return new S(this.context,e)},t.prototype.getHTMLElement=function(){return this.domNode},t.prototype.focus=function(){this.domNode.focus()},t.prototype.isFocused=function(){return document.activeElement===this.domNode},t.prototype.blur=function(){this.domNode.blur()},t.prototype.onVisible=function(){this.scrollTop=this.onHiddenScrollTop,this.onHiddenScrollTop=null,this.setupMSGesture()},t.prototype.setupMSGesture=function(){var e=this;window.MSGesture&&(this.msGesture=new MSGesture,setTimeout(function(){return e.msGesture.target=e.wrapper},100))},t.prototype.onHidden=function(){this.onHiddenScrollTop=this.scrollTop},t.prototype.isTreeVisible=function(){return null===this.onHiddenScrollTop},t.prototype.layout=function(e){this.isTreeVisible()&&(this.viewHeight=e||s.getContentHeight(this.wrapper))},t.prototype.render=function(e,t){var n,i,o=e,r=e+t,s=this.lastRenderTop+this.lastRenderHeight;for(n=this.indexAfter(r)-1,i=this.indexAt(Math.max(s,o));n>=i;n--)this.insertItemInDOM(this.itemAtIndex(n));for(n=Math.min(this.indexAt(this.lastRenderTop),this.indexAfter(r))-1,i=this.indexAt(o);n>=i;n--)this.insertItemInDOM(this.itemAtIndex(n));for(n=this.indexAt(this.lastRenderTop),i=Math.min(this.indexAt(o),this.indexAfter(s));n0&&this.onItemsRefresh(t)},t.prototype.onRefreshing=function(){this.isRefreshing=!0},t.prototype.onRefreshed=function(){this.isRefreshing=!1,this.onRowsChanged()},t.prototype.onRowsChanged=function(e){void 0===e&&(e=this.scrollTop),this.isRefreshing||(this.scrollTop=e)},t.prototype.focusNextPage=function(e){var t=this,n=this.indexAt(this.scrollTop+this.viewHeight);n=0===n?0:n-1;var i=this.itemAtIndex(n).model.getElement();if(this.model.getFocus()!==i)this.model.setFocus(i,e);else{var o=this.scrollTop;this.scrollTop+=this.viewHeight,this.scrollTop!==o&&setTimeout(function(){t.focusNextPage(e)},0)}},t.prototype.focusPreviousPage=function(e){var t,n=this;t=0===this.scrollTop?this.indexAt(this.scrollTop):this.indexAfter(this.scrollTop-1);var i=this.itemAtIndex(t).model.getElement();if(this.model.getFocus()!==i)this.model.setFocus(i,e);else{var o=this.scrollTop;this.scrollTop-=this.viewHeight,this.scrollTop!==o&&setTimeout(function(){n.focusPreviousPage(e)},0)}},Object.defineProperty(t.prototype,"viewHeight",{get:function(){return this.scrollableElement.getScrollState().height},set:function(e){this.scrollableElement.updateState({height:e,scrollHeight:this.getTotalHeight()})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollTop",{get:function(){return this.scrollableElement.getScrollState().scrollTop},set:function(e){this.scrollableElement.updateState({scrollTop:e,scrollHeight:this.getTotalHeight()})},enumerable:!0,configurable:!0}),t.prototype.getScrollPosition=function(){var e=this.getTotalHeight()-this.viewHeight;return e<=0?0:this.scrollTop/e},t.prototype.setScrollPosition=function(e){var t=this.getTotalHeight()-this.viewHeight;this.scrollTop=t*e},t.prototype.onClearingInput=function(e){var t=e.item;t&&(this.onRemoveItems(new p.MappedIterator(t.getNavigator(),function(e){return e&&e.id})),this.onRowsChanged())},t.prototype.onSetInput=function(e){this.context.cache.garbageCollect(),this.inputItem=new E(this.context,e.item,this.wrapper),this.emit("viewItem:create",{item:this.inputItem.model})},t.prototype.onItemChildrenRefreshing=function(e){var n=e.item,i=this.items[n.id];if(i&&(i.loadingTimer=setTimeout(function(){i.loadingTimer=0,i.loading=!0},t.LOADING_DECORATION_DELAY)),!e.isNested){for(var o,r=[],s=n.getNavigator();o=s.next();)r.push(o.id);this.refreshingPreviousChildrenIds[n.id]=r}},t.prototype.onItemChildrenRefreshed=function(e){var t=this,n=e.item,i=this.items[n.id];if(i&&(i.loadingTimer&&(clearTimeout(i.loadingTimer),i.loadingTimer=0),i.loading=!1),!e.isNested){for(var o,r=this.refreshingPreviousChildrenIds[n.id],s=[],u=n.getNavigator();o=u.next();)s.push(o);var l=Math.abs(r.length-s.length)>1e3,c=void 0,d=void 0;if(l||(d=(c=new a.LcsDiff({getLength:function(){return r.length},getElementHash:function(e){return r[e]}},{getLength:function(){return s.length},getElementHash:function(e){return s[e].id}},null).ComputeDiff(!1)).some(function(e){if(e.modifiedLength>0)for(var n=e.modifiedStart,i=e.modifiedStart+e.modifiedLength;n0&&this.onRemoveItems(new p.ArrayIterator(r,g.originalStart,g.originalStart+g.originalLength)),g.modifiedLength>0){var m=s[g.modifiedStart-1]||n;m=m.getDepth()>0?m:null,this.onInsertItems(new p.ArrayIterator(s,g.modifiedStart,g.modifiedStart+g.modifiedLength),m?m.id:null)}}else(l||c.length)&&(this.onRemoveItems(new p.ArrayIterator(r)),this.onInsertItems(new p.ArrayIterator(s),n.getDepth()>0?n.id:null));(l||c.length)&&this.onRowsChanged()}},t.prototype.onItemsRefresh=function(e){var t=this;this.onRefreshItemSet(e.filter(function(e){return t.items.hasOwnProperty(e.id)})),this.onRowsChanged()},t.prototype.onItemExpanding=function(e){var t=this.items[e.item.id];t&&(t.expanded=!0)},t.prototype.onItemExpanded=function(e){var t=e.item,n=this.items[t.id];if(n){n.expanded=!0;var i=this.onInsertItems(t.getNavigator(),t.id),o=this.scrollTop;n.top+n.height<=this.scrollTop&&(o+=i),this.onRowsChanged(o)}},t.prototype.onItemCollapsing=function(e){var t=e.item,n=this.items[t.id];n&&(n.expanded=!1,this.onRemoveItems(new p.MappedIterator(t.getNavigator(),function(e){return e&&e.id})),this.onRowsChanged())},t.prototype.getRelativeTop=function(e){if(e&&e.isVisible()){var t=this.items[e.id];if(t)return(t.top-this.scrollTop)/(this.viewHeight-t.height)}return-1},t.prototype.onItemReveal=function(e){var t=e.item,n=e.relativeTop,i=this.items[t.id];if(i)if(null!==n){n=(n=n<0?0:n)>1?1:n;var o=i.height-this.viewHeight;this.scrollTop=o*n+i.top}else{var r=i.top+i.height,s=this.scrollTop+this.viewHeight;i.top=s&&(this.scrollTop=r-this.viewHeight)}},t.prototype.onItemAddTrait=function(e){var t=e.item,n=e.trait,i=this.items[t.id];i&&i.addClass(n),"highlighted"===n&&(s.addClass(this.domNode,n),i&&(this.highlightedItemWasDraggable=!!i.draggable,i.draggable&&(i.draggable=!1)))},t.prototype.onItemRemoveTrait=function(e){var t=e.item,n=e.trait,i=this.items[t.id];i&&i.removeClass(n),"highlighted"===n&&(s.removeClass(this.domNode,n),this.highlightedItemWasDraggable&&(i.draggable=!0),this.highlightedItemWasDraggable=!1)},t.prototype.onModelFocusChange=function(){var e=this.model&&this.model.getFocus();s.toggleClass(this.domNode,"no-focused-item",!e),e?this.domNode.setAttribute("aria-activedescendant",l.safeBtoa(this.context.dataSource.getId(this.context.tree,e))):this.domNode.removeAttribute("aria-activedescendant")},t.prototype.onInsertItem=function(e){var t=this;e.onDragStart=function(n){t.onDragStart(e,n)},e.needsRender=!0,this.refreshViewItem(e),this.items[e.id]=e},t.prototype.onRefreshItem=function(e,t){void 0===t&&(t=!1),e.needsRender=e.needsRender||t,this.refreshViewItem(e)},t.prototype.onRemoveItem=function(e){this.removeItemFromDOM(e),e.dispose(),this.emit("viewItem:dispose",{item:this.inputItem.model}),delete this.items[e.id]},t.prototype.refreshViewItem=function(e){e.render(),this.shouldBeRendered(e)?this.insertItemInDOM(e):this.removeItemFromDOM(e)},t.prototype.onClick=function(e){if(!this.lastPointerType||"mouse"===this.lastPointerType){var t=new c.StandardMouseEvent(e),n=this.getItemAround(t.target);n&&(i.isIE&&Date.now()-this.lastClickTimeStamp<300&&(t.detail=2),this.lastClickTimeStamp=Date.now(),this.context.controller.onClick(this.context.tree,n.model.getElement(),t))}},t.prototype.onMouseDown=function(e){if(this.didJustPressContextMenuKey=!1,this.context.controller.onMouseDown&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new c.StandardMouseEvent(e);if(!(t.ctrlKey&&n.isNative&&n.isMacintosh)){var i=this.getItemAround(t.target);i&&this.context.controller.onMouseDown(this.context.tree,i.model.getElement(),t)}}},t.prototype.onMouseUp=function(e){if(this.context.controller.onMouseUp&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new c.StandardMouseEvent(e);if(!(t.ctrlKey&&n.isNative&&n.isMacintosh)){var i=this.getItemAround(t.target);i&&this.context.controller.onMouseUp(this.context.tree,i.model.getElement(),t)}}},t.prototype.onTap=function(e){var t=this.getItemAround(e.initialTarget);t&&this.context.controller.onTap(this.context.tree,t.model.getElement(),e)},t.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},t.prototype.onContextMenu=function(e){var t,n;if(e instanceof KeyboardEvent||this.didJustPressContextMenuKey){this.didJustPressContextMenuKey=!1;var i=new d.StandardKeyboardEvent(e);if(!(n=this.model.getFocus()))return;var o=this.context.dataSource.getId(this.context.tree,n),r=this.items[o],a=s.getDomNodePagePosition(r.element);t=new _.KeyboardContextMenuEvent(a.left+a.width,a.top,i)}else{var u=new c.StandardMouseEvent(e),l=this.getItemAround(u.target);if(!l)return;n=l.model.getElement(),t=new _.MouseContextMenuEvent(u)}this.context.controller.onContextMenu(this.context.tree,n,t)},t.prototype.onKeyDown=function(e){var t=new d.StandardKeyboardEvent(e);this.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode,this.didJustPressContextMenuKey&&(t.preventDefault(),t.stopPropagation()),t.target&&t.target.tagName&&"input"===t.target.tagName.toLowerCase()||this.context.controller.onKeyDown(this.context.tree,t)},t.prototype.onKeyUp=function(e){this.didJustPressContextMenuKey&&this.onContextMenu(e),this.didJustPressContextMenuKey=!1,this.context.controller.onKeyUp(this.context.tree,new d.StandardKeyboardEvent(e))},t.prototype.onDragStart=function(e,n){if(!this.model.getHighlight()){var i,o=e.model.getElement(),r=this.model.getSelection();if(i=r.indexOf(o)>-1?r:[o],n.dataTransfer.effectAllowed="copyMove",n.dataTransfer.setData("URL",e.uri),n.dataTransfer.setDragImage){var s=void 0;s=this.context.dnd.getDragLabel?this.context.dnd.getDragLabel(this.context.tree,i):String(i.length);var a=document.createElement("div");a.className="monaco-tree-drag-image",a.textContent=s,document.body.appendChild(a),n.dataTransfer.setDragImage(a,-10,-10),setTimeout(function(){return document.body.removeChild(a)},0)}this.currentDragAndDropData=new h.ElementsDragAndDropData(i),t.currentExternalDragAndDropData=new h.ExternalElementsDragAndDropData(i),this.context.dnd.onDragStart(this.context.tree,this.currentDragAndDropData,new c.DragMouseEvent(n))}},t.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=s.getTopLeftOffset(this.wrapper).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval(function(){if(void 0!==e.dragAndDropMouseY){var n=e.dragAndDropMouseY-t,i=0,o=e.viewHeight-35;n<35?i=Math.max(-14,.2*(n-35)):n>o&&(i=Math.min(14,.2*(n-o))),e.scrollTop+=i}},10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout(function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null},1e3))},t.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null),this.cancelDragAndDropScrollTimeout()},t.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},t.prototype.onDragOver=function(e){var n=this,i=new c.DragMouseEvent(e),r=this.getItemAround(i.target);if(!r||0===i.posx&&0===i.posy&&i.browserEvent.type===s.EventType.DRAG_LEAVE)return this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.cancelDragAndDropScrollInterval(),this.currentDropTarget=null,this.currentDropElement=null,this.dragAndDropMouseY=null,!1;if(this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=i.posy,!this.currentDragAndDropData)if(t.currentExternalDragAndDropData)this.currentDragAndDropData=t.currentExternalDragAndDropData;else{if(!i.dataTransfer.types)return!1;this.currentDragAndDropData=new h.DesktopDragAndDropData}this.currentDragAndDropData.update(i);var a,u,l=r.model;do{if(a=l?l.getElement():this.model.getInput(),!(u=this.context.dnd.onDragOver(this.context.tree,this.currentDragAndDropData,a,i))||u.bubble!==_.DragOverBubble.BUBBLE_UP)break;l=l&&l.parent}while(l);if(!l)return this.currentDropElement=null,!1;var d=u&&u.accept;d?(this.currentDropElement=l.getElement(),i.preventDefault(),i.dataTransfer.dropEffect=u.effect===_.DragOverEffect.COPY?"copy":"move"):this.currentDropElement=null;var p=l.id===this.inputItem.id?this.inputItem:this.items[l.id];if((this.shouldInvalidateDropReaction||this.currentDropTarget!==p||!b(this.currentDropElementReaction,u))&&(this.shouldInvalidateDropReaction=!1,this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.currentDropTarget=p,this.currentDropElementReaction=u,d)){if(this.currentDropTarget&&(this.currentDropTarget.dropTarget=!0,this.currentDropTargets.push(this.currentDropTarget)),u.bubble===_.DragOverBubble.BUBBLE_DOWN)for(var f,g=l.getNavigator();f=g.next();)(r=this.items[f.id])&&(r.dropTarget=!0,this.currentDropTargets.push(r));u.autoExpand&&(this.currentDropPromise=o.TPromise.timeout(500).then(function(){return n.context.tree.expand(n.currentDropElement)}).then(function(){return n.shouldInvalidateDropReaction=!0}))}return!0},t.prototype.onDrop=function(e){if(this.currentDropElement){var t=new c.DragMouseEvent(e);t.preventDefault(),this.currentDragAndDropData.update(t),this.context.dnd.drop(this.context.tree,this.currentDragAndDropData,this.currentDropElement,t),this.onDragEnd(e)}this.cancelDragAndDropScrollInterval()},t.prototype.onDragEnd=function(e){this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[]),this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null),this.cancelDragAndDropScrollInterval(),this.currentDragAndDropData=null,t.currentExternalDragAndDropData=null,this.currentDropElement=null,this.currentDropTarget=null,this.dragAndDropMouseY=null},t.prototype.onFocus=function(){this.context.options.alwaysFocused||s.addClass(this.domNode,"focused"),this._onDOMFocus.fire()},t.prototype.onBlur=function(){this.context.options.alwaysFocused||s.removeClass(this.domNode,"focused"),this.domNode.removeAttribute("aria-activedescendant"),this._onDOMBlur.fire()},t.prototype.onMsPointerDown=function(e){if(this.msGesture){var t=e.pointerType;t!==(e.MSPOINTER_TYPE_MOUSE||"mouse")?t===(e.MSPOINTER_TYPE_TOUCH||"touch")&&(this.lastPointerType="touch",e.stopPropagation(),e.preventDefault(),this.msGesture.addPointer(e.pointerId)):this.lastPointerType="mouse"}},t.prototype.onThrottledMsGestureChange=function(e){this.scrollTop-=e.translationY},t.prototype.onMsGestureTap=function(e){e.initialTarget=document.elementFromPoint(e.clientX,e.clientY),this.onTap(e)},t.prototype.insertItemInDOM=function(e){var t=null,n=this.itemAfter(e);n&&n.element&&(t=n.element),e.insertInDOM(this.rowsContainer,t)},t.prototype.removeItemFromDOM=function(e){e&&e.removeFromDOM()},t.prototype.shouldBeRendered=function(e){return e.topthis.lastRenderTop},t.prototype.getItemAround=function(e){var n=this.inputItem;do{if(e[t.BINDING]&&(n=e[t.BINDING]),e===this.wrapper||e===this.domNode)return n;if(e===document.body)return null}while(e=e.parentElement)},t.prototype.releaseModel=function(){this.model&&(this.modelListeners=r.dispose(this.modelListeners),this.model=null)},t.prototype.dispose=function(){this.scrollableElement.dispose(),this.releaseModel(),this.modelListeners=null,this.viewListeners=r.dispose(this.viewListeners),this._onDOMFocus.dispose(),this._onDOMBlur.dispose(),this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.domNode=null,this.wrapperGesture&&(this.wrapperGesture.dispose(),this.wrapperGesture=null),this.context.cache&&(this.context.cache.dispose(),this.context.cache=null),e.prototype.dispose.call(this)},t.BINDING="monaco-tree-row",t.LOADING_DECORATION_DELAY=800,t.counter=0,t.currentExternalDragAndDropData=null,t}(v.HeightMap);t.TreeView=L}),define(d[249],h([5]),{}),define(d[259],h([1,0,3,11,41,4,33,32,26,249]),function(e,t,n,i,o,r,s,a,u){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultStyles={selectBackground:a.Color.fromHex("#3C3C3C"),selectForeground:a.Color.fromHex("#F0F0F0"),selectBorder:a.Color.fromHex("#3C3C3C")};var l=function(e){function o(n,o,s){void 0===s&&(s=u.clone(t.defaultStyles));var a=e.call(this)||this;return a.selectElement=document.createElement("select"),a.selectElement.className="select-box",a.setOptions(n,o),a.toDispose=[],a._onDidSelect=new i.Emitter,a.selectBackground=s.selectBackground,a.selectForeground=s.selectForeground,a.selectBorder=s.selectBorder,a.toDispose.push(r.addStandardDisposableListener(a.selectElement,"change",function(e){a.selectElement.title=e.target.value,a._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value})})),a.toDispose.push(r.addStandardDisposableListener(a.selectElement,"keydown",function(e){(e.equals(10)||e.equals(3))&&e.stopPropagation()})),a}return f(o,e),Object.defineProperty(o.prototype,"onDidSelect",{get:function(){return this._onDidSelect.event},enumerable:!0,configurable:!0}),o.prototype.setOptions=function(e,t,n){var i=this;if(!this.options||!s.equals(this.options,e)){this.options=e,this.selectElement.options.length=0;var o=0;this.options.forEach(function(e){i.selectElement.add(i.createOption(e,n===o++))})}this.select(t)},o.prototype.select=function(e){e>=0&&e=this._lines.length)throw new Error("Illegal value for lineNumber: "+e);return this._lines[t]},e.prototype.onLinesDeleted=function(e,t){if(0===this.getCount())return null;var n=this.getStartLineNumber(),i=this.getEndLineNumber();if(ti)return null;for(var r=0,s=0,a=n;a<=i;a++){var u=a-this._rendLineNumberStart;e<=a&&a<=t&&(0===s?(r=u,s=1):s++)}if(e=n&&r<=i&&(this._lines[r-this._rendLineNumberStart].onContentChanged(),o=!0);return o},e.prototype.onLinesInserted=function(e,t){if(0===this.getCount())return null;var n=t-e+1,i=this.getStartLineNumber(),o=this.getEndLineNumber();if(e<=i)return this._rendLineNumberStart+=n,null;if(e>o)return null;if(n+e>o)return this._lines.splice(e-this._rendLineNumberStart,o-e+1);for(var r=[],s=0;sn))for(var a=Math.max(t,s.fromLineNumber),u=Math.min(n,s.toLineNumber),l=a;l<=u;l++){var c=l-this._rendLineNumberStart;this._lines[c].onTokensChanged(),i=!0}}return i},e}();t.RenderedLinesCollection=i;var o=function(){function e(e){var t=this;this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new i(function(){return t._host.createVisibleLine()})}return e.prototype._createDomNode=function(){var e=n.createFastDomNode(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e},e.prototype.onConfigurationChanged=function(e){return e.layoutInfo},e.prototype.onFlushed=function(e){return this._linesCollection.flush(),!0},e.prototype.onLinesChanged=function(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.toLineNumber)},e.prototype.onLinesDeleted=function(e){var t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(var n=0,i=t.length;nt?(s=t)<=(a=Math.min(n,o.rendLineNumberStart-1))&&(this._insertLinesBefore(o,s,a,i,t),o.linesLength+=a-s+1):o.rendLineNumberStart0&&(this._removeLinesBefore(o,u),o.linesLength-=u),o.rendLineNumberStart=t,o.rendLineNumberStart+o.linesLength-1n){var s=Math.max(0,n-o.rendLineNumberStart+1),a=o.linesLength-1,u=a-s+1;u>0&&(this._removeLinesAfter(o,u),o.linesLength-=u)}return this._finishRendering(o,!1,i),o},e.prototype._renderUntouchedLines=function(e,t,n,i,o){for(var r=e.rendLineNumberStart,s=e.lines,a=t;a<=n;a++){var u=r+a;s[a].layoutLine(u,i[u-o])}},e.prototype._insertLinesBefore=function(e,t,n,i,o){for(var r=[],s=0,a=t;a<=n;a++)r[s++]=this.host.createVisibleLine();e.lines=r.concat(e.lines)},e.prototype._removeLinesBefore=function(e,t){for(var n=0;n=0;s--){var a=e.lines[s];i[s]&&(a.setDomNode(r),r=r.previousSibling)}},e.prototype._finishRenderingInvalidLines=function(e,t,n){var i=document.createElement("div");i.innerHTML=t.join("");for(var o=0;on||e===n&&t>i?(this.startLineNumber=n,this.startColumn=i,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=i)}return e.prototype.isEmpty=function(){return e.isEmpty(this)},e.isEmpty=function(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn},e.prototype.containsPosition=function(t){return e.containsPosition(this,t)},e.containsPosition=function(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))},e.prototype.plusRange=function(t){return e.plusRange(this,t)},e.plusRange=function(t,n){var i,o,r,s;return n.startLineNumbert.endLineNumber?(r=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(r=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(r=t.endLineNumber,s=t.endColumn),new e(i,o,r,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,n){var i=t.startLineNumber,o=t.startColumn,r=t.endLineNumber,s=t.endColumn,a=n.startLineNumber,u=n.startColumn,l=n.endLineNumber,c=n.endColumn;return il?(r=l,s=c):r===l&&(s=Math.min(s,c)),i>r?null:i===r&&o>s?null:new e(i,o,r,s)},e.prototype.equalsRange=function(t){return e.equalsRange(this,t)},e.equalsRange=function(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn},e.prototype.getEndPosition=function(){return new n.Position(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new n.Position(this.startLineNumber,this.startColumn)},e.prototype.cloneRange=function(){return new e(this.startLineNumber,this.startColumn,this.endLineNumber,this.endColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,this.endLineNumber,this.endColumn)},e.prototype.collapseToStart=function(){return e.collapseToStart(this)},e.collapseToStart=function(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)},e.fromPositions=function(t,n){return void 0===n&&(n=t),new e(t.lineNumber,t.column,n.lineNumber,n.column)},e.lift=function(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null},e.isIRange=function(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn},e.areIntersectingOrTouching=function(e,t){return!(e.endLineNumbere.startLineNumber},e}();t.Range=i}),define(d[164],h([1,0,72,38,26,2,3]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0},u=function(e){function t(n,i){void 0===i&&(i={});var r=e.call(this,[t.Events.UPDATED])||this;return r.editor=n,r.options=o.mixin(i,a,!1),r.disposed=!1,r.toUnbind=[],r.nextIdx=-1,r.ranges=[],r.ignoreSelectionChange=!1,r.revealFirst=r.options.alwaysRevealFirst,r.toUnbind.push(r.editor.onDidDispose(function(){return r.dispose()})),r.toUnbind.push(r.editor.onDidUpdateDiff(function(){return r.onDiffUpdated()})),r.options.followsCaret&&r.toUnbind.push(r.editor.getModifiedEditor().onDidChangeCursorPosition(function(e){r.ignoreSelectionChange||(r.nextIdx=-1)})),r.options.alwaysRevealFirst&&r.toUnbind.push(r.editor.getModifiedEditor().onDidChangeModel(function(e){r.revealFirst=!0})),r.init(),r}return f(t,e),t.prototype.init=function(){this.editor.getLineChanges()},t.prototype.onDiffUpdated=function(){this.init(),this.compute(this.editor.getLineChanges()),this.revealFirst&&null!==this.editor.getLineChanges()&&(this.revealFirst=!1,this.nextIdx=-1,this.next())},t.prototype.compute=function(e){var n=this;this.ranges=[],e&&e.forEach(function(e){!n.options.ignoreCharChanges&&e.charChanges?e.charChanges.forEach(function(e){n.ranges.push({rhs:!0,range:new r.Range(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)})}):n.ranges.push({rhs:!0,range:new r.Range(e.modifiedStartLineNumber,1,e.modifiedStartLineNumber,1)})}),this.ranges.sort(function(e,t){return e.range.getStartPosition().isBeforeOrEqual(t.range.getStartPosition())?-1:t.range.getStartPosition().isBeforeOrEqual(e.range.getStartPosition())?1:0}),this.emit(t.Events.UPDATED,{})},t.prototype.initIdx=function(e){for(var t=!1,n=this.editor.getPosition(),i=0,o=this.ranges.length;i=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var t=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var i=t.range.getStartPosition();this.editor.setPosition(i),this.editor.revealPositionInCenter(i)}finally{this.ignoreSelectionChange=!1}}},t.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},t.prototype.next=function(){this.move(!0)},t.prototype.previous=function(){this.move(!1)},t.prototype.dispose=function(){this.toUnbind=s.dispose(this.toUnbind),this.ranges=null,this.disposed=!0,e.prototype.dispose.call(this)},t.Events={UPDATED:"navigation.updated"},t}(i.EventEmitter);t.DiffNavigator=u}),define(d[59],h([1,0,2]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(){}return e.insert=function(e,t){return{identifier:null,range:new n.Range(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}},e.delete=function(e){return{identifier:null,range:e,text:null,forceMoveMarkers:!0}},e.replace=function(e,t){return{identifier:null,range:e,text:t,forceMoveMarkers:!1}},e.replaceMove=function(e,t){return{identifier:null,range:e,text:t,forceMoveMarkers:!0}},e}();t.EditOperation=i}),define(d[435],h([1,0,9,59,2]),function(e,t,n,i,o){"use strict";function r(e,t){t.sort(function(e,t){return e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber});for(var r=t.length-2;r>=0;r--)t[r].lineNumber===t[r+1].lineNumber&&t.splice(r,1);for(var s=[],a=0,u=0,l=t.length,c=1,d=e.getLineCount();c<=d;c++){var h=e.getLineContent(c),p=h.length+1,f=0;if(!(u "+this.positionLineNumber+","+this.positionColumn+"]"},t.prototype.equalsSelection=function(e){return t.selectionsEqual(this,e)},t.selectionsEqual=function(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn},t.prototype.getDirection=function(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?o.LTR:o.RTL},t.prototype.setEndPosition=function(e,n){return this.getDirection()===o.LTR?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){return new i.Position(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,n){return this.getDirection()===o.LTR?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.fromPositions=function(e,n){return void 0===n&&(n=e),new t(e.lineNumber,e.column,n.lineNumber,n.column)},t.liftSelection=function(e){return new t(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)},t.selectionsArrEqual=function(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(var n=0,i=e.length;n4294967295?4294967295:0|e}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,n){for(var i=new Uint8Array(e*t),o=0,r=e*t;o255?255:0|e},t.toUint32=n,t.toUint32Array=function(e){for(var t=e.length,i=new Uint32Array(t),o=0;o=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}();t.CharacterClassifier=i;var o;!function(e){e[e.False=0]="False",e[e.True=1]="True"}(o||(o={}));var r=function(){function e(){this._actual=new i(0)}return e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)},e}();t.CharacterSet=r}),define(d[94],h([1,0,89]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});!function(e){e[e.Regular=0]="Regular",e[e.Whitespace=1]="Whitespace",e[e.WordSeparator=2]="WordSeparator"}(t.WordCharacterClass||(t.WordCharacterClass={}));var i=function(e){function t(t){for(var n=e.call(this,0)||this,i=0,o=t.length;i1&&v>1&&(w=f.charCodeAt(m-2))===(S=g.charCodeAt(v-2));)m--,v--;(m>1||v>1)&&this._pushTrimWhitespaceCharChange(r,s+1,1,m,a+1,1,v);for(var _=l._getLastNonBlankColumn(f,1),y=l._getLastNonBlankColumn(g,1),C=f.length+1,b=g.length+1;_, selectionStart: "+this.selectionStart+", selectionEnd: "+this.selectionEnd+"]"},e.prototype.readFromTextArea=function(t){return new e(t.getValue(),t.getSelectionStart(),t.getSelectionEnd())},e.prototype.collapseSelection=function(){return new e(this.value,this.value.length,this.value.length)},e.prototype.writeToTextArea=function(e,t,n){t.setValue(e,this.value),n&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)},e.selectedText=function(t){return new e(t,0,t.length)},e.deduceInput=function(e,t,n){if(!e)return{text:"",replaceCharCnt:0};var i=e.value,r=e.selectionStart,s=e.selectionEnd,a=t.value,u=t.selectionStart,l=t.selectionEnd,c=i.substring(s),d=a.substring(l),h=o.commonSuffixLength(c,d);a=a.substring(0,a.length-h);var p=(i=i.substring(0,i.length-h)).substring(0,r),f=a.substring(0,u),g=o.commonPrefixLength(p,f);if(a=a.substring(g),i=i.substring(g),u-=g,r-=g,l-=g,s-=g,n&&u===l&&i.length>0){var m=null;if(u===a.length?o.startsWith(a,i)&&(m=a.substring(i.length)):o.endsWith(a,i)&&(m=a.substring(0,a.length-i.length)),null!==m&&m.length>0&&(/\uFE0F/.test(m)||o.containsEmoji(m)))return{text:m,replaceCharCnt:0}}return u===l?i===a&&0===r&&s===i.length&&u===a.length&&-1===a.indexOf("\n")&&o.containsFullWidthCharacter(a)?{text:"",replaceCharCnt:0}:{text:a,replaceCharCnt:p.length-g}:{text:a,replaceCharCnt:s-r}},e.EMPTY=new e("",0,0),e}();t.TextAreaState=r;var s=function(){function e(){}return e._getPageOfLine=function(t){return Math.floor((t-1)/e._LINES_PER_PAGE)},e._getRangeForPage=function(t){var i=t*e._LINES_PER_PAGE,o=i+1,r=i+e._LINES_PER_PAGE;return new n.Range(o,1,r+1,1)},e.fromEditorSelection=function(t,o,s){var a=e._getPageOfLine(s.startLineNumber),u=e._getRangeForPage(a),l=e._getPageOfLine(s.endLineNumber),c=e._getRangeForPage(l),d=u.intersectRanges(new n.Range(1,1,s.startLineNumber,s.startColumn)),h=o.getValueInRange(d,i.EndOfLinePreference.LF),p=o.getLineCount(),f=o.getLineMaxColumn(p),g=c.intersectRanges(new n.Range(s.endLineNumber,s.endColumn,p,f)),m=o.getValueInRange(g,i.EndOfLinePreference.LF),v=null;if(a===l||a+1===l)v=o.getValueInRange(s,i.EndOfLinePreference.LF);else{var _=u.intersectRanges(s),y=c.intersectRanges(s);v=o.getValueInRange(_,i.EndOfLinePreference.LF)+String.fromCharCode(8230)+o.getValueInRange(y,i.EndOfLinePreference.LF)}return h.length>500&&(h=h.substring(h.length-500,h.length)),m.length>500&&(m=m.substring(0,500)),v.length>1e3&&(v=v.substring(0,500)+String.fromCharCode(8230)+v.substring(v.length-500,v.length)),new r(h+v+m,h.length,h.length+v.length)},e._LINES_PER_PAGE=10,e}();t.PagedScreenReaderStrategy=s}),define(d[154],h([1,0,18,9,11,3,151,28,15,4]),function(e,t,n,i,o,r,s,a,u,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CopyOptions={forceCopyWithSyntaxHighlighting:!1};var c;!function(e){e[e.Type=0]="Type",e[e.Paste=1]="Paste"}(c||(c={}));var d=function(e){function r(t,r){var c=e.call(this)||this;c._onFocus=c._register(new o.Emitter),c.onFocus=c._onFocus.event,c._onBlur=c._register(new o.Emitter),c.onBlur=c._onBlur.event,c._onKeyDown=c._register(new o.Emitter),c.onKeyDown=c._onKeyDown.event,c._onKeyUp=c._register(new o.Emitter),c.onKeyUp=c._onKeyUp.event,c._onCut=c._register(new o.Emitter),c.onCut=c._onCut.event,c._onPaste=c._register(new o.Emitter),c.onPaste=c._onPaste.event,c._onType=c._register(new o.Emitter),c.onType=c._onType.event,c._onCompositionStart=c._register(new o.Emitter),c.onCompositionStart=c._onCompositionStart.event,c._onCompositionUpdate=c._register(new o.Emitter),c.onCompositionUpdate=c._onCompositionUpdate.event,c._onCompositionEnd=c._register(new o.Emitter),c.onCompositionEnd=c._onCompositionEnd.event,c._host=t,c._textArea=c._register(new p(r)),c._asyncTriggerCut=c._register(new n.RunOnceScheduler(function(){return c._onCut.fire()},0)),c._textAreaState=s.TextAreaState.EMPTY,c.writeScreenReaderContent("ctor"),c._hasFocus=!1,c._isDoingComposition=!1,c._nextCommand=0,c._register(l.addStandardDisposableListener(r.domNode,"keydown",function(e){c._isDoingComposition&&e.equals(109)&&e.stopPropagation(),e.equals(9)&&e.preventDefault(),c._onKeyDown.fire(e)})),c._register(l.addStandardDisposableListener(r.domNode,"keyup",function(e){c._onKeyUp.fire(e)})),c._register(l.addDisposableListener(r.domNode,"compositionstart",function(e){c._isDoingComposition||(c._isDoingComposition=!0,a.isEdgeOrIE||c._setAndWriteTextAreaState("compositionstart",s.TextAreaState.EMPTY),c._onCompositionStart.fire())}));var d=function(e){var t=c._textAreaState,n=c._textAreaState.readFromTextArea(c._textArea);return[n,s.TextAreaState.deduceInput(t,n,e)]},f=function(e){var t=c._textAreaState,n=s.TextAreaState.selectedText(e);return[n,{text:n.value,replaceCharCnt:t.selectionEnd-t.selectionStart}]};return c._register(l.addDisposableListener(r.domNode,"compositionupdate",function(e){if(!a.isChromev56){if(a.isEdgeOrIE&&"ja"===e.locale){var t=d(!1),n=t[0],i=t[1];return c._textAreaState=n,c._onType.fire(i),void c._onCompositionUpdate.fire(e)}var o=f(e.data),r=o[0],s=o[1];c._textAreaState=r,c._onType.fire(s),c._onCompositionUpdate.fire(e)}})),c._register(l.addDisposableListener(r.domNode,"compositionend",function(e){if(a.isEdgeOrIE&&"ja"===e.locale){var t=d(!1),n=t[0],i=t[1];c._textAreaState=n,c._onType.fire(i)}else{var o=f(e.data),n=o[0],i=o[1];c._textAreaState=n,c._onType.fire(i)}(a.isEdgeOrIE||a.isChrome)&&(c._textAreaState=c._textAreaState.readFromTextArea(c._textArea)),c._isDoingComposition&&(c._isDoingComposition=!1,c._onCompositionEnd.fire())})),c._register(l.addDisposableListener(r.domNode,"input",function(){if(c._isDoingComposition){if(a.isChromev56){var e=f(c._textArea.getValue()),t=e[0],n=e[1];c._textAreaState=t,c._onType.fire(n);var o={data:n.text};c._onCompositionUpdate.fire(o)}}else{var r=d(u.isMacintosh),s=r[0],l=r[1];0===l.replaceCharCnt&&1===l.text.length&&i.isHighSurrogate(l.text.charCodeAt(0))||(c._textAreaState=s,0===c._nextCommand?""!==l.text&&c._onType.fire(l):(""!==l.text&&c._onPaste.fire({text:l.text}),c._nextCommand=0))}})),c._register(l.addDisposableListener(r.domNode,"cut",function(e){c._ensureClipboardGetsEditorSelection(e),c._asyncTriggerCut.schedule()})),c._register(l.addDisposableListener(r.domNode,"copy",function(e){c._ensureClipboardGetsEditorSelection(e)})),c._register(l.addDisposableListener(r.domNode,"paste",function(e){if(h.canUseTextData(e)){var t=h.getTextData(e);""!==t&&c._onPaste.fire({text:t})}else c._textArea.getSelectionStart()!==c._textArea.getSelectionEnd()&&c._setAndWriteTextAreaState("paste",s.TextAreaState.EMPTY),c._nextCommand=1})),c._register(l.addDisposableListener(r.domNode,"focus",function(){return c._setHasFocus(!0)})),c._register(l.addDisposableListener(r.domNode,"blur",function(){return c._setHasFocus(!1)})),c}return f(r,e),r.prototype.dispose=function(){e.prototype.dispose.call(this)},r.prototype.focusTextArea=function(){this._setHasFocus(!0)},r.prototype.isFocused=function(){return this._hasFocus},r.prototype._setHasFocus=function(e){this._hasFocus!==e&&(this._hasFocus=e,this._hasFocus&&(a.isEdge?this._setAndWriteTextAreaState("focusgain",s.TextAreaState.EMPTY):this.writeScreenReaderContent("focusgain")),this._hasFocus?this._onFocus.fire():this._onBlur.fire())},r.prototype._setAndWriteTextAreaState=function(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t},r.prototype.writeScreenReaderContent=function(e){this._isDoingComposition||this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent(this._textAreaState))},r.prototype._ensureClipboardGetsEditorSelection=function(e){var n=this._host.getPlainTextToCopy();if(h.canUseTextData(e)){var i=null;!a.isEdgeOrIE&&(n.length<65536||t.CopyOptions.forceCopyWithSyntaxHighlighting)&&(i=this._host.getHTMLToCopy()),h.setTextData(e,n,i)}else this._setAndWriteTextAreaState("copy or cut",s.TextAreaState.selectedText(n))},r}(r.Disposable);t.TextAreaInput=d;var h=function(){function e(){}return e.canUseTextData=function(e){return!!e.clipboardData||!!window.clipboardData},e.getTextData=function(e){if(e.clipboardData)return e.preventDefault(),e.clipboardData.getData("text/plain");if(window.clipboardData)return e.preventDefault(),window.clipboardData.getData("Text");throw new Error("ClipboardEventUtils.getTextData: Cannot use text data!")},e.setTextData=function(e,t,n){if(e.clipboardData)return e.clipboardData.setData("text/plain",t),null!==n&&e.clipboardData.setData("text/html",n),void e.preventDefault();if(window.clipboardData)return window.clipboardData.setData("Text",t),void e.preventDefault();throw new Error("ClipboardEventUtils.setTextData: Cannot use text data!")},e}(),p=function(e){function t(t){var n=e.call(this)||this;return n._actual=t,n}return f(t,e),t.prototype.getValue=function(){return this._actual.domNode.value},t.prototype.setValue=function(e,t){var n=this._actual.domNode;n.value!==t&&(n.value=t)},t.prototype.getSelectionStart=function(){return this._actual.domNode.selectionStart},t.prototype.getSelectionEnd=function(){return this._actual.domNode.selectionEnd},t.prototype.setSelectionRange=function(e,t,n){var i=this._actual.domNode,o=document.activeElement===i,r=i.selectionStart,s=i.selectionEnd;if(!o||r!==t||s!==n)if(o)i.setSelectionRange(t,n);else try{var a=l.saveParentsScrollTop(i);i.focus(),i.setSelectionRange(t,n),l.restoreParentsScrollTop(i,a)}catch(e){}},t}(r.Disposable)}),define(d[475],h([1,0,10]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){this.model=e,this.currentOpenStackElement=null,this.past=[],this.future=[]}return e.prototype.pushStackElement=function(){null!==this.currentOpenStackElement&&(this.past.push(this.currentOpenStackElement),this.currentOpenStackElement=null)},e.prototype.clear=function(){this.currentOpenStackElement=null,this.past=[],this.future=[]},e.prototype.pushEditOperation=function(e,t,i){this.future=[],this.currentOpenStackElement||(this.currentOpenStackElement={beforeVersionId:this.model.getAlternativeVersionId(),beforeCursorState:e,editOperations:[],afterCursorState:null,afterVersionId:-1});var o={operations:this.model.applyEdits(t)};this.currentOpenStackElement.editOperations.push(o);try{this.currentOpenStackElement.afterCursorState=i?i(o.operations):null}catch(e){n.onUnexpectedError(e),this.currentOpenStackElement.afterCursorState=null}return this.currentOpenStackElement.afterVersionId=this.model.getVersionId(),this.currentOpenStackElement.afterCursorState},e.prototype.undo=function(){if(this.pushStackElement(),this.past.length>0){var e=this.past.pop();try{for(var t=e.editOperations.length-1;t>=0;t--)e.editOperations[t]={operations:this.model.applyEdits(e.editOperations[t].operations)}}catch(e){return this.clear(),null}return this.future.push(e),{selections:e.beforeCursorState,recordedVersionId:e.beforeVersionId}}return null},e.prototype.redo=function(){if(this.future.length>0){if(this.currentOpenStackElement)throw new Error("How is this possible?");var e=this.future.pop();try{for(var t=0;t0;r--){var s=e.getIndentLevel(r);if(-1!==s){var a=o[o.length-1];if(a.indent>s){do{o.pop(),a=o[o.length-1]}while(a.indent>s);var u=a.line-1;u-r>=t&&i.push(new n(r,u,s))}a.indent===s?a.line=r:o.push({indent:s,line:r})}}return i.reverse()}}),define(d[482],h([1,0]),function(e,t){"use strict";function n(e,t,n,i){var o;for(o=0;o0&&s>0)return 0;if(l>0&&c>0)return 0;var h=Math.abs(s-c),p=Math.abs(r-l);return 0===h?p:p%h==0?p/h:0}Object.defineProperty(t,"__esModule",{value:!0}),t.guessIndentation=function(e,t,i){for(var o=Math.min(e.length,1e4),r=0,s=0,a="",u=0,l=[2,4,6,8],c=[0,0,0,0,0,0,0,0,0],d=0;d0?r++:g>1&&s++;var C=n(a,u,h,f);C<=8&&c[C]++,a=h,u=f}}var b=n(a,u,"",0);b<=8&&c[b]++;var w=i;r!==s&&(w=rE&&(E=t,S=e)}),{insertSpaces:w,tabSize:S}}}),define(d[55],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TextModelEventType={ModelDispose:"modelDispose",ModelTokensChanged:"modelTokensChanged",ModelLanguageChanged:"modelLanguageChanged",ModelOptionsChanged:"modelOptionsChanged",ModelContentChanged:"contentChanged",ModelRawContentChanged2:"rawContentChanged2",ModelDecorationsChanged:"decorationsChanged"};!function(e){e[e.Flush=1]="Flush",e[e.LineChanged=2]="LineChanged",e[e.LinesDeleted=3]="LinesDeleted",e[e.LinesInserted=4]="LinesInserted",e[e.EOLChanged=5]="EOLChanged"}(t.RawContentChangedType||(t.RawContentChangedType={}));var n=function(){return function(){this.changeType=1}}();t.ModelRawFlush=n;var i=function(){return function(e,t){this.changeType=2,this.lineNumber=e,this.detail=t}}();t.ModelRawLineChanged=i;var o=function(){return function(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}();t.ModelRawLinesDeleted=o;var r=function(){return function(e,t,n){this.changeType=4,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}();t.ModelRawLinesInserted=r;var s=function(){return function(){this.changeType=5}}();t.ModelRawEOLChanged=s;var a=function(){function e(e,t,n,i){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=i}return e.prototype.containsEvent=function(e){for(var t=0,n=this.changes.length;t0){var s=t.charCodeAt(i);if(0!==e.get(s))return!0}return!1}function l(e,t,n,i,o){if(i+o===n)return!0;var r=t.charCodeAt(i+o);if(0!==e.get(r))return!0;if(o>0){var s=t.charCodeAt(i+o-1);if(0!==e.get(s))return!0}return!1}function c(e,t,n,i,o){return u(e,t,n,i,o)&&l(e,t,n,i,o)}Object.defineProperty(t,"__esModule",{value:!0});var d=function(){function e(e,t,n,i){this.searchString=e,this.isRegex=t,this.matchCase=n,this.wordSeparators=i}return e._isMultilineRegexSource=function(e){if(!e||0===e.length)return!1;for(var t=0,n=e.length;t=n)break;var i=e.charCodeAt(t);if(110===i||114===i)return!0}return!1},e.prototype.parseSearchRequest=function(){if(""===this.searchString)return null;var t;t=this.isRegex?e._isMultilineRegexSource(this.searchString):this.searchString.indexOf("\n")>=0;var i=null;try{i=n.createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:t,global:!0})}catch(e){return null}if(!i)return null;var o=!this.isRegex&&!t;return o&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(o=this.matchCase),new h(i,this.wordSeparators?s.getMapForWordSeparators(this.wordSeparators):null,o?this.searchString:null)},e}();t.SearchParams=d;var h=function(){return function(e,t,n){this.regex=e,this.wordSeparators=t,this.simpleSearch=n}}();t.SearchData=h;var p=function(){function e(){}return e.findMatches=function(e,t,n,i,o){var r=t.parseSearchRequest();return r?r.regex.multiline?this._doFindMatchesMultiline(e,n,new f(r.wordSeparators,r.regex),i,o):this._doFindMatchesLineByLine(e,n,r,i,o):[]},e._getMultilineMatchRange=function(e,t,n,i,r){var s;if("\r\n"===e.getEOL()){for(var a=0,u=0;u=o)return c;return c},e._doFindMatchesLineByLine=function(e,t,n,i,o){var r=[],s=0;if(t.startLineNumber===t.endLineNumber){var a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return s=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,s,r,i,o),r}var u=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);s=this._findMatchesInLine(n,u,t.startLineNumber,t.startColumn-1,s,r,i,o);for(var l=t.startLineNumber+1;l=d))return s;return s}var _,y=new f(e.wordSeparators,e.regex);y.reset(0);do{if((_=y.next(t))&&(u[s++]=a(new o.Range(n,_.index+1+i,n,_.index+1+_[0].length+i),_,l),s>=d))return s}while(_);return s},e.findNextMatch=function(e,t,n,i){var o=t.parseSearchRequest();if(!o)return null;var r=new f(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindNextMatchMultiline(e,n,r,i):this._doFindNextMatchLineByLine(e,n,r,i)},e._doFindNextMatchMultiline=function(e,t,n,s){var u=new i.Position(t.lineNumber,1),l=e.getOffsetAt(u),c=e.getLineCount(),d=e.getValueInRange(new o.Range(u.lineNumber,u.column,c,e.getLineMaxColumn(c)),r.EndOfLinePreference.LF);n.reset(t.column-1);var h=n.next(d);return h?a(this._getMultilineMatchRange(e,l,d,h.index,h[0]),h,s):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new i.Position(1,1),n,s):null},e._doFindNextMatchLineByLine=function(e,t,n,i){var o=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r),a=this._findFirstMatchInLine(n,s,r,t.column,i);if(a)return a;for(var u=1;u<=o;u++){var l=(r+u-1)%o,c=e.getLineContent(l+1),d=this._findFirstMatchInLine(n,c,l+1,1,i);if(d)return d}return null},e._findFirstMatchInLine=function(e,t,n,i,r){e.reset(i-1);var s=e.next(t);return s?a(new o.Range(n,s.index+1,n,s.index+1+s[0].length),s,r):null},e.findPreviousMatch=function(e,t,n,i){var o=t.parseSearchRequest();if(!o)return null;var r=new f(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindPreviousMatchMultiline(e,n,r,i):this._doFindPreviousMatchLineByLine(e,n,r,i)},e._doFindPreviousMatchMultiline=function(e,t,n,r){var s=this._doFindMatchesMultiline(e,new o.Range(1,1,t.lineNumber,t.column),n,r,9990);if(s.length>0)return s[s.length-1];var a=e.getLineCount();return t.lineNumber!==a||t.column!==e.getLineMaxColumn(a)?this._doFindPreviousMatchMultiline(e,new i.Position(a,e.getLineMaxColumn(a)),n,r):null},e._doFindPreviousMatchLineByLine=function(e,t,n,i){var o=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r).substring(0,t.column-1),a=this._findLastMatchInLine(n,s,r,i);if(a)return a;for(var u=1;u<=o;u++){var l=(o+r-u-1)%o,c=e.getLineContent(l+1),d=this._findLastMatchInLine(n,c,l+1,i);if(d)return d}return null},e._findLastMatchInLine=function(e,t,n,i){var r,s=null;for(e.reset(0);r=e.next(t);)s=a(new o.Range(n,r.index+1,n,r.index+1+r[0].length),r,i);return s},e}();t.TextModelSearch=p;var f=function(){function e(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}return e.prototype.reset=function(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0},e.prototype.next=function(e){var t,n=e.length;do{if(this._prevMatchStartIndex+this._prevMatchLength===n)return null;if(!(t=this._searchRegex.exec(e)))return null;var i=t.index,o=t[0].length;if(i===this._prevMatchStartIndex&&o===this._prevMatchLength)return null;if(this._prevMatchStartIndex=i,this._prevMatchLength=o,!this._wordSeparators||c(this._wordSeparators,e,n,i,o))return t}while(t);return null},e}()}),define(d[101],h([1,0,9,20]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(){}return e.fromString=function(e){for(var t=0,i=-1;-1!==(i=e.indexOf("\r",i+1));)t++;var o=n.containsRTL(e),r=!o&&n.isBasicASCII(e),s=e.split(/\r\n|\r|\n/),a="";return n.startsWithUTF8BOM(s[0])&&(a=n.UTF8_BOM_CHARACTER,s[0]=s[0].substr(1)),{BOM:a,lines:s,length:e.length,containsRTL:o,isBasicASCII:r,totalCRCount:t}},e}();t.RawTextSource=o;var r=function(){function e(){}return e._getEOL=function(e,t){var n=e.lines.length-1;return 0===n?t===i.DefaultEndOfLine.LF?"\n":"\r\n":e.totalCRCount>n/2?"\r\n":"\n"},e.fromRawTextSource=function(e,t){return{length:e.length,lines:e.lines,BOM:e.BOM,EOL:this._getEOL(e,t),containsRTL:e.containsRTL,isBasicASCII:e.isBasicASCII}},e.fromString=function(e,t){return this.fromRawTextSource(o.fromString(e),t)},e.create=function(e,t){return"string"==typeof e?this.fromString(e,t):this.fromRawTextSource(e,t)},e}();t.TextSource=r}),define(d[116],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){}return e.getLanguageId=function(e){return(255&e)>>>0},e.getTokenType=function(e){return(1792&e)>>>8},e.getFontStyle=function(e){return(14336&e)>>>11},e.getForeground=function(e){return(8372224&e)>>>14},e.getBackground=function(e){return(4286578688&e)>>>23},e.getClassNameFromMetadata=function(e){var t="mtk"+this.getForeground(e),n=this.getFontStyle(e);return 1&n&&(t+=" mtki"),2&n&&(t+=" mtkb"),4&n&&(t+=" mtku"),t},e.getInlineStyleFromMetadata=function(e,t){var n=this.getForeground(e),i=this.getFontStyle(e),o="color: "+t[n]+";";return 1&i&&(o+="font-style: italic;"),2&i&&(o+="font-weight: bold;"),4&i&&(o+="text-decoration: underline;"),o},e}();t.TokenMetadata=n}),define(d[90],h([1,0,116]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this.endIndex=e,this._metadata=t}return e.prototype.getForeground=function(){return n.TokenMetadata.getForeground(this._metadata)},e.prototype.getType=function(){return n.TokenMetadata.getClassNameFromMetadata(this._metadata)},e.prototype.getInlineStyle=function(e){return n.TokenMetadata.getInlineStyleFromMetadata(this._metadata,e)},e._equals=function(e,t){return e.endIndex===t.endIndex&&e._metadata===t._metadata},e.equalsArr=function(e,t){var n=e.length;if(n!==t.length)return!1;for(var i=0;i>>1;o>>1;l=n);l++){var d=l+1>>1)-1;nt?i=o-1:n=o}return n},e}();t.ViewLineTokenFactory=o}),define(d[130],h([1,0,116,90]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t,n,i,o,r){this._source=e,this._tokenIndex=t,this._metadata=r,this.startOffset=i,this.endOffset=o,this.hasPrev=this._tokenIndex>0,this.hasNext=this._tokenIndex+1>>1,this._text=t,this._textLength=this._text.length}return e.prototype.getTokenCount=function(){return this._tokensCount},e.prototype.getLineContent=function(){return this._text},e.prototype.getLineLength=function(){return this._textLength},e.prototype.getTokenStartOffset=function(e){return this._tokens[e<<1]},e.prototype.getLanguageId=function(e){var t=this._tokens[1+(e<<1)];return n.TokenMetadata.getLanguageId(t)},e.prototype.getStandardTokenType=function(e){var t=this._tokens[1+(e<<1)];return n.TokenMetadata.getTokenType(t)},e.prototype.getTokenEndOffset=function(e){return e+1>>0}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t,n,i){this.id=e,this.internalDecorationId=t,this.position=n,this.stickToPreviousCharacter=i}return e.prototype.toString=function(){return"{'"+this.id+"';"+this.position.toString()+","+this.stickToPreviousCharacter+"}"},e.prototype.updateLineNumber=function(e,t){this.position.lineNumber!==t&&(e.addChangedMarker(this),this.position=new i.Position(t,this.position.column))},e.prototype.updateColumn=function(e,t){this.position.column!==t&&(e.addChangedMarker(this),this.position=new i.Position(this.position.lineNumber,t))},e.prototype.updatePosition=function(e,t){this.position.lineNumber===t.lineNumber&&this.position.column===t.column||(e.addChangedMarker(this),this.position=t)},e.prototype.setPosition=function(e){this.position=e},e.compareMarkers=function(e,t){return e.position.column===t.position.column?(e.stickToPreviousCharacter?0:1)-(t.stickToPreviousCharacter?0:1):e.position.column-t.position.column},e}();t.LineMarker=s;var a=function(){function e(){this._changedDecorations=[],this._changedDecorationsLen=0}return e.prototype.addChangedMarker=function(e){var t=e.internalDecorationId;0!==t&&(this._changedDecorations[this._changedDecorationsLen++]=t)},e.prototype.getDecorationIds=function(){return this._changedDecorations},e}();t.MarkersTracker=a;var u,l={adjust:function(){},finish:function(){}},c={adjustDelta:function(){},adjustSet:function(){},finish:function(){}};!function(e){e[e.MarkerDefined=0]="MarkerDefined",e[e.ForceMove=1]="ForceMove",e[e.ForceStay=2]="ForceStay"}(u||(u={}));var d=function(){function e(e){e&&(this._markers=null)}return e.prototype._createMarkersAdjuster=function(e){if(!this._markers)return c;if(0===this._markers.length)return c;this._markers.sort(s.compareMarkers);var t=this._markers,n=t.length,i=0,o=t[i],r=function(e,t){return o.position.columne)&&(1!==t&&(2===t||o.stickToPreviousCharacter))},a=function(s,a,u,l){for(;i0?2:0);var f=Math.min(h,p);f>0&&(r.adjust(l.startColumn-1+f,i,c),l.forceMoveMarkers||s.adjustDelta(l.startColumn+f,i,c,l.forceMoveMarkers?1:h>p?2:0)),o=o.substring(0,c-1)+l.text+o.substring(d-1),i+=p-h,r.adjust(l.endColumn,i,c),s.adjustSet(l.endColumn,c+p,l.forceMoveMarkers?1:0)}return r.finish(i,o.length),s.finish(i,o.length),this._setText(o,n),i},e.prototype.split=function(e,t,n,i){var o=this.text.substring(0,t-1),r=this.text.substring(t-1),a=null;if(this._markers){this._markers.sort(s.compareMarkers);for(var u=0,l=this._markers.length;ut||d.position.column===t&&(n||!d.stickToPreviousCharacter)){var c=this._markers.slice(0,u);a=this._markers.slice(u),this._markers=c;break}if(a)for(var u=0,l=a.length;u>1)-1},t.prototype._setPlusOneIndentLevel=function(e){this._metadata=1&this._metadata|(4026531839&e)<<1},t.prototype.updateTabSize=function(e){0===e?this._metadata=1&this._metadata:this._setPlusOneIndentLevel(o(this._text,e))},t.prototype._createModelLine=function(e,n){return new t(e,n)},t.prototype.split=function(t,n,i,o){var r=e.prototype.split.call(this,t,n,i,o);return this._deleteMarkedTokens(this._markOverflowingTokensForDeletion(0,this.text.length)),r},t.prototype.append=function(n,i,o,r){var s=this.text.length;if(e.prototype.append.call(this,n,i,o,r),o instanceof t){var a=o._lineTokens;if(a){var u=new Uint32Array(a);if(s>0)for(var l=0,c=u.length>>>1;l>>1,i=0,o=0,r=0,s=function(e,s,a){for(var u=a-1;o0&&0!==s){var l=Math.max(u,o+s);if(t[i<<1]=l,s<0)for(var c=i;c>0;){var d=t[c-1<<1];if(!(d>=l))break;4294967295!==d&&(t[c-1<<1]=4294967295,r++),c--}}++i>>1;if(e+1===i)return e;for(var o=i-1;o>0;o--){var r=n[o<<1];if(r>>1,i=new Uint32Array(n-e<<1),o=0,r=0;r=o)return{word:a[0],startColumn:i+1+a.index,endColumn:i+1+t.lastIndex};return null}function i(e,t,n,i){var o=e-1-i;t.lastIndex=0;for(var r;r=t.exec(n);){if(r.index>o)return null;if(t.lastIndex>=o)return{word:r[0],startColumn:i+1+r.index,endColumn:i+1+t.lastIndex}}return null}Object.defineProperty(t,"__esModule",{value:!0}),t.USUAL_WORD_SEPARATORS="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",t.DEFAULT_WORD_REGEXP=function(e){void 0===e&&(e="");for(var n=t.USUAL_WORD_SEPARATORS,i="(-?\\d*\\.\\d\\w*)|([^",o=0;o=0||(i+="\\"+n[o]);return i+="\\s]+)",new RegExp(i,"g")}(),t.ensureValidWordDefinition=function(e){var n=t.DEFAULT_WORD_REGEXP;if(e&&e instanceof RegExp)if(e.global)n=e;else{var i="g";e.ignoreCase&&(i+="i"),e.multiline&&(i+="m"),n=new RegExp(e.source,i)}return n.lastIndex=0,n},t.getWordAtText=function(e,t,o,r){t.lastIndex=0;var s=t.exec(o);if(!s)return null;var a=s[0].indexOf(" ")>=0?i(e,t,o,r):n(e,t,o,r);return t.lastIndex=0,a}}),define(d[511],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this._languageIdentifier=e}return e.prototype.getId=function(){return this._languageIdentifier.language},e.prototype.getLanguageIdentifier=function(){return this._languageIdentifier},e}();t.FrankensteinMode=n}),define(d[60],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});!function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(t.IndentAction||(t.IndentAction={}));var n=function(){function e(e){if(this.open=e.open,this.close=e.close,this._standardTokenMask=0,Array.isArray(e.notIn))for(var t=0,n=e.notIn.length;tr&&(r=u)}return r}if("string"==typeof e)return"*"===e?5:e===o?10:0;if(e){var l=e.language,c=e.pattern,d=e.scheme,r=0;if(d)if(d===t.scheme)r=10;else{if("*"!==d)return 0;r=5}if(l)if(l===o)r=10;else{if("*"!==l)return 0;r=Math.max(r,5)}if(c){if(c!==t.fsPath&&!n.match(c,t.fsPath))return 0;r=10}return r}return 0}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return i(e,t,n)>0},t.score=i}),define(d[533],h([1,0,11,513]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(){this._clock=0,this._entries=[],this._onDidChange=new n.Emitter}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var n=this,i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),{dispose:function(){if(i){var e=n._entries.indexOf(i);e>=0&&(n._entries.splice(e,1),n._lastCandidate=void 0,n._onDidChange.fire(n._entries.length),i=void 0)}}}},e.prototype.has=function(e){return this.all(e).length>0},e.prototype.all=function(e){if(!e||e.isTooLargeForHavingARichMode())return[];this._updateScores(e);for(var t=[],n=0,i=this._entries;n0&&t.push(o.provider)}return t},e.prototype.ordered=function(e){var t=[];return this._orderedForEach(e,function(e){return t.push(e.provider)}),t},e.prototype.orderedGroups=function(e){var t,n,i=[];return this._orderedForEach(e,function(e){t&&n===e._score?t.push(e.provider):(n=e._score,t=[e.provider],i.push(t))}),i},e.prototype._orderedForEach=function(e,t){if(e&&!e.isTooLargeForHavingARichMode()){this._updateScores(e);for(var n=0;n0&&t(i)}}},e.prototype._updateScores=function(t){var n={uri:t.uri.toString(),language:t.getLanguageIdentifier().language};if(!this._lastCandidate||this._lastCandidate.language!==n.language||this._lastCandidate.uri!==n.uri){this._lastCandidate=n;for(var o=0,r=this._entries;ot._score?-1:e._timet._time?-1:0},e}();t.default=o}),define(d[536],h([1,0,89,96]),function(e,t,n,i){"use strict";function o(){return null===l&&(l=new u([[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]])),l}function r(){if(null===c){c=new n.CharacterClassifier(0);for(e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)c.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(var e=0;e<".,;".length;e++)c.set(".,;".charCodeAt(e),2)}return c}Object.defineProperty(t,"__esModule",{value:!0});var s;!function(e){e[e.Invalid=0]="Invalid",e[e.Start=1]="Start",e[e.H=2]="H",e[e.HT=3]="HT",e[e.HTT=4]="HTT",e[e.HTTP=5]="HTTP",e[e.F=6]="F",e[e.FI=7]="FI",e[e.FIL=8]="FIL",e[e.BeforeColon=9]="BeforeColon",e[e.AfterColon=10]="AfterColon",e[e.AlmostThere=11]="AlmostThere",e[e.End=12]="End",e[e.Accept=13]="Accept"}(s||(s={}));var a,u=function(){function e(e){for(var t=0,n=0,o=0,r=e.length;ot&&(t=u),a>n&&(n=a),l>n&&(n=l)}t++,n++;for(var c=new i.Uint8Matrix(n,t,0),o=0,r=e.length;o=this._maxCharCode?0:this._states.get(e,t)},e}(),l=null;!function(e){e[e.None=0]="None",e[e.ForceTermination=1]="ForceTermination",e[e.CannotEndIn=2]="CannotEndIn"}(a||(a={}));var c=null,d=function(){function e(){}return e._createLink=function(e,t,n,i,o){var r=o-1;do{var s=t.charCodeAt(r);if(2!==e.get(s))break;r--}while(r>i);return{range:{startLineNumber:n,startColumn:i+1,endLineNumber:n,endColumn:r+2},url:t.substring(i,r+1)}},e.computeLinks=function(t){for(var n=o(),i=r(),s=[],a=1,u=t.getLineCount();a<=u;a++){for(var l=t.getLineContent(a),c=l.length,d=0,h=0,p=0,f=1,g=!1,m=!1,v=!1;d=0},e.prototype.shouldIncrease=function(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&this._indentationRules.increaseIndentPattern.test(e))},e.prototype.shouldDecrease=function(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&this._indentationRules.decreaseIndentPattern.test(e))},e.prototype.shouldIndentNextLine=function(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&this._indentationRules.indentNextLinePattern.test(e))},e.prototype.shouldIgnore=function(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&this._indentationRules.unIndentedLinePattern.test(e))},e.prototype.getIndentMetadata=function(e){var t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t},e}();t.IndentRulesSupport=o}),define(d[546],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}return e.prototype.navigateValueSet=function(e,t,n,i,o){if(e&&t&&(r=this.doNavigateValueSet(t,o)))return{range:e,value:r};if(n&&i){var r=this.doNavigateValueSet(i,o);if(r)return{range:n,value:r}}return null},e.prototype.doNavigateValueSet=function(e,t){var n=this.numberReplace(e,t);return null!==n?n:this.textReplace(e,t)},e.prototype.numberReplace=function(e,t){var n=Math.pow(10,e.length-(e.lastIndexOf(".")+1)),i=Number(e),o=parseFloat(e);return isNaN(i)||isNaN(o)||i!==o?null:0!==i||t?(i=Math.floor(i*n),i+=t?n:-n,String(i/n)):null},e.prototype.textReplace=function(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)},e.prototype.valueSetsReplace=function(e,t,n){for(var i=null,o=0,r=e.length;null===i&&o=0?((i+=n?1:-1)<0?i=e.length-1:i%=e.length,e[i]):null},e.INSTANCE=new e,e}();t.BasicInplaceReplace=n}),define(d[550],h([1,0,10,9,60]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(t){(t=t||{}).brackets=t.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=t.brackets.map(function(t){return{open:t[0],openRegExp:e._createOpenBracketRegExp(t[0]),close:t[1],closeRegExp:e._createCloseBracketRegExp(t[1])}}),this._regExpRules=t.regExpRules||[],this._indentationRules=t.indentationRules}return e.prototype.onEnter=function(e,t,n){for(var i=0,r=this._regExpRules.length;i0&&n.length>0)for(var i=0,r=this._brackets.length;i0)for(var i=0,r=this._brackets.length;i=0;n--)t+=e.charAt(n);return t}var t=null,n=null;return function(i){return t!==i&&(n=e(t=i)),n}}(),p=function(){function e(){}return e._findPrevBracketInText=function(e,t,n,o){var r=n.match(e);if(!r)return null;var s=n.length-r.index,a=r[0].length,u=o+s;return new i.Range(t,u-a+1,t,u+1)},e.findPrevBracketInToken=function(e,t,n,i,o){var r=h(n).substring(n.length-o,n.length-i);return this._findPrevBracketInText(e,t,r,i)},e.findNextBracketInText=function(e,t,n,o){var r=n.match(e);if(!r)return null;var s=r.index,a=r[0].length,u=o+s;return new i.Range(t,u+1,t,u+1+a)},e.findNextBracketInToken=function(e,t,n,i,o){var r=n.substring(i,o);return this.findNextBracketInText(e,t,r,i)},e}();t.BracketsUtils=p}),define(d[202],h([1,0,32]),function(e,t,n){"use strict";function i(e){if(!e||!Array.isArray(e))return[];for(var t=[],n=0,i=0,o=e.length;i=1&&""===e[0].token;){var o=e.shift();-1!==o.fontStyle&&(t=o.fontStyle),null!==o.foreground&&(n=o.foreground),null!==o.background&&(i=o.background)}for(var r=new u,a=new d(t,r.getId(n),r.getId(i)),c=new p(a),h=0,f=e.length;ht?1:0}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){return function(e,t,n,i,o){this.token=e,this.index=t,this.fontStyle=n,this.foreground=i,this.background=o}}();t.ParsedTokenThemeRule=a,t.parseTokenTheme=i;var u=function(){function e(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}return e.prototype.getId=function(e){if(null===e)return 0;if(e=e.toUpperCase(),!/^[0-9A-F]{6}$/.test(e))throw new Error("Illegal color name: "+e);var t=this._color2id.get(e);return t||(t=++this._lastColorId,this._color2id.set(e,t),this._id2color[t]=n.Color.fromHex("#"+e),t)},e.prototype.getColorMap=function(){return this._id2color.slice(0)},e}();t.ColorMap=u;var l=function(){function e(e,t){this._colorMap=e,this._root=t,this._cache=new Map}return e.createFromRawTokenTheme=function(e){return this.createFromParsedTokenTheme(i(e))},e.createFromParsedTokenTheme=function(e){return o(e)},e.prototype.getColorMap=function(){return this._colorMap.getColorMap()},e.prototype.getThemeTrieElement=function(){return this._root.toExternalThemeTrieElement()},e.prototype._match=function(e){return this._root.match(e)},e.prototype.match=function(e,t){var n=this._cache.get(t);if(void 0===n){var i=this._match(t),o=r(t);n=(i.metadata|o<<8)>>>0,this._cache.set(t,n)}return(n|e<<0)>>>0},e}();t.TokenTheme=l;var c=/\b(comment|string|regex)\b/;t.toStandardTokenType=r,t.strcmp=s;var d=function(){function e(e,t,n){this._fontStyle=e,this._foreground=t,this._background=n,this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0}return e.prototype.clone=function(){return new e(this._fontStyle,this._foreground,this._background)},e.cloneArr=function(e){for(var t=[],n=0,i=e.length;n>>0},e}();t.ThemeTrieElementRule=d;var h=function(){return function(e,t){this.mainRule=e,this.children=t||Object.create(null)}}();t.ExternalThemeTrieElement=h;var p=function(){function e(e){this._mainRule=e,this._children=new Map}return e.prototype.toExternalThemeTrieElement=function(){var e=Object.create(null);return this._children.forEach(function(t,n){e[n]=t.toExternalThemeTrieElement()}),new h(this._mainRule,e)},e.prototype.match=function(e){if(""===e)return this._mainRule;var t,n,i=e.indexOf(".");-1===i?(t=e,n=""):(t=e.substring(0,i),n=e.substring(i+1));var o=this._children.get(t);return void 0!==o?o.match(n):this._mainRule},e.prototype.insert=function(t,n,i,o){if(""!==t){var r,s,a=t.indexOf(".");-1===a?(r=t,s=""):(r=t.substring(0,a),s=t.substring(a+1));var u=this._children.get(r);void 0===u&&(u=new e(this._mainRule.clone()),this._children.set(r,u)),u.insert(s,n,i,o)}else this._mainRule.acceptOverwrite(n,i,o)},e}();t.ThemeTrieElement=p,t.generateTokensCSSForColorMap=function(e){for(var t=[],n=1,i=e.length;n>>0,new i.TokenizationResult2(r,n)}}),define(d[91],h([1,0,17]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createScopedLineTokens=function(e,t){for(var n=e.getTokenCount(),o=e.findTokenIndexAtOffset(t),r=e.getLanguageId(o),s=o;s+10&&e.getLanguageId(a-1)===r;)a--;return new i(e,r,a,s+1,e.getTokenStartOffset(a),e.getTokenEndOffset(s))};var i=function(){function e(e,t,n,i,o,r){this._actual=e,this.languageId=t,this._firstTokenIndex=n,this._lastTokenIndex=i,this.firstCharOffset=o,this._lastCharOffset=r}return e.prototype.getLineContent=function(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)},e.prototype.getTokenCount=function(){return this._lastTokenIndex-this._firstTokenIndex},e.prototype.findTokenIndexAtOffset=function(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex},e.prototype.getTokenStartOffset=function(e){return this._actual.getTokenStartOffset(e+this._firstTokenIndex)-this.firstCharOffset},e.prototype.getStandardTokenType=function(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)},e}();t.ScopedLineTokens=i;var o;!function(e){e[e.value=7]="value"}(o||(o={})),t.ignoreBracketsInToken=function(e){return 0!=(7&e)}}),define(d[207],h([1,0,91,98,60]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n){n=n||{},this._richEditBrackets=e,this._complexAutoClosePairs=t.filter(function(e){return e.open.length>1&&!!e.close}).map(function(e){return new o.StandardAutoClosingPairConditional(e)}),n.docComment&&this._complexAutoClosePairs.push(new o.StandardAutoClosingPairConditional({open:n.docComment.open,close:n.docComment.close}))}return e.prototype.getElectricCharacters=function(){var e=[];if(this._richEditBrackets)for(var t=0,n=this._richEditBrackets.brackets.length;t=0))return{appendText:s.close}}}return null},e}();t.BracketElectricCharacterSupport=r}),define(d[43],h([1,0,543,207,550,545,98,11,10,9,95,91,2,60]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var f=function(){function e(t,o,a){var u=null;o&&(u=o._conf),this._conf=e._mergeConf(u,a),this._conf.brackets&&(this.brackets=new s.RichEditBrackets(t,this._conf.brackets)),this.onEnter=e._handleOnEnter(this._conf),this.comments=e._handleComments(this._conf),this.characterPair=new n.CharacterPairSupport(this._conf),this.electricCharacter=new i.BracketElectricCharacterSupport(this.brackets,this.characterPair.getAutoClosingPairs(),this._conf.__electricCharacterSupport),this.wordDefinition=this._conf.wordPattern||c.DEFAULT_WORD_REGEXP,this.indentationRules=this._conf.indentationRules,this._conf.indentationRules&&(this.indentRulesSupport=new r.IndentRulesSupport(this._conf.indentationRules))}return e._mergeConf=function(e,t){return{comments:e?t.comments||e.comments:t.comments,brackets:e?t.brackets||e.brackets:t.brackets,wordPattern:e?t.wordPattern||e.wordPattern:t.wordPattern,indentationRules:e?t.indentationRules||e.indentationRules:t.indentationRules,onEnterRules:e?t.onEnterRules||e.onEnterRules:t.onEnterRules,autoClosingPairs:e?t.autoClosingPairs||e.autoClosingPairs:t.autoClosingPairs,surroundingPairs:e?t.surroundingPairs||e.surroundingPairs:t.surroundingPairs,__electricCharacterSupport:e?t.__electricCharacterSupport||e.__electricCharacterSupport:t.__electricCharacterSupport}},e._handleOnEnter=function(e){var t={},n=!0;return e.brackets&&(n=!1,t.brackets=e.brackets),e.indentationRules&&(n=!1,t.indentationRules=e.indentationRules),e.onEnterRules&&(n=!1,t.regExpRules=e.onEnterRules),n?null:new o.OnEnterSupport(t)},e._handleComments=function(e){var t=e.comments;if(!t)return null;var n={};if(t.lineComment&&(n.lineCommentToken=t.lineComment),t.blockComment){var i=t.blockComment,o=i[0],r=i[1];n.blockCommentStartToken=o,n.blockCommentEndToken=r}return n},e}();t.RichEditSupport=f;var g=function(){function e(){this._onDidChange=new a.Emitter,this.onDidChange=this._onDidChange.event,this._entries=[]}return e.prototype.register=function(e,t){var n=this,i=this._getRichEditSupport(e.id),o=new f(e,i,t);return this._entries[e.id]=o,this._onDidChange.fire(void 0),{dispose:function(){n._entries[e.id]===o&&(n._entries[e.id]=i,n._onDidChange.fire(void 0))}}},e.prototype._getRichEditSupport=function(e){return this._entries[e]||null},e.prototype.getIndentationRules=function(e){var t=this._entries[e];return t?t.indentationRules||null:null},e.prototype._getElectricCharacterSupport=function(e){var t=this._getRichEditSupport(e);return t?t.electricCharacter||null:null},e.prototype.getElectricCharacters=function(e){var t=this._getElectricCharacterSupport(e);return t?t.getElectricCharacters():[]},e.prototype.onElectricCharacter=function(e,t,n){var i=d.createScopedLineTokens(t,n-1),o=this._getElectricCharacterSupport(i.languageId);return o?o.onElectricCharacter(e,i,n-i.firstCharOffset):null},e.prototype.getComments=function(e){var t=this._getRichEditSupport(e);return t?t.comments||null:null},e.prototype._getCharacterPairSupport=function(e){var t=this._getRichEditSupport(e);return t?t.characterPair||null:null},e.prototype.getAutoClosingPairs=function(e){var t=this._getCharacterPairSupport(e);return t?t.getAutoClosingPairs():[]},e.prototype.getSurroundingPairs=function(e){var t=this._getCharacterPairSupport(e);return t?t.getSurroundingPairs():[]},e.prototype.shouldAutoClosePair=function(e,t,n){var i=d.createScopedLineTokens(t,n-1),o=this._getCharacterPairSupport(i.languageId);return!!o&&o.shouldAutoClosePair(e,i,n-i.firstCharOffset)},e.prototype.getWordDefinition=function(e){var t=this._getRichEditSupport(e);return t?c.ensureValidWordDefinition(t.wordDefinition||null):c.ensureValidWordDefinition(null)},e.prototype.getIndentRulesSupport=function(e){var t=this._getRichEditSupport(e);return t?t.indentRulesSupport||null:null},e.prototype.getPrecedingValidLine=function(e,t,n){var i=e.getLanguageIdAtPosition(t,0);if(t>1){var o=t-1,r=-1;for(o=t-1;o>=1;o--){if(e.getLanguageIdAtPosition(o,0)!==i)return r;var s=e.getLineContent(o);if(!n.shouldIgnore(s)&&!/^\s+$/.test(s)&&""!==s)return o;r=o}}return-1},e.prototype.getInheritIndentForLine=function(e,t,n){void 0===n&&(n=!0);var i=this.getIndentRulesSupport(e.getLanguageIdentifier().id);if(!i)return null;if(t<=1)return{indentation:"",action:null};var o=this.getPrecedingValidLine(e,t,i);if(o<0)return null;if(o<1)return{indentation:"",action:null};var r=e.getLineContent(o);if(i.shouldIncrease(r)||i.shouldIndentNextLine(r))return{indentation:l.getLeadingWhitespace(r),action:p.IndentAction.Indent,line:o};if(i.shouldDecrease(r))return{indentation:l.getLeadingWhitespace(r),action:null,line:o};if(1===o)return{indentation:l.getLeadingWhitespace(e.getLineContent(o)),action:null,line:o};var s=o-1,a=i.getIndentMetadata(e.getLineContent(s));if(!(3&a)&&4&a){for(var u=0,c=s-1;c>0;c--)if(!i.shouldIndentNextLine(e.getLineContent(c))){u=c;break}return{indentation:l.getLeadingWhitespace(e.getLineContent(u+1)),action:null,line:u+1}}if(n)return{indentation:l.getLeadingWhitespace(e.getLineContent(o)),action:null,line:o};for(c=o;c>0;c--){var d=e.getLineContent(c);if(i.shouldIncrease(d))return{indentation:l.getLeadingWhitespace(d),action:p.IndentAction.Indent,line:c};if(i.shouldIndentNextLine(d)){for(var u=0,h=c-1;h>0;h--)if(!i.shouldIndentNextLine(e.getLineContent(c))){u=h;break}return{indentation:l.getLeadingWhitespace(e.getLineContent(u+1)),action:null,line:u+1}}if(i.shouldDecrease(d))return{indentation:l.getLeadingWhitespace(d),action:null,line:c}}return{indentation:l.getLeadingWhitespace(e.getLineContent(1)),action:null,line:1}},e.prototype.getGoodIndentForLine=function(e,t,n,i){var o=this.getIndentRulesSupport(t);if(!o)return null;var r=this.getInheritIndentForLine(e,n),s=e.getLineContent(n);if(r){var a=r.line;if(void 0!==a){var c=this._getOnEnterSupport(t),d=null;try{d=c.onEnter("",e.getLineContent(a),"")}catch(e){u.onUnexpectedError(e)}if(d){var h=l.getLeadingWhitespace(e.getLineContent(a));return d.removeText&&(h=h.substring(0,h.length-d.removeText)),d.indentAction===p.IndentAction.Indent||d.indentAction===p.IndentAction.IndentOutdent?h=i.shiftIndent(h):d.indentAction===p.IndentAction.Outdent&&(h=i.unshiftIndent(h)),o.shouldDecrease(s)&&(h=i.unshiftIndent(h)),d.appendText&&(h+=d.appendText),l.getLeadingWhitespace(h)}}return o.shouldDecrease(s)?r.action===p.IndentAction.Indent?r.indentation:i.unshiftIndent(r.indentation):r.action===p.IndentAction.Indent?i.shiftIndent(r.indentation):r.indentation}return null},e.prototype.getIndentForEnter=function(e,t,n,i){e.forceTokenization(t.startLineNumber);var o,r,s=e.getLineTokens(t.startLineNumber),a=d.createScopedLineTokens(s,t.startColumn-1),u=a.getLineContent(),c=!1;a.firstCharOffset>0&&s.getLanguageId(0)!==a.languageId?(c=!0,o=u.substr(0,t.startColumn-1-a.firstCharOffset)):o=s.getLineContent().substring(0,t.startColumn-1),r=t.isEmpty()?u.substr(t.startColumn-1-a.firstCharOffset):this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-a.firstCharOffset);var h=this.getIndentRulesSupport(a.languageId);if(!h)return null;var f=o,g=l.getLeadingWhitespace(o);if(!i&&!c){var m=this.getInheritIndentForLine(e,t.startLineNumber);h.shouldDecrease(o)&&m&&(g=m.indentation,m.action!==p.IndentAction.Indent&&(g=n.unshiftIndent(g))),f=g+l.ltrim(l.ltrim(o," "),"\t")}var v={getLineTokens:function(t){return e.getLineTokens(t)},getLanguageIdentifier:function(){return e.getLanguageIdentifier()},getLanguageIdAtPosition:function(t,n){return e.getLanguageIdAtPosition(t,n)},getLineContent:function(n){return n===t.startLineNumber?f:e.getLineContent(n)}},_=l.getLeadingWhitespace(s.getLineContent()),y=this.getInheritIndentForLine(v,t.startLineNumber+1);if(!y){var C=c?_:g;return{beforeEnter:C,afterEnter:C}}var b=c?_:y.indentation;return y.action===p.IndentAction.Indent&&(b=n.shiftIndent(b)),h.shouldDecrease(r)&&(b=n.unshiftIndent(b)),{beforeEnter:c?_:g,afterEnter:b}},e.prototype.getIndentActionForType=function(e,t,n,i){var o=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),r=this.getIndentRulesSupport(o.languageId);if(!r)return null;var s,a=o.getLineContent(),u=a.substr(0,t.startColumn-1-o.firstCharOffset);if(s=t.isEmpty()?a.substr(t.startColumn-1-o.firstCharOffset):this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-o.firstCharOffset),!r.shouldDecrease(u+s)&&r.shouldDecrease(u+n+s)){var l=this.getInheritIndentForLine(e,t.startLineNumber,!1);if(!l)return null;var c=l.indentation;return l.action!==p.IndentAction.Indent&&(c=i.unshiftIndent(c)),c}return null},e.prototype.getIndentMetadata=function(e,t){var n=this.getIndentRulesSupport(e.getLanguageIdentifier().id);return n?t<1||t>e.getLineCount()?null:n.getIndentMetadata(e.getLineContent(t)):null},e.prototype._getOnEnterSupport=function(e){var t=this._getRichEditSupport(e);return t?t.onEnter||null:null},e.prototype.getRawEnterActionAtPosition=function(e,t,n){var i=this.getEnterAction(e,new h.Range(t,n,t,n));return i?i.enterAction:null},e.prototype.getEnterAction=function(e,t){var n=this.getIndentationAtPosition(e,t.startLineNumber,t.startColumn),i=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),o=this._getOnEnterSupport(i.languageId);if(!o)return null;var r,s=i.getLineContent(),a=s.substr(0,t.startColumn-1-i.firstCharOffset);r=t.isEmpty()?s.substr(t.startColumn-1-i.firstCharOffset):this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-i.firstCharOffset);var l=t.startLineNumber,c="";if(l>1&&0===i.firstCharOffset){var d=this.getScopedLineTokens(e,l-1);d.languageId===i.languageId&&(c=d.getLineContent())}var h=null;try{h=o.onEnter(c,a,r)}catch(e){u.onUnexpectedError(e)}return h?(h.appendText||(h.indentAction===p.IndentAction.Indent||h.indentAction===p.IndentAction.IndentOutdent?h.appendText="\t":h.appendText=""),h.removeText&&(n=n.substring(0,n.length-h.removeText)),{enterAction:h,indentation:n}):null},e.prototype.getIndentationAtPosition=function(e,t,n){var i=e.getLineContent(t),o=l.getLeadingWhitespace(i);return o.length>n-1&&(o=o.substring(0,n-1)),o},e.prototype.getScopedLineTokens=function(e,t,n){e.forceTokenization(t);var i=e.getLineTokens(t),o=isNaN(n)?e.getLineMaxColumn(t)-1:n-1;return d.createScopedLineTokens(i,o)},e.prototype.getBracketsSupport=function(e){var t=this._getRichEditSupport(e);return t?t.brackets||null:null},e}();t.LanguageConfigurationRegistryImpl=g,t.LanguageConfigurationRegistry=new g}),define(d[122],h([1,0,9,17,68,130]),function(e,t,n,i,o,r){"use strict";function s(e){var t=i.TokenizationRegistry.get(e);return t||{getInitialState:function(){return o.NULL_STATE},tokenize:void 0,tokenize2:function(e,t,n){return o.nullTokenize2(0,e,t,n)}}}function a(e,t){for(var i='
    ',o=e.split(/\r\n|\r|\n/),s=t.getInitialState(),a=0,u=o.length;a0&&(i+="
    ");for(var c=t.tokenize2(l,s,0),d=new r.LineTokens(c.tokens,l).inflate(),h=0,p=0,f=d.length;p'+n.escape(l.substring(h,g.endIndex))+"",h=g.endIndex}s=c.endState}return i+="
    "}Object.defineProperty(t,"__esModule",{value:!0}),t.tokenizeToString=function(e,t){return a(e,s(t))},t.tokenizeLineToHTML=function(e,t,n,i,o,r){for(var s="
    ",a=i,u=0,l=0,c=t.length;l0;)p+=" ",g--;break;case 60:p+="<";break;case 62:p+=">";break;case 38:p+="&";break;case 0:p+="�";break;case 65279:case 8232:p+="�";break;case 13:p+="​";break;default:p+=String.fromCharCode(f)}}if(s+=''+p+"",d.endIndex>o||a>=o)break}}return s+="
    "}}),define(d[210],h([1,0,11]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(){this._transientWatchers={},this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._onCodeEditorAdd=new n.Emitter,this._onCodeEditorRemove=new n.Emitter,this._onDiffEditorAdd=new n.Emitter,this._onDiffEditorRemove=new n.Emitter}return e.prototype.addCodeEditor=function(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)},Object.defineProperty(e.prototype,"onCodeEditorAdd",{get:function(){return this._onCodeEditorAdd.event},enumerable:!0,configurable:!0}),e.prototype.removeCodeEditor=function(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)},Object.defineProperty(e.prototype,"onCodeEditorRemove",{get:function(){return this._onCodeEditorRemove.event},enumerable:!0,configurable:!0}),e.prototype.getCodeEditor=function(e){return this._codeEditors[e]||null},e.prototype.listCodeEditors=function(){var e=this;return Object.keys(this._codeEditors).map(function(t){return e._codeEditors[t]})},e.prototype.addDiffEditor=function(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)},Object.defineProperty(e.prototype,"onDiffEditorAdd",{get:function(){return this._onDiffEditorAdd.event},enumerable:!0,configurable:!0}),e.prototype.removeDiffEditor=function(e){delete this._diffEditors[e.getId()]&&this._onDiffEditorRemove.fire(e)},Object.defineProperty(e.prototype,"onDiffEditorRemove",{get:function(){return this._onDiffEditorRemove.event},enumerable:!0,configurable:!0}),e.prototype.getDiffEditor=function(e){return this._diffEditors[e]||null},e.prototype.listDiffEditors=function(){var e=this;return Object.keys(this._diffEditors).map(function(t){return e._diffEditors[t]})},e.prototype.getFocusedCodeEditor=function(){for(var e=null,t=this.listCodeEditors(),n=0;n=.5,this._onDidChange.fire(void 0)},e.prototype.getColor=function(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]},e.prototype.backgroundIsLight=function(){return this._backgroundIsLight},e._INSTANCE=null,e}();t.MinimapTokensColorTracker=o;!function(e){e[e.START_CH_CODE=32]="START_CH_CODE",e[e.END_CH_CODE=126]="END_CH_CODE",e[e.CHAR_COUNT=95]="CHAR_COUNT",e[e.SAMPLED_CHAR_HEIGHT=16]="SAMPLED_CHAR_HEIGHT",e[e.SAMPLED_CHAR_WIDTH=10]="SAMPLED_CHAR_WIDTH",e[e.SAMPLED_HALF_CHAR_WIDTH=5]="SAMPLED_HALF_CHAR_WIDTH",e[e.x2_CHAR_HEIGHT=4]="x2_CHAR_HEIGHT",e[e.x2_CHAR_WIDTH=2]="x2_CHAR_WIDTH",e[e.x1_CHAR_HEIGHT=2]="x1_CHAR_HEIGHT",e[e.x1_CHAR_WIDTH=1]="x1_CHAR_WIDTH",e[e.RGBA_CHANNELS_CNT=4]="RGBA_CHANNELS_CNT"}(t.Constants||(t.Constants={}));var r=function(){function e(t,n){if(760!==t.length)throw new Error("Invalid x2CharData");if(190!==n.length)throw new Error("Invalid x1CharData");this.x2charData=t,this.x1charData=n,this.x2charDataLight=e.soften(t,.8),this.x1charDataLight=e.soften(n,50/60)}return e.soften=function(e,t){for(var n=new Uint8ClampedArray(e.length),i=0,o=e.length;it.width||i+4>t.height)console.warn("bad render request outside image data");else{var u=a?this.x2charDataLight:this.x2charData,l=e._getChIndex(o),c=4*t.width,d=s.r,h=s.g,p=s.b,f=r.r-d,g=r.g-h,m=r.b-p,v=t.data,_=4*l*2,y=i*c+4*n,C=u[_]/255;v[y+0]=d+f*C,v[y+1]=h+g*C,v[y+2]=p+m*C;C=u[_+1]/255;v[y+4]=d+f*C,v[y+5]=h+g*C,v[y+6]=p+m*C,y+=c;C=u[_+2]/255;v[y+0]=d+f*C,v[y+1]=h+g*C,v[y+2]=p+m*C;C=u[_+3]/255;v[y+4]=d+f*C,v[y+5]=h+g*C,v[y+6]=p+m*C,y+=c;C=u[_+4]/255;v[y+0]=d+f*C,v[y+1]=h+g*C,v[y+2]=p+m*C;C=u[_+5]/255;v[y+4]=d+f*C,v[y+5]=h+g*C,v[y+6]=p+m*C,y+=c;C=u[_+6]/255;v[y+0]=d+f*C,v[y+1]=h+g*C,v[y+2]=p+m*C;C=u[_+7]/255;v[y+4]=d+f*C,v[y+5]=h+g*C,v[y+6]=p+m*C}},e.prototype.x1RenderChar=function(t,n,i,o,r,s,a){if(n+1>t.width||i+2>t.height)console.warn("bad render request outside image data");else{var u=a?this.x1charDataLight:this.x1charData,l=e._getChIndex(o),c=4*t.width,d=s.r,h=s.g,p=s.b,f=r.r-d,g=r.g-h,m=r.b-p,v=t.data,_=2*l*1,y=i*c+4*n,C=u[_]/255;v[y+0]=d+f*C,v[y+1]=h+g*C,v[y+2]=p+m*C,y+=c;C=u[_+1]/255;v[y+0]=d+f*C,v[y+1]=h+g*C,v[y+2]=p+m*C}},e.prototype.x2BlockRenderChar=function(e,t,n,i,o,r){if(t+2>e.width||n+4>e.height)console.warn("bad render request outside image data");else{var s=4*e.width,a=o.r,u=o.g,l=o.b,c=a+.5*(i.r-a),d=u+.5*(i.g-u),h=l+.5*(i.b-l),p=e.data,f=n*s+4*t;p[f+0]=c,p[f+1]=d,p[f+2]=h,p[f+4]=c,p[f+5]=d,p[f+6]=h,p[(f+=s)+0]=c,p[f+1]=d,p[f+2]=h,p[f+4]=c,p[f+5]=d,p[f+6]=h,p[(f+=s)+0]=c,p[f+1]=d,p[f+2]=h,p[f+4]=c,p[f+5]=d,p[f+6]=h,p[(f+=s)+0]=c,p[f+1]=d,p[f+2]=h,p[f+4]=c,p[f+5]=d,p[f+6]=h}},e.prototype.x1BlockRenderChar=function(e,t,n,i,o,r){if(t+1>e.width||n+2>e.height)console.warn("bad render request outside image data");else{var s=4*e.width,a=o.r,u=o.g,l=o.b,c=a+.5*(i.r-a),d=u+.5*(i.g-u),h=l+.5*(i.b-l),p=e.data,f=n*s+4*t;p[f+0]=c,p[f+1]=d,p[f+2]=h,p[(f+=s)+0]=c,p[f+1]=d,p[f+2]=h}},e}();t.MinimapCharRenderer=r}),define(d[78],h([1,0,2]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this._viewLayout=e,this.viewportData=t,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;var n=this._viewLayout.getCurrentViewport();this.scrollTop=n.top,this.scrollLeft=n.left,this.viewportWidth=n.width,this.viewportHeight=n.height}return e.prototype.getScrolledTopFromAbsoluteTop=function(e){return e-this.scrollTop},e.prototype.getVerticalOffsetForLineNumber=function(e){return this._viewLayout.getVerticalOffsetForLineNumber(e)},e.prototype.lineIsVisible=function(e){return this.visibleRange.startLineNumber<=e&&e<=this.visibleRange.endLineNumber},e.prototype.getDecorationsInViewport=function(){return this.viewportData.getDecorationsInViewport()},e}();t.RestrictedRenderingContext=i;var o=function(e){function t(t,n,i){var o=e.call(this,t,n)||this;return o._viewLines=i,o}return f(t,e),t.prototype.linesVisibleRangesForRange=function(e,t){return this._viewLines.linesVisibleRangesForRange(e,t)},t.prototype.visibleRangeForPosition=function(e){var t=this._viewLines.visibleRangesForRange2(new n.Range(e.lineNumber,e.column,e.lineNumber,e.column));return t?t[0]:null},t}(i);t.RenderingContext=o;var r=function(){return function(e,t){this.lineNumber=e,this.ranges=t}}();t.LineVisibleRanges=r;var s=function(){function e(e,t){this.left=Math.round(e),this.width=Math.round(t)}return e.prototype.toString=function(){return"["+this.left+","+this.width+"]"},e}();t.HorizontalRange=s}),define(d[214],h([1,0,78]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this.left=e,this.width=t}return e.prototype.toString=function(){return"["+this.left+","+this.width+"]"},e.compare=function(e,t){return e.left-t.left},e}(),o=function(){function e(){}return e._createRange=function(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange},e._detachRange=function(e,t){e.selectNodeContents(t)},e._readClientRects=function(e,t,n,i,o){var r=this._createRange();try{return r.setStart(e,t),r.setEnd(n,i),r.getClientRects()}catch(e){return null}finally{this._detachRange(r,o)}},e._mergeAdjacentRanges=function(e){if(1===e.length)return[new n.HorizontalRange(e[0].left,e[0].width)];e.sort(i.compare);for(var t=[],o=0,r=e[0].left,s=e[0].width,a=1,u=e.length;a=c?s=Math.max(s,c+d-r):(t[o++]=new n.HorizontalRange(r,s),r=c,s=d)}return t[o++]=new n.HorizontalRange(r,s),t},e._createHorizontalRangesFromClientRects=function(e,t){if(!e||0===e.length)return null;for(var n=[],o=0,r=e.length;oa)return null;(t=Math.min(a,Math.max(0,t)))!==(i=Math.min(a,Math.max(0,i)))&&i>0&&0===o&&(i--,o=Number.MAX_VALUE);var u=e.children[t].firstChild,l=e.children[i].firstChild;if(!u||!l)return null;n=Math.min(u.textContent.length,Math.max(0,n)),o=Math.min(l.textContent.length,Math.max(0,o));var c=this._readClientRects(u,n,l,o,s);return this._createHorizontalRangesFromClientRects(c,r)},e}();t.RangeUtil=o}),define(d[215],h([1,0,111]),function(e,t,n){"use strict";function i(e){for(var t=new Uint8ClampedArray(e.length),n=0,i=e.length;nn)&&!c.isEmpty()){var d=c.startLineNumber===n?c.startColumn:i,h=c.endLineNumber===n?c.endColumn:o;h<=1||(r[s++]=new e(d,h,l.inlineClassName,l.insertsBeforeOrAfter))}}return r},e.compare=function(e,t){return e.startColumn===t.startColumn?e.endColumn===t.endColumn?e.classNamet.className?1:0:e.endColumn-t.endColumn:e.startColumn-t.startColumn},e}();t.LineDecoration=n;var i=function(){return function(e,t,n){this.startOffset=e,this.endOffset=t,this.className=n}}();t.DecorationSegment=i;var o=function(){function e(){this.stopOffsets=[],this.classNames=[],this.count=0}return e.prototype.consumeLowerThan=function(e,t,n){for(;this.count>0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t);break}this.count++},e}(),r=function(){function e(){}return e.normalize=function(e){if(0===e.length)return[];for(var t=[],n=new o,i=0,r=0,s=e.length;r0){for(var h=0,p=e.lineDecorations.length;h0&&(i[o++]=new d(t,""));for(var r=0,s=e.length;r=n){i[o++]=new d(n,l);break}i[o++]=new d(u,l)}}return i}function a(e,t){for(var n=0,i=[],r=0,s=0,a=t.length;s50){for(var h=u.type,p=Math.ceil(c/50),f=1;fu)C=!0;else if(9===y)C=!0;else if(32===y)if(a)if(_)C=!0;else{var b=v+1=r)&&(l[c++]=new d(v,"vs-whitespace"),m%=r):(v===f||C&&v>i)&&(l[c++]=new d(v,p),m%=r),9===y?m=r:m++,_=C,v===f&&(p=n[++h].type,f=n[h].endIndex)}return l[c++]=_?new d(t,"vs-whitespace"):new d(t,p),l}function l(e,t,n,o){o.sort(i.LineDecoration.compare);for(var r=i.LineDecorationsNormalizer.normalize(o),s=r.length,a=0,u=[],l=0,c=0,h=0,p=n.length;hc&&(c=v.startOffset,u[l++]=new d(c,m)),!(v.endOffset+1<=g)){c=g,u[l++]=new d(c,m+" "+v.className);break}c=v.endOffset+1,u[l++]=new d(c,m+" "+v.className),a++}g>c&&(c=g,u[l++]=new d(c,m))}return u}function c(e){for(var t=e.fontIsMonospace,n=e.containsForeignElements,i=e.lineContent,o=e.len,r=e.isOverflowing,s=e.parts,a=e.tabSize,u=e.containsRTL,l=e.spaceWidth,c=e.renderWhitespace,d=e.renderControlCharacters,h=new p(o+1,s.length),g=0,m=0,v=0,_="",y=0,C=s.length;y=0){for(var E=0,L="";g0&&(L+="→",E++,N--);N>0;)L+=" ",E++,N--;else L+="·",E++;v++}h.setPartLength(y,E),_+=t||n?''+L+"":''+L+""}else{for(var E=0,L="";g0;)L+=" ",E++,N--;break;case 32:L+=" ",E++;break;case 60:L+="<",E++;break;case 62:L+=">",E++;break;case 38:L+="&",E++;break;case 0:L+="�",E++;break;case 65279:case 8232:L+="�",E++;break;case 13:L+="​",E++;break;default:d&&x<32?(L+=String.fromCharCode(9216+x),E++):(L+=String.fromCharCode(x),E++)}v++}h.setPartLength(y,E),_+=u?''+L+"":''+L+""}}return h.setPartData(o,s.length-1,v),r&&(_+=""),_+="",new f(h,_,u,n)}Object.defineProperty(t,"__esModule",{value:!0});!function(e){e[e.None=0]="None",e[e.Boundary=1]="Boundary",e[e.All=2]="All"}(t.RenderWhitespace||(t.RenderWhitespace={}));var d=function(){return function(e,t){this.endIndex=e,this.type=t}}(),h=function(){function e(e,t,n,i,o,r,s,a,u,l,c,d){this.useMonospaceOptimizations=e,this.lineContent=t,this.mightContainRTL=n,this.fauxIndentLength=i,this.lineTokens=o,this.lineDecorations=r,this.tabSize=s,this.spaceWidth=a,this.stopRenderingLineAfter=u,this.renderWhitespace="all"===l?2:"boundary"===l?1:0,this.renderControlCharacters=c,this.fontLigatures=d}return e.prototype.equals=function(e){return this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.lineContent===e.lineContent&&this.mightContainRTL===e.mightContainRTL&&this.fauxIndentLength===e.fauxIndentLength&&this.tabSize===e.tabSize&&this.spaceWidth===e.spaceWidth&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.fontLigatures===e.fontLigatures&&i.LineDecoration.equalsArr(this.lineDecorations,e.lineDecorations)&&n.ViewLineToken.equalsArr(this.lineTokens,e.lineTokens)},e}();t.RenderLineInput=h;!function(e){e[e.PART_INDEX_MASK=4294901760]="PART_INDEX_MASK",e[e.CHAR_INDEX_MASK=65535]="CHAR_INDEX_MASK",e[e.CHAR_INDEX_OFFSET=0]="CHAR_INDEX_OFFSET",e[e.PART_INDEX_OFFSET=16]="PART_INDEX_OFFSET"}(t.CharacterMappingConstants||(t.CharacterMappingConstants={}));var p=function(){function e(e,t){this.length=e,this._data=new Uint32Array(this.length),this._partLengths=new Uint16Array(t)}return e.getPartIndex=function(e){return(4294901760&e)>>>16},e.getCharIndex=function(e){return(65535&e)>>>0},e.prototype.setPartData=function(e,t,n){var i=(t<<16|n<<0)>>>0;this._data[e]=i},e.prototype.setPartLength=function(e,t){this._partLengths[e]=t},e.prototype.getPartLengths=function(){return this._partLengths},e.prototype.charOffsetToPartData=function(e){return 0===this.length?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]},e.prototype.partDataToCharOffset=function(t,n,i){if(0===this.length)return 0;for(var o=(t<<16|i<<0)>>>0,r=0,s=this.length-1;r+1>>1,u=this._data[a];if(u===o)return a;u>o?s=a:r=a}if(r===s)return r;var l=this._data[r],c=this._data[s];if(l===o)return r;if(c===o)return s;var d=e.getPartIndex(l);return i-e.getCharIndex(l)<=(d!==e.getPartIndex(c)?n:e.getCharIndex(c))-i?r:s},e}();t.CharacterMapping=p;var f=function(){return function(e,t,n,i){this.characterMapping=e,this.html=t,this.containsRTL=n,this.containsForeignElements=i}}();t.RenderLineOutput=f,t.renderViewLine=function(e){if(0===e.lineContent.length){var t=!1,n=" ";if(e.lineDecorations.length>0){for(var i=[],o=0,s=e.lineDecorations.length;o ')}return new f(new p(0,0),n,!1,t)}return c(r(e))};var g,m=function(){return function(e,t,n,i,o,r,s,a,u,l,c){this.fontIsMonospace=e,this.lineContent=t,this.len=n,this.isOverflowing=i,this.parts=o,this.containsForeignElements=r,this.tabSize=s,this.containsRTL=a,this.spaceWidth=u,this.renderWhitespace=l,this.renderControlCharacters=c}}();!function(e){e[e.LongToken=50]="LongToken"}(g||(g={}))}),define(d[221],h([1,0,2]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,i,o){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.whitespaceViewportData=i,this._model=o,this.visibleRange=new n.Range(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}return e.prototype.getViewLineRenderingData=function(e){return this._model.getViewLineRenderingData(this.visibleRange,e)},e.prototype.getDecorationsInViewport=function(){return this._model.getDecorationsInViewport(this.visibleRange)},e}();t.ViewportData=i}),define(d[222],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){this._heights=[],this._ids=[],this._afterLineNumbers=[],this._ordinals=[],this._prefixSum=[],this._prefixSumValidIndex=-1,this._whitespaceId2Index={},this._lastWhitespaceId=0}return e.findInsertionIndex=function(e,t,n,i){for(var o=0,r=e.length;o>>1;t===e[s]?i=t&&(this._whitespaceId2Index[u]=l+1)}this._whitespaceId2Index[e.toString()]=t,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)},e.prototype.changeWhitespace=function(e,t,n){e|=0,t|=0,n|=0;var i=!1;return i=this.changeWhitespaceHeight(e,n)||i,i=this.changeWhitespaceAfterLineNumber(e,t)||i},e.prototype.changeWhitespaceHeight=function(e,t){t|=0;var n=(e|=0).toString();if(this._whitespaceId2Index.hasOwnProperty(n)){var i=this._whitespaceId2Index[n];if(this._heights[i]!==t)return this._heights[i]=t,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,i-1),!0}return!1},e.prototype.changeWhitespaceAfterLineNumber=function(t,n){n|=0;var i=(t|=0).toString();if(this._whitespaceId2Index.hasOwnProperty(i)){var o=this._whitespaceId2Index[i];if(this._afterLineNumbers[o]!==n){var r=this._ordinals[o],s=this._heights[o];this.removeWhitespace(t);var a=e.findInsertionIndex(this._afterLineNumbers,n,this._ordinals,r);return this._insertWhitespaceAtIndex(t,a,n,r,s),!0}}return!1},e.prototype.removeWhitespace=function(e){var t=(e|=0).toString();if(this._whitespaceId2Index.hasOwnProperty(t)){var n=this._whitespaceId2Index[t];return delete this._whitespaceId2Index[t],this._removeWhitespaceAtIndex(n),!0}return!1},e.prototype._removeWhitespaceAtIndex=function(e){e|=0,this._heights.splice(e,1),this._ids.splice(e,1),this._afterLineNumbers.splice(e,1),this._ordinals.splice(e,1),this._prefixSum.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1);for(var t=Object.keys(this._whitespaceId2Index),n=0,i=t.length;n=e&&(this._whitespaceId2Index[o]=r-1)}},e.prototype.onLinesDeleted=function(e,t){e|=0,t|=0;for(var n=0,i=this._afterLineNumbers.length;nt&&(this._afterLineNumbers[n]-=t-e+1)}},e.prototype.onLinesInserted=function(e,t){e|=0,t|=0;for(var n=0,i=this._afterLineNumbers.length;n=t.length||t[o+1]>=e)return o;n=o+1|0}else i=o-1|0}return-1},e.prototype._findFirstWhitespaceAfterLineNumber=function(e){e|=0;var t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t1?this._lineHeight*(e-1):0)+this._whitespaces.getAccumulatedHeightBeforeLineNumber(e)},e.prototype.getWhitespaceAccumulatedHeightBeforeLineNumber=function(e){return this._whitespaces.getAccumulatedHeightBeforeLineNumber(e)},e.prototype.hasWhitespace=function(){return this._whitespaces.getCount()>0},e.prototype.isAfterLines=function(e){return e>this.getLinesTotalHeight()},e.prototype.getLineNumberAtOrAfterVerticalOffset=function(e){if((e|=0)<0)return 1;for(var t=0|this._lineCount,n=this._lineHeight,i=1,o=t;i=s+n)i=r+1;else{if(e>=s)return r;o=r}}return i>t?t:i},e.prototype.getLinesViewportData=function(e,t){e|=0,t|=0;var n,i,o=this._lineHeight,r=0|this.getLineNumberAtOrAfterVerticalOffset(e),s=0|this.getVerticalOffsetForLineNumber(r),a=0|this._lineCount,u=0|this._whitespaces.getFirstWhitespaceIndexAfterLineNumber(r),l=0|this._whitespaces.getCount();-1===u?(u=l,i=a+1,n=0):(i=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(u),n=0|this._whitespaces.getHeightForWhitespaceIndex(u));var c=s,d=c,h=0;s>=5e5&&(h=5e5*Math.floor(s/5e5),d-=h=Math.floor(h/o)*o);for(var p=[],f=e+(t-e)/2,g=-1,m=r;m<=a;m++){if(-1===g){var v=c,_=c+o;(v<=f&&f<_||v>f)&&(g=m)}for(c+=o,p[m-r]=d,d+=o;i===m;)d+=n,c+=n,++u>=l?i=a+1:(i=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(u),n=0|this._whitespaces.getHeightForWhitespaceIndex(u));if(c>=t){a=m;break}}-1===g&&(g=a);var y=0|this.getVerticalOffsetForLineNumber(a),C=r,b=a;return Ct&&b--,{bigNumbersDelta:h,startLineNumber:r,endLineNumber:a,relativeVerticalOffset:p,centeredLineNumber:g,completelyVisibleStartLineNumber:C,completelyVisibleEndLineNumber:b}},e.prototype.getVerticalOffsetForWhitespaceIndex=function(e){e|=0;var t,n=this._whitespaces.getAfterLineNumberForWhitespaceIndex(e);t=n>=1?this._lineHeight*n:0;var i;return i=e>0?this._whitespaces.getAccumulatedHeight(e-1):0,t+i},e.prototype.getWhitespaceIndexAtOrAfterVerticallOffset=function(e){e|=0;var t,n,i,o=0,r=this._whitespaces.getCount()-1;if(r<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(r)+this._whitespaces.getHeightForWhitespaceIndex(r))return-1;for(;o=n+i)o=t+1;else{if(e>=n)return t;r=t}return o},e.prototype.getWhitespaceAtVerticalOffset=function(e){e|=0;var t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0)return null;if(t>=this._whitespaces.getCount())return null;var n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;var i=this._whitespaces.getHeightForWhitespaceIndex(t);return{id:this._whitespaces.getIdForWhitespaceIndex(t),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:i}},e.prototype.getWhitespaceViewportData=function(e,t){e|=0,t|=0;var n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),i=this._whitespaces.getCount()-1;if(n<0)return[];for(var o=[],r=n;r<=i;r++){var s=this.getVerticalOffsetForWhitespaceIndex(r),a=this._whitespaces.getHeightForWhitespaceIndex(r);if(s>=t)break;o.push({id:this._whitespaces.getIdForWhitespaceIndex(r),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(r),verticalOffset:s,height:a})}return o},e.prototype.getWhitespaces=function(){return this._whitespaces.getWhitespaces(this._lineHeight)},e}();t.LinesLayout=i}),define(d[104],h([1,0,96]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){return function(e,t){this.index=e,this.remainder=t}}();t.PrefixSumIndexOfResult=i;var o=function(){function e(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}return e.prototype.getCount=function(){return this.values.length},e.prototype.insertValues=function(e,t){e=n.toUint32(e);var i=this.values,o=this.prefixSum,r=t.length;return 0!==r&&(this.values=new Uint32Array(i.length+r),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+r),this.values.set(t,e),e-1=0&&this.prefixSum.set(o.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=n.toUint32(e),t=n.toUint32(t),this.values[e]!==t&&(this.values[e]=t,e-1=i.length)return!1;var r=i.length-e;return t>=r&&(t=r),0!==t&&(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(o.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){return e<0?0:(e=n.toUint32(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t,n,o,r=0,s=this.values.length-1;r<=s;)if(t=r+(s-r)/2|0,n=this.prefixSum[t],o=n-this.values[t],e=n))break;r=t+1}return new i(t,e-o)},e}();t.PrefixSumComputer=o;var r=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new o(e),this._bustCache()}return e.prototype._bustCache=function(){this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.getCount=function(){return this._actual.getCount()},e.prototype.insertValues=function(e,t){this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&tthis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,i=!0;else{var o=this._lines[t-1].length+1;n<1?(n=1,i=!0):n>o&&(n=o,i=!0)}return i?{lineNumber:t,column:n}:e},t}(u.MirrorModel),g=function(){function e(){this._foreignModule=null}return e.prototype.computeDiff=function(e,t,n){var o=this._getModel(e),s=this._getModel(t);if(!o||!s)return null;var a=o.getLinesContent(),u=s.getLinesContent(),l=new r.DiffComputer(a,u,{shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldConsiderTrimWhitespaceInEmptyCase:!0,shouldMakePrettyDiff:!0});return i.TPromise.as(l.computeDiff())},e.prototype.computeDirtyDiff=function(e,t,n){var o=this._getModel(e),s=this._getModel(t);if(!o||!s)return null;var a=o.getLinesContent(),u=s.getLinesContent(),l=new r.DiffComputer(a,u,{shouldPostProcessCharChanges:!1,shouldIgnoreTrimWhitespace:n,shouldConsiderTrimWhitespaceInEmptyCase:!1,shouldMakePrettyDiff:!0});return i.TPromise.as(l.computeDiff())},e.prototype.computeMoreMinimalEdits=function(t,n,r){var a=this._getModel(t);if(!a)return i.TPromise.as(n);for(var u,l=[],c=0,d=n;ce._diffLimit)l.push({range:p,text:f});else for(var v=s.stringDiff(m,f,!1),_=a.offsetAt(o.Range.lift(p).getStartPosition()),y=0,C=v;y=n,l=s,c=i.viewportHeight-s>=n,d=e.left;return d+t>i.scrollLeft+i.viewportWidth&&(d=i.scrollLeft+i.viewportWidth-t),dthis._contentWidth)return null;var s=e.top-i,a=e.top+this._lineHeight,u=r+this._contentLeft,l=n.getDomNodePagePosition(this._viewDomNode.domNode),c=l.top+s-n.StandardWindow.scrollY,d=l.top+a-n.StandardWindow.scrollY,h=l.left+u-n.StandardWindow.scrollX,p=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,f=c>=22,g=d+i<=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-22;if(h+t+20>p&&(h-=m=h-(p-t-20),u-=m),h<0){var m=h;h-=m,u-=m}return this._fixedOverflowWidgets&&(s=c,a=d,u=h),{aboveTop:s,fitsAbove:f,belowTop:a,fitsBelow:g,left:u}},e.prototype._prepareRenderWidgetAtExactPositionOverflowing=function(e){return new s(e.top,e.left+this._contentLeft)},e.prototype._getTopLeft=function(e,t){var n=e.visibleRangeForPosition(t);if(!n)return null;var i=e.getVerticalOffsetForLineNumber(t.lineNumber)-e.scrollTop;return new s(i,n.left)},e.prototype._prepareRenderWidget=function(e){var t=this;if(!this._position||!this._preference)return null;var n=this._context.model.validateModelPosition(this._position);if(!this._context.model.coordinatesConverter.modelPositionIsVisible(n))return null;for(var i=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(n),r=null,a=function(){if(!r){var n=t._getTopLeft(e,i);if(n){var o=t.domNode.domNode,s=o.clientWidth,a=o.clientHeight;r=t.allowEditorOverflow?t._layoutBoxInPage(n,s,a,e):t._layoutBoxInViewport(n,s,a,e)}}},u=1;u<=2;u++)for(var l=0;lo?1:i.Range.compareRangesUsingStarts(e.range,t.range)});for(var u=e.visibleRange.startLineNumber,l=e.visibleRange.endLineNumber,c=[],d=u;d<=l;d++)c[d-u]="";this._renderWholeLineDecorations(e,n,c),this._renderNormalDecorations(e,n,c),this._renderResult=c},t.prototype._renderWholeLineDecorations=function(e,t,n){for(var i=String(this._lineHeight),o=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,s=0,a=t.length;s',c=Math.max(u.range.startLineNumber,o),d=Math.min(u.range.endLineNumber,r),h=c;h<=d;h++)n[h-o]+=l}},t.prototype._renderNormalDecorations=function(e,t,n){for(var r=String(this._lineHeight),s=e.visibleRange.startLineNumber,a=0,u=t.length;a';n[v]+=w}}}}},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;if(n<0||n>=this._renderResult.length)throw new Error("Unexpected render request");return this._renderResult[n]},t}(n.DynamicViewOverlay);t.DecorationsOverlay=r}),define(d[113],h([1,0,67,279]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){return function(e,t,n){this.startLineNumber=+e,this.endLineNumber=+t,this.className=String(n)}}();t.DecorationToRender=i;var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype._render=function(e,t,n){for(var i=[],o=e;o<=t;o++)i[o-e]=[];if(0===n.length)return i;n.sort(function(e,t){return e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className',s=[],a=t;a<=n;a++){var u=a-t,l=i[u];0===l.length?s[u]="":s[u]='
    =this._renderResult.length)throw new Error("Unexpected render request");return this._renderResult[n]},t}(o);t.GlyphMarginOverlay=r}),define(d[233],h([1,0,113,288]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._decorationsLeft=n._context.configuration.editor.layoutInfo.decorationsLeft,n._decorationsWidth=n._context.configuration.editor.layoutInfo.decorationsWidth,n._renderResult=null,n._context.addEventHandler(n),n}return f(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.layoutInfo&&(this._decorationsLeft=this._context.configuration.editor.layoutInfo.decorationsLeft,this._decorationsWidth=this._context.configuration.editor.layoutInfo.decorationsWidth),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getDecorations=function(e){for(var t=e.getDecorationsInViewport(),i=[],o=0,r=t.length;o
    ',r=[],s=t;s<=n;s++){for(var a=s-t,u=i[a],l="",c=0,d=u.length;c';o[s]=u}this._renderResult=o},t.prototype.render=function(e,t){return this._renderResult?this._renderResult[t-e]:""},t}(n.DedupOverlay);t.MarginViewLineDecorationsOverlay=i}),define(d[236],h([1,0,27,25,35,296]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var i=e.call(this,t)||this;return i._widgets={},i._verticalScrollbarWidth=i._context.configuration.editor.layoutInfo.verticalScrollbarWidth,i._minimapWidth=i._context.configuration.editor.layoutInfo.minimapWidth,i._horizontalScrollbarHeight=i._context.configuration.editor.layoutInfo.horizontalScrollbarHeight,i._editorHeight=i._context.configuration.editor.layoutInfo.height,i._editorWidth=i._context.configuration.editor.layoutInfo.width,i._domNode=n.createFastDomNode(document.createElement("div")),o.PartFingerprints.write(i._domNode,4),i._domNode.setClassName("overlayWidgets"),i}return f(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets=null},t.prototype.getDomNode=function(){return this._domNode},t.prototype.onConfigurationChanged=function(e){return!!e.layoutInfo&&(this._verticalScrollbarWidth=this._context.configuration.editor.layoutInfo.verticalScrollbarWidth,this._minimapWidth=this._context.configuration.editor.layoutInfo.minimapWidth,this._horizontalScrollbarHeight=this._context.configuration.editor.layoutInfo.horizontalScrollbarHeight,this._editorHeight=this._context.configuration.editor.layoutInfo.height,this._editorWidth=this._context.configuration.editor.layoutInfo.width,!0)},t.prototype.addWidget=function(e){var t=n.createFastDomNode(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),this._domNode.appendChild(t),this.setShouldRender()},t.prototype.setWidgetPosition=function(e,t){var n=this._widgets[e.getId()];return n.preference!==t&&(n.preference=t,this.setShouldRender(),!0)},t.prototype.removeWidget=function(e){var t=e.getId();if(this._widgets.hasOwnProperty(t)){var n=this._widgets[t].domNode.domNode;delete this._widgets[t],n.parentNode.removeChild(n),this.setShouldRender()}},t.prototype._renderWidget=function(e){var t=e.domNode;if(null!==e.preference)if(e.preference===i.OverlayWidgetPositionPreference.TOP_RIGHT_CORNER)t.setTop(0),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(e.preference===i.OverlayWidgetPositionPreference.BOTTOM_RIGHT_CORNER){var n=t.domNode.clientHeight;t.setTop(this._editorHeight-n-2*this._horizontalScrollbarHeight),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else e.preference===i.OverlayWidgetPositionPreference.TOP_CENTER&&(t.setTop(0),t.domNode.style.right="50%");else t.unsetTop()},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._domNode.setWidth(this._editorWidth);for(var t=Object.keys(this._widgets),n=0,i=t.length;n=e.scrollWidth?0:this._configuration.editor.viewInfo.scrollbar.horizontalScrollbarSize},t.prototype._getTotalHeight=function(){var e=this.scrollable.getState(),t=this._linesLayout.getLinesTotalHeight();return this._configuration.editor.viewInfo.scrollBeyondLastLine?t+=e.height-this._configuration.editor.lineHeight:t+=this._getHorizontalScrollbarHeight(e),Math.max(e.height,t)},t.prototype._updateHeight=function(){this.scrollable.updateState({scrollHeight:this._getTotalHeight()})},t.prototype.getCurrentViewport=function(){var e=this.scrollable.getState();return new r.Viewport(e.scrollTop,e.scrollLeft,e.width,e.height)},t.prototype._computeScrollWidth=function(e,n){return this._configuration.editor.wrappingInfo.isViewportWrapping?Math.max(e,n):Math.max(e+t.LINES_HORIZONTAL_EXTRA_PX,n)},t.prototype.onMaxLineWidthChanged=function(e){var t=this._computeScrollWidth(e,this.getCurrentViewport().width);this.scrollable.updateState({scrollWidth:t}),this._updateHeight()},t.prototype.saveState=function(){var e=this.scrollable.getState(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}},t.prototype.restoreState=function(e){var t=e.scrollTop;"number"!=typeof e.scrollTopWithoutViewZones||this._linesLayout.hasWhitespace()||(t=e.scrollTopWithoutViewZones),this.scrollable.updateState({scrollLeft:e.scrollLeft,scrollTop:t})},t.prototype.addWhitespace=function(e,t,n){return this._linesLayout.insertWhitespace(e,t,n)},t.prototype.changeWhitespace=function(e,t,n){return this._linesLayout.changeWhitespace(e,t,n)},t.prototype.removeWhitespace=function(e){return this._linesLayout.removeWhitespace(e)},t.prototype.getVerticalOffsetForLineNumber=function(e){return this._linesLayout.getVerticalOffsetForLineNumber(e)},t.prototype.isAfterLines=function(e){return this._linesLayout.isAfterLines(e)},t.prototype.getLineNumberAtVerticalOffset=function(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)},t.prototype.getWhitespaceAtVerticalOffset=function(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)},t.prototype.getLinesViewportData=function(){var e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)},t.prototype.getLinesViewportDataAtScrollTop=function(e){var t=this.scrollable.getState();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)},t.prototype.getWhitespaceViewportData=function(){var e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)},t.prototype.getWhitespaces=function(){return this._linesLayout.getWhitespaces()},t.prototype.getScrollWidth=function(){return this.scrollable.getState().scrollWidth},t.prototype.getScrollLeft=function(){return this.scrollable.getState().scrollLeft},t.prototype.getScrollHeight=function(){return this.scrollable.getState().scrollHeight},t.prototype.getScrollTop=function(){return this.scrollable.getState().scrollTop},t.prototype.setScrollPosition=function(e){this.scrollable.updateState(e)},t.LINES_HORIZONTAL_EXTRA_PX=30,t}(n.Disposable);t.ViewLayout=s}),define(d[240],h([1,0,2,12,86]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,i){this.editorId=e,this.model=t,this.configuration=n,this._coordinatesConverter=i,this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}return e.prototype._clearCachedModelDecorationsResolver=function(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null},e.prototype.dispose=function(){this._decorationsCache=null,this._clearCachedModelDecorationsResolver()},e.prototype.reset=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype.onModelDecorationsChanged=function(e){for(var t=e.changedDecorations,n=0,i=t.length;n1){v=new o.InlineDecoration(new n.Range(m.endLineNumber,m.endColumn-1,m.endLineNumber,m.endColumn),f.afterContentClassName,!0);l[m.endLineNumber-i].push(v)}}return{decorations:a,inlineDecorations:l}},e}();t.ViewModelDecorations=r}),define(d[241],h([1,0,2]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this._selection=e,this._isMovingLeft=t}return e.prototype.getEditOperations=function(e,t){var i=this._selection;if(this._selectionId=t.trackSelection(i),i.startLineNumber===i.endLineNumber&&(!this._isMovingLeft||0!==i.startColumn)&&(this._isMovingLeft||i.endColumn!==e.getLineMaxColumn(i.startLineNumber))){var o,r,s,a=i.selectionStartLineNumber,u=e.getLineContent(a);this._isMovingLeft?(o=u.substring(0,i.startColumn-2),r=u.substring(i.startColumn-1,i.endColumn-1),s=u.substring(i.startColumn-2,i.startColumn-1)+u.substring(i.endColumn-1)):(o=u.substring(0,i.startColumn-1)+u.substring(i.endColumn-1,i.endColumn),r=u.substring(i.startColumn-1,i.endColumn-1),s=u.substring(i.endColumn));var l=o+r+s;t.addEditOperation(new n.Range(a,1,a,e.getLineMaxColumn(a)),null),t.addEditOperation(new n.Range(a,1,a,1),l),this._cutStartIndex=i.startColumn+(this._isMovingLeft?-1:1),this._cutEndIndex=this._cutStartIndex+i.endColumn-i.startColumn,this._moved=!0}},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);return this._moved&&(n=(n=n.setStartPosition(n.startLineNumber,this._cutStartIndex)).setEndPosition(n.startLineNumber,this._cutEndIndex)),n},e}();t.MoveCaretCommand=i}),define(d[242],h([1,0,32,2]),function(e,t,n,i){"use strict";function o(e){return!!e.transparentFormatter}Object.defineProperty(t,"__esModule",{value:!0}),t.isAdvancedFormatter=o;var r=function(){function e(e,t,n,o,r,s,a){this.editorModel=s,this.colorFormatters=[],this._colorModelIndex=0,this.originalColor=e,this._opaqueFormatter=n,this.colorFormatters=r,this.color=t,this.hue=t.getHue(),this.saturation=t.getSaturation(),this.value=t.getValue(),this._colorRange=new i.Range(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn)}return Object.defineProperty(e.prototype,"color",{get:function(){return this._color},set:function(e){this._color=e;var t=e.toRGBA().a;this._opacity||(this._opacity=t/255),this.saturation=e.getSaturation(),this.value=e.getValue(),1===this._opacity?this.selectedColorString=this._opaqueFormatter.toString(this._color):this._transparentFormatter?this.selectedColorString=this._transparentFormatter.toString(this._color):this.nextColorMode()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedColorString",{get:function(){return this._selectedColor},set:function(e){this._selectedColor!==e&&(this._selectedColor=e,this.widget&&this.widget.header&&this.widget.body&&(this.widget.header.updatePickedColor(),this.widget.body.fillOpacityOverlay(this._color),this.editorModel.pushEditOperations([],[{identifier:null,range:this._colorRange,text:e,forceMoveMarkers:!1}],function(){return[]}),this._colorRange=this._colorRange.setEndPosition(this._colorRange.endLineNumber,this._colorRange.startColumn+e.length)))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hue",{get:function(){return this._hue},set:function(e){this._hue=e,this.widget&&this.widget.body&&this.widget.body.saturationBox.fillSaturationBox()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"opacity",{get:function(){return this._opacity},set:function(e){this._opacity=e;var t=this._color.toRGBA();this.color=n.Color.fromRGBA(new n.RGBA(t.r,t.g,t.b,255*e)),this.widget.header&&this.widget.header.updatePickedColor()},enumerable:!0,configurable:!0}),e.prototype.nextColorMode=function(){this._colorModelIndex++,this._colorModelIndex===this.colorFormatters.length&&(this._colorModelIndex=0);var e=this.colorFormatters[this._colorModelIndex];o(e)?(this._transparentFormatter=e.transparentFormatter,this._opaqueFormatter=e.opaqueFormatter,this.selectedColorString=1===this._opacity?this._opaqueFormatter.toString(this._color):this._transparentFormatter.toString(this._color)):this._transparentFormatter&&1!==this._opacity?this.nextColorMode():(this._transparentFormatter=null,this._opaqueFormatter=e,this.selectedColorString=this._opaqueFormatter.toString(this._color))},e.prototype.getHueColor=function(e){var t=e/60,i=1-Math.abs(t%2-1),o=0,r=0,s=0;return t>=0&&t<1?(o=1,r=i):t>=1&&t<2?(o=i,r=1):t>=2&&t<3?(r=1,s=i):t>=3&&t<4?(r=i,s=1):t>=4&&t<5?(o=i,s=1):(o=1,s=i),o=Math.round(255*o),r=Math.round(255*r),s=Math.round(255*s),n.Color.fromRGBA(new n.RGBA(o,r,s))},e}();t.ColorPickerModel=r;var s=function(){return function(){}}();t.ISaturationState=s}),define(d[243],h([1,0,4,3,83,15,32]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n.$,u=function(e){function t(t,i){var o=e.call(this)||this;return o.widget=t,o.model=i,o.pixelRatio=o.widget.editor.getConfiguration().pixelRatio,o.domNode=a(".colorpicker-body"),n.append(t.getDomNode(),o.domNode),o.drawSaturationBox(),o.drawOpacityStrip(),o.drawHueStrip(),o.registerListeners(),o}return f(t,e),t.prototype.fillOpacityOverlay=function(e){var t=e.toRGBA(),n=t.r,i=t.g,o=t.b;this.opacityOverlay.style.background="linear-gradient(to bottom, rgba("+n+", "+i+", "+o+", 1) 0%, rgba("+n+", "+i+", "+o+", 0) 100%)"},t.prototype.registerListeners=function(){var e=this,t=this._register(new o.GlobalMouseMoveMonitor);this._register(n.addDisposableListener(this.saturationBox.domNode,n.EventType.MOUSE_DOWN,function(n){e.saturationListener(n,t)})),this._register(n.addDisposableListener(this.hueStrip,n.EventType.MOUSE_DOWN,function(n){e.stripListener(e.hueStrip,n,t)})),this._register(n.addDisposableListener(this.opacityStrip,n.EventType.MOUSE_DOWN,function(n){e.stripListener(e.opacityStrip,n,t)}))},t.prototype.saturationListener=function(e,t){var n=this;if(0===e.button){var i,r,a=function(e,t){var i=n.saturationBox.extractColor(e,t).toRGBA();n.widget.model.color=s.Color.fromRGBA(new s.RGBA(i.r,i.g,i.b,255*n.widget.model.opacity)),n.saturationBox.focusSaturationSelection({x:e,y:t})};e.target!==this.saturationBox.saturationSelection?(i=e.offsetX,r=e.offsetY,a(i,r)):(i=this.widget.model.saturationSelection.x,r=this.widget.model.saturationSelection.y);var u=e.clientY,l=e.clientX;t.startMonitoring(o.standardMouseMoveMerger,function(e){var t=e.posx-l,n=e.posy-u;a(i+t,r+n)},function(){return null})}},t.prototype.stripListener=function(e,t,n){var i=this;if(0===t.button){var s=e===this.hueStrip?this.hueSlider:this.opacitySlider,a=e===this.hueStrip?this.hueStrip:this.opacityStrip;t.target!==this.hueStrip&&t.target!==this.opacityStrip||(s.top=t.offsetY);var u=function(){s===i.hueSlider?i.widget.model.hue=i.calculateSliderHue(s):s===i.opacitySlider&&(i.widget.model.opacity=i.calculateOpacity(s))};u();var l=t.clientY,c=t.clientX,d=s.top;n.startMonitoring(o.standardMouseMoveMerger,function(e){a.style.cursor="-webkit-grabbing";var t=Math.abs(e.posx-c);if(r.isWindows&&t>140)return s.top=0,void(s===i.hueSlider?i.widget.model.hue=0:s===i.opacitySlider&&(i.widget.model.opacity=1));var n=e.posy-l;s.top=d+n,u()},function(){a.style.cursor="-webkit-grab"})}},t.prototype.drawSaturationBox=function(){this.saturationBox=new l(this.model,this.domNode,this.pixelRatio)},t.prototype.drawOpacityStrip=function(){this.opacityStrip=a(".strip.opacity-strip"),n.append(this.domNode,this.opacityStrip),this.opacityOverlay=a(".opacity-overlay"),this.fillOpacityOverlay(this.model.color),n.append(this.opacityStrip,this.opacityOverlay),this.opacitySlider=new c(this.opacityStrip),this.opacitySlider.top=1===this.model.opacity?0:this.opacityStrip.offsetHeight*(1-this.model.opacity),n.append(this.opacityStrip,this.opacitySlider.domNode)},t.prototype.drawHueStrip=function(){this.hueStrip=a(".strip.hue-strip"),n.append(this.domNode,this.hueStrip),this.hueSlider=new c(this.hueStrip),n.append(this.hueStrip,this.hueSlider.domNode),this.hueSlider.top=(this.hueStrip.offsetHeight-this.hueSlider.domNode.offsetHeight)*(this.model.color.getHue()/359)},t.prototype.calculateSliderHue=function(e){var t=this.hueStrip.offsetHeight-e.domNode.offsetHeight;return 359*(1-(t-e.top)/t)},t.prototype.calculateOpacity=function(e){var t=this.opacityStrip.offsetHeight-e.domNode.offsetHeight;return(t-e.top)/t},t}(i.Disposable);t.ColorPickerBody=u;var l=function(){function e(e,t,i){this.model=e,this.pixelRatio=i,this.domNode=a(".saturation-wrap"),n.append(t,this.domNode),this.saturationCanvas=document.createElement("canvas"),this.saturationCanvas.className="saturation-box",n.append(this.domNode,this.saturationCanvas),this.saturationSelection=a(".saturation-selection"),n.append(this.domNode,this.saturationSelection)}return e.prototype.layout=function(){var e=this.domNode.offsetWidth*this.pixelRatio,t=this.domNode.offsetHeight*this.pixelRatio;this.saturationCanvas.width=e,this.saturationCanvas.height=t,this.saturationCtx=this.saturationCanvas.getContext("2d"),this.saturationCtx.rect(0,0,e,t);var n=document.createElement("canvas").getContext("2d");this.whiteGradient=n.createLinearGradient(0,0,e,0),this.whiteGradient.addColorStop(0,"rgba(255, 255, 255, 1)"),this.whiteGradient.addColorStop(1,"rgba(255, 255, 255, 0)"),this.blackGradient=n.createLinearGradient(0,0,0,t),this.blackGradient.addColorStop(0,"rgba(0, 0, 0, 0)"),this.blackGradient.addColorStop(1,"rgba(0, 0, 0, 1)"),this.fillSaturationBox();var i=this.model.saturation*this.saturationCanvas.clientWidth,o=this.model.value*this.saturationCanvas.clientHeight,r=0===o?this.saturationCanvas.clientHeight:this.saturationCanvas.clientHeight-o;this.focusSaturationSelection({x:i,y:r})},e.prototype.fillSaturationBox=function(){if(this.saturationCtx.fillStyle=this.calculateHueColor(this.model.hue).toString(),this.saturationCtx.fill(),this.saturationCtx.fillStyle=this.whiteGradient,this.saturationCtx.fill(),this.saturationCtx.fillStyle=this.blackGradient,this.saturationCtx.fill(),this.model.saturationSelection){var e=s.Color.fromHSV(this.model.hue,this.model.saturation,this.model.value,255*this.model.opacity);this.model.color=e}},e.prototype.focusSaturationSelection=function(e){var t=e.x,n=e.y;t<0?t=0:t>this.domNode.offsetWidth&&(t=this.domNode.offsetWidth),n<0?n=0:n>this.domNode.offsetHeight&&(n=this.domNode.offsetHeight),this.saturationSelection.style.left=t+"px",this.saturationSelection.style.top=n+"px",this.model.saturationSelection={x:t,y:n}},e.prototype.extractColor=function(e,t){var n=1-e/this.domNode.offsetWidth,i=t/this.domNode.offsetHeight,o=s.Color.fromRGBA(new s.RGBA(255,255,255,255*n));return s.Color.fromRGBA(new s.RGBA(0,0,0,255*i)).blend(o).blend(this.calculateHueColor(this.model.hue))},e.prototype.calculateHueColor=function(e){var t=e/60,n=1-Math.abs(t%2-1),i=0,o=0,r=0;return t>=0&&t<1?(i=1,o=n):t>=1&&t<2?(i=n,o=1):t>=2&&t<3?(o=1,r=n):t>=3&&t<4?(o=n,r=1):t>=4&&t<5?(i=n,r=1):(i=1,r=n),i=Math.round(255*i),o=Math.round(255*o),r=Math.round(255*r),s.Color.fromRGBA(new s.RGBA(i,o,r))},e}();t.SaturationBox=l;var c=function(){function e(e){this.strip=e,this.domNode=a(".slider"),this._top=0}return Object.defineProperty(e.prototype,"top",{get:function(){return this._top},set:function(e){e<0?e=0:e>this.strip.offsetHeight-this.domNode.offsetHeight&&(e=this.strip.offsetHeight-this.domNode.offsetHeight),this.domNode.style.top=e+"px",this._top=e},enumerable:!0,configurable:!0}),e}()}),define(d[244],h([1,0,4,3]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n.$,r=function(e){function t(t,i){var r=e.call(this)||this;return r.widget=t,r.model=i,r.domNode=o(".colorpicker-header"),n.append(t.getDomNode(),r.domNode),r.drawPickedColorBox(),r.drawOriginalColorBox(),n.addDisposableListener(r.pickedColorNode,n.EventType.CLICK,function(){0!==r.model.colorFormatters.length&&r.model.nextColorMode()}),r}return f(t,e),t.prototype.updatePickedColor=function(){this.pickedColorNode.textContent=this.model.selectedColorString,this.pickedColorNode.style.backgroundColor=this.model.color.toString()},t.prototype.drawPickedColorBox=function(){this.pickedColorNode=o(".picked-color"),this.pickedColorNode.style.backgroundColor=this.model.color.toString(),this.pickedColorNode.textContent=this.model.selectedColorString,n.append(this.domNode,this.pickedColorNode)},t.prototype.drawOriginalColorBox=function(){var e=o(".original-color");e.style.backgroundColor=this.model.originalColor,n.append(this.domNode,e)},t}(i.Disposable);t.ColorPickerHeader=r}),define(d[245],h([1,0,41,4,28,244,243,316]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=i.$,u=function(e){function t(t,n){var i=e.call(this)||this;return i.model=t,i.editor=n,i.visible=!1,i._register(o.onDidChangeZoomLevel(function(){return i.layout()})),i.domNode=a(".editor-widget.colorpicker-widget"),i}return f(t,e),t.prototype.layout=function(){this.visible||(this.header=new r.ColorPickerHeader(this,this.model),this.body=new s.ColorPickerBody(this,this.model),this.visible=!0)},t.prototype.layoutSaturationBox=function(){this.body.saturationBox.layout()},t.prototype.dispose=function(){this.visible=!1,this.domNode=null,e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this.domNode},t.ID="editor.contrib.colorPickerWidget",t}(n.Widget);t.ColorPickerWidget=u}),define(d[246],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isColorDecorationOptions=function(e){return!(!e||!e.color)}}),define(d[247],h([1,0]),function(e,t){"use strict";function n(e){return function(){return e}}function i(e,t,n,i){var o=e;if(t||n){if(t>n)throw new Error("Color format range defined is not correct. Range start is bigger than end.");if(t===n)throw new Error("Color format range defined is not correct. Range start is the same as end.");o=o/i*(n-t)+t}return o}function o(e,t,n,o,u){return function(l){var c;switch(e){case"red":c=i(l.toRGBA().r,o,u,r);break;case"green":c=i(l.toRGBA().g,o,u,r);break;case"blue":c=i(l.toRGBA().b,o,u,r);break;case"alpha":c=i(l.toRGBA().a,o,u,r);break;case"hue":c=i(l.toHSLA().h,o,u,s);break;case"saturation":c=i(l.toHSLA().s,o,u,a);break;case"luminosity":c=i(l.toHSLA().l,o,u,a)}if(void 0===c)throw new Error(e+" is not supported as a color format.");var d;return"f"===n?(t=t||2,d=c.toFixed(t)):"x"===n||"X"===n?(2!==(d=i(c,o,u,r).toString(16)).length&&(d="0"+d),"X"===n&&(d=d.toUpperCase())):d=c.toFixed(0),d.toString()}}Object.defineProperty(t,"__esModule",{value:!0});var r=255,s=360,a=1,u=function(){function e(e){this.tree=[],this.parse(e)}return e.prototype.parse=function(t){for(var i=e.PATTERN.exec(t),r=0;null!==i;){var s=i.index;re.length)return!1;for(var o=0;od?u-1:u}},e}();t.LineCommentCommand=l}),define(d[251],h([1,0,22,2]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t,n){this.selection=e,this.targetPosition=t,this.copy=n}return e.prototype.getEditOperations=function(e,t){var o=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new i.Range(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),o),!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new n.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):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new n.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):this.targetPosition.lineNumbern&&(t=n),this._matchesPosition!==t&&(this._matchesPosition=t,r.matchesPosition=!0,s=!0),this._matchesCount!==n&&(this._matchesCount=n,r.matchesCount=!0,s=!0),void 0!==o&&(i.Range.equalsRange(this._currentMatch,o)||(this._currentMatch=o,r.currentMatch=!0,s=!0)),s&&this._eventEmitter.emit(e._CHANGED_EVENT,r)},e.prototype.change=function(t,n,o){void 0===o&&(o=!0);var r={moveCursor:n,updateHistory:o,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1},s=!1;void 0!==t.searchString&&this._searchString!==t.searchString&&(this._searchString=t.searchString,r.searchString=!0,s=!0),void 0!==t.replaceString&&this._replaceString!==t.replaceString&&(this._replaceString=t.replaceString,r.replaceString=!0,s=!0),void 0!==t.isRevealed&&this._isRevealed!==t.isRevealed&&(this._isRevealed=t.isRevealed,r.isRevealed=!0,s=!0),void 0!==t.isReplaceRevealed&&this._isReplaceRevealed!==t.isReplaceRevealed&&(this._isReplaceRevealed=t.isReplaceRevealed,r.isReplaceRevealed=!0,s=!0),void 0!==t.isRegex&&this._isRegex!==t.isRegex&&(this._isRegex=t.isRegex,r.isRegex=!0,s=!0),void 0!==t.wholeWord&&this._wholeWord!==t.wholeWord&&(this._wholeWord=t.wholeWord,r.wholeWord=!0,s=!0),void 0!==t.matchCase&&this._matchCase!==t.matchCase&&(this._matchCase=t.matchCase,r.matchCase=!0,s=!0),void 0!==t.searchScope&&(i.Range.equalsRange(this._searchScope,t.searchScope)||(this._searchScope=t.searchScope,r.searchScope=!0,s=!0)),s&&this._eventEmitter.emit(e._CHANGED_EVENT,r)},e._CHANGED_EVENT="changed",e}();t.FindReplaceState=o}),define(d[254],h([1,0,2]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,n){this._editorSelection=e,this._ranges=t,this._replaceStrings=n}return e.prototype.getEditOperations=function(e,t){if(this._ranges.length>0){for(var i=[],o=0;o0;){if(e=r)break;var a=e.charCodeAt(i);if(36===a){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(48===a||38===a){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1);continue}if(49<=a&&a<=57){var u=a-48;if(i+1=r)break;switch(a=e.charCodeAt(i)){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic("\n",i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic("\t",i+1)}}}return t.finalize()}}),define(d[256],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ID="editor.contrib.folding"}),define(d[257],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.computeRanges=function(e){return e.getIndentRanges()},t.limitByIndent=function(e,t){if(e.length<=t)return e;var n=[];e.forEach(function(e){e.indent<1e3&&(n[e.indent]=(n[e.indent]||0)+1)});for(var i=n.length,o=0;o0){var u=r.modifyPosition(e.getStartPosition(),a);e=new i.Range(u.lineNumber,u.column,e.endLineNumber,e.endColumn),t=t.substring(a),s=s.substr(a)}var l=n.commonSuffixLength(t,s);if(l>0){var c=r.modifyPosition(e.getEndPosition(),-l);e=new i.Range(e.startLineNumber,e.startColumn,c.lineNumber,c.column),t=t.substring(0,t.length-l),s=s.substring(0,s.length-l)}return{text:t,range:e,forceMoveMarkers:o}},e}();t.EditOperationsCommand=o}),define(d[192],h([1,0,28,3,11,15,171]),function(e,t,n,i,o,r){"use strict";function s(e,t){return!!e[t]}function a(e){return"altKey"===e?r.isMacintosh?new c(57,"metaKey",6,"altKey"):new c(5,"ctrlKey",6,"altKey"):r.isMacintosh?new c(6,"altKey",57,"metaKey"):new c(6,"altKey",5,"ctrlKey")}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){return function(e,t){this.target=e.target,this.hasTriggerModifier=s(e.event,t.triggerModifier),this.hasSideBySideModifier=s(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=n.isIE||e.event.detail<=1}}();t.ClickLinkMouseEvent=u;var l=function(){return function(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=s(e,t.triggerModifier)}}();t.ClickLinkKeyboardEvent=l;var c=function(){function e(e,t,n,i){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=n,this.triggerSideBySideModifier=i}return e.prototype.equals=function(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier},e}();t.ClickLinkOptions=c;var d=function(e){function t(t){var n=e.call(this)||this;return n._onMouseMoveOrRelevantKeyDown=n._register(new o.Emitter),n.onMouseMoveOrRelevantKeyDown=n._onMouseMoveOrRelevantKeyDown.event,n._onExecute=n._register(new o.Emitter),n.onExecute=n._onExecute.event,n._onCancel=n._register(new o.Emitter),n.onCancel=n._onCancel.event,n._editor=t,n._opts=a(n._editor.getConfiguration().multiCursorModifier),n.lastMouseMoveEvent=null,n.hasTriggerKeyOnMouseDown=!1,n._register(n._editor.onDidChangeConfiguration(function(e){if(e.multiCursorModifier){var t=a(n._editor.getConfiguration().multiCursorModifier);if(n._opts.equals(t))return;n._opts=t,n.lastMouseMoveEvent=null,n.hasTriggerKeyOnMouseDown=!1,n._onCancel.fire()}})),n._register(n._editor.onMouseMove(function(e){return n.onEditorMouseMove(new u(e,n._opts))})),n._register(n._editor.onMouseDown(function(e){return n.onEditorMouseDown(new u(e,n._opts))})),n._register(n._editor.onMouseUp(function(e){return n.onEditorMouseUp(new u(e,n._opts))})),n._register(n._editor.onKeyDown(function(e){return n.onEditorKeyDown(new l(e,n._opts))})),n._register(n._editor.onKeyUp(function(e){return n.onEditorKeyUp(new l(e,n._opts))})),n._register(n._editor.onMouseDrag(function(){return n.resetHandler()})),n._register(n._editor.onDidChangeCursorSelection(function(e){return n.onDidChangeCursorSelection(e)})),n._register(n._editor.onDidChangeModel(function(e){return n.resetHandler()})),n._register(n._editor.onDidChangeModelContent(function(){return n.resetHandler()})),n._register(n._editor.onDidScrollChange(function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&n.resetHandler()})),n}return f(t,e),t.prototype.onDidChangeCursorSelection=function(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this.resetHandler()},t.prototype.onEditorMouseMove=function(e){this.lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])},t.prototype.onEditorMouseDown=function(e){this.hasTriggerKeyOnMouseDown=e.hasTriggerModifier},t.prototype.onEditorMouseUp=function(e){this.hasTriggerKeyOnMouseDown&&this._onExecute.fire(e)},t.prototype.onEditorKeyDown=function(e){this.lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this.lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()},t.prototype.onEditorKeyUp=function(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()},t.prototype.resetHandler=function(){this.lastMouseMoveEvent=null,this.hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()},t}(i.Disposable);t.ClickLinkGesture=d}),define(d[195],h([1,0,18,10]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o;!function(e){e[e.IDLE=0]="IDLE",e[e.FIRST_WAIT=1]="FIRST_WAIT",e[e.SECOND_WAIT=2]="SECOND_WAIT",e[e.WAITING_FOR_ASYNC_COMPUTATION=3]="WAITING_FOR_ASYNC_COMPUTATION"}(o||(o={}));var r=function(){function e(e,t,i,o){var r=this;this._computer=e,this._state=0,this._firstWaitScheduler=new n.RunOnceScheduler(function(){return r._triggerAsyncComputation()},this._getHoverTimeMillis()/2),this._secondWaitScheduler=new n.RunOnceScheduler(function(){return r._triggerSyncComputation()},this._getHoverTimeMillis()/2),this._loadingMessageScheduler=new n.RunOnceScheduler(function(){return r._showLoadingMessage()},3*this._getHoverTimeMillis()),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=t,this._errorCallback=i,this._progressCallback=o}return e.prototype.getComputer=function(){return this._computer},e.prototype._getHoverTimeMillis=function(){return this._computer.getHoverTimeMillis?this._computer.getHoverTimeMillis():e.HOVER_TIME},e.prototype._triggerAsyncComputation=function(){var e=this;this._state=2,this._secondWaitScheduler.schedule(),this._computer.computeAsync?(this._asyncComputationPromiseDone=!1,this._asyncComputationPromise=this._computer.computeAsync().then(function(t){e._asyncComputationPromiseDone=!0,e._withAsyncResult(t)},function(){return e._onError})):this._asyncComputationPromiseDone=!0},e.prototype._triggerSyncComputation=function(){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()))},e.prototype._showLoadingMessage=function(){3===this._state&&this._onProgress(this._computer.getResultWithLoadingMessage())},e.prototype._withAsyncResult=function(e){e&&this._computer.onResult(e,!1),3===this._state&&(this._state=0,this._onComplete(this._computer.getResult()))},e.prototype._onComplete=function(e){this._completeCallback&&this._completeCallback(e)},e.prototype._onError=function(e){this._errorCallback?this._errorCallback(e):i.onUnexpectedError(e)},e.prototype._onProgress=function(e){this._progressCallback&&this._progressCallback(e)},e.prototype.start=function(){0===this._state&&(this._state=1,this._firstWaitScheduler.schedule(),this._loadingMessageScheduler.schedule())},e.prototype.cancel=function(){this._loadingMessageScheduler.cancel(),1===this._state&&this._firstWaitScheduler.cancel(),2===this._state&&(this._secondWaitScheduler.cancel(),this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null)),3===this._state&&this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null),this._state=0},e.HOVER_TIME=300,e}();t.HoverOperation=r}),define(d[196],h([1,0,4,12,25,41,63,3]),function(e,t,n,i,o,r,s,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=function(e){function t(t,n){var i=e.call(this)||this;return i.disposables=[],i.allowEditorOverflow=!0,i._id=t,i._editor=n,i._isVisible=!1,i._containerDomNode=document.createElement("div"),i._containerDomNode.className="monaco-editor-hover hidden",i._containerDomNode.tabIndex=0,i._domNode=document.createElement("div"),i._domNode.className="monaco-editor-hover-content",i.scrollbar=new s.DomScrollableElement(i._domNode,{}),i.disposables.push(i.scrollbar),i._containerDomNode.appendChild(i.scrollbar.getDomNode()),i.onkeydown(i._containerDomNode,function(e){e.equals(9)&&i.hide()}),i._register(i._editor.onDidChangeConfiguration(function(e){e.fontInfo&&i.updateFont()})),i._editor.onDidLayoutChange(function(e){return i.updateMaxHeight()}),i.updateMaxHeight(),i._editor.addContentWidget(i),i._showAtPosition=null,i}return f(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,n.toggleClass(this._containerDomNode,"hidden",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._containerDomNode},t.prototype.showAt=function(e,t){this._showAtPosition=new i.Position(e.lineNumber,e.column),this.isVisible=!0,this._editor.layoutContentWidget(this),this._editor.render(),this._stoleFocus=t,t&&this._containerDomNode.focus()},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1,this._editor.layoutContentWidget(this),this._stoleFocus&&this._editor.focus())},t.prototype.getPosition=function(){return this.isVisible?{position:this._showAtPosition,preference:[o.ContentWidgetPositionPreference.ABOVE,o.ContentWidgetPositionPreference.BELOW]}:null},t.prototype.dispose=function(){this._editor.removeContentWidget(this),this.disposables=a.dispose(this.disposables),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this,t=Array.prototype.slice.call(this._domNode.getElementsByTagName("code")),n=Array.prototype.slice.call(this._domNode.getElementsByClassName("code"));t.concat(n).forEach(function(t){return e._editor.applyFontInfo(t)})},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont(),this._editor.layoutContentWidget(this),this.scrollbar.scanDomNode()},t.prototype.updateMaxHeight=function(){var e=Math.max(this._editor.getLayoutInfo().height/4,250),t=this._editor.getConfiguration().fontInfo,n=t.fontSize,i=t.lineHeight;this._domNode.style.fontSize=n+"px",this._domNode.style.lineHeight=i+"px",this._domNode.style.maxHeight=e+"px"},t}(r.Widget);t.ContentHoverWidget=u;var l=function(e){function t(t,n){var i=e.call(this)||this;return i._id=t,i._editor=n,i._isVisible=!1,i._domNode=document.createElement("div"),i._domNode.className="monaco-editor-hover hidden",i._domNode.setAttribute("aria-hidden","true"),i._domNode.setAttribute("role","presentation"),i._showAtLineNumber=-1,i._register(i._editor.onDidChangeConfiguration(function(e){e.fontInfo&&i.updateFont()})),i._editor.addOverlayWidget(i),i}return f(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,n.toggleClass(this._domNode,"hidden",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._domNode},t.prototype.showAt=function(e){this._showAtLineNumber=e,this.isVisible||(this.isVisible=!0);var t=this._editor.getLayoutInfo(),n=this._editor.getTopForLineNumber(this._showAtLineNumber),i=this._editor.getScrollTop(),o=this._editor.getConfiguration().lineHeight,r=n-i-(this._domNode.clientHeight-o)/2;this._domNode.style.left=t.glyphMarginLeft+t.glyphMarginWidth+"px",this._domNode.style.top=Math.max(Math.round(r),0)+"px"},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1)},t.prototype.getPosition=function(){return null},t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this,t=Array.prototype.slice.call(this._domNode.getElementsByTagName("code")),n=Array.prototype.slice.call(this._domNode.getElementsByClassName("code"));t.concat(n).forEach(function(t){return e._editor.applyFontInfo(t)})},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont()},t}(r.Widget);t.GlyphHoverWidget=l}),define(d[262],h([1,0,22]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,n){this._editRange=e,this._originalSelection=t,this._text=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._editRange,this._text)},e.prototype.computeCursorState=function(e,t){var i=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new n.Selection(i.endLineNumber,Math.min(this._originalSelection.positionColumn,i.endColumn),i.endLineNumber,Math.min(this._originalSelection.positionColumn,i.endColumn)):new n.Selection(i.endLineNumber,i.endColumn-this._text.length,i.endLineNumber,i.endColumn)},e}();t.InPlaceReplaceCommand=i}),define(d[263],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSpaceCnt=function(e,t){for(var n=0,i=0;i1&&(i-=1,r=e.getLineMaxColumn(i)),t.addTrackedEditOperation(new n.Range(i,r,o,s),null)}},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.Selection(n.endLineNumber,this.restoreCursorToColumn,n.endLineNumber,this.restoreCursorToColumn)},e}();t.DeleteLinesCommand=o}),define(d[266],h([1,0,59,2]),function(e,t,n,i){"use strict";function o(e,t,n){var i=t.startLineNumber,o=t.endLineNumber;if(1===t.endColumn&&o--,i>=o)return null;for(var r=[],s=i;s<=o;s++)r.push(e.getLineContent(s));var a=r.slice(0);return a.sort(function(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())}),!0===n&&(a=a.reverse()),{startLineNumber:i,endLineNumber:o,before:r,after:a}}function r(e,t,r){var s=o(e,t,r);return s?n.EditOperation.replace(new i.Range(s.startLineNumber,1,s.endLineNumber,e.getLineMaxColumn(s.endLineNumber)),s.after.join("\n")):null}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){this.selection=e,this.descending=t}return e.prototype.getEditOperations=function(e,t){var n=r(e,this.selection,this.descending);n&&t.addEditOperation(n.range,n.text),this.selectionId=t.trackSelection(this.selection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this.selectionId)},e.canRun=function(e,t,n){var i=o(e,t,n);if(!i)return!1;for(var r=0,s=i.before.length;r0?t.show(e):t.hide()},function(e){t.hide()})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{get:function(){return this._options.glyphMarginHoverMessage},set:function(e){},enumerable:!0,configurable:!0}),e.prototype.show=function(e){this._currentLine=e.range.startLineNumber,this._decorationIds=this._editor.deltaDecorations(this._decorationIds,[{options:this._options,range:_({},e.range,{endLineNumber:e.range.startLineNumber})}])},e.prototype.hide=function(){this._decorationIds=this._editor.deltaDecorations(this._decorationIds,[]),this._futureFixes.cancel(),this._currentLine=void 0},e}();t.LightBulbWidget=a}),define(d[268],h([1,0,18,4,12,53,11]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t,n){this._onDidExecuteCodeAction=new s.Emitter,this.onDidExecuteCodeAction=this._onDidExecuteCodeAction.event,this._editor=e,this._contextMenuService=t,this._commandService=n}return e.prototype.show=function(e,t){var i=this,s=e.then(function(e){return e.map(function(e){return new r.Action(e.id,e.title,void 0,!0,function(){return n.always((t=i._commandService).executeCommand.apply(t,[e.id].concat(e.arguments)),function(){return i._onDidExecuteCodeAction.fire(void 0)});var t})})});this._contextMenuService.showContextMenu({getAnchor:function(){return o.Position.isIPosition(t)&&(t=i._toCoords(t)),t},getActions:function(){return s},onHide:function(){i._visible=!1}})},Object.defineProperty(e.prototype,"isVisible",{get:function(){return this._visible},enumerable:!0,configurable:!0}),e.prototype._toCoords=function(e){this._editor.revealPosition(e),this._editor.render();var t=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),n=i.getDomNodePagePosition(this._editor.getDomNode());return{x:n.left+t.left,y:n.top+t.top+t.height}},e}();t.QuickFixContextMenu=a}),define(d[269],h([1,0,2,91,98,43]),function(e,t,n,i,o,r){"use strict";function s(e){var t=new u;return t.start=e.range.getStartPosition(),t.end=e.range.getEndPosition(),t}function a(e,t){if(e instanceof l&&e.isEmpty)return null;if(!n.Range.containsPosition(e.range,t))return null;var i;if(e instanceof l){if(e.hasChildren)for(var o=0,r=e.children.length;o0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isEmpty",{get:function(){return!this.hasChildren&&!this.parent},enumerable:!0,configurable:!0}),t.prototype.append=function(e){return!!e&&(e.parent=this,this.children||(this.children=[]),e instanceof t?e.children&&this.children.push.apply(this.children,e.children):this.children.push(e),!0)},t}(u);t.NodeList=l;var c=function(e){function t(){var t=e.call(this)||this;return t.elements=new l,t.elements.parent=t,t}return f(t,e),Object.defineProperty(t.prototype,"start",{get:function(){return this.open.start},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"end",{get:function(){return this.close.end},enumerable:!0,configurable:!0}),t}(u);t.Block=c;var d=function(){return function(e,t,n){this.range=e,this.bracket=t,this.bracketType=n}}(),h=function(){return function(e,t,n){this.lineNumber=t,this.lineText=n,this.startOffset=e.startOffset,this.endOffset=e.endOffset,this.type=e.tokenType,this.languageId=e.languageId}}(),p=function(){function e(e){this._model=e,this._lineCount=this._model.getLineCount(),this._versionId=this._model.getVersionId(),this._lineNumber=0,this._lineText=null,this._advance()}return e.prototype._advance=function(){for(this._next=this._next?this._next.next():null;!this._next&&this._lineNumber0)return this._nextBuff.shift();var e=this._rawTokenScanner.next();if(!e)return null;var t=e.lineNumber,s=e.lineText,a=e.type,u=e.startOffset,l=e.endOffset;this._cachedLanguageId!==e.languageId&&(this._cachedLanguageId=e.languageId,this._cachedLanguageBrackets=r.LanguageConfigurationRegistry.getBracketsSupport(this._cachedLanguageId));var c=this._cachedLanguageBrackets;if(!c||i.ignoreBracketsInToken(a))return new d(new n.Range(t,u+1,t,l+1),0,null);var h;do{if(h=o.BracketsUtils.findNextBracketInToken(c.forwardRegex,t,s,u,l)){var p=h.startColumn-1,f=h.endColumn-1;u0;){var i=n.shift();if(!t(i))break;n.unshift.apply(n,i.children)}}Object.defineProperty(t,"__esModule",{value:!0});var i;!function(e){e[e.Dollar=0]="Dollar",e[e.Colon=1]="Colon",e[e.Comma=2]="Comma",e[e.CurlyOpen=3]="CurlyOpen",e[e.CurlyClose=4]="CurlyClose",e[e.Backslash=5]="Backslash",e[e.Forwardslash=6]="Forwardslash",e[e.Pipe=7]="Pipe",e[e.Int=8]="Int",e[e.VariableName=9]="VariableName",e[e.Format=10]="Format",e[e.EOF=11]="EOF"}(i=t.TokenType||(t.TokenType={}));var o=function(){function e(){this.text("")}return e.isDigitCharacter=function(e){return e>=48&&e<=57},e.isVariableCharacter=function(e){return 95===e||e>=97&&e<=122||e>=65&&e<=90},e.prototype.text=function(e){this.value=e,this.pos=0},e.prototype.tokenText=function(e){return this.value.substr(e.pos,e.len)},e.prototype.next=function(){if(this.pos>=this.value.length)return{type:i.EOF,pos:this.pos,len:0};var t,n=this.pos,o=0,r=this.value.charCodeAt(n);if("number"==typeof(t=e._table[r]))return this.pos+=1,{type:t,pos:n,len:1};if(e.isDigitCharacter(r)){t=i.Int;do{o+=1,r=this.value.charCodeAt(n+o)}while(e.isDigitCharacter(r));return this.pos+=o,{type:t,pos:n,len:o}}if(e.isVariableCharacter(r)){t=i.VariableName;do{r=this.value.charCodeAt(n+ ++o)}while(e.isVariableCharacter(r)||e.isDigitCharacter(r));return this.pos+=o,{type:t,pos:n,len:o}}t=i.Format;do{o+=1,r=this.value.charCodeAt(n+o)}while(!isNaN(r)&&void 0===e._table[r]&&!e.isDigitCharacter(r)&&!e.isVariableCharacter(r));return this.pos+=o,{type:t,pos:n,len:o}},e._table=(h={},h[36]=i.Dollar,h[58]=i.Colon,h[44]=i.Comma,h[123]=i.CurlyOpen,h[125]=i.CurlyClose,h[92]=i.Backslash,h[47]=i.Forwardslash,h[124]=i.Pipe,h),e}();t.Scanner=o;var r=function(){function e(){this._children=[]}return e.prototype.appendChild=function(e){return e instanceof s&&this._children[this._children.length-1]instanceof s?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this},e.prototype.replace=function(e,t){var n=e.parent,i=n.children.indexOf(e),o=n.children.slice(0);o.splice.apply(o,[i,1].concat(t)),n._children=o,t.forEach(function(e){return e.parent=n})},Object.defineProperty(e.prototype,"children",{get:function(){return this._children},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"snippet",{get:function(){for(var e=this;;){if(!e)return;if(e instanceof c)return e;e=e.parent}},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this.children.reduce(function(e,t){return e+t.toString()},"")},e.prototype.len=function(){return 0},e}();t.Marker=r;var s=function(e){function t(t){var n=e.call(this)||this;return n.value=t,n}return f(t,e),t.prototype.toString=function(){return this.value},t.prototype.toTextmateString=function(){return this.value.replace(/\$|}|\\/g,"\\$&")},t.prototype.len=function(){return this.value.length},t.prototype.clone=function(){return new t(this.value)},t}(r);t.Text=s;var a=function(e){function t(t){var n=e.call(this)||this;return n.index=t,n}return f(t,e),t.compareByIndex=function(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop?-1:e.indext.index?1:0},Object.defineProperty(t.prototype,"isFinalTabstop",{get:function(){return 0===this.index},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"choice",{get:function(){return 1===this._children.length&&this._children[0]instanceof u?this._children[0]:void 0},enumerable:!0,configurable:!0}),t.prototype.toTextmateString=function(){return 0===this.children.length?"$"+this.index:this.choice?"${"+this.index+"|"+this.choice.toTextmateString()+"|}":"${"+this.index+":"+this.children.map(function(e){return e.toTextmateString()}).join("")+"}"},t.prototype.clone=function(){var e=new t(this.index);return e._children=this.children.map(function(e){return e.clone()}),e},t}(r);t.Placeholder=a;var u=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.options=[],t}return f(t,e),t.prototype.appendChild=function(e){return e instanceof s&&(e.parent=this,this.options.push(e)),this},t.prototype.toString=function(){return this.options[0].value},t.prototype.toTextmateString=function(){return this.options.map(function(e){return e.value.replace(/\||,/g,"\\$&")}).join(",")},t.prototype.len=function(){return this.options[0].len()},t.prototype.clone=function(){var e=new t;return this.options.forEach(e.appendChild,e),e},t}(r);t.Choice=u;var l=function(e){function t(t){var n=e.call(this)||this;return n.name=t,n}return f(t,e),t.prototype.resolve=function(e){var t=e.resolve(this);return void 0!==t&&(this._children=[new s(t)],!0)},t.prototype.toTextmateString=function(){return 0===this.children.length?"${"+this.name+"}":"${"+this.name+":"+this.children.map(function(e){return e.toTextmateString()}).join("")+"}"},t.prototype.clone=function(){var e=new t(this.name);return e._children=this.children.map(function(e){return e.clone()}),e},t}(r);t.Variable=l;var c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),Object.defineProperty(t.prototype,"placeholders",{get:function(){var e=this;return this._placeholders||(this._placeholders=[],this.walk(function(t){return t instanceof a&&e.placeholders.push(t),!0})),this._placeholders},enumerable:!0,configurable:!0}),t.prototype.offset=function(e){var t=0,n=!1;return this.walk(function(i){return i===e?(n=!0,!1):(t+=i.len(),!0)}),n?t:-1},t.prototype.fullLen=function(e){var t=0;return n([e],function(e){return t+=e.len(),!0}),t},t.prototype.enclosingPlaceholders=function(e){for(var t=[],n=e.parent;n;)n instanceof a&&t.push(n),n=n.parent;return t},t.prototype.resolveVariables=function(e){var t=this;return this.walk(function(n){return n instanceof l&&n.resolve(e)&&(t._placeholders=void 0),!0}),this},t.prototype.appendChild=function(t){return this._placeholders=void 0,e.prototype.appendChild.call(this,t)},t.prototype.replace=function(t,n){return this._placeholders=void 0,e.prototype.replace.call(this,t,n)},t.prototype.toTextmateString=function(){return this.children.reduce(function(e,t){return e+t.toTextmateString()},"")},t.prototype.clone=function(){var e=new t;return this._children=this.children.map(function(e){return e.clone()}),e},t.prototype.walk=function(e){n(this.children,e)},t}(r);t.TextmateSnippet=c;var d=function(){function e(){this._scanner=new o}return e.escape=function(e){return e.replace(/\$|}|\\/g,"\\$&")},e.prototype.text=function(e){return this.parse(e).toString()},e.prototype.parse=function(e,t,n){this._scanner.text(e),this._token=this._scanner.next();for(var i=new c;this._parse(i););var o=new Map,r=[];i.walk(function(e){return e instanceof a&&(e.isFinalTabstop?o.set(0):!o.has(e.index)&&e.children.length>0?o.set(e.index,e.children):r.push(e)),!0});for(var s=0,u=r;s0||n)&&i.appendChild(new a(0)),i},e.prototype._accept=function(e,t){if(void 0===e||this._token.type===e){var n=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),n}return!1},e.prototype._backTo=function(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1},e.prototype._parse=function(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)},e.prototype._parseEscaped=function(e){var t;return!!(t=this._accept(i.Backslash,!0))&&(t=this._accept(i.Dollar,!0)||this._accept(i.CurlyClose,!0)||this._accept(i.Backslash,!0)||t,e.appendChild(new s(t)),!0)},e.prototype._parseTabstopOrVariableName=function(e){var t,n=this._token;return this._accept(i.Dollar)&&(t=this._accept(i.VariableName,!0)||this._accept(i.Int,!0))?(e.appendChild(/^\d+$/.test(t)?new a(Number(t)):new l(t)),!0):this._backTo(n)},e.prototype._parseComplexPlaceholder=function(e){var t,n=this._token;if(!(this._accept(i.Dollar)&&this._accept(i.CurlyOpen)&&(t=this._accept(i.Int,!0))))return this._backTo(n);var o=new a(Number(t));if(this._accept(i.Colon))for(;;){if(this._accept(i.CurlyClose))return e.appendChild(o),!0;if(!this._parse(o))return e.appendChild(new s("${"+t+":")),o.children.forEach(e.appendChild,e),!0}else{if(!this._accept(i.Pipe))return this._accept(i.CurlyClose)?(e.appendChild(o),!0):this._backTo(n);for(var r=new u;;){if(this._parseChoiceElement(r)){if(this._accept(i.Comma))continue;if(this._accept(i.Pipe)&&this._accept(i.CurlyClose))return o.appendChild(r),e.appendChild(o),!0}return this._backTo(n),!1}}},e.prototype._parseChoiceElement=function(e){for(var t=this._token,n=[];;){if(this._token.type===i.Comma||this._token.type===i.Pipe)break;var o=void 0;if(!(o=(o=this._accept(i.Backslash,!0))?this._accept(i.Comma,!0)||this._accept(i.Pipe,!0)||o:this._accept(void 0,!0)))return this._backTo(t),!1;n.push(o)}return 0===n.length?(this._backTo(t),!1):(e.appendChild(new s(n.join(""))),!0)},e.prototype._parseComplexVariable=function(e){var t,n=this._token;if(!(this._accept(i.Dollar)&&this._accept(i.CurlyOpen)&&(t=this._accept(i.VariableName,!0))))return this._backTo(n);var o=new l(t);if(!this._accept(i.Colon))return this._accept(i.CurlyClose)?(e.appendChild(o),!0):this._backTo(n);for(;;){if(this._accept(i.CurlyClose))return e.appendChild(o),!0;if(!this._parse(o))return e.appendChild(new s("${"+t+":")),o.children.forEach(e.appendChild,e),!0}},e.prototype._parseAnything=function(e){return this._token.type!==i.EOF&&(e.appendChild(new s(this._scanner.tokenText(this._token))),this._accept(void 0),!0)},e}();t.SnippetParser=d;var h}),define(d[271],h([1,0,45,142,9]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){this._model=e,this._selection=t}return e.prototype.resolve=function(e){var t=e.name;if("SELECTION"===t||"TM_SELECTED_TEXT"===t){var r=this._model.getValueInRange(this._selection)||void 0;if(r&&this._selection.startLineNumber!==this._selection.endLineNumber){var s=this._model.getLineContent(this._selection.startLineNumber),a=o.getLeadingWhitespace(s,0,this._selection.startColumn-1),u=a;e.snippet.walk(function(t){return t!==e&&(t instanceof i.Text&&(u=o.getLeadingWhitespace(t.value.split(/\r\n|\r|\n/).pop())),!0)});var l=o.commonPrefixLength(u,a);r=r.replace(/(\r\n|\r|\n)(.*)/g,function(e,t,n){return""+t+u.substr(l)+n})}return r}if("TM_CURRENT_LINE"===t)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===t){var c=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return c&&c.word||void 0}if("TM_LINE_INDEX"===t)return String(this._selection.positionLineNumber-1);if("TM_LINE_NUMBER"===t)return String(this._selection.positionLineNumber);if("TM_FILENAME"===t)return n.basename(this._model.uri.fsPath);if("TM_DIRECTORY"===t){var d=n.dirname(this._model.uri.fsPath);return"."!==d?d:""}return"TM_FILEPATH"===t?this._model.uri.fsPath:void 0},e.VariableNames=Object.freeze({SELECTION:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0}),e}();t.EditorSnippetVariableResolver=r}),define(d[272],h([1,0,81]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){return function(){}}();t.LineContext=i;var o=function(){function e(t,n,i,o){this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._lineContext=i,"top"===o?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:"bottom"===o&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return Object.defineProperty(e.prototype,"lineContext",{get:function(){return this._lineContext},set:function(e){this._lineContext.leadingLineContent===e.leadingLineContent&&this._lineContext.characterCountDelta===e.characterCountDelta||(this._lineContext=e,this._filteredItems=void 0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"items",{get:function(){return this._ensureCachedState(),this._filteredItems},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"incomplete",{get:function(){return this._ensureCachedState(),this._isIncomplete},enumerable:!0,configurable:!0}),e.prototype.resolveIncompleteInfo=function(){for(var e=[],t=[],n=0,i=this._items;nt.score?-1:e.scoret.idx?1:0},e._compareCompletionItemsSnippetsDown=function(t,n){if(t.suggestion.type!==n.suggestion.type){if("snippet"===t.suggestion.type)return 1;if("snippet"===n.suggestion.type)return-1}return e._compareCompletionItems(t,n)},e._compareCompletionItemsSnippetsUp=function(t,n){if(t.suggestion.type!==n.suggestion.type){if("snippet"===t.suggestion.type)return-1;if("snippet"===n.suggestion.type)return 1}return e._compareCompletionItems(t,n)},e}();t.CompletionModel=o}),define(d[273],h([1,0,7,17,106,90,130,9]),function(e,t,n,i,o,r,s,a){"use strict";function u(e,t,n){return c(e,t,n)}function l(e,t){for(var n=[],i=0,s=e.length;i")}return n.join("")}function c(e,t,n){for(var i=[],r=n.getInitialState(),a=0,u=e.length;a"),r=c.endState}return i.join("")}Object.defineProperty(t,"__esModule",{value:!0});var d=function(){function e(){}return e.colorizeElement=function(e,t,n,i){var o=(i=i||{}).theme||"vs",r=i.mimeType||n.getAttribute("lang")||n.getAttribute("data-lang");if(r){e.setTheme(o);var s=n.firstChild.nodeValue;n.className+="monaco-editor "+o;var a=function(e){n.innerHTML=e};return this.colorize(t,s,r,i).then(a,function(e){return console.error(e)},a)}console.error("Mode not detected")},e._tokenizationSupportChangedPromise=function(e){var t=null,o=function(){t&&(t.dispose(),t=null)};return new n.TPromise(function(n,r,s){t=i.TokenizationRegistry.onDidChange(function(t){t.changedLanguages.indexOf(e)>=0&&(o(),n(void 0))})},o)},e.colorize=function(e,t,o,r){a.startsWithUTF8BOM(t)&&(t=t.substr(1));var s=t.split(/\r\n|\r|\n/),c=e.getModeId(o);void 0===(r=r||{}).tabSize&&(r.tabSize=4),e.getOrCreateMode(c);var d=i.TokenizationRegistry.get(c);return d?n.TPromise.as(u(s,r.tabSize,d)):n.TPromise.any([this._tokenizationSupportChangedPromise(c),n.TPromise.timeout(500)]).then(function(e){var t=i.TokenizationRegistry.get(c);return t?u(s,r.tabSize,t):l(s,r.tabSize)})},e.colorizeLine=function(e,t,n,i){return void 0===i&&(i=4),o.renderViewLine(new o.RenderLineInput(!1,e,t,0,n,[],i,0,-1,"none",!1,!1)).html},e.colorizeModelLine=function(e,t,n){void 0===n&&(n=4);var i=e.getLineContent(t);e.forceTokenization(t);var o=e.getLineTokens(t).inflate();return this.colorizeLine(i,e.mightContainRTL(),o,n)},e}();t.Colorizer=d}),define(d[145],h([1,0]),function(e,t){"use strict";function n(e){return Array.isArray(e)}function i(e){return"string"==typeof e}function o(e){return!e}function r(e,t){return e.ignoreCase&&t?t.toLowerCase():t}Object.defineProperty(t,"__esModule",{value:!0});!function(e){e[e.None=0]="None",e[e.Open=1]="Open",e[e.Close=-1]="Close"}(t.MonarchBracket||(t.MonarchBracket={})),t.isFuzzyActionArr=n,t.isFuzzyAction=function(e){return!n(e)},t.isString=i,t.isIAction=function(e){return!i(e)},t.empty=o,t.fixCase=r,t.sanitize=function(e){return e.replace(/[&<>'"_]/g,"-")},t.log=function(e,t){console.log(e.languageId+": "+t)},t.throwError=function(e,t){throw new Error(e.languageId+": "+t)},t.substituteMatches=function(e,t,n,i,s){var a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,u=null;return t.replace(a,function(t,a,l,c,d,h,p,f,g){return o(l)?o(c)?!o(d)&&d0;){var n=e.tokenizer[t];if(n)return n;var i=t.lastIndexOf(".");t=i<0?null:t.substr(0,i)}return null},t.stateExists=function(e,t){for(;t&&t.length>0;){if(e.stateNames[t])return!0;var n=t.lastIndexOf(".");t=n<0?null:t.substr(0,n)}return!1}}),define(d[275],h([1,0,26,145]),function(e,t,n,i){"use strict";function o(e,t){if(!t)return!1;if(!Array.isArray(t))return!1;var n;for(n in t)if(t.hasOwnProperty(n)&&!e(t[n]))return!1;return!0}function r(e,t,n){return"boolean"==typeof e?e:(n&&(e||void 0===t)&&n(),void 0===t?null:t)}function s(e,t,n){return"string"==typeof e?e:(n&&(e||void 0===t)&&n(),void 0===t?null:t)}function a(e,t){if("string"!=typeof t)return null;for(var n=0;t.indexOf("@")>=0&&n<5;)n++,t=t.replace(/@(\w+)/g,function(n,o){var r="";return"string"==typeof e[o]?r=e[o]:e[o]&&e[o]instanceof RegExp?r=e[o].source:void 0===e[o]?i.throwError(e,"language definition does not contain attribute '"+o+"', used at: "+t):i.throwError(e,"attribute reference '"+o+"' must be a string, used at: "+t),i.empty(r)?"":"(?:"+r+")"});return new RegExp(t,e.ignoreCase?"i":"")}function u(e,t,n,i){if(i<0)return e;if(i=100){i-=100;var o=n.split(".");if(o.unshift(n),i=0&&(o.tokenSubst=!0),"string"==typeof n.bracket&&("@open"===n.bracket?o.bracket=1:"@close"===n.bracket?o.bracket=-1:i.throwError(e,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+t)),n.next)if("string"!=typeof n.next)i.throwError(e,"the next state must be a string value in rule: "+t);else{var r=n.next;/^(@pop|@push|@popall)$/.test(r)||("@"===r[0]&&(r=r.substr(1)),r.indexOf("$")<0&&(i.stateExists(e,i.substituteMatches(e,r,"",[],""))||i.throwError(e,"the next state '"+n.next+"' is not defined in rule: "+t))),o.next=r}return"number"==typeof n.goBack&&(o.goBack=n.goBack),"string"==typeof n.switchTo&&(o.switchTo=n.switchTo),"string"==typeof n.log&&(o.log=n.log),"string"==typeof n.nextEmbedded&&(o.nextEmbedded=n.nextEmbedded,e.usesEmbedded=!0),o}if(Array.isArray(n)){var s,a=[];for(s in n)n.hasOwnProperty(s)&&(a[s]=c(e,t,n[s]));return{group:a}}if(n.cases){var u,d=[];for(u in n.cases)if(n.cases.hasOwnProperty(u)){var h=c(e,t,n.cases[u]);"@default"===u||"@"===u||""===u?d.push({test:null,value:h,name:u}):"@eos"===u?d.push({test:function(e,t,n,i){return i},value:h,name:u}):d.push(l(e,t,u,h))}var p=e.defaultToken;return{test:function(e,t,n,i){var o;for(o in d)if(d.hasOwnProperty(o)&&(!d[o].test||d[o].test(e,t,n,i)))return d[o].value;return p}}}return i.throwError(e,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+t),""}return{token:""}}Object.defineProperty(t,"__esModule",{value:!0});var d=function(){function e(e){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=e}return e.prototype.setRegex=function(e,t){var n;"string"==typeof t?n=t:t instanceof RegExp?n=t.source:i.throwError(e,"rules must start with a match string or regular expression: "+this.name),this.matchOnlyAtLineStart=n.length>0&&"^"===n[0],this.name=this.name+": "+n,this.regex=a(e,"^(?:"+(this.matchOnlyAtLineStart?n.substr(1):n)+")")},e.prototype.setAction=function(e,t){this.action=c(e,this.name,t)},e}();t.compile=function(e,t){function n(e,u,l){var c;for(c in l)if(l.hasOwnProperty(c)){var h=l[c],p=h.include;if(p)"string"!=typeof p&&i.throwError(o,"an 'include' attribute must be a string at: "+e),"@"===p[0]&&(p=p.substr(1)),t.tokenizer[p]||i.throwError(o,"include target '"+p+"' is not defined at: "+e),n(e+"."+p,u,t.tokenizer[p]);else{var f=new d(e);if(Array.isArray(h)&&h.length>=1&&h.length<=3)if(f.setRegex(a,h[0]),h.length>=3)if("string"==typeof h[1])f.setAction(a,{token:h[1],next:h[2]});else if("object"==typeof h[1]){var g=h[1];g.next=h[2],f.setAction(a,g)}else i.throwError(o,"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: "+e);else f.setAction(a,h[1]);else h.regex||i.throwError(o,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e),h.name&&(f.name=s(h.name)),h.matchOnlyAtStart&&(f.matchOnlyAtLineStart=r(h.matchOnlyAtLineStart)),f.setRegex(a,h.regex),f.setAction(a,h.action);u.push(f)}}}if(!t||"object"!=typeof t)throw new Error("Monarch: expecting a language definition object");var o={};o.languageId=e,o.noThrow=!1,o.maxStack=100,o.start=s(t.start),o.ignoreCase=r(t.ignoreCase,!1),o.tokenPostfix=s(t.tokenPostfix,"."+o.languageId),o.defaultToken=s(t.defaultToken,"source",function(){i.throwError(o,"the 'defaultToken' must be a string")}),o.usesEmbedded=!1;var a=t;a.languageId=e,a.ignoreCase=o.ignoreCase,a.noThrow=o.noThrow,a.usesEmbedded=o.usesEmbedded,a.stateNames=t.tokenizer,a.defaultToken=o.defaultToken,t.tokenizer&&"object"==typeof t.tokenizer||i.throwError(o,"a language definition must define the 'tokenizer' attribute as an object"),o.tokenizer=[];var u;for(u in t.tokenizer)if(t.tokenizer.hasOwnProperty(u)){o.start||(o.start=u);var l=t.tokenizer[u];o.tokenizer[u]=new Array,n("tokenizer."+u,o.tokenizer[u],l)}o.usesEmbedded=a.usesEmbedded,t.brackets?Array.isArray(t.brackets)||i.throwError(o,"the 'brackets' attribute must be defined as an array"):t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];var c=[];for(var h in t.brackets)if(t.brackets.hasOwnProperty(h)){var p=t.brackets[h];p&&Array.isArray(p)&&3===p.length&&(p={token:p[2],open:p[0],close:p[1]}),p.open===p.close&&i.throwError(o,"open and close brackets in a 'brackets' attribute must be different: "+p.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required."),"string"==typeof p.open&&"string"==typeof p.token?c.push({token:s(p.token)+o.tokenPostfix,open:i.fixCase(o,s(p.open)),close:i.fixCase(o,s(p.close))}):i.throwError(o,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return o.brackets=c,o.noThrow=!0,o}}),define(d[276],h([1,0,17,145,97,68]),function(e,t,n,i,o,r){"use strict";function s(e,t){if(!t)return null;t=i.fixCase(e,t);for(var n=e.brackets,o=0;o=this._maxCacheDepth)return new u(e,t);var n=u.getStackElementId(e);n.length>0&&(n+="|"),n+=t;var i=this._entries[n];return i||(i=new u(e,t),this._entries[n]=i,i)},e._INSTANCE=new e(5),e}(),u=function(){function e(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}return e.getStackElementId=function(e){for(var t="";null!==e;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t},e._equals=function(e,t){for(;null!==e&&null!==t;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return null===e&&null===t},e.prototype.equals=function(t){return e._equals(this,t)},e.prototype.push=function(e){return a.create(this,e)},e.prototype.pop=function(){return this.parent},e.prototype.popall=function(){for(var e=this;e.parent;)e=e.parent;return e},e.prototype.switchTo=function(e){return a.create(this.parent,e)},e}(),l=function(){function e(e,t){this.modeId=e,this.state=t}return e.prototype.equals=function(e){return this.modeId===e.modeId&&this.state.equals(e.state)},e.prototype.clone=function(){return this.state.clone()===this.state?this:new e(this.modeId,this.state)},e}(),c=function(){function e(e){this._maxCacheDepth=e,this._entries=Object.create(null)}return e.create=function(e,t){return this._INSTANCE.create(e,t)},e.prototype.create=function(e,t){if(null!==t)return new d(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new d(e,t);var n=u.getStackElementId(e),i=this._entries[n];return i||(i=new d(e,null),this._entries[n]=i,i)},e._INSTANCE=new e(5),e}(),d=function(){function e(e,t){this.stack=e,this.embeddedModeData=t}return e.prototype.clone=function(){return(this.embeddedModeData?this.embeddedModeData.clone():null)===this.embeddedModeData?this:c.create(this.stack,this.embeddedModeData)},e.prototype.equals=function(t){return t instanceof e&&(!!this.stack.equals(t.stack)&&(null===this.embeddedModeData&&null===t.embeddedModeData||null!==this.embeddedModeData&&null!==t.embeddedModeData&&this.embeddedModeData.equals(t.embeddedModeData)))},e}(),h=Object.hasOwnProperty,p=function(){function e(){this._tokens=[],this._language=null,this._lastTokenType=null,this._lastTokenLanguage=null}return e.prototype.enterMode=function(e,t){this._language=t},e.prototype.emit=function(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._language||(this._lastTokenType=t,this._lastTokenLanguage=this._language,this._tokens.push(new o.Token(e,t,this._language)))},e.prototype.nestedModeTokenize=function(e,t,i){var o=t.modeId,r=t.state,s=n.TokenizationRegistry.get(o);if(!s)return this.enterMode(i,o),this.emit(i,""),r;var a=s.tokenize(e,r,i);return this._tokens=this._tokens.concat(a.tokens),this._lastTokenType=null,this._lastTokenLanguage=null,this._language=null,a.endState},e.prototype.finalize=function(e){return new o.TokenizationResult(this._tokens,e)},e}(),f=function(){function e(e,t){this._modeService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}return e.prototype.enterMode=function(e,t){this._currentLanguageId=this._modeService.getLanguageIdentifier(t).id},e.prototype.emit=function(e,t){var n=this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))},e._merge=function(e,t,n){var i=null!==e?e.length:0,o=t.length,r=null!==n?n.length:0;if(0===i&&0===o&&0===r)return new Uint32Array(0);if(0===i&&0===o)return n;if(0===o&&0===r)return e;var s=new Uint32Array(i+o+r);null!==e&&s.set(e);for(var a=0;a0&&i.nestedModeTokenize(s,t.embeddedModeData,n);var a=e.substring(o);return this._myTokenize(a,t,n+o,i)},e.prototype._myTokenize=function(e,t,n,o){o.enterMode(n,this._modeId);for(var r=e.length,a=t.embeddedModeData,u=t.stack,l=0,d=null,p=null,f=null,g=null;l=r)break;var L=this._lexer.tokenizer[y];L||(L=i.findRules(this._lexer,y))||i.throwError(this._lexer,"tokenizer state is not defined: "+y);W=e.substr(l);for(var x in L)if(h.call(L,x)){var N=L[x];if((0===l||!N.matchOnlyAtLineStart)&&(C=W.match(N.regex))){b=C[0],w=N.action;break}}}for(C||(C=[""],b=""),w||(l=this._lexer.maxStack?i.throwError(this._lexer,"maximum tokenizer stack size reached: ["+u.state+","+u.parent.state+",...]"):u=u.push(y);else if("@pop"===w.next)u.depth<=1?i.throwError(this._lexer,"trying to pop an empty stack in rule: "+S.name):u=u.pop();else if("@popall"===w.next)u=u.popall();else{var T=i.substituteMatches(this._lexer,w.next,b,C,y);"@"===T[0]&&(T=T.substr(1)),i.findRules(this._lexer,T)?u=u.push(T):i.throwError(this._lexer,"trying to set a next state '"+T+"' that is undefined in rule: "+S.name)}w.log&&"string"==typeof w.log&&i.log(this._lexer,this._lexer.languageId+": "+i.substituteMatches(this._lexer,w.log,b,C,y))}if(null===M&&i.throwError(this._lexer,"lexer rule has no well-defined action in rule: "+S.name),Array.isArray(M)){d&&d.length>0&&i.throwError(this._lexer,"groups cannot be nested: "+S.name),C.length!==M.length+1&&i.throwError(this._lexer,"matched number of groups does not match the number of actions in rule: "+S.name);for(var k=0,I=1;I=n.actionsList.children.length?n.actionsList.appendChild(i):n.actionsList.insertBefore(i,n.actionsList.children[r++]),n.items.push(s)})},t.prototype.pull=function(e){e>=0&&e=0){var n=void 0;e.equals(17)?n=(t+1)%s.length:e.equals(15)&&(n=0===t?s.length-1:t-1),e.equals(9)?s[t].blur():n>=0&&s[n].focus(),i.EventHelper.stop(e,!0)}}}),this.setInputWidth();var u=document.createElement("div");u.className="controls",u.appendChild(this.caseSensitive.domNode),u.appendChild(this.wholeWords.domNode),u.appendChild(this.regex.domNode),this.domNode.appendChild(u)},t.prototype.validate=function(){this.inputBox.validate()},t.prototype.showMessage=function(e){this.inputBox.showMessage(e)},t.prototype.clearMessage=function(){this.inputBox.hideMessage()},t.prototype.clearValidation=function(){this.inputBox.hideMessage()},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.OPTION_CHANGE="optionChange",t}(r.Widget);t.FindInput=l}),define(d[290],h([6,8]),function(e,t){return e.create("vs/base/common/keybindingLabels",t)}),define(d[155],h([1,0,290]),function(e,t,n){"use strict";function i(e,t,n){if(null===t)return"";var i=[];return e.ctrlKey&&i.push(n.ctrlKey),e.shiftKey&&i.push(n.shiftKey),e.altKey&&i.push(n.altKey),e.metaKey&&i.push(n.metaKey),i.push(t),i.join(n.separator)}function o(e,t,n,o,r){var s=i(e,t,r);return null!==o&&(s+=" ",s+=i(n,o,r)),s}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n){void 0===n&&(n=t),this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=n}return e.prototype.toLabel=function(e,t,n,i,r){return null===t&&null===i?null:o(e,t,n,i,this.modifierLabels[r])},e}();t.ModifierLabelProvider=r,t.UILabelProvider=new r({ctrlKey:"⌃",shiftKey:"⇧",altKey:"⌥",metaKey:"⌘",separator:""},{ctrlKey:n.localize(0,null),shiftKey:n.localize(1,null),altKey:n.localize(2,null),metaKey:n.localize(3,null),separator:"+"}),t.AriaLabelProvider=new r({ctrlKey:n.localize(4,null),shiftKey:n.localize(5,null),altKey:n.localize(6,null),metaKey:n.localize(7,null),separator:"+"},{ctrlKey:n.localize(8,null),shiftKey:n.localize(9,null),altKey:n.localize(10,null),metaKey:n.localize(11,null),separator:"+"}),t.ElectronAcceleratorLabelProvider=new r({ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Cmd",separator:"+"},{ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Super",separator:"+"}),t.UserSettingsLabelProvider=new r({ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"cmd",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"win",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"meta",separator:"+"})}),define(d[292],h([1,0,26,155,4,212]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o.$,s=function(){function e(e,t){this.os=t,this.domNode=o.append(e,r(".monaco-keybinding")),this.didEverRender=!1,e.appendChild(this.domNode)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.domNode},enumerable:!0,configurable:!0}),e.prototype.set=function(t,n){this.didEverRender&&this.keybinding===t&&e.areSame(this.matches,n)||(this.keybinding=t,this.matches=n,this.render())},e.prototype.render=function(){if(o.clearNode(this.domNode),this.keybinding){var e=this.keybinding.getParts(),t=e[0],n=e[1];t&&this.renderPart(this.domNode,t,this.matches?this.matches.firstPart:null),n&&(o.append(this.domNode,r("span.monaco-keybinding-key-chord-separator",null," ")),this.renderPart(this.domNode,n,this.matches?this.matches.chordPart:null)),this.domNode.title=this.keybinding.getAriaLabel()}this.didEverRender=!0},e.prototype.renderPart=function(e,t,n){var o=i.UILabelProvider.modifierLabels[this.os];t.ctrlKey&&this.renderKey(e,o.ctrlKey,n&&n.ctrlKey,o.separator),t.shiftKey&&this.renderKey(e,o.shiftKey,n&&n.shiftKey,o.separator),t.altKey&&this.renderKey(e,o.altKey,n&&n.altKey,o.separator),t.metaKey&&this.renderKey(e,o.metaKey,n&&n.metaKey,o.separator);var r=t.keyLabel;r&&this.renderKey(e,r,n&&n.keyCode,"")},e.prototype.renderKey=function(e,t,n,i){o.append(e,r("span.monaco-keybinding-key"+(n?".highlight":""),null,t)),i&&o.append(e,r("span.monaco-keybinding-key-separator",null,i))},e.prototype.dispose=function(){this.keybinding=null},e.areSame=function(e,t){return e===t||!e&&!t||!!e&&!!t&&n.equals(e.firstPart,t.firstPart)&&n.equals(e.chordPart,t.chordPart)},e}();t.KeybindingLabel=s}),define(d[293],h([6,8]),function(e,t){return e.create("vs/base/common/severity",t)}),define(d[36],h([1,0,293,9]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o;!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(o||(o={})),function(e){var t="error",o="warning",r="warn",s="info",a=Object.create(null);a[e.Error]=n.localize(0,null),a[e.Warning]=n.localize(1,null),a[e.Info]=n.localize(2,null),e.fromValue=function(n){return n?i.equalsIgnoreCase(t,n)?e.Error:i.equalsIgnoreCase(o,n)||i.equalsIgnoreCase(r,n)?e.Warning:i.equalsIgnoreCase(s,n)?e.Info:e.Ignore:e.Ignore},e.toString=function(e){return a[e]||i.empty},e.compare=function(e,t){return t-e}}(o||(o={})),t.default=o}),define(d[295],h([6,8]),function(e,t){return e.create("vs/base/parts/quickopen/browser/quickOpenModel",t)}),define(d[120],h([1,0,295,7,29,81,9,45,162,229,75,110,4,292,15]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var m=0,v=function(){function e(){}return e.getLabel=function(e){return e.getLabel()},e.getResourcePath=function(e){var t=e.getResource();return t&&t.fsPath},e}(),_=function(){function e(e){void 0===e&&(e=[]),this.id=(m++).toString(),this.labelHighlights=e,this.descriptionHighlights=[]}return e.prototype.getId=function(){return this.id},e.prototype.getLabel=function(){return null},e.prototype.getLabelOptions=function(){return null},e.prototype.getAriaLabel=function(){return this.getLabel()},e.prototype.getDetail=function(){return null},e.prototype.getIcon=function(){return null},e.prototype.getDescription=function(){return null},e.prototype.getKeybinding=function(){return null},e.prototype.getResource=function(){return null},e.prototype.isHidden=function(){return this.hidden},e.prototype.setHidden=function(e){this.hidden=e},e.prototype.setHighlights=function(e,t,n){this.labelHighlights=e,this.descriptionHighlights=t,this.detailHighlights=n},e.prototype.getHighlights=function(){return[this.labelHighlights,this.descriptionHighlights,this.detailHighlights]},e.prototype.run=function(e,t){return!1},e.compare=function(e,t,n){var i=e.getHighlights()[0]||[],o=t.getHighlights()[0]||[];if(i.length&&!o.length)return-1;if(!i.length&&o.length)return 1;var r=e.getLabel(),s=t.getLabel();if(r===s){var a=e.getResource(),u=t.getResource();a&&u&&(r=a.fsPath,s=u.fsPath)}return l.compareAnything(r,s,n)},e.compareByScore=function(e,t,n,i,o){return l.compareByScore(e,t,v,n,i,o)},e.highlight=function(e,t,n){void 0===n&&(n=!1);var i=[],o=[],u=s.stripWildcards(t),l=e.getLabel(),c=e.getDescription();if(e.getResource()){var d=e.getResource().fsPath;if(t.length===d.length&&t.toLowerCase()===d.toLowerCase())i.push({start:0,end:l.length}),o.push({start:0,end:c.length});else if(n||t.indexOf(a.nativeSep)>=0){var h=r.matchesFuzzy(t,l,n);if(h)i=h;else{var p=c?c+a.nativeSep:"",f=p.length,g=r.matchesFuzzy(t,p+l,n);g||t===u||(g=r.matchesFuzzy(u,p+l,n)),g&&g.forEach(function(e){e.startf?(i.push({start:0,end:e.end-f}),o.push({start:e.start,end:f})):e.start>=f?i.push({start:e.start-f,end:e.end-f}):o.push(e)})}}else i=r.matchesFuzzy(t,l)}else i=r.matchesFuzzy(t,l);return{labelHighlights:i,descriptionHighlights:o}},e.prototype.isFile=function(){return!1},e}();t.QuickOpenEntry=_;var y=function(e){function t(t,n,i){var o=e.call(this)||this;return o.entry=t,o.groupLabel=n,o.withBorder=i,o}return f(t,e),t.prototype.getGroupLabel=function(){return this.groupLabel},t.prototype.setGroupLabel=function(e){this.groupLabel=e},t.prototype.showBorder=function(){return this.withBorder},t.prototype.setShowBorder=function(e){this.withBorder=e},t.prototype.getLabel=function(){return this.entry?this.entry.getLabel():e.prototype.getLabel.call(this)},t.prototype.getLabelOptions=function(){return this.entry?this.entry.getLabelOptions():e.prototype.getLabelOptions.call(this)},t.prototype.getAriaLabel=function(){return this.entry?this.entry.getAriaLabel():e.prototype.getAriaLabel.call(this)},t.prototype.getDetail=function(){return this.entry?this.entry.getDetail():e.prototype.getDetail.call(this)},t.prototype.getResource=function(){return this.entry?this.entry.getResource():e.prototype.getResource.call(this)},t.prototype.getIcon=function(){return this.entry?this.entry.getIcon():e.prototype.getIcon.call(this)},t.prototype.getDescription=function(){return this.entry?this.entry.getDescription():e.prototype.getDescription.call(this)},t.prototype.getEntry=function(){return this.entry},t.prototype.getHighlights=function(){return this.entry?this.entry.getHighlights():e.prototype.getHighlights.call(this)},t.prototype.isHidden=function(){return this.entry?this.entry.isHidden():e.prototype.isHidden.call(this)},t.prototype.setHighlights=function(t,n,i){this.entry?this.entry.setHighlights(t,n,i):e.prototype.setHighlights.call(this,t,n,i)},t.prototype.setHidden=function(t){this.entry?this.entry.setHidden(t):e.prototype.setHidden.call(this,t)},t.prototype.run=function(t,n){return this.entry?this.entry.run(t,n):e.prototype.run.call(this,t,n)},t}(_);t.QuickOpenEntryGroup=y;var C=function(){function e(){}return e.prototype.hasActions=function(e,t){return!1},e.prototype.getActions=function(e,t){return i.TPromise.as(null)},e.prototype.hasSecondaryActions=function(e,t){return!1},e.prototype.getSecondaryActions=function(e,t){return i.TPromise.as(null)},e.prototype.getActionItem=function(e,t,n){return null},e}(),b=function(){function e(e,t){void 0===e&&(e=new C),void 0===t&&(t=null),this.actionProvider=e,this.actionRunner=t}return e.prototype.getHeight=function(e){return e.getDetail()?44:22},e.prototype.getTemplateId=function(e){return e instanceof y?"quickOpenEntryGroup":"quickOpenEntry"},e.prototype.renderTemplate=function(e,t,n){var i=document.createElement("div");h.addClass(i,"sub-content"),t.appendChild(i);var o=h.$(".quick-open-row"),r=h.$(".quick-open-row"),s=h.$(".quick-open-entry",null,o,r);i.appendChild(s);var a=document.createElement("span");o.appendChild(a);var l=new u.IconLabel(o,{supportHighlights:!0}),f=document.createElement("span");o.appendChild(f),h.addClass(f,"quick-open-entry-description");var m=new d.HighlightedLabel(f),v=document.createElement("span");o.appendChild(v),h.addClass(v,"quick-open-entry-keybinding");var _=new p.KeybindingLabel(v,g.OS),y=document.createElement("div");r.appendChild(y),h.addClass(y,"quick-open-entry-meta");var C,b=new d.HighlightedLabel(y);"quickOpenEntryGroup"===e&&(C=document.createElement("div"),h.addClass(C,"results-group"),t.appendChild(C)),h.addClass(t,"actions");var w=document.createElement("div");return h.addClass(w,"primary-action-bar"),t.appendChild(w),{container:t,entry:s,icon:a,label:l,detail:b,description:m,keybinding:_,group:C,actionBar:new c.ActionBar(w,{actionRunner:this.actionRunner})}},e.prototype.renderElement=function(e,t,n,i){var o=n;if(this.actionProvider.hasActions(null,e)?h.addClass(o.container,"has-actions"):h.removeClass(o.container,"has-actions"),o.actionBar.context=e,this.actionProvider.getActions(null,e).then(function(e){o.actionBar.isEmpty()&&e&&e.length>0?o.actionBar.push(e,{icon:!0,label:!1}):o.actionBar.isEmpty()||e&&0!==e.length||o.actionBar.clear()}),e instanceof y&&e.getGroupLabel()?h.addClass(o.container,"has-group-label"):h.removeClass(o.container,"has-group-label"),e instanceof y){var r=e,s=n;r.showBorder()?(h.addClass(s.container,"results-group-separator"),s.container.style.borderTopColor=i.pickerGroupBorder.toString()):(h.removeClass(s.container,"results-group-separator"),s.container.style.borderTopColor=null);var a=r.getGroupLabel()||"";s.group.textContent=a,s.group.style.color=i.pickerGroupForeground.toString()}if(e instanceof _){var u=e.getHighlights(),l=u[0],c=u[1],d=u[2],p=e.getIcon()?"quick-open-entry-icon "+e.getIcon():"";o.icon.className=p;var f=e.getLabelOptions()||Object.create(null);f.matches=l||[],o.label.setValue(e.getLabel(),null,f),o.detail.set(e.getDetail(),d),o.description.set(e.getDescription(),c||[]),o.description.element.title=e.getDescription(),o.keybinding.set(e.getKeybinding(),null)}},e.prototype.disposeTemplate=function(e,t){var n=t;n.actionBar.dispose(),n.actionBar=null,n.container=null,n.entry=null,n.description.dispose(),n.description=null,n.keybinding.dispose(),n.keybinding=null,n.detail.dispose(),n.detail=null,n.group=null,n.icon=null,n.label.dispose(),n.label=null},e}(),w=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=new C),this._entries=e,this._dataSource=this,this._renderer=new b(t),this._filter=this,this._runner=this,this._accessibilityProvider=this}return Object.defineProperty(e.prototype,"entries",{get:function(){return this._entries},set:function(e){this._entries=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dataSource",{get:function(){return this._dataSource},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return this._renderer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"runner",{get:function(){return this._runner},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"accessibilityProvider",{get:function(){return this._accessibilityProvider},enumerable:!0,configurable:!0}),e.prototype.addEntries=function(e){o.isArray(e)&&(this._entries=this._entries.concat(e))},e.prototype.setEntries=function(e){o.isArray(e)&&(this._entries=e)},e.prototype.getEntries=function(e){return e?this._entries.filter(function(e){return!e.isHidden()}):this._entries},e.prototype.getId=function(e){return e.getId()},e.prototype.getLabel=function(e){return e.getLabel()},e.prototype.getAriaLabel=function(e){return e.getAriaLabel()?n.localize(0,null,e.getAriaLabel()):n.localize(1,null)},e.prototype.isVisible=function(e){return!e.isHidden()},e.prototype.run=function(e,t,n){return e.run(t,n)},e}();t.QuickOpenModel=w}),define(d[297],h([6,8]),function(e,t){return e.create("vs/base/parts/quickopen/browser/quickOpenWidget",t)}),define(d[298],h([6,8]),function(e,t){return e.create("vs/base/parts/tree/browser/treeDefaults",t)}),define(d[128],h([1,0,298,7,53,15,10,4,40]),function(e,t,n,i,o,r,s,a,u){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l;!function(e){e[e.ON_MOUSE_DOWN=0]="ON_MOUSE_DOWN",e[e.ON_MOUSE_UP=1]="ON_MOUSE_UP"}(l=t.ClickBehavior||(t.ClickBehavior={}));var c=function(){function e(){this._arr=[]}return e.prototype.set=function(e,t){this._arr.push({keybinding:u.createKeybinding(e,r.OS),callback:t})},e.prototype.dispatch=function(e){for(var t=this._arr.length-1;t>=0;t--){var n=this._arr[t];if(e.equals(n.keybinding))return n.callback}return null},e}();t.KeybindingDispatcher=c;var d=function(){function e(e){void 0===e&&(e={clickBehavior:l.ON_MOUSE_UP,keyboardSupport:!0});var t=this;this.options=e,this.downKeyBindingDispatcher=new c,this.upKeyBindingDispatcher=new c,("boolean"!=typeof e.keyboardSupport||e.keyboardSupport)&&(this.downKeyBindingDispatcher.set(16,function(e,n){return t.onUp(e,n)}),this.downKeyBindingDispatcher.set(18,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(15,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(17,function(e,n){return t.onRight(e,n)}),r.isMacintosh&&(this.downKeyBindingDispatcher.set(2064,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(300,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(302,function(e,n){return t.onUp(e,n)})),this.downKeyBindingDispatcher.set(11,function(e,n){return t.onPageUp(e,n)}),this.downKeyBindingDispatcher.set(12,function(e,n){return t.onPageDown(e,n)}),this.downKeyBindingDispatcher.set(14,function(e,n){return t.onHome(e,n)}),this.downKeyBindingDispatcher.set(13,function(e,n){return t.onEnd(e,n)}),this.downKeyBindingDispatcher.set(10,function(e,n){return t.onSpace(e,n)}),this.downKeyBindingDispatcher.set(9,function(e,n){return t.onEscape(e,n)}),this.upKeyBindingDispatcher.set(3,this.onEnter.bind(this)),this.upKeyBindingDispatcher.set(2051,this.onEnter.bind(this)))}return e.prototype.onMouseDown=function(e,t,n,i){if(void 0===i&&(i="mouse"),this.options.clickBehavior===l.ON_MOUSE_DOWN&&(n.leftButton||n.middleButton)){if(n.target){if(n.target.tagName&&"input"===n.target.tagName.toLowerCase())return!1;if(a.findParentWithClass(n.target,"monaco-action-bar","row"))return!1}return this.onLeftClick(e,t,n,i)}return!1},e.prototype.onClick=function(e,t,n){return r.isMacintosh&&n.ctrlKey?(n.preventDefault(),n.stopPropagation(),!1):(!n.target||!n.target.tagName||"input"!==n.target.tagName.toLowerCase())&&((this.options.clickBehavior!==l.ON_MOUSE_DOWN||!n.leftButton&&!n.middleButton)&&this.onLeftClick(e,t,n))},e.prototype.onLeftClick=function(e,t,n,i){void 0===i&&(i="mouse");var o={origin:i,originalEvent:n};return e.getInput()===t?(e.clearFocus(o),e.clearSelection(o)):(n&&n.browserEvent&&"mousedown"===n.browserEvent.type||n.preventDefault(),n.stopPropagation(),e.DOMFocus(),e.setSelection([t],o),e.setFocus(t,o),e.isExpanded(t)?e.collapse(t).done(null,s.onUnexpectedError):e.expand(t).done(null,s.onUnexpectedError)),!0},e.prototype.onContextMenu=function(e,t,n){return(!n.target||!n.target.tagName||"input"!==n.target.tagName.toLowerCase())&&(n&&(n.preventDefault(),n.stopPropagation()),!1)},e.prototype.onTap=function(e,t,n){var i=n.initialTarget;return(!i||!i.tagName||"input"!==i.tagName.toLowerCase())&&this.onLeftClick(e,t,n,"touch")},e.prototype.onKeyDown=function(e,t){return this.onKey(this.downKeyBindingDispatcher,e,t)},e.prototype.onKeyUp=function(e,t){return this.onKey(this.upKeyBindingDispatcher,e,t)},e.prototype.onKey=function(e,t,n){var i=e.dispatch(n.toKeybinding());return!(!i||!i(t,n))&&(n.preventDefault(),n.stopPropagation(),!0)},e.prototype.onUp=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPrevious(1,n),e.reveal(e.getFocus()).done(null,s.onUnexpectedError)),!0},e.prototype.onPageUp=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPreviousPage(n),e.reveal(e.getFocus()).done(null,s.onUnexpectedError)),!0},e.prototype.onDown=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNext(1,n),e.reveal(e.getFocus()).done(null,s.onUnexpectedError)),!0},e.prototype.onPageDown=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNextPage(n),e.reveal(e.getFocus()).done(null,s.onUnexpectedError)),!0},e.prototype.onHome=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusFirst(n),e.reveal(e.getFocus()).done(null,s.onUnexpectedError)),!0},e.prototype.onEnd=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusLast(n),e.reveal(e.getFocus()).done(null,s.onUnexpectedError)),!0},e.prototype.onLeft=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var i=e.getFocus();e.collapse(i).then(function(t){if(i&&!t)return e.focusParent(n),e.reveal(e.getFocus())}).done(null,s.onUnexpectedError)}return!0},e.prototype.onRight=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var i=e.getFocus();e.expand(i).then(function(t){if(i&&!t)return e.focusFirstChild(n),e.reveal(e.getFocus())}).done(null,s.onUnexpectedError)}return!0},e.prototype.onEnter=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())return!1;var i=e.getFocus();return i&&e.setSelection([i],n),!0},e.prototype.onSpace=function(e,t){if(e.getHighlight())return!1;var n=e.getFocus();return n&&e.toggleExpansion(n),!0},e.prototype.onEscape=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?(e.clearHighlight(n),!0):e.getSelection().length?(e.clearSelection(n),!0):!!e.getFocus()&&(e.clearFocus(n),!0)},e}();t.DefaultController=d;var h=function(){function e(){}return e.prototype.getDragURI=function(e,t){return null},e.prototype.onDragStart=function(e,t,n){},e.prototype.onDragOver=function(e,t,n,i){return null},e.prototype.drop=function(e,t,n,i){},e}();t.DefaultDragAndDrop=h;var p=function(){function e(){}return e.prototype.isVisible=function(e,t){return!0},e}();t.DefaultFilter=p;var g=function(){function e(){}return e.prototype.compare=function(e,t,n){return 0},e}();t.DefaultSorter=g;var m=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return null},e}();t.DefaultAccessibilityProvider=m;var v=function(e){function t(t,i){var o=e.call(this,"vs.tree.collapse",n.localize(0,null),"monaco-tree-action collapse-all",i)||this;return o.viewer=t,o}return f(t,e),t.prototype.run=function(e){return this.viewer.getHighlight()?i.TPromise.as(null):(this.viewer.collapseAll(),this.viewer.clearSelection(),this.viewer.clearFocus(),this.viewer.DOMFocus(),this.viewer.focusFirst(),i.TPromise.as(null))},t}(o.Action);t.CollapseAllAction=v}),define(d[161],h([1,0,128,38,466,238,107,11,3,32,26,261]),function(e,t,n,i,o,r,s,a,u,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var d=function(){return function(e,t,i){if(void 0===i&&(i={}),this.tree=e,this.configuration=t,this.options=i,!t.dataSource)throw new Error("You must provide a Data Source to the tree.");this.dataSource=t.dataSource,this.renderer=t.renderer,this.controller=t.controller||new n.DefaultController({clickBehavior:n.ClickBehavior.ON_MOUSE_UP,keyboardSupport:"boolean"!=typeof i.keyboardSupport||i.keyboardSupport}),this.dnd=t.dnd||new n.DefaultDragAndDrop,this.filter=t.filter||new n.DefaultFilter,this.sorter=t.sorter||null,this.accessibilityProvider=t.accessibilityProvider||new n.DefaultAccessibilityProvider}}();t.TreeContext=d;var h={listFocusBackground:l.Color.fromHex("#073655"),listActiveSelectionBackground:l.Color.fromHex("#0E639C"),listActiveSelectionForeground:l.Color.fromHex("#FFFFFF"),listFocusAndSelectionBackground:l.Color.fromHex("#094771"),listFocusAndSelectionForeground:l.Color.fromHex("#FFFFFF"),listInactiveSelectionBackground:l.Color.fromHex("#3F3F46"),listHoverBackground:l.Color.fromHex("#2A2D2E"),listDropBackground:l.Color.fromHex("#383B3D")},p=function(e){function t(t,n,i){void 0===i&&(i={});var s=e.call(this)||this;return s.toDispose=[],s._onDispose=new a.Emitter,s._onHighlightChange=new a.Emitter,s.toDispose.push(s._onDispose,s._onHighlightChange),s.container=t,s.configuration=n,s.options=i,c.mixin(s.options,h,!1),s.options.twistiePixels="number"==typeof s.options.twistiePixels?s.options.twistiePixels:32,s.options.showTwistie=!1!==s.options.showTwistie,s.options.indentPixels="number"==typeof s.options.indentPixels?s.options.indentPixels:12,s.options.alwaysFocused=!0===s.options.alwaysFocused,s.options.useShadows=!1!==s.options.useShadows,s.options.paddingOnRow=!1!==s.options.paddingOnRow,s.context=new d(s,n,i),s.model=new o.TreeModel(s.context),s.view=new r.TreeView(s.context,s.container),s.view.setModel(s.model),s.addEmitter(s.model),s.addEmitter(s.view),s.toDispose.push(s.model.addListener("highlight",function(){return s._onHighlightChange.fire()})),s}return f(t,e),t.prototype.style=function(e){this.view.applyStyles(e)},Object.defineProperty(t.prototype,"onDOMFocus",{get:function(){return this.view&&this.view.onDOMFocus},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onDOMBlur",{get:function(){return this.view&&this.view.onDOMBlur},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onHighlightChange",{get:function(){return this._onHighlightChange&&this._onHighlightChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onDispose",{get:function(){return this._onDispose&&this._onDispose.event},enumerable:!0,configurable:!0}),t.prototype.getHTMLElement=function(){return this.view.getHTMLElement()},t.prototype.layout=function(e){this.view.layout(e)},t.prototype.DOMFocus=function(){this.view.focus()},t.prototype.isDOMFocused=function(){return this.view.isFocused()},t.prototype.DOMBlur=function(){this.view.blur()},t.prototype.onVisible=function(){this.view.onVisible()},t.prototype.onHidden=function(){this.view.onHidden()},t.prototype.setInput=function(e){return this.model.setInput(e)},t.prototype.getInput=function(){return this.model.getInput()},t.prototype.refresh=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!0),this.model.refresh(e,t)},t.prototype.expand=function(e){return this.model.expand(e)},t.prototype.expandAll=function(e){return this.model.expandAll(e)},t.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.collapse(e,t)},t.prototype.collapseAll=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),this.model.collapseAll(e,t)},t.prototype.toggleExpansion=function(e){return this.model.toggleExpansion(e)},t.prototype.toggleExpansionAll=function(e){return this.model.toggleExpansionAll(e)},t.prototype.isExpanded=function(e){return this.model.isExpanded(e)},t.prototype.getExpandedElements=function(){return this.model.getExpandedElements()},t.prototype.reveal=function(e,t){return void 0===t&&(t=null),this.model.reveal(e,t)},t.prototype.getRelativeTop=function(e){var t=this.model.getItem(e);return this.view.getRelativeTop(t)},t.prototype.getScrollPosition=function(){return this.view.getScrollPosition()},t.prototype.setScrollPosition=function(e){this.view.setScrollPosition(e)},t.prototype.getContentHeight=function(){return this.view.getTotalHeight()},t.prototype.setHighlight=function(e,t){this.model.setHighlight(e,t)},t.prototype.getHighlight=function(){return this.model.getHighlight()},t.prototype.isHighlighted=function(e){return this.model.isFocused(e)},t.prototype.clearHighlight=function(e){this.model.setHighlight(null,e)},t.prototype.select=function(e,t){this.model.select(e,t)},t.prototype.selectRange=function(e,t,n){this.model.selectRange(e,t,n)},t.prototype.deselectRange=function(e,t,n){this.model.deselectRange(e,t,n)},t.prototype.selectAll=function(e,t){this.model.selectAll(e,t)},t.prototype.deselect=function(e,t){this.model.deselect(e,t)},t.prototype.deselectAll=function(e,t){this.model.deselectAll(e,t)},t.prototype.setSelection=function(e,t){this.model.setSelection(e,t)},t.prototype.toggleSelection=function(e,t){this.model.toggleSelection(e,t)},t.prototype.isSelected=function(e){return this.model.isSelected(e)},t.prototype.getSelection=function(){return this.model.getSelection()},t.prototype.clearSelection=function(e){this.model.setSelection([],e)},t.prototype.selectNext=function(e,t,n){this.model.selectNext(e,t,n)},t.prototype.selectPrevious=function(e,t,n){this.model.selectPrevious(e,t,n)},t.prototype.selectParent=function(e,t){this.model.selectParent(e,t)},t.prototype.setFocus=function(e,t){this.model.setFocus(e,t)},t.prototype.isFocused=function(e){return this.model.isFocused(e)},t.prototype.getFocus=function(){return this.model.getFocus()},t.prototype.focusNext=function(e,t){this.model.focusNext(e,t)},t.prototype.focusPrevious=function(e,t){this.model.focusPrevious(e,t)},t.prototype.focusParent=function(e){this.model.focusParent(e)},t.prototype.focusFirstChild=function(e){this.model.focusFirstChild(e)},t.prototype.focusFirst=function(e,t){this.model.focusFirst(e,t)},t.prototype.focusNth=function(e,t){this.model.focusNth(e,t)},t.prototype.focusLast=function(e,t){this.model.focusLast(e,t)},t.prototype.focusNextPage=function(e){this.view.focusNextPage(e)},t.prototype.focusPreviousPage=function(e){this.view.focusPreviousPage(e)},t.prototype.clearFocus=function(e){this.model.setFocus(null,e)},t.prototype.addTraits=function(e,t){this.model.addTraits(e,t)},t.prototype.removeTraits=function(e,t){this.model.removeTraits(e,t)},t.prototype.toggleTrait=function(e,t){this.model.hasTrait(e,t)?this.model.removeTraits(e,[t]):this.model.addTraits(e,[t])},t.prototype.hasTrait=function(e,t){return this.model.hasTrait(e,t)},t.prototype.getNavigator=function(e,t){return new s.MappedNavigator(this.model.getNavigator(e,t),function(e){return e&&e.getElement()})},t.prototype.dispose=function(){this._onDispose.fire(),null!==this.model&&(this.model.dispose(),this.model=null),null!==this.view&&(this.view.dispose(),this.view=null),this.toDispose=u.dispose(this.toDispose),e.prototype.dispose.call(this)},t}(i.EventEmitter);t.Tree=p}),define(d[301],h([1,0,297,7,15,79,29,10,100,445,52,115,36,161,220,65,128,4,3,48,32,26,260]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,v,_,y,C,b,w){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var S=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype.onContextMenu=function(t,n,i){return o.isMacintosh?this.onLeftClick(t,n,i):e.prototype.onContextMenu.call(this,t,n,i)},t}(v.DefaultController);t.QuickOpenController=S;var E;!function(e){e[e.ELEMENT_SELECTED=0]="ELEMENT_SELECTED",e[e.FOCUS_LOST=1]="FOCUS_LOST",e[e.CANCELED=2]="CANCELED"}(E=t.HideReason||(t.HideReason={}));var L={background:b.Color.fromHex("#1E1E1E"),foreground:b.Color.fromHex("#CCCCCC"),pickerGroupForeground:b.Color.fromHex("#0097FB"),pickerGroupBorder:b.Color.fromHex("#3F3F46"),widgetShadow:b.Color.fromHex("#000000"),progressBarBackground:b.Color.fromHex("#0E70C0")},x=n.localize(0,null),N=function(){function e(e,t,n,i){this.isDisposed=!1,this.toUnbind=[],this.container=e,this.callbacks=t,this.options=n,this.styles=n||Object.create(null),w.mixin(this.styles,L,!1),this.usageLogger=i,this.model=null}return e.prototype.getElement=function(){return c.$(this.builder)},e.prototype.getModel=function(){return this.model},e.prototype.setCallbacks=function(e){this.callbacks=e},e.prototype.create=function(){var e=this;return this.builder=c.$().div(function(t){t.on(_.EventType.KEY_DOWN,function(t){9===new m.StandardKeyboardEvent(t).keyCode&&(_.EventHelper.stop(t,!0),e.hide(E.CANCELED))}).on(_.EventType.CONTEXT_MENU,function(e){return _.EventHelper.stop(e,!0)}).on(_.EventType.FOCUS,function(t){return e.gainingFocus()},null,!0).on(_.EventType.BLUR,function(t){return e.loosingFocus(t)},null,!0),e.progressBar=new g.ProgressBar(t.clone(),{progressBarBackground:e.styles.progressBarBackground}),e.progressBar.getContainer().hide(),t.div({class:"quick-open-input"},function(t){e.inputContainer=t,e.inputBox=new d.InputBox(t.getHTMLElement(),null,{placeholder:e.options.inputPlaceHolder||"",ariaLabel:x,inputBackground:e.styles.inputBackground,inputForeground:e.styles.inputForeground,inputBorder:e.styles.inputBorder,inputValidationInfoBackground:e.styles.inputValidationInfoBackground,inputValidationInfoBorder:e.styles.inputValidationInfoBorder,inputValidationWarningBackground:e.styles.inputValidationWarningBackground,inputValidationWarningBorder:e.styles.inputValidationWarningBorder,inputValidationErrorBackground:e.styles.inputValidationErrorBackground,inputValidationErrorBorder:e.styles.inputValidationErrorBorder}),e.inputElement=e.inputBox.inputElement,e.inputElement.setAttribute("role","combobox"),e.inputElement.setAttribute("aria-haspopup","false"),e.inputElement.setAttribute("aria-autocomplete","list"),_.addDisposableListener(e.inputBox.inputElement,_.EventType.KEY_DOWN,function(t){var n=new m.StandardKeyboardEvent(t),i=e.shouldOpenInBackground(n);if(2!==n.keyCode)if(18===n.keyCode||16===n.keyCode||12===n.keyCode||11===n.keyCode)_.EventHelper.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey),e.inputBox.inputElement.selectionStart===e.inputBox.inputElement.selectionEnd&&(e.inputBox.inputElement.selectionStart=e.inputBox.value.length);else if(3===n.keyCode||i){_.EventHelper.stop(t,!0);var o=e.tree.getFocus();o&&e.elementSelected(o,t,i?u.Mode.OPEN_IN_BACKGROUND:u.Mode.OPEN)}}),_.addDisposableListener(e.inputBox.inputElement,_.EventType.INPUT,function(t){e.onType()})}),e.treeContainer=t.div({class:"quick-open-tree"},function(t){e.tree=new p.Tree(t.getHTMLElement(),{dataSource:new l.DataSource(e),controller:new S({clickBehavior:v.ClickBehavior.ON_MOUSE_UP,keyboardSupport:e.options.keyboardSupport}),renderer:e.renderer=new l.Renderer(e,e.styles),filter:new l.Filter(e),accessibilityProvider:new l.AccessibilityProvider(e)},{twistiePixels:11,indentPixels:0,alwaysFocused:!0,verticalScrollMode:C.ScrollbarVisibility.Visible,ariaLabel:n.localize(1,null),keyboardSupport:e.options.keyboardSupport}),e.treeElement=e.tree.getHTMLElement(),e.toUnbind.push(e.tree.addListener(r.EventType.FOCUS,function(t){e.elementFocused(t.focus,t)})),e.toUnbind.push(e.tree.addListener(r.EventType.SELECTION,function(t){t.selection&&t.selection.length>0&&e.elementSelected(t.selection[0],t)}))}).on(_.EventType.KEY_DOWN,function(t){var n=new m.StandardKeyboardEvent(t);e.quickNavigateConfiguration&&(18!==n.keyCode&&16!==n.keyCode&&12!==n.keyCode&&11!==n.keyCode||(_.EventHelper.stop(t,!0),e.navigateInTree(n.keyCode)))}).on(_.EventType.KEY_UP,function(t){var n=new m.StandardKeyboardEvent(t),i=n.keyCode;if(e.quickNavigateConfiguration){var o=e.quickNavigateConfiguration.keybindings;if(3===i||o.some(function(e){var t=e.getParts(),o=t[0];return!t[1]&&(o.shiftKey&&4===i?!(n.ctrlKey||n.altKey||n.metaKey):!(!o.altKey||6!==i)||(!(!o.ctrlKey||5!==i)||!(!o.metaKey||57!==i)))})){var r=e.tree.getFocus();r&&e.elementSelected(r,t)}}}).clone()}).addClass("quick-open-widget").build(this.container),this.layoutDimensions&&this.layout(this.layoutDimensions),this.applyStyles(),this.builder.getHTMLElement()},e.prototype.style=function(e){this.styles=e,this.applyStyles()},e.prototype.applyStyles=function(){if(this.builder){var e=this.styles.foreground?this.styles.foreground.toString():null,t=this.styles.background?this.styles.background.toString():null,n=this.styles.borderColor?this.styles.borderColor.toString():null,i=this.styles.widgetShadow?this.styles.widgetShadow.toString():null;this.builder.style("color",e),this.builder.style("background-color",t),this.builder.style("border-color",n),this.builder.style("border-width",n?"1px":null),this.builder.style("border-style",n?"solid":null),this.builder.style("box-shadow",i?"0 5px 8px "+i:null)}this.progressBar&&this.progressBar.style({progressBarBackground:this.styles.progressBarBackground}),this.inputBox&&this.inputBox.style({inputBackground:this.styles.inputBackground,inputForeground:this.styles.inputForeground,inputBorder:this.styles.inputBorder,inputValidationInfoBackground:this.styles.inputValidationInfoBackground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorBorder:this.styles.inputValidationErrorBorder}),this.tree&&this.tree.style(this.styles),this.renderer&&this.renderer.updateStyles(this.styles)},e.prototype.shouldOpenInBackground=function(e){return 17===e.keyCode&&(!(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)&&this.inputBox.inputElement.selectionEnd===this.inputBox.value.length)},e.prototype.onType=function(){var e=this.inputBox.value;this.helpText&&(e?this.helpText.hide():this.helpText.show()),this.callbacks.onType(e)},e.prototype.navigate=function(e,t){this.isVisible()&&(!this.quickNavigateConfiguration&&t&&(this.quickNavigateConfiguration=t,this.tree.DOMFocus()),this.navigateInTree(e?18:16))},e.prototype.navigateInTree=function(e,t){var n=this.tree.getInput(),i=n?n.entries:[],o=this.tree.getFocus();switch(e){case 18:this.tree.focusNext();break;case 16:this.tree.focusPrevious();break;case 12:this.tree.focusNextPage();break;case 11:this.tree.focusPreviousPage();break;case 2:t?this.tree.focusPrevious():this.tree.focusNext()}var r=this.tree.getFocus();i.length>1&&o===r&&(16===e||2===e&&t?this.tree.focusLast():(18===e||2===e&&!t)&&this.tree.focusFirst()),(r=this.tree.getFocus())&&this.tree.reveal(r).done(null,a.onUnexpectedError)},e.prototype.elementFocused=function(e,t){if(e&&this.isVisible()){this.inputElement.setAttribute("aria-activedescendant",this.treeElement.getAttribute("aria-activedescendant"));var n={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};this.model.runner.run(e,u.Mode.PREVIEW,n)}},e.prototype.elementSelected=function(e,t,n){var i=!0;if(this.isVisible()){var o=n||u.Mode.OPEN,r={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};i=this.model.runner.run(e,o,r)}if(this.usageLogger){var s=this.model.entries.indexOf(e),a=this.model.entries.length;this.usageLogger.publicLog("quickOpenWidgetItemAccepted",{index:s,count:a,isQuickNavigate:!!this.quickNavigateConfiguration})}i&&this.hide(E.ELEMENT_SELECTED)},e.prototype.extractKeyMods=function(e){return e&&(e.ctrlKey||e.metaKey||e.payload&&e.payload.originalEvent&&(e.payload.originalEvent.ctrlKey||e.payload.originalEvent.metaKey))?[2048]:[]},e.prototype.show=function(e,t){this.visible=!0,this.isLoosingFocus=!1,this.quickNavigateConfiguration=t?t.quickNavigateConfiguration:void 0,this.quickNavigateConfiguration?(this.inputContainer.hide(),this.builder.show(),this.tree.DOMFocus()):(this.inputContainer.show(),this.builder.show(),this.inputBox.focus()),this.helpText&&(this.quickNavigateConfiguration||s.isString(e)?this.helpText.hide():this.helpText.show()),s.isString(e)?this.doShowWithPrefix(e):this.doShowWithInput(e,t&&t.autoFocus?t.autoFocus:{}),t&&t.inputSelection&&!this.quickNavigateConfiguration&&this.inputBox.select(t.inputSelection),this.callbacks.onShow&&this.callbacks.onShow()},e.prototype.doShowWithPrefix=function(e){this.inputBox.value=e,this.callbacks.onType(e)},e.prototype.doShowWithInput=function(e,t){this.setInput(e,t)},e.prototype.setInputAndLayout=function(e,t){var n=this;this.treeContainer.style({height:this.getHeight(e)+"px"}),this.tree.setInput(null).then(function(){return n.model=e,n.inputElement.setAttribute("aria-haspopup",String(e&&e.entries&&e.entries.length>0)),n.tree.setInput(e)}).done(function(){n.tree.layout(),e&&e.entries.some(function(t){return n.isElementVisible(e,t)})&&n.autoFocus(e,t)},a.onUnexpectedError)},e.prototype.isElementVisible=function(e,t){return!e.filter||e.filter.isVisible(t)},e.prototype.autoFocus=function(e,t){var n=this;void 0===t&&(t={});var i=e.entries.filter(function(t){return n.isElementVisible(e,t)});if(t.autoFocusPrefixMatch){for(var o=void 0,r=void 0,s=t.autoFocusPrefixMatch,u=s.toLowerCase(),l=0;lt.autoFocusIndex&&(this.tree.focusNth(t.autoFocusIndex),this.tree.reveal(this.tree.getFocus()).done(null,a.onUnexpectedError)):t.autoFocusSecondEntry?i.length>1&&this.tree.focusNth(1):t.autoFocusLastEntry&&i.length>1&&this.tree.focusLast()},e.prototype.refresh=function(e,t){var n=this;this.isVisible()&&(e||(e=this.tree.getInput()),e&&(this.treeContainer.style({height:this.getHeight(e)+"px"}),this.tree.refresh().done(function(){n.tree.layout(),t&&t&&e&&e.entries.some(function(t){return n.isElementVisible(e,t)})&&n.autoFocus(e,t)},a.onUnexpectedError)))},e.prototype.getHeight=function(t){var n=this,i=t.renderer;if(!t){var o=i.getHeight(null);return this.options.minItemsToShow?this.options.minItemsToShow*o:0}var r,s=0;this.layoutDimensions&&this.layoutDimensions.height&&(r=.4*(this.layoutDimensions.height-50)),(!r||r>e.MAX_ITEMS_HEIGHT)&&(r=e.MAX_ITEMS_HEIGHT);for(var a=t.entries.filter(function(e){return n.isElementVisible(t,e)}),u=this.options.maxItemsToShow||a.length,l=0;l=2?(S=v?g.Large:g.LargeBlocks,k=2/y):(S=v?g.Small:g.SmallBlocks,k=1/y),(E=Math.max(0,Math.floor((T-d)*k/(l+k))))/k>_&&(E=Math.floor(_*k)),L=T-E}else E=0,S=g.None,L=T;var I=Math.max(1,Math.floor((L-d)/l)),D=h?p:0;return{width:t,height:n,glyphMarginLeft:0,glyphMarginWidth:w,glyphMarginHeight:n,lineNumbersLeft:x,lineNumbersWidth:C,lineNumbersHeight:n,decorationsLeft:N,decorationsWidth:u,decorationsHeight:n,contentLeft:M,contentWidth:L,contentHeight:n,renderMinimap:S,minimapWidth:E,viewportColumn:I,verticalScrollbarWidth:d,horizontalScrollbarHeight:f,overviewRuler:{top:D,width:d,height:n-2*D,right:0}}},e}();t.EditorLayoutProvider=S;t.EDITOR_FONT_DEFAULTS={fontFamily:i.isMacintosh?"Menlo, Monaco, 'Courier New', monospace":i.isLinux?"'Droid Sans Mono', 'Courier New', monospace, 'Droid Sans Fallback'":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:i.isMacintosh?12:14,lineHeight:0,letterSpacing:0},t.EDITOR_MODEL_DEFAULTS={tabSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0},t.EDITOR_DEFAULTS={inDiffEditor:!1,wordSeparators:r.USUAL_WORD_SEPARATORS,lineNumbersMinChars:5,lineDecorationsWidth:10,readOnly:!1,mouseStyle:"text",disableLayerHinting:!1,automaticLayout:!1,wordWrap:"off",wordWrapColumn:80,wordWrapMinified:!0,wrappingIndent:m.Same,wordWrapBreakBeforeCharacters:"([{‘“〈《「『【〔([{「£¥$£¥++",wordWrapBreakAfterCharacters:" \t})]?|&,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」",wordWrapBreakObtrusiveCharacters:".",autoClosingBrackets:!0,autoIndent:!0,dragAndDrop:!0,emptySelectionClipboard:!0,useTabStops:!0,multiCursorModifier:"altKey",accessibilitySupport:"auto",viewInfo:{extraEditorClassName:"",disableMonospaceOptimizations:!1,rulers:[],ariaLabel:n.localize(1,null),renderLineNumbers:!0,renderCustomLineNumbers:null,renderRelativeLineNumbers:!1,selectOnLineNumbers:!0,glyphMargin:!0,revealHorizontalRightPadding:30,roundedSelection:!0,overviewRulerLanes:2,overviewRulerBorder:!0,cursorBlinking:v.Blink,mouseWheelZoom:!1,cursorStyle:y.Line,hideCursorInOverviewRuler:!1,scrollBeyondLastLine:!0,stopRenderingLineAfter:1e4,renderWhitespace:"none",renderControlCharacters:!1,fontLigatures:!1,renderIndentGuides:!0,renderLineHighlight:"line",scrollbar:{vertical:o.ScrollbarVisibility.Auto,horizontal:o.ScrollbarVisibility.Auto,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:10,horizontalSliderSize:10,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,mouseWheelScrollSensitivity:1},minimap:{enabled:!0,showSlider:"mouseover",renderCharacters:!0,maxColumn:120},fixedOverflowWidgets:!1},contribInfo:{selectionClipboard:!0,hover:!0,links:!0,contextmenu:!0,quickSuggestions:{other:!0,comments:!1,strings:!1},quickSuggestionsDelay:10,parameterHints:!0,iconsInSuggestions:!0,formatOnType:!1,formatOnPaste:!1,suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:"on",acceptSuggestionOnCommitCharacter:!0,snippetSuggestions:"inline",wordBasedSuggestions:!0,suggestFontSize:0,suggestLineHeight:0,selectionHighlight:!0,occurrencesHighlight:!0,codeLens:!0,folding:!0,showFoldingControls:"mouseover",matchBrackets:!0,find:{seedSearchStringFromSelection:!0,autoFindInSelection:!1}}}}),define(d[132],h([1,0,15,135,49]),function(e,t,n,i,o){"use strict";function r(e,t){if("number"==typeof e)return e;var n=parseFloat(e);return isNaN(n)?t:n}function s(e,t){if("number"==typeof e)return Math.round(e);var n=parseInt(e);return isNaN(n)?t:n}function a(e,t,n){return en?n:e}function u(e,t){return"string"!=typeof e?t:e}Object.defineProperty(t,"__esModule",{value:!0});var l=n.isMacintosh?1.5:1.35,c=function(){function e(e){this.zoomLevel=e.zoomLevel,this.fontFamily=String(e.fontFamily),this.fontWeight=String(e.fontWeight),this.fontSize=e.fontSize,this.lineHeight=0|e.lineHeight,this.letterSpacing=e.letterSpacing}return e.createFromRawSettings=function(t,n){var c=u(t.fontFamily,o.EDITOR_FONT_DEFAULTS.fontFamily),d=u(t.fontWeight,o.EDITOR_FONT_DEFAULTS.fontWeight),h=r(t.fontSize,o.EDITOR_FONT_DEFAULTS.fontSize);0===(h=a(h,0,100))?h=o.EDITOR_FONT_DEFAULTS.fontSize:h<8&&(h=8);var p=s(t.lineHeight,0);0===(p=a(p,0,150))?p=Math.round(l*h):p<8&&(p=8);var f=r(t.letterSpacing,0);f=a(f,-20,20);var g=1+.1*i.EditorZoom.getZoomLevel();return h*=g,p*=g,new e({zoomLevel:n,fontFamily:c,fontWeight:d,fontSize:h,lineHeight:p,letterSpacing:f})},e.prototype.getId=function(){return this.zoomLevel+"-"+this.fontFamily+"-"+this.fontWeight+"-"+this.fontSize+"-"+this.lineHeight+"-"+this.letterSpacing},e}();t.BareFontInfo=c;var d=function(e){function t(t,n){var i=e.call(this,t)||this;return i.isTrusted=n,i.isMonospace=t.isMonospace,i.typicalHalfwidthCharacterWidth=t.typicalHalfwidthCharacterWidth,i.typicalFullwidthCharacterWidth=t.typicalFullwidthCharacterWidth,i.spaceWidth=t.spaceWidth,i.maxDigitWidth=t.maxDigitWidth,i}return f(t,e),t.prototype.equals=function(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.spaceWidth===e.spaceWidth&&this.maxDigitWidth===e.maxDigitWidth},t}(c);t.FontInfo=d}),define(d[93],h([1,0,38,9,12,2,20,118,482,49,104,481,158,101,55]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.LONG_LINE_BOUNDARY=1e4;var g=function(){function e(t,i){this._eventEmitter=new n.OrderGuaranteeEventEmitter;var o=e.resolveCreationData(t,i);this._isTooLargeForTokenization=o.text.length>e.MODEL_TOKENIZATION_LIMIT||o.text.lines.length>e.MANY_MANY_LINES,this._shouldSimplifyMode=this._isTooLargeForTokenization||o.text.length>e.MODEL_SYNC_LIMIT,this._options=new s.TextModelResolvedOptions(o.options),this._constructLines(o.text),this._setVersionId(1),this._isDisposed=!1,this._isDisposing=!1}return e.createFromString=function(t,n){return void 0===n&&(n=e.DEFAULT_CREATION_OPTIONS),new e(p.RawTextSource.fromString(t),n)},e.resolveCreationData=function(e,t){var n,i=p.TextSource.fromRawTextSource(e,t.defaultEOL);if(t.detectIndentation){var o=u.guessIndentation(i.lines,t.tabSize,t.insertSpaces);n=new s.TextModelResolvedOptions({tabSize:o.tabSize,insertSpaces:o.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})}else n=new s.TextModelResolvedOptions({tabSize:t.tabSize,insertSpaces:t.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL});return{text:i,options:n}},e.prototype.addBulkListener=function(e){return this._eventEmitter.addBulkListener(e)},e.prototype._createModelLine=function(e,t){return this._isTooLargeForTokenization?new a.MinimalModelLine(e,t):new a.ModelLine(e,t)},e.prototype._assertNotDisposed=function(){if(this._isDisposed)throw new Error("Model is disposed!")},e.prototype.isTooLargeForHavingARichMode=function(){return this._shouldSimplifyMode},e.prototype.isTooLargeForTokenization=function(){return this._isTooLargeForTokenization},e.prototype.getOptions=function(){return this._assertNotDisposed(),this._options},e.prototype.updateOptions=function(e){this._assertNotDisposed();var t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,i=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,o=new s.TextModelResolvedOptions({tabSize:t,insertSpaces:n,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:i});if(!this._options.equals(o)){var r=this._options.createChangeEvent(o);if(this._options=o,r.tabSize)for(var a=this._options.tabSize,u=0,l=this._lines.length;u=t.LONG_LINE_BOUNDARY?r+=i:o+=i;return r>o},e.prototype.getLineCount=function(){return this._assertNotDisposed(),this._lines.length},e.prototype.getLineContent=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._lines[e-1].text},e.prototype.getIndentLevel=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._lines[e-1].getIndentLevel()},e.prototype._resetIndentRanges=function(){this._indentRanges=null},e.prototype._getIndentRanges=function(){return this._indentRanges||(this._indentRanges=d.computeRanges(this)),this._indentRanges},e.prototype.getIndentRanges=function(){this._assertNotDisposed();var e=this._getIndentRanges();return d.IndentRange.deepCloneArr(e)},e.prototype._toValidLineIndentGuide=function(e,t){var n=this._lines[e-1].getIndentLevel();if(-1===n)return t;var i=Math.ceil(n/this._options.tabSize);return Math.min(i,t)},e.prototype.getLineIndentGuide=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");for(var t=this._getIndentRanges(),n=t.length-1;n>=0;n--){var i=t[n];if(i.startLineNumber===e)return this._toValidLineIndentGuide(e,Math.ceil(i.indent/this._options.tabSize));if(i.startLineNumber0;)(i=t[--n]).endLineNumber+1===e&&(o=i.indent);return this._toValidLineIndentGuide(e,Math.ceil(o/this._options.tabSize))}}return 0},e.prototype.getLinesContent=function(){this._assertNotDisposed();for(var e=[],t=0,n=this._lines.length;tthis.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._lines[e-1].text.length+1},e.prototype.getLineFirstNonWhitespaceColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");var t=i.firstNonWhitespaceIndex(this._lines[e-1].text);return-1===t?0:t+1},e.prototype.getLineLastNonWhitespaceColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");var t=i.lastNonWhitespaceIndex(this._lines[e-1].text);return-1===t?0:t+2},e.prototype.validateLineNumber=function(e){return this._assertNotDisposed(),e<1&&(e=1),e>this._lines.length&&(e=this._lines.length),e},e.prototype._validatePosition=function(e,t,n){var r=Math.floor("number"==typeof e?e:1),s=Math.floor("number"==typeof t?t:1);if(r<1)return new o.Position(1,1);if(r>this._lines.length)return new o.Position(this._lines.length,this.getLineMaxColumn(this._lines.length));if(s<=1)return new o.Position(r,1);var a=this.getLineMaxColumn(r);if(s>=a)return new o.Position(r,a);if(n){var u=this._lines[r-1].text.charCodeAt(s-2);if(i.isHighSurrogate(u))return new o.Position(r,s-1)}return new o.Position(r,s)},e.prototype.validatePosition=function(e){return this._assertNotDisposed(),this._validatePosition(e.lineNumber,e.column,!0)},e.prototype.validateRange=function(e){this._assertNotDisposed();var t=this._validatePosition(e.startLineNumber,e.startColumn,!1),n=this._validatePosition(e.endLineNumber,e.endColumn,!1),o=t.lineNumber,s=t.column,a=n.lineNumber,u=n.column,l=this._lines[o-1].text,c=this._lines[a-1].text,d=s>1?l.charCodeAt(s-2):0,h=u>1&&u<=c.length?c.charCodeAt(u-2):0,p=i.isHighSurrogate(d),f=i.isHighSurrogate(h);return p||f?o===a&&s===u?new r.Range(o,s-1,a,u-1):p&&f?new r.Range(o,s-1,a,u+1):p?new r.Range(o,s-1,a,u):new r.Range(o,s,a,u+1):new r.Range(o,s,a,u)},e.prototype.modifyPosition=function(e,t){return this._assertNotDisposed(),this.getPositionAt(this.getOffsetAt(e)+t)},e.prototype.getFullModelRange=function(){this._assertNotDisposed();var e=this.getLineCount();return new r.Range(1,1,e,this.getLineMaxColumn(e))},e.prototype._emitModelRawContentChangedEvent=function(e){this._isDisposing||this._eventEmitter.emit(f.TextModelEventType.ModelRawContentChanged2,e)},e.prototype._constructLines=function(e){for(var t=this._options.tabSize,n=e.lines,i=new Array(n.length),o=0,r=n.length;ot.endLineNumber||i.lineNumber===t.endLineNumber&&i.column>t.endColumn?new c(e.selectionStart,e.selectionStartLeftoverVisibleColumns,new n.Position(t.endLineNumber,t.endColumn),0):null},e.prototype.equals=function(e){return this.viewState.equals(e.viewState)&&this.modelState.equals(e.viewState)},e}();t.CursorState=h;var p=function(){return function(e,t){this.commands=e,this.shouldPushStackElementBefore=t.shouldPushStackElementBefore,this.shouldPushStackElementAfter=t.shouldPushStackElementAfter}}();t.EditOperationResult=p;var f=function(){function e(){}return e.isLowSurrogate=function(e,t,n){var o=e.getLineContent(t);return!(n<0||n>=o.length)&&i.isLowSurrogate(o.charCodeAt(n))},e.isHighSurrogate=function(e,t,n){var o=e.getLineContent(t);return!(n<0||n>=o.length)&&i.isHighSurrogate(o.charCodeAt(n))},e.isInsideSurrogatePair=function(e,t,n){return this.isHighSurrogate(e,t,n-2)},e.visibleColumnFromColumn=function(e,t,n){var i=e.length;i>t-1&&(i=t-1);for(var o=0,r=0;r=t)return s-ts?s:o},e.nextTabStop=function(e,t){return e+t-e%t},e.prevTabStop=function(e,t){return e-1-(e-1)%t},e}();t.CursorColumns=f}),define(d[167],h([1,0,9,39,2,22,43]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){this._opts=t,this._selection=e,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}return e.unshiftIndentCount=function(e,t,n){var o=i.CursorColumns.visibleColumnFromColumn(e,t,n);return i.CursorColumns.prevTabStop(o,n)/n},e.shiftIndentCount=function(e,t,n){var o=i.CursorColumns.visibleColumnFromColumn(e,t,n);return i.CursorColumns.nextTabStop(o,n)/n},e.prototype._addEditOperation=function(e,t,n){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,n):e.addEditOperation(t,n)},e.prototype.getEditOperations=function(t,r){var a=this._selection.startLineNumber,u=this._selection.endLineNumber;1===this._selection.endColumn&&a!==u&&(u-=1);var l=this._opts.tabSize,c=this._opts.oneIndent,d=a===u;if(this._selection.isEmpty()&&/^\s*$/.test(t.getLineContent(a))&&(this._useLastEditRangeForCursorEndPosition=!0),this._opts.useTabStops)for(var h=["",c],p=0,f=0,g=a;g<=u;g++,p=f){f=0;var m=t.getLineContent(g),v=n.firstNonWhitespaceIndex(m);if((!this._opts.isUnshift||0!==m.length&&0!==v)&&(d||this._opts.isUnshift||0!==m.length)){if(-1===v&&(v=m.length),g>1&&i.CursorColumns.visibleColumnFromColumn(m,v+1,l)%l!=0){var _=s.LanguageConfigurationRegistry.getRawEnterActionAtPosition(t,g-1,t.getLineMaxColumn(g-1));if(_){if(f=p,_.appendText)for(var y=0,C=_.appendText.length;ya,d=s>u,h=su)continue;if(ys)continue;if(_1&&o--,this.columnSelect(e,t,n.selection,i,o)},e.columnSelectRight=function(e,t,i,r,s){for(var a=0,u=Math.min(i.position.lineNumber,r),l=Math.max(i.position.lineNumber,r),c=u;c<=l;c++){var d=t.getLineMaxColumn(c),h=o.CursorColumns.visibleColumnFromColumn2(e,t,new n.Position(c,d));a=Math.max(a,h)}return st.getLineCount()&&(o=t.getLineCount()),this.columnSelect(e,t,n.selection,o,r)},e}();t.ColumnSelection=r}),define(d[169],h([1,0,39,12,2]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.lineNumber=e,this.column=t,this.leftoverVisibleColumns=n}}();t.CursorPosition=r;var s=function(){function e(){}return e.left=function(e,t,i,o){return o>t.getLineMinColumn(i)?n.CursorColumns.isLowSurrogate(t,i,o-2)?o-=2:o-=1:i>1&&(i-=1,o=t.getLineMaxColumn(i)),new r(i,o,0)},e.moveLeft=function(t,n,i,o,r){var s,a;if(i.hasSelection()&&!o)s=i.selection.startLineNumber,a=i.selection.startColumn;else{var u=e.left(t,n,i.position.lineNumber,i.position.column-(r-1));s=u.lineNumber,a=u.column}return i.move(o,s,a,0)},e.right=function(e,t,i,o){return oc?(i=c,u?o=t.getLineMaxColumn(i):(o=Math.min(t.getLineMaxColumn(i),o),n.CursorColumns.isInsideSurrogatePair(t,i,o)&&(o-=1))):(o=n.CursorColumns.columnFromVisibleColumn2(e,t,i,l),n.CursorColumns.isInsideSurrogatePair(t,i,o)&&(o-=1)),s=l-n.CursorColumns.visibleColumnFromColumn(t.getLineContent(i),o,e.tabSize),new r(i,o,s)},e.moveDown=function(t,n,i,o,r){var s,a;i.hasSelection()&&!o?(s=i.selection.endLineNumber,a=i.selection.endColumn):(s=i.position.lineNumber,a=i.position.column);var u=e.down(t,n,s,a,i.leftoverVisibleColumns,r,!0);return i.move(o,u.lineNumber,u.column,u.leftoverVisibleColumns)},e.translateDown=function(t,r,s){var a=s.selection,u=e.down(t,r,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),l=e.down(t,r,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new n.SingleCursorState(new o.Range(u.lineNumber,u.column,u.lineNumber,u.column),u.leftoverVisibleColumns,new i.Position(l.lineNumber,l.column),l.leftoverVisibleColumns)},e.up=function(e,t,i,o,s,a,u){var l=n.CursorColumns.visibleColumnFromColumn(t.getLineContent(i),o,e.tabSize)+s;return(i-=a)<1?(i=1,u?o=t.getLineMinColumn(i):(o=Math.min(t.getLineMaxColumn(i),o),n.CursorColumns.isInsideSurrogatePair(t,i,o)&&(o-=1))):(o=n.CursorColumns.columnFromVisibleColumn2(e,t,i,l),n.CursorColumns.isInsideSurrogatePair(t,i,o)&&(o-=1)),s=l-n.CursorColumns.visibleColumnFromColumn(t.getLineContent(i),o,e.tabSize),new r(i,o,s)},e.moveUp=function(t,n,i,o,r){var s,a;i.hasSelection()&&!o?(s=i.selection.startLineNumber,a=i.selection.startColumn):(s=i.position.lineNumber,a=i.position.column);var u=e.up(t,n,s,a,i.leftoverVisibleColumns,r,!0);return i.move(o,u.lineNumber,u.column,u.leftoverVisibleColumns)},e.translateUp=function(t,r,s){var a=s.selection,u=e.up(t,r,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),l=e.up(t,r,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new n.SingleCursorState(new o.Range(u.lineNumber,u.column,u.lineNumber,u.column),u.leftoverVisibleColumns,new i.Position(l.lineNumber,l.column),l.leftoverVisibleColumns)},e.moveToBeginningOfLine=function(e,t,n,i){var o,r=n.position.lineNumber,s=t.getLineMinColumn(r),a=t.getLineFirstNonWhitespaceColumn(r)||s;return o=n.position.column===a?s:a,n.move(i,r,o,0)},e.moveToEndOfLine=function(e,t,n,i){var o=n.position.lineNumber,r=t.getLineMaxColumn(o);return n.move(i,o,r,0)},e.moveToBeginningOfBuffer=function(e,t,n,i){return n.move(i,1,1,0)},e.moveToEndOfBuffer=function(e,t,n,i){var o=t.getLineCount(),r=t.getLineMaxColumn(o);return n.move(i,o,r,0)},e}();t.MoveOperations=s}),define(d[170],h([1,0,73,39,2,169,9]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(){}return e.deleteRight=function(e,t,i){for(var s=[],a=!1,u=0,l=i.length;u1){var g=t.getLineContent(f.lineNumber),m=s.firstNonWhitespaceIndex(g),v=-1===m?g.length+1:m+1;if(f.column<=v){var _=i.CursorColumns.visibleColumnFromColumn2(e,t,f),y=i.CursorColumns.prevTabStop(_,e.tabSize),C=i.CursorColumns.columnFromVisibleColumn2(e,t,f.lineNumber,y);p=new o.Range(f.lineNumber,C,f.lineNumber,f.column)}else p=new o.Range(f.lineNumber,f.column-1,f.lineNumber,f.column)}else{var b=r.MoveOperations.left(e,t,f.lineNumber,f.column);p=new o.Range(b.lineNumber,b.column,f.lineNumber,f.column)}}p.isEmpty()?u[c]=null:(p.startLineNumber!==p.endLineNumber&&(l=!0),u[c]=new n.ReplaceCommand(p,""))}return[l,u]},e.cut=function(e,t,r){for(var s=[],a=0,u=r.length;a1?(d=c.lineNumber-1,h=t.getLineMaxColumn(c.lineNumber-1),p=c.lineNumber,f=t.getLineMaxColumn(c.lineNumber)):(d=c.lineNumber,h=1,p=c.lineNumber,f=t.getLineMaxColumn(c.lineNumber));var g=new o.Range(d,h,p,f);g.isEmpty()?s[a]=null:s[a]=new n.ReplaceCommand(g,"")}else s[a]=null;else s[a]=new n.ReplaceCommand(l,"")}return new i.EditOperationResult(s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e}();t.DeleteOperations=a}),define(d[119],h([1,0,10,73,39,2,9,167,43,60,441,94]),function(e,t,n,i,o,r,s,a,u,l,c,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var h=function(){function e(){}return e.indent=function(e,t,n){for(var i=[],o=0,r=n.length;o1){var d=i-1;for(d=i-1;d>=1;d--){var h=n.getLineContent(d);if(s.lastNonWhitespaceIndex(h)>=0)break}if(d<1)return null;var p=n.getLineMaxColumn(d),f=u.LanguageConfigurationRegistry.getEnterAction(n,new r.Range(d,p,d,p));f&&(a=f.indentation,(o=f.enterAction)&&(a+=o.appendText))}return o&&(o===l.IndentAction.Indent&&(a=e.shiftIndent(t,a)),o===l.IndentAction.Outdent&&(a=e.unshiftIndent(t,a)),a=t.normalizeIndentation(a)),a||null},e._replaceJumpToNextIndent=function(e,t,n,r){var s="",a=n.getStartPosition();if(e.insertSpaces)for(var u=o.CursorColumns.visibleColumnFromColumn2(e,t,a),l=e.tabSize,c=l-u%l,d=0;d=0?c.setEndPosition(c.endLineNumber,Math.max(c.endColumn,L+1)):c.setEndPosition(c.endLineNumber,n.getLineMaxColumn(c.endLineNumber)),a)return new i.ReplaceCommandWithoutChangingPosition(c,S+t.normalizeIndentation(_.afterEnter),!0);var x=0;return w<=L+1&&(t.insertSpaces||(b=Math.ceil(b/t.tabSize)),x=Math.min(b+1-t.normalizeIndentation(_.afterEnter).length-1,0)),new i.ReplaceCommandWithOffsetCursorState(c,S+t.normalizeIndentation(_.afterEnter),0,x,!0)}return e._typeCommand(c,"\n"+t.normalizeIndentation(C),a)},e._runAutoIndentType=function(t,n,i,o){var s=u.LanguageConfigurationRegistry.getIndentationAtPosition(n,i.startLineNumber,i.startColumn),a=u.LanguageConfigurationRegistry.getIndentActionForType(n,i,o,{shiftIndent:function(n){return e.shiftIndent(t,n)},unshiftIndent:function(n){return e.unshiftIndent(t,n)}});if(null===a)return null;if(a!==t.normalizeIndentation(s)){var l=n.getLineFirstNonWhitespaceColumn(i.startLineNumber);return 0===l?e._typeCommand(new r.Range(i.startLineNumber,0,i.endLineNumber,i.endColumn),t.normalizeIndentation(a)+o,!1):e._typeCommand(new r.Range(i.startLineNumber,0,i.endLineNumber,i.endColumn),t.normalizeIndentation(a)+n.getLineContent(i.startLineNumber).substring(l-1,i.startColumn-1)+o,!1)}return null},e._isAutoClosingCloseCharType=function(e,t,n,i){if(!e.autoClosingBrackets||!e.autoClosingPairsClose.hasOwnProperty(i))return!1;for(var o=0,r=n.length;o1){var h=d.getMapForWordSeparators(e.wordSeparators),p=c.charCodeAt(l.column-2);if(0===h.get(p))return!1}var f=c.charAt(l.column-1);if(f){var g=e.autoClosingPairsOpen[o]===o,m=!1;for(var v in e.autoClosingPairsClose){var _=e.autoClosingPairsOpen[v]===v;if((g||!_)&&f===v){m=!0;break}}if(!m&&!/\s/.test(f))return!1}t.forceTokenization(l.lineNumber);var y=t.getLineTokens(l.lineNumber),C=!1;try{C=u.LanguageConfigurationRegistry.shouldAutoClosePair(o,y,l.column)}catch(e){n.onUnexpectedError(e)}if(!C)return!1}return!0},e._runAutoClosingOpenCharType=function(e,t,n,r){for(var s=[],a=0,u=n.length;a=0;o--){var r=e.charCodeAt(o),s=t.get(r);if(0===s){if(2===i)return this._createWord(e,i,o+1,this._findEndOfWord(e,t,i,o+1));i=1}else if(2===s){if(1===i)return this._createWord(e,i,o+1,this._findEndOfWord(e,t,i,o+1));i=2}else if(1===s&&0!==i)return this._createWord(e,i,o+1,this._findEndOfWord(e,t,i,o+1))}return 0!==i?this._createWord(e,i,0,this._findEndOfWord(e,t,i,0)):null},e._findEndOfWord=function(e,t,n,i){for(var o=e.length,r=i;r=0;o--){var r=e.charCodeAt(o),s=t.get(r);if(1===s)return o+1;if(1===n&&2===s)return o+1;if(2===n&&0===s)return o+1}return 0},e.moveWordLeft=function(t,n,o,r){var s=o.lineNumber,a=o.column;1===a&&s>1&&(s-=1,a=n.getLineMaxColumn(s));var u=e._findPreviousWordOnLine(t,n,new i.Position(s,a));return 0===r?a=u?u.start+1:1:(u&&a<=u.end+1&&(u=e._findPreviousWordOnLine(t,n,new i.Position(s,u.start+1))),a=u?u.end+1:1),new i.Position(s,a)},e.moveWordRight=function(t,n,o,r){var s=o.lineNumber,a=o.column;a===n.getLineMaxColumn(s)&&s=u.start+1&&(u=e._findNextWordOnLine(t,n,new i.Position(s,u.end+1))),a=u?u.start+1:n.getLineMaxColumn(s)),new i.Position(s,a)},e._deleteWordLeftWhitespace=function(e,t){var n=e.getLineContent(t.lineNumber),i=t.column-2,o=r.lastNonWhitespaceIndex(n,i);return o+11?c=1:(l--,c=n.getLineMaxColumn(l)):(h&&c<=h.end+1&&(h=e._findPreviousWordOnLine(t,n,new i.Position(l,h.start+1))),h?c=h.end+1:c>1?c=1:(l--,c=n.getLineMaxColumn(l))),new s.Range(l,c,u.lineNumber,u.column)},e._findFirstNonWhitespaceChar=function(e,t){for(var n=e.length,i=t;i=f.start+1&&(f=e._findNextWordOnLine(t,n,new i.Position(l,f.end+1))),f?c=f.start+1:cc&&(d=c,h=e.model.getLineMaxColumn(d)),n.CursorState.fromModelState(new n.SingleCursorState(new o.Range(u.lineNumber,1,d,h),0,new i.Position(d,h),0))}var p=t.modelState.selectionStart.getStartPosition().lineNumber;if(u.lineNumberp){var c=e.viewModel.getLineCount(),f=l.lineNumber+1,g=1;return f>c&&(f=c,g=e.viewModel.getLineMaxColumn(f)),n.CursorState.fromViewState(t.viewState.move(t.modelState.hasSelection(),f,g,0))}var m=t.modelState.selectionStart.getEndPosition();return n.CursorState.fromModelState(t.modelState.move(t.modelState.hasSelection(),m.lineNumber,m.column,0))},e.word=function(e,t,i,o){var r=e.model.validatePosition(o);return n.CursorState.fromModelState(s.WordOperations.word(e.config,e.model,t.modelState,i,r))},e.cancelSelection=function(e,t){if(!t.modelState.hasSelection())return new n.CursorState(t.modelState,t.viewState);var r=t.viewState.position.lineNumber,s=t.viewState.position.column;return n.CursorState.fromViewState(new n.SingleCursorState(new o.Range(r,s,r,s),0,new i.Position(r,s),0))},e.moveTo=function(e,t,o,r,s){var a=e.model.validatePosition(r),u=s?e.validateViewPosition(new i.Position(s.lineNumber,s.column),a):e.convertModelPositionToViewPosition(a);return n.CursorState.fromViewState(t.viewState.move(o,u.lineNumber,u.column,0))},e.move=function(e,t,n){var i=n.select,o=n.value;switch(n.direction){case 0:return 4===n.unit?this._moveHalfLineLeft(e,t,i):this._moveLeft(e,t,i,o);case 1:return 4===n.unit?this._moveHalfLineRight(e,t,i):this._moveRight(e,t,i,o);case 2:return 2===n.unit?this._moveUpByViewLines(e,t,i,o):this._moveUpByModelLines(e,t,i,o);case 3:return 2===n.unit?this._moveDownByViewLines(e,t,i,o):this._moveDownByModelLines(e,t,i,o);case 4:return this._moveToViewMinColumn(e,t,i);case 5:return this._moveToViewFirstNonWhitespaceColumn(e,t,i);case 6:return this._moveToViewCenterColumn(e,t,i);case 7:return this._moveToViewMaxColumn(e,t,i);case 8:return this._moveToViewLastNonWhitespaceColumn(e,t,i);case 9:var r=t[0],s=e.getCompletelyVisibleModelRange(),a=this._firstLineNumberInRange(e.model,s,o),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,i,a,u)];case 11:var r=t[0],s=e.getCompletelyVisibleModelRange(),a=this._lastLineNumberInRange(e.model,s,o),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,i,a,u)];case 10:var r=t[0],s=e.getCompletelyVisibleModelRange(),a=Math.round((s.startLineNumber+s.endLineNumber)/2),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,i,a,u)];case 12:for(var l=e.getCompletelyVisibleViewRange(),c=[],d=0,h=t.length;di.endLineNumber-1&&(r=i.endLineNumber-1),rn)for(var r=t-n,o=0;o=e+1&&this.lastAddedCursorIndex--,this.secondaryCursors[e].dispose(this.context),this.secondaryCursors.splice(e,1)},e.prototype._getAll=function(){var e=[];e[0]=this.primaryCursor;for(var t=0,n=this.secondaryCursors.length;tp&&t[S].index--;e.splice(p,1),t.splice(h,1),this._removeSecondaryCursor(p-1),s--}}}},e}();t.CursorCollection=r}),define(d[319],h([1,0,9,2,22,43,167,263,60]),function(e,t,n,i,o,r,s,a,u){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l=function(){function e(e,t,n){this._selection=e,this._isMovingDown=t,this._autoIndent=n,this._moveEndLineSelectionShrink=!1}return e.prototype.getEditOperations=function(e,t){var s=e.getLineCount();if((!this._isMovingDown||this._selection.endLineNumber!==s)&&(this._isMovingDown||1!==this._selection.startLineNumber)){this._moveEndPositionDown=!1;var u=this._selection;u.startLineNumber=u.startLineNumber+1&&t<=u.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)};var S=r.LanguageConfigurationRegistry.getGoodIndentForLine(h,e.getLanguageIdAtPosition(g,1),u.startLineNumber+1,d);if(null!==S){y=n.getLeadingWhitespace(e.getLineContent(u.startLineNumber));if((C=a.getSpaceCnt(S,l))!==(N=a.getSpaceCnt(y,l))){M=C-N;this.getIndentEditsOfMovingBlock(e,t,u,l,c,M)}}}}else t.addEditOperation(new i.Range(u.startLineNumber,1,u.startLineNumber,1),v+"\n")}else if(g=u.startLineNumber-1,m=e.getLineContent(g),t.addEditOperation(new i.Range(g,1,g+1,1),null),t.addEditOperation(new i.Range(u.endLineNumber,e.getLineMaxColumn(u.endLineNumber),u.endLineNumber,e.getLineMaxColumn(u.endLineNumber)),"\n"+m),this.isAutoIndent(e,u)){h.getLineContent=function(t){return t===g?e.getLineContent(u.startLineNumber):e.getLineContent(t)};var E=this.matchEnterRule(e,d,l,u.startLineNumber,u.startLineNumber-2);if(null!==E)0!==E&&this.getIndentEditsOfMovingBlock(e,t,u,l,c,E);else{var L=r.LanguageConfigurationRegistry.getGoodIndentForLine(h,e.getLanguageIdAtPosition(u.startLineNumber,1),g,d);if(null!==L){var x=n.getLeadingWhitespace(e.getLineContent(u.startLineNumber)),C=a.getSpaceCnt(L,l),N=a.getSpaceCnt(x,l);if(C!==N){var M=C-N;this.getIndentEditsOfMovingBlock(e,t,u,l,c,M)}}}}}this._selectionId=t.trackSelection(u)}},e.prototype.buildIndentConverter=function(e){return{shiftIndent:function(t){for(var n=s.ShiftCommand.shiftIndentCount(t,t.length+1,e),i="",o=0;o=1;){var h=void 0;if(h=d===l&&void 0!==c?c:e.getLineContent(d),n.lastNonWhitespaceIndex(h)>=0)break;d--}if(d<1||s>e.getLineCount())return null;var p=e.getLineMaxColumn(d),f=r.LanguageConfigurationRegistry.getEnterAction(e,new i.Range(d,p,d,p));if(f){var g=f.indentation,m=f.enterAction;m.indentAction===u.IndentAction.None?g=f.indentation+m.appendText:m.indentAction===u.IndentAction.Indent?g=f.indentation+m.appendText:m.indentAction===u.IndentAction.IndentOutdent?g=f.indentation:m.indentAction===u.IndentAction.Outdent&&(g=t.unshiftIndent(f.indentation)+m.appendText);var v=e.getLineContent(s);if(this.trimLeft(v).indexOf(this.trimLeft(g))>=0){var _=n.getLeadingWhitespace(e.getLineContent(s)),y=n.getLeadingWhitespace(g);return 2&r.LanguageConfigurationRegistry.getIndentMetadata(e,s)&&(y=t.unshiftIndent(y)),a.getSpaceCnt(y,o)-a.getSpaceCnt(_,o)}}return null},e.prototype.trimLeft=function(e){return e.replace(/^\s+/,"")},e.prototype.isAutoIndent=function(e,t){if(!this._autoIndent)return!1;var n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==r.LanguageConfigurationRegistry.getIndentRulesSupport(n)},e.prototype.getIndentEditsOfMovingBlock=function(e,t,o,r,s,u){for(var l=o.startLineNumber;l<=o.endLineNumber;l++){var c=e.getLineContent(l),d=n.getLeadingWhitespace(c),h=a.getSpaceCnt(d,r)+u,p=a.generateIndent(h,r,s);p!==d&&(t.addEditOperation(new i.Range(l,1,l,d.length+1),p),l===o.endLineNumber&&o.endColumn<=d.length+1&&""===p&&(this._moveEndLineSelectionShrink=!0))}},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&n.startLineNumber1)return;var a=new s.Range(o.lineNumber,o.column,o.lineNumber,o.column);this.emitCursorRevealRange(a,t,n)},t.prototype.emitCursorRevealRange=function(e,t,n){this._emit([new m.ViewRevealRangeRequestEvent(e,t,n)])},t.prototype.trigger=function(e,t,n){var i=u.Handler;if(t!==i.CompositionStart)if(t!==i.CompositionEnd){var r=new C(this._model,this),s=g.CursorChangeReason.NotSet;this._cursors.ensureValidState(),this._isHandling=!0;try{switch(t){case i.Type:this._type(e,n.text);break;case i.ReplacePreviousChar:this._replacePreviousChar(n.text,n.replaceCharCnt);break;case i.Paste:s=g.CursorChangeReason.Paste,this._paste(n.text,n.pasteOnNewLine);break;case i.Cut:this._cut();break;case i.Undo:s=g.CursorChangeReason.Undo,this._interpretCommandResult(this._model.undo());break;case i.Redo:s=g.CursorChangeReason.Redo,this._interpretCommandResult(this._model.redo());break;case i.ExecuteCommand:this._externalExecuteCommand(n);break;case i.ExecuteCommands:this._externalExecuteCommands(n)}}catch(e){o.onUnexpectedError(e)}this._isHandling=!1,this._emitStateChangedIfNecessary(e,s,r)&&this._revealRange(0,0,!0)}else this._isDoingComposition=!1;else this._isDoingComposition=!0},t.prototype._type=function(e,t){if(this._isDoingComposition||"keyboard"!==e)this._executeEditOperation(h.TypeOperations.typeWithoutInterceptors(this.context.config,this.context.model,this.getSelections(),t));else for(var n=0,o=t.length;n0&&(h[0]._isTracked=!0);var p=e.model.pushEditOperations(e.selectionsBefore,h,function(n){for(var i=[],o=0;o0?(i[n].sort(s),u[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:function(){return i[n]},getTrackedSelection:function(t){var n=parseInt(t,10),i=e.model._getMarker(e.selectionStartMarkers[n]),o=e.model._getMarker(e.positionMarkers[n]);return new a.Selection(i.lineNumber,i.column,o.lineNumber,o.column)}})):u[n]=e.selectionsBefore[n]}(o);return u}),f=[];for(var g in d)d.hasOwnProperty(g)&&f.push(parseInt(g,10));f.sort(function(e,t){return t-e});for(u=0;uo.identifier.major?i.identifier.major:o.identifier.major).toString()]=!0;for(var a=0;a0&&n--}}return t},e}()}),define(d[322],h([6,8]),function(e,t){return e.create("vs/editor/common/model/textModelWithTokens",t)}),define(d[323],h([1,0,322,10,426,93,17,68,91,98,43,95,55]),function(e,t,n,i,o,r,s,a,u,l,c,d,h){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var p=function(){function e(){this._ranges=[]}return e.prototype.registerChangedTokens=function(e){var t=this._ranges,n=t.length,i=n>0?t[n-1]:null;i&&i.toLineNumber===e-1?i.toLineNumber++:t[n]={fromLineNumber:e,toLineNumber:e}},e.prototype.build=function(){return 0===this._ranges.length?null:{ranges:this._ranges}},e}(),g=function(e){function t(t,n,i){var o=e.call(this,t,n)||this;return o._languageIdentifier=i||a.NULL_LANGUAGE_IDENTIFIER,o._tokenizationListener=s.TokenizationRegistry.onDidChange(function(e){-1!==e.changedLanguages.indexOf(o._languageIdentifier.language)&&(o._resetTokenizationState(),o.emitModelTokensChangedEvent({ranges:[{fromLineNumber:1,toLineNumber:o.getLineCount()}]}))}),o._revalidateTokensTimeout=-1,o._resetTokenizationState(),o}return f(t,e),t.prototype.dispose=function(){this._tokenizationListener.dispose(),this._clearTimers(),this._lastState=null,e.prototype.dispose.call(this)},t.prototype._shouldAutoTokenize=function(){return!1},t.prototype._resetValue=function(t){e.prototype._resetValue.call(this,t),this._resetTokenizationState()},t.prototype._resetTokenizationState=function(){this._clearTimers();for(var e=0;ethis.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");this._withModelTokensChangedEventBuilder(function(n){t._updateTokensUntilLine(n,e)})},t.prototype.getLineTokens=function(e){if(e<1||e>this.getLineCount())throw new Error("Illegal value "+e+" for `lineNumber`");return this._getLineTokens(e)},t.prototype._getLineTokens=function(e){return this._lines[e-1].getTokens(this._languageIdentifier.id)},t.prototype.getLanguageIdentifier=function(){return this._languageIdentifier},t.prototype.getModeId=function(){return this._languageIdentifier.language},t.prototype.setMode=function(e){if(this._languageIdentifier.id!==e.id){var t={oldLanguage:this._languageIdentifier.language,newLanguage:e.language};this._languageIdentifier=e,this._resetTokenizationState(),this.emitModelTokensChangedEvent({ranges:[{fromLineNumber:1,toLineNumber:this.getLineCount()}]}),this._emitModelModeChangedEvent(t)}},t.prototype.getLanguageIdAtPosition=function(e,t){if(!this._tokenizationSupport)return this._languageIdentifier.id;var n=this.validatePosition({lineNumber:e,column:t}),i=n.lineNumber,o=n.column;return this._getLineTokens(i).findTokenAtOffset(o-1).languageId},t.prototype._invalidateLine=function(e){this._lines[e].setIsInvalid(!0),e=200){t=n-1;break}this._revalidateTokensNow(t),this._invalidLineStartIndex20){e=c-1;break}if(a=t._lines[c-1].text.length,s>0&&(u=i/s*a,i+u>20)){e=c-1;break}t._updateTokensUntilLine(n,c),s+=a,c=Math.max(c,t._invalidLineStartIndex+1)}i=l.elapsed(),t._invalidLineStartIndex=1;r--){var s=this._getLineTokens(r),a=this._lines[r-1].text,c=void 0,d=void 0;for(r===t.lineNumber?(c=s.findTokenAtOffset(t.column-1),d=t.column-1):(c=s.lastToken())&&(d=c.endOffset);c;){if(c.languageId===n&&!u.ignoreBracketsInToken(c.tokenType))for(;;){var h=l.BracketsUtils.findPrevBracketInToken(i,r,a,c.startOffset,d);if(!h)break;var p=a.substring(h.startColumn-1,h.endColumn-1);if((p=p.toLowerCase())===e.open?o++:p===e.close&&o--,0===o)return h;d=h.startColumn-1}(c=c.prev())&&(d=c.endOffset)}}return null},t.prototype._findMatchingBracketDown=function(e,t){for(var n=e.languageIdentifier.id,i=e.forwardRegex,o=1,r=t.lineNumber,s=this.getLineCount();r<=s;r++){var a=this._getLineTokens(r),c=this._lines[r-1].text,d=void 0,h=void 0;for(r===t.lineNumber?(d=a.findTokenAtOffset(t.column-1),h=t.column-1):(d=a.firstToken())&&(h=d.startOffset);d;){if(d.languageId===n&&!u.ignoreBracketsInToken(d.tokenType))for(;;){var p=l.BracketsUtils.findNextBracketInToken(i,r,c,h,d.endOffset);if(!p)break;var f=c.substring(p.startColumn-1,p.endColumn-1);if((f=f.toLowerCase())===e.open?o++:f===e.close&&o--,0===o)return p;h=p.endColumn-1}(d=d.next())&&(h=d.startOffset)}}return null},t.prototype.findPrevBracket=function(e){for(var t=this.validatePosition(e),n=-1,i=null,o=t.lineNumber;o>=1;o--){var r=this._getLineTokens(o),s=this._lines[o-1].text,a=void 0,d=void 0;for(o===t.lineNumber?(a=r.findTokenAtOffset(t.column-1),d=t.column-1):(a=r.lastToken())&&(d=a.endOffset);a;){if(n!==a.languageId&&(n=a.languageId,i=c.LanguageConfigurationRegistry.getBracketsSupport(n)),i&&!u.ignoreBracketsInToken(a.tokenType)){var h=l.BracketsUtils.findPrevBracketInToken(i.reversedRegex,o,s,a.startOffset,d);if(h)return this._toFoundBracket(i,h)}(a=a.prev())&&(d=a.endOffset)}}return null},t.prototype.findNextBracket=function(e){for(var t=this.validatePosition(e),n=-1,i=null,o=t.lineNumber,r=this.getLineCount();o<=r;o++){var s=this._getLineTokens(o),a=this._lines[o-1].text,d=void 0,h=void 0;for(o===t.lineNumber?(d=s.findTokenAtOffset(t.column-1),h=t.column-1):(d=s.firstToken())&&(h=d.startOffset);d;){if(n!==d.languageId&&(n=d.languageId,i=c.LanguageConfigurationRegistry.getBracketsSupport(n)),i&&!u.ignoreBracketsInToken(d.tokenType)){var p=l.BracketsUtils.findNextBracketInToken(i.forwardRegex,o,a,h,d.endOffset);if(p)return this._toFoundBracket(i,p)}(d=d.next())&&(h=d.startOffset)}}return null},t.prototype._toFoundBracket=function(e,t){if(!t)return null;var n=this.getValueInRange(t);n=n.toLowerCase();var i=e.textIsBracket[n];return i?{range:t,open:i.open,close:i.close,isOpen:e.textIsOpenBracket[n]}:null},t.MODE_TOKENIZATION_FAILED_MSG=n.localize(0,null),t}(r.TextModel);t.TextModelWithTokens=g}),define(d[324],h([1,0,108,12,118,323]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=0,a=function(e){function t(t,i,o){var r=e.call(this,t,i,o)||this;return r._markerIdGenerator=new n.IdGenerator(++s+";"),r._markerIdToMarker=Object.create(null),r}return f(t,e),t.prototype.dispose=function(){this._markerIdToMarker=null,e.prototype.dispose.call(this)},t.prototype._resetValue=function(t){e.prototype._resetValue.call(this,t),this._markerIdToMarker=Object.create(null)},t.prototype._addMarker=function(e,t,n,r){var s=this.validatePosition(new i.Position(t,n)),a=new o.LineMarker(this._markerIdGenerator.nextId(),e,s,r);return this._markerIdToMarker[a.id]=a,this._lines[s.lineNumber-1].addMarker(a),a.id},t.prototype._addMarkers=function(e){if(0===e.length)return[];for(var t=[],n=0,i=e.length;nthis.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)},t.prototype._getMultiLineDecorations=function(e,t,n){var i=e.startLineNumber,o=e.startColumn,r=e.endLineNumber,s=e.endColumn,a=[];for(var u in this._multiLineDecorationsMap){var l=this._multiLineDecorationsMap[u];if((!t||!l.ownerId||l.ownerId===t)&&(!n||!l.isForValidation)){var c=l.range;c.startLineNumber>r||c.startLineNumber===r&&c.startColumn>s||c.endLineNumberr||g.startLineNumber===r&&g.startColumn>s||g.endLineNumber0){var p={addedDecorations:[],changedDecorations:i,removedDecorations:[]};this.emitModelDecorationsChangedEvent(p)}}},t._createRangeFromMarkers=function(e,t){return t.isBefore(e)?new r.Range(e.lineNumber,e.column,e.lineNumber,e.column):new r.Range(e.lineNumber,e.column,t.lineNumber,t.column)},t.prototype._acquireDecorationsTracker=function(){return 0===this._currentDecorationsTrackerCnt&&(this._currentDecorationsTracker=new g),this._currentDecorationsTrackerCnt++,this._currentDecorationsTracker},t.prototype._releaseDecorationsTracker=function(){if(this._currentDecorationsTrackerCnt--,0===this._currentDecorationsTrackerCnt){var e=this._currentDecorationsTracker;this._currentDecorationsTracker=null,this._handleTrackedDecorations(e)}},t.prototype._handleTrackedDecorations=function(e){if(0!==e.addedDecorationsLen||0!==e.changedDecorationsLen||0!==e.removedDecorationsLen){var t={addedDecorations:e.addedDecorations,changedDecorations:e.changedDecorations,removedDecorations:e.removedDecorations};this.emitModelDecorationsChangedEvent(t)}},t.prototype.emitModelDecorationsChangedEvent=function(e){this._isDisposing||this._eventEmitter.emit(c.TextModelEventType.ModelDecorationsChanged,e)},t.prototype._normalizeDeltaDecorations=function(e){for(var t=[],n=0,i=e.length;n0&&this._removeMarkers(n)},t.prototype._resolveOldDecorations=function(e){for(var t=[],n=0,i=e.length;n0?(d.push(f),l++):p.options.equals(f.options)?(s[f.index]=p.id,a++,l++):(h.push(p.id),a++)}for(;a0&&this._removeDecorationsImpl(e,h),d.length>0)for(var m=this._addDecorationsImpl(e,t,d),v=0,_=d.length;v<_;v++)s[d[v].index]=m[v];return s},t}(l.TextModelWithMarkers);t.TextModelWithDecorations=_;var y=function(){function e(e){this.color=o.empty,this.darkColor=o.empty,this.hcColor=o.empty,this.position=s.OverviewRulerLane.Center,e&&e.color&&(this.color=e.color),e&&e.darkColor&&(this.darkColor=e.darkColor,this.hcColor=e.darkColor),e&&e.hcColor&&(this.hcColor=e.hcColor),e&&e.hasOwnProperty("position")&&(this.position=e.position)}return e.prototype.equals=function(e){return this.color===e.color&&this.darkColor===e.darkColor&&this.hcColor===e.hcColor&&this.position===e.position},e}();t.ModelDecorationOverviewRulerOptions=y;var C=0,b=function(){function e(e,t){this.staticId=e,this.stickiness=t.stickiness||s.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,this.className=t.className?h(t.className):o.empty,this.hoverMessage=t.hoverMessage||[],this.glyphMarginHoverMessage=t.glyphMarginHoverMessage||o.empty,this.isWholeLine=t.isWholeLine||!1,this.showIfCollapsed=t.showIfCollapsed||!1,this.overviewRuler=new y(t.overviewRuler),this.glyphMarginClassName=t.glyphMarginClassName?h(t.glyphMarginClassName):o.empty,this.linesDecorationsClassName=t.linesDecorationsClassName?h(t.linesDecorationsClassName):o.empty,this.marginClassName=t.marginClassName?h(t.marginClassName):o.empty,this.inlineClassName=t.inlineClassName?h(t.inlineClassName):o.empty,this.beforeContentClassName=t.beforeContentClassName?h(t.beforeContentClassName):o.empty,this.afterContentClassName=t.afterContentClassName?h(t.afterContentClassName):o.empty,t.__extraOptions&&(this.extraOptions=t.__extraOptions)}return e.register=function(t){return new e(++C,t)},e.createDynamic=function(t){return new e(0,t)},e.prototype.equals=function(e){return this.staticId>0||e.staticId>0?this.staticId===e.staticId:this.stickiness===e.stickiness&&this.className===e.className&&this.isWholeLine===e.isWholeLine&&this.showIfCollapsed===e.showIfCollapsed&&this.glyphMarginClassName===e.glyphMarginClassName&&this.linesDecorationsClassName===e.linesDecorationsClassName&&this.marginClassName===e.marginClassName&&this.inlineClassName===e.inlineClassName&&this.beforeContentClassName===e.beforeContentClassName&&this.afterContentClassName===e.afterContentClassName&&i.markedStringsEquals(this.hoverMessage,e.hoverMessage)&&i.markedStringsEquals(this.glyphMarginHoverMessage,e.glyphMarginHoverMessage)&&this.overviewRuler.equals(e.overviewRuler)&&this.extraOptions===e.extraOptions},e}();t.ModelDecorationOptions=b,b.EMPTY=b.register({});var w=function(){return function(e,t,n){this.index=e,this.range=t,this.options=n}}()}),define(d[326],h([1,0,2,20,475,34,9,33,12,101,93,55]),function(e,t,n,i,o,r,s,a,u,l,c,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var h=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return r._commandManager=new o.EditStack(r),r._isUndoing=!1,r._isRedoing=!1,r._hasEditableRange=!1,r._editableRangeId=null,r._trimAutoWhitespaceLines=null,r}return f(t,e),t.createFromString=function(e,n,i){return void 0===n&&(n=c.TextModel.DEFAULT_CREATION_OPTIONS),void 0===i&&(i=null),new t(l.RawTextSource.fromString(e),n,i)},t.prototype.onDidChangeRawContent=function(e){return this._eventEmitter.addListener(d.TextModelEventType.ModelRawContentChanged2,e)},t.prototype.onDidChangeContent=function(e){return this._eventEmitter.addListener(d.TextModelEventType.ModelContentChanged,e)},t.prototype.dispose=function(){this._commandManager=null,e.prototype.dispose.call(this)},t.prototype._resetValue=function(t){e.prototype._resetValue.call(this,t),this._commandManager=new o.EditStack(this),this._hasEditableRange=!1,this._editableRangeId=null,this._trimAutoWhitespaceLines=null},t.prototype.pushStackElement=function(){this._commandManager.pushStackElement()},t.prototype.pushEditOperations=function(e,t,n){try{return this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,t,n)}finally{this._eventEmitter.endDeferredEmit()}},t.prototype._pushEditOperations=function(e,t,i){var o=this;if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){for(var r=t.map(function(e){return{range:o.validateRange(e.range),text:e.text}}),s=!0,a=0,u=e.length;al.endLineNumber,f=l.startLineNumber>_.endLineNumber;if(!p&&!f){c=!0;break}}if(!c){s=!1;break}}if(s)for(var a=0,u=this._trimAutoWhitespaceLines.length;a_.endLineNumber)&&!(g===_.startLineNumber&&_.startColumn===m&&_.isEmpty()&&y&&y.length>0&&"\n"===y.charAt(0))){v=!1;break}}v&&t.push({identifier:null,range:new n.Range(g,1,g,m),text:null,forceMoveMarkers:!1,isAutoWhitespaceEdit:!1})}this._trimAutoWhitespaceLines=null}return this._commandManager.pushEditOperation(e,t,i)},t.prototype._reduceOperations=function(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]},t.prototype._toSingleEditOperation=function(e){for(var t=!1,i=e[0].range,o=e[e.length-1].range,r=new n.Range(i.startLineNumber,i.startColumn,o.endLineNumber,o.endColumn),s=i.startLineNumber,a=i.startColumn,u=[],l=0,c=e.length;l0){_.sort(function(e,t){return t.lineNumber-e.lineNumber}),this._trimAutoWhitespaceLines=[];for(var u=0,w=_.length;u0&&_[u-1].lineNumber===S)){var E=_[u].oldContent,L=this.getLineContent(S);0!==L.length&&L!==E&&-1===s.firstNonWhitespaceIndex(L)&&this._trimAutoWhitespaceLines.push(S)}}}return v},t._getInverseEditRanges=function(e){for(var t,i,o=[],r=null,s=0,a=e.length;s0){var h=u.lines.length,p=u.lines[0],f=u.lines[h-1];d=1===h?new n.Range(l,c,l,c+p.length):new n.Range(l,c,l+h-1,f.length+1)}else d=new n.Range(l,c,l,c);t=d.endLineNumber,i=d.endColumn,o.push(d),r=u}return o},t.prototype._doApplyEdits=function(e,i){var o=this,r=this._options.tabSize;i.sort(t._sortOpsDescending);for(var s=[],l=[],c=[],h=function(){if(0!==c.length){c.reverse();for(var t=c[0].lineNumber,n=0,i=1,a=c.length;i=0;D--){var x=y+D;!function(e){e.startColumn===e.endColumn&&0===e.text.length||c.push(e)}({lineNumber:x,startColumn:x===y?C:1,endColumn:x===b?w:this.getLineMaxColumn(x),text:_.lines?_.lines[D]:"",forceMoveMarkers:_.forceMoveMarkers})}if(L0},Object.defineProperty(t.prototype,"uri",{get:function(){return this._associatedResource},enumerable:!0,configurable:!0}),t}(i.EditableTextModel);t.Model=u}),define(d[179],h([1,0,12,22,2,104,86,57,34]),function(e,t,n,i,o,r,s,a,u){"use strict";function l(e,t,n,i,o,r,s){var a=e.createLineMapping(t,n,i,o,r);return null===a?s?p.INSTANCE:f.INSTANCE:new g(a,s)}Object.defineProperty(t,"__esModule",{value:!0});var c=function(){return function(e,t){this.outputLineIndex=e,this.outputOffset=t}}();t.OutputPosition=c;var d=function(){function e(e){this._lines=e}return e.prototype.convertViewPositionToModelPosition=function(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)},e.prototype.convertViewRangeToModelRange=function(e){var t=this._lines.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this._lines.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new o.Range(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.convertViewSelectionToModelSelection=function(e){var t=this._lines.convertViewPositionToModelPosition(e.selectionStartLineNumber,e.selectionStartColumn),n=this._lines.convertViewPositionToModelPosition(e.positionLineNumber,e.positionColumn);return new i.Selection(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.validateViewPosition=function(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)},e.prototype.validateViewRange=function(e,t){var n=this._lines.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),i=this._lines.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new o.Range(n.lineNumber,n.column,i.lineNumber,i.column)},e.prototype.convertModelPositionToViewPosition=function(e){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column)},e.prototype.convertModelRangeToViewRange=function(e){var t=this._lines.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn),n=this._lines.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn);return new o.Range(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.convertModelSelectionToViewSelection=function(e){var t=this._lines.convertModelPositionToViewPosition(e.selectionStartLineNumber,e.selectionStartColumn),n=this._lines.convertModelPositionToViewPosition(e.positionLineNumber,e.positionColumn);return new i.Selection(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.modelPositionIsVisible=function(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)},e}();t.CoordinatesConverter=d;var h=function(){function e(e,t,n,i,o,r){this.model=e,this._validModelVersionId=-1,this.tabSize=n,this.wrappingColumn=i,this.columnsForFullWidthChar=o,this.wrappingIndent=r,this.linePositionMapperFactory=t,this._constructLines(!0)}return e.prototype.dispose=function(){this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,[])},e.prototype.createCoordinatesConverter=function(){return new d(this)},e.prototype._ensureValidState=function(){if(this.model.getVersionId()!==this._validModelVersionId)throw new Error("SplitLinesCollection: attempt to access a 'newer' model")},e.prototype._constructLines=function(e){var t=this;this.lines=[],e&&(this.hiddenAreasIds=[]);for(var n=this.model.getLinesContent(),i=n.length,s=new Uint32Array(i),a=this.hiddenAreasIds.map(function(e){return t.model.getDecorationRange(e)}).sort(o.Range.compareRangesUsingStarts),u=1,c=0,d=-1,h=d+1=u&&f<=c,m=l(this.linePositionMapperFactory,n[p],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,!g);s[p]=m.getViewLineCount(),this.lines[p]=m}this._validModelVersionId=this.model.getVersionId(),this.prefixSumComputer=new r.PrefixSumComputerWithCache(s)},e.prototype.getHiddenAreas=function(){var e=this;return this.hiddenAreasIds.map(function(t){return e.model.getDecorationRange(t)}).sort(o.Range.compareRangesUsingStarts)},e.prototype._reduceRanges=function(e){var t=this;if(0===e.length)return[];for(var n=e.map(function(e){return t.model.validateRange(e)}).sort(o.Range.compareRangesUsingStarts),i=[],r=n[0].startLineNumber,s=n[0].endLineNumber,a=1,u=n.length;as+1?(i.push(new o.Range(r,1,s,1)),r=l.startLineNumber,s=l.endLineNumber):l.endLineNumber>s&&(s=l.endLineNumber)}return i.push(new o.Range(r,1,s,1)),i},e.prototype.setHiddenAreas=function(e){var t=this,n=this._reduceRanges(e),i=this.hiddenAreasIds.map(function(e){return t.model.getDecorationRange(e)}).sort(o.Range.compareRangesUsingStarts);if(n.length===i.length){for(var r=!1,s=0;s=c&&f<=d?this.lines[s].isVisible()&&(this.lines[s]=this.lines[s].setVisible(!1),g=!0):this.lines[s].isVisible()||(this.lines[s]=this.lines[s].setVisible(!0),g=!0),g){var m=this.lines[s].getViewLineCount();this.prefixSumComputer.changeValue(s,m)}}return!0},e.prototype.modelPositionIsVisible=function(e,t){return!(e<1||e>this.lines.length)&&this.lines[e-1].isVisible()},e.prototype.setTabSize=function(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1),!0)},e.prototype.setWrappingSettings=function(e,t,n){return(this.wrappingIndent!==e||this.wrappingColumn!==t||this.columnsForFullWidthChar!==n)&&(this.wrappingIndent=e,this.wrappingColumn=t,this.columnsForFullWidthChar=n,this._constructLines(!1),!0)},e.prototype.onModelFlushed=function(){this._constructLines(!0)},e.prototype.onModelLinesDeleted=function(e,t,n){if(e<=this._validModelVersionId)return null;var i=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,o=this.prefixSumComputer.getAccumulatedValue(n-1);return this.lines.splice(t-1,n-t+1),this.prefixSumComputer.removeValues(t-1,n-t+1),new a.ViewLinesDeletedEvent(i,o)},e.prototype.onModelLinesInserted=function(e,t,i,o){if(e<=this._validModelVersionId)return null;for(var r=this.getHiddenAreas(),s=!1,u=new n.Position(t,1),c=0;cu?(m=(g=(h=(d=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+u-1)+1)+(o-u)-1,c=!0):ot?t:e},e.prototype.warmUpLookupCache=function(e,t){this.prefixSumComputer.warmUpCache(e-1,t-1)},e.prototype.getViewLineIndentGuide=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1);return this.model.getLineIndentGuide(t.index+1)},e.prototype.getViewLineContent=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),n=t.index,i=t.remainder;return this.lines[n].getViewLineContent(this.model,n+1,i)},e.prototype.getViewLineMinColumn=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),n=t.index,i=t.remainder;return this.lines[n].getViewLineMinColumn(this.model,n+1,i)},e.prototype.getViewLineMaxColumn=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),n=t.index,i=t.remainder;return this.lines[n].getViewLineMaxColumn(this.model,n+1,i)},e.prototype.getViewLineData=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),n=t.index,i=t.remainder;return this.lines[n].getViewLineData(this.model,n+1,i)},e.prototype.getViewLinesData=function(e,t,n){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);for(var i=this.prefixSumComputer.getIndexOf(e-1),o=e,r=i.index,s=i.remainder,a=[],u=r,l=this.model.getLineCount();ut&&(p=!0,h=t-o+1);var f=d+h;if(c.getViewLinesData(this.model,u+1,d,f,o-e,n,a),o+=h,p)break}}return a},e.prototype.validateViewPosition=function(e,t,i){this._ensureValidState(),e=this._toValidViewLineNumber(e);var o=this.prefixSumComputer.getIndexOf(e-1),r=o.index,s=o.remainder,a=this.lines[r],u=a.getViewLineMinColumn(this.model,r+1,s),l=a.getViewLineMaxColumn(this.model,r+1,s);tl&&(t=l);var c=a.getModelColumnOfViewPosition(s,t);return this.model.validatePosition(new n.Position(r+1,c)).equals(i)?new n.Position(e,t):this.convertModelPositionToViewPosition(i.lineNumber,i.column)},e.prototype.convertViewPositionToModelPosition=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e);var i=this.prefixSumComputer.getIndexOf(e-1),o=i.index,r=i.remainder,s=this.lines[o].getModelColumnOfViewPosition(r,t);return this.model.validatePosition(new n.Position(o+1,s))},e.prototype.convertModelPositionToViewPosition=function(e,t){this._ensureValidState();for(var i=this.model.validatePosition(new n.Position(e,t)),o=i.lineNumber,r=i.column,s=o-1,a=!1;s>0&&!this.lines[s].isVisible();)s--,a=!0;if(0===s&&!this.lines[s].isVisible())return new n.Position(1,1);var u=1+(0===s?0:this.prefixSumComputer.getAccumulatedValue(s-1));return a?this.lines[s].getViewPositionOfModelPosition(u,this.model.getLineMaxColumn(s+1)):this.lines[o-1].getViewPositionOfModelPosition(u,r)},e}();t.SplitLinesCollection=h;var p=function(){function e(){}return e.prototype.isVisible=function(){return!0},e.prototype.setVisible=function(e){return e?this:f.INSTANCE},e.prototype.getViewLineCount=function(){return 1},e.prototype.getViewLineContent=function(e,t,n){return e.getLineContent(t)},e.prototype.getViewLineMinColumn=function(e,t,n){return e.getLineMinColumn(t)},e.prototype.getViewLineMaxColumn=function(e,t,n){return e.getLineMaxColumn(t)},e.prototype.getViewLineData=function(e,t,n){var i=e.getLineTokens(t),o=i.getLineContent();return new s.ViewLineData(o,1,o.length+1,i.inflate())},e.prototype.getViewLinesData=function(e,t,n,i,o,r,s){r[o]?s[o]=this.getViewLineData(e,t,0):s[o]=null},e.prototype.getModelColumnOfViewPosition=function(e,t){return t},e.prototype.getViewPositionOfModelPosition=function(e,t){return new n.Position(e,t)},e.INSTANCE=new e,e}(),f=function(){function e(){}return e.prototype.isVisible=function(){return!1},e.prototype.setVisible=function(e){return e?p.INSTANCE:this},e.prototype.getViewLineCount=function(){return 0},e.prototype.getViewLineContent=function(e,t,n){throw new Error("Not supported")},e.prototype.getViewLineMinColumn=function(e,t,n){throw new Error("Not supported")},e.prototype.getViewLineMaxColumn=function(e,t,n){throw new Error("Not supported")},e.prototype.getViewLineData=function(e,t,n){throw new Error("Not supported")},e.prototype.getViewLinesData=function(e,t,n,i,o,r,s){throw new Error("Not supported")},e.prototype.getModelColumnOfViewPosition=function(e,t){throw new Error("Not supported")},e.prototype.getViewPositionOfModelPosition=function(e,t){throw new Error("Not supported")},e.INSTANCE=new e,e}(),g=function(){function e(e,t){this.positionMapper=e,this.wrappedIndent=this.positionMapper.getWrappedLinesIndent(),this.wrappedIndentLength=this.wrappedIndent.length,this.outputLineCount=this.positionMapper.getOutputLineCount(),this._isVisible=t}return e.prototype.isVisible=function(){return this._isVisible},e.prototype.setVisible=function(e){return this._isVisible=e,this},e.prototype.getViewLineCount=function(){return this._isVisible?this.outputLineCount:0},e.prototype.getInputStartOffsetOfOutputLineIndex=function(e){return this.positionMapper.getInputOffsetOfOutputPosition(e,0)},e.prototype.getInputEndOffsetOfOutputLineIndex=function(e,t,n){return n+1===this.outputLineCount?e.getLineMaxColumn(t)-1:this.positionMapper.getInputOffsetOfOutputPosition(n+1,0)},e.prototype.getViewLineContent=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");var i=this.getInputStartOffsetOfOutputLineIndex(n),o=this.getInputEndOffsetOfOutputLineIndex(e,t,n),r=e.getLineContent(t).substring(i,o);return n>0&&(r=this.wrappedIndent+r),r},e.prototype.getViewLineMinColumn=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");return n>0?this.wrappedIndentLength+1:1},e.prototype.getViewLineMaxColumn=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");return this.getViewLineContent(e,t,n).length+1},e.prototype.getViewLineData=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");var i=this.getInputStartOffsetOfOutputLineIndex(n),o=this.getInputEndOffsetOfOutputLineIndex(e,t,n),r=e.getLineContent(t).substring(i,o);n>0&&(r=this.wrappedIndent+r);var a=n>0?this.wrappedIndentLength+1:1,u=r.length+1,l=0;n>0&&(l=this.wrappedIndentLength);var c=e.getLineTokens(t);return new s.ViewLineData(r,a,u,c.sliceAndInflate(i,o,l))},e.prototype.getViewLinesData=function(e,t,n,i,o,r,s){if(!this._isVisible)throw new Error("Not supported");for(var a=n;a0&&(n0&&(r+=this.wrappedIndentLength),new n.Position(e+o,r)},e}();t.SplitLine=g;var m=function(){function e(e){this._lines=e}return e.prototype._validPosition=function(e){return this._lines.model.validatePosition(e)},e.prototype._validRange=function(e){return this._lines.model.validateRange(e)},e.prototype._validSelection=function(e){var t=this._validPosition(new n.Position(e.selectionStartLineNumber,e.selectionStartColumn)),o=this._validPosition(new n.Position(e.positionLineNumber,e.positionColumn));return new i.Selection(t.lineNumber,t.column,o.lineNumber,o.column)},e.prototype.convertViewPositionToModelPosition=function(e){return this._validPosition(e)},e.prototype.convertViewRangeToModelRange=function(e){return this._validRange(e)},e.prototype.convertViewSelectionToModelSelection=function(e){return this._validSelection(e)},e.prototype.validateViewPosition=function(e,t){return this._validPosition(t)},e.prototype.validateViewRange=function(e,t){return this._validRange(t)},e.prototype.convertModelPositionToViewPosition=function(e){return this._validPosition(e)},e.prototype.convertModelRangeToViewRange=function(e){return this._validRange(e)},e.prototype.convertModelSelectionToViewSelection=function(e){return this._validSelection(e)},e.prototype.modelPositionIsVisible=function(e){var t=this._lines.model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)},e}();t.IdentityCoordinatesConverter=m;var v=function(){function e(e){this.model=e}return e.prototype.dispose=function(){},e.prototype.createCoordinatesConverter=function(){return new m(this)},e.prototype.setHiddenAreas=function(e){return!1},e.prototype.setTabSize=function(e){return!1},e.prototype.setWrappingSettings=function(e,t,n){return!1},e.prototype.onModelFlushed=function(){},e.prototype.onModelLinesDeleted=function(e,t,n){return new a.ViewLinesDeletedEvent(t,n)},e.prototype.onModelLinesInserted=function(e,t,n,i){return new a.ViewLinesInsertedEvent(t,n)},e.prototype.onModelLineChanged=function(e,t,n){return[!1,new a.ViewLinesChangedEvent(t,t),null,null]},e.prototype.acceptVersionId=function(e){},e.prototype.getViewLineCount=function(){return this.model.getLineCount()},e.prototype.warmUpLookupCache=function(e,t){},e.prototype.getViewLineIndentGuide=function(e){return 0},e.prototype.getViewLineContent=function(e){return this.model.getLineContent(e)},e.prototype.getViewLineMinColumn=function(e){return this.model.getLineMinColumn(e)},e.prototype.getViewLineMaxColumn=function(e){return this.model.getLineMaxColumn(e)},e.prototype.getViewLineData=function(e){var t=this.model.getLineTokens(e),n=t.getLineContent();return new s.ViewLineData(n,1,n.length+1,t.inflate())},e.prototype.getViewLinesData=function(e,t,n){var i=this.model.getLineCount();e=Math.min(Math.max(1,e),i),t=Math.min(Math.max(1,t),i);for(var o=[],r=e;r<=t;r++){var s=r-e;n[s]||(o[s]=null),o[s]=this.getViewLineData(r)}return o},e}();t.IdentityLinesCollection=v}),define(d[329],h([1,0,9,104,179,89,96,49]),function(e,t,n,i,o,r,s,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u;!function(e){e[e.NONE=0]="NONE",e[e.BREAK_BEFORE=1]="BREAK_BEFORE",e[e.BREAK_AFTER=2]="BREAK_AFTER",e[e.BREAK_OBTRUSIVE=3]="BREAK_OBTRUSIVE",e[e.BREAK_IDEOGRAPHIC=4]="BREAK_IDEOGRAPHIC"}(u||(u={}));var l=function(e){function t(t,n,i){for(var o=e.call(this,0)||this,r=0;r=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959?4:e.prototype.get.call(this,t)},t}(r.CharacterClassifier),c=function(){function e(e,t,n){this.classifier=new l(e,t,n)}return e.nextVisibleColumn=function(e,t,n,i){return e=+e,t=+t,i=+i,n?e+(t-e%t):e+i},e.prototype.createLineMapping=function(t,o,r,u,l){if(-1===r)return null;o=+o,r=+r,u=+u;var c=0,h="",p=-1;if((l=+l)!==a.WrappingIndent.None&&-1!==(p=n.firstNonWhitespaceIndex(t))){h=t.substring(0,p);for(E=0;E.5*r&&(h="",c=0)}for(var f=this.classifier,g=0,m=[],v=0,_=0,y=-1,C=0,b=-1,w=0,S=t.length,E=0;E0){var M=t.charCodeAt(E-1);1!==f.get(M)&&(y=E,C=c)}var T=1;if(n.isFullWidthCharacter(L)&&(T=u),(_=e.nextVisibleColumn(_,o,x,T))>r&&0!==E){var k=void 0,I=void 0;-1!==y&&C<=r?(k=y,I=C):-1!==b&&w<=r?(k=b,I=w):(k=E,I=c),m[v++]=k-g,g=k,_=e.nextVisibleColumn(I,o,x,T),y=-1,C=0,b=-1,w=0}if(-1!==y&&(C=e.nextVisibleColumn(C,o,x,T)),-1!==b&&(w=e.nextVisibleColumn(w,o,x,T)),2===N&&(l===a.WrappingIndent.None||E>=p)&&(y=E+1,C=c),4===N&&E'+this._getHTMLToCopy(n,s)+""},t.prototype._getHTMLToCopy=function(e,t){for(var n=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,r=e.endColumn,s=this.getTabSize(),u="",l=n;l<=o;l++){var c=this.model.getLineTokens(l),d=c.getLineContent(),h=l===n?i-1:0,p=l===o?r-1:d.length;u+=""===d?"
    ":a.tokenizeLineToHTML(d,c.inflate(),t,h,p,s)}return u},t.prototype._getColorMap=function(){for(var e=s.TokenizationRegistry.getColorMap(),t=[null],n=1,i=e.length;n0},e.prototype._cannotFind=function(){if(!this._hasMatches()){var e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e),!0}return!1},e.prototype._setCurrentFindMatch=function(e){var t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e)},e.prototype._moveToPrevMatch=function(t,n){if(void 0===n&&(n=!1),!this._cannotFind()){var i=this._decorations.getFindScope(),o=e._getSearchRange(this._editor.getModel(),this._state.isReplaceRevealed,i);o.getEndPosition().isBefore(t)&&(t=o.getEndPosition()),t.isBefore(o.getStartPosition())&&(t=o.getEndPosition());var r=t.lineNumber,a=t.column,u=this._editor.getModel(),l=new s.Position(r,a),c=u.findPreviousMatch(this._state.searchString,l,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return c&&c.range.isEmpty()&&c.range.getStartPosition().equals(l)&&(this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0)||1===a?(1===r?r=u.getLineCount():r--,a=u.getLineMaxColumn(r)):a--,l=new s.Position(r,a),c=u.findPreviousMatch(this._state.searchString,l,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1)),c?n||o.containsRange(c.range)?void this._setCurrentFindMatch(c.range):this._moveToPrevMatch(c.range.getStartPosition(),!0):null}},e.prototype.moveToPrevMatch=function(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())},e.prototype._moveToNextMatch=function(e){var t=this._getNextMatch(e,!1,!0);t&&this._setCurrentFindMatch(t.range)},e.prototype._getNextMatch=function(t,n,i,o){if(void 0===o&&(o=!1),this._cannotFind())return null;var r=this._decorations.getFindScope(),a=e._getSearchRange(this._editor.getModel(),this._state.isReplaceRevealed,r);a.getEndPosition().isBefore(t)&&(t=a.getStartPosition()),t.isBefore(a.getStartPosition())&&(t=a.getStartPosition());var u=t.lineNumber,l=t.column,c=this._editor.getModel(),d=new s.Position(u,l),h=c.findNextMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n);return i&&h&&h.range.isEmpty()&&h.range.getStartPosition().equals(d)&&(this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0)||l===c.getLineMaxColumn(u)?(u===c.getLineCount()?u=1:u++,l=1):l++,d=new s.Position(u,l),h=c.findNextMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n)),h?o||a.containsRange(h.range)?h:this._getNextMatch(h.range.getEndPosition(),n,i,!0):null},e.prototype.moveToNextMatch=function(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())},e.prototype._getReplacePattern=function(){return this._state.isRegex?o.parseReplaceString(this._state.replaceString):o.ReplacePattern.fromStaticValue(this._state.replaceString)},e.prototype.replace=function(){if(this._hasMatches()){var e=this._getReplacePattern(),t=this._editor.getSelection(),n=this._getNextMatch(t.getStartPosition(),e.hasReplacementPatterns,!1);if(n)if(t.equalsRange(n.range)){var i=e.buildReplaceString(n.matches),o=new r.ReplaceCommand(t,i);this._executeEditorCommand("replace",o),this._decorations.setStartPosition(new s.Position(t.startLineNumber,t.startColumn+i.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(n.range)}},e.prototype._findMatches=function(t,n,i){var o=e._getSearchRange(this._editor.getModel(),this._state.isReplaceRevealed,t);return this._editor.getModel().findMatches(this._state.searchString,o,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n,i)},e.prototype.replaceAll=function(){if(this._hasMatches()){var e=this._decorations.getFindScope();null===e&&this._state.matchesCount>=t.MATCHES_LIMIT?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}},e.prototype._largeReplaceAll=function(){var e=new h.SearchParams(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null).parseSearchRequest();if(e){var t,n=this._editor.getModel(),i=n.getValue(u.EndOfLinePreference.LF),o=n.getFullModelRange(),s=this._getReplacePattern();t=s.hasReplacementPatterns?i.replace(e.regex,function(){return s.buildReplaceString(arguments)}):i.replace(e.regex,s.buildReplaceString(null));var a=new r.ReplaceCommandThatPreservesSelection(o,t,this._editor.getSelection());this._executeEditorCommand("replaceAll",a)}},e.prototype._regularReplaceAll=function(e){for(var t=this._getReplacePattern(),n=this._findMatches(e,t.hasReplacementPatterns,1073741824),i=[],o=0,r=n.length;o=e.startLineNumber&&t<=e.endLineNumber}function u(e,t){return te.endLineNumber}function c(e,t){return e instanceof i.Range&&t instanceof i.Range?e.containsRange(t):e.startLineNumber<=t.startLineNumber&&e.endLineNumber>=t.endLineNumber}function d(e,t,n,i,o){return(o?new f(e,t,n):new p(e,t,n)).getRegionsTill(i)}Object.defineProperty(t,"__esModule",{value:!0}),t.toString=function(e){return(e?e.startLineNumber+"/"+e.endLineNumber:"null")+(e.isCollapsed?" (collapsed)":"")+" - "+e.indent};var h=function(){function e(e,t,n){this.decorationIds=[],this.update(e,t,n)}return Object.defineProperty(e.prototype,"isCollapsed",{get:function(){return this._isCollapsed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isExpanded",{get:function(){return!this._isCollapsed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"indent",{get:function(){return this._indent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"foldingRange",{get:function(){return this._lastRange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"startLineNumber",{get:function(){return this._lastRange?this._lastRange.startLineNumber:void 0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"endLineNumber",{get:function(){return this._lastRange?this._lastRange.endLineNumber:void 0},enumerable:!0,configurable:!0}),e.prototype.setCollapsed=function(e,t){this._isCollapsed=e,this.decorationIds.length>0&&t.changeDecorationOptions(this.decorationIds[0],this.getVisualDecorationOptions())},e.prototype.getDecorationRange=function(e){return this.decorationIds.length>0?e.getDecorationRange(this.decorationIds[1]):null},e.prototype.getVisualDecorationOptions=function(){return this._isCollapsed?e._COLLAPSED_VISUAL_DECORATION:e._EXPANDED_VISUAL_DECORATION},e.prototype.getRangeDecorationOptions=function(){return e._RANGE_DECORATION},e.prototype.update=function(e,t,n){this._lastRange=e,this._isCollapsed=!!e.isCollapsed,this._indent=e.indent;var i=[],o=t.getLineMaxColumn(e.startLineNumber),r={startLineNumber:e.startLineNumber,startColumn:o-1,endLineNumber:e.startLineNumber,endColumn:o};i.push({range:r,options:this.getVisualDecorationOptions()});var s={startLineNumber:e.startLineNumber,startColumn:1,endLineNumber:e.endLineNumber,endColumn:t.getLineMaxColumn(e.endLineNumber)};i.push({range:s,options:this.getRangeDecorationOptions()}),this.decorationIds=n.deltaDecorations(this.decorationIds,i)},e.prototype.dispose=function(e){this._lastRange=null,this.decorationIds=e.deltaDecorations(this.decorationIds,[])},e.prototype.toString=function(){var e=this.isCollapsed?"collapsed ":"expanded ";return this._lastRange?e+=this._lastRange.startLineNumber+"/"+this._lastRange.endLineNumber:e+="no range",e},e._COLLAPSED_VISUAL_DECORATION=o.ModelDecorationOptions.register({stickiness:n.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,afterContentClassName:"inline-folded",linesDecorationsClassName:"folding collapsed"}),e._EXPANDED_VISUAL_DECORATION=o.ModelDecorationOptions.register({stickiness:n.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,linesDecorationsClassName:"folding"}),e._RANGE_DECORATION=o.ModelDecorationOptions.register({stickiness:n.TrackedRangeStickiness.GrowsOnlyWhenTypingBefore}),e}();t.CollapsibleRegion=h,t.getCollapsibleRegionsToFoldAtLine=function(e,t,n,i,o){var s=r(e,t,n);return s?1===i?[s]:d(s,e,t,i,o).filter(function(e){return!e.isCollapsed}):[]},t.getCollapsibleRegionsToUnfoldAtLine=function(e,t,n,i){var o=r(e,t,n);if(!o)return[];if(1===i){var a=o.isCollapsed?o:s(e,t,o,n);return a?[a]:[]}return d(o,e,t,i,!1).filter(function(e){return e.isCollapsed})},t.doesLineBelongsToCollapsibleRegion=a;var p=function(){function e(e,t,n){this.region=e,this.children=[];for(var i=t.indexOf(e)+1;i0?r.lastChildIndex:o},e.prototype.getRegionsTill=function(e){var t=[this.region];return e>1&&this.children.forEach(function(n){return t=t.concat(n.getRegionsTill(e-1))}),t},e}(),f=function(){function e(t,n,i){this.region=t;for(var o=n.indexOf(t)-1;o>=0;o--){var r=n[o],s=r.getDecorationRange(i);if(s){if(c(s,t.foldingRange)){this.parent=new e(r,n,i);break}if(l(s,t.foldingRange.endLineNumber))break}}}return e.prototype.getRegionsTill=function(e){var t=[this.region];return this.parent&&e>1&&(t=t.concat(this.parent.getRegionsTill(e-1))),t},e}()}),define(d[334],h([1,0,9,20,59,142,22,2,33,3,271,34,394]),function(e,t,n,i,o,r,s,a,u,l,c,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var h=function(){function e(e,t,n){this._nestingLevel=1,this._editor=e,this._snippet=t,this._offset=n,this._placeholderGroups=u.groupBy(t.placeholders,r.Placeholder.compareByIndex),this._placeholderGroupsIdx=-1}return e.prototype.dispose=function(){var e=this;this._placeholderDecorations&&this._editor.changeDecorations(function(t){return e._placeholderDecorations.forEach(function(e){return t.removeDecoration(e)})}),this._placeholderGroups.length=0},e.prototype._initDecorations=function(){var t=this;if(!this._placeholderDecorations){this._placeholderDecorations=new Map;var n=this._editor.getModel();this._editor.changeDecorations(function(i){for(var o=0,r=t._snippet.placeholders;o0&&(this._placeholderGroupsIdx-=1),this._editor.getModel().changeDecorations(function(t){for(var i=new Set,o=[],r=0,a=n._placeholderGroups[n._placeholderGroupsIdx];r0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"placeholderRanges",{get:function(){var e=this,t=[];return this._placeholderDecorations.forEach(function(n,i){if(!i.isFinalTabstop){var o=e._editor.getModel().getDecorationRange(n);o&&t.push(o)}}),t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"choice",{get:function(){return this._placeholderGroups[this._placeholderGroupsIdx][0].choice},enumerable:!0,configurable:!0}),e.prototype.merge=function(t){var n=this,i=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(function(o){for(var s=0,l=n._placeholderGroups[n._placeholderGroupsIdx];st.length)return!1;e.sort(a.Range.compareRangesUsingStarts),t.sort(a.Range.compareRangesUsingStarts);e:for(var r=0,s=e;r=a&&(t=a);var u=0,l=0;if(this.options.showArrow&&(u=Math.round(s/3),this._arrow.height=u,this._arrow.show(i)),this.options.showFrame&&(l=Math.round(s/9)),this.editor.changeViewZones(function(e){n._viewZone&&e.removeZone(n._viewZone.id),n._overlayWidget&&(n.editor.removeOverlayWidget(n._overlayWidget),n._overlayWidget=null),n.domNode.style.top="-1000px",n._viewZone=new p(r,i.lineNumber,i.column,t,function(e){return n._onViewZoneTop(e)},function(e){return n._onViewZoneHeight(e)}),n._viewZone.id=e.addZone(n._viewZone),n._overlayWidget=new g("vs.editor.contrib.zoneWidget"+n._viewZone.id,n.domNode),n.editor.addOverlayWidget(n._overlayWidget)}),this.options.showFrame){var c=this.options.frameWidth?this.options.frameWidth:l;this.container.style.borderTopWidth=c+"px",this.container.style.borderBottomWidth=c+"px"}var d=t*s-this._decoratingElementsHeight();this.container.style.top=u+"px",this.container.style.height=d+"px",this.container.style.overflow="hidden",this._doLayout(d,o),this.editor.setSelection(e);var h=Math.min(this.editor.getModel().getLineCount(),Math.max(1,e.endLineNumber+1));this.editor.revealLine(h)},t.prototype.setCssClass=function(e,t){t&&this.container.classList.remove(t),r.addClass(this.container,e)},t.prototype._onWidth=function(e){},t.prototype._doLayout=function(e,t){},t.prototype._relayout=function(e){var t=this;this._viewZone.heightInLines!==e&&this.editor.changeViewZones(function(n){t._viewZone.heightInLines=e,n.layoutZone(t._viewZone.id)})},t.prototype._initSash=function(){var e=this;this._resizeSash=new s.Sash(this.domNode,this,{orientation:s.Orientation.HORIZONTAL}),this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.disable());var t;this._disposables.push(this._resizeSash.addListener("start",function(n){e._viewZone&&(t={startY:n.startY,heightInLines:e._viewZone.heightInLines})})),this._disposables.push(this._resizeSash.addListener("end",function(){t=void 0})),this._disposables.push(this._resizeSash.addListener("change",function(n){if(t){var i=(n.currentY-t.startY)/e.editor.getConfiguration().lineHeight,o=i<0?Math.ceil(i):Math.floor(i),r=t.heightInLines+o;r>5&&r<35&&e._relayout(r)}}))},t.prototype.getHorizontalSashLeft=function(){return 0},t.prototype.getHorizontalSashTop=function(){return parseInt(this.domNode.style.height)-this._decoratingElementsHeight()/2},t.prototype.getHorizontalSashWidth=function(){var e=this.editor.getLayoutInfo();return e.width-e.minimapWidth},t}(i.Widget);t.ZoneWidget=v}),define(d[336],h([6,8]),function(e,t){return e.create("vs/editor/common/modes/modesRegistry",t)}),define(d[337],h([6,8]),function(e,t){return e.create("vs/editor/common/services/bulkEdit",t)}),define(d[338],h([1,0,337,33,157,3,24,7,59,2,22]),function(e,t,n,i,o,r,s,a,u,l,c){"use strict";function d(e,t,i){function r(){for(var e,t=0,i=u;t1&&t>1?n.localize(2,null,e,t):n.localize(3,null,e,t)}}}Object.defineProperty(t,"__esModule",{value:!0});var h=function(){function e(e){this._fileService=e}return e.prototype.start=function(){var e,t=Object.create(null);return this._fileService&&(e=this._fileService.onFileChanges(function(e){e.changes.forEach(function(e){var n=String(e.resource),i=t[n];i||(t[n]=i=[]),i.push(e)})})),{stop:function(){return e&&e.dispose()},hasChanged:function(e){return!!t[e.toString()]},allChanges:function(){return i.flatten(o.values(t))}}},e}(),p=function(){function e(e){this._endCursorSelection=null,this._modelReference=e,this._edits=[]}return Object.defineProperty(e.prototype,"_model",{get:function(){return this._modelReference.object.textEditorModel},enumerable:!0,configurable:!0}),e.prototype.addEdit=function(e){if("number"==typeof e.newEol&&(this._newEol=e.newEol),e.range||e.newText){var t=void 0;t=e.range?l.Range.lift(e.range):this._model.getFullModelRange(),this._edits.push(u.EditOperation.replaceMove(t,e.newText))}},e.prototype.apply=function(){var e=this;this._edits.length>0&&(this._edits=this._edits.map(function(e,t){return{value:e,index:t}}).sort(function(e,t){var n=l.Range.compareRangesUsingStarts(e.value.range,t.value.range);return 0===n&&(n=e.index-t.index),n}).map(function(e){return e.value}),this._initialSelections=this._getInitialSelections(),this._model.pushEditOperations(this._initialSelections,this._edits,function(t){return e._getEndCursorSelections(t)})),void 0!==this._newEol&&this._model.setEOL(this._newEol)},e.prototype._getInitialSelections=function(){var e=this._edits[0].range;return[new c.Selection(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)]},e.prototype._getEndCursorSelections=function(e){for(var t=0,n=0;nt.prefixLen?-1:e.prefixLent.offsetDist?1:0})[0];if(n)return this._references[n.idx]},e.prototype.dispose=function(){this._groups=s.dispose(this._groups)},e._compareReferences=function(e,t){var n=e.uri.toString(),i=t.uri.toString();return ni?1:c.Range.compareRangesUsingStarts(e.range,t.range)},e}();t.ReferencesModel=f}),define(d[367],h([6,8]),function(e,t){return e.create("vs/editor/contrib/referenceSearch/browser/referencesWidget",t)}),define(d[368],h([6,8]),function(e,t){return e.create("vs/editor/contrib/rename/browser/rename",t)}),define(d[369],h([6,8]),function(e,t){return e.create("vs/editor/contrib/rename/browser/renameInputField",t)}),define(d[370],h([6,8]),function(e,t){return e.create("vs/editor/contrib/smartSelect/common/smartSelect",t)}),define(d[371],h([6,8]),function(e,t){return e.create("vs/editor/contrib/suggest/browser/suggestController",t)}),define(d[372],h([6,8]),function(e,t){return e.create("vs/editor/contrib/suggest/browser/suggestWidget",t)}),define(d[373],h([6,8]),function(e,t){return e.create("vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode",t)}),define(d[374],h([6,8]),function(e,t){return e.create("vs/editor/contrib/wordHighlighter/common/wordHighlighter",t)}),define(d[375],h([6,8]),function(e,t){return e.create("vs/editor/contrib/zoneWidget/browser/peekViewWidget",t)}),define(d[376],h([6,8]),function(e,t){return e.create("vs/editor/standalone/browser/inspectTokens/inspectTokens",t)}),define(d[377],h([6,8]),function(e,t){return e.create("vs/editor/standalone/browser/quickOpen/gotoLine",t)}),define(d[378],h([6,8]),function(e,t){return e.create("vs/editor/standalone/browser/quickOpen/quickCommand",t)}),define(d[379],h([6,8]),function(e,t){return e.create("vs/editor/standalone/browser/quickOpen/quickOutline",t)}),define(d[380],h([6,8]),function(e,t){return e.create("vs/editor/standalone/browser/standaloneCodeEditor",t)}),define(d[381],h([6,8]),function(e,t){return e.create("vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast",t)}),define(d[382],h([6,8]),function(e,t){return e.create("vs/platform/configuration/common/configurationRegistry",t)}),define(d[383],h([6,8]),function(e,t){return e.create("vs/platform/keybinding/common/abstractKeybindingService",t)}),define(d[384],h([6,8]),function(e,t){return e.create("vs/platform/message/common/message",t)}),define(d[385],h([6,8]),function(e,t){return e.create("vs/platform/theme/common/colorRegistry",t)}),define(d[386],h([1,0,52,3,47,53,281,79,36,409]),function(e,t,n,i,o,r,s,a,u){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l=function(){function e(e,t,n,i){var o=this;this.setContainer(e),this.contextViewService=t,this.telemetryService=n,this.messageService=i,this.actionRunner=new r.ActionRunner,this.menuContainerElement=null,this.toDispose=[];var s=!1;this.toDispose.push(this.actionRunner.addListener(a.EventType.BEFORE_RUN,function(e){o.telemetryService&&o.telemetryService.publicLog("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),(s=!!e.retainActionItem)||o.contextViewService.hideContextView(!1)})),this.toDispose.push(this.actionRunner.addListener(a.EventType.RUN,function(e){s&&o.contextViewService.hideContextView(!1),s=!1,e.error&&o.messageService&&o.messageService.show(u.default.Error,e.error)}))}return e.prototype.setContainer=function(e){var t=this;this.$el&&(this.$el.off(["click","mousedown"]),this.$el=null),e&&(this.$el=n.$(e),this.$el.on("mousedown",function(e){return t.onMouseDown(e)}))},e.prototype.showContextMenu=function(e){var t=this;e.getActions().done(function(n){t.contextViewService.showContextView({getAnchor:function(){return e.getAnchor()},canRelayout:!1,render:function(o){t.menuContainerElement=o;var r=e.getMenuClassName?e.getMenuClassName():"";r&&(o.className+=" "+r);var u=new s.Menu(o,n,{actionItemProvider:e.getActionItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:t.actionRunner}),l=u.addListener(a.EventType.CANCEL,function(e){t.contextViewService.hideContextView(!0)}),c=u.addListener(a.EventType.BLUR,function(e){t.contextViewService.hideContextView(!0)});return u.focus(),i.combinedDisposable([l,c,u])},onHide:function(n){e.onHide&&e.onHide(n),t.menuContainerElement=null}})})},e.prototype.onMouseDown=function(e){if(this.menuContainerElement){for(var t=new o.StandardMouseEvent(e).target;t;){if(t===this.menuContainerElement)return;t=t.parentElement}this.contextViewService.hideContextView()}},e.prototype.dispose=function(){this.setContainer(null)},e}();t.ContextMenuHandler=l}),define(d[387],h([1,0,386]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,i,o){this.contextMenuHandler=new n.ContextMenuHandler(e,o,t,i)}return e.prototype.dispose=function(){this.contextMenuHandler.dispose()},e.prototype.setContainer=function(e){this.contextMenuHandler.setContainer(e)},e.prototype.showContextMenu=function(e){this.contextMenuHandler.showContextMenu(e)},e}();t.ContextMenuService=i}),define(d[187],h([1,0,10]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){this._staticArguments=e}return e.prototype.appendStaticArguments=function(e){this._staticArguments.push.apply(this._staticArguments,e)},e.prototype.staticArguments=function(e){return isNaN(e)?this._staticArguments.slice(0):this._staticArguments[e]},e.prototype._validate=function(e){if(!e)throw n.illegalArgument("can not be falsy")},e}();t.AbstractDescriptor=i;var o=function(e){function t(t){for(var n=[],i=1;im&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)},t.prototype.withWorker=function(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new E(this._modelService,"editorWorkerService")),o.TPromise.as(this._editorWorkerClient)},t}(i.Disposable),w=function(e){function t(t,i,o){var r=e.call(this)||this;if(r._syncedModels=Object.create(null),r._syncedModelsLastUsedTime=Object.create(null),r._proxy=t,r._modelService=i,!o){var s=new n.IntervalTimer;s.cancelAndSet(function(){return r._checkStopModelSync()},Math.round(g/2)),r._register(s)}return r}return f(t,e),t.prototype.dispose=function(){for(var t in this._syncedModels)i.dispose(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),e.prototype.dispose.call(this)},t.prototype.esureSyncedResources=function(e){for(var t=0;tg&&t.push(n);for(var i=0;i=0&&(t.splice(i,1),0===t.length&&n._commands.delete(e))}else r(t)&&n._commands.delete(e)}}},e.prototype.getCommand=function(e){var t=this._commands.get(e);return Array.isArray(t)?t[0]:t},e.prototype.getCommands=function(){var e=this,t=Object.create(null);return this._commands.forEach(function(n,i){t[i]=e.getCommand(i)}),t},e}()),t.NullCommandService={_serviceBrand:void 0,onWillExecuteCommand:function(){return{dispose:function(){}}},executeCommand:function(){return n.TPromise.as(void 0)}}}),define(d[401],h([1,0,10,24,7,2,17,18,31,56]),function(e,t,n,i,o,r,s,a,u,l){"use strict";function c(e){var t=[],i=s.LinkProviderRegistry.ordered(e).reverse().map(function(i){return a.asWinJsPromise(function(t){return i.provideLinks(e,t)}).then(function(e){if(Array.isArray(e)){var n=e.map(function(e){return new h(e,i)});t=d(t,n)}},n.onUnexpectedExternalError)});return o.TPromise.join(i).then(function(){return t})}function d(e,t){var n,i,o,s,a,u,l=[];for(n=0,o=0,i=e.length,s=t.length;n=0&&i.splice(e,1)}}},e.prototype.getMenuItems=function(e){var t=e.id,n=this._menuItems[t]||[];return t===s.CommandPalette.id&&this._appendImplicitItems(n),n},e.prototype._appendImplicitItems=function(e){for(var t=new Set,n=0,i=e;n=0){t=e.split("!=");return new u(t[0].trim(),this._deserializeValue(t[1]))}if(e.indexOf("==")>=0){var t=e.split("==");return new a(t[0].trim(),this._deserializeValue(t[1]))}return/^\!\s*/.test(e)?new l(e.substr(1).trim()):new s(e)},e._deserializeValue=function(e){if("true"===(e=e.trim()))return!0;if("false"===e)return!1;var t=/^'([^']*)'$/.exec(e);return t?t[1].trim():e},e}();t.ContextKeyExpr=r;var s=function(){function e(e){this.key=e}return e.prototype.getType=function(){return o.Defined},e.prototype.cmp=function(e){return this.keye.key?1:0},e.prototype.equals=function(t){return t instanceof e&&this.key===t.key},e.prototype.evaluate=function(e){return!!e.getValue(this.key)},e.prototype.normalize=function(){return this},e.prototype.serialize=function(){return this.key},e.prototype.keys=function(){return[this.key]},e}();t.ContextKeyDefinedExpr=s;var a=function(){function e(e,t){this.key=e,this.value=t}return e.prototype.getType=function(){return o.Equals},e.prototype.cmp=function(e){return this.keye.key?1:this.valuee.value?1:0},e.prototype.equals=function(t){return t instanceof e&&(this.key===t.key&&this.value===t.value)},e.prototype.evaluate=function(e){return e.getValue(this.key)==this.value},e.prototype.normalize=function(){return"boolean"==typeof this.value?this.value?new s(this.key):new l(this.key):this},e.prototype.serialize=function(){return"boolean"==typeof this.value?this.normalize().serialize():this.key+" == '"+this.value+"'"},e.prototype.keys=function(){return[this.key]},e}();t.ContextKeyEqualsExpr=a;var u=function(){function e(e,t){this.key=e,this.value=t}return e.prototype.getType=function(){return o.NotEquals},e.prototype.cmp=function(e){return this.keye.key?1:this.valuee.value?1:0},e.prototype.equals=function(t){return t instanceof e&&(this.key===t.key&&this.value===t.value)},e.prototype.evaluate=function(e){return e.getValue(this.key)!=this.value},e.prototype.normalize=function(){return"boolean"==typeof this.value?this.value?new l(this.key):new s(this.key):this},e.prototype.serialize=function(){return"boolean"==typeof this.value?this.normalize().serialize():this.key+" != '"+this.value+"'"},e.prototype.keys=function(){return[this.key]},e}();t.ContextKeyNotEqualsExpr=u;var l=function(){function e(e){this.key=e}return e.prototype.getType=function(){return o.Not},e.prototype.cmp=function(e){return this.keye.key?1:0},e.prototype.equals=function(t){return t instanceof e&&this.key===t.key},e.prototype.evaluate=function(e){return!e.getValue(this.key)},e.prototype.normalize=function(){return this},e.prototype.serialize=function(){return"!"+this.key},e.prototype.keys=function(){return[this.key]},e}();t.ContextKeyNotExpr=l;var c=function(){function e(t){this.expr=e._normalizeArr(t)}return e.prototype.getType=function(){return o.And},e.prototype.equals=function(t){if(t instanceof e){if(this.expr.length!==t.expr.length)return!1;for(var n=0,i=this.expr.length;n0&&t.push([s,a])}return t},e._fillInKbExprKeys=function(e,t){if(e)for(var n=0,i=e.keys();ns)return 1;var a="string"==typeof e.command.title?e.command.title:e.command.title.value,u="string"==typeof t.command.title?t.command.title:t.command.title.value;return a.localeCompare(u)},e=v([y(2,s.ICommandService),y(3,o.IContextKeyService)],e)}();t.Menu=a}),define(d[69],h([1,0,53,16]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IContextViewService=i.createDecorator("contextViewService"),t.IContextMenuService=i.createDecorator("contextMenuService");var o=function(e){function t(t,n){var i=e.call(this,"contextsubmenu",t,"",!0)||this;return i.entries=n,i}return f(t,e),t}(n.Action);t.ContextSubMenu=o}),define(d[64],h([1,0,16]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IEditorService=n.createDecorator("editorService");var i;!function(e){e[e.ONE=0]="ONE",e[e.TWO=1]="TWO",e[e.THREE=2]="THREE"}(i=t.Position||(t.Position={})),t.POSITIONS=[i.ONE,i.TWO,i.THREE];!function(e){e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT"}(t.Direction||(t.Direction={}));!function(e){e[e.SHORT=0]="SHORT",e[e.MEDIUM=1]="MEDIUM",e[e.LONG=2]="LONG"}(t.Verbosity||(t.Verbosity={}))}),define(d[156],h([1,0,16]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IEnvironmentService=n.createDecorator("environmentService")}),define(d[411],h([1,0,45,79,15,16,9]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IFileService=r.createDecorator("fileService");!function(e){e[e.CREATE=0]="CREATE",e[e.DELETE=1]="DELETE",e[e.MOVE=2]="MOVE",e[e.COPY=3]="COPY",e[e.IMPORT=4]="IMPORT"}(t.FileOperation||(t.FileOperation={}));var a=function(){function e(e,t,n){this._resource=e,this._operation=t,this._target=n}return Object.defineProperty(e.prototype,"resource",{get:function(){return this._resource},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"target",{get:function(){return this._target},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"operation",{get:function(){return this._operation},enumerable:!0,configurable:!0}),e}();t.FileOperationEvent=a;var u;!function(e){e[e.UPDATED=0]="UPDATED",e[e.ADDED=1]="ADDED",e[e.DELETED=2]="DELETED"}(u=t.FileChangeType||(t.FileChangeType={}));var l=function(e){function t(t){var n=e.call(this)||this;return n._changes=t,n}return f(t,e),Object.defineProperty(t.prototype,"changes",{get:function(){return this._changes},enumerable:!0,configurable:!0}),t.prototype.contains=function(e,t){return!!e&&this._changes.some(function(i){return i.type===t&&(t===u.DELETED?n.isEqualOrParent(e.fsPath,i.resource.fsPath,!o.isLinux):n.isEqual(e.fsPath,i.resource.fsPath,!o.isLinux))})},t.prototype.getAdded=function(){return this.getOfType(u.ADDED)},t.prototype.gotAdded=function(){return this.hasType(u.ADDED)},t.prototype.getDeleted=function(){return this.getOfType(u.DELETED)},t.prototype.gotDeleted=function(){return this.hasType(u.DELETED)},t.prototype.getUpdated=function(){return this.getOfType(u.UPDATED)},t.prototype.gotUpdated=function(){return this.hasType(u.UPDATED)},t.prototype.getOfType=function(e){return this._changes.filter(function(t){return t.type===e})},t.prototype.hasType=function(e){return this._changes.some(function(t){return t.type===e})},t}(i.Event);t.FileChangesEvent=l,t.isParent=function(e,t,i){return!(!e||!t||e===t)&&!(t.length>e.length)&&(t.charAt(t.length-1)!==n.nativeSep&&(t+=n.nativeSep),i?s.beginsWithIgnoreCase(e,t):0===e.indexOf(t))},t.indexOf=function(e,t,n){return t.length>e.length?-1:e===t?0:(n&&(e=e.toLowerCase(),t=t.toLowerCase()),e.indexOf(t))};var c=function(e){function t(t,n){var i=e.call(this,t)||this;return i.fileOperationResult=n,i}return f(t,e),t}(Error);t.FileOperationError=c;!function(e){e[e.FILE_IS_BINARY=0]="FILE_IS_BINARY",e[e.FILE_IS_DIRECTORY=1]="FILE_IS_DIRECTORY",e[e.FILE_NOT_FOUND=2]="FILE_NOT_FOUND",e[e.FILE_NOT_MODIFIED_SINCE=3]="FILE_NOT_MODIFIED_SINCE",e[e.FILE_MODIFIED_SINCE=4]="FILE_MODIFIED_SINCE",e[e.FILE_MOVE_CONFLICT=5]="FILE_MOVE_CONFLICT",e[e.FILE_READ_ONLY=6]="FILE_READ_ONLY",e[e.FILE_TOO_LARGE=7]="FILE_TOO_LARGE",e[e.FILE_INVALID_PATH=8]="FILE_INVALID_PATH"}(t.FileOperationResult||(t.FileOperationResult={}));t.MAX_FILE_SIZE="object"==typeof process?"ia32"===process.arch?314572800:17179869184:314572800,t.AutoSaveConfiguration={OFF:"off",AFTER_DELAY:"afterDelay",ON_FOCUS_CHANGE:"onFocusChange",ON_WINDOW_CHANGE:"onWindowChange"},t.HotExitConfiguration={OFF:"off",ON_EXIT:"onExit",ON_EXIT_AND_WINDOW_CLOSE:"onExitAndWindowClose"},t.CONTENT_CHANGE_EVENT_BUFFER_DELAY=1e3,t.SUPPORTED_ENCODINGS={utf8:{labelLong:"UTF-8",labelShort:"UTF-8",order:1,alias:"utf8bom"},utf8bom:{labelLong:"UTF-8 with BOM",labelShort:"UTF-8 with BOM",encodeOnly:!0,order:2,alias:"utf8"},utf16le:{labelLong:"UTF-16 LE",labelShort:"UTF-16 LE",order:3},utf16be:{labelLong:"UTF-16 BE",labelShort:"UTF-16 BE",order:4},windows1252:{labelLong:"Western (Windows 1252)",labelShort:"Windows 1252",order:5},iso88591:{labelLong:"Western (ISO 8859-1)",labelShort:"ISO 8859-1",order:6},iso88593:{labelLong:"Western (ISO 8859-3)",labelShort:"ISO 8859-3",order:7},iso885915:{labelLong:"Western (ISO 8859-15)",labelShort:"ISO 8859-15",order:8},macroman:{labelLong:"Western (Mac Roman)",labelShort:"Mac Roman",order:9},cp437:{labelLong:"DOS (CP 437)",labelShort:"CP437",order:10},windows1256:{labelLong:"Arabic (Windows 1256)",labelShort:"Windows 1256",order:11},iso88596:{labelLong:"Arabic (ISO 8859-6)",labelShort:"ISO 8859-6",order:12},windows1257:{labelLong:"Baltic (Windows 1257)",labelShort:"Windows 1257",order:13},iso88594:{labelLong:"Baltic (ISO 8859-4)",labelShort:"ISO 8859-4",order:14},iso885914:{labelLong:"Celtic (ISO 8859-14)",labelShort:"ISO 8859-14",order:15},windows1250:{labelLong:"Central European (Windows 1250)",labelShort:"Windows 1250",order:16},iso88592:{labelLong:"Central European (ISO 8859-2)",labelShort:"ISO 8859-2",order:17},cp852:{labelLong:"Central European (CP 852)",labelShort:"CP 852",order:18},windows1251:{labelLong:"Cyrillic (Windows 1251)",labelShort:"Windows 1251",order:19},cp866:{labelLong:"Cyrillic (CP 866)",labelShort:"CP 866",order:20},iso88595:{labelLong:"Cyrillic (ISO 8859-5)",labelShort:"ISO 8859-5",order:21},koi8r:{labelLong:"Cyrillic (KOI8-R)",labelShort:"KOI8-R",order:22},koi8u:{labelLong:"Cyrillic (KOI8-U)",labelShort:"KOI8-U",order:23},iso885913:{labelLong:"Estonian (ISO 8859-13)",labelShort:"ISO 8859-13",order:24},windows1253:{labelLong:"Greek (Windows 1253)",labelShort:"Windows 1253",order:25},iso88597:{labelLong:"Greek (ISO 8859-7)",labelShort:"ISO 8859-7",order:26},windows1255:{labelLong:"Hebrew (Windows 1255)",labelShort:"Windows 1255",order:27},iso88598:{labelLong:"Hebrew (ISO 8859-8)",labelShort:"ISO 8859-8",order:28},iso885910:{labelLong:"Nordic (ISO 8859-10)",labelShort:"ISO 8859-10",order:29},iso885916:{labelLong:"Romanian (ISO 8859-16)",labelShort:"ISO 8859-16",order:30},windows1254:{labelLong:"Turkish (Windows 1254)",labelShort:"Windows 1254",order:31},iso88599:{labelLong:"Turkish (ISO 8859-9)",labelShort:"ISO 8859-9",order:32},windows1258:{labelLong:"Vietnamese (Windows 1258)",labelShort:"Windows 1258",order:33},gbk:{labelLong:"Chinese (GBK)",labelShort:"GBK",order:34},gb18030:{labelLong:"Chinese (GB18030)",labelShort:"GB18030",order:35},cp950:{labelLong:"Traditional Chinese (Big5)",labelShort:"Big5",order:36},big5hkscs:{labelLong:"Traditional Chinese (Big5-HKSCS)",labelShort:"Big5-HKSCS",order:37},shiftjis:{labelLong:"Japanese (Shift JIS)",labelShort:"Shift JIS",order:38},eucjp:{labelLong:"Japanese (EUC-JP)",labelShort:"EUC-JP",order:39},euckr:{labelLong:"Korean (EUC-KR)",labelShort:"EUC-KR",order:40},windows874:{labelLong:"Thai (Windows 874)",labelShort:"Windows 874",order:41},iso885911:{labelLong:"Latin/Thai (ISO 8859-11)",labelShort:"ISO 8859-11",order:42},koi8ru:{labelLong:"Cyrillic (KOI8-RU)",labelShort:"KOI8-RU",order:43},koi8t:{labelLong:"Tajik (KOI8-T)",labelShort:"KOI8-T",order:44},gb2312:{labelLong:"Simplified Chinese (GB 2312)",labelShort:"GB 2312",order:45}};!function(e){e[e.FILE=0]="FILE",e[e.FOLDER=1]="FOLDER",e[e.ROOT_FOLDER=2]="ROOT_FOLDER"}(t.FileKind||(t.FileKind={}))}),define(d[84],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){for(var e=[],t=0;t0?i[0].index:n.length;if(n.length!==d){console.warn("[createInstance] First service dependency of "+e.ctor.name+" at position "+(d+1)+" conflicts with "+n.length+" static arguments");var h=d-n.length;n=h>0?n.concat(new Array(h)):n.slice(0,d)}var p=[e.ctor];p.push.apply(p,n),p.push.apply(p,r);var f=o.create.apply(null,p);return e._validate(f),f},t.prototype._getOrCreateServiceInstance=function(e){var t=this._services.get(e);return t instanceof a.SyncDescriptor?this._createAndCacheServiceInstance(e,t):t},t.prototype._createAndCacheServiceInstance=function(e,t){function n(){var e=new Error("[createInstance] cyclic dependency between services");throw e.message=i.toString(),e}r.ok(this._services.get(e)instanceof a.SyncDescriptor);for(var i=new s.Graph(function(e){return e.id.toString()}),o=0,l=[{id:e,desc:t}];l.length;){var c=l.pop();i.lookupOrInsertNode(c),o++>100&&n();for(var d=0,h=u._util.getServiceDependencies(c.desc.ctor);d=0;c--)this._isTargetedForRemoval(e[c],a,u,s,l)&&e.splice(c,1);else n.push(r)}return e.concat(n)},e.prototype._addKeyPress=function(t,n){var i=this._map.get(t);if(void 0===i)return this._map.set(t,[n]),void this._addToLookupMap(n);for(var o=i.length-1;o>=0;o--){var r=i[o];if(r.command!==n.command){var s=null!==r.keypressChordPart,a=null!==n.keypressChordPart;s&&a&&r.keypressChordPart!==n.keypressChordPart||e.whenIsEntirelyIncluded(!0,r.when,n.when)&&this._removeFromLookupMap(r)}}i.push(n),this._addToLookupMap(n)},e.prototype._addToLookupMap=function(e){if(e.command){var t=this._lookupMap.get(e.command);void 0===t?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}},e.prototype._removeFromLookupMap=function(e){var t=this._lookupMap.get(e.command);if(void 0!==t)for(var n=0,i=t.length;n=0;o--)n[i++]=t[o];return n},e.prototype.lookupPrimaryKeybinding=function(e){var t=this._lookupMap.get(e);return void 0===t||0===t.length?null:t[t.length-1]},e.prototype.resolve=function(e,t,n){var i=null;if(null!==t){if(void 0===(a=this._map.get(t)))return null;i=[];for(var o=0,r=a.length;o=0;i--){var o=n[i];if(e.contextMatchesRules(t,o.when))return o}return null},e.contextMatchesRules=function(e,t){return!t||t.evaluate(e)},e.getAllUnboundCommands=function(e){var t=i.CommandsRegistry.getCommands(),o=[];for(var r in t)"_"!==r[0]&&0!==r.indexOf("vscode.")&&("object"!=typeof t[r].description||n.isFalsyOrEmpty(t[r].description.args))&&!0!==e.get(r)&&o.push(r);return o},e}();t.KeybindingResolver=o}),define(d[417],h([1,0,3,31,159,19,62,11]),function(e,t,n,i,o,r,s,a){"use strict";function u(e){for(;e;){if(e.hasAttribute(l))return parseInt(e.getAttribute(l),10);e=e.parentElement}return 0}Object.defineProperty(t,"__esModule",{value:!0});var l="data-keybinding-context",c=function(){function e(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}return e.prototype.setValue=function(e,t){return this._value[e]!==t&&(this._value[e]=t,!0)},e.prototype.removeValue=function(e){return delete this._value[e]},e.prototype.getValue=function(e){var t=this._value[e];return void 0===t&&this._parent?this._parent.getValue(e):t},e}();t.Context=c;var d=function(e){function t(t,n,i){var o=e.call(this,t,null)||this;return o._emitter=i,o._subscription=n.onDidUpdateConfiguration(function(e){return o._updateConfigurationContext(n.getConfiguration())}),o._updateConfigurationContext(n.getConfiguration()),o}return f(t,e),t.prototype.dispose=function(){this._subscription.dispose()},t.prototype._updateConfigurationContext=function(e){var t=this;for(var n in this._value)0===n.indexOf("config.")&&delete this._value[n];var i=function(e,n){for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){n.push(o);var r=e[o];if("boolean"==typeof r){var s=n.join(".");t._value[s]=r,t._emitter.fire(s)}else"object"==typeof r&&i(r,n);n.pop()}};i(e,["config"])},t}(c),h=function(){function e(e,t,n){this._parent=e,this._key=t,this._defaultValue=n,this.reset()}return e.prototype.set=function(e){this._parent.setContext(this._key,e)},e.prototype.reset=function(){void 0===this._defaultValue?this._parent.removeContext(this._key):this._parent.setContext(this._key,this._defaultValue)},e.prototype.get=function(){return this._parent.getContextKeyValue(this._key)},e}(),p=function(){function e(e){this._myContextId=e,this._onDidChangeContextKey=new a.Emitter}return e.prototype.createKey=function(e,t){return new h(this,e,t)},Object.defineProperty(e.prototype,"onDidChangeContext",{get:function(){return this._onDidChangeContext||(this._onDidChangeContext=a.debounceEvent(this._onDidChangeContextKey.event,function(e,t){return e?e.indexOf(t)<0&&e.push(t):e=[t],e},25)),this._onDidChangeContext},enumerable:!0,configurable:!0}),e.prototype.createScoped=function(e){return new m(this,this._onDidChangeContextKey,e)},e.prototype.contextMatchesRules=function(e){var t=this.getContextValuesContainer(this._myContextId);return o.KeybindingResolver.contextMatchesRules(t,e)},e.prototype.getContextKeyValue=function(e){return this.getContextValuesContainer(this._myContextId).getValue(e)},e.prototype.setContext=function(e,t){this.getContextValuesContainer(this._myContextId).setValue(e,t)&&this._onDidChangeContextKey.fire(e)},e.prototype.removeContext=function(e){this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContextKey.fire(e)},e.prototype.getContext=function(e){return this.getContextValuesContainer(u(e))},e}();t.AbstractContextKeyService=p;var g=function(e){function t(t){var n=e.call(this,0)||this;n._toDispose=[],n._lastContextId=0,n._contexts=Object.create(null);var i=new d(n._myContextId,t,n._onDidChangeContextKey);return n._contexts[String(n._myContextId)]=i,n._toDispose.push(i),n}return f(t,e),t.prototype.dispose=function(){this._toDispose=n.dispose(this._toDispose)},t.prototype.getContextValuesContainer=function(e){return this._contexts[String(e)]},t.prototype.createChildContext=function(e){void 0===e&&(e=this._myContextId);var t=++this._lastContextId;return this._contexts[String(t)]=new c(t,this.getContextValuesContainer(e)),t},t.prototype.disposeContext=function(e){delete this._contexts[String(e)]},t=v([y(0,s.IConfigurationService)],t)}(p);t.ContextKeyService=g;var m=function(e){function t(t,n,i){var o=e.call(this,t.createChildContext())||this;return o._parent=t,o._onDidChangeContextKey=n,i&&(o._domNode=i,o._domNode.setAttribute(l,String(o._myContextId))),o}return f(t,e),t.prototype.dispose=function(){this._parent.disposeContext(this._myContextId),this._domNode&&this._domNode.removeAttribute(l)},Object.defineProperty(t.prototype,"onDidChangeContext",{get:function(){return this._parent.onDidChangeContext},enumerable:!0,configurable:!0}),t.prototype.getContextValuesContainer=function(e){return this._parent.getContextValuesContainer(e)},t.prototype.createChildContext=function(e){return void 0===e&&(e=this._myContextId),this._parent.createChildContext(e)},t.prototype.disposeContext=function(e){this._parent.disposeContext(e)},t}(p);i.CommandsRegistry.registerCommand(r.SET_CONTEXT_COMMAND_ID,function(e,t,n){e.get(r.IContextKeyService).createKey(String(t),n)})}),define(d[418],h([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){return function(e,t,n,i,o){if(this.resolvedKeybinding=e,e){var r=e.getDispatchParts(),s=r[0],a=r[1];this.keypressFirstPart=s,this.keypressChordPart=a}else this.keypressFirstPart=null,this.keypressChordPart=null;this.bubble=!!t&&94===t.charCodeAt(0),this.command=this.bubble?t.substr(1):t,this.commandArgs=n,this.when=i,this.isDefault=o}}();t.ResolvedKeybindingItem=n}),define(d[419],h([1,0,40,155]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,n){var i=e.call(this)||this;return i._os=n,null===t?(i._firstPart=null,i._chordPart=null):2===t.type?(i._firstPart=t.firstPart,i._chordPart=t.chordPart):(i._firstPart=t,i._chordPart=null),i}return f(t,e),t.prototype._keyCodeToUILabel=function(e){if(2===this._os)switch(e){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return n.KeyCodeUtils.toString(e)},t.prototype._getUILabelForKeybinding=function(e){return e?e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode):null},t.prototype.getLabel=function(){var e=this._getUILabelForKeybinding(this._firstPart),t=this._getUILabelForKeybinding(this._chordPart);return i.UILabelProvider.toLabel(this._firstPart,e,this._chordPart,t,this._os)},t.prototype._getAriaLabelForKeybinding=function(e){return e?e.isDuplicateModifierCase()?"":n.KeyCodeUtils.toString(e.keyCode):null},t.prototype.getAriaLabel=function(){var e=this._getAriaLabelForKeybinding(this._firstPart),t=this._getAriaLabelForKeybinding(this._chordPart);return i.AriaLabelProvider.toLabel(this._firstPart,e,this._chordPart,t,this._os)},t.prototype._keyCodeToElectronAccelerator=function(e){if(e>=93&&e<=108)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return n.KeyCodeUtils.toString(e)},t.prototype._getElectronAcceleratorLabelForKeybinding=function(e){return e?e.isDuplicateModifierCase()?null:this._keyCodeToElectronAccelerator(e.keyCode):null},t.prototype.getElectronAccelerator=function(){if(null!==this._chordPart)return null;var e=this._getElectronAcceleratorLabelForKeybinding(this._firstPart);return i.ElectronAcceleratorLabelProvider.toLabel(this._firstPart,e,null,null,this._os)},t.prototype._getUserSettingsLabelForKeybinding=function(e){return e?e.isDuplicateModifierCase()?"":n.KeyCodeUtils.toUserSettingsUS(e.keyCode):null},t.prototype.getUserSettingsLabel=function(){var e=this._getUserSettingsLabelForKeybinding(this._firstPart),t=this._getUserSettingsLabelForKeybinding(this._chordPart),n=i.UserSettingsLabelProvider.toLabel(this._firstPart,e,this._chordPart,t,this._os);return n?n.toLowerCase():n},t.prototype.isWYSIWYG=function(){return!0},t.prototype.isChord=function(){return!!this._chordPart},t.prototype.getParts=function(){return[this._toResolvedKeybindingPart(this._firstPart),this._toResolvedKeybindingPart(this._chordPart)]},t.prototype._toResolvedKeybindingPart=function(e){return e?new n.ResolvedKeybindingPart(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getUILabelForKeybinding(e),this._getAriaLabelForKeybinding(e)):null},t.prototype.getDispatchParts=function(){return[this._firstPart?t.getDispatchStr(this._firstPart):null,this._chordPart?t.getDispatchStr(this._chordPart):null]},t.getDispatchStr=function(e){if(e.isModifierKey())return null;var t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=n.KeyCodeUtils.toString(e.keyCode)},t}(n.ResolvedKeybinding);t.USLayoutResolvedKeybinding=o}),define(d[420],h([1,0,7,11,16]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ILifecycleService=o.createDecorator("lifecycleService");!function(e){e[e.CLOSE=1]="CLOSE",e[e.QUIT=2]="QUIT",e[e.RELOAD=3]="RELOAD",e[e.LOAD=4]="LOAD"}(t.ShutdownReason||(t.ShutdownReason={}));var r;!function(e){e[e.NewWindow=1]="NewWindow",e[e.ReloadedWindow=3]="ReloadedWindow",e[e.ReopenedWindow=4]="ReopenedWindow"}(r=t.StartupKind||(t.StartupKind={}));var s;!function(e){e[e.Starting=1]="Starting",e[e.Running=2]="Running",e[e.ShuttingDown=3]="ShuttingDown"}(s=t.LifecyclePhase||(t.LifecyclePhase={})),t.NullLifecycleService={_serviceBrand:null,phase:s.Running,startupKind:r.NewWindow,onDidChangePhase:i.default.None,onWillShutdown:i.default.None,onShutdown:i.default.None},t.handleVetos=function(e,t){if(0===e.length)return n.TPromise.as(!1);for(var i=[],o=!1,r=0,s=e;r0?a:1,u=u>0?u:1,l=l>=a?l:a,c=c>0?c:u,{resource:t,owner:e,code:i,severity:o,message:r,source:s,startLineNumber:a,startColumn:u,endLineNumber:l,endColumn:c}},e.prototype.changeAll=function(t,i){var o=[],r=this._byOwner[t];if(r){delete this._byOwner[t];for(var s in r){var u=a.get(this._byResource,s,t)[0];u&&o.push(u.resource),a.remove(this._byResource,s,t)}}if(!n.isFalsyOrEmpty(i)){for(var l=Object.create(null),c=0,d=i;c0&&this._onMarkerChanged.fire(o)},e.prototype.read=function(e){void 0===e&&(e=Object.create(null));var t=e.owner,n=e.resource,i=e.take;if((!i||i<0)&&(i=-1),t&&n)return(d=a.get(this._byResource,n.toString(),t))?d.slice(0,i>0?i:void 0):[];if(t||n){var o=t?this._byOwner[t]:this._byResource[n.toString()];if(!o)return[];d=[];for(var r in o)for(var s=0,u=o[r];s0&&c===i)return d}return d}var d=[];for(var h in this._byResource)for(var p in this._byResource[h])for(var f=0,g=this._byResource[h][p];f0&&c===i)return d}return d},e._debouncer=function(t,n){t||(e._dedupeMap=Object.create(null),t=[]);for(var i=0,o=n;i0)})(s)&&(Array.isArray(s)?n=n.concat(s.map(e)):n.push(e(s)))}}return n},e.prototype.onResult=function(e,t){this._result=this._result.concat(e)},e.prototype.getResult=function(){return this._result},e.prototype.getResultWithLoadingMessage=function(){return this.getResult()},e}(),d=function(e){function t(i,o,r){var a=e.call(this,t.ID,i)||this;return a.openerService=o,a.modeService=r,a.openerService=o||s.NullOpenerService,a._lastLineNumber=-1,a._computer=new c(a._editor),a._hoverOperation=new n.HoverOperation(a._computer,function(e){return a._withResult(e)},null,function(e){return a._withResult(e)}),a}return f(t,e),t.prototype.dispose=function(){this._hoverOperation.cancel(),e.prototype.dispose.call(this)},t.prototype.onModelDecorationsChanged=function(){this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._hoverOperation.start())},t.prototype.startShowingAt=function(e){this._lastLineNumber!==e&&(this._hoverOperation.cancel(),this.hide(),this._lastLineNumber=e,this._computer.setLineNumber(e),this._hoverOperation.start())},t.prototype.hide=function(){this._lastLineNumber=-1,this._hoverOperation.cancel(),e.prototype.hide.call(this)},t.prototype._withResult=function(e){this._messages=e,this._messages.length>0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){var n=this,i=document.createDocumentFragment();t.forEach(function(e){var t=r.renderMarkedString(e.value,{actionCallback:function(e){return n.openerService.open(a.default.parse(e)).then(void 0,u.onUnexpectedError)},codeBlockRenderer:function(e,t){var i=n.modeService.getModeIdForLanguageName(e);return n.modeService.getOrCreateMode(i).then(function(e){return l.tokenizeToString(t,i)})}});i.appendChild(o.$("div.hover-row",null,t))}),this.updateContents(i),this.showAt(e)},t.ID="editor.contrib.modesGlyphHoverWidget",t}(i.GlyphHoverWidget);t.ModesGlyphHoverWidget=d}),define(d[163],h([1,0,16]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IProgressService=n.createDecorator("progressService"),t.emptyProgress=Object.freeze({report:function(){}});var i=function(){function e(e){this._callback=e}return Object.defineProperty(e.prototype,"value",{get:function(){return this._value},enumerable:!0,configurable:!0}),e.prototype.report=function(e){this._value=e,this._callback()},e}();t.Progress=i;!function(e){e[e.Scm=1]="Scm",e[e.Window=10]="Window"}(t.ProgressLocation||(t.ProgressLocation={})),t.IProgressService2=n.createDecorator("progressService2")}),define(d[44],h([1,0,29,72]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(){this.data={}}return e.prototype.add=function(e,t){i.ok(n.isString(e)),i.ok(n.isObject(t)),i.ok(!this.data.hasOwnProperty(e),"There is already an extension with this id"),this.data[e]=t},e.prototype.knows=function(e){return this.data.hasOwnProperty(e)},e.prototype.as=function(e){return this.data[e]||null},e}();t.Registry=new o;var r=function(){function e(){this.toBeInstantiated=[],this.instances=[]}return e.prototype.setInstantiationService=function(e){for(this.instantiationService=e;this.toBeInstantiated.length>0;){var t=this.toBeInstantiated.shift();this.instantiate(t)}},e.prototype.instantiate=function(e){var t=this.instantiationService.createInstance(e);this.instances.push(t)},e.prototype._register=function(e){this.instantiationService?this.instantiate(e):this.toBeInstantiated.push(e)},e.prototype._getInstances=function(){return this.instances.slice(0)},e.prototype._setInstances=function(e){this.instances=e},e}();t.BaseRegistry=r}),define(d[30],h([1,0,44]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.editorContribution=function(e){o.INSTANCE.registerEditorBrowserContribution(e)};!function(e){e.getEditorContributions=function(){return o.INSTANCE.getEditorBrowserContributions()}}(t.EditorBrowserRegistry||(t.EditorBrowserRegistry={}));var i={EditorContributions:"editor.contributions"},o=function(){function e(){this.editorContributions=[]}return e.prototype.registerEditorBrowserContribution=function(e){this.editorContributions.push(e)},e.prototype.getEditorBrowserContributions=function(){return this.editorContributions.slice(0)},e.INSTANCE=new e,e}();n.Registry.add(i.EditorContributions,o.INSTANCE)}),define(d[126],h([1,0,336,11,44,43,17]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Extensions={ModesRegistry:"editor.modesRegistry"};var a=function(){function e(){this._onDidAddLanguages=new i.Emitter,this.onDidAddLanguages=this._onDidAddLanguages.event,this._languages=[]}return e.prototype.registerLanguage=function(e){this._languages.push(e),this._onDidAddLanguages.fire([e])},e.prototype.registerLanguages=function(e){this._languages=this._languages.concat(e),this._onDidAddLanguages.fire(e)},e.prototype.getLanguages=function(){return this._languages.slice(0)},e}();t.EditorModesRegistry=a,t.ModesRegistry=new a,o.Registry.add(t.Extensions.ModesRegistry,t.ModesRegistry),t.PLAINTEXT_MODE_ID="plaintext",t.PLAINTEXT_LANGUAGE_IDENTIFIER=new s.LanguageIdentifier(t.PLAINTEXT_MODE_ID,1),t.ModesRegistry.registerLanguage({id:t.PLAINTEXT_MODE_ID,extensions:[".txt",".gitignore"],aliases:[n.localize(0,null),"text"],mimetypes:["text/plain"]}),r.LanguageConfigurationRegistry.register(t.PLAINTEXT_LANGUAGE_IDENTIFIER,{brackets:[["(",")"],["[","]"],["{","}"]]})}),define(d[430],h([1,0,339,70,11,36,7,103,2,20,175,15,62,49,126,101,55,34]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,f,g,m,_){"use strict";function C(e){return e.toString()}Object.defineProperty(t,"__esModule",{value:!0});var b=function(){function e(e,t){var n=this;this.model=e,this._markerDecorations=[],this._modelEventsListener=e.addBulkListener(function(e){return t(n,e)})}return e.prototype.dispose=function(){this._markerDecorations=this.model.deltaDecorations(this._markerDecorations,[]),this._modelEventsListener.dispose(),this._modelEventsListener=null,this.model=null},e.prototype.getModelId=function(){return C(this.model.uri)},e.prototype.acceptMarkerDecorations=function(e){this._markerDecorations=this.model.deltaDecorations(this._markerDecorations,e)},e}(),w=function(){function e(){}return e.setMarkers=function(e,t){var n=this,i=t.read({resource:e.model.uri,take:500}).map(function(t){return{range:n._createDecorationRange(e.model,t),options:n._createDecorationOption(t)}});e.acceptMarkerDecorations(i)},e._createDecorationRange=function(e,t){var n=e.validateRange(new u.Range(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn)),i=new u.Range(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn);if(i.isEmpty()){var o=e.getWordAtPosition(i.getStartPosition());if(o)i=new u.Range(i.startLineNumber,o.startColumn,i.endLineNumber,o.endColumn);else{var r=e.getLineLastNonWhitespaceColumn(n.startLineNumber)||e.getLineMaxColumn(n.startLineNumber);1===r||(i=i.endColumn>=r?new u.Range(i.startLineNumber,r-1,i.endLineNumber,r):new u.Range(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn+1))}}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&i.startLineNumber===i.endLineNumber){var s=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);s0&&"#"===e.charAt(e.length-1)?e.substring(0,e.length-1):e}Object.defineProperty(t,"__esModule",{value:!0}),t.Extensions={JSONContribution:"base.contributions.json"};var r=new(function(){function e(){this.schemasById={},this.eventEmitter=new i.EventEmitter}return e.prototype.addRegistryChangedListener=function(e){return this.eventEmitter.addListener("registryChanged",e)},e.prototype.registerSchema=function(e,t){this.schemasById[o(e)]=t,this.eventEmitter.emit("registryChanged",{})},e.prototype.getSchemaContributions=function(){return{schemas:this.schemasById}},e}());n.Registry.add(t.Extensions.JSONContribution,r)}),define(d[127],h([1,0,382,11,44,29,9,433]),function(e,t,n,i,o,r,s,a){"use strict";function u(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}function l(e){return t.OVERRIDE_PROPERTY_PATTERN.test(e)?n.localize(3,null,e):void 0!==m.getConfigurationProperties()[e]?n.localize(4,null,e):null}Object.defineProperty(t,"__esModule",{value:!0}),t.Extensions={Configuration:"base.contributions.configuration"};var c;!function(e){e[e.WINDOW=1]="WINDOW",e[e.RESOURCE=2]="RESOURCE"}(c=t.ConfigurationScope||(t.ConfigurationScope={})),t.schemaId="vscode://schemas/settings",t.editorConfigurationSchemaId="vscode://schemas/settings/editor",t.resourceConfigurationSchemaId="vscode://schemas/settings/resource";var d=o.Registry.as(a.Extensions.JSONContribution),h=function(){function e(){this.overrideIdentifiers=[],this.configurationContributors=[],this.configurationSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown configuration setting"},this.editorConfigurationSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown editor configuration setting"},this.resourceConfigurationSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Not a resource configuration setting"},this._onDidRegisterConfiguration=new i.Emitter,this.configurationProperties={},this.computeOverridePropertyPattern(),d.registerSchema(t.schemaId,this.configurationSchema),d.registerSchema(t.editorConfigurationSchemaId,this.editorConfigurationSchema),d.registerSchema(t.resourceConfigurationSchemaId,this.resourceConfigurationSchema)}return Object.defineProperty(e.prototype,"onDidRegisterConfiguration",{get:function(){return this._onDidRegisterConfiguration.event},enumerable:!0,configurable:!0}),e.prototype.registerConfiguration=function(e,t){void 0===t&&(t=!0),this.registerConfigurations([e],t)},e.prototype.registerConfigurations=function(e,t){var n=this;void 0===t&&(t=!0),e.forEach(function(e){n.validateAndRegisterProperties(e,t),n.configurationContributors.push(e),n.registerJSONConfiguration(e),n.updateSchemaForOverrideSettingsConfiguration(e)}),this._onDidRegisterConfiguration.fire(this)},e.prototype.registerOverrideIdentifiers=function(e){(t=this.overrideIdentifiers).push.apply(t,e),this.updateOverridePropertyPatternKey();var t},e.prototype.registerDefaultConfigurations=function(e){for(var i={id:"defaultOverrides",title:n.localize(0,null),properties:{}},o=0,r=e;o0){var m=t.firstLine;"^"!==m.charAt(0)&&(m="^"+m);try{var v=new RegExp(m);o.regExpLeadsToEndlessLoop(v)||i.registerTextMime({id:r,mime:s,firstline:v})}catch(e){n.onUnexpectedError(e)}}e.aliases.push(r);var _=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(_=0===t.aliases.length?[null]:t.aliases),null!==_)for(var y=0;y<_.length;y++)_[y]&&0!==_[y].length&&e.aliases.push(_[y]);var C=null!==_&&_.length>0;if(C&&null===_[0]);else{var b=(C?_[0]:null)||r;!C&&e.name||(e.name=b)}"string"==typeof t.configuration&&e.configurationFiles.push(t.configuration)},e.prototype.isRegisteredMode=function(e){return!!c.call(this._mimeTypesMap,e)||c.call(this._languages,e)},e.prototype.getRegisteredModes=function(){return Object.keys(this._languages)},e.prototype.getRegisteredLanguageNames=function(){return Object.keys(this._nameMap)},e.prototype.getLanguageName=function(e){return c.call(this._languages,e)?this._languages[e].name:null},e.prototype.getModeIdForLanguageNameLowercase=function(e){return c.call(this._lowercaseNameMap,e)?this._lowercaseNameMap[e].language:null},e.prototype.getConfigurationFiles=function(e){return c.call(this._languages,e)?this._languages[e].configurationFiles||[]:[]},e.prototype.getMimeForMode=function(e){return c.call(this._languages,e)?this._languages[e].mimetypes[0]||null:null},e.prototype.extractModeIds=function(e){var t=this;return e?e.split(",").map(function(e){return e.trim()}).map(function(e){return c.call(t._mimeTypesMap,e)?t._mimeTypesMap[e].language:e}).filter(function(e){return c.call(t._languages,e)}):[]},e.prototype.getLanguageIdentifier=function(e){if(e===u.NULL_MODE_ID||0===e)return u.NULL_LANGUAGE_IDENTIFIER;var t;if("string"==typeof e)t=e;else if(!(t=this._languageIds[e]))return null;return c.call(this._languages,t)?this._languages[t].identifier:null},e.prototype.getModeIdsFromLanguageName=function(e){return e&&c.call(this._nameMap,e)?[this._nameMap[e].language]:[]},e.prototype.getModeIdsFromFilenameOrFirstLine=function(e,t){if(!e&&!t)return[];var n=i.guessMimeTypes(e,t);return this.extractModeIds(n.join(","))},e.prototype.getExtensions=function(e){if(!c.call(this._nameMap,e))return[];var t=this._nameMap[e];return this._languages[t.language].extensions},e.prototype.getFilenames=function(e){if(!c.call(this._nameMap,e))return[];var t=this._nameMap[e];return this._languages[t.language].filenames},e}();t.LanguagesRegistry=d}),define(d[437],h([1,0,10,11,7,511,436]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(){this._onDidCreateMode=new i.Emitter,this.onDidCreateMode=this._onDidCreateMode.event,this._instantiatedModes={},this._registry=new s.LanguagesRegistry}return e.prototype._onReady=function(){return o.TPromise.as(!0)},e.prototype.isRegisteredMode=function(e){return this._registry.isRegisteredMode(e)},e.prototype.getRegisteredModes=function(){return this._registry.getRegisteredModes()},e.prototype.getRegisteredLanguageNames=function(){return this._registry.getRegisteredLanguageNames()},e.prototype.getExtensions=function(e){return this._registry.getExtensions(e)},e.prototype.getFilenames=function(e){return this._registry.getFilenames(e)},e.prototype.getMimeForMode=function(e){return this._registry.getMimeForMode(e)},e.prototype.getLanguageName=function(e){return this._registry.getLanguageName(e)},e.prototype.getModeIdForLanguageName=function(e){return this._registry.getModeIdForLanguageNameLowercase(e)},e.prototype.getModeIdByFilenameOrFirstLine=function(e,t){var n=this._registry.getModeIdsFromFilenameOrFirstLine(e,t);return n.length>0?n[0]:null},e.prototype.getModeId=function(e){var t=this._registry.extractModeIds(e);return t.length>0?t[0]:null},e.prototype.getLanguageIdentifier=function(e){return this._registry.getLanguageIdentifier(e)},e.prototype.getConfigurationFiles=function(e){return this._registry.getConfigurationFiles(e)},e.prototype.lookup=function(e){for(var t=[],n=this._registry.extractModeIds(e),i=0;i0?t[0]:null},e.prototype.getOrCreateModeByFilenameOrFirstLine=function(e,t){var n=this;return this._onReady().then(function(){var i=n.getModeIdByFilenameOrFirstLine(e,t);return n._getOrCreateMode(i||"plaintext")})},e.prototype._getOrCreateMode=function(e){if(!this._instantiatedModes.hasOwnProperty(e)){var t=this.getLanguageIdentifier(e);this._instantiatedModes[e]=new r.FrankensteinMode(t),this._onDidCreateMode.fire(this._instantiatedModes[e])}return this._instantiatedModes[e]},e}();t.ModeServiceImpl=a}),define(d[438],h([1,0,44,442,127,62]),function(e,t,n,i,o,r){"use strict";function s(){var e=Object.create(null),t=n.Registry.as(o.Extensions.Configuration).getConfigurationProperties();for(var i in t)u(e,i,t[i].default,function(e){return console.error("Conflict in default settings: "+e)});return e}function a(e,t){var n=Object.create(null);for(var i in e)u(n,i,e[i],t);return n}function u(e,t,n,i){for(var o=t.split("."),r=o.pop(),s=e,a=0;at.command?1:e.weight2-t.weight2}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(){this.WEIGHT={editorCore:function(e){return void 0===e&&(e=0),0+e},editorContrib:function(e){return void 0===e&&(e=0),100+e},workbenchContrib:function(e){return void 0===e&&(e=0),200+e},builtinExtension:function(e){return void 0===e&&(e=0),300+e},externalExtension:function(e){return void 0===e&&(e=0),400+e}},this._keybindings=[]}return e.bindToCurrentPlatform=function(e){if(1===i.OS){if(e&&e.win)return e.win}else if(2===i.OS){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e},e.bindToCurrentPlatform2=function(e){if(1===i.OS){if(e&&e.win)return e.win}else if(2===i.OS){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e},e.prototype.registerKeybindingRule=function(t){var o=this,r=e.bindToCurrentPlatform(t);r&&r.primary&&this.registerDefaultKeybinding(n.createKeybinding(r.primary,i.OS),t.id,t.weight,0,t.when),r&&Array.isArray(r.secondary)&&r.secondary.forEach(function(e,r){return o.registerDefaultKeybinding(n.createKeybinding(e,i.OS),t.id,t.weight,-r-1,t.when)})},e.prototype.registerKeybindingRule2=function(t){var n=e.bindToCurrentPlatform2(t);n&&n.primary&&this.registerDefaultKeybinding(n.primary,t.id,t.weight,0,t.when)},e.prototype.registerCommandAndKeybindingRule=function(e){this.registerKeybindingRule(e),o.CommandsRegistry.registerCommand(e.id,e)},e._mightProduceChar=function(e){return e>=21&&e<=30||(e>=31&&e<=56||(80===e||81===e||82===e||83===e||84===e||85===e||86===e||110===e||111===e||87===e||88===e||89===e||90===e||91===e||92===e))},e.prototype._assertNoCtrlAlt=function(t,n){t.ctrlKey&&t.altKey&&!t.metaKey&&e._mightProduceChar(t.keyCode)&&console.warn("Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ",t," for ",n)},e.prototype.registerDefaultKeybinding=function(e,t,n,o,r){1===i.OS&&(2===e.type?this._assertNoCtrlAlt(e.firstPart,t):this._assertNoCtrlAlt(e,t)),this._keybindings.push({keybinding:e,command:t,commandArgs:null,when:r,weight1:n,weight2:o})},e.prototype.getDefaultKeybindings=function(){var e=this._keybindings.slice(0);return e.sort(s),e},e}();t.KeybindingsRegistry=new a,t.Extensions={EditorModes:"platform.keybindingsRegistry"},r.Registry.add(t.Extensions.EditorModes,t.KeybindingsRegistry)}),define(d[129],h([1,0,70,36,24,7,62,31,414,419,159,46,20,11,438,3,4,65,105,407,40,418,15]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,v,_,y,C,b,w,S){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var E=function(){function e(e){this._widget=e}return e.prototype.getId=function(){return"editor"},e.prototype.getControl=function(){return this._widget},e.prototype.getSelection=function(){return this._widget.getSelection()},e.prototype.focus=function(){this._widget.focus()},e.prototype.isVisible=function(){return!0},e.prototype.withTypedEditor=function(e,t){return h.isCommonCodeEditor(this._widget)?e(this._widget):t(this._widget)},e}();t.SimpleEditor=E;var L=function(){function e(e){this.model=e,this._onDispose=new p.Emitter}return Object.defineProperty(e.prototype,"onDispose",{get:function(){return this._onDispose.event},enumerable:!0,configurable:!0}),e.prototype.load=function(){return r.TPromise.as(this)},Object.defineProperty(e.prototype,"textEditorModel",{get:function(){return this.model},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._onDispose.fire()},e}();t.SimpleModel=L;var x=function(){function e(){this.openEditorDelegate=null}return e.prototype.setEditor=function(e){this.editor=new E(e)},e.prototype.setOpenEditorDelegate=function(e){this.openEditorDelegate=e},e.prototype.openEditor=function(e,t){var n=this;return r.TPromise.as(this.editor.withTypedEditor(function(t){return n.doOpenEditor(t,e)},function(t){return n.doOpenEditor(t.getOriginalEditor(),e)||n.doOpenEditor(t.getModifiedEditor(),e)}))},e.prototype.doOpenEditor=function(e,t){if(!this.findModel(e,t)){if(t.resource){if(this.openEditorDelegate)return this.openEditorDelegate(t.resource.toString()),null;var i=t.resource.scheme;if(i===n.Schemas.http||i===n.Schemas.https)return v.windowOpenNoOpener(t.resource.toString()),this.editor}return null}var o=t.options.selection;if(o)if("number"==typeof o.endLineNumber&&"number"==typeof o.endColumn)e.setSelection(o),e.revealRangeInCenter(o);else{var r={lineNumber:o.startLineNumber,column:o.startColumn};e.setPosition(r),e.revealPositionInCenter(r)}return this.editor},e.prototype.findModel=function(e,t){var n=e.getModel();return n.uri.toString()!==t.resource.toString()?null:n},e}();t.SimpleEditorService=x;var N=function(){function e(){}return e.prototype.setEditor=function(e){this.editor=new E(e)},e.prototype.createModelReference=function(e){var t,n=this;return(t=this.editor.withTypedEditor(function(t){return n.findModel(t,e)},function(t){return n.findModel(t.getOriginalEditor(),e)||n.findModel(t.getModifiedEditor(),e)}))?r.TPromise.as(new m.ImmortalReference(new L(t))):r.TPromise.as(new m.ImmortalReference(null))},e.prototype.registerTextModelContentProvider=function(e,t){return{dispose:function(){}}},e.prototype.findModel=function(e,t){var n=e.getModel();return n.uri.toString()!==t.toString()?null:n},e}();t.SimpleEditorModelResolverService=N;var M=function(){function e(){}return e.prototype.show=function(){return e.NULL_PROGRESS_RUNNER},e.prototype.showWhile=function(e,t){return null},e.NULL_PROGRESS_RUNNER={done:function(){},total:function(){},worked:function(){}},e}();t.SimpleProgressService=M;var T=function(){function e(){}return e.prototype.show=function(t,n){switch(t){case i.default.Error:console.error(n);break;case i.default.Warning:console.warn(n);break;default:console.log(n)}return e.Empty},e.prototype.hideAll=function(){},e.prototype.confirm=function(e){var t=e.message;return e.detail&&(t=t+"\n\n"+e.detail),window.confirm(t)},e.Empty=function(){},e}();t.SimpleMessageService=T;var k=function(){function e(e){this._onWillExecuteCommand=new p.Emitter,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._instantiationService=e,this._dynamicCommands=Object.create(null)}return e.prototype.addCommand=function(e,t){var n=this;return this._dynamicCommands[e]=t,{dispose:function(){delete n._dynamicCommands[e]}}},e.prototype.executeCommand=function(e){for(var t=[],n=1;n.001){C=!1;break}}var L=r.getTimeSinceLastZoomLevelChanged()>2e3;return new a.FontInfo({zoomLevel:r.getZoomLevel(),fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:C,typicalHalfwidthCharacterWidth:i.width,typicalFullwidthCharacterWidth:o.width,spaceWidth:s.width,maxDigitWidth:y},L)},t.INSTANCE=new t,t}(i.Disposable),p=function(e){function t(t,n){void 0===n&&(n=null);var i=e.call(this,t)||this;return i._elementSizeObserver=i._register(new u.ElementSizeObserver(n,function(){return i._onReferenceDomElementSizeChanged()})),i._register(h.INSTANCE.onDidChange(function(){return i._onCSSBasedConfigurationChanged()})),i._validatedOptions.automaticLayout&&i._elementSizeObserver.startObserving(),i._register(r.onDidChangeZoomLevel(function(e){return i._recomputeOptions()})),i._register(r.onDidChangeAccessibilitySupport(function(){return i._recomputeOptions()})),i._recomputeOptions(),i}return f(t,e),t.applyFontInfoSlow=function(e,t){e.style.fontFamily=t.fontFamily,e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+"px",e.style.lineHeight=t.lineHeight+"px",e.style.letterSpacing=t.letterSpacing+"px"},t.applyFontInfo=function(e,t){e.setFontFamily(t.fontFamily),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)},t.prototype._onReferenceDomElementSizeChanged=function(){this._recomputeOptions()},t.prototype._onCSSBasedConfigurationChanged=function(){this._recomputeOptions()},t.prototype.observeReferenceElement=function(e){this._elementSizeObserver.observe(e)},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._getExtraEditorClassName=function(){var e="";return r.isIE?e+="ie ":r.isFirefox?e+="ff ":r.isEdge&&(e+="edge "),o.isMacintosh&&(e+="mac "),e},t.prototype._getEnvConfiguration=function(){return{extraEditorClassName:this._getExtraEditorClassName(),outerWidth:this._elementSizeObserver.getWidth(),outerHeight:this._elementSizeObserver.getHeight(),emptySelectionClipboard:r.isWebKit,pixelRatio:r.getPixelRatio(),zoomLevel:r.getZoomLevel(),accessibilitySupport:r.getAccessibilitySupport()}},t.prototype.readConfiguration=function(e){return h.INSTANCE.readConfiguration(e)},t}(s.CommonEditorConfiguration);t.Configuration=p}),define(d[443],h([1,0,27,112,66,35]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(e){function t(t){var n=e.call(this,t)||this;return n._visibleLines=new i.VisibleLinesCollection(n),n.domNode=n._visibleLines.domNode,n._dynamicOverlays=[],n._isFocused=!1,n.domNode.setClassName("view-overlays"),n}return f(t,e),t.prototype.shouldRender=function(){if(e.prototype.shouldRender.call(this))return!0;for(var t=0,n=this._dynamicOverlays.length;t'+i+"")},e.prototype.layoutLine=function(e,t){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(this._lineHeight))},e}();t.ViewOverlayLine=a;var u=function(e){function t(t){var n=e.call(this,t)||this;return n._contentWidth=n._context.configuration.editor.layoutInfo.contentWidth,n.domNode.setHeight(0),n}return f(t,e),t.prototype.onConfigurationChanged=function(t){return t.layoutInfo&&(this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth),e.prototype.onConfigurationChanged.call(this,t)},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollWidthChanged},t.prototype._viewOverlaysRender=function(t){e.prototype._viewOverlaysRender.call(this,t),this.domNode.setWidth(Math.max(t.scrollWidth,this._contentWidth))},t}(s);t.ContentViewOverlays=u;var l=function(e){function t(t){var n=e.call(this,t)||this;return n._contentLeft=n._context.configuration.editor.layoutInfo.contentLeft,n.domNode.setClassName("margin-view-overlays"),n.domNode.setWidth(1),o.Configuration.applyFontInfo(n.domNode,n._context.configuration.editor.fontInfo),n}return f(t,e),t.prototype.onConfigurationChanged=function(t){var n=!1;return t.fontInfo&&(o.Configuration.applyFontInfo(this.domNode,this._context.configuration.editor.fontInfo),n=!0),t.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,n=!0),e.prototype.onConfigurationChanged.call(this,t)||n},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollHeightChanged},t.prototype._viewOverlaysRender=function(t){e.prototype._viewOverlaysRender.call(this,t);var n=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(n),this.domNode.setWidth(this._contentLeft)},t}(s);t.MarginViewOverlays=l}),define(d[444],h([1,0,27,12,2,49,66,4]),function(e,t,n,i,o,r,s,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=function(){return function(e,t,n,i){this.top=e,this.left=t,this.width=n,this.textContent=i}}(),l=function(){function e(e,t){this._context=e,this._isSecondary=t,this._cursorStyle=this._context.configuration.editor.viewInfo.cursorStyle,this._lineHeight=this._context.configuration.editor.lineHeight,this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,this._isVisible=!0,this._domNode=n.createFastDomNode(document.createElement("div")),this._isSecondary?this._domNode.setClassName("cursor secondary"):this._domNode.setClassName("cursor"),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),s.Configuration.applyFontInfo(this._domNode,this._context.configuration.editor.fontInfo),this._domNode.setDisplay("none"),this.updatePosition(new i.Position(1,1)),this._isInEditableRange=!0,this._lastRenderedContent="",this._renderData=null}return e.prototype.getDomNode=function(){return this._domNode},e.prototype.getIsInEditableRange=function(){return this._isInEditableRange},e.prototype.getPosition=function(){return this._position},e.prototype.show=function(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)},e.prototype.hide=function(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)},e.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._cursorStyle=this._context.configuration.editor.viewInfo.cursorStyle),e.fontInfo&&(s.Configuration.applyFontInfo(this._domNode,this._context.configuration.editor.fontInfo),this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),!0},e.prototype.onCursorPositionChanged=function(e,t){return this.updatePosition(e),this._isInEditableRange=t,!0},e.prototype._prepareRender=function(e){if(this._cursorStyle===r.TextEditorCursorStyle.Line||this._cursorStyle===r.TextEditorCursorStyle.LineThin){var t=e.visibleRangeForPosition(this._position);if(!t)return null;var n;n=this._cursorStyle===r.TextEditorCursorStyle.Line?a.computeScreenAwareSize(2):a.computeScreenAwareSize(1);var i=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta;return new u(i,t.left,n,"")}var s=e.linesVisibleRangesForRange(new o.Range(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column+1),!1);if(!s||0===s.length||0===s[0].ranges.length)return null;var l=s[0].ranges[0],c=l.width<1?this._typicalHalfwidthCharacterWidth:l.width,d="";this._cursorStyle===r.TextEditorCursorStyle.Block&&(d=this._context.model.getLineContent(this._position.lineNumber).charAt(this._position.column-1));var h=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta;return new u(h,l.left,c,d)},e.prototype.prepareRender=function(e){this._renderData=this._prepareRender(e)},e.prototype.render=function(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),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._lineHeight),this._domNode.setHeight(this._lineHeight),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._lineHeight,width:2}):(this._domNode.setDisplay("none"),null)},e.prototype.updatePosition=function(e){this._position=e},e}();t.ViewCursor=l}),define(d[58],h([1,0,16]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ITelemetryService=n.createDecorator("telemetryService")}),define(d[13],h([1,0,10,24,31,105,44,58,12,56,85,64,19,42]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p){"use strict";function g(e){return e.get(p.ICodeEditorService).getFocusedCodeEditor()}function m(e){var t=e.get(d.IEditorService),n=t.getActiveEditor&&t.getActiveEditor();return p.getCodeEditor(n)}function v(e){return w.registerEditorCommand(e),e}Object.defineProperty(t,"__esModule",{value:!0});var y=function(){function e(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._description=e.description}return e.prototype.toCommandAndKeybindingRule=function(e){var t=this,n=this._kbOpts||{primary:0},i=n.kbExpr;this.precondition&&(i=i?h.ContextKeyExpr.and(i,this.precondition):this.precondition);var o="number"==typeof n.weight?n.weight:e;return{id:this.id,handler:function(e,n){return t.runCommand(e,n)},weight:o,when:i,primary:n.primary,secondary:n.secondary,win:n.win,linux:n.linux,mac:n.mac,description:this._description}},e}();t.Command=y;var C=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.bindToContribution=function(e){return function(t){function n(e){var n=t.call(this,e)||this;return n._callback=e.handler,n}return f(n,t),n.prototype.runEditorCommand=function(t,n,i){e(n)&&this._callback(e(n))},n}(t)},t.prototype.runCommand=function(e,t){var n=this,i=g(e);if(i||(i=m(e)),i)return i.invokeWithinContext(function(e){if(e.get(h.IContextKeyService).contextMatchesRules(n.precondition))return n.runEditorCommand(e,i,t)})},t}(y);t.EditorCommand=C;var b=function(e){function t(t){var n=e.call(this,t)||this;return n.label=t.label,n.alias=t.alias,n.menuOpts=t.menuOpts,n}return f(t,e),t.prototype.toMenuItem=function(){return this.menuOpts?{command:{id:this.id,title:this.label},when:this.precondition,group:this.menuOpts.group,order:this.menuOpts.order}:null},t.prototype.runEditorCommand=function(e,t,n){return this.reportTelemetry(e,t),this.run(e,t,n||{})},t.prototype.reportTelemetry=function(e,t){e.get(a.ITelemetryService).publicLog("editorActionInvoked",_({name:this.label,id:this.id},t.getTelemetryData()))},t}(C);t.EditorAction=b,t.editorAction=function(e){w.registerEditorAction(new e)},t.editorCommand=function(e){v(new e)},t.registerEditorCommand=v,t.commonEditorContribution=function(e){E.INSTANCE.registerEditorContribution(e)};var w;!function(e){function t(e,t){o.CommandsRegistry.registerCommand(e,function(e,n){return t(e,n||{})})}e.registerEditorAction=function(e){E.INSTANCE.registerEditorAction(e)},e.getEditorActions=function(){return E.INSTANCE.getEditorActions()},e.getEditorCommand=function(e){return E.INSTANCE.getEditorCommand(e)},e.getEditorContributions=function(){return E.INSTANCE.getEditorContributions()},e.commandWeight=function(e){return void 0===e&&(e=0),r.KeybindingsRegistry.WEIGHT.editorContrib(e)},e.registerEditorCommand=function(e){E.INSTANCE.registerEditorCommand(e)},e.registerLanguageCommand=t,e.registerDefaultLanguageCommand=function(e,o){t(e,function(e,t){var r=t.resource,s=t.position;if(!(r instanceof i.default))throw n.illegalArgument("resource");if(!u.Position.isIPosition(s))throw n.illegalArgument("position");var a=e.get(l.IModelService).getModel(r);if(!a)throw n.illegalArgument("Can not find open model for "+r);var c=u.Position.lift(s);return o(a,c,t)})}}(w=t.CommonEditorRegistry||(t.CommonEditorRegistry={}));var S={EditorCommonContributions:"editor.commonContributions"},E=function(){function e(){this.editorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}return e.prototype.registerEditorContribution=function(e){this.editorContributions.push(e)},e.prototype.registerEditorAction=function(e){var t=e.toMenuItem();t&&c.MenuRegistry.appendMenuItem(c.MenuId.EditorContext,t),r.KeybindingsRegistry.registerCommandAndKeybindingRule(e.toCommandAndKeybindingRule(r.KeybindingsRegistry.WEIGHT.editorContrib())),this.editorActions.push(e)},e.prototype.getEditorContributions=function(){return this.editorContributions.slice(0)},e.prototype.getEditorActions=function(){return this.editorActions.slice(0)},e.prototype.registerEditorCommand=function(e){r.KeybindingsRegistry.registerCommandAndKeybindingRule(e.toCommandAndKeybindingRule(r.KeybindingsRegistry.WEIGHT.editorContrib())),this.editorCommands[e.id]=e},e.prototype.getEditorCommand=function(e){return this.editorCommands[e]||null},e.INSTANCE=new e,e}();s.Registry.add(S.EditorCommonContributions,E.INSTANCE)}),define(d[447],h([1,0,10,11,3,7,84,19,321,39,12,2,22,20,330,488,406,55,21,13]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,v,_,y,C){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var b=0,w=function(e){function t(t,n,o,r){var u=e.call(this)||this;return u._onDidDispose=u._register(new i.Emitter),u.onDidDispose=u._onDidDispose.event,u._onDidChangeModelContent=u._register(new i.Emitter),u.onDidChangeModelContent=u._onDidChangeModelContent.event,u._onDidChangeModelLanguage=u._register(new i.Emitter),u.onDidChangeModelLanguage=u._onDidChangeModelLanguage.event,u._onDidChangeModelOptions=u._register(new i.Emitter),u.onDidChangeModelOptions=u._onDidChangeModelOptions.event,u._onDidChangeModelDecorations=u._register(new i.Emitter),u.onDidChangeModelDecorations=u._onDidChangeModelDecorations.event,u._onDidChangeConfiguration=u._register(new i.Emitter),u.onDidChangeConfiguration=u._onDidChangeConfiguration.event,u._onDidChangeModel=u._register(new i.Emitter),u.onDidChangeModel=u._onDidChangeModel.event,u._onDidChangeCursorPosition=u._register(new i.Emitter),u.onDidChangeCursorPosition=u._onDidChangeCursorPosition.event,u._onDidChangeCursorSelection=u._register(new i.Emitter),u.onDidChangeCursorSelection=u._onDidChangeCursorSelection.event,u._onDidLayoutChange=u._register(new i.Emitter),u.onDidLayoutChange=u._onDidLayoutChange.event,u._onDidFocusEditorText=u._register(new i.Emitter),u.onDidFocusEditorText=u._onDidFocusEditorText.event,u._onDidBlurEditorText=u._register(new i.Emitter),u.onDidBlurEditorText=u._onDidBlurEditorText.event,u._onDidFocusEditor=u._register(new i.Emitter),u.onDidFocusEditor=u._onDidFocusEditor.event,u._onDidBlurEditor=u._register(new i.Emitter),u.onDidBlurEditor=u._onDidBlurEditor.event,u._onWillType=u._register(new i.Emitter),u.onWillType=u._onWillType.event,u._onDidType=u._register(new i.Emitter),u.onDidType=u._onDidType.event,u._onDidPaste=u._register(new i.Emitter),u.onDidPaste=u._onDidPaste.event,u.domElement=t,u.id=++b,u._decorationTypeKeysToIds={},u._decorationTypeSubtypes={},n=n||{},u._configuration=u._register(u._createConfiguration(n)),u._register(u._configuration.onDidChange(function(e){u._onDidChangeConfiguration.fire(e),e.layoutInfo&&u._onDidLayoutChange.fire(u._configuration.editor.layoutInfo)})),u._contextKeyService=u._register(r.createScoped(u.domElement)),u._register(new S(u,u._contextKeyService)),u._register(new v.EditorModeContext(u,u._contextKeyService)),u._instantiationService=o.createChild(new s.ServiceCollection([a.IContextKeyService,u._contextKeyService])),u._attachModel(null),u._contributions={},u._actions={},u}return f(t,e),t.prototype.getId=function(){return this.getEditorType()+":"+this.id},t.prototype.getEditorType=function(){return p.EditorType.ICodeEditor},t.prototype.destroy=function(){this.dispose()},t.prototype.dispose=function(){for(var t=Object.keys(this._contributions),n=0,i=t.length;n1),this._hasNonEmptySelection.set(e.some(function(e){return!e.isEmpty()}))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())},t.prototype._updateFromFocus=function(){this._editorFocus.set(this._editor.hasWidgetFocus()),this._editorTextFocus.set(this._editor.isFocused())},t}(o.Disposable)}),define(d[134],h([1,0,12,2,20,39,54,173,13,311,21,105,42,19,29,64,119,170]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,v,_){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var y=o.Handler,C=d.KeybindingsRegistry.WEIGHT.editorCore(),b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype.runEditorCommand=function(e,t,n){this.runCoreEditorCommand(t._getCursors(),n||{})},t}(u.EditorCommand);t.CoreEditorCommand=b;var w;!function(e){e.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\t\t\t\t\t* 'to': A mandatory direction value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'up', 'down'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'page', 'halfPage'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n\t\t\t\t",constraint:function(e){if(!g.isObject(e))return!1;var t=e;return!(!g.isString(t.to)||!g.isUndefined(t.by)&&!g.isString(t.by)||!g.isUndefined(t.value)&&!g.isNumber(t.value)||!g.isUndefined(t.revealCursor)&&!g.isBoolean(t.revealCursor))}}]},e.RawDirection={Up:"up",Down:"down"},e.RawUnit={Line:"line",WrappedLine:"wrappedLine",Page:"page",HalfPage:"halfPage"},e.parse=function(t){var n;switch(t.to){case e.RawDirection.Up:n=1;break;case e.RawDirection.Down:n=2;break;default:return null}var i;switch(t.by){case e.RawUnit.Line:i=1;break;case e.RawUnit.WrappedLine:i=2;break;case e.RawUnit.Page:i=3;break;case e.RawUnit.HalfPage:i=4;break;default:i=2}return{direction:n,unit:i,value:Math.floor(t.value||1),revealCursor:!!t.revealCursor,select:!!t.select}};!function(e){e[e.Up=1]="Up",e[e.Down=2]="Down"}(e.Direction||(e.Direction={}));!function(e){e[e.Line=1]="Line",e[e.WrappedLine=2]="WrappedLine",e[e.Page=3]="Page",e[e.HalfPage=4]="HalfPage"}(e.Unit||(e.Unit={}))}(w=t.EditorScroll_||(t.EditorScroll_={}));var S;!function(e){e.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\t\t\t\t\t* 'lineNumber': A mandatory line number value.\n\t\t\t\t\t* 'at': Logical position at which line has to be revealed .\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'top', 'center', 'bottom'\n\t\t\t\t\t\t```\n\t\t\t\t",constraint:function(e){if(!g.isObject(e))return!1;var t=e;return!(!g.isNumber(t.lineNumber)||!g.isUndefined(t.at)&&!g.isString(t.at))}}]},e.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"}}(S=t.RevealLine_||(t.RevealLine_={}));var E;!function(e){var t=function(e){function t(t){var n=e.call(this,t)||this;return n._inSelectionMode=t.inSelectionMode,n}return f(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,s.CursorChangeReason.Explicit,[a.CursorMoveCommands.moveTo(e.context,e.getPrimaryCursor(),this._inSelectionMode,t.position,t.viewPosition)]),e.reveal(!0,0)},t}(b);e.MoveTo=u.registerEditorCommand(new t({id:"_moveTo",inSelectionMode:!1,precondition:null})),e.MoveToSelect=u.registerEditorCommand(new t({id:"_moveToSelect",inSelectionMode:!0,precondition:null}));var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement();var n=this._getColumnSelectResult(e.context,e.getPrimaryCursor(),e.getColumnSelectData(),t);e.setStates(t.source,s.CursorChangeReason.Explicit,n.viewStates.map(function(e){return r.CursorState.fromViewState(e)})),e.setColumnSelectData({toViewLineNumber:n.toLineNumber,toViewVisualColumn:n.toVisualColumn}),e.reveal(!0,n.reversed?1:2)},t}(b);e.ColumnSelect=u.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"columnSelect",precondition:null})||this}return f(t,e),t.prototype._getColumnSelectResult=function(e,t,i,o){var r,s=e.model.validatePosition(o.position);return r=o.viewPosition?e.validateViewPosition(new n.Position(o.viewPosition.lineNumber,o.viewPosition.column),s):e.convertModelPositionToViewPosition(s),l.ColumnSelection.columnSelect(e.config,e.viewModel,t.viewState.selection,r.lineNumber,o.mouseColumn-1)},t}(o))),e.CursorColumnSelectLeft=u.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"cursorColumnSelectLeft",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:3599,linux:{primary:0}}})||this}return f(t,e),t.prototype._getColumnSelectResult=function(e,t,n,i){return l.ColumnSelection.columnSelectLeft(e.config,e.viewModel,t.viewState,n.toViewLineNumber,n.toViewVisualColumn)},t}(o))),e.CursorColumnSelectRight=u.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"cursorColumnSelectRight",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:3601,linux:{primary:0}}})||this}return f(t,e),t.prototype._getColumnSelectResult=function(e,t,n,i){return l.ColumnSelection.columnSelectRight(e.config,e.viewModel,t.viewState,n.toViewLineNumber,n.toViewVisualColumn)},t}(o)));var d=function(e){function t(t){var n=e.call(this,t)||this;return n._isPaged=t.isPaged,n}return f(t,e),t.prototype._getColumnSelectResult=function(e,t,n,i){return l.ColumnSelection.columnSelectUp(e.config,e.viewModel,t.viewState,this._isPaged,n.toViewLineNumber,n.toViewVisualColumn)},t}(o);e.CursorColumnSelectUp=u.registerEditorCommand(new d({isPaged:!1,id:"cursorColumnSelectUp",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=u.registerEditorCommand(new d({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:3595,linux:{primary:0}}}));var h=function(e){function t(t){var n=e.call(this,t)||this;return n._isPaged=t.isPaged,n}return f(t,e),t.prototype._getColumnSelectResult=function(e,t,n,i){return l.ColumnSelection.columnSelectDown(e.config,e.viewModel,t.viewState,this._isPaged,n.toViewLineNumber,n.toViewVisualColumn)},t}(o);e.CursorColumnSelectDown=u.registerEditorCommand(new h({isPaged:!1,id:"cursorColumnSelectDown",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=u.registerEditorCommand(new h({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:3596,linux:{primary:0}}}));var p=function(e){function t(){return e.call(this,{id:"cursorMove",precondition:null,description:a.CursorMove.description})||this}return f(t,e),t.prototype.runCoreEditorCommand=function(e,t){var n=a.CursorMove.parse(t);n&&this._runCursorMove(e,t.source,n)},t.prototype._runCursorMove=function(e,t,n){e.context.model.pushStackElement(),e.setStates(t,s.CursorChangeReason.Explicit,r.CursorState.ensureInEditableRange(e.context,a.CursorMoveCommands.move(e.context,e.getAll(),n))),e.reveal(!0,0)},t}(b);e.CursorMoveImpl=p,e.CursorMove=u.registerEditorCommand(new p);var g;!function(e){e[e.PAGE_SIZE_MARKER=-1]="PAGE_SIZE_MARKER"}(g||(g={}));var m=function(t){function n(e){var n=t.call(this,e)||this;return n._staticArgs=e.args,n}return f(n,t),n.prototype.runCoreEditorCommand=function(t,n){var i=this._staticArgs;-1===this._staticArgs.value&&(i={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.context.config.pageSize}),e.CursorMove._runCursorMove(t,n.source,i)},n}(b);e.CursorLeft=u.registerEditorCommand(new m({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=u.registerEditorCommand(new m({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:1039}})),e.CursorRight=u.registerEditorCommand(new m({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=u.registerEditorCommand(new m({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:1041}})),e.CursorUp=u.registerEditorCommand(new m({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=u.registerEditorCommand(new m({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=u.registerEditorCommand(new m({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:11}})),e.CursorPageUpSelect=u.registerEditorCommand(new m({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:1035}})),e.CursorDown=u.registerEditorCommand(new m({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=u.registerEditorCommand(new m({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=u.registerEditorCommand(new m({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:12}})),e.CursorPageDownSelect=u.registerEditorCommand(new m({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:null,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:1036}})),e.CreateCursor=u.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"createCursor",precondition:null})||this}return f(t,e),t.prototype.runCoreEditorCommand=function(e,t){var n=e.context;if(!n.config.readOnly&&!n.model.hasEditableRange()){var i;i=t.wholeLine?a.CursorMoveCommands.line(n,e.getPrimaryCursor(),!1,t.position,t.viewPosition):a.CursorMoveCommands.moveTo(n,e.getPrimaryCursor(),!1,t.position,t.viewPosition);var o=e.getAll();if(o.length>1)for(var r=i.modelState?i.modelState.position:null,u=i.viewState?i.viewState.position:null,l=0,c=o.length;lr&&(o=r);var s=new i.Range(o,1,o,e.context.model.getLineMaxColumn(o)),a=0;if(n.at)switch(n.at){case S.RawAtArgument.Top:a=3;break;case S.RawAtArgument.Center:a=1;break;case S.RawAtArgument.Bottom:a=4}var u=e.context.convertModelRangeToViewRange(s);e.revealRange(!1,u,a)},t}(b))),e.SelectAll=u.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"selectAll",precondition:null})||this}return f(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,s.CursorChangeReason.Explicit,[a.CursorMoveCommands.selectAll(e.context,e.getPrimaryCursor())])},t}(b)))}(E=t.CoreNavigationCommands||(t.CoreNavigationCommands={}));!function(e){e.LineBreakInsert=u.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"lineBreakInsert",precondition:c.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:null,mac:{primary:301}}})||this}return f(t,e),t.prototype.runEditorCommand=function(e,t,n){t.pushUndoStop(),t.executeCommands(this.id,v.TypeOperations.lineBreakInsert(t._getCursorConfiguration(),t.getModel(),t.getSelections()))},t}(u.EditorCommand))),e.Outdent=u.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"outdent",precondition:c.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:p.ContextKeyExpr.and(c.EditorContextKeys.textFocus,c.EditorContextKeys.tabDoesNotMoveFocus),primary:1026}})||this}return f(t,e),t.prototype.runEditorCommand=function(e,t,n){t.pushUndoStop(),t.executeCommands(this.id,v.TypeOperations.outdent(t._getCursorConfiguration(),t.getModel(),t.getSelections())),t.pushUndoStop()},t}(u.EditorCommand))),e.Tab=u.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"tab",precondition:c.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:p.ContextKeyExpr.and(c.EditorContextKeys.textFocus,c.EditorContextKeys.tabDoesNotMoveFocus),primary:2}})||this}return f(t,e),t.prototype.runEditorCommand=function(e,t,n){t.pushUndoStop(),t.executeCommands(this.id,v.TypeOperations.tab(t._getCursorConfiguration(),t.getModel(),t.getSelections())),t.pushUndoStop()},t}(u.EditorCommand))),e.DeleteLeft=u.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"deleteLeft",precondition:c.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})||this}return f(t,e),t.prototype.runEditorCommand=function(e,t,n){var i=_.DeleteOperations.deleteLeft(t._getCursorConfiguration(),t.getModel(),t.getSelections()),o=i[0],r=i[1];o&&t.pushUndoStop(),t.executeCommands(this.id,r)},t}(u.EditorCommand))),e.DeleteRight=u.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"deleteRight",precondition:c.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})||this}return f(t,e),t.prototype.runEditorCommand=function(e,t,n){var i=_.DeleteOperations.deleteRight(t._getCursorConfiguration(),t.getModel(),t.getSelections()),o=i[0],r=i[1];o&&t.pushUndoStop(),t.executeCommands(this.id,r)},t}(u.EditorCommand)))}(t.CoreEditingCommands||(t.CoreEditingCommands={}));var L;!function(e){function t(e){return e.get(h.ICodeEditorService).getFocusedCodeEditor()}function n(e){var t=e.get(m.IEditorService),n=t.getActiveEditor&&t.getActiveEditor();return h.getCodeEditor(n)}function i(e){d.KeybindingsRegistry.registerCommandAndKeybindingRule(e.toCommandAndKeybindingRule(C))}function o(e){i(new s("default:"+e,e)),i(new s(e,e))}var r=function(e){function i(t){var n=e.call(this,t)||this;return n._editorHandler=t.editorHandler,n._inputHandler=t.inputHandler,n}return f(i,e),i.prototype.runCommand=function(e,i){var o=t(e);if(o&&o.isFocused())return this._runEditorHandler(o,i);var r=document.activeElement;if(!(r&&["input","textarea"].indexOf(r.tagName.toLowerCase())>=0)){var s=n(e);return s?(s.focus(),this._runEditorHandler(s,i)):void 0}document.execCommand(this._inputHandler)},i.prototype._runEditorHandler=function(e,t){var n=this._editorHandler;"string"==typeof n?e.trigger("keyboard",n,t):((t=t||{}).source="keyboard",n.runEditorCommand(null,e,t))},i}(u.Command);i(new r({editorHandler:E.SelectAll,inputHandler:"selectAll",id:"editor.action.selectAll",precondition:null,kbOpts:{weight:C,kbExpr:null,primary:2079}})),i(new r({editorHandler:y.Undo,inputHandler:"undo",id:y.Undo,precondition:c.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:2104}})),i(new r({editorHandler:y.Redo,inputHandler:"redo",id:y.Redo,precondition:c.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:c.EditorContextKeys.textFocus,primary:2103,secondary:[3128],mac:{primary:3128}}}));var s=function(e){function n(t,n){var i=e.call(this,{id:t,precondition:null})||this;return i._handlerId=n,i}return f(n,e),n.prototype.runCommand=function(e,n){var i=t(e);i&&i.trigger("keyboard",this._handlerId,n)},n}(u.Command);o(y.Type),o(y.ReplacePreviousChar),o(y.CompositionStart),o(y.CompositionEnd),o(y.Paste),o(y.Cut)}(L||(L={}))}),define(d[449],h([1,0,12,20,134]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,i,o){this.configuration=e,this.viewModel=t,this._execCoreEditorCommandFunc=n,this.outgoingEvents=i,this.commandService=o}return e.prototype._execMouseCommand=function(e,t){t.source="mouse",this._execCoreEditorCommandFunc(e,t)},e.prototype.paste=function(e,t,n){this.commandService.executeCommand(i.Handler.Paste,{text:t,pasteOnNewLine:n})},e.prototype.type=function(e,t){this.commandService.executeCommand(i.Handler.Type,{text:t})},e.prototype.replacePreviousChar=function(e,t,n){this.commandService.executeCommand(i.Handler.ReplacePreviousChar,{text:t,replaceCharCnt:n})},e.prototype.compositionStart=function(e){this.commandService.executeCommand(i.Handler.CompositionStart,{})},e.prototype.compositionEnd=function(e){this.commandService.executeCommand(i.Handler.CompositionEnd,{})},e.prototype.cut=function(e){this.commandService.executeCommand(i.Handler.Cut,{})},e.prototype._validateViewColumn=function(e){var t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this.selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this.lastCursorLineSelectDrag(e.position):this.lastCursorLineSelect(e.position):e.inSelectionMode?this.lineSelectDrag(e.position):this.lineSelect(e.position):2===e.mouseDownCount?this._hasMulticursorModifier(e)?this.lastCursorWordSelect(e.position):e.inSelectionMode?this.wordSelectDrag(e.position):this.wordSelect(e.position):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this.columnSelect(e.position,e.mouseColumn):e.inSelectionMode?this.lastCursorMoveToSelect(e.position):this.createCursor(e.position,!1)):e.inSelectionMode?this.moveToSelect(e.position):this.moveTo(e.position)},e.prototype._usualArgs=function(e){return e=this._validateViewColumn(e),{position:this.convertViewToModelPosition(e),viewPosition:e}},e.prototype.moveTo=function(e){this._execMouseCommand(o.CoreNavigationCommands.MoveTo,this._usualArgs(e))},e.prototype.moveToSelect=function(e){this._execMouseCommand(o.CoreNavigationCommands.MoveToSelect,this._usualArgs(e))},e.prototype.columnSelect=function(e,t){e=this._validateViewColumn(e),this._execMouseCommand(o.CoreNavigationCommands.ColumnSelect,{position:this.convertViewToModelPosition(e),viewPosition:e,mouseColumn:t})},e.prototype.createCursor=function(e,t){e=this._validateViewColumn(e),this._execMouseCommand(o.CoreNavigationCommands.CreateCursor,{position:this.convertViewToModelPosition(e),viewPosition:e,wholeLine:t})},e.prototype.lastCursorMoveToSelect=function(e){this._execMouseCommand(o.CoreNavigationCommands.LastCursorMoveToSelect,this._usualArgs(e))},e.prototype.wordSelect=function(e){this._execMouseCommand(o.CoreNavigationCommands.WordSelect,this._usualArgs(e))},e.prototype.wordSelectDrag=function(e){this._execMouseCommand(o.CoreNavigationCommands.WordSelectDrag,this._usualArgs(e))},e.prototype.lastCursorWordSelect=function(e){this._execMouseCommand(o.CoreNavigationCommands.LastCursorWordSelect,this._usualArgs(e))},e.prototype.lineSelect=function(e){this._execMouseCommand(o.CoreNavigationCommands.LineSelect,this._usualArgs(e))},e.prototype.lineSelectDrag=function(e){this._execMouseCommand(o.CoreNavigationCommands.LineSelectDrag,this._usualArgs(e))},e.prototype.lastCursorLineSelect=function(e){this._execMouseCommand(o.CoreNavigationCommands.LastCursorLineSelect,this._usualArgs(e))},e.prototype.lastCursorLineSelectDrag=function(e){this._execMouseCommand(o.CoreNavigationCommands.LastCursorLineSelectDrag,this._usualArgs(e))},e.prototype.selectAll=function(){this._execMouseCommand(o.CoreNavigationCommands.SelectAll,{})},e.prototype.convertViewToModelPosition=function(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)},e.prototype.emitKeyDown=function(e){this.outgoingEvents.emitKeyDown(e)},e.prototype.emitKeyUp=function(e){this.outgoingEvents.emitKeyUp(e)},e.prototype.emitContextMenu=function(e){this.outgoingEvents.emitContextMenu(e)},e.prototype.emitMouseMove=function(e){this.outgoingEvents.emitMouseMove(e)},e.prototype.emitMouseLeave=function(e){this.outgoingEvents.emitMouseLeave(e)},e.prototype.emitMouseUp=function(e){this.outgoingEvents.emitMouseUp(e)},e.prototype.emitMouseDown=function(e){this.outgoingEvents.emitMouseDown(e)},e.prototype.emitMouseDrag=function(e){this.outgoingEvents.emitMouseDrag(e)},e.prototype.emitMouseDrop=function(e){this.outgoingEvents.emitMouseDrop(e)},e}();t.ViewController=r}),define(d[450],h([1,0,342,21,13,241]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(e){function t(t,n){var i=e.call(this,n)||this;return i.left=t,i}return f(t,e),t.prototype.run=function(e,t){for(var n=[],i=t.getSelections(),o=0;o0&&(t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop())},t=v([r.editorAction],t)}(r.EditorAction)}),define(d[452],h([1,0,344,28,15,42,13,154,21,314]),function(e,t,n,i,o,r,s,a,u){"use strict";function l(e){return e?s.editorAction:function(){}}Object.defineProperty(t,"__esModule",{value:!0});var c="9_cutcopypaste",d=o.isNative||document.queryCommandSupported("cut"),h=o.isNative||document.queryCommandSupported("copy"),p=h&&!i.isEdgeOrIE,g=o.isNative||!i.isChrome&&document.queryCommandSupported("paste"),m=function(e){function t(t,n){var i=e.call(this,n)||this;return i.browserCommand=t,i}return f(t,e),t.prototype.runCommand=function(e,t){var n=e.get(r.ICodeEditorService).getFocusedCodeEditor();n&&n.isFocused()?n.trigger("keyboard",this.id,t):document.execCommand(this.browserCommand)},t.prototype.run=function(e,t){t.focus(),document.execCommand(this.browserCommand)},t}(s.EditorAction);(function(e){function t(){var t={kbExpr:u.EditorContextKeys.textFocus,primary:2102,win:{primary:2102,secondary:[1044]}};return o.isNative||(t=null),e.call(this,"cut",{id:"editor.action.clipboardCutAction",label:n.localize(0,null),alias:"Cut",precondition:u.EditorContextKeys.writable,kbOpts:t,menuOpts:{group:c,order:1}})||this}f(t,e),t.prototype.run=function(t,n){!n.getConfiguration().emptySelectionClipboard&&n.getSelection().isEmpty()||e.prototype.run.call(this,t,n)},t=v([l(d)],t)})(m),function(e){function t(){var t={kbExpr:u.EditorContextKeys.textFocus,primary:2081,win:{primary:2081,secondary:[2067]}};return o.isNative||(t=null),e.call(this,"copy",{id:"editor.action.clipboardCopyAction",label:n.localize(1,null),alias:"Copy",precondition:null,kbOpts:t,menuOpts:{group:c,order:2}})||this}f(t,e),t.prototype.run=function(t,n){!n.getConfiguration().emptySelectionClipboard&&n.getSelection().isEmpty()||e.prototype.run.call(this,t,n)},t=v([l(h)],t)}(m),function(e){function t(){var t={kbExpr:u.EditorContextKeys.textFocus,primary:2100,win:{primary:2100,secondary:[1043]}};return o.isNative||(t=null),e.call(this,"paste",{id:"editor.action.clipboardPasteAction",label:n.localize(2,null),alias:"Paste",precondition:u.EditorContextKeys.writable,kbOpts:t,menuOpts:{group:c,order:3}})||this}f(t,e),t=v([l(g)],t)}(m),function(e){function t(){return e.call(this,"copy",{id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:n.localize(3,null),alias:"Copy With Syntax Highlighting",precondition:null,kbOpts:{kbExpr:u.EditorContextKeys.textFocus,primary:null}})||this}f(t,e),t.prototype.run=function(t,n){!n.getConfiguration().emptySelectionClipboard&&n.getSelection().isEmpty()||(a.CopyOptions.forceCopyWithSyntaxHighlighting=!0,e.prototype.run.call(this,t,n),a.CopyOptions.forceCopyWithSyntaxHighlighting=!1)},t=v([l(p)],t)}(m)}),define(d[453],h([1,0,10,33,24,7,13,17,56,18]),function(e,t,n,i,o,r,s,a,u,l){"use strict";function c(e){var t=[],o=a.CodeLensProviderRegistry.ordered(e),s=o.map(function(i){return l.asWinJsPromise(function(t){return i.provideCodeLenses(e,t)}).then(function(e){if(Array.isArray(e))for(var n=0,o=e;nt.symbol.range.startLineNumber?1:o.indexOf(e.provider)o.indexOf(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0})})}Object.defineProperty(t,"__esModule",{value:!0}),t.getCodeLensData=c,s.CommonEditorRegistry.registerLanguageCommand("_executeCodeLensProvider",function(e,t){var i=t.resource;if(!(i instanceof o.default))throw n.illegalArgument();var r=e.get(u.IModelService).getModel(i);if(!r)throw n.illegalArgument();return c(r).then(function(e){return e.map(function(e){return e.symbol})})})}),define(d[454],h([1,0,345,40,21,13,189,250]),function(e,t,n,i,o,r,s,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=function(e){function t(t,n){var i=e.call(this,n)||this;return i._type=t,i}return f(t,e),t.prototype.run=function(e,t){var n=t.getModel();if(n){for(var i=[],o=t.getSelections(),r=n.getOptions(),s=0;s0&&s._contextViewService.hideContextView()})),this._toDispose.push(this._editor.onKeyDown(function(e){58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),s.showContextMenu())}))}return t=e,e.get=function(e){return e.getContribution(t.ID)},e.prototype._onContextMenu=function(e){if(!this._editor.getConfiguration().contribInfo.contextmenu)return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));if(e.target.type!==p.MouseTargetType.OVERLAY_WIDGET&&(e.event.preventDefault(),e.target.type===p.MouseTargetType.CONTENT_TEXT||e.target.type===p.MouseTargetType.CONTENT_EMPTY||e.target.type===p.MouseTargetType.TEXTAREA)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);var t;e.target.type!==p.MouseTargetType.TEXTAREA&&(t={x:e.event.posx,y:e.event.posy+1}),this.showContextMenu(t)}},e.prototype.showContextMenu=function(e){if(this._editor.getConfiguration().contribInfo.contextmenu)if(this._contextMenuService){var t=this._getMenuActions();t.length>0&&this._doShowContextMenu(t,e)}else this._editor.focus()},e.prototype._getMenuActions=function(){var e=[],t=this._menuService.createMenu(c.MenuId.EditorContext,this._contextKeyService),n=t.getActions({arg:this._editor.getModel().uri});t.dispose();for(var i=0,o=n;i0&&this._contextViewService.hideContextView(),this._toDispose=i.dispose(this._toDispose)},e.ID="editor.contrib.contextmenu",e=t=v([g.editorContribution,y(1,a.IContextMenuService),y(2,a.IContextViewService),y(3,l.IContextKeyService),y(4,u.IKeybindingService),y(5,c.IMenuService)],e);var t}();t.ContextMenuController=m;!function(e){function t(){return e.call(this,{id:"editor.action.showContextMenu",label:n.localize(0,null),alias:"Show Editor Context Menu",precondition:null,kbOpts:{kbExpr:d.EditorContextKeys.textFocus,primary:1092}})||this}f(t,e),t.prototype.run=function(e,t){m.get(t).showContextMenu()},t=v([h.editorAction],t)}(h.EditorAction)}),define(d[456],h([1,0,13,3,21,30]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e){this.selections=e}return e.prototype.equals=function(e){var t=this.selections.length;if(t!==e.selections.length)return!1;for(var n=0;n50&&(n._undoStack=n._undoStack.splice(0,n._undoStack.length-50))),n._prevState=n._readState()})),n}return f(t,e),n=t,t.get=function(e){return e.getContribution(n.ID)},t.prototype._readState=function(){return this._editor.getModel()?new s(this._editor.getSelections()):null},t.prototype.getId=function(){return n.ID},t.prototype.cursorUndo=function(){for(var e=new s(this._editor.getSelections());this._undoStack.length>0;){var t=this._undoStack.pop();if(!t.equals(e))return this._isCursorUndo=!0,this._editor.setSelections(t.selections),void(this._isCursorUndo=!1)}},t.ID="editor.contrib.cursorUndoController",t=n=v([r.editorContribution],t);var n}(i.Disposable);t.CursorUndoController=a;var u=function(e){function t(){return e.call(this,{id:"cursorUndo",precondition:null,kbOpts:{kbExpr:o.EditorContextKeys.textFocus,primary:2099}})||this}return f(t,e),t.prototype.runEditorCommand=function(e,t,n){a.get(t).cursorUndo()},t=v([n.editorCommand],t)}(n.EditorCommand);t.CursorUndo=u}),define(d[176],h([1,0,348,434,40,3,19,2,22,9,20,13,121,253,252,17,18,54,21,76,34]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,_,C,b,w,S){"use strict";function E(e,t){var n=L.get(e);if(!n)return null;var i,o,r=n.getState(),s=r.wholeWord,a=r.matchCase;if(!e.isFocused()&&r.isRevealed&&r.searchString.length>0)i=r.searchString;else{var l=e.getSelection();if(l.startLineNumber!==l.endLineNumber&&!t.allowMultiline)return null;if(l.isEmpty()){var c=e.getModel().getWordAtPosition(l.getStartPosition());if(!c)return null;i=c.word,o=new u.Selection(l.startLineNumber,c.startColumn,l.startLineNumber,c.endColumn)}else i=e.getModel().getValueInRange(l).replace(/\r\n/g,"\n");t.changeFindSearchString&&n.setSearchString(i)}return t.highlightFindOptions&&n.highlightFindOptions(),{searchText:i,matchCase:a,wholeWord:s,currentMatch:o}}Object.defineProperty(t,"__esModule",{value:!0});!function(e){e[e.NoFocusChange=0]="NoFocusChange",e[e.FocusFindInput=1]="FocusFindInput",e[e.FocusReplaceInput=2]="FocusReplaceInput"}(t.FindStartFocusAction||(t.FindStartFocusAction={})),t.CONTEXT_FIND_WIDGET_VISIBLE=new s.RawContextKey("findWidgetVisible",!1),t.CONTEXT_FIND_WIDGET_NOT_VISIBLE=t.CONTEXT_FIND_WIDGET_VISIBLE.toNegated(),t.CONTEXT_FIND_INPUT_FOCUSSED=new s.RawContextKey("findInputFocussed",!1);var L=function(e){function n(n,o,r){var s=e.call(this)||this;return s._editor=n,s._findWidgetVisible=t.CONTEXT_FIND_WIDGET_VISIBLE.bindTo(o),s._storageService=r,s._updateHistoryDelayer=new _.Delayer(500),s._currentHistoryNavigator=new i.HistoryNavigator,s._state=s._register(new p.FindReplaceState),s.loadQueryState(),s._register(s._state.addChangeListener(function(e){return s._onStateChanged(e)})),s._model=null,s._register(s._editor.onDidChangeModel(function(){var e=s._editor.getModel()&&s._state.isRevealed;s.disposeModel(),s._state.change({searchScope:null,matchCase:s._storageService.getBoolean("editor.matchCase",w.StorageScope.WORKSPACE,!1),wholeWord:s._storageService.getBoolean("editor.wholeWord",w.StorageScope.WORKSPACE,!1),isRegex:s._storageService.getBoolean("editor.isRegex",w.StorageScope.WORKSPACE,!1)},!1),e&&s._start({forceRevealReplace:!1,seedSearchStringFromSelection:!1,shouldFocus:0,shouldAnimate:!1})})),s}return f(n,e),n.get=function(e){return e.getContribution(n.ID)},n.prototype.dispose=function(){this.disposeModel(),e.prototype.dispose.call(this)},n.prototype.disposeModel=function(){this._model&&(this._model.dispose(),this._model=null)},n.prototype.getId=function(){return n.ID},n.prototype._onStateChanged=function(e){this.saveQueryState(e),e.updateHistory&&e.searchString&&this._delayedUpdateHistory(),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel()))},n.prototype.saveQueryState=function(e){e.isRegex&&void 0!==this._state.isRegex&&this._storageService.store("editor.isRegex",this._state.isRegex,w.StorageScope.WORKSPACE),e.wholeWord&&void 0!==this._state.wholeWord&&this._storageService.store("editor.wholeWord",this._state.wholeWord,w.StorageScope.WORKSPACE),e.matchCase&&void 0!==this._state.matchCase&&this._storageService.store("editor.matchCase",this._state.matchCase,w.StorageScope.WORKSPACE)},n.prototype.loadQueryState=function(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",w.StorageScope.WORKSPACE,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",w.StorageScope.WORKSPACE,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",w.StorageScope.WORKSPACE,this._state.isRegex)},!1)},n.prototype._delayedUpdateHistory=function(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this))},n.prototype._updateHistory=function(){this._state.searchString&&this._currentHistoryNavigator.add(this._state.searchString)},n.prototype.getState=function(){return this._state},n.prototype.getHistory=function(){return this._currentHistoryNavigator},n.prototype.closeFindWidget=function(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()},n.prototype.toggleCaseSensitive=function(){this._state.change({matchCase:!this._state.matchCase},!1)},n.prototype.toggleWholeWords=function(){this._state.change({wholeWord:!this._state.wholeWord},!1)},n.prototype.toggleRegex=function(){this._state.change({isRegex:!this._state.isRegex},!1)},n.prototype.toggleSearchScope=function(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else{var e=this._editor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,1)),e.isEmpty()||this._state.change({searchScope:e},!0)}},n.prototype.setSearchString=function(e){this._state.change({searchString:e},!1)},n.prototype.highlightFindOptions=function(){},n.prototype._start=function(e){if(this.disposeModel(),this._editor.getModel()){var t={isRevealed:!0};if(e.seedSearchStringFromSelection&&this._editor.getConfiguration().contribInfo.find.seedSearchStringFromSelection){var n=g.getSelectionSearchString(this._editor);n&&(this._state.isRegex?t.searchString=l.escapeRegExpCharacters(n):t.searchString=n)}e.forceRevealReplace?t.isReplaceRevealed=!0:this._findWidgetVisible.get()||(t.isReplaceRevealed=!1),this._state.change(t,!1),this._model||(this._model=new h.FindModelBoundToEditorModel(this._editor,this._state))}},n.prototype.start=function(e){this._start(e)},n.prototype.moveToNextMatch=function(){return!!this._model&&(this._model.moveToNextMatch(),!0)},n.prototype.moveToPrevMatch=function(){return!!this._model&&(this._model.moveToPrevMatch(),!0)},n.prototype.replace=function(){return!!this._model&&(this._model.replace(),!0)},n.prototype.replaceAll=function(){return!!this._model&&(this._model.replaceAll(),!0)},n.prototype.selectAllMatches=function(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)},n.prototype.showPreviousFindTerm=function(){var e=this._currentHistoryNavigator.previous();return e&&this._state.change({searchString:e},!1,!1),!0},n.prototype.showNextFindTerm=function(){var e=this._currentHistoryNavigator.next();return e&&this._state.change({searchString:e},!1,!1),!0},n.ID="editor.contrib.findController",n=v([y(1,s.IContextKeyService),y(2,w.IStorageService)],n)}(r.Disposable);t.CommonFindController=L;var x=function(e){function t(){return e.call(this,{id:h.FIND_IDS.StartFindAction,label:n.localize(0,null),alias:"Find",precondition:null,kbOpts:{kbExpr:null,primary:2084,mac:{primary:2084,secondary:[2083]}}})||this}return f(t,e),t.prototype.run=function(e,t){var n=L.get(t);n&&n.start({forceRevealReplace:!1,seedSearchStringFromSelection:!0,shouldFocus:1,shouldAnimate:!0})},t=v([d.editorAction],t)}(d.EditorAction);t.StartFindAction=x;var N=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype.run=function(e,t){var n=L.get(t);n&&!this._run(n)&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===n.getState().searchString.length,shouldFocus:0,shouldAnimate:!0}),this._run(n))},t}(d.EditorAction);t.MatchFindAction=N;var M=function(e){function t(){return e.call(this,{id:h.FIND_IDS.NextMatchFindAction,label:n.localize(1,null),alias:"Find Next",precondition:null,kbOpts:{kbExpr:b.EditorContextKeys.focus,primary:61,mac:{primary:2085,secondary:[61]}}})||this}return f(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t=v([d.editorAction],t)}(N);t.NextMatchFindAction=M;var T=function(e){function t(){return e.call(this,{id:h.FIND_IDS.PreviousMatchFindAction,label:n.localize(2,null),alias:"Find Previous",precondition:null,kbOpts:{kbExpr:b.EditorContextKeys.focus,primary:1085,mac:{primary:3109,secondary:[1085]}}})||this}return f(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t=v([d.editorAction],t)}(N);t.PreviousMatchFindAction=T;var k=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype.run=function(e,t){var n=L.get(t);if(n){var i=g.getSelectionSearchString(t);i&&n.setSearchString(i),this._run(n)||(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:!1,shouldFocus:0,shouldAnimate:!0}),this._run(n))}},t}(d.EditorAction);t.SelectionMatchFindAction=k;var I=function(e){function t(){return e.call(this,{id:h.FIND_IDS.NextSelectionMatchFindAction,label:n.localize(3,null),alias:"Find Next Selection",precondition:null,kbOpts:{kbExpr:b.EditorContextKeys.focus,primary:2109}})||this}return f(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t=v([d.editorAction],t)}(k);t.NextSelectionMatchFindAction=I;var D=function(e){function t(){return e.call(this,{id:h.FIND_IDS.PreviousSelectionMatchFindAction,label:n.localize(4,null),alias:"Find Previous Selection",precondition:null,kbOpts:{kbExpr:b.EditorContextKeys.focus,primary:3133}})||this}return f(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t=v([d.editorAction],t)}(k);t.PreviousSelectionMatchFindAction=D;var O=function(e){function t(){return e.call(this,{id:h.FIND_IDS.StartFindReplaceAction,label:n.localize(5,null),alias:"Replace",precondition:null,kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596}}})||this}return f(t,e),t.prototype.run=function(e,t){if(!t.getConfiguration().readOnly){var n=L.get(t),i=t.getSelection(),o=!i.isEmpty()&&i.startLineNumber===i.endLineNumber,r=n.getState().searchString||o?2:1;n&&n.start({forceRevealReplace:!0,seedSearchStringFromSelection:o,shouldFocus:r,shouldAnimate:!0})}},t=v([d.editorAction],t)}(d.EditorAction);t.StartFindReplaceAction=O;var R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype._getNextMatch=function(e){var t=E(e,{changeFindSearchString:!0,allowMultiline:!0,highlightFindOptions:!0});if(!t)return null;if(t.currentMatch)return t.currentMatch;var n=e.getSelections(),i=n[n.length-1],o=e.getModel().findNextMatch(t.searchText,i.getEndPosition(),!1,t.matchCase,t.wholeWord?e.getConfiguration().wordSeparators:null,!1);return o?new u.Selection(o.range.startLineNumber,o.range.startColumn,o.range.endLineNumber,o.range.endColumn):null},t}(d.EditorAction);t.SelectNextFindMatchAction=R;var P=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype._getPreviousMatch=function(e){var t=E(e,{changeFindSearchString:!0,allowMultiline:!0,highlightFindOptions:!0});if(!t)return null;if(t.currentMatch)return t.currentMatch;var n=e.getSelections(),i=n[n.length-1],o=e.getModel().findPreviousMatch(t.searchText,i.getStartPosition(),!1,t.matchCase,t.wholeWord?e.getConfiguration().wordSeparators:null,!1);return o?new u.Selection(o.range.startLineNumber,o.range.startColumn,o.range.endLineNumber,o.range.endColumn):null},t}(d.EditorAction);t.SelectPreviousFindMatchAction=P;var A=function(e){function t(){return e.call(this,{id:h.FIND_IDS.AddSelectionToNextFindMatchAction,label:n.localize(6,null),alias:"Add Selection To Next Find Match",precondition:null,kbOpts:{kbExpr:b.EditorContextKeys.focus,primary:2082}})||this}return f(t,e),t.prototype.run=function(e,t){var n=t.getSelections();if(n.length>1){var i=t.getModel(),o=L.get(t);if(!o)return;var r=o.getState().matchCase,s=!0,a=i.getValueInRange(n[0]);r||(a=a.toLowerCase());for(var l=1,c=n.length;l0)i=t.getModel().findMatches(o.searchString,!0,o.isRegex,o.matchCase,o.wholeWord?t.getConfiguration().wordSeparators:null,!1).map(function(e){return e.range});else{var r=E(t,{changeFindSearchString:!0,allowMultiline:!0,highlightFindOptions:!0});if(!r)return;i=t.getModel().findMatches(r.searchText,!0,!1,r.matchCase,r.wholeWord?t.getConfiguration().wordSeparators:null,!1).map(function(e){return e.range})}if(i.length>0){for(var s=t.getSelection(),a=0,l=i.length;a200)return null;var a=L.get(t);if(!a)return null;var u=a.getState().matchCase,l=t.getSelections(),c=n.getValueInRange(l[0]);u||(c=c.toLowerCase());for(var d=1;d=d)s.push(h),u++;else{var p=a.Range.compareRangesUsingStarts(h,r[l]);p<0?(s.push(h),u++):p>0?l++:(u++,l++)}}var f=s.map(function(e){return{range:e,options:i?n._SELECTION_HIGHLIGHT:n._SELECTION_HIGHLIGHT_OVERVIEW}});this.decorations=this.editor.deltaDecorations(this.decorations,f)}else this.decorations.length>0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},t.prototype.dispose=function(){this._setState(null),e.prototype.dispose.call(this)},t.ID="editor.contrib.selectionHighlighter",t._SELECTION_HIGHLIGHT_OVERVIEW=S.ModelDecorationOptions.register({stickiness:c.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight",overviewRuler:{color:"#A0A0A0",darkColor:"#A0A0A0",position:c.OverviewRulerLane.Center}}),t._SELECTION_HIGHLIGHT=S.ModelDecorationOptions.register({stickiness:c.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight"}),t=n=v([d.commonEditorContribution],t);var n}(r.Disposable);t.SelectionHighlighter=U;var j=function(e){function i(){return e.call(this,{id:h.FIND_IDS.ShowNextFindTermAction,label:n.localize(12,null),alias:"Show Next Find Term",precondition:t.CONTEXT_FIND_WIDGET_VISIBLE,kbOpts:{weight:d.CommonEditorRegistry.commandWeight(5),kbExpr:s.ContextKeyExpr.and(t.CONTEXT_FIND_INPUT_FOCUSSED,b.EditorContextKeys.focus),primary:h.ShowNextFindTermKeybinding.primary,mac:h.ShowNextFindTermKeybinding.mac,win:h.ShowNextFindTermKeybinding.win,linux:h.ShowNextFindTermKeybinding.linux}})||this}return f(i,e),i.prototype._run=function(e){return e.showNextFindTerm()},i=v([d.editorAction],i)}(N);t.ShowNextFindTermAction=j;var q=function(e){function i(){return e.call(this,{id:h.FIND_IDS.ShowPreviousFindTermAction,label:n.localize(13,null),alias:"Find Show Previous Find Term",precondition:t.CONTEXT_FIND_WIDGET_VISIBLE,kbOpts:{weight:d.CommonEditorRegistry.commandWeight(5),kbExpr:s.ContextKeyExpr.and(t.CONTEXT_FIND_INPUT_FOCUSSED,b.EditorContextKeys.focus),primary:h.ShowPreviousFindTermKeybinding.primary,mac:h.ShowPreviousFindTermKeybinding.mac,win:h.ShowPreviousFindTermKeybinding.win,linux:h.ShowPreviousFindTermKeybinding.linux}})||this}return f(i,e),i.prototype._run=function(e){return e.showPreviousFindTerm()},i=v([d.editorAction],i)}(N);t.ShpwPreviousFindTermAction=q;var G=d.EditorCommand.bindToContribution(L.get);d.CommonEditorRegistry.registerEditorCommand(new G({id:h.FIND_IDS.CloseFindWidgetCommand,precondition:t.CONTEXT_FIND_WIDGET_VISIBLE,handler:function(e){return e.closeFindWidget()},kbOpts:{weight:d.CommonEditorRegistry.commandWeight(5),kbExpr:b.EditorContextKeys.focus,primary:9,secondary:[1033]}})),d.CommonEditorRegistry.registerEditorCommand(new G({id:h.FIND_IDS.ToggleCaseSensitiveCommand,precondition:null,handler:function(e){return e.toggleCaseSensitive()},kbOpts:{weight:d.CommonEditorRegistry.commandWeight(5),kbExpr:b.EditorContextKeys.focus,primary:h.ToggleCaseSensitiveKeybinding.primary,mac:h.ToggleCaseSensitiveKeybinding.mac,win:h.ToggleCaseSensitiveKeybinding.win,linux:h.ToggleCaseSensitiveKeybinding.linux}})),d.CommonEditorRegistry.registerEditorCommand(new G({id:h.FIND_IDS.ToggleWholeWordCommand,precondition:null,handler:function(e){return e.toggleWholeWords()},kbOpts:{weight:d.CommonEditorRegistry.commandWeight(5),kbExpr:b.EditorContextKeys.focus,primary:h.ToggleWholeWordKeybinding.primary,mac:h.ToggleWholeWordKeybinding.mac,win:h.ToggleWholeWordKeybinding.win,linux:h.ToggleWholeWordKeybinding.linux}})),d.CommonEditorRegistry.registerEditorCommand(new G({id:h.FIND_IDS.ToggleRegexCommand,precondition:null,handler:function(e){return e.toggleRegex()},kbOpts:{weight:d.CommonEditorRegistry.commandWeight(5),kbExpr:b.EditorContextKeys.focus,primary:h.ToggleRegexKeybinding.primary,mac:h.ToggleRegexKeybinding.mac,win:h.ToggleRegexKeybinding.win,linux:h.ToggleRegexKeybinding.linux}})),d.CommonEditorRegistry.registerEditorCommand(new G({id:h.FIND_IDS.ToggleSearchScopeCommand,precondition:null,handler:function(e){return e.toggleSearchScope()},kbOpts:{weight:d.CommonEditorRegistry.commandWeight(5),kbExpr:b.EditorContextKeys.focus,primary:h.ToggleSearchScopeKeybinding.primary,mac:h.ToggleSearchScopeKeybinding.mac,win:h.ToggleSearchScopeKeybinding.win,linux:h.ToggleSearchScopeKeybinding.linux}})),d.CommonEditorRegistry.registerEditorCommand(new G({id:h.FIND_IDS.ReplaceOneAction,precondition:t.CONTEXT_FIND_WIDGET_VISIBLE,handler:function(e){return e.replace()},kbOpts:{weight:d.CommonEditorRegistry.commandWeight(5),kbExpr:b.EditorContextKeys.focus,primary:3094}})),d.CommonEditorRegistry.registerEditorCommand(new G({id:h.FIND_IDS.ReplaceAllAction,precondition:t.CONTEXT_FIND_WIDGET_VISIBLE,handler:function(e){return e.replaceAll()},kbOpts:{weight:d.CommonEditorRegistry.commandWeight(5),kbExpr:b.EditorContextKeys.focus,primary:2563}})),d.CommonEditorRegistry.registerEditorCommand(new G({id:h.FIND_IDS.SelectAllMatchesAction,precondition:t.CONTEXT_FIND_WIDGET_VISIBLE,handler:function(e){return e.selectAllMatches()},kbOpts:{weight:d.CommonEditorRegistry.commandWeight(5),kbExpr:b.EditorContextKeys.focus,primary:515}}))}),define(d[458],h([1,0,349,29,4,18,40,3,2,13,25,30,333,257,256,21,328]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m){"use strict";function _(e){if(!i.isUndefined(e)){if(!i.isObject(e))return!1;var t=e;if(!i.isUndefined(t.levels)&&!i.isNumber(t.levels))return!1;if(!i.isUndefined(t.direction)&&!i.isString(t.direction))return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0});var y=function(){function e(e){var t=this;this.editor=e,this._isEnabled=this.editor.getConfiguration().contribInfo.folding,this._showFoldingControls=this.editor.getConfiguration().contribInfo.showFoldingControls,this.globalToDispose=[],this.localToDispose=[],this.decorations=[],this.computeToken=0,this.globalToDispose.push(this.editor.onDidChangeModel(function(){return t.onModelChanged()})),this.globalToDispose.push(this.editor.onDidChangeConfiguration(function(e){var n=t._isEnabled;t._isEnabled=t.editor.getConfiguration().contribInfo.folding,n!==t._isEnabled&&t.onModelChanged();var i=t._showFoldingControls;t._showFoldingControls=t.editor.getConfiguration().contribInfo.showFoldingControls,i!==t._showFoldingControls&&t.updateHideFoldIconClass()})),this.onModelChanged()}return t=e,e.get=function(e){return e.getContribution(g.ID)},e.prototype.getId=function(){return g.ID},e.prototype.dispose=function(){this.cleanState(),this.globalToDispose=a.dispose(this.globalToDispose)},e.prototype.updateHideFoldIconClass=function(){var e=this.editor.getDomNode();e&&o.toggleClass(e,"alwaysShowFoldIcons","always"===this._showFoldingControls)},e.prototype.saveViewState=function(){var e=this.editor.getModel();if(!e)return{};var t=[];return this.decorations.forEach(function(n){if(n.isCollapsed){var i=n.getDecorationRange(e);i&&t.push({startLineNumber:i.startLineNumber,endLineNumber:i.endLineNumber,indent:n.indent,isCollapsed:!0})}}),{collapsedRegions:t,lineCount:e.getLineCount()}},e.prototype.restoreViewState=function(e){var t=this.editor.getModel();t&&this._isEnabled&&e&&Array.isArray(e.collapsedRegions)&&0!==e.collapsedRegions.length&&e.lineCount===t.getLineCount()&&(this.cleanState(),this.applyRegions(e.collapsedRegions),this.onModelChanged())},e.prototype.cleanState=function(){this.localToDispose=a.dispose(this.localToDispose)},e.prototype.applyRegions=function(e){var n=this,i=this.editor.getModel();if(i){var o=!1;e=p.limitByIndent(e,t.MAX_FOLDING_REGIONS).sort(function(e,t){return e.startLineNumber-t.startLineNumber}),this.editor.changeDecorations(function(t){for(var r=[],s=0,a=0;ae[s].startLineNumber;){d=e[s];o=o||d.isCollapsed,r.push(new h.CollapsibleRegion(d,i,t)),s++}if(s0&&(u.forEach(function(e,n){t.editor.changeDecorations(function(t){e.setCollapsed(!1,t),i=!0})}),!h.doesLineBelongsToCollapsibleRegion(u[0].foldingRange,s.startLineNumber))){var l=u[0].startLineNumber,c=n.getLineMaxColumn(u[0].startLineNumber);o[a]=s.setEndPosition(l,c).setStartPosition(l,c),r=!0}}),r&&this.editor.setSelections(o),i&&this.updateHiddenAreas(o[0].startLineNumber)},e.prototype.fold=function(e,t){var n=this,i=!1,o=this.editor.getSelections();o.forEach(function(o){var r=o.startLineNumber;h.getCollapsibleRegionsToFoldAtLine(n.decorations,n.editor.getModel(),r,e,t).forEach(function(e){return n.editor.changeDecorations(function(t){e.setCollapsed(!0,t),i=!0})})}),i&&this.updateHiddenAreas(o[0].startLineNumber)},e.prototype.foldUnfoldRecursively=function(e){var t=this,n=!1,i=this.editor.getModel(),o=this.editor.getSelections();o.forEach(function(o){for(var r,s=o.startLineNumber,a=[],u=0,l=t.decorations.length;u=s&&(d.endLineNumber<=r||void 0===r))){if(d.startLineNumber!==s&&void 0===r)return;r=r||d.endLineNumber,a.push(c)}}a.length>0&&a.forEach(function(i){t.editor.changeDecorations(function(t){i.setCollapsed(e,t),n=!0})})}),n&&this.updateHiddenAreas(o[0].startLineNumber)},e.prototype.foldAll=function(){this.changeAll(!0)},e.prototype.unfoldAll=function(){this.changeAll(!1)},e.prototype.changeAll=function(e){var t=this;if(this.decorations.length>0){var n=!0;this.editor.changeDecorations(function(i){t.decorations.forEach(function(t){e!==t.isCollapsed&&(t.setCollapsed(e,i),n=!0)})}),n&&this.updateHiddenAreas(this.editor.getPosition().lineNumber)}},e.prototype.foldLevel=function(e,t){var n=this,i=this.editor.getModel(),o=[i.getFullModelRange()],r=!1;this.editor.changeDecorations(function(s){n.decorations.forEach(function(n){var a=n.getDecorationRange(i);if(a){for(;!u.Range.containsRange(o[o.length-1],a);)o.pop();o.push(a),o.length!==e+1||n.isCollapsed||t.some(function(e){return a.startLineNumber1)){var n=this.editor.getModel(),o=this.editor.getPosition(),r=!1,s=this.editor.onDidChangeModelContent(function(e){if(e.isFlush)return r=!0,void s.dispose();for(var t=0,n=e.changes.length;t1)){var n=this.editor.getModel(),o=n.getOptions(),r=o.tabSize,s=o.insertSpaces,a=new b.EditorState(this.editor,5);c.getDocumentRangeFormattingEdits(n,e,{tabSize:r,insertSpaces:s}).then(function(e){return t.workerService.computeMoreMinimalEdits(n.uri,e,[])}).then(function(e){a.validate(t.editor)&&!i.isFalsyOrEmpty(e)&&(d.EditOperationsCommand.execute(t.editor,e),S(e))})}},e.prototype.getId=function(){return t.ID},e.prototype.dispose=function(){this.callOnDispose=r.dispose(this.callOnDispose),this.callOnModel=r.dispose(this.callOnModel)},e.ID="editor.contrib.formatOnPaste",e=t=v([u.commonEditorContribution,y(1,g.IEditorWorkerService)],e);var t}();var E=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype.run=function(e,t){var n=e.get(g.IEditorWorkerService),o=this._getFormattingEdits(t);if(!o)return s.TPromise.as(void 0);var r=new b.EditorState(t,5);return o.then(function(e){return n.computeMoreMinimalEdits(t.getModel().uri,e,t.getSelections())}).then(function(e){r.validate(t)&&!i.isFalsyOrEmpty(e)&&(d.EditOperationsCommand.execute(t,e),S(e),t.focus())})},t}(u.EditorAction);t.AbstractFormatAction=E;var L=function(e){function t(){return e.call(this,{id:"editor.action.formatDocument",label:n.localize(4,null),alias:"Format Document",precondition:a.ContextKeyExpr.and(w.EditorContextKeys.writable,w.EditorContextKeys.hasDocumentFormattingProvider),kbOpts:{kbExpr:w.EditorContextKeys.textFocus,primary:1572,linux:{primary:3111}},menuOpts:{group:"1_modification",order:1.3}})||this}return f(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),n=t.getOptions(),i=n.tabSize,o=n.insertSpaces;return c.getDocumentFormattingEdits(t,{tabSize:i,insertSpaces:o})},t=v([u.editorAction],t)}(E);t.FormatDocumentAction=L;var x=function(e){function t(){return e.call(this,{id:"editor.action.formatSelection",label:n.localize(5,null),alias:"Format Code",precondition:a.ContextKeyExpr.and(w.EditorContextKeys.writable,w.EditorContextKeys.hasDocumentSelectionFormattingProvider,w.EditorContextKeys.hasNonEmptySelection),kbOpts:{kbExpr:w.EditorContextKeys.textFocus,primary:o.KeyChord(2089,2084)},menuOpts:{group:"1_modification",order:1.31}})||this}return f(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),n=t.getOptions(),i=n.tabSize,o=n.insertSpaces;return c.getDocumentRangeFormattingEdits(t,e.getSelection(),{tabSize:i,insertSpaces:o})},t=v([u.editorAction],t)}(E);t.FormatSelectionAction=x,h.CommandsRegistry.registerCommand("editor.action.format",function(e){var t=e.get(p.ICodeEditorService).getFocusedCodeEditor();if(t)return(new(function(e){function t(){return e.call(this,{})||this}return f(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),n=e.getSelection(),i=t.getOptions(),o=i.tabSize,r=i.insertSpaces;return n.isEmpty()?c.getDocumentFormattingEdits(t,{tabSize:o,insertSpaces:r}):c.getDocumentRangeFormattingEdits(t,n,{tabSize:o,insertSpaces:r})},t}(E))).run(e,t)})}),define(d[177],h([1,0,10,7,13,17,18]),function(e,t,n,i,o,r,s){"use strict";function a(e){return i.TPromise.join(e).then(function(e){for(var t=[],n=0,i=e;n0;t&&n&&(r[o]=e)}},function(e){i.onUnexpectedExternalError(e)})});return o.TPromise.join(u).then(function(){return n.coalesce(r)})}Object.defineProperty(t,"__esModule",{value:!0}),t.getHover=u,r.CommonEditorRegistry.registerDefaultLanguageCommand("_executeHoverProvider",u)}),define(d[463],h([1,0,355,24,10,4,7,102,71,2,12,17,122,462,195,196,133,34,242,245,246,247,32,3]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,v,_,y,C,b,w,S,E){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var L=r.$,x=function(){return function(e,t,n,i){this.range=e,this.color=t,this.format=n,this.availableFormats=i}}(),N=function(){function e(e){this._editor=e,this._range=null}return e.prototype.setRange=function(e){this._range=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeAsync=function(){var e=this._editor.getModel();return d.HoverProviderRegistry.has(e)?p.getHover(e,new c.Position(this._range.startLineNumber,this._range.startColumn)):s.TPromise.as(null)},e.prototype.computeSync=function(){var e=this,t=this._range.startLineNumber;if(t>this._editor.getModel().getLineCount())return[];var n=function(e){return e&&(!Array.isArray(e)||e.length>0)},i=this._editor.getModel().getLineMaxColumn(t);return this._editor.getLineDecorations(t).map(function(o){var r=o.range.startLineNumber===t?o.range.startColumn:1,s=o.range.endLineNumber===t?o.range.endColumn:i;if(r>e._range.startColumn||e._range.endColumn>s)return null;var a=new l.Range(e._range.startLineNumber,r,e._range.startLineNumber,s),u=o.options,c=u&&u.extraOptions;if(b.isColorDecorationOptions(c)){var d=c.color,h=c.format,p=c.availableFormats;return new x(a,d,h,p)}if(!n(o.options.hoverMessage))return null;var f=void 0;return o.options.hoverMessage&&(f=Array.isArray(o.options.hoverMessage)?o.options.hoverMessage.slice():[o.options.hoverMessage]),{contents:f,range:a}}).filter(function(e){return!!e})},e.prototype.onResult=function(e,t){this._result=t?e.concat(this._result.sort(function(e,t){return e instanceof x?-1:t instanceof x?1:0})):this._result.concat(e)},e.prototype.getResult=function(){return this._result.slice(0)},e.prototype.getResultWithLoadingMessage=function(){return this._result.slice(0).concat([this._getLoadingMessage()])},e.prototype._getLoadingMessage=function(){return{range:this._range,contents:[v.textToMarkedString(n.localize(0,null))]}},e}(),M=function(e){function t(n,i,o){var s=e.call(this,t.ID,n)||this;return s._computer=new N(s._editor),s._highlightDecorations=[],s._isChangingDecorations=!1,s._openerService=i||u.NullOpenerService,s._modeService=o,s._hoverOperation=new g.HoverOperation(s._computer,function(e){return s._withResult(e,!0)},null,function(e){return s._withResult(e,!1)}),s.toDispose=[],s.toDispose.push(r.addStandardDisposableListener(s.getDomNode(),r.EventType.FOCUS,function(){s._colorPicker&&r.addClass(s.getDomNode(),"colorpicker-hover")})),s.toDispose.push(r.addStandardDisposableListener(s.getDomNode(),r.EventType.BLUR,function(){r.removeClass(s.getDomNode(),"colorpicker-hover")})),s}return f(t,e),t.prototype.dispose=function(){this._hoverOperation.cancel(),this._colorPicker&&this._colorPicker.dispose(),this.toDispose=E.dispose(this.toDispose),e.prototype.dispose.call(this)},t.prototype.onModelDecorationsChanged=function(){this._isChangingDecorations||this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._colorPicker||this._hoverOperation.start())},t.prototype.startShowingAt=function(e,t){if(!this._lastRange||!this._lastRange.equalsRange(e)){if(this._hoverOperation.cancel(),this.isVisible)if(this._showAtPosition.lineNumber!==e.startLineNumber)this.hide();else{for(var n=[],i=0,o=this._messages.length;i=e.endColumn&&n.push(r)}n.length>0?this._renderMessages(e,n):this.hide()}this._lastRange=e,this._computer.setRange(e),this._shouldFocus=t,this._hoverOperation.start()}},t.prototype.hide=function(){this._lastRange=null,this._hoverOperation.cancel(),e.prototype.hide.call(this),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[]),this._isChangingDecorations=!1,this._colorPicker=null,this._colorPicker&&this._colorPicker.dispose()},t.prototype.isColorPickerVisible=function(){return!!this._colorPicker},t.prototype._withResult=function(e,t){this._messages=e,this._lastRange&&this._messages.length>0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,n){var r=this,s=Number.MAX_VALUE,u=n[0].range,d=document.createDocumentFragment();n.forEach(function(e){if(e.range)if(s=Math.min(s,e.range.startColumn),u=l.Range.plusRange(u,e.range),e instanceof x){var t=void 0,n=void 0;"string"==typeof e.format?t=new w.ColorFormatter(e.format):(t=new w.ColorFormatter(e.format.opaque),n=new w.ColorFormatter(e.format.transparent));var c=[];e.availableFormats&&e.availableFormats.forEach(function(e){var t;t="string"==typeof e?new w.ColorFormatter(e):{opaqueFormatter:new w.ColorFormatter(e.opaque),transparentFormatter:new w.ColorFormatter(e.transparent)},c.push(t)});var p=e.color,f=p.red,g=p.green,m=p.blue,v=p.alpha,_=new S.RGBA(255*f,255*g,255*m,255*v),b=S.Color.fromRGBA(_),E=new y.ColorPickerModel(_.toString(),b,t,n,c,r._editor.getModel(),e.range),N=r._register(new C.ColorPickerWidget(E,r._editor));E.widget=N,r._colorPicker=N,d.appendChild(N.getDomNode())}else e.contents.filter(function(e){return!!e}).forEach(function(e){var t=a.renderMarkedString(e,{actionCallback:function(e){r._openerService.open(i.default.parse(e)).then(void 0,o.onUnexpectedError)},codeBlockRenderer:function(e,t){var n=e?r._modeService.getModeIdForLanguageName(e):r._editor.getModel().getLanguageIdentifier().language;return r._modeService.getOrCreateMode(n).then(function(e){return h.tokenizeToString(t,n)})}});d.appendChild(L("div.hover-row",null,t))})}),this.showAt(new c.Position(e.startLineNumber,s),this._shouldFocus),this.updateContents(d),this._colorPicker&&(this._colorPicker.layout(),this._colorPicker.layoutSaturationBox()),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[{range:u,options:t._DECORATION_OPTIONS}]),this._isChangingDecorations=!1},t.ID="editor.contrib.modesContentHoverWidget",t._DECORATION_OPTIONS=_.ModelDecorationOptions.register({className:"hoverHighlight"}),t}(m.ContentHoverWidget);t.ModesContentHoverWidget=M}),define(d[464],h([1,0,357,40,266,59,435,21,73,2,22,13,264,265,319,119,134]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,_){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var y=function(e){function t(t,n){var i=e.call(this,n)||this;return i.down=t,i}return f(t,e),t.prototype.run=function(e,t){for(var n=[],i=t.getSelections(),o=0;oe.endLineNumber+1?(o.push(e),t):new c.Selection(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(o.push(e),t):new c.Selection(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)});o.push(s);for(var a=t.getModel(),u=[],d=[],h=i,p=0,f=0,g=o.length;f=1){var N=!0;""===S&&(N=!1),!N||" "!==S.charAt(S.length-1)&&"\t"!==S.charAt(S.length-1)||(N=!1,S=S.replace(/[\s\uFEFF\xA0]+$/g," "));var M=L.substr(x-1);S+=(N?" ":"")+M,C=N?M.length+1:M.length}else C=0}var T=new l.Range(v,1,_,y);if(!T.isEmpty()){var k=void 0;m.isEmpty()?(u.push(r.EditOperation.replace(T,S)),k=new c.Selection(T.startLineNumber-p,S.length-C+1,v-p,S.length-C+1)):m.startLineNumber===m.endLineNumber?(u.push(r.EditOperation.replace(T,S)),k=new c.Selection(m.startLineNumber-p,m.startColumn,m.endLineNumber-p,m.endColumn)):(u.push(r.EditOperation.replace(T,S)),k=new c.Selection(m.startLineNumber-p,m.startColumn,m.startLineNumber-p,S.length-b)),null!==l.Range.intersectRanges(T,i)?h=k:d.push(k)}p+=T.endLineNumber-T.startLineNumber}d.unshift(h),t.executeEdits(this.id,u,d)},t=v([d.editorAction],t)}(d.EditorAction);t.JoinLinesAction=T;var k=function(e){function t(){return e.call(this,{id:"editor.action.transpose",label:n.localize(15,null),alias:"Transpose characters around the cursor",precondition:a.EditorContextKeys.writable})||this}return f(t,e),t.prototype.run=function(e,t){for(var n=t.getSelections(),i=t.getModel(),o=[],r=0,s=n.length;r=h){if(d.lineNumber===i.getLineCount())continue;var p=new l.Range(d.lineNumber,Math.max(1,d.column-1),d.lineNumber+1,1),f=i.getValueInRange(p).split("").reverse().join("");o.push(new u.ReplaceCommand(new c.Selection(d.lineNumber,Math.max(1,d.column-1),d.lineNumber+1,1),f))}else{var p=new l.Range(d.lineNumber,Math.max(1,d.column-1),d.lineNumber,d.column+1),f=i.getValueInRange(p).split("").reverse().join("");o.push(new u.ReplaceCommandThatPreservesSelection(p,f,new c.Selection(d.lineNumber,d.column+1,d.lineNumber,d.column+1)))}}}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()},t=v([d.editorAction],t)}(d.EditorAction);t.TransposeAction=k;var I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype.run=function(e,t){for(var n=t.getSelections(),i=t.getModel(),o=[],r=0,s=n.length;r1&&i.push(new r.Selection(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)),i},t.prototype.run=function(e,t){var n=this,i=t.getSelections().map(function(e){return n.getCursorsForSelection(e,t)}).reduce(function(e,t){return e.concat(t)});i.length>0&&t.setSelections(i)},t=v([o.editorAction],t)}(o.EditorAction)}),define(d[178],h([1,0,10,13,17,18,19]),function(e,t,n,i,o,r,s){"use strict";function a(e,t){var i,s=o.SignatureHelpProviderRegistry.ordered(e);return r.sequence(s.map(function(o){return function(){if(!i)return r.asWinJsPromise(function(n){return o.provideSignatureHelp(e,t,n)}).then(function(e){i=e},n.onUnexpectedExternalError)}})).then(function(){return i})}Object.defineProperty(t,"__esModule",{value:!0}),t.Context={Visible:new s.RawContextKey("parameterHintsVisible",!1),MultipleSignatures:new s.RawContextKey("parameterHintsMultipleSignatures",!1)},t.provideSignatureHelp=a,i.CommonEditorRegistry.registerDefaultLanguageCommand("_executeSignatureHelpProvider",a)}),define(d[467],h([1,0,24,2,17,18,7,10,56,13]),function(e,t,n,i,o,r,s,a,u,l){"use strict";function c(e,t){var n=[],i=o.CodeActionProviderRegistry.all(e).map(function(i){return r.asWinJsPromise(function(n){return i.provideCodeActions(e,t,n)}).then(function(e){if(Array.isArray(e))for(var t=0,i=e;tthis.context.column&&this.completionModel.incomplete&&0!==e.leadingWord.word.length){var t=this.completionModel.resolveIncompleteInfo(),n=t.complete,i=t.incomplete;this.trigger(2===this._state,!0,i,n)}else{var o=this.completionModel.lineContext,r=!1;if(this.completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this.context.column},0===this.completionModel.items.length){if(p.shouldAutoTrigger(this.editor)&&this.context.leadingWord.endColumn0)&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this.completionModel,auto:this.context.auto,isFrozen:r})}}else this.cancel()},e}();t.SuggestModel=f}),define(d[181],h([1,0,373,13,168]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(){return e.call(this,{id:r.ID,label:n.localize(0,null),alias:"Toggle Tab Key Moves Focus",precondition:null,kbOpts:{kbExpr:null,primary:2091,mac:{primary:1323}}})||this}return f(t,e),r=t,t.prototype.run=function(e,t){var n=o.TabFocus.getTabFocusMode();o.TabFocus.setTabFocusMode(!n)},t.ID="editor.action.toggleTabFocusMode",t=r=v([i.editorAction],t);var r}(i.EditorAction);t.ToggleTabFocusModeAction=r}),define(d[476],h([1,0,21,22,13,12,2,172,73,94,39,54]),function(e,t,n,i,o,r,s,a,u,l,c,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var h=function(e){function t(t){var n=e.call(this,t)||this;return n._inSelectionMode=t.inSelectionMode,n._wordNavigationType=t.wordNavigationType,n}return f(t,e),t.prototype.runEditorCommand=function(e,t,n){var i=this,o=t.getConfiguration(),s=l.getMapForWordSeparators(o.wordSeparators),a=t.getModel(),u=t.getSelections().map(function(e){var t=new r.Position(e.positionLineNumber,e.positionColumn),n=i._move(s,a,t,i._wordNavigationType);return i._moveTo(e,n,i._inSelectionMode)});if(t._getCursors().setStates("moveWordCommand",d.CursorChangeReason.NotSet,u.map(function(e){return c.CursorState.fromModelSelection(e)})),1===u.length){var h=new r.Position(u[0].positionLineNumber,u[0].positionColumn);t.revealPosition(h,!1,!0)}},t.prototype._moveTo=function(e,t,n){return n?new i.Selection(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new i.Selection(t.lineNumber,t.column,t.lineNumber,t.column)},t}(o.EditorCommand);t.MoveWordCommand=h;var p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype._move=function(e,t,n,i){return a.WordOperations.moveWordLeft(e,t,n,i)},t}(h);t.WordLeftCommand=p;var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype._move=function(e,t,n,i){return a.WordOperations.moveWordRight(e,t,n,i)},t}(h);t.WordRightCommand=g;var m=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:null,kbOpts:{kbExpr:n.EditorContextKeys.textFocus,primary:2063,mac:{primary:527}}})||this}return f(t,e),t=v([o.editorCommand],t)}(p);t.CursorWordStartLeft=m;var _=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:"cursorWordEndLeft",precondition:null})||this}return f(t,e),t=v([o.editorCommand],t)}(p);t.CursorWordEndLeft=_;var y=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordLeft",precondition:null})||this}return f(t,e),t=v([o.editorCommand],t)}(p);t.CursorWordLeft=y;var C=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:null,kbOpts:{kbExpr:n.EditorContextKeys.textFocus,primary:3087,mac:{primary:1551}}})||this}return f(t,e),t=v([o.editorCommand],t)}(p);t.CursorWordStartLeftSelect=C;var b=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:"cursorWordEndLeftSelect",precondition:null})||this}return f(t,e),t=v([o.editorCommand],t)}(p);t.CursorWordEndLeftSelect=b;var w=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordLeftSelect",precondition:null})||this}return f(t,e),t=v([o.editorCommand],t)}(p);t.CursorWordLeftSelect=w;var S=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:null})||this}return f(t,e),t=v([o.editorCommand],t)}(g);t.CursorWordStartRight=S;var E=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:"cursorWordEndRight",precondition:null,kbOpts:{kbExpr:n.EditorContextKeys.textFocus,primary:2065,mac:{primary:529}}})||this}return f(t,e),t=v([o.editorCommand],t)}(g);t.CursorWordEndRight=E;var L=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:"cursorWordRight",precondition:null})||this}return f(t,e),t=v([o.editorCommand],t)}(g);t.CursorWordRight=L;var x=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:null})||this}return f(t,e),t=v([o.editorCommand],t)}(g);t.CursorWordStartRightSelect=x;var N=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:"cursorWordEndRightSelect",precondition:null,kbOpts:{kbExpr:n.EditorContextKeys.textFocus,primary:3089,mac:{primary:1553}}})||this}return f(t,e),t=v([o.editorCommand],t)}(g);t.CursorWordEndRightSelect=N;var M=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:"cursorWordRightSelect",precondition:null})||this}return f(t,e),t=v([o.editorCommand],t)}(g);t.CursorWordRightSelect=M;var T=function(e){function t(t){var n=e.call(this,t)||this;return n._whitespaceHeuristics=t.whitespaceHeuristics,n._wordNavigationType=t.wordNavigationType,n}return f(t,e),t.prototype.runEditorCommand=function(e,t,n){var i=this,o=t.getConfiguration(),r=l.getMapForWordSeparators(o.wordSeparators),s=t.getModel(),a=t.getSelections().map(function(e){var t=i._delete(r,s,e,i._whitespaceHeuristics,i._wordNavigationType);return new u.ReplaceCommand(t,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()},t}(o.EditorCommand);t.DeleteWordCommand=T;var k=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype._delete=function(e,t,n,i,o){var r=a.WordOperations.deleteWordLeft(e,t,n,i,o);return r||new s.Range(1,1,1,1)},t}(T);t.DeleteWordLeftCommand=k;var I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype._delete=function(e,t,n,i,o){var r=a.WordOperations.deleteWordRight(e,t,n,i,o);if(r)return r;var u=t.getLineCount(),l=t.getLineMaxColumn(u);return new s.Range(u,l,u,l)},t}(T);t.DeleteWordRightCommand=I;var D=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:n.EditorContextKeys.writable})||this}return f(t,e),t=v([o.editorCommand],t)}(k);t.DeleteWordStartLeft=D;var O=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:1,id:"deleteWordEndLeft",precondition:n.EditorContextKeys.writable})||this}return f(t,e),t=v([o.editorCommand],t)}(k);t.DeleteWordEndLeft=O;var R=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.textFocus,primary:2049,mac:{primary:513}}})||this}return f(t,e),t=v([o.editorCommand],t)}(k);t.DeleteWordLeft=R;var P=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:n.EditorContextKeys.writable})||this}return f(t,e),t=v([o.editorCommand],t)}(I);t.DeleteWordStartRight=P;var A=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:1,id:"deleteWordEndRight",precondition:n.EditorContextKeys.writable})||this}return f(t,e),t=v([o.editorCommand],t)}(I);t.DeleteWordEndRight=A;var F=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:1,id:"deleteWordRight",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.textFocus,primary:2068,mac:{primary:532}}})||this}return f(t,e),t=v([o.editorCommand],t)}(I);t.DeleteWordRight=F}),define(d[477],h([1,0,381,13,77]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});!function(e){function t(){var t=e.call(this,{id:"editor.action.toggleHighContrast",label:n.localize(0,null),alias:"Toggle High Contrast Theme",precondition:null})||this;return t._originalThemeName=null,t}f(t,e),t.prototype.run=function(e,t){var n=e.get(o.IStandaloneThemeService);this._originalThemeName?(n.setTheme(this._originalThemeName),this._originalThemeName=null):(this._originalThemeName=n.getTheme().themeName,n.setTheme("hc-black"))},t=v([i.editorAction],t)}(i.EditorAction)}),define(d[478],h([1,0,160,58,50]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,i){this.contextView=new n.ContextView(e)}return e.prototype.dispose=function(){this.contextView.dispose()},e.prototype.setContainer=function(e){this.contextView.setContainer(e)},e.prototype.showContextView=function(e){this.contextView.show(e)},e.prototype.layout=function(){this.contextView.layout()},e.prototype.hideContextView=function(e){this.contextView.hide(e)},e=v([y(1,i.ITelemetryService),y(2,o.IMessageService)],e)}();t.ContextViewService=r}),define(d[479],h([1,0,7,166,45,62,46,420]),function(e,t,n,i,o,r,s,a){"use strict";function u(e){if(!e)return e;for(var t="",n=0;n="0"&&i<="9"?t+="0":t+=i>="a"&&i<="z"?"a":i>="A"&&i<="Z"?"A":i}return t}function l(e){if(!e)return[];var t=[];return c(t,"",e),t}function c(e,t,n){n&&"object"==typeof n&&!Array.isArray(n)?Object.keys(n).forEach(function(i){return c(e,t?t+"."+i:i,n[i])}):e.push(t)}function d(e,t){return e?t.reduce(function(t,n){var i=n.split(".").reduce(function(e,t){return e&&"object"==typeof e?e[t]:void 0},e);return void 0!==i&&t.push((o={},o[n]=i,o)),t;var o},[]):[]}Object.defineProperty(t,"__esModule",{value:!0}),t.NullTelemetryService={_serviceBrand:void 0,publicLog:function(e,t){return n.TPromise.as(null)},isOptedIn:!0,getTelemetryInfo:function(){return n.TPromise.as({instanceId:"someValue.instanceId",sessionId:"someValue.sessionId",machineId:"someValue.machineId"})}},t.combinedAppender=function(){for(var e=[],t=0;t0&&(o.insertRule(this._unThemedSelector+" {"+e+"}",0),r=!0),t.length>0&&(o.insertRule(".vs"+this._unThemedSelector+" {"+t+"}",0),r=!0),n.length>0&&(o.insertRule(".vs-dark"+this._unThemedSelector+", .hc-black"+this._unThemedSelector+" {"+n+"}",0),r=!0),this._hasContent=r},e.prototype._removeCSS=function(){o.removeCSSRulesContainingSelector(this._unThemedSelector,this._providerArgs.styleSheet)},e.prototype.getCSSTextForModelDecorationClassName=function(e){if(!e)return"";var t=[];return this.collectCSSText(e,["backgroundColor"],t),this.collectCSSText(e,["outline","outlineColor","outlineStyle","outlineWidth"],t),this.collectBorderSettingsCSSText(e,t),t.join("")},e.prototype.getCSSTextForModelDecorationInlineClassName=function(e){if(!e)return"";var t=[];return this.collectCSSText(e,["textDecoration","cursor","color","letterSpacing"],t),t.join("")},e.prototype.getCSSTextForModelDecorationContentClassName=function(e){if(!e)return"";var t=[];if(void 0!==e){if(this.collectBorderSettingsCSSText(e,t),"string"==typeof e.contentIconPath?t.push(n.format(p.contentIconPath,i.default.file(e.contentIconPath).toString().replace(/'/g,"%27"))):e.contentIconPath instanceof i.default&&t.push(n.format(p.contentIconPath,e.contentIconPath.toString(!0).replace(/'/g,"%27"))),"string"==typeof e.contentText){var o=e.contentText.match(/^.*$/m)[0].replace(/['\\]/g,"\\$&");t.push(n.format(p.contentText,o))}this.collectCSSText(e,["textDecoration","color","backgroundColor","margin"],t),this.collectCSSText(e,["width","height"],t)&&t.push("display:inline-block;")}return t.join("")},e.prototype.getCSSTextForModelDecorationGlyphMarginClassName=function(e){if(!e)return"";var t=[];return void 0!==e.gutterIconPath&&("string"==typeof e.gutterIconPath?t.push(n.format(p.gutterIconPath,i.default.file(e.gutterIconPath).toString())):t.push(n.format(p.gutterIconPath,e.gutterIconPath.toString(!0).replace(/'/g,"%27"))),void 0!==e.gutterIconSize&&t.push(n.format(p.gutterIconSize,e.gutterIconSize))),t.join("")},e.prototype.collectBorderSettingsCSSText=function(e,t){return!!this.collectCSSText(e,["border","borderColor","borderRadius","borderSpacing","borderStyle","borderWidth"],t)&&(t.push(n.format("box-sizing: border-box;")),!0)},e.prototype.collectCSSText=function(e,t,i){for(var o=i.length,r=0,s=t;rt)){var v=m.startLineNumber===t?m.startColumn:r.minColumn,_=m.endLineNumber===t?m.endColumn:r.maxColumn;v<_&&l.push(new s.LineDecoration(v,_,"inline-selected-text",!1))}}var C=new a.RenderLineInput(u.useMonospaceOptimizations,r.content,r.mightContainRTL,r.minColumn-1,r.tokens,l,r.tabSize,u.spaceWidth,u.stopRenderingLineAfter,u.renderWhitespace,u.renderControlCharacters,u.fontLigatures);if(this._renderedViewLine&&this._renderedViewLine.input.equals(C))return null;var b=a.renderViewLine(C),S=null;if(p&&u.useMonospaceOptimizations&&!b.containsForeignElements){var E=!0;r.mightContainNonBasicASCII&&(E=o.isBasicASCII(r.content)),E&&r.content.length<1e3&&(S=new y(this._renderedViewLine?this._renderedViewLine.domNode:null,C,b.characterMapping))}return S||(S=w(this._renderedViewLine?this._renderedViewLine.domNode:null,C,b.characterMapping,b.containsRTL,b.containsForeignElements)),this._renderedViewLine=S,'
    '+b.html+"
    "},e.prototype.layoutLine=function(e,t){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))},e.prototype.getWidth=function(){return this._renderedViewLine?this._renderedViewLine.getWidth():0},e.prototype.getVisibleRangesForRange=function(e,t,n){return e=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,e)),t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),this._renderedViewLine.getVisibleRangesForRange(e,t,n)},e.prototype.getColumnOfNodeOffset=function(e,t,n){return this._renderedViewLine.getColumnOfNodeOffset(e,t,n)},e.CLASS_NAME="view-line",e}();t.ViewLine=_;var y=function(){function e(e,t,n){this.domNode=e,this.input=t,this._characterMapping=n,this._charWidth=t.spaceWidth,this._charOffset=null}return e._createCharOffset=function(e){for(var t=e.getPartLengths(),n=e.length,i=new Uint32Array(n),o=0,r=0,s=0;si&&t>i)return null;-1!==i&&e>i&&(e=i),-1!==i&&t>i&&(t=i);var o=this._getCharPosition(e),r=this._getCharPosition(t);return[new l.HorizontalRange(o,r-o)]},e.prototype._getCharPosition=function(e){var t=this._getOrCreateCharOffset();return 0===t.length?0:Math.round(this._charWidth*t[e-1])},e.prototype.getColumnOfNodeOffset=function(e,t,n){for(var i=t.textContent.length,o=-1;t;)t=t.previousSibling,o++;return this._characterMapping.partDataToCharOffset(o,i,n)+1},e}(),C=function(){function e(e,t,n,i,o){if(this.domNode=e,this.input=t,this._characterMapping=n,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=o,this._cachedWidth=-1,this._pixelOffsetCache=null,!i||0===this._characterMapping.length){this._pixelOffsetCache=new Int32Array(this._characterMapping.length+1);for(var r=0,s=this._characterMapping.length;r<=s;r++)this._pixelOffsetCache[r]=-1}}return e.prototype._getReadingTarget=function(){return this.domNode.domNode.firstChild},e.prototype.getWidth=function(){return-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget().offsetWidth),this._cachedWidth},e.prototype.getVisibleRangesForRange=function(e,t,n){e|=0,t|=0;var i=0|this.input.stopRenderingLineAfter;if(-1!==i&&e>i&&t>i)return null;if(-1!==i&&e>i&&(e=i),-1!==i&&t>i&&(t=i),null!==this._pixelOffsetCache){var o=this._readPixelOffset(e,n);if(-1===o)return null;var r=this._readPixelOffset(t,n);return-1===r?null:[new l.HorizontalRange(o,r-o)]}return this._readVisibleRangesForRange(e,t,n)},e.prototype._readVisibleRangesForRange=function(e,t,n){if(e===t){var i=this._readPixelOffset(e,n);return-1===i?null:[new l.HorizontalRange(i,0)]}return this._readRawVisibleRangesForRange(e,t,n)},e.prototype._readPixelOffset=function(e,t){if(0===this._characterMapping.length&&!this._containsForeignElements)return 0;if(null!==this._pixelOffsetCache){var n=this._pixelOffsetCache[e];if(-1!==n)return n;var i=this._actualReadPixelOffset(e,t);return this._pixelOffsetCache[e]=i,i}return this._actualReadPixelOffset(e,t)},e.prototype._actualReadPixelOffset=function(e,t){if(0===this._characterMapping.length){var n=u.RangeUtil.readHorizontalRanges(this._getReadingTarget(),0,0,0,0,t.clientRectDeltaLeft,t.endNode);return n&&0!==n.length?n[0].left:-1}if(e===this._characterMapping.length&&this._isWhitespaceOnly&&!this._containsForeignElements)return this.getWidth();var i=this._characterMapping.charOffsetToPartData(e-1),o=a.CharacterMapping.getPartIndex(i),r=a.CharacterMapping.getCharIndex(i),s=u.RangeUtil.readHorizontalRanges(this._getReadingTarget(),o,r,o,r,t.clientRectDeltaLeft,t.endNode);return s&&0!==s.length?s[0].left:-1},e.prototype._readRawVisibleRangesForRange=function(e,t,n){if(1===e&&t===this._characterMapping.length)return[new l.HorizontalRange(0,this.getWidth())];var i=this._characterMapping.charOffsetToPartData(e-1),o=a.CharacterMapping.getPartIndex(i),r=a.CharacterMapping.getCharIndex(i),s=this._characterMapping.charOffsetToPartData(t-1),c=a.CharacterMapping.getPartIndex(s),d=a.CharacterMapping.getCharIndex(s);return u.RangeUtil.readHorizontalRanges(this._getReadingTarget(),o,r,c,d,n.clientRectDeltaLeft,n.endNode)},e.prototype.getColumnOfNodeOffset=function(e,t,n){for(var i=t.textContent.length,o=-1;t;)t=t.previousSibling,o++;return this._characterMapping.partDataToCharOffset(o,i,n)+1},e}(),b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype._readVisibleRangesForRange=function(t,n,i){var o=e.prototype._readVisibleRangesForRange.call(this,t,n,i);if(!o||0===o.length||t===n||1===t&&n===this._characterMapping.length)return o;var r=this._readPixelOffset(n-1,i),s=this._readPixelOffset(n,i);if(-1!==r&&-1!==s){var a=r<=s,u=o[o.length-1];a&&u.left=4&&3===e[0]&&7===e[3]},e.isChildOfScrollableElement=function(e){return e.length>=2&&3===e[0]&&5===e[1]},e.isChildOfMinimap=function(e){return e.length>=2&&3===e[0]&&8===e[1]},e.isChildOfContentWidgets=function(e){return e.length>=4&&3===e[0]&&1===e[3]},e.isChildOfOverflowingContentWidgets=function(e){return e.length>=1&&2===e[0]},e.isChildOfOverlayWidgets=function(e){return e.length>=2&&3===e[0]&&4===e[1]},e}(),d=function(){function e(e,t,n){this.model=e.model,this.layoutInfo=e.configuration.editor.layoutInfo,this.viewDomNode=t.viewDomNode,this.lineHeight=e.configuration.editor.lineHeight,this.typicalHalfwidthCharacterWidth=e.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,this.lastViewCursorsRenderData=n,this._context=e,this._viewHelper=t}return e.prototype.getZoneAtCoord=function(e){var t=this._context.viewLayout.getWhitespaceAtVerticalOffset(e);if(t){var i=t.verticalOffset+t.height/2,o=this._context.model.getLineCount(),r=null,s=void 0,a=null;return t.afterLineNumber!==o&&(a=new n.Position(t.afterLineNumber+1,1)),t.afterLineNumber>0&&(r=new n.Position(t.afterLineNumber,this._context.model.getLineMaxColumn(t.afterLineNumber))),s=null===a?r:null===r?a:er.contentLeft+r.width)){var l=e.getVerticalOffsetForLineNumber(r.position.lineNumber);if(l<=u&&u<=l+r.height)return t.fulfill(o.MouseTargetType.CONTENT_TEXT,r.position)}return null},e._hitTestViewZone=function(e,t){var n=e.getZoneAtCoord(t.mouseVerticalOffset);if(n){var i=t.isInContentArea?o.MouseTargetType.CONTENT_VIEW_ZONE:o.MouseTargetType.GUTTER_VIEW_ZONE;return t.fulfill(i,n.position,null,n)}return null},e._hitTestTextArea=function(e,t){return c.isTextArea(t.targetPath)?t.fulfill(o.MouseTargetType.TEXTAREA):null},e._hitTestMargin=function(e,t){if(t.isInMarginArea){var n=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),i=n.range.getStartPosition(),r=Math.abs(t.pos.x-t.editorPos.x);return r<=e.layoutInfo.glyphMarginWidth?t.fulfill(o.MouseTargetType.GUTTER_GLYPH_MARGIN,i,n.range,n.isAfterLines):(r-=e.layoutInfo.glyphMarginWidth)<=e.layoutInfo.lineNumbersWidth?t.fulfill(o.MouseTargetType.GUTTER_LINE_NUMBERS,i,n.range,n.isAfterLines):(r-=e.layoutInfo.lineNumbersWidth,t.fulfill(o.MouseTargetType.GUTTER_LINE_DECORATIONS,i,n.range,n.isAfterLines))}return null},e._hitTestViewLines=function(t,i,r){if(!c.isChildOfViewLines(i.targetPath))return null;if(t.isAfterLines(i.mouseVerticalOffset)){var s=t.model.getLineCount(),a=t.model.getLineMaxColumn(s);return i.fulfill(o.MouseTargetType.CONTENT_EMPTY,new n.Position(s,a))}if(r)return i.fulfill(o.MouseTargetType.UNKNOWN);var u=e._doHitTest(t,i);return u.position?e.createMouseTargetFromHitTestPosition(t,i,u.position.lineNumber,u.position.column):this._createMouseTarget(t,i.withTarget(u.hitTarget),!0)},e._hitTestMinimap=function(e,t){if(c.isChildOfMinimap(t.targetPath)){var i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.model.getLineMaxColumn(i);return t.fulfill(o.MouseTargetType.SCROLLBAR,new n.Position(i,r))}return null},e._hitTestScrollbarSlider=function(e,t){if(c.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){var i=t.target.className;if(i&&/\b(slider|scrollbar)\b/.test(i)){var r=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),s=e.model.getLineMaxColumn(r);return t.fulfill(o.MouseTargetType.SCROLLBAR,new n.Position(r,s))}}return null},e._hitTestScrollbar=function(e,t){if(c.isChildOfScrollableElement(t.targetPath)){var i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.model.getLineMaxColumn(i);return t.fulfill(o.MouseTargetType.SCROLLBAR,new n.Position(i,r))}return null},e.prototype.getMouseColumn=function(t,n){var i=this._context.configuration.editor.layoutInfo,o=this._context.viewLayout.getScrollLeft()+n.x-t.x-i.contentLeft;return e._getMouseColumn(o,this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth)},e._getMouseColumn=function(e,t){return e<0?1:Math.round(e/t)+1},e.createMouseTargetFromHitTestPosition=function(e,t,r,a){var u=new n.Position(r,a),l=e.getLineWidth(r);if(t.mouseContentHorizontalOffset>l)return s.isEdge&&1===u.column?t.fulfill(o.MouseTargetType.CONTENT_EMPTY,new n.Position(r,e.model.getLineMaxColumn(r))):t.fulfill(o.MouseTargetType.CONTENT_EMPTY,u);var c=e.visibleRangeForPosition2(r,a);if(!c)return t.fulfill(o.MouseTargetType.UNKNOWN,u);var d=c.left;if(t.mouseContentHorizontalOffset===d)return t.fulfill(o.MouseTargetType.CONTENT_TEXT,u);var h;if(a>1){var p=c.left;if(h=!1,h=h||p=t.editorPos.y+e.layoutInfo.height&&(o=t.editorPos.y+e.layoutInfo.height-1);var s=new r.PageCoordinates(t.pos.x,o),a=this._actualDoHitTestWithCaretRangeFromPoint(e,s.toClientCoordinates());return a.position?a:this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates())},e._actualDoHitTestWithCaretRangeFromPoint=function(e,t){var n=document.caretRangeFromPoint(t.clientX,t.clientY);if(!n||!n.startContainer)return{position:null,hitTarget:null};var i,o=n.startContainer;if(o.nodeType===o.TEXT_NODE){var r=(a=(s=o.parentNode)?s.parentNode:null)?a.parentNode:null;if((r&&r.nodeType===r.ELEMENT_NODE?r.className:null)===u.ViewLine.CLASS_NAME)return{position:l=e.getPositionFromDOMInfo(s,n.startOffset),hitTarget:null};i=o.parentNode}else if(o.nodeType===o.ELEMENT_NODE){var s=o.parentNode,a=s?s.parentNode:null;if((a&&a.nodeType===a.ELEMENT_NODE?a.className:null)===u.ViewLine.CLASS_NAME){var l=e.getPositionFromDOMInfo(o,o.textContent.length);return{position:l,hitTarget:null}}i=o}return{position:null,hitTarget:i}},e._doHitTestWithCaretPositionFromPoint=function(e,t){var n=document.caretPositionFromPoint(t.clientX,t.clientY);if(n.offsetNode.nodeType===n.offsetNode.TEXT_NODE){var i=n.offsetNode.parentNode,o=i?i.parentNode:null,r=o?o.parentNode:null;return(r&&r.nodeType===r.ELEMENT_NODE?r.className:null)===u.ViewLine.CLASS_NAME?{position:e.getPositionFromDOMInfo(n.offsetNode.parentNode,n.offset),hitTarget:null}:{position:null,hitTarget:n.offsetNode.parentNode}}return{position:null,hitTarget:n.offsetNode}},e._doHitTestWithMoveToPoint=function(e,t){var n=null,i=null,o=document.body.createTextRange();try{o.moveToPoint(t.clientX,t.clientY)}catch(e){return{position:null,hitTarget:null}}o.collapse(!0);var r=o?o.parentElement():null,s=r?r.parentNode:null,a=s?s.parentNode:null;if((a&&a.nodeType===a.ELEMENT_NODE?a.className:"")===u.ViewLine.CLASS_NAME){var l=o.duplicate();l.moveToElementText(r),l.setEndPoint("EndToStart",o),n=e.getPositionFromDOMInfo(r,l.text.length),l.moveToElementText(e.viewDomNode)}else i=r;return o.moveToElementText(e.viewDomNode),{position:n,hitTarget:i}},e._doHitTest=function(e,t){return document.caretRangeFromPoint?this._doHitTestWithCaretRangeFromPoint(e,t):document.caretPositionFromPoint?this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates()):document.body.createTextRange?this._doHitTestWithMoveToPoint(e,t.pos.toClientCoordinates()):{position:null,hitTarget:null}},e}();t.MouseTargetFactory=p}),define(d[489],h([1,0,3,15,28,4,12,22,82,186,25,18,114,47,135]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g){"use strict";function m(e){return function(t,n){var i=!1;return e&&(i=e.mouseTargetIsWidget(n)),i||n.preventDefault(),n}}Object.defineProperty(t,"__esModule",{value:!0});var v=function(e){function t(n,i,o){var s=e.call(this)||this;s._isFocused=!1,s._context=n,s.viewController=i,s.viewHelper=o,s.mouseTargetFactory=new l.MouseTargetFactory(s._context,o),s._mouseDownOperation=s._register(new _(s._context,s.viewController,s.viewHelper,function(e,t){return s._createMouseTarget(e,t)},function(e){return s._getMouseColumn(e)})),s._asyncFocus=s._register(new d.RunOnceScheduler(function(){return s.viewHelper.focusTextArea()},0)),s.lastMouseLeaveTime=-1;var a=new h.EditorMouseEventFactory(s.viewHelper.viewDomNode);s._register(a.onContextMenu(s.viewHelper.viewDomNode,function(e){return s._onContextMenu(e,!0)})),s._register(a.onMouseMoveThrottled(s.viewHelper.viewDomNode,function(e){return s._onMouseMove(e)},m(s.mouseTargetFactory),t.MOUSE_MOVE_MINIMUM_TIME)),s._register(a.onMouseUp(s.viewHelper.viewDomNode,function(e){return s._onMouseUp(e)})),s._register(a.onMouseLeave(s.viewHelper.viewDomNode,function(e){return s._onMouseLeave(e)})),s._register(a.onMouseDown(s.viewHelper.viewDomNode,function(e){return s._onMouseDown(e)}));var u=function(e){if(s._context.configuration.editor.viewInfo.mouseWheelZoom){var t=new p.StandardMouseWheelEvent(e);if(t.browserEvent.ctrlKey||t.browserEvent.metaKey){var n=g.EditorZoom.getZoomLevel(),i=t.deltaY>0?1:-1;g.EditorZoom.setZoomLevel(n+i),t.preventDefault(),t.stopPropagation()}}};return s._register(r.addDisposableListener(s.viewHelper.viewDomNode,"mousewheel",u,!0)),s._register(r.addDisposableListener(s.viewHelper.viewDomNode,"DOMMouseScroll",u,!0)),s._context.addEventHandler(s),s}return f(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),e.prototype.dispose.call(this)},t.prototype.onCursorStateChanged=function(e){return this._mouseDownOperation.onCursorStateChanged(e),!1},t.prototype.onFocusChanged=function(e){return this._isFocused=e.isFocused,!1},t.prototype.onScrollChanged=function(e){return this._mouseDownOperation.onScrollChanged(),!1},t.prototype.getTargetAtClientPoint=function(e,t){var n=new h.ClientCoordinates(e,t).toPageCoordinates(),i=h.createEditorPagePosition(this.viewHelper.viewDomNode);if(n.yi.y+i.height||n.xi.x+i.width)return null;var o=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(o,i,n,null)},t.prototype._createMouseTarget=function(e,t){var n=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(n,e.editorPos,e.pos,t?e.target:null)},t.prototype._getMouseColumn=function(e){return this.mouseTargetFactory.getMouseColumn(e.editorPos,e.pos)},t.prototype._onContextMenu=function(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})},t.prototype._onMouseMove=function(e){this._mouseDownOperation.isActive()||e.timestampt.y+t.height){var a=i.getLineNumberAtVerticalOffset(i.getScrollTop()+(e.posy-t.y));return new l.MouseTarget(null,c.MouseTargetType.OUTSIDE_EDITOR,o,new s.Position(a,n.getLineMaxColumn(a)))}var u=i.getLineNumberAtVerticalOffset(i.getScrollTop()+(e.posy-t.y));return e.posxt.x+t.width?new l.MouseTarget(null,c.MouseTargetType.OUTSIDE_EDITOR,o,new s.Position(u,n.getLineMaxColumn(u))):null},t.prototype._findMousePosition=function(e,t){var n=this._getPositionOutsideEditor(e);if(n)return n;var i=this._createMouseTarget(e,t);if(!i.position)return null;if(i.type===c.MouseTargetType.CONTENT_VIEW_ZONE||i.type===c.MouseTargetType.GUTTER_VIEW_ZONE){var o=new s.Position(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),r=i.detail,a=r.positionBefore,u=r.positionAfter;if(a&&u)return a.isBefore(o)?new l.MouseTarget(i.element,i.type,i.mouseColumn,a,null,i.detail):new l.MouseTarget(i.element,i.type,i.mouseColumn,u,null,i.detail)}return i},t.prototype._dispatchMouse=function(e,t){this._viewController.dispatchMouse({position:e.position,mouseColumn:e.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})},t}(n.Disposable),y=function(){function e(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}return Object.defineProperty(e.prototype,"altKey",{get:function(){return this._altKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ctrlKey",{get:function(){return this._ctrlKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"metaKey",{get:function(){return this._metaKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"shiftKey",{get:function(){return this._shiftKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"startedOnLineNumbers",{get:function(){return this._startedOnLineNumbers},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"count",{get:function(){return this._lastMouseDownCount},enumerable:!0,configurable:!0}),e.prototype.setModifiers=function(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey},e.prototype.setStartedOnLineNumbers=function(e){this._startedOnLineNumbers=e},e.prototype.trySetCount=function(t,n){var i=(new Date).getTime();i-this._lastSetMouseDownCountTime>e.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=i,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(n)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=n,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)},e.CLEAR_MOUSE_DOWN_COUNT_TIME=400,e}()}),define(d[490],h([1,0,4,74,489,114]),function(e,t,n,i,o,r){"use strict";function s(e,t){var n={translationY:t.translationY,translationX:t.translationX};return e&&(n.translationY+=e.translationY,n.translationX+=e.translationX),n}Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t,i,o){var r=e.call(this,t,i,o)||this;return r.viewHelper.linesContentDomNode.style.msTouchAction="none",r.viewHelper.linesContentDomNode.style.msContentZooming="none",r._installGestureHandlerTimeout=window.setTimeout(function(){if(r._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=r.viewHelper.linesContentDomNode,t.target=r.viewHelper.linesContentDomNode,r.viewHelper.linesContentDomNode.addEventListener("MSPointerDown",function(n){var i=n.pointerType;i!==(n.MSPOINTER_TYPE_MOUSE||"mouse")?i===(n.MSPOINTER_TYPE_TOUCH||"touch")?(r._lastPointerType="touch",e.addPointer(n.pointerId)):(r._lastPointerType="pen",t.addPointer(n.pointerId)):r._lastPointerType="mouse"}),r._register(n.addDisposableThrottledListener(r.viewHelper.linesContentDomNode,"MSGestureChange",function(e){return r._onGestureChange(e)},s)),r._register(n.addDisposableListener(r.viewHelper.linesContentDomNode,"MSGestureTap",function(e){return r._onCaptureGestureTap(e)},!0))}},100),r._lastPointerType="mouse",r}return f(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,n=new r.EditorMouseEvent(e,this.viewHelper.viewDomNode),i=this._createMouseTarget(n,!1);i.position&&this.viewController.moveTo(i.position),n.browserEvent.fromElement?(n.preventDefault(),this.viewHelper.focusTextArea()):setTimeout(function(){t.viewHelper.focusTextArea()})},t.prototype._onGestureChange=function(e){var t=this._context.viewLayout;t.setScrollPosition({scrollLeft:t.getScrollLeft()-e.translationX,scrollTop:t.getScrollTop()-e.translationY})},t.prototype.dispose=function(){window.clearTimeout(this._installGestureHandlerTimeout),e.prototype.dispose.call(this)},t}(o.MouseHandler),u=function(e){function t(t,i,o){var r=e.call(this,t,i,o)||this;return r.viewHelper.linesContentDomNode.style.touchAction="none",r._installGestureHandlerTimeout=window.setTimeout(function(){if(r._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=r.viewHelper.linesContentDomNode,t.target=r.viewHelper.linesContentDomNode,r.viewHelper.linesContentDomNode.addEventListener("pointerdown",function(n){var i=n.pointerType;"mouse"!==i?"touch"===i?(r._lastPointerType="touch",e.addPointer(n.pointerId)):(r._lastPointerType="pen",t.addPointer(n.pointerId)):r._lastPointerType="mouse"}),r._register(n.addDisposableThrottledListener(r.viewHelper.linesContentDomNode,"MSGestureChange",function(e){return r._onGestureChange(e)},s)),r._register(n.addDisposableListener(r.viewHelper.linesContentDomNode,"MSGestureTap",function(e){return r._onCaptureGestureTap(e)},!0))}},100),r._lastPointerType="mouse",r}return f(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,n=new r.EditorMouseEvent(e,this.viewHelper.viewDomNode),i=this._createMouseTarget(n,!1);i.position&&this.viewController.moveTo(i.position),n.browserEvent.fromElement?(n.preventDefault(),this.viewHelper.focusTextArea()):setTimeout(function(){t.viewHelper.focusTextArea()})},t.prototype._onGestureChange=function(e){var t=this._context.viewLayout;t.setScrollPosition({scrollLeft:t.getScrollLeft()-e.translationX,scrollTop:t.getScrollTop()-e.translationY})},t.prototype.dispose=function(){window.clearTimeout(this._installGestureHandlerTimeout),e.prototype.dispose.call(this)},t}(o.MouseHandler),l=function(e){function t(t,o,s){var a=e.call(this,t,o,s)||this;return a.gesture=new i.Gesture(a.viewHelper.linesContentDomNode),a._register(n.addDisposableListener(a.viewHelper.linesContentDomNode,i.EventType.Tap,function(e){return a.onTap(e)})),a._register(n.addDisposableListener(a.viewHelper.linesContentDomNode,i.EventType.Change,function(e){return a.onChange(e)})),a._register(n.addDisposableListener(a.viewHelper.linesContentDomNode,i.EventType.Contextmenu,function(e){return a._onContextMenu(new r.EditorMouseEvent(e,a.viewHelper.viewDomNode),!1)})),a}return f(t,e),t.prototype.dispose=function(){this.gesture.dispose(),e.prototype.dispose.call(this)},t.prototype.onTap=function(e){e.preventDefault(),this.viewHelper.focusTextArea();var t=this._createMouseTarget(new r.EditorMouseEvent(e,this.viewHelper.viewDomNode),!1);t.position&&this.viewController.moveTo(t.position)},t.prototype.onChange=function(e){var t=this._context.viewLayout;t.setScrollPosition({scrollLeft:t.getScrollLeft()-e.translationX,scrollTop:t.getScrollTop()-e.translationY})},t}(o.MouseHandler),c=function(){function e(e,t,n){window.navigator.msPointerEnabled?this.handler=new a(e,t,n):window.TouchEvent?this.handler=new l(e,t,n):window.navigator.pointerEnabled?this.handler=new u(e,t,n):this.handler=new o.MouseHandler(e,t,n)}return e.prototype.getTargetAtClientPoint=function(e,t){return this.handler.getTargetAtClientPoint(e,t)},e.prototype.dispose=function(){this.handler.dispose()},e}();t.PointerHandler=c}),define(d[491],h([1,0,3,186,11]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var n=e.call(this)||this;return n._onDidScroll=n._register(new o.Emitter),n.onDidScroll=n._onDidScroll.event,n._onDidGainFocus=n._register(new o.Emitter),n.onDidGainFocus=n._onDidGainFocus.event,n._onDidLoseFocus=n._register(new o.Emitter),n.onDidLoseFocus=n._onDidLoseFocus.event,n._onKeyDown=n._register(new o.Emitter),n.onKeyDown=n._onKeyDown.event,n._onKeyUp=n._register(new o.Emitter),n.onKeyUp=n._onKeyUp.event,n._onContextMenu=n._register(new o.Emitter),n.onContextMenu=n._onContextMenu.event,n._onMouseMove=n._register(new o.Emitter),n.onMouseMove=n._onMouseMove.event,n._onMouseLeave=n._register(new o.Emitter),n.onMouseLeave=n._onMouseLeave.event,n._onMouseUp=n._register(new o.Emitter),n.onMouseUp=n._onMouseUp.event,n._onMouseDown=n._register(new o.Emitter),n.onMouseDown=n._onMouseDown.event,n._onMouseDrag=n._register(new o.Emitter),n.onMouseDrag=n._onMouseDrag.event,n._onMouseDrop=n._register(new o.Emitter),n.onMouseDrop=n._onMouseDrop.event,n._viewModel=t,n}return f(t,e),t.prototype.emitScrollChanged=function(e){this._onDidScroll.fire(e)},t.prototype.emitViewFocusGained=function(){this._onDidGainFocus.fire()},t.prototype.emitViewFocusLost=function(){this._onDidLoseFocus.fire()},t.prototype.emitKeyDown=function(e){this._onKeyDown.fire(e)},t.prototype.emitKeyUp=function(e){this._onKeyUp.fire(e)},t.prototype.emitContextMenu=function(e){this._onContextMenu.fire(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseMove=function(e){this._onMouseMove.fire(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseLeave=function(e){this._onMouseLeave.fire(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseUp=function(e){this._onMouseUp.fire(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDown=function(e){this._onMouseDown.fire(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDrag=function(e){this._onMouseDrag.fire(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDrop=function(e){this._onMouseDrop.fire(this._convertViewToModelMouseEvent(e))},t.prototype._convertViewToModelMouseEvent=function(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e},t.prototype._convertViewToModelMouseTarget=function(e){return new s(e.element,e.type,e.mouseColumn,e.position?this._convertViewToModelPosition(e.position):null,e.range?this._convertViewToModelRange(e.range):null,e.detail)},t.prototype._convertViewToModelPosition=function(e){return this._viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)},t.prototype._convertViewToModelRange=function(e){return this._viewModel.coordinatesConverter.convertViewRangeToModelRange(e)},t}(n.Disposable);t.ViewOutgoingEvents=r;var s=function(){function e(e,t,n,i,o,r){this.element=e,this.type=t,this.mouseColumn=n,this.position=i,this.range=o,this.detail=r}return e.prototype.toString=function(){return i.MouseTarget.toString(this)},e}()}),define(d[492],h([1,0,18,2,12,112,185,66,78,35,57,286]),function(e,t,n,i,o,r,s,a,u,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var d=function(){function e(){this._currentVisibleRange=new i.Range(1,1,1,1)}return e.prototype.getCurrentVisibleRange=function(){return this._currentVisibleRange},e.prototype.setCurrentVisibleRange=function(e){this._currentVisibleRange=e},e}(),h=function(e){function t(t,i){var o=e.call(this,t)||this;o._linesContent=i,o._textRangeRestingSpot=document.createElement("div"),o._visibleLines=new r.VisibleLinesCollection(o),o.domNode=o._visibleLines.domNode;var u=o._context.configuration;return o._lineHeight=u.editor.lineHeight,o._typicalHalfwidthCharacterWidth=u.editor.fontInfo.typicalHalfwidthCharacterWidth,o._isViewportWrapping=u.editor.wrappingInfo.isViewportWrapping,o._revealHorizontalRightPadding=u.editor.viewInfo.revealHorizontalRightPadding,o._canUseLayerHinting=u.editor.canUseLayerHinting,o._viewLineOptions=new s.ViewLineOptions(u,o._context.theme.type),l.PartFingerprints.write(o.domNode,7),o.domNode.setClassName("view-lines"),a.Configuration.applyFontInfo(o.domNode,u.editor.fontInfo),o._maxLineWidth=0,o._asyncUpdateLineWidths=new n.RunOnceScheduler(function(){o._updateLineWidths()},200),o._lastRenderedData=new d,o._lastCursorRevealRangeHorizontallyEvent=null,o}return f(t,e),t.prototype.dispose=function(){this._asyncUpdateLineWidths.dispose(),e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this.domNode},t.prototype.createVisibleLine=function(){return new s.ViewLine(this._viewLineOptions)},t.prototype.onConfigurationChanged=function(e){this._visibleLines.onConfigurationChanged(e),e.wrappingInfo&&(this._maxLineWidth=0);var t=this._context.configuration;return e.lineHeight&&(this._lineHeight=t.editor.lineHeight),e.fontInfo&&(this._typicalHalfwidthCharacterWidth=t.editor.fontInfo.typicalHalfwidthCharacterWidth),e.wrappingInfo&&(this._isViewportWrapping=t.editor.wrappingInfo.isViewportWrapping),e.viewInfo&&(this._revealHorizontalRightPadding=t.editor.viewInfo.revealHorizontalRightPadding),e.canUseLayerHinting&&(this._canUseLayerHinting=t.editor.canUseLayerHinting),e.fontInfo&&a.Configuration.applyFontInfo(this.domNode,t.editor.fontInfo),this._onOptionsMaybeChanged(),e.layoutInfo&&(this._maxLineWidth=0),!0},t.prototype._onOptionsMaybeChanged=function(){var e=this._context.configuration,t=new s.ViewLineOptions(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;for(var n=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber(),o=n;o<=i;o++)this._visibleLines.getVisibleLine(o).onOptionsChanged(this._viewLineOptions);return!0}return!1},t.prototype.onCursorStateChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=!1,o=t;o<=n;o++)i=this._visibleLines.getVisibleLine(o).onSelectionChanged()||i;return i},t.prototype.onDecorationsChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=t;i<=n;i++)this._visibleLines.getVisibleLine(i).onDecorationsChanged();return!0},t.prototype.onFlushed=function(e){var t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t},t.prototype.onLinesChanged=function(e){return this._visibleLines.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._visibleLines.onLinesDeleted(e)},t.prototype.onLinesInserted=function(e){return this._visibleLines.onLinesInserted(e)},t.prototype.onRevealRangeRequest=function(e){var t=this._computeScrollTopToRevealRange(this._context.viewLayout.getCurrentViewport(),e.range,e.verticalType);return e.revealHorizontal&&(this._lastCursorRevealRangeHorizontallyEvent=e),this._context.viewLayout.setScrollPosition({scrollTop:t}),!0},t.prototype.onScrollChanged=function(e){return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0},t.prototype.onTokensChanged=function(e){return this._visibleLines.onTokensChanged(e)},t.prototype.onZonesChanged=function(e){return this._visibleLines.onZonesChanged(e)},t.prototype.onThemeChanged=function(e){return this._onOptionsMaybeChanged()},t.prototype.getPositionFromDOMInfo=function(e,t){var n=this._getViewLineDomNode(e);if(null===n)return null;var i=this._getLineNumberFor(n);if(-1===i)return null;if(i<1||i>this._context.model.getLineCount())return null;if(1===this._context.model.getLineMaxColumn(i))return new o.Position(i,1);var r=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();if(is)return null;var a=this._visibleLines.getVisibleLine(i).getColumnOfNodeOffset(i,e,t),u=this._context.model.getLineMinColumn(i);return an?-1:this._visibleLines.getVisibleLine(e).getWidth()},t.prototype.linesVisibleRangesForRange=function(e,t){if(this.shouldRender())return null;var n=e.endLineNumber;if(!(e=i.Range.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange())))return null;var r,a=[],l=new s.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot);t&&(r=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new o.Position(e.startLineNumber,1)).lineNumber);for(var c=this._visibleLines.getStartLineNumber(),d=this._visibleLines.getEndLineNumber(),h=e.startLineNumber;h<=e.endLineNumber;h++)if(!(hd)){var p=h===e.startLineNumber?e.startColumn:1,f=h===e.endLineNumber?e.endColumn:this._context.model.getLineMaxColumn(h),g=this._visibleLines.getVisibleLine(h).getVisibleRangesForRange(p,f,l);g&&0!==g.length&&(t&&hr)){var u=a===e.startLineNumber?e.startColumn:1,l=a===e.endLineNumber?e.endColumn:this._context.model.getLineMaxColumn(a),c=this._visibleLines.getVisibleLine(a).getVisibleRangesForRange(u,l,n);c&&0!==c.length&&(t=t.concat(c))}return 0===t.length?null:t},t.prototype._updateLineWidths=function(){for(var e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber(),n=1,i=e;i<=t;i++){var o=this._visibleLines.getVisibleLine(i).getWidth();n=Math.max(n,o)}1===e&&t===this._context.model.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(n)},t.prototype.prepareRender=function(){throw new Error("Not supported")},t.prototype.render=function(){throw new Error("Not supported")},t.prototype.renderText=function(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._lastCursorRevealRangeHorizontallyEvent){var t=this._lastCursorRevealRangeHorizontallyEvent.range;this._lastCursorRevealRangeHorizontallyEvent=null,this.onDidRender();var n=this._computeScrollLeftToRevealRange(t);this._isViewportWrapping||this._ensureMaxLineWidth(n.maxHorizontalOffset),this._context.viewLayout.setScrollPosition({scrollLeft:n.scrollLeft})}this._linesContent.setLayerHinting(this._canUseLayerHinting);var i=this._context.viewLayout.getScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-i),this._linesContent.setLeft(-this._context.viewLayout.getScrollLeft()),this._asyncUpdateLineWidths.schedule()},t.prototype._ensureMaxLineWidth=function(e){var t=Math.ceil(e);this._maxLineWidthu&&(u=c.left+c.width)}return n=u,a=Math.max(0,a-t.HORIZONTAL_EXTRA_PX),u+=this._revealHorizontalRightPadding,{scrollLeft:this._computeMinimumScrolling(o,r,a,u),maxHorizontalOffset:n}},t.prototype._computeMinimumScrolling=function(e,t,n,i,o,r){o=!!o,r=!!r;var s=(t|=0)-(e|=0);return(i|=0)-(n|=0)t?Math.max(0,i-s):e:n},t.HORIZONTAL_EXTRA_PX=30,t}(l.ViewPart);t.ViewLines=h}),define(d[493],h([1,0,35,215,4,111,27,112,2,57,83,15,14,23,294]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p){"use strict";function g(e){return 2===e?4:4===e?6:1===e?2:3}function m(e){return 2===e?2:4===e?2:1}Object.defineProperty(t,"__esModule",{value:!0});var v;!function(e){e[e.None=0]="None",e[e.Small=1]="Small",e[e.Large=2]="Large",e[e.SmallBlocks=3]="SmallBlocks",e[e.LargeBlocks=4]="LargeBlocks"}(v||(v={}));var _=140,y=function(){function e(e){var t=e.editor.pixelRatio,n=e.editor.layoutInfo,i=e.editor.viewInfo,o=e.editor.fontInfo;this.renderMinimap=0|n.renderMinimap,this.scrollBeyondLastLine=i.scrollBeyondLastLine,this.showSlider=i.minimap.showSlider,this.pixelRatio=t,this.typicalHalfwidthCharacterWidth=o.typicalHalfwidthCharacterWidth,this.lineHeight=e.editor.lineHeight,this.minimapWidth=n.minimapWidth,this.minimapHeight=n.height,this.canvasInnerWidth=Math.max(1,Math.floor(t*this.minimapWidth)),this.canvasInnerHeight=Math.max(1,Math.floor(t*this.minimapHeight)),this.canvasOuterWidth=this.canvasInnerWidth/t,this.canvasOuterHeight=this.canvasInnerHeight/t}return e.prototype.equals=function(e){return this.renderMinimap===e.renderMinimap&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.showSlider===e.showSlider&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight},e}(),C=function(){function e(e,t,n,i,o,r,s){this.scrollTop=e,this.scrollHeight=t,this._computedSliderRatio=n,this.sliderTop=i,this.sliderHeight=o,this.startLineNumber=r,this.endLineNumber=s}return e.prototype.getDesiredScrollTopFromDelta=function(e){var t=this.sliderTop+e;return Math.round(t/this._computedSliderRatio)},e.create=function(t,n,i,o,r,s,a,u,l){var c,d=t.pixelRatio,h=g(t.renderMinimap),p=Math.floor(t.canvasInnerHeight/h),f=t.lineHeight;if(r&&i!==s){var m=i-n+1;c=Math.floor(m*h/d)}else{var v=o/f;c=Math.floor(v*h/d)}var _;_=t.scrollBeyondLastLine?(s-1)*h/d:Math.max(0,s*h/d-c);var y=(_=Math.min(t.minimapHeight-c,_))/(u-o),C=a*y;if(p>=s)return new e(a,u,y,C,c,b=1,w=s);var b=Math.max(1,Math.floor(n-C*d/h));l&&l.scrollHeight===u&&(l.scrollTop>a&&(b=Math.min(b,l.startLineNumber)),l.scrollTop_)a._context.viewLayout.setScrollPosition({scrollTop:i.scrollTop});else{var r=e.posy-t;a._context.viewLayout.setScrollPosition({scrollTop:i.getDesiredScrollTopFromDelta(r)})}},function(){a._slider.toggleClassName("active",!1)})}}),a}return f(t,e),t.prototype.dispose=function(){this._mouseDownListener.dispose(),this._sliderMouseMoveMonitor.dispose(),this._sliderMouseDownListener.dispose(),e.prototype.dispose.call(this)},t.prototype._getMinimapDomNodeClassName=function(){return"always"===this._options.showSlider?"minimap slider-always":"minimap slider-mouseover"},t.prototype.getDomNode=function(){return this._domNode},t.prototype._applyLayout=function(){this._domNode.setWidth(this._options.minimapWidth),this._domNode.setHeight(this._options.minimapHeight),this._shadow.setHeight(this._options.minimapHeight),this._canvas.setWidth(this._options.canvasOuterWidth),this._canvas.setHeight(this._options.canvasOuterHeight),this._canvas.domNode.width=this._options.canvasInnerWidth,this._canvas.domNode.height=this._options.canvasInnerHeight,this._slider.setWidth(this._options.minimapWidth)},t.prototype._getBuffer=function(){return this._buffers||(this._buffers=new S(this._canvas.domNode.getContext("2d"),this._options.canvasInnerWidth,this._options.canvasInnerHeight,this._tokensColorTracker.getColor(2))),this._buffers.getBuffer()},t.prototype._onOptionsMaybeChanged=function(){var e=new y(this._context.configuration);return!this._options.equals(e)&&(this._options=e,this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName()),!0)},t.prototype.onConfigurationChanged=function(e){return this._onOptionsMaybeChanged()},t.prototype.onFlushed=function(e){return this._lastRenderData=null,!0},t.prototype.onLinesChanged=function(e){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._lastRenderData&&this._lastRenderData.onLinesDeleted(e),!0},t.prototype.onLinesInserted=function(e){return this._lastRenderData&&this._lastRenderData.onLinesInserted(e),!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onTokensChanged=function(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)},t.prototype.onTokensColorsChanged=function(e){return this._lastRenderData=null,this._buffers=null,!0},t.prototype.onZonesChanged=function(e){return this._lastRenderData=null,!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){if(0!==this._options.renderMinimap){e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");var t=C.create(this._options,e.visibleRange.startLineNumber,e.visibleRange.endLineNumber,e.viewportHeight,e.viewportData.whitespaceViewportData.length>0,this._context.model.getLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight);var n=e.scrollLeft/this._options.typicalHalfwidthCharacterWidth,i=Math.min(this._options.minimapWidth,Math.round(n*m(this._options.renderMinimap)/this._options.pixelRatio));this._sliderHorizontal.setLeft(i),this._sliderHorizontal.setWidth(this._options.minimapWidth-i),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this._lastRenderData=this.renderLines(t)}else this._shadow.setClassName("minimap-shadow-hidden")},t.prototype.renderLines=function(e){var n=this._options.renderMinimap,i=e.startLineNumber,o=e.endLineNumber,r=g(n);if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){var s=this._lastRenderData._get();return new w(e,s.imageData,s.lines)}for(var a=this._getBuffer(),u=t._renderUntouchedLines(a,i,o,r,this._lastRenderData),l=this._context.model.getMinimapLinesRenderingData(i,o,u),c=l.tabSize,d=this._tokensColorTracker.getColor(2),h=this._tokensColorTracker.backgroundIsLight(),p=0,f=[],m=0,v=o-i+1;m=0&&wh)return;var S=l.charCodeAt(f);if(9===S){var E=a-(f+g)%a;g+=E-1,p+=E*d}else 32===S?p+=d:(2===i?r.x2RenderChar(e,p,s,S,w,t,n):1===i?r.x1RenderChar(e,p,s,S,w,t,n):4===i?r.x2BlockRenderChar(e,p,s,w,t,n):r.x1BlockRenderChar(e,p,s,w,t,n),p+=d)}},t}(n.ViewPart);t.Minimap=E,h.registerThemingParticipant(function(e,t){var n=e.getColor(p.scrollbarSliderBackground);if(n){var i=n.transparent(.5);t.addRule(".monaco-editor .minimap-slider, .monaco-editor .minimap-slider .minimap-slider-horizontal { background: "+i+"; }")}var o=e.getColor(p.scrollbarSliderHoverBackground);if(o){var r=o.transparent(.5);t.addRule(".monaco-editor .minimap-slider:hover, .monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: "+r+"; }")}var s=e.getColor(p.scrollbarSliderActiveBackground);if(s){var a=s.transparent(.5);t.addRule(".monaco-editor .minimap-slider.active, .monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: "+a+"; }")}var u=e.getColor(p.scrollbarShadow);u&&t.addRule(".monaco-editor .minimap-shadow-visible { box-shadow: "+u+" -6px 0 6px -6px inset; }")})}),define(d[494],h([1,0,27,35,14,23,300]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(e){function t(t){var i=e.call(this,t)||this;return i._scrollTop=0,i._width=0,i._updateWidth(),i._shouldShow=!1,i._useShadows=i._context.configuration.editor.viewInfo.scrollbar.useShadows,i._domNode=n.createFastDomNode(document.createElement("div")),i._domNode.setAttribute("role","presentation"),i._domNode.setAttribute("aria-hidden","true"),i}return f(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._updateShouldShow=function(){var e=this._useShadows&&this._scrollTop>0;return this._shouldShow!==e&&(this._shouldShow=e,!0)},t.prototype.getDomNode=function(){return this._domNode},t.prototype._updateWidth=function(){var e=this._context.configuration.editor.layoutInfo,t=e.width-e.minimapWidth;return this._width!==t&&(this._width=t,!0)},t.prototype.onConfigurationChanged=function(e){var t=!1;return e.viewInfo&&(this._useShadows=this._context.configuration.editor.viewInfo.scrollbar.useShadows),e.layoutInfo&&(t=this._updateWidth()),this._updateShouldShow()||t},t.prototype.onScrollChanged=function(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")},t}(i.ViewPart);t.ScrollDecorationViewPart=s,o.registerThemingParticipant(function(e,t){var n=e.getColor(r.scrollbarShadow);n&&t.addRule(".monaco-editor .scroll-decoration { box-shadow: "+n+" 0 6px 6px -6px inset; }")})}),define(d[495],h([1,0,14,23,67,28,306]),function(e,t,n,i,o,r){"use strict";function s(e){return new l(e)}function a(e){return new c(e.lineNumber,e.ranges.map(s))}Object.defineProperty(t,"__esModule",{value:!0});var u;!function(e){e[e.EXTERN=0]="EXTERN",e[e.INTERN=1]="INTERN",e[e.FLAT=2]="FLAT"}(u||(u={}));var l=function(){return function(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}(),c=function(){return function(e,t){this.lineNumber=e,this.ranges=t}}(),d=r.isEdgeOrIE,h=function(e){function t(t){var n=e.call(this)||this;return n._previousFrameVisibleRangesWithStyle=[],n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._roundedSelection=n._context.configuration.editor.viewInfo.roundedSelection,n._selections=[],n._renderResult=null,n._context.addEventHandler(n),n}return f(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._selections=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._roundedSelection=this._context.configuration.editor.viewInfo.roundedSelection),!0},t.prototype.onCursorStateChanged=function(e){return this._selections=e.selections.slice(0),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._visibleRangesHaveGaps=function(e){for(var t=0,n=e.length;t1)return!0;return!1},t.prototype._enrichVisibleRangesWithStyle=function(e,t){var n=null,i=null;if(t&&t.length>0&&e.length>0){for(var o=e[0].lineNumber,r=0;!n&&r=0;r--)t[r].lineNumber===s&&(i=t[r].ranges[0]);n&&!n.startStyle&&(n=null),i&&!i.startStyle&&(i=null)}for(var r=0,a=e.length;r0){var p=e[r-1].ranges[0].left,f=e[r-1].ranges[0].left+e[r-1].ranges[0].width;l===p?d.top=2:l>p&&(d.top=1),c===f?h.top=2:p'},t.prototype._actualRenderOneSelection=function(e,n,i,o){for(var r=o.length>0&&o[0].ranges[0].startStyle,s=this._lineHeight.toString(),a=(this._lineHeight-1).toString(),u=o.length>0?o[0].lineNumber:0,l=o.length>0?o[o.length-1].lineNumber:0,c=0,d=o.length;c1,l)}}this._previousFrameVisibleRangesWithStyle=r,this._renderResult=t},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;if(n<0||n>=this._renderResult.length)throw new Error("Unexpected render request");return this._renderResult[n]},t.SELECTION_CLASS_NAME="selected-text",t.SELECTION_TOP_LEFT="top-left-radius",t.SELECTION_BOTTOM_LEFT="bottom-left-radius",t.SELECTION_TOP_RIGHT="top-right-radius",t.SELECTION_BOTTOM_RIGHT="bottom-right-radius",t.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",t.ROUNDED_PIECE_WIDTH=10,t}(o.DynamicViewOverlay);t.SelectionsOverlay=h,n.registerThemingParticipant(function(e,t){var n=e.getColor(i.editorSelectionBackground);n&&t.addRule(".monaco-editor .focused .selected-text { background-color: "+n+"; }");var o=e.getColor(i.editorInactiveSelection);o&&t.addRule(".monaco-editor .selected-text { background-color: "+o+"; }");var r=e.getColor(i.editorSelectionForeground);r&&t.addRule(".monaco-editor .view-line span.inline-selected-text { color: "+r+"; }")})}),define(d[37],h([1,0,340,23,14,32]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.editorLineHighlight=i.registerColor("editor.lineHighlightBackground",{dark:null,light:null,hc:null},n.localize(0,null)),t.editorLineHighlightBorder=i.registerColor("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hc:"#f38518"},n.localize(1,null)),t.editorRangeHighlight=i.registerColor("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hc:null},n.localize(2,null)),t.editorCursorForeground=i.registerColor("editorCursor.foreground",{dark:"#AEAFAD",light:r.Color.black,hc:r.Color.white},n.localize(3,null)),t.editorCursorBackground=i.registerColor("editorCursor.background",null,n.localize(4,null)),t.editorWhitespaces=i.registerColor("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hc:"#e3e4e229"},n.localize(5,null)),t.editorIndentGuides=i.registerColor("editorIndentGuide.background",{dark:t.editorWhitespaces,light:t.editorWhitespaces,hc:t.editorWhitespaces},n.localize(6,null)),t.editorLineNumbers=i.registerColor("editorLineNumber.foreground",{dark:"#5A5A5A",light:"#2B91AF",hc:r.Color.white},n.localize(7,null)),t.editorRuler=i.registerColor("editorRuler.foreground",{dark:"#5A5A5A",light:r.Color.lightgrey,hc:r.Color.white},n.localize(8,null)),t.editorCodeLensForeground=i.registerColor("editorCodeLens.foreground",{dark:"#999999",light:"#999999",hc:"#999999"},n.localize(9,null)),t.editorBracketMatchBackground=i.registerColor("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hc:"#0064001a"},n.localize(10,null)),t.editorBracketMatchBorder=i.registerColor("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hc:"#fff"},n.localize(11,null)),t.editorOverviewRulerBorder=i.registerColor("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hc:"#7f7f7f4d"},n.localize(12,null)),t.editorGutter=i.registerColor("editorGutter.background",{dark:i.editorBackground,light:i.editorBackground,hc:i.editorBackground},n.localize(13,null)),t.editorErrorForeground=i.registerColor("editorError.foreground",{dark:"#FF0000",light:"#FF0000",hc:null},n.localize(14,null)),t.editorErrorBorder=i.registerColor("editorError.border",{dark:null,light:null,hc:r.Color.fromHex("#E47777").transparent(.8)},n.localize(15,null)),t.editorWarningForeground=i.registerColor("editorWarning.foreground",{dark:"#008000",light:"#008000",hc:null},n.localize(16,null)),t.editorWarningBorder=i.registerColor("editorWarning.border",{dark:null,light:null,hc:r.Color.fromHex("#71B771").transparent(.8)},n.localize(17,null)),o.registerThemingParticipant(function(e,n){var o=e.getColor(i.editorBackground);o&&n.addRule(".monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: "+o+"; }");var r=e.getColor(i.editorForeground);r&&n.addRule(".monaco-editor, .monaco-editor .inputarea.ime-input { color: "+r+"; }");var s=e.getColor(t.editorGutter);s&&n.addRule(".monaco-editor .margin { background-color: "+s+"; }");var a=e.getColor(t.editorRangeHighlight);a&&n.addRule(".monaco-editor .rangeHighlight { background-color: "+a+"; }");var u=e.getColor(i.activeContrastBorder);u&&n.addRule(".monaco-editor .rangeHighlight { border: 1px dotted "+u+"; }; }");var l=e.getColor(t.editorWhitespaces);l&&n.addRule(".vs-whitespace { color: "+l+" !important; }")})}),define(d[497],h([1,0,67,14,37,274]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._readOnly=n._context.configuration.editor.readOnly,n._renderLineHighlight=n._context.configuration.editor.viewInfo.renderLineHighlight,n._selectionIsEmpty=!0,n._primaryCursorIsInEditableRange=!0,n._primaryCursorLineNumber=1,n._scrollWidth=0,n._contentWidth=n._context.configuration.editor.layoutInfo.contentWidth,n._context.addEventHandler(n),n}return f(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.readOnly&&(this._readOnly=this._context.configuration.editor.readOnly),e.viewInfo&&(this._renderLineHighlight=this._context.configuration.editor.viewInfo.renderLineHighlight),e.layoutInfo&&(this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth),!0},t.prototype.onCursorStateChanged=function(e){var t=!1;this._primaryCursorIsInEditableRange!==e.isInEditableRange&&(this._primaryCursorIsInEditableRange=e.isInEditableRange,t=!0);var n=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==n&&(this._primaryCursorLineNumber=n,t=!0);var i=e.selections[0].isEmpty();return this._selectionIsEmpty!==i?(this._selectionIsEmpty=i,t=!0,!0):t},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollWidthChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){this._scrollWidth=e.scrollWidth},t.prototype.render=function(e,t){return t===this._primaryCursorLineNumber&&this._shouldShowCurrentLine()?'
    ':""},t.prototype._shouldShowCurrentLine=function(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty&&this._primaryCursorIsInEditableRange},t}(n.DynamicViewOverlay);t.CurrentLineHighlightOverlay=r,i.registerThemingParticipant(function(e,t){var n=e.getColor(o.editorLineHighlight);if(n&&t.addRule(".monaco-editor .view-overlays .current-line { background-color: "+n+"; }"),!n||n.isTransparent()||e.defines(o.editorLineHighlightBorder)){var i=e.getColor(o.editorLineHighlightBorder);i&&(t.addRule(".monaco-editor .view-overlays .current-line { border: 2px solid "+i+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"))}})}),define(d[498],h([1,0,67,14,37,277]),function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._renderLineHighlight=n._context.configuration.editor.viewInfo.renderLineHighlight,n._primaryCursorIsInEditableRange=!0,n._primaryCursorLineNumber=1,n._contentLeft=n._context.configuration.editor.layoutInfo.contentLeft,n._context.addEventHandler(n),n}return f(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._renderLineHighlight=this._context.configuration.editor.viewInfo.renderLineHighlight),e.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft),!0},t.prototype.onCursorStateChanged=function(e){var t=!1;this._primaryCursorIsInEditableRange!==e.isInEditableRange&&(this._primaryCursorIsInEditableRange=e.isInEditableRange,t=!0);var n=e.selections[0].positionLineNumber;return this._primaryCursorLineNumber!==n&&(this._primaryCursorLineNumber=n,t=!0),t},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e,t){return t===this._primaryCursorLineNumber&&this._shouldShowCurrentLine()?'
    ':""},t.prototype._shouldShowCurrentLine=function(){return("gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._primaryCursorIsInEditableRange},t}(n.DynamicViewOverlay);t.CurrentLineMarginHighlightOverlay=r,i.registerThemingParticipant(function(e,t){var n=e.getColor(o.editorLineHighlight);if(n)t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { background-color: "+n+"; border: none; }");else{var i=e.getColor(o.editorLineHighlightBorder);i&&t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid "+i+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")}})}),define(d[499],h([1,0,67,14,37,4,12,280]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._spaceWidth=n._context.configuration.editor.fontInfo.spaceWidth,n._enabled=n._context.configuration.editor.viewInfo.renderIndentGuides,n._renderResult=null,n._context.addEventHandler(n),n}return f(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.fontInfo&&(this._spaceWidth=this._context.configuration.editor.fontInfo.spaceWidth),e.viewInfo&&(this._enabled=this._context.configuration.editor.viewInfo.renderIndentGuides),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){if(this._enabled){for(var t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,i=this._context.model.getTabSize()*this._spaceWidth,o=this._lineHeight,a=r.computeScreenAwareSize(1),u=[],l=t;l<=n;l++){for(var c=l-t,d=this._context.model.getLineIndentGuide(l),h="",p=e.visibleRangeForPosition(new s.Position(l,1)),f=p?p.left:0,g=0;g',f+=i;u[c]=h}this._renderResult=u}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;if(n<0||n>=this._renderResult.length)throw new Error("Unexpected render request");return this._renderResult[n]},t}(n.DynamicViewOverlay);t.IndentGuidesOverlay=a,i.registerThemingParticipant(function(e,t){var n=e.getColor(o.editorIndentGuides);n&&t.addRule(".monaco-editor .lines-content .cigr { background-color: "+n+"; }")})}),define(d[188],h([1,0,37,14,15,67,12,283]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._readConfig(),n._lastCursorModelPosition=new s.Position(1,1),n._renderResult=null,n._context.addEventHandler(n),n}return f(t,e),t.prototype._readConfig=function(){var e=this._context.configuration.editor;this._lineHeight=e.lineHeight,this._renderLineNumbers=e.viewInfo.renderLineNumbers,this._renderCustomLineNumbers=e.viewInfo.renderCustomLineNumbers,this._renderRelativeLineNumbers=e.viewInfo.renderRelativeLineNumbers,this._lineNumbersLeft=e.layoutInfo.lineNumbersLeft,this._lineNumbersWidth=e.layoutInfo.lineNumbersWidth},t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return this._readConfig(),!0},t.prototype.onCursorStateChanged=function(e){var t=e.selections[0].getPosition();return this._lastCursorModelPosition=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(t),!!this._renderRelativeLineNumbers},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getLineRenderLineNumber=function(e){var t=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new s.Position(e,1));if(1!==t.column)return"";var n=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(n);if(this._renderRelativeLineNumbers){var i=Math.abs(this._lastCursorModelPosition.lineNumber-n);return 0===i?''+n+"":String(i)}return String(n)},t.prototype.prepareRender=function(e){if(this._renderLineNumbers){for(var n=o.isLinux?this._lineHeight%2==0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,s='
    ',a=[],u=i;u<=r;u++){var l=u-i,c=this._getLineRenderLineNumber(u);a[l]=c?s+c+"
    ":""}this._renderResult=a}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;if(n<0||n>=this._renderResult.length)throw new Error("Unexpected render request");return this._renderResult[n]},t.CLASS_NAME="line-numbers",t}(r.DynamicViewOverlay);t.LineNumbersOverlay=a,i.registerThemingParticipant(function(e,t){var i=e.getColor(n.editorLineNumbers);i&&t.addRule(".monaco-editor .line-numbers { color: "+i+"; }")})}),define(d[501],h([1,0,15,28,154,151,2,22,12,66,57,27,35,182,188,270]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g){"use strict";function m(e,t){var n=document.createElement("canvas").getContext("2d");n.font=v(t);var o=n.measureText(e);return i.isFirefox?o.width+2:o.width}function v(e){return _("normal",e.fontWeight,e.fontSize,e.lineHeight,e.fontFamily)}function _(e,t,n,i,o){return e+" normal "+t+" "+n+"px / "+i+"px "+o}Object.defineProperty(t,"__esModule",{value:!0});var y=function(){function e(e,t,n){this.top=e,this.left=t,this.width=n}return e.prototype.setWidth=function(t){return new e(this.top,this.left,t)},e}(),C=i.isEdgeOrIE||i.isFirefox,b=function(e){function t(t,n,u){var l=e.call(this,t)||this;l._primaryCursorVisibleRange=null,l._viewController=n,l._viewHelper=u;var p=l._context.configuration.editor;l._pixelRatio=p.pixelRatio,l._accessibilitySupport=p.accessibilitySupport,l._contentLeft=p.layoutInfo.contentLeft,l._contentWidth=p.layoutInfo.contentWidth,l._contentHeight=p.layoutInfo.contentHeight,l._scrollLeft=0,l._scrollTop=0,l._fontInfo=p.fontInfo,l._lineHeight=p.lineHeight,l._emptySelectionClipboard=p.emptySelectionClipboard,l._visibleTextArea=null,l._selections=[new a.Selection(1,1,1,1)],l._lastCopiedValue=null,l._lastCopiedValueIsFromEmptySelection=!1,l.textArea=d.createFastDomNode(document.createElement("textarea")),h.PartFingerprints.write(l.textArea,6),l.textArea.setClassName("inputarea"),l.textArea.setAttribute("wrap","off"),l.textArea.setAttribute("autocorrect","off"),l.textArea.setAttribute("autocapitalize","off"),l.textArea.setAttribute("autocomplete","off"),l.textArea.setAttribute("spellcheck","false"),l.textArea.setAttribute("aria-label",p.viewInfo.ariaLabel),l.textArea.setAttribute("role","textbox"),l.textArea.setAttribute("aria-multiline","true"),l.textArea.setAttribute("aria-haspopup","false"),l.textArea.setAttribute("aria-autocomplete","both"),l.textAreaCover=d.createFastDomNode(document.createElement("div")),l.textAreaCover.setPosition("absolute");var f={getLineCount:function(){return l._context.model.getLineCount()},getLineMaxColumn:function(e){return l._context.model.getLineMaxColumn(e)},getValueInRange:function(e,t){return l._context.model.getValueInRange(e,t)}},g={getPlainTextToCopy:function(){var e=l._context.model.getPlainTextToCopy(l._selections,l._emptySelectionClipboard);if(l._emptySelectionClipboard){i.isFirefox?l._lastCopiedValue=e.replace(/\r\n/g,"\n"):l._lastCopiedValue=e;var t=l._selections;l._lastCopiedValueIsFromEmptySelection=1===t.length&&t[0].isEmpty()}return e},getHTMLToCopy:function(){return l._context.model.getHTMLToCopy(l._selections,l._emptySelectionClipboard)},getScreenReaderContent:function(e){return i.isIPad?r.TextAreaState.EMPTY:1===l._accessibilitySupport?r.TextAreaState.EMPTY:r.PagedScreenReaderStrategy.fromEditorSelection(e,f,l._selections[0])}};return l._textAreaInput=l._register(new o.TextAreaInput(g,l.textArea)),l._register(l._textAreaInput.onKeyDown(function(e){l._viewController.emitKeyDown(e)})),l._register(l._textAreaInput.onKeyUp(function(e){l._viewController.emitKeyUp(e)})),l._register(l._textAreaInput.onPaste(function(e){var t=!1;l._emptySelectionClipboard&&(t=e.text===l._lastCopiedValue&&l._lastCopiedValueIsFromEmptySelection),l._viewController.paste("keyboard",e.text,t)})),l._register(l._textAreaInput.onCut(function(){l._viewController.cut("keyboard")})),l._register(l._textAreaInput.onType(function(e){e.replaceCharCnt?l._viewController.replacePreviousChar("keyboard",e.text,e.replaceCharCnt):l._viewController.type("keyboard",e.text)})),l._register(l._textAreaInput.onCompositionStart(function(){var e=l._selections[0].startLineNumber,t=l._selections[0].startColumn;l._context.privateViewEventBus.emit(new c.ViewRevealRangeRequestEvent(new s.Range(e,t,e,t),0,!0));var n=l._viewHelper.visibleRangeForPositionRelativeToEditor(e,t);n&&(l._visibleTextArea=new y(l._context.viewLayout.getVerticalOffsetForLineNumber(e),n.left,C?0:1),l._render()),l.textArea.setClassName("inputarea ime-input"),l._viewController.compositionStart("keyboard")})),l._register(l._textAreaInput.onCompositionUpdate(function(e){i.isEdgeOrIE?l._visibleTextArea=l._visibleTextArea.setWidth(0):l._visibleTextArea=l._visibleTextArea.setWidth(m(e.data,l._fontInfo)),l._render()})),l._register(l._textAreaInput.onCompositionEnd(function(){l._visibleTextArea=null,l._render(),l.textArea.setClassName("inputarea"),l._viewController.compositionEnd("keyboard")})),l._register(l._textAreaInput.onFocus(function(){l._context.privateViewEventBus.emit(new c.ViewFocusChangedEvent(!0))})),l._register(l._textAreaInput.onBlur(function(){l._context.privateViewEventBus.emit(new c.ViewFocusChangedEvent(!1))})),l}return f(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.editor;return e.fontInfo&&(this._fontInfo=t.fontInfo),e.viewInfo&&this.textArea.setAttribute("aria-label",t.viewInfo.ariaLabel),e.layoutInfo&&(this._contentLeft=t.layoutInfo.contentLeft,this._contentWidth=t.layoutInfo.contentWidth,this._contentHeight=t.layoutInfo.contentHeight),e.lineHeight&&(this._lineHeight=t.lineHeight),e.pixelRatio&&(this._pixelRatio=t.pixelRatio),e.accessibilitySupport&&(this._accessibilitySupport=t.accessibilitySupport,this._textAreaInput.writeScreenReaderContent("strategy changed")),e.emptySelectionClipboard&&(this._emptySelectionClipboard=t.emptySelectionClipboard),!0},t.prototype.onCursorStateChanged=function(e){return this._selections=e.selections.slice(0),this._textAreaInput.writeScreenReaderContent("selection changed"),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0},t.prototype.onZonesChanged=function(e){return!0},t.prototype.isFocused=function(){return this._textAreaInput.isFocused()},t.prototype.focusTextArea=function(){this._textAreaInput.focusTextArea()},t.prototype.setAriaActiveDescendant=function(e){e?(this.textArea.setAttribute("role","combobox"),this.textArea.getAttribute("aria-activedescendant")!==e&&(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-activedescendant",e))):(this.textArea.setAttribute("role","textbox"),this.textArea.removeAttribute("aria-activedescendant"),this.textArea.removeAttribute("aria-haspopup"))},t.prototype.prepareRender=function(e){if(2===this._accessibilitySupport)this._primaryCursorVisibleRange=null;else{var t=new u.Position(this._selections[0].positionLineNumber,this._selections[0].positionColumn);this._primaryCursorVisibleRange=e.visibleRangeForPosition(t)}},t.prototype.render=function(e){this._textAreaInput.writeScreenReaderContent("render"),this._render()},t.prototype._render=function(){if(this._visibleTextArea)this._renderInsideEditor(this._visibleTextArea.top-this._scrollTop,this._contentLeft+this._visibleTextArea.left-this._scrollLeft,this._visibleTextArea.width,this._lineHeight,!0);else if(this._primaryCursorVisibleRange){var e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(ethis._contentLeft+this._contentWidth)this._renderAtTopLeft();else{var t=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;t<0||t>this._contentHeight?this._renderAtTopLeft():this._renderInsideEditor(t,e,C?0:1,C?0:1,!1)}}else this._renderAtTopLeft()},t.prototype._renderInsideEditor=function(e,t,n,i,o){var r=this.textArea,s=this.textAreaCover;o?l.Configuration.applyFontInfo(r,this._fontInfo):(r.setFontSize(1),r.setLineHeight(this._fontInfo.lineHeight)),r.setTop(e),r.setLeft(t),r.setWidth(n),r.setHeight(i),s.setTop(0),s.setLeft(0),s.setWidth(0),s.setHeight(0)},t.prototype._renderAtTopLeft=function(){var e=this.textArea,t=this.textAreaCover;if(l.Configuration.applyFontInfo(e,this._fontInfo),e.setTop(0),e.setLeft(0),t.setTop(0),t.setLeft(0),C)return e.setWidth(0),e.setHeight(0),t.setWidth(0),void t.setHeight(0);e.setWidth(1),e.setHeight(1),t.setWidth(1),t.setHeight(1),this._context.configuration.editor.viewInfo.glyphMargin?t.setClassName("monaco-editor-background textAreaCover "+p.Margin.CLASS_NAME):this._context.configuration.editor.viewInfo.renderLineNumbers?t.setClassName("monaco-editor-background textAreaCover "+g.LineNumbersOverlay.CLASS_NAME):t.setClassName("monaco-editor-background textAreaCover")},t}(h.ViewPart);t.TextAreaHandler=b}),define(d[502],h([1,0,27,35,14,37,4,299]),function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){var i=e.call(this,t)||this;return i.domNode=n.createFastDomNode(document.createElement("div")),i.domNode.setAttribute("role","presentation"),i.domNode.setAttribute("aria-hidden","true"),i.domNode.setClassName("view-rulers"),i._renderedRulers=[],i._rulers=i._context.configuration.editor.viewInfo.rulers,i._height=i._context.configuration.editor.layoutInfo.contentHeight,i._typicalHalfwidthCharacterWidth=i._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,i}return f(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return!!(e.viewInfo||e.layoutInfo||e.fontInfo)&&(this._rulers=this._context.configuration.editor.viewInfo.rulers,this._height=this._context.configuration.editor.layoutInfo.contentHeight,this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,!0)},t.prototype.onScrollChanged=function(e){return e.scrollHeightChanged},t.prototype.prepareRender=function(e){},t.prototype._ensureRulersCount=function(){var e=this._renderedRulers.length,t=this._rulers.length;if(e!==t)if(e0;)(a=n.createFastDomNode(document.createElement("div"))).setClassName("view-ruler"),a.setWidth(i),this.domNode.appendChild(a),this._renderedRulers.push(a),o--;else for(var r=e-t;r>0;){var a=this._renderedRulers.pop();this.domNode.removeChild(a),r--}},t.prototype.render=function(e){this._ensureRulersCount();for(var t=0,n=this._rulers.length;tt.length)for(var a=this._secondaryCursors.length-t.length,r=0;r0){var _=e[r-1];m=0===_.originalEndLineNumber?_.originalStartLineNumber+1:_.originalEndLineNumber+1,v=0===_.modifiedEndLineNumber?_.modifiedStartLineNumber+1:_.modifiedEndLineNumber+1}var y=f-3+1,C=g-3+1;yL&&(M+=k=L-M,T+=k),T>x){var k=x-T;M+=k,T+=k}h[p++]=new S(b,M,w,T),i[o++]=new E(h)}for(var I=i[0].entries,D=[],O=0,r=1,s=i.length;rg)&&(g=b),0!==w&&(0===m||wv)&&(v=S)}var E=document.createElement("div");E.className="diff-review-row";var L=document.createElement("div");L.className="diff-review-cell diff-review-summary",L.appendChild(document.createTextNode(d+1+"/"+this._diffs.length+": @@ -"+f+","+(g-f+1)+" +"+m+","+(v-m+1)+" @@")),E.setAttribute("data-line",String(m)),E.setAttribute("aria-label",n.localize(1,null,d+1,this._diffs.length,f,g-f+1,m,v-m+1)),E.appendChild(L),E.setAttribute("role","listitem"),p.appendChild(E);for(var x=m,_=0,y=h.length;_=i)s.push(a),o++;else{var u=t[n],l=u.compareTo(a);l<0?n++:l>0?(s.push(a),o++):(s.push(u),n++,o++)}}this._zones=s},e.prototype.setLineHeight=function(e){return this._lineHeight!==e&&(this._lineHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.setPixelRatio=function(e){this._pixelRatio=e,this._colorZonesInvalid=!0},e.prototype.getDOMWidth=function(){return this._domWidth},e.prototype.getCanvasWidth=function(){return this._domWidth*this._pixelRatio},e.prototype.setDOMWidth=function(e){return this._domWidth!==e&&(this._domWidth=e,this._colorZonesInvalid=!0,!0)},e.prototype.getDOMHeight=function(){return this._domHeight},e.prototype.getCanvasHeight=function(){return this._domHeight*this._pixelRatio},e.prototype.setDOMHeight=function(e){return this._domHeight!==e&&(this._domHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.getOuterHeight=function(){return this._outerHeight},e.prototype.setOuterHeight=function(e){return this._outerHeight!==e&&(this._outerHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.setMaximumHeight=function(e){return this._maximumHeight!==e&&(this._maximumHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.setMinimumHeight=function(e){return this._minimumHeight!==e&&(this._minimumHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.setThemeType=function(e){return this._themeType!==e&&(this._themeType=e,this._colorZonesInvalid=!0,!0)},e.prototype.resolveColorZones=function(){for(var e=this._colorZonesInvalid,t=Math.floor(this._lineHeight),n=Math.floor(this.getCanvasHeight()),i=Math.floor(this._maximumHeight*this._pixelRatio),o=Math.floor(this._minimumHeight*this._pixelRatio),r=this._themeType,s=n/Math.floor(this._outerHeight),a=[],u=0,l=this._zones.length;u_)for(var y=c.startLineNumber;y<=c.endLineNumber;y++)v=(m=Math.floor(this._getVerticalOffsetForLine(y)))+t,m=Math.floor(m*s),v=Math.floor(v*s),f.push(this.createZone(n,m,v,o,i,c.getColor(r),c.position));else f.push(this.createZone(n,m,v,o,_,c.getColor(r),c.position))}c.setColorZones(f);for(var h=0,p=f.length;hr/2&&(l=r/2),le&&(u=e-l);var c=this._color2Id[s];return c||(c=++this._lastAssignedId,this._color2Id[s]=c,this._id2Color[c]=s),new i(u-l,u+l,c,a)},e}();t.OverviewZoneManager=r}),define(d[190],h([1,0,27,20,140,14]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t,i,s,a,u,l,c){this._canvasLeftOffset=e,this._domNode=n.createFastDomNode(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._lanesCount=3,this._background=null,this._zoneManager=new o.OverviewZoneManager(c),this._zoneManager.setMinimumHeight(u),this._zoneManager.setMaximumHeight(l),this._zoneManager.setThemeType(r.LIGHT),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(i),this._zoneManager.setLineHeight(s),this._zoneManager.setPixelRatio(a)}return e.prototype.dispose=function(){this._zoneManager=null},e.prototype.setLayout=function(e,t){this._domNode.setTop(e.top),this._domNode.setRight(e.right);var n=!1;n=this._zoneManager.setDOMWidth(e.width)||n,(n=this._zoneManager.setDOMHeight(e.height)||n)&&(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(),t&&this.render(!0))},e.prototype.getLanesCount=function(){return this._lanesCount},e.prototype.setLanesCount=function(e,t){this._lanesCount=e,t&&this.render(!0)},e.prototype.setThemeType=function(e,t){this._zoneManager.setThemeType(e),t&&this.render(!0)},e.prototype.setUseBackground=function(e,t){this._background=e,t&&this.render(!0)},e.prototype.getDomNode=function(){return this._domNode.domNode},e.prototype.getPixelWidth=function(){return this._zoneManager.getCanvasWidth()},e.prototype.getPixelHeight=function(){return this._zoneManager.getCanvasHeight()},e.prototype.setScrollHeight=function(e,t){this._zoneManager.setOuterHeight(e),t&&this.render(!0)},e.prototype.setLineHeight=function(e,t){this._zoneManager.setLineHeight(e),t&&this.render(!0)},e.prototype.setPixelRatio=function(e,t){this._zoneManager.setPixelRatio(e),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(),t&&this.render(!0)},e.prototype.setZones=function(e,t){this._zoneManager.setZones(e),t&&this.render(!1)},e.prototype.render=function(e){if(0===this._zoneManager.getOuterHeight())return!1;var t=this._zoneManager.getCanvasWidth(),n=this._zoneManager.getCanvasHeight(),i=this._zoneManager.resolveColorZones(),o=this._zoneManager.getId2Color(),r=this._domNode.domNode.getContext("2d");if(null===this._background?r.clearRect(0,0,t,n):(r.fillStyle=this._background.toRGBHex(),r.fillRect(0,0,t,n)),i.length>0){var s=t-this._canvasLeftOffset;this._lanesCount>=3?this._renderThreeLanes(r,i,o,s):2===this._lanesCount?this._renderTwoLanes(r,i,o,s):1===this._lanesCount&&this._renderOneLane(r,i,o,s)}return!0},e.prototype._renderOneLane=function(e,t,n,o){this._renderVerticalPatch(e,t,n,i.OverviewRulerLane.Left|i.OverviewRulerLane.Center|i.OverviewRulerLane.Right,this._canvasLeftOffset,o)},e.prototype._renderTwoLanes=function(e,t,n,o){var r=Math.floor(o/2),s=o-r,a=this._canvasLeftOffset,u=this._canvasLeftOffset+r;this._renderVerticalPatch(e,t,n,i.OverviewRulerLane.Left|i.OverviewRulerLane.Center,a,r),this._renderVerticalPatch(e,t,n,i.OverviewRulerLane.Right,u,s)},e.prototype._renderThreeLanes=function(e,t,n,o){var r=Math.floor(o/3),s=Math.floor(o/3),a=o-r-s,u=this._canvasLeftOffset,l=this._canvasLeftOffset+r,c=this._canvasLeftOffset+r+a;this._renderVerticalPatch(e,t,n,i.OverviewRulerLane.Left,u,r),this._renderVerticalPatch(e,t,n,i.OverviewRulerLane.Center,l,a),this._renderVerticalPatch(e,t,n,i.OverviewRulerLane.Right,c,s)},e.prototype._renderVerticalPatch=function(e,t,n,i,o,r){for(var s=0,a=0,u=0,l=0,c=t.length;l=p?u=Math.max(u,f):(e.fillRect(o,a,r,u-a),a=p,u=f)}}e.fillRect(o,a,r,u-a)},e}();t.OverviewRulerImpl=s}),define(d[507],h([1,0,20,35,190,17,140,37,32]),function(e,t,n,i,o,r,s,a,u){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l=function(e){function t(n){var i=e.call(this,n)||this;return i._overviewRuler=new o.OverviewRulerImpl(1,"decorationsOverviewRuler",i._context.viewLayout.getScrollHeight(),i._context.configuration.editor.lineHeight,i._context.configuration.editor.pixelRatio,t.MIN_DECORATION_HEIGHT,t.MAX_DECORATION_HEIGHT,function(e){return i._context.viewLayout.getVerticalOffsetForLineNumber(e)}),i._overviewRuler.setLanesCount(i._context.configuration.editor.viewInfo.overviewRulerLanes,!1),i._overviewRuler.setLayout(i._context.configuration.editor.layoutInfo.overviewRuler,!1),i._renderBorder=i._context.configuration.editor.viewInfo.overviewRulerBorder,i._updateColors(),i._updateBackground(!1),i._tokensColorTrackerListener=r.TokenizationRegistry.onDidChange(function(e){e.changedColorMap&&i._updateBackground(!0)}),i._shouldUpdateDecorations=!0,i._zonesFromDecorations=[],i._shouldUpdateCursorPosition=!0,i._hideCursor=i._context.configuration.editor.viewInfo.hideCursorInOverviewRuler,i._zonesFromCursors=[],i._cursorPositions=[],i}return f(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._overviewRuler.dispose(),this._tokensColorTrackerListener.dispose()},t.prototype._updateBackground=function(e){var t=this._context.configuration.editor.viewInfo.minimap.enabled;this._overviewRuler.setUseBackground(t?r.TokenizationRegistry.getDefaultBackground():null,e)},t.prototype.onConfigurationChanged=function(e){var t=this._overviewRuler.getLanesCount(),n=this._context.configuration.editor.viewInfo.overviewRulerLanes;return t!==n&&this._overviewRuler.setLanesCount(n,!1),e.lineHeight&&this._overviewRuler.setLineHeight(this._context.configuration.editor.lineHeight,!1),e.pixelRatio&&this._overviewRuler.setPixelRatio(this._context.configuration.editor.pixelRatio,!1),e.viewInfo&&(this._renderBorder=this._context.configuration.editor.viewInfo.overviewRulerBorder,this._hideCursor=this._context.configuration.editor.viewInfo.hideCursorInOverviewRuler,this._shouldUpdateCursorPosition=!0,this._updateBackground(!1)),e.layoutInfo&&this._overviewRuler.setLayout(this._context.configuration.editor.layoutInfo.overviewRuler,!1),!0},t.prototype.onCursorStateChanged=function(e){this._shouldUpdateCursorPosition=!0,this._cursorPositions=[];for(var t=0,n=e.selections.length;t0&&(this._zonesFromDecorations.length>0||this._zonesFromCursors.length>0)){var n=this._overviewRuler.getDomNode().getContext("2d");n.beginPath(),n.lineWidth=1,n.strokeStyle=this._borderColor,n.moveTo(0,0),n.lineTo(0,this._overviewRuler.getPixelHeight()),n.stroke(),n.moveTo(0,0),n.lineTo(this._overviewRuler.getPixelWidth(),0),n.stroke()}},t.MIN_DECORATION_HEIGHT=6,t.MAX_DECORATION_HEIGHT=60,t}(i.ViewPart);t.DecorationsOverviewRuler=l}),define(d[508],h([1,0,82,190]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,n,o,r){var s=e.call(this)||this;return s._context=t,s._overviewRuler=new i.OverviewRulerImpl(0,n,s._context.viewLayout.getScrollHeight(),s._context.configuration.editor.lineHeight,s._context.configuration.editor.pixelRatio,o,r,function(e){return s._context.viewLayout.getVerticalOffsetForLineNumber(e)}),s._context.addEventHandler(s),s}return f(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._overviewRuler.dispose(),e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&this._overviewRuler.setLineHeight(this._context.configuration.editor.lineHeight,!0),e.pixelRatio&&this._overviewRuler.setPixelRatio(this._context.configuration.editor.pixelRatio,!0),!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onScrollChanged=function(t){return this._overviewRuler.setScrollHeight(t.scrollHeight,!0),e.prototype.onScrollChanged.call(this,t)||t.scrollHeightChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.getDomNode=function(){return this._overviewRuler.getDomNode()},t.prototype.setLayout=function(e){this._overviewRuler.setLayout(e,!0)},t.prototype.setZones=function(e){this._overviewRuler.setZones(e,!0)},t}(n.ViewEventHandler);t.OverviewRuler=o}),define(d[509],h([1,0,10,4,27,2,82,501,490,449,217,443,230,497,498,231,113,188,499,492,182,233,235,236,507,508,502,494,495,503,237,35,216,78,491,221,486,493,57,14]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,v,_,y,C,b,w,S,E,L,x,N,M,T,k,I,D,O,R,P,A,F,W,B,V){"use strict";function H(e){try{return e()}catch(e){n.onUnexpectedError(e)}}function z(e,t){try{return e(t)}catch(e){n.onUnexpectedError(e)}}Object.defineProperty(t,"__esModule",{value:!0});var K=function(e){function t(t,n,i,o,r,s){var d=e.call(this)||this;d._isDisposed=!1,d._cursor=r,d._renderAnimationFrame=null,d.outgoingEvents=new P.ViewOutgoingEvents(o);var h=new l.ViewController(n,o,s,d.outgoingEvents,t);return d.eventDispatcher=new c.ViewEventDispatcher(function(e){return d._renderOnce(e)}),d.eventDispatcher.addEventHandler(d),d._context=new O.ViewContext(n,i.getTheme(),o,d.eventDispatcher),d._register(i.onThemeChange(function(e){d._context.theme=e,d.eventDispatcher.emit(new B.ViewThemeChangedEvent),d.render(!0,!1)})),d.viewParts=[],d._textAreaHandler=new a.TextAreaHandler(d._context,h,d.createTextAreaHandlerHelper()),d.viewParts.push(d._textAreaHandler),d.createViewParts(),d._setLayout(),d.pointerHandler=new u.PointerHandler(d._context,h,d.createPointerHandlerHelper()),d._register(o.addEventListener(function(e){d.eventDispatcher.emitMany(e)})),d._register(d._cursor.addEventListener(function(e){d.eventDispatcher.emitMany(e)})),d}return f(t,e),t.prototype.createViewParts=function(){this.linesContent=o.createFastDomNode(document.createElement("div")),this.linesContent.setClassName("lines-content monaco-editor-background"),this.linesContent.setPosition("absolute"),this.domNode=o.createFastDomNode(document.createElement("div")),this.domNode.setClassName(this.getEditorClassName()),this.overflowGuardContainer=o.createFastDomNode(document.createElement("div")),D.PartFingerprints.write(this.overflowGuardContainer,3),this.overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new F.EditorScrollbar(this._context,this.linesContent,this.domNode,this.overflowGuardContainer),this.viewParts.push(this._scrollbar),this.viewLines=new C.ViewLines(this._context,this.linesContent),this.viewZones=new I.ViewZones(this._context),this.viewParts.push(this.viewZones);var e=new L.DecorationsOverviewRuler(this._context);this.viewParts.push(e);var t=new M.ScrollDecorationViewPart(this._context);this.viewParts.push(t);var n=new d.ContentViewOverlays(this._context);this.viewParts.push(n),n.addDynamicOverlay(new p.CurrentLineHighlightOverlay(this._context)),n.addDynamicOverlay(new T.SelectionsOverlay(this._context)),n.addDynamicOverlay(new m.DecorationsOverlay(this._context)),n.addDynamicOverlay(new y.IndentGuidesOverlay(this._context));var i=new d.MarginViewOverlays(this._context);this.viewParts.push(i),i.addDynamicOverlay(new g.CurrentLineMarginHighlightOverlay(this._context)),i.addDynamicOverlay(new v.GlyphMarginOverlay(this._context)),i.addDynamicOverlay(new S.MarginViewLineDecorationsOverlay(this._context)),i.addDynamicOverlay(new w.LinesDecorationsOverlay(this._context)),i.addDynamicOverlay(new _.LineNumbersOverlay(this._context));var r=new b.Margin(this._context);r.getDomNode().appendChild(this.viewZones.marginDomNode),r.getDomNode().appendChild(i.getDomNode()),this.viewParts.push(r),this.contentWidgets=new h.ViewContentWidgets(this._context,this.domNode),this.viewParts.push(this.contentWidgets),this.viewCursors=new k.ViewCursors(this._context),this.viewParts.push(this.viewCursors),this.overlayWidgets=new E.ViewOverlayWidgets(this._context),this.viewParts.push(this.overlayWidgets);var s=new N.Rulers(this._context);this.viewParts.push(s);var a=new W.Minimap(this._context);if(this.viewParts.push(a),e){var u=this._scrollbar.getOverviewRulerLayoutInfo();u.parent.insertBefore(e.getDomNode(),u.insertBefore)}this.linesContent.appendChild(n.getDomNode()),this.linesContent.appendChild(s.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(r.getDomNode()),this.overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this.overflowGuardContainer.appendChild(t.getDomNode()),this.overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this.overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this.overflowGuardContainer.appendChild(this.overlayWidgets.getDomNode()),this.overflowGuardContainer.appendChild(a.getDomNode()),this.domNode.appendChild(this.overflowGuardContainer),this.domNode.appendChild(this.contentWidgets.overflowingContentWidgetsDomNode)},t.prototype._flushAccumulatedAndRenderNow=function(){this._renderNow()},t.prototype.createPointerHandlerHelper=function(){var e=this;return{viewDomNode:this.domNode.domNode,linesContentDomNode:this.linesContent.domNode,focusTextArea:function(){e.focus()},getLastViewCursorsRenderData:function(){return e.viewCursors.getLastRenderData()||[]},shouldSuppressMouseDownOnViewZone:function(t){return e.viewZones.shouldSuppressMouseDownOnViewZone(t)},shouldSuppressMouseDownOnWidget:function(t){return e.contentWidgets.shouldSuppressMouseDownOnWidget(t)},getPositionFromDOMInfo:function(t,n){return e._flushAccumulatedAndRenderNow(),e.viewLines.getPositionFromDOMInfo(t,n)},visibleRangeForPosition2:function(t,n){e._flushAccumulatedAndRenderNow();var i=e.viewLines.visibleRangesForRange2(new r.Range(t,n,t,n));return i?i[0]:null},getLineWidth:function(t){return e._flushAccumulatedAndRenderNow(),e.viewLines.getLineWidth(t)}}},t.prototype.createTextAreaHandlerHelper=function(){var e=this;return{visibleRangeForPositionRelativeToEditor:function(t,n){e._flushAccumulatedAndRenderNow();var i=e.viewLines.visibleRangesForRange2(new r.Range(t,n,t,n));return i?i[0]:null}}},t.prototype._setLayout=function(){var e=this._context.configuration.editor.layoutInfo;this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this.overflowGuardContainer.setWidth(e.width),this.overflowGuardContainer.setHeight(e.height),this.linesContent.setWidth(1e6),this.linesContent.setHeight(1e6)},t.prototype.getEditorClassName=function(){return this._context.configuration.editor.editorClassName+" "+V.getThemeTypeSelector(this._context.theme.type)},t.prototype.onConfigurationChanged=function(e){return e.editorClassName&&this.domNode.setClassName(this.getEditorClassName()),e.layoutInfo&&this._setLayout(),!1},t.prototype.onFocusChanged=function(e){return this.domNode.toggleClassName("focused",e.isFocused),e.isFocused?this.outgoingEvents.emitViewFocusGained():this.outgoingEvents.emitViewFocusLost(),!1},t.prototype.onScrollChanged=function(e){return this.outgoingEvents.emitScrollChanged(e),!1},t.prototype.onThemeChanged=function(e){return this.domNode.setClassName(this.getEditorClassName()),!1},t.prototype.dispose=function(){this._isDisposed=!0,null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this.eventDispatcher.removeEventHandler(this),this.outgoingEvents.dispose(),this.pointerHandler.dispose(),this.viewLines.dispose();for(var t=0,n=this.viewParts.length;t");m.registerThemingParticipant(function(e,t){var n=e.getColor(_.editorErrorBorder);n&&t.addRule(".monaco-editor .redsquiggly { border-bottom: 4px double "+n+"; }");var i=e.getColor(_.editorErrorForeground);i&&t.addRule('.monaco-editor .redsquiggly { background: url("data:image/svg+xml,'+C(i)+'") repeat-x bottom left; }');var o=e.getColor(_.editorWarningBorder);o&&t.addRule(".monaco-editor .greensquiggly { border-bottom: 4px double "+o+"; }");var r=e.getColor(_.editorWarningForeground);r&&t.addRule('.monaco-editor .greensquiggly { background: url("data:image/svg+xml;utf8,'+C(r)+'") repeat-x bottom left; }')})}),define(d[141],h([1,0,16,31,19,42,191,13,30,14]),function(e,t,n,i,o,r,s,a,u,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var c=function(e){function t(t,n,i,o,r,s,a){return e.call(this,t,n,i,o,r,s,a)||this}return f(t,e),t.prototype._getContributions=function(){return[].concat(u.EditorBrowserRegistry.getEditorContributions()).concat(a.CommonEditorRegistry.getEditorContributions())},t.prototype._getActions=function(){return a.CommonEditorRegistry.getEditorActions()},t=v([y(2,n.IInstantiationService),y(3,r.ICodeEditorService),y(4,i.ICommandService),y(5,o.IContextKeyService),y(6,l.IThemeService)],t)}(s.CodeEditorWidget);t.CodeEditor=c}),define(d[193],h([1,0,302,18,3,26,4,36,27,99,16,19,42,2,20,61,138,106,141,90,66,86,84,11,49,14,23,140,34,504,50,308]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,_,C,b,w,S,E,L,x,N,M,T,k,I,D,O){"use strict";function R(e,t,n,i,o){return{range:new p.Range(e,t,n,i),options:o}}function P(e){return e.modifiedEndLineNumber>0}function A(e){return e.originalEndLineNumber>0}function F(){var e=document.createElement("div");return e.className="diagonal-fill",e}Object.defineProperty(t,"__esModule",{value:!0});var W=function(){function e(){this._zones=[],this._zonesMap={},this._decorations=[]}return e.prototype.getForeignViewZones=function(e){var t=this;return e.filter(function(e){return!t._zonesMap[String(e.id)]})},e.prototype.clean=function(e){var t=this;this._zones.length>0&&e.changeViewZones(function(e){for(var n=0,i=t._zones.length;n0&&e.changeDecorations(function(e){e.deltaDecorations(t._decorations,[])}),this._decorations=[]},e.prototype.apply=function(e,t,n){var i=this;e.changeViewZones(function(e){for(var t=0,o=i._zones.length;t0?o/n:0;return{height:Math.max(0,Math.floor(e.contentHeight*r)),top:Math.floor(t*r)}},t.prototype._createDataSource=function(){var e=this;return{getWidth:function(){return e._width},getHeight:function(){return e._height-e._reviewHeight},getContainerDomNode:function(){return e._containerDomElement},relayoutEditors:function(){e._doLayout()},getOriginalEditor:function(){return e.originalEditor},getModifiedEditor:function(){return e.modifiedEditor}}},t.prototype._setStrategy=function(e){this._strategy&&this._strategy.dispose(),this._strategy=e,e.applyColors(this._themeService.getTheme()),this._lineChanges&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){if(0===this._lineChanges.length||e=s?n=o+1:(n=o,i=o)}return this._lineChanges[n]},t.prototype._getEquivalentLineForOriginalLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.originalStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),o=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return s<=o?i+Math.min(s,r):i+r-o+s},t.prototype._getEquivalentLineForModifiedLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.modifiedStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),o=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-i;return s<=r?n+Math.min(s,o):n+o-r+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200,t=v([y(2,m.IEditorWorkerService),y(3,d.IContextKeyService),y(4,c.IInstantiationService),y(5,h.ICodeEditorService),y(6,M.IThemeService),y(7,O.IMessageService)],t)}(o.Disposable);t.DiffEditorWidget=V;var H=function(e){function t(t){var n=e.call(this)||this;return n._dataSource=t,n}return f(t,e),t.prototype.applyColors=function(e){var t=(e.getColor(T.diffInserted)||T.defaultInsertColor).transparent(2),n=(e.getColor(T.diffRemoved)||T.defaultRemoveColor).transparent(2),i=!t.equals(this._insertColor)||!n.equals(this._removeColor);return this._insertColor=t,this._removeColor=n,i},t.prototype.getEditorsDiffDecorations=function(e,t,n,i,o,r,s){o=o.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber}),i=i.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber});var a=this._getViewZones(e,i,o,r,s,n),u=this._getOriginalEditorDecorations(e,t,n,r,s),l=this._getModifiedEditorDecorations(e,t,n,r,s);return{original:{decorations:u.decorations,overviewZones:u.overviewZones,zones:a.original},modified:{decorations:l.decorations,overviewZones:l.overviewZones,zones:a.modified}}},t.prototype._getViewZones=function(e,t,n,i,o,r){return null},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,o){return null},t.prototype._getModifiedEditorDecorations=function(e,t,n,i,o){return null},t}(o.Disposable),z=function(){function e(e){this._source=e,this._index=-1,this.advance()}return e.prototype.advance=function(){this._index++,this._index0){var n=e[e.length-1];if(n.afterLineNumber===t.afterLineNumber&&null===n.domNode)return void(n.heightInLines+=t.heightInLines)}e.push(t)},l=new z(this.modifiedForeignVZ),c=new z(this.originalForeignVZ),d=0,h=this.lineChanges.length;d<=h;d++){var p=d0?-1:0),o=p.modifiedStartLineNumber+(p.modifiedEndLineNumber>0?-1:0),n=p.originalEndLineNumber>0?p.originalEndLineNumber-p.originalStartLineNumber+1:0,t=p.modifiedEndLineNumber>0?p.modifiedEndLineNumber-p.modifiedStartLineNumber+1:0,r=Math.max(p.originalStartLineNumber,p.originalEndLineNumber),s=Math.max(p.modifiedStartLineNumber,p.modifiedEndLineNumber)):(r=i+=1e7+n,s=o+=1e7+t);for(var f=[],g=[];l.current&&l.current.afterLineNumber<=s;){m=void 0;m=l.current.afterLineNumber<=o?i-o+l.current.afterLineNumber:r,f.push({afterLineNumber:m,heightInLines:l.current.heightInLines,domNode:null}),l.advance()}for(;c.current&&c.current.afterLineNumber<=r;){var m=void 0;m=c.current.afterLineNumber<=i?o-i+c.current.afterLineNumber:s,g.push({afterLineNumber:m,heightInLines:c.current.heightInLines,domNode:null}),c.advance()}if(null!==p&&P(p)&&(v=this._produceOriginalFromDiff(p,n,t))&&f.push(v),null!==p&&A(p)){var v=this._produceModifiedFromDiff(p,n,t);v&&g.push(v)}var _=0,y=0;for(f=f.sort(a),g=g.sort(a);_=b.heightInLines?(C.heightInLines-=b.heightInLines,y++):(b.heightInLines-=C.heightInLines,_++)}for(;_2*t.MINIMUM_EDITOR_WIDTH?(in-t.MINIMUM_EDITOR_WIDTH&&(i=n-t.MINIMUM_EDITOR_WIDTH)):i=o,this._sashPosition!==i&&(this._sashPosition=i,this._sash.layout()),this._sashPosition},t.prototype.onSashDragStart=function(){this._startSashPosition=this._sashPosition},t.prototype.onSashDrag=function(e){var t=this._dataSource.getWidth()-V.ENTIRE_DIFF_OVERVIEW_WIDTH,n=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=n/t,this._dataSource.relayoutEditors()},t.prototype.onSashDragEnd=function(){this._sash.layout()},t.prototype.onSashReset=function(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()},t.prototype.getVerticalSashTop=function(e){return 0},t.prototype.getVerticalSashLeft=function(e){return this._sashPosition},t.prototype.getVerticalSashHeight=function(e){return this._dataSource.getHeight()},t.prototype._getViewZones=function(e,t,n,i,o){return new q(e,t,n).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,o){for(var r={decorations:[],overviewZones:[]},s=i.getModel(),a=0,u=e.length;at?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:n-t,domNode:null}:null},t.prototype._produceModifiedFromDiff=function(e,t,n){return t>n?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-n,domNode:null}:null},t}(K),G=function(e){function t(t,n){var i=e.call(this,t)||this;return i.decorationsLeft=t.getOriginalEditor().getLayoutInfo().decorationsLeft,i._register(t.getOriginalEditor().onDidLayoutChange(function(e){i.decorationsLeft!==e.decorationsLeft&&(i.decorationsLeft=e.decorationsLeft,t.relayoutEditors())})),i}return f(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,n,i,o,r){return new Y(e,t,n,i,o,r).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,o){for(var r={decorations:[],overviewZones:[]},s=0,a=e.length;s'])}var f=document.createElement("div");f.className="view-lines line-delete",f.innerHTML=a.join(""),S.Configuration.applyFontInfoSlow(f,this.modifiedEditorConfiguration.fontInfo);var g=document.createElement("div");return g.className="inline-deleted-margin-view-zone",g.innerHTML=u.join(""),S.Configuration.applyFontInfoSlow(g,this.modifiedEditorConfiguration.fontInfo),{shouldNotShrink:!0,afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,domNode:f,marginDomNode:g}},t.prototype.renderOriginalLine=function(e,t,n,i,o,r){var s=t.getLineContent(o),a=_.LineDecoration.filter(r,o,1,s.length+1),u=C.renderViewLine(new C.RenderLineInput(n.fontInfo.isMonospace&&!n.viewInfo.disableMonospaceOptimizations,s,t.mightContainRTL(),0,[new w.ViewLineToken(s.length,16793600)],a,i,n.fontInfo.spaceWidth,n.viewInfo.stopRenderingLineAfter,n.viewInfo.renderWhitespace,n.viewInfo.renderControlCharacters,n.viewInfo.fontLigatures)),l=[];return l.push('
    '),(l=l.concat(u.html)).push("
    "),l},t}(K);M.registerThemingParticipant(function(e,t){var n=e.getColor(T.diffInserted);n&&(t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-editor .inline-added-margin-view-zone { background-color: "+n+"; }"));var i=e.getColor(T.diffRemoved);i&&(t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-editor .inline-deleted-margin-view-zone { background-color: "+i+"; }"));var o=e.getColor(T.diffInsertedOutline);o&&t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px dashed "+o+"; }");var r=e.getColor(T.diffRemovedOutline);r&&t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px dashed "+r+"; }");var s=e.getColor(T.scrollbarShadow);s&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px "+s+"; }")})}),define(d[194],h([1,0,26,16,31,19,42,141,14]),function(e,t,n,i,o,r,s,a,u){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l=function(e){function t(t,n,i,o,r,s,a,u){var l=e.call(this,t,i.getRawConfiguration(),o,r,s,a,u)||this;return l._parentEditor=i,l._overwriteOptions=n,e.prototype.updateOptions.call(l,l._overwriteOptions),l._register(i.onDidChangeConfiguration(function(e){return l._onParentConfigurationChanged(e)})),l}return f(t,e),t.prototype.getParentEditor=function(){return this._parentEditor},t.prototype._onParentConfigurationChanged=function(t){e.prototype.updateOptions.call(this,this._parentEditor.getRawConfiguration()),e.prototype.updateOptions.call(this,this._overwriteOptions)},t.prototype.updateOptions=function(t){n.mixin(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=v([y(3,i.IInstantiationService),y(4,s.ICodeEditorService),y(5,o.ICommandService),y(6,r.IContextKeyService),y(7,u.IThemeService)],t)}(a.CodeEditor);t.EmbeddedCodeEditorWidget=l}),define(d[514],h([1,0,341,3,12,18,20,13,21,14,37,34]),function(e,t,n,i,o,r,s,a,u,l,c,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0});!function(e){function t(){return e.call(this,{id:"editor.action.jumpToBracket",label:n.localize(0,null),alias:"Go to Bracket",precondition:null,kbOpts:{kbExpr:u.EditorContextKeys.textFocus,primary:3160}})||this}f(t,e),t.prototype.run=function(e,t){var n=p.get(t);n&&n.jumpToBracket()},t=v([a.editorAction],t)}(a.EditorAction);var h=function(){return function(e,t){this.position=e,this.brackets=t}}(),p=function(e){function t(t){var n=e.call(this)||this;return n._editor=t,n._lastBracketsData=[],n._lastVersionId=0,n._decorations=[],n._updateBracketsSoon=n._register(new r.RunOnceScheduler(function(){return n._updateBrackets()},50)),n._matchBrackets=n._editor.getConfiguration().contribInfo.matchBrackets,n._updateBracketsSoon.schedule(),n._register(t.onDidChangeCursorPosition(function(e){n._matchBrackets&&n._updateBracketsSoon.schedule()})),n._register(t.onDidChangeModel(function(e){n._decorations=[],n._updateBracketsSoon.schedule()})),n._register(t.onDidChangeConfiguration(function(e){n._matchBrackets=n._editor.getConfiguration().contribInfo.matchBrackets,!n._matchBrackets&&n._decorations.length>0&&(n._decorations=n._editor.deltaDecorations(n._decorations,[])),n._updateBracketsSoon.schedule()})),n}return f(t,e),n=t,t.get=function(e){return e.getContribution(n.ID)},t.prototype.getId=function(){return n.ID},t.prototype.jumpToBracket=function(){var e=this._editor.getModel();if(e){var t=this._editor.getSelection();if(t.isEmpty()){var n=t.getStartPosition(),i=e.matchBracket(n);if(i){var o=null;i[0].containsPosition(n)?o=i[1].getStartPosition():i[1].containsPosition(n)&&(o=i[0].getStartPosition()),o&&(this._editor.setPosition(o),this._editor.revealPosition(o))}}}},t.prototype._updateBrackets=function(){if(this._matchBrackets){this._recomputeBrackets();for(var e=[],t=0,i=0,o=this._lastBracketsData.length;i1&&r.sort(o.Position.compare);for(var c=[],d=0,p=0,f=n.length,a=0,u=r.length;a{1}",n,r),this._commands[n]=i):s=o.format("{0}",r),t.push(s)}this._domNode.innerHTML=t.join(" | "),this._editor.layoutContentWidget(this)}else this._domNode.innerHTML="no commands"},e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.setSymbolRange=function(e){this._symbolRange=e;var t=e.startLineNumber,n=this._editor.getModel().getLineFirstNonWhitespaceColumn(t);this._widgetPosition={position:{lineNumber:t,column:n},preference:[a.ContentWidgetPositionPreference.ABOVE]}},e.prototype.getPosition=function(){return this._widgetPosition},e.prototype.isVisible=function(){return this._domNode.hasAttribute("monaco-visible-content-widget")},e._idPool=0,e}(),f=function(){function e(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}return e.prototype.addDecoration=function(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)},e.prototype.removeDecoration=function(e){this._removeDecorations.push(e)},e.prototype.commit=function(e){for(var t=e.deltaDecorations(this._removeDecorations,this._addDecorations),n=0,i=t.length;n a:hover { color: "+i+" !important; }")})}),define(d[516],h([1,0,18,10,3,7,31,50,17,30,453,515]),function(e,t,n,i,o,r,s,a,u,l,c,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var h=function(){function e(e,t,n){var i=this;this._editor=e,this._commandService=t,this._messageService=n,this._isEnabled=this._editor.getConfiguration().contribInfo.codeLens,this._globalToDispose=[],this._localToDispose=[],this._lenses=[],this._currentFindCodeLensSymbolsPromise=null,this._modelChangeCounter=0,this._globalToDispose.push(this._editor.onDidChangeModel(function(){return i._onModelChange()})),this._globalToDispose.push(this._editor.onDidChangeModelLanguage(function(){return i._onModelChange()})),this._globalToDispose.push(this._editor.onDidChangeConfiguration(function(e){var t=i._isEnabled;i._isEnabled=i._editor.getConfiguration().contribInfo.codeLens,t!==i._isEnabled&&i._onModelChange()})),this._globalToDispose.push(u.CodeLensProviderRegistry.onDidChange(this._onModelChange,this)),this._onModelChange()}return t=e,e.prototype.dispose=function(){this._localDispose(),this._globalToDispose=o.dispose(this._globalToDispose)},e.prototype._localDispose=function(){this._currentFindCodeLensSymbolsPromise&&(this._currentFindCodeLensSymbolsPromise.cancel(),this._currentFindCodeLensSymbolsPromise=null,this._modelChangeCounter++),this._currentFindOccPromise&&(this._currentFindOccPromise.cancel(),this._currentFindOccPromise=null),this._localToDispose=o.dispose(this._localToDispose)},e.prototype.getId=function(){return t.ID},e.prototype._onModelChange=function(){var e=this;this._localDispose();var t=this._editor.getModel();if(t&&this._isEnabled&&u.CodeLensProviderRegistry.has(t)){for(var o=0,r=u.CodeLensProviderRegistry.all(t);oi||(n&&n[n.length-1].symbol.range.startLineNumber===u?n.push(a):(n=[a],o.push(n)))}var l=this._editor.getCenteredRangeInViewport(),c=l&&o.length!==this._lenses.length&&0!==this._editor.getScrollTop();this._editor.changeDecorations(function(e){t._editor.changeViewZones(function(n){for(var i=0,r=0,s=new d.CodeLensHelper;rD)return l._domNode.style.maxWidth=e-28-t-15+"px",void(l._replaceInputBox.inputElement.style.width=s.getTotalWidth(l._findInput.inputBox.inputElement)+"px");D+28+t>=e&&(i=!0),D+28+t-O>=e&&(o=!0),D+28+t-O>=e+50&&(n=!0),s.toggleClass(l._domNode,"collapsed-find-widget",n),s.toggleClass(l._domNode,"narrow-find-widget",o),s.toggleClass(l._domNode,"reduced-find-widget",i),o||n||(l._domNode.style.maxWidth=e-28-t-15+"px");var r=s.getTotalWidth(l._findInput.inputBox.inputElement);r>0&&(l._replaceInputBox.inputElement.style.width=r+"px")};return c(),l._register(l._codeEditor.onDidChangeConfiguration(function(e){e.readOnly&&(l._codeEditor.getConfiguration().readOnly&&l._state.change({isReplaceRevealed:!1},!1),l._updateButtons()),e.layoutInfo&&c()})),l._register(l._codeEditor.onDidChangeCursorSelection(function(){l._isVisible&&l._updateToggleSelectionFindButton()})),l._findInputFocussed=g.CONTEXT_FIND_INPUT_FOCUSSED.bindTo(a),l._focusTracker=l._register(s.trackFocus(l._findInput.inputBox.inputElement)),l._focusTracker.addFocusListener(function(){if(l._findInputFocussed.set(!0),l._toggleSelectionFind.checked){var e=l._codeEditor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,1));var t=l._state.currentMatch;e.startLineNumber!==e.endLineNumber&&(p.Range.equalsRange(e,t)||l._state.change({searchScope:e},!0))}}),l._focusTracker.addBlurListener(function(){l._findInputFocussed.set(!1)}),l._codeEditor.addOverlayWidget(l),l._viewZone=new A(0),l._applyTheme(u.getTheme()),l._register(u.onThemeChange(l._applyTheme.bind(l))),l._register(l._codeEditor.onDidChangeModel(function(e){l._isVisible&&void 0!==l._viewZoneId&&l._codeEditor.changeViewZones(function(e){e.removeZone(l._viewZoneId),l._viewZoneId=void 0})})),l._register(l._codeEditor.onDidScrollChange(function(e){e.scrollTopChanged?l._layoutViewZone():setTimeout(function(){l._layoutViewZone()},0)})),l}return f(t,e),t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getPosition=function(){return this._isVisible?{preference:d.OverlayWidgetPositionPreference.TOP_RIGHT_CORNER}:null},t.prototype._onStateChanged=function(e){if(e.searchString&&(this._findInput.setValue(this._state.searchString),this._updateButtons()),e.replaceString&&(this._replaceInputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal(!0):this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getConfiguration().readOnly||this._isReplaceVisible||(this._isReplaceVisible=!0,this._updateButtons()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){var t=this._state.searchString.length>0&&0===this._state.matchesCount;s.toggleClass(this._domNode,"no-results",t),this._updateMatchesCount()}(e.searchString||e.currentMatch)&&this._layoutViewZone()},t.prototype._updateMatchesCount=function(){this._matchesCount.style.minWidth=O+"px",this._state.matchesCount>=h.MATCHES_LIMIT?this._matchesCount.title=T:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild);var e;if(this._state.matchesCount>0){var t=String(this._state.matchesCount);this._state.matchesCount>=h.MATCHES_LIMIT&&(t+="+");var n=String(this._state.matchesPosition);"0"===n&&(n="?"),e=r.format(k,n,t)}else e=I;this._matchesCount.appendChild(document.createTextNode(e)),O=Math.max(O,this._matchesCount.clientWidth)},t.prototype._updateToggleSelectionFindButton=function(){var e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),n=this._toggleSelectionFind.checked;this._toggleSelectionFind.setEnabled(this._isVisible&&(n||t))},t.prototype._updateButtons=function(){this._findInput.setEnabled(this._isVisible),this._replaceInputBox.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);var e=this._state.searchString.length>0;this._prevBtn.setEnabled(this._isVisible&&e),this._nextBtn.setEnabled(this._isVisible&&e),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),s.toggleClass(this._domNode,"replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("collapse",!this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("expand",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);var t=!this._codeEditor.getConfiguration().readOnly;this._toggleReplaceBtn.setEnabled(this._isVisible&&t)},t.prototype._reveal=function(e){var t=this;if(!this._isVisible){this._isVisible=!0;var n=this._codeEditor.getSelection();!!n&&(n.startLineNumber!==n.endLineNumber||n.startColumn!==n.endColumn)&&this._codeEditor.getConfiguration().contribInfo.find.autoFindInSelection?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateButtons(),setTimeout(function(){s.addClass(t._domNode,"visible"),t._domNode.setAttribute("aria-hidden","false"),e||(s.addClass(t._domNode,"noanimation"),setTimeout(function(){s.removeClass(t._domNode,"noanimation")},200))},0),this._codeEditor.layoutOverlayWidget(this);var i=!0;if(this._codeEditor.getConfiguration().contribInfo.find.seedSearchStringFromSelection&&n){var o=s.getDomNodePagePosition(this._codeEditor.getDomNode()),r=this._codeEditor.getScrolledVisiblePosition(n.getStartPosition()),a=o.left+r.left;if(r.topn.startLineNumber&&(i=!1);var u=s.getTopLeftOffset(this._domNode).left;a>u&&(i=!1);var l=this._codeEditor.getScrolledVisiblePosition(n.getEndPosition());o.left+l.left>u&&(i=!1)}}this._showViewZone(i)}},t.prototype._hide=function(e){var t=this;this._isVisible&&(this._isVisible=!1,this._updateButtons(),s.removeClass(this._domNode,"visible"),this._domNode.setAttribute("aria-hidden","true"),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._codeEditor.changeViewZones(function(e){void 0!==t._viewZoneId&&(e.removeZone(t._viewZoneId),t._viewZoneId=void 0,t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()-t._viewZone.heightInPx))}))},t.prototype._layoutViewZone=function(){var e=this;this._isVisible&&void 0===this._viewZoneId&&this._codeEditor.changeViewZones(function(t){e._state.isReplaceRevealed?e._viewZone.heightInPx=64:e._viewZone.heightInPx=P,e._viewZoneId=t.addZone(e._viewZone),e._codeEditor.setScrollTop(e._codeEditor.getScrollTop()+e._viewZone.heightInPx)})},t.prototype._showViewZone=function(e){var t=this;void 0===e&&(e=!0),this._isVisible&&this._codeEditor.changeViewZones(function(n){var i=P;void 0!==t._viewZoneId?(t._state.isReplaceRevealed?(t._viewZone.heightInPx=64,i=64-P):(t._viewZone.heightInPx=P,i=P-64),n.removeZone(t._viewZoneId)):t._viewZone.heightInPx=P,t._viewZoneId=n.addZone(t._viewZone),e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+i)})},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(v.inputActiveOptionBorder),inputBackground:e.getColor(v.inputBackground),inputForeground:e.getColor(v.inputForeground),inputBorder:e.getColor(v.inputBorder),inputValidationInfoBackground:e.getColor(v.inputValidationInfoBackground),inputValidationInfoBorder:e.getColor(v.inputValidationInfoBorder),inputValidationWarningBackground:e.getColor(v.inputValidationWarningBackground),inputValidationWarningBorder:e.getColor(v.inputValidationWarningBorder),inputValidationErrorBackground:e.getColor(v.inputValidationErrorBackground),inputValidationErrorBorder:e.getColor(v.inputValidationErrorBorder)};this._findInput.style(t),this._replaceInputBox.style(t)},t.prototype.focusFindInput=function(){this._findInput.select(),this._findInput.focus()},t.prototype.focusReplaceInput=function(){this._replaceInputBox.select(),this._replaceInputBox.focus()},t.prototype.highlightFindOptions=function(){this._findInput.highlightFindOptions()},t.prototype._onFindInputMouseDown=function(e){e.middleButton&&e.stopPropagation()},t.prototype._onFindInputKeyDown=function(e){return e.equals(3)?(this._codeEditor.getAction(h.FIND_IDS.NextMatchFindAction).run().done(null,i.onUnexpectedError),void e.preventDefault()):e.equals(1027)?(this._codeEditor.getAction(h.FIND_IDS.PreviousMatchFindAction).run().done(null,i.onUnexpectedError),void e.preventDefault()):e.equals(2)?(this._isReplaceVisible?this._replaceInputBox.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):void 0},t.prototype._onReplaceInputKeyDown=function(e){return e.equals(3)?(this._controller.replace(),void e.preventDefault()):e.equals(2051)?(this._controller.replaceAll(),void e.preventDefault()):e.equals(2)?(this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(1026)?(this._findInput.focus(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):void 0},t.prototype.getHorizontalSashTop=function(e){return 0},t.prototype.getHorizontalSashLeft=function(e){return 0},t.prototype.getHorizontalSashWidth=function(e){return 500},t.prototype._keybindingLabelFor=function(e){var t=this._keybindingService.lookupKeybinding(e);return t?" ("+t.getLabel()+")":""},t.prototype._buildFindPart=function(){var e=this;this._findInput=this._register(new a.FindInput(null,this._contextViewProvider,{width:221,label:_,placeholder:y,appendCaseSensitiveLabel:this._keybindingLabelFor(h.FIND_IDS.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(h.FIND_IDS.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(h.FIND_IDS.ToggleRegexCommand),validation:function(t){if(0===t.length)return null;if(!e._findInput.getRegex())return null;try{return new RegExp(t),null}catch(e){return{content:e.message}}}})),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(function(t){return e._onFindInputKeyDown(t)})),this._register(this._findInput.onInput(function(){e._state.change({searchString:e._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(function(){e._state.change({isRegex:e._findInput.getRegex(),wholeWord:e._findInput.getWholeWords(),matchCase:e._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(function(t){t.equals(1026)&&e._isReplaceVisible&&(e._replaceInputBox.focus(),t.preventDefault())})),o.isLinux&&this._register(this._findInput.onMouseDown(function(t){return e._onFindInputMouseDown(t)})),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new B({label:C+this._keybindingLabelFor(h.FIND_IDS.PreviousMatchFindAction),className:"previous",onTrigger:function(){e._codeEditor.getAction(h.FIND_IDS.PreviousMatchFindAction).run().done(null,i.onUnexpectedError)},onKeyDown:function(e){}})),this._nextBtn=this._register(new B({label:b+this._keybindingLabelFor(h.FIND_IDS.NextMatchFindAction),className:"next",onTrigger:function(){e._codeEditor.getAction(h.FIND_IDS.NextMatchFindAction).run().done(null,i.onUnexpectedError)},onKeyDown:function(e){}}));var t=document.createElement("div");return t.className="find-part",t.appendChild(this._findInput.domNode),t.appendChild(this._matchesCount),t.appendChild(this._prevBtn.domNode),t.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new W({parent:t,title:w+this._keybindingLabelFor(h.FIND_IDS.ToggleSearchScopeCommand),onChange:function(){if(e._toggleSelectionFind.checked){var t=e._codeEditor.getSelection();1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,1)),t.isEmpty()||e._state.change({searchScope:t},!0)}else e._state.change({searchScope:null},!0)}})),this._closeBtn=this._register(new B({label:S+this._keybindingLabelFor(h.FIND_IDS.CloseFindWidgetCommand),className:"close-fw",onTrigger:function(){e._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:function(t){t.equals(2)&&e._isReplaceVisible&&(e._replaceBtn.isEnabled()?e._replaceBtn.focus():e._codeEditor.focus(),t.preventDefault())}})),t.appendChild(this._closeBtn.domNode),t},t.prototype._buildReplacePart=function(){var e=this,t=document.createElement("div");t.className="replace-input",t.style.width="221px",this._replaceInputBox=this._register(new u.InputBox(t,null,{ariaLabel:E,placeholder:L})),this._register(s.addStandardDisposableListener(this._replaceInputBox.inputElement,"keydown",function(t){return e._onReplaceInputKeyDown(t)})),this._register(s.addStandardDisposableListener(this._replaceInputBox.inputElement,"input",function(t){e._state.change({replaceString:e._replaceInputBox.value},!1)})),this._replaceBtn=this._register(new B({label:x+this._keybindingLabelFor(h.FIND_IDS.ReplaceOneAction),className:"replace",onTrigger:function(){e._controller.replace()},onKeyDown:function(t){t.equals(1026)&&(e._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new B({label:N+this._keybindingLabelFor(h.FIND_IDS.ReplaceAllAction),className:"replace-all",onTrigger:function(){e._controller.replaceAll()},onKeyDown:function(e){}}));var n=document.createElement("div");return n.className="replace-part",n.appendChild(t),n.appendChild(this._replaceBtn.domNode),n.appendChild(this._replaceAllBtn.domNode),n},t.prototype._buildDomNode=function(){var e=this,t=this._buildFindPart(),n=this._buildReplacePart();this._toggleReplaceBtn=this._register(new B({label:M,className:"toggle left",onTrigger:function(){e._state.change({isReplaceRevealed:!e._isReplaceVisible},!1),e._isReplaceVisible&&(e._replaceInputBox.width=e._findInput.inputBox.width),e._showViewZone()},onKeyDown:function(e){}})),this._toggleReplaceBtn.toggleClass("expand",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("collapse",!this._isReplaceVisible),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=D+"px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(t),this._domNode.appendChild(n),this._buildSash()},t.prototype._buildSash=function(){var e=this;this._resizeSash=new c.Sash(this._domNode,this,{orientation:c.Orientation.VERTICAL});var t=D;this._register(this._resizeSash.addListener("start",function(n){t=s.getTotalWidth(e._domNode)})),this._register(this._resizeSash.addListener("change",function(n){var i=t+n.startX-n.currentX;if(!(i(parseFloat(s.getComputedStyle(e._domNode).maxWidth)||0)||(e._domNode.style.width=i+"px",e._isReplaceVisible&&(e._replaceInputBox.width=o))}}))},t.ID="editor.contrib.findWidget",t}(l.Widget);t.FindWidget=F;var W=function(e){function t(n){var i=e.call(this)||this;return i._opts=n,i._domNode=document.createElement("div"),i._domNode.className="monaco-checkbox",i._domNode.title=i._opts.title,i._domNode.tabIndex=0,i._checkbox=document.createElement("input"),i._checkbox.type="checkbox",i._checkbox.className="checkbox",i._checkbox.id="checkbox-"+t._COUNTER++,i._checkbox.tabIndex=-1,i._label=document.createElement("label"),i._label.className="label",i._label.htmlFor=i._checkbox.id,i._label.tabIndex=-1,i._domNode.appendChild(i._checkbox),i._domNode.appendChild(i._label),i._opts.parent.appendChild(i._domNode),i.onchange(i._checkbox,function(e){i._opts.onChange()}),i}return f(t,e),Object.defineProperty(t.prototype,"domNode",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"checked",{get:function(){return this._checkbox.checked},set:function(e){this._checkbox.checked=e},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this._checkbox.focus()},t.prototype.enable=function(){this._checkbox.removeAttribute("disabled")},t.prototype.disable=function(){this._checkbox.disabled=!0},t.prototype.setEnabled=function(e){e?(this.enable(),this.domNode.tabIndex=0):(this.disable(),this.domNode.tabIndex=-1)},t._COUNTER=0,t}(l.Widget),B=function(e){function t(t){var n=e.call(this)||this;return n._opts=t,n._domNode=document.createElement("div"),n._domNode.title=n._opts.label,n._domNode.tabIndex=0,n._domNode.className="button "+n._opts.className,n._domNode.setAttribute("role","button"),n._domNode.setAttribute("aria-label",n._opts.label),n.onclick(n._domNode,function(e){n._opts.onTrigger(),e.preventDefault()}),n.onkeydown(n._domNode,function(e){if(e.equals(10)||e.equals(3))return n._opts.onTrigger(),void e.preventDefault();n._opts.onKeyDown(e)}),n}return f(t,e),Object.defineProperty(t.prototype,"domNode",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),t.prototype.isEnabled=function(){return this._domNode.tabIndex>=0},t.prototype.focus=function(){this._domNode.focus()},t.prototype.setEnabled=function(e){s.toggleClass(this._domNode,"disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1},t.prototype.setExpanded=function(e){this._domNode.setAttribute("aria-expanded",String(!!e))},t.prototype.toggleClass=function(e,t){s.toggleClass(this._domNode,e,t)},t}(l.Widget);t.SimpleButton=B,m.registerThemingParticipant(function(e,t){function n(e,n){n&&t.addRule(".monaco-editor "+e+" { background-color: "+n+"; }")}n(".findMatch",e.getColor(v.editorFindMatchHighlight)),n(".currentFindMatch",e.getColor(v.editorFindMatch)),n(".findScope",e.getColor(v.editorFindRangeHighlight)),n(".find-widget",e.getColor(v.editorWidgetBackground));var i=e.getColor(v.widgetShadow);i&&t.addRule(".monaco-editor .find-widget { box-shadow: 0 2px 8px "+i+"; }");var o=e.getColor(v.activeContrastBorder);o&&(t.addRule(".monaco-editor .findScope { border: 1px dashed "+o.transparent(.4)+"; }"),t.addRule(".monaco-editor .currentFindMatch { border: 2px solid "+o+"; padding: 1px; -moz-box-sizing: border-box; box-sizing: border-box; }"),t.addRule(".monaco-editor .findMatch { border: 1px dotted "+o+"; -moz-box-sizing: border-box; box-sizing: border-box; }"));var r=e.getColor(v.contrastBorder);r&&t.addRule(".monaco-editor .find-widget { border: 2px solid "+r+"; }");var s=e.getColor(v.errorForeground);s&&t.addRule(".monaco-editor .find-widget.no-results .matchesCount { color: "+s+"; }");var a=e.getColor("panel.border");a&&t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+a+"; width: 3px !important; margin-left: -4px;}")})}),define(d[520],h([1,0,69,46,19,30,519,518,176,14,76]),function(e,t,n,i,o,r,s,a,u,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var d=function(e){function t(t,n,i,o,r,u){var l=e.call(this,t,i,u)||this;return l._widget=l._register(new s.FindWidget(t,l,l._state,n,o,i,r)),l._findOptionsWidget=l._register(new a.FindOptionsWidget(t,l._state,o,r)),l}return f(t,e),t.prototype._start=function(t){e.prototype._start.call(this,t),2===t.shouldFocus?this._widget.focusReplaceInput():1===t.shouldFocus&&this._widget.focusFindInput()},t.prototype.highlightFindOptions=function(){this._state.isRevealed?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()},t=v([r.editorContribution,y(1,n.IContextViewService),y(2,o.IContextKeyService),y(3,i.IKeybindingService),y(4,l.IThemeService),y(5,c.IStorageService)],t)}(u.CommonFindController);t.FindController=d}),define(d[521],h([1,0,18,3,51,2,13,25,19,14,23,335]),function(e,t,n,i,o,r,s,a,u,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var d=function(){function e(e,n){this._messageListeners=[],this._editor=e,this._visible=t.CONTEXT_SNIPPET_MODE.bindTo(n)}return t=e,e.get=function(e){return e.getContribution(t._id)},e.prototype.getId=function(){return t._id},e.prototype.dispose=function(){this._visible.reset()},e.prototype.showMessage=function(e,t){var s=this;o.alert(e),this._visible.set(!0),i.dispose(this._messageWidget),this._messageListeners=i.dispose(this._messageListeners),this._messageWidget=new p(this._editor,t,e),this._messageListeners.push(this._editor.onDidBlurEditorText(function(){return s.closeMessage()})),this._messageListeners.push(this._editor.onDidChangeCursorPosition(function(){return s.closeMessage()})),this._messageListeners.push(this._editor.onDidDispose(function(){return s.closeMessage()})),this._messageListeners.push(this._editor.onDidChangeModel(function(){return s.closeMessage()})),this._messageListeners.push(n.setDisposableTimeout(function(){return s.closeMessage()},3e3));var a;this._messageListeners.push(this._editor.onMouseMove(function(e){e.target.position&&(a?a.containsPosition(e.target.position)||s.closeMessage():a=new r.Range(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))},e.prototype.closeMessage=function(){this._visible.reset(),this._messageListeners=i.dispose(this._messageListeners),this._messageListeners.push(p.fadeOut(this._messageWidget))},e._id="editor.contrib.messageController",e.CONTEXT_SNIPPET_MODE=new u.RawContextKey("messageVisible",!1),e=t=v([s.commonEditorContribution,y(1,u.IContextKeyService)],e);var t}();t.MessageController=d;var h=s.EditorCommand.bindToContribution(d.get);s.CommonEditorRegistry.registerEditorCommand(new h({id:"leaveEditorMessage",precondition:d.CONTEXT_SNIPPET_MODE,handler:function(e){return e.closeMessage()},kbOpts:{weight:s.CommonEditorRegistry.commandWeight(30),primary:9}}));var p=function(){function e(e,t,n){var i=t.lineNumber,o=t.column;this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(i,i),this._position={lineNumber:i,column:1},this._domNode=document.createElement("div"),this._domNode.style.paddingLeft=e.getOffsetForColumn(i,o)-6+"px",this._domNode.classList.add("monaco-editor-overlaymessage");var r=document.createElement("div");r.classList.add("message"),r.textContent=n,this._domNode.appendChild(r);var s=document.createElement("div");s.classList.add("anchor"),this._domNode.appendChild(s),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}return e.fadeOut=function(e){var t,n=function(){e.dispose(),clearTimeout(t),e.getDomNode().removeEventListener("animationend",n)};return t=setTimeout(n,110),e.getDomNode().addEventListener("animationend",n),e.getDomNode().classList.add("fadeOut"),{dispose:n}},e.prototype.dispose=function(){this._editor.removeContentWidget(this)},e.prototype.getId=function(){return"messageoverlay"},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return{position:this._position,preference:[a.ContentWidgetPositionPreference.ABOVE]}},e}();l.registerThemingParticipant(function(e,t){var n=e.getColor(c.inputValidationInfoBorder);if(n){var i=e.type===l.HIGH_CONTRAST?2:1;t.addRule(".monaco-editor .monaco-editor-overlaymessage .anchor { border-top-color: "+n+"; }"),t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { border: "+i+"px solid "+n+"; }")}var o=e.getColor(c.inputValidationInfoBackground);o&&t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { background-color: "+o+"; }")})}),define(d[522],h([1,0,353,11,3,36,4,19,103,58,12,2,13,30,183,23,14,32,21,37,366]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,C,b,w,S){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var E=function(){function e(e,t){var n=this;this._editor=e,this._markers=null,this._nextIdx=-1,this._toUnbind=[],this._ignoreSelectionChange=!1,this._onCurrentMarkerChanged=new i.Emitter,this._onMarkerSetChanged=new i.Emitter,this.setMarkers(t),this._toUnbind.push(this._editor.onDidDispose(function(){return n.dispose()})),this._toUnbind.push(this._editor.onDidChangeCursorPosition(function(){n._ignoreSelectionChange||(n._nextIdx=-1)}))}return Object.defineProperty(e.prototype,"onCurrentMarkerChanged",{get:function(){return this._onCurrentMarkerChanged.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMarkerSetChanged",{get:function(){return this._onMarkerSetChanged.event},enumerable:!0,configurable:!0}),e.prototype.setMarkers=function(e){this._markers=e||[],this._markers.sort(function(e,t){return r.default.compare(e.severity,t.severity)||d.Range.compareRangesUsingStarts(e,t)}),this._nextIdx=-1,this._onMarkerSetChanged.fire(this)},e.prototype.withoutWatchingEditorPosition=function(e){this._ignoreSelectionChange=!0;try{e()}finally{this._ignoreSelectionChange=!1}},e.prototype._initIdx=function(e){for(var t=!1,n=this._editor.getPosition(),i=0;i=this._markers.length&&(this._nextIdx=0)):(this._nextIdx-=1,this._nextIdx<0&&(this._nextIdx=this._markers.length-1));var t=this._markers[this._nextIdx];this._onCurrentMarkerChanged.fire(t)}else this._onCurrentMarkerChanged.fire(void 0)},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.next=function(){this.move(!0)},e.prototype.previous=function(){this.move(!1)},e.prototype.findMarkerAtPosition=function(e){for(var t=0,n=this._markers;t1&&(a=new r.Selection(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn+h-1));var p=new l.InPlaceReplaceCommand(u,a,n.value);s.editor.pushUndoStop(),s.editor.executeCommand(e,p),s.editor.pushUndoStop(),s.decorationIds=s.editor.deltaDecorations(s.decorationIds,[{range:c,options:t.DECORATION}]),s.decorationRemover.cancel(),s.decorationRemover=i.TPromise.timeout(350),s.decorationRemover.then(function(){s.editor.changeDecorations(function(e){s.decorationIds=e.deltaDecorations(s.decorationIds,[])})})}})},e.ID="editor.contrib.inPlaceReplaceController",e.DECORATION=p.ModelDecorationOptions.register({className:"valueSetReplacement"}),e=t=v([a.commonEditorContribution,y(1,u.IEditorWorkerService)],e);var t}();(function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.up",label:n.localize(0,null),alias:"Replace with Previous Value",precondition:s.EditorContextKeys.writable,kbOpts:{kbExpr:s.EditorContextKeys.textFocus,primary:3154}})||this}f(t,e),t.prototype.run=function(e,t){var n=g.get(t);if(n)return n.run(this.id,!0)},t=v([a.editorAction],t)})(a.EditorAction),function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.down",label:n.localize(1,null),alias:"Replace with Next Value",precondition:s.EditorContextKeys.writable,kbOpts:{kbExpr:s.EditorContextKeys.textFocus,primary:3156}})||this}f(t,e),t.prototype.run=function(e,t){var n=g.get(t);if(n)return n.run(this.id,!1)},t=v([a.editorAction],t)}(a.EditorAction);d.registerThemingParticipant(function(e,t){var n=e.getColor(h.editorBracketMatchBorder);n&&t.addRule(".monaco-editor.vs .valueSetReplacement { outline: solid 2px "+n+"; }")})}),define(d[525],h([1,0,358,10,15,36,7,50,71,20,13,17,61,25,401,3,30,14,23,34,192,389]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,_,C,b,w,S){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var E=o.isMacintosh?n.localize(0,null):n.localize(1,null),L=o.isMacintosh?n.localize(2,null):n.localize(3,null),x=n.localize(4,null),N=n.localize(5,null),M={meta:w.ModelDecorationOptions.register({stickiness:l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link",hoverMessage:E}),metaActive:w.ModelDecorationOptions.register({stickiness:l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link-active",hoverMessage:E}),alt:w.ModelDecorationOptions.register({stickiness:l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link",hoverMessage:x}),altActive:w.ModelDecorationOptions.register({stickiness:l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link-active",hoverMessage:x}),altCommand:w.ModelDecorationOptions.register({stickiness:l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link",hoverMessage:N}),altCommandActive:w.ModelDecorationOptions.register({stickiness:l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link-active",hoverMessage:N}),metaCommand:w.ModelDecorationOptions.register({stickiness:l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link",hoverMessage:L}),metaCommandActive:w.ModelDecorationOptions.register({stickiness:l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link-active",hoverMessage:L})},T=function(){function e(e,t){this.link=e,this.decorationId=t}return e.decoration=function(t,n){return{range:t.range,options:e._getOptions(t,n,!1)}},e._getOptions=function(e,t,n){return/^command:/i.test(e.url)?t?n?M.metaCommandActive:M.metaCommand:n?M.altCommandActive:M.altCommand:t?n?M.metaActive:M.meta:n?M.altActive:M.alt},e.prototype.activate=function(t,n){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,n,!0))},e.prototype.deactivate=function(t,n){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,n,!1))},e}(),k=function(){function e(e,t,n,i){var o=this;this.editor=e,this.openerService=t,this.messageService=n,this.editorWorkerService=i,this.listenersToRemove=[];var r=new S.ClickLinkGesture(e);this.listenersToRemove.push(r),this.listenersToRemove.push(r.onMouseMoveOrRelevantKeyDown(function(e){var t=e[0],n=e[1];o._onEditorMouseMove(t,n)})),this.listenersToRemove.push(r.onExecute(function(e){o.onEditorMouseUp(e)})),this.listenersToRemove.push(r.onCancel(function(e){o.cleanUpActiveLinkDecoration()})),this.enabled=e.getConfiguration().contribInfo.links,this.listenersToRemove.push(e.onDidChangeConfiguration(function(t){var n=e.getConfiguration().contribInfo.links;o.enabled!==n&&(o.enabled=n,o.updateDecorations([]),o.stop(),o.beginCompute())})),this.listenersToRemove.push(e.onDidChangeModelContent(function(e){return o.onChange()})),this.listenersToRemove.push(e.onDidChangeModel(function(e){return o.onModelChanged()})),this.listenersToRemove.push(e.onDidChangeModelLanguage(function(e){return o.onModelModeChanged()})),this.listenersToRemove.push(d.LinkProviderRegistry.onDidChange(function(e){return o.onModelModeChanged()})),this.timeoutPromise=null,this.computePromise=null,this.currentOccurrences={},this.activeLinkDecorationId=null,this.beginCompute()}return t=e,e.get=function(e){return e.getContribution(t.ID)},e.prototype.getId=function(){return t.ID},e.prototype.isComputing=function(){return s.TPromise.is(this.computePromise)},e.prototype.onModelChanged=function(){this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.beginCompute()},e.prototype.onModelModeChanged=function(){this.stop(),this.beginCompute()},e.prototype.onChange=function(){var e=this;this.timeoutPromise||(this.timeoutPromise=s.TPromise.timeout(t.RECOMPUTE_TIME),this.timeoutPromise.then(function(){e.timeoutPromise=null,e.beginCompute()}))},e.prototype.beginCompute=function(){var e=this;this.editor.getModel()&&this.enabled&&d.LinkProviderRegistry.has(this.editor.getModel())&&(this.computePromise=g.getLinks(this.editor.getModel()).then(function(t){e.updateDecorations(t),e.computePromise=null}))},e.prototype.updateDecorations=function(e){var t=this,n="altKey"===this.editor.getConfiguration().multiCursorModifier;this.editor.changeDecorations(function(i){for(var o=[],r=Object.keys(t.currentOccurrences),s=0,a=r.length;s1;r.toggleClass(this.element,"multiple",e),this.keyMultipleSignatures.set(e),this.signature.innerHTML="",this.docs.innerHTML="";var t=this.hints.signatures[this.currentSignature];if(t){var i=r.append(this.signature,w(".code")),o=t.parameters.length>0,a=this.editor.getConfiguration().fontInfo;i.style.fontSize=a.fontSize+"px",i.style.fontFamily=a.fontFamily,o?this.renderParameters(i,t,this.hints.activeParameter):r.append(i,w("span")).textContent=t.label;var u=t.parameters[this.hints.activeParameter];if(u&&u.documentation){var l=w("span.documentation");l.textContent=u.documentation,r.append(this.docs,w("p",null,l))}r.toggleClass(this.signature,"has-docs",!!t.documentation),t.documentation&&r.append(this.docs,w("p",null,t.documentation));var c=String(this.currentSignature+1);if(this.hints.signatures.length<10&&(c+="/"+this.hints.signatures.length),this.overloads.textContent=c,u){var d=u.label;this.announcedLabel!==d&&(s.alert(n.localize(0,null,d)),this.announcedLabel=d)}this.editor.layoutContentWidget(this),this.scrollbar.scanDomNode()}},e.prototype.renderParameters=function(e,t,n){for(var i,o=t.label.length,s=0,a=t.parameters.length-1;a>=0;a--){var u=t.parameters[a],l=0,c=0;(s=t.label.lastIndexOf(u.label,o-1))>=0&&(l=s,c=s+u.label.length),(i=document.createElement("span")).textContent=t.label.substring(c,o),r.prepend(e,i),(i=document.createElement("span")).className="parameter "+(a===n?"active":""),i.textContent=t.label.substring(l,c),r.prepend(e,i),o=l}(i=document.createElement("span")).textContent=t.label.substring(0,o),r.prepend(e,i)},e.prototype.next=function(){var e=this.hints.signatures.length;return e<2?(this.cancel(),!1):(this.currentSignature=(this.currentSignature+1)%e,this.render(),!0)},e.prototype.previous=function(){var e=this.hints.signatures.length;return e<2?(this.cancel(),!1):(this.currentSignature=(this.currentSignature-1+e)%e,this.render(),!0)},e.prototype.cancel=function(){this.model.cancel()},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.trigger=function(){this.model.trigger(0)},e.prototype.updateMaxHeight=function(){var e=Math.max(this.editor.getLayoutInfo().height/4,250);this.element.style.maxHeight=e+"px"},e.prototype.dispose=function(){this.disposables=i.dispose(this.disposables),this.model=null},e.ID="editor.widget.parameterHintsWidget",e=v([y(1,p.IContextKeyService)],e)}();t.ParameterHintsWidget=E,C.registerThemingParticipant(function(e,t){var n=e.getColor(b.editorHoverBorder);if(n){var i=e.type===C.HIGH_CONTRAST?2:1;t.addRule(".monaco-editor .parameter-hints-widget { border: "+i+"px solid "+n+"; }"),t.addRule(".monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid "+n.transparent(.5)+"; }"),t.addRule(".monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid "+n.transparent(.5)+"; }")}var o=e.getColor(b.editorHoverBackground);o&&t.addRule(".monaco-editor .parameter-hints-widget { background-color: "+o+"; }")})}),define(d[527],h([1,0,360,3,16,21,19,13,30,526,178]),function(e,t,n,i,o,r,s,a,u,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var d=function(){function e(e,t){this.editor=e,this.widget=t.createInstance(l.ParameterHintsWidget,this.editor)}return t=e,e.get=function(e){return e.getContribution(t.ID)},e.prototype.getId=function(){return t.ID},e.prototype.cancel=function(){this.widget.cancel()},e.prototype.previous=function(){this.widget.previous()},e.prototype.next=function(){this.widget.next()},e.prototype.trigger=function(){this.widget.trigger()},e.prototype.dispose=function(){this.widget=i.dispose(this.widget)},e.ID="editor.controller.parameterHints",e=t=v([u.editorContribution,y(1,o.IInstantiationService)],e);var t}(),h=function(e){function t(){return e.call(this,{id:"editor.action.triggerParameterHints",label:n.localize(0,null),alias:"Trigger Parameter Hints",precondition:r.EditorContextKeys.hasSignatureHelpProvider,kbOpts:{kbExpr:r.EditorContextKeys.textFocus,primary:3082}})||this}return f(t,e),t.prototype.run=function(e,t){var n=d.get(t);n&&n.trigger()},t=v([a.editorAction],t)}(a.EditorAction);t.TriggerParameterHintsAction=h;var p=a.CommonEditorRegistry.commandWeight(75),g=a.EditorCommand.bindToContribution(d.get);a.CommonEditorRegistry.registerEditorCommand(new g({id:"closeParameterHints",precondition:c.Context.Visible,handler:function(e){return e.cancel()},kbOpts:{weight:p,kbExpr:r.EditorContextKeys.textFocus,primary:9,secondary:[1033]}})),a.CommonEditorRegistry.registerEditorCommand(new g({id:"showPrevParameterHint",precondition:s.ContextKeyExpr.and(c.Context.Visible,c.Context.MultipleSignatures),handler:function(e){return e.previous()},kbOpts:{weight:p,kbExpr:r.EditorContextKeys.textFocus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),a.CommonEditorRegistry.registerEditorCommand(new g({id:"showNextParameterHint",precondition:s.ContextKeyExpr.and(c.Context.Visible,c.Context.MultipleSignatures),handler:function(e){return e.next()},kbOpts:{weight:p,kbExpr:r.EditorContextKeys.textFocus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))}),define(d[528],h([1,0,369,10,3,7,2,25,14,23,12,393]),function(e,t,n,i,o,r,s,a,u,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var d=function(){function e(e,t){var n=this;this.themeService=t,this._disposables=[],this.allowEditorOverflow=!0,this._currentAcceptInput=null,this._currentCancelInput=null,this._editor=e,this._editor.addContentWidget(this),this._disposables.push(e.onDidChangeConfiguration(function(e){e.fontInfo&&n.updateFont()})),this._disposables.push(t.onThemeChange(function(e){return n.onThemeChange(e)}))}return e.prototype.onThemeChange=function(e){this.updateStyles(e)},e.prototype.dispose=function(){this._disposables=o.dispose(this._disposables),this._editor.removeContentWidget(this)},e.prototype.getId=function(){return"__renameInputWidget"},e.prototype.getDomNode=function(){return this._domNode||(this._inputField=document.createElement("input"),this._inputField.className="rename-input",this._inputField.type="text",this._inputField.setAttribute("aria-label",n.localize(0,null)),this._domNode=document.createElement("div"),this._domNode.style.height=this._editor.getConfiguration().lineHeight+"px",this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputField),this.updateFont(),this.updateStyles(this.themeService.getTheme())),this._domNode},e.prototype.updateStyles=function(e){if(this._inputField){var t=e.getColor(l.inputBackground),n=e.getColor(l.inputForeground),i=e.getColor(l.widgetShadow),o=e.getColor(l.inputBorder);this._inputField.style.backgroundColor=t?t.toString():null,this._inputField.style.color=n?n.toString():null,this._inputField.style.borderWidth=o?"1px":"0px",this._inputField.style.borderStyle=o?"solid":"none",this._inputField.style.borderColor=o?o.toString():"none",this._domNode.style.boxShadow=i?" 0 2px 8px "+i:null}},e.prototype.updateFont=function(){if(this._inputField){var e=this._editor.getConfiguration().fontInfo;this._inputField.style.fontFamily=e.fontFamily,this._inputField.style.fontWeight=e.fontWeight,this._inputField.style.fontSize=e.fontSize+"px"}},e.prototype.getPosition=function(){return this._visible?{position:this._position,preference:[a.ContentWidgetPositionPreference.BELOW,a.ContentWidgetPositionPreference.ABOVE]}:null},e.prototype.acceptInput=function(){this._currentAcceptInput&&this._currentAcceptInput()},e.prototype.cancelInput=function(){this._currentCancelInput&&this._currentCancelInput()},e.prototype.getInput=function(e,t,n,a){var u=this;this._position=new c.Position(e.startLineNumber,e.startColumn),this._inputField.value=t,this._inputField.setAttribute("selectionStart",n.toString()),this._inputField.setAttribute("selectionEnd",a.toString()),this._inputField.size=Math.max(1.1*(e.endColumn-e.startColumn),20);var l,d=[];return l=function(){o.dispose(d),u._hide()},new r.TPromise(function(n,o){u._currentCancelInput=function(){return u._currentAcceptInput=null,u._currentCancelInput=null,o(i.canceled()),!0},u._currentAcceptInput=function(){0!==u._inputField.value.trim().length&&u._inputField.value!==t?(u._currentAcceptInput=null,u._currentCancelInput=null,n(u._inputField.value)):u.cancelInput()};d.push(u._editor.onDidChangeCursorSelection(function(){s.Range.containsPosition(e,u._editor.getPosition())||u.cancelInput()})),d.push(u._editor.onDidBlurEditor(function(){return u.cancelInput()})),u._show()},this._currentCancelInput).then(function(e){return l(),e},function(e){return l(),r.TPromise.wrapError(e)})},e.prototype._show=function(){var e=this;this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber),this._visible=!0,this._editor.layoutContentWidget(this),setTimeout(function(){e._inputField.focus(),e._inputField.setSelectionRange(parseInt(e._inputField.getAttribute("selectionStart")),parseInt(e._inputField.getAttribute("selectionEnd")))},25)},e.prototype._hide=function(){this._visible=!1,this._editor.layoutContentWidget(this)},e=v([y(1,u.IThemeService)],e)}();t.default=d}),define(d[529],h([1,0,368,10,36,7,411,19,50,163,13,30,21,338,528,87,16,14,18,17,51,2]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,_,C,b,w,S,E){"use strict";function L(e,t,o){var s=[],a=!1,u=w.RenameProviderRegistry.ordered(e).map(function(n){return function(){if(!a)return b.asWinJsPromise(function(i){return n.provideRenameEdits(e,t,o,i)}).then(function(e){if(e){if(!e.rejectReason)return a=!0,e;s.push(e.rejectReason)}else;},function(e){return i.onUnexpectedExternalError(e),r.TPromise.wrapError(new Error("provider failed"))})}});return b.sequence(u).then(function(e){var t=e[0];return s.length>0?{edits:void 0,rejectReason:s.join("\n")}:t||{edits:void 0,rejectReason:n.localize(0,null)}})}Object.defineProperty(t,"__esModule",{value:!0}),t.rename=L;var x=new a.RawContextKey("renameInputVisible",!1),N=function(){function e(e,t,n,i,o,r,s){this.editor=e,this._messageService=t,this._textModelResolverService=n,this._progressService=i,this._fileService=s,this._renameInputField=new g.default(e,r),this._renameInputVisible=x.bindTo(o)}return t=e,e.get=function(e){return e.getContribution(t.ID)},e.prototype.dispose=function(){this._renameInputField.dispose()},e.prototype.getId=function(){return t.ID},e.prototype.run=function(){var e=this,t=this.editor.getSelection(),s=this.editor.getModel().getWordAtPosition(t.getStartPosition());if(s){var a,u=t.startLineNumber,l=0,c=s.word.length;return a=new E.Range(u,s.startColumn,u,s.endColumn),t.isEmpty()||t.startLineNumber!==t.endLineNumber||(l=Math.max(0,t.startColumn-s.startColumn),c=Math.min(s.endColumn,t.endColumn)-s.startColumn),this._renameInputVisible.set(!0),this._renameInputField.getInput(a,s.word,l,c).then(function(t){e._renameInputVisible.reset(),e.editor.focus();var i=e._prepareRename(t).then(function(i){return i.finish().then(function(o){o&&e.editor.setSelection(o),S.alert(n.localize(1,null,s.word,t,i.ariaMessage()))})},function(t){return"string"==typeof t?void e._messageService.show(o.default.Info,t):(e._messageService.show(o.default.Error,n.localize(2,null)),r.TPromise.wrapError(t))});return e._progressService.showWhile(i,250),i},function(t){if(e._renameInputVisible.reset(),e.editor.focus(),!i.isPromiseCanceledError(t))return r.TPromise.wrapError(t)})}},e.prototype.acceptRenameInput=function(){this._renameInputField.acceptInput()},e.prototype.cancelRenameInput=function(){this._renameInputField.cancelInput()},e.prototype._prepareRename=function(e){var t=p.createBulkEdit(this._textModelResolverService,this.editor,this._fileService);return L(this.editor.getModel(),this.editor.getPosition(),e).then(function(e){return e.rejectReason?r.TPromise.wrapError(new Error(e.rejectReason)):(t.add(e.edits),t)})},e.ID="editor.contrib.renameController",e=t=v([d.editorContribution,y(1,u.IMessageService),y(2,m.ITextModelService),y(3,l.IProgressService),y(4,a.IContextKeyService),y(5,C.IThemeService),y(6,_.optional(s.IFileService))],e);var t}(),M=function(e){function t(){return e.call(this,{id:"editor.action.rename",label:n.localize(3,null),alias:"Rename Symbol",precondition:a.ContextKeyExpr.and(h.EditorContextKeys.writable,h.EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:h.EditorContextKeys.textFocus,primary:60},menuOpts:{group:"1_modification",order:1.1}})||this}return f(t,e),t.prototype.run=function(e,t){var n=N.get(t);if(n)return n.run()},t=v([c.editorAction],t)}(c.EditorAction);t.RenameAction=M;var T=c.EditorCommand.bindToContribution(N.get);c.CommonEditorRegistry.registerEditorCommand(new T({id:"acceptRenameInput",precondition:x,handler:function(e){return e.acceptRenameInput()},kbOpts:{weight:c.CommonEditorRegistry.commandWeight(99),kbExpr:h.EditorContextKeys.focus,primary:3}})),c.CommonEditorRegistry.registerEditorCommand(new T({id:"cancelRenameInput",precondition:x,handler:function(e){return e.cancelRenameInput()},kbOpts:{weight:c.CommonEditorRegistry.commandWeight(99),kbExpr:h.EditorContextKeys.focus,primary:9,secondary:[1033]}})),c.CommonEditorRegistry.registerDefaultLanguageCommand("_executeDocumentRenameProvider",function(e,t,n){var o=n.newName;if("string"!=typeof o)throw i.illegalArgument("newName");return L(e,t,o)})}),define(d[530],h([1,0,372,81,9,11,7,10,3,4,110,234,63,46,19,25,109,51,58,137,14,23,76,395]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,f,g,m,C,b,w,S,E,L){"use strict";function x(e){return e&&e.match(k)?e:null}function N(e){if(!e)return!1;var t=e.suggestion;return!!t.documentation||t.detail&&t.detail!==t.label}Object.defineProperty(t,"__esModule",{value:!0});var M=!1;t.editorSuggestWidgetBackground=E.registerColor("editorSuggestWidget.background",{dark:E.editorWidgetBackground,light:E.editorWidgetBackground,hc:E.editorWidgetBackground},n.localize(0,null)),t.editorSuggestWidgetBorder=E.registerColor("editorSuggestWidget.border",{dark:E.editorWidgetBorder,light:E.editorWidgetBorder,hc:E.editorWidgetBorder},n.localize(1,null)),t.editorSuggestWidgetForeground=E.registerColor("editorSuggestWidget.foreground",{dark:E.editorForeground,light:E.editorForeground,hc:E.editorForeground},n.localize(2,null)),t.editorSuggestWidgetSelectedBackground=E.registerColor("editorSuggestWidget.selectedBackground",{dark:E.listFocusBackground,light:E.listFocusBackground,hc:E.listFocusBackground},n.localize(3,null)),t.editorSuggestWidgetHighlightForeground=E.registerColor("editorSuggestWidget.highlightForeground",{dark:E.listHighlightForeground,light:E.listHighlightForeground,hc:E.listHighlightForeground},n.localize(4,null));var T,k=/^(#([\da-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*\))$/i,I=function(){function e(e,t,n){this.widget=e,this.editor=t,this.triggerKeybindingLabel=n}return Object.defineProperty(e.prototype,"templateId",{get:function(){return"suggestion"},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){var t=this,i=Object.create(null);i.disposables=[],i.root=e,i.icon=l.append(e,l.$(".icon")),i.colorspan=l.append(i.icon,l.$("span.colorspan"));var o=l.append(e,l.$(".contents")),s=l.append(o,l.$(".main"));i.highlightedLabel=new c.HighlightedLabel(s),i.disposables.push(i.highlightedLabel),i.typeLabel=l.append(s,l.$("span.type-label")),i.readMore=l.append(s,l.$("span.readMore")),i.readMore.title=n.localize(5,null,this.triggerKeybindingLabel);var a=function(){var e=t.editor.getConfiguration(),n=e.fontInfo.fontFamily,o=(e.contribInfo.suggestFontSize||e.fontInfo.fontSize)+"px",r=(e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight)+"px";i.root.style.fontSize=o,s.style.fontFamily=n,s.style.lineHeight=r,i.icon.style.height=r,i.icon.style.width=r,i.readMore.style.height=r,i.readMore.style.width=r};return a(),r.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo||e.contribInfo}).on(a,null,i.disposables),i},e.prototype.renderElement=function(e,t,o){var r=this,s=o,a=e.suggestion;if(N(e)?s.root.setAttribute("aria-label",n.localize(6,null,a.label)):s.root.setAttribute("aria-label",n.localize(7,null,a.label)),s.icon.className="icon "+a.type,s.colorspan.style.backgroundColor="","color"===a.type){var u=x(a.label)||x(a.documentation);u&&(s.icon.className="icon customcolor",s.colorspan.style.backgroundColor=u)}s.highlightedLabel.set(a.label,i.createMatches(e.matches)),s.typeLabel.textContent=(a.detail||"").replace(/\n.*$/m,""),N(e)?(l.show(s.readMore),s.readMore.onmousedown=function(e){e.stopPropagation(),e.preventDefault()},s.readMore.onclick=function(e){e.stopPropagation(),e.preventDefault(),r.widget.toggleDetails()}):(l.hide(s.readMore),s.readMore.onmousedown=null,s.readMore.onclick=null)},e.prototype.disposeTemplate=function(e){e.highlightedLabel.dispose(),e.disposables=u.dispose(e.disposables)},e}();!function(e){e[e.Hidden=0]="Hidden",e[e.Loading=1]="Loading",e[e.Empty=2]="Empty",e[e.Open=3]="Open",e[e.Frozen=4]="Frozen",e[e.Details=5]="Details"}(T||(T={}));var D=function(){function e(e,t,i,o){var s=this;this.widget=t,this.editor=i,this.triggerKeybindingLabel=o,this.borderWidth=1,this.disposables=[],this.el=l.append(e,l.$(".details")),this.disposables.push(u.toDisposable(function(){return e.removeChild(s.el)})),this.body=l.$(".body"),this.scrollbar=new h.DomScrollableElement(this.body,{}),l.append(this.el,this.scrollbar.getDomNode()),this.disposables.push(this.scrollbar),this.header=l.append(this.body,l.$(".header")),this.close=l.append(this.header,l.$("span.close")),this.close.title=n.localize(8,null,o),this.type=l.append(this.header,l.$("p.type")),this.docs=l.append(this.body,l.$("p.docs")),this.ariaLabel=null,this.configureFont(),r.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo}).on(this.configureFont,this,this.disposables)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.el},enumerable:!0,configurable:!0}),e.prototype.render=function(e){var t=this;if(!e||!N(e))return this.type.textContent="",this.docs.textContent="",l.addClass(this.el,"no-docs"),void(this.ariaLabel=null);l.removeClass(this.el,"no-docs"),this.docs.textContent=e.suggestion.documentation,e.suggestion.detail?(this.type.innerText=e.suggestion.detail,l.show(this.type)):(this.type.innerText="",l.hide(this.type)),this.el.style.height=this.header.offsetHeight+this.docs.offsetHeight+2*this.borderWidth+"px",this.close.onmousedown=function(e){e.preventDefault(),e.stopPropagation()},this.close.onclick=function(e){e.preventDefault(),e.stopPropagation(),t.widget.toggleDetails()},this.body.scrollTop=0,this.scrollbar.scanDomNode(),this.ariaLabel=o.format("{0}\n{1}\n{2}",e.suggestion.label||"",e.suggestion.detail||"",e.suggestion.documentation||"")},e.prototype.getAriaLabel=function(){return this.ariaLabel},e.prototype.scrollDown=function(e){void 0===e&&(e=8),this.body.scrollTop+=e},e.prototype.scrollUp=function(e){void 0===e&&(e=8),this.body.scrollTop-=e},e.prototype.scrollTop=function(){this.body.scrollTop=0},e.prototype.scrollBottom=function(){this.body.scrollTop=this.body.scrollHeight},e.prototype.pageDown=function(){this.scrollDown(80)},e.prototype.pageUp=function(){this.scrollUp(80)},e.prototype.setBorderWidth=function(e){this.borderWidth=e},e.prototype.configureFont=function(){var e=this.editor.getConfiguration(),t=e.fontInfo.fontFamily,n=(e.contribInfo.suggestFontSize||e.fontInfo.fontSize)+"px",i=(e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight)+"px";this.el.style.fontSize=n,this.type.style.fontFamily=t,this.close.style.height=i,this.close.style.width=i},e.prototype.dispose=function(){this.disposables=u.dispose(this.disposables)},e}(),O=function(){function e(e,n,i,o,s,a){var u=this;this.editor=e,this.telemetryService=n,this.allowEditorOverflow=!0,this.ignoreFocusEvents=!1,this.onDidSelectEmitter=new r.Emitter,this.onDidFocusEmitter=new r.Emitter,this.onDidHideEmitter=new r.Emitter,this.onDidShowEmitter=new r.Emitter,this.onDidSelect=this.onDidSelectEmitter.event,this.onDidFocus=this.onDidFocusEmitter.event,this.onDidHide=this.onDidHideEmitter.event,this.onDidShow=this.onDidShowEmitter.event,this.maxWidgetWidth=660,this.listWidth=330,this.storageServiceAvailable=!0,this.expandSuggestionDocs=!1;var c=a.lookupKeybinding("editor.action.triggerSuggest"),h=c?" ("+c.getLabel()+")":"";this.isAuto=!1,this.focusedItem=null,this.storageService=s,void 0===this.expandDocsSettingFromStorage()&&(this.storageService.store("expandSuggestionDocs",M,L.StorageScope.GLOBAL),void 0===this.expandDocsSettingFromStorage()&&(this.storageServiceAvailable=!1)),this.element=l.$(".editor-widget.suggest-widget"),this.editor.getConfiguration().contribInfo.iconsInSuggestions||l.addClass(this.element,"no-icons"),this.messageElement=l.append(this.element,l.$(".message")),this.listElement=l.append(this.element,l.$(".tree")),this.details=new D(this.element,this,this.editor,h);var p=new I(this,this.editor,h);this.list=new d.List(this.listElement,this,[p],{useShadows:!1,selectOnMouseDown:!0}),this.toDispose=[w.attachListStyler(this.list,o,{listInactiveFocusBackground:t.editorSuggestWidgetSelectedBackground,listInactiveFocusOutline:E.activeContrastBorder}),o.onThemeChange(function(e){return u.onThemeChange(e)}),e.onDidBlurEditorText(function(){return u.onEditorBlur()}),e.onDidLayoutChange(function(){return u.onEditorLayoutChange()}),this.list.onSelectionChange(function(e){return u.onListSelection(e)}),this.list.onFocusChange(function(e){return u.onListFocus(e)}),this.editor.onDidChangeCursorSelection(function(){return u.onCursorSelectionChanged()})],this.suggestWidgetVisible=m.Context.Visible.bindTo(i),this.suggestWidgetMultipleSuggestions=m.Context.MultipleSuggestions.bindTo(i),this.suggestionSupportsAutoAccept=m.Context.AcceptOnKey.bindTo(i),this.editor.addContentWidget(this),this.setState(0),this.onThemeChange(o.getTheme())}return e.prototype.onCursorSelectionChanged=function(){0!==this.state&&this.editor.layoutContentWidget(this)},e.prototype.onEditorBlur=function(){var e=this;this.editorBlurTimeout=s.TPromise.timeout(150).then(function(){e.editor.isFocused()||e.setState(0)})},e.prototype.onEditorLayoutChange=function(){3!==this.state&&5!==this.state||!this.expandDocsSettingFromStorage()||this.expandSideOrBelow()},e.prototype.onListSelection=function(e){if(e.elements.length){var t=e.elements[0];this.onDidSelectEmitter.fire(t),C.alert(n.localize(11,null,t.suggestion.label)),this.editor.focus()}},e.prototype._getSuggestionAriaAlertLabel=function(e){return N(e)?n.localize(12,null,e.suggestion.label):n.localize(13,null,e.suggestion.label)},e.prototype._ariaAlert=function(e){this._lastAriaAlertLabel!==e&&(this._lastAriaAlertLabel=e,this._lastAriaAlertLabel&&C.alert(this._lastAriaAlertLabel))},e.prototype.onThemeChange=function(e){var n=e.getColor(t.editorSuggestWidgetBackground);n&&(this.listElement.style.backgroundColor=n.toString(),this.details.element.style.backgroundColor=n.toString(),this.messageElement.style.backgroundColor=n.toString());var i=e.getColor(t.editorSuggestWidgetBorder);i&&(this.listElement.style.borderColor=i.toString(),this.details.element.style.borderColor=i.toString(),this.messageElement.style.borderColor=i.toString(),this.detailsBorderColor=i.toString());var o=e.getColor(E.focusBorder);o&&(this.detailsFocusBorderColor=o.toString()),this.details.setBorderWidth("hc"===e.type?2:1)},e.prototype.onListFocus=function(e){var t=this;if(!this.ignoreFocusEvents){if(!e.elements.length)return this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null,this.focusedItem=null),void this._ariaAlert(null);var n=e.elements[0];if(this._ariaAlert(this._getSuggestionAriaAlertLabel(n)),n!==this.focusedItem){this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null);var i=e.indexes[0];this.suggestionSupportsAutoAccept.set(!n.suggestion.noAutoAccept);var o=this.focusedItem,r=this.focusedItemIndex;this.focusedItemIndex=i,this.focusedItem=n,o&&(this.ignoreFocusEvents=!0,this.list.splice(r,1,[o]),this.ignoreFocusEvents=!1),this.updateListHeight(),this.list.reveal(i),this.currentSuggestionDetails=n.resolve().then(function(){t.ignoreFocusEvents=!0,t.list.splice(i,1,[n]),t.ignoreFocusEvents=!1,t.list.setFocus([i]),t.list.reveal(i),t.expandDocsSettingFromStorage()?t.showDetails():l.removeClass(t.element,"docs-side")}).then(null,function(e){return!a.isPromiseCanceledError(e)&&a.onUnexpectedError(e)}).then(function(){return t.currentSuggestionDetails=null}),this.onDidFocusEmitter.fire(n)}}},e.prototype.setState=function(t){if(this.element){var n=this.state!==t;switch(this.state=t,l.toggleClass(this.element,"frozen",4===t),t){case 0:l.hide(this.messageElement,this.details.element),l.show(this.listElement),this.hide(),n&&this.list.splice(0,this.list.length);break;case 1:this.messageElement.textContent=e.LOADING_MESSAGE,l.hide(this.listElement,this.details.element),l.show(this.messageElement),l.removeClass(this.element,"docs-side"),this.show();break;case 2:this.messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,l.hide(this.listElement,this.details.element),l.show(this.messageElement),l.removeClass(this.element,"docs-side"),this.show();break;case 3:l.hide(this.messageElement),l.show(this.listElement),this.expandDocsSettingFromStorage()&&N(this.list.getFocusedElements()[0])?(l.show(this.details.element),this.expandSideOrBelow()):l.hide(this.details.element),this.show();break;case 4:l.hide(this.messageElement,this.details.element),l.show(this.listElement),this.show();break;case 5:l.hide(this.messageElement),l.show(this.details.element,this.listElement),this.show(),this._ariaAlert(this.details.getAriaLabel())}n&&this.editor.layoutContentWidget(this)}},e.prototype.showTriggered=function(e){var t=this;0===this.state&&(this.isAuto=!!e,this.isAuto||(this.loadingTimeout=setTimeout(function(){t.loadingTimeout=null,t.setState(1)},50)))},e.prototype.showSuggestions=function(e,t,n){if(this.loadingTimeout&&(clearTimeout(this.loadingTimeout),this.loadingTimeout=null),this.completionModel=e,t&&2!==this.state&&0!==this.state)this.setState(4);else{var i=this.completionModel.items.length,o=0===i;if(this.suggestWidgetMultipleSuggestions.set(i>1),o)n?this.setState(0):this.setState(2),this.completionModel=null;else{var r=this.completionModel.stats;r.wasAutomaticallyTriggered=!!n,this.telemetryService.publicLog("suggestWidget",_({},r,this.editor.getTelemetryData())),this.focusedItem=null,this.focusedItemIndex=null,this.list.splice(0,this.list.length,this.completionModel.items),this.list.setFocus([0]),this.list.reveal(0,0),t?this.setState(4):this.setState(3),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)}}},e.prototype.selectNextPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageDown(),!0;case 1:return!this.isAuto;default:return this.list.focusNextPage(),!0}},e.prototype.selectNext=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusNext(1,!0),!0}},e.prototype.selectLast=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollBottom(),!0;case 1:return!this.isAuto;default:return this.list.focusLast(),!0}},e.prototype.selectPreviousPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageUp(),!0;case 1:return!this.isAuto;default:return this.list.focusPreviousPage(),!0}},e.prototype.selectPrevious=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusPrevious(1,!0),!1}},e.prototype.selectFirst=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollTop(),!0;case 1:return!this.isAuto;default:return this.list.focusFirst(),!0}},e.prototype.getFocusedItem=function(){if(0!==this.state&&2!==this.state&&1!==this.state)return this.list.getFocusedElements()[0]},e.prototype.toggleDetailsFocus=function(){5===this.state?(this.setState(3),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)):3===this.state&&this.expandDocsSettingFromStorage()&&(this.setState(5),this.detailsFocusBorderColor&&(this.details.element.style.borderColor=this.detailsFocusBorderColor)),this.telemetryService.publicLog("suggestWidget:toggleDetailsFocus",this.editor.getTelemetryData())},e.prototype.toggleDetails=function(){if(N(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),l.hide(this.details.element),l.removeClass(this.element,"docs-side"),l.removeClass(this.element,"docs-below"),this.editor.layoutContentWidget(this),this.telemetryService.publicLog("suggestWidget:collapseDetails",this.editor.getTelemetryData());else{if(3!==this.state&&5!==this.state)return;this.updateExpandDocsSetting(!0),this.showDetails(),this.telemetryService.publicLog("suggestWidget:expandDetails",this.editor.getTelemetryData())}},e.prototype.showDetails=function(){this.expandSideOrBelow(),l.show(this.details.element),this.details.render(this.list.getFocusedElements()[0]),this.details.element.style.maxHeight=this.maxWidgetHeight+"px",this.listElement.style.marginTop="0px",this.editor.layoutContentWidget(this),this.adjustDocsPosition(),this.editor.focus(),this._ariaAlert(this.details.getAriaLabel())},e.prototype.show=function(){var e=this;this.updateListHeight(),this.suggestWidgetVisible.set(!0),this.showTimeout=s.TPromise.timeout(100).then(function(){l.addClass(e.element,"visible"),e.onDidShowEmitter.fire(e)})},e.prototype.hide=function(){this.suggestWidgetVisible.reset(),this.suggestWidgetMultipleSuggestions.reset(),l.removeClass(this.element,"visible")},e.prototype.hideWidget=function(){clearTimeout(this.loadingTimeout),this.setState(0),this.onDidHideEmitter.fire(this)},e.prototype.getPosition=function(){return 0===this.state?null:{position:this.editor.getPosition(),preference:[g.ContentWidgetPositionPreference.BELOW,g.ContentWidgetPositionPreference.ABOVE]}},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.updateListHeight=function(){var e=0;if(2===this.state||1===this.state)e=this.unfocusedHeight;else{var t=this.list.contentHeight/this.unfocusedHeight;e=Math.min(t,12)*this.unfocusedHeight}return this.element.style.lineHeight=this.unfocusedHeight+"px",this.listElement.style.height=e+"px",this.list.layout(e),this.editor.layoutContentWidget(this),e},e.prototype.adjustDocsPosition=function(){var e=this.editor.getConfiguration().fontInfo.lineHeight,t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),n=l.getDomNodePagePosition(this.editor.getDomNode()),i=n.left+t.left,o=n.top+t.top+t.height,r=l.getDomNodePagePosition(this.element),s=r.left,a=r.top;sa&&this.details.element.offsetHeight>this.listElement.offsetHeight&&(this.listElement.style.marginTop=this.details.element.offsetHeight-this.listElement.offsetHeight+"px")},e.prototype.expandSideOrBelow=function(){var e=this.element.style.maxWidth.match(/(\d+)px/);!e||Number(e[1])0&&this._activeAcceptCharacters.add(i[0])}}else this.reset()},e.prototype.reset=function(){this._activeItem=void 0},e.prototype.dispose=function(){r.dispose(this._disposables)},e}(),x=function(){function e(e,t,n,i,o){var r=this;this._editor=e,this._commandService=t,this._telemetryService=n,this._toDispose=[],this._model=new S.SuggestModel(this._editor),this._toDispose.push(this._model.onDidTrigger(function(e){return r._widget.showTriggered(e.auto)})),this._toDispose.push(this._model.onDidSuggest(function(e){return r._widget.showSuggestions(e.completionModel,e.isFrozen,e.auto)})),this._toDispose.push(this._model.onDidCancel(function(e){return!e.retrigger&&r._widget.hideWidget()}));var s=w.Context.AcceptSuggestionsOnEnter.bindTo(i),a=function(){var e=r._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter;s.set("on"===e||"smart"===e||!0===e)};this._toDispose.push(this._editor.onDidChangeConfiguration(function(e){return a()})),a(),this._widget=o.createInstance(E.SuggestWidget,this._editor),this._toDispose.push(this._widget.onDidSelect(this._onDidSelectItem,this));var u=new L(e,this._widget,function(e){return r._onDidSelectItem(e)});this._toDispose.push(u,this._model.onDidSuggest(function(e){0===e.completionModel.items.length&&u.reset()}));var l=w.Context.MakesTextEdit.bindTo(i);this._toDispose.push(this._widget.onDidFocus(function(e){var t=r._editor.getPosition(),n=e.position.column-e.suggestion.overwriteBefore,i=t.column,o=!0;"smart"!==r._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter||2!==r._model.state||e.suggestion.command||e.suggestion.additionalTextEdits||"textmate"===e.suggestion.snippetType||i-n!==e.suggestion.insertText.length||(o=r._editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:n,endLineNumber:t.lineNumber,endColumn:i})!==e.suggestion.insertText),l.set(o)})),this._toDispose.push({dispose:function(){l.reset()}})}return t=e,e.get=function(e){return e.getContribution(t.ID)},e.prototype.getId=function(){return t.ID},e.prototype.dispose=function(){this._toDispose=r.dispose(this._toDispose),this._widget&&(this._widget.dispose(),this._widget=null),this._model&&(this._model.dispose(),this._model=null)},e.prototype._onDidSelectItem=function(e){if(e){var t=e.suggestion,n=e.position,o=this._editor.getPosition().column-n.column;Array.isArray(t.additionalTextEdits)&&(this._editor.pushUndoStop(),this._editor.executeEdits("suggestController.additionalTextEdits",t.additionalTextEdits.map(function(e){return g.EditOperation.replace(m.Range.lift(e.range),e.text)})),this._editor.pushUndoStop());var r=t.insertText;"textmate"!==t.snippetType&&(r=C.SnippetParser.escape(r)),b.SnippetController2.get(this._editor).insert(r,t.overwriteBefore+o,t.overwriteAfter),t.command&&(s=this._commandService).executeCommand.apply(s,[t.command.id].concat(t.command.arguments)).done(void 0,i.onUnexpectedError),this._alertCompletionItem(e),this._telemetryService.publicLog("suggestSnippetInsert",_({},this._editor.getTelemetryData(),{suggestionType:t.type}))}this._model.cancel();var s},e.prototype._alertCompletionItem=function(e){var t=e.suggestion,i=n.localize(0,null,t.label,t.insertText);h.alert(i)},e.prototype.triggerSuggest=function(e){this._model.trigger(!1,!1,e),this._editor.revealLine(this._editor.getPosition().lineNumber),this._editor.focus()},e.prototype.acceptSelectedSuggestion=function(){if(this._widget){var e=this._widget.getFocusedItem();this._onDidSelectItem(e)}},e.prototype.cancelSuggestWidget=function(){this._widget&&(this._model.cancel(),this._widget.hideWidget())},e.prototype.selectNextSuggestion=function(){this._widget&&this._widget.selectNext()},e.prototype.selectNextPageSuggestion=function(){this._widget&&this._widget.selectNextPage()},e.prototype.selectLastSuggestion=function(){this._widget&&this._widget.selectLast()},e.prototype.selectPrevSuggestion=function(){this._widget&&this._widget.selectPrevious()},e.prototype.selectPrevPageSuggestion=function(){this._widget&&this._widget.selectPreviousPage()},e.prototype.selectFirstSuggestion=function(){this._widget&&this._widget.selectFirst()},e.prototype.toggleSuggestionDetails=function(){this._widget&&this._widget.toggleDetails()},e.prototype.toggleSuggestionFocus=function(){this._widget&&this._widget.toggleDetailsFocus()},e.ID="editor.contrib.suggestController",e=t=v([p.editorContribution,y(1,l.ICommandService),y(2,a.ITelemetryService),y(3,u.IContextKeyService),y(4,s.IInstantiationService)],e);var t}();t.SuggestController=x;var N=function(e){function t(){return e.call(this,{id:"editor.action.triggerSuggest",label:n.localize(1,null),alias:"Trigger Suggest",precondition:u.ContextKeyExpr.and(c.EditorContextKeys.writable,c.EditorContextKeys.hasCompletionItemProvider),kbOpts:{kbExpr:c.EditorContextKeys.textFocus,primary:2058,mac:{primary:266}}})||this}return f(t,e),t.prototype.run=function(e,t){var n=x.get(t);n&&n.triggerSuggest()},t=v([d.editorAction],t)}(d.EditorAction);t.TriggerSuggestAction=N;var M=d.CommonEditorRegistry.commandWeight(90),T=d.EditorCommand.bindToContribution(x.get);d.CommonEditorRegistry.registerEditorCommand(new T({id:"acceptSelectedSuggestion",precondition:w.Context.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:M,kbExpr:c.EditorContextKeys.textFocus,primary:2}})),d.CommonEditorRegistry.registerEditorCommand(new T({id:"acceptSelectedSuggestionOnEnter",precondition:w.Context.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:M,kbExpr:u.ContextKeyExpr.and(c.EditorContextKeys.textFocus,w.Context.AcceptSuggestionsOnEnter,w.Context.MakesTextEdit),primary:3}})),d.CommonEditorRegistry.registerEditorCommand(new T({id:"hideSuggestWidget",precondition:w.Context.Visible,handler:function(e){return e.cancelSuggestWidget()},kbOpts:{weight:M,kbExpr:c.EditorContextKeys.textFocus,primary:9,secondary:[1033]}})),d.CommonEditorRegistry.registerEditorCommand(new T({id:"selectNextSuggestion",precondition:u.ContextKeyExpr.and(w.Context.Visible,w.Context.MultipleSuggestions),handler:function(e){return e.selectNextSuggestion()},kbOpts:{weight:M,kbExpr:c.EditorContextKeys.textFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),d.CommonEditorRegistry.registerEditorCommand(new T({id:"selectNextPageSuggestion",precondition:u.ContextKeyExpr.and(w.Context.Visible,w.Context.MultipleSuggestions),handler:function(e){return e.selectNextPageSuggestion()},kbOpts:{weight:M,kbExpr:c.EditorContextKeys.textFocus,primary:12,secondary:[2060]}})),d.CommonEditorRegistry.registerEditorCommand(new T({id:"selectLastSuggestion",precondition:u.ContextKeyExpr.and(w.Context.Visible,w.Context.MultipleSuggestions),handler:function(e){return e.selectLastSuggestion()}})),d.CommonEditorRegistry.registerEditorCommand(new T({id:"selectPrevSuggestion",precondition:u.ContextKeyExpr.and(w.Context.Visible,w.Context.MultipleSuggestions),handler:function(e){return e.selectPrevSuggestion()},kbOpts:{weight:M,kbExpr:c.EditorContextKeys.textFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),d.CommonEditorRegistry.registerEditorCommand(new T({id:"selectPrevPageSuggestion",precondition:u.ContextKeyExpr.and(w.Context.Visible,w.Context.MultipleSuggestions),handler:function(e){return e.selectPrevPageSuggestion()},kbOpts:{weight:M,kbExpr:c.EditorContextKeys.textFocus,primary:11,secondary:[2059]}})),d.CommonEditorRegistry.registerEditorCommand(new T({id:"selectFirstSuggestion",precondition:u.ContextKeyExpr.and(w.Context.Visible,w.Context.MultipleSuggestions),handler:function(e){return e.selectFirstSuggestion()}})),d.CommonEditorRegistry.registerEditorCommand(new T({id:"toggleSuggestionDetails",precondition:w.Context.Visible,handler:function(e){return e.toggleSuggestionDetails()},kbOpts:{weight:M,kbExpr:c.EditorContextKeys.textFocus,primary:2058,mac:{primary:266}}})),d.CommonEditorRegistry.registerEditorCommand(new T({id:"toggleSuggestionFocus",precondition:w.Context.Visible,handler:function(e){return e.toggleSuggestionFocus()},kbOpts:{weight:M,kbExpr:c.EditorContextKeys.textFocus,primary:2570,mac:{primary:778}}}))}),define(d[532],h([1,0,374,18,10,2,20,13,17,3,23,14,54,34]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p){"use strict";function f(e,t){var n=u.DocumentHighlightProviderRegistry.ordered(e),r=!1;return i.sequence(n.map(function(n){return function(){if(!r)return i.asWinJsPromise(function(i){return n.provideDocumentHighlights(e,t,i)}).then(function(e){if(Array.isArray(e)&&e.length>0)return r=!0,e},function(e){o.onUnexpectedExternalError(e)})}})).then(function(e){return e[0]})}Object.defineProperty(t,"__esModule",{value:!0}),t.editorWordHighlight=c.registerColor("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},n.localize(0,null)),t.editorWordHighlightStrong=c.registerColor("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},n.localize(1,null)),t.getOccurrencesAtPosition=f,a.CommonEditorRegistry.registerDefaultLanguageCommand("_executeDocumentHighlights",f);var g=function(){function e(e){var t=this;this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this.occurrencesHighlight=this.editor.getConfiguration().contribInfo.occurrencesHighlight,this.model=this.editor.getModel(),this.toUnhook=[],this.toUnhook.push(e.onDidChangeCursorPosition(function(e){t.occurrencesHighlight&&t._onPositionChanged(e)})),this.toUnhook.push(e.onDidChangeModel(function(e){t._stopAll(),t.model=t.editor.getModel()})),this.toUnhook.push(e.onDidChangeModelContent(function(e){t._stopAll()})),this.toUnhook.push(e.onDidChangeConfiguration(function(e){var n=t.editor.getConfiguration().contribInfo.occurrencesHighlight;t.occurrencesHighlight!==n&&(t.occurrencesHighlight=n,t._stopAll())})),this._lastWordRange=null,this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}return e.prototype._removeDecorations=function(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]))},e.prototype._stopAll=function(){this._lastWordRange=null,this._removeDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)},e.prototype._onPositionChanged=function(e){var t=this;if(this.occurrencesHighlight)if(e.reason===h.CursorChangeReason.Explicit)if(u.DocumentHighlightProviderRegistry.has(this.model)){var n=this.editor.getSelection();if(n.startLineNumber===n.endLineNumber){var i=n.startLineNumber,o=n.startColumn,s=n.endColumn,a=this.model.getWordAtPosition({lineNumber:i,column:o});if(!a||a.startColumn>o||a.endColumn=s&&(c=!0)}if(this.lastCursorPositionChangeTime=(new Date).getTime(),c)this.workerRequestCompleted&&-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else{this._stopAll();var m=++this.workerRequestTokenId;this.workerRequestCompleted=!1,this.workerRequest=f(this.model,this.editor.getPosition()),this.workerRequest.then(function(e){m===t.workerRequestTokenId&&(t.workerRequestCompleted=!0,t.workerRequestValue=e||[],t._beginRenderDecorations())}).done()}this._lastWordRange=l}}else this._stopAll()}else this._stopAll();else this._stopAll();else this._stopAll()},e.prototype._beginRenderDecorations=function(){var e=this,t=(new Date).getTime(),n=this.lastCursorPositionChangeTime+250;t>=n?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(function(){e.renderDecorations()},n-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var t=[],n=0,i=this.workerRequestValue.length;n0?o.format(O,e.length):null:T}Object.defineProperty(t,"__esModule",{value:!0});var N=new d.RawContextKey("accessibilityHelpWidgetVisible",!1),M=function(e){function t(t,n){var i=e.call(this)||this;return i._editor=t,i._widget=i._register(n.createInstance(R,i._editor)),i}return f(t,e),n=t,t.get=function(e){return e.getContribution(n.ID)},t.prototype.getId=function(){return n.ID},t.prototype.show=function(){this._widget.show()},t.prototype.hide=function(){this._widget.hide()},t.ID="editor.contrib.accessibilityHelpController",t=n=v([g.editorContribution,y(1,l.IInstantiationService)],t);var n}(i.Disposable),T=n.localize("noSelection","No selection"),k=n.localize("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),I=n.localize("singleSelection","Line {0}, Column {1}"),D=n.localize("multiSelectionRange","{0} selections ({1} characters selected)"),O=n.localize("multiSelection","{0} selections"),R=function(e){function t(t,i,o,s){var u=e.call(this)||this;return u._contextKeyService=i,u._keybindingService=o,u._openerService=s,u._editor=t,u._isVisibleKey=N.bindTo(u._contextKeyService),u._domNode=a.createFastDomNode(document.createElement("div")),u._domNode.setClassName("accessibilityHelpWidget"),u._domNode.setDisplay("none"),u._domNode.setAttribute("role","dialog"),u._domNode.setAttribute("aria-hidden","true"),u._contentDomNode=a.createFastDomNode(document.createElement("div")),u._contentDomNode.setAttribute("role","document"),u._domNode.appendChild(u._contentDomNode),u._isVisible=!1,u._register(u._editor.onDidLayoutChange(function(){u._isVisible&&u._layout()})),u._register(r.addStandardDisposableListener(u._contentDomNode.domNode,"keydown",function(e){if(u._isVisible&&(e.equals(2083)&&(w.alert(n.localize("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'.")),u._editor.updateOptions({accessibilitySupport:"on"}),r.clearNode(u._contentDomNode.domNode),u._buildContent(),u._contentDomNode.domNode.focus(),e.preventDefault(),e.stopPropagation()),e.equals(2086))){w.alert(n.localize("openingDocs","Now opening the Editor Accessibility documentation page."));var t=u._editor.getRawConfiguration().accessibilityHelpUrl;void 0===t&&(t="https://go.microsoft.com/fwlink/?linkid=852450"),u._openerService.open(E.default.parse(t)),e.preventDefault(),e.stopPropagation()}})),u.onblur(u._contentDomNode.domNode,function(){u.hide()}),u._editor.addOverlayWidget(u),u}return f(t,e),t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode.domNode},t.prototype.getPosition=function(){return{preference:null}},t.prototype.show=function(){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())},t.prototype._descriptionForCommand=function(e,t,n){var i=this._keybindingService.lookupKeybinding(e);return i?o.format(t,i.getAriaLabel()):o.format(n,e)},t.prototype._buildContent=function(){var e=this._editor.getConfiguration(),t=this._editor.getSelections(),i=0;if(t){var o=this._editor.getModel();o&&t.forEach(function(e){i+=o.getValueLengthInRange(e)})}var r=x(t,i);switch(e.wrappingInfo.inDiffEditor?e.readOnly?r+=n.localize("readonlyDiffEditor"," in a read-only pane of a diff editor."):r+=n.localize("editableDiffEditor"," in a pane of a diff editor."):e.readOnly?r+=n.localize("readonlyEditor"," in a read-only code editor"):r+=n.localize("editableEditor"," in a code editor"),e.accessibilitySupport){case 0:var a=b.isMacintosh?n.localize("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."):n.localize("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now.");r+="\n\n - "+a;break;case 2:r+="\n\n - "+n.localize("auto_on","The editor is configured to be optimized for usage with a Screen Reader.");break;case 1:r+="\n\n - "+n.localize("auto_off","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time."),r+=" "+a}var u=n.localize("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),l=n.localize("tabFocusModeOnMsgNoKb","Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding."),c=n.localize("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),d=n.localize("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.");e.tabFocusMode?r+="\n\n - "+this._descriptionForCommand(m.ToggleTabFocusModeAction.ID,u,l):r+="\n\n - "+this._descriptionForCommand(m.ToggleTabFocusModeAction.ID,c,d),r+="\n\n - "+(b.isMacintosh?n.localize("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."):n.localize("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility.")),r+="\n\n"+n.localize("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),this._contentDomNode.domNode.appendChild(s.renderFormattedText(r)),this._contentDomNode.domNode.setAttribute("aria-label",r)},t.prototype.hide=function(){this._isVisible&&(this._isVisible=!1,this._isVisibleKey.reset(),this._domNode.setDisplay("none"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode.domNode.tabIndex=-1,r.clearNode(this._contentDomNode.domNode),this._editor.focus())},t.prototype._layout=function(){var e=this._editor.getLayoutInfo(),n=Math.max(5,Math.min(t.WIDTH,e.width-40)),i=Math.max(5,Math.min(t.HEIGHT,e.height-40));this._domNode.setWidth(n),this._domNode.setHeight(i);var o=Math.round((e.height-i)/2);this._domNode.setTop(o);var r=Math.round((e.width-n)/2);this._domNode.setLeft(r)},t.ID="editor.contrib.accessibilityHelpWidget",t.WIDTH=500,t.HEIGHT=300,t=v([y(1,d.IContextKeyService),y(2,c.IKeybindingService),y(3,S.IOpenerService)],t)}(u.Widget),P=(function(e){function t(){return e.call(this,{id:"editor.action.showAccessibilityHelp",label:n.localize("ShowAccessibilityHelpAction","Show Accessibility Help"),alias:"Show Accessibility Help",precondition:null,kbOpts:{kbExpr:h.EditorContextKeys.focus,primary:L.isIE?2107:571}})||this}f(t,e),t.prototype.run=function(e,t){var n=M.get(t);n&&n.show()},t=v([p.editorAction],t)}(p.EditorAction),p.EditorCommand.bindToContribution(M.get));p.CommonEditorRegistry.registerEditorCommand(new P({id:"closeAccessibilityHelp",precondition:N,handler:function(e){return e.hide()},kbOpts:{weight:p.CommonEditorRegistry.commandWeight(100),kbExpr:h.EditorContextKeys.focus,primary:9,secondary:[1033]}})),_.registerThemingParticipant(function(e,t){var n=e.getColor(C.editorWidgetBackground);n&&t.addRule(".monaco-editor .accessibilityHelpWidget { background-color: "+n+"; }");var i=e.getColor(C.widgetShadow);i&&t.addRule(".monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px "+i+"; }");var o=e.getColor(C.contrastBorder);o&&t.addRule(".monaco-editor .accessibilityHelpWidget { border: 2px solid "+o+"; }")})}),define(d[535],h([1,0,376,3,9,13,25,30,88,116,17,77,68,14,23,403]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g){"use strict";function m(e){for(var t="",n=0,i=e.length;n=0;i--){var r=t.tokens1[i];if(e.column-1>=r.offset){n=i;break}}for(var s=0,i=t.tokens2.length>>>1;i>=0;i--)if(e.column-1>=t.tokens2[i<<1]){s=i;break}var a="",u=this._model.getLineContent(e.lineNumber),l="";if(n'+m(l)+'('+l.length+" "+(1===l.length?"char":"chars")+")",a+='
    ';var h=this._decodeMetadata(t.tokens2[1+(s<<1)]);a+='',a+='",a+='",a+='",a+='",a+='",a+="",a+='
    ',n'+o.escape(t.tokens1[n].type)+""),this._domNode.innerHTML=a,this._editor.layoutContentWidget(this)},t.prototype._decodeMetadata=function(e){var t=c.TokenizationRegistry.getColorMap(),n=l.TokenMetadata.getLanguageId(e),i=l.TokenMetadata.getTokenType(e),o=l.TokenMetadata.getFontStyle(e),r=l.TokenMetadata.getForeground(e),s=l.TokenMetadata.getBackground(e);return{languageIdentifier:this._modeService.getLanguageIdentifier(n),tokenType:i,fontStyle:o,foreground:t[r],background:t[s]}},t.prototype._tokenTypeToString=function(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 4:return"RegEx"}return"??"},t.prototype._fontStyleToString=function(e){var t="";return 1&e&&(t+="italic "),2&e&&(t+="bold "),4&e&&(t+="underline "),0===t.length&&(t="---"),t},t.prototype._getTokensAtLine=function(e){var t=this._getStateBeforeLine(e),n=this._tokenizationSupport.tokenize(this._model.getLineContent(e),t,0),i=this._tokenizationSupport.tokenize2(this._model.getLineContent(e),t,0);return{startState:t,tokens1:n.tokens,tokens2:i.tokens,endState:n.endState}},t.prototype._getStateBeforeLine=function(e){for(var t=this._tokenizationSupport.getInitialState(),n=1;n1?n.localize(0,null,t.lineNumber,t.column):n.localize(1,null,t.lineNumber,t.column):t.lineNumber<1||t.lineNumber>o.getLineCount()?n.localize(2,null,o.getLineCount()):n.localize(3,null,o.getLineMaxColumn(t.lineNumber)),{position:t,isValid:a,label:s}},t.prototype.getLabel=function(){return this._parseResult.label},t.prototype.getAriaLabel=function(){return n.localize(4,null,this._parseResult.label)},t.prototype.run=function(e,t){return e===o.Mode.OPEN?this.runOpen():this.runPreview()},t.prototype.runOpen=function(){if(!this._parseResult.isValid)return!1;var e=this.toSelection();return this.editor.setSelection(e),this.editor.revealRangeInCenter(e),this.editor.focus(),!0},t.prototype.runPreview=function(){if(!this._parseResult.isValid)return this.decorator.clearDecorations(),!1;var e=this.toSelection();return this.editor.revealRangeInCenter(e),this.decorator.decorateLine(e,this.editor),!1},t.prototype.toSelection=function(){return new c.Range(this._parseResult.position.lineNumber,this._parseResult.position.column,this._parseResult.position.lineNumber,this._parseResult.position.column)},t}(i.QuickOpenEntry);t.GotoLineEntry=d;var h=function(e){function t(){return e.call(this,n.localize(5,null),{id:"editor.action.gotoLine",label:n.localize(6,null),alias:"Go to Line...",precondition:null,kbOpts:{kbExpr:s.EditorContextKeys.focus,primary:2085,mac:{primary:293}}})||this}return f(t,e),t.prototype.run=function(e,t){var n=this;this._show(this.getController(t),{getModel:function(e){return new i.QuickOpenModel([new d(e,t,n.getController(t))])},getAutoFocus:function(e){return{autoFocusFirstEntry:e.length>0}}})},t=v([u.editorAction],t)}(a.BaseEditorQuickOpenAction);t.GotoLineAction=h}),define(d[538],h([1,0,378,10,81,7,120,100,46,21,143,13,28]),function(e,t,n,i,o,r,s,a,u,l,c,d,h){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var p=function(e){function t(t,n,i,o){var r=e.call(this)||this;return r.key=t,r.setHighlights(n),r.action=i,r.editor=o,r}return f(t,e),t.prototype.getLabel=function(){return this.action.label},t.prototype.getAriaLabel=function(){return n.localize(0,null,this.getLabel())},t.prototype.getGroupLabel=function(){return this.key},t.prototype.run=function(e,t){var n=this;return e===a.Mode.OPEN&&(r.TPromise.timeout(50).done(function(){n.editor.focus();try{(n.action.run()||r.TPromise.as(null)).done(null,i.onUnexpectedError)}catch(e){i.onUnexpectedError(e)}},i.onUnexpectedError),!0)},t}(s.QuickOpenEntryGroup);t.EditorActionCommandEntry=p;var g=function(e){function t(){return e.call(this,n.localize(1,null),{id:"editor.action.quickCommand",label:n.localize(2,null),alias:"Command Palette",precondition:null,kbOpts:{kbExpr:l.EditorContextKeys.focus,primary:h.isIE?571:59},menuOpts:{}})||this}return f(t,e),t.prototype.run=function(e,t){var n=this,i=e.get(u.IKeybindingService);this._show(this.getController(t),{getModel:function(e){return new s.QuickOpenModel(n._editorActionsToEntries(i,t,e))},getAutoFocus:function(e){return{autoFocusFirstEntry:!0,autoFocusPrefixMatch:e}}})},t.prototype._sort=function(e,t){var n=e.getLabel().toLowerCase(),i=t.getLabel().toLowerCase();return n.localeCompare(i)},t.prototype._editorActionsToEntries=function(e,t,n){for(var i=t.getSupportedActions(),r=[],s=0;s0&&0===r.indexOf(":")){for(var m=null,v=null,_=0,y=0;y0)):_++}v&&v.setGroupLabel(this.typeToLabel(m,_))}else a.length>0&&a[0].setGroupLabel(n.localize(3,null,a.length));return a},t.prototype.typeToLabel=function(e,t){switch(e){case"module":return n.localize(4,null,t);case"class":return n.localize(5,null,t);case"interface":return n.localize(6,null,t);case"method":return n.localize(7,null,t);case"function":return n.localize(8,null,t);case"property":return n.localize(9,null,t);case"variable":return n.localize(10,null,t);case"var":return n.localize(11,null,t);case"constructor":return n.localize(12,null,t);case"call":return n.localize(13,null,t)}return e},t.prototype.sortNormal=function(e,t,n){var i=t.getLabel().toLowerCase(),o=n.getLabel().toLowerCase(),r=i.localeCompare(o);if(0!==r)return r;var s=t.getRange(),a=n.getRange();return s.startLineNumber-a.startLineNumber},t.prototype.sortScoped=function(e,t,n){e=e.substr(":".length);var i=t.getType(),o=n.getType(),r=i.localeCompare(o);if(0!==r)return r;if(e){var s=t.getLabel().toLowerCase(),a=n.getLabel().toLowerCase(),u=s.localeCompare(a);if(0!==u)return u}var l=t.getRange(),c=n.getRange();return l.startLineNumber-c.startLineNumber},t=v([d.editorAction],t)}(l.BaseEditorQuickOpenAction);t.QuickOutlineAction=g}),define(d[540],h([1,0,3,7,69,16,31,46,19,42,61,129,141,193,77,149,85,14,51,50,380,28]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,_,C,b,w,S,E){"use strict";function L(){N||(N=!0,b.setARIAContainer(document.body))}Object.defineProperty(t,"__esModule",{value:!0});var x=0,N=!1,M=function(e){function t(t,n,i,o,r,s,a,u){var l=this;return n=n||{},n.ariaLabel=n.ariaLabel||S.localize(0,null),n.ariaLabel=n.ariaLabel+";"+(E.isIE?S.localize(1,null):S.localize(2,null)),l=e.call(this,t,n,i,o,r,s,u)||this,a instanceof d.StandaloneKeybindingService&&(l._standaloneKeybindingService=a),L(),l}return f(t,e),t.prototype.addCommand=function(e,t,n){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;var i="DYNAMIC_"+ ++x,o=u.ContextKeyExpr.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(i,e,t,o),i},t.prototype.createContextKey=function(e,t){return this._contextKeyService.createKey(e,t)},t.prototype.addAction=function(e){var t=this;if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)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.empty;var o=e.id,r=e.label,a=u.ContextKeyExpr.and(u.ContextKeyExpr.equals("editorId",this.getId()),u.ContextKeyExpr.deserialize(e.precondition)),l=e.keybindings,c=u.ContextKeyExpr.and(a,u.ContextKeyExpr.deserialize(e.keybindingContext)),d=e.contextMenuGroupId||null,h=e.contextMenuOrder||0,p=function(){var n=e.run(t);return n||i.TPromise.as(void 0)},f=[],g=this.getId()+":"+o;if(f.push(s.CommandsRegistry.registerCommand(g,p)),d){var v={command:{id:g,title:r},when:a,group:d,order:h};f.push(_.MenuRegistry.appendMenuItem(_.MenuId.EditorContext,v))}Array.isArray(l)&&(f=f.concat(l.map(function(e){return t._standaloneKeybindingService.addDynamicKeybinding(g,e,p,c)})));var y=new m.InternalEditorAction(g,r,r,a,p,this._contextKeyService);return this._actions[o]=y,f.push({dispose:function(){delete t._actions[o]}}),n.combinedDisposable(f)},t=v([y(2,r.IInstantiationService),y(3,l.ICodeEditorService),y(4,s.ICommandService),y(5,u.IContextKeyService),y(6,a.IKeybindingService),y(7,C.IThemeService)],t)}(h.CodeEditor);t.StandaloneCodeEditor=M;var T=function(e){function t(t,n,i,o,r,s,a,u,l,c){var d=this;"string"==typeof(n=n||{}).theme&&c.setTheme(n.theme);var h=n.model;if(delete n.model,d=e.call(this,t,n,o,r,s,a,u,c)||this,d._contextViewService=l,d._register(i),void 0===h?(h=self.monaco.editor.createModel(n.value||"",n.language||"text/plain"),d._ownsModel=!0):d._ownsModel=!1,d._attachModel(h),h){var p={oldModelUrl:null,newModelUrl:h.uri};d._onDidChangeModel.fire(p)}return d}return f(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.destroy=function(){this.dispose()},t.prototype._attachModel=function(t){e.prototype._attachModel.call(this,t),this._view&&this._contextViewService.setContainer(this._view.domNode.domNode)},t.prototype._postDetachModelCleanup=function(t){e.prototype._postDetachModelCleanup.call(this,t),t&&this._ownsModel&&(t.dispose(),this._ownsModel=!1)},t=v([y(3,r.IInstantiationService),y(4,l.ICodeEditorService),y(5,s.ICommandService),y(6,u.IContextKeyService),y(7,a.IKeybindingService),y(8,o.IContextViewService),y(9,g.IStandaloneThemeService)],t)}(M);t.StandaloneEditor=T;var k=function(e){function t(t,n,i,o,r,s,a,u,l,c,h){var p=this;return"string"==typeof(n=n||{}).theme&&(n.theme=c.setTheme(n.theme)),p=e.call(this,t,n,u,r,o,l,c,h)||this,s instanceof d.StandaloneKeybindingService&&(p._standaloneKeybindingService=s),p._contextViewService=a,p._register(i),p._contextViewService.setContainer(p._containerDomElement),p}return f(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.destroy=function(){this.dispose()},t.prototype._createInnerEditor=function(e,t,n){return e.createInstance(M,t,n)},t.prototype.getOriginalEditor=function(){return e.prototype.getOriginalEditor.call(this)},t.prototype.getModifiedEditor=function(){return e.prototype.getModifiedEditor.call(this)},t.prototype.addCommand=function(e,t,n){return this.getModifiedEditor().addCommand(e,t,n)},t.prototype.createContextKey=function(e,t){return this.getModifiedEditor().createContextKey(e,t)},t.prototype.addAction=function(e){return this.getModifiedEditor().addAction(e)},t=v([y(3,r.IInstantiationService),y(4,u.IContextKeyService),y(5,a.IKeybindingService),y(6,o.IContextViewService),y(7,c.IEditorWorkerService),y(8,l.ICodeEditorService),y(9,g.IStandaloneThemeService),y(10,w.IMessageService)],t)}(p.DiffEditorWidget);t.StandaloneDiffEditor=k}),define(d[541],h([1,0,23,37]),function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.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:"09885A"},{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.jade",foreground:"4F76AC"},{token:"tag.class.jade",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:"09885A"},{token:"attribute.value.unit",foreground:"09885A"},{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:"FF00FF"}],colors:(o={},o[n.editorBackground]="#FFFFFE",o[n.editorForeground]="#000000",o[n.editorInactiveSelection]="#E5EBF1",o[i.editorIndentGuides]="#D3D3D3",o[n.editorSelectionHighlight]="#ADD6FF4D",o)},t.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.jade",foreground:"4F76AC"},{token:"tag.class.jade",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:(r={},r[n.editorBackground]="#1E1E1E",r[n.editorForeground]="#D4D4D4",r[n.editorInactiveSelection]="#3A3D41",r[i.editorIndentGuides]="#404040",r[n.editorSelectionHighlight]="#ADD6FF26",r)},t.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.jade",foreground:"4F76AC"},{token:"tag.class.jade",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:(s={},s[n.editorBackground]="#000000",s[n.editorForeground]="#FFFFFF",s[i.editorIndentGuides]="#FFFFFF",s)};var o,r,s}),define(d[542],h([1,0,202,541,4,17,32,23,14,44,11]),function(e,t,n,i,o,r,s,a,u,l,c){"use strict";function d(e){return e===f||e===g||e===m}function h(e){switch(e){case f:return i.vs;case g:return i.vs_dark;case m:return i.hc_black}}function p(e){var t=h(e);return new y(e,"",t.colors,t.rules)}Object.defineProperty(t,"__esModule",{value:!0});var f="vs",g="vs-dark",m="hc-black",v=l.Registry.as(a.Extensions.ColorContribution),_=l.Registry.as(u.Extensions.ThemingContribution),y=function(){function e(e,t,n,i){t.length>0?(this.id=e+" "+t,this.themeName=t):(this.id=e,this.themeName=e),this.base=e,this.rules=i,this.colors={};for(var o in n)this.colors[o]=s.Color.fromHex(n[o]);this.defaultColors={}}return e.prototype.getColor=function(e,t){return this.colors.hasOwnProperty(e)?this.colors[e]:!1!==t?this.getDefault(e):null},e.prototype.getDefault=function(e){if(this.defaultColors.hasOwnProperty(e))return this.defaultColors[e];var t=v.resolveDefaultColor(e,this);return this.defaultColors[e]=t,t},e.prototype.defines=function(e){return this.colors.hasOwnProperty(e)},Object.defineProperty(e.prototype,"type",{get:function(){switch(this.base){case f:return"light";case m:return"hc";default:return"dark"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tokenTheme",{get:function(){return this._tokenTheme||(this._tokenTheme=n.TokenTheme.createFromRawTokenTheme(this.rules)),this._tokenTheme},enumerable:!0,configurable:!0}),e}(),C=function(){function e(){this._onThemeChange=new c.Emitter,this._knownThemes=new Map,this._knownThemes.set(f,p(f)),this._knownThemes.set(g,p(g)),this._knownThemes.set(m,p(m)),this._styleElement=o.createStyleSheet(),this._styleElement.className="monaco-colors",this.setTheme(f)}return Object.defineProperty(e.prototype,"onThemeChange",{get:function(){return this._onThemeChange.event},enumerable:!0,configurable:!0}),e.prototype.defineTheme=function(e,t){if(!/^[a-z0-9\-]+$/i.test(e)||d(e))throw new Error("Illegal theme name!");if(!d(t.base))throw new Error("Illegal theme base!");var n=[],i={};if(t.inherit){var o=h(t.base);n=n.concat(o.rules);for(var r in o.colors)i[r]=o.colors[r]}n=n.concat(t.rules);for(var r in t.colors)i[r]=t.colors[r];this._knownThemes.set(e,new y(t.base,e,i,n))},e.prototype.getTheme=function(){return this._theme},e.prototype.setTheme=function(e){var t;t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(f),this._theme=t;var i=[],o={},s={addRule:function(e){o[e]||(i.push(e),o[e]=!0)}};_.getThemingParticipants().forEach(function(e){return e(t,s)});var a=t.tokenTheme.getColorMap();return s.addRule(n.generateTokensCSSForColorMap(a)),this._styleElement.innerHTML=i.join("\n"),r.TokenizationRegistry.setColorMap(a),this._onThemeChange.fire(t),t.id},e}();t.StandaloneThemeServiceImpl=C}),define(d[144],h([1,0,24,16,45,80]),function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IWorkspaceContextService=i.createDecorator("contextService");var s=function(){function e(e,t){this._resource=e,this._ctime=t,this._name=o.basename(this._resource.fsPath)||this._resource.fsPath}return Object.defineProperty(e.prototype,"resource",{get:function(){return this._resource},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ctime",{get:function(){return this._ctime},enumerable:!0,configurable:!0}),e.prototype.toResource=function(e,t){return"string"==typeof e?n.default.file(o.join(t?t.fsPath:this._resource.fsPath,e)):null},e}();t.LegacyWorkspace=s;var a=function(){function e(e,t,n,i){void 0===i&&(i=null),this.id=e,this._name=t,this._roots=n,this._configuration=i,this._rootsMap=new r.TrieMap(r.TrieMap.PathSplitter),this.updateRootsMap()}return Object.defineProperty(e.prototype,"roots",{get:function(){return this._roots},set:function(e){this._roots=e,this.updateRootsMap()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},set:function(e){this._name=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"configuration",{get:function(){return this._configuration},set:function(e){this._configuration=e},enumerable:!0,configurable:!0}),e.prototype.getRoot=function(e){return e?this._rootsMap.findSubstr(e.fsPath):null},e.prototype.updateRootsMap=function(){this._rootsMap=new r.TrieMap(r.TrieMap.PathSplitter);for(var e=0,t=this.roots;e1?this.badge.setTitleFormat(n.localize(1,null,t)):this.badge.setTitleFormat(n.localize(2,null,t))},e=v([y(1,S.IWorkspaceContextService),y(2,b.optional(R.IEnvironmentService)),y(3,D.IThemeService)],e)}(),H=function(){function e(e){var t=document.createElement("div");this.before=document.createElement("span"),this.inside=document.createElement("span"),this.after=document.createElement("span"),h.addClass(this.inside,"referenceMatch"),h.addClass(t,"reference"),t.appendChild(this.before),t.appendChild(this.inside),t.appendChild(this.after),e.appendChild(t)}return e.prototype.set=function(e){var t=e.parent.preview.preview(e.range),n=t.before,i=t.inside,o=t.after;this.before.innerHTML=u.escape(n),this.inside.innerHTML=u.escape(i),this.after.innerHTML=u.escape(o)},e}(),z=function(){function e(e,t,n){this._contextService=e,this._themeService=t,this._environmentService=n}return e.prototype.getHeight=function(e,t){return 22},e.prototype.getTemplateId=function(t,n){if(n instanceof T.FileReferences)return e._ids.FileReferences;if(n instanceof T.OneReference)return e._ids.OneReference;throw n},e.prototype.renderTemplate=function(t,n,i){if(n===e._ids.FileReferences)return new V(i,this._contextService,this._environmentService,this._themeService);if(n===e._ids.OneReference)return new H(i);throw n},e.prototype.renderElement=function(e,t,n,i){if(t instanceof T.FileReferences)i.set(t);else{if(!(t instanceof T.OneReference))throw n;i.set(t)}},e.prototype.disposeTemplate=function(e,t,n){n instanceof V&&n.dispose()},e._ids={FileReferences:"FileReferences",OneReference:"OneReference"},e=v([y(0,S.IWorkspaceContextService),y(1,D.IThemeService),y(2,b.optional(R.IEnvironmentService))],e)}(),K=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return t instanceof T.FileReferences?t.getAriaMessage():t instanceof T.OneReference?t.getAriaMessage():void 0},e}(),U=function(){function e(e,t){var n=this;this._disposables=[],this._onDidChangePercentages=new r.Emitter,this._ratio=t,this._sash=new p.Sash(e,{getVerticalSashLeft:function(){return n._width*n._ratio},getVerticalSashHeight:function(){return n._height}});var i;this._disposables.push(this._sash.addListener("start",function(e){i=e.startX-n._width*n.ratio})),this._disposables.push(this._sash.addListener("change",function(e){var t=e.currentX-i;t>20&&t+200?e.children[0]:void 0},u.prototype._revealReference=function(e){var t=this;e.uri.scheme!==a.Schemas.inMemory?this.setTitle(e.name,o.getPathLabel(e.directory,this._contextService,this._environmentService)):this.setTitle(n.localize(6,null));var r=this._textModelResolverService.createModelReference(e.uri);return l.TPromise.join([r,this._tree.reveal(e)]).then(function(n){var i=n[0];if(t._model){s.dispose(t._previewModelReference);var o=i.object;if(o){t._previewModelReference=i,t._preview.setModel(o.textEditorModel);var r=E.Range.lift(e.range).collapseToStart();t._preview.setSelection(r),t._preview.revealRangeInCenter(r)}else t._preview.setModel(t._previewNotAvailableMessage),i.dispose();t._tree.setSelection([e]),t._tree.setFocus(e)}else i.dispose()},i.onUnexpectedError)},u}(M.PeekViewWidget);t.ReferenceWidget=j,t.peekViewTitleBackground=I.registerColor("peekViewTitle.background",{dark:"#1E1E1E",light:"#FFFFFF",hc:"#0C141F"},n.localize(7,null)),t.peekViewTitleForeground=I.registerColor("peekViewTitleLabel.foreground",{dark:"#FFFFFF",light:"#333333",hc:"#FFFFFF"},n.localize(8,null)),t.peekViewTitleInfoForeground=I.registerColor("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#6c6c6cb3",hc:"#FFFFFF99"},n.localize(9,null)),t.peekViewBorder=I.registerColor("peekView.border",{dark:"#007acc",light:"#007acc",hc:I.contrastBorder},n.localize(10,null)),t.peekViewResultsBackground=I.registerColor("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:c.Color.black},n.localize(11,null)),t.peekViewResultsMatchForeground=I.registerColor("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:c.Color.white},n.localize(12,null)),t.peekViewResultsFileForeground=I.registerColor("peekViewResult.fileForeground",{dark:c.Color.white,light:"#1E1E1E",hc:c.Color.white},n.localize(13,null)),t.peekViewResultsSelectionBackground=I.registerColor("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},n.localize(14,null)),t.peekViewResultsSelectionForeground=I.registerColor("peekViewResult.selectionForeground",{dark:c.Color.white,light:"#6C6C6C",hc:c.Color.white},n.localize(15,null)),t.peekViewEditorBackground=I.registerColor("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:c.Color.black},n.localize(16,null)),t.peekViewEditorGutterBackground=I.registerColor("peekViewEditorGutter.background",{dark:t.peekViewEditorBackground,light:t.peekViewEditorBackground,hc:t.peekViewEditorBackground},n.localize(17,null)),t.peekViewResultsMatchHighlight=I.registerColor("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},n.localize(18,null)),t.peekViewEditorMatchHighlight=I.registerColor("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},n.localize(19,null)),D.registerThemingParticipant(function(e,n){var i=e.getColor(t.peekViewResultsMatchHighlight);i&&n.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { background-color: "+i+"; }");var o=e.getColor(t.peekViewEditorMatchHighlight);o&&n.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: "+o+"; }");var r=e.getColor(I.activeContrastBorder);r&&(n.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { border: 1px dotted "+r+"; box-sizing: border-box; }"),n.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid "+r+"; box-sizing: border-box; }"));var s=e.getColor(t.peekViewResultsBackground);s&&n.addRule(".monaco-editor .reference-zone-widget .ref-tree { background-color: "+s+"; }");var a=e.getColor(t.peekViewResultsMatchForeground);a&&n.addRule(".monaco-editor .reference-zone-widget .ref-tree { color: "+a+"; }");var u=e.getColor(t.peekViewResultsFileForeground);u&&n.addRule(".monaco-editor .reference-zone-widget .ref-tree .reference-file { color: "+u+"; }");var l=e.getColor(t.peekViewResultsSelectionBackground);l&&n.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+l+"; }");var c=e.getColor(t.peekViewResultsSelectionForeground);c&&n.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+c+" !important; }");var d=e.getColor(t.peekViewEditorBackground);d&&n.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\tbackground-color: "+d+";}");var h=e.getColor(t.peekViewEditorGutterBackground);h&&n.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: "+h+";}")})}),define(d[198],h([1,0,364,10,3,36,64,11,16,19,50,58,62,144,76,30,92,544,87,14,12,156]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,f,g,m,_,C,b,w,S){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ctxReferenceSearchVisible=new l.RawContextKey("referenceSearchVisible",!1);var E=function(){function e(e,n,i,o,r,s,a,u,l,c,d,h,p){this._editorService=i,this._textModelResolverService=o,this._telemetryService=r,this._messageService=s,this._instantiationService=a,this._contextService=u,this._storageService=l,this._themeService=c,this._configurationService=d,this._peekViewService=h,this._environmentService=p,this._requestIdPool=0,this._disposables=[],this._ignoreModelChangeEvent=!1,this._editor=e,this._referenceSearchVisible=t.ctxReferenceSearchVisible.bindTo(n)}return E=e,e.get=function(e){return e.getContribution(E.ID)},e.prototype.getId=function(){return E.ID},e.prototype.dispose=function(){this._widget&&(this._widget.dispose(),this._widget=null),this._editor=null},e.prototype.toggleWidget=function(e,t,i){var o,s=this;if(this._widget&&(o=this._widget.position),this.closeWidget(),o&&e.containsPosition(o))return null;this._referenceSearchVisible.set(!0),this._disposables.push(this._editor.onDidChangeModelLanguage(function(){s.closeWidget()})),this._disposables.push(this._editor.onDidChangeModel(function(){s._ignoreModelChangeEvent||s.closeWidget()}));var u=JSON.parse(this._storageService.get("peekViewLayout",void 0,"{}"));this._widget=new _.ReferenceWidget(this._editor,u,this._textModelResolverService,this._contextService,this._themeService,this._instantiationService,this._environmentService),this._widget.setTitle(n.localize(0,null)),this._widget.show(e),this._disposables.push(this._widget.onDidClose(function(){t.cancel(),s._storageService.store("peekViewLayout",JSON.stringify(s._widget.layoutData)),s._widget=null,s.closeWidget()})),this._disposables.push(this._widget.onDidSelectReference(function(e){var t=e.element,n=e.kind;switch(n){case"open":if("editor"===e.source&&s._configurationService.lookup("editor.stablePeek").value)break;case"side":s._openReference(t,"side"===n);break;case"goto":i.onGoto?i.onGoto(t):s._gotoReference(t)}}));var l=++this._requestIdPool,c=t.then(function(t){if(l===s._requestIdPool&&s._widget){s._model&&s._model.dispose(),s._model=t;var n=Date.now();return s._disposables.push({dispose:function(){s._telemetryService.publicLog("zoneWidgetShown",{mode:"reference search",elapsedTime:Date.now()-n})}}),s._widget.setModel(s._model).then(function(){s._widget.setMetaTitle(i.getMetaTitle(s._model));var t=s._editor.getModel().uri,n=new w.Position(e.startLineNumber,e.startColumn),o=s._model.nearestReference(t,n);if(o)return s._widget.setSelection(o)})}},function(e){s._messageService.show(r.default.Error,e)}),d=a.stopwatch(a.fromPromise(c)),h=this._editor.getModel().getLanguageIdentifier().language;d(function(e){return s._telemetryService.publicLog("findReferences",{duration:e,mode:h})})},e.prototype.closeWidget=function(){this._widget&&(this._widget.dispose(),this._widget=null),this._referenceSearchVisible.reset(),this._disposables=o.dispose(this._disposables),this._model&&(this._model.dispose(),this._model=null),this._editor.focus(),this._requestIdPool+=1},e.prototype._gotoReference=function(e){var t=this;this._widget.hide(),this._ignoreModelChangeEvent=!0;var n=e.uri,o=e.range;this._editorService.openEditor({resource:n,options:{selection:o}}).done(function(e){t._ignoreModelChangeEvent=!1,e&&e.getControl()===t._editor?(t._widget.show(o),t._widget.focus()):t.closeWidget()},function(e){t._ignoreModelChangeEvent=!1,i.onUnexpectedError(e)})},e.prototype._openReference=function(e,t){var n=e.uri,i=e.range;this._editorService.openEditor({resource:n,options:{selection:i}},t),t||this.closeWidget()},e.ID="editor.contrib.referencesController",e=E=v([g.editorContribution,y(1,l.IContextKeyService),y(2,s.IEditorService),y(3,C.ITextModelService),y(4,d.ITelemetryService),y(5,c.IMessageService),y(6,u.IInstantiationService),y(7,p.IWorkspaceContextService),y(8,f.IStorageService),y(9,b.IThemeService),y(10,h.IConfigurationService),y(11,u.optional(m.IPeekViewService)),y(12,u.optional(S.IEnvironmentService))],e);var E}();t.ReferencesController=E}),define(d[199],h([1,0,351,51,40,15,36,7,64,50,2,13,177,198,125,92,19,521,21]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,_,y,C){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var b=function(){return function(e,t,n,i){void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===n&&(n=!0),void 0===i&&(i=!0),this.openToSide=e,this.openInPeek=t,this.filterCurrent=n,this.showMessage=i}}();t.DefinitionActionConfig=b;var w=function(e){function t(t,n){var i=e.call(this,n)||this;return i._configuration=t,i}return f(t,e),t.prototype.run=function(e,t){var n=this,i=e.get(l.IMessageService),o=e.get(u.IEditorService),r=t.getModel(),a=t.getPosition();return this._getDeclarationsAtPosition(r,a).then(function(e){if(!r.isDisposed()&&t.getModel()===r){for(var i=-1,s=[],u=0;u1&&n.localize(2,null,e.references.length)},t.prototype._onResult=function(e,t,n){var o=this,r=n.getAriaMessage();if(i.alert(r),this._configuration.openInPeek)this._openInPeek(e,t,n);else{var s=n.nearestReference(t.getModel().uri,t.getPosition());this._openReference(e,s,this._configuration.openToSide).then(function(t){t&&n.references.length>1?o._openInPeek(e,t,n):n.dispose()})}},t.prototype._openReference=function(e,t,n){var i=t.uri,o=t.range;return e.openEditor({resource:i,options:{selection:c.Range.collapseToStart(o),revealIfVisible:!n}},n).then(function(e){return e&&e.getControl()})},t.prototype._openInPeek=function(e,t,n){var i=this,o=p.ReferencesController.get(t);o?o.toggleWidget(t.getSelection(),a.TPromise.as(n),{getMetaTitle:function(e){return i._getMetaTitle(e)},onGoto:function(t){return o.closeWidget(),i._openReference(e,t,!1)}}):n.dispose()},t}(d.EditorAction);t.DefinitionAction=w;var S=r.isWeb?2118:70,E=function(e){function t(){return e.call(this,new b,{id:i.ID,label:n.localize(3,null),alias:"Go to Definition",precondition:_.ContextKeyExpr.and(C.EditorContextKeys.hasDefinitionProvider,C.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:C.EditorContextKeys.textFocus,primary:S},menuOpts:{group:"navigation",order:1.1}})||this}return f(t,e),i=t,t.ID="editor.action.goToDeclaration",t=i=v([d.editorAction],t);var i}(w);t.GoToDefinitionAction=E;var L=function(e){function t(){return e.call(this,new b(!0),{id:i.ID,label:n.localize(4,null),alias:"Open Definition to the Side",precondition:_.ContextKeyExpr.and(C.EditorContextKeys.hasDefinitionProvider,C.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:C.EditorContextKeys.textFocus,primary:o.KeyChord(2089,S)}})||this}return f(t,e),i=t,t.ID="editor.action.openDeclarationToTheSide",t=i=v([d.editorAction],t);var i}(w);t.OpenDefinitionToSideAction=L;var x=function(e){function t(){return e.call(this,new b(void 0,!0,!1),{id:"editor.action.previewDeclaration",label:n.localize(5,null),alias:"Peek Definition",precondition:_.ContextKeyExpr.and(C.EditorContextKeys.hasDefinitionProvider,m.PeekContext.notInPeekEditor,C.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:C.EditorContextKeys.textFocus,primary:582,linux:{primary:3140}},menuOpts:{group:"navigation",order:1.2}})||this}return f(t,e),t=v([d.editorAction],t)}(w);t.PeekDefinitionAction=x;var N=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype._getDeclarationsAtPosition=function(e,t){return h.getImplementationsAtPosition(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?n.localize(6,null,e.word):n.localize(7,null)},t.prototype._getMetaTitle=function(e){return e.references.length>1&&n.localize(8,null,e.references.length)},t}(w);t.ImplementationAction=N;var M=function(e){function t(){return e.call(this,new b,{id:i.ID,label:n.localize(9,null),alias:"Go to Implementation",precondition:_.ContextKeyExpr.and(C.EditorContextKeys.hasImplementationProvider,C.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:C.EditorContextKeys.textFocus,primary:2118}})||this}return f(t,e),i=t,t.ID="editor.action.goToImplementation",t=i=v([d.editorAction],t);var i}(N);t.GoToImplementationAction=M;var T=function(e){function t(){return e.call(this,new b(!1,!0,!1),{id:i.ID,label:n.localize(10,null),alias:"Peek Implementation",precondition:_.ContextKeyExpr.and(C.EditorContextKeys.hasImplementationProvider,C.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:C.EditorContextKeys.textFocus,primary:3142}})||this}return f(t,e),i=t,t.ID="editor.action.peekImplementation",t=i=v([d.editorAction],t);var i}(N);t.PeekImplementationAction=T;var k=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype._getDeclarationsAtPosition=function(e,t){return h.getTypeDefinitionsAtPosition(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?n.localize(11,null,e.word):n.localize(12,null)},t.prototype._getMetaTitle=function(e){return e.references.length>1&&n.localize(13,null,e.references.length)},t}(w);t.TypeDefinitionAction=k;var I=function(e){function t(){return e.call(this,new b,{id:i.ID,label:n.localize(14,null),alias:"Go to Type Definition",precondition:_.ContextKeyExpr.and(C.EditorContextKeys.hasTypeDefinitionProvider,C.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:C.EditorContextKeys.textFocus,primary:0},menuOpts:{group:"navigation",order:1.4}})||this}return f(t,e),i=t,t.ID="editor.action.goToTypeDefinition",t=i=v([d.editorAction],t);var i}(k);t.GoToTypeDefintionAction=I;var D=function(e){function t(){return e.call(this,new b(!1,!0,!1),{id:i.ID,label:n.localize(15,null),alias:"Peek Type Definition",precondition:_.ContextKeyExpr.and(C.EditorContextKeys.hasTypeDefinitionProvider,C.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:C.EditorContextKeys.textFocus,primary:0}})||this}return f(t,e),i=t,t.ID="editor.action.peekTypeDefinition",t=i=v([d.editorAction],t);var i}(k);t.PeekTypeDefinitionAction=D}),define(d[547],h([1,0,352,18,10,7,88,2,17,25,30,177,3,87,14,23,131,199,192,171]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,f,g,m,_,C){"use strict";Object.defineProperty(t,"__esModule",{value:!0});!function(){function e(e,t,n){var r=this;this.textModelResolverService=t,this.modeService=n,this.toUnhook=[],this.decorations=[],this.editor=e,this.throttler=new i.Throttler;var s=new C.ClickLinkGesture(e);this.toUnhook.push(s),this.toUnhook.push(s.onMouseMoveOrRelevantKeyDown(function(e){var t=e[0],n=e[1];r.startFindDefinition(t,n)})),this.toUnhook.push(s.onExecute(function(e){r.isEnabled(e)&&r.gotoDefinition(e.target,e.hasSideBySideModifier).done(function(){r.removeDecorations()},function(e){r.removeDecorations(),o.onUnexpectedError(e)})})),this.toUnhook.push(s.onCancel(function(){r.removeDecorations(),r.currentWordUnderMouse=null}))}return t=e,e.prototype.startFindDefinition=function(e,i){var s=this;if(!this.isEnabled(e,i))return this.currentWordUnderMouse=null,void this.removeDecorations();var u=e.target.position,l=u?this.editor.getModel().getWordAtPosition(u):null;if(!l)return this.currentWordUnderMouse=null,void this.removeDecorations();if(!this.currentWordUnderMouse||this.currentWordUnderMouse.startColumn!==l.startColumn||this.currentWordUnderMouse.endColumn!==l.endColumn||this.currentWordUnderMouse.word!==l.word){this.currentWordUnderMouse=l;var c=new m.EditorState(this.editor,15);this.throttler.queue(function(){return c.validate(s.editor)?s.findDefinition(e.target):r.TPromise.as(null)}).then(function(e){if(e&&e.length&&c.validate(s.editor))if(e.length>1)s.addDecoration(new a.Range(u.lineNumber,l.startColumn,u.lineNumber,l.endColumn),n.localize(0,null,e.length));else{var i=e[0];if(!i.uri)return;s.textModelResolverService.createModelReference(i.uri).then(function(e){if(e.object&&e.object.textEditorModel){var n=e.object.textEditorModel,o=i.range.startLineNumber;if(0!==n.getLineMaxColumn(o)){for(var r=n.getLineFirstNonWhitespaceColumn(o),c=Math.min(n.getLineCount(),o+t.MAX_SOURCE_PREVIEW_LINES),d=o+1,h=r;d0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},e.prototype.isEnabled=function(e,t){return this.editor.getModel()&&e.isNoneOrSingleMouseDown&&e.target.type===l.MouseTargetType.CONTENT_TEXT&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey)&&u.DefinitionProviderRegistry.has(this.editor.getModel())},e.prototype.findDefinition=function(e){return this.editor.getModel()?d.getDefinitionsAtPosition(this.editor.getModel(),e.position):r.TPromise.as(null)},e.prototype.gotoDefinition=function(e,t){var n=this;this.editor.setPosition(e.position);var i=new _.DefinitionAction(new _.DefinitionActionConfig(t,!1,!0,!1),{alias:void 0,label:void 0,id:void 0,precondition:void 0});return this.editor.invokeWithinContext(function(e){return i.run(e,n.editor)})},e.prototype.getId=function(){return t.ID},e.prototype.dispose=function(){this.toUnhook=h.dispose(this.toUnhook)},e.ID="editor.contrib.gotodefinitionwithmouse",e.MAX_SOURCE_PREVIEW_LINES=8,e=t=v([c.editorContribution,y(1,p.ITextModelService),y(2,s.IModeService)],e);var t}();f.registerThemingParticipant(function(e,t){var n=e.getColor(g.editorActiveLinkForeground);n&&t.addRule(".monaco-editor .goto-definition-link { color: "+n+" !important; }")})}),define(d[548],h([1,0,363,24,7,64,16,31,19,105,12,2,20,13,17,92,198,125,18,10,21]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,_,C,b,w,S){"use strict";function E(e,t){var n=m.getOuterEditor(e);if(n){var i=_.ReferencesController.get(n);i&&i.closeWidget()}}function L(e,t){var n=g.ReferenceProviderRegistry.ordered(e).map(function(n){return b.asWinJsPromise(function(i){return n.provideReferences(e,t,{includeDeclaration:!0},i)}).then(function(e){if(Array.isArray(e))return e},function(e){w.onUnexpectedExternalError(e)})});return o.TPromise.join(n).then(function(e){for(var t=[],n=0,i=e;n1&&n.localize(0,null,e.references.length)}},N=function(){function e(e,t,n){n&&m.PeekContext.inPeekEditor.bindTo(t)}return t=e,e.prototype.dispose=function(){},e.prototype.getId=function(){return t.ID},e.ID="editor.contrib.referenceController",e=t=v([p.commonEditorContribution,y(1,u.IContextKeyService),y(2,s.optional(m.IPeekViewService))],e);var t}();t.ReferenceController=N;var M=function(e){function t(){return e.call(this,{id:"editor.action.referenceSearch.trigger",label:n.localize(1,null),alias:"Find All References",precondition:u.ContextKeyExpr.and(S.EditorContextKeys.hasReferenceProvider,m.PeekContext.notInPeekEditor,S.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:S.EditorContextKeys.textFocus,primary:1094},menuOpts:{group:"navigation",order:1.5}})||this}return f(t,e),t.prototype.run=function(e,t){var n=_.ReferencesController.get(t);if(n){var i=t.getSelection(),o=L(t.getModel(),i.getStartPosition()).then(function(e){return new C.ReferencesModel(e)});n.toggleWidget(i,o,x)}},t=v([p.editorAction],t)}(p.EditorAction);t.ReferenceAction=M;a.CommandsRegistry.registerCommand("editor.action.findReferences",function(e,t,n){if(!(t instanceof i.default))throw new Error("illegal argument, uri");if(!n)throw new Error("illegal argument, position");return e.get(r.IEditorService).openEditor({resource:t}).then(function(e){var t=e.getControl();if(h.isCommonCodeEditor(t)){var i=_.ReferencesController.get(t);if(i){var r=L(t.getModel(),c.Position.lift(n)).then(function(e){return new C.ReferencesModel(e)}),s=new d.Range(n.lineNumber,n.column,n.lineNumber,n.column);return o.TPromise.as(i.toggleWidget(s,r,x))}}})}),a.CommandsRegistry.registerCommand("editor.action.showReferences",{handler:function(e,t,n,s){if(!(t instanceof i.default))throw new Error("illegal argument, uri expected");return e.get(r.IEditorService).openEditor({resource:t}).then(function(e){var t=e.getControl();if(h.isCommonCodeEditor(t)){var i=_.ReferencesController.get(t);if(i)return o.TPromise.as(i.toggleWidget(new d.Range(n.lineNumber,n.column,n.lineNumber,n.column),o.TPromise.as(new C.ReferencesModel(s)),x)).then(function(){return!0})}})},description:{description:"Show references at a position in a file",args:[{name:"uri",description:"The text document in which to show references",constraint:i.default},{name:"position",description:"The position at which to show",constraint:c.Position.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array}]}}),l.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"closeReferenceSearch",weight:p.CommonEditorRegistry.commandWeight(50),primary:9,secondary:[1033],when:u.ContextKeyExpr.and(_.ctxReferenceSearchVisible,u.ContextKeyExpr.not("config.editor.stablePeek")),handler:E}),l.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"closeReferenceSearchEditor",weight:p.CommonEditorRegistry.commandWeight(-101),primary:9,secondary:[1033],when:u.ContextKeyExpr.and(m.PeekContext.inPeekEditor,u.ContextKeyExpr.not("config.editor.stablePeek")),handler:E}),t.provideReferences=L,p.CommonEditorRegistry.registerDefaultLanguageCommand("_executeReferenceProvider",L)}),define(d[549],h([1,0,134,191,193,164,514,313,450,451,452,516,454,455,456,431,520,458,460,199,547,522,523,524,464,525,465,527,469,548,529,471,180,531,181,532,476,517]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})}),define(d[200],h([1,0,3,62,387,69,478,16,413,84,31,46,19,421,103,50,163,76,58,144,42,61,147,146,88,437,56,430,485,129,417,85,77,542]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,g,m,v,_,y,C,b,w,S,E,L,x,N,M,T,k,I,D,O,R){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var P;!function(e){function t(e,t){var n=new o(e,t);return r.push(n),n}var n=new l.ServiceCollection,o=function(){function e(e,t){this._serviceId=e,this._factory=t,this._value=null}return Object.defineProperty(e.prototype,"id",{get:function(){return this._serviceId},enumerable:!0,configurable:!0}),e.prototype.get=function(e){if(!this._value){if(e&&(this._value=e[this._serviceId.toString()]),this._value||(this._value=this._factory(e)),!this._value)throw new Error("Service "+this._serviceId+" is missing!");n.set(this._serviceId,this._value)}return this._value},e}();e.LazyStaticService=o;var r=[];e.init=function(e){var t=new l.ServiceCollection;for(var n in e)e.hasOwnProperty(n)&&t.set(a.createDecorator(n),e[n]);r.forEach(function(n){return t.set(n.id,n.get(e))});var i=new u.InstantiationService(t,!0);return t.set(a.IInstantiationService,i),[t,i]},e.instantiationService=t(a.IInstantiationService,function(){return new u.InstantiationService(n,!0)});var s=new k.SimpleConfigurationService;e.configurationService=t(i.IConfigurationService,function(){return s}),e.resourceConfigurationService=t(E.ITextResourceConfigurationService,function(){return new k.SimpleResourceConfigurationService(s)}),e.contextService=t(C.IWorkspaceContextService,function(){return new k.SimpleWorkspaceContextService}),e.telemetryService=t(y.ITelemetryService,function(){return new k.StandaloneTelemetryService}),e.messageService=t(m.IMessageService,function(){return new k.SimpleMessageService}),e.markerService=t(g.IMarkerService,function(){return new p.MarkerService}),e.modeService=t(L.IModeService,function(e){return new x.ModeServiceImpl}),e.modelService=t(N.IModelService,function(t){return new M.ModelServiceImpl(e.markerService.get(t),e.configurationService.get(t))}),e.editorWorkerService=t(w.IEditorWorkerService,function(t){return new S.EditorWorkerServiceImpl(e.modelService.get(t),e.resourceConfigurationService.get(t),e.modeService.get(t))}),e.standaloneThemeService=t(O.IStandaloneThemeService,function(){return new R.StandaloneThemeServiceImpl}),e.codeEditorService=t(b.ICodeEditorService,function(t){return new T.CodeEditorServiceImpl(e.standaloneThemeService.get(t))}),e.progressService=t(v.IProgressService,function(){return new k.SimpleProgressService}),e.storageService=t(_.IStorageService,function(){return _.NullStorageService})}(P=t.StaticServices||(t.StaticServices={}));var A=function(e){function t(t,n){var a=e.call(this)||this,u=P.init(n),l=u[0],p=u[1];a._serviceCollection=l,a._instantiationService=p;var f=a.get(i.IConfigurationService),g=a.get(m.IMessageService),v=a.get(y.ITelemetryService),_=function(e,t){var i=null;return n&&(i=n[e.toString()]),i||(i=t()),a._serviceCollection.set(e,i),i},C=_(h.IContextKeyService,function(){return a._register(new I.ContextKeyService(f))}),b=_(c.ICommandService,function(){return new k.StandaloneCommandService(a._instantiationService)});_(d.IKeybindingService,function(){return a._register(new k.StandaloneKeybindingService(C,b,g,t))});var w=_(r.IContextViewService,function(){return a._register(new s.ContextViewService(t,v,g))});return _(r.IContextMenuService,function(){return a._register(new o.ContextMenuService(t,v,g,w))}),_(D.IMenuService,function(){return new k.SimpleMenuService(b)}),a}return f(t,e),t.prototype.get=function(e){var t=this._serviceCollection.get(e);if(!t)throw new Error("Missing service "+e);return t},t.prototype.set=function(e,t){this._serviceCollection.set(e,t)},t.prototype.has=function(e){return this._serviceCollection.has(e)},t}(n.Disposable);t.DynamicStandaloneServices=A}),define(d[422],h([1,0,20,25,540,48,200,480,71,273,129,17,397,164,64,31,69,16,46,19,42,61,87,68,77,132,49,54,50,408]),function(e,t,n,i,o,r,s,a,u,l,c,d,h,p,f,g,m,v,_,y,C,b,w,S,E,L,x,N,M){"use strict";function T(e,t,n){var i=new s.DynamicStandaloneServices(e,t),o=null;i.has(f.IEditorService)||(o=new c.SimpleEditorService,i.set(f.IEditorService,o));var r=null;i.has(w.ITextModelService)||(r=new c.SimpleEditorModelResolverService,i.set(w.ITextModelService,r)),i.has(u.IOpenerService)||i.set(u.IOpenerService,new a.OpenerService(i.get(f.IEditorService),i.get(g.ICommandService)));var l=n(i);return o&&o.setEditor(l),r&&r.setEditor(l),l}function k(e,t,n){return T(e,n,function(n){return new o.StandaloneEditor(e,t,n,n.get(v.IInstantiationService),n.get(C.ICodeEditorService),n.get(g.ICommandService),n.get(y.IContextKeyService),n.get(_.IKeybindingService),n.get(m.IContextViewService),n.get(E.IStandaloneThemeService))})}function I(e){return s.StaticServices.codeEditorService.get().onCodeEditorAdd(function(t){e(t)})}function D(e,t,n){return T(e,n,function(n){return new o.StandaloneDiffEditor(e,t,n,n.get(v.IInstantiationService),n.get(y.IContextKeyService),n.get(_.IKeybindingService),n.get(m.IContextViewService),n.get(b.IEditorWorkerService),n.get(C.ICodeEditorService),n.get(E.IStandaloneThemeService),n.get(M.IMessageService))})}function O(e,t){return new p.DiffNavigator(e,t)}function R(e,t,n){return s.StaticServices.modelService.get().createModel(e,t,n)}function P(e,t,n){if(e=e||"",!t){var i=n?n.path:null,o=e.indexOf("\n"),r=e;return-1!==o&&(r=e.substring(0,o)),R(e,s.StaticServices.modeService.get().getOrCreateModeByFilenameOrFirstLine(i,r),n)}return R(e,s.StaticServices.modeService.get().getOrCreateMode(t),n)}function A(e,t){s.StaticServices.modelService.get().setMode(e,s.StaticServices.modeService.get().getOrCreateMode(t))}function F(e,t,n){e&&s.StaticServices.markerService.get().changeOne(t,e.uri,n)}function W(e){return s.StaticServices.markerService.get().read(e)}function B(e){return s.StaticServices.modelService.get().getModel(e)}function V(){return s.StaticServices.modelService.get().getModels()}function H(e){return s.StaticServices.modelService.get().onModelAdded(e)}function z(e){return s.StaticServices.modelService.get().onModelRemoved(e)}function K(e){return s.StaticServices.modelService.get().onModelModeChanged(function(t){e({model:t.model,oldLanguage:t.oldModeId})})}function U(e){return h.createWebWorker(s.StaticServices.modelService.get(),e)}function j(e,t){return l.Colorizer.colorizeElement(s.StaticServices.standaloneThemeService.get(),s.StaticServices.modeService.get(),e,t)}function q(e,t,n){return l.Colorizer.colorize(s.StaticServices.modeService.get(),e,t,n)}function G(e,t,n){return void 0===n&&(n=4),l.Colorizer.colorizeModelLine(e,t,n)}function Y(e){var t=d.TokenizationRegistry.get(e);return t||{getInitialState:function(){return S.NULL_STATE},tokenize:function(t,n,i){return S.nullTokenize(e,t,n,i)},tokenize2:void 0}}function Z(e,t){s.StaticServices.modeService.get().getOrCreateMode(t);for(var n=Y(t),i=e.split(/\r\n|\r|\n/),o=[],r=n.getInitialState(),a=0,u=i.length;a0&&o[r-1]===c)){var d=l.startIndex;0===a?d=0:d