From cb495df0879c119bcbb184d94c5ad5c8a34d2e82 Mon Sep 17 00:00:00 2001 From: Christian Wade Date: Thu, 28 Sep 2023 08:08:33 -0700 Subject: [PATCH] AlmToolkit initial checkin --- .gitignore | 3 +- AlmToolkit/AlmToolkit.sln | 80 + AlmToolkit/AlmToolkit/About.Designer.cs | 210 + AlmToolkit/AlmToolkit/About.cs | 87 + AlmToolkit/AlmToolkit/About.resx | 215 + AlmToolkit/AlmToolkit/AlmToolkit.csproj | 503 + AlmToolkit/AlmToolkit/App.config | 22 + AlmToolkit/AlmToolkit/BismNorm.ico | Bin 0 -> 93062 bytes AlmToolkit/AlmToolkit/ChromeDebugger.cs | 29 + .../AlmToolkit/ComparisonControl.Designer.cs | 248 + AlmToolkit/AlmToolkit/ComparisonControl.cs | 661 + AlmToolkit/AlmToolkit/ComparisonControl.resx | 538 + .../AlmToolkit/ComparisonForm.Designer.cs | 601 + AlmToolkit/AlmToolkit/ComparisonForm.cs | 1047 ++ AlmToolkit/AlmToolkit/ComparisonForm.resx | 2949 ++++ .../AlmToolkit/ComparisonJSInteraction.cs | 732 + AlmToolkit/AlmToolkit/Images/AlmToolkit.ico | Bin 0 -> 93062 bytes AlmToolkit/AlmToolkit/Images/BismNorm.ico | Bin 0 -> 93062 bytes .../Images/BismNormalizerBanner.png | Bin 0 -> 1626 bytes AlmToolkit/AlmToolkit/Images/Compare.png | Bin 0 -> 1579 bytes AlmToolkit/AlmToolkit/Images/Exit.png | Bin 0 -> 347 bytes AlmToolkit/AlmToolkit/Images/Help.png | Bin 0 -> 897 bytes AlmToolkit/AlmToolkit/Images/MAQSoftware.png | Bin 0 -> 8105 bytes AlmToolkit/AlmToolkit/Images/Open.png | Bin 0 -> 296 bytes AlmToolkit/AlmToolkit/Images/Options.png | Bin 0 -> 2164 bytes .../AlmToolkit/Images/PBIReportServer.png | Bin 0 -> 399 bytes AlmToolkit/AlmToolkit/Images/PowerBI.svg | 1 + AlmToolkit/AlmToolkit/Images/PowerBi.png | Bin 0 -> 3080 bytes AlmToolkit/AlmToolkit/Images/PowerBi3.png | Bin 0 -> 5118 bytes AlmToolkit/AlmToolkit/Images/Report.png | Bin 0 -> 1541 bytes AlmToolkit/AlmToolkit/Images/Save.png | Bin 0 -> 260 bytes AlmToolkit/AlmToolkit/Images/SaveAs.png | Bin 0 -> 326 bytes AlmToolkit/AlmToolkit/Images/Script.png | Bin 0 -> 692 bytes .../AlmToolkit/Images/SelectActions.png | Bin 0 -> 799 bytes AlmToolkit/AlmToolkit/Images/Update.png | Bin 0 -> 941 bytes AlmToolkit/AlmToolkit/Images/Validate.png | Bin 0 -> 1238 bytes AlmToolkit/AlmToolkit/Images/devenv.png | Bin 0 -> 666 bytes AlmToolkit/AlmToolkit/Images/powerBI2.png | Bin 0 -> 508 bytes AlmToolkit/AlmToolkit/License.rtf | 226 + AlmToolkit/AlmToolkit/ManagedIpHelper.cs | 282 + .../AlmToolkit/Model/AngularComposite.cs | 21 + AlmToolkit/AlmToolkit/Model/ComparisonNode.cs | 88 + AlmToolkit/AlmToolkit/PowerBIHelper.cs | 122 + AlmToolkit/AlmToolkit/ProcessExtensions.cs | 31 + AlmToolkit/AlmToolkit/Program.cs | 80 + .../AlmToolkit/Properties/AssemblyInfo.cs | 24 + .../Properties/Resources.Designer.cs | 63 + .../AlmToolkit/Properties/Resources.resx | 117 + .../Properties/Settings.Designer.cs | 26 + .../AlmToolkit/Properties/Settings.settings | 7 + AlmToolkit/AlmToolkit/ReleaseProcess.txt | 46 + .../System.Windows.Forms.Ribbon.dll | Bin 0 -> 343552 bytes ...ystem.Windows.Forms.Ribbon.dll.copy-rename | Bin 0 -> 343552 bytes AlmToolkit/AlmToolkit/Utils.cs | 71 + .../AlmToolkit/WarningListForm.Designer.cs | 139 + AlmToolkit/AlmToolkit/WarningListForm.cs | 68 + AlmToolkit/AlmToolkit/WarningListForm.resx | 538 + AlmToolkit/AlmToolkit/WindowTitle.cs | 161 + AlmToolkit/AlmToolkit/almtoolkit.pbitool.json | 8 + AlmToolkit/AlmToolkit/app.manifest | 76 + .../html-resources/.angular-cli.json | 62 + .../AlmToolkit/html-resources/.editorconfig | 13 + .../AlmToolkit/html-resources/dist/0.chunk.js | 1 + .../AlmToolkit/html-resources/dist/1.chunk.js | 1 + .../html-resources/dist/10.chunk.js | 1 + .../html-resources/dist/11.chunk.js | 1 + .../html-resources/dist/12.chunk.js | 1 + .../html-resources/dist/13.chunk.js | 1 + .../html-resources/dist/14.chunk.js | 1 + .../html-resources/dist/15.chunk.js | 1 + .../html-resources/dist/16.chunk.js | 1 + .../html-resources/dist/17.chunk.js | 1 + .../html-resources/dist/18.chunk.js | 1 + .../html-resources/dist/19.chunk.js | 1 + .../AlmToolkit/html-resources/dist/2.chunk.js | 1 + .../html-resources/dist/20.chunk.js | 1 + .../html-resources/dist/21.chunk.js | 1 + .../html-resources/dist/22.chunk.js | 1 + .../html-resources/dist/23.chunk.js | 1 + .../html-resources/dist/24.chunk.js | 1 + .../html-resources/dist/25.chunk.js | 1 + .../html-resources/dist/26.chunk.js | 1 + .../html-resources/dist/27.chunk.js | 1 + .../html-resources/dist/28.chunk.js | 1 + .../html-resources/dist/29.chunk.js | 1 + .../AlmToolkit/html-resources/dist/3.chunk.js | 1 + .../html-resources/dist/30.chunk.js | 1 + .../html-resources/dist/31.chunk.js | 1 + .../html-resources/dist/32.chunk.js | 1 + .../html-resources/dist/33.chunk.js | 1 + .../html-resources/dist/34.chunk.js | 1 + .../html-resources/dist/35.chunk.js | 1 + .../html-resources/dist/36.chunk.js | 1 + .../html-resources/dist/37.chunk.js | 1 + .../html-resources/dist/38.chunk.js | 1 + .../html-resources/dist/39.chunk.js | 1 + .../html-resources/dist/3rdpartylicenses.txt | 391 + .../AlmToolkit/html-resources/dist/4.chunk.js | 1 + .../html-resources/dist/40.chunk.js | 1 + .../html-resources/dist/41.chunk.js | 1 + .../html-resources/dist/42.chunk.js | 1 + .../html-resources/dist/43.chunk.js | 1 + .../AlmToolkit/html-resources/dist/5.chunk.js | 1 + .../AlmToolkit/html-resources/dist/6.chunk.js | 1 + .../AlmToolkit/html-resources/dist/7.chunk.js | 1 + .../AlmToolkit/html-resources/dist/8.chunk.js | 1 + .../AlmToolkit/html-resources/dist/9.chunk.js | 1 + .../dist/assets/action-Create-Grey.png | Bin 0 -> 127 bytes .../dist/assets/action-Create.png | Bin 0 -> 127 bytes .../dist/assets/action-Delete-Grey.png | Bin 0 -> 369 bytes .../dist/assets/action-Delete.png | Bin 0 -> 375 bytes .../dist/assets/action-Skip-Grey.png | Bin 0 -> 491 bytes .../dist/assets/action-Skip.png | Bin 0 -> 523 bytes .../dist/assets/action-Update.png | Bin 0 -> 285 bytes .../html-resources/dist/assets/dropdown.png | Bin 0 -> 198 bytes .../dist/assets/node-type-Action.png | Bin 0 -> 2852 bytes .../assets/node-type-Calculation-Group.png | Bin 0 -> 319 bytes .../assets/node-type-Calculation-Item.png | Bin 0 -> 517 bytes .../dist/assets/node-type-Culture.png | Bin 0 -> 3028 bytes .../dist/assets/node-type-Data-Source.png | Bin 0 -> 2979 bytes .../dist/assets/node-type-Expression.png | Bin 0 -> 1524 bytes .../dist/assets/node-type-KPI.png | Bin 0 -> 2933 bytes .../dist/assets/node-type-Measure.png | Bin 0 -> 2935 bytes .../dist/assets/node-type-Model.png | Bin 0 -> 172 bytes .../dist/assets/node-type-Perspective.png | Bin 0 -> 3169 bytes .../dist/assets/node-type-Refresh-Policy.png | Bin 0 -> 529 bytes .../dist/assets/node-type-Relationship.png | Bin 0 -> 3081 bytes .../dist/assets/node-type-Role.png | Bin 0 -> 3348 bytes .../dist/assets/node-type-Table.png | Bin 0 -> 2866 bytes .../html-resources/dist/favicon.ico | Bin 0 -> 5430 bytes .../AlmToolkit/html-resources/dist/index.html | 1 + .../html-resources/dist/inline.bundle.js | 1 + .../html-resources/dist/main.bundle.js | 1 + .../html-resources/dist/polyfills.bundle.js | 1 + .../html-resources/dist/styles.bundle.css | 6 + .../html-resources/dist/symbol-sprite.svg | 1 + .../html-resources/e2e/app.e2e-spec.ts | 14 + .../AlmToolkit/html-resources/e2e/app.po.ts | 11 + .../html-resources/e2e/tsconfig.e2e.json | 14 + .../AlmToolkit/html-resources/karma.conf.js | 33 + .../html-resources/package-lock.json | 11135 ++++++++++++++++ .../AlmToolkit/html-resources/package.json | 50 + .../html-resources/protractor.conf.js | 28 + .../src/app/app-log/app-log.service.spec.ts | 15 + .../src/app/app-log/app-log.service.ts | 45 + .../html-resources/src/app/app.component.css | 3 + .../html-resources/src/app/app.component.html | 1 + .../src/app/app.component.spec.ts | 27 + .../html-resources/src/app/app.component.ts | 9 + .../html-resources/src/app/app.module.ts | 32 + .../app/codeeditor/codeeditor.component.css | 8 + .../app/codeeditor/codeeditor.component.html | 4 + .../codeeditor/codeeditor.component.spec.ts | 25 + .../app/codeeditor/codeeditor.component.ts | 62 + .../src/app/grid/grid.component.css | 149 + .../src/app/grid/grid.component.html | 58 + .../src/app/grid/grid.component.spec.ts | 25 + .../src/app/grid/grid.component.ts | 734 + .../src/app/service/grid-data.service.spec.ts | 15 + .../src/app/service/grid-data.service.ts | 62 + .../service/window-reference.service.spec.ts | 15 + .../app/service/window-reference.service.ts | 17 + .../src/app/shared/mocks/data-list.js | 209 + .../src/app/shared/mocks/data-list.js.map | 1 + .../src/app/shared/mocks/data-list.ts | 234 + .../src/app/shared/model/comparison-node.ts | 55 + .../src/app/shared/model/comparison-tree.js | 9 + .../app/shared/model/comparison-tree.js.map | 1 + .../src/app/shared/model/database-objects.ts | 43 + .../tree-control-context-menu.component.css | 29 + .../tree-control-context-menu.component.html | 8 + ...ree-control-context-menu.component.spec.ts | 25 + .../tree-control-context-menu.component.ts | 96 + .../html-resources/src/assets/.gitkeep | 0 .../src/assets/action-Create-Grey.png | Bin 0 -> 127 bytes .../src/assets/action-Create.png | Bin 0 -> 127 bytes .../src/assets/action-Delete-Grey.png | Bin 0 -> 369 bytes .../src/assets/action-Delete.png | Bin 0 -> 375 bytes .../src/assets/action-Skip-Grey.png | Bin 0 -> 491 bytes .../html-resources/src/assets/action-Skip.png | Bin 0 -> 523 bytes .../src/assets/action-Update.png | Bin 0 -> 285 bytes .../html-resources/src/assets/dropdown.png | Bin 0 -> 198 bytes .../src/assets/node-type-Action.png | Bin 0 -> 2852 bytes .../assets/node-type-Calculation-Group.png | Bin 0 -> 319 bytes .../src/assets/node-type-Calculation-Item.png | Bin 0 -> 517 bytes .../src/assets/node-type-Culture.png | Bin 0 -> 3028 bytes .../src/assets/node-type-Data-Source.png | Bin 0 -> 2979 bytes .../src/assets/node-type-Expression.png | Bin 0 -> 1524 bytes .../src/assets/node-type-KPI.png | Bin 0 -> 2933 bytes .../src/assets/node-type-Measure.png | Bin 0 -> 2935 bytes .../src/assets/node-type-Model.png | Bin 0 -> 172 bytes .../src/assets/node-type-Perspective.png | Bin 0 -> 3169 bytes .../src/assets/node-type-Refresh-Policy.png | Bin 0 -> 529 bytes .../src/assets/node-type-Relationship.png | Bin 0 -> 3081 bytes .../src/assets/node-type-Role.png | Bin 0 -> 3348 bytes .../src/assets/node-type-Table.png | Bin 0 -> 2866 bytes .../src/environments/environment.prod.ts | 3 + .../src/environments/environment.ts | 8 + .../AlmToolkit/html-resources/src/favicon.ico | Bin 0 -> 5430 bytes .../AlmToolkit/html-resources/src/index.html | 17 + .../AlmToolkit/html-resources/src/main.ts | 12 + .../html-resources/src/polyfills.ts | 79 + .../AlmToolkit/html-resources/src/styles.css | 1 + .../AlmToolkit/html-resources/src/test.ts | 20 + .../html-resources/src/tsconfig.app.json | 13 + .../html-resources/src/tsconfig.spec.json | 19 + .../html-resources/src/typings.d.ts | 5 + .../AlmToolkit/html-resources/tsconfig.json | 19 + .../AlmToolkit/html-resources/tslint.json | 143 + AlmToolkit/AlmToolkit/packages.config | 11 + .../AlmToolkitSetup/AlmToolkitSetup.vdproj | 8720 ++++++++++++ .../BismNormalizer.CommandLine/App.config | 6 + .../BismNormalizer.CommandLine.csproj | 108 + .../BismNormalizer.CommandLine/Program.cs | 323 + .../Properties/AssemblyInfo.cs | 36 + .../packages.config | 4 + .../BismNormalizer/BismNormalizer.csproj | 356 + AlmToolkit/BismNormalizer/DemoHarness.cs | 37 + .../BismNormalizer/Properties/AssemblyInfo.cs | 24 + .../BismNormalizer/Resources.Designer.cs | 151 + AlmToolkit/BismNormalizer/Resources.resx | 148 + AlmToolkit/BismNormalizer/Resources/1.png | Bin 0 -> 3147 bytes AlmToolkit/BismNormalizer/Resources/2.png | Bin 0 -> 3469 bytes AlmToolkit/BismNormalizer/Resources/3.png | Bin 0 -> 2874 bytes AlmToolkit/BismNormalizer/Resources/4.png | Bin 0 -> 2964 bytes AlmToolkit/BismNormalizer/Resources/5.png | Bin 0 -> 3078 bytes AlmToolkit/BismNormalizer/Resources/6.png | Bin 0 -> 3165 bytes AlmToolkit/BismNormalizer/Resources/7.png | Bin 0 -> 3178 bytes AlmToolkit/BismNormalizer/Resources/8.png | Bin 0 -> 3384 bytes .../BismNormalizer/Resources/Action.png | Bin 0 -> 2852 bytes .../BismNormalizer/Resources/BismMeasure.png | Bin 0 -> 2935 bytes .../Resources/BismNormalizerLogo.png | Bin 0 -> 3848 bytes .../Resources/BismNormalizerLogoText.png | Bin 0 -> 10620 bytes .../BismNormalizer/Resources/ButtonSwitch.png | Bin 0 -> 2954 bytes .../Resources/CalculationGroup.png | Bin 0 -> 319 bytes .../Resources/CalculationItem.png | Bin 0 -> 517 bytes AlmToolkit/BismNormalizer/Resources/Check.png | Bin 0 -> 3346 bytes .../Resources/CompareBismModels_Small.png | Bin 0 -> 3147 bytes .../BismNormalizer/Resources/Connection.png | Bin 0 -> 2979 bytes .../BismNormalizer/Resources/CreateAction.png | Bin 0 -> 2845 bytes .../Resources/CreateActionGrey.png | Bin 0 -> 1035 bytes .../BismNormalizer/Resources/Culture.png | Bin 0 -> 3028 bytes .../Resources/DeleteAction. BACKUP.png | Bin 0 -> 3170 bytes .../BismNormalizer/Resources/DeleteAction.png | Bin 0 -> 3170 bytes .../Resources/DeleteActionGrey.png | Bin 0 -> 1190 bytes AlmToolkit/BismNormalizer/Resources/Error.png | Bin 0 -> 3021 bytes .../Resources/Expression Old.png | Bin 0 -> 2935 bytes .../BismNormalizer/Resources/Expression.png | Bin 0 -> 1524 bytes AlmToolkit/BismNormalizer/Resources/File.ico | Bin 0 -> 1150 bytes .../BismNormalizer/Resources/Images.png | Bin 0 -> 4056 bytes .../Resources/Informational.png | Bin 0 -> 3296 bytes AlmToolkit/BismNormalizer/Resources/KPI.png | Bin 0 -> 2933 bytes .../BismNormalizer/Resources/LicenseTerms.txt | 19 + .../BismNormalizer/Resources/LogoSmall.png | Bin 0 -> 4390 bytes AlmToolkit/BismNormalizer/Resources/Minus.png | Bin 0 -> 2878 bytes AlmToolkit/BismNormalizer/Resources/Model.png | Bin 0 -> 172 bytes .../BismNormalizer/Resources/Package.ico | Bin 0 -> 1150 bytes .../BismNormalizer/Resources/Perspective.png | Bin 0 -> 3169 bytes AlmToolkit/BismNormalizer/Resources/Plus.png | Bin 0 -> 2929 bytes .../BismNormalizer/Resources/Processing.png | Bin 0 -> 2880 bytes .../BismNormalizer/Resources/Progress.gif | Bin 0 -> 8787 bytes .../Resources/ProgressCheck.png | Bin 0 -> 3300 bytes .../Resources/ProgressError.png | Bin 0 -> 4062 bytes .../Resources/ProgressWarning.png | Bin 0 -> 4306 bytes .../Resources/RefreshPolicy.png | Bin 0 -> 529 bytes .../Resources/Relationship. BACKUPpng | Bin 0 -> 3081 bytes .../BismNormalizer/Resources/Relationship.png | Bin 0 -> 3081 bytes AlmToolkit/BismNormalizer/Resources/Role.png | Bin 0 -> 3348 bytes .../BismNormalizer/Resources/SkipAction.png | Bin 0 -> 3155 bytes .../Resources/SkipActionGrey.png | Bin 0 -> 1147 bytes .../BismNormalizer/Resources/Table BACKUP.png | Bin 0 -> 2866 bytes AlmToolkit/BismNormalizer/Resources/Table.png | Bin 0 -> 2866 bytes .../BismNormalizer/Resources/UpdateAction.png | Bin 0 -> 2880 bytes .../BismNormalizer/Resources/Warning.png | Bin 0 -> 3290 bytes .../Resources/WarningToolWindow.png | Bin 0 -> 3197 bytes .../BismNormalizer/Settings.Designer.cs | 386 + AlmToolkit/BismNormalizer/Settings.cs | 27 + AlmToolkit/BismNormalizer/Settings.settings | 96 + .../BismNormalizer/Settings1.Designer.cs | 209 + .../TabularCompare/BlobKeyEventArgs.cs | 35 + .../TabularCompare/ComparisonFactory.cs | 204 + .../TabularCompare/ComparisonInfo.cs | 377 + .../TabularCompare/ConnectionInfo.cs | 826 ++ .../TabularCompare/Core/Comparison.cs | 670 + .../TabularCompare/Core/ComparisonObject.cs | 126 + .../DatabaseDeploymentEventArgs.cs | 15 + .../DeploymentCompleteEventArgs.cs | 31 + .../DeploymentMessageEventArgs.cs | 38 + .../DesktopInstances/ManagedIpHelper.cs | 283 + .../DesktopInstances/PowerBIHelper.cs | 152 + .../DesktopInstances/ProcessExtensions.cs | 32 + .../DesktopInstances/WindowTitle.cs | 162 + .../BismNormalizer/TabularCompare/Enums.cs | 44 + .../MultidimensionalMetadata/Action.cs | 148 + .../ActionCollection.cs | 75 + .../MultidimensionalMetadata/Comparison.cs | 1295 ++ .../ComparisonObject.cs | 188 + .../MultidimensionalMetadata/DataSource.cs | 99 + .../DataSourceCollection.cs | 100 + .../ITabularObject.cs | 39 + .../MultidimensionalMetadata/Kpi.cs | 217 + .../MultidimensionalMetadata/KpiCollection.cs | 117 + .../MultidimensionalMetadata/Measure.cs | 321 + .../MeasureCollection.cs | 117 + .../MultidimensionalMetadata/Perspective.cs | 400 + .../PerspectiveCollection.cs | 100 + .../MultidimensionalMetadata/Relationship.cs | 129 + .../RelationshipCollection.cs | 118 + .../MultidimensionalMetadata/Role.cs | 143 + .../RoleCollection.cs | 100 + .../MultidimensionalMetadata/Table.cs | 782 ++ .../TableCollection.cs | 118 + .../MultidimensionalMetadata/TabularModel.cs | 2935 ++++ .../TabularCompare/OptionsInfo.cs | 237 + .../TabularCompare/PartitionRowCounter.cs | 36 + .../TabularCompare/PasswordPromptEventArgs.cs | 40 + .../TabularCompare/PowerBiTemplate.cs | 101 + .../TabularCompare/ProcessingTable.cs | 89 + .../ProcessingTableCollection.cs | 79 + .../TabularCompare/SkipSelection.cs | 69 + .../TabularCompare/SkipSelectionCollection.cs | 31 + .../TabularCompare/TabularCompare.dgml | 922 ++ .../TabularMetadata/CalcDependency.cs | 103 + .../CalcDependencyCollection.cs | 145 + .../TabularMetadata/CalculationItem.cs | 116 + .../CalculationItemCollection.cs | 98 + .../TabularMetadata/Comparison.cs | 2009 +++ .../TabularMetadata/ComparisonObject.cs | 222 + .../TabularCompare/TabularMetadata/Culture.cs | 87 + .../TabularMetadata/CultureCollection.cs | 83 + .../TabularMetadata/DataSource.cs | 39 + .../TabularMetadata/DataSourceCollection.cs | 66 + .../TabularMetadata/Expression.cs | 36 + .../TabularMetadata/ExpressionCollection.cs | 83 + .../TabularCompare/TabularMetadata/Measure.cs | 129 + .../TabularMetadata/MeasureCollection.cs | 98 + .../TabularCompare/TabularMetadata/Model.cs | 65 + .../TabularMetadata/Perspective.cs | 131 + .../TabularMetadata/PerspectiveCollection.cs | 83 + .../TabularMetadata/Relationship.cs | 95 + .../RelationshipChainsFromRoot.cs | 97 + .../TabularMetadata/RelationshipCollection.cs | 100 + .../TabularMetadata/RelationshipLink.cs | 87 + .../TabularCompare/TabularMetadata/Role.cs | 36 + .../TabularMetadata/RoleCollection.cs | 83 + .../TabularCompare/TabularMetadata/Table.cs | 571 + .../TabularMetadata/TableCollection.cs | 107 + .../TabularMetadataClassDiagram.cd | 192 + .../TabularMetadata/TabularModel.cs | 2538 ++++ .../TabularMetadata/TabularObject.cs | 179 + .../TabularCompare/Telemetry.cs | 65 + .../UI/BlobCredentials.Designer.cs | 183 + .../TabularCompare/UI/BlobCredentials.cs | 118 + .../TabularCompare/UI/BlobCredentials.resx | 120 + .../UI/ComparisonControl.Designer.cs | 594 + .../TabularCompare/UI/ComparisonControl.cs | 1176 ++ .../TabularCompare/UI/ComparisonControl.resx | 618 + .../TabularCompare/UI/Connections.Designer.cs | 536 + .../TabularCompare/UI/Connections.cs | 549 + .../TabularCompare/UI/Connections.resx | 123 + .../UI/ConnectionsAlmt.Designer.cs | 599 + .../TabularCompare/UI/ConnectionsAlmt.cs | 527 + .../TabularCompare/UI/ConnectionsAlmt.resx | 120 + .../TabularCompare/UI/Deployment.Designer.cs | 225 + .../TabularCompare/UI/Deployment.cs | 281 + .../TabularCompare/UI/Deployment.resx | 185 + .../TabularCompare/UI/DiffMatchPatch.cs | 2633 ++++ .../TabularCompare/UI/EditorTextBox.cs | 60 + .../UI/EditorTextBox.designer.cs | 46 + .../TabularCompare/UI/EditorTextBox.resx | 123 + .../UI/ImpersonationCredentials.Designer.cs | 207 + .../UI/ImpersonationCredentials.cs | 196 + .../UI/ImpersonationCredentials.resx | 120 + .../TabularCompare/UI/Options.Designer.cs | 401 + .../TabularCompare/UI/Options.cs | 148 + .../TabularCompare/UI/Options.resx | 120 + .../UI/ProcessingErrorMessage.Designer.cs | 82 + .../UI/ProcessingErrorMessage.cs | 60 + .../UI/ProcessingErrorMessage.resx | 120 + .../UI/SynchronizedScrollRichTextBox.cs | 40 + .../TabularCompare/UI/TreeGridCell.cs | 313 + .../TabularCompare/UI/TreeGridEvents.cs | 64 + .../TabularCompare/UI/TreeGridNode.cs | 507 + .../UI/TreeGridNodeCollection.cs | 216 + .../TabularCompare/UI/TreeGridView.cs | 594 + .../UI/TreeGridViewComparison.cs | 957 ++ .../UI/TreeGridViewValidationOutput.cs | 326 + .../BismNormalizer/TabularCompare/UI/Utils.cs | 212 + .../UI/ValidationOutput.Designer.cs | 93 + .../TabularCompare/UI/ValidationOutput.cs | 90 + .../TabularCompare/UI/ValidationOutput.resx | 120 + .../UI/ValidationOutputButton.Designer.cs | 106 + .../UI/ValidationOutputButton.cs | 119 + .../UI/ValidationOutputButton.resx | 177 + .../UI/ValidationOutputButtons.Designer.cs | 47 + .../UI/ValidationOutputButtons.cs | 150 + .../UI/ValidationOutputButtons.resx | 120 + .../ValidationMessageEventArgs.cs | 38 + AlmToolkit/BismNormalizer/app.config | 127 + AlmToolkit/BismNormalizer/packages.config | 6 + ...son and Merging for Analysis Services.docx | Bin 0 -> 3455154 bytes ...ison and Merging for Analysis Services.pdf | Bin 0 -> 2861440 bytes AlmToolkit/README.md | 42 + AlmToolkit/VersionInfo.cs | 14 + .../BismNormalizer.IconSetup.exe | Bin 10240 -> 10240 bytes .../BismNormalizer/BismNormalizer.exe | Bin 16384 -> 16384 bytes 406 files changed, 69572 insertions(+), 1 deletion(-) create mode 100644 AlmToolkit/AlmToolkit.sln create mode 100644 AlmToolkit/AlmToolkit/About.Designer.cs create mode 100644 AlmToolkit/AlmToolkit/About.cs create mode 100644 AlmToolkit/AlmToolkit/About.resx create mode 100644 AlmToolkit/AlmToolkit/AlmToolkit.csproj create mode 100644 AlmToolkit/AlmToolkit/App.config create mode 100644 AlmToolkit/AlmToolkit/BismNorm.ico create mode 100644 AlmToolkit/AlmToolkit/ChromeDebugger.cs create mode 100644 AlmToolkit/AlmToolkit/ComparisonControl.Designer.cs create mode 100644 AlmToolkit/AlmToolkit/ComparisonControl.cs create mode 100644 AlmToolkit/AlmToolkit/ComparisonControl.resx create mode 100644 AlmToolkit/AlmToolkit/ComparisonForm.Designer.cs create mode 100644 AlmToolkit/AlmToolkit/ComparisonForm.cs create mode 100644 AlmToolkit/AlmToolkit/ComparisonForm.resx create mode 100644 AlmToolkit/AlmToolkit/ComparisonJSInteraction.cs create mode 100644 AlmToolkit/AlmToolkit/Images/AlmToolkit.ico create mode 100644 AlmToolkit/AlmToolkit/Images/BismNorm.ico create mode 100644 AlmToolkit/AlmToolkit/Images/BismNormalizerBanner.png create mode 100644 AlmToolkit/AlmToolkit/Images/Compare.png create mode 100644 AlmToolkit/AlmToolkit/Images/Exit.png create mode 100644 AlmToolkit/AlmToolkit/Images/Help.png create mode 100644 AlmToolkit/AlmToolkit/Images/MAQSoftware.png create mode 100644 AlmToolkit/AlmToolkit/Images/Open.png create mode 100644 AlmToolkit/AlmToolkit/Images/Options.png create mode 100644 AlmToolkit/AlmToolkit/Images/PBIReportServer.png create mode 100644 AlmToolkit/AlmToolkit/Images/PowerBI.svg create mode 100644 AlmToolkit/AlmToolkit/Images/PowerBi.png create mode 100644 AlmToolkit/AlmToolkit/Images/PowerBi3.png create mode 100644 AlmToolkit/AlmToolkit/Images/Report.png create mode 100644 AlmToolkit/AlmToolkit/Images/Save.png create mode 100644 AlmToolkit/AlmToolkit/Images/SaveAs.png create mode 100644 AlmToolkit/AlmToolkit/Images/Script.png create mode 100644 AlmToolkit/AlmToolkit/Images/SelectActions.png create mode 100644 AlmToolkit/AlmToolkit/Images/Update.png create mode 100644 AlmToolkit/AlmToolkit/Images/Validate.png create mode 100644 AlmToolkit/AlmToolkit/Images/devenv.png create mode 100644 AlmToolkit/AlmToolkit/Images/powerBI2.png create mode 100644 AlmToolkit/AlmToolkit/License.rtf create mode 100644 AlmToolkit/AlmToolkit/ManagedIpHelper.cs create mode 100644 AlmToolkit/AlmToolkit/Model/AngularComposite.cs create mode 100644 AlmToolkit/AlmToolkit/Model/ComparisonNode.cs create mode 100644 AlmToolkit/AlmToolkit/PowerBIHelper.cs create mode 100644 AlmToolkit/AlmToolkit/ProcessExtensions.cs create mode 100644 AlmToolkit/AlmToolkit/Program.cs create mode 100644 AlmToolkit/AlmToolkit/Properties/AssemblyInfo.cs create mode 100644 AlmToolkit/AlmToolkit/Properties/Resources.Designer.cs create mode 100644 AlmToolkit/AlmToolkit/Properties/Resources.resx create mode 100644 AlmToolkit/AlmToolkit/Properties/Settings.Designer.cs create mode 100644 AlmToolkit/AlmToolkit/Properties/Settings.settings create mode 100644 AlmToolkit/AlmToolkit/ReleaseProcess.txt create mode 100644 AlmToolkit/AlmToolkit/System.Windows.Forms.Ribbon.dll create mode 100644 AlmToolkit/AlmToolkit/System.Windows.Forms.Ribbon.dll.copy-rename create mode 100644 AlmToolkit/AlmToolkit/Utils.cs create mode 100644 AlmToolkit/AlmToolkit/WarningListForm.Designer.cs create mode 100644 AlmToolkit/AlmToolkit/WarningListForm.cs create mode 100644 AlmToolkit/AlmToolkit/WarningListForm.resx create mode 100644 AlmToolkit/AlmToolkit/WindowTitle.cs create mode 100644 AlmToolkit/AlmToolkit/almtoolkit.pbitool.json create mode 100644 AlmToolkit/AlmToolkit/app.manifest create mode 100644 AlmToolkit/AlmToolkit/html-resources/.angular-cli.json create mode 100644 AlmToolkit/AlmToolkit/html-resources/.editorconfig create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/0.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/1.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/10.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/11.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/12.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/13.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/14.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/15.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/16.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/17.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/18.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/19.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/2.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/20.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/21.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/22.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/23.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/24.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/25.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/26.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/27.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/28.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/29.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/3.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/30.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/31.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/32.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/33.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/34.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/35.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/36.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/37.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/38.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/39.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/3rdpartylicenses.txt create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/4.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/40.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/41.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/42.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/43.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/5.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/6.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/7.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/8.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/9.chunk.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/action-Create-Grey.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/action-Create.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/action-Delete-Grey.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/action-Delete.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/action-Skip-Grey.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/action-Skip.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/action-Update.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/dropdown.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Action.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Calculation-Group.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Calculation-Item.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Culture.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Data-Source.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Expression.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-KPI.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Measure.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Model.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Perspective.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Refresh-Policy.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Relationship.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Role.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/assets/node-type-Table.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/favicon.ico create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/index.html create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/inline.bundle.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/main.bundle.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/polyfills.bundle.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/styles.bundle.css create mode 100644 AlmToolkit/AlmToolkit/html-resources/dist/symbol-sprite.svg create mode 100644 AlmToolkit/AlmToolkit/html-resources/e2e/app.e2e-spec.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/e2e/app.po.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/e2e/tsconfig.e2e.json create mode 100644 AlmToolkit/AlmToolkit/html-resources/karma.conf.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/package-lock.json create mode 100644 AlmToolkit/AlmToolkit/html-resources/package.json create mode 100644 AlmToolkit/AlmToolkit/html-resources/protractor.conf.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/app-log/app-log.service.spec.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/app-log/app-log.service.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/app.component.css create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/app.component.html create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/app.component.spec.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/app.component.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/app.module.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/codeeditor/codeeditor.component.css create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/codeeditor/codeeditor.component.html create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/codeeditor/codeeditor.component.spec.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/codeeditor/codeeditor.component.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/grid/grid.component.css create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/grid/grid.component.html create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/grid/grid.component.spec.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/grid/grid.component.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/service/grid-data.service.spec.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/service/grid-data.service.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/service/window-reference.service.spec.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/service/window-reference.service.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/shared/mocks/data-list.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/shared/mocks/data-list.js.map create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/shared/mocks/data-list.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/shared/model/comparison-node.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/shared/model/comparison-tree.js create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/shared/model/comparison-tree.js.map create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/shared/model/database-objects.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/tree-control-context-menu/tree-control-context-menu.component.css create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/tree-control-context-menu/tree-control-context-menu.component.html create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/tree-control-context-menu/tree-control-context-menu.component.spec.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/app/tree-control-context-menu/tree-control-context-menu.component.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/.gitkeep create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/action-Create-Grey.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/action-Create.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/action-Delete-Grey.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/action-Delete.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/action-Skip-Grey.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/action-Skip.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/action-Update.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/dropdown.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Action.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Calculation-Group.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Calculation-Item.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Culture.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Data-Source.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Expression.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-KPI.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Measure.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Model.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Perspective.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Refresh-Policy.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Relationship.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Role.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/assets/node-type-Table.png create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/environments/environment.prod.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/environments/environment.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/favicon.ico create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/index.html create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/main.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/polyfills.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/styles.css create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/test.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/tsconfig.app.json create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/tsconfig.spec.json create mode 100644 AlmToolkit/AlmToolkit/html-resources/src/typings.d.ts create mode 100644 AlmToolkit/AlmToolkit/html-resources/tsconfig.json create mode 100644 AlmToolkit/AlmToolkit/html-resources/tslint.json create mode 100644 AlmToolkit/AlmToolkit/packages.config create mode 100644 AlmToolkit/AlmToolkitSetup/AlmToolkitSetup.vdproj create mode 100644 AlmToolkit/BismNormalizer.CommandLine/App.config create mode 100644 AlmToolkit/BismNormalizer.CommandLine/BismNormalizer.CommandLine.csproj create mode 100644 AlmToolkit/BismNormalizer.CommandLine/Program.cs create mode 100644 AlmToolkit/BismNormalizer.CommandLine/Properties/AssemblyInfo.cs create mode 100644 AlmToolkit/BismNormalizer.CommandLine/packages.config create mode 100644 AlmToolkit/BismNormalizer/BismNormalizer.csproj create mode 100644 AlmToolkit/BismNormalizer/DemoHarness.cs create mode 100644 AlmToolkit/BismNormalizer/Properties/AssemblyInfo.cs create mode 100644 AlmToolkit/BismNormalizer/Resources.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/Resources.resx create mode 100644 AlmToolkit/BismNormalizer/Resources/1.png create mode 100644 AlmToolkit/BismNormalizer/Resources/2.png create mode 100644 AlmToolkit/BismNormalizer/Resources/3.png create mode 100644 AlmToolkit/BismNormalizer/Resources/4.png create mode 100644 AlmToolkit/BismNormalizer/Resources/5.png create mode 100644 AlmToolkit/BismNormalizer/Resources/6.png create mode 100644 AlmToolkit/BismNormalizer/Resources/7.png create mode 100644 AlmToolkit/BismNormalizer/Resources/8.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Action.png create mode 100644 AlmToolkit/BismNormalizer/Resources/BismMeasure.png create mode 100644 AlmToolkit/BismNormalizer/Resources/BismNormalizerLogo.png create mode 100644 AlmToolkit/BismNormalizer/Resources/BismNormalizerLogoText.png create mode 100644 AlmToolkit/BismNormalizer/Resources/ButtonSwitch.png create mode 100644 AlmToolkit/BismNormalizer/Resources/CalculationGroup.png create mode 100644 AlmToolkit/BismNormalizer/Resources/CalculationItem.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Check.png create mode 100644 AlmToolkit/BismNormalizer/Resources/CompareBismModels_Small.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Connection.png create mode 100644 AlmToolkit/BismNormalizer/Resources/CreateAction.png create mode 100644 AlmToolkit/BismNormalizer/Resources/CreateActionGrey.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Culture.png create mode 100644 AlmToolkit/BismNormalizer/Resources/DeleteAction. BACKUP.png create mode 100644 AlmToolkit/BismNormalizer/Resources/DeleteAction.png create mode 100644 AlmToolkit/BismNormalizer/Resources/DeleteActionGrey.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Error.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Expression Old.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Expression.png create mode 100644 AlmToolkit/BismNormalizer/Resources/File.ico create mode 100644 AlmToolkit/BismNormalizer/Resources/Images.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Informational.png create mode 100644 AlmToolkit/BismNormalizer/Resources/KPI.png create mode 100644 AlmToolkit/BismNormalizer/Resources/LicenseTerms.txt create mode 100644 AlmToolkit/BismNormalizer/Resources/LogoSmall.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Minus.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Model.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Package.ico create mode 100644 AlmToolkit/BismNormalizer/Resources/Perspective.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Plus.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Processing.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Progress.gif create mode 100644 AlmToolkit/BismNormalizer/Resources/ProgressCheck.png create mode 100644 AlmToolkit/BismNormalizer/Resources/ProgressError.png create mode 100644 AlmToolkit/BismNormalizer/Resources/ProgressWarning.png create mode 100644 AlmToolkit/BismNormalizer/Resources/RefreshPolicy.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Relationship. BACKUPpng create mode 100644 AlmToolkit/BismNormalizer/Resources/Relationship.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Role.png create mode 100644 AlmToolkit/BismNormalizer/Resources/SkipAction.png create mode 100644 AlmToolkit/BismNormalizer/Resources/SkipActionGrey.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Table BACKUP.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Table.png create mode 100644 AlmToolkit/BismNormalizer/Resources/UpdateAction.png create mode 100644 AlmToolkit/BismNormalizer/Resources/Warning.png create mode 100644 AlmToolkit/BismNormalizer/Resources/WarningToolWindow.png create mode 100644 AlmToolkit/BismNormalizer/Settings.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/Settings.cs create mode 100644 AlmToolkit/BismNormalizer/Settings.settings create mode 100644 AlmToolkit/BismNormalizer/Settings1.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/BlobKeyEventArgs.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/ComparisonFactory.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/ComparisonInfo.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/ConnectionInfo.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/Core/Comparison.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/Core/ComparisonObject.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/DatabaseDeploymentEventArgs.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/DeploymentCompleteEventArgs.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/DeploymentMessageEventArgs.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/DesktopInstances/ManagedIpHelper.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/DesktopInstances/PowerBIHelper.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/DesktopInstances/ProcessExtensions.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/DesktopInstances/WindowTitle.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/Enums.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/Action.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/ActionCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/Comparison.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/ComparisonObject.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/DataSource.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/DataSourceCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/ITabularObject.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/Kpi.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/KpiCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/Measure.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/MeasureCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/Perspective.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/PerspectiveCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/Relationship.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/RelationshipCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/Role.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/RoleCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/Table.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/TableCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/MultidimensionalMetadata/TabularModel.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/OptionsInfo.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/PartitionRowCounter.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/PasswordPromptEventArgs.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/PowerBiTemplate.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/ProcessingTable.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/ProcessingTableCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/SkipSelection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/SkipSelectionCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularCompare.dgml create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/CalcDependency.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/CalcDependencyCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/CalculationItem.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/CalculationItemCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/Comparison.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/ComparisonObject.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/Culture.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/CultureCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/DataSource.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/DataSourceCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/Expression.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/ExpressionCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/Measure.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/MeasureCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/Model.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/Perspective.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/PerspectiveCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/Relationship.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/RelationshipChainsFromRoot.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/RelationshipCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/RelationshipLink.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/Role.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/RoleCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/Table.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/TableCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/TabularMetadataClassDiagram.cd create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/TabularModel.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/TabularMetadata/TabularObject.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/Telemetry.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/BlobCredentials.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/BlobCredentials.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/BlobCredentials.resx create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ComparisonControl.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ComparisonControl.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ComparisonControl.resx create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/Connections.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/Connections.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/Connections.resx create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ConnectionsAlmt.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ConnectionsAlmt.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ConnectionsAlmt.resx create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/Deployment.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/Deployment.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/Deployment.resx create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/DiffMatchPatch.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/EditorTextBox.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/EditorTextBox.designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/EditorTextBox.resx create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ImpersonationCredentials.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ImpersonationCredentials.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ImpersonationCredentials.resx create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/Options.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/Options.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/Options.resx create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ProcessingErrorMessage.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ProcessingErrorMessage.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ProcessingErrorMessage.resx create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/SynchronizedScrollRichTextBox.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/TreeGridCell.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/TreeGridEvents.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/TreeGridNode.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/TreeGridNodeCollection.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/TreeGridView.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/TreeGridViewComparison.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/TreeGridViewValidationOutput.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/Utils.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ValidationOutput.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ValidationOutput.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ValidationOutput.resx create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ValidationOutputButton.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ValidationOutputButton.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ValidationOutputButton.resx create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ValidationOutputButtons.Designer.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ValidationOutputButtons.cs create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/UI/ValidationOutputButtons.resx create mode 100644 AlmToolkit/BismNormalizer/TabularCompare/ValidationMessageEventArgs.cs create mode 100644 AlmToolkit/BismNormalizer/app.config create mode 100644 AlmToolkit/BismNormalizer/packages.config create mode 100644 AlmToolkit/Model Comparison and Merging for Analysis Services.docx create mode 100644 AlmToolkit/Model Comparison and Merging for Analysis Services.pdf create mode 100644 AlmToolkit/README.md create mode 100644 AlmToolkit/VersionInfo.cs diff --git a/.gitignore b/.gitignore index 39414b5..42faa2d 100644 --- a/.gitignore +++ b/.gitignore @@ -243,4 +243,5 @@ ModelManifest.xml .paket/paket.exe # FAKE - F# Make -.fake/ \ No newline at end of file +.fake/ +/AlmToolkit/AlmToolkitSetup/Setup diff --git a/AlmToolkit/AlmToolkit.sln b/AlmToolkit/AlmToolkit.sln new file mode 100644 index 0000000..1d9632f --- /dev/null +++ b/AlmToolkit/AlmToolkit.sln @@ -0,0 +1,80 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29306.81 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AlmToolkit", "AlmToolkit\AlmToolkit.csproj", "{765C0612-BB8F-4261-87AE-B5B842BE3C26}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BismNormalizer", "BismNormalizer\BismNormalizer.csproj", "{8E68FB9B-73DF-4BC3-9C56-760C87078D13}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{399E672C-E8B5-417F-8559-AEA2601FB51B}" + ProjectSection(SolutionItems) = preProject + VersionInfo.cs = VersionInfo.cs + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BismNormalizer.CommandLine", "BismNormalizer.CommandLine\BismNormalizer.CommandLine.csproj", "{4C77E665-FA37-4793-8950-69AABD3DC626}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "AlmToolkitSetup", "AlmToolkitSetup\AlmToolkitSetup.vdproj", "{DB850BC4-7490-4999-8761-CA8D4B92F98F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Setup|Any CPU = Setup|Any CPU + Setup|x64 = Setup|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {765C0612-BB8F-4261-87AE-B5B842BE3C26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {765C0612-BB8F-4261-87AE-B5B842BE3C26}.Debug|Any CPU.Build.0 = Debug|Any CPU + {765C0612-BB8F-4261-87AE-B5B842BE3C26}.Debug|x64.ActiveCfg = Debug|x64 + {765C0612-BB8F-4261-87AE-B5B842BE3C26}.Debug|x64.Build.0 = Debug|x64 + {765C0612-BB8F-4261-87AE-B5B842BE3C26}.Release|Any CPU.ActiveCfg = Release|Any CPU + {765C0612-BB8F-4261-87AE-B5B842BE3C26}.Release|Any CPU.Build.0 = Release|Any CPU + {765C0612-BB8F-4261-87AE-B5B842BE3C26}.Release|x64.ActiveCfg = Release|x64 + {765C0612-BB8F-4261-87AE-B5B842BE3C26}.Release|x64.Build.0 = Release|x64 + {765C0612-BB8F-4261-87AE-B5B842BE3C26}.Setup|Any CPU.ActiveCfg = Setup|Any CPU + {765C0612-BB8F-4261-87AE-B5B842BE3C26}.Setup|Any CPU.Build.0 = Setup|Any CPU + {765C0612-BB8F-4261-87AE-B5B842BE3C26}.Setup|x64.ActiveCfg = Setup|x64 + {765C0612-BB8F-4261-87AE-B5B842BE3C26}.Setup|x64.Build.0 = Setup|x64 + {8E68FB9B-73DF-4BC3-9C56-760C87078D13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8E68FB9B-73DF-4BC3-9C56-760C87078D13}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8E68FB9B-73DF-4BC3-9C56-760C87078D13}.Debug|x64.ActiveCfg = Debug|Any CPU + {8E68FB9B-73DF-4BC3-9C56-760C87078D13}.Debug|x64.Build.0 = Debug|Any CPU + {8E68FB9B-73DF-4BC3-9C56-760C87078D13}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8E68FB9B-73DF-4BC3-9C56-760C87078D13}.Release|Any CPU.Build.0 = Release|Any CPU + {8E68FB9B-73DF-4BC3-9C56-760C87078D13}.Release|x64.ActiveCfg = Release|Any CPU + {8E68FB9B-73DF-4BC3-9C56-760C87078D13}.Release|x64.Build.0 = Release|Any CPU + {8E68FB9B-73DF-4BC3-9C56-760C87078D13}.Setup|Any CPU.ActiveCfg = Setup|Any CPU + {8E68FB9B-73DF-4BC3-9C56-760C87078D13}.Setup|Any CPU.Build.0 = Setup|Any CPU + {8E68FB9B-73DF-4BC3-9C56-760C87078D13}.Setup|x64.ActiveCfg = Setup|Any CPU + {8E68FB9B-73DF-4BC3-9C56-760C87078D13}.Setup|x64.Build.0 = Setup|Any CPU + {4C77E665-FA37-4793-8950-69AABD3DC626}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4C77E665-FA37-4793-8950-69AABD3DC626}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4C77E665-FA37-4793-8950-69AABD3DC626}.Debug|x64.ActiveCfg = Debug|Any CPU + {4C77E665-FA37-4793-8950-69AABD3DC626}.Debug|x64.Build.0 = Debug|Any CPU + {4C77E665-FA37-4793-8950-69AABD3DC626}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4C77E665-FA37-4793-8950-69AABD3DC626}.Release|Any CPU.Build.0 = Release|Any CPU + {4C77E665-FA37-4793-8950-69AABD3DC626}.Release|x64.ActiveCfg = Release|Any CPU + {4C77E665-FA37-4793-8950-69AABD3DC626}.Release|x64.Build.0 = Release|Any CPU + {4C77E665-FA37-4793-8950-69AABD3DC626}.Setup|Any CPU.ActiveCfg = Setup|Any CPU + {4C77E665-FA37-4793-8950-69AABD3DC626}.Setup|Any CPU.Build.0 = Setup|Any CPU + {4C77E665-FA37-4793-8950-69AABD3DC626}.Setup|x64.ActiveCfg = Setup|Any CPU + {4C77E665-FA37-4793-8950-69AABD3DC626}.Setup|x64.Build.0 = Setup|Any CPU + {DB850BC4-7490-4999-8761-CA8D4B92F98F}.Debug|Any CPU.ActiveCfg = Debug + {DB850BC4-7490-4999-8761-CA8D4B92F98F}.Debug|x64.ActiveCfg = Debug + {DB850BC4-7490-4999-8761-CA8D4B92F98F}.Release|Any CPU.ActiveCfg = Release + {DB850BC4-7490-4999-8761-CA8D4B92F98F}.Release|x64.ActiveCfg = Release + {DB850BC4-7490-4999-8761-CA8D4B92F98F}.Setup|Any CPU.ActiveCfg = Setup + {DB850BC4-7490-4999-8761-CA8D4B92F98F}.Setup|Any CPU.Build.0 = Setup + {DB850BC4-7490-4999-8761-CA8D4B92F98F}.Setup|x64.ActiveCfg = Setup + {DB850BC4-7490-4999-8761-CA8D4B92F98F}.Setup|x64.Build.0 = Setup + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {2B9958CF-DBD0-4DAB-9124-49BBA68C6BD7} + EndGlobalSection +EndGlobal diff --git a/AlmToolkit/AlmToolkit/About.Designer.cs b/AlmToolkit/AlmToolkit/About.Designer.cs new file mode 100644 index 0000000..163f0e7 --- /dev/null +++ b/AlmToolkit/AlmToolkit/About.Designer.cs @@ -0,0 +1,210 @@ +namespace AlmToolkit +{ + partial class About + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(About)); + this.okButton = new System.Windows.Forms.Button(); + this.logoPictureBox = new System.Windows.Forms.PictureBox(); + this.lblProductVersion = new System.Windows.Forms.Label(); + this.lblProductName = new System.Windows.Forms.Label(); + this.linkReportIssue = new System.Windows.Forms.LinkLabel(); + this.linkDocumentation = new System.Windows.Forms.LinkLabel(); + this.linkALMTWebsite = new System.Windows.Forms.LinkLabel(); + this.linkLatestVersion = new System.Windows.Forms.LinkLabel(); + this.label1 = new System.Windows.Forms.Label(); + this.linkTwitter = new System.Windows.Forms.LinkLabel(); + this.linkHowToUse = new System.Windows.Forms.LinkLabel(); + ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit(); + this.SuspendLayout(); + // + // okButton + // + this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.okButton.Location = new System.Drawing.Point(287, 304); + this.okButton.Margin = new System.Windows.Forms.Padding(4); + this.okButton.Name = "okButton"; + this.okButton.Size = new System.Drawing.Size(100, 31); + this.okButton.TabIndex = 24; + this.okButton.Text = "&OK"; + // + // logoPictureBox + // + this.logoPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("logoPictureBox.Image"))); + this.logoPictureBox.Location = new System.Drawing.Point(16, 11); + this.logoPictureBox.Margin = new System.Windows.Forms.Padding(4); + this.logoPictureBox.Name = "logoPictureBox"; + this.logoPictureBox.Size = new System.Drawing.Size(84, 82); + this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.logoPictureBox.TabIndex = 12; + this.logoPictureBox.TabStop = false; + // + // lblProductVersion + // + this.lblProductVersion.AutoSize = true; + this.lblProductVersion.Location = new System.Drawing.Point(119, 211); + this.lblProductVersion.Name = "lblProductVersion"; + this.lblProductVersion.Size = new System.Drawing.Size(45, 16); + this.lblProductVersion.TabIndex = 26; + this.lblProductVersion.Text = "label1"; + // + // lblProductName + // + this.lblProductName.AutoSize = true; + this.lblProductName.Font = new System.Drawing.Font("Microsoft Sans Serif", 13F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblProductName.Location = new System.Drawing.Point(117, 12); + this.lblProductName.Name = "lblProductName"; + this.lblProductName.Size = new System.Drawing.Size(64, 22); + this.lblProductName.TabIndex = 27; + this.lblProductName.Text = "label1"; + // + // linkReportIssue + // + this.linkReportIssue.AutoSize = true; + this.linkReportIssue.Location = new System.Drawing.Point(119, 149); + this.linkReportIssue.Name = "linkReportIssue"; + this.linkReportIssue.Size = new System.Drawing.Size(102, 16); + this.linkReportIssue.TabIndex = 28; + this.linkReportIssue.TabStop = true; + this.linkReportIssue.Text = "Report an issue"; + this.linkReportIssue.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkReportIssue_LinkClicked); + // + // linkDocumentation + // + this.linkDocumentation.AutoSize = true; + this.linkDocumentation.Location = new System.Drawing.Point(119, 117); + this.linkDocumentation.Name = "linkDocumentation"; + this.linkDocumentation.Size = new System.Drawing.Size(98, 16); + this.linkDocumentation.TabIndex = 30; + this.linkDocumentation.TabStop = true; + this.linkDocumentation.Text = "Documentation"; + this.linkDocumentation.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkDocumentation_LinkClicked); + // + // linkALMTWebsite + // + this.linkALMTWebsite.AutoSize = true; + this.linkALMTWebsite.Location = new System.Drawing.Point(119, 54); + this.linkALMTWebsite.Name = "linkALMTWebsite"; + this.linkALMTWebsite.Size = new System.Drawing.Size(134, 16); + this.linkALMTWebsite.TabIndex = 31; + this.linkALMTWebsite.TabStop = true; + this.linkALMTWebsite.Text = "http://alm-toolkit.com/"; + this.linkALMTWebsite.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkALMTWebsite_LinkClicked); + // + // linkLatestVersion + // + this.linkLatestVersion.AutoSize = true; + this.linkLatestVersion.Location = new System.Drawing.Point(119, 240); + this.linkLatestVersion.Name = "linkLatestVersion"; + this.linkLatestVersion.Size = new System.Drawing.Size(91, 16); + this.linkLatestVersion.TabIndex = 32; + this.linkLatestVersion.TabStop = true; + this.linkLatestVersion.Text = "Latest version"; + this.linkLatestVersion.Visible = false; + this.linkLatestVersion.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLatestVersion_LinkClicked); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(119, 181); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(77, 16); + this.label1.TabIndex = 33; + this.label1.Text = "Created by "; + // + // linkTwitter + // + this.linkTwitter.AutoSize = true; + this.linkTwitter.Location = new System.Drawing.Point(193, 181); + this.linkTwitter.Name = "linkTwitter"; + this.linkTwitter.Size = new System.Drawing.Size(99, 16); + this.linkTwitter.TabIndex = 34; + this.linkTwitter.TabStop = true; + this.linkTwitter.Text = "Christian Wade"; + this.linkTwitter.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkTwitter_LinkClicked); + // + // linkHowToUse + // + this.linkHowToUse.AutoSize = true; + this.linkHowToUse.Location = new System.Drawing.Point(119, 86); + this.linkHowToUse.Name = "linkHowToUse"; + this.linkHowToUse.Size = new System.Drawing.Size(74, 16); + this.linkHowToUse.TabIndex = 35; + this.linkHowToUse.TabStop = true; + this.linkHowToUse.Text = "How to use"; + this.linkHowToUse.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkHowToUse_LinkClicked); + // + // About + // + this.AcceptButton = this.okButton; + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.okButton; + this.ClientSize = new System.Drawing.Size(403, 350); + this.Controls.Add(this.linkHowToUse); + this.Controls.Add(this.linkTwitter); + this.Controls.Add(this.label1); + this.Controls.Add(this.linkLatestVersion); + this.Controls.Add(this.linkALMTWebsite); + this.Controls.Add(this.linkDocumentation); + this.Controls.Add(this.linkReportIssue); + this.Controls.Add(this.lblProductName); + this.Controls.Add(this.lblProductVersion); + this.Controls.Add(this.logoPictureBox); + this.Controls.Add(this.okButton); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Margin = new System.Windows.Forms.Padding(4); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "About"; + this.Padding = new System.Windows.Forms.Padding(12, 11, 12, 11); + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "About"; + this.Load += new System.EventHandler(this.About_Load); + ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private System.Windows.Forms.Button okButton; + private System.Windows.Forms.PictureBox logoPictureBox; + private System.Windows.Forms.Label lblProductVersion; + private System.Windows.Forms.Label lblProductName; + private System.Windows.Forms.LinkLabel linkReportIssue; + private System.Windows.Forms.LinkLabel linkDocumentation; + private System.Windows.Forms.LinkLabel linkALMTWebsite; + private System.Windows.Forms.LinkLabel linkLatestVersion; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.LinkLabel linkTwitter; + private System.Windows.Forms.LinkLabel linkHowToUse; + } +} diff --git a/AlmToolkit/AlmToolkit/About.cs b/AlmToolkit/AlmToolkit/About.cs new file mode 100644 index 0000000..1d5944f --- /dev/null +++ b/AlmToolkit/AlmToolkit/About.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Linq; +using System.Reflection; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace AlmToolkit +{ + partial class About : Form + { + private bool _newerVersionAvailable = false; + private string _latestVersion = null; + + public About() + { + InitializeComponent(); + } + + public bool NewerVersionAvailable + { + get { return _newerVersionAvailable; } + set { _newerVersionAvailable = value; } + } + + public string LatestVersion + { + get { return _latestVersion; } + set { _latestVersion = value; } + } + + private void About_Load(object sender, EventArgs e) + { + this.Text = Utils.AssemblyProduct; + this.lblProductName.Text = this.Text; + + Version installedVersion = new Version(Utils.AssemblyVersion); + string installedVersionMajorMinorBuild = String.Format("{0}.{1}.{2}", installedVersion.Major, installedVersion.Minor, installedVersion.Build); + + this.lblProductVersion.Text = String.Format("Installed version {0}", installedVersionMajorMinorBuild); + if (_newerVersionAvailable) + { + linkLatestVersion.Visible = true; + linkLatestVersion.Text = String.Format("Latest version {0}", _latestVersion); + } + this.linkReportIssue.LinkVisited = false; + } + + private void linkALMTWebsite_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + this.linkALMTWebsite.LinkVisited = true; + System.Diagnostics.Process.Start("http://alm-toolkit.com/"); + } + + private void linkHowToUse_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + this.linkHowToUse.LinkVisited = true; + System.Diagnostics.Process.Start("http://alm-toolkit.com/HowToUse"); + } + + private void linkDocumentation_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + this.linkDocumentation.LinkVisited = true; + System.Diagnostics.Process.Start("https://github.com/microsoft/Analysis-Services/blob/master/BismNormalizer/Model%20Comparison%20and%20Merging%20for%20Analysis%20Services.pdf"); + } + + private void linkLatestVersion_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + this.linkLatestVersion.LinkVisited = true; + System.Diagnostics.Process.Start(Utils.LatestVersionDownloadUrl); + } + + private void linkReportIssue_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + this.linkReportIssue.LinkVisited = true; + System.Diagnostics.Process.Start("https://github.com/microsoft/Analysis-Services/issues"); + } + + private void linkTwitter_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + this.linkTwitter.LinkVisited = true; + System.Diagnostics.Process.Start("https://twitter.com/_christianWade"); + } + } +} diff --git a/AlmToolkit/AlmToolkit/About.resx b/AlmToolkit/AlmToolkit/About.resx new file mode 100644 index 0000000..6af8ae4 --- /dev/null +++ b/AlmToolkit/AlmToolkit/About.resx @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + + + \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/AlmToolkit.csproj b/AlmToolkit/AlmToolkit/AlmToolkit.csproj new file mode 100644 index 0000000..6502bc9 --- /dev/null +++ b/AlmToolkit/AlmToolkit/AlmToolkit.csproj @@ -0,0 +1,503 @@ + + + + + + + + + Debug + AnyCPU + {765C0612-BB8F-4261-87AE-B5B842BE3C26} + WinExe + AlmToolkit + AlmToolkit + v4.7.2 + 512 + true + + + true + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + app.manifest + + + BismNorm.ico + + + bin\x64\Setup\ + AnyCPU + 7.3 + true + + + bin\Setup\ + TRACE + true + pdbonly + AnyCPU + 7.3 + prompt + true + + + + ..\packages\Microsoft.AnalysisServices.retail.amd64.19.67.0\lib\net45\Microsoft.AnalysisServices.dll + + + ..\packages\Microsoft.AnalysisServices.retail.amd64.19.67.0\lib\net45\Microsoft.AnalysisServices.Core.dll + + + ..\packages\Microsoft.AnalysisServices.retail.amd64.19.67.0\lib\net45\Microsoft.AnalysisServices.SPClient.Interfaces.dll + + + ..\packages\Microsoft.AnalysisServices.retail.amd64.19.67.0\lib\net45\Microsoft.AnalysisServices.Tabular.dll + + + ..\packages\Microsoft.AnalysisServices.retail.amd64.19.67.0\lib\net45\Microsoft.AnalysisServices.Tabular.Json.dll + + + ..\packages\Microsoft.Identity.Client.4.43.0\lib\net461\Microsoft.Identity.Client.dll + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + ..\packages\Octokit.0.36.0\lib\net46\Octokit.dll + + + + + + False + .\System.Windows.Forms.Ribbon.dll + + + + + + + + + + + + + + VersionInfo.cs + + + Form + + + About.cs + + + + Form + + + ComparisonForm.cs + + + + + + + + + Form + + + WarningListForm.cs + + + About.cs + + + ComparisonForm.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + + + + + + + + + + + + + + WarningListForm.cs + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + + Always + + + + Always + + + Always + + + Always + + + Always + + + Always + + + + Always + + + Always + + + + Always + + + Always + + + Always + + + Always + + + Always + + + + + Always + + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + + + + + + + + + Always + + + + + + + + + + + + + + Always + + + + Always + + + Always + + + + + + + + Always + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {8e68fb9b-73df-4bc3-9c56-760c87078d13} + BismNormalizer + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + + + \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/App.config b/AlmToolkit/AlmToolkit/App.config new file mode 100644 index 0000000..7e150ef --- /dev/null +++ b/AlmToolkit/AlmToolkit/App.config @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/AlmToolkit/AlmToolkit/BismNorm.ico b/AlmToolkit/AlmToolkit/BismNorm.ico new file mode 100644 index 0000000000000000000000000000000000000000..523c7aafc413af6ee9708a06636ef81538559c55 GIT binary patch literal 93062 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 Seii=N87H@a6gB^*wfTQL-daik literal 0 HcmV?d00001 diff --git a/AlmToolkit/AlmToolkit/ChromeDebugger.cs b/AlmToolkit/AlmToolkit/ChromeDebugger.cs new file mode 100644 index 0000000..9ae0698 --- /dev/null +++ b/AlmToolkit/AlmToolkit/ChromeDebugger.cs @@ -0,0 +1,29 @@ +namespace AlmToolkit +{ + using CefSharp; + using CefSharp.WinForms; + + class ChromeDebugger + { + // Declare a local instance of chromium and the main form in order to execute things from here in the main thread + private static ChromiumWebBrowser _instanceBrowser = null; + // The form class needs to be changed according to yours + private static ComparisonForm _instanceMainForm = null; + + + public ChromeDebugger(ChromiumWebBrowser originalBrowser, ComparisonForm mainForm) + { + _instanceBrowser = originalBrowser; + _instanceMainForm = mainForm; + } + + /// + /// Used for debugging chrome application embedded in Form + /// + public void showDevTools() + { + _instanceBrowser.ShowDevTools(); + } + + } +} diff --git a/AlmToolkit/AlmToolkit/ComparisonControl.Designer.cs b/AlmToolkit/AlmToolkit/ComparisonControl.Designer.cs new file mode 100644 index 0000000..7ae020f --- /dev/null +++ b/AlmToolkit/AlmToolkit/ComparisonControl.Designer.cs @@ -0,0 +1,248 @@ +namespace AlmToolkit +{ + partial class ComparisonControl + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ComparisonControl)); + this.scDifferenceResults = new System.Windows.Forms.SplitContainer(); + this.treeGridComparisonResults = new BismNormalizer.TabularCompare.UI.TreeGridViewComparison(); + this.TreeGridImageList = new System.Windows.Forms.ImageList(this.components); + this.scObjectDefinitions = new System.Windows.Forms.SplitContainer(); + this.txtSourceObjectDefinition = new BismNormalizer.TabularCompare.UI.SynchronizedScrollRichTextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.txtTargetObjectDefinition = new BismNormalizer.TabularCompare.UI.SynchronizedScrollRichTextBox(); + this.label5 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.scDifferenceResults)).BeginInit(); + this.scDifferenceResults.Panel1.SuspendLayout(); + this.scDifferenceResults.Panel2.SuspendLayout(); + this.scDifferenceResults.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.treeGridComparisonResults)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.scObjectDefinitions)).BeginInit(); + this.scObjectDefinitions.Panel1.SuspendLayout(); + this.scObjectDefinitions.Panel2.SuspendLayout(); + this.scObjectDefinitions.SuspendLayout(); + this.SuspendLayout(); + // + // scDifferenceResults + // + this.scDifferenceResults.Dock = System.Windows.Forms.DockStyle.Fill; + this.scDifferenceResults.Location = new System.Drawing.Point(0, 0); + this.scDifferenceResults.Name = "scDifferenceResults"; + this.scDifferenceResults.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // scDifferenceResults.Panel1 + // + this.scDifferenceResults.Panel1.Controls.Add(this.treeGridComparisonResults); + // + // scDifferenceResults.Panel2 + // + this.scDifferenceResults.Panel2.Controls.Add(this.scObjectDefinitions); + this.scDifferenceResults.Size = new System.Drawing.Size(653, 565); + this.scDifferenceResults.SplitterDistance = 411; + this.scDifferenceResults.TabIndex = 2; + // + // treeGridComparisonResults + // + this.treeGridComparisonResults.AllowUserToAddRows = false; + this.treeGridComparisonResults.AllowUserToDeleteRows = false; + this.treeGridComparisonResults.AllowUserToResizeRows = false; + this.treeGridComparisonResults.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.treeGridComparisonResults.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; + this.treeGridComparisonResults.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.treeGridComparisonResults.Comparison = null; + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.treeGridComparisonResults.DefaultCellStyle = dataGridViewCellStyle2; + this.treeGridComparisonResults.Dock = System.Windows.Forms.DockStyle.Fill; + this.treeGridComparisonResults.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter; + this.treeGridComparisonResults.ImageList = this.TreeGridImageList; + this.treeGridComparisonResults.Location = new System.Drawing.Point(0, 0); + this.treeGridComparisonResults.Name = "treeGridComparisonResults"; + this.treeGridComparisonResults.RowHeadersVisible = false; + this.treeGridComparisonResults.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; + this.treeGridComparisonResults.Size = new System.Drawing.Size(653, 411); + this.treeGridComparisonResults.TabIndex = 0; + this.treeGridComparisonResults.Unloading = false; + this.treeGridComparisonResults.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.treeGridComparisonResults_DataError); + this.treeGridComparisonResults.MouseUp += new System.Windows.Forms.MouseEventHandler(this.treeGridComparisonResults_MouseUp); + // + // TreeGridImageList + // + this.TreeGridImageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("TreeGridImageList.ImageStream"))); + this.TreeGridImageList.TransparentColor = System.Drawing.Color.Transparent; + this.TreeGridImageList.Images.SetKeyName(0, "Connection.png"); + this.TreeGridImageList.Images.SetKeyName(1, "Table.png"); + this.TreeGridImageList.Images.SetKeyName(2, "Relationship.png"); + this.TreeGridImageList.Images.SetKeyName(3, "BismMeasure.png"); + this.TreeGridImageList.Images.SetKeyName(4, "KPI.png"); + this.TreeGridImageList.Images.SetKeyName(5, "DeleteAction.png"); + this.TreeGridImageList.Images.SetKeyName(6, "UpdateAction.png"); + this.TreeGridImageList.Images.SetKeyName(7, "CreateAction.png"); + this.TreeGridImageList.Images.SetKeyName(8, "SkipAction.png"); + this.TreeGridImageList.Images.SetKeyName(9, "Plus.png"); + this.TreeGridImageList.Images.SetKeyName(10, "Minus.png"); + this.TreeGridImageList.Images.SetKeyName(11, "Informational.png"); + this.TreeGridImageList.Images.SetKeyName(12, "Warning.png"); + this.TreeGridImageList.Images.SetKeyName(13, "WarningToolWindow.png"); + this.TreeGridImageList.Images.SetKeyName(14, "Role.png"); + this.TreeGridImageList.Images.SetKeyName(15, "Perspective.png"); + this.TreeGridImageList.Images.SetKeyName(16, "Action.png"); + this.TreeGridImageList.Images.SetKeyName(17, "CompareBismModels_Small.png"); + this.TreeGridImageList.Images.SetKeyName(18, "DeleteActionGrey.png"); + this.TreeGridImageList.Images.SetKeyName(19, "SkipActionGrey.png"); + this.TreeGridImageList.Images.SetKeyName(20, "CreateActionGrey.png"); + this.TreeGridImageList.Images.SetKeyName(21, "Culture.png"); + this.TreeGridImageList.Images.SetKeyName(22, "Expression.png"); + this.TreeGridImageList.Images.SetKeyName(23, "CalculationGroup.png"); + this.TreeGridImageList.Images.SetKeyName(24, "CalculationItem.png"); + this.TreeGridImageList.Images.SetKeyName(25, "Model.png"); + this.TreeGridImageList.Images.SetKeyName(26, "RefreshPolicy.png"); + // + // scObjectDefinitions + // + this.scObjectDefinitions.Dock = System.Windows.Forms.DockStyle.Fill; + this.scObjectDefinitions.Location = new System.Drawing.Point(0, 0); + this.scObjectDefinitions.Name = "scObjectDefinitions"; + // + // scObjectDefinitions.Panel1 + // + this.scObjectDefinitions.Panel1.BackColor = System.Drawing.SystemColors.Control; + this.scObjectDefinitions.Panel1.Controls.Add(this.txtSourceObjectDefinition); + this.scObjectDefinitions.Panel1.Controls.Add(this.label4); + // + // scObjectDefinitions.Panel2 + // + this.scObjectDefinitions.Panel2.BackColor = System.Drawing.SystemColors.Control; + this.scObjectDefinitions.Panel2.Controls.Add(this.txtTargetObjectDefinition); + this.scObjectDefinitions.Panel2.Controls.Add(this.label5); + this.scObjectDefinitions.Size = new System.Drawing.Size(653, 150); + this.scObjectDefinitions.SplitterDistance = 331; + this.scObjectDefinitions.TabIndex = 0; + // + // txtSourceObjectDefinition + // + this.txtSourceObjectDefinition.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtSourceObjectDefinition.BackColor = System.Drawing.Color.White; + this.txtSourceObjectDefinition.Font = new System.Drawing.Font("Consolas", 9.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtSourceObjectDefinition.Location = new System.Drawing.Point(0, 16); + this.txtSourceObjectDefinition.Name = "txtSourceObjectDefinition"; + this.txtSourceObjectDefinition.ReadOnly = true; + this.txtSourceObjectDefinition.Size = new System.Drawing.Size(331, 134); + this.txtSourceObjectDefinition.TabIndex = 1; + this.txtSourceObjectDefinition.Text = ""; + this.txtSourceObjectDefinition.WordWrap = false; + this.txtSourceObjectDefinition.vScroll += new BismNormalizer.TabularCompare.UI.SynchronizedScrollRichTextBox.vScrollEventHandler(this.txtSourceObjectDefinition_vScroll); + this.txtSourceObjectDefinition.KeyUp += new System.Windows.Forms.KeyEventHandler(this.txtSourceObjectDefinition_KeyUp); + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(4, 1); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(122, 13); + this.label4.TabIndex = 0; + this.label4.Text = "Source Object Definition"; + // + // txtTargetObjectDefinition + // + this.txtTargetObjectDefinition.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtTargetObjectDefinition.BackColor = System.Drawing.Color.White; + this.txtTargetObjectDefinition.Font = new System.Drawing.Font("Consolas", 9.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtTargetObjectDefinition.Location = new System.Drawing.Point(0, 16); + this.txtTargetObjectDefinition.Name = "txtTargetObjectDefinition"; + this.txtTargetObjectDefinition.ReadOnly = true; + this.txtTargetObjectDefinition.Size = new System.Drawing.Size(313, 134); + this.txtTargetObjectDefinition.TabIndex = 2; + this.txtTargetObjectDefinition.Text = ""; + this.txtTargetObjectDefinition.WordWrap = false; + this.txtTargetObjectDefinition.vScroll += new BismNormalizer.TabularCompare.UI.SynchronizedScrollRichTextBox.vScrollEventHandler(this.txtTargetObjectDefinition_vScroll); + this.txtTargetObjectDefinition.KeyUp += new System.Windows.Forms.KeyEventHandler(this.txtTargetObjectDefinition_KeyUp); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(3, 1); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(119, 13); + this.label5.TabIndex = 1; + this.label5.Text = "Target Object Definition"; + // + // ComparisonControl + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.scDifferenceResults); + this.Name = "ComparisonControl"; + this.Size = new System.Drawing.Size(653, 565); + this.Load += new System.EventHandler(this.ComparisonControl_Load); + this.scDifferenceResults.Panel1.ResumeLayout(false); + this.scDifferenceResults.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.scDifferenceResults)).EndInit(); + this.scDifferenceResults.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.treeGridComparisonResults)).EndInit(); + this.scObjectDefinitions.Panel1.ResumeLayout(false); + this.scObjectDefinitions.Panel1.PerformLayout(); + this.scObjectDefinitions.Panel2.ResumeLayout(false); + this.scObjectDefinitions.Panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.scObjectDefinitions)).EndInit(); + this.scObjectDefinitions.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private BismNormalizer.TabularCompare.UI.TreeGridViewComparison treeGridComparisonResults; + private System.Windows.Forms.SplitContainer scDifferenceResults; + private System.Windows.Forms.SplitContainer scObjectDefinitions; + private BismNormalizer.TabularCompare.UI.SynchronizedScrollRichTextBox txtSourceObjectDefinition; + private System.Windows.Forms.Label label4; + private BismNormalizer.TabularCompare.UI.SynchronizedScrollRichTextBox txtTargetObjectDefinition; + private System.Windows.Forms.Label label5; + public System.Windows.Forms.ImageList TreeGridImageList; + } +} diff --git a/AlmToolkit/AlmToolkit/ComparisonControl.cs b/AlmToolkit/AlmToolkit/ComparisonControl.cs new file mode 100644 index 0000000..3dcbd4b --- /dev/null +++ b/AlmToolkit/AlmToolkit/ComparisonControl.cs @@ -0,0 +1,661 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Xml; +using System.Xml.Serialization; +using System.Windows.Forms; +using BismNormalizer; +using BismNormalizer.TabularCompare; +using BismNormalizer.TabularCompare.UI; +using BismNormalizer.TabularCompare.Core; +using System.Runtime.InteropServices; +using System.Linq; + +namespace AlmToolkit +{ + public enum CompareState { NotCompared, Compared, Validated }; + + /// + /// The main comparison control, containing the differences grid, and source/target object definition text boxes. + /// + public partial class ComparisonControl : UserControl + { + #region Private variables + + private ComparisonInfo _comparisonInfo; + private Comparison _comparison; + private ContextMenu _menuComparisonGrid = new ContextMenu(); + private CompareState _compareState = CompareState.NotCompared; + + #endregion + + #region Public properties + + public ComparisonInfo ComparisonInfo + { + get { return _comparisonInfo; } + set { _comparisonInfo = value; } + } + + public Comparison Comparison + { + get { return _comparison; } + set { _comparison = value; } + } + + public CompareState CompareState + { + get { return _compareState; } + set { _compareState = value; } + } + + #endregion + + #region DiffVariables + + // this is the diff object; + DiffMatchPatch _diff = new DiffMatchPatch(); + + // these are the diffs + List _diffs; + + // chunks for formatting the two RTBs: + List _chunklistSource; + List _chunklistTarget; + + // color list: + Color[] _backColors = new Color[3] { ColorTranslator.FromHtml("#e2f6c5"), ColorTranslator.FromHtml("#ffd6d5"), Color.White, }; + Color[] _backColorsMerge = new Color[3] { ColorTranslator.FromHtml("#e2f6c5"), Color.LightGray, Color.White, }; + + public struct Chunk + { + public int StartPosition; + public int Length; + public Color BackColor; + } + + #endregion + + #region DPI + + private float _dpiScaleFactor = 1; + private void Rescale() + { + this._dpiScaleFactor = HighDPIUtils.GetDpiFactor(); + if (this._dpiScaleFactor == 1) return; + float fudgedDpiScaleFactor = _dpiScaleFactor * HighDPIUtils.PrimaryFudgeFactor; + + this.Scale(new SizeF(fudgedDpiScaleFactor, fudgedDpiScaleFactor)); + + this.Font = new Font(this.Font.FontFamily, + this.Font.Size * fudgedDpiScaleFactor, + this.Font.Style); + scDifferenceResults.Font = new Font(scDifferenceResults.Font.FontFamily, + scDifferenceResults.Font.Size * fudgedDpiScaleFactor, + scDifferenceResults.Font.Style); + + // set up splitter distance/widths/visibility + scDifferenceResults.SplitterDistance = Convert.ToInt32(Convert.ToDouble(scDifferenceResults.Height) * 0.74); + scObjectDefinitions.SplitterDistance = Convert.ToInt32(Convert.ToDouble(scObjectDefinitions.Width) * 0.5); + scDifferenceResults.IsSplitterFixed = false; + + txtSourceObjectDefinition.Width = scObjectDefinitions.Panel1.Width; + txtSourceObjectDefinition.Height = Convert.ToInt32(Convert.ToDouble(scObjectDefinitions.Panel1.Height) * 0.86); + txtTargetObjectDefinition.Width = scObjectDefinitions.Panel2.Width; + txtTargetObjectDefinition.Height = Convert.ToInt32(Convert.ToDouble(scObjectDefinitions.Panel2.Height) * 0.86); + + if (_dpiScaleFactor > 1) HighDPIUtils.ScaleStreamedImageListByDpi(TreeGridImageList); + + treeGridComparisonResults.ResetColumnWidths(fudgedDpiScaleFactor); + } + + #endregion + + #region Methods + + public ComparisonControl() + { + InitializeComponent(); + } + + private void ComparisonControl_Load(object sender, EventArgs e) + { + treeGridComparisonResults.SetupForComparison(); + treeGridComparisonResults.SetObjectDefinitionsCallBack(PopulateObjectDefinitions); + treeGridComparisonResults.SetCellEditCallBack(TriggerComparisonChanged); + + _menuComparisonGrid.MenuItems.Add("Skip selected objects", new EventHandler(Skip_Select)); + _menuComparisonGrid.MenuItems.Add("Create selected objects Missing in Target", new EventHandler(Create_Select)); + _menuComparisonGrid.MenuItems.Add("Delete selected objects Missing in Source", new EventHandler(Delete_Select)); + _menuComparisonGrid.MenuItems.Add("Update selected objects with Different Definitions", new EventHandler(Update_Select)); + + //hdpi + Rescale(); + } + + public void TriggerComparisonChanged() + { + EventHandler handler = ComparisonChanged; + if (handler != null) + { + handler(this, new EventArgs()); + } + } + + private void txt_KeyDown(object sender, KeyEventArgs e) + { + e.SuppressKeyPress = true; + } + + public void SetNotComparedState() + { + _compareState = CompareState.NotCompared; + + treeGridComparisonResults.Unloading = true; + treeGridComparisonResults.Nodes.Clear(); + treeGridComparisonResults.Unloading = false; + + txtSourceObjectDefinition.Text = ""; + txtTargetObjectDefinition.Text = ""; + //txtSource.Text = ""; + //txtTarget.Text = ""; + + //Just in case did an AMO comparison and messed up the fonts + txtSourceObjectDefinition.Font = new System.Drawing.Font("Consolas", 9.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + txtTargetObjectDefinition.Font = new System.Drawing.Font("Consolas", 9.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + } + + public void SetComparedState() + { + _compareState = CompareState.Compared; + } + + public void SetValidatedState() + { + _compareState = CompareState.Validated; + } + + private void Skip_Select(object sender, EventArgs e) + { + treeGridComparisonResults.SkipItems(true); + } + + private void Create_Select(object sender, EventArgs e) + { + treeGridComparisonResults.CreateItems(true); + } + + private void Update_Select(object sender, EventArgs e) + { + treeGridComparisonResults.UpdateItems(true); + } + + private void Delete_Select(object sender, EventArgs e) + { + treeGridComparisonResults.DeleteItems(true); + } + + private void treeGridComparisonResults_MouseUp(object sender, MouseEventArgs e) + { + // Load context menu on right mouse click + if (e.Button == MouseButtons.Right) + { + _menuComparisonGrid.Show(treeGridComparisonResults, new Point(e.X, e.Y)); + } + } + + private void PopulateObjectDefinitions(string objDefSource, string objDefTarget, ComparisonObjectType objType, ComparisonObjectStatus objStatus) + { + try + { + IterateJson(txtSourceObjectDefinition, objDefSource); + IterateJson(txtTargetObjectDefinition, objDefTarget); + } + catch (Exception) + { + txtSourceObjectDefinition.Text = ""; + txtSourceObjectDefinition.Text = objDefSource; + txtTargetObjectDefinition.Text = ""; + txtTargetObjectDefinition.Text = objDefTarget; + } + #region Difference Highlighting + + if ( objStatus == ComparisonObjectStatus.DifferentDefinitions || + (objStatus == ComparisonObjectStatus.SameDefinition && objType == ComparisonObjectType.Perspective && _comparisonInfo.OptionsInfo.OptionMergePerspectives) || + (objStatus == ComparisonObjectStatus.SameDefinition && objType == ComparisonObjectType.Culture && _comparisonInfo.OptionsInfo.OptionMergeCultures) + ) + { + _diffs = _diff.diff_main(objDefSource, objDefTarget); + _diff.diff_cleanupSemantic(_diffs); + //_diff.diff_cleanupSemanticLossless(_diffs); + //_diff.diff_cleanupEfficiency(_diffs); + + // NG: Evaluate if this needs to be added + //Are we merging perspectives/cultures? + if ( (objType == ComparisonObjectType.Perspective && _comparisonInfo.OptionsInfo.OptionMergePerspectives) || + (objType == ComparisonObjectType.Culture && _comparisonInfo.OptionsInfo.OptionMergeCultures) + ) + { + _chunklistSource = CollectChunks(source: true, backColors: _backColorsMerge); + _chunklistTarget = CollectChunks(source: false, backColors: _backColorsMerge); + + //If same definition with merge perspectives/cultures option, just want to highlight differences in target that will not be applied, so do not paint chunks for source + if (objStatus == ComparisonObjectStatus.DifferentDefinitions) + { + PaintChunks(txtSourceObjectDefinition, _chunklistSource); + } + PaintChunks(txtTargetObjectDefinition, _chunklistTarget); + } + else + { + _chunklistSource = CollectChunks(source: true, backColors: _backColors); + _chunklistTarget = CollectChunks(source: false, backColors: _backColors); + + PaintChunks(txtSourceObjectDefinition, _chunklistSource); + PaintChunks(txtTargetObjectDefinition, _chunklistTarget); + } + } + + #endregion + + //select 1st characters so not scrolled at bottom + if (txtSourceObjectDefinition.Text != "") + { + txtSourceObjectDefinition.SelectionStart = 0; + txtSourceObjectDefinition.SelectionLength = 0; + txtSourceObjectDefinition.ScrollToCaret(); + } + if (txtTargetObjectDefinition.Text != "") + { + txtTargetObjectDefinition.SelectionStart = 0; + txtTargetObjectDefinition.SelectionLength = 0; + txtTargetObjectDefinition.ScrollToCaret(); + } + } + + #region Text formatting private methods + + private void IterateJson(RichTextBox textBox, string text) + { + System.Diagnostics.Debug.WriteLine("In ColorCodeJson for {0}", textBox.Name); + + textBox.Text = ""; + + if (String.IsNullOrEmpty(text)) + return; + + int start = 0; + int end = 0; + bool inString = false; + + while ((end = text.IndexOf('"', start + 1)) != -1) + { + int length = end - start; + + //following to ensure close bracket gets same color + if (start > 0) + { + if (inString) + length += 1; + else + { + start += 1; + length -= 1; + } + } + + Color color = Color.Black; + + if (inString) + { + if (text.Substring(start + length, 1) == ":") + color = Color.SteelBlue; + else + color = Color.Brown; + } + + AppendText(textBox, color, text.Substring(start, length)); + + start = end; + inString = !inString; + } + + //close out the last string + start += 1; + AppendText(textBox, Color.Black, text.Substring(start, text.Length - start)); + } + + private void AppendText(RichTextBox textBox, Color color, string text) + { + int start = textBox.TextLength; + textBox.AppendText(text); + int end = textBox.TextLength; + + // Textbox may transform chars, so (end-start) != text.Length + textBox.Select(start, end - start); + { + textBox.SelectionColor = color; + // could set box.SelectionBackColor, box.SelectionFont too. + } + textBox.SelectionLength = 0; // clear + } + + private List CollectChunks(bool source, Color[] backColors) + { + RichTextBox textBox = new RichTextBox(); + textBox.Text = ""; + + List chunkList = new List(); + foreach (Diff diff in _diffs) + { + if (!source && diff.operation == Operation.DELETE) + continue; // ** + if (source && diff.operation == Operation.INSERT) + continue; // ** + + Chunk chunk = new Chunk(); + + int length = textBox.TextLength; + textBox.AppendText(diff.text); + + chunk.StartPosition = length; + chunk.Length = diff.text.Length; + chunk.BackColor = backColors[(int)diff.operation]; + chunkList.Add(chunk); + } + return chunkList; + + } + + private void PaintChunks(RichTextBox textBox, List theChunks) + { + foreach (Chunk chunk in theChunks) + { + textBox.Select(chunk.StartPosition, chunk.Length); + textBox.SelectionBackColor = chunk.BackColor; + } + } + + private void FormatAmoDefinitions(string objDefSource, string objDefTarget, ComparisonObjectType objType) + { + ClearObjDefFormatting(txtSourceObjectDefinition); + ClearObjDefFormatting(txtTargetObjectDefinition); + + txtSourceObjectDefinition.Text = objDefSource; + txtSourceObjectDefinition.SelectAll(); + txtSourceObjectDefinition.SelectionFont = new Font("Lucida Console", 9, FontStyle.Regular); + if (objType == ComparisonObjectType.Table) + { + SetObjDefFontBold("Base Columns:", txtSourceObjectDefinition); + SetObjDefFontBold("Calculated Columns:", txtSourceObjectDefinition); + SetObjDefFontBold("Columns:", txtSourceObjectDefinition); + SetObjDefFontBold("Hierarchies:", txtSourceObjectDefinition); + SetObjDefFontBold("Format & Visibility:", txtSourceObjectDefinition); + SetObjDefFontBold("Partitions:", txtSourceObjectDefinition); + } + else if (objType == ComparisonObjectType.Measure) + { + SetObjDefFontBold("Expression:", txtSourceObjectDefinition); + SetObjDefFontBold("Format & Visibility:", txtSourceObjectDefinition); + } + else if (objType == ComparisonObjectType.Kpi) + { + SetObjDefFontBold("Expression:", txtSourceObjectDefinition); + SetObjDefFontBold("Format & Visibility:", txtSourceObjectDefinition); + SetObjDefFontBold("Goal:", txtSourceObjectDefinition); + SetObjDefFontBold("Status:", txtSourceObjectDefinition); + SetObjDefFontBold("Trend:", txtSourceObjectDefinition); + SetObjDefFontBold("Status Graphic:", txtSourceObjectDefinition); + SetObjDefFontBold("Trend Graphic:", txtSourceObjectDefinition); + } + else if (objType == ComparisonObjectType.CalculationItem) + { + SetObjDefFontBold("Expression:", txtSourceObjectDefinition); + SetObjDefFontBold("Format & Visibility:", txtSourceObjectDefinition); + } + else if (objType == ComparisonObjectType.Role) + { + SetObjDefFontBold("Permissions:", txtSourceObjectDefinition); + SetObjDefFontBold("Row Filters:", txtSourceObjectDefinition); + SetObjDefFontBold("Members:", txtSourceObjectDefinition); + } + else if (objType == ComparisonObjectType.Perspective) //Cultures not supported by AMO version + { + SetObjDefFontBold("Format & Visibility:", txtSourceObjectDefinition); + } + else if (objType == ComparisonObjectType.Action) + { + SetObjDefFontBold("Expression:", txtSourceObjectDefinition); + SetObjDefFontBold("Drillthrough Columns:", txtSourceObjectDefinition); + SetObjDefFontBold("Report Parameters:", txtSourceObjectDefinition); + SetObjDefFontBold("Format & Visibility:", txtSourceObjectDefinition); + } + + txtTargetObjectDefinition.Text = objDefTarget; + txtTargetObjectDefinition.SelectAll(); + txtTargetObjectDefinition.SelectionFont = new Font("Lucida Console", 9, FontStyle.Regular); + if (objType == ComparisonObjectType.Table) + { + SetObjDefFontBold("Base Columns:", txtTargetObjectDefinition); + SetObjDefFontBold("Calculated Columns:", txtTargetObjectDefinition); + SetObjDefFontBold("Columns:", txtTargetObjectDefinition); + SetObjDefFontBold("Hierarchies:", txtTargetObjectDefinition); + SetObjDefFontBold("Format & Visibility:", txtTargetObjectDefinition); + SetObjDefFontBold("Partitions:", txtTargetObjectDefinition); + } + else if (objType == ComparisonObjectType.Measure) + { + SetObjDefFontBold("Expression:", txtTargetObjectDefinition); + SetObjDefFontBold("Format & Visibility:", txtTargetObjectDefinition); + } + else if (objType == ComparisonObjectType.Kpi) + { + SetObjDefFontBold("Expression:", txtTargetObjectDefinition); + SetObjDefFontBold("Format & Visibility:", txtTargetObjectDefinition); + SetObjDefFontBold("Goal:", txtTargetObjectDefinition); + SetObjDefFontBold("Status:", txtTargetObjectDefinition); + SetObjDefFontBold("Trend:", txtTargetObjectDefinition); + SetObjDefFontBold("Status Graphic:", txtTargetObjectDefinition); + SetObjDefFontBold("Trend Graphic:", txtTargetObjectDefinition); + } + else if (objType == ComparisonObjectType.CalculationItem) + { + SetObjDefFontBold("Expression:", txtTargetObjectDefinition); + SetObjDefFontBold("Format & Visibility:", txtTargetObjectDefinition); + } + else if (objType == ComparisonObjectType.Role) + { + SetObjDefFontBold("Permissions:", txtTargetObjectDefinition); + SetObjDefFontBold("Row Filters:", txtTargetObjectDefinition); + SetObjDefFontBold("Members:", txtTargetObjectDefinition); + } + else if (objType == ComparisonObjectType.Perspective) //Cultures not supported by AMO version + { + SetObjDefFontBold("Format & Visibility:", txtTargetObjectDefinition); + } + else if (objType == ComparisonObjectType.Action) + { + SetObjDefFontBold("Expression:", txtTargetObjectDefinition); + SetObjDefFontBold("Drillthrough Columns:", txtTargetObjectDefinition); + SetObjDefFontBold("Report Parameters:", txtTargetObjectDefinition); + SetObjDefFontBold("Format & Visibility:", txtTargetObjectDefinition); + } + } + + private void ClearObjDefFormatting(RichTextBox txt) + { + txt.SelectAll(); + txt.SelectionFont = new Font(txt.SelectionFont.Name, 9, FontStyle.Regular); + txt.SelectionBackColor = Color.White; + } + + private void SetObjDefFontBold(string searchString, RichTextBox txt) + { + int startSelect; + startSelect = txt.Text.IndexOf(searchString); + if (startSelect != -1) + { + txt.Select(startSelect, searchString.Length); + txt.SelectionFont = new Font(txt.SelectionFont.Name, 10, FontStyle.Bold); + } + } + + #endregion + + public void DataBindComparison() + { + treeGridComparisonResults.Comparison = _comparison; + treeGridComparisonResults.DataBindComparison(); + SetComparedState(); + } + + public void RefreshSkipSelections() + { + if (_compareState != CompareState.NotCompared && _comparison != null) + { + treeGridComparisonResults.RefreshDiffResultsFromGrid(); + _comparison.RefreshSkipSelectionsFromComparisonObjects(); + } + } + + public void ShowHideNodes(bool hide, bool sameDefinitionFilter = false) + { + treeGridComparisonResults.ShowHideNodes(hide, sameDefinitionFilter); + } + + /// + /// Sets Action property of objects to Skip within given range. + /// + /// + /// + public void SkipItems(bool selectedOnly, ComparisonObjectStatus comparisonObjectStatus = ComparisonObjectStatus.Na) //Na because won't take null cos it's an enum + { + treeGridComparisonResults.SkipItems(selectedOnly, comparisonObjectStatus); + } + + /// + /// Sets Action property of objects to Delete within given range. + /// + /// + public void DeleteItems(bool selectedOnly) + { + treeGridComparisonResults.DeleteItems(selectedOnly); + } + + /// + /// Sets Action property of objects to Create within given range. + /// + /// + public void CreateItems(bool selectedOnly) + { + treeGridComparisonResults.CreateItems(selectedOnly); + } + + /// + /// Sets Action property of objects to Update within given range. + /// + /// + public void UpdateItems(bool selectedOnly) + { + treeGridComparisonResults.UpdateItems(selectedOnly); + } + + public void RefreshDiffResultsFromGrid() + { + treeGridComparisonResults.RefreshDiffResultsFromGrid(); + } + + #endregion + + #region Event handlers + + public EventHandler ComparisonChanged; + + #region To Delete + + //private Document NewXmlaFile(bool jsonEditor, string targetName) + //{ + // try + // { + // //Generate next file name (if try to get NewFile method to do this by leaving filename param blank, the name will not have custom name and will not have xmla extension) + // int maxFileNameNumber = 1; + // int fileNameNumber; + // string fileName = targetName + "_UpdateScript"; + // foreach (Window window in _bismNormalizerPackage.Dte.Windows) + // { + // if (window.Document != null && + // window.Caption != null && + // window.Caption.EndsWith(".xmla") && + // window.Caption.Replace(".xmla", "").Length > fileName.Length && + // window.Caption.Substring(0, fileName.Length) == fileName && + // Int32.TryParse(window.Caption.Replace(".xmla", "").Remove(0, fileName.Length), out fileNameNumber) + // ) + // { + // if (fileNameNumber >= maxFileNameNumber) + // { + // maxFileNameNumber = fileNameNumber + 1; + // } + // } + // } + + // fileName += Convert.ToString(maxFileNameNumber) + (jsonEditor ? ".json" : ".xmla"); + // return _bismNormalizerPackage.Dte.ItemOperations.NewFile(Name: fileName, ViewKind: Constants.vsViewKindCode).Document; + // } + // catch + // { + // return null; + // } + //} + + #endregion + + private void txtSourceObjectDefinition_vScroll(Message message) + { + message.HWnd = txtTargetObjectDefinition.Handle; + txtTargetObjectDefinition.PubWndProc(ref message); + } + + private void txtTargetObjectDefinition_vScroll(Message message) + { + message.HWnd = txtSourceObjectDefinition.Handle; + txtSourceObjectDefinition.PubWndProc(ref message); + } + + private void txtSourceObjectDefinition_KeyUp(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.PageDown || + e.KeyCode == Keys.PageUp || + (e.Modifiers == Keys.Control && e.KeyCode == Keys.End) || + (e.Modifiers == Keys.Control && e.KeyCode == Keys.Home) + ) + { + txtTargetObjectDefinition.SelectionStart = txtSourceObjectDefinition.SelectionStart; + txtTargetObjectDefinition.ScrollToCaret(); + } + } + + private void txtTargetObjectDefinition_KeyUp(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.PageDown || + e.KeyCode == Keys.PageUp || + (e.Modifiers == Keys.Control && e.KeyCode == Keys.End) || + (e.Modifiers == Keys.Control && e.KeyCode == Keys.Home) + ) + { + txtSourceObjectDefinition.SelectionStart = txtTargetObjectDefinition.SelectionStart; + txtSourceObjectDefinition.ScrollToCaret(); + } + } + + private void treeGridComparisonResults_DataError(object sender, DataGridViewDataErrorEventArgs e) + { + if (!(e.Exception is ArgumentException)) //ignore ArgumentException because happens on hpi scaling + { + throw new Exception(e.Exception.Message, e.Exception); + } + } + + #endregion + } +} diff --git a/AlmToolkit/AlmToolkit/ComparisonControl.resx b/AlmToolkit/AlmToolkit/ComparisonControl.resx new file mode 100644 index 0000000..e9103dc --- /dev/null +++ b/AlmToolkit/AlmToolkit/ComparisonControl.resx @@ -0,0 +1,538 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACI + XwAAAk1TRnQBSQFMAgEBGwEAAZQBAgGUAQIBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABcAMAAQEBAAEgBgABcBIAA8IBzwP2Af8D9gH/A4EBj4AAA/YB/wPgAewDawF4AwoBDAMKAQwDawF4 + A+AB7AP1Af9QAAP2Af8DQQH/A0EB/wO+Af8DkAGfA2MBcAOBAY8DKAEwA2MBcAOQAZ8DVAFgOAAD9gH/ + A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/EAAD9gH/A14B/wO4Af8D4AHsA+AB7AO4Af8DXgH/A+sB/1AA + A7EBvwP2Af8DpwH/A0wB/wP2Af8DyQH/A0EB/wPrAf8D1AH/A5EB/wPUAf8DcgGANAAD9gH/A0EB/wNB + Af8DQQH/A0EB/wNBAf8D9gH/EAAD9gH/A0EB/wFaAlkB/wNeAf8DXgH/A14B/wNBAf8D6wH/VAADKAEw + A9QB/wNBAf8DvgH/A8kB/wOcAf8DQQH/A24B/wNBAf8DnAH/A/YB/xgAA/YB/wP2Af8D9gH/A/YB/wP2 + Af8D9gH/A/YB/wP2Af8DQQH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/A0EB/wP2Af8QAAP2Af8DQQH/ + AeUB4wHkAf8DtQH/A7UB/wHwAe4B7wH/A0EB/wPrAf9YAAPkAe8DTAH/A5EB/wPRAd8DoQGvA74B/wNB + Af8DswH/A+QB7wNyAYAYAAP2Af8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wHxAe8B8AH/ + AfEB7wHwAf8B8QHvAfAB/wNBAf8D9gH/EAAD9gH/A0EB/wHmAeQB5QH/AfEB7wHwAf8B8QHvAfAB/wHx + Ae8B8AH/A0EB/wPrAf9UAAMoATAD5AHvA3kB/wNjAf8D9gH/A/YB/wOzAf8DQQH/A6cB/wP2Af8DwgHP + GAAD9gH/A0EB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A/YB/xAA + A/YB/wNBAf8B5gHkAeUB/wHwAe4B7wH/AfAB7gHvAf8B8QHvAfAB/wNBAf8D6wH/VAADDQEQA/YB/wNB + Af8DQQH/A0EB/wOGAf8DTAH/A24B/wOGAf8DQQH/A/YB/wMNARAUAAP2Af8DQQH/A/YB/xAAA/YB/wNB + Af8DQQH/A0EB/wNBAf8DQQH/A/YB/xAAA/YB/wNBAf8DagH/A0YB/wNGAf8DbwH/A0EB/wPrAf9YAAPC + Ac8D4AH/A0wB/wOzAf8D1AH/A/YB/wPJAf8DpwH/A9QB/wPJAf8DwgHPFAAD9gH/A0EB/wP2Af8QAAP2 + Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8MAAONAZwDtQH/A0sB/wGpAagBqQH/Ad8B3QHeAf8B3wHd + Ad4B/wGpAagBqQH/A0sB/wO0Af8DjQGcWAADgQGPA7MB/wNBAf8DQQH/A9QB/wNBAf8BjwKOAf8BjwKO + Af8DVwH/A7MB/wOQAZ8IAAP2Af8D9gH/A/YB/wNBAf8D9gH/A/YB/wP2Af8IAAP2Af8D9gH/A/YB/wP2 + Af8D9gH/A/YB/wP2Af8IAAMdASMD5QH+A0sB/wHLAckBygH/AZgClwH/A0gB/wNIAf8BmAKXAf8BywHJ + AcoB/wNLAf8D5QH+Ax0BI1gAA4EBjwP2Af8D4AH/A5AB/wGkAaMBpAH/AdsB2QHaAf8B2wHZAdoB/wGk + AaMBpAH/A0EB/wPUAf8DYwFwBAAD9gH/A0EB/wNBAf8DQQH/A0EB/wNBAf8D9gH/CAAD9gH/A0EB/wNB + Af8DQQH/A0EB/wNBAf8D9gH/CAADXgFrA64B/wN0Af8BuwG6AbsB/wNTAf8BzwHOAc8B/wHPAc4BzwH/ + A1MB/wG7AboBuwH/A3QB/wOuAf8DXgFrWAADRQFQA+sB/wNBAf8B0ALPAf8DQQH/AfEB7wHwAf8B8QHv + AfAB/wNBAf8B0ALPAf8DQQH/A+sB/wNFAVAD9gH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wNB + Af8D9gH/A/YB/wP2Af8D9gH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wNBAf8D9gH/CAADcwGB + A5sB/wOPAf8BmAGXAZgB/wGJAogB/wHxAe8B8AH/AfEB7wHwAf8BiQKIAf8BmAKXAf8DjwH/A5oB/wN0 + AYJYAAPkAe8DYwH/AdACzwH/AcUBxAHFAf8BugG5AboB/wHxAe8B8AH/AfEB7wHwAf8BugG5AboB/wHF + AcQBxQH/AdACzwH/A0EB/wPkAe8D9gH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wNBAf8DQQH/ + A0EB/wNBAf8DQQH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wNBAf8D9gH/CAADXgFrA64B/wN0 + Af8BuwG6AbsB/wNTAf8BzwHOAc8B/wHPAc4BzwH/A1MB/wG7AboBuwH/A3QB/wOuAf8DXgFrWAAD9gH/ + A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wP2Af8D9gH/A0EB/wNBAf8DQQH/ + A0EB/wNBAf8D9gH/A/YB/wP2Af8D9gH/A0EB/wNBAf8DQQH/A0EB/wNBAf8D9gH/CAADIAEmA+YB/wNJ + Af8BywHJAcoB/wGYApcB/wNIAf8DSAH/AZgClwH/AcsByQHKAf8DSQH/A+YB/wMgASZYAAP2Af8DTAH/ + Aa8BrgGvAf8B0ALPAf8BpAGjAaQB/wHxAe8B8AH/AfEB7wHwAf8BpAGjAaQB/wHQAs8B/wGvAa4BrwH/ + A0wB/wP2Af8D9gH/A0EB/wNBAf8DQQH/A0EB/wNBAf8D9gH/CAAD9gH/A0EB/wNBAf8DQQH/A0EB/wNB + Af8D9gH/DAADkgGgA7IB/wNMAf8BqQGoAakB/wHgAd4B3wH/AeAB3gHfAf8BqQGoAakB/wNMAf8DsgH/ + A5IBoFwAA5ABnwPUAf8DTAH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0wB/wPUAf8DkAGfA/YB/wP2 + Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wgAA/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wwAAwkBCwOx + Ab8DxgH/A2wB/wNFAf8DRQH/A2wB/wPGAf8DsQG/AwkBC2AAA5ABnwP2Af8D9gH/A/YB/wP2Af8D9gH/ + A/YB/wP2Af8D9gH/A5ABn1QAAwQBBQNeAWsDwgHPA/AB+gPwAfoDwgHPA14BawMEAQX/ABEAA8IBzwP2 + Af8D9gH/A4EBj0gAA58B/wOfAf8DnwH/A58B/2QAA1sBuwOAAf8sAAP2Af8DQQH/A2MB/wO+Af8DkAGf + A2MBcAOBAY8DKAEwA2MBcAOQAZ8DVAFgLAADnwH/A58B/wOfAf8DnwH/MAADBwEKA1YBwQMuAUcQAAM0 + AVQDVgG7AzoBYRAAAwcBCQNOAZkoAAOxAb8D9gH/A6cB/wNMAf8D9gH/A8kB/wORAf8D6wH/A9QB/wOR + Af8D1AH/A/YB/wP2Af8D9gH/A/YB/wP2Af8YAAOhAf8DnwH/A58B/wOhAf83AAH/A1MBrRAAA1gBwAMP + AfwDPQFpFAADgAH/CAADgAH/AxMBGgQAA0cBgANDAXcQAAP2Af8DvgH/A0EB/wO+Af8DyQH/A5wB/wN5 + Af8DbgH/A1gB/wOcAf8DyQH/A0EB/wNBAf8DQQH/A/YB/xgAA6EB/wOfAf8DnwH/A58B/xgAAxIBGQMq + AUEUAANMAZEDAAH/DAADBAEFAwAB/wNHAYIDBgEIFAADaAHeAxMBGgQAA0MBdwNAAW8EAANzAfMEAAMq + AUAMAAP2Af8DswH/A0wB/wORAf8B9ALzAf8DeQH/A74B/wNBAf8DswH/A6cB/wHyAfAB8QH/AfEB7wHw + Af8B8QHvAfAB/wNBAf8D9gH/GAADoQH/A58B/wOfAf8DnwH/GAADOQFgAwAB/wNLAY4QAAMjATQDAAH/ + A1kBxANZAdIDWwHQA1oBygMAAf8DGgElGAADVQGqA1UBqgwAA2IBzANvAeYUAAP2Af8DyQH/A3kB/wNj + Af8D9QH/A7MB/wOzAf8DQQH/A6cB/wPJAf8B8wLyAf8B8QHvAfAB/wHxAe8B8AH/A0EB/wP2Af8EAAOh + Af8DnwH/A58B/wOfAf8DnwH/A6EB/wOfAf8DnwH/A58B/wOfAf8DoQH/A58B/wOfAf8DnwH/CAADPAFn + AwAB/wM/AW8IAANZAckDKgFAA1kBxAMAAf8DVwHFA1cBxQMAAf8DWQHXHAADOgFiA4AB/wwAAzUBVQNO + AZkUAAP2Af8DyQH/A1gB/wNBAf8DkQH/A4YB/wNMAf8DbgH/A4YB/wNBAf8DyQH/A0EB/wNBAf8DQQH/ + A/YB/wQAA58B/wOhAf8DnwH/A58B/wOhAf8DoQH/A6EB/wOfAf8DoQH/A6EB/wOhAf8DnwH/A6EB/wOf + Af8MAANJAYkDAAH/BAADOAFcAwAB/wMKAQ4DRAF5AwAB/wsAAf8DSgGNHAADEwEaA4AB/wwAA4AB/wNS + AaIUAAP2Af8DhgH/A98B/wNMAf8DswH/A9QB/wP2Af8D9AH/AfQC8wH/A8kB/wHzAvIB/wHxAe8B8AH/ + AfEB7wHwAf8DQQH/A/YB/wQAA58B/wOfAf8DoQH/A58B/wOhAf8DnwH/A6EB/wOfAf8DnwH/A58B/wOf + Af8DnwH/A6EB/wOfAf8QAANMAe8DWQHJAyEB+gNIAYgEAAMfASwDAAH/Ax4BKwMdASoDAAH/Ax0BKSAA + A4AB/wMmATgEAANNAZEDgAH/BAADTgGZA28B6gwAA/YB/wNBAf8B8gHwAfEB/wOyAf8DWAH/A1gB/wPU + Af8B8QHvAfAB/wHxAe8B8AH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wNBAf8D9gH/BAADnwH/ + A6EB/wOfAf8DoQH/A58B/wOhAf8DoQH/A58B/wOhAf8DnwH/A58B/wOhAf8DnwH/A58B/xAAAzEBTgMA + Af8DWgHVDAADIQH6A0oBiwNKAYoDMQH4JAADcgHuA0MBdyQAA/YB/wNBAf8DQQH/A2MB/wO+Af8DyQH/ + A4YB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8D9gH/GAADnwH/A58B/wOfAf8DnwH/GAADJQE3 + A0IBdAM4AV0DOwFlAwAB/wNTAbADKAE9A0IBdgMOARMDQgF1AwAB/wMAAf8DSAGGIAADPgFrA28B5gNp + Ad0DRwGAIAAD9gH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wNBAf8B8QHvAfAB/wHxAe8B8AH/ + AfEB7wHwAf8DQQH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/A0EB/wP2Af8YAAOfAf8DnwH/A6EB/wOh + Af8YAANKAYwDAAH/AwAB/wMAAf4DAAH+Aw8B/AMAAf8DAAH/A1YBuwMMARADAAH/AwAB/wMdASooAAN3 + AfckAAP2Af8DQQH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHv + AfAB/wNBAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8DQQH/A/YB/xgAA6EB/wOfAf8DnwH/A6EB/xgA + AwQBBQMJAQwDAAEBAwoBDQMAAf8DOwFkBAADBQEHAw8BFAMEBAYBCAMHAQksAANyAe4kAAP2Af8DQQH/ + A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A/YB/xgAA6EB/wOh + Af8DoQH/A58B/yQAAwIBAwMAAf8DNwFbRAADPAFmAxgBIgNiAcwcAAP2Af8DQQH/A0EB/wNBAf8DQQH/ + A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A/YB/xgAA58B/wOfAf8DnwH/A6EB/3gA + AzUBVQM+AWscAAP2Af8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNB + Af8DQQH/A/YB/yAAAwEBAqAAA/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2 + Af8D9gH/A/YB/wP2Af8D9gH//wABAAH+AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+AfMB8gH/Af4B8wHy + Af8B/gHzAfIB/wH+AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+ + AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+AfMB8gH/BAADJwH/AycB/wMnAf8DJwH/AycB/wMnAf8DJwH/ + AycB/xAAAcABlQFGAf8BwAGVAUYB/4QAAf4B8wHyAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/ + AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wH+AfMB8gH/BAADJwH/A/gB/wP4Af8D+AH/A/gB/wP4 + Af8D+AH/AycB/wwAAcABlQFGAf8BoQE5AQAB/wHAAZUBRgH/DAADwAH/A5IB/wPqAf8gAANfAegDwAH/ + FAAD/gH/A/EB/wPHAf8DjwH/A4AB/wOiAf8D7AH/FAAB/gHzAfIB/wMaAf8B+QLqAf8B+QLqAf8B+QLq + Af8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/ + Af4B8wHyAf8EAAMnAf8D+AH/A/gB/wP4Af8D+AH/A/oB/wP8Af8D0AH/CAABwAGVAUYB/wGhATkBAAH/ + AcABlQFGAf8QAAOSAf8DkgH/A5IB/wNfAegYAAPrAf8DsAH/Aw0BERAAA/0B/wPWAf8DlQH/A5UB/wOd + Af8DlgH/A4kB/wNQAf8D1QH/EAAB/gHzAfIB/wMaAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLq + Af8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/Af4B8wHyAf8EAAMn + Af8D+AH/A/gB/wP4Af8D/AH/AcYBnwFWAf8BoQE5AQAB/wGhATkBAAH/AaEBOQEAAf8BswFZARIB/wGh + ATkBAAH/AcABlQFGAf8UAAPrAf8DkAH/A5IB/wOSAf8DUgGpDAADEAEWA98B/wOdAf8DMQFNFAAD1wH/ + A6IB/wOiAf8DogH/A50B/wOcAf8DnAH/A5wB/wNaAf8D0gH/DAAB/gHzAfIB/wMaAf8B+QLqAf8B+QLq + Af8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLq + Af8DGgH/Af4B8wHyAf8EAAMnAf8D+AH/A/gB/wP6Af8BxgGfAVYB/wG3AWEBIQH/AfIB8AHrAf8D+AH/ + AfIB8AHrAf8BtwFhASEB/wGzAVkBEgH/HAADXQHKA5IB/wOQAf8DoAH/AzEBTQQAAw0BEQPAAf8DkgH/ + A1IBqRQAA/QB/wOuAf8DrgH/A7AB/wOwAf8DrgH/A6gB/wOiAf8DnAH/A5wB/wNQAf8D7AH/CAAB/gHz + AfIB/wMaAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLq + Af8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/Af4B8wHyAf8EAAMnAf8D+AH/A/gB/wP8Af8BoQE5AQAB/wHy + AfAB6wH/A/gB/wP4Af8D+AH/AfIB8AHrAf8BoQE5AQAB/wPEAf8DJwH/AycB/xQAA1YBqwOQAf8DkgH/ + A50B/wM+AWsDwAH/A5AB/wNfAegDAwEEFAAD3QH/A7wB/wPCAf8DxgH/A8cB/wPBAf8DvAH/A64B/wOi + Af8DnAH/A4kB/wOiAf8IAAH+AfMB8gH/AxoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5 + AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wMaAf8B/gHzAfIB/wQAAycB/wP4 + Af8D+AH/A/0B/wGhATkBAAH/A/gB/wP4Af8D+AH/A/gB/wP4Af8BoQE5AQAB/wP9Af8D+AH/AycB/xgA + Az4BawOdAf8DkgH/A5AB/wOSAf8D6wH/AwMEBAEFFAAD1gH/A8IB/wP+Af8D/gH/A/4B/wP9Af8D/AH/ + A/wB/wP8Af8D+gH/A48B/wOAAf8IAAH+AfMB8gH/AxoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5 + AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wMaAf8B/gHzAfIB/wQA + AycB/wP4Af8D+AH/A/wB/wGhATkBAAH/AfIB8AHrAf8D+AH/A/gB/wP4Af8B8gHwAesB/wGhATkBAAH/ + A/wB/wP4Af8DJwH/HAADXAHJA5IB/wOQAf8DnQH/Aw0BERwAA9YB/wPPDf8D/gH/A/4B/wP9Af8D/AH/ + A/sB/wOPAf8DjgH/CAAB/gHzAfIB/wMaAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLq + Af8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/Af4B8wHyAf8EAAMnAf8DJwH/ + AycB/wNhAf8BxgGfAVYB/wG5AYgBNAH/AfIB8AHrAf8D+AH/AfIB8AHrAf8BuQGIATQB/wHGAZ8BVgH/ + A/oB/wP4Af8DJwH/GAADUgGpA5IB/wOSAf8DkAH/A5IB/wNcAckQAAMLAQ8IAAPpAf8D2QH/A+wB/wPw + Af8D8AH/A+wB/wPhAf8D1wH/A8AB/wOoAf8DjwH/A8YB/wgAAf4B8wHyAf8DGgH/AfkC6gH/AfkC6gH/ + AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/ + AxoB/wH+AfMB8gH/GAABxgGfAVYB/wGhATkBAAH/AaEBOQEAAf8BoQE5AQAB/wHGAZ8BVgH/A/wB/wP4 + Af8D+AH/AycB/xQAA1wByQOSAf8DkAH/A50B/wM+AWsDwAH/A5IB/wNKAYwYAAP3Af8D2QH/A+wB/wPx + Af8D8AH/A+wB/wPgAf8D1gH/A8AB/wOoAf8DnAH/A/AB/wgAAf4B8wHyAf8DGgH/AfkC6gH/AfkC6gH/ + AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/ + AxoB/wH+AfMB8gH/HAADxAH/A/0B/wP8Af8D+gH/A/gB/wP4Af8D+AH/AycB/xAAA+oB/wOSAf8DkAH/ + A5AB/wNSAakEAAMNARED4AH/A6AB/wMxAU0UAAP+Af8D7AH/A+AB/wPxAf8D8QH/A+oB/wPiAf8D0gH/ + A8EB/wOoAf8D1wH/A/4B/wgAAf4B8wHyAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMa + Af8DGgH/AxoB/wMaAf8DGgH/AxoB/wH+AfMB8gH/HAADJwH/A/gB/wP4Af8D+AH/A/gB/wMnAf8DJwH/ + A4oB/xAAA5IB/wOSAf8DkAH/A18B6BAAA+oB/wOwAf8DDQERFAAD/QH/A+wB/wPdAf8D4wH/A+YB/wPc + Af8DywH/A7sB/wPWAf8D/QH/DAAB/gHzAfIB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/ + AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/Af4B8wHyAf8cAAMnAf8D+AH/A/gB/wP4Af8D+AH/AycB/wOK + Af8UAAPAAf8DkgH/A+oB/xgAA18B6APAAf8YAAP9Af8D9wH/A+kB/wPcAf8D1QH/A+IB/wPvAf8D/gH/ + EAAB/gHzAfIB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMa + Af8DGgH/Af4B8wHyAf8cAAMnAf8DJwH/AycB/wMnAf8DJwH/A4oB/xMAAQF4AAH+AfMB8gH/Af4B8wHy + Af8B/gHzAfIB/wH+AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+ + AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+AfMB8gH//wABAAH/ + AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAP/ + AQAC/wMrAUIDKwFCAzMBUgM3AVoDNwFbA0oBiQNLAY4DSgGNAz0BZwM3AVsDNwFbAzQBVAMnAToDEQEX + CAADKwFCAysBQgMrAUIDMgFQAzcBWgNIAYMDSwGOA0oBjQNEAXoDNwFbAzcBWxQAASIBuQHTAf8BAAGM + AakB/wEAAYwBqQH/AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/ + AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/ASIBuQHTAf8BAAG5 + AdMB/wEAAYwBqQH/AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/ + AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/AQABjAGpAf8BAAG5 + AdMB/wMrAUIDGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/A0ABcQMaAf8DGgH/AzEB/wNcAeoDVgG0 + Az4BawQAAy4BSAMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wM3AVsUAAERAbQB0QH/ + AQAByQHpAf8BAAHGAfEB/wEAAcIB8AH/AQABwQHwAf8BAAHAAfAB/wEAAcEB8AH/AQABwQHwAf8BAAHB + AfAB/wEAAcEB8AH/AQABwgHwAf8BAAHDAfAB/wEAAcMB8AH/AQABxAHxAf8BAAHDAeQB/wERAbQB0QH/ + AQABtAHRAf8BAAHJAekB/wEAAcYB8QH/AQABwgHwAf8BAAHBAfAB/wEAAcAB8AH/AQABwQHwAf8BAAHB + AfAB/wEAAcEB8AH/AQABwQHwAf8BAAHCAfAB/wEAAcMB8AH/AQABwwHwAf8BAAHEAfEB/wEAAcMB5AH/ + AQABtAHRAf8DKwFCAxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wNIAYMDGgH/AxoB/wMaAf8DGgH/ + AxoB/wNKAY0DPwFtAzUBVQMiAf8B+QLqAf8B+QLqAf8B+QLqAf8DIgH/AfkC6gH/AfkC6gH/AfkC6gH/ + AyIB/wM3AVsDNwFbAzcBWwwAAUsByAHcAf8BAAGuAc8B/wEAAc0B8gH/AQAByAHxAf8BAAHFAfEB/wEA + AcQB8QH/AQABwwHwAf8DAAH/AwAB/wEAAcYB8QH/AQAByAHxAf8BAAHKAfIB/wEAAcoB8gH/AQABzAHx + Af8BAAGrAc0B/wFLAcgB3AL/AQAC/wEAAa4BzwH/AQABzQHyAf8BAAHIAfEB/wEAAcUB8QH/AQABxAHx + Af8BAAHDAfAB/wMAAf8DAAH/AQABxgHxAf8BAAHIAfEB/wEAAcoB8gH/AQABygHyAf8BAAHMAfEB/wEA + AasBzQL/AQAC/wMrAUIDGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/A0wBkwMaAf8DGgH/AxoB/wMa + Af8DGgH/AxoB/wM3AVsDNgFYAyIB/wH5AuoB/wH5AuoB/wH5AuoB/wMiAf8B+QLqAf8B+QLqAf8B+QLq + Af8DIgH/AzcBWwMiAf8DQAFuDAAB4gHuAfIB/wERAbQB0QH/AQEBxgHkAf8BAQHRAfMB/wEAAc0B8gH/ + AQABywHyAf8BAAHKAfIB/wMAAf8DAAH/AQABzQHzAf8BAQHRAfMB/wECAdIB9AH/AQMB0wH0Af8BAAHF + AeMB/wERAbQB0QH/AeIB7gHyAv8BAAL/AQABtAHRAf8BAAHGAeQB/wEAAdEB8wH/AQABzQHyAf8BAAHL + AfIB/wEAAcoB8gH/AwAB/wMAAf8BAAHNAfMB/wEAAdEB8wH/AQAB0gH0Af8BAAHTAfQB/wEAAcUB4wH/ + AQABtAHRAv8BAAL/AzUBVQMaAf8DGgH/AxoB/wNiAekDGgH/AxoB/wMaAf8DUQGcAxoB/wMaAf8DGgH/ + AxoB/wMaAf8DGgH/AzcBWwMyAVADIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DNwFb + AyIB/wNKAYoQAAGAAc0B3wH/AQABrAHNAf8BDwHbAfQB/wELAdkB9QH/AQgB1wH1Af8BBwHWAfQB/wEH + AdYB9AH/AQkB1wH1Af8BCwHZAfUB/wELAdkB9QH/AQ0B2wH1Af8BDgHaAfMB/wEAAaoBywH/AYABzQHf + Af8EAAH/AQAD/wEAAv8BAAGsAc0B/wEAAdsB9AH/AQAB2QH1Af8BAAHXAfUB/wEAAdYB9AH/AQAB1gH0 + Af8BAAHXAfUB/wEAAdkB9QH/AQAB2QH1Af8BAAHbAfUB/wEAAdoB8wH/AQABqgHLAv8BAAP/AQAC/wM2 + AVgDGgH/AxoB/wNdAdMDVAGmA10B0wMaAf8DGgH/A1oBvQMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wM3 + AVsDMQFOAzcBWgNAAW4DSgGNA1IBpANcAeoDYgHvA2IB7wNdAe0DXAHMA0gBhQMiAf8DSAGFAzcBWwM3 + AVsDNwFbBAAB6gHyAfUB/wERAbQB0QH/AQYBxgHfAf8BGgHmAfgB/wEZAeQB9wH/ARgB4wH3Af8BAAFD + AUwB/wEAAUMBTAH/ARYB4gH3Af8BFgHiAfcB/wEXAeMB9wH/AQUBxwHgAf8BEQG0AdEB/wHqAfIB9QH/ + BAAB/wEAA/8BAAL/AQABtAHRAf8BAAHGAd8B/wEAAeYB+AH/AQAB5AH3Af8BAAHjAfcB/wEAARQBHQH/ + AQABFAEdAf8BAAHiAfcB/wEAAeIB9wH/AQAB4wH3Af8BAAHHAeAB/wEAAbQB0QL/AQAD/wEAAv8DLgFH + AzMBUgM9AWcDRgF/A04BlQNSAaMBXAJaAfUBeAJ2AfoBeAJ2AfoDGgH/AxoB/wMaAf8DGgH/AxoB/wMa + Af8DNwFbAwABAQM5AV8DIgH/A04BlANSAacDIgH/AYECfQH6AYUCgwH5AyIB/wF/AX0BegH3A1sByAMi + Af8DSAGFAyIB/wMiAf8DNwFbCAABjgHTAeMB/wEAAaoBywH/ASIB6gH2Af8BJgHwAfoB/wEkAe4B+QH/ + AwAB/wMAAf8BIAHqAfkB/wEgAeoB+QH/ARsB5QH1Af8BAAGqAcsB/wGOAdMB4wH/CAAB/wEAA/8BAAP/ + AQAC/wEAAaoBywH/AQAB6gH2Af8BAAHwAfoB/wEAAe4B+QH/AwAB/wMAAf8BAAHqAfkB/wEAAeoB+QH/ + AQAB5QH1Af8BAAGqAcsC/wEAA/8BAAP/AQAC/wQAAyABLwNMAZIDJQH/AxoB/wMlAf8BbgFsAWsB+gM8 + Af8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AzgBXgQAAzkBXwMiAf8DIgH/AyIB/wMiAf8DIgH/ + AyIB/wMiAf8DIgH/AyIB/wMiAf8DSAGFA04BlQMiAf8DNwFbCAAB7wH0AfYB/wERAbQB0QH/AQQBwgHb + Af8BKgHzAfsB/wEpAfEB+gH/AwAB/wMAAf8BJQHvAfoB/wElAe8B+gH/AQYBxgHfAf8BEQG0AdEB/wHv + AfQB9gH/CAAB/wEAA/8BAAP/AQAC/wEAAbQB0QH/AQABwgHbAf8BAAHzAfsB/wEAAfEB+gH/AwAB/wMA + Af8BAAHvAfoB/wEAAe8B+gH/AQABxgHfAf8BAAG0AdEC/wEAA/8BAAP/AQAC/wQAAzgBXAMlAf8DGgH/ + AxoB/wMaAf8DJQH/A18B6AMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DSgGLBAADOQFfAyIB/wH5 + AuoB/wH5AuoB/wMiAf8B+QLqAf8B+QLqAf8DIgH/AfkC6gH/AfkC6gH/AyIB/wNeAdkDIgH/AyIB/wM3 + AVsMAAGcAdcB5QH/AQABqQHLAf8BJAHqAfQB/wEsAfQB+wH/AwAB/wMAAf8BKgHyAfoB/wEjAeoB9gH/ + AQABqQHLAf8BnAHXAeUB/wwAAf8BAAP/AQAD/wEAA/8BAAL/AQABqQHLAf8BAAHqAfQB/wEAAfQB+wH/ + AwAB/wMAAf8BAAHyAfoB/wEAAeoB9gH/AQABqQHLAv8BAAP/AQAD/wEAA/8BAAL/BAADOAFcAxoB/wMa + Af8DGgH/AxoB/wMaAf8DVAGvAxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wNEAXsEAAM5AV8DIgH/ + AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/A2IB6QNiAekDIgH/A0gBhhAAAREBtAHR + Af8BAQG/AdkB/wE2AfYB+wH/AwAB/wMAAf8BLQH1AfsB/wEIAcYB3QH/AREBtAHRAf8B9QH2AfcB/wwA + Af8BAAP/AQAD/wEAA/8BAAL/AQABtAHRAf8BAAG/AdkB/wEHAfYB+wH/AwAB/wMAAf8BAAH1AfsB/wEA + AcYB3QH/AQABtAHRAv8BAAP/AQAD/wEAA/8BAAL/BAADOAFcAyUB/wMaAf8DGgH/AxoB/wMlAf8DVgGr + A14B0ANcAeoDXAHqA1wB6gNcAeoDJQH/AxoB/wM3AVsEAAM5AV8DIgH/AyIB/wMiAf8DIgH/AyIB/wMi + Af8DIgH/AyIB/wMiAf8DIgH/A2EB3AMiAf8DIgH/Az0BZxAAAasB3QHpAf8BAAGpAcoB/wEjAegB8wH/ + AS0B9QH7Af8BLQH1AfsB/wEmAe0B9gH/AQABqQHLAf8BqwHdAekB/xAAAf8BAAP/AQAD/wEAA/8BAAP/ + AQAC/wEAAakBygH/AQAB6AHzAf8BAAH1AfsB/wEAAfUB+wH/AQAB7QH2Af8BAAGpAcsC/wEAA/8BAAP/ + AQAD/wEAA/8BAAL/BAADIAEvA0wBkgMlAf8DGgH/AyUB/wNUAa8DVgGrA1UBrQNfAegDXAHqA1wB6gNc + AeoDXAHqAxoB/wM3AVsEAANDAXgDIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/ + A04BlQNdAdMDIgH/AzcBWxQAARIBtAHRAf8BAAG7AdYB/wEtAfUB+wH/AS0B9QH7Af8BBwHGAd0B/wES + AbQB0QH/FAAB/wEAA/8BAAP/AQAD/wEAA/8BAAL/AQABtAHRAf8BAAG7AdYB/wEAAfUB+wH/AQAB9QH7 + Af8BAAHGAd0B/wEAAbQB0QL/AQAD/wEAA/8BAAP/AQAD/wEAAv8IAANLAY4DTAGSA1cBugNWAasDVgGr + A1YBqwNWAasDYQHkA1wB6gNcAeoDXAHqA1wB6gMaAf8DNwFbBAADSQGHAz4BawM3AVsDNwFbAzcBWwM6 + AWIDUAGeA1IBowNSAaMDUgGjA1IBowNOAZUDIgH/AyIB/wM3AVsUAAG7AeIB7QH/AQABqAHKAf8BIAHl + AfEB/wEmAewB9QH/AQABqQHLAf8BuwHiAe0B/xQAAf8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv8BAAGo + AcoB/wEAAeUB8QH/AQAB7AH1Af8BAAGpAcsC/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC/wgAAz4BawNK + AYwDJQH/A1YBsQNYAbkDVgGrA1YBqwNhAeEDXAHqA1wB6gNcAeoDJQH/A0oBjAMuAUgQAAM3AVsDIgH/ + AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AzYBWRgAARIBtAHRAf8BAAG5AdUB/wEH + AcYB3QH/ARIBtAHRAf8YAAH/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL/AQABtAHRAf8BAAG5AdUB/wEA + AcYB3QH/AQABtAHRAv8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv8MAAM9AWgDVgG0A1wB6gMxAf8DGgH/ + AxoB/wMaAf8DGgH/AzEB/wNcAeoDVwG6Az4BaxQAAzcBWwMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMi + Af8DIgH/AyIB/wMiAf8DNAFUGAAByQHpAfEB/wECAa8BzgH/AQIBrwHOAf8ByQHpAfEB/xgAAf8BAAP/ + AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL/AQABrwHOAf8BAAGvAc4C/wEAA/8BAAP/AQAD/wEAA/8BAAP/ + AQAD/wEAAv8QAAMNAREDJwE6AzMBUwM3AVsDOwFlA0oBjQNLAY4DSAGEAzgBXgMSARkYAAM3AVsDNwFb + A0kBhwNLAY4DSwGOA0oBjQNFAXwDNwFbAzcBWwM3AVsDNQFXAzcBWv8AQQADKgFAAyoBQAMqAUADKgFA + AyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyYBOAMMARAEAAMqAUADKgFAAyoBQAMq + AUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUADJgE4AwwBEBQAAdYBvgGtAf8BtQGa + AYQB/wGcARwBAQH/AZQBEAEAAf8BlAEQAQAB/wGlASQBEgH/Ab0BpgGUAf8B1gG+AbUB/yAAAfcB8wHv + Af8B1gG+AbUB/wGtAY4BWAH/AZQBRgEvAf8BjAE+AScB/wGUAVIBQAH/AcYBtgGtAf8UAANcAd8DXAHf + A1wB3wNcAd8DXAHfA1wB3wNcAd8DXAHfA1wB3wNcAd8DXAHfA1wB3wNcAd8DWwHDAyYBOAQAA1wB3wNc + Ad8DXAHfA1wB3wNcAd8DXAHfA1wB3wNcAd8DXAHfA1wB3wNcAd8DXAHfA1wB3wNbAcMDJgE4EAABxgGu + AZwB/wGtAYYBEgH/Aa0BkgEiAf8B1gHPAc4B/wHnAfMB9wH/AecB7wH3Af8BxgHDAb0B/wGlAYYBGgH/ + AaUBIAEKAf8BxgGuAZwB/xgAAfcB6wHnAf8BvQGaAYwB/wGcAUoBLwH/AZwBSgEvAf8BnAFOATcB/wGc + AUoBNwH/AZQBQgEvAf8BWAEuARYB/wGtAZoBjAH/EAABpwKmAf8CswGyAf8DugH/A7oB/wO6Af8DugH/ + A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/AbECsAH/A1wB3wMqAUAEAAGnAqYB/wKzAbIB/wO6Af8DugH/ + A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8BsQKwAf8DXAHfAyoBQAwAAc4BrgGcAf8BtQGa + AYwB/wHvAesB5wX/AfcB+wL/Ae8B+wH3Af8B7wL3Af8C7wH3Af8B5wHzAv8BvQG2AbUB/wGUARABAAH/ + AcYBrgGcAf8UAAG9AZoBjAH/AaUBUgE3Af8BpQFSATcB/wGlAVIBNwH/AZwBTgE3Af8BnAFOATcB/wGc + AU4BNwH/AZwBTgE3Af8BhAEyAR8B/wGtAZYBjAH/DAADkQH/A8QB/wPjAf8D4wH/A+MB/wLhAeAB/wHY + AdQB0gH/AdoB1gHVAf8D4wH/A+MB/wPjAf8D4wH/A7oB/wNcAd8DKgFABAADkQH/A8QB/wPjAf8D4wH/ + A+MB/wPjAf8D4wH/A+MB/wPjAf8D4wH/A+MB/wPjAf8DugH/A1wB3wMqAUAIAAHWAboBrQH/AbUBkgEi + Af8D9wn/Ad4BtgGlAf8BpQIAAf8BpQIAAf8B1gG+Aa0B/wH3A/8B7wH3Av8BvQGuAaUB/wGcARQBAAH/ + AdYBvgG1Af8MAAHnAccBtQH/Aa0BWgFAAf8BrQFaAUAB/wGtAVoBSAH/Aa0BWgFIAf8BrQFaAUAB/wGl + AVYBQAH/AaUBUgE3Af8BnAFOATcB/wGcAU4BNwH/AVgBLgEWAf8BxgG2Aa0B/wgAA5EB/wPEAf8D4wH/ + A+MB/wPjAf8B2QHUAdIB/wGjAYgBIQH/Aa4BlwGMAf8D4wH/A+MB/wPjAf8D4wH/A7oB/wNcAd8DKgFA + BAADkQH/A8QB/wPjAf8D4wH/A+MB/wPjAf8D4wH/A+MB/wPjAf8D4wH/A+MB/wPjAf8DugH/A1wB3wMq + AUAIAAG9AZ4BhAH/Ad4BxwG9Df8B7wHXAcYB/wGtAgAB/wGlAgAB/wH3Ae8B5wX/Ae8B6wHvAf8B5wHz + AfcB/wGcASQBEgH/AbUBkgEiAf8MAAHOAaIBjAH/Aa0BhgFIAf8BtQGKAVAB/wG9AY4BUAH/Ab0BjgFQ + Af8BtQGKAVAB/wG1AYYBSAH/Aa0BWgFAAf8BpQFSATcB/wGcAU4BNwH/AZQBQgEvAf8BlAFSAUAB/wgA + A5EB/wHGAscB/wHmAucB/wHmAucB/wHmAucB/wHYAdIBzwH/AY8BEQEAAf8BngGAARcB/wHmAucB/wHm + AucB/wHmAucB/wHmAucB/wO8Af8DXAHfAyoBQAQAA5EB/wHGAscB/wHmAucB/wHmAucB/wHmAucB/wHm + AucB/wHmAucB/wHmAucB/wHmAucB/wHmAucB/wHmAucB/wHmAucB/wO8Af8DXAHfAyoBQAQAAdYBugGt + Af8BvQGaAYQC/wH7Dv8B7wHjAdYB/wG9AgAB/wG1AQwBAAH/AfcB+wH3Bf8B9wHzAfcB/wHvAfMB9wH/ + AcYBvgG9Af8BnAEcAQEB/wwAAcYBmgGEAf8BvQGKAVAC/wH7A/8C9wL/AfMB7wH/AfcB6wHnAf8B9wHj + Ad4B/wH3AeMB1gH/AfcB4wHeAf8B9wHbAc4B/wGcAUYBLwH/AYwBPgEnAf8IAAORAf8BygLLAf8B7ALt + Af8B7ALtAf8B7ALtAf8B3QHYAdUB/wGRARMBAAH/AaABggEZAf8B7ALtAf8B7ALtAf8B7ALtAf8B7ALt + Af8DvwH/A1wB3wMqAUAEAAORAf8BygLLAf8B7ALtAf8B7ALtAf8B7ALtAf8B7ALtAf8B7ALtAf8B7ALt + Af8B7ALtAf8B7ALtAf8B7ALtAf8B7ALtAf8DvwH/A1wB3wMqAUAEAAHOAa4BnAH/Ac4BpgGMEf8B7wHf + AdYB/wG9AgAB/wG1AQwBAAH/AfcC7wn/Ae8B8wH3Af8B1gHbAd4B/wGcARwBAQH/DAABxgGaAYQB/wHG + AZYBWA7/AfsD/wHzAe8B/wH3AesB5wH/AfcB4wHeAf8B9wHfAdYB/wGcAUYBLwH/AZQBRgEvAf8IAAOR + Af8D0AH/AegB3gHaAf8ByAGjAZYB/wHBAZcBiAH/AbsBjwElAf8BnwENAQAB/wGkARUBAAH/AcEBlwGI + Af8BwQGXAYgB/wHOAa8BowH/Ae8B6gHnAf8DwwH/A1wB3wMqAUAEAAORAf8BygLLAf8B4QHYAdQB/wHH + AaEBlAH/AcEBlwGIAf8BwQGXAYgB/wHBAZcBiAH/AcEBlwGIAf8BwQGXAYgB/wHBAZcBiAH/AcwBrQGh + Af8B5gHiAeEB/wO/Af8DXAHfAyoBQAQAAc4BpgGUAf8BzgGqAZQR/wHvAdsBzgH/AcYCAAH/AbUBCAEA + Af8B7wHrAecJ/wP3Af8B3gHjAecB/wGcASABCgH/DAAB3gGyAZwB/wHOAZ4BhAH/AecBtgGcAf8B5wG+ + Aa0B/wHnAb4BrQH/AecBtgGcAf8B1gGmAYwB/wHOAZoBhAH/AbUBigFIAf8BpQFWAUAB/wGcAUYBLwH/ + Aa0BjgFYAf8IAAORAf8D0wH/AesB3wHZAf8BxAGXAYcB/wG8AYkBHQH/AbgBgwEWAf8BogEMAQAB/wGn + ARIBAAH/AbwBiQEdAf8BvAGJAR0B/wHMAaYBmAH/AfQB7QHqAf8DxgH/A1wB3wMqAUAEAAORAf8BzALN + Af8B4wHXAdIB/wHDAZYBhgH/AbwBiQEdAf8BvAGJAR0B/wG8AYkBHQH/AbwBiQEdAf8BvAGJAR0B/wG8 + AYkBHQH/AckBowGWAf8B6QHkAeEB/wPBAf8DXAHfAyoBQAQAAcYBogGMAf8BzgGqAZQR/wHeAcMBrQH/ + Ab0BBAEAAf8BvQEcAQAB/wH3Au8G/wH7Av8B9wH7Av8B3gHXAd4B/wGcARwBAQH/DAAB7wHPAb0B/wHO + AZ4BhAH/AecBtgGcAf8B5wG+Aa0B/wHnAb4BrQH/AecBtgGcAf8B1gGmAYwB/wHOAZoBhAH/AbUBigFI + Af8BpQFWAUAB/wGcAU4BNwH/AdYBvgG1Af8IAAORAf8D0wH/AfgB9gH1Af8B8gHqAecB/wHxAegB5AH/ + AeIB1AHNAf8BlgEUAQEB/wGlAYMBGAH/AfEB6AHkAf8B8QHoAeQB/wHzAe0B6gH/AfoB+QH3Af8DxgH/ + A1wB3wMqAUAEAAORAf8D0gH/AfcB9QHzAf8B8gHqAecB/wHxAegB5AH/AfEB6AHkAf8B8QHoAeQB/wHx + AegB5AH/AfEB6AHkAf8B8QHoAeQB/wHzAewB6QH/AfgB9wH2Af8DxQH/A1wB3wMqAUAEAAHWAbIBnAH/ + Ac4BogGMEf8B9wHrAecB/wHvAdsB1gH/AfcB6wHnCv8B+wL/AfcD/wHOAb4BvQH/AaUBJAEKAf8MAAH/ + AfMB7wH/Ad4BtgGlAf8B1gGmAYwB/wHnAb4BrQH/Ae8BvgGtAf8B5wGyAZwB/wHWAaYBlAH/AcYBlgGE + Af8BtQGKAVAB/wGlAVYBQAH/Ab0BmgGMAf8B9wLvAf8IAAORAf8D1AH/AvwB+wH/AvwB+wH/AvwB+wH/ + AesB5QHhAf8BlQEXAQQB/wGmAYgBHgH/AvwB+wH/AvwB+wH/AvwB+wH/AvwB+wH/A8cB/wNcAd8DKgFA + BAADkQH/A9MB/wL7AfoB/wL7AfoB/wL7AfoB/wL7AfoB/wL7AfoB/wL7AfoB/wL7AfoB/wL7AfoB/wL7 + AfoB/wL7AfoB/wPGAf8DXAHfAyoBQAgAAdYBpgGMAf8B7wHnAd4O/wH7Av8B1gGiAYQB/wHWAaIBhAL/ + AfsO/wGlASQBCgH/AcYBpgGUAf8QAAH3AesB5wH/Ad4BtgGlAf8B1gGiAYwB/wHWAaoBlAH/Ad4BrgGU + Af8BzgGiAYwB/wG9AZIBWAH/AbUBhgFIAf8BvQGaAYwB/wH3AesB5wH/DAADkQH/A9QB/wP8Af8D/AH/ + A/wB/wHtAegB5QH/AaIBggEYAf8BsQGXAYkB/wP8Af8D/AH/A/wB/wP8Af8DxwH/A1wB3wMqAUAEAAOR + Af8D0wH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/ + AvsB+gH/A8YB/wNcAd8DKgFACAAB1gG2AZwB/wHnAbIBlA3/AfcB7wHnAf8BxgEUAQAB/wG9AQwBAAH/ + AfcC7wn/AcYBrgGcAf8BrQGGARIB/wHWAcMBtQH/FAAB/wHvAecB/wHvAc8BvQH/Ad4BsgGcAf8BzgGe + AYwB/wHGAZoBhAH/AdYBpgGUAf8B1gG6Aa0C/wL3Af8QAAORAf8D1AH/A/wB/wP8Af8D/AH/AfgC9gH/ + AeIB2QHVAf8B5wHfAdsB/wP8Af8D/AH/A/wB/wP8Af8DxwH/A1wB3wMqAUAEAAORAf8D0wH/AvsB+gH/ + AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/A8YB/wNc + Ad8DKgFADAAB3gGyAZQB/wHvAccBrQ7/AvcC/wH3Ae8G/wL3Af8BzgG2AaUB/wGtAYYBEgH/AdYBwwG1 + Af9IAAKhAaAB/wPBAf8D1AH/A9QB/wPUAf8D1AH/A9QB/wPUAf8D1AH/A9QB/wPUAf8D1AH/A7sB/wNc + Ad8DKgFABAACoQGgAf8DwAH/A9MB/wPTAf8D0wH/A9MB/wPTAf8D0wH/A9MB/wPTAf8D0wH/A9MB/wO6 + Af8DXAHfAyoBQBAAAd4BtgGcAf8B5wG2AZQB/wH3Ad8BxgL/AecB3gL/AesB5wH/AfcB5wHeAf8B5wHP + AcYB/wHOAaoBlAH/Ab0BmgGEAf8B1gHDAbUB/0wAAbwBuwG6Af8CoQGgAf8DkQH/A5EB/wORAf8DkQH/ + A5EB/wORAf8DkQH/A5EB/wORAf8DkQH/AacCpgH/A1wB3wMqAUAEAAG8AbsBugH/AqEBoAH/A5EB/wOR + Af8DkQH/A5EB/wORAf8DkQH/A5EB/wORAf8DkQH/A5EB/wGnAqYB/wNcAd8DKgFAFAAB3gG+Aa0B/wHe + AbYBnAH/AecBtgGcAf8B5wGyAZQB/wHeAaoBjAH/AdYBrgGcAf8B1gG+AbUB//8A7QABDQGPARIB/wEN + AY8BEgH/AQ0BjwESAf8BDQGPARIB/xgAA9oB/wPaAf8D2gH/A9oB/wPaAf8D2gH/A9oB/wPaAf8DWwHE + JAABEwEnAbcB/wIAAaYB/wFDAVIBxAH/IAADXwHoARMBJwG3Af8MAAH/AUMBMQL/AUMBMQH/SAABDQGP + ARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/xgAA9oB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wPa + Af8DZQH0AwEBAgMAAQEHAAEBFgABpgH/AgABpgH/AgABpgH/A18B6BgAAUMBUgHEAf8BAwEZAbIB/wMN + AREMAAH/AUMBMQH/CAAB/wFDATEB/0AAAQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8YAAPa + Af8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8D2gH/A1EBnAQAAwEBAgMEAQUDAAEBFAABQwFSAcQB/wIA + AaYB/wIAAaYB/wIAAaYB/wNSAakMAAMQARYBNQFFAb4B/wEAAQwBrAH/AzEBTRgAAf8BQwExAv8BQwEx + Av8BQwExAf88AAENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/GAAD2gH/AxoB/wMaAf8DGgH/ + AxoB/wMaAf8DGgH/A9oB/wNgAesDXQHSA1kBwgNbAcYDVAGsAxsBJhQAA10BygIAAaYB/wIAAaYB/wEA + AQwBrAH/AzEBTQQAAw0BEQETAScBtwH/AgABpgH/A1IBqRgAAf8BQwExAv8BQwExAv8BQwExAv8BQwEx + Av8BQwExAf84AAENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/GAAD2gH/A9oB/wPaAf8D2gH/ + A9oB/wPaAf8D2gH/A9oB/wPaAf8D2gH/A9oB/wPaAf8DQwF3AwABARgAA1YBqwIAAaYB/wIAAaYB/wEA + AQwBrAH/Az4BawETAScBtwH/AgABpgH/A18B6AMDAQQcAAH/AUMBMQL/AUMBMQL/AUMBMQL/AUMBMQL/ + AUMBMQH/IAABDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGP + ARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/ + BAAD2gH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wPaAf8DNQFXAwQBBQMP + ARQDAAEBFAADPgFrAQABDAGsAf8CAAGmAf8CAAGmAf8CAAGmAf8BQwFSAcQB/wMDBAQBBSAAAf8BQwEx + Av8BQwExAv8BQwExAv8BQwExAv8BQwExAf8cAAENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/ + AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGP + ARIB/wENAY8BEgH/AQ0BjwESAf8EAAPaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMa + Af8DGgH/A9oB/wMKAQ4kAANcAckCAAGmAf8CAAGmAf8BAAEMAawB/wMNAREsAAH/AUMBMQL/AUMBMQL/ + AUMBMQL/AUMBMQL/AUMBMQH/GAABDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/ + AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGP + ARIB/wENAY8BEgH/BAAD2gH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wPa + Af8DLwFKAwUBBwMgAS4DLAFDFAADUgGpAgABpgH/AgABpgH/AgABpgH/AgABpgH/A1wByRAAAwsBDxwA + Af8BQwExAv8BQwExAv8BQwExAv8BQwExAv8BQwExAf8UAAENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wEN + AY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwES + Af8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8EAAPaAf8D2gH/A9oB/wPaAf8D2gH/A9oB/wPaAf8D2gH/ + A9oB/wPaAf8D2gH/A9oB/wPaAf8D2gH/A9oB/wPaAf8QAANcAckCAAGmAf8CAAGmAf8BAAEMAawB/wM+ + AWsBEwEnAbcB/wIAAaYB/wNKAYwwAAH/AUMBMQL/AUMBMQL/AUMBMQH/LAABDQGPARIB/wENAY8BEgH/ + AQ0BjwESAf8BDQGPARIB/xgAA9oB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMa + Af8DGgH/AxoB/wMaAf8DGgH/A9oB/wwAAUMBUgHEAf8CAAGmAf8CAAGmAf8CAAGmAf8DUgGpBAADDQER + ATUBRQG+Af8BAAEMAawB/wMxAU0wAAH/AUMBMQH/CAAB/wFDATEC/wFDATEB/yAAAQ0BjwESAf8BDQGP + ARIB/wENAY8BEgH/AQ0BjwESAf8YAAPaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMa + Af8DGgH/AxoB/wMaAf8DGgH/AxoB/wPaAf8OAAGmAf8CAAGmAf8CAAGmAf8DXwHoEAABQwFSAcQB/wED + ARkBsgH/Aw0BETQAAf8BQwExAv8BQwExAv8BQwExAf8gAAENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wEN + AY8BEgH/GAAD2gH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/ + AxoB/wMaAf8D2gH/DAABEwEnAbcB/wIAAaYB/wFDAVIBxAH/GAADXwHoARMBJwG3Af80AAH/AUMBMQL/ + AUMBMQH/JAABDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/xgAA9oB/wPaAf8D2gH/A9oB/wPa + Af8D2gH/A9oB/wPaAf8D2gH/A9oB/wPaAf8D2gH/A9oB/wPaAf8D2gH/A9oB/wcAAQGQAAENAY8BEgH/ + AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/+AADAQECnAADPQFpAz4BagNBAXIDNwFaAzcBWwM3AVsDOgFi + A0oBiwNLAY4kAAP9Af8D9wH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP3Af8D/QH/HAADigH/ + AzoB/wMiAf8DIgH/AyIB/wMiAf8DOgH/A4oB/xAAA/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1 + Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/BAADPQFpAxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/ + AxoB/wNKAYkkAAP3Af8DhgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wOGAf8D9wH/FAADuQH/ + AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wO5Af8IAAP1Af8DGQH/AxkB/wMZ + Af8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/A/UB/wQAAzsBZQMaAf8B+QLq + Af8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/Az4BawM3AVsDNwFbAzcBWwM3AVsUAAP2Af8DGgH/ + AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8DGgH/ + A/YB/xAABP8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8IAAP1 + Af8DGQH/Ae4C7wH/Ae4C7wH/Ae4C7wH/AxkB/wHuAu8B/wHuAu8B/wHuAu8B/wMZAf8B7gLvAf8B7gLv + Af8B7gLvAf8DGQH/A/UB/wQAAy4BSAMaAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/ + AxoB/wMaAf8DGgH/AxoB/wM3AVsUAAP2Af8DGgH/AfEB7wHwAf8DGgH/AfEB7wHwAf8DGgH/AfEB7wHw + Af8DGgH/AfEB7wHwAf8DGgH/A/YB/xAABP8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMi + Af8DIgH/AyIB/wMiAf8IAAP1Af8DGQH/Ae4C7wH/Ae4C7wH/Ae4C7wH/AxkB/wHuAu8B/wHuAu8B/wHu + Au8B/wMZAf8B7gLvAf8B7gLvAf8B7gLvAf8DGQH/A/UB/wQAAywBQwMaAf8B+QLqAf8B+QLqAf8B+QLq + Af8B+QLqAf8B+QLqAf8DGgH/AzcBWwM3AVsDNwFbAxoB/wM3AVsUAAP2Af8DGgH/AfEB7wHwAf8B8QHv + AfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wMaAf8B8QHvAfAB/wMaAf8D9gH/EAAE/wMiAf8DIgH/ + AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wgAA/UB/wMZAf8DGQH/AxkB/wMZ + Af8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8D9QH/BAADKwFCAxoB/wMaAf8DGgH/ + AxoB/wMaAf8DGgH/AxoB/wM3AVsEAAM3AVsDGgH/AzcBWxQAA/YB/wMaAf8B8QHvAfAB/wMaAf8B8QHv + AfAB/wMaAf8B8QHvAfAB/wMaAf8B8QHvAfAB/wMaAf8D9gH/EAAE/wMiAf8DIgH/AyIB/wMiAf8DIgH/ + AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wgAA/UB/wMZAf8B7gLvAf8B7gLvAf8B7gLvAf8DGQH/ + Ae4C7wH/Ae4C7wH/Ae4C7wH/AxkB/wHuAu8B/wHuAu8B/wHuAu8B/wMZAf8D9QH/BAADKAE8AxoB/wMa + Af8DGgH/AxoB/wMaAf8DGgH/AxoB/wM3AVsEAAM3AVsDGgH/A0ABcRQAA/YB/wMaAf8B8QHvAfAB/wHx + Ae8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wMaAf8D9gH/EAAE/wMi + Af8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wgAA/UB/wMZAf8B7gLv + Af8B7gLvAf8B7gLvAf8DGQH/Ae4C7wH/Ae4C7wH/Ae4C7wH/AxkB/wHuAu8B/wHuAu8B/wHuAu8B/wMZ + Af8D9QH/BAADKgFBAyoBQQMoAT0DJQE3AycBOwMuAUgDNgFZAzcBWwM3AVsEAAM3AVsDGgH/A0oBjRQA + A/YB/wMaAf8B8QHvAfAB/wMaAf8B8QHvAfAB/wMaAf8B8QHvAfAB/wMaAf8B8QHvAfAB/wMaAf8D9gH/ + EAAE/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wgAA/UB/wMZ + Af8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8D9QH/HAADNQFW + AzcBWwM3AVsDNwFbAzcBWwMaAf8DSwGOA0oBjANHAYEMAAP2Af8DGgH/AfEB7wHwAf8B8QHvAfAB/wHx + Ae8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8DGgH/A/YB/xAABP8DIgH/AyIB/wMi + Af8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8IAAP1Af8DGQH/Ae4C7wH/Ae4C7wH/ + Ae4C7wH/AxkB/wHuAu8B/wHuAu8B/wHuAu8B/wMZAf8B7gLvAf8B7gLvAf8B7gLvAf8DGQH/A/UB/xwA + AykBPgMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DPQFoDAAD9gH/AxoB/wHxAe8B8AH/AxoB/wHx + Ae8B8AH/AxoB/wHxAe8B8AH/AxoB/wHxAe8B8AH/AxoB/wP2Af8QAAT/AyIB/wMtAf8DqQH/AuEB4gH/ + A/gB/wP4Af8D+AH/A/gB/wLhAeIB/wOpAf8DLQH/AyIB/wgAA/UB/wMZAf8B7gLvAf8B7gLvAf8B7gLv + Af8DGQH/Ae4C7wH/Ae4C7wH/Ae4C7wH/AxkB/wHuAu8B/wHuAu8B/wHuAu8B/wMZAf8D9QH/HAADJQE3 + AxoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wMaAf8DOwFjDAAD9gH/AxoB/wHxAe8B8AH/ + AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AxoB/wP2Af8QAAPz + Af8DLQH/A+0B/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A+0B/wMiAf8IAAP1Af8DGQH/ + AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/A/UB/xwAAyUBNwMa + Af8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/Ay8BSgwAA/YB/wMaAf8B8QHvAfAB/wMa + Af8DGgH/AxoB/wMaAf8DGgH/AfEB7wHwAf8DGgH/A/YB/xQAAy0B/wPtAf8D+AH/A/gB/wP4Af8D+AH/ + A/gB/wP4Af8D+AH/A/gB/wPtAf8DIgH/CAAD9QH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZ + Af8DGQH/AxkB/wMZAf8DGQH/AxkB/wP1Af8cAAMlATcDGgH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/ + AfkC6gH/AxoB/wMrAUIMAAP2Af8DGgH/AfEB7wHwAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wHxAe8B8AH/ + AxoB/wP2Af8UAAO5Af8DLQH/A6kB/wLhAeIB/wP4Af8D+AH/A/gB/wP4Af8C4QHiAf8DqQH/Ay0B/wO5 + Af8IAAP1Af8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/ + A/UB/xwAAyoBQAMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DKwFCDAAD9gH/AxoB/wHxAe8B8AH/ + AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AxoB/wP2Af8YAAPo + Af8DigH/AzoB/wMiAf8DIgH/AyIB/wMiAf8DOgH/A4oB/wPoAf8MAAP1Af8D9QH/A/UB/wP1Af8D9QH/ + A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/A/UB/xwAAysBQgMaAf8DGgH/AxoB/wMa + Af8DGgH/AxoB/wMaAf8DMwFTDAAD9wH/A4YB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DhgH/ + A/cB/6QAAysBQgMuAUcDPgFqA0cBgQNKAYkDNwFbAzcBWwM3AVoDNwFaDAAD/QH/A/cB/wP2Af8D9gH/ + A/YB/wP2Af8D9gH/A/YB/wP2Af8D9wH/A/0B/wwAAUIBTQE+BwABPgMAASgDAAFAAwABcAMAAQEBAAEB + BQABgAEDFgAD/wEAAQ8D/wHwAQ8DAAEfAf8BgAHwAQ8DAAEPAf8BgAHwAQ8CAAGAAQ8BwAEAAfABDwIA + AcABDwHAAQAB8AEPAgABgAEPAcABAAHwAQ8CAAGAAQcBxwGAAfABDwIAAcABBwHHAYAB4AEHAgAB4AED + AQEBgAHAAQMCAAHwAgEBgAHAAQMCAAHwAwABwAEDAgAB8AMAAcABAwIAAfADAAHAAQMCAAHwAQABAQGA + AeABBwIAAfABAAEBAYAB4AEHAgAB+AEBAv8B8AEPAgAG/wEPAf8B/AE/Av8B5wH/AQABHwH8AT8B/AF4 + AfMB/wIAAfwBPwH+AXgB+wEnAYABAAH8AT8BPgFwAfkBKwGAAQAB/AE/AR4BAQH5Ac8BgAEAAYABAQGM + AQMB+QHPAYABAAGAAQEByAEzAfkBzwGAAQABgAEBAeEBAwH8AZMBgAEAAYABAQHjAYcB/AH/AYABAAH8 + AT8BAAEHAfgBfwGAAQAB/AE/AQABBwH+Af8BgAEAAfwBPwECAQ8B/gH/AYABAAH8AT8B4wH/Af4BPwGA + AQAB/AE/A/8BPwGAAQAB/wF/BP8BgAEACP8CAAGAAXkE/wIAAYABcQHHAfkB8AEfAgABgAFjAcMB8QHg + AQ8CAAGAAQcBwQHDAeABBwIAAYABDwHgAYcBwAEDAgABgAEBAfABBwHAAQMCAAGAAQEB+AEHAcABAwIA + AYABAQH8AR8BwAEDAgABgAEBAfgBHgHAAQMCAAH8AQEB8AEPAcABAwIAAf4BAQHgAYcBwAEDAgAB/gEB + AeEB4wHgAQcCAAH+AQMB4wHzAfABDwIAAf4BBwG/A/8CAAj/AwABAwEAAR8FAAEBAQABHwcAAQcHAAEH + BwABBwGAAQEGAAGAAQEGAAHAAQMCAAGAAQABgAEAAcABAwIAAYABAAGAAQAB4AEHAgABgAEAAYABAAHw + AQcCAAGAAQABgAEAAfABDwIAAYABAAGAAQAB+AEfAgABwAEAAYABAAH4AR8CAAHAAQAB8AEAAfwBPwIA + AeABAQHwAQAB/AE/AgAB8AEDAfABAAr/AQABAQEAAQEB8AEPAfABHwEAAQEBAAEBAeABBwHgAQ8BAAEB + AQABAQHAAQMB4AEHAQABAQEAAQEBgAEBAcABAwEAAQEBAAEBAYABAQHAAQMBAAEBAQABAQEAAQEBwAED + AQABAQEAAQEBAAEBAcABAwEAAQEBAAEBAQABAQHAAQMBAAEBAQABAQEAAQEBwAEDAQABAQEAAQEBAAEB + AcABAwEAAQEBAAEBAYABAQHgAQcBAAEBAQABAQGAAQEB8AEPAQABAQEAAQEBwAEDAv8BAAEBAQABAQHg + AQcC/wEAAQEBAAEBAfABHw7/AfwBPwEAAX8BxwH5Ac8B/wH8AT8BAAEXAcMB8QHbAf8B/AE/AQABRwHB + AcMB8QH/AfwBPwEAAQMB4AGHAeAB/wH8AT8BAAEDAfABBwHwAX8BgAEBAgAB+AEHAfgBPwGAAQEBAAEH + AfwBHwH8AR8BgAEBAgAB+AEeAf4BDwGAAQECAAHwAQ8B/wEfAfwBPwIAAeABhwH/AbMB/AE/AgAB4QHj + Af8B4wH8AT8CAAHjAfMB/wHnAfwBPwIAAb8D/wH8AT8H/wF/BP8BAAF/AcABBwHwAQ8BAAEBAQABfwHA + AQcBwAEDAQABAQEAAQcBwAEHAYABAwEAAQEBAAEHAcABBwGAAQMBAAEBAQABBwHAAQcBgAEDAQABAQEA + AUcBwAEHAYABAwEAAQEBAAFHAcABBwGAAQMBAAEBAQABRwHAAQcBgAEDAQABAQH8AQEBwAEHAYABAwEA + AQEB/AEBAcABBwGAAQMBAAEBAfwBAQHAAQcBgAEDAQABAQH8AQEBwAEHAcABAwEAAQEB/AEBAcABBwHA + AQMBAAEBAfwBAQHAAQcB4AEHAQABAQH8AQEBwAEHBP8B/AEBAcABBws= + + + \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/ComparisonForm.Designer.cs b/AlmToolkit/AlmToolkit/ComparisonForm.Designer.cs new file mode 100644 index 0000000..a193ae4 --- /dev/null +++ b/AlmToolkit/AlmToolkit/ComparisonForm.Designer.cs @@ -0,0 +1,601 @@ +namespace AlmToolkit +{ + partial class ComparisonForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ComparisonForm)); + this.StatusBarComparsion = new System.Windows.Forms.StatusStrip(); + this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar(); + this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel(); + this.NewVersionLink = new System.Windows.Forms.ToolStripStatusLabel(); + this.tabHome = new System.Windows.Forms.RibbonTab(); + this.panelCompare = new System.Windows.Forms.RibbonPanel(); + this.btnCompareTabularModels = new System.Windows.Forms.RibbonButton(); + this.ddSelectActions = new System.Windows.Forms.RibbonButton(); + this.mnuHideSkipObjects = new System.Windows.Forms.RibbonButton(); + this.mnuHideSkipObjectsWithSameDefinition = new System.Windows.Forms.RibbonButton(); + this.mnuShowSkipObjects = new System.Windows.Forms.RibbonButton(); + this.ribbonSeparator1 = new System.Windows.Forms.RibbonSeparator(); + this.mnuSkipAllObjectsMissingInSource = new System.Windows.Forms.RibbonButton(); + this.mnuDeleteAllObjectsMissingInSource = new System.Windows.Forms.RibbonButton(); + this.mnuSkipAllObjectsMissingInTarget = new System.Windows.Forms.RibbonButton(); + this.mnuCreateAllObjectsMissingInTarget = new System.Windows.Forms.RibbonButton(); + this.mnuSkipAllObjectsWithDifferentDefinitions = new System.Windows.Forms.RibbonButton(); + this.mnuUpdateAllObjectsWithDifferentDefinitions = new System.Windows.Forms.RibbonButton(); + this.btnValidateSelection = new System.Windows.Forms.RibbonButton(); + this.btnUpdate = new System.Windows.Forms.RibbonButton(); + this.btnGenerateScript = new System.Windows.Forms.RibbonButton(); + this.panelMisc = new System.Windows.Forms.RibbonPanel(); + this.btnOptions = new System.Windows.Forms.RibbonButton(); + this.btnReportDifferences = new System.Windows.Forms.RibbonButton(); + this.tabHelp = new System.Windows.Forms.RibbonTab(); + this.panelHelp = new System.Windows.Forms.RibbonPanel(); + this.btnHelp = new System.Windows.Forms.RibbonButton(); + this.pnlRibbon = new System.Windows.Forms.Panel(); + this.maqSoftwareLogo = new System.Windows.Forms.PictureBox(); + this.powerBiLogo = new System.Windows.Forms.PictureBox(); + this.ribbonMain = new System.Windows.Forms.Ribbon(); + this.mnuOpen = new System.Windows.Forms.RibbonOrbMenuItem(); + this.mnuSave = new System.Windows.Forms.RibbonOrbMenuItem(); + this.mnuSaveAs = new System.Windows.Forms.RibbonOrbMenuItem(); + this.mnuExit = new System.Windows.Forms.RibbonOrbMenuItem(); + this.pnlHeader = new System.Windows.Forms.Panel(); + this.spltSourceTarget = new System.Windows.Forms.SplitContainer(); + this.label1 = new System.Windows.Forms.Label(); + this.txtSource = new System.Windows.Forms.TextBox(); + this.txtTarget = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.StatusBarComparsion.SuspendLayout(); + this.pnlRibbon.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.maqSoftwareLogo)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.powerBiLogo)).BeginInit(); + this.pnlHeader.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.spltSourceTarget)).BeginInit(); + this.spltSourceTarget.Panel1.SuspendLayout(); + this.spltSourceTarget.Panel2.SuspendLayout(); + this.spltSourceTarget.SuspendLayout(); + this.SuspendLayout(); + // + // StatusBarComparsion + // + this.StatusBarComparsion.ImageScalingSize = new System.Drawing.Size(36, 36); + this.StatusBarComparsion.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripStatusLabel1, + this.toolStripProgressBar1, + this.toolStripStatusLabel2, + this.NewVersionLink}); + this.StatusBarComparsion.Location = new System.Drawing.Point(0, 810); + this.StatusBarComparsion.Name = "StatusBarComparsion"; + this.StatusBarComparsion.Size = new System.Drawing.Size(1176, 22); + this.StatusBarComparsion.TabIndex = 48; + this.StatusBarComparsion.Text = "Comparison Status"; + // + // toolStripStatusLabel1 + // + this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + this.toolStripStatusLabel1.Size = new System.Drawing.Size(0, 17); + // + // toolStripProgressBar1 + // + this.toolStripProgressBar1.Name = "toolStripProgressBar1"; + this.toolStripProgressBar1.Size = new System.Drawing.Size(100, 16); + this.toolStripProgressBar1.Visible = false; + // + // toolStripStatusLabel2 + // + this.toolStripStatusLabel2.Name = "toolStripStatusLabel2"; + this.toolStripStatusLabel2.Size = new System.Drawing.Size(1161, 17); + this.toolStripStatusLabel2.Spring = true; + // + // NewVersionLink + // + this.NewVersionLink.IsLink = true; + this.NewVersionLink.Name = "NewVersionLink"; + this.NewVersionLink.Size = new System.Drawing.Size(72, 17); + this.NewVersionLink.Text = "New version"; + this.NewVersionLink.Visible = false; + this.NewVersionLink.Click += new System.EventHandler(this.NewVersionLink_Click); + // + // tabHome + // + this.tabHome.Name = "tabHome"; + this.tabHome.Panels.Add(this.panelCompare); + this.tabHome.Panels.Add(this.panelMisc); + this.tabHome.Text = "Home"; + // + // panelCompare + // + this.panelCompare.ButtonMoreVisible = false; + this.panelCompare.Items.Add(this.btnCompareTabularModels); + this.panelCompare.Items.Add(this.ddSelectActions); + this.panelCompare.Items.Add(this.btnValidateSelection); + this.panelCompare.Items.Add(this.btnUpdate); + this.panelCompare.Items.Add(this.btnGenerateScript); + this.panelCompare.Name = "panelCompare"; + this.panelCompare.Text = ""; + // + // btnCompareTabularModels + // + this.btnCompareTabularModels.Image = ((System.Drawing.Image)(resources.GetObject("btnCompareTabularModels.Image"))); + this.btnCompareTabularModels.LargeImage = ((System.Drawing.Image)(resources.GetObject("btnCompareTabularModels.LargeImage"))); + this.btnCompareTabularModels.Name = "btnCompareTabularModels"; + this.btnCompareTabularModels.SmallImage = ((System.Drawing.Image)(resources.GetObject("btnCompareTabularModels.SmallImage"))); + this.btnCompareTabularModels.Text = "Compare"; + this.btnCompareTabularModels.Click += new System.EventHandler(this.btnCompareTabularModels_Click); + // + // ddSelectActions + // + this.ddSelectActions.DrawDropDownIconsBar = false; + this.ddSelectActions.DropDownItems.Add(this.mnuHideSkipObjects); + this.ddSelectActions.DropDownItems.Add(this.mnuHideSkipObjectsWithSameDefinition); + this.ddSelectActions.DropDownItems.Add(this.mnuShowSkipObjects); + this.ddSelectActions.DropDownItems.Add(this.ribbonSeparator1); + this.ddSelectActions.DropDownItems.Add(this.mnuSkipAllObjectsMissingInSource); + this.ddSelectActions.DropDownItems.Add(this.mnuDeleteAllObjectsMissingInSource); + this.ddSelectActions.DropDownItems.Add(this.mnuSkipAllObjectsMissingInTarget); + this.ddSelectActions.DropDownItems.Add(this.mnuCreateAllObjectsMissingInTarget); + this.ddSelectActions.DropDownItems.Add(this.mnuSkipAllObjectsWithDifferentDefinitions); + this.ddSelectActions.DropDownItems.Add(this.mnuUpdateAllObjectsWithDifferentDefinitions); + this.ddSelectActions.Image = ((System.Drawing.Image)(resources.GetObject("ddSelectActions.Image"))); + this.ddSelectActions.LargeImage = ((System.Drawing.Image)(resources.GetObject("ddSelectActions.LargeImage"))); + this.ddSelectActions.Name = "ddSelectActions"; + this.ddSelectActions.SmallImage = ((System.Drawing.Image)(resources.GetObject("ddSelectActions.SmallImage"))); + this.ddSelectActions.Style = System.Windows.Forms.RibbonButtonStyle.DropDown; + this.ddSelectActions.Text = "Select Actions"; + // + // mnuHideSkipObjects + // + this.mnuHideSkipObjects.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuHideSkipObjects.Image = ((System.Drawing.Image)(resources.GetObject("mnuHideSkipObjects.Image"))); + this.mnuHideSkipObjects.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuHideSkipObjects.LargeImage"))); + this.mnuHideSkipObjects.Name = "mnuHideSkipObjects"; + this.mnuHideSkipObjects.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuHideSkipObjects.SmallImage"))); + this.mnuHideSkipObjects.Text = "Hide Skip Objects"; + this.mnuHideSkipObjects.Click += new System.EventHandler(this.mnuHideSkipObjects_Click); + // + // mnuHideSkipObjectsWithSameDefinition + // + this.mnuHideSkipObjectsWithSameDefinition.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuHideSkipObjectsWithSameDefinition.Image = ((System.Drawing.Image)(resources.GetObject("mnuHideSkipObjectsWithSameDefinition.Image"))); + this.mnuHideSkipObjectsWithSameDefinition.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuHideSkipObjectsWithSameDefinition.LargeImage"))); + this.mnuHideSkipObjectsWithSameDefinition.Name = "mnuHideSkipObjectsWithSameDefinition"; + this.mnuHideSkipObjectsWithSameDefinition.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuHideSkipObjectsWithSameDefinition.SmallImage"))); + this.mnuHideSkipObjectsWithSameDefinition.Text = "Hide Skip Objects with Same Definition"; + this.mnuHideSkipObjectsWithSameDefinition.Click += new System.EventHandler(this.mnuHideSkipObjectsWithSameDefinition_Click); + // + // mnuShowSkipObjects + // + this.mnuShowSkipObjects.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuShowSkipObjects.Image = ((System.Drawing.Image)(resources.GetObject("mnuShowSkipObjects.Image"))); + this.mnuShowSkipObjects.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuShowSkipObjects.LargeImage"))); + this.mnuShowSkipObjects.Name = "mnuShowSkipObjects"; + this.mnuShowSkipObjects.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuShowSkipObjects.SmallImage"))); + this.mnuShowSkipObjects.Text = "Show Skip Objects"; + this.mnuShowSkipObjects.Click += new System.EventHandler(this.mnuShowSkipObjects_Click); + // + // ribbonSeparator1 + // + this.ribbonSeparator1.Name = "ribbonSeparator1"; + // + // mnuSkipAllObjectsMissingInSource + // + this.mnuSkipAllObjectsMissingInSource.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuSkipAllObjectsMissingInSource.Image = ((System.Drawing.Image)(resources.GetObject("mnuSkipAllObjectsMissingInSource.Image"))); + this.mnuSkipAllObjectsMissingInSource.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuSkipAllObjectsMissingInSource.LargeImage"))); + this.mnuSkipAllObjectsMissingInSource.Name = "mnuSkipAllObjectsMissingInSource"; + this.mnuSkipAllObjectsMissingInSource.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuSkipAllObjectsMissingInSource.SmallImage"))); + this.mnuSkipAllObjectsMissingInSource.Text = "Skip all objects Missing in Source"; + this.mnuSkipAllObjectsMissingInSource.Click += new System.EventHandler(this.mnuSkipAllObjectsMissingInSource_Click); + // + // mnuDeleteAllObjectsMissingInSource + // + this.mnuDeleteAllObjectsMissingInSource.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuDeleteAllObjectsMissingInSource.Image = ((System.Drawing.Image)(resources.GetObject("mnuDeleteAllObjectsMissingInSource.Image"))); + this.mnuDeleteAllObjectsMissingInSource.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuDeleteAllObjectsMissingInSource.LargeImage"))); + this.mnuDeleteAllObjectsMissingInSource.Name = "mnuDeleteAllObjectsMissingInSource"; + this.mnuDeleteAllObjectsMissingInSource.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuDeleteAllObjectsMissingInSource.SmallImage"))); + this.mnuDeleteAllObjectsMissingInSource.Text = "Delete all objects Missing in Source"; + this.mnuDeleteAllObjectsMissingInSource.Click += new System.EventHandler(this.mnuDeleteAllObjectsMissingInSource_Click); + // + // mnuSkipAllObjectsMissingInTarget + // + this.mnuSkipAllObjectsMissingInTarget.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuSkipAllObjectsMissingInTarget.Image = ((System.Drawing.Image)(resources.GetObject("mnuSkipAllObjectsMissingInTarget.Image"))); + this.mnuSkipAllObjectsMissingInTarget.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuSkipAllObjectsMissingInTarget.LargeImage"))); + this.mnuSkipAllObjectsMissingInTarget.Name = "mnuSkipAllObjectsMissingInTarget"; + this.mnuSkipAllObjectsMissingInTarget.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuSkipAllObjectsMissingInTarget.SmallImage"))); + this.mnuSkipAllObjectsMissingInTarget.Text = "Skip all objects Missing In Target"; + this.mnuSkipAllObjectsMissingInTarget.Click += new System.EventHandler(this.mnuSkipAllObjectsMissingInTarget_Click); + // + // mnuCreateAllObjectsMissingInTarget + // + this.mnuCreateAllObjectsMissingInTarget.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuCreateAllObjectsMissingInTarget.Image = ((System.Drawing.Image)(resources.GetObject("mnuCreateAllObjectsMissingInTarget.Image"))); + this.mnuCreateAllObjectsMissingInTarget.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuCreateAllObjectsMissingInTarget.LargeImage"))); + this.mnuCreateAllObjectsMissingInTarget.Name = "mnuCreateAllObjectsMissingInTarget"; + this.mnuCreateAllObjectsMissingInTarget.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuCreateAllObjectsMissingInTarget.SmallImage"))); + this.mnuCreateAllObjectsMissingInTarget.Text = "Create all objects Missing in Target"; + this.mnuCreateAllObjectsMissingInTarget.Click += new System.EventHandler(this.mnuCreateAllObjectsMissingInTarget_Click); + // + // mnuSkipAllObjectsWithDifferentDefinitions + // + this.mnuSkipAllObjectsWithDifferentDefinitions.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuSkipAllObjectsWithDifferentDefinitions.Image = ((System.Drawing.Image)(resources.GetObject("mnuSkipAllObjectsWithDifferentDefinitions.Image"))); + this.mnuSkipAllObjectsWithDifferentDefinitions.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuSkipAllObjectsWithDifferentDefinitions.LargeImage"))); + this.mnuSkipAllObjectsWithDifferentDefinitions.Name = "mnuSkipAllObjectsWithDifferentDefinitions"; + this.mnuSkipAllObjectsWithDifferentDefinitions.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuSkipAllObjectsWithDifferentDefinitions.SmallImage"))); + this.mnuSkipAllObjectsWithDifferentDefinitions.Text = "Skip all objects with Different Definitions"; + this.mnuSkipAllObjectsWithDifferentDefinitions.Click += new System.EventHandler(this.mnuSkipAllObjectsWithDifferentDefinitions_Click); + // + // mnuUpdateAllObjectsWithDifferentDefinitions + // + this.mnuUpdateAllObjectsWithDifferentDefinitions.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuUpdateAllObjectsWithDifferentDefinitions.Image = ((System.Drawing.Image)(resources.GetObject("mnuUpdateAllObjectsWithDifferentDefinitions.Image"))); + this.mnuUpdateAllObjectsWithDifferentDefinitions.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuUpdateAllObjectsWithDifferentDefinitions.LargeImage"))); + this.mnuUpdateAllObjectsWithDifferentDefinitions.Name = "mnuUpdateAllObjectsWithDifferentDefinitions"; + this.mnuUpdateAllObjectsWithDifferentDefinitions.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuUpdateAllObjectsWithDifferentDefinitions.SmallImage"))); + this.mnuUpdateAllObjectsWithDifferentDefinitions.Text = "Update all objects with Different Definitions"; + this.mnuUpdateAllObjectsWithDifferentDefinitions.Click += new System.EventHandler(this.mnuUpdateAllObjectsWithDifferentDefinitions_Click); + // + // btnValidateSelection + // + this.btnValidateSelection.Image = ((System.Drawing.Image)(resources.GetObject("btnValidateSelection.Image"))); + this.btnValidateSelection.LargeImage = ((System.Drawing.Image)(resources.GetObject("btnValidateSelection.LargeImage"))); + this.btnValidateSelection.Name = "btnValidateSelection"; + this.btnValidateSelection.SmallImage = ((System.Drawing.Image)(resources.GetObject("btnValidateSelection.SmallImage"))); + this.btnValidateSelection.Text = "Validate Selection"; + this.btnValidateSelection.Click += new System.EventHandler(this.btnValidateSelection_Click); + // + // btnUpdate + // + this.btnUpdate.Image = ((System.Drawing.Image)(resources.GetObject("btnUpdate.Image"))); + this.btnUpdate.LargeImage = ((System.Drawing.Image)(resources.GetObject("btnUpdate.LargeImage"))); + this.btnUpdate.Name = "btnUpdate"; + this.btnUpdate.SmallImage = ((System.Drawing.Image)(resources.GetObject("btnUpdate.SmallImage"))); + this.btnUpdate.Text = "Update"; + this.btnUpdate.Click += new System.EventHandler(this.btnUpdate_Click); + // + // btnGenerateScript + // + this.btnGenerateScript.Image = ((System.Drawing.Image)(resources.GetObject("btnGenerateScript.Image"))); + this.btnGenerateScript.LargeImage = ((System.Drawing.Image)(resources.GetObject("btnGenerateScript.LargeImage"))); + this.btnGenerateScript.Name = "btnGenerateScript"; + this.btnGenerateScript.SmallImage = ((System.Drawing.Image)(resources.GetObject("btnGenerateScript.SmallImage"))); + this.btnGenerateScript.Text = "Generate Script"; + this.btnGenerateScript.Click += new System.EventHandler(this.btnGenerateScript_Click); + // + // panelMisc + // + this.panelMisc.ButtonMoreVisible = false; + this.panelMisc.Items.Add(this.btnOptions); + this.panelMisc.Items.Add(this.btnReportDifferences); + this.panelMisc.Name = "panelMisc"; + this.panelMisc.Text = null; + // + // btnOptions + // + this.btnOptions.Image = ((System.Drawing.Image)(resources.GetObject("btnOptions.Image"))); + this.btnOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("btnOptions.LargeImage"))); + this.btnOptions.Name = "btnOptions"; + this.btnOptions.SmallImage = ((System.Drawing.Image)(resources.GetObject("btnOptions.SmallImage"))); + this.btnOptions.Text = "Options"; + this.btnOptions.Click += new System.EventHandler(this.btnOptions_Click); + // + // btnReportDifferences + // + this.btnReportDifferences.Image = ((System.Drawing.Image)(resources.GetObject("btnReportDifferences.Image"))); + this.btnReportDifferences.LargeImage = ((System.Drawing.Image)(resources.GetObject("btnReportDifferences.LargeImage"))); + this.btnReportDifferences.Name = "btnReportDifferences"; + this.btnReportDifferences.SmallImage = ((System.Drawing.Image)(resources.GetObject("btnReportDifferences.SmallImage"))); + this.btnReportDifferences.Text = "Report Differences"; + this.btnReportDifferences.Click += new System.EventHandler(this.btnReportDifferences_Click); + // + // tabHelp + // + this.tabHelp.Name = "tabHelp"; + this.tabHelp.Panels.Add(this.panelHelp); + this.tabHelp.Text = "Help"; + // + // panelHelp + // + this.panelHelp.ButtonMoreVisible = false; + this.panelHelp.Items.Add(this.btnHelp); + this.panelHelp.Name = "panelHelp"; + this.panelHelp.Text = null; + // + // btnHelp + // + this.btnHelp.Image = ((System.Drawing.Image)(resources.GetObject("btnHelp.Image"))); + this.btnHelp.LargeImage = ((System.Drawing.Image)(resources.GetObject("btnHelp.LargeImage"))); + this.btnHelp.Name = "btnHelp"; + this.btnHelp.SmallImage = ((System.Drawing.Image)(resources.GetObject("btnHelp.SmallImage"))); + this.btnHelp.Text = "Info"; + this.btnHelp.Click += new System.EventHandler(this.btnHelp_Click); + // + // pnlRibbon + // + this.pnlRibbon.Controls.Add(this.maqSoftwareLogo); + this.pnlRibbon.Controls.Add(this.powerBiLogo); + this.pnlRibbon.Controls.Add(this.ribbonMain); + this.pnlRibbon.Dock = System.Windows.Forms.DockStyle.Top; + this.pnlRibbon.Location = new System.Drawing.Point(0, 0); + this.pnlRibbon.Margin = new System.Windows.Forms.Padding(1); + this.pnlRibbon.Name = "pnlRibbon"; + this.pnlRibbon.Size = new System.Drawing.Size(1176, 115); + this.pnlRibbon.TabIndex = 49; + // + // maqSoftwareLogo + // + this.maqSoftwareLogo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.maqSoftwareLogo.BackColor = System.Drawing.Color.White; + this.maqSoftwareLogo.Cursor = System.Windows.Forms.Cursors.Hand; + this.maqSoftwareLogo.Image = ((System.Drawing.Image)(resources.GetObject("maqSoftwareLogo.Image"))); + this.maqSoftwareLogo.Location = new System.Drawing.Point(862, 32); + this.maqSoftwareLogo.Margin = new System.Windows.Forms.Padding(1); + this.maqSoftwareLogo.Name = "maqSoftwareLogo"; + this.maqSoftwareLogo.Size = new System.Drawing.Size(163, 50); + this.maqSoftwareLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.maqSoftwareLogo.TabIndex = 3; + this.maqSoftwareLogo.TabStop = false; + this.maqSoftwareLogo.Click += new System.EventHandler(this.maqSoftwareLogo_Click); + // + // powerBiLogo + // + this.powerBiLogo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.powerBiLogo.Image = ((System.Drawing.Image)(resources.GetObject("powerBiLogo.Image"))); + this.powerBiLogo.Location = new System.Drawing.Point(1022, 28); + this.powerBiLogo.Margin = new System.Windows.Forms.Padding(1); + this.powerBiLogo.Name = "powerBiLogo"; + this.powerBiLogo.Size = new System.Drawing.Size(149, 58); + this.powerBiLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.powerBiLogo.TabIndex = 2; + this.powerBiLogo.TabStop = false; + // + // ribbonMain + // + this.ribbonMain.CaptionBarVisible = false; + this.ribbonMain.Font = new System.Drawing.Font("Segoe UI", 9F); + this.ribbonMain.Location = new System.Drawing.Point(0, 0); + this.ribbonMain.Margin = new System.Windows.Forms.Padding(1); + this.ribbonMain.Minimized = false; + this.ribbonMain.Name = "ribbonMain"; + // + // + // + this.ribbonMain.OrbDropDown.BorderRoundness = 8; + this.ribbonMain.OrbDropDown.Location = new System.Drawing.Point(0, 0); + this.ribbonMain.OrbDropDown.MenuItems.Add(this.mnuOpen); + this.ribbonMain.OrbDropDown.MenuItems.Add(this.mnuSave); + this.ribbonMain.OrbDropDown.MenuItems.Add(this.mnuSaveAs); + this.ribbonMain.OrbDropDown.MenuItems.Add(this.mnuExit); + this.ribbonMain.OrbDropDown.Name = ""; + this.ribbonMain.OrbDropDown.Size = new System.Drawing.Size(140, 248); + this.ribbonMain.OrbDropDown.TabIndex = 0; + this.ribbonMain.OrbStyle = System.Windows.Forms.RibbonOrbStyle.Office_2013; + this.ribbonMain.OrbText = "File"; + this.ribbonMain.RibbonTabFont = new System.Drawing.Font("Trebuchet MS", 9F); + this.ribbonMain.Size = new System.Drawing.Size(1176, 90); + this.ribbonMain.TabIndex = 1; + this.ribbonMain.Tabs.Add(this.tabHome); + this.ribbonMain.Tabs.Add(this.tabHelp); + this.ribbonMain.TabsMargin = new System.Windows.Forms.Padding(5, 2, 20, 0); + this.ribbonMain.TabSpacing = 4; + // + // mnuOpen + // + this.mnuOpen.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuOpen.Image = ((System.Drawing.Image)(resources.GetObject("mnuOpen.Image"))); + this.mnuOpen.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuOpen.LargeImage"))); + this.mnuOpen.Name = "mnuOpen"; + this.mnuOpen.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuOpen.SmallImage"))); + this.mnuOpen.Text = "Open"; + this.mnuOpen.Click += new System.EventHandler(this.mnuOpen_Click); + // + // mnuSave + // + this.mnuSave.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuSave.Image = ((System.Drawing.Image)(resources.GetObject("mnuSave.Image"))); + this.mnuSave.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuSave.LargeImage"))); + this.mnuSave.Name = "mnuSave"; + this.mnuSave.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuSave.SmallImage"))); + this.mnuSave.Text = "Save"; + this.mnuSave.Click += new System.EventHandler(this.mnuSave_Click); + // + // mnuSaveAs + // + this.mnuSaveAs.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuSaveAs.Image = ((System.Drawing.Image)(resources.GetObject("mnuSaveAs.Image"))); + this.mnuSaveAs.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuSaveAs.LargeImage"))); + this.mnuSaveAs.Name = "mnuSaveAs"; + this.mnuSaveAs.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuSaveAs.SmallImage"))); + this.mnuSaveAs.Text = "Save As"; + this.mnuSaveAs.Click += new System.EventHandler(this.mnuSaveAs_Click); + // + // mnuExit + // + this.mnuExit.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left; + this.mnuExit.Image = ((System.Drawing.Image)(resources.GetObject("mnuExit.Image"))); + this.mnuExit.LargeImage = ((System.Drawing.Image)(resources.GetObject("mnuExit.LargeImage"))); + this.mnuExit.Name = "mnuExit"; + this.mnuExit.SmallImage = ((System.Drawing.Image)(resources.GetObject("mnuExit.SmallImage"))); + this.mnuExit.Text = "Exit"; + this.mnuExit.Click += new System.EventHandler(this.mnuExit_Click); + // + // pnlHeader + // + this.pnlHeader.BackColor = System.Drawing.SystemColors.HighlightText; + this.pnlHeader.Controls.Add(this.spltSourceTarget); + this.pnlHeader.Dock = System.Windows.Forms.DockStyle.Top; + this.pnlHeader.Location = new System.Drawing.Point(0, 115); + this.pnlHeader.Name = "pnlHeader"; + this.pnlHeader.Size = new System.Drawing.Size(1176, 33); + this.pnlHeader.TabIndex = 50; + // + // spltSourceTarget + // + this.spltSourceTarget.Dock = System.Windows.Forms.DockStyle.Fill; + this.spltSourceTarget.IsSplitterFixed = true; + this.spltSourceTarget.Location = new System.Drawing.Point(0, 0); + this.spltSourceTarget.Name = "spltSourceTarget"; + // + // spltSourceTarget.Panel1 + // + this.spltSourceTarget.Panel1.Controls.Add(this.label1); + this.spltSourceTarget.Panel1.Controls.Add(this.txtSource); + this.spltSourceTarget.Panel1.RightToLeft = System.Windows.Forms.RightToLeft.No; + // + // spltSourceTarget.Panel2 + // + this.spltSourceTarget.Panel2.Controls.Add(this.txtTarget); + this.spltSourceTarget.Panel2.Controls.Add(this.label2); + this.spltSourceTarget.Panel2.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.spltSourceTarget.Size = new System.Drawing.Size(1176, 33); + this.spltSourceTarget.SplitterDistance = 594; + this.spltSourceTarget.TabIndex = 45; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(2, 8); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(41, 13); + this.label1.TabIndex = 39; + this.label1.Text = "Source"; + // + // txtSource + // + this.txtSource.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtSource.BackColor = System.Drawing.SystemColors.HighlightText; + this.txtSource.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtSource.Location = new System.Drawing.Point(49, 6); + this.txtSource.Name = "txtSource"; + this.txtSource.Size = new System.Drawing.Size(476, 20); + this.txtSource.TabIndex = 41; + // + // txtTarget + // + this.txtTarget.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtTarget.BackColor = System.Drawing.SystemColors.HighlightText; + this.txtTarget.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtTarget.Location = new System.Drawing.Point(45, 6); + this.txtTarget.Name = "txtTarget"; + this.txtTarget.Size = new System.Drawing.Size(451, 20); + this.txtTarget.TabIndex = 42; + // + // label2 + // + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(3, 8); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(38, 13); + this.label2.TabIndex = 40; + this.label2.Text = "Target"; + // + // ComparisonForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1176, 832); + this.Controls.Add(this.pnlHeader); + this.Controls.Add(this.StatusBarComparsion); + this.Controls.Add(this.pnlRibbon); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.KeyPreview = true; + this.MinimumSize = new System.Drawing.Size(767, 481); + this.Name = "ComparisonForm"; + this.Text = "ALM Toolkit for Power BI"; + this.Load += new System.EventHandler(this.ComparisonForm_Load); + this.Shown += new System.EventHandler(this.ComparisonForm_Shown); + this.StatusBarComparsion.ResumeLayout(false); + this.StatusBarComparsion.PerformLayout(); + this.pnlRibbon.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.maqSoftwareLogo)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.powerBiLogo)).EndInit(); + this.pnlHeader.ResumeLayout(false); + this.spltSourceTarget.Panel1.ResumeLayout(false); + this.spltSourceTarget.Panel1.PerformLayout(); + this.spltSourceTarget.Panel2.ResumeLayout(false); + this.spltSourceTarget.Panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.spltSourceTarget)).EndInit(); + this.spltSourceTarget.ResumeLayout(false); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private System.Windows.Forms.StatusStrip StatusBarComparsion; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; + private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar1; + private System.Windows.Forms.RibbonTab tabHome; + private System.Windows.Forms.RibbonPanel panelCompare; + private System.Windows.Forms.RibbonButton btnCompareTabularModels; + private System.Windows.Forms.RibbonButton ddSelectActions; + private System.Windows.Forms.RibbonButton mnuHideSkipObjects; + private System.Windows.Forms.RibbonButton mnuHideSkipObjectsWithSameDefinition; + private System.Windows.Forms.RibbonButton mnuShowSkipObjects; + private System.Windows.Forms.RibbonSeparator ribbonSeparator1; + private System.Windows.Forms.RibbonButton mnuSkipAllObjectsMissingInSource; + private System.Windows.Forms.RibbonButton mnuDeleteAllObjectsMissingInSource; + private System.Windows.Forms.RibbonButton mnuSkipAllObjectsMissingInTarget; + private System.Windows.Forms.RibbonButton mnuCreateAllObjectsMissingInTarget; + private System.Windows.Forms.RibbonButton mnuSkipAllObjectsWithDifferentDefinitions; + private System.Windows.Forms.RibbonButton mnuUpdateAllObjectsWithDifferentDefinitions; + private System.Windows.Forms.RibbonButton btnValidateSelection; + private System.Windows.Forms.RibbonButton btnUpdate; + private System.Windows.Forms.RibbonButton btnGenerateScript; + private System.Windows.Forms.RibbonPanel panelMisc; + private System.Windows.Forms.RibbonButton btnOptions; + private System.Windows.Forms.RibbonButton btnReportDifferences; + private System.Windows.Forms.RibbonTab tabHelp; + private System.Windows.Forms.RibbonPanel panelHelp; + private System.Windows.Forms.RibbonButton btnHelp; + private System.Windows.Forms.Panel pnlRibbon; + private System.Windows.Forms.Ribbon ribbonMain; + private System.Windows.Forms.Panel pnlHeader; + private System.Windows.Forms.SplitContainer spltSourceTarget; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtSource; + private System.Windows.Forms.TextBox txtTarget; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.PictureBox powerBiLogo; + private System.Windows.Forms.PictureBox maqSoftwareLogo; + private System.Windows.Forms.RibbonOrbMenuItem mnuOpen; + private System.Windows.Forms.RibbonOrbMenuItem mnuSave; + private System.Windows.Forms.RibbonOrbMenuItem mnuSaveAs; + private System.Windows.Forms.RibbonOrbMenuItem mnuExit; + private System.Windows.Forms.ToolStripStatusLabel NewVersionLink; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel2; + } +} + diff --git a/AlmToolkit/AlmToolkit/ComparisonForm.cs b/AlmToolkit/AlmToolkit/ComparisonForm.cs new file mode 100644 index 0000000..5d14fde --- /dev/null +++ b/AlmToolkit/AlmToolkit/ComparisonForm.cs @@ -0,0 +1,1047 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Xml.Serialization; +using BismNormalizer; +using BismNormalizer.TabularCompare; +using BismNormalizer.TabularCompare.Core; +using BismNormalizer.TabularCompare.UI; +using CefSharp; +using CefSharp.WinForms; +using Microsoft.AnalysisServices.Tabular; + +namespace AlmToolkit +{ + public partial class ComparisonForm : Form + { + #region Private Members + + private ComparisonInfo _comparisonInfo; + private Comparison _comparison; + private ComparisonJSInteraction _comparisonInter; // CEFSharp Interface to connect to Angular Tree Control + private ChromiumWebBrowser chromeBrowser; + private CompareState _compareState = CompareState.NotCompared; + private string _fileName = null; + private bool _unsaved = false; + private bool _newerVersionAvailable = false; + private string _latestVersion = null; + + #endregion + + #region Methods + + public ComparisonForm() + { + InitializeComponent(); + InitializeChromium(); + } + + /// + /// Initialize the chrome browser with the html file to be opened + /// + private void InitializeChromium() + { + try + { + // Check if the page exists + string page = string.Format(@"{0}\html-resources\dist\index.html", Application.StartupPath); + if (!File.Exists(page)) + { + MessageBox.Show("Error html file doesn't exist : " + page, Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + CefSettings settings = new CefSettings(); + // Initialize cef with the provided settings + settings.CefCommandLineArgs.Add("disable-gpu", "1"); + + settings.BrowserSubprocessPath = @"x86\CefSharp.BrowserSubprocess.exe"; + //settings.BrowserSubprocessPath = string.Format(@"{0}\x86\CefSharp.BrowserSubprocess.exe", Application.StartupPath); ; + + Cef.Initialize(settings, performDependencyCheck: false, browserProcessHandler: null); + // Create a browser component + chromeBrowser = new ChromiumWebBrowser(page); + // Add it to the form and fill it to the form window. + this.Controls.Add(chromeBrowser); + chromeBrowser.Dock = DockStyle.Fill; + chromeBrowser.BringToFront(); + + CefSharpSettings.LegacyJavascriptBindingEnabled = true; + + // Initialize the interaction variable + _comparisonInter = new ComparisonJSInteraction(this); + + // Register C# objects + chromeBrowser.RegisterAsyncJsObject("chromeDebugger", new ChromeDebugger(chromeBrowser, this)); + chromeBrowser.RegisterAsyncJsObject("comparisonJSInteraction", _comparisonInter); + } + catch (FileNotFoundException) + { + MessageBox.Show("FileNotFoundException in InitializeChromium().\n\nPlease try to install C++ Redistributable Packages for Visual Studio x86, min version www.microsoft.com/download/details.aspx?id=40784", Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + } + catch (Exception exc) + { + MessageBox.Show(exc.Message, Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ComparisonForm_Load(object sender, EventArgs e) + { + if (_comparisonInfo == null) + { + _comparisonInfo = new ComparisonInfo(); + _comparisonInfo.AppName = Utils.AssemblyProduct; + + //GetFromAutoCompleteSource(); + //GetFromAutoCompleteTarget(); + + SetNotComparedState(); + } + + Task.Run(() => CheckForNewVersion()); + + //hdpi + Rescale(); + } + + private void ComparisonForm_Shown(object sender, EventArgs e) + { + this.InitializeAndCompareTabularModels(); + } + + private async void CheckForNewVersion() + { + try + { + var client = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("Microsoft")); + var releases = await client.Repository.Release.GetAll("Microsoft", "Analysis-Services"); + + //TODO: iterate releases and check for latest.Name starts with "ALM Toolkit" + var latest = releases[0]; + _latestVersion = latest.TagName; + var installedVersion = new Version(Utils.AssemblyVersion); + var latestVersion = new Version(_latestVersion); + var result = latestVersion.CompareTo(installedVersion); + + if (result > 0) + { + //There is a newer release on GitHub + _newerVersionAvailable = true; + NewVersionLink.Text = $"New version available: {_latestVersion}"; + NewVersionLink.Visible = true; + } + } + catch { } + } + + private void NewVersionLink_Click(object sender, EventArgs e) + { + NewVersionLink.LinkVisited = true; + System.Diagnostics.Process.Start(Utils.LatestVersionDownloadUrl); + } + + private void SetNotComparedState() + { + if (_comparison != null) + { + _comparison.Disconnect(); + } + + btnCompareTabularModels.Enabled = true; + ddSelectActions.Enabled = false; + mnuHideSkipObjects.Enabled = false; + mnuShowSkipObjects.Enabled = false; + mnuSkipAllObjectsMissingInSource.Enabled = false; + mnuDeleteAllObjectsMissingInSource.Enabled = false; + mnuSkipAllObjectsMissingInTarget.Enabled = false; + mnuCreateAllObjectsMissingInTarget.Enabled = false; + mnuSkipAllObjectsWithDifferentDefinitions.Enabled = false; + mnuUpdateAllObjectsWithDifferentDefinitions.Enabled = false; + btnValidateSelection.Enabled = false; + btnUpdate.Enabled = false; + btnGenerateScript.Enabled = false; + btnReportDifferences.Enabled = false; + toolStripStatusLabel1.Text = ""; + + //ComparisonCtrl.SetNotComparedState(); + + _compareState = CompareState.NotCompared; + SetGridState(false); + } + + private void SetComparedState() + { + btnCompareTabularModels.Enabled = true; + ddSelectActions.Enabled = true; + mnuHideSkipObjects.Enabled = true; + mnuShowSkipObjects.Enabled = true; + mnuSkipAllObjectsMissingInSource.Enabled = true; + mnuDeleteAllObjectsMissingInSource.Enabled = true; + mnuSkipAllObjectsMissingInTarget.Enabled = true; + mnuCreateAllObjectsMissingInTarget.Enabled = true; + mnuSkipAllObjectsWithDifferentDefinitions.Enabled = true; + mnuUpdateAllObjectsWithDifferentDefinitions.Enabled = true; + btnValidateSelection.Enabled = true; + btnUpdate.Enabled = false; + btnGenerateScript.Enabled = false; + btnReportDifferences.Enabled = true; + + //ComparisonCtrl.SetComparedState(); + + // NG: Disable skip and other actions for the control here + _compareState = CompareState.Compared; + + SetGridState(true); + } + + private void SetValidatedState() + { + btnUpdate.Enabled = true; + btnGenerateScript.Enabled = true; + + _compareState = CompareState.Validated; + } + + private bool ShowConnectionsForm() + { + if (_compareState != CompareState.NotCompared) + { + //just in case user has some selections, store them to the SkipSelections collection + _comparison.RefreshSkipSelectionsFromComparisonObjects(); + } + + ConnectionsAlmt connForm = new ConnectionsAlmt(); + connForm.ComparisonInfo = _comparisonInfo; + connForm.StartPosition = FormStartPosition.CenterParent; + connForm.DpiScaleFactor = _dpiScaleFactor; + connForm.ShowDialog(); + if (connForm.DialogResult == DialogResult.OK) + { + SetNotComparedState(); + return true; + } + else return false; + } + + public void InitializeAndCompareTabularModelsNg() + { + if (InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate + { + InitializeAndCompareTabularModels(); + })); + } + } + + public void InitializeAndCompareTabularModels() + { + + try + { + string sourceTemp = txtSource.Text; + string targetTemp = txtTarget.Text; + string sourceDesktopNameTemp = _comparisonInfo.ConnectionInfoSource.DesktopName; + string targetDesktopNameTemp = _comparisonInfo.ConnectionInfoTarget.DesktopName; + + if (!ShowConnectionsForm()) return; + + Cursor = Cursors.WaitCursor; + changeCursor(true); + toolStripStatusLabel1.Text = "ALM Toolkit - comparing datasets ..."; + + PopulateSourceTargetTextBoxes(); + if ( + (_comparisonInfo.ConnectionInfoSource.UseDesktop && sourceDesktopNameTemp != _comparisonInfo.ConnectionInfoSource.DesktopName) || + (!_comparisonInfo.ConnectionInfoSource.UseDesktop && sourceTemp != txtSource.Text) || + (_comparisonInfo.ConnectionInfoTarget.UseDesktop && targetDesktopNameTemp != _comparisonInfo.ConnectionInfoTarget.DesktopName) || + (!_comparisonInfo.ConnectionInfoTarget.UseDesktop && targetTemp != txtTarget.Text) + ) + { + // New connections + //ComparisonCtrl.TriggerComparisonChanged(); + _comparisonInfo.SkipSelections.Clear(); + SetFileNameTitle(true); + } + + this.CompareTabularModels(); + toolStripStatusLabel1.Text = "ALM Toolkit - finished comparing datasets"; + } + catch (TomInternalException) + { + //todo: delete extra info once Oren's fix + MessageBox.Show("TOM internal serialization error occurred.", Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + SetNotComparedState(); + } + catch (Exception exc) + { + MessageBox.Show(exc.Message, Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + SetNotComparedState(); + } + finally + { + Cursor = Cursors.Default; + changeCursor(false); + } + + } + + public void CompareTabularModels() + { + bool userCancelled; + _comparison = ComparisonFactory.CreateComparison(_comparisonInfo, out userCancelled); + + if (!userCancelled) + { + //_comparison.ValidationMessage += HandleValidationMessage; + //_comparison.ResizeValidationHeaders += HandleResizeValidationHeaders; + _comparison.DatabaseDeployment += HandleDatabaseDeployment; + _comparison.Connect(); + SetAutoComplete(); + _comparison.CompareTabularModels(); + + // Avoid conflict for validate with existing control + //ComparisonCtrl.ComparisonChanged += HandleComparisonChanged; + //ComparisonCtrl.Comparison = _comparison; + //ComparisonCtrl.DataBindComparison(); + + _comparisonInter.Comparison = _comparison; + transformAndRefreshGridControl(); + + SetComparedState(); + } + } + + #region Angular tree control handlers + private void transformAndRefreshGridControl() + { + _comparisonInter.SetComparisonData(); + // Send notification to refresh the grid + refreshGridControl(false); + } + + /// + /// Send notification to refresh the grid control on UI + /// + public void refreshGridControl(bool mergeActions) + { + // Invoke method in Angular + string script = "window.angularComponentRef.zone.run(() => { window.angularComponentRef.showTree(" + (mergeActions ? "true" : "false") + "); })"; + chromeBrowser.ExecuteScriptAsync(script); + } + + /// + /// Change the cursor as per status + /// + /// Show wait cursor or not + public void changeCursor(bool showWaitCursor) + { + string script = "window.angularComponentRef.zone.run(() => { window.angularComponentRef.changeCursor(" + (showWaitCursor ? "true" : "false") + "); })"; + chromeBrowser.ExecuteScriptAsync(script); + } + + private void SetGridState(bool showGrid) + { + // Check if we need to clear the comparison node and comparison list as well + + + // Call Angular method to show/hide grid here + string script = "window.angularComponentRef.zone.run(() => { window.angularComponentRef.clearTree(" + (showGrid ? "true" : "false") + "); })"; + if (chromeBrowser.IsBrowserInitialized) + { + chromeBrowser.ExecuteScriptAsync(script); + } + } + #endregion + + + + //private void GetFromAutoCompleteSource() + //{ + // string serverNameSource = ReverseArray(Settings.Default.SourceServerAutoCompleteEntries.Substring(0, + // Settings.Default.SourceServerAutoCompleteEntries.Length - 1).Split("|".ToCharArray()))[0]; //.Reverse().ToArray(); + // _connectionInfoSource = new ConnectionInfo(serverNameSource, Settings.Default.SourceCatalog); + //} + + //private void GetFromAutoCompleteTarget() + //{ + // string serverNameTarget = ReverseArray(Settings.Default.TargetServerAutoCompleteEntries.Substring(0, + // Settings.Default.TargetServerAutoCompleteEntries.Length - 1).Split("|".ToCharArray()))[0]; + // //_connectionInfoTarget = new ConnectionInfo(serverNameTarget, Settings.Default.TargetCatalog); + //} + + internal static T[] ReverseArray(T[] array) + { + T[] newArray = null; + int count = array == null ? 0 : array.Length; + if (count > 0) + { + newArray = new T[count]; + for (int i = 0, j = count - 1; i < count; i++, j--) + { + newArray[i] = array[j]; + } + } + return newArray; + } + + private void SetAutoComplete() + { + if (!_comparisonInfo.ConnectionInfoSource.UseProject && !_comparisonInfo.ConnectionInfoSource.UseDesktop && !_comparisonInfo.ConnectionInfoSource.UseBimFile) + { + if (Settings.Default.SourceServerAutoCompleteEntries.IndexOf(_comparisonInfo.ConnectionInfoSource.ServerName + "|") > -1) + { + Settings.Default.SourceServerAutoCompleteEntries = + Settings.Default.SourceServerAutoCompleteEntries.Remove( + Settings.Default.SourceServerAutoCompleteEntries.IndexOf(_comparisonInfo.ConnectionInfoSource.ServerName + "|"), + (_comparisonInfo.ConnectionInfoSource.ServerName + "|").Length); + } + Settings.Default.SourceServerAutoCompleteEntries += _comparisonInfo.ConnectionInfoSource.ServerName + "|"; + Settings.Default.SourceCatalog = _comparisonInfo.ConnectionInfoSource.DatabaseName; + + Settings.Default.Save(); + //GetFromAutoCompleteSource(); + } + + if (!_comparisonInfo.ConnectionInfoTarget.UseProject && !_comparisonInfo.ConnectionInfoTarget.UseDesktop && !_comparisonInfo.ConnectionInfoTarget.UseBimFile) + { + if (Settings.Default.TargetServerAutoCompleteEntries.IndexOf(_comparisonInfo.ConnectionInfoTarget.ServerName + "|") > -1) + { + Settings.Default.TargetServerAutoCompleteEntries = + Settings.Default.TargetServerAutoCompleteEntries.Remove( + Settings.Default.TargetServerAutoCompleteEntries.IndexOf(_comparisonInfo.ConnectionInfoTarget.ServerName + "|"), + (_comparisonInfo.ConnectionInfoTarget.ServerName + "|").Length); + } + Settings.Default.TargetServerAutoCompleteEntries += _comparisonInfo.ConnectionInfoTarget.ServerName + "|"; + Settings.Default.TargetCatalog = _comparisonInfo.ConnectionInfoTarget.DatabaseName; + + Settings.Default.Save(); + //GetFromAutoCompleteTarget(); + } + } + + #endregion + + #region Event Handlers + + private void PopulateSourceTargetTextBoxes() + { + if (_comparisonInfo.ConnectionInfoSource.UseDesktop) + { + txtSource.Text = "PBI Desktop: " + _comparisonInfo.ConnectionInfoSource.ServerName + ";" + _comparisonInfo.ConnectionInfoSource.DesktopName; + } + else if (_comparisonInfo.ConnectionInfoSource.UseBimFile) + { + txtSource.Text = "File: " + _comparisonInfo.ConnectionInfoSource.BimFile; + } + else + { + txtSource.Text = "Dataset: " + _comparisonInfo.ConnectionInfoSource.ServerName + ";" + _comparisonInfo.ConnectionInfoSource.DatabaseName; + } + + if (_comparisonInfo.ConnectionInfoTarget.UseDesktop) + { + txtTarget.Text = "PBI Desktop: " + _comparisonInfo.ConnectionInfoTarget.ServerName + ";" + _comparisonInfo.ConnectionInfoTarget.DesktopName; + } + else if (_comparisonInfo.ConnectionInfoTarget.UseBimFile) + { + txtTarget.Text = "File: " + _comparisonInfo.ConnectionInfoTarget.BimFile; + } + else + { + txtTarget.Text = "Dataset: " + _comparisonInfo.ConnectionInfoTarget.ServerName + ";" + _comparisonInfo.ConnectionInfoTarget.DatabaseName; + } + + } + + private void btnGenerateScript_Click(object sender, EventArgs e) + { + try + { + Cursor.Current = Cursors.WaitCursor; + changeCursor(true); + toolStripStatusLabel1.Text = "Creating script ..."; + + //If we get here, there was a problem generating the xmla file (maybe file item templates not installed), so offer saving to a file instead + SaveFileDialog saveFile = new SaveFileDialog(); + saveFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); + saveFile.Filter = "XMLA Files|*.xmla|JSON Files|*.json|Text Files|*.txt|All files|*.*"; + saveFile.CheckFileExists = false; + if (saveFile.ShowDialog() == DialogResult.OK) + { + File.WriteAllText(saveFile.FileName, _comparison.ScriptDatabase()); + toolStripStatusLabel1.Text = "ALM Toolkit - finished generating script"; + MessageBox.Show("Created script\n" + saveFile.FileName, Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + catch (Exception exc) + { + MessageBox.Show(exc.Message, Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + SetNotComparedState(); + } + finally + { + Cursor.Current = Cursors.Default; + changeCursor(false); + toolStripStatusLabel1.Text = ""; + } + } + + private void btnOptions_Click(object sender, EventArgs e) + { + Options optionsForm = new Options(); + optionsForm.ComparisonInfo = _comparisonInfo; + optionsForm.StartPosition = FormStartPosition.CenterParent; + optionsForm.DpiScaleFactor = _dpiScaleFactor; + optionsForm.ShowDialog(); + if (optionsForm.DialogResult == DialogResult.OK) + { + //ComparisonCtrl.TriggerComparisonChanged(); + //if (ComparisonCtrl.CompareState != CompareState.NotCompared) + //{ + // SetNotComparedState(); + // toolStripStatusLabel1.Text = "Comparison invalidated. Please re-run the comparison."; + //} + + if (_compareState != CompareState.NotCompared) + { + SetNotComparedState(); + toolStripStatusLabel1.Text = "Comparison invalidated. Please re-run the comparison."; + } + } + } + + private void btnReportDifferences_Click(object sender, EventArgs e) + { + try + { + Cursor.Current = Cursors.WaitCursor; + changeCursor(true); + toolStripStatusLabel1.Text = "ALM Toolkit - generating report ..."; + toolStripProgressBar1.Visible = true; + _comparison.ReportDifferences(toolStripProgressBar1); + toolStripStatusLabel1.Text = "ALM Toolkit - finished generating report"; + } + catch (Exception exc) + { + MessageBox.Show(exc.Message, Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + } + finally + { + toolStripProgressBar1.Visible = false; + Cursor.Current = Cursors.Default; + changeCursor(false); + } + } + + protected override bool ProcessCmdKey(ref Message msg, Keys keyData) + { + //Todo: not firing + + if (keyData == (Keys.Control | Keys.S)) + { + Save(); + return true; + } + + if (keyData == (Keys.Shift | Keys.Alt | Keys.C)) + { + this.InitializeAndCompareTabularModels(); + return true; + } + + return base.ProcessCmdKey(ref msg, keyData); + } + + private void btnCompareTabularModels_Click(object sender, EventArgs e) + { + InitializeAndCompareTabularModels(); + } + + private void mnuHideSkipObjects_Click(object sender, EventArgs e) + { + //ComparisonCtrl.ShowHideNodes(true); + + _comparisonInter.ShowHideSkipNodes(true); + refreshGridControl(true); + } + + private void mnuHideSkipObjectsWithSameDefinition_Click(object sender, EventArgs e) + { + //ComparisonCtrl.ShowHideNodes(true, sameDefinitionFilter: true); + + _comparisonInter.ShowHideSkipNodes(true, sameDefinitionFilter: true); + refreshGridControl(true); + } + + private void mnuShowSkipObjects_Click(object sender, EventArgs e) + { + //ComparisonCtrl.ShowHideNodes(false); + + _comparisonInter.ShowHideSkipNodes(false); + refreshGridControl(true); + } + + private void mnuSkipAllObjectsMissingInSource_Click(object sender, EventArgs e) + { + //ComparisonCtrl.SkipItems(false, ComparisonObjectStatus.MissingInSource); + SetComparedState(); + + _comparisonInter.SkipItems(false, ComparisonObjectStatus.MissingInSource); + refreshGridControl(true); + } + + private void mnuDeleteAllObjectsMissingInSource_Click(object sender, EventArgs e) + { + //ComparisonCtrl.ShowHideNodes(false); + //ComparisonCtrl.DeleteItems(false); + SetComparedState(); + + _comparisonInter.ShowHideSkipNodes(false); + _comparisonInter.DeleteItems(false); + refreshGridControl(true); + } + + private void mnuSkipAllObjectsMissingInTarget_Click(object sender, EventArgs e) + { + //ComparisonCtrl.SkipItems(false, ComparisonObjectStatus.MissingInTarget); + SetComparedState(); + + _comparisonInter.SkipItems(false, ComparisonObjectStatus.MissingInTarget); + refreshGridControl(true); + } + + private void mnuCreateAllObjectsMissingInTarget_Click(object sender, EventArgs e) + { + //ComparisonCtrl.ShowHideNodes(false); + //ComparisonCtrl.CreateItems(false); + SetComparedState(); + + _comparisonInter.ShowHideSkipNodes(false); + _comparisonInter.CreateItems(false); + refreshGridControl(true); + } + + private void mnuSkipAllObjectsWithDifferentDefinitions_Click(object sender, EventArgs e) + { + //ComparisonCtrl.SkipItems(false, ComparisonObjectStatus.DifferentDefinitions); + SetComparedState(); + + _comparisonInter.SkipItems(false, ComparisonObjectStatus.DifferentDefinitions); + refreshGridControl(true); + } + + private void mnuUpdateAllObjectsWithDifferentDefinitions_Click(object sender, EventArgs e) + { + //ComparisonCtrl.ShowHideNodes(false); + //ComparisonCtrl.UpdateItems(false); + SetComparedState(); + + _comparisonInter.ShowHideSkipNodes(false); + _comparisonInter.UpdateItems(false); + refreshGridControl(true); + } + + private void btnValidateSelection_Click(object sender, EventArgs e) + { + try + { + Cursor.Current = Cursors.WaitCursor; + changeCursor(true); + toolStripStatusLabel1.Text = "ALM Toolkit - validating ..."; + + // Not required since _comparison object is always updated with latest updates + //ComparisonCtrl.RefreshDiffResultsFromGrid(); + + WarningListForm warningList = new WarningListForm(); + warningList.Comparison = _comparison; + //warningList.TreeGridImageList = ComparisonCtrl.TreeGridImageList; + warningList.StartPosition = FormStartPosition.CenterParent; + warningList.ShowDialog(); + + SetValidatedState(); + toolStripStatusLabel1.Text = "ALM Toolkit - finished validating"; + } + catch (Exception exc) + { + MessageBox.Show(exc.Message, Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + SetNotComparedState(); + } + finally + { + Cursor.Current = Cursors.Default; + changeCursor(false); + } + } + + private void btnUpdate_Click(object sender, EventArgs e) + { + if (MessageBox.Show($"Are you sure you want to update the target?", Utils.AssemblyProduct, MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) + { + return; + } + + try + { + Cursor.Current = Cursors.WaitCursor; + changeCursor(true); + toolStripStatusLabel1.Text = "ALM Toolkit - committing changes ..."; + // Not required since _comparison object is always updated with latest updates + //ComparisonCtrl.RefreshSkipSelections(); + + if (_compareState != CompareState.NotCompared && _comparison != null) + { + _comparison.RefreshSkipSelectionsFromComparisonObjects(); + + bool update = _comparison.Update(); + toolStripStatusLabel1.Text = "ALM Toolkit - finished committing changes"; + + SetNotComparedState(); + if (update && MessageBox.Show($"Updated the target.\n\nDo you want to refresh the comparison?", Utils.AssemblyProduct, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + this.CompareTabularModels(); + } + } + else + { + toolStripStatusLabel1.Text = "ALM Toolkit - require validation for changes"; + } + } + catch (Exception exc) + { + MessageBox.Show(exc.Message, Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + SetNotComparedState(); + } + finally + { + Cursor.Current = Cursors.Default; + changeCursor(false); + } + } + + private void HandleDatabaseDeployment(object sender, DatabaseDeploymentEventArgs e) + { + Deployment deployForm = new Deployment(); + deployForm.Comparison = _comparison; + deployForm.ComparisonInfo = _comparisonInfo; + deployForm.DpiScaleFactor = _dpiScaleFactor; + deployForm.StartPosition = FormStartPosition.CenterParent; + deployForm.ShowDialog(); + e.DeploymentSuccessful = (deployForm.DialogResult == DialogResult.OK); + } + + private void HandleComparisonChanged(object sender, EventArgs e) + { + //If user changes a skip selection after validation, need to disable Update button + //if (ComparisonCtrl.CompareState == CompareState.Validated) + //{ + // SetComparedState(); + // toolStripStatusLabel1.Text = "ALM Toolkit - datasets compared"; + //} + } + + public void HandleComparisonChanged() + { + //If user changes a skip selection after validation, need to disable Update button + if (_compareState == CompareState.Validated) + { + if (InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate + { + SetComparedState(); + toolStripStatusLabel1.Text = "ALM Toolkit - datasets compared"; + })); + } + } + + if (InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate + { + SetFileNameTitle(true); + })); + } + } + + private void maqSoftwareLogo_Click(object sender, EventArgs e) + { + try + { + System.Diagnostics.Process.Start("https://maqsoftware.com/"); + } + catch { } + } + + public void LoadFromDesktop(string serverName, string databaseName) + { + _comparisonInfo = new ComparisonInfo(); + _comparisonInfo.AppName = Utils.AssemblyProduct; + + _comparisonInfo.ConnectionInfoSource.UseDesktop = true; + _comparisonInfo.ConnectionInfoSource.ServerName = serverName; + _comparisonInfo.ConnectionInfoSource.DatabaseName = databaseName; + + //GetFromAutoCompleteSource(); + //GetFromAutoCompleteTarget(); + + SetNotComparedState(); + } + + public void LoadFile(string fileName) + { + try + { + if (File.ReadAllText(fileName) == "") + { + //Blank file not saved to yet + return; + } + _comparisonInfo = ComparisonInfo.DeserializeBsmnFile(fileName, Utils.AssemblyProduct); + _fileName = fileName; + SetFileNameTitle(false); + PopulateSourceTargetTextBoxes(); + } + catch (Exception exc) + { + MessageBox.Show($"Error loading file {fileName}\n{exc.Message}\n\nPlease save over this file with a new version.", Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void SetFileNameTitle(bool unsaved) + { + _unsaved = unsaved; + + if (String.IsNullOrEmpty(_fileName)) + { + this.Text = Utils.AssemblyProduct; + } + else + { + this.Text = Utils.AssemblyProduct + " - " + Path.GetFileName(_fileName); + if (unsaved) + { + this.Text += " *"; + } + } + } + + public void SaveFile(string fileName) + { + try + { + CleanUpConnectionInfo(); + + _fileName = fileName; + XmlSerializer writer = new XmlSerializer(typeof(ComparisonInfo)); + StreamWriter file = new System.IO.StreamWriter(fileName); + _comparison.RefreshSkipSelectionsFromComparisonObjects(); + writer.Serialize(file, _comparisonInfo); + file.Close(); + } + catch (Exception exc) + { + MessageBox.Show($"Error saving file {fileName}\n{exc.Message}", Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void CleanUpConnectionInfo() + { + if (_comparisonInfo.ConnectionInfoSource.UseDesktop) + { + _comparisonInfo.ConnectionInfoSource.ServerName = null; + _comparisonInfo.ConnectionInfoSource.DatabaseName = null; + } + else + { + _comparisonInfo.ConnectionInfoSource.DesktopName = null; + } + + if (_comparisonInfo.ConnectionInfoTarget.UseDesktop) + { + _comparisonInfo.ConnectionInfoTarget.ServerName = null; + _comparisonInfo.ConnectionInfoTarget.DatabaseName = null; + } + else + { + _comparisonInfo.ConnectionInfoTarget.DesktopName = null; + } + } + + private void mnuOpen_Click(object sender, EventArgs e) + { + try + { + if (_unsaved && SaveChanges() == DialogResult.Cancel) + { + return; + } + + OpenFileDialog ofd = new OpenFileDialog(); + ofd.Filter = "ALM Toolkit Files (.almt)|*.almt"; + ofd.Title = "Open"; + if (ofd.ShowDialog() == DialogResult.OK) + { + SetNotComparedState(); + this.LoadFile(ofd.FileName); + InitializeAndCompareTabularModels(); + } + } + catch (Exception exc) + { + MessageBox.Show(exc.Message, Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + SetNotComparedState(); + } + } + + private void mnuSave_Click(object sender, EventArgs e) + { + Save(); + } + public void SaveNg() + { + if (InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate + { + Save(); + })); + } + } + public void Save() + { + + try + { + if (string.IsNullOrEmpty(_fileName)) + { + SaveFileAs(); + } + else + { + this.SaveFile(_fileName); + } + SetFileNameTitle(false); + } + catch (Exception exc) + { + MessageBox.Show(exc.Message, Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + SetNotComparedState(); + } + + } + + private void mnuSaveAs_Click(object sender, EventArgs e) + { + try + { + SaveFileAs(); + } + catch (Exception exc) + { + MessageBox.Show(exc.Message, Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + SetNotComparedState(); + } + } + + private void SaveFileAs() + { + SaveFileDialog sfd = new SaveFileDialog(); + sfd.Filter = "ALM Toolkit Files (.almt)|*.almt"; + sfd.Title = "Save As"; + + if (String.IsNullOrEmpty(_fileName)) + { + sfd.FileName = "Comparison1"; + } + else + { + sfd.FileName = Path.GetFileName(_fileName); + } + + if (sfd.ShowDialog() == DialogResult.OK) + { + _fileName = sfd.FileName; + SetFileNameTitle(false); + this.SaveFile(_fileName); + } + } + + private void btnHelp_Click(object sender, EventArgs e) + { + About aboutForm = new About(); + aboutForm.NewerVersionAvailable = _newerVersionAvailable; + aboutForm.LatestVersion = _latestVersion; + aboutForm.ShowDialog(); + } + + private void mnuExit_Click(object sender, EventArgs e) + { + if (_unsaved && SaveChanges() == DialogResult.Cancel) + { + return; + } + Application.Exit(); + } + + private DialogResult SaveChanges() + { + DialogResult result = MessageBox.Show("Do you want to save changes?", Utils.AssemblyProduct, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning); + switch (result) + { + case DialogResult.Yes: + Save(); + break; + default: + break; + } + return result; + } + + protected override void OnHandleDestroyed(EventArgs e) + { + this.SetNotComparedState(); + base.OnHandleDestroyed(e); + } + + #endregion + + #region DPI + + private float _dpiScaleFactor = 1; + private void Rescale() + { + float fudgedDpiScaleFactor = _dpiScaleFactor * BismNormalizer.TabularCompare.UI.Utils.PrimaryFudgeFactor; + + //pnlRibbon.Height = Convert.ToInt32(Convert.ToDouble(ribbonMain.Height) * HighDPIUtils.SecondaryFudgeFactor * 0.93); + ribbonMain.Height = pnlRibbon.Height; + spltSourceTarget.SplitterDistance = Convert.ToInt32(Convert.ToDouble(spltSourceTarget.Width) * 0.5); + txtSource.Width = Convert.ToInt32(Convert.ToDouble(Convert.ToDouble(spltSourceTarget.Width) * 0.5) * 0.9); + txtTarget.Width = Convert.ToInt32(Convert.ToDouble(Convert.ToDouble(spltSourceTarget.Width) * 0.5) * 0.9); + + this._dpiScaleFactor = BismNormalizer.TabularCompare.UI.Utils.GetDpiFactor(); + if (this._dpiScaleFactor == 1) return; + + this.Scale(new SizeF(fudgedDpiScaleFactor, fudgedDpiScaleFactor)); + + this.Font = new Font(this.Font.FontFamily, + this.Font.Size * fudgedDpiScaleFactor, + this.Font.Style); + pnlHeader.Font = new Font(pnlHeader.Font.FontFamily, + pnlHeader.Font.Size * fudgedDpiScaleFactor, + pnlHeader.Font.Style); + + txtSource.Left = Convert.ToInt32(txtSource.Left * fudgedDpiScaleFactor * 0.9); + txtTarget.Left = Convert.ToInt32(txtTarget.Left * fudgedDpiScaleFactor * 0.9); + } + + #endregion + } +} diff --git a/AlmToolkit/AlmToolkit/ComparisonForm.resx b/AlmToolkit/AlmToolkit/ComparisonForm.resx new file mode 100644 index 0000000..f8e5ce6 --- /dev/null +++ b/AlmToolkit/AlmToolkit/ComparisonForm.resx @@ -0,0 +1,2949 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + 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 + D5oiqINNnQHQAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAAAmBJREFUSEvt + l01oE0EUx3P0Ll6868FLRb0J4k1a8CCIF0E8KNGDqAepbWw+JQULhsSCJmjcqBgxLUo3myYtfiRNN9m2 + pmpiZUvTZm0Sk2pBxXOfb9bd0NCdkO7iIeAffvDmzc77zyyzu7OmjpKQEc5leWElOy1MCWnhkJL+t8ql + c7sFfmZDmJ7hkTVkXukyLqfTedDhcJxHzAQmyAzh6jbQEFRSr1NFfirza3OOtF0u10V1nM1mO+N2u3cp + ZVvLbrcfDQQCP0dHRiESichwLAfjY/G2UMcQYlwMfD5fCWvuUMrThTO1kQHr39abWBKXQFwQWyIVpS3j + PB7PDzTer5Sni2asl843Xiwta+Zp6DZO52fhU3FRji89vAkX7tsbfe2g2zj4agQOO0/DldAgdN8yg1Qu + Q7X8FZ4yYWD8jzSZy74zbkzwciE45bsKq5VKI5efz1MpFUuN6zp/c22XzjNeWZWgVqvLsT/xDC4z7kZf + O+g2Hnzhh54hM9ie34EuywnIFHJy/u1kEia4SU3Ehb+PnyHjen0Nzt7tgwMDJyEnFuQceZwS0QkqZGcb + NjbKf2OqWhk/fvMS7JFhzT4auo2HY0+gP3wbwikW9vUeh+RHQc7Lr8f3BU3I5jNsXKlWoQc/DnuudUNi + LiXnSGHmXogKn8wYNyYsf5Fg9vOHply7dPbm0sN2jC3x8bhmET3g8fY7ntO7lPJ04eyOBB8Ef7NjLNCI + stEmuCi3BXLXCF6vt4aH+p1K+dayWq3HcOW9BJzIdQLGfSrY7idgbCFgfEMF2wMEjK0E/JvYq5TdJJPp + D5oiqINNnQHQAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + 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 + sJplYZ8AAAAASUVORK5CYII= + + + + + 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 + sJplYZ8AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAABUlJREFUSEvN + l3tQVHUUx+8/lf0lTo4Oyu4iWqbW5IRhWdDGLg8fmKXMhqEylhtG5N27KCQiIEvaGooYokXAIKgkI2q+ + eIgGaJqvxsBMEcyW90sWUPZ5Or9f95Ir664P/vDOfGbO3f3d3/f8zu+cc3+XeTqv4CnPjlR6u7ouf89T + tEKmEHG+GrFK9jNSLWbl7RKV3IhYxZxv/Iho+XD+qYe/xkbIXnCNmCFxU/l6iVjpPJFKpsYJs8ScvFLM + yWolKpmeCLhzfmAPscp3/ZgVcrEHitvDnZW6EEYo5cPdVG89z8syjFglL8SJLyA6CSfvlXB+FnsCD2JK + dNC5GZqPf/RJXpRhn9DthHc0oenjowK+4GUZxt5kj8InmXGQXVEEu88cccjOqoPguTa4h5d9cuHEom1w + tbEOdJ3NYDAZoftOD7UF2vSdYDSZ4K7RAO9+vcTKyz65sJ/2UwjPToDIXA3c6miCgxdPUFsg9VguOtAy + 9MIean+YEBVIqdZdh5QjOQP3hJD0KBqRxxKeHBME09YGw6ur5w36T5Guhg2HMmEzrqzldjtUXbtIbYGf + zh6j4XYoTDxUfKeGrSX5sDBjFUxcNZuuKPNkIRRfroKw71fbiBI+y0qAXacPQ9H5Mujq7YYaXS21BSqu + nofbfT2Ohcdx/hCelQi1zX/DvnOl8HZSKARoldDVp4ebbTrwTlpkI0p45av3YXrCR/BmYgiGtB62Hy+g + tkB4diJcx/mchtpHsxhK/jiF4emAhdtW0tVaLBbYcmwnOmY7lkCi8lrshzB1zXy40lAHW0vzqS2w9Ic1 + cK3ppnPhcRjapAPbadiyK/bBPx3N0N7TBV4JCptxArF7t8CF+hr4q6ke7hr6oRX3k9gCt9oboR9FHyq5 + ArTL4HxdNejv9ILJbIJvD2cNGiMwLzUSYgvTYN3+DGjsaoXymjPUFsip3A/NmHT/CYdZeFn7wi9Hz6aJ + QRoCIXDjskFjBDzUAZiUM+HFlTOxnGoh5WgOtQVCcLv+LycnwmTFv924DK3dHWA0G2Ejrphsgf2xSojI + SQI2bz1uSxMcunSS2gJpJXnQ8DANZOKqWZB8YAeGp432VxI+sk/emsEZTYjMTabdqqz6V9ouSQYTW4Bs + Wc/dPufCgRuVUIm1R+pxQRoLBWeOgtVqhfSy3TSs94/3wlKanbIc5m6OgNqWW5CLzhJbIKZgM9S36hwL + v4SrXb03la424/geeD1uAS0pkpX1rQ0g27DURpQgdLU34hV0L7ehg8QWUGbFO69jUpOLd8TAJkyQOZs+ + h/HYySZFz6GdiYSNdKl7xxPIxPmnD9GG09mrp/2a2AK//HkOO5fesTDpXCSjSTci7VP43Qs990leTN6n + A78JzN/Kwjp8NX6D/bq5q40KEVuAONWCSep0jx8Vsj3EUfICudJwA9KK86gtQPo7bS5DLUw62qyUcAji + k4tUArEFYgo2OU+ux0GLNd7STTpTP5gtZv600T9Av8kAFqtl6IXVu7SW8pqzprO1lx1y6tolI76tunlZ + hsGTZQOeLDslKr8+nMhATpmOjrP3Mzl6zo1pccEnpscrSm1IuAe8xwQt9ojyT+dlGQbP0x+IWBknZmWp + yB4ULUfx39Ghm2jjwd2vDzE/yBk8d2vdVNIJo8NnjHLEGLV0JBPmPoyXvecKkw4btUI22pX1mSRWSeUi + Vr4UHYrDc3eGhJMV4ddDJYpfQSca3Tm5HkUNeG/G/+LIYZ2fZYguT89nXMKkLmM4H9FYVjrVjfWdiZ8w + S/AL40t0KAajEotfHt5M5ITn+Cee5oth/gVl3ITvNnwYzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAABUlJREFUSEvN + l3tQVHUUx+8/lf0lTo4Oyu4iWqbW5IRhWdDGLg8fmKXMhqEylhtG5N27KCQiIEvaGooYokXAIKgkI2q+ + eIgGaJqvxsBMEcyW90sWUPZ5Or9f95Ir664P/vDOfGbO3f3d3/f8zu+cc3+XeTqv4CnPjlR6u7ouf89T + tEKmEHG+GrFK9jNSLWbl7RKV3IhYxZxv/Iho+XD+qYe/xkbIXnCNmCFxU/l6iVjpPJFKpsYJs8ScvFLM + yWolKpmeCLhzfmAPscp3/ZgVcrEHitvDnZW6EEYo5cPdVG89z8syjFglL8SJLyA6CSfvlXB+FnsCD2JK + dNC5GZqPf/RJXpRhn9DthHc0oenjowK+4GUZxt5kj8InmXGQXVEEu88cccjOqoPguTa4h5d9cuHEom1w + tbEOdJ3NYDAZoftOD7UF2vSdYDSZ4K7RAO9+vcTKyz65sJ/2UwjPToDIXA3c6miCgxdPUFsg9VguOtAy + 9MIean+YEBVIqdZdh5QjOQP3hJD0KBqRxxKeHBME09YGw6ur5w36T5Guhg2HMmEzrqzldjtUXbtIbYGf + zh6j4XYoTDxUfKeGrSX5sDBjFUxcNZuuKPNkIRRfroKw71fbiBI+y0qAXacPQ9H5Mujq7YYaXS21BSqu + nofbfT2Ohcdx/hCelQi1zX/DvnOl8HZSKARoldDVp4ebbTrwTlpkI0p45av3YXrCR/BmYgiGtB62Hy+g + tkB4diJcx/mchtpHsxhK/jiF4emAhdtW0tVaLBbYcmwnOmY7lkCi8lrshzB1zXy40lAHW0vzqS2w9Ic1 + cK3ppnPhcRjapAPbadiyK/bBPx3N0N7TBV4JCptxArF7t8CF+hr4q6ke7hr6oRX3k9gCt9oboR9FHyq5 + ArTL4HxdNejv9ILJbIJvD2cNGiMwLzUSYgvTYN3+DGjsaoXymjPUFsip3A/NmHT/CYdZeFn7wi9Hz6aJ + QRoCIXDjskFjBDzUAZiUM+HFlTOxnGoh5WgOtQVCcLv+LycnwmTFv924DK3dHWA0G2Ejrphsgf2xSojI + SQI2bz1uSxMcunSS2gJpJXnQ8DANZOKqWZB8YAeGp432VxI+sk/emsEZTYjMTabdqqz6V9ouSQYTW4Bs + Wc/dPufCgRuVUIm1R+pxQRoLBWeOgtVqhfSy3TSs94/3wlKanbIc5m6OgNqWW5CLzhJbIKZgM9S36hwL + v4SrXb03la424/geeD1uAS0pkpX1rQ0g27DURpQgdLU34hV0L7ehg8QWUGbFO69jUpOLd8TAJkyQOZs+ + h/HYySZFz6GdiYSNdKl7xxPIxPmnD9GG09mrp/2a2AK//HkOO5fesTDpXCSjSTci7VP43Qs990leTN6n + A78JzN/Kwjp8NX6D/bq5q40KEVuAONWCSep0jx8Vsj3EUfICudJwA9KK86gtQPo7bS5DLUw62qyUcAji + k4tUArEFYgo2OU+ux0GLNd7STTpTP5gtZv600T9Av8kAFqtl6IXVu7SW8pqzprO1lx1y6tolI76tunlZ + hsGTZQOeLDslKr8+nMhATpmOjrP3Mzl6zo1pccEnpscrSm1IuAe8xwQt9ojyT+dlGQbP0x+IWBknZmWp + yB4ULUfx39Ghm2jjwd2vDzE/yBk8d2vdVNIJo8NnjHLEGLV0JBPmPoyXvecKkw4btUI22pX1mSRWSeUi + Vr4UHYrDc3eGhJMV4ddDJYpfQSca3Tm5HkUNeG/G/+LIYZ2fZYguT89nXMKkLmM4H9FYVjrVjfWdiZ8w + S/AL40t0KAajEotfHt5M5ITn+Cee5oth/gVl3ITvNnwYzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAxZJREFUaEPtmcluE0EQhi22Aze2A2CwHSIOXBERnHgIEpbwICAOWCBEcg3xzMTk + DRIRFLE8AMsDQOAB2CSWJLKnsWU4ePhrXCDTqrG7PYsN8if9skWqq356Ot01ndyYMWMSYCXYWXDrZ0uu + f6PoqgclR72FtouO/5MUfnf9N+HPEEOxuXKwg0cPjxNO81jJVfMw9QmfgZUc/yM+5ycXGnlOlx0nq/5B + FL+P2f3xl6kBxDk8ysnp0wXFZrEktrpNJKGio77hc5bLJM+plWAPiizrhROXo5ZOV4PdXDYZDleDvViz + T8WCKQjL6gnV5PLxoJnP0vwfOWo9kSeRybKJEpYT2xiMkqeuiokzFCbwEtuxY3LBP4QEm3rCrEW705HF + +gG2ZQ49PimhqW6/aAVfGu1Qt563xBhT4Ze6wrbMoBM2ziF18WEz6KYNTa81xVgTkZe81zjK9vqDQWgP + 5GQmuvOy1XHeBf2bFGsqLKU5ttcHNFncp4iJTDQjPIELMZ4ACc3ge6MGsLBUPyclsFX5WSv4/L0d6ia+ + SzHW8mpTbDMaanfFwSOgCde/zjajwe6zJg0eBeF9YpVtRkMvHtLgURB2ow22GQ2ewLY02FY6UswA2mSb + 0cTZ/7ulI8XYiryxzWj++f/A/7CENoSB1tKRYmyFDeY124ymc/UhJ7CRjhRjK6NtNKmDTEeKsRVWxzW2 + GU3ngkpOYCMdKcZaTuMM2+wBGiastQ9iAgvpSDE2Mm7mCGpdpSQ20pFibIT1f5ft9Yeu++KeBzpSjKkw + +y2rFxoCAz090bCEyVxkW+bQizQGD/+l3lVf88u1/WzLjomKuiIlzVgzbGcw0FpUhaQZyb/HNganc7Wo + 1uUCKQo16Q8nbCMedNGKtfhYLJSCsI0/Suxy9zd00YpZiXXZZSLacc6Xg11cNnkKrrpM131S8TgKc1b8 + aS6TLrTFYqYqcQ87Eh1SNOvH3do+Tp8dnRNbzcHAO8lcL9EYag+sT9hUoNs8rzZF9zbUs9OLB35ftugJ + hU+Jvrv+q/BnaInDrtK0MRszZkwPcrlfSNDQs+WRSYIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAxZJREFUaEPtmcluE0EQhi22Aze2A2CwHSIOXBERnHgIEpbwICAOWCBEcg3xzMTk + DRIRFLE8AMsDQOAB2CSWJLKnsWU4ePhrXCDTqrG7PYsN8if9skWqq356Ot01ndyYMWMSYCXYWXDrZ0uu + f6PoqgclR72FtouO/5MUfnf9N+HPEEOxuXKwg0cPjxNO81jJVfMw9QmfgZUc/yM+5ycXGnlOlx0nq/5B + FL+P2f3xl6kBxDk8ysnp0wXFZrEktrpNJKGio77hc5bLJM+plWAPiizrhROXo5ZOV4PdXDYZDleDvViz + T8WCKQjL6gnV5PLxoJnP0vwfOWo9kSeRybKJEpYT2xiMkqeuiokzFCbwEtuxY3LBP4QEm3rCrEW705HF + +gG2ZQ49PimhqW6/aAVfGu1Qt563xBhT4Ze6wrbMoBM2ziF18WEz6KYNTa81xVgTkZe81zjK9vqDQWgP + 5GQmuvOy1XHeBf2bFGsqLKU5ttcHNFncp4iJTDQjPIELMZ4ACc3ge6MGsLBUPyclsFX5WSv4/L0d6ia+ + SzHW8mpTbDMaanfFwSOgCde/zjajwe6zJg0eBeF9YpVtRkMvHtLgURB2ow22GQ2ewLY02FY6UswA2mSb + 0cTZ/7ulI8XYiryxzWj++f/A/7CENoSB1tKRYmyFDeY124ymc/UhJ7CRjhRjK6NtNKmDTEeKsRVWxzW2 + GU3ngkpOYCMdKcZaTuMM2+wBGiastQ9iAgvpSDE2Mm7mCGpdpSQ20pFibIT1f5ft9Yeu++KeBzpSjKkw + +y2rFxoCAz090bCEyVxkW+bQizQGD/+l3lVf88u1/WzLjomKuiIlzVgzbGcw0FpUhaQZyb/HNganc7Wo + 1uUCKQo16Q8nbCMedNGKtfhYLJSCsI0/Suxy9zd00YpZiXXZZSLacc6Xg11cNnkKrrpM131S8TgKc1b8 + aS6TLrTFYqYqcQ87Eh1SNOvH3do+Tp8dnRNbzcHAO8lcL9EYag+sT9hUoNs8rzZF9zbUs9OLB35ftugJ + hU+Jvrv+q/BnaInDrtK0MRszZkwPcrlfSNDQs+WRSYIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAh + NwAAITcBM1ifegAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAZ4AAAB9CAYAAACS2wWXAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAB2bSURBVHhe7Z0HtHxVdcZFQUIRQREEUYwBFBQLRcEC + qBhEKZYFIqLSFI0VBTuKiAgoWBMTQYwiuBQLoEaFAMbuwoJRiA01iqgI9t7I983aZ9aZPfvcuTNzz/+d + wPet9VvvzT777Dsz783Zc0+9yfXXXy+EEEKsMkKjEEIIUYvQKIQQQtQiNAohhBC1CI1CCCFELUKjEEII + UYvQKIQQQtQiNAohhBC1CI1CCCFELUKjEEIIUYvQKIQQQtQiNAohhBC1CI1CCCFELUKjEEIIUYvQKIQQ + QtQiNAohhBC1CI1CCCFELUKjEEIIUYvQKIQQQtQiNAohhBC1CI1CCCFELUKjEEIIUYvQKIQQQtQiNAoh + hBC1CI1CCCFELUKjEEIIUYvQKIQQQtQiNAohhBC1CI1CCCFELUKjEEIIUYvQKIQQQtQiNAohhBC1CI1C + CCFELUKjEEIIUYvQKIQQQtQiNAohhBC1CI1CCCFELUKjEEIIUYvQKIQQQtQiNAohhBC1CI1CCCFELUJj + a0iSNFsHHHDgzcB24OHgMWAP8A9WLN2IFLWjLREaW0OSpLKYXMAZ4Ofg+oATzFW6kShqR1siNLaG1IYu + 3HDTm4K7gieDU8EHwMfBl8Bl9jttp4Angua+baMRXgfsDA4FR4HjwXHgWHAkeCx4ANjAqjQtPE++jj+A + KOEkXmfu0o1EUTvaEqGxNdCAvQAcO4P72HteRYj/UHe9iN3MvYoQ/xZgdXu4yoRrMtm8EVwNrp+Ty8EL + wa0s3CoXGt7NwDHgS+CvIGqcIy4HTEi3tVBNCc/rWfY8Z6HEcyNT1I62RGhsDTRav7BGrIuP2Xs+uBB7 + NfDt7FoljrUqVYT4zwePs4fVhWttCc4D0Wudl98AJue/s/DVhQZ3I3A6+LM1wIvybAvZjPCcdgJREr0a + nAleC94KvgGUeG5kitrRlgiNrYHGqk/i+RvY3N73QYW4D86u00W1xIPYa4Ifgf8Gq5m5ihgf8C7ljyB6 + ncvwDXB3u1Q1obHdHVwDfMO8CC0mnk+750hOBTc3l7Fga/KOTaqnqB1tidDYGmio+iQe8nJ73wcV4r7H + XadEzcTDcZV0nYeZeXAh9trg/OxaNfgt2McuObjQ0O4F/gR8w5z4C/g2+Di4ELAR/xr4NYj8m0o8eD7b + uudHPmjFcwt1OTlhld1JS/UVtaMtERpbA41U38TzA3BTe+8HEeJtBP5k8WdRJfEgLgf1v5Vd5xNWNKgQ + l0nn4uw6NeF7+gi79GBCA3oX8DvgG+a/gQ8ATjVey9wnBPtNwZbg8YC+qYuutcTzHHteObtacS/Bfxvw + UvBVq3+ZFUk3AEXtaEuExtZAA9U38ZA97b0fRIj3PBe/i1qJZz93HbKzFQ8ixGP3Gmek+etEfAI8E+wA + bm312RV4e/CP4FXgeyCqm/N7cO/RExhIaEAvsYY054dg7vcLde4AOEb0TDM1ITyf00D++nh3t4YV9xL8 + ebeXx1DiuQEpakdbIjS2BhqnKPH8NbCR99l7v7QQqzSp4C+BjdRKPF9w1yHnWfEgQrxjXPyIT4MdrEqn + 4Me7tEPAT0EUK3EVWN+qLSU0npwmnTemhN1ndzaXhYT6U+MmKyk8n/fZa0tcaUW9hTpKPDdgRe1oS4TG + 1kDDFCUe2j7lbOTPYCN7/5cS4kSTCvgtvdQdNXjiQczd3TUSnEyxjbktJcS5B+D7Fl0n8UpwM6vSW6iz + MfisxShxhrkvJTSer3GNKXmpFd9ghNe0dNIYIobUrqJ2tCVCY2ugYSp1tT0jsJGj7f1fSogTTSo4G1zk + bIkaiedCd42ct5nbUkKcWeM6zzPXhYT664JLs3geJtF7mPvCQuN5sWtMyd2s+AYjvCYlHqlTUTvaEqGx + NdAolRLPbUD0Tf0b9v4vLMQoTSrgQlKu0Pd2MmjiQbztXXwPn9/tzX0hof6uWbyI0811KSHOZuC6LK7n + vea6sNB4poHynEG68VoSXpMSj9SpqB1tidDYGmiUwsTDNxg/z/V24wGjv8CCQv1oUgHX0dwMfCaz5Qyd + ePpM4z7V3BcS6r/PxcvhBIG1zXVpIdYRWWwPx802NdeFhMaTU6LzxpRsZcUrIlx/TcCZclzwuRu4L9gK + rGkucwt1lXhuJMLf5RZgc7Ap6P0/E7WjLREaWwMNUumOh0lgH2dLvN3+BnMLdUuTCl5t5dyXzJeRwRIP + Ym0B2AUVXSeHOwIstB0N6pXuGBMHmOsgQrzVQddstyPNdSHhg/lfIG9MyROseJUJ19wBnAIuA6Utemhn + +Ylga6s6JZRtAZiwclgvj8U1Sd5nf/BssB94nP2ewzp5DM788z6JZwAfn2xiT7Np4XmuBZj4nwJeDl4P + ODPwJPB88DBwC3MfRIjHqfn3BkcAvoeHgZkTc+BzS/BU8BEQbfr6PcCdKfYGxaUjUTvaEqGxNdAglRLP + +mAN8JPMlvgduKX9HeYS6pV2KtjWyldF4vk3F7uLY6zaXEI9buQZxSNXgkHXRFGIyR0RouuRS8xtIeGD + +DrgP6jcn22V7G+H67Bx+6Rddx64xui94A4WaizYotfUChfb0+wt1DkE/CLjZ2A0Jb+v4M/3JI/BJDrx + v4rHTDYHg4tAny2TuNHq28DM3U/g03m3iMdMCl/PyseYy5RQtgZ4EeDrmapXgHsJ7mIhJhS1oy0RGlsD + DVIx8fBNxs/XOHviqaO/wpxCvaiL61IrZnnpW/sgiQdxNgF/yOLO4loQLorsEupwokQUjwzabZiEuFu5 + 6+RwxuDCSQIfQn4Ljz6g/wqqbTOE2DwH51WACSS6fl/4DXdiHRoet5x4rrOn2Vuo8yEXg+xvxb0E/ytd + /XHvBn5fHTwd/MjK5uVXYC8LFwrlxcSD33lHlZdNYG4Tgv124NLcbw545/wsCzVW1I62RGhsDTRGsxLP + XZw98cXRX2EOoc5tQTSp4AhzoU/txHOii5vg8QNc9xKVPd2q9xbq5LsheLY3t8GF2KXXQO5lbgsJH8LP + ZB/KnLPAuuY2mBCT31R5txJdk/wScFHrO8C/A67BuQJEvoSLQcc7OuD3lhMP6d3NC18eSfH7rG7ireYy + U/C9k6tL9rNilpe+fMwD/wbFMWKUhYkHP9mVl9unGAXIBBu7Uq/KfRbkEAs5UtSOtkRobA00Rp2Jh8Lv + XNwY+czVkMGfRzD4GNxbbD1zoU+1xIMYtwSl1/tY8CJnS/A59b5bgO86oDSGxNc7eDdbEmKXJoSQub79 + euEDeHcQNW7ku2DQPeIQjzsbRNfiN9h9QLijAOy3Bxzfic7S4ZY/o41U8ZNjA+c6rgW5P5NbXv5ZwG/8 + 5HPgy9njxB9BHoPdUd4n8QPAuIyT1yHjRn+W4PtIVzfxfXOZKfg+2dVlkhh/NvF7lHh+A/j8XwA49vVA + wHEdjl1FO12Q74Bw4TDsU4kHcJcL/7fk+8Z9ADnbcvQ/aSFGwuMNwDdpD+CdIcfnNgEcL1oXcOyQ50fx + rsz789rjdX1RO9oSobE10Bj1STyHurLEm8xlpuBbmlQwMVEBj2smHh59EMXmPnQcnN8QsEsq8um90SN8 + t3Z1c8bdijWE+Ce56+U819wWFj6APPa569wdNhxLn52EGAdlMXO4B1qvxA2/uwImRB+DY1Phgl3YO8cY + +miRGPC5LfDdib2n28OXd3x53Zxei6Hh5+8uL7SikfA4Tzxs1Dmm1NkNjXImxOgLwMRdRBLsUeLJtzH6 + KBiNByfhMcecxr0mFB6fA/I45KdgD3MJhfKNAb9Q+LofMZewHW2J0NgaaIz6JB5+g/91VpZg3V5nwMCv + NKlg4rYbj6skHtRPRx9EsY8yN/qd7soSvY9MgN8eWT3P0mtquoT4R7rr5RxnbksJH0J+oy3tNp24AOxk + VeYS6vEb6E8sTs7ci21Rh7tDc5DdxzrYXCYE+4okHgp+vsHrdbcCP46D5XdqvEvL40yNU3jBhzH8+zSx + gSseM/EwiRwNevcAMA7I45ILrHhCsPv3jndHv7Xf3wxmfgbh81Dzz+GdzETCKgl+6wNe18cYLcSO2tGW + CI2tgcZoZuKh8Pg0V57odScAv2hSAc+PmfhHwuMfZ+U5yyae/OiDHCbU8Qw9/L5tVubpdWQC/B7h6uUM + smi0JMQ/2F0vZ7BDy/Ah5E7V0TdDz/ngnlatl+Af7RD9ISueW6h7oItFwjFK2Fcy8bzY1SPF6eBJ8OFx + 4nmd97jHHzbXouCzo6tDJo5Xx+OtwVx/Swp1OCnBf5Fg99hU8oLNv3cJ7pzRa1sp+H0hq5d4lBX3Evyj + rstTWBa1oy0RGlsDjVHfxHMfV56YOe0TPqWdCqa+wcJWej4LJx7U9Ucf5LzW3MaCrbRtT68jE+DXNZW6 + 6omViP84d72cQa+NDyK/JT8NzDoUjl1IPLFzY6vaKfjxZM+8Ps/42cKK5xbqrgaiBbBTG5zCtpKJJzoL + qM/dyqtdHb+hK8e1OhdIotwnvSusaBAhnt/1m0z9TWGLEg///r0WK8MvSqDh3VWXUIf/29/PYpCvsSxq + R1siNLYGGqNSQz81/x+2rzqfxMQ3Iy+UH+X8CRdXTp3eCNsgiQf+nCjABMAutujoA/IXcEerMhZs+2Y+ + nplHAMCn667jzeZWRYjfde0TzG1Q4QO5HuDAbGniQYLrKB5v1UKhnHdSvt7CB7ElIcZzXUwydSQDbCuW + eCj4chFjXrfP3Uo+iP5Ns/lE+6CRc0Eo9xMBTraiQYR4/IKSxyf3seKxYIsSz0eteKbgy0klvn7nuE5J + qHeGi0PWi9rRlgiNrYHGqNTQRw1yafzgeHOZEso4qYBdar7OueYyIdiXTjzwzadt8+iA0tjOOVZlQrDz + DomLPKM6M49MgE9XV9vZ5lZFiN+1dc6Lza2K8KHkmgmu6+E3VP+BzTkbhGODsD8p80uEA9HzCDE4I8/H + fYcVjwXbSicervzP63beraCM3V+5/2gHEPz0u4mfNKoQCGVrA3+q7FLbYnkh3qNcfDKVEGCLEk84HhcJ + vn7NDicUzL3zO4V6nJmXxyI7Ru1oS4TG1kBjNE/i4ayvP2Y+iR+C8I8L+26ZX87e5jIh2IdIPMe5uiWK + g98oe7bzTcw8MgHlD8n8PUvtIDBLiH+su17OYeZWVfhwcv0EZ1l1Lfr8FJja/QK2N2U+iaX3hEMMjjP4 + O7LPW/FYsK104nmIq0uKdyso47Y0ue/9zO6nPn95VCEQyjhZJPe9DizUWCehPvdBuxd4NOBUa25Tk1+D + TJ2SC1uUeHqd+QQ//o39VPaZd4wloe5jXSyyb9SOtkRobA00Rr0TDwV7aXPNcEUy7NEK/qtBKVEtlXjg + txaYdUAa4ZhPcUYeytYD0Uw+0nlkAsrv7PxzfmRuVYT4Z7rr5TzE3FaJ8CG9G/hY9qH1cP+3ibU4ePzh + rDyxVCOYhDh+cenVVjQWbCudeLho1s9KK3Z7oSxf1MsB/NFUc/xkHL8mJTxLC/ZTnd+ZVjRT8OVdLtdU + HQPeDri25scgj1eiT+LhLLpef3/4cf1WXpfwjodTshchmop/cNSOtkRobA00RvMmHh6/HPm/31zGgq10 + h/RKc5kSyqJJCKRv4nmSq9cFE9QJYDOrPiHYX29+ns4jE1DGcSWOH0V1SXi9IYTYpXE4MjWmtiqEDyu/ + OZb2yZr4X8BjP1Pu51a0tBCLiz/z2L+worFgW9HEQ8Hfz0oL71Zg55qT/K7yNCsaCY/fn5WRg6xoQrD7 + Iy86FxqjfEPwEhAdlTEPfRLPVVY0U/C9p6tbAyWeIUBjNG/i4fjHdzK/BCcLTMxawuPnZOUJdlXdyVym + 5HxzZiYe+HA86WtZnb4wSZwDdrVQI+HxlqC0A0HnkQko/4rzz6nS5YW43BE7uh75sbmtiPCBZfebHzgn + HFsY/z/gd37TzMu/Z0VLC7H8YXa/tqKxYGsh8USLZ6dmBMJ2uPN5uBWNFJRHY1pcvZ/7cJeFcANg2DnT + 63lg1houD+/g/B5wpE/i6T27Dr6+e7EGSjxDgAZprsRDoewlzjcxXohJ4XGUBP7TikMF/ok+iadr4WZf + mDAOA6MV2fj5QbN7Oo9MQNk/Z76ezvdgUSFu18SCd5rbigkfWi7m9N1I5DXmQh+feK6xoqWFWOwGymO3 + esdzK+B3h5iaDQgb10ilcm5dM9F1jMfsBstjcIueiXVzePyErJxcZEUTgp1Jp2vfPC7y/Dxgdxu73Xhc + BI8uGM2Oxc8oKfRJPL3fO/j6aeSE3X5599my7BO1oy0RGlsDDdIiiWdTEHUljea5U/h9J1eW6LyND/wT + fRLPR1ydZeCJntxQ9MDM5ikemYCyPZ2v567mWhR8uPXOJYCnskZMbE2Dx18E0bVI7y1/agofXJ6H4huH + y62Y5Z9wZX+2oqWFWH6K8ZVWNBZsK554KNTx5x9NjLvgMWei5ZMlwh0xYGdjmccZ7VOXhMfcYDUvn9it + IAn2k50f4UD+WwAXsHbuZIDyVZF4onVQr7fiwRS1oy0RGlsDDdLciYdC+fnOPzE6kAk/o50OeMRA50I2 + 55/TmXhQvo3zX4Rfgi+Ad4KXgQMAdzIodd8Vj0yA/ebgGvOLON9cOwW/V7p6OdzlYXSyKH52rT36FVhn + FHCFhYaA2+H46dZ8nAbF35XZE7cbVV5CiMHNIH0X0dQMQ9haSTx+3REnDozvVvD7I7IyUhq/4ZESud/R + VjQSHvMuKC+fWpMHG0959X8zntOzpbnMFHz3yOomhk48HPPK65J3WfFgitrRlgiNrYEGadHEs7fzT7wJ + cG83Nna+bLTlRJeCOolZiectzr8Ex6K4roiJ8xRwONgVFAfeUVbabocUj0xA2aucr+cx5loUfHgS7AVZ + HQ93DuckjtIed6T3Zq6rQmgM/tc1DmS0UwZ+spvGlz16VHEJIQY3DPVxp8bpYGsl8fAI7zwGGW9Xg995 + sFqyc1xmAyuaEOy7ZH5kvPEnfvd3COF4CuxcHJz7kftbcS/BP9q2aOjEwx0q/JeLcS/MUIra0ZYIja2B + RmnRxMMGMTr7hV1UT3G2xMxdcoM6iWLiQVnXrtI554G5D0NDnbUBX1cUs3hkAuwc7OdYUFSPMDnP3PsK + PrcGXYmlq4yzCqdO31xJoTG42jUOZLRNPn7u7uzkrFHFJYQY/+Rikkda8ViwNZF4KNTzJ22OtpjCT463 + cJpwshfHDFHGtS35Mc+cnry2lR2Z2Uk4bRt2P9PwO1bUW6jDWXB5DDJo4qHgH50ZdRsrHkRRO9oSobE1 + 0CgtlHgo+LzC1UlEdzuftGqdCuoluhLPLiwHPFPnDSCqT7azKnMLdUsHyJHi+AnKXux8PZzSPfO8ePhs + D+Y5OTVxooVoQmgEuLDQH5f8Mytm+ZrArz/hWMYm5rKQUP+LWTzCHQGmDq+DrUbiWWjfM9Tze7CN9kXE + z/s7+zNGFQpC+bud/0PN/h/OHu5WADsXlOZ+4yMC+gp1/HtCaiSe6O6s8/2ZV1E72hKhsTXQMC2TeDYH + penGnl7bXgT1En0mF3QdfbDUjgGovxmIJlSQ4pEJsK8BOG4U1UswoXDqeefdGMoPMf++fB30OrZilvDh + Xer00iTEeWLWICT8uS/c/t779F7U6IW6fjyETKx5SYJ9iMRzoYvR+zC2XKjnd53mYD4nFfiE1HlHi/KD + nT8XjN4cpOMGSHG3gswnMddO4fDfBkS7WNRIPNu5+oSbfY7u8oZQ1I62RGhsDTRMCyceCn4fc/UiOGjf + 6w/v6uX0STxdYzGdZ733EWK828XMKR6ZgDKuByp11eVwfzhuqBoO2sLO2YQXg6iuh7su9Dp/pI/wwWXX + znHLfIBR9zYg6mZ7mrmMhMecdu33DiOHm0tvoc5mwK+kZ+xwt2vYh0g8ftoxB+bDEze7hDrsUvN3G9xS + J5+dN/MIevjwkLk8Bme6+bGfYmJHmd9q6LtWNFPw5biLv7NKDJ54KNThQX95DBJ+0egj1OX5POPj6qN2 + tCVCY2ugcVo28Tza1Yv4F3PvFPw4lhLVJ7MmF3QdfcDJBEsfN40Y981iejqPTEA5uwN/l/nPgsmad1KX + 2s8+iSvBnRV6nR3UV/jgpZ0HOLuKEwCKOzdEgj/37boc+AaBRypEXV5+Nhbh2hYeKjbzMDAKfkxgfpsc + Utw5A2VDNHxvdDHI7lY8l1DPT3c+wT0uTunPBb+8q5GJ8NjsMSkuc0DZt5wvmRofiwS/k1y9nFqJZy8X + I8E7vbm2X4L/voB3TONp5lE72hKhsTXQQC2beNiV1DVtmPQaW4Hf+q5ezqzEUzr6gDzF3JYWYjERRNcg + nUcmoPxBIBr/GpqFv92VhA+e3/KGXSfcgoYNGE985J3FOLnjdw5qc+dkrsLnmfylDUPDBg92jvVwQWJU + h2t9+M0//DIB+0aA58twUWVUd2J/uFwoG6Lh811bhK9l6m4xsuVC+X5WP/EV93hiXU5J8OPdal4vf2+L + uxVQKDs9801wIXDxiHOU8S4hP47bT8cmVRIPhXrR0deEr/tBoPjlBWXszuQsvHxShRLPkKCRKiWeXjvC + UvA92dXNmdkVkATfZRJPaRyluNZmESHWQVlsT58jE7iB6OVZnRr8FXSevzKv8MEr7bWWw8aFfhy4j8o9 + r7DwoVDOdRnRAW4Jdv+xG4eLGN8AeNwCu1n8qv8Ey6bOmcqF8iESDxNf1FX4P4B3bFzTsid4Geic7oty + nnXkd1xO9J5dBt9oVX8i3K0gCeW7Ov8E32d2K/LLxX3B/QD35eOhb/7/xd+pkZqJh+9b115yvIs5E/D8 + nqPACwH/h3j96FwpJZ4hQQNVSjy9j7iFL8cwohik990GfBdKPCjb3fnmFM8KWkSIx4WhpQkMM49MoODD + SRBcoNpnCvii8C50sM1I8cHrk3j6wim9R1joTsGP40IXWb1lOA8Uv9UnwWeohi86RCxiatseL/hc4Ook + OvcLzAXfaLwoEe5WkAs+fuPSeWC3afWdC7xQl/87fjbjohxqYcN2tCVCY2ugcVo68VDw5xYuPsZvwXrm + MlPwXTTxXOh8E1zD0uu45XmEmMdk1/B0HpmQC75c53M8+L7VnRfWu8LZcj4H5h7UjoQPHtfXMAF0nbEz + C94RnQX+3sL2EvzZaPIEy2tBFLeLHwDuR9Z3XGioxLMBiMaXPH0Sz9NdncQu5tJL8OcdYRSn8wRhCj68 + g/DrefrAuwhOMFjliYdC/bUAx3airr4+8HTXR1m4kaJ2tCVCY2ugYRoq8URn/fduhCn4z514YOf6lsif + nGFugwpxNwKlNTWdRyZEgj8nRuwMng/eD7hRKScTpCMieC12GX4JcBfto8GOgLtxrwu6uu4G3bUAH0J+ + izwAsN+fXVfROEqCSYpnmnCMh43nUscyoD4bkUMBz+zxa31ymKDYBbQ/mCvxwn/Ib9y3BtwCqCtZf9vc + i4LP5q4OmftkTfhHu17Ps/szxz54QmqfRpxb8YzXt+H3FUk8SYjD3dFfC66yuF1w5iUndbA7dGocMWpH + WyI0tsb/d6Fh3Rjcs0C4jcgQQuyt3LVyql03Eq7HnRui55FYekZfSfhg8tssJxZsDx4MeGe0E+AWNYOt + nfBCbN4F3RFwMSXHTHhdjmOM9q5rSXhOPKCMEw44nsDxKJ6yypmBfN69EiP8OH7CxjtxDyvqLdRZx8Ug + M7uGvVCHr4d7yfELBe/qmGQ4ZZ3jcbyjZYKbGFfFY0428Nfe0IrHgo1n6uQ+MxdXzyvE5P8NT13l34TH + W/Mn13px3dTM/5+oHW2J0CiEEELUIjQKIYQQtQiNQgghRC1CoxBCCFGL0CiEEELUIjQKIYQQtQiNQggh + RC1CoxBCCFGL0CiEEELUIjQKIYQQtQiNQgghRC1CoxBCCFGL0CiEEELUIjQKIYQQtQiNQgghRC1CoxBC + CFGL0CiEEELUIjQKIYQQtQiNQgghRC1CoxBCCFGL0CiEEELUIjQKIYQQtQiNQgghRC1CoxBCCFGL0CiE + EELUIjQKIYQQtQiNQgghRC1CoxBCCFGL0CiEEELUIjQKIYQQtQiNQgghRC1CoxBCCFGL0CiEEELUIjQK + IYQQtQiNQgghRC1CoxBCCFGL0CiEEELUIjQKIYQQtQiNQgghRC1CoxBCCFGH62/yf3pn775uUhgiAAAA + AElFTkSuQmCC + + + + + /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsN + DhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQU + FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAGyBFoDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9U6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo + AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopskixozuQqqMkntXnGvfGzTtOumhsrd77ac + GQHav4eteTmObYHKaaqY2qoJ7X6+i3Z00MPVxL5aUbnpNFeRf8L7X/oEt/39H+FJ/wAL9X/oEN/39H+F + fO/67ZB/0Er7pf5Hd/ZON/59/iv8z16ivIP+F/L/ANAhv+/o/wAKT/hoBf8AoEN/39H+FH+u2Qf9BK+6 + X+Qf2Tjf+ff4r/M9gorx0/tBKP8AmEN/39H+FH/DQaf9Adv+/o/wp/67ZB/0Er7pf5D/ALIxv/Pv8V/m + exUV42f2hk/6A7f9/R/hSH9odB/zB3/7+j/Cj/XTIP8AoJX3S/yD+yMb/wA+/wAV/mey0Vxngv4paV4y + k+zJutL7GRBL/F/unvXZ19Vg8bh8fRVfCzU4PqjzatGpQnyVFZhRRRXaYhRRRQAUUUUAFFFFABRRRQAU + UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU + UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU + UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU + UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHEfF7Up + tN8GzeS2xpnWIsOuD1r55LV718cDjwev/XwleAlq/mLxKnOWcQg3ooK3zbPv8iivqrfm/wBB+6mlqYWp + jNX5RY+kHlqYWpu6mFqqxQ9mphamM9M31Vh2Hs1MZqazUxmq0hl3S9Ql0zUra6gcpLDIHUg+hr7Ds5jc + WcMp6ugb8xXxcjfvF+tfZmk/8gu0/wCuS/yFfvnhjOXs8VC+icX+Z8XxFFXpS66/oW6KKK/cT4wKKKKA + CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA + CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA + CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA + CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA + CiiigAooooA86+On/Imr/wBfCV8/bq9/+Oxx4LX/AK+Ur56Zq/mHxHX/AAtL/BH85H6HkP8Aunzf6Ehe + mM1RlqaWr8usfRjy9MLUwtTS1UkMduprNTGemF+tXylD2eo2embqaWq7DsSxt+8X619paT/yC7T/AK5L + /IV8To37xfrX2xpH/ILs/wDrkv8AIV+7eGfw4r/t39T4viTal8/0LdFFFfuJ8SFFFFABRRRQAUUUUAFF + FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF + FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF + FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF + FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeb + /Hr/AJElf+vlK+dS1fQ/x+bb4HU/9PKV85GQV/MviMr5zH/BH85H6JkP+6fN/oSFqazVGZBTGf0r8wUT + 6UkZqjL0xmphf3qrDsSbqYz0wtTC1VYY/dTC1MZqjZ6uxRNG37xa+3dH/wCQVZ/9cV/kK+HI2/er9a+4 + 9H/5BNn/ANcU/kK/dPDTSOK/7d/U+J4k2pfP9C5RRRX7cfEBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB + RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB + RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB + RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB + RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSFgvUgVk+Jtb/sTTzIozK52oPf1rzW71 + a7vJTJLcSMx/2iBXyGdcS4bJ5qjKLnN62XRebPQw+DniFzJ2R6/5if3l/OjzE/vL+deLm8m/57Sf99Gm + /bJv+e0n/fRr5j/X6j/0Dv8A8CX+R2/2VL+f8D2rzE/vL+dHmJ/eX868T+2z/wDPeT/vo0xr2f8A57yf + 99mp/wBf6P8A0Dv/AMCX+RX9ky/n/A6D9oSZV8CrhgT9pj7180/afevb7mQ3UeyZjMmc7ZDuH61Uazt/ + +eEX/fAr8v4kx0c+xqxcY8nupW32v6dz6XL/APYqPsnrrc8Za596b9oA717M1nbf88Iv++BUbWNswx9n + hx3+QV8p9VXc9RYv+6ePCfPejzK63xp4Vghs5L+yQRNH80ka9CvqB2NcMsue9c0qTg7HfTqKorotM9MZ + qj301mqFE3Hs1MZqYXqMyVaRRNG37xfrX3Vo/wDyCbP/AK4p/IV8HRt+9X61946P/wAgmy/64p/IV+4+ + GytHFf8Abv6nxHE21L5/oXKKKK/az4YKKKKACiiigAooooAKKK/KD9tL/gpN8Y/gT+05418DeF5dCXQt + Je1W2W707zZMSWkMrbm3jPzSNQB+r9Ffhqv/AAWF/aBH8fhc/XST/wDHKX/h8N+0B/e8L/8Agpb/AOOU + AfuTRX4bf8Phv2gP73hf/wAFLf8AxypIf+CxXx+jbLJ4UlH919KfH6SigD9xaK/Gnw1/wWx+KllKn9ve + CPCWqwL94WS3NpI3/AmlkH/jtfSPwl/4LNfCvxdNBaeN9A1jwHcyYDXS41GyT1y8YWUfhEfrQB+gtFc7 + 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 + WZNH91U9UaQWpsxyU5n96qxvwKVnr2OXU7UiRpPemNJURao2krRRLsWIn/eCv1n8P/8AIC07/r3j/wDQ + RX5HxSfvPwr9cPD/APyAdO/694//AEEV+vcEK1Kt6r9T864v2o/9vfoaFFFFfpp+cBRRRQAUUUUAFFFF + ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF + ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF + ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF + ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHmPxOwusW//AFx/rXHFia6/4pN/xOrX + /rj/AFrjC9fzLxTK2cYj1X5I+5wC/wBmgOzzTS2KbuppavkXM9HlHbjTS2KYWNNLe9ZOZdh5amFqZmgs + KxlMqw4saaSKaWphasXMrlMvxU//ABIbr6D+YrzVnr0XxW2NBu/oP5ivM2c/SvOru7R7ODXuMkaSoy9R + lqazVz2PQsPLcdaYz0xnqMvVqJaRT8QSf8STUP8Ar3f/ANBNeAWUn7tP90fyr3nX3/4kuof9cH/9BNfP + 1i/7uP8A3R/KvsMlj+6qeqLiveNmOSlaSqsclOaSva5dTsiiRpKjaSomkqNpKtRLJ0k+f8K/Xnw9/wAg + HTv+veP/ANBFfj8snzH6H+VfsD4e/wCQDpv/AF7x/wDoIr9a4LVqVb1R+c8YbUP+3v0NCiiiv0g/Ngoo + ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo + ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo + ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo + ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDy/4rRsurWjkfI0RAPu + DXEFgK9w8SeHYPElgYJjsdTujkHVTXmt18MtahmZY1hnTs4fGfwr8G4s4czCpmE8XhqbqQnZ6atOyVmt + +m59bl+Noqiqc3Zo5ZmNMzXSn4ca9/z7x/8Afym/8K31/wD594/+/lfCvIM3/wCgWf8A4Cz1vrmG/wCf + i+85pmpu7NdL/wAK18Qf8+8X/fyj/hWev/8APvH/AN/KyfD+cf8AQLP/AMBZf1zDf8/F95zG73pCRXT/ + APCs/EH/AD7xf9/KT/hWPiD/AJ4Rf9/KzfD2c/8AQLP/AMBY/ruG/wCfi+85ck0V1H/CsfEH/PvF/wB/ + Kafhh4g/594v+/lR/q5nP/QLP/wFlfXcN/z8X3nn/i5v+JBd/wC6P5ivL2evf9e+EfiTUNJuLeK2hMjg + AZlA7iuKP7O3jI/8utt/4ED/AAqf9V85qa/VZfcz08LmWDjFqVVfeeZFqYXr05v2dfGf/Prbf+BA/wAK + Y37OfjM/8ult/wCBA/wqlwnnX/QNL7ju/tTA/wDP1feeYs9MLV6ef2cfGn/Ppbf+BA/wprfs3+ND/wAu + lt/4ED/CrXCmc/8AQNL7h/2rgf8An9H7zx/xA/8AxJdQ/wCvd/8A0E18/WLfu0/3R/KvtXVf2ZfG95pt + 3BHaWu+SJkXdcgDJGPSvJrf9h34oxxqGsdNyABxfe3+7X1GU8N5pRpzVSg1droVHNcBf+MvvPEo396Vp + K91X9iX4nj/lx07/AMDR/wDE0f8ADEvxP/58dO/8Df8A7GvX/wBX8x/59M6lm+A/5/R+88GaSmbq97/4 + Yj+J/wDz46b/AOBv/wBjQv7EXxPZgPsWmqPX7b/9jVf2BmP/AD6ZX9sZf/z+j954ZpdjNqmo29lbrvnu + JFhRR3ZiFH6mv2D0e3a00mygf78cKI31CgV80fs//saxfD/WrfxD4quoNS1S2O+2tbcHyYW/vEnlmHbs + K+o6/TuHMsq5dQl7fSUunY/N+JMzo4+rCFB3jG+vdv8A4YKKKK+tPjgooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK + ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9k= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAL1JREFUSEvt0zEKwkAQheEUiqfQRjyIjYXgQWw8hIWVjSewsrPUA3gGGwsPYaGm + U/9dssMmDBKYKfPgg32bYRcSUnRpk+8fa5ijHZyUmMAU7eDcCaZoh1rVog1Y1ZI2X+iFDe+kCy4YZ93D + HVI2WGXdww5SFjhn3cMMcfHBEO+qe3higFhumFdrL/L/hLJHeF/NIYslYkI5IHzx5pDFCDHaQ6srJNqA + 1RYSbcBqCok2YPFAHxJtyOKILm1TFD9GK0kMTxws4wAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAL1JREFUSEvt0zEKwkAQheEUiqfQRjyIjYXgQWw8hIWVjSewsrPUA3gGGwsPYaGm + U/9dssMmDBKYKfPgg32bYRcSUnRpk+8fa5ijHZyUmMAU7eDcCaZoh1rVog1Y1ZI2X+iFDe+kCy4YZ93D + HVI2WGXdww5SFjhn3cMMcfHBEO+qe3higFhumFdrL/L/hLJHeF/NIYslYkI5IHzx5pDFCDHaQ6srJNqA + 1RYSbcBqCok2YPFAHxJtyOKILm1TFD9GK0kMTxws4wAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAL1JREFUSEvt0zEKwkAQheEUiqfQRjyIjYXgQWw8hIWVjSewsrPUA3gGGwsPYaGm + U/9dssMmDBKYKfPgg32bYRcSUnRpk+8fa5ijHZyUmMAU7eDcCaZoh1rVog1Y1ZI2X+iFDe+kCy4YZ93D + HVI2WGXdww5SFjhn3cMMcfHBEO+qe3higFhumFdrL/L/hLJHeF/NIYslYkI5IHzx5pDFCDHaQ6srJNqA + 1RYSbcBqCok2YPFAHxJtyOKILm1TFD9GK0kMTxws4wAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAJlJREFUSEvtlMEJwzAUQz1UCd0gJUt11zZ7tPqQgghSLfucB+9iP+FLSLsYZYM7 + /Ez4hF3e8DzswW33EY5/KviO2/LvI+e4VPAdt3wuSWO+45bPJUPxwdBGxTNaVDyjRcUzWji61UHIAnlr + iSJDtI0iQ7SNIkO0jSJDtI0iQ7TlqL6MlDvkrUX9rkd9QcsDVqCGibVd4UVKa1/MFMbAAf3rQAAAAABJ + RU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAJlJREFUSEvtlMEJwzAUQz1UCd0gJUt11zZ7tPqQgghSLfucB+9iP+FLSLsYZYM7 + /Ez4hF3e8DzswW33EY5/KviO2/LvI+e4VPAdt3wuSWO+45bPJUPxwdBGxTNaVDyjRcUzWji61UHIAnlr + iSJDtI0iQ7SNIkO0jSJDtI0iQ7TlqL6MlDvkrUX9rkd9QcsDVqCGibVd4UVKa1/MFMbAAf3rQAAAAABJ + RU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAJlJREFUSEvtlMEJwzAUQz1UCd0gJUt11zZ7tPqQgghSLfucB+9iP+FLSLsYZYM7 + /Ez4hF3e8DzswW33EY5/KviO2/LvI+e4VPAdt3wuSWO+45bPJUPxwdBGxTNaVDyjRcUzWji61UHIAnlr + iSJDtI0iQ7SNIkO0jSJDtI0iQ7TlqL6MlDvkrUX9rkd9QcsDVqCGibVd4UVKa1/MFMbAAf3rQAAAAABJ + RU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAANtJREFUSEvtlM0JQjEQhFOAZXj2B8QaxLPtiDVZg42IelJ70BkwMDx2k0303fzg + u2wmmeUhpj+tbOENvjo8wCpXOLxYQ7PVEg1nLfRMs7RYMgxTCz3TrM5NomE906zOTZrCH5ruWOEeXaxw + jy5WuEcXDa04CLKGetclFHII3Q2FHE5w1IIJzCUuPQXM3uEM5hKXngI+nkvmkCUuWsBfRgRunksecAFd + rL/rkvwc3Jib83HOnnAJTTbwAocPlcwl3JyPc1Ys+QYt2cMp/DncnI8fIT/5KHDzc0pp9wY5IsmrFeRU + NgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAANtJREFUSEvtlM0JQjEQhFOAZXj2B8QaxLPtiDVZg42IelJ70BkwMDx2k0303fzg + u2wmmeUhpj+tbOENvjo8wCpXOLxYQ7PVEg1nLfRMs7RYMgxTCz3TrM5NomE906zOTZrCH5ruWOEeXaxw + jy5WuEcXDa04CLKGetclFHII3Q2FHE5w1IIJzCUuPQXM3uEM5hKXngI+nkvmkCUuWsBfRgRunksecAFd + rL/rkvwc3Jib83HOnnAJTTbwAocPlcwl3JyPc1Ys+QYt2cMp/DncnI8fIT/5KHDzc0pp9wY5IsmrFeRU + NgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAANtJREFUSEvtlM0JQjEQhFOAZXj2B8QaxLPtiDVZg42IelJ70BkwMDx2k0303fzg + u2wmmeUhpj+tbOENvjo8wCpXOLxYQ7PVEg1nLfRMs7RYMgxTCz3TrM5NomE906zOTZrCH5ruWOEeXaxw + jy5WuEcXDa04CLKGetclFHII3Q2FHE5w1IIJzCUuPQXM3uEM5hKXngI+nkvmkCUuWsBfRgRunksecAFd + rL/rkvwc3Jib83HOnnAJTTbwAocPlcwl3JyPc1Ys+QYt2cMp/DncnI8fIT/5KHDzc0pp9wY5IsmrFeRU + NgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAPBJREFUSEvdlbsNAjEQRI+AeqgEEogoCAqBmvh2QIiIgXmSLa38P5CTG+mJ03p3 + zNle3zB5zcVGHMVZvBw8E2OMnJ+0EnfxqUDOUjRrJvYiZZbjLaihtqqx5hZqi2JZ+Dep4haozS4XmxWu + +UNs3a+Nl8ZuIrnxnAibCBighbBGPBND5NgawCsSxy5MtEZ+klQsrDuISFcRJkJoWDOHi4j0FKlksJOg + kjngFan7BN2XqPsmdz+mNAdNYhMxSjVTaSzbaIg273ZVeP1z2e1EVf66HvMm5DZf1168apcPjhWbtRb2 + k0kTnVyMseyGTkHD8AULpQvCxt7RigAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAPBJREFUSEvdlbsNAjEQRI+AeqgEEogoCAqBmvh2QIiIgXmSLa38P5CTG+mJ03p3 + zNle3zB5zcVGHMVZvBw8E2OMnJ+0EnfxqUDOUjRrJvYiZZbjLaihtqqx5hZqi2JZ+Dep4haozS4XmxWu + +UNs3a+Nl8ZuIrnxnAibCBighbBGPBND5NgawCsSxy5MtEZ+klQsrDuISFcRJkJoWDOHi4j0FKlksJOg + kjngFan7BN2XqPsmdz+mNAdNYhMxSjVTaSzbaIg273ZVeP1z2e1EVf66HvMm5DZf1168apcPjhWbtRb2 + k0kTnVyMseyGTkHD8AULpQvCxt7RigAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAPBJREFUSEvdlbsNAjEQRI+AeqgEEogoCAqBmvh2QIiIgXmSLa38P5CTG+mJ03p3 + zNle3zB5zcVGHMVZvBw8E2OMnJ+0EnfxqUDOUjRrJvYiZZbjLaihtqqx5hZqi2JZ+Dep4haozS4XmxWu + +UNs3a+Nl8ZuIrnxnAibCBighbBGPBND5NgawCsSxy5MtEZ+klQsrDuISFcRJkJoWDOHi4j0FKlksJOg + kjngFan7BN2XqPsmdz+mNAdNYhMxSjVTaSzbaIg273ZVeP1z2e1EVf66HvMm5DZf1168apcPjhWbtRb2 + k0kTnVyMseyGTkHD8AULpQvCxt7RigAAAABJRU5ErkJggg== + + + + + AAABAAEAlpYAAAEAIABwawEAFgAAACgAAACWAAAALAEAAAEAIAAAAAAAkF8BABMLAAATCwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA9vb2APb29gD29vYA9vb2B/b29hT29vYo9vb2Rfb29m729vaa9vb2v/b29tr29vbu9vb2/Pb2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2APb29gD29vYA9vb2Afb2 + 9gH29vYD9vb2BPb29gT29vYI9vb2Evb29iP29vY69vb2V/b29nz29vak9vb2xfb29t729vbw9vb2/Pb2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2APb29gD29vYA9vb2A/b2 + 9gb29vYM9vb2Ffb29iD29vYt9vb2Pvb29lH29vZn9vb2f/f295349vi7+Pb40/j2+Ob49vj0+Pb4/fj2 + +P/49vj/9/b3//f29//39vf/9vb2//b29v/29vb/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2APb29gD29vYA9vb2Bvb2 + 9g/29vYc9vb2L/b29kn29vZk9vb2ffb29pP29van9/b3uvj2+Mv59vnb+vb65/r2+vH59vn5+fb5/vn2 + +f/59vn/+fb5//j2+P/39vf/9vb2//b29v/29vb/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD29vYA9vb2APb29gD29vYA9vb2APb29gH29vYC9vb2Avb29gL29vYG9vb2Efb2 + 9iH29vY39vb2VPb29nj29vac9vb2ufb29tD29vbi9vb27vX29fX09vT38/bz+fP28/zz9vP+9Pb0//T2 + 9P/09vT/9Pb0//T29P/19vX/9vb2//b29v/29vb/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD29vYA9vb2APb29gD29vYB9vb2A/b29gf29vYN9vb2Ffb29h/29vYs9vb2Pfb2 + 9lH29vZo9/b3g/f296T49vjD+Pb42/n2+ez49vj39fb1/u727v/l9+X/4Pfg/+D34P/h9+H/4/fj/+P3 + 4//j9+P/5Pfk/+n36f/v9u//9Pb0//b29v/39vf/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD29vYA9vb2APb29gD29vYB9vb2B/b29hD29vYe9vb2Mvb29kz29vZm9vb2fvb2 + 9pT29vao9/b3vfn2+dD69vrh+/b77v32/fb89vz79Pb0/+L34v/P+M//w/nD/8L5wv/G+cb/yfjJ/8n4 + yf/J+Mn/zPjM/9f31//m9+b/8vby//f29//39vf/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vYA9vb2APb2 + 9gD29vYA9vb2APb29gH29vYB9vb2APb29gD29vYF9vb2Efb29iL29vY59vb2V/b29nz29vaf9vb2uvb2 + 9tD29vbg9vb27PX29fP19vX29fb1+ff29/z29vb+6vbq/9H30f+0+bT/ovmi/5/6n/+k+qT/qfmp/6v5 + q/+t+a3/tfm1/8b4xv/d993/8Pbw//j2+P/49vj/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vYA9vb2APb2 + 9gD29vYB9vb2A/b29gf29vYN9vb2FPb29h329vYp9vb2Ovb29k/29vZn9/b3hff296f49vjG+Pb43fn2 + +e339vf58/bz/+r26v/i9+L/3vfe/9/33//f99//0vfS/7b3tv+W95b/gveC/3v4e/99+X3/g/mD/4v5 + i/+X+Zf/p/mn/774vv/Z99n/7/bv//j2+P/49vj/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vYA9vb2APb2 + 9gD29vYC9vb2CPb29hL29vYg9vb2NPb29kz29vZk9vb2e/b29pD29vam+Pb4u/n2+dD69vri/Pb87v32 + /ff69vr87vbu/9n32f/D+MP/uPm4/7j5uP+4+bj/rfit/5P2k/919HX/X/Nf/1T0VP9Q9lD/VvhW/2j5 + aP+D+YP/n/mf/7v5u//Y99j/7vbu//j2+P/49vj/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vYA9vb2APb29gD29vYA9vb2APb29gD29vYA9vb2APb2 + 9gD29vYF9vb2Evb29iT29vY79vb2W/b29n/29vag9vb2ufb29s729vbe9vb26vb29vD29vb19/b3+fr2 + +vz29vb+4/fj/8L4wv+h+aH/j/mP/436jf+O+o7/hfiF/2/1b/9V8VX/QPBA/zHxMf8p9Cn/L/Yv/0r4 + Sv9y+XL/mPmY/7r5uv/Y+Nj/7vbu//j2+P/59vn/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vYA9vb2APb29gD29vYB9vb2BPb29gf29vYM9vb2Evb2 + 9hr29vYn9vb2OPb29k329vZn9/b3h/f296r39vfI+Pb43/j2+O/29vb78fbx/+r26v/j9+P/4vfi/+X3 + 5f/h9+H/zvfO/6n3qf+F94X/b/dv/2r4av9q+Wr/Yfhh/1D1UP888Tz/K+8r/xzxHP8T8xP/GvYa/zn4 + Of9l+WX/kfqR/7X5tf/V+NX/7fbt//j2+P/59vn/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vYA9vb2APb29gD29vYD9vb2Cfb29hP29vYh9vb2Nfb2 + 9kv29vZi9vb2ePb29o329vaj+Pb4uvn2+dD69vrj/Pb87/32/fj49vj96vfq/9b31v/D+MP/vfm9/7/5 + v/+++L7/rfet/4z1jP9r82v/VvNW/031Tf9I90j/QPdA/zT1NP8o8ij/HvEe/xPyE/8M9Az/FfYV/zP4 + M/9d+V3/iPqI/675rv/S+NL/7fbt//n2+f/59vn/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vYA9vb2APb29gD29vYH9vb2FPb29ib29vY+9vb2X/b2 + 9oL29vag9vb2uPb29sz29vbc9vb25/f29+/39vf0+fb5+fv2+/z09vT+3vfe/7z4vP+e+Z7/k/qT/5T6 + lP+V+ZX/iPeI/2/zb/9U71T/Qe5B/zTxNP8s9Cz/JPYk/x71Hv8a9Br/FvQW/xD0EP8N9Q3/FvYW/zL3 + Mv9Y+Vj/gPqA/6j5qP/O+M7/7Pbs//n2+f/59vn/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vYA9vb2APb29gD29vYC9vb2BPb29gf29vYL9vb2EPb29hj29vYl9vb2Nvb29kz29vZo9/b3ivf2 + 96339vfL9/b34ff29/H19vX88fbx/+v26//m9+b/5vfm/+n36f/i9+L/yffJ/6L3ov+A+ID/cfhx/3D5 + cP9w+XD/ZvZm/1TyVP9A7kD/MO0w/yTvJP8b8hv/FPQU/xL1Ev8S9RL/EfUR/w71Dv8N9Q3/F/YX/zH3 + Mf9V+VX/fPp8/6T5pP/M+Mz/6/br//n2+f/59vn/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vYA9vb2APb29gD29vYE9vb2Cvb29hT29vYi9vb2Nfb29kr29vZf9vb2dPb29or39veh+Pb4uvr2 + +tH69vrk/Pb88Pz2/Pn29vb+5/fn/9T41P/F+MX/wvjC/8X4xf/A+MD/qfep/4b1hv9m82b/VvRW/1D1 + UP9O9k7/RvVG/zryOv8u7y7/JO4k/xzwHP8V8hX/EfQR/xH0Ef8R9BH/EfQR/w71Dv8N9Q3/F/UX/zH3 + Mf9U+VT/evl6/6P5o//M+Mz/6/br//n2+f/69vr/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vYA9vb2APb29gH29vYJ9vb2Fvb29ij29vZB9vb2Yvb29oP29vaf9vb2tvb29sr29vbZ9/b35fj2 + +O349vj0+/b7+fv2+/zy9vL+2PfY/7f4t/+e+Z7/l/qX/5r6mv+Y+Zj/hvaG/2vya/9Q71D/QO9A/zbx + Nv8w8zD/KvQq/yXzJf8g8SD/HPAc/xnxGf8W8hb/FPMU/xTzFP8U8xT/E/QT/xD0EP8P9A//GPUY/zL2 + Mv9V+FX/e/l7/6P5o//M+Mz/6/br//n2+f/69vr/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYC9vb2BPb2 + 9gf29vYK9vb2Dvb29hX29vYj9vb2Nfb29kz29vZp9vb2jfb29rH39vfN9/b34vf29/L19vX88Pbw/+z2 + 7P/p9+n+6/fr/+z27P/h9+H/w/fD/5z3nP9++H7/dPl0/3X5df9z+XP/ZvZm/1HxUf897T3/L+0v/yXv + Jf8d8h3/GfMZ/xjzGP8Y8hj/F/IX/xfyF/8X8hf/FvIW/xbyFv8V8xX/FfMV/xHzEf8Q8xD/GfQZ/zL2 + Mv9V+FX/e/l7/6P5o//M+Mz/6/br//n2+f/69vr/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gH29vYF9vb2C/b2 + 9hX29vYi9vb2NPb29kj29vZc9vb2cfb29oj39veg+fb5uvr2+tP69vrl/Pb88vv2+/r09vT/5Pfk/9P4 + 0//I+Mj/yPjI/8r4yv/B+MH/pfal/4H1gf9k9GT/V/VX/1P2U/9Q91D/RvVG/znxOf8t7i3/JO4k/x3v + Hf8X8Rf/FfIV/xXyFf8W8hb/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvMW/xLzEv8R8xH/GvQa/zP2 + M/9W+Fb/e/l7/6P5o//M+Mz/6/br//n2+f/69vr/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gL29vYL9vb2GPb2 + 9ir29vZE9vb2ZPb29oT29vae9vb2tPb29sf39vfX+Pb44/n2+e369vr0/Pb8+fv2+/3u9u7/0/jT/7T5 + tP+g+qD/nfqd/6D6oP+a+Jr/hPWE/2fxZ/9O707/P/A//zfzN/8x9TH/KvQq/yXyJf8h8CH/HfAd/xrw + Gv8Y8Rj/F/EX/xfxF/8Y8Rj/GPEY/xjxGP8Y8Rj/F/EX/xfyF/8X8hf/FvIW/xPyE/8S8xL/G/Qb/zT2 + NP9X+Ff/fPl8/6T5pP/M+Mz/6/br//n2+f/59vn/9vb2/Pb29sj29vZ09vb2Jfb29gD29vYA9vb2AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gT29vYV9vb2Lvb2 + 9kv29vZt9vb2kvb29rT29vbO9/b34/b29vL09vT78Pbw/e327f3r9uv97vbu/u327f/e997/vPi8/5b5 + lv99+X3/d/p3/3n6ef92+Hb/ZfVl/0/wT/887Tz/Lu0u/yPwI/8c8xz/GPQY/xjzGP8Z8hn/GfEZ/xnx + Gf8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xnxGf8Y8Rj/GPEY/xjxGP8X8hf/F/IX/xPyE/8S8xL/HPMc/zX1 + Nf9X+Ff/ffl9/6T5pP/M+Mz/6/br//n2+f/59vn/9vb2/Pb29sz29vZ+9vb2NPb29g329vYD9vb2Bvb2 + 9gX29vYD9vb2Afb29gD29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gb29vYm9vb2U/b2 + 9n/29vah9vb2vvb29tX39vfn+vb68/n2+fvx9vH/4ffh/9L40v/K+Mr/zPjM/834zf+/+L//n/ef/3r2 + ev9h9WH/WPZY/1f4V/9S91L/R/RH/znwOf8s7iz/Iu4i/xrwGv8V8hX/E/MT/xTzFP8W8hb/F/IX/xjx + GP8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xnxGf8Z8Rn/GPEY/xjxGP8Y8Rj/F/IX/xTyFP8T8hP/HPMc/zX1 + Nf9X+Ff/ffl9/6T5pP/M+Mz/6/br//n2+f/69vr/9vb2/Pb29tj29vac9vb2Yfb29jv29vYm9vb2Gvb2 + 9hD29vYI9vb2A/b29gD29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gn29vY59vb2ffb2 + 9rj29vbY9vb25vb29u349vj0+/b7+vn2+f3p9+n/zPjM/6/5r/+g+qD/oPqg/6L6ov+Y+Jj/fvV+/2Dy + YP9J8En/PvI+/zj1OP8y9jL/LPQs/yXyJf8g8CD/G/Ab/xjxGP8W8hb/FfIV/xbyFv8X8hf/GPEY/xjx + GP8Z8Bn/GfAZ/xnwGf8a8Br/GvAa/xnwGf8Z8Bn/GfAZ/xjxGP8Y8Rj/F/EX/xTyFP8T8hP/HPMc/zX1 + Nf9X+Ff/ffl9/6T5pP/M+Mz/6/br//n2+f/69vr/9vb2/fb29ub29vbB9vb2mPb29nX29vZU9vb2OPb2 + 9iL29vYS9vb2B/b29gH29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gv29vZH9vb2m/b2 + 9uD29vb+9vb2//b29vz29vb99vb2/u/27//Z99n/s/iz/475jv96+nr/ePt4/3r7ev9z+XP/X/Rf/0nw + Sf827jb/Ku8q/yLyIv8c9Bz/GfQZ/xjzGP8Y8hj/F/IX/xfyF/8X8hf/F/IX/xjyGP8Y8Rj/GPEY/xnw + Gf8Z8Bn/GfAZ/xrwGv8a8Br/GvAa/xrwGv8Z8Bn/GfAZ/xnwGf8Y8Rj/GPEY/xTyFP8T8hP/HPMc/zX1 + Nf9X+Ff/ffl9/6T5pP/M+Mz/6/br//n2+f/69vr/9vb2/vb29vL29vbe9vb2xfb29qf29vaC9vb2Xvb2 + 9kH29vYq9vb2GPb29g329vYH9vb2Bfb29gT29vYC9vb2Afb29gD29vYA9vb2APb29gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/9/b3//X29f/v9u//5Pfk/9T31P+597n/lPeU/3H3cf9c91z/V/hX/1b5Vv9Q+FD/Q/VD/zTw + NP8o7ij/H+8f/xjyGP8U8xT/E/QT/xTzFP8V8hX/FvIW/xfyF/8X8hf/GPEY/xjxGP8Y8Rj/GfEZ/xnw + Gf8Z8Bn/GfAZ/xrwGv8a8Br/GvAa/xrwGv8Z8Bn/GfAZ/xnwGf8Y8Rj/GPEY/xTxFP8T8hP/HPMc/zX1 + Nf9Y+Fj/ffl9/6T5pP/M+Mz/6/br//n2+f/69vr/9vb2//b29vj29vbv9vb24Pb29sv29vav9vb2kvb2 + 9nj29vZh9vb2TPb29jr29vYp9vb2G/b29hD29vYJ9vb2BPb29gH29vYA9vb2APb29gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/m9+b/zfjN/7H5sf+T+JP/dPV0/1fzV/9E8kT/OvU6/zX3Nf8v9y//KfUp/yLz + Iv8d8R3/GfEZ/xbyFv8U8xT/FPMU/xXzFf8W8hb/FvIW/xfyF/8Y8Rj/GPEY/xjxGP8Z8Rn/GfEZ/xnw + Gf8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8Z8Bn/GfAZ/xnwGf8Y8Rj/GPEY/xTxFP8T8hP/HfMd/zX1 + Nf9Y+Fj/ffl9/6T5pP/N+M3/6/br//n2+f/69vr/9vb2//b29vz29vb49vb28fb29uf29vba9vb2yvb2 + 9rj29vak9vb2jvb29nX29vZY9vb2O/b29iT29vYU9vb2Cfb29gL29vYA9vb2APb29gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/f99//vPm8/5b6lv92+Hb/WvRa/0LxQv8w8DD/JPIk/x31Hf8Y9xj/FvYW/xb0 + Fv8W8xb/FvMW/xbyFv8W8hb/FvIW/xfyF/8X8hf/F/IX/xjxGP8Y8Rj/GPEY/xnxGf8Z8Rn/GfEZ/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8Z8Bn/GfAZ/xnwGf8Y8Rj/GPEY/xTxFP8T8hP/HfMd/zb1 + Nv9Y+Fj/ffl9/6X5pf/N+M3/6/br//n2+f/69vr/9vb2//b29v729vb99vb2+/b29vr29vb59vb29Pb2 + 9ur29vba9vb2xfb29qr29vaH9vb2Yvb29kL29vYq9vb2GPb29gv29vYF9vb2BPb29gP29vYC9vb2Afb2 + 9gD29vYA9vb2APb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/d993/tvm2/436jf9r+Wv/TPVM/zPyM/8h8SH/F/IX/xL1Ev8P9g//D/YP/xH1 + Ef8T9BP/FfMV/xbyFv8W8hb/F/IX/xfyF/8X8hf/GPIY/xjxGP8Y8Rj/GPEY/xnxGf8Z8Rn/GfEZ/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8Z8Bn/GfAZ/xnwGf8Y8Rj/GPEY/xTxFP8T8hP/HfMd/zb1 + Nv9Y+Fj/ffl9/6T5pP/N+M3/6/br//n2+f/69vr/9vb2//b29v/39/f/9/f3//f39//39/f/9vb2//b2 + 9vr29vbw9vb24vb29s729vax9vb2kvb29nb29vZe9vb2Sfb29jf29vYn9vb2G/b29hH29vYJ9vb2BPb2 + 9gH29vYA9vb2APb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/d993/uPm4/4/6j/9q+mr/R/dH/yr0Kv8Y8xj/EfQR/xD1EP8P9Q//EPUQ/xL0 + Ev8U8xT/FfMV/xbyFv8X8Rf/F/EX/xjxGP8Y8Rj/GPEY/xjxGP8Y8Rj/GPEY/xnxGf8Z8Bn/GfAZ/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnwGf8Z8Rn/GPEY/xTxFP8T8hP/HPMc/zX1 + Nf9Y+Fj/ffl9/6T5pP/M+Mz/6/br//n2+f/69vr/9vb2//f39//39/f/+Pj4//j4+P/39/f/9vb2//b2 + 9v329vb49vb28vb29uf29vbZ9vb2yPb29rX29vah9vb2jPb29nT29vZZ9vb2Pfb29ib29vYV9vb2Cvb2 + 9gP29vYA9vb2APb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/f99//u/m7/5P6k/9t+m3/RvlG/yT3JP8R9hH/DfYN/xD1EP8S9RL/E/QT/xT0 + FP8V8xX/FvIW/xfyF/8Y8Rj/GPEY/xjxGP8Y8Rj/GPEY/xjxGP8Y8Rj/GPEY/xnwGf8Z8Bn/GfAZ/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnwGf8Z8Rn/GPEY/xTyFP8T8hP/HPMc/zX1 + Nf9X+Ff/ffl9/6T5pP/M+Mz/6/br//n2+f/69vr/9vb2//b29v/19fX/9PT0//T09P/19fX/9vb2//b2 + 9v729vb99vb2+/b29vj29vb29vb28vb29un29vba9vb2xvb29qz29vaL9vb2Zfb29kT29vYs9vb2GPb2 + 9gr29vYD9vb2Avb29gL29vYB9vb2Afb29gD29vYA9vb2APb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/f99//vPm8/5T6lP9t+m3/RPlE/yH4If8O9w7/C/YL/xD1EP8T9BP/FPQU/xXz + Ff8W8xb/F/IX/xjxGP8Y8Rj/GPEY/xjxGP8Y8Rj/GPEY/xjxGP8Y8Rj/GPEY/xnwGf8Z8Bn/GfAZ/xnw + Gf8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GfAZ/xnxGf8Y8Rj/F/EX/xTyFP8T8hP/HPMc/zX1 + Nf9X+Ff/ffl9/6T5pP/M+Mz/6/br//n2+f/69vr/9vb2//Pz8//t7e3/6enp/+rq6v/v7+//9fX1//j4 + +P/5+fn/+Pj4//f39//39/f/9vb2//b29vv29vby9vb25Pb29tD29va09vb2k/b29nX29vZc9vb2Rvb2 + 9jT29vYl9vb2Gvb29hH29vYK9vb2Bfb29gL29vYA9vb2APb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/f99//vPm8/5T6lP9u+m7/RflF/yL3Iv8P9g//DPUM/xH0Ef8U9BT/FfMV/xbz + Fv8W8hb/F/IX/xjxGP8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xnwGf8Z8Bn/GfAZ/xnw + Gf8Z8Bn/GfAZ/xrwGv8Z8Bn/GfAZ/xnwGf8Z8Bn/GfEZ/xjxGP8Y8Rj/F/IX/xTyFP8T8hP/HPMc/zX1 + Nf9Y+Fj/ffl9/6T5pP/M+Mz/6/br//r2+v/79/v/9vb2/+7u7v/h4eH/19fX/9nZ2f/m5ub/9PT0//v7 + +//8/Pz/+vr6//j4+P/39/f/9/f3//b29v329vb59vb28vb29uj29vbZ9vb2xvb29rP29vae9vb2ifb2 + 9nL29vZZ9vb2P/b29if29vYX9vb2C/b29gT29vYA9vb2APb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/f99//vfi9/5X6lf9v+W//RvhG/yP3I/8Q9hD/DfUN/xL0Ev8V8xX/FvMW/xby + Fv8X8hf/GPIY/xjxGP8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xnwGf8Z8Bn/GfAZ/xnw + Gf8Z8Bn/GfAZ/xnwGf8Z8Bn/GfAZ/xnwGf8Y8Rj/GPEY/xjxGP8X8hf/F/IX/xPyE/8S8hL/HPMc/zX1 + Nf9Y+Fj/ffl9/6X5pf/N+M3/6/br//r3+v/8+Pz/9vX2/+jo6P/S0tL/wcHB/8LCwv/U1NT/6enp//T0 + 9P/39/f/9vb2//X19f/29vb/9vb2//b29v729vb99vb2+/b29vj29vb09vb28Pb29uf29vbZ9vb2xfb2 + 9q329vaO9vb2afb29kf29vYt9vb2Gfb29gr29vYC9vb2APb29gH29vYB9vb2APb29gD29vYA9vb2APb2 + 9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//X29f/g9+D/vvi+/5j5mP9x+XH/R/hH/yT3JP8Q9hD/DvQO/xLzEv8V8xX/FvIW/xfy + F/8X8hf/GPEY/xnxGf8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xnwGf8Z8Bn/GfAZ/xnw + Gf8Z8Bn/GfAZ/xnwGf8Z8Bn/GPEY/xjxGP8Y8Rj/GPEY/xfyF/8X8hf/F/IX/xPyE/8S8xL/HPMc/zX1 + Nf9Y+Fj/ffl9/6X5pf/N+M3/6/br//r3+v/9+f3/9fX1/+Hh4f/BwcH/p6en/6Kiov+zs7P/ycnJ/9fX + 1//f39//5eXl/+rq6v/w8PD/9PT0//f39//4+Pj/9/f3//f39//39/f/9vb2//b29v329vb09vb25vb2 + 9tL29va39vb2lvb29nX29vZa9vb2RPb29jH29vYj9vb2GPb29hD29vYK9vb2Bfb29gL29vYA9vb2APb2 + 9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//X29f/h9+H/wfjB/5v5m/90+XT/SvhK/yX3Jf8R9RH/DvQO/xPzE/8W8hb/F/IX/xfy + F/8Y8Rj/GPEY/xnxGf8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xnwGf8Z8Bn/GfAZ/xnw + Gf8Z8Bn/GPEY/xjxGP8Y8Rj/GPEY/xjxGP8Y8Rj/F/IX/xfyF/8X8hf/FvIW/xPyE/8S8xL/HPMc/zX1 + Nf9Y+Fj/ffl9/6X5pf/N+M3/6/br//v4+//++/7/9fT1/9nZ2f+tra3/hoaG/3l5ef+EhIT/l5eX/6io + qP+5ubn/ysrK/9nZ2f/n5+f/8/Pz//r6+v/8/Pz/+vr6//j4+P/4+Pj/9/f3//b29v729vb69vb28/b2 + 9un29vbZ9vb2xvb29rD29vab9vb2hvb29nD29vZY9vb2QPb29in29vYY9vb2DPb29gX29vYA9vb2APb2 + 9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//X29f/i9+L/w/jD/5/5n/94+Xj/TPhM/yb3Jv8R9RH/DvQO/xPzE/8W8hb/F/IX/xfx + F/8Y8Rj/GPEY/xnxGf8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xjxGP8Y8Rj/GPEY/xnwGf8Z8Bn/GfAZ/xnw + Gf8Y8Rj/GPEY/xjxGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xPyE/8S8xL/G/Mb/zX1 + Nf9Y+Fj/ffl9/6X5pf/N+M3/6/br//z4/P///P//9PT0/9PT0/+cnJz/ampq/1VVVf9YWFj/aGho/3p6 + ev+RkZH/q6ur/8LCwv/X19f/6enp//T09P/4+Pj/9/f3//b29v/29vb/9vb2//b29v/29vb99vb2+/b2 + 9vf29vbz9vb27vb29uX29vbX9vb2xPb29q329vaQ9vb2bfb29kr29vYv9vb2Gvb29gv29vYB9vb2APb2 + 9gD29vYA9vb2APb29gD29vYA9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/j9+P/xvjG/6P5o/98+Xz/T/hP/yf3J/8R9RH/DvQO/xPzE/8W8hb/F/EX/xjx + GP8Y8Rj/GPEY/xnxGf8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xjxGP8Y8Rj/GPEY/xnwGf8Z8Bn/GfAZ/xnx + Gf8Y8Rj/GPEY/xfyF/8X8hf/F/IX/xfyF/8X8hf/F/IX/xbyFv8W8hb/FvIW/xLyEv8R8xH/G/Mb/zT1 + NP9Y+Fj/ffl9/6X5pf/N+M3/6/br//z5/P///P//9PT0/8/Pz/+Tk5P/W1tb/0JCQv9BQUH/TU1N/11d + Xf9zc3P/jIyM/6Ojo/+5ubn/y8vL/9ra2v/i4uL/5+fn/+vr6//w8PD/9PT0//b29v/4+Pj/9/f3//f3 + 9//29vb/9vb2//b29v729vb29vb26Pb29tT29va69vb2mPb29nb29vZZ9vb2Qvb29i/29vYg9vb2Fvb2 + 9g/29vYK9vb2Bfb29gL29vYA9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/k9+T/yfjJ/6f5p/+A+YD/UvhS/yj2KP8S9RL/DvQO/xTzFP8X8hf/F/EX/xjx + GP8Y8Rj/GPEY/xnxGf8Z8Rn/GfEZ/xnxGf8Y8Rj/GPEY/xjxGP8Y8Rj/GPEY/xnxGf8Z8Rn/GfEZ/xjx + GP8Y8Rj/GPEY/xfyF/8X8hf/F/IX/xfyF/8X8hf/FvIW/xbyFv8W8hb/FfMV/xLzEv8R8xH/G/Mb/zT1 + NP9X+Ff/ffl9/6T5pP/M+Mz/6/br//z5/P///f//9PT0/8/Pz/+SkpL/WVlZ/z4+Pv87Ozv/RERE/05O + Tv9cXFz/bW1t/3x8fP+MjIz/m5ub/6urq/+6urr/ysrK/9jY2P/l5eX/8fHx//n5+f/8/Pz/+/v7//n5 + +f/4+Pj/9/f3//b29v/29vb79vb29Pb29ur29vba9vb2xfb29q729vaY9vb2gvb29m329vZX9vb2QPb2 + 9ir29vYZ9vb2Dvb29gb29vYB9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/l9+X/y/jL/6v5q/+E+YT/VPhU/yn2Kf8S9RL/DvQO/xTzFP8X8hf/F/EX/xjx + GP8Y8Rj/GPEY/xnxGf8Z8Rn/GfEZ/xjxGP8Y8Rj/GPEY/xjxGP8Y8Rj/GPEY/xnxGf8Z8Rn/GfEZ/xnx + Gf8Y8Rj/GPEY/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xbyFv8V8xX/FfMV/xLzEv8R8xH/G/Mb/zT1 + NP9X+Ff/ffl9/6T5pP/M+Mz/6/br//z5/P///P//9PT0/8/Pz/+UlJT/XFxc/0BAQP88PDz/QkJC/0dH + R/9LS0v/UVFR/1lZWf9hYWH/a2tr/3p6ev+QkJD/qamp/8DAwP/U1NT/5+fn//T09P/5+fn/+fn5//f3 + 9//29vb/9vb2//b29v/29vb99vb2+/b29vf29vby9vb26/b29uL29vbV9vb2w/b29qz29vaS9vb2cPb2 + 9k729vYx9vb2HPb29g329vYC9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/m9+b/zfjN/675rv+H+Yf/VvhW/yr2Kv8S9RL/D/MP/xTyFP8X8hf/GPEY/xjx + GP8Y8Rj/GfEZ/xnxGf8Z8Rn/GfEZ/xjxGP8Y8Rj/GPEY/xjxGP8Y8Rj/GfEZ/xnxGf8Z8Rn/GfEZ/xnx + Gf8Y8Rj/GPEY/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xbyFv8V8xX/FfMV/xLzEv8R8xH/G/Qb/zT2 + NP9X+Ff/fPl8/6T5pP/M+Mz/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9BQUH/QkJC/0RERP9ISEj/Tk5O/1tbW/9wcHD/ioqK/6Kiov+4uLj/zMzM/9zc3P/l5eX/6enp/+zs + 7P/w8PD/8/Pz//b29v/39/f/9/f3//f39//29vb/9vb2//b29v/29vb49vb26vb29tf29va99vb2nPb2 + 9nj29vZZ9vb2Qfb29i329vYd9vb2E/b29g729vYJ9vb2Bfb29gP29vYB9vb2APb29gD29vYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/m9+b/zvjO/6/5r/+I+Yj/V/hX/yr2Kv8S9BL/D/MP/xTyFP8X8hf/GPEY/xjx + GP8Y8Rj/GfEZ/xnxGf8Z8Rn/GfEZ/xnxGf8Y8Rj/GfEZ/xnxGf8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xnx + Gf8Y8Rj/GPEY/xfyF/8X8hf/F/IX/xfyF/8X8hf/FvIW/xbyFv8W8hb/FfMV/xLzEv8R8xH/G/Qb/zT2 + NP9W+Fb/fPl8/6T5pP/M+Mz/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP87Ozv/QEBA/0FB + Qf8/Pz//Pj4+/z8/P/9BQUH/RERE/01NTf9bW1v/bGxs/319ff+Ojo7/np6e/62trf+8vLz/ysrK/9jY + 2P/k5OT/7+/v//f39//7+/v/+/v7//n5+f/4+Pj/9/f3//b29v/29vb79vb29fb29uv29vbc9vb2xvb2 + 9q329vaW9vb2f/b29mr29vZV9vb2P/b29iv29vYa9vb2Dvb29gf29vYC9vb2APb29gD29vYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/m9+b/z/jP/7D5sP+J+Yn/WPdY/yv2K/8S9BL/D/MP/xXyFf8Y8Rj/GPEY/xnx + Gf8Z8Rn/GfEZ/xnwGf8Z8Bn/GfAZ/xnxGf8Z8Rn/GfEZ/xnxGf8a8Br/GvAa/xrwGv8a8Br/GfAZ/xnx + Gf8Y8Rj/GPEY/xfyF/8X8hf/F/IX/xfyF/8X8hf/F/IX/xbyFv8W8hb/FfIV/xLzEv8R8xH/GvQa/zP2 + M/9X+Ff/fPl8/6T5pP/M+Mz/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9BQUH/QUFB/0FBQf9CQkL/Q0ND/0ZGRv9MTEz/UlJS/1paWv9jY2P/bW1t/3t7e/+Pj4//p6en/76+ + vv/S0tL/5eXl//Pz8//6+vr/+vr6//j4+P/39/f/9/f3//b29v/29vb+9vb2+/b29vf29vbx9vb26fb2 + 9uD29vbS9vb2wPb29qv29vaS9vb2c/b29lH29vYz9vb2Hvb29g/29vYE9vb2APb29gD29vYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/n9+f/z/jP/7H4sf+K+Ir/WPdY/yv2K/8S9BL/D/MP/xXyFf8Y8Rj/GfEZ/xnx + Gf8Z8Rn/GfEZ/xnwGf8Z8Bn/GfAZ/xnxGf8Z8Rn/GfEZ/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnx + Gf8Y8Rj/GPEY/xfyF/8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLzEv8R8xH/GvQa/zT2 + NP9Y+Fj/fvl+/6X5pf/N+M3/7Pbs//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/Q0ND/0VFRf9ISEj/Tk5O/1paWv9ubm7/h4eH/6Gh + of+3t7f/zMzM/93d3f/n5+f/6+vr/+3t7f/w8PD/8/Pz//X19f/29vb/9/f3//b29v729vb+9vb2//b2 + 9v729vb49vb26/b29tj29vbA9vb2oPb29nv29vZa9vb2QPb29iv29vYb9vb2Efb29gz29vYI9vb2Bfb2 + 9gP29vYB9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/n9+f/0PjQ/7L4sv+L+Iv/WfdZ/yz1LP8T9BP/D/MP/xXyFf8Y8Rj/GfEZ/xnx + Gf8Z8Rn/GfAZ/xnwGf8Z8Bn/GfAZ/xnwGf8Z8Rn/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnw + Gf8Z8Rn/GPEY/xjyGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLzEv8R8xH/G/Qb/zb2 + Nv9b+Fv/gvmC/6n5qf/P+M//7Pbs//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QUFB/0FBQf9AQED/Pz8//z8/P/9AQED/RERE/0tLS/9ZWVn/a2tr/35+ + fv+Pj4//oKCg/7CwsP++vr7/zMzM/9jY2P/j4+P/7e3t//b29v/6+vr/+/v7//n5+f/4+Pj/9/f3//b2 + 9v/29vb89vb29vb29uz29vbd9vb2x/b29q329vaT9vb2fPb29mf29vZS9vb2Pvb29iv29vYb9vb2D/b2 + 9gj29vYD9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/n9+f/0ffR/7P4s/+M+Iz/WvZa/yz1LP8U9BT/EPMQ/xbyFv8Z8Rn/GfEZ/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnx + Gf8Z8Rn/GPEY/xjyGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLzEv8R8xH/HPQc/zj2 + OP9f+F//h/mH/6z5rP/R+NH/7Pbs//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QEBA/0FBQf9BQUH/Q0ND/0ZGRv9LS0v/U1NT/1xc + XP9lZWX/cHBw/319ff+Pj4//paWl/7y8vP/Q0ND/4uLi//Hx8f/6+vr/+/v7//n5+f/4+Pj/9/f3//b2 + 9v/29vb+9vb2+/b29vf29vbx9vb26Pb29t329vbP9vb2vvb29qn29vaR9vb2dPb29lT29vY29vb2IPb2 + 9hD29vYG9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/n9uf/0ffR/7P4s/+N943/W/Zb/y31Lf8U9BT/EPIQ/xbyFv8Z8Rn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrx + Gv8Z8Rn/GfEZ/xjyGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLzEv8R8xH/HPQc/zn2 + Of9h+GH/ifmJ/675rv/S+NL/7fbt//v5+////P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0NDQ/9DQ0P/Q0ND/0ZG + Rv9JSUn/T09P/1lZWf9ra2v/hISE/56env+2trb/y8vL/93d3f/p6en/7u7u/+/v7//x8fH/8/Pz//X1 + 9f/29vb/9vb2/vb29v729vb99vb2/fb29v329vb39vb26/b29tn29vbC9vb2o/b29n/29vZb9vb2QPb2 + 9ir29vYa9vb2Dvb29gn29vYH9vb2Bfb29gP29vYB9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/n9uf/0vfS/7T4tP+N943/W/Zb/y31Lf8U9BT/EPIQ/xbxFv8Z8Rn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrx + Gv8Z8Rn/GfEZ/xjyGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLyEv8R8xH/HPQc/zn2 + Of9h+GH/ifmJ/675rv/S+NL/7fbt//v5+////P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FBQf9AQED/Pz8//z8/ + P/9AQED/Q0ND/0pKSv9XV1f/aWlp/319ff+QkJD/oqKi/7Kysv/BwcH/zc3N/9jY2P/i4uL/7Ozs//T0 + 9P/5+fn/+vr6//n5+f/4+Pj/9/f3//f39//29vb99vb29/b29u329vbf9vb2yfb29q729vaS9vb2evb2 + 9mT29vZP9vb2PPb29ir29vYb9vb2EPb29gj29vYD9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/n9uf/0vfS/7X4tf+O947/W/Zb/y31Lf8U8xT/EPIQ/xbxFv8Z8Bn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8b8Bv/G/Ab/xrwGv8a8Br/GvAa/xrx + Gv8Z8Rn/GfEZ/xjyGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLyEv8S8xL/HfQd/zn2 + Of9g+GD/iPmI/635rf/R+NH/7fbt//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QEBA/0BA + QP9BQUH/QkJC/0VFRf9LS0v/U1NT/11dXf9nZ2f/cnJy/39/f/+QkJD/paWl/7q6uv/Ozs7/4ODg/+/v + 7//5+fn//Pz8//r6+v/4+Pj/9/f3//f39//29vb+9vb2/Pb29vf29vbx9vb25/b29tv29vbN9vb2u/b2 + 9qf29vaQ9vb2dfb29lb29vY59vb2Ivb29hL29vYH9vb2Afb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/o9uj/0vfS/7X4tf+O947/XPZc/y31Lf8U8xT/EPIQ/xbxFv8Z8Bn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xvwG/8b8Bv/G/Ab/xrwGv8a8Br/GvAa/xnw + Gf8Z8Rn/GfEZ/xjxGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLyEv8S8xL/HfMd/zj1 + OP9f+F//hvmG/6z5rP/Q+ND/7Pbs//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0NDQ/9ERET/RERE/0dHR/9LS0v/UFBQ/1lZWf9paWn/gYGB/5ycnP+0tLT/ysrK/93d + 3f/q6ur/8PDw//Hx8f/y8vL/8/Pz//X19f/29vb/9vb2/vb29v329vb89vb2+/b29vv29vb29vb26/b2 + 9tr29vbE9vb2p/b29oP29vZe9vb2Qfb29ir29vYY9vb2Dfb29gf29vYF9vb2BPb29gL29vYB9vb2APb2 + 9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/n9+f/0vfS/7X4tf+O+I7/XPZc/y31Lf8U8xT/EfIR/xbxFv8Z8Bn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/G/Ab/xvwG/8b8Bv/G/Ab/xrwGv8a8Br/GvAa/xnw + Gf8Z8Rn/GfEZ/xjxGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLyEv8S8hL/HPMc/zf1 + N/9d+F3/hPmE/6r5qv/P+M//7Pbs//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0FBQf9AQED/Pz8//z8/P/9AQED/Q0ND/0hISP9UVFT/Z2dn/3x8fP+QkJD/o6Oj/7W1 + tf/ExMT/0NDQ/9nZ2f/i4uL/6+vr//Pz8//4+Pj/+vr6//n5+f/4+Pj/9/f3//f39//29vb/9vb2+Pb2 + 9u/29vbg9vb2y/b29q/29vaS9vb2ePb29mH29vZM9vb2Ovb29in29vYb9vb2EPb29gn29vYE9vb2Afb2 + 9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/n9+f/0fjR/7T4tP+N+I3/W/Zb/y70Lv8V8xX/EfIR/xfxF/8a8Br/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8b8Bv/G/Ab/xvwG/8b8Bv/G/Ab/xrwGv8a8Br/GvAa/xnw + Gf8Z8Bn/GfEZ/xjxGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLyEv8R8hH/HPMc/zb1 + Nv9b+Fv/gfmB/6j5qP/O+M7/7Pbs//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9BQUH/QEBA/0BAQP9AQED/QUFB/0RERP9KSkr/U1NT/15eXv9paWn/dXV1/4KC + gv+RkZH/paWl/7m5uf/MzMz/3t7e/+3t7f/4+Pj//Pz8//v7+//5+fn/+Pj4//f39//29vb/9vb2/Pb2 + 9vj29vbx9vb25/b29tr29vbK9vb2uPb29qT29vaO9vb2dfb29lj29vY79vb2JPb29hP29vYJ9vb2Avb2 + 9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/n9+f/0PjQ/7L4sv+L+Iv/WvZa/y30Lf8V8xX/EfER/xfxF/8a8Br/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xvwG/8b8Bv/G/Ab/xvwG/8b8Bv/G/Ab/xrwGv8a8Br/GvAa/xnw + Gf8Z8Bn/GfAZ/xjxGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLyEv8R8xH/G/Mb/zX1 + Nf9Z+Fn/f/l//6b5pv/N+M3/7Pbs//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/Q0ND/0NDQ/9ERET/RUVF/0hISP9MTEz/UVFR/1lZ + Wf9oaGj/fn5+/5mZmf+ysrL/yMjI/9zc3P/r6+v/8vLy//Pz8//z8/P/9PT0//X19f/29vb/9vb2/vb2 + 9v329vb79vb2+vb29vn29vb09vb26vb29tr29vbF9vb2qvb29of29vZi9vb2Qvb29in29vYX9vb2DPb2 + 9gYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/m9+b/zfjN/675rv+H+If/WPZY/y30Lf8W8hb/EvES/xfwF/8a8Br/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8b8Bv/G/Ab/xvwG/8b8Bv/G/Ab/xrwGv8a8Br/GvAa/xrw + Gv8Z8Bn/GfEZ/xjxGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLyEv8R8hH/G/Mb/zT1 + NP9X+Ff/ffl9/6T5pP/N+M3/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FBQf9BQUH/QEBA/z8/P/9AQED/QkJC/0hI + SP9SUlL/ZWVl/3t7e/+QkJD/pKSk/7a2tv/Gxsb/0tLS/9vb2//j4+P/6urq//Hx8f/39/f/+fn5//n5 + +f/4+Pj/9/f3//f39//29vb/9vb2+vb29vD29vbi9vb2zvb29rH29vaS9vb2dvb29lz29vZH9vb2Ovb2 + 9jMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/k9+T/yfjJ/6j5qP+C+IL/VfZV/yz0LP8W8hb/E/ET/xfwF/8a8Br/G/Ab/xvw + G/8b8Bv/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrw + Gv8Z8Rn/GfEZ/xjxGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLyEv8R8hH/G/Mb/zT1 + NP9W+Fb/fPl8/6P5o//M+Mz/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QEBA/z8/P/9AQED/QUFB/0ND + Q/9JSUn/UlJS/15eXv9ra2v/d3d3/4WFhf+Tk5P/paWl/7m5uf/Ly8v/3Nzc/+vr6//39/f//Pz8//v7 + +//5+fn/+Pj4//f39//29vb/9vb2/fb29vj29vby9vb25/b29tn29vbI9vb2tfb29p729vaI9vb2evb2 + 9nMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+fb5//X29f/i9+L/xfjF/6L5ov98+Hz/UfZR/yvzK/8X8hf/E/ET/xjwGP8a8Br/G/Ab/xvw + G/8b8Bv/G/Ab/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrw + Gv8Z8Rn/GfEZ/xjxGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLyEv8R8xH/G/Mb/zP1 + M/9W+Fb/e/l7/6P5o//M+Mz/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0ND + Q/9ERET/RkZG/0lJSf9NTU3/U1NT/1tbW/9nZ2f/fHx8/5aWlv+wsLD/xsbG/9vb2//r6+v/8/Pz//X1 + 9f/09PT/9PT0//X19f/29vb/9vb2/vb29v329vb79vb2+Pb29vb29vby9vb26fb29tb29vbC9vb2tPb2 + 9q4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//X29f/h9+H/wfjB/5z5nP92+Hb/TfZN/yr0Kv8W8hb/E/ET/xfwF/8a8Br/GvAa/xvw + G/8b8Bv/G/Ab/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrx + Gv8Z8Rn/GfEZ/xjyGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLyEv8R8xH/G/Qb/zP2 + M/9V+FX/evl6/6L5ov/L+Mv/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9BQUH/QEBA/z8/P/9AQED/Q0ND/0dHR/9RUVH/YmJi/3l5ef+QkJD/pKSk/7i4uP/IyMj/1dXV/93d + 3f/k5OT/6urq//Hx8f/29vb/+Pj4//j4+P/39/f/9vb2//b29v/29vb/9vb2+/b29u/29vbh9vb21/b2 + 9tIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/f99//vfi9/5X5lf9w+HD/SfZJ/yj0KP8W8hb/E/ET/xfwF/8Z8Bn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrx + Gv8Z8Rn/GfEZ/xjyGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLyEv8R8xH/GvQa/zP2 + M/9V+FX/evl6/6L5ov/L+Mv/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9BQUH/QEBA/z8/P/8/Pz//QEBA/0JCQv9ISEj/UVFR/15eXv9sbGz/eXl5/4eHh/+Wlpb/pqam/7m5 + uf/Kysr/2tra/+np6f/19fX/+/v7//v7+//4+Pj/9vb2//b29v/29vb/9vb2/fb29vf29vbw9vb27Pb2 + 9uoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/5H5kf9r+Wv/RvdG/yf0J/8W8hb/E/ET/xfxF/8Z8Bn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrx + Gv8Z8Rn/GfEZ/xjyGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FvIW/xLzEv8R8xH/GvQa/zL2 + Mv9V+FX/evl6/6L5ov/L+Mv/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0NDQ/9ERET/R0dH/0pKSv9PT0//VVVV/1xcXP9oaGj/e3t7/5OT + k/+tra3/xMTE/9nZ2f/q6ur/9PT0//f39//29vb/9vb2//b29v/29vb/9vb2/vb29vz29vb69vb2+fb2 + 9vgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/d993/uPi4/475jv9p+Wn/RfdF/yf0J/8W8hb/E/ET/xfxF/8Z8Bn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnx + Gf8Z8Rn/GfEZ/xjyGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xfyF/8W8hb/FfIV/xLzEv8R8xH/GvUa/zL2 + Mv9U+FT/evp6/6L5ov/L+Mv/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QUFB/0BAQP9BQUH/Q0ND/0dHR/9PT0//X19f/3Z2 + dv+Ojo7/pKSk/7i4uP/Kysr/2dnZ/+bm5v/w8PD/9vb2//f39//39/f/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/d993/uPi4/475jv9p+Wn/RfZF/yf0J/8W8hb/E/ET/xfxF/8Z8Rn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GfAZ/xnwGf8Z8Bn/GfAZ/xnw + Gf8Z8Rn/GfEZ/xjyGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xbyFv8W8hb/FfIV/xLzEv8Q9BD/GfUZ/zL3 + Mv9U+VT/efp5/6H5of/L+Mv/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QEBA/z8/P/8/Pz//QEBA/0JCQv9GRkb/UFBQ/11d + Xf9tbW3/e3t7/4mJif+YmJj/ra2t/8nJyf/k5OT/9fX1//n5+f/39/f/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/uPi4/4/5j/9q+Wr/RvZG/yf0J/8W8hb/FPEU/xfxF/8Z8Rn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnwGf8Z8Bn/GfAZ/xnwGf8Z8Bn/GfAZ/xnx + Gf8Z8Rn/GfEZ/xjyGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xbyFv8W8hb/FfIV/xHzEf8Q9BD/GfUZ/zH3 + Mf9U+VT/efp5/6H6of/L+Mv/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FBQf9CQkL/QkJC/0NDQ/9ERET/R0dH/0tL + S/9QUFD/VlZW/1xcXP9paWn/g4OD/66urv/a2tr/9PT0//v7+//4+Pj/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/4/5j/9q+Wr/RvZG/yf0J/8W8hb/FPEU/xfxF/8Z8Rn/GvEa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnwGf8Z8Bn/GfAZ/xnwGf8Z8Bn/GfAZ/xnx + Gf8Z8Rn/GfEZ/xjxGP8X8hf/F/IX/xfyF/8X8hf/F/IX/xbyFv8W8hb/FfIV/xHzEf8Q9BD/GfUZ/zH3 + Mf9T+VP/efp5/6H6of/L+Mv/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QUFB/0FB + Qf9BQUH/Q0ND/0RERP9OTk7/ampq/56env/T09P/9PT0//z8/P/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/4/5j/9q+Wr/RfZF/yf0J/8W8hb/E/IT/xfxF/8Z8Rn/GvEa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8Z8Bn/GfAZ/xnwGf8Z8Bn/GfAZ/xnwGf8Z8Bn/GfEZ/xnx + Gf8Z8Rn/GPEY/xjxGP8Y8Rj/F/IX/xfyF/8X8hf/F/IX/xbyFv8W8hb/FfMV/xHzEf8P9A//GfUZ/zH3 + Mf9T+VP/ePp4/6D6oP/K+Mr/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QEBA/z8/ + P/8/Pz//Pj4+/z09Pf9ERET/YWFh/5iYmP/R0dH/9PT0//z8/P/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/4/5j/9q+Wr/RfdF/yf0J/8W8xb/E/IT/xfxF/8Z8Rn/GvEa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnwGf8Z8Bn/GfAZ/xnwGf8Z8Bn/GfAZ/xnwGf8Z8Rn/GfEZ/xnx + Gf8Y8Rj/GPEY/xjxGP8Y8Rj/GPEY/xjyGP8X8hf/F/IX/xbyFv8W8xb/FfMV/xHzEf8P9A//GPUY/zD3 + MP9T+VP/ePp4/6D6oP/K+Mr/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FB + Qf9BQUH/QEBA/z09Pf9CQkL/X19f/5aWlv/Q0ND/9PT0//z8/P/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/4/5j/9q+Wr/RfdF/yf0J/8W8xb/E/IT/xfxF/8Z8Rn/GfEZ/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnwGf8Z8Bn/GfAZ/xnwGf8Z8Bn/GfAZ/xnxGf8Z8Rn/GfEZ/xjx + GP8Y8Rj/GPEY/xjxGP8Y8Rj/GPEY/xjxGP8X8hf/F/IX/xbzFv8V8xX/FPMU/xD0EP8P9A//GPUY/zD3 + MP9T+VP/efp5/6H6of/L+Mv/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/4/5j/9q+Wr/RfdF/yf0J/8W8xb/E/IT/xfxF/8Z8Rn/GfEZ/xnx + Gf8a8Br/GvAa/xrwGv8a8Br/GfAZ/xnwGf8Z8Bn/GfAZ/xnwGf8Z8Bn/GfAZ/xnxGf8Z8Rn/GfEZ/xjx + GP8Y8Rj/GPEY/xjxGP8Y8Rj/GPEY/xjyGP8X8hf/FvMW/xbzFv8V8xX/FPQU/xD0EP8O9Q7/F/YX/zH3 + Mf9U+VT/evp6/6L6ov/L+Mv/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zs7O/9AQED/XFxc/5SUlP/Pz8//9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/4/5j/9q+Wr/RfdF/yf0J/8W8xb/E/IT/xbxFv8Y8Rj/GfEZ/xnx + Gf8Z8Rn/GfAZ/xnwGf8Z8Bn/GfAZ/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnxGf8Z8Rn/GfEZ/xjx + GP8Y8Rj/GPEY/xjxGP8Y8Rj/GPEY/xfyF/8X8hf/FvMW/xXzFf8U9BT/E/QT/w/0D/8N9Q3/F/YX/zH4 + Mf9W+lb/fPp8/6T6pP/M+Mz/6/br//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Pz8//9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/4/5j/9q+Wr/RfdF/yf0J/8W8xb/E/IT/xbxFv8Y8Rj/GPEY/xnx + Gf8Z8Rn/GfEZ/xnwGf8Z8Bn/GfAZ/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnxGf8Z8Rn/GfEZ/xjx + GP8Y8Rj/GPEY/xjxGP8Y8Rj/F/EX/xfyF/8W8xb/FfMV/xX0Ff8U9BT/EvQS/w71Dv8N9Q3/F/YX/zL4 + Mv9Y+lj/gPqA/6f6p//O+M7/7Pbs//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/4/5j/9q+Wr/RfdF/yf0J/8V8xX/EvIS/xbyFv8Y8Rj/GPEY/xnx + Gf8Z8Rn/GfEZ/xnwGf8Z8Bn/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnxGf8Z8Rn/GfEZ/xjx + GP8Y8Rj/GPEY/xfxF/8X8Rf/F/IX/xbyFv8W8xb/FfQV/xT0FP8T9BP/EvUS/w31Df8M9gz/F/cX/zT4 + NP9b+Vv/hPqE/6v5q//Q+ND/7Pbs//z5/P///P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/4/5j/9q+Wr/RfdF/yf0J/8V8xX/EvIS/xXyFf8X8hf/GPEY/xnx + Gf8Z8Rn/GfEZ/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnxGf8Z8Rn/GfEZ/xjx + GP8Y8Rj/F/EX/xfxF/8X8hf/FvIW/xbzFv8V8xX/FPQU/xP0E/8S9BL/EfUR/w31Df8L9gv/F/cX/zX4 + Nf9f+V//ifqJ/6/5r//S+NL/7fbt//v5+////P//9PT0/9DQ0P+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/5D5kP9q+Wr/RfdF/yf0J/8V8xX/EvIS/xXyFf8X8hf/GPEY/xnx + Gf8Z8Rn/GfEZ/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnxGf8Z8Rn/GPEY/xjx + GP8X8Rf/F/EX/xbyFv8W8hb/FvIW/xXzFf8U9BT/FPQU/xP0E/8S9RL/EfUR/wz2DP8L9gv/F/cX/zf4 + N/9j+WP/jvqO/7P5s//U+NT/7fbt//v5+////P//9PT0/8/Pz/+UlJT/XFxc/0BAQP88PDz/QEBA/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/5D5kP9r+Wv/RvZG/yf0J/8W8xb/EvIS/xbyFv8X8hf/GPEY/xnx + Gf8Z8Rn/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnxGf8Z8Rn/GPEY/xjx + GP8X8Rf/FvIW/xbyFv8V8hX/FfMV/xT0FP8U9BT/E/QT/xL1Ev8R9RH/EPYQ/wv2C/8J9wn/FfgV/zf5 + N/9l+WX/kfmR/7b5tv/W99b/7vbu//v5+////f//9PT0/8/Pz/+SkpL/Wlpa/z4+Pv86Ojr/Pz8//0FB + Qf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/5H5kf9r+Wv/RvZG/yj0KP8W8hb/E/IT/xbxFv8Y8Rj/GfEZ/xnx + Gf8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnxGf8Y8Rj/GPEY/xfx + F/8X8hf/FvIW/xXzFf8V8xX/FPQU/xT0FP8T9BP/EvUS/xH1Ef8Q9RD/D/YP/wr3Cv8I9wj/FfgV/zj5 + OP9n+Wf/lPmU/7n4uf/X99f/7vbu//v5+////f//9PT0/8/Pz/+SkpL/WVlZ/z09Pf86Ojr/Pz8//0FB + Qf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/uvi6/5H5kf9s+Wz/R/ZH/yj0KP8W8hb/E/ET/xbxFv8Y8Rj/GfEZ/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GfAZ/xnxGf8Y8Rj/GPEY/xfy + F/8W8hb/FvIW/xXzFf8U9BT/FPQU/xP0E/8S9RL/EvUS/xH1Ef8Q9hD/D/YP/wv2C/8L9wv/GfcZ/z34 + Pf9t+G3/mvma/734vf/a99r/7vbu//v5+////P//9PT0/9HR0f+YmJj/Y2Nj/0dHR/9AQED/Q0ND/0ND + Q/9DQ0P/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/uvi6/5H5kf9s+Wz/R/ZH/yjzKP8X8hf/FPEU/xfxF/8Z8Rn/GfAZ/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GfAZ/xnxGf8Y8Rj/F/IX/xby + Fv8W8hb/FfMV/xT0FP8U9BT/E/UT/xL1Ev8R9RH/EPYQ/w72Dv8N9g3/DfYN/w31Df8R9BH/IvMi/0f1 + R/9393f/o/ij/8T4xP/d993/7/bv//r4+v/++/7/9PT0/9fX1/+pqan/enp6/15eXv9RUVH/SkpK/0VF + Rf9CQkL/QEBA/0BAQP9AQED/QUFB/0FBQf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/uvi6/5L5kv9t+W3/R/ZH/ynzKf8X8hf/FPEU/xjxGP8Z8Bn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8Z8Bn/GfAZ/xjxGP8Y8Rj/F/IX/xbz + Fv8V8xX/FPQU/xT0FP8T9BP/EvUS/xH1Ef8Q9hD/D/YP/wz3DP8L9wv/DfYN/xLzEv8c8Bz/Me8x/1fx + V/+F9YX/rviu/8z4zP/h9+H/8Pbw//n4+f/8+vz/9fX1/+Dg4P++vr7/mpqa/39/f/9oaGj/VlZW/0pK + Sv9DQ0P/QEBA/z8/P/8/Pz//QEBA/0FBQf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/uvi6/5L5kv9t+W3/SPZI/ynzKf8X8hf/FPEU/xjwGP8a8Br/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnwGf8Z8Bn/GfEZ/xjxGP8X8hf/FvIW/xXz + Ff8U9BT/FPQU/xP1E/8S9RL/EvUS/xL1Ev8S9RL/EvYS/xH3Ef8S+BL/F/cX/yHzIf8w7jD/R+xH/2zv + bP+X85f/vPe8/9X41f/m9+b/8fbx//j3+P/6+fr/9fX1/+jo6P/S0tL/uLi4/5+fn/+EhIT/bGxs/1tb + W/9RUVH/S0tL/0dHR/9FRUX/RERE/0NDQ/9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/u/i7/5P5k/9t+W3/SPZI/ynzKf8Y8Rj/FfEV/xjwGP8a8Br/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnwGf8Z8Bn/GPEY/xfxF/8W8hb/FfMV/xT0 + FP8T9BP/EvUS/xH1Ef8Q9RD/EfUR/xP0E/8W9Bb/GvQa/x/2H/8l+CX/MPgw/z70Pv9R8FH/ae5p/4rw + iv+u9K7/zffN/+D34P/s9+z/8/bz//j3+P/5+Pn/9fX1/+3t7f/g4OD/0NDQ/729vf+np6f/kpKS/4GB + gf90dHT/aWlp/15eXv9UVFT/TExM/0ZGRv9CQkL/QUFB/0BAQP9AQED/QUFB/0FBQf9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/f99//u/i7/5P5k/9u+W7/SfZJ/yrzKv8Y8Rj/FfAV/xjwGP8Z8Bn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8Z8Rn/GPEY/xfyF/8V8hX/FPMU/xP0 + E/8S9RL/EfUR/w/2D/8O9g7/EPUQ/xXzFf8d8h3/J/In/zP1M/9C+EL/U/lT/2b3Zv979Hv/kvOS/63z + rf/J9cn/3/bf/+v36//x9vH/9Pb0//f29//39/f/9vb2//Ly8v/r6+v/4+Pj/9ra2v/Pz8//w8PD/7S0 + tP+kpKT/kpKS/4CAgP9sbGz/WVlZ/0tLS/9DQ0P/QEBA/z8/P/8/Pz//QEBA/0FBQf9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/f99//u/i7/5T5lP9v+G//SfZJ/yrzKv8Y8Rj/FfAV/xjwGP8Z8Bn/GvAa/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8Z8Rn/GPEY/xbyFv8V8xX/FPMU/xP0 + E/8T9BP/E/UT/xP2E/8U9xT/GPYY/x/zH/8p8Sn/OPE4/0z0TP9i+GL/efp5/476jv+j+KP/uPe4/8z2 + zP/f9t//7vbu//T29P/29vb/9vb2//b29v/29vb/9vb2//X19f/z8/P/8fHx/+/v7//u7u7/6urq/9/f + 3//Ozs7/uLi4/6Kiov+Hh4f/bm5u/1tbW/9QUFD/SkpK/0ZGRv9ERET/Q0ND/0NDQ/9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/f99//u/i7/5T5lP9v+G//SfZJ/yrzKv8Y8Rj/FPAU/xfwF/8Z8Bn/GfAZ/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnxGf8Y8Rj/F/IX/xTzFP8T8xP/FPMU/xXz + Ff8Y8xj/HPQc/yH2If8m9yb/LPcs/zP1M/888zz/TfJN/2f1Z/+F+IX/n/mf/7L5sv/D+cP/0vjS/+D3 + 4P/s9+z/9fb1//j2+P/39vf/9vb2//b29v/29vb/9vb2//b29v/39/f/9/f3//n5+f/7+/v/+vr6//Pz + 8//l5eX/0tLS/7+/v/+oqKj/kpKS/39/f/9xcXH/Z2dn/11dXf9UVFT/TExM/0ZGRv9DQ0P/QUFB/0FB + Qf9AQED/QUFB/0FBQf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/f99//u/i7/5T5lP9v+W//SfZJ/yrzKv8Y8Rj/FPEU/xfxF/8Z8Rn/GfAZ/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GfAZ/xjxGP8X8Rf/FfIV/xLzEv8R9BH/FPMU/xnx + Gf8h8CH/KvIq/zf1N/9D+EP/S/lL/0/4T/9V9lX/ZvZm/4f3h/+r96v/xvjG/9X41f/d+N3/5Pfk/+v3 + 6//y9vL/9vb2//j2+P/39vf/9vb2//b29v/29vb/9vb2//b29v/39/f/+Pj4//n5+f/6+vr/+/v7//f3 + 9//v7+//5OTk/9nZ2f/Nzc3/wMDA/7Kysv+ioqL/kZGR/4CAgP9tbW3/W1tb/0xMTP9ERET/QEBA/z8/ + P/8+Pj7/Pz8//0FBQf9BQUH/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/f99//u/i7/5T5lP9v+W//SfZJ/ynzKf8X8hf/FPEU/xfxF/8Z8Rn/GfAZ/xrw + Gv8a8Br/GvAa/xrwGv8a8Br/GvAa/xrwGv8a8Br/GvAa/xnwGf8Z8Rn/F/IX/xbzFv8W9Bb/GvMa/yLx + Iv8t7y3/PPA8/1D0UP9k+GT/b/pv/3D7cP9z+nP/g/mD/6X4pf/L98v/5ffl/+/27//w9vD/8Pbw//L2 + 8v/09vT/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/39/f/9vb2//X1 + 9f/z8/P/8PDw/+3t7f/s7Oz/6Ojo/9/f3//Ozs7/urq6/6SkpP+Kior/cXFx/1xcXP9PT0//SUlJ/0VF + Rf9DQ0P/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/f99//u/i7/5P5k/9u+W7/SfZJ/ynzKf8X8hf/FPEU/xfxF/8Z8Rn/GfEZ/xrw + Gv8a8Br/GvAa/xrwGv8Z8Bn/GfAZ/xnwGf8Z8Bn/GvAa/xzvHP8f8B//IfEh/yT0JP8o9Sj/LfUt/zPz + M/8+8T7/UPJQ/2z1bP+H+If/lfqV/5f7l/+X+pf/o/qj/8D4wP/g9+D/9fb1//v2+//59vn/9/b3//f2 + 9//29vb/9vb2//f39//39/f/9/f3//f39//39/f/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/39/f/9/f3//j4+P/6+vr/+vr6//T09P/n5+f/1dXV/8DAwP+qqqr/kpKS/319ff9vb2//ZGRk/1tb + W/9TU1P/TExM/0dHR/9ERET/QkJC/0FBQf9BQUH/QUFB/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/u/i7/5P5k/9u+W7/SPZI/ynzKf8X8hf/FPEU/xfxF/8Z8Rn/GfEZ/xnx + Gf8Z8Rn/GfEZ/xnxGf8Y8Rj/F/EX/xbxFv8X8Rf/G+8b/yHuIf8o7Sj/MfAx/zz0PP9F90X/SvhK/0z3 + TP9T9VP/aPVo/4v2i/+t+K3/wPjA/8P5w//B+cH/yPjI/9n42f/s9+z/+Pb4//v2+//69vr/+Pb4//f2 + 9//39vf/9/f3//j4+P/4+Pj/+fn5//n5+f/4+Pj/9/f3//f39//29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/39/f/+Pj4//n5+f/6+vr/+/v7//j4+P/w8PD/5eXl/9nZ2f/MzMz/vr6+/6+vr/+goKD/kJCQ/39/ + f/9ubm7/XV1d/05OTv9FRUX/QUFB/z8/P/8+Pj7/Pz8//0FBQf9BQUH/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/uvi6/5L5kv9t+W3/SPZI/yjzKP8X8hf/E/ET/xbxFv8Y8Rj/GfEZ/xnx + Gf8Z8Rn/GfEZ/xnxGf8Z8Rn/GfEZ/xnyGf8b8Rv/IfAh/yrtKv827Db/Re9F/1j0WP9n+Gf/bfpt/2v6 + a/9t+W3/gvmC/6j4qP/P98//5Pfk/+j36P/m9+b/5/fn/+z27P/y9vL/9vb2//f29//39vf/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/39/f/9/f3//b29v/z8/P/8PDw/+zs7P/p6en/5eXl/93d3f/Ozs7/u7u7/6Wl + pf+NjY3/dHR0/11dXf9PT0//SEhI/0RERP9CQkL/QUFB/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/uvi6/5L5kv9s+Wz/R/ZH/yj0KP8W8hb/EvIS/xbxFv8X8Rf/F/EX/xjx + GP8Z8Rn/GvEa/x3wHf8g8CD/I/Ej/yfyJ/8t8y3/M/Ez/zvvO/9H7kf/W/Bb/3X1df+L+Yv/kvqS/4/7 + j/+P+o//oPmg/8L4wv/k9+T/9/b3//v2+//49vj/9/b3//f29//29vb/9vb2//f39//39/f/9/f3//b2 + 9v/19fX/8/Pz/+/v7//r6+v/6Ojo/+np6f/u7u7/8vLy//T09P/29vb/9vb2//f39//39/f/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//f39//4+Pj/+fn5//X19f/p6en/19fX/8LC + wv+srKz/k5OT/319ff9tbW3/YmJi/1paWv9SUlL/TExM/0dHR/9ERET/QkJC/0JCQv9BQUH/QUFB/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/5H5kf9r+Wv/RvdG/yf0J/8V8xX/EfIR/xTyFP8W8hb/FfIV/xXy + Ff8X8Rf/G/Ab/yLuIv8q7Sr/NfA1/0DzQP9K9Ur/T/VP/1L0Uv9b81v/c/Rz/5X2lf+y+LL/vfm9/7v5 + u/+6+br/xPjE/9n32f/u9u7/+vb6//32/f/79vv/+vb6//n2+f/49vj/9/f3//j4+P/5+fn/+fn5//j4 + +P/19fX/7+/v/+Xl5f/Y2Nj/0NDQ/9TU1P/g4OD/7Ozs//Pz8//39/f/+fn5//n5+f/5+fn/9/f3//f3 + 9//29vb/9vb2//b29v/29vb/9vb2//b29v/39/f/+Pj4//j4+P/6+vr//Pz8//r6+v/y8vL/5+fn/9ra + 2v/MzMz/vLy8/62trf+dnZ3/jo6O/35+fv9vb2//Xl5e/1BQUP9GRkb/QUFB/z8/P/8/Pz//Pz8//0BA + QP9BQUH/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/ufi5/5D5kP9q+Wr/RfdF/yb1Jv8U8xT/EfMR/xTyFP8W8hb/FvIW/xbz + Fv8a8hr/Ie8h/yzsLP857Dn/S+9L/170Xv9t+G3/cPlw/275bv90+HT/jfiN/7P3s//U99T/4/fj/+P3 + 4//h9+H/5Pfk/+v26//z9vP/9/b3//j2+P/39vf/9/b3//f29//29vb/9vb2//f39//39/f/9vb2//Ly + 8v/t7e3/4+Pj/9PT0/+/v7//tLS0/7m5uf/Ly8v/3t7e/+rq6v/x8fH/9fX1//f39//39/f/9/f3//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//f39//39/f/+Pj4//f39//09PT/8PDw/+vr + 6//n5+f/4+Pj/9vb2//Ozs7/u7u7/6ampv+QkJD/dnZ2/2BgYP9QUFD/SEhI/0RERP9BQUH/QUFB/0FB + Qf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/uPi4/4/6j/9p+Wn/Q/hD/yT2JP8T9BP/EvIS/xfyF/8c8Rz/H/If/yPz + I/8p8yn/MfEx/zzuPP9L7Uv/YvBi/331ff+Q+ZD/lPqU/5D6kP+S+pL/qPmo/8v4y//q9+r/+Pb4//n2 + +f/29vb/9vb2//b29v/29vb/9vb2//b29v/39/f/9vb2//b29v/19fX/8vLy/+/v7//r6+v/5eXl/93d + 3f/T09P/x8fH/7W1tf+hoaH/lpaW/5ubm/+urq7/wsLC/8/Pz//a2tr/4uLi/+np6f/u7u7/8fHx//T0 + 9P/19fX/9vb2//f39//39/f/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/39/f/+Pj4//X19f/q6ur/2dnZ/8TExP+urq7/lJSU/319ff9ra2v/X19f/1hYWP9RUVH/S0tL/0dH + R/9ERET/Q0ND/0JCQv9CQkL/QUFB/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/d993/t/m3/436jf9n+mf/QPhA/yH2If8R9BH/E/IT/x3wHf8m7yb/MfIx/zz0 + PP9F9kX/S/RL/1LyUv9g8WD/e/N7/532nf+2+Lb/vPm8/7n5uf+5+bn/x/jH/9733v/y9vL//Pb8//32 + /f/79vv/+vb6//n2+f/39/f/9/f3//j4+P/5+fn/+fn5//f39//09PT/7e3t/+Hh4f/T09P/xMTE/7W1 + tf+mpqb/mJiY/4mJif97e3v/dHR0/3h4eP+EhIT/kpKS/6Ghof+vr6//vr6+/83Nzf/c3Nz/6enp//Ly + 8v/29vb/+Pj4//n5+f/5+fn/+Pj4//f39//29vb/9vb2//b29v/29vb/9vb2//b29v/39/f/9/f3//j4 + +P/6+vr//Pz8//v7+//09PT/6enp/9vb2//MzMz/u7u7/6qqqv+bm5v/i4uL/319ff9ubm7/X19f/1FR + Uf9HR0f/QkJC/0BAQP8/Pz//Pz8//0BAQP9BQUH/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/d993/t/m3/436jf9n+mf/QPlA/yH3If8U9RT/GPEY/ybuJv817jX/SPFI/1v1 + W/9o+Gj/a/hr/233bf949nj/lvaW/7v3u//Y99j/4ffh/+D34P/e997/5Pfk/+z37P/09vT/+Pb4//j2 + +P/49vj/9/b3//f29//39vf/9/f3//j4+P/4+Pj/9vb2//Pz8//t7e3/4eHh/83Nzf+1tbX/np6e/4mJ + if92dnb/ZmZm/11dXf9YWFj/VlZW/1dXV/9aWlr/YmJi/29vb/+BgYH/lpaW/6ysrP/ExMT/2tra/+np + 6f/x8fH/9fX1//j4+P/4+Pj/9/f3//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//f3 + 9//39/f/+Pj4//j4+P/19fX/8PDw/+vr6//m5ub/4ODg/9nZ2f/MzMz/u7u7/6enp/+RkZH/eXl5/2Ji + Yv9RUVH/SEhI/0NDQ/9BQUH/QEBA/0FBQf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//T29P/e997/uvm6/5L6kv9u+m7/SvpK/y74Lv8i9iL/JvIm/zTvNP9H70f/YPJg/3r2 + ev+M+Yz/jvqO/4z6jP+V+ZX/sPiw/9P30//u9u7/9/b3//f29//19vX/9fb1//X29f/29vb/9vb2//b2 + 9v/29vb/9vb2//X19f/09PT/8vLy//Dw8P/s7Oz/5ubm/9/f3//W1tb/x8fH/7Gxsf+Xl5f/fn5+/2lp + af9WVlb/SEhI/0JCQv9CQkL/Q0ND/0JCQv9CQkL/RUVF/1BQUP9hYWH/dnZ2/42Njf+np6f/v7+//9HR + 0f/c3Nz/5OTk/+rq6v/u7u7/8fHx//T09P/19fX/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//X19f/19fX/9/f3//X19f/s7Oz/29vb/8fHx/+wsLD/l5eX/319 + ff9qamr/XV1d/1ZWVv9PT0//SkpK/0dHR/9FRUX/Q0ND/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj49vj/+vb6//X29f/h9+H/wPjA/536nf99+n3/X/pf/0j5SP89+D3/PfU9/0jzSP9b8lv/evR6/5z3 + nP+z+LP/t/m3/7T5tP+5+bn/y/jL/+P34//19vX//Pb8//z2/P/69vr/+fb5//j2+P/39/f/9/f3//j4 + +P/5+fn/+Pj4//f39//z8/P/7Ozs/+Dg4P/S0tL/xcXF/7e3t/+pqan/mZmZ/4iIiP92dnb/ZWVl/1ZW + Vv9ISEj/Pz8//zw8PP89PT3/Pj4+/z4+Pv88PDz/PT09/0RERP9QUFD/X19f/29vb/+BgYH/k5OT/6Oj + o/+ysrL/wMDA/83Nzf/b29v/6Ojo//Hx8f/29vb/+Pj4//n5+f/5+fn/+Pj4//f39//29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9/f3//j4+P/5+fn//Pz8//z8/P/29vb/6+vr/9zc3P/MzMz/u7u7/6mp + qf+YmJj/iYmJ/3t7e/9ubm7/YGBg/1NTU/9JSUn/Q0ND/0BAQP8/Pz//Pz8//0BAQP9BQUH/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+fb5//X29f/k9+T/yfjJ/6v5q/+S+pL/e/p7/2n6af9f+l//W/lb/2D4YP9y93L/lfeV/733 + vf/X99f/3vfe/9v32//c99z/5Pfk/+727v/29vb/+fb5//n2+f/49vj/+Pb4//f29//39/f/9/f3//j4 + +P/4+Pj/9/f3//Pz8//s7Oz/39/f/8rKyv+zs7P/nZ2d/4mJif93d3f/aWlp/19fX/9XV1f/UVFR/0pK + Sv9FRUX/QUFB/z8/P/9AQED/QEBA/0BAQP8/Pz//QEBA/0NDQ/9ISEj/Tk5O/1VVVf9cXFz/ZGRk/3Fx + cf+CgoL/lpaW/6qqqv/BwcH/2NjY/+jo6P/x8fH/9vb2//j4+P/5+fn/+Pj4//f39//29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9/f3//f39//39/f/+Pj4//j4+P/29vb/8fHx/+vr6//k5OT/3t7e/9bW + 1v/Kysr/urq6/6enp/+SkpL/fHx8/2VlZf9SUlL/SEhI/0NDQ/9BQUH/Pz8//0BAQP9BQUH/QkJC/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+Pb4//X29f/o9+j/0vfS/7v4u/+p+an/mfqZ/4z6jP+E+oT/fvp+/3/6f/+O+o7/sPiw/9b3 + 1v/v9u//9/b3//X29f/z9vP/9Pb0//X29f/29vb/9vb2//b29v/29vb/9vb2//X19f/09PT/8/Pz//Hx + 8f/t7e3/6Ojo/+Hh4f/X19f/xsbG/66urv+UlJT/fHx8/2dnZ/9UVFT/SEhI/0NDQ/9ERET/RERE/0ND + Q/9DQ0P/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9DQ0P/RERE/0RERP9DQ0P/RUVF/09P + T/9fX1//dHR0/4uLi/+kpKT/vr6+/9LS0v/e3t7/5ubm/+vr6//v7+//8vLy//T09P/19fX/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9fX1//X19f/09PT/9fX1//T0 + 9P/s7Oz/3d3d/8nJyf+ysrL/mZmZ/39/f/9qamr/XFxc/1RUVP9OTk7/SUlJ/0ZGRv9FRUX/Q0ND/0JC + Qv9CQkL/QEBA/zw8PP9AQED/XFxc/5SUlP/Q0ND/9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj39vf/+Pb4//X29f/t9u3/3/ff/9D40P/E+MT/uvm6/7L5sv+t+a3/qPqo/6j6qP+y+bL/yvjK/+b3 + 5v/49vj//fb9//z2/P/69vr/+fb5//j2+P/39/f/9/f3//j4+P/5+fn/+Pj4//b29v/y8vL/6urq/9/f + 3//T09P/xsbG/7q6uv+srKz/m5ub/4mJif91dXX/ZGRk/1RUVP9GRkb/Pj4+/zw8PP8+Pj7/QEBA/0FB + Qf9BQUH/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QEBA/z8/P/88PDz/PT09/0ND + Q/9OTk7/Xl5e/25ubv+BgYH/lZWV/6ampv+1tbX/wsLC/87Ozv/b29v/5+fn//Dw8P/19fX/9/f3//j4 + +P/5+fn/+Pj4//f39//29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f3//j4+P/5+fn/+/v7//z8 + /P/4+Pj/7e3t/97e3v/Nzc3/u7u7/6ioqP+VlZX/hoaG/3l5ef9sbGz/YGBg/1RUVP9KSkr/RERE/0FB + Qf9AQED/Pj4+/zo6Ov8/Pz//XFxc/5SUlP/Pz8//9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj29vb/9/b3//b29v/y9vL/6/br/+T35P/f99//2/fb/9f31//U+NT/0vjS/9L40v/X+Nf/4vfi/+/2 + 7//39vf/+vb6//n2+f/49vj/+Pb4//f29//39/f/+Pj4//n5+f/5+fn/9/f3//Pz8//r6+v/3d3d/8jI + yP+xsbH/nZ2d/4qKiv95eXn/a2tr/2FhYf9ZWVn/UVFR/0pKSv9ERET/QEBA/z8/P/9AQED/QUFB/0FB + Qf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/0BAQP8/Pz//Pz8//0JC + Qv9HR0f/Tk5O/1ZWVv9eXl7/Z2dn/3Nzc/+Dg4P/lpaW/6qqqv+/v7//1dXV/+fn5//x8fH/9vb2//j4 + +P/5+fn/+Pj4//f39//29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f3//f39//4+Pj/+fn5//n5 + +f/39/f/8vLy/+vr6//k5OT/3Nzc/9PT0//IyMj/ubm5/6ampv+Tk5P/fn5+/2dnZ/9UVFT/SUlJ/0ND + Q/9AQED/PT09/zk5Of8/Pz//XFxc/5SUlP/Pz8//9PT0//39/f/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj29vb/9vb2//b29v/19vX/9Pb0//P28//y9vL/8fbx//H28f/w9vD/8Pbw//D28P/x9vH/8/bz//X2 + 9f/29vb/9vb2//b29v/29vb/9vb2//X19f/09PT/8/Pz//Ly8v/u7u7/6enp/+Pj4//X19f/xcXF/6ys + rP+RkZH/enp6/2VlZf9TU1P/SUlJ/0VFRf9FRUX/RUVF/0RERP9DQ0P/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9DQ0P/RERE/0VFRf9FRUX/R0dH/05OTv9eXl7/cnJy/4iIiP+ioqL/vLy8/9LS0v/f39//5+fn/+3t + 7f/x8fH/8/Pz//T09P/19fX/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9fX1//T09P/z8/P/8/Pz//Ly8v/s7Oz/3t7e/8vLy/+1tbX/nJyc/4KCgv9qamr/W1tb/1JS + Uv9MTEz/R0dH/z8/P/9DQ0P/Xl5e/5WVlf/Q0ND/9PT0//z8/P/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj29vb/9vb2//b29v/39vf/9/b3//j2+P/59vn/+fb5//r2+v/69vr/+vb6//r2+v/69vr/+fb5//f2 + 9//39/f/9/j3//j4+P/4+Pj/9/f3//X19f/x8fH/6enp/9/f3//U1NT/yMjI/7y8vP+urq7/nZ2d/4iI + iP90dHT/YmJi/1JSUv9ERET/PT09/zw8PP8/Pz//QEBA/0FBQf9BQUH/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9BQUH/QEBA/z8/P/89PT3/PDw8/0FBQf9MTEz/XFxc/21tbf+BgYH/lZWV/6ioqP+3t7f/xMTE/9DQ + 0P/b29v/5ubm/+/v7//09PT/9/f3//j4+P/4+Pj/+Pj4//f39//29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9/f3//j4+P/4+Pj/+vr6//z8/P/5+fn/7+/v/+Dg4P/Pz8//vLy8/6enp/+UlJT/hISE/3Z2 + dv9ra2v/Xl5e/05OTv9JSUn/X19f/5WVlf/Q0ND/9PT0//z8/P/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gz29vZK9vb2oPb2 + 9uj29vb/9vb2//b29v/29vb/9/b3//f29//49vj/+Pb4//n2+f/59vn/+fb5//n2+f/59vn/+Pb4//f2 + 9//39/f/+Pj4//n5+f/5+fn/9/f3//Pz8//q6ur/2tra/8bGxv+xsbH/np6e/4uLi/97e3v/bm5u/2Nj + Y/9aWlr/UVFR/0lJSf9CQkL/Pz8//z4+Pv9AQED/QUFB/0FBQf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9BQUH/QUFB/0BAQP8/Pz//Pj4+/0BAQP9GRkb/Tk5O/1dXV/9fX1//aWlp/3Z2dv+FhYX/l5eX/6mp + qf++vr7/09PT/+Xl5f/w8PD/9vb2//j4+P/5+fn/+fn5//f39//39/f/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9/f3//f39//4+Pj/+fn5//r6+v/4+Pj/9PT0/+zs7P/j4+P/2tra/9HR0f/FxcX/t7e3/6Wl + pf+Tk5P/fX19/2NjY/9VVVX/ZGRk/5eXl//R0dH/9PT0//z8/P/5+fn/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2APb29gH29vYA9vb2APb29hH29vZO9vb2o/b2 + 9un29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//X1 + 9f/19fX/9PT0//Pz8//v7+//6+vr/+Tk5P/X19f/w8PD/6mpqf+Pj4//eHh4/2NjY/9TU1P/SkpK/0dH + R/9HR0f/RkZG/0RERP9DQ0P/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9DQ0P/RUVF/0dHR/9HR0f/SEhI/09PT/9dXV3/cHBw/4aG + hv+fn5//ubm5/9HR0f/g4OD/6enp/+7u7v/y8vL/9PT0//T09P/19fX/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9fX1//Pz8//y8vL/8fHx//Dw8P/r6+v/39/f/83N + zf+3t7f/np6e/35+fv9qamr/dHR0/6CgoP/V1dX/9PT0//z8/P/4+Pj/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2APb29gL29vYG9vb2EPb29ir29vZj9vb2rvb2 + 9uv29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/39/f/9/f3//j4+P/4+Pj/9/f3//X1 + 9f/w8PD/6enp/+Dg4P/V1dX/y8vL/7+/v/+wsLD/nZ2d/4iIiP9zc3P/YGBg/09PT/9DQ0P/PT09/z09 + Pf8/Pz//QEBA/0FBQf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/0BAQP8+Pj7/PT09/0BAQP9KSkr/Wlpa/2xs + bP+AgID/lZWV/6qqqv+6urr/x8fH/9HR0f/c3Nz/5ubm/+7u7v/z8/P/9fX1//b29v/39/f/9/f3//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f3//f39//4+Pj/+vr6//v7+//6+vr/8fHx/+Li + 4v/Q0ND/vLy8/6Kiov+RkZH/l5eX/7e3t//d3d3/9PT0//r6+v/4+Pj/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2APb29gf29vYW9vb2Lvb29k/29vaC9vb2vvb2 + 9u/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//f39//39/f/+fn5//r6+v/5+fn/9/f3//Ly + 8v/o6Oj/2NjY/8TExP+xsbH/np6e/42Njf9+fn7/cHBw/2VlZf9aWlr/UFBQ/0dHR/9BQUH/Pj4+/z4+ + Pv9AQED/QUFB/0FBQf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/0BAQP8/Pz//Pj4+/z8/P/9FRUX/TU1N/1dX + V/9hYWH/bGxs/3h4eP+Hh4f/mJiY/6qqqv+8vLz/0dHR/+Pj4//v7+//9PT0//b29v/39/f/9/f3//f3 + 9//29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//f39//4+Pj/+fn5//r6+v/6+vr/9fX1/+3t + 7f/k5OT/2dnZ/8vLy//CwsL/xMTE/9XV1f/p6en/9fX1//j4+P/39/f/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb2 + 9gD29vYA9vb2APb29gH29vYB9vb2Avb29gX29vYI9vb2Dfb29hv29vYz9vb2U/b29nj29vai9vb20Pb2 + 9vP29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//X19f/19fX/9fX1//T09P/w8PD/7Ozs/+Tk + 5P/W1tb/wMDA/6ampv+NjY3/d3d3/2NjY/9UVFT/TExM/0lJSf9ISEj/RkZG/0RERP9DQ0P/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9DQ0P/RUVF/0hI + SP9JSUn/S0tL/1BQUP9cXFz/b29v/4SEhP+cnJz/tra2/8/Pz//g4OD/6urq//Dw8P/19fX/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9fX1//Pz + 8//x8fH/7u7u/+vr6//p6en/6urq/+7u7v/z8/P/9vb2//f39//29vb/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb2 + 9gD29vYA9vb2APb29gT29vYL9vb2Fvb29iH29vYs9vb2Ovb29kz29vZm9vb2g/b29qH29vbA9vb23/b2 + 9vf29vb/9vb2//b29v/39/f/9/f3//j4+P/39/f/9vb2//T09P/v7+//6enp/+Dg4P/X19f/zc3N/8HB + wf+ysrL/nZ2d/4aGhv9xcXH/Xl5e/01NTf9CQkL/PT09/z4+Pv9AQED/QUFB/0FBQf9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QUFB/0BA + QP8/Pz//PT09/z8/P/9ISEj/V1dX/2lpaf99fX3/kpKS/6ioqP+8vLz/z8/P/9/f3//r6+v/8fHx//T0 + 9P/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//f3 + 9//39/f/+Pj4//n5+f/6+vr/+fn5//j4+P/39/f/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb2 + 9gD29vYA9vb2APb29gn29vYc9vb2M/b29kv29vZk9vb2ffb29pT29vao9vb2u/b29s329vbe9vb27vb2 + 9vv29vb/9vb2//f39//4+Pj/+fn5//r6+v/4+Pj/9vb2//Hx8f/m5ub/1tbW/8PDw/+xsbH/oKCg/4+P + j/+AgID/cnJy/2ZmZv9aWlr/T09P/0ZGRv8/Pz//PT09/z4+Pv9AQED/QUFB/0FBQf9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/0BA + QP8/Pz//PT09/z4+Pv9CQkL/SkpK/1RUVP9eXl7/aGho/3V1df+Kior/qKio/8bGxv/c3Nz/6enp//Dw + 8P/19fX/9/f3//f39//29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//f3 + 9//4+Pj/+fn5//r6+v/6+vr/+vr6//n5+f/39/f/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2APb29gD29vYA9vb2Afb2 + 9gP29vYG9vb2DPb29hz29vY39vb2WPb29nn29vaa9vb2u/b29tP29vbi9vb26vb29vD29vb29vb2+vb2 + 9v729vb/9vb2//b29v/29vb/9vb2//X19f/x8fH/7e3t/+Tk5P/U1NT/vb29/6Ojo/+Li4v/dXV1/2Nj + Y/9VVVX/Tk5O/0xMTP9JSUn/RkZG/0RERP9CQkL/QUFB/0FBQf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QUFB/0JCQv9DQ0P/RkZG/0lJSf9MTEz/TExM/1NTU/9oaGj/jY2N/7W1tf/S0tL/4+Pj/+7u + 7v/19fX/9/f3//f39//29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/vb29v729vb+9vb2/vb2 + 9v729vb+9vb2/vb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2Afb29gX29vYM9vb2Ffb2 + 9h/29vYp9vb2Nvb29kr29vZl9vb2hPb29qP29vbC9vb23/b29vT29vb99vb2//b29v/39/f/9/f3//f3 + 9//39/f/9vb2//Pz8//v7+//6enp/+Li4v/Z2dn/0NDQ/8TExP+zs7P/nJyc/4WFhf9vb2//XFxc/0tL + S/9BQUH/Pj4+/z8/P/9BQUH/QUFB/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FB + Qf9BQUH/QEBA/0BAQP9DQ0P/R0dH/0xMTP9QUFD/VFRU/1xcXP9xcXH/lJSU/7m5uf/U1NT/5eXl/+/v + 7//19fX/9/f3//f39//29vb/9vb2//b29v/29vb/9vb2//b29v/29vb+9vb2+fb29vH29vbs9vb26/b2 + 9u729vby9vb29vb29vr29vb99vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v8AAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2Afb29gz29vYe9vb2Nfb2 + 9kv29vZi9vb2evb29pD29val9vb2ufb29sz29vbf9vb28fb29v329vb/9vb2//f39//4+Pj/+fn5//n5 + +f/4+Pj/9vb2//Dw8P/k5OT/1NTU/8PDw/+ysrL/oqKi/5KSkv+Dg4P/dHR0/2ZmZv9aWlr/Tk5O/0RE + RP8+Pj7/PT09/z4+Pv9AQED/QUFB/0FBQf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/0BA + QP8+Pj7/PDw8/z09Pf9DQ0P/Tk5O/1tbW/9paWn/d3d3/4iIiP+dnZ3/tra2/8/Pz//h4eH/7Ozs//Ly + 8v/19fX/9/f3//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb99vb28fb29t729vbP9vb2zPb2 + 9tT29vbf9vb26fb29vL29vb69vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vYA9vb2APb29gD29vYA9vb2APb29gD29vYA9vb2APb29gL29vYE9vb2DPb29h729vY79vb2W/b2 + 9nv29vad9vb2u/b29tH29vbf9vb25/b29u729vb09vb2+vb29v329vb/9vb2//b29v/29vb/9/f3//X1 + 9f/y8vL/7e3t/+Pj4//S0tL/urq6/6Ghof+Kior/dXV1/2NjY/9XV1f/UVFR/05OTv9KSkr/R0dH/0ND + Q/9BQUH/QUFB/0FBQf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9BQUH/QEBA/0NDQ/9NTU3/Xl5e/3Nzc/+JiYn/oqKi/7q6uv/Nzc3/3Nzc/+fn5//v7+//8/Pz//X1 + 9f/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb+9vb2/fb29vr29vbx9vb23fb29sD29vaq9vb2p/b2 + 9rL29vbD9vb20/b29uX29vb29vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vYA9vb2APb29gD29vYA9vb2Afb29gb29vYM9vb2FPb29hz29vYm9vb2M/b29kn29vZm9vb2hvb2 + 9qX29vbF9vb24vb29vX29vb89vb2/vb29v/39/f/9/f3//f39//29vb/9fX1//Pz8//v7+//6urq/+Pj + 4//b29v/0tLS/8XFxf+zs7P/m5ub/4ODg/9tbW3/Wlpa/0pKSv9BQUH/Pz8//0BAQP9BQUH/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FBQf9BQUH/QEBA/0FBQf9ERET/SEhI/0xM + TP9RUVH/VVVV/11dXf9qamr/fHx8/5GRkf+oqKj/wcHB/9jY2P/n5+f/7+/v//T09P/29vb/9/f3//b2 + 9v/29vb/9vb2//b29v/29vb99vb2+Pb29vH29vbp9vb24fb29tf29vbJ9vb2svb29pX29vZ/9vb2e/b2 + 9ob29vaX9vb2qfb29r729vbS9vb24fb29ur29vbx9vb29vb29vr29vb99vb2//b29v/29vb/9vb2//b2 + 9v/29vYA9vb2APb29gD29vYA9vb2Avb29g729vYh9vb2Nvb29kr29vZg9vb2dvb29oz29vai9vb2uPb2 + 9s329vbh9vb28/b29v729vb/9/f3//f39//4+Pj/+fn5//n5+f/4+Pj/9fX1/+7u7v/j4+P/09PT/8PD + w/+zs7P/pKSk/5WVlf+FhYX/dXV1/2ZmZv9ZWVn/TExM/0JCQv89PT3/PT09/z8/P/9AQED/QUFB/0FB + Qf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QEBA/0BAQP8+Pj7/PDw8/z4+Pv9GRkb/UVFR/15e + Xv9sbGz/e3t7/4uLi/+ampr/qqqq/7m5uf/Jycn/2dnZ/+jo6P/x8fH/9fX1//f39//39/f/9/f3//f3 + 9//29vb/9vb2//b29v/29vb79vb27fb29tr29vbF9vb2sPb29pr29vaE9vb2b/b29lr29vZL9vb2SPb2 + 9k729vZa9vb2avb29n729vaV9vb2rPb29sP29vbY9vb26Pb29vP29vb69vb2/vb29v/29vb/9vb2//b2 + 9v/29vYA9vb2Afb29gH29vYE9vb2Dfb29iH29vY+9vb2Xvb29n729vae9vb2uvb29s/29vbb9vb25Pb2 + 9uz29vb09vb2+vb29v729vb/9vb2//b29v/39/f/9/f3//b29v/z8/P/7e3t/+Li4v/Q0ND/t7e3/5+f + n/+JiYn/dXV1/2RkZP9ZWVn/U1NT/09PT/9LS0v/RkZG/0NDQ/9BQUH/QUFB/0FBQf9BQUH/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FBQf9AQED/Pz8//0NDQ/9PT0//YWFh/3V1 + df+MjIz/pKSk/7u7u//Ly8v/1tbW/97e3v/m5ub/7Ozs//Dw8P/09PT/9fX1//b29v/29vb/9vb2//b2 + 9v/29vb+9vb2/vb29vv29vbv9vb22Pb29rr29vaa9vb2evb29lr29vZA9vb2Lvb29iP29vYc9vb2Gfb2 + 9hr29vYg9vb2Lfb29j/29vZW9vb2cvb29pT29va29vb20vb29ub29vb09vb2/vb29v/29vb/9vb2//b2 + 9v/29vYR9vb2FPb29hn29vYh9vb2Mfb29kj29vZn9vb2iPb29qn29vbJ9vb25fb29vX29vb89vb2/fb2 + 9v/29vb/9/f3//b29v/29vb/9fX1//Ly8v/v7+//6+vr/+Xl5f/d3d3/1NTU/8bGxv+ysrL/mZmZ/4GB + gf9ra2v/V1dX/0lJSf9BQUH/QEBA/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9BQUH/QUFB/0JCQv9ERET/SEhI/0xMTP9PT0//U1NT/1tbW/9paWn/fX19/5KS + kv+qqqr/xMTE/9ra2v/o6Oj/7+/v//Pz8//29vb/9/f3//b29v/29vb/9vb2//b29v/29vb89vb2+Pb2 + 9vL29vbr9vb25Pb29tv29vbK9vb2sPb29pD29vZv9vb2T/b29i/29vYW9vb2CPb29gP29vYB9vb2APb2 + 9gD29vYA9vb2Cfb29hj29vYs9vb2Rvb29mn29vaM9vb2qvb29sL29vbV9vb24/b29u329vbz9vb29vb2 + 9vj29vYz9vb2Ofb29kf29vZb9vb2c/b29on29vag9vb2t/b29s729vbk9vb29vb29v/29vb/9/f3//f3 + 9//4+Pj/+fn5//n5+f/39/f/9PT0/+3t7f/h4eH/09PT/8TExP+1tbX/pqam/5eXl/+Hh4f/dnZ2/2Zm + Zv9XV1f/SkpK/0FBQf88PDz/PT09/z8/P/9AQED/QUFB/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9BQUH/QEBA/z8/P/8+Pj7/PT09/0BAQP9HR0f/UlJS/15eXv9ra2v/eXl5/4iIiP+YmJj/qKio/7i4 + uP/Jycn/29vb/+np6f/y8vL/9/f3//n5+f/6+vr/+fn5//f39//39/f/9vb2//b29v/29vb59vb26/b2 + 9tj29vbF9vb2svb29p329vaI9vb2cfb29lr29vZD9vb2LPb29hf29vYG9vb2APb29gD29vYA9vb2APb2 + 9gD29vYA9vb2BPb29gv29vYW9vb2Jvb29j329vZV9vb2bfb29oP29vaY9vb2rvb29sT29vbY9vb25fb2 + 9uz29vZe9vb2Z/b29nz29vaa9vb2ufb29sv29vbY9vb24vb29uv29vb09vb2+/b29v/29vb/9vb2//f3 + 9//4+Pj/+Pj4//b29v/z8/P/7e3t/+Hh4f/Nzc3/tbW1/56env+JiYn/dnZ2/2ZmZv9cXFz/VVVV/1BQ + UP9LS0v/RkZG/0JCQv9AQED/QEBA/0FBQf9BQUH/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9BQUH/QUFB/0BAQP8+Pj7/Pj4+/0RERP9RUVH/Y2Nj/3d3d/+Ojo7/paWl/7q6uv/Jycn/09PT/9zc + 3P/l5eX/6+vr//Hx8f/09PT/9vb2//f39//39/f/9/f3//f39//29vb+9vb2/vb29vv29vbt9vb21fb2 + 9rb29vaY9vb2efb29lr29vZC9vb2Mfb29iX29vYb9vb2Efb29gn29vYD9vb2APb29gD29vYA9vb2APb2 + 9gD29vYA9vb2Avb29gX29vYJ9vb2D/b29hf29vYh9vb2L/b29kH29vZX9vb2cfb29pT29va19vb2zPb2 + 9tb29vaI9vb2kvb29qj29vbI9vb25vb29vX29vb69vb2/Pb29v729vb/9vb2//b29v/19fX/9PT0//Ly + 8v/v7+//7Ozs/+bm5v/f39//1tbW/8fHx/+xsbH/l5eX/35+fv9paWn/VlZW/0hISP9CQkL/QkJC/0ND + Q/9DQ0P/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QkJC/0ND + Q/9FRUX/SEhI/0pKSv9MTEz/UFBQ/1lZWf9paWn/fX19/5SUlP+tra3/xsbG/9vb2//o6Oj/7+/v//Pz + 8//19fX/9vb2//b29v/29vb/9vb2//b29v729vb89vb2+Pb29vP29vbt9vb25/b29t329vbL9vb2r/b2 + 9o729vZt9vb2S/b29iz29vYV9vb2Cfb29gX29vYD9vb2Afb29gD29vYA9vb2APb29gD29vYA9vb2APb2 + 9gD29vYA9vb2APb29gD29vYB9vb2Afb29gD29vYB9vb2Cfb29hf29vYq9vb2RPb29mj29vaM9vb2pfb2 + 9rD29va29vb2vfb29s329vbj9vb2+Pb29v/29vb/9vb2//b29v/29vb/9vb2//X19f/z8/P/7+/v/+fn + 5//d3d3/0NDQ/8PDw/+2trb/qamp/5mZmf+IiIj/dnZ2/2VlZf9WVlb/SEhI/z8/P/88PDz/PT09/z8/ + P/9AQED/QUFB/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QEBA/z8/P/8+Pj7/PT09/0FB + Qf9JSUn/U1NT/15eXv9qamr/d3d3/4aGhv+VlZX/pqam/7e3t//Kysr/3d3d/+vr6//z8/P/9/f3//n5 + +f/6+vr/+fn5//f39//39/f/9vb2//b29v/29vb39vb26fb29tj29vbG9vb2tPb29qH29vaL9vb2c/b2 + 9lv29vZC9vb2Kvb29hT29vYE9vb2APb29gD29vYA9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA9vb2APb29gD29vYA9vb2A/b29gr29vYV9vb2Jfb29j/29vZY9vb2avb2 + 9nL29vbg9vb24/b29un29vbz9vb2/Pb29v/29vb/9vb2//b29v/39/f/9vb2//Pz8//w8PD/6enp/9vb + 2//Hx8f/sbGx/5ycnP+IiIj/d3d3/2hoaP9fX1//V1dX/1FRUf9KSkr/RUVF/0FBQf8/Pz//QEBA/0FB + Qf9BQUH/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/z8/P/89PT3/Pj4+/0VF + Rf9TU1P/ZWVl/3l5ef+Pj4//pqam/7i4uP/Gxsb/0dHR/9vb2//k5OT/6+vr//Hx8f/19fX/9/f3//f3 + 9//4+Pj/9/f3//f39//29vb/9vb2//b29vr29vbr9vb20fb29rP29vaW9vb2ePb29lv29vZF9vb2NPb2 + 9ij29vYd9vb2Evb29gj29vYC9vb2APb29gD29vYA9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA9vb2APb29gD29vYA9vb2Afb29gT29vYJ9vb2EPb29hv29vYm9vb2Lfb2 + 9jH29vb79vb2/Pb29vz29vb99vb2/vb29v/29vb/9vb2//b29v/39/f/9vb2//Pz8//u7u7/5OTk/9PT + 0/+5ubn/nJyc/4KCgv9qamr/VVVV/0hISP9DQ0P/Q0ND/0RERP9DQ0P/Q0ND/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0NDQ/9FRUX/R0dH/0lJSf9KSkr/Tk5O/1lZ + Wf9qamr/f39//5aWlv+wsLD/ycnJ/9zc3P/o6Oj/7u7u//Ly8v/09PT/9fX1//X19f/29vb/9vb2//b2 + 9v729vb89vb2+fb29vX29vbw9vb26vb29uD29vbL9vb2rfb29ov29vZq9vb2SPb29in29vYU9vb2Cvb2 + 9gf29vYE9vb2Avb29gH29vYB9vb2APb29gD29vYA9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA9vb2APb29gD29vYA9vb2APb29gH29vYB9vb2Avb29gP29vYE9vb2Bfb2 + 9gb29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/39/f/9vb2//Ly8v/t7e3/4+Pj/9DQ + 0P+zs7P/k5OT/3d3d/9dXV3/SEhI/zs7O/84ODj/Ozs7/z4+Pv8/Pz//QUFB/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9BQUH/QEBA/z8/P/8+Pj7/Pj4+/0NDQ/9LS0v/VFRU/15eXv9paWn/dXV1/4OD + g/+UlJT/paWl/7i4uP/MzMz/39/f/+3t7f/09PT/+Pj4//n5+f/5+fn/+Pj4//f39//29vb/9vb2//b2 + 9v729vb19vb25/b29tj29vbI9vb2t/b29qT29vaO9vb2dfb29lv29vZB9vb2J/b29hH29vYD9vb2APb2 + 9gD29vYA9vb2APb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/39/f/9vb2//Ly8v/t7e3/4+Pj/9DQ + 0P+0tLT/lZWV/3l5ef9fX1//SkpK/z09Pf85OTn/PDw8/z8/P/9AQED/QUFB/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0FBQf9BQUH/QEBA/z4+Pv89PT3/Pj4+/0dHR/9VVVX/Z2dn/3p6ev+QkJD/paWl/7a2 + tv/ExMT/z8/P/9nZ2f/j4+P/7Ozs//Ly8v/29vb/9/f3//j4+P/4+Pj/9/f3//f39//29vb/9vb2//b2 + 9vn29vbo9vb2zvb29rH29vaV9vb2ePb29l329vZI9vb2OPb29ir29vYe9vb2Efb29gf29vYB9vb2APb2 + 9gD29vYA9vb2APb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vb29vb29/b29vn29vb79vb2/fb29v729vb/9vb2//b29v/39/f/9vb2//Pz8//u7u7/5eXl/9XV + 1f+7u7v/n5+f/4aGhv9vb2//W1tb/05OTv9ISEj/R0dH/0ZGRv9FRUX/Q0ND/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0NDQ/9FRUX/RkZG/0dHR/9ISEj/TU1N/1lZWf9ra2v/gYGB/5iYmP+zs7P/y8vL/93d + 3f/n5+f/7e3t//Hx8f/z8/P/9PT0//X19f/19fX/9vb2//b29v729vb89vb2+vb29vb29vby9vb27fb2 + 9uH29vbK9vb2qvb29oj29vZm9vb2RPb29if29vYV9vb2DPb29gn29vYF9vb2A/b29gL29vYB9vb2APb2 + 9gD29vYA9vb2APb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vbW9vb22vb29uP29vbw9vb2+/b29v/29vb/9vb2//b29v/39/f/9vb2//T09P/w8PD/6urq/97e + 3v/MzMz/uLi4/6Wlpf+Tk5P/goKC/3R0dP9oaGj/Xl5e/1VVVf9NTU3/RUVF/0BAQP8+Pj7/Pz8//0BA + QP9BQUH/QUFB/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FBQf9BQUH/QEBA/z8/ + P/8+Pj7/QEBA/0RERP9MTEz/VFRU/11dXf9nZ2f/cnJy/4GBgf+SkpL/paWl/7i4uP/Ozs7/4eHh/+7u + 7v/19fX/+Pj4//n5+f/5+fn/+Pj4//f39//29vb/9vb2//b29vz29vbz9vb25/b29tj29vbK9vb2u/b2 + 9qj29vaR9vb2dvb29lr29vY/9vb2JPb29g729vYC9vb2APb29gD29vYA9vb2APb29gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vaq9vb2svb29sT29vbe9vb29fb29v/29vb/9vb2//b29v/29vb/9vb2//X19f/z8/P/8PDw/+rq + 6v/i4uL/2NjY/83Nzf/CwsL/tbW1/6ampv+Tk5P/fn5+/2tra/9aWlr/SkpK/0BAQP88PDz/PT09/0BA + QP9AQED/QUFB/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FBQf9BQUH/QEBA/z4+ + Pv88PDz/Pz8//0lJSf9YWFj/aWlp/3x8fP+QkJD/pKSk/7S0tP/BwcH/zc3N/9jY2P/j4+P/7e3t//Pz + 8//29vb/+Pj4//j4+P/4+Pj/9/f3//f39//29vb/9vb2//b29vf29vbk9vb2y/b29q/29vaU9vb2efb2 + 9mD29vZM9vb2O/b29iz29vYe9vb2EPb29gb29vYA9vb2APb29gD29vYA9vb2APb29gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vZ+9vb2h/b29p729va/9vb23vb29u729vb09vb29/b29vv29vb99vb2/vb29v719fX/9fX1//T0 + 9P/z8/P/8PDw/+zs7P/m5ub/3t7e/8/Pz/+5ubn/np6e/4WFhf9vb2//W1tb/01NTf9GRkb/RUVF/0VF + Rf9ERET/Q0ND/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0NDQ/9ERET/RUVF/0VF + Rf9GRkb/TExM/1lZWf9tbW3/g4OD/5ubm/+2trb/zc3N/9zc3P/m5ub/6+vr//Dw8P/y8vL/9PT0//X1 + 9f/19fX/9vb2//b29v729vb99vb2+/b29vj29vb19vb27/b29uH29vbH9vb2pvb29oX29vZj9vb2Qfb2 + 9ib29vYW9vb2D/b29gv29vYG9vb2BPb29gL29vYB9vb2APb29gD29vYA9vb2APb29gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vZT9vb2W/b29m/29vaL9vb2qPb29rz29vbL9vb22Pb29uX29vbx9vb2+vb29v/29vb/9/f3//f3 + 9//4+Pj/+fn5//j4+P/19fX/8PDw/+Xl5f/T09P/vLy8/6enp/+Tk5P/gYGB/3Fxcf9mZmb/XV1d/1VV + Vf9NTU3/RkZG/0FBQf8/Pz//Pz8//0BAQP9BQUH/QUFB/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FBQf9BQUH/QEBA/z8/P/8/Pz//QUFB/0ZGRv9MTEz/VFRU/1xc + XP9kZGT/cHBw/39/f/+RkZH/paWl/7q6uv/Q0ND/4+Pj/+/v7//19fX/+Pj4//n5+f/5+fn/9/f3//f3 + 9//29vb/9vb2//b29vv29vby9vb25vb29tr29vbN9vb2vvb29qv29vaS9vb2dvb29ln29vY99vb2Ifb2 + 9gz29vYB9vb2APb29gD29vYA9vb2APb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vYp9vb2L/b29jr29vZL9vb2Yfb29nj29vaR9vb2q/b29sX29vbe9vb28/b29v729vb/9vb2//f3 + 9//4+Pj/+fn5//j4+P/39/f/9PT0/+/v7//l5eX/2dnZ/83Nzf/AwMD/s7Oz/6SkpP+SkpL/f39//2xs + bP9cXFz/TU1N/0FBQf88PDz/PT09/z8/P/9AQED/QUFB/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FBQf9AQED/Pz8//z09Pf88PDz/QEBA/0tLS/9aWlr/ampq/3x8 + fP+QkJD/oqKi/7Gxsf+/v7//y8vL/9jY2P/k5OT/7u7u//T09P/39/f/+Pj4//n5+f/4+Pj/9/f3//f3 + 9//29vb/9vb2//b29vX29vbh9vb2yPb29q/29vaV9vb2e/b29mP29vZP9vb2Pvb29i729vYe9vb2D/b2 + 9gT29vYA9vb2APb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vYK9vb2Dfb29hD29vYX9vb2JPb29jz29vZb9vb2ffb29p/29vbA9vb23fb29u/29vb39vb2+fb2 + 9vz29vb99vb2/vb29v/29vb/9fX1//Pz8//y8vL/7+/v/+vr6//l5eX/3d3d/9DQ0P+7u7v/oaGh/4iI + iP9xcXH/XV1d/01NTf9FRUX/Q0ND/0RERP9ERET/Q0ND/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0NDQ/9DQ0P/RERE/0NDQ/9ERET/TExM/1tbW/9vb2//hYWF/56e + nv+4uLj/zs7O/9vb2//k5OT/6urq/+/v7//x8fH/8/Pz//X19f/19fX/9vb2//b29v729vb+9vb2/Pb2 + 9vr29vb39vb28Pb29uD29vbE9vb2o/b29oL29vZg9vb2P/b29if29vYY9vb2Efb29gz29vYI9vb2BPb2 + 9gL29vYB9vb2APb29gD29vYA9vb2APb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vYA9vb2APb29gD29vYB9vb2CPb29hv29vY29vb2VPb29nH29vaP9vb2q/b29sD29vbP9vb22vb2 + 9uX29vbw9vb2+fb29v729vb/9vb2//f39//4+Pj/+fn5//j4+P/19fX/8PDw/+fn5//V1dX/v7+//6io + qP+Tk5P/gICA/29vb/9jY2P/W1tb/1RUVP9OTk7/R0dH/0JCQv9AQED/QEBA/0BAQP9BQUH/QUFB/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FB + Qf9BQUH/QUFB/0BAQP9AQED/QkJC/0dHR/9NTU3/U1NT/1paWv9iYmL/bW1t/35+fv+RkZH/paWl/7y8 + vP/T09P/5eXl/+/v7//19fX/9/f3//n5+f/4+Pj/9/f3//b29v/29vb/9vb2//b29vr29vbx9vb25/b2 + 9tz29vbQ9vb2wvb29q729vaT9vb2dfb29lj29vY69vb2Hvb29gr29vYB9vb2APb29gD29vYA9vb2APb2 + 9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAPb29gD29vYA9vb2Afb29gv29vYb9vb2LPb29j729vZQ9vb2ZPb29nr29vaT9vb2q/b2 + 9sP29vbb9vb28Pb29v329vb/9vb2//f39//4+Pj/+fn5//n5+f/4+Pj/9fX1//Dw8P/m5ub/2dnZ/8zM + zP++vr7/sLCw/6Ghof+RkZH/f39//21tbf9dXV3/T09P/0NDQ/89PT3/PDw8/z4+Pv9AQED/QUFB/0FB + Qf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0FB + Qf9AQED/Pz8//zw8PP88PDz/QkJC/01NTf9bW1v/a2tr/319ff+Pj4//oKCg/66urv+8vLz/ysrK/9jY + 2P/l5eX/7+/v//X19f/4+Pj/+fn5//n5+f/4+Pj/9/f3//b29v/29vb/9vb2/vb29vP29vbe9vb2xvb2 + 9q729vaW9vb2ffb29mf29vZT9vb2QPb29i729vYd9vb2Dfb29gL29vYA9vb2APb29gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vYA9vb2APb29gD29vYA9vb2Afb29gT29vYI9vb2Dfb29hP29vYa9vb2Jvb29jv29vZZ9vb2e/b2 + 9pv29va99vb22/b29u/29vb49vb2+/b29v329vb+9vb2//b29v/29vb/9fX1//Pz8//x8fH/7u7u/+np + 6f/j4+P/29vb/8/Pz/+8vLz/pKSk/4qKiv9zc3P/X19f/05OTv9ERET/QUFB/0JCQv9DQ0P/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9DQ0P/Q0ND/0JCQv9DQ0P/TExM/1xcXP9xcXH/h4eH/6CgoP+6urr/zc3N/9ra2v/i4uL/6Ojo/+3t + 7f/x8fH/8/Pz//X19f/29vb/9vb2//b29v/29vb+9vb2/fb29vv29vb59vb28fb29t729vbB9vb2n/b2 + 9n/29vZd9vb2Pvb29ij29vYb9vb2FPb29g729vYJ9vb2Bfb29gL29vYA9vb2APb29gD29vYA9vb2APb2 + 9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gH29vYB9vb2B/b29hj29vYy9vb2Ufb2 + 9nD29vaP9vb2rPb29sP29vbS9vb23fb29uf29vbw9vb2+Pb29v329vb/9vb2//b29v/39/f/+Pj4//f3 + 9//19fX/8fHx/+jo6P/Y2Nj/wcHB/6mpqf+Tk5P/f39//21tbf9gYGD/WFhY/1NTU/9OTk7/SEhI/0ND + Q/9BQUH/QEBA/0FBQf9BQUH/QkJC/0JCQv9CQkL/QkJC/0JCQv9BQUH/QUFB/0BAQP9AQED/Q0ND/0dH + R/9NTU3/UlJS/1hYWP9fX1//bGxs/319ff+RkZH/pqam/76+vv/V1dX/5ubm//Dw8P/19fX/9/f3//j4 + +P/39/f/9/f3//b29v/29vb/9vb2/vb29vn29vbx9vb26Pb29t729vbU9vb2xfb29rD29vaT9vb2dPb2 + 9lX29vY29vb2G/b29gn29vYC9vb2Afb29gD29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gn29vYZ9vb2LPb2 + 9j/29vZT9vb2aPb29n729vaV9vb2rPb29sL29vbZ9vb27vb29vz29vb/9vb2//f39//4+Pj/+fn5//n5 + +f/4+Pj/9vb2//Hx8f/o6Oj/2tra/8vLy/+8vLz/rq6u/5+fn/+Pj4//fn5+/25ubv9fX1//UVFR/0VF + Rf8+Pj7/PDw8/z4+Pv9AQED/QUFB/0FBQf9CQkL/QUFB/0FBQf9AQED/Pj4+/zw8PP89PT3/RERE/09P + T/9dXV3/bGxs/3x8fP+NjY3/nZ2d/6ysrP+7u7v/ycnJ/9jY2P/m5ub/8PDw//b29v/4+Pj/+fn5//n5 + +f/4+Pj/9/f3//b29v/29vb/9vb2/fb29vD29vbc9vb2xfb29q/29vaY9vb2gfb29mv29vZW9vb2Qvb2 + 9i729vYb9vb2C/b29gH29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2Afb29gT29vYJ9vb2D/b2 + 9hb29vYd9vb2Kfb29jv29vZX9vb2ePb29pj29va59vb22Pb29u729vb59vb2/fb29v729vb/9/f3//b2 + 9v/29vb/9fX1//T09P/x8fH/7e3t/+jo6P/h4eH/2dnZ/87Ozv+9vb3/pqam/4yMjP92dnb/YWFh/09P + T/9ERET/QEBA/0FBQf9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QUFB/0BAQP9DQ0P/TU1N/15e + Xv9zc3P/iYmJ/6Ojo/+7u7v/zMzM/9jY2P/g4OD/5+fn/+zs7P/w8PD/8/Pz//X19f/29vb/9vb2//f3 + 9//29vb/9vb2/vb29v329vb69vb28Pb29tv29va99vb2nPb29nz29vZb9vb2Pvb29ir29vYf9vb2F/b2 + 9hD29vYJ9vb2BPb29gH29vYA9vb2APb29gD29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb2 + 9gH29vYC9vb2B/b29hX29vYv9vb2Tvb29m729vaO9vb2rfb29sb29vbW9vb24Pb29uj29vbw9vb29/b2 + 9vz29vb/9vb2//b29v/39/f/9/f3//f39//09PT/8PDw/+np6f/a2tr/xMTE/6urq/+UlJT/f39//2xs + bP9eXl7/VlZW/1FRUf9NTU3/SEhI/0RERP9CQkL/Q0ND/0dHR/9MTEz/UVFR/1VVVf9dXV3/ampq/3x8 + fP+RkZH/qKio/8HBwf/Y2Nj/5+fn//Dw8P/09PT/9/f3//f39//39/f/9vb2//b29v/29vb/9vb2/fb2 + 9vj29vbx9vb26fb29uH29vbX9vb2yPb29rD29vaS9vb2cvb29lL29vYz9vb2GPb29gj29vYC9vb2Afb2 + 9gD29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb2 + 9gD29vYA9vb2APb29gf29vYX9vb2K/b29kD29vZV9vb2a/b29oH29vaX9vb2rfb29sL29vbX9vb26/b2 + 9vr29vb/9vb2//f39//4+Pj/+fn5//n5+f/5+fn/9/f3//Ly8v/p6en/29vb/8vLy/+7u7v/rKys/5yc + nP+NjY3/fX19/25ubv9fX1//UVFR/0VFRf9AQED/RERE/1BQUP9eXl7/bGxs/3t7e/+Li4v/mpqa/6qq + qv+5ubn/ycnJ/9nZ2f/o6Oj/8fHx//b29v/4+Pj/+fn5//n5+f/4+Pj/9/f3//b29v/29vb/9vb2+/b2 + 9u329vba9vb2xfb29rD29vaa9vb2hPb29m729vZY9vb2Q/b29i729vYZ9vb2Cfb29gD29vYA9vb2APb2 + 9gD29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb2 + 9gD29vYA9vb2APb29gP29vYJ9vb2EPb29hj29vYh9vb2LPb29j329vZX9vb2dvb29pb29va29vb21fb2 + 9u329vb69vb2/vb29v729vb/9/f3//f39//29vb/9vb2//T09P/x8fH/7Ozs/+fn5//f39//19fX/8zM + zP+9vb3/p6en/4+Pj/94eHj/YmJi/09PT/9GRkb/TU1N/19fX/91dXX/jIyM/6SkpP+7u7v/y8vL/9bW + 1v/e3t7/5ubm/+zs7P/w8PD/9PT0//b29v/29vb/9/f3//f39//29vb/9vb2/vb29v729vb79vb27/b2 + 9tj29va69vb2mvb29nr29vZa9vb2QPb29i329vYi9vb2Gfb29hH29vYJ9vb2BPb29gH29vYA9vb2APb2 + 9gD29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb2 + 9gD29vYA9vb2APb29gD29vYA9vb2APb29gH29vYD9vb2B/b29hT29vYs9vb2S/b29mz29vaM9vb2rPb2 + 9sj29vbZ9vb24/b29ur29vbx9vb29/b29vz29vb+9vb2//b29v/29vb/9/f3//b29v/09PT/8PDw/+np + 6f/c3Nz/x8fH/62trf+VlZX/f39//2tra/9jY2P/ampq/3x8fP+SkpL/qqqq/8PDw//a2tr/6Ojo/+/v + 7//z8/P/9vb2//f39//29vb/9vb2//b29v/29vb/9vb2/Pb29vj29vby9vb26/b29uT29vbb9vb2yvb2 + 9rD29vaQ9vb2b/b29k/29vYv9vb2Fvb29gj29vYD9vb2Afb29gD29vYA9vb2APb29gD29vYA9vb2APb2 + 9gD29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2APb29gX29vYU9vb2Kfb29kD29vZX9vb2bvb2 + 9oX29vab9vb2r/b29sP29vbW9vb26Pb29vf29vb/9vb2//f39//39/f/+fn5//r6+v/5+fn/9/f3//Pz + 8//r6+v/3Nzc/8vLy/+7u7v/rKys/5+fn/+ZmZn/nZ2d/6qqqv+5ubn/ycnJ/9ra2v/p6en/8vLy//f3 + 9//5+fn/+vr6//n5+f/39/f/9/f3//b29v/29vb/9vb2+fb29uv29vbY9vb2xfb29rL29vad9vb2iPb2 + 9nH29vZa9vb2Q/b29iz29vYX9vb2Bvb29gD29vYA9vb2APb29gD29vYA9vb2AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2APb29gL29vYI9vb2EPb29hr29vYk9vb2L/b2 + 9j/29vZX9vb2dfb29pT29vay9vb20fb29uv29vb69vb2/vb29v729vb/9/f3//f39//39/f/9vb2//X1 + 9f/x8fH/7Ozs/+Xl5f/f39//2dnZ/9TU1P/R0dH/09PT/9jY2P/e3t7/5OTk/+vr6//x8fH/9PT0//b2 + 9v/39/f/9/f3//f39//39/f/9vb2/vb29v729vb79vb27fb29tX29va29vb2mPb29nn29vZa9vb2Qvb2 + 9jH29vYl9vb2G/b29hH29vYJ9vb2A/b29gD29vYA9vb2APb29gD29vYA9vb2AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2APb29gD29vYA9vb2Afb29gL29vYE9vb2CPb2 + 9hP29vYo9vb2R/b29mn29vaK9vb2q/b29sj29vbc9vb25vb29u329vbz9vb2+Pb29vv29vb+9vb2//b2 + 9v/29vb/9fX1//X19f/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9fX1//X19f/29vb/9vb2//b2 + 9v/29vb+9vb2/Pb29vj29vbz9vb27fb29uf29vbd9vb2y/b29q/29vaO9vb2bfb29kv29vYs9vb2Ffb2 + 9gn29vYF9vb2A/b29gH29vYA9vb2APb29gD29vYA9vb2APb29gD29vYA9vb2AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2APb2 + 9gP29vYR9vb2J/b29j/29vZX9vb2cPb29oj29vae9vb2svb29sT29vbV9vb25/b29vX29vb+9vb2//f3 + 9//39/f/+Pj4//n5+f/6+vr/+/v7//z8/P/8/Pz//Pz8//v7+//6+vr/+fn5//j4+P/39/f/9/f3//b2 + 9v/29vb/9vb29/b29un29vbY9vb2xvb29rT29vah9vb2i/b29nP29vZb9vb2Qvb29ir29vYU9vb2BPb2 + 9gD29vYA9vb2APb29gD29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2APb2 + 9gH29vYH9vb2EPb29hv29vYn9vb2M/b29kL29vZY9vb2dPb29pL29vaw9vb2zvb29uj29vb59vb2//b2 + 9v/29vb/9/f3//f39//4+Pj/+Pj4//n5+f/5+fn/+fn5//j4+P/4+Pj/9/f3//f39//39/f/9vb2//b2 + 9v/29vb69vb26/b29tH29vaz9vb2lvb29nj29vZb9vb2Rfb29jT29vYo9vb2Hfb29hL29vYI9vb2Avb2 + 9gD29vYA9vb2APb29gD29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29gD29vYA9vb2APb29gD29vYA9vb2APb2 + 9gH29vYB9vb2Avb29gT29vYG9vb2Cvb29hL29vYm9vb2RPb29mX29vaG9vb2qfb29sf29vbd9vb26fb2 + 9u/29vb09vb2+Pb29vv29vb99vb2/vb29v/29vb/9vb2//b29v/29vb99vb2+/b29vj29vb09vb28Pb2 + 9ur29vbf9vb2y/b29q329vaL9vb2avb29kj29vYp9vb2FPb29gr29vYG9vb2BPb29gL29vYB9vb2Afb2 + 9gD29vYA9vb2APb29gD29vYA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vYA9vb2APb29gD29vYA9vb2APb29gL29vYO9vb2I/b29jz29vZV9vb2b/b29oj29vae9vb2sPb2 + 9sH29vbQ9vb24Pb29u329vb49vb2/fb29v729vb+9vb2/vb29v329vb49vb27/b29uH29vbS9vb2w/b2 + 9rL29vag9vb2i/b29nL29vZY9vb2QPb29ib29vYR9vb2A/b29gD29vYA9vb2APb29gD29vYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vYA9vb2APb29gD29vYA9vb2APb29gD29vYG9vb2D/b29hv29vYo9vb2Nfb29kT29vZY9vb2cfb2 + 9o329vao9vb2xPb29t729vbx9vb2+/b29v729vb+9vb2/vb29vv29vbz9vb24fb29sj29vas9vb2kfb2 + 9nX29vZb9vb2Rvb29jb29vYp9vb2Hfb29hH29vYH9vb2Afb29gD29vYA9vb2APb29gD29vYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD29vYA9vb2APb29gD29vYA9vb2APb29gH29vYC9vb2A/b29gX29vYJ9vb2DPb29hX29vYn9vb2Rfb2 + 9mn29vaN9vb2sfb29tT29vbt9vb2+fb29v329vb99vb2/fb29vr29vbv9vb21/b29rb29vaR9vb2bvb2 + 9kn29vYq9vb2Fvb29g329vYJ9vb2Bvb29gP29vYC9vb2Afb29gD29vYA9vb2APb29gD29vYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vYA9vb2APb29gD29vYA9vb2APb29gL29vYS9vb2Mvb2 + 9lr29vaB9vb2qfb29s/29vbr9vb2+fb29v329vb99vb2/fb29vr29vbt9vb20/b29q729vaG9vb2X/b2 + 9jf29vYV9vb2A/b29gD29vYA9vb2APb29gD29vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD//////////wAAA//////////8AP////////+AAAAD//////////wA/////////4AAAAP///////// + /AD/////////gAAAA//////////8AP///////+AAAAAD//////////wA////////4AAAAAP///////// + /AD////////gAAAAA//////////8AP//////+AAAAAAD//////////wA///////4AAAAAAP///////// + /AD///////gAAAAAA//////////8AP/////+OAAAAAAD//////////wA//////4AAAAAAAP///////// + /AD//////gAAAAAAA//////////8AP/////+AAAAAAAD//////////wA/////wAAAAAAAAP///////// + /AD/////AAAAAAAAA//////////8AP////8AAAAAAAAD//////////wA////wAAAAAAAAAP///////// + /AD////AAAAAAAAAA//////////8AP///8AAAAAAAAAD//////////wA////wAAAAAAAAAAH//////// + /AD////AAAAAAAAAAAf////////8AP///8AAAAAAAAAAB/////////wA////wAAAAAAAAAAAH/////// + /AD////AAAAAAAAAAAAf///////8AP///8AAAAAAAAAAAB////////wA////wAAAAAAAAAAAAH////// + /AD////AAAAAAAAAAAAAf//////8AP///8AAAAAAAAAAAAB///////wA////wAAAAAAAAAAAAAH///// + /AD////AAAAAAAAAAAAAAf/////8AP///8AAAAAAAAAAAAAB//////wA////wAAAAAAAAAAAAACD//// + /AD////AAAAAAAAAAAAAAAP////8AP///8AAAAAAAAAAAAAAA/////wA////wAAAAAAAAAAAAAADD/// + /AD////AAAAAAAAAAAAAAAAP///8AP///8AAAAAAAAAAAAAAAA////wA////wAAAAAAAAAAAAAAAD/// + /AD////AAAAAAAAAAAAAAAAAP//8AP///8AAAAAAAAAAAAAAAAA///wA////wAAAAAAAAAAAAAAAAD// + /AD////AAAAAAAAAAAAAAAAAAP/8AP///8AAAAAAAAAAAAAAAAAA//wA////wAAAAAAAAAAAAAAAAAD/ + /AD////AAAAAAAAAAAAAAAAAAAH8AP///8AAAAAAAAAAAAAAAAAAAfwA////wAAAAAAAAAAAAAAAAAAB + /AD////AAAAAAAAAAAAAAAAAAAAEAP///8AAAAAAAAAAAAAAAAAAAAQA////wAAAAAAAAAAAAAAAAAAA + BAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAAAA + AAD////AAAAAAAAAAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAAAAAAA///wwAAAAAAAAAAAAAAAAAAA + AAD///4AAAAAAAAAAAAAAAAAAAAAAP//9gAAAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAAAAA + AAD//4AAAAAAAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAAA + AAD+wAAAAAAAAAAAAAAAAAAAAAAAAP7AAAAAAAAAAAAAAAAAAAAAAAAA5gAAAAAAAAAAAAAAAAAAAAAA + AACwAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAAAAAADYA + AAAAAAAAAAAAAAAAAAAAAAAABwgAAAAAAAAAAAAAAAAAAAAAAA3//AAAAAAAAAAAAAAAAAAAAAAADf/8 + AAAAAAAAAAAAAAAAAAAAAAAB//wAAAAAAAAAAAAAAAAAAAAAA3////wAAAAAAAAAAAAAAAAAAAADf/// + /AAAAAAAAAAAAAAAAAAAAAB////8AAAAAAAAAAAAAAAAAAAA3/////wAAAAAAAAAAAAAAAAAAAH///// + /AAAAAAAAAAAAAAAAAAAAD/////8AAAAAAAAAAAAAAAAAAAv//////wAAAAAAAAAAAAAAAAAAH////// + /AAAAAAAAAAAAAAAAAAAD//////8AIAAAAAAAAAAAAAAAAP///////wA8AAAAAAAAAAAAAAAH/////// + /ACAAAAAAAAAAAAAAAAD///////8AP4AAAAAAAAAAAAAAP////////wA/8AAAAAAAAAAAAAH//////// + /AD+QAAAAAAAAAAAAAD////////8AP/8AAAAAAAAAAAAP/////////wA//+AAAAAAAAAAAP///////// + /AD//QAAAAAAAAAAAf/////////8AP/+cAAAAAAAAAAc//////////wA///+AAAAAAAAAP////////// + /AD///YAAAAAAAAA3//////////8AP//8AAAAAAAAAAf//////////wA////2AAAAAAAN/////////// + /AD////YAAAAAAA3///////////8AP///8AAAAAAAAf///////////wA/////2AAAAAN//////////// + /AD/////YAAAAA3////////////8AP////8AAAAAAf////////////wA//////6AAAN///////////// + /AA= + + + \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/ComparisonJSInteraction.cs b/AlmToolkit/AlmToolkit/ComparisonJSInteraction.cs new file mode 100644 index 0000000..ed91ceb --- /dev/null +++ b/AlmToolkit/AlmToolkit/ComparisonJSInteraction.cs @@ -0,0 +1,732 @@ +namespace AlmToolkit +{ + using BismNormalizer.TabularCompare.Core; + using BismNormalizer.TabularCompare; + using Model; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class ComparisonJSInteraction + { + #region Private members + + private Comparison _comparison; + // The form class needs to be changed according to yours + private static ComparisonForm _instanceMainForm = null; + + + // Used to maintain a dictionary with direct access to the Angular node and C# comparison object + private Dictionary _directAccessList = new Dictionary(); + + #endregion + + #region Public properties + // List to be used to populate data in grid control. This needs to be static, since everytime CEF Sharp invokes the method, it creates a new instance + // Need to revisit initialization to evaluate removal strategy + public static List comparisonList = new List(); + public static List selectedNodes = new List(); + + public ComparisonJSInteraction(ComparisonForm mainForm) + { + _instanceMainForm = mainForm; + } + public Comparison Comparison + { + get { return _comparison; } + set { _comparison = value; } + } + #endregion + + #region Angular endpoints + + /// + /// Method that sends flattened comparison object to Angular control + /// + /// + public string GetComparisonList() + { + + string comparisonData = JsonConvert.SerializeObject(comparisonList); + return comparisonData; + + } + + /// + /// Save or Compare as per the action on UI + /// + /// Action to be performed + public void SaveOrCompare(string action) + { + switch (action.ToLower()) + { + case "save": + _instanceMainForm.SaveNg(); + break; + case "compare": + _instanceMainForm.InitializeAndCompareTabularModelsNg(); + break; + } + } + + /// + /// Update the object as and when selected action is changed on UI + /// + /// Id of the node updated + /// New selected action + /// Old selected action + public void ChangeOccurred(int id, string newAction, string oldAction) + { + if (_directAccessList.ContainsKey(id)) + { + AngularComposite currentNode = _directAccessList[id]; + + // if set parent to skip/create/delete, MAY need to set all children to skip/create/delete too (only the read only cells) + + switch (newAction) + { + case "Skip": + currentNode.dotNetComparison.MergeAction = MergeAction.Skip; + currentNode.ngComparison.MergeAction = MergeAction.Skip.ToString(); + CheckToSkipChildren(currentNode.ngComparison); + break; + case "Create": + currentNode.dotNetComparison.MergeAction = MergeAction.Create; + currentNode.ngComparison.MergeAction = MergeAction.Create.ToString(); + CheckToCreateChildren(currentNode.ngComparison); + break; + case "Delete": + currentNode.dotNetComparison.MergeAction = MergeAction.Delete; + currentNode.ngComparison.MergeAction = MergeAction.Delete.ToString(); + CheckToDeleteChildren(currentNode.ngComparison); + break; + case "Update": + currentNode.dotNetComparison.MergeAction = MergeAction.Update; + currentNode.ngComparison.MergeAction = MergeAction.Update.ToString(); + break; + default: + break; + } + // Disable update menu on comparison change + _instanceMainForm.HandleComparisonChanged(); + + // Refresh the tree control, since grid is maintained here + _instanceMainForm.refreshGridControl(true); + } + + } + + /// + /// Perform required action on selected nodes + /// + /// Action to be performed: Skip, Update, Create or Delete + /// List of Node Ids which are selected on Angular control + public void PerformActionsOnSelectedActions(string action, List selectedNodesUI) + { + selectedNodes.Clear(); + ComparisonNode nodeToAdd; + for (int nodeCounter = 0; nodeCounter < selectedNodesUI.Count; nodeCounter++) + { + if (_directAccessList.ContainsKey(Convert.ToInt32(selectedNodesUI[nodeCounter]))) + { + AngularComposite currentNode = _directAccessList[Convert.ToInt32(selectedNodesUI[nodeCounter])]; + nodeToAdd = currentNode.ngComparison; + selectedNodes.Add(nodeToAdd); + } + } + + switch (action) + { + case "skip": + SkipItems(true); + break; + case "create": + CreateItems(true); + break; + case "delete": + DeleteItems(true); + break; + case "update": + UpdateItems(true); + break; + } + + // Disable update menu on comparison change + _instanceMainForm.HandleComparisonChanged(); + + // Refresh the tree control, since grid is maintained here + _instanceMainForm.refreshGridControl(true); + } + + #endregion + + #region Data transformation and population + + /// + /// Transform comparison object to structure understood by Angular control + /// + public void SetComparisonData() + { + if (this._comparison != null) + { + comparisonList.Clear(); + _directAccessList.Clear(); + + foreach (ComparisonObject comparisonObject in this._comparison.ComparisonObjects) + { + this.PopulateComparisonData(comparisonObject, 0, null); + } + } + } + + /// + /// Helper method to transform comparison object to structure understood by Angular control + /// + /// Individual node in the tree + /// Level in the heirarchy to which the object belongs + /// Reference to the parent node of the current object + private void PopulateComparisonData(ComparisonObject comparisonObject, int level, ComparisonNode parentNode) + { + if (comparisonObject != null) + { + string nodeType = ""; + switch (comparisonObject.ComparisonObjectType) + { + case ComparisonObjectType.DataSource: + nodeType = "Data Source"; + break; + + case ComparisonObjectType.CalculationItem: + nodeType = "Calculation Item"; + break; + + case ComparisonObjectType.Table: + + //Check if source table has any calc item children. If yes, it's a calc group. + bool isCalcGroup = false; + foreach (ComparisonObject childComparisonObject in comparisonObject.ChildComparisonObjects) + { + if (childComparisonObject.ComparisonObjectType == ComparisonObjectType.CalculationItem && childComparisonObject.Status != ComparisonObjectStatus.MissingInSource) + { + isCalcGroup = true; + break; + } + } + nodeType = isCalcGroup ? "Calculation Group" : "Table"; + break; + + default: + nodeType = comparisonObject.ComparisonObjectType.ToString(); + break; + } + + ComparisonNode currentNode = new ComparisonNode + { + NodeType = nodeType, + SourceName = comparisonObject.SourceObjectName, + TargetName = comparisonObject.TargetObjectName, + SourceInternalName = comparisonObject.SourceObjectInternalName, + TargetInternalName = comparisonObject.TargetObjectInternalName, + SourceObjectDefinition = comparisonObject.SourceObjectDefinition, + TargetObjectDefinition = comparisonObject.TargetObjectDefinition, + ShowNode = true, + Level = level, + MergeAction = comparisonObject.MergeAction.ToString(), + DisableMessage = "", + DropdownDisabled = false + }; + + if (parentNode != null) + { + currentNode.ParentId = parentNode.Id; + parentNode.ChildNodes.Add(currentNode.Id); + } + + switch (comparisonObject.Status) + { + case ComparisonObjectStatus.MissingInTarget: + currentNode.Status = "Missing in Target"; + break; + case ComparisonObjectStatus.MissingInSource: + currentNode.Status = "Missing in Source"; + break; + case ComparisonObjectStatus.SameDefinition: + currentNode.Status = "Same Definition"; + break; + case ComparisonObjectStatus.DifferentDefinitions: + currentNode.Status = "Different Definitions"; + break; + default: + break; + } + + comparisonList.Add(currentNode); + + // Populate helper objects + AngularComposite angularComposite = new AngularComposite(currentNode, comparisonObject); + _directAccessList.Add(currentNode.Id, angularComposite); + + + // set drop-down to have limited members based on what is available + switch (comparisonObject.MergeAction) + { + case MergeAction.Create: + currentNode.AvailableActions = new List { "Create", "Skip" }; + + if (parentNode != null && string.Equals(parentNode.Status, "Missing in Target") && string.Equals(parentNode.MergeAction, "Skip")) + { + comparisonObject.MergeAction = MergeAction.Skip; + currentNode.MergeAction = MergeAction.Skip.ToString(); + currentNode.DropdownDisabled = true; + SetNodeTooltip(angularComposite, true); + } + break; + case MergeAction.Update: + currentNode.AvailableActions = new List { "Update", "Skip" }; + break; + case MergeAction.Delete: + currentNode.AvailableActions = new List { "Delete", "Skip" }; + + //check if parent is also set to delete, in which case make this cell readonly + if (parentNode != null && string.Equals(parentNode.MergeAction, "Delete")) + { + currentNode.DropdownDisabled = true; + SetNodeTooltip(angularComposite, true); + } + break; + case MergeAction.Skip: + + switch (comparisonObject.Status) + { + case ComparisonObjectStatus.MissingInTarget: + currentNode.AvailableActions = new List { "Create", "Skip" }; + + //check if parent is also MissingInTarget and Skip, make this cell readonly + if (parentNode != null && string.Equals(parentNode.Status, "Missing in Target") && string.Equals(parentNode.MergeAction, "Skip")) + { + currentNode.DropdownDisabled = true; + SetNodeTooltip(angularComposite, true); + } + + break; + case ComparisonObjectStatus.MissingInSource: + currentNode.AvailableActions = new List { "Delete", "Skip" }; + break; + case ComparisonObjectStatus.DifferentDefinitions: + currentNode.AvailableActions = new List { "Update", "Skip" }; + break; + default: + //default covers ComparisonObjectStatus.SameDefinition: which is most common case (above cases are for saved skip selections from file) + currentNode.AvailableActions = new List { "Skip" }; + currentNode.DropdownDisabled = true; + SetNodeTooltip(angularComposite, true); + break; + } + + break; + default: + break; + }; + + // Add child objects if it exists + if (comparisonObject.ChildComparisonObjects != null && comparisonObject.ChildComparisonObjects.Count > 0) + { + foreach (ComparisonObject childComparisonObject in comparisonObject.ChildComparisonObjects) + { + PopulateComparisonData(childComparisonObject, level + 1, currentNode); + } + } + } + } + + #endregion + + #region Helper functions + + /// + /// Set visibility of Angular node + /// + /// Show or hide node + /// Display name of the node for source + /// Internal name of the node for source + /// Display name of the node for target + /// Internal name of the node for target + /// Object type i.e. Data source, KPI, Measure + private void SetNodeVisibility(bool IsVisible, AngularComposite node) + { + if (node != null) + { + //node.IsVisible = IsVisible; + node.ngComparison.ShowNode = IsVisible; + } + } + + private void SetNodeTooltip(AngularComposite node, bool disabledDueToParent) + { + node.ngComparison.DisableMessage = (disabledDueToParent ? "This object's action option is disabled due to a parent object selection" : ""); + + } + #endregion + + #region Menu actions + + /// + /// Show or Hide skip nodes + /// + /// Hide Skip nodes + /// Hide objects only in case of same definition + public void ShowHideSkipNodes(bool hide, bool sameDefinitionFilter = false) + { + if (this._comparison != null) + { + foreach (ComparisonNode node in comparisonList) + { + ShowHideSkipNodes(node, hide, sameDefinitionFilter); + } + } + } + + /// + /// Show or hide skip nodes + /// + /// List of comparison objects for whom children are to be checked + /// Show or hide the node + /// Hide nodes with same definition + private void ShowHideSkipNodes(ComparisonNode node, bool hide, bool sameDefinitionFilter) + { + bool isVisible = true; + if (node.MergeAction.ToString() == "Skip" && (!sameDefinitionFilter || (sameDefinitionFilter && hide && node.Status.ToString() == "Same Definition"))) + { + // if currently selected skip item contains Update, Delete or Create children, then need to keep visible - or result in orphans + bool foundCreateOrDeleteChild = false; + foreach (int childNodeId in node.ChildNodes) + { + if (_directAccessList.ContainsKey(childNodeId)) + { + AngularComposite childNode = _directAccessList[childNodeId]; + if (childNode.dotNetComparison.MergeAction == MergeAction.Update || childNode.dotNetComparison.MergeAction == MergeAction.Delete || childNode.dotNetComparison.MergeAction == MergeAction.Create) + { + foundCreateOrDeleteChild = true; + break; + } + } + } + + if (hide) + { + if (!foundCreateOrDeleteChild) + { + isVisible = false; + } + } + else + { + isVisible = true; + } + } + else + { + isVisible = ( + !(node.MergeAction.ToString() == "Skip " && + (node.ChildNodes.Count == 0 || !NodeContainsEditableChildren(node, hide)))); + } + + if (_directAccessList.ContainsKey(node.Id)) + { + AngularComposite childNode = _directAccessList[node.Id]; + SetNodeVisibility(isVisible, childNode); + } + + foreach (int childNodeId in node.ChildNodes) + { + if (_directAccessList.ContainsKey(childNodeId)) + { + AngularComposite childNode = _directAccessList[childNodeId]; + ShowHideSkipNodes(childNode.ngComparison, hide, sameDefinitionFilter); + } + } + } + + /// + /// Check if node contains editable children + /// + /// Node for which children is to be checked + /// Hide or show + /// + private bool NodeContainsEditableChildren(ComparisonNode node, bool hide) + { + bool containsChildren = false; + + foreach (int childNodeId in node.ChildNodes) + { + if (_directAccessList.ContainsKey(childNodeId)) + { + AngularComposite childComposite = _directAccessList[childNodeId]; + ComparisonNode childNode = childComposite.ngComparison; + + if ((hide && + childNode.MergeAction != "Skip " && + childNode.MergeAction != "Skip") || + (!hide && + childNode.MergeAction != "Skip ")) + { + containsChildren = true; + } + else + { + bool childContainsChildren = NodeContainsEditableChildren(childNode, hide); + if (!containsChildren) + { + containsChildren = childContainsChildren; + } + } + + if (childNode.MergeAction.ToString() == "Skip") + { + SetNodeVisibility(!hide, childComposite); + } + } + } + + if (node.MergeAction.ToString() != "Skip") + { + if (_directAccessList.ContainsKey(node.Id)) + { + AngularComposite nodeComposite = _directAccessList[node.Id]; + SetNodeVisibility(containsChildren, nodeComposite); + } + } + + return containsChildren; + } + + /********** Set node to skip depending on comparison object status ****************/ + /// + /// Sets Action property of objects to Skip within given range. + /// + /// + /// + public void SkipItems(bool selectedOnly, ComparisonObjectStatus comparisonObjectStatus = ComparisonObjectStatus.Na) //Na because won't take null cos it's an enum + { + List listToUse = (selectedOnly ? selectedNodes : comparisonList); + foreach (ComparisonNode node in listToUse) + { + // In case of selected only, check if item is present in selected objects + SkipItemPrivate(comparisonObjectStatus, node); + } + } + + private void SkipItemPrivate(ComparisonObjectStatus comparisonObjectStatus, ComparisonNode row) + { + if (comparisonObjectStatus == ComparisonObjectStatus.Na || + (comparisonObjectStatus == ComparisonObjectStatus.DifferentDefinitions && row.Status == "Different Definitions") || + (comparisonObjectStatus == ComparisonObjectStatus.MissingInSource && row.Status == "Missing in Source") || + (comparisonObjectStatus == ComparisonObjectStatus.MissingInTarget && row.Status == "Missing in Target")) + { + bool isReadOnly = row.DropdownDisabled; + if (!isReadOnly && + row.MergeAction != MergeAction.Skip.ToString() + //&& + //row.Cells[8].Value.ToString() != "Set Parent Node" -- Need to check where is this value set + ) + { + row.MergeAction = MergeAction.Skip.ToString(); + if (_directAccessList.ContainsKey(row.Id)) + { + AngularComposite node = _directAccessList[row.Id]; + node.dotNetComparison.MergeAction = MergeAction.Skip; + CheckToSkipChildren(row); + } + + } + } + } + + private void CheckToSkipChildren(ComparisonNode selectedRow) + { + // if Missing in Target (default is create) and user selects skip, definitely can't create child objects, so set them to skip too and disable them + if (selectedRow.Status == "Missing in Target") + { + //TreeGridNode selectedNode = FindNodeByIDs(selectedRow.Cells[0].Value.ToString(), selectedRow.Cells[2].Value.ToString(), selectedRow.Cells[6].Value.ToString()); + + foreach (int node in selectedRow.ChildNodes) + { + + SetNodeToSkip(node); + } + } + // if Missing in Source (default is delete) and user selects skip, he may still want to delete some child objects, so ensure they are enabled + else if (selectedRow.Status == "Missing in Source") + { + //TreeGridNode selectedNode = FindNodeByIDs(selectedRow.Cells[0].Value.ToString(), selectedRow.Cells[2].Value.ToString(), selectedRow.Cells[6].Value.ToString()); + + foreach (int nodeId in selectedRow.ChildNodes) + { + if (_directAccessList.ContainsKey(nodeId)) + { + AngularComposite node = _directAccessList[nodeId]; + + if (node.ngComparison.AvailableActions.Contains("Skip")) + { + node.ngComparison.DropdownDisabled = false; + + SetNodeTooltip(node, false); + } + } + } + } + } + private void SetNodeToSkip(int nodeId) + { + if (_directAccessList.ContainsKey(nodeId)) + { + AngularComposite node = _directAccessList[nodeId]; + + if (node.ngComparison.AvailableActions.Contains("Skip")) + { + node.ngComparison.MergeAction = MergeAction.Skip.ToString(); + node.ngComparison.DropdownDisabled = true; + node.dotNetComparison.MergeAction = MergeAction.Skip; + + SetNodeTooltip(node, true); + } + + foreach (int childNode in node.ngComparison.ChildNodes) + { + SetNodeToSkip(childNode); + } + } + } + + /************* End section ****************/ + + /********** Set node to update ****************/ + /// + /// Set actions for node with different definitions to update + /// + /// Set for selected nodes or all nodes + public void UpdateItems(bool selectedOnly) + { + // If selected only, pick items from selected list + List listToUse = (selectedOnly ? selectedNodes : comparisonList); + + // Not necessary to run twice with internal method because Updates don't impact children + foreach (ComparisonNode item in listToUse) + { + if (item.AvailableActions.Contains("Update")) + { + item.MergeAction = MergeAction.Update.ToString(); + // Set merge action in corresponding comparison list + _directAccessList[item.Id].dotNetComparison.MergeAction = MergeAction.Update; + } + } + } + /************* End section ****************/ + + /********** Set node to create ****************/ + /// + /// Sets Action property of objects to Create within given range. + /// + /// + public void CreateItems(bool selectedOnly) + { + List listToUse = (selectedOnly ? selectedNodes : comparisonList); + + foreach (ComparisonNode item in listToUse) + { + //DataGridViewRow row = (selectedOnly ? this.SelectedRows[i] : this.Rows[i]); + + bool isReadOnly = item.DropdownDisabled; + if (!isReadOnly && item.MergeAction != "Skip " // This condition is not working in existing code. Retained for consistency with existing code. + && item.AvailableActions.Contains(MergeAction.Create.ToString())) + { + item.MergeAction = MergeAction.Create.ToString(); + // Set merge action in corresponding comparison list + _directAccessList[item.Id].dotNetComparison.MergeAction = MergeAction.Create; + + // Check status of children + CheckToCreateChildren(item); + } + } + } + private void CheckToCreateChildren(ComparisonNode selectedRow) + { + // if Missing in Target (default is create) and user selects create, he may still want to skip some child objects, so ensure they are enabled + if (selectedRow.Status.ToString() == "Missing in Target") + { + + foreach (int nodeId in selectedRow.ChildNodes) + { + AngularComposite node = _directAccessList[nodeId]; + if (node.ngComparison.AvailableActions.Contains(MergeAction.Create.ToString())) + { + node.ngComparison.DropdownDisabled = false; + SetNodeTooltip(node, false); + } + } + } + } + /************* End section ****************/ + + /********** Set node to delete ****************/ + /// + /// Sets Action property of objects to Delete within given range. + /// + /// + public void DeleteItems(bool selectedOnly) + { + List listToUse = (selectedOnly ? selectedNodes : comparisonList); + + foreach (ComparisonNode item in listToUse) + { + bool isReadOnly = item.DropdownDisabled; + if (!isReadOnly + && item.MergeAction != "Skip " // This condition is not working in existing code. Retained for consistency with existing code. + && item.AvailableActions.Contains(MergeAction.Delete.ToString())) + { + item.MergeAction = MergeAction.Delete.ToString(); + // Set merge action in corresponding comparison list + _directAccessList[item.Id].dotNetComparison.MergeAction = MergeAction.Delete; + + // Check status of children + CheckToDeleteChildren(item); + } + } + } + private void CheckToDeleteChildren(ComparisonNode selectedRow) + { + // if Missing in Source (default is delete) and user selects delete, definitely can't skip child objects, so set them to delete too and disable them + if (selectedRow.Status == "Missing in Source") + { + + foreach (int node in selectedRow.ChildNodes) + { + SetNodeToDelete(node); + } + } + } + private void SetNodeToDelete(int nodeId) + { + if (_directAccessList.ContainsKey(nodeId)) + { + AngularComposite node = _directAccessList[nodeId]; + + if (node.ngComparison.AvailableActions.Contains("Delete")) + { + node.ngComparison.MergeAction = MergeAction.Delete.ToString(); + node.ngComparison.DropdownDisabled = true; + node.dotNetComparison.MergeAction = MergeAction.Delete; + + SetNodeTooltip(node, true); + } + + foreach (int childNode in node.ngComparison.ChildNodes) + { + SetNodeToDelete(childNode); + } + } + } + /************* End section ****************/ + #endregion + } +} diff --git a/AlmToolkit/AlmToolkit/Images/AlmToolkit.ico b/AlmToolkit/AlmToolkit/Images/AlmToolkit.ico new file mode 100644 index 0000000000000000000000000000000000000000..523c7aafc413af6ee9708a06636ef81538559c55 GIT binary patch literal 93062 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 Seii=N87H@a6gB^*wfTQL-daik literal 0 HcmV?d00001 diff --git a/AlmToolkit/AlmToolkit/Images/BismNorm.ico b/AlmToolkit/AlmToolkit/Images/BismNorm.ico new file mode 100644 index 0000000000000000000000000000000000000000..523c7aafc413af6ee9708a06636ef81538559c55 GIT binary patch literal 93062 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 Seii=N87H@a6gB^*wfTQL-daik literal 0 HcmV?d00001 diff --git a/AlmToolkit/AlmToolkit/Images/BismNormalizerBanner.png b/AlmToolkit/AlmToolkit/Images/BismNormalizerBanner.png new file mode 100644 index 0000000000000000000000000000000000000000..74c3e5f8cf0dd1de71e69a5f55014519b9d5b634 GIT binary patch literal 1626 zcmah}dpOf;9RKymp+YXt$Zqr*fPo@^;{S*A=|Zga^c%4u|P+@`1q zCFXk8OgF7^pIkTdV7Y7~YAf0}zp3Z^dCvPh@Adn6-}m!=zTfwobqWDj+^Mw_002c- z7e_Au*!CG5JIntBw$_ywj)UDcoEQ8A@VHld0i0|PwRg7%fQDPU#6hy)e8(jhe;fcP zy^z*zucNAi0YG-y)zRMjDoVii@K6ia?p)!x9rSBdIeG^v`=Te9lVW5nmnhqH8>N71 z3ro#<>!fSutZJ}wFMe8GnHDxph8j-h@O?~O{KgOe*=yU!oO{R|ON~5$Eq}c{_a@jn zN%aqoEwczD@qguxI|hSsC@Cqyy*js25}-;Oo`|EvUd87I$^gpR5PnBTN0CwXg`p2; zBcrYf^<6buTUsv2X+HhVJR@NG{e;xpqo3&Q!NYAC{$wiAzWYtaR z_N|)nw?lv_b%}PnBrL{!*55WA)`9^5(p|d#87kiW7dzs`j-&S!oIPXe>GaKdRII(C zc?^(@Bz75mVe><~P{#R&LsmE$85uP^5~%{32uh0&+I*YU@S4%Wm8MBwdpnXy6gqq)BF2^h#Zxj>*EQ+4}E>)zFRG`(1mpRZ0CmbV6gL(%q0MezrI zow?O`zl$c=JdHlKT z3{%G7aNcZMRL9(yIl5z|f!c(amMw>3=g7V>1a)Jj6T659>ojb#w ziQZtuzNu}PxCwj2CLOcWn-}9WfaCpc4EIU8IYn5*n0ryq_2(AVU94kB9KLV^#l7SK zmrU{E``X5~wo!a{k_PBfd0(F#{gaD@6Fl!Joa^J?aP`iOaaVoFe4E^3Ji=_Ec#=E| zXF#OLf{xn2-HBN+cR5raYbN4i#nSVQppVxQvTesGFK>{Jf$}PwSUM1X51>@@LiEO; zgnms2-IF?pz0RZvEg-^}Zec8DpcuBODLsx{lEd?)%9rn;k{?b~^Wb9%j-co4aTFXJ z&OYUCnL;R>7T_gU3$eu#N1kCzNtTMOW0j#RMW#U6pl*3lQTSI6j9ixV zGHBk-A=75wirx}S0zQ`2j>AW>%kk_h((QFBP?jEMiSQ|-E%d@tF%ffSKXK2hQFgC_ zf`Z$q;ISU~WzH@XzWxh7?8QYS^&+~i%e9653x3#IDzvJ6AdqwKK4xbKGH3@xmvjGRji<6Y+w+LuLPCA+u6O~-F( za2-*)eu%Bq<7Csae0hXr)|2_;szcDO?DKgqjhV)LMS5A4;f%0zq9{%cwl_L+OCl=l z;A!}SS?7(6n+48J(VVDcoL-N>V`1(4er-rl^O1Ug8Z{A#jp7vSa?lK3?{6wKDYr1k zo2wviWVHo0CdjutNR!Hd%CH$CGY~HEcpZ^6NBwLv-mnNMmHTnJ}cY1OaA+PSYy?QS>aD5f!l~FZIlLd$0)1A%IQ42|wIc u7X0OCvQm75UqWqxK5Z1t>;GAj(YXwIQca}!QpB`Siga~CI6gjcHuWExukpPA literal 0 HcmV?d00001 diff --git a/AlmToolkit/AlmToolkit/Images/Compare.png b/AlmToolkit/AlmToolkit/Images/Compare.png new file mode 100644 index 0000000000000000000000000000000000000000..fa05ff2d142d480c468f568e6feae9bf72651323 GIT binary patch literal 1579 zcmV+`2Gse9P)rR$sty-)_;126 z{H+ioc`2}S?&zm$w>~KI`^D)|1yZ^~Z<)Hf<1Dfd4G>C0ugpeRTlpm5CMP?NaAkPt*L3#rk)jpm& zgYm+ObFLtSNDl$tmd(4!yi34+7=WytU>JNEqmPmqs0LNEa}=IA;haMV@vOKLSRn28 zPCj05J#Mw0TrZbP?^mnU8{>@8J=R)()r#VtB9h<@`nB)iRZrm;1A-vH7=yJI=NxVf z?wrF~i?x=ZT#^OfYkHo3cPs8*yL<26&nJTOJpb3gHL%6m=fBo3VC&zYP%LAuon+2| za?VjK_(f0qzu4UDytfAoU_bkSr(H?6`ZihV40(6~t=0bpd{Msd31hM!?~M1{W7+x> zWGgpLK;+oCK!-@GqpLCgtPb#Un)rvxvcvLZLvb)naC5 zW+LP;vd-aodh|Zt1s>!D{&VLE;p#6bRA#BXRwhb|%+Jqr;=~E=+_}T_^z=&srIaLT zPQM=`rM@>2Y@FoCxgYS_g||j?bHMcUG+JxUo;}Oj+8T3na~QMTr^gSO5CS0t);hA> z;Au@1#|-;D@;sy7XpCaVo5T&T@p@LTmc9A;`H9sZIdTLkB{!FsX*8RZOJzLYC(Ck_ zlBDU7EHflYf)^FdOluL!?9x%Z5kC%RZ{`~n@Z{A$`mdN8X(hJJ%PEVXZeVUn> z89uyz9W5obW|Kyv!Of*5hS~GeD}=z)6Z;Ouav5XYl-NIVSsZ*zT z^ytxk%SVz@GCzNOc=Wik|S>2Ii7!6MY5!NJuy z>qnVGM@M7jB;B=t>?cf?e%X1ss{G8&xcdf`XOFtc9F5!~VDlPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0~Sd{K~!i%?U~7L z6G0G$Ew%$UwgX_W9U=}~5fPkt2ojd?ARrD{AVhKv@yx{J4H6L)u{;3F13=&b*d&%D zvZt|SIC%JLTp-h`vAaEs4e}@bvPG(^etJ6HHJ#j;F=G;7CD>VT>t{=@f1~KC2PH?n zg|>^1|C1Dccl|fv&k#egxpJ_BM-Pt^PV-pFRr4_Q37>(L9RDLe=O-5$c}|xdC#(KJ z6u*zz{qdKn0mL~x%E{@|1;u8uB(}OuB%z|CzTtD0%OuaKm0%BwEbE06m!pc9@5}Z5O$*twiykcz_v8lRytD50NP}m(Zt#RyQL$=*owTd z&1nAl|G@vSgf@hM*3yw;Y=sTxHQS7)bM+x7u#t`wV=JR=G^vA3M~bl(R>w8A8BOPc zN={%S9Vy0IPU8&Q>;W1kthEnf0t@L#F*Y)8<_KzCr6e}ekz#Cw^?#S`^@pze;+_XO zQjDoE`z@;%8Uh17J<+g)$y{Vx=Fp2Y1`q$G-c?`o%eDP%%Z`bPx*{dbSTk&AFwk05 zg`^qDzsEKPr*pNa*5v{z3N`5uCu}1gbkT~n_*g8Ig0PK0O6+p?H+0d8S&4PoWg^;f z&X&M;NK2Dz2XK0DTuF|wI8#8814|2I* XNYK!;<&jB(00000NkvXXu0mjfQvH`Q literal 0 HcmV?d00001 diff --git a/AlmToolkit/AlmToolkit/Images/MAQSoftware.png b/AlmToolkit/AlmToolkit/Images/MAQSoftware.png new file mode 100644 index 0000000000000000000000000000000000000000..d6ce6aafb2b9fd55068afdf322106148a9ab3f3a GIT binary patch literal 8105 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%0D-Lp6+MilMJQ=EpCv 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 b&xZwn8q4O}9N_$?c&;q}Os-Vsh5!En_EzkZ literal 0 HcmV?d00001 diff --git a/AlmToolkit/AlmToolkit/Images/Open.png b/AlmToolkit/AlmToolkit/Images/Open.png new file mode 100644 index 0000000000000000000000000000000000000000..3d509ef7e035b123a4d598794f50fa6d5f40de14 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!M&a?jv*f2Z!a5i9dZz8eJIkk{DPZJM{nx` z#~hoM)~UVf8#Zme!d$^7&CQ>&~50HZq=I2x{8mIY;?;vMg`R9f+A`FQ4nDSgc)asdGCz-YeUh& zLIrDaym9XINqSxoNg08GAc%0&WTUaICzl-m;Q7=47jWse)4Aa)QdOEWnH=q>6jH^Y z!(RdbPYgyw0i&ppJ3T2{@u)w^pav8bXNRICd7`%}M0EN5nIEa-#A~bPri2st*gz>r z9D1!DM3YrEb3*>omb>)_tp7_AdDOA;({nHT{7f0c@jF=zX;h(jo`S^wI`iomO>RmI z)?%{poqa_Wghv>rnyNjKc9K%Qs=R~b+?*_0maY6 z8>ldRU6A7%Zui;&0Knq#dyX`8H&tzzT{#kJ0D!x7)o#s<6<7N$&c&Dnm0#&JH(&@- zvMfI-QllcFYrqL#9KGIqaC2csPu(8RNWb&@=#Kh*$H=sjsXPzH6r)BFsaC-8%RPFh zm#LQGXdc7yl3izRo~hbUP&nLgOy!dBtS-RvME9V}PY3vKDFq>&932h-0RO&p$Kv*~ zt6&^EvZd&ay6^i0mJp2gHPtpA7yv*J1owTr7XScoOcIWwh}!I+<>3kf5I}U}f<*v~z$GAp_*g}Q zpQv&_XBdhABBCMy0Luv=ilQ(s7!kp0bNksSjY1|0A|fX++i=_DXv#{vylFoNlc0#k zpj83@K#=8q0wTC|l+0)M_(25d8W*fmNK>QL3Nb#4!n7)RiPIYhb`QD$0H7@QsR)vQ zzmErf;ghpp7G_OS;Mfn6-?a~j0D#3tQ8GaQQ4oZIF@qewdFhXJzke}5dBwc!Se=fN z!KGURxPxXsLJ?%vlz1Jf4I?E6t;*}2_>1zGIm=J=)E)2u0LmmC z614yTo&7^_qubgfCoolM&g6{T)EEQ-#E2yqlkK&8|1&b5tPjqwtj*B5jEz(^J^%TJQt=&`W3)=hh>K8V#6=|gf-Lv~oKhP`0)qUQciZ+i+I#{3B3(GS>x~7O zBYFS;(P}wyv(KIe0GA~I0G;)Fhhk@z=Y+|nsYZR+$hzmH#VBudJt*&>(X2an2MT)3 z?uc+DfoW7E;FtvDBn}9IfW<*W!)-J7k8fN1Y(t*KD30w|zc4F(f>t@A)o=4a^@R@W zp-qLWMrI5Ez+>bqyU(^S%}XUHOyX9b>#)0NZrSkjn7vu{@tJjb$%a3O zAgU}*+J4_oyJ9p7>Yb(2bXB#t0zGDz$sc4}9t;J(K~PcT0AUc|lq80yL{PE?Y9*Pp zwlGy$d!sMV++}gbMN&edL9ItX4AwN8_Ef!9@a9i~0RZ0Iaq$(a)32jB^uWn2&)qBi zux5!iOkO!XDSFbZbc5{s9xL=(y{yUX;v^CzAjKp?l0mJQmZ&GY&2DJAV;&qFqIdSW z;R6L4oFPTga-~el?%i0hel+Kas?q!}P7-n&e=kBMdv)9D8Icn7@x$r%udkTRL*8>P z+W+o}isJ4k(S2fD{iph`PBagQHm^A5x_H|zuKBd?Y$#eGovZDhKuya|8;<{m>=T+0000N2bZe?^J zG%heMF*ZbLuk`=`0Srk*K~zXfV^CIB_E1z*Y^MbVnau!V80x9~5A)KXDh8PeG8=3G zNZ`v+TdHD^nS<`8; zd8%6gG6R(M-ye2`^QmqDi2wLNG@L)UEO>dq3#=(QR13@}+X9e5APnQf@a^3(U;|)k z$+F8~M|}$-eYL>+yu7^s zOP4OC+yeAS23Y{&Z<-Yf4kBbZY!(oelb`ML0b>yR`F?LW8(r@0A@~2+cf`OAM3w_# toEA_EqgVj*IyEuKOt1yCZMGF^H literal 0 HcmV?d00001 diff --git a/AlmToolkit/AlmToolkit/Images/PowerBI.svg b/AlmToolkit/AlmToolkit/Images/PowerBI.svg new file mode 100644 index 0000000..aa17b18 --- /dev/null +++ b/AlmToolkit/AlmToolkit/Images/PowerBI.svg @@ -0,0 +1 @@ +Asset 1 \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/Images/PowerBi.png b/AlmToolkit/AlmToolkit/Images/PowerBi.png new file mode 100644 index 0000000000000000000000000000000000000000..2c11eb5e181d51015dd32d34bc74603c1a4ab62d GIT binary patch literal 3080 zcmb7`c{J4PAIHCg5F(fC>KfB%aaGnPO({#p*qMfqCEKLXjBQL9AxpB1Xk_e^hO%Xi zOv}aOHdMw=%DCfB%#_NPJK;CKzkc_x-|zgMb6(Hq^E~JCoab{s&pGeslj-buZkLRP z3;+PTP_|aCBKt%{y0oNd?$ae46B!A@S(Ll9Xk3>L%n+@2M%sE306_lLzkw7Ume&+* zsz+ISM7c!-N5%T%gMirBSOZ*m7~ztCWRO7wKBRl-;vakalGBT<+$jITw(=p7&ITEW3DO~1vg(Q`$Z;=UQTyVPAca2|$eNMe?v=WuTf-4#yf`S?_1` zr?zV`R_25Vpvc6qDc>SjhiF1p2X30UzM^Kg1JuvGeZMfWjK#gP5>h#fP`nvg*EQ!D zTtaHzS+V#aRMY*(M!Yz$_iV0meizgbX`j>|_<*iZ&r<~&a;EhTjx5-oy7@XCd1*Bu z6WoFUXvt|c)ujZKfml=Q(3BzkX-5xu?oysYcFK-;81sWTb<`rcPb^N3;RRhS%4irK zd+-;W-rY*iIkOl#nF+{W^;-`RY`Oq*=&4MoVR_B{_4nuSD&%XE`zXhz)y}Oxg^kxT zD>6=I)O5Uo9dT0sQxmd0*`AK;esh3gR{O^%>;hc9;8RjRoIA5)<$B}nsbBzfE~DYUD_!OUvo2AXa+|Bw_##(aXPFVM^z9V^VlC%D_< zwp$e}GNP1pydQu?JT7=EU@s2^MbA}FNLjqck=PsA9m?e0jB_qRJaWVYn8Trm`dp7fBMuT5P^S7hAj zd_@1-<4aLCj#Yh4(<(4YOs(K(9C1A{8)vt?N1uM82#Eg_vpe4%yHoAG0kp-?pP-N* zc_vKRT96*Wq%Kz-$U=7QV>mV#omx|>J*G{eGUJm?gKe8FO3wZ_4n}uF3e2a?x%VIP zqA;^}Is7>xXcf4Vxv_}fzyT%Zvw;mYpPv9)?7z0`r;l@I(qP!Ju9%1}0{?mxzeDJf zxfxw|u;2(1iqECbNzYqGuW8rQJF*7Fff$@+#4gd@A6Z>`R-9}b$;`ortS%|YmGP=) zhRqhS2#Q%9PtmiV&TED>?woZq(jS>!SpZlO_?%l1t#{WC`+HP8rDj~0nhe*%+=BJ( ztt#Iw3JL4XpectwexF|ezEfG^M;|=|-jVai!W#CDII1ieEYdVPC9W#j)w&vl`vxTQ zFP_QOspmb`;SRkPyDIbh|I65-ZHNSU7HEJp(O>pbCDvrLUm{{k{u0_}?ADP{|ex1!E=x%%-1`nAev(8PO@l2*Lb-aA#V9wFpu=yl6+f*FgStM@%lN zwUxdXwW?6-`d8|Cv*35l7D;|d6c94e`}|t(oKOg8jov7;PthOQlf#Jsz6Wdd88L}X z3X|F)$&⋘mLbRX-Ebl_Dn{ieT>RdRxzSvATTgl(uU5{J8NG+Zu%=U!&4SR9@k^9d7VPjm}PmEk@K0D~_m&~ek zeP~?DS%G1(PFSC_c%L7}V_l+*-azW*X3R*=52ugb#7R! zsYX}(-VAfmOP)KUih3q9kIv}3o^+h74)cW*J%!yyL>u5j2+1p-R!i@bY_fcdYhQ%L5#zQnt^yl7;Wgd5pI9vs#Z{ zdOY$_n109)w}~4IY4_=<(;rS{4Ys6e!*7NkkY^qqSr7WTxni|Ct@HP>t~TEpNkw7` z{cpP$^KKVLoN2A%tb!qhr|=B71=BiSfY|z_7xPTulvYn|a(^X0EMvD#f*2!2N5qQx4W0j`ThB{MyU57lSa5?$qHFb=3pu9=UkqU0TuCe(u+h@otb)W1L zSuDTt(YX+NFMCK{)V@Jgi2mf?7r*7CYNuxowuSPSERmHTzD<#q0viwT@G%YpHIQIuz^2Ei$S}mKN@izypYa_vB{Nq zKp<|?cdr-3LgLK*^XhoN!IC6}h2a;5^M5LmHF?WmJGeFAwe70;M;mnYwsP7tIMfMP z_qYkajasnf&Om|aKA2KI+WFg6(6sT1i}LKw`F7<3`~4ewlvvTkPWoZZd<2 zy_qqCUY)!H`fgh*TZ3a;FUd}~=Y(h)!Hr(;3D+SLdO&WTcQswsIuJoFgsvvONlb82 zeuI8XJ17#%NgxISVD=yKy>a_IJHd+MfthuI%|18A_*Brb-?zc%@+ns`s+No?vJkC1 zE#nszH|!mnr>-`NH(6-b@z`n{@9ZZ!k0-Zx2sVoW(;pvHz>j>SV6z$8Qdeo$|Ab06 z$gWzF0K%lE%c7nHI4E0}i$(gNPZ-@lCNqBmgWP${Uy`>kahlWH=WfN4_!2zG&&Dxa zDG%ZVM|LzJa0BiG1=R<-he=5Q`LN5zFa6Y*bu)4VQJ|oIcPO_;ePmD-_E}VBk^tP3 zUkqI}2Tr+_^uIb>&r^cp%fQ4Qa7)j&)4r)se@Lw%w`wUEFcVk%NHf2PQE+1)gn=&X zy`x%p&tpjS0f2kUuh6z5RSD1*M+_G5(1#wea`|pdj&@NFqQ714)~XjJqRE&A^4fO3 z*LIJ-&}Z5Gd=jDlPi^|AKYRH5*VeJUx#)wc$tw9HvUkl4eLKc3Dz!xR5$4U|s>ud- zhfw2&rutb`g}atDyVtV98+;7zx}D}e8hzbns?n^=#MJ2r%r&%tiB9f~Vvd#RoTt)+ z1@Jfa6wY@u9`!8c=-sBPt8)T~pU>;fbW9j1S+|)3CK{7-k}$Me*ib;!8GYTY^pFRw zQ7{4;+}N)cM>Og-tf5(51(svG4jxHg`IN0kY|o%I(3K$B5=|GZis(GuIpI^FXRK;U2~~!9 zgsk*k*g-tpcPM(B%DY(ATmC4*}?2@SBTgI-+As Z%5m)E&(`umT~XH#psXFO9-sBQ@h?Ht*1!M& literal 0 HcmV?d00001 diff --git a/AlmToolkit/AlmToolkit/Images/PowerBi3.png b/AlmToolkit/AlmToolkit/Images/PowerBi3.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e1b99470dd2800e3952d032095c66cab166790 GIT binary patch literal 5118 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 n>v)OB)bTSlZ32sQO_{M%j>d5A| z9j1}Zy&Y9S)fXfU3~b6K`+m9m=fUnAwV6*9m)Wn)dC0rZ%I1JpxW%3b=gn7zc++*i z_-x)1VZ;;6ZF_mmIp0NzU~1MO`C0EG9?He8Dd^V=+u<(GyVinZQ(M(_Rgof&yS%M3 zeg#*WIM1l+*|MIw_mJnA(DZpscJsWSO;FW~IuP&1k~hy=u7ELi&HmSu{>a>!G5d4j zxp@VgzGfeo+WDuRQN1&#zc@_iC!6lg!F|9LGOzoZZ#kt+mP3mLSJaEIesyD;-=qSV45rLw^i! zU4mL6I|Zq944EK^=u{no&UJ{=8V?case_(mcOW7p%|C1E?mDl-lBms=tGfo(7v}K3 zzc=qQZ|42p?~TAg-QC@FQpygeSUzMJMxW{wP!#25eSLk%=k?|t8n-N>(WuAgM`xH2f`{0Jtj~ z@V9j0scO!2ED7K{dVaO-t~^3u5Su_;S9L+^bJyz69i6O2cb}U z<|g*yEdFC%sO8mo^hS0czf6%&TLtGL#|;Do*ej^PgM4{-38al$rn59Yh^wp$S49l~ zEAx|h^v0Z_kaclMrk+GmwF8uOJwUj=tr4L1N@7 zfs;MVy}rlF*N@D;xQ)N%BB@VfEKj^crjytU(J1_>hP=f_KuLIX*q#~d-G*f1qfXm99wJl^faXGT_Hqi{>$PI{d;@$ zpDhxFkU2c;=v$Tr6llh#X%dUYkhcBP6^q9)45PPTGuCyTNNejludlx!!!QKw;5S|i z-7)Y+=#GG$palnKgF=>cl2W=xM@RAcd|Lv>EsJ<&^=3T{If9ePWZV0Zk!}678HUmO atN3?1)6fpDB-T*?0000?{w~JKV+}YW3s6BAt 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 + { + #region Private Fields + + private IEnumerable tcpRows; + + #endregion + + #region Constructors + + public TcpTable(IEnumerable tcpRows) + { + this.tcpRows = tcpRows; + } + + #endregion + + #region Public Properties + + public IEnumerable Rows + { + get { return this.tcpRows; } + } + + #endregion + + #region IEnumerable Members + + public IEnumerator GetEnumerator() + { + return this.tcpRows.GetEnumerator(); + } + + #endregion + + #region IEnumerable Members + + IEnumerator IEnumerable.GetEnumerator() + { + return this.tcpRows.GetEnumerator(); + } + + #endregion + } + + public class TcpRow + { + #region Private Fields + + private IPEndPoint localEndPoint; + private IPEndPoint remoteEndPoint; + private TcpState state; + private int processId; + + #endregion + + #region Constructors + + public TcpRow(IpHelper.TcpRow tcpRow) + { + this.state = tcpRow.state; + this.processId = tcpRow.owningPid; + + int localPort = (tcpRow.localPort1 << 8) + (tcpRow.localPort2) + (tcpRow.localPort3 << 24) + (tcpRow.localPort4 << 16); + long localAddress = tcpRow.localAddr; + this.localEndPoint = new IPEndPoint(localAddress, localPort); + + int remotePort = (tcpRow.remotePort1 << 8) + (tcpRow.remotePort2) + (tcpRow.remotePort3 << 24) + (tcpRow.remotePort4 << 16); + long remoteAddress = tcpRow.remoteAddr; + this.remoteEndPoint = new IPEndPoint(remoteAddress, remotePort); + } + + #endregion + + #region Public Properties + + public IPEndPoint LocalEndPoint + { + get { return this.localEndPoint; } + } + + public IPEndPoint RemoteEndPoint + { + get { return this.remoteEndPoint; } + } + + public TcpState State + { + get { return this.state; } + } + + public int ProcessId + { + get { return this.processId; } + } + + #endregion + } + + public static class ManagedIpHelper + { + #region Public Methods + + public static TcpTable GetExtendedTcpTable(bool sorted) + { + List tcpRows = new List(); + + IntPtr tcpTable = IntPtr.Zero; + int tcpTableLength = 0; + + if (IpHelper.GetExtendedTcpTable(tcpTable, ref tcpTableLength, sorted, IpHelper.AfInet, IpHelper.TcpTableType.OwnerPidAll, 0) != 0) + { + try + { + tcpTable = Marshal.AllocHGlobal(tcpTableLength); + if (IpHelper.GetExtendedTcpTable(tcpTable, ref tcpTableLength, true, IpHelper.AfInet, IpHelper.TcpTableType.OwnerPidAll, 0) == 0) + { + IpHelper.TcpTable table = (IpHelper.TcpTable)Marshal.PtrToStructure(tcpTable, typeof(IpHelper.TcpTable)); + + IntPtr rowPtr = (IntPtr)((long)tcpTable + Marshal.SizeOf(table.length)); + for (int i = 0; i < table.length; ++i) + { + tcpRows.Add(new TcpRow((IpHelper.TcpRow)Marshal.PtrToStructure(rowPtr, typeof(IpHelper.TcpRow)))); + rowPtr = (IntPtr)((long)rowPtr + Marshal.SizeOf(typeof(IpHelper.TcpRow))); + } + } + } + finally + { + if (tcpTable != IntPtr.Zero) + { + Marshal.FreeHGlobal(tcpTable); + } + } + } + + return new TcpTable(tcpRows); + } + + public static Dictionary GetExtendedTcpDictionary() + { + Dictionary tcpRows = new Dictionary(); + + IntPtr tcpTable = IntPtr.Zero; + int tcpTableLength = 0; + + if (IpHelper.GetExtendedTcpTable(tcpTable, ref tcpTableLength, false, IpHelper.AfInet, IpHelper.TcpTableType.OwnerPidAll, 0) != 0) + { + try + { + tcpTable = Marshal.AllocHGlobal(tcpTableLength); + if (IpHelper.GetExtendedTcpTable(tcpTable, ref tcpTableLength, true, IpHelper.AfInet, IpHelper.TcpTableType.OwnerPidAll, 0) == 0) + { + IpHelper.TcpTable table = (IpHelper.TcpTable)Marshal.PtrToStructure(tcpTable, typeof(IpHelper.TcpTable)); + + IntPtr rowPtr = (IntPtr)((long)tcpTable + Marshal.SizeOf(table.length)); + for (int i = 0; i < table.length; ++i) + { + TcpRow row = new TcpRow((IpHelper.TcpRow)Marshal.PtrToStructure(rowPtr, typeof(IpHelper.TcpRow))); + // HACK: only add first row that is in a Listening state + if (row.State == TcpState.Listen) + { + if (!tcpRows.Keys.Contains(row.ProcessId)) + tcpRows.Add(row.ProcessId, row); + } + rowPtr = (IntPtr)((long)rowPtr + Marshal.SizeOf(typeof(IpHelper.TcpRow))); + } + } + } + finally + { + if (tcpTable != IntPtr.Zero) + { + Marshal.FreeHGlobal(tcpTable); + } + } + } + + return tcpRows; + } + + + #endregion + } + + #endregion + + #region P/Invoke IP Helper API + + /// + /// + /// + public static class IpHelper + { + #region Public Fields + + public const string DllName = "iphlpapi.dll"; + public const int AfInet = 2; + + #endregion + + #region Public Methods + + /// + /// + /// + [DllImport(IpHelper.DllName, SetLastError = true)] + public static extern uint GetExtendedTcpTable(IntPtr tcpTable, ref int tcpTableLength, bool sort, int ipVersion, TcpTableType tcpTableType, int reserved); + + #endregion + + #region Public Enums + + /// + /// + /// + public enum TcpTableType + { + BasicListener, + BasicConnections, + BasicAll, + OwnerPidListener, + OwnerPidConnections, + OwnerPidAll, + OwnerModuleListener, + OwnerModuleConnections, + OwnerModuleAll, + } + + #endregion + + #region Public Structs + + /// + /// + /// + [StructLayout(LayoutKind.Sequential)] + public struct TcpTable + { + public uint length; + public TcpRow row; + } + + /// + /// + /// + [StructLayout(LayoutKind.Sequential)] + public struct TcpRow + { + public TcpState state; + public uint localAddr; + public byte localPort1; + public byte localPort2; + public byte localPort3; + public byte localPort4; + public uint remoteAddr; + public byte remotePort1; + public byte remotePort2; + public byte remotePort3; + public byte remotePort4; + public int owningPid; + } + + #endregion + + #endregion + } +} diff --git a/AlmToolkit/AlmToolkit/Model/AngularComposite.cs b/AlmToolkit/AlmToolkit/Model/AngularComposite.cs new file mode 100644 index 0000000..4e6690a --- /dev/null +++ b/AlmToolkit/AlmToolkit/Model/AngularComposite.cs @@ -0,0 +1,21 @@ +namespace AlmToolkit.Model +{ + using BismNormalizer.TabularCompare.Core; + + class AngularComposite + { + public ComparisonNode ngComparison; + public ComparisonObject dotNetComparison; + + /// + /// Constructor for composite node with Angular and .Net + /// + /// Set value for angular node + /// set value for .Net node + public AngularComposite(ComparisonNode node, ComparisonObject comparisonObject) + { + ngComparison = node; + dotNetComparison = comparisonObject; + } + } +} diff --git a/AlmToolkit/AlmToolkit/Model/ComparisonNode.cs b/AlmToolkit/AlmToolkit/Model/ComparisonNode.cs new file mode 100644 index 0000000..ea5947e --- /dev/null +++ b/AlmToolkit/AlmToolkit/Model/ComparisonNode.cs @@ -0,0 +1,88 @@ +namespace AlmToolkit.Model +{ + using System.Collections.Generic; + + public class ComparisonNode + { + private static int objectCount = 1; + + /// + /// Id of the object + /// + public int Id { get; } + /// + /// Node type of the object + /// Example: Data Source, Table, Relationship, KPI + /// + public string NodeType { get; set; } + /// + /// Id of this object's parent + /// + public int ParentId { get; set; } + /// + /// Name of this object in source schema + /// + public string SourceName { get; set; } + /// + /// Name of this object in target schema + /// + public string TargetName { get; set; } + /// + /// Internal name of this object in source schema + /// + public string SourceInternalName { get; set; } + /// + /// Internal Name of this object in target schema + /// + public string TargetInternalName { get; set; } + /// + /// Indentation level of the object + /// + public int Level { get; set; } + /// + /// Status of the object compared to the source and target + /// + public string Status { get; set; } + /// + /// Current action to be performed for this object + /// + public string MergeAction { get; set; } + /// + /// Code at source + /// + public string SourceObjectDefinition { get; set; } + /// + /// Code at target + /// + public string TargetObjectDefinition { get; set; } + /// + /// Ids of the children nodes + /// + public List ChildNodes { get; set; } + /// + /// Actions that can be performed for this object + /// + public List AvailableActions { get; set; } + /// + /// To maintain if the object is to be shown on UI or not + /// + public bool ShowNode { get; set; } + /// + /// To maintain if the dropdown is disabled on the UI + /// + public bool DropdownDisabled { get; set; } + /// + /// Text mentioning why the dropdown is disabled + /// + public string DisableMessage { get; set; } + + + public ComparisonNode() + { + Id = objectCount; + objectCount = objectCount + 1; + ChildNodes = new List(); + } + + } +} diff --git a/AlmToolkit/AlmToolkit/PowerBIHelper.cs b/AlmToolkit/AlmToolkit/PowerBIHelper.cs new file mode 100644 index 0000000..8384ba7 --- /dev/null +++ b/AlmToolkit/AlmToolkit/PowerBIHelper.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +//using Serilog; +using System.Security.Principal; + +namespace AlmToolkit +{ + public enum EmbeddedSSASIcon + { + PowerBI, + Devenv, + PowerBIReportServer, + Loading + } + public class PowerBIInstance + { + public PowerBIInstance(string name, int port, EmbeddedSSASIcon icon) + { + Port = port; + Icon = icon; + try + { + var dashPos = name.LastIndexOf(" - "); + if (dashPos >= 0) + { Name = name.Substring(0, dashPos); } // Strip "Power BI Designer" or "Power BI Desktop" off the end of the string + else + { + //Log.Warning("{class} {method} {message} {dashPos}", "PowerBIInstance", "ctor", $"Unable to find ' - ' in Power BI title '{name}'", dashPos); + Name = name; + } + } + catch (Exception ex) + { + //Log.Error("{class} {method} {message} {stacktrace}", "PowerBIInstance", "ctor", ex.Message, ex.StackTrace); + Name = name; + } + } + public int Port { get; private set; } + public string Name { get; private set; } + + public EmbeddedSSASIcon Icon { get; private set; } + } + + public class PowerBIHelper + { + + public static List GetLocalInstances() + { + List _instances = new List(); + + _instances.Clear(); + + var dict = ManagedIpHelper.GetExtendedTcpDictionary(); + foreach (var proc in Process.GetProcessesByName("msmdsrv")) + { + int _port = 0; + EmbeddedSSASIcon _icon = EmbeddedSSASIcon.PowerBI; + var parent = proc.GetParent(); + + // exit here if the parent == "services" then this is a SSAS instance + if (parent.ProcessName.Equals("services", StringComparison.OrdinalIgnoreCase)) continue; + + // exit here if the parent == "RSHostingService" then this is a SSAS instance + if (parent.ProcessName.Equals("RSHostingService", StringComparison.OrdinalIgnoreCase)) + { + // only show PBI Report Server if we are running as admin + // otherwise we won't have any access to the models + if (IsAdministrator()) + _icon = EmbeddedSSASIcon.PowerBIReportServer; + else + continue; + } + + // if the process was launched from Visual Studio change the icon + if (parent.ProcessName.Equals("devenv", StringComparison.OrdinalIgnoreCase)) _icon = EmbeddedSSASIcon.Devenv; + + // get the window title so that we can parse out the file name + var parentTitle = parent.MainWindowTitle; + if (parentTitle.Length == 0) + { + // for minimized windows we need to use some Win32 api calls to get the title + //parentTitle = WindowTitle.GetWindowTitleTimeout( parent.Id, 300); + parentTitle = WindowTitle.GetWindowTitle(parent.Id); + } + + // try and get the tcp port from the Win32 TcpTable API + try + { + TcpRow tcpRow = null; + dict.TryGetValue(proc.Id, out tcpRow); + if (tcpRow != null) + { + _port = tcpRow.LocalEndPoint.Port; + _instances.Add(new PowerBIInstance(parentTitle, _port, _icon)); + //Log.Debug("{class} {method} PowerBI found on port: {port}", "PowerBIHelper", "Refresh", _port); + } + else + { + //Log.Debug("{class} {method} PowerBI port not found for process: {processName} PID: {pid}", "PowerBIHelper", "Refresh", proc.ProcessName, proc.Id); + } + + } + catch (Exception ex) + { + //Log.Error("{class} {Method} {Error} {StackTrace}", "PowerBIHelper", "Refresh", ex.Message, ex.StackTrace); + } + + } + return _instances; + } + + public static bool IsAdministrator() + { + WindowsIdentity identity = WindowsIdentity.GetCurrent(); + WindowsPrincipal principal = new WindowsPrincipal(identity); + return principal.IsInRole(WindowsBuiltInRole.Administrator); + } + + + } +} diff --git a/AlmToolkit/AlmToolkit/ProcessExtensions.cs b/AlmToolkit/AlmToolkit/ProcessExtensions.cs new file mode 100644 index 0000000..8057c5d --- /dev/null +++ b/AlmToolkit/AlmToolkit/ProcessExtensions.cs @@ -0,0 +1,31 @@ +using System.Diagnostics; +using System.Linq; +using System.Management; + +namespace AlmToolkit +{ + public static class ProcessExtensions + { + public static Process GetParent(this Process process) + { + try + { + using (var query = new ManagementObjectSearcher( + "SELECT ParentProcessId " + + "FROM Win32_Process " + + "WHERE ProcessId=" + process.Id)) + { + return query + .Get() + .OfType() + .Select(p => Process.GetProcessById((int)(uint)p["ParentProcessId"])) + .FirstOrDefault(); + } + } + catch + { + return null; + } + } + } +} diff --git a/AlmToolkit/AlmToolkit/Program.cs b/AlmToolkit/AlmToolkit/Program.cs new file mode 100644 index 0000000..5ab123d --- /dev/null +++ b/AlmToolkit/AlmToolkit/Program.cs @@ -0,0 +1,80 @@ +using BismNormalizer; +using Microsoft.AnalysisServices; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace AlmToolkit +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main(string[] args) + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException); + + //If new install, see if need to migrate settings file from previous version + try + { + if (Settings.Default.UpgradeRequired) + { + Settings.Default.Upgrade(); + Settings.Default.UpgradeRequired = false; + Settings.Default.Save(); + } + } + catch { } + + try + { + // Default web requests like AAD Auth to use windows credentials for proxy auth + System.Net.WebRequest.DefaultWebProxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials; + + if (args != null && args.Length > 0) + { + if (args.Length > 1) + //User opened from Desktop with server/db name + { + string serverName = args[0]; + string databaseName = args[1]; + + ComparisonForm MainFrom = new ComparisonForm(); + MainFrom.LoadFromDesktop(serverName, databaseName); + Application.Run(MainFrom); + return; + } + else + //User opened file with the program + { + string fileName = args[0]; + //Check file exists, if not will run without args below + if (File.Exists(fileName)) + { + ComparisonForm MainFrom = new ComparisonForm(); + MainFrom.LoadFile(fileName); + Application.Run(MainFrom); + return; + } + } + } + + //Without valid args + Application.Run(new ComparisonForm()); + + } + catch (Exception exc) + { + MessageBox.Show(exc.Message, Utils.AssemblyProduct, MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + } + } +} diff --git a/AlmToolkit/AlmToolkit/Properties/AssemblyInfo.cs b/AlmToolkit/AlmToolkit/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..49deb67 --- /dev/null +++ b/AlmToolkit/AlmToolkit/Properties/AssemblyInfo.cs @@ -0,0 +1,24 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("AlmToolkit")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ALM Toolkit")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("765c0612-bb8f-4261-87ae-b5b842be3c26")] + diff --git a/AlmToolkit/AlmToolkit/Properties/Resources.Designer.cs b/AlmToolkit/AlmToolkit/Properties/Resources.Designer.cs new file mode 100644 index 0000000..c86b501 --- /dev/null +++ b/AlmToolkit/AlmToolkit/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace AlmToolkit.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AlmToolkit.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/AlmToolkit/AlmToolkit/Properties/Resources.resx b/AlmToolkit/AlmToolkit/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/AlmToolkit/AlmToolkit/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/Properties/Settings.Designer.cs b/AlmToolkit/AlmToolkit/Properties/Settings.Designer.cs new file mode 100644 index 0000000..f1248a4 --- /dev/null +++ b/AlmToolkit/AlmToolkit/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace AlmToolkit.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/AlmToolkit/AlmToolkit/Properties/Settings.settings b/AlmToolkit/AlmToolkit/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/AlmToolkit/AlmToolkit/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/AlmToolkit/AlmToolkit/ReleaseProcess.txt b/AlmToolkit/AlmToolkit/ReleaseProcess.txt new file mode 100644 index 0000000..59b5cfd --- /dev/null +++ b/AlmToolkit/AlmToolkit/ReleaseProcess.txt @@ -0,0 +1,46 @@ +* In the Solution > VersionInfo.cs file: + Increment AssemblyVersion & AssemblyFileVersion + +* In setup project properties window, increment version number + +* Set configuration to Setup + Rebuild Setup project + Set configurtaion back to Debug + + + + +* Upload the following assembies to https://portal.esrp.microsoft.com/ & get them signed + \BismNormalizer\AlmToolkit\bin\Release\AlmToolkit.exe + \BismNormalizer\BismNormalizer.CommandLine\bin\Release\BismNormalizer.exe + \BismNormalizer\BismNormalizer\bin\ReleaseObfusc\BismNormalizer.dll + - Copy signed assemblies to: + \BismNormalizer\BismNormalizer\bin\ReleaseObfusc (BismNormalizer.dll only) + \BismNormalizer\AlmToolkit\obj\Setup + \BismNormalizer\BismNormalizer.CommandLine\obj\Setup + + + + + - Change configuration to Setup + Build ALMT setup project (not Rebuild) + Change configuration back to Debug + + - NEW SECTION FOR MSI SIGNING (IGNORE VSIX)? + + - Take VSIX and AlmToolkitSetup.msi from following folder + \BismNormalizer\AlmToolkitSetup\Setup + Test installer locally + + + + + +* Get MSI from \AlmToolkit\AlmToolkit\bin\Msi + + + +============= +Note: if ever increment .NET Framework version number, need to: + 1. In Setup project properties (dialog, not properties window) > Prerequisites > Change .NET Framework version + 2. In the Solution Explorer, expand the setup project > Detected Dependencies > Microsoft .NET Framework > double click > Change .NET Framework version diff --git a/AlmToolkit/AlmToolkit/System.Windows.Forms.Ribbon.dll b/AlmToolkit/AlmToolkit/System.Windows.Forms.Ribbon.dll new file mode 100644 index 0000000000000000000000000000000000000000..88d8a7b2c908a5e4501408df0181fbf25b45e582 GIT binary patch literal 343552 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 N7X1H+|7TF({|0F{2vz_9 literal 0 HcmV?d00001 diff --git a/AlmToolkit/AlmToolkit/System.Windows.Forms.Ribbon.dll.copy-rename b/AlmToolkit/AlmToolkit/System.Windows.Forms.Ribbon.dll.copy-rename new file mode 100644 index 0000000000000000000000000000000000000000..88d8a7b2c908a5e4501408df0181fbf25b45e582 GIT binary patch literal 343552 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 N7X1H+|7TF({|0F{2vz_9 literal 0 HcmV?d00001 diff --git a/AlmToolkit/AlmToolkit/Utils.cs b/AlmToolkit/AlmToolkit/Utils.cs new file mode 100644 index 0000000..6433733 --- /dev/null +++ b/AlmToolkit/AlmToolkit/Utils.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace AlmToolkit +{ + public static class Utils + { + public static string AssemblyProduct + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false); + if (attributes.Length == 0) + { + return ""; + } + return ((AssemblyProductAttribute)attributes[0]).Product; + } + } + + public static string AssemblyTitle + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false); + if (attributes.Length > 0) + { + AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0]; + if (titleAttribute.Title != "") + { + return titleAttribute.Title; + } + } + return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase); + } + } + + public static string AssemblyVersion + { + get + { + return Assembly.GetExecutingAssembly().GetName().Version.ToString(); + } + } + + public static string AssemblyDescription + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false); + if (attributes.Length == 0) + { + return ""; + } + return ((AssemblyDescriptionAttribute)attributes[0]).Description; + } + } + + public static string LatestVersionDownloadUrl + { + get + { + return "https://github.com/microsoft/Analysis-Services/releases/latest/download/AlmToolkitSetup.msi"; + } + } + } +} diff --git a/AlmToolkit/AlmToolkit/WarningListForm.Designer.cs b/AlmToolkit/AlmToolkit/WarningListForm.Designer.cs new file mode 100644 index 0000000..d19d05b --- /dev/null +++ b/AlmToolkit/AlmToolkit/WarningListForm.Designer.cs @@ -0,0 +1,139 @@ +namespace AlmToolkit +{ + partial class WarningListForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WarningListForm)); + this.btnOK = new System.Windows.Forms.Button(); + this.validationOutput = new BismNormalizer.TabularCompare.UI.ValidationOutput(); + this.panelOk = new System.Windows.Forms.Panel(); + this.panelGrid = new System.Windows.Forms.Panel(); + this.TreeGridImageList2 = new System.Windows.Forms.ImageList(this.components); + this.panelOk.SuspendLayout(); + this.panelGrid.SuspendLayout(); + this.SuspendLayout(); + // + // btnOK + // + this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK; + this.btnOK.Location = new System.Drawing.Point(609, 12); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(75, 23); + this.btnOK.TabIndex = 20; + this.btnOK.Text = "OK"; + this.btnOK.UseVisualStyleBackColor = true; + // + // validationOutput + // + this.validationOutput.Dock = System.Windows.Forms.DockStyle.Fill; + this.validationOutput.Location = new System.Drawing.Point(0, 0); + this.validationOutput.Margin = new System.Windows.Forms.Padding(7, 7, 7, 7); + this.validationOutput.Name = "validationOutput"; + this.validationOutput.Size = new System.Drawing.Size(696, 342); + this.validationOutput.TabIndex = 22; + // + // panelOk + // + this.panelOk.Controls.Add(this.btnOK); + this.panelOk.Dock = System.Windows.Forms.DockStyle.Bottom; + this.panelOk.Location = new System.Drawing.Point(0, 342); + this.panelOk.Name = "panelOk"; + this.panelOk.Size = new System.Drawing.Size(696, 47); + this.panelOk.TabIndex = 23; + // + // panelGrid + // + this.panelGrid.Controls.Add(this.validationOutput); + this.panelGrid.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelGrid.Location = new System.Drawing.Point(0, 0); + this.panelGrid.Name = "panelGrid"; + this.panelGrid.Size = new System.Drawing.Size(696, 342); + this.panelGrid.TabIndex = 24; + // + // TreeGridImageList2 + // + this.TreeGridImageList2.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("TreeGridImageList2.ImageStream"))); + this.TreeGridImageList2.TransparentColor = System.Drawing.Color.Transparent; + this.TreeGridImageList2.Images.SetKeyName(0, "Connection.png"); + this.TreeGridImageList2.Images.SetKeyName(1, "Table.png"); + this.TreeGridImageList2.Images.SetKeyName(2, "Relationship.png"); + this.TreeGridImageList2.Images.SetKeyName(3, "BismMeasure.png"); + this.TreeGridImageList2.Images.SetKeyName(4, "KPI.png"); + this.TreeGridImageList2.Images.SetKeyName(5, "DeleteAction.png"); + this.TreeGridImageList2.Images.SetKeyName(6, "UpdateAction.png"); + this.TreeGridImageList2.Images.SetKeyName(7, "CreateAction.png"); + this.TreeGridImageList2.Images.SetKeyName(8, "SkipAction.png"); + this.TreeGridImageList2.Images.SetKeyName(9, "Plus.png"); + this.TreeGridImageList2.Images.SetKeyName(10, "Minus.png"); + this.TreeGridImageList2.Images.SetKeyName(11, "Informational.png"); + this.TreeGridImageList2.Images.SetKeyName(12, "Warning.png"); + this.TreeGridImageList2.Images.SetKeyName(13, "WarningToolWindow.png"); + this.TreeGridImageList2.Images.SetKeyName(14, "Role.png"); + this.TreeGridImageList2.Images.SetKeyName(15, "Perspective.png"); + this.TreeGridImageList2.Images.SetKeyName(16, "Action.png"); + this.TreeGridImageList2.Images.SetKeyName(17, "CompareBismModels_Small.png"); + this.TreeGridImageList2.Images.SetKeyName(18, "DeleteActionGrey.png"); + this.TreeGridImageList2.Images.SetKeyName(19, "SkipActionGrey.png"); + this.TreeGridImageList2.Images.SetKeyName(20, "CreateActionGrey.png"); + this.TreeGridImageList2.Images.SetKeyName(21, "Culture.png"); + this.TreeGridImageList2.Images.SetKeyName(22, "Expression.png"); + this.TreeGridImageList2.Images.SetKeyName(23, "CalculationGroup.png"); + this.TreeGridImageList2.Images.SetKeyName(24, "CalculationItem.png"); + this.TreeGridImageList2.Images.SetKeyName(25, "Model.png"); + this.TreeGridImageList2.Images.SetKeyName(26, "RefreshPolicy.png"); + // + // WarningListForm + // + this.AcceptButton = this.btnOK; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.btnOK; + this.ClientSize = new System.Drawing.Size(696, 389); + this.Controls.Add(this.panelGrid); + this.Controls.Add(this.panelOk); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.Name = "WarningListForm"; + this.Text = "Warning List"; + this.Load += new System.EventHandler(this.WarningListForm_Load); + this.Shown += new System.EventHandler(this.WarningListForm_Shown); + this.panelOk.ResumeLayout(false); + this.panelGrid.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.Button btnOK; + private BismNormalizer.TabularCompare.UI.ValidationOutput validationOutput; + private System.Windows.Forms.Panel panelOk; + private System.Windows.Forms.Panel panelGrid; + public System.Windows.Forms.ImageList TreeGridImageList2; + } +} \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/WarningListForm.cs b/AlmToolkit/AlmToolkit/WarningListForm.cs new file mode 100644 index 0000000..3b03faa --- /dev/null +++ b/AlmToolkit/AlmToolkit/WarningListForm.cs @@ -0,0 +1,68 @@ +using BismNormalizer.TabularCompare; +using BismNormalizer.TabularCompare.Core; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace AlmToolkit +{ + public partial class WarningListForm : Form + { + public WarningListForm() + { + InitializeComponent(); + } + + private Comparison _comparison; + private ImageList _treeGridImageList; + + public Comparison Comparison + { + get { return _comparison; } + set { _comparison = value; } + } + + public ImageList TreeGridImageList + { + get { return _treeGridImageList; } + set { _treeGridImageList = value; } + } + + + private void WarningListForm_Load(object sender, EventArgs e) + { + _treeGridImageList = this.TreeGridImageList2; + validationOutput.ClearMessages(0); + validationOutput.SetImageList(_treeGridImageList); + _comparison.ValidationMessage += HandleValidationMessage; + _comparison.ResizeValidationHeaders += HandleResizeValidationHeaders; + } + + private void WarningListForm_Shown(object sender, EventArgs e) + { + _comparison.ValidateSelection(); + } + + public void HandleValidationMessage(object sender, ValidationMessageEventArgs e) + { + validationOutput.ShowStatusMessage( + 0, + "ALM Toolkit Comparison", + e.Message, + e.ValidationMessageType, + e.ValidationMessageStatus); + } + + public void HandleResizeValidationHeaders(object sender, EventArgs e) + { + validationOutput.ResizeValidationHeaders(); + } + + } +} diff --git a/AlmToolkit/AlmToolkit/WarningListForm.resx b/AlmToolkit/AlmToolkit/WarningListForm.resx new file mode 100644 index 0000000..cb672c7 --- /dev/null +++ b/AlmToolkit/AlmToolkit/WarningListForm.resx @@ -0,0 +1,538 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACI + XwAAAk1TRnQBSQFMAgEBGwEAAZQBAgGUAQIBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABcAMAAQEBAAEgBgABcBIAA8IBzwP2Af8D9gH/A4EBj4AAA/YB/wPgAewDawF4AwoBDAMKAQwDawF4 + A+AB7AP1Af9QAAP2Af8DQQH/A0EB/wO+Af8DkAGfA2MBcAOBAY8DKAEwA2MBcAOQAZ8DVAFgOAAD9gH/ + A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/EAAD9gH/A14B/wO4Af8D4AHsA+AB7AO4Af8DXgH/A+sB/1AA + A7EBvwP2Af8DpwH/A0wB/wP2Af8DyQH/A0EB/wPrAf8D1AH/A5EB/wPUAf8DcgGANAAD9gH/A0EB/wNB + Af8DQQH/A0EB/wNBAf8D9gH/EAAD9gH/A0EB/wFaAlkB/wNeAf8DXgH/A14B/wNBAf8D6wH/VAADKAEw + A9QB/wNBAf8DvgH/A8kB/wOcAf8DQQH/A24B/wNBAf8DnAH/A/YB/xgAA/YB/wP2Af8D9gH/A/YB/wP2 + Af8D9gH/A/YB/wP2Af8DQQH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/A0EB/wP2Af8QAAP2Af8DQQH/ + AeUB4wHkAf8DtQH/A7UB/wHwAe4B7wH/A0EB/wPrAf9YAAPkAe8DTAH/A5EB/wPRAd8DoQGvA74B/wNB + Af8DswH/A+QB7wNyAYAYAAP2Af8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wHxAe8B8AH/ + AfEB7wHwAf8B8QHvAfAB/wNBAf8D9gH/EAAD9gH/A0EB/wHmAeQB5QH/AfEB7wHwAf8B8QHvAfAB/wHx + Ae8B8AH/A0EB/wPrAf9UAAMoATAD5AHvA3kB/wNjAf8D9gH/A/YB/wOzAf8DQQH/A6cB/wP2Af8DwgHP + GAAD9gH/A0EB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A/YB/xAA + A/YB/wNBAf8B5gHkAeUB/wHwAe4B7wH/AfAB7gHvAf8B8QHvAfAB/wNBAf8D6wH/VAADDQEQA/YB/wNB + Af8DQQH/A0EB/wOGAf8DTAH/A24B/wOGAf8DQQH/A/YB/wMNARAUAAP2Af8DQQH/A/YB/xAAA/YB/wNB + Af8DQQH/A0EB/wNBAf8DQQH/A/YB/xAAA/YB/wNBAf8DagH/A0YB/wNGAf8DbwH/A0EB/wPrAf9YAAPC + Ac8D4AH/A0wB/wOzAf8D1AH/A/YB/wPJAf8DpwH/A9QB/wPJAf8DwgHPFAAD9gH/A0EB/wP2Af8QAAP2 + Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8MAAONAZwDtQH/A0sB/wGpAagBqQH/Ad8B3QHeAf8B3wHd + Ad4B/wGpAagBqQH/A0sB/wO0Af8DjQGcWAADgQGPA7MB/wNBAf8DQQH/A9QB/wNBAf8BjwKOAf8BjwKO + Af8DVwH/A7MB/wOQAZ8IAAP2Af8D9gH/A/YB/wNBAf8D9gH/A/YB/wP2Af8IAAP2Af8D9gH/A/YB/wP2 + Af8D9gH/A/YB/wP2Af8IAAMdASMD5QH+A0sB/wHLAckBygH/AZgClwH/A0gB/wNIAf8BmAKXAf8BywHJ + AcoB/wNLAf8D5QH+Ax0BI1gAA4EBjwP2Af8D4AH/A5AB/wGkAaMBpAH/AdsB2QHaAf8B2wHZAdoB/wGk + AaMBpAH/A0EB/wPUAf8DYwFwBAAD9gH/A0EB/wNBAf8DQQH/A0EB/wNBAf8D9gH/CAAD9gH/A0EB/wNB + Af8DQQH/A0EB/wNBAf8D9gH/CAADXgFrA64B/wN0Af8BuwG6AbsB/wNTAf8BzwHOAc8B/wHPAc4BzwH/ + A1MB/wG7AboBuwH/A3QB/wOuAf8DXgFrWAADRQFQA+sB/wNBAf8B0ALPAf8DQQH/AfEB7wHwAf8B8QHv + AfAB/wNBAf8B0ALPAf8DQQH/A+sB/wNFAVAD9gH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wNB + Af8D9gH/A/YB/wP2Af8D9gH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wNBAf8D9gH/CAADcwGB + A5sB/wOPAf8BmAGXAZgB/wGJAogB/wHxAe8B8AH/AfEB7wHwAf8BiQKIAf8BmAKXAf8DjwH/A5oB/wN0 + AYJYAAPkAe8DYwH/AdACzwH/AcUBxAHFAf8BugG5AboB/wHxAe8B8AH/AfEB7wHwAf8BugG5AboB/wHF + AcQBxQH/AdACzwH/A0EB/wPkAe8D9gH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wNBAf8DQQH/ + A0EB/wNBAf8DQQH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wNBAf8D9gH/CAADXgFrA64B/wN0 + Af8BuwG6AbsB/wNTAf8BzwHOAc8B/wHPAc4BzwH/A1MB/wG7AboBuwH/A3QB/wOuAf8DXgFrWAAD9gH/ + A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wP2Af8D9gH/A0EB/wNBAf8DQQH/ + A0EB/wNBAf8D9gH/A/YB/wP2Af8D9gH/A0EB/wNBAf8DQQH/A0EB/wNBAf8D9gH/CAADIAEmA+YB/wNJ + Af8BywHJAcoB/wGYApcB/wNIAf8DSAH/AZgClwH/AcsByQHKAf8DSQH/A+YB/wMgASZYAAP2Af8DTAH/ + Aa8BrgGvAf8B0ALPAf8BpAGjAaQB/wHxAe8B8AH/AfEB7wHwAf8BpAGjAaQB/wHQAs8B/wGvAa4BrwH/ + A0wB/wP2Af8D9gH/A0EB/wNBAf8DQQH/A0EB/wNBAf8D9gH/CAAD9gH/A0EB/wNBAf8DQQH/A0EB/wNB + Af8D9gH/DAADkgGgA7IB/wNMAf8BqQGoAakB/wHgAd4B3wH/AeAB3gHfAf8BqQGoAakB/wNMAf8DsgH/ + A5IBoFwAA5ABnwPUAf8DTAH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0wB/wPUAf8DkAGfA/YB/wP2 + Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wgAA/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wwAAwkBCwOx + Ab8DxgH/A2wB/wNFAf8DRQH/A2wB/wPGAf8DsQG/AwkBC2AAA5ABnwP2Af8D9gH/A/YB/wP2Af8D9gH/ + A/YB/wP2Af8D9gH/A5ABn1QAAwQBBQNeAWsDwgHPA/AB+gPwAfoDwgHPA14BawMEAQX/ABEAA8IBzwP2 + Af8D9gH/A4EBj0gAA58B/wOfAf8DnwH/A58B/2QAA1sBuwOAAf8sAAP2Af8DQQH/A2MB/wO+Af8DkAGf + A2MBcAOBAY8DKAEwA2MBcAOQAZ8DVAFgLAADnwH/A58B/wOfAf8DnwH/MAADBwEKA1YBwQMuAUcQAAM0 + AVQDVgG7AzoBYRAAAwcBCQNOAZkoAAOxAb8D9gH/A6cB/wNMAf8D9gH/A8kB/wORAf8D6wH/A9QB/wOR + Af8D1AH/A/YB/wP2Af8D9gH/A/YB/wP2Af8YAAOhAf8DnwH/A58B/wOhAf83AAH/A1MBrRAAA1gBwAMP + AfwDPQFpFAADgAH/CAADgAH/AxMBGgQAA0cBgANDAXcQAAP2Af8DvgH/A0EB/wO+Af8DyQH/A5wB/wN5 + Af8DbgH/A1gB/wOcAf8DyQH/A0EB/wNBAf8DQQH/A/YB/xgAA6EB/wOfAf8DnwH/A58B/xgAAxIBGQMq + AUEUAANMAZEDAAH/DAADBAEFAwAB/wNHAYIDBgEIFAADaAHeAxMBGgQAA0MBdwNAAW8EAANzAfMEAAMq + AUAMAAP2Af8DswH/A0wB/wORAf8B9ALzAf8DeQH/A74B/wNBAf8DswH/A6cB/wHyAfAB8QH/AfEB7wHw + Af8B8QHvAfAB/wNBAf8D9gH/GAADoQH/A58B/wOfAf8DnwH/GAADOQFgAwAB/wNLAY4QAAMjATQDAAH/ + A1kBxANZAdIDWwHQA1oBygMAAf8DGgElGAADVQGqA1UBqgwAA2IBzANvAeYUAAP2Af8DyQH/A3kB/wNj + Af8D9QH/A7MB/wOzAf8DQQH/A6cB/wPJAf8B8wLyAf8B8QHvAfAB/wHxAe8B8AH/A0EB/wP2Af8EAAOh + Af8DnwH/A58B/wOfAf8DnwH/A6EB/wOfAf8DnwH/A58B/wOfAf8DoQH/A58B/wOfAf8DnwH/CAADPAFn + AwAB/wM/AW8IAANZAckDKgFAA1kBxAMAAf8DVwHFA1cBxQMAAf8DWQHXHAADOgFiA4AB/wwAAzUBVQNO + AZkUAAP2Af8DyQH/A1gB/wNBAf8DkQH/A4YB/wNMAf8DbgH/A4YB/wNBAf8DyQH/A0EB/wNBAf8DQQH/ + A/YB/wQAA58B/wOhAf8DnwH/A58B/wOhAf8DoQH/A6EB/wOfAf8DoQH/A6EB/wOhAf8DnwH/A6EB/wOf + Af8MAANJAYkDAAH/BAADOAFcAwAB/wMKAQ4DRAF5AwAB/wsAAf8DSgGNHAADEwEaA4AB/wwAA4AB/wNS + AaIUAAP2Af8DhgH/A98B/wNMAf8DswH/A9QB/wP2Af8D9AH/AfQC8wH/A8kB/wHzAvIB/wHxAe8B8AH/ + AfEB7wHwAf8DQQH/A/YB/wQAA58B/wOfAf8DoQH/A58B/wOhAf8DnwH/A6EB/wOfAf8DnwH/A58B/wOf + Af8DnwH/A6EB/wOfAf8QAANMAe8DWQHJAyEB+gNIAYgEAAMfASwDAAH/Ax4BKwMdASoDAAH/Ax0BKSAA + A4AB/wMmATgEAANNAZEDgAH/BAADTgGZA28B6gwAA/YB/wNBAf8B8gHwAfEB/wOyAf8DWAH/A1gB/wPU + Af8B8QHvAfAB/wHxAe8B8AH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wNBAf8D9gH/BAADnwH/ + A6EB/wOfAf8DoQH/A58B/wOhAf8DoQH/A58B/wOhAf8DnwH/A58B/wOhAf8DnwH/A58B/xAAAzEBTgMA + Af8DWgHVDAADIQH6A0oBiwNKAYoDMQH4JAADcgHuA0MBdyQAA/YB/wNBAf8DQQH/A2MB/wO+Af8DyQH/ + A4YB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8D9gH/GAADnwH/A58B/wOfAf8DnwH/GAADJQE3 + A0IBdAM4AV0DOwFlAwAB/wNTAbADKAE9A0IBdgMOARMDQgF1AwAB/wMAAf8DSAGGIAADPgFrA28B5gNp + Ad0DRwGAIAAD9gH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wNBAf8B8QHvAfAB/wHxAe8B8AH/ + AfEB7wHwAf8DQQH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/A0EB/wP2Af8YAAOfAf8DnwH/A6EB/wOh + Af8YAANKAYwDAAH/AwAB/wMAAf4DAAH+Aw8B/AMAAf8DAAH/A1YBuwMMARADAAH/AwAB/wMdASooAAN3 + AfckAAP2Af8DQQH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/A0EB/wHxAe8B8AH/AfEB7wHwAf8B8QHv + AfAB/wNBAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8DQQH/A/YB/xgAA6EB/wOfAf8DnwH/A6EB/xgA + AwQBBQMJAQwDAAEBAwoBDQMAAf8DOwFkBAADBQEHAw8BFAMEBAYBCAMHAQksAANyAe4kAAP2Af8DQQH/ + A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A/YB/xgAA6EB/wOh + Af8DoQH/A58B/yQAAwIBAwMAAf8DNwFbRAADPAFmAxgBIgNiAcwcAAP2Af8DQQH/A0EB/wNBAf8DQQH/ + A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A/YB/xgAA58B/wOfAf8DnwH/A6EB/3gA + AzUBVQM+AWscAAP2Af8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNB + Af8DQQH/A/YB/yAAAwEBAqAAA/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2 + Af8D9gH/A/YB/wP2Af8D9gH//wABAAH+AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+AfMB8gH/Af4B8wHy + Af8B/gHzAfIB/wH+AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+ + AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+AfMB8gH/BAADJwH/AycB/wMnAf8DJwH/AycB/wMnAf8DJwH/ + AycB/xAAAcABlQFGAf8BwAGVAUYB/4QAAf4B8wHyAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/ + AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wH+AfMB8gH/BAADJwH/A/gB/wP4Af8D+AH/A/gB/wP4 + Af8D+AH/AycB/wwAAcABlQFGAf8BoQE5AQAB/wHAAZUBRgH/DAADwAH/A5IB/wPqAf8gAANfAegDwAH/ + FAAD/gH/A/EB/wPHAf8DjwH/A4AB/wOiAf8D7AH/FAAB/gHzAfIB/wMaAf8B+QLqAf8B+QLqAf8B+QLq + Af8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/ + Af4B8wHyAf8EAAMnAf8D+AH/A/gB/wP4Af8D+AH/A/oB/wP8Af8D0AH/CAABwAGVAUYB/wGhATkBAAH/ + AcABlQFGAf8QAAOSAf8DkgH/A5IB/wNfAegYAAPrAf8DsAH/Aw0BERAAA/0B/wPWAf8DlQH/A5UB/wOd + Af8DlgH/A4kB/wNQAf8D1QH/EAAB/gHzAfIB/wMaAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLq + Af8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/Af4B8wHyAf8EAAMn + Af8D+AH/A/gB/wP4Af8D/AH/AcYBnwFWAf8BoQE5AQAB/wGhATkBAAH/AaEBOQEAAf8BswFZARIB/wGh + ATkBAAH/AcABlQFGAf8UAAPrAf8DkAH/A5IB/wOSAf8DUgGpDAADEAEWA98B/wOdAf8DMQFNFAAD1wH/ + A6IB/wOiAf8DogH/A50B/wOcAf8DnAH/A5wB/wNaAf8D0gH/DAAB/gHzAfIB/wMaAf8B+QLqAf8B+QLq + Af8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLq + Af8DGgH/Af4B8wHyAf8EAAMnAf8D+AH/A/gB/wP6Af8BxgGfAVYB/wG3AWEBIQH/AfIB8AHrAf8D+AH/ + AfIB8AHrAf8BtwFhASEB/wGzAVkBEgH/HAADXQHKA5IB/wOQAf8DoAH/AzEBTQQAAw0BEQPAAf8DkgH/ + A1IBqRQAA/QB/wOuAf8DrgH/A7AB/wOwAf8DrgH/A6gB/wOiAf8DnAH/A5wB/wNQAf8D7AH/CAAB/gHz + AfIB/wMaAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLq + Af8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/Af4B8wHyAf8EAAMnAf8D+AH/A/gB/wP8Af8BoQE5AQAB/wHy + AfAB6wH/A/gB/wP4Af8D+AH/AfIB8AHrAf8BoQE5AQAB/wPEAf8DJwH/AycB/xQAA1YBqwOQAf8DkgH/ + A50B/wM+AWsDwAH/A5AB/wNfAegDAwEEFAAD3QH/A7wB/wPCAf8DxgH/A8cB/wPBAf8DvAH/A64B/wOi + Af8DnAH/A4kB/wOiAf8IAAH+AfMB8gH/AxoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5 + AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wMaAf8B/gHzAfIB/wQAAycB/wP4 + Af8D+AH/A/0B/wGhATkBAAH/A/gB/wP4Af8D+AH/A/gB/wP4Af8BoQE5AQAB/wP9Af8D+AH/AycB/xgA + Az4BawOdAf8DkgH/A5AB/wOSAf8D6wH/AwMEBAEFFAAD1gH/A8IB/wP+Af8D/gH/A/4B/wP9Af8D/AH/ + A/wB/wP8Af8D+gH/A48B/wOAAf8IAAH+AfMB8gH/AxoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5 + AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wMaAf8B/gHzAfIB/wQA + AycB/wP4Af8D+AH/A/wB/wGhATkBAAH/AfIB8AHrAf8D+AH/A/gB/wP4Af8B8gHwAesB/wGhATkBAAH/ + A/wB/wP4Af8DJwH/HAADXAHJA5IB/wOQAf8DnQH/Aw0BERwAA9YB/wPPDf8D/gH/A/4B/wP9Af8D/AH/ + A/sB/wOPAf8DjgH/CAAB/gHzAfIB/wMaAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLq + Af8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/Af4B8wHyAf8EAAMnAf8DJwH/ + AycB/wNhAf8BxgGfAVYB/wG5AYgBNAH/AfIB8AHrAf8D+AH/AfIB8AHrAf8BuQGIATQB/wHGAZ8BVgH/ + A/oB/wP4Af8DJwH/GAADUgGpA5IB/wOSAf8DkAH/A5IB/wNcAckQAAMLAQ8IAAPpAf8D2QH/A+wB/wPw + Af8D8AH/A+wB/wPhAf8D1wH/A8AB/wOoAf8DjwH/A8YB/wgAAf4B8wHyAf8DGgH/AfkC6gH/AfkC6gH/ + AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/ + AxoB/wH+AfMB8gH/GAABxgGfAVYB/wGhATkBAAH/AaEBOQEAAf8BoQE5AQAB/wHGAZ8BVgH/A/wB/wP4 + Af8D+AH/AycB/xQAA1wByQOSAf8DkAH/A50B/wM+AWsDwAH/A5IB/wNKAYwYAAP3Af8D2QH/A+wB/wPx + Af8D8AH/A+wB/wPgAf8D1gH/A8AB/wOoAf8DnAH/A/AB/wgAAf4B8wHyAf8DGgH/AfkC6gH/AfkC6gH/ + AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/ + AxoB/wH+AfMB8gH/HAADxAH/A/0B/wP8Af8D+gH/A/gB/wP4Af8D+AH/AycB/xAAA+oB/wOSAf8DkAH/ + A5AB/wNSAakEAAMNARED4AH/A6AB/wMxAU0UAAP+Af8D7AH/A+AB/wPxAf8D8QH/A+oB/wPiAf8D0gH/ + A8EB/wOoAf8D1wH/A/4B/wgAAf4B8wHyAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMa + Af8DGgH/AxoB/wMaAf8DGgH/AxoB/wH+AfMB8gH/HAADJwH/A/gB/wP4Af8D+AH/A/gB/wMnAf8DJwH/ + A4oB/xAAA5IB/wOSAf8DkAH/A18B6BAAA+oB/wOwAf8DDQERFAAD/QH/A+wB/wPdAf8D4wH/A+YB/wPc + Af8DywH/A7sB/wPWAf8D/QH/DAAB/gHzAfIB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/ + AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/Af4B8wHyAf8cAAMnAf8D+AH/A/gB/wP4Af8D+AH/AycB/wOK + Af8UAAPAAf8DkgH/A+oB/xgAA18B6APAAf8YAAP9Af8D9wH/A+kB/wPcAf8D1QH/A+IB/wPvAf8D/gH/ + EAAB/gHzAfIB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMa + Af8DGgH/Af4B8wHyAf8cAAMnAf8DJwH/AycB/wMnAf8DJwH/A4oB/xMAAQF4AAH+AfMB8gH/Af4B8wHy + Af8B/gHzAfIB/wH+AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+ + AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+AfMB8gH/Af4B8wHyAf8B/gHzAfIB/wH+AfMB8gH//wABAAH/ + AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAP/ + AQAC/wMrAUIDKwFCAzMBUgM3AVoDNwFbA0oBiQNLAY4DSgGNAz0BZwM3AVsDNwFbAzQBVAMnAToDEQEX + CAADKwFCAysBQgMrAUIDMgFQAzcBWgNIAYMDSwGOA0oBjQNEAXoDNwFbAzcBWxQAASIBuQHTAf8BAAGM + AakB/wEAAYwBqQH/AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/ + AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/ASIBuQHTAf8BAAG5 + AdMB/wEAAYwBqQH/AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/ + AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/AQABjAGpAf8BAAGMAakB/wEAAYwBqQH/AQABjAGpAf8BAAG5 + AdMB/wMrAUIDGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/A0ABcQMaAf8DGgH/AzEB/wNcAeoDVgG0 + Az4BawQAAy4BSAMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wM3AVsUAAERAbQB0QH/ + AQAByQHpAf8BAAHGAfEB/wEAAcIB8AH/AQABwQHwAf8BAAHAAfAB/wEAAcEB8AH/AQABwQHwAf8BAAHB + AfAB/wEAAcEB8AH/AQABwgHwAf8BAAHDAfAB/wEAAcMB8AH/AQABxAHxAf8BAAHDAeQB/wERAbQB0QH/ + AQABtAHRAf8BAAHJAekB/wEAAcYB8QH/AQABwgHwAf8BAAHBAfAB/wEAAcAB8AH/AQABwQHwAf8BAAHB + AfAB/wEAAcEB8AH/AQABwQHwAf8BAAHCAfAB/wEAAcMB8AH/AQABwwHwAf8BAAHEAfEB/wEAAcMB5AH/ + AQABtAHRAf8DKwFCAxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wNIAYMDGgH/AxoB/wMaAf8DGgH/ + AxoB/wNKAY0DPwFtAzUBVQMiAf8B+QLqAf8B+QLqAf8B+QLqAf8DIgH/AfkC6gH/AfkC6gH/AfkC6gH/ + AyIB/wM3AVsDNwFbAzcBWwwAAUsByAHcAf8BAAGuAc8B/wEAAc0B8gH/AQAByAHxAf8BAAHFAfEB/wEA + AcQB8QH/AQABwwHwAf8DAAH/AwAB/wEAAcYB8QH/AQAByAHxAf8BAAHKAfIB/wEAAcoB8gH/AQABzAHx + Af8BAAGrAc0B/wFLAcgB3AL/AQAC/wEAAa4BzwH/AQABzQHyAf8BAAHIAfEB/wEAAcUB8QH/AQABxAHx + Af8BAAHDAfAB/wMAAf8DAAH/AQABxgHxAf8BAAHIAfEB/wEAAcoB8gH/AQABygHyAf8BAAHMAfEB/wEA + AasBzQL/AQAC/wMrAUIDGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/A0wBkwMaAf8DGgH/AxoB/wMa + Af8DGgH/AxoB/wM3AVsDNgFYAyIB/wH5AuoB/wH5AuoB/wH5AuoB/wMiAf8B+QLqAf8B+QLqAf8B+QLq + Af8DIgH/AzcBWwMiAf8DQAFuDAAB4gHuAfIB/wERAbQB0QH/AQEBxgHkAf8BAQHRAfMB/wEAAc0B8gH/ + AQABywHyAf8BAAHKAfIB/wMAAf8DAAH/AQABzQHzAf8BAQHRAfMB/wECAdIB9AH/AQMB0wH0Af8BAAHF + AeMB/wERAbQB0QH/AeIB7gHyAv8BAAL/AQABtAHRAf8BAAHGAeQB/wEAAdEB8wH/AQABzQHyAf8BAAHL + AfIB/wEAAcoB8gH/AwAB/wMAAf8BAAHNAfMB/wEAAdEB8wH/AQAB0gH0Af8BAAHTAfQB/wEAAcUB4wH/ + AQABtAHRAv8BAAL/AzUBVQMaAf8DGgH/AxoB/wNiAekDGgH/AxoB/wMaAf8DUQGcAxoB/wMaAf8DGgH/ + AxoB/wMaAf8DGgH/AzcBWwMyAVADIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DNwFb + AyIB/wNKAYoQAAGAAc0B3wH/AQABrAHNAf8BDwHbAfQB/wELAdkB9QH/AQgB1wH1Af8BBwHWAfQB/wEH + AdYB9AH/AQkB1wH1Af8BCwHZAfUB/wELAdkB9QH/AQ0B2wH1Af8BDgHaAfMB/wEAAaoBywH/AYABzQHf + Af8EAAH/AQAD/wEAAv8BAAGsAc0B/wEAAdsB9AH/AQAB2QH1Af8BAAHXAfUB/wEAAdYB9AH/AQAB1gH0 + Af8BAAHXAfUB/wEAAdkB9QH/AQAB2QH1Af8BAAHbAfUB/wEAAdoB8wH/AQABqgHLAv8BAAP/AQAC/wM2 + AVgDGgH/AxoB/wNdAdMDVAGmA10B0wMaAf8DGgH/A1oBvQMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wM3 + AVsDMQFOAzcBWgNAAW4DSgGNA1IBpANcAeoDYgHvA2IB7wNdAe0DXAHMA0gBhQMiAf8DSAGFAzcBWwM3 + AVsDNwFbBAAB6gHyAfUB/wERAbQB0QH/AQYBxgHfAf8BGgHmAfgB/wEZAeQB9wH/ARgB4wH3Af8BAAFD + AUwB/wEAAUMBTAH/ARYB4gH3Af8BFgHiAfcB/wEXAeMB9wH/AQUBxwHgAf8BEQG0AdEB/wHqAfIB9QH/ + BAAB/wEAA/8BAAL/AQABtAHRAf8BAAHGAd8B/wEAAeYB+AH/AQAB5AH3Af8BAAHjAfcB/wEAARQBHQH/ + AQABFAEdAf8BAAHiAfcB/wEAAeIB9wH/AQAB4wH3Af8BAAHHAeAB/wEAAbQB0QL/AQAD/wEAAv8DLgFH + AzMBUgM9AWcDRgF/A04BlQNSAaMBXAJaAfUBeAJ2AfoBeAJ2AfoDGgH/AxoB/wMaAf8DGgH/AxoB/wMa + Af8DNwFbAwABAQM5AV8DIgH/A04BlANSAacDIgH/AYECfQH6AYUCgwH5AyIB/wF/AX0BegH3A1sByAMi + Af8DSAGFAyIB/wMiAf8DNwFbCAABjgHTAeMB/wEAAaoBywH/ASIB6gH2Af8BJgHwAfoB/wEkAe4B+QH/ + AwAB/wMAAf8BIAHqAfkB/wEgAeoB+QH/ARsB5QH1Af8BAAGqAcsB/wGOAdMB4wH/CAAB/wEAA/8BAAP/ + AQAC/wEAAaoBywH/AQAB6gH2Af8BAAHwAfoB/wEAAe4B+QH/AwAB/wMAAf8BAAHqAfkB/wEAAeoB+QH/ + AQAB5QH1Af8BAAGqAcsC/wEAA/8BAAP/AQAC/wQAAyABLwNMAZIDJQH/AxoB/wMlAf8BbgFsAWsB+gM8 + Af8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AzgBXgQAAzkBXwMiAf8DIgH/AyIB/wMiAf8DIgH/ + AyIB/wMiAf8DIgH/AyIB/wMiAf8DSAGFA04BlQMiAf8DNwFbCAAB7wH0AfYB/wERAbQB0QH/AQQBwgHb + Af8BKgHzAfsB/wEpAfEB+gH/AwAB/wMAAf8BJQHvAfoB/wElAe8B+gH/AQYBxgHfAf8BEQG0AdEB/wHv + AfQB9gH/CAAB/wEAA/8BAAP/AQAC/wEAAbQB0QH/AQABwgHbAf8BAAHzAfsB/wEAAfEB+gH/AwAB/wMA + Af8BAAHvAfoB/wEAAe8B+gH/AQABxgHfAf8BAAG0AdEC/wEAA/8BAAP/AQAC/wQAAzgBXAMlAf8DGgH/ + AxoB/wMaAf8DJQH/A18B6AMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DSgGLBAADOQFfAyIB/wH5 + AuoB/wH5AuoB/wMiAf8B+QLqAf8B+QLqAf8DIgH/AfkC6gH/AfkC6gH/AyIB/wNeAdkDIgH/AyIB/wM3 + AVsMAAGcAdcB5QH/AQABqQHLAf8BJAHqAfQB/wEsAfQB+wH/AwAB/wMAAf8BKgHyAfoB/wEjAeoB9gH/ + AQABqQHLAf8BnAHXAeUB/wwAAf8BAAP/AQAD/wEAA/8BAAL/AQABqQHLAf8BAAHqAfQB/wEAAfQB+wH/ + AwAB/wMAAf8BAAHyAfoB/wEAAeoB9gH/AQABqQHLAv8BAAP/AQAD/wEAA/8BAAL/BAADOAFcAxoB/wMa + Af8DGgH/AxoB/wMaAf8DVAGvAxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wNEAXsEAAM5AV8DIgH/ + AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/A2IB6QNiAekDIgH/A0gBhhAAAREBtAHR + Af8BAQG/AdkB/wE2AfYB+wH/AwAB/wMAAf8BLQH1AfsB/wEIAcYB3QH/AREBtAHRAf8B9QH2AfcB/wwA + Af8BAAP/AQAD/wEAA/8BAAL/AQABtAHRAf8BAAG/AdkB/wEHAfYB+wH/AwAB/wMAAf8BAAH1AfsB/wEA + AcYB3QH/AQABtAHRAv8BAAP/AQAD/wEAA/8BAAL/BAADOAFcAyUB/wMaAf8DGgH/AxoB/wMlAf8DVgGr + A14B0ANcAeoDXAHqA1wB6gNcAeoDJQH/AxoB/wM3AVsEAAM5AV8DIgH/AyIB/wMiAf8DIgH/AyIB/wMi + Af8DIgH/AyIB/wMiAf8DIgH/A2EB3AMiAf8DIgH/Az0BZxAAAasB3QHpAf8BAAGpAcoB/wEjAegB8wH/ + AS0B9QH7Af8BLQH1AfsB/wEmAe0B9gH/AQABqQHLAf8BqwHdAekB/xAAAf8BAAP/AQAD/wEAA/8BAAP/ + AQAC/wEAAakBygH/AQAB6AHzAf8BAAH1AfsB/wEAAfUB+wH/AQAB7QH2Af8BAAGpAcsC/wEAA/8BAAP/ + AQAD/wEAA/8BAAL/BAADIAEvA0wBkgMlAf8DGgH/AyUB/wNUAa8DVgGrA1UBrQNfAegDXAHqA1wB6gNc + AeoDXAHqAxoB/wM3AVsEAANDAXgDIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/ + A04BlQNdAdMDIgH/AzcBWxQAARIBtAHRAf8BAAG7AdYB/wEtAfUB+wH/AS0B9QH7Af8BBwHGAd0B/wES + AbQB0QH/FAAB/wEAA/8BAAP/AQAD/wEAA/8BAAL/AQABtAHRAf8BAAG7AdYB/wEAAfUB+wH/AQAB9QH7 + Af8BAAHGAd0B/wEAAbQB0QL/AQAD/wEAA/8BAAP/AQAD/wEAAv8IAANLAY4DTAGSA1cBugNWAasDVgGr + A1YBqwNWAasDYQHkA1wB6gNcAeoDXAHqA1wB6gMaAf8DNwFbBAADSQGHAz4BawM3AVsDNwFbAzcBWwM6 + AWIDUAGeA1IBowNSAaMDUgGjA1IBowNOAZUDIgH/AyIB/wM3AVsUAAG7AeIB7QH/AQABqAHKAf8BIAHl + AfEB/wEmAewB9QH/AQABqQHLAf8BuwHiAe0B/xQAAf8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv8BAAGo + AcoB/wEAAeUB8QH/AQAB7AH1Af8BAAGpAcsC/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC/wgAAz4BawNK + AYwDJQH/A1YBsQNYAbkDVgGrA1YBqwNhAeEDXAHqA1wB6gNcAeoDJQH/A0oBjAMuAUgQAAM3AVsDIgH/ + AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AzYBWRgAARIBtAHRAf8BAAG5AdUB/wEH + AcYB3QH/ARIBtAHRAf8YAAH/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL/AQABtAHRAf8BAAG5AdUB/wEA + AcYB3QH/AQABtAHRAv8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv8MAAM9AWgDVgG0A1wB6gMxAf8DGgH/ + AxoB/wMaAf8DGgH/AzEB/wNcAeoDVwG6Az4BaxQAAzcBWwMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMi + Af8DIgH/AyIB/wMiAf8DNAFUGAAByQHpAfEB/wECAa8BzgH/AQIBrwHOAf8ByQHpAfEB/xgAAf8BAAP/ + AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL/AQABrwHOAf8BAAGvAc4C/wEAA/8BAAP/AQAD/wEAA/8BAAP/ + AQAD/wEAAv8QAAMNAREDJwE6AzMBUwM3AVsDOwFlA0oBjQNLAY4DSAGEAzgBXgMSARkYAAM3AVsDNwFb + A0kBhwNLAY4DSwGOA0oBjQNFAXwDNwFbAzcBWwM3AVsDNQFXAzcBWv8AQQADKgFAAyoBQAMqAUADKgFA + AyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyYBOAMMARAEAAMqAUADKgFAAyoBQAMq + AUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUADJgE4AwwBEBQAAdYBvgGtAf8BtQGa + AYQB/wGcARwBAQH/AZQBEAEAAf8BlAEQAQAB/wGlASQBEgH/Ab0BpgGUAf8B1gG+AbUB/yAAAfcB8wHv + Af8B1gG+AbUB/wGtAY4BWAH/AZQBRgEvAf8BjAE+AScB/wGUAVIBQAH/AcYBtgGtAf8UAANcAd8DXAHf + A1wB3wNcAd8DXAHfA1wB3wNcAd8DXAHfA1wB3wNcAd8DXAHfA1wB3wNcAd8DWwHDAyYBOAQAA1wB3wNc + Ad8DXAHfA1wB3wNcAd8DXAHfA1wB3wNcAd8DXAHfA1wB3wNcAd8DXAHfA1wB3wNbAcMDJgE4EAABxgGu + AZwB/wGtAYYBEgH/Aa0BkgEiAf8B1gHPAc4B/wHnAfMB9wH/AecB7wH3Af8BxgHDAb0B/wGlAYYBGgH/ + AaUBIAEKAf8BxgGuAZwB/xgAAfcB6wHnAf8BvQGaAYwB/wGcAUoBLwH/AZwBSgEvAf8BnAFOATcB/wGc + AUoBNwH/AZQBQgEvAf8BWAEuARYB/wGtAZoBjAH/EAABpwKmAf8CswGyAf8DugH/A7oB/wO6Af8DugH/ + A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/AbECsAH/A1wB3wMqAUAEAAGnAqYB/wKzAbIB/wO6Af8DugH/ + A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8BsQKwAf8DXAHfAyoBQAwAAc4BrgGcAf8BtQGa + AYwB/wHvAesB5wX/AfcB+wL/Ae8B+wH3Af8B7wL3Af8C7wH3Af8B5wHzAv8BvQG2AbUB/wGUARABAAH/ + AcYBrgGcAf8UAAG9AZoBjAH/AaUBUgE3Af8BpQFSATcB/wGlAVIBNwH/AZwBTgE3Af8BnAFOATcB/wGc + AU4BNwH/AZwBTgE3Af8BhAEyAR8B/wGtAZYBjAH/DAADkQH/A8QB/wPjAf8D4wH/A+MB/wLhAeAB/wHY + AdQB0gH/AdoB1gHVAf8D4wH/A+MB/wPjAf8D4wH/A7oB/wNcAd8DKgFABAADkQH/A8QB/wPjAf8D4wH/ + A+MB/wPjAf8D4wH/A+MB/wPjAf8D4wH/A+MB/wPjAf8DugH/A1wB3wMqAUAIAAHWAboBrQH/AbUBkgEi + Af8D9wn/Ad4BtgGlAf8BpQIAAf8BpQIAAf8B1gG+Aa0B/wH3A/8B7wH3Av8BvQGuAaUB/wGcARQBAAH/ + AdYBvgG1Af8MAAHnAccBtQH/Aa0BWgFAAf8BrQFaAUAB/wGtAVoBSAH/Aa0BWgFIAf8BrQFaAUAB/wGl + AVYBQAH/AaUBUgE3Af8BnAFOATcB/wGcAU4BNwH/AVgBLgEWAf8BxgG2Aa0B/wgAA5EB/wPEAf8D4wH/ + A+MB/wPjAf8B2QHUAdIB/wGjAYgBIQH/Aa4BlwGMAf8D4wH/A+MB/wPjAf8D4wH/A7oB/wNcAd8DKgFA + BAADkQH/A8QB/wPjAf8D4wH/A+MB/wPjAf8D4wH/A+MB/wPjAf8D4wH/A+MB/wPjAf8DugH/A1wB3wMq + AUAIAAG9AZ4BhAH/Ad4BxwG9Df8B7wHXAcYB/wGtAgAB/wGlAgAB/wH3Ae8B5wX/Ae8B6wHvAf8B5wHz + AfcB/wGcASQBEgH/AbUBkgEiAf8MAAHOAaIBjAH/Aa0BhgFIAf8BtQGKAVAB/wG9AY4BUAH/Ab0BjgFQ + Af8BtQGKAVAB/wG1AYYBSAH/Aa0BWgFAAf8BpQFSATcB/wGcAU4BNwH/AZQBQgEvAf8BlAFSAUAB/wgA + A5EB/wHGAscB/wHmAucB/wHmAucB/wHmAucB/wHYAdIBzwH/AY8BEQEAAf8BngGAARcB/wHmAucB/wHm + AucB/wHmAucB/wHmAucB/wO8Af8DXAHfAyoBQAQAA5EB/wHGAscB/wHmAucB/wHmAucB/wHmAucB/wHm + AucB/wHmAucB/wHmAucB/wHmAucB/wHmAucB/wHmAucB/wHmAucB/wO8Af8DXAHfAyoBQAQAAdYBugGt + Af8BvQGaAYQC/wH7Dv8B7wHjAdYB/wG9AgAB/wG1AQwBAAH/AfcB+wH3Bf8B9wHzAfcB/wHvAfMB9wH/ + AcYBvgG9Af8BnAEcAQEB/wwAAcYBmgGEAf8BvQGKAVAC/wH7A/8C9wL/AfMB7wH/AfcB6wHnAf8B9wHj + Ad4B/wH3AeMB1gH/AfcB4wHeAf8B9wHbAc4B/wGcAUYBLwH/AYwBPgEnAf8IAAORAf8BygLLAf8B7ALt + Af8B7ALtAf8B7ALtAf8B3QHYAdUB/wGRARMBAAH/AaABggEZAf8B7ALtAf8B7ALtAf8B7ALtAf8B7ALt + Af8DvwH/A1wB3wMqAUAEAAORAf8BygLLAf8B7ALtAf8B7ALtAf8B7ALtAf8B7ALtAf8B7ALtAf8B7ALt + Af8B7ALtAf8B7ALtAf8B7ALtAf8B7ALtAf8DvwH/A1wB3wMqAUAEAAHOAa4BnAH/Ac4BpgGMEf8B7wHf + AdYB/wG9AgAB/wG1AQwBAAH/AfcC7wn/Ae8B8wH3Af8B1gHbAd4B/wGcARwBAQH/DAABxgGaAYQB/wHG + AZYBWA7/AfsD/wHzAe8B/wH3AesB5wH/AfcB4wHeAf8B9wHfAdYB/wGcAUYBLwH/AZQBRgEvAf8IAAOR + Af8D0AH/AegB3gHaAf8ByAGjAZYB/wHBAZcBiAH/AbsBjwElAf8BnwENAQAB/wGkARUBAAH/AcEBlwGI + Af8BwQGXAYgB/wHOAa8BowH/Ae8B6gHnAf8DwwH/A1wB3wMqAUAEAAORAf8BygLLAf8B4QHYAdQB/wHH + AaEBlAH/AcEBlwGIAf8BwQGXAYgB/wHBAZcBiAH/AcEBlwGIAf8BwQGXAYgB/wHBAZcBiAH/AcwBrQGh + Af8B5gHiAeEB/wO/Af8DXAHfAyoBQAQAAc4BpgGUAf8BzgGqAZQR/wHvAdsBzgH/AcYCAAH/AbUBCAEA + Af8B7wHrAecJ/wP3Af8B3gHjAecB/wGcASABCgH/DAAB3gGyAZwB/wHOAZ4BhAH/AecBtgGcAf8B5wG+ + Aa0B/wHnAb4BrQH/AecBtgGcAf8B1gGmAYwB/wHOAZoBhAH/AbUBigFIAf8BpQFWAUAB/wGcAUYBLwH/ + Aa0BjgFYAf8IAAORAf8D0wH/AesB3wHZAf8BxAGXAYcB/wG8AYkBHQH/AbgBgwEWAf8BogEMAQAB/wGn + ARIBAAH/AbwBiQEdAf8BvAGJAR0B/wHMAaYBmAH/AfQB7QHqAf8DxgH/A1wB3wMqAUAEAAORAf8BzALN + Af8B4wHXAdIB/wHDAZYBhgH/AbwBiQEdAf8BvAGJAR0B/wG8AYkBHQH/AbwBiQEdAf8BvAGJAR0B/wG8 + AYkBHQH/AckBowGWAf8B6QHkAeEB/wPBAf8DXAHfAyoBQAQAAcYBogGMAf8BzgGqAZQR/wHeAcMBrQH/ + Ab0BBAEAAf8BvQEcAQAB/wH3Au8G/wH7Av8B9wH7Av8B3gHXAd4B/wGcARwBAQH/DAAB7wHPAb0B/wHO + AZ4BhAH/AecBtgGcAf8B5wG+Aa0B/wHnAb4BrQH/AecBtgGcAf8B1gGmAYwB/wHOAZoBhAH/AbUBigFI + Af8BpQFWAUAB/wGcAU4BNwH/AdYBvgG1Af8IAAORAf8D0wH/AfgB9gH1Af8B8gHqAecB/wHxAegB5AH/ + AeIB1AHNAf8BlgEUAQEB/wGlAYMBGAH/AfEB6AHkAf8B8QHoAeQB/wHzAe0B6gH/AfoB+QH3Af8DxgH/ + A1wB3wMqAUAEAAORAf8D0gH/AfcB9QHzAf8B8gHqAecB/wHxAegB5AH/AfEB6AHkAf8B8QHoAeQB/wHx + AegB5AH/AfEB6AHkAf8B8QHoAeQB/wHzAewB6QH/AfgB9wH2Af8DxQH/A1wB3wMqAUAEAAHWAbIBnAH/ + Ac4BogGMEf8B9wHrAecB/wHvAdsB1gH/AfcB6wHnCv8B+wL/AfcD/wHOAb4BvQH/AaUBJAEKAf8MAAH/ + AfMB7wH/Ad4BtgGlAf8B1gGmAYwB/wHnAb4BrQH/Ae8BvgGtAf8B5wGyAZwB/wHWAaYBlAH/AcYBlgGE + Af8BtQGKAVAB/wGlAVYBQAH/Ab0BmgGMAf8B9wLvAf8IAAORAf8D1AH/AvwB+wH/AvwB+wH/AvwB+wH/ + AesB5QHhAf8BlQEXAQQB/wGmAYgBHgH/AvwB+wH/AvwB+wH/AvwB+wH/AvwB+wH/A8cB/wNcAd8DKgFA + BAADkQH/A9MB/wL7AfoB/wL7AfoB/wL7AfoB/wL7AfoB/wL7AfoB/wL7AfoB/wL7AfoB/wL7AfoB/wL7 + AfoB/wL7AfoB/wPGAf8DXAHfAyoBQAgAAdYBpgGMAf8B7wHnAd4O/wH7Av8B1gGiAYQB/wHWAaIBhAL/ + AfsO/wGlASQBCgH/AcYBpgGUAf8QAAH3AesB5wH/Ad4BtgGlAf8B1gGiAYwB/wHWAaoBlAH/Ad4BrgGU + Af8BzgGiAYwB/wG9AZIBWAH/AbUBhgFIAf8BvQGaAYwB/wH3AesB5wH/DAADkQH/A9QB/wP8Af8D/AH/ + A/wB/wHtAegB5QH/AaIBggEYAf8BsQGXAYkB/wP8Af8D/AH/A/wB/wP8Af8DxwH/A1wB3wMqAUAEAAOR + Af8D0wH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/ + AvsB+gH/A8YB/wNcAd8DKgFACAAB1gG2AZwB/wHnAbIBlA3/AfcB7wHnAf8BxgEUAQAB/wG9AQwBAAH/ + AfcC7wn/AcYBrgGcAf8BrQGGARIB/wHWAcMBtQH/FAAB/wHvAecB/wHvAc8BvQH/Ad4BsgGcAf8BzgGe + AYwB/wHGAZoBhAH/AdYBpgGUAf8B1gG6Aa0C/wL3Af8QAAORAf8D1AH/A/wB/wP8Af8D/AH/AfgC9gH/ + AeIB2QHVAf8B5wHfAdsB/wP8Af8D/AH/A/wB/wP8Af8DxwH/A1wB3wMqAUAEAAORAf8D0wH/AvsB+gH/ + AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/AvsB+gH/A8YB/wNc + Ad8DKgFADAAB3gGyAZQB/wHvAccBrQ7/AvcC/wH3Ae8G/wL3Af8BzgG2AaUB/wGtAYYBEgH/AdYBwwG1 + Af9IAAKhAaAB/wPBAf8D1AH/A9QB/wPUAf8D1AH/A9QB/wPUAf8D1AH/A9QB/wPUAf8D1AH/A7sB/wNc + Ad8DKgFABAACoQGgAf8DwAH/A9MB/wPTAf8D0wH/A9MB/wPTAf8D0wH/A9MB/wPTAf8D0wH/A9MB/wO6 + Af8DXAHfAyoBQBAAAd4BtgGcAf8B5wG2AZQB/wH3Ad8BxgL/AecB3gL/AesB5wH/AfcB5wHeAf8B5wHP + AcYB/wHOAaoBlAH/Ab0BmgGEAf8B1gHDAbUB/0wAAbwBuwG6Af8CoQGgAf8DkQH/A5EB/wORAf8DkQH/ + A5EB/wORAf8DkQH/A5EB/wORAf8DkQH/AacCpgH/A1wB3wMqAUAEAAG8AbsBugH/AqEBoAH/A5EB/wOR + Af8DkQH/A5EB/wORAf8DkQH/A5EB/wORAf8DkQH/A5EB/wGnAqYB/wNcAd8DKgFAFAAB3gG+Aa0B/wHe + AbYBnAH/AecBtgGcAf8B5wGyAZQB/wHeAaoBjAH/AdYBrgGcAf8B1gG+AbUB//8A7QABDQGPARIB/wEN + AY8BEgH/AQ0BjwESAf8BDQGPARIB/xgAA9oB/wPaAf8D2gH/A9oB/wPaAf8D2gH/A9oB/wPaAf8DWwHE + JAABEwEnAbcB/wIAAaYB/wFDAVIBxAH/IAADXwHoARMBJwG3Af8MAAH/AUMBMQL/AUMBMQH/SAABDQGP + ARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/xgAA9oB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wPa + Af8DZQH0AwEBAgMAAQEHAAEBFgABpgH/AgABpgH/AgABpgH/A18B6BgAAUMBUgHEAf8BAwEZAbIB/wMN + AREMAAH/AUMBMQH/CAAB/wFDATEB/0AAAQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8YAAPa + Af8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8D2gH/A1EBnAQAAwEBAgMEAQUDAAEBFAABQwFSAcQB/wIA + AaYB/wIAAaYB/wIAAaYB/wNSAakMAAMQARYBNQFFAb4B/wEAAQwBrAH/AzEBTRgAAf8BQwExAv8BQwEx + Av8BQwExAf88AAENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/GAAD2gH/AxoB/wMaAf8DGgH/ + AxoB/wMaAf8DGgH/A9oB/wNgAesDXQHSA1kBwgNbAcYDVAGsAxsBJhQAA10BygIAAaYB/wIAAaYB/wEA + AQwBrAH/AzEBTQQAAw0BEQETAScBtwH/AgABpgH/A1IBqRgAAf8BQwExAv8BQwExAv8BQwExAv8BQwEx + Av8BQwExAf84AAENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/GAAD2gH/A9oB/wPaAf8D2gH/ + A9oB/wPaAf8D2gH/A9oB/wPaAf8D2gH/A9oB/wPaAf8DQwF3AwABARgAA1YBqwIAAaYB/wIAAaYB/wEA + AQwBrAH/Az4BawETAScBtwH/AgABpgH/A18B6AMDAQQcAAH/AUMBMQL/AUMBMQL/AUMBMQL/AUMBMQL/ + AUMBMQH/IAABDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGP + ARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/ + BAAD2gH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wPaAf8DNQFXAwQBBQMP + ARQDAAEBFAADPgFrAQABDAGsAf8CAAGmAf8CAAGmAf8CAAGmAf8BQwFSAcQB/wMDBAQBBSAAAf8BQwEx + Av8BQwExAv8BQwExAv8BQwExAv8BQwExAf8cAAENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/ + AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGP + ARIB/wENAY8BEgH/AQ0BjwESAf8EAAPaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMa + Af8DGgH/A9oB/wMKAQ4kAANcAckCAAGmAf8CAAGmAf8BAAEMAawB/wMNAREsAAH/AUMBMQL/AUMBMQL/ + AUMBMQL/AUMBMQL/AUMBMQH/GAABDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/ + AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGP + ARIB/wENAY8BEgH/BAAD2gH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wPa + Af8DLwFKAwUBBwMgAS4DLAFDFAADUgGpAgABpgH/AgABpgH/AgABpgH/AgABpgH/A1wByRAAAwsBDxwA + Af8BQwExAv8BQwExAv8BQwExAv8BQwExAv8BQwExAf8UAAENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wEN + AY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/AQ0BjwES + Af8BDQGPARIB/wENAY8BEgH/AQ0BjwESAf8EAAPaAf8D2gH/A9oB/wPaAf8D2gH/A9oB/wPaAf8D2gH/ + A9oB/wPaAf8D2gH/A9oB/wPaAf8D2gH/A9oB/wPaAf8QAANcAckCAAGmAf8CAAGmAf8BAAEMAawB/wM+ + AWsBEwEnAbcB/wIAAaYB/wNKAYwwAAH/AUMBMQL/AUMBMQL/AUMBMQH/LAABDQGPARIB/wENAY8BEgH/ + AQ0BjwESAf8BDQGPARIB/xgAA9oB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMa + Af8DGgH/AxoB/wMaAf8DGgH/A9oB/wwAAUMBUgHEAf8CAAGmAf8CAAGmAf8CAAGmAf8DUgGpBAADDQER + ATUBRQG+Af8BAAEMAawB/wMxAU0wAAH/AUMBMQH/CAAB/wFDATEC/wFDATEB/yAAAQ0BjwESAf8BDQGP + ARIB/wENAY8BEgH/AQ0BjwESAf8YAAPaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMa + Af8DGgH/AxoB/wMaAf8DGgH/AxoB/wPaAf8OAAGmAf8CAAGmAf8CAAGmAf8DXwHoEAABQwFSAcQB/wED + ARkBsgH/Aw0BETQAAf8BQwExAv8BQwExAv8BQwExAf8gAAENAY8BEgH/AQ0BjwESAf8BDQGPARIB/wEN + AY8BEgH/GAAD2gH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/ + AxoB/wMaAf8D2gH/DAABEwEnAbcB/wIAAaYB/wFDAVIBxAH/GAADXwHoARMBJwG3Af80AAH/AUMBMQL/ + AUMBMQH/JAABDQGPARIB/wENAY8BEgH/AQ0BjwESAf8BDQGPARIB/xgAA9oB/wPaAf8D2gH/A9oB/wPa + Af8D2gH/A9oB/wPaAf8D2gH/A9oB/wPaAf8D2gH/A9oB/wPaAf8D2gH/A9oB/wcAAQGQAAENAY8BEgH/ + AQ0BjwESAf8BDQGPARIB/wENAY8BEgH/+AADAQECnAADPQFpAz4BagNBAXIDNwFaAzcBWwM3AVsDOgFi + A0oBiwNLAY4kAAP9Af8D9wH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP3Af8D/QH/HAADigH/ + AzoB/wMiAf8DIgH/AyIB/wMiAf8DOgH/A4oB/xAAA/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1 + Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/BAADPQFpAxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/ + AxoB/wNKAYkkAAP3Af8DhgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wOGAf8D9wH/FAADuQH/ + AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wO5Af8IAAP1Af8DGQH/AxkB/wMZ + Af8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/A/UB/wQAAzsBZQMaAf8B+QLq + Af8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/Az4BawM3AVsDNwFbAzcBWwM3AVsUAAP2Af8DGgH/ + AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8DGgH/ + A/YB/xAABP8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8IAAP1 + Af8DGQH/Ae4C7wH/Ae4C7wH/Ae4C7wH/AxkB/wHuAu8B/wHuAu8B/wHuAu8B/wMZAf8B7gLvAf8B7gLv + Af8B7gLvAf8DGQH/A/UB/wQAAy4BSAMaAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/ + AxoB/wMaAf8DGgH/AxoB/wM3AVsUAAP2Af8DGgH/AfEB7wHwAf8DGgH/AfEB7wHwAf8DGgH/AfEB7wHw + Af8DGgH/AfEB7wHwAf8DGgH/A/YB/xAABP8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMi + Af8DIgH/AyIB/wMiAf8IAAP1Af8DGQH/Ae4C7wH/Ae4C7wH/Ae4C7wH/AxkB/wHuAu8B/wHuAu8B/wHu + Au8B/wMZAf8B7gLvAf8B7gLvAf8B7gLvAf8DGQH/A/UB/wQAAywBQwMaAf8B+QLqAf8B+QLqAf8B+QLq + Af8B+QLqAf8B+QLqAf8DGgH/AzcBWwM3AVsDNwFbAxoB/wM3AVsUAAP2Af8DGgH/AfEB7wHwAf8B8QHv + AfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wMaAf8B8QHvAfAB/wMaAf8D9gH/EAAE/wMiAf8DIgH/ + AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wgAA/UB/wMZAf8DGQH/AxkB/wMZ + Af8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8D9QH/BAADKwFCAxoB/wMaAf8DGgH/ + AxoB/wMaAf8DGgH/AxoB/wM3AVsEAAM3AVsDGgH/AzcBWxQAA/YB/wMaAf8B8QHvAfAB/wMaAf8B8QHv + AfAB/wMaAf8B8QHvAfAB/wMaAf8B8QHvAfAB/wMaAf8D9gH/EAAE/wMiAf8DIgH/AyIB/wMiAf8DIgH/ + AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wgAA/UB/wMZAf8B7gLvAf8B7gLvAf8B7gLvAf8DGQH/ + Ae4C7wH/Ae4C7wH/Ae4C7wH/AxkB/wHuAu8B/wHuAu8B/wHuAu8B/wMZAf8D9QH/BAADKAE8AxoB/wMa + Af8DGgH/AxoB/wMaAf8DGgH/AxoB/wM3AVsEAAM3AVsDGgH/A0ABcRQAA/YB/wMaAf8B8QHvAfAB/wHx + Ae8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wMaAf8D9gH/EAAE/wMi + Af8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wgAA/UB/wMZAf8B7gLv + Af8B7gLvAf8B7gLvAf8DGQH/Ae4C7wH/Ae4C7wH/Ae4C7wH/AxkB/wHuAu8B/wHuAu8B/wHuAu8B/wMZ + Af8D9QH/BAADKgFBAyoBQQMoAT0DJQE3AycBOwMuAUgDNgFZAzcBWwM3AVsEAAM3AVsDGgH/A0oBjRQA + A/YB/wMaAf8B8QHvAfAB/wMaAf8B8QHvAfAB/wMaAf8B8QHvAfAB/wMaAf8B8QHvAfAB/wMaAf8D9gH/ + EAAE/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wgAA/UB/wMZ + Af8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8D9QH/HAADNQFW + AzcBWwM3AVsDNwFbAzcBWwMaAf8DSwGOA0oBjANHAYEMAAP2Af8DGgH/AfEB7wHwAf8B8QHvAfAB/wHx + Ae8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8DGgH/A/YB/xAABP8DIgH/AyIB/wMi + Af8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8DIgH/AyIB/wMiAf8IAAP1Af8DGQH/Ae4C7wH/Ae4C7wH/ + Ae4C7wH/AxkB/wHuAu8B/wHuAu8B/wHuAu8B/wMZAf8B7gLvAf8B7gLvAf8B7gLvAf8DGQH/A/UB/xwA + AykBPgMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DPQFoDAAD9gH/AxoB/wHxAe8B8AH/AxoB/wHx + Ae8B8AH/AxoB/wHxAe8B8AH/AxoB/wHxAe8B8AH/AxoB/wP2Af8QAAT/AyIB/wMtAf8DqQH/AuEB4gH/ + A/gB/wP4Af8D+AH/A/gB/wLhAeIB/wOpAf8DLQH/AyIB/wgAA/UB/wMZAf8B7gLvAf8B7gLvAf8B7gLv + Af8DGQH/Ae4C7wH/Ae4C7wH/Ae4C7wH/AxkB/wHuAu8B/wHuAu8B/wHuAu8B/wMZAf8D9QH/HAADJQE3 + AxoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wH5AuoB/wMaAf8DOwFjDAAD9gH/AxoB/wHxAe8B8AH/ + AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AxoB/wP2Af8QAAPz + Af8DLQH/A+0B/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A+0B/wMiAf8IAAP1Af8DGQH/ + AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/A/UB/xwAAyUBNwMa + Af8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8B+QLqAf8DGgH/Ay8BSgwAA/YB/wMaAf8B8QHvAfAB/wMa + Af8DGgH/AxoB/wMaAf8DGgH/AfEB7wHwAf8DGgH/A/YB/xQAAy0B/wPtAf8D+AH/A/gB/wP4Af8D+AH/ + A/gB/wP4Af8D+AH/A/gB/wPtAf8DIgH/CAAD9QH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZ + Af8DGQH/AxkB/wMZAf8DGQH/AxkB/wP1Af8cAAMlATcDGgH/AfkC6gH/AfkC6gH/AfkC6gH/AfkC6gH/ + AfkC6gH/AxoB/wMrAUIMAAP2Af8DGgH/AfEB7wHwAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wHxAe8B8AH/ + AxoB/wP2Af8UAAO5Af8DLQH/A6kB/wLhAeIB/wP4Af8D+AH/A/gB/wP4Af8C4QHiAf8DqQH/Ay0B/wO5 + Af8IAAP1Af8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/AxkB/wMZAf8DGQH/ + A/UB/xwAAyoBQAMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DKwFCDAAD9gH/AxoB/wHxAe8B8AH/ + AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AxoB/wP2Af8YAAPo + Af8DigH/AzoB/wMiAf8DIgH/AyIB/wMiAf8DOgH/A4oB/wPoAf8MAAP1Af8D9QH/A/UB/wP1Af8D9QH/ + A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/A/UB/xwAAysBQgMaAf8DGgH/AxoB/wMa + Af8DGgH/AxoB/wMaAf8DMwFTDAAD9wH/A4YB/wMaAf8DGgH/AxoB/wMaAf8DGgH/AxoB/wMaAf8DhgH/ + A/cB/6QAAysBQgMuAUcDPgFqA0cBgQNKAYkDNwFbAzcBWwM3AVoDNwFaDAAD/QH/A/cB/wP2Af8D9gH/ + A/YB/wP2Af8D9gH/A/YB/wP2Af8D9wH/A/0B/wwAAUIBTQE+BwABPgMAASgDAAFAAwABcAMAAQEBAAEB + BQABgAEDFgAD/wEAAQ8D/wHwAQ8DAAEfAf8BgAHwAQ8DAAEPAf8BgAHwAQ8CAAGAAQ8BwAEAAfABDwIA + AcABDwHAAQAB8AEPAgABgAEPAcABAAHwAQ8CAAGAAQcBxwGAAfABDwIAAcABBwHHAYAB4AEHAgAB4AED + AQEBgAHAAQMCAAHwAgEBgAHAAQMCAAHwAwABwAEDAgAB8AMAAcABAwIAAfADAAHAAQMCAAHwAQABAQGA + AeABBwIAAfABAAEBAYAB4AEHAgAB+AEBAv8B8AEPAgAG/wEPAf8B/AE/Av8B5wH/AQABHwH8AT8B/AF4 + AfMB/wIAAfwBPwH+AXgB+wEnAYABAAH8AT8BPgFwAfkBKwGAAQAB/AE/AR4BAQH5Ac8BgAEAAYABAQGM + AQMB+QHPAYABAAGAAQEByAEzAfkBzwGAAQABgAEBAeEBAwH8AZMBgAEAAYABAQHjAYcB/AH/AYABAAH8 + AT8BAAEHAfgBfwGAAQAB/AE/AQABBwH+Af8BgAEAAfwBPwECAQ8B/gH/AYABAAH8AT8B4wH/Af4BPwGA + AQAB/AE/A/8BPwGAAQAB/wF/BP8BgAEACP8CAAGAAXkE/wIAAYABcQHHAfkB8AEfAgABgAFjAcMB8QHg + AQ8CAAGAAQcBwQHDAeABBwIAAYABDwHgAYcBwAEDAgABgAEBAfABBwHAAQMCAAGAAQEB+AEHAcABAwIA + AYABAQH8AR8BwAEDAgABgAEBAfgBHgHAAQMCAAH8AQEB8AEPAcABAwIAAf4BAQHgAYcBwAEDAgAB/gEB + AeEB4wHgAQcCAAH+AQMB4wHzAfABDwIAAf4BBwG/A/8CAAj/AwABAwEAAR8FAAEBAQABHwcAAQcHAAEH + BwABBwGAAQEGAAGAAQEGAAHAAQMCAAGAAQABgAEAAcABAwIAAYABAAGAAQAB4AEHAgABgAEAAYABAAHw + AQcCAAGAAQABgAEAAfABDwIAAYABAAGAAQAB+AEfAgABwAEAAYABAAH4AR8CAAHAAQAB8AEAAfwBPwIA + AeABAQHwAQAB/AE/AgAB8AEDAfABAAr/AQABAQEAAQEB8AEPAfABHwEAAQEBAAEBAeABBwHgAQ8BAAEB + AQABAQHAAQMB4AEHAQABAQEAAQEBgAEBAcABAwEAAQEBAAEBAYABAQHAAQMBAAEBAQABAQEAAQEBwAED + AQABAQEAAQEBAAEBAcABAwEAAQEBAAEBAQABAQHAAQMBAAEBAQABAQEAAQEBwAEDAQABAQEAAQEBAAEB + AcABAwEAAQEBAAEBAYABAQHgAQcBAAEBAQABAQGAAQEB8AEPAQABAQEAAQEBwAEDAv8BAAEBAQABAQHg + AQcC/wEAAQEBAAEBAfABHw7/AfwBPwEAAX8BxwH5Ac8B/wH8AT8BAAEXAcMB8QHbAf8B/AE/AQABRwHB + AcMB8QH/AfwBPwEAAQMB4AGHAeAB/wH8AT8BAAEDAfABBwHwAX8BgAEBAgAB+AEHAfgBPwGAAQEBAAEH + AfwBHwH8AR8BgAEBAgAB+AEeAf4BDwGAAQECAAHwAQ8B/wEfAfwBPwIAAeABhwH/AbMB/AE/AgAB4QHj + Af8B4wH8AT8CAAHjAfMB/wHnAfwBPwIAAb8D/wH8AT8H/wF/BP8BAAF/AcABBwHwAQ8BAAEBAQABfwHA + AQcBwAEDAQABAQEAAQcBwAEHAYABAwEAAQEBAAEHAcABBwGAAQMBAAEBAQABBwHAAQcBgAEDAQABAQEA + AUcBwAEHAYABAwEAAQEBAAFHAcABBwGAAQMBAAEBAQABRwHAAQcBgAEDAQABAQH8AQEBwAEHAYABAwEA + AQEB/AEBAcABBwGAAQMBAAEBAfwBAQHAAQcBgAEDAQABAQH8AQEBwAEHAcABAwEAAQEB/AEBAcABBwHA + AQMBAAEBAfwBAQHAAQcB4AEHAQABAQH8AQEBwAEHBP8B/AEBAcABBws= + + + \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/WindowTitle.cs b/AlmToolkit/AlmToolkit/WindowTitle.cs new file mode 100644 index 0000000..15de05a --- /dev/null +++ b/AlmToolkit/AlmToolkit/WindowTitle.cs @@ -0,0 +1,161 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace AlmToolkit +{ + public class WindowTitle + { + + + //static void Main(string[] args) + //{ + // var p = Process.GetProcessById(3484); + // var h = p.MainWindowHandle; + + // string s = GetWindowTextTimeout(h, 100 /*msec*/); + + //} + + + + #region PInvoke calls to get the window title of a minimize window + + delegate bool EnumThreadDelegate(IntPtr hWnd, IntPtr lParam); + + [DllImport("user32.dll")] + static extern bool IsWindowVisible(IntPtr hWnd); + + + [DllImport("user32.dll")] + static extern bool EnumThreadWindows(int dwThreadId, EnumThreadDelegate lpfn, + IntPtr lParam); + + [DllImport("User32.dll", SetLastError = true)] + public unsafe static extern int SendMessageTimeout( + IntPtr hWnd, + uint uMsg, + uint wParam, + StringBuilder lParam, + uint fuFlags, + uint uTimeout, + void* lpdwResult); + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, + StringBuilder lParam); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowTextLength(IntPtr hWnd); + + [DllImport("User32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern long GetWindowText(IntPtr hwnd, StringBuilder lpString, long cch); + + const int WM_GETTEXT = 0x000D; + const int WM_GETTEXTLENGTH = 0x000E; + + #endregion + + + private static IEnumerable EnumerateProcessWindowHandles(int processId) + { + var handles = new List(); + + foreach (ProcessThread thread in Process.GetProcessById(processId).Threads) + EnumThreadWindows(thread.Id, + (hWnd, lParam) => { handles.Add(hWnd); return true; }, IntPtr.Zero); + + return handles; + } + + + public static string GetWindowTitle(int procId) + { + foreach (var handle in EnumerateProcessWindowHandles(procId)) + { + StringBuilder message = new StringBuilder(1000); + if (IsWindowVisible(handle)) + { + //SendMessage(handle, WM_GETTEXT, message.Capacity, message); + //if (message.Length > 0) return message.ToString(); + return GetCaptionOfWindow(handle); + } + + } + return ""; + } + + /* ====================================== */ + + public static string GetWindowTitleTimeout(int procId, uint timeout) + { + string title = ""; + foreach (var handle in EnumerateProcessWindowHandles(procId)) + { + try + { + // if there is an issue with the window handle we just + // ignore it and skip to the next one in the collection + title = GetWindowTextTimeout(handle, timeout); + } + catch + { + title = ""; + } + if (title.Length > 0) return title; + } + return title; + } + + + private static unsafe string GetWindowTextTimeout(IntPtr hWnd, uint timeout) + { + int length; + if (SendMessageTimeout(hWnd, WM_GETTEXTLENGTH, 0, null, 2, timeout, &length) == 0) + { + return null; + } + if (length == 0) + { + return null; + } + + StringBuilder sb = new StringBuilder(length + 1); // leave room for null-terminator + if (SendMessageTimeout(hWnd, WM_GETTEXT, (uint)sb.Capacity, sb, 2, timeout, null) == 0) + { + return null; + } + + return sb.ToString(); + } + + private static string GetCaptionOfWindow(IntPtr hwnd) + { + string caption = ""; + StringBuilder windowText = null; + try + { + int max_length = GetWindowTextLength(hwnd); + windowText = new StringBuilder("", max_length + 5); + GetWindowText(hwnd, windowText, max_length + 2); + + if (!String.IsNullOrEmpty(windowText.ToString()) && !String.IsNullOrWhiteSpace(windowText.ToString())) + caption = windowText.ToString(); + } + catch (Exception ex) + { + caption = ex.Message; + } + finally + { + windowText = null; + } + return caption; + } + + } +} diff --git a/AlmToolkit/AlmToolkit/almtoolkit.pbitool.json b/AlmToolkit/AlmToolkit/almtoolkit.pbitool.json new file mode 100644 index 0000000..aa8cd83 --- /dev/null +++ b/AlmToolkit/AlmToolkit/almtoolkit.pbitool.json @@ -0,0 +1,8 @@ +{ + "version": "1.0", + "name": "ALM Toolkit", + "description": "Use ALM Toolkit to perform easy incremental deployment, code/repo/branch merging, and reuse definitions between datasets.", + "path": "C:\\Program Files\\Power BI ALM Toolkit\\Power BI ALM Toolkit\\AlmToolkit.exe", + "arguments": "\"%server%\" \"%database%\"", + "iconData": "image/png;base64,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" +} diff --git a/AlmToolkit/AlmToolkit/app.manifest b/AlmToolkit/AlmToolkit/app.manifest new file mode 100644 index 0000000..b9577f3 --- /dev/null +++ b/AlmToolkit/AlmToolkit/app.manifest @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AlmToolkit/AlmToolkit/html-resources/.angular-cli.json b/AlmToolkit/AlmToolkit/html-resources/.angular-cli.json new file mode 100644 index 0000000..5bdade1 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/.angular-cli.json @@ -0,0 +1,62 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "project": { + "name": "gridcontrol" + }, + "apps": [ + { + "root": "src", + "outDir": "dist", + "assets": [ + "assets", + "favicon.ico" + ], + "index": "index.html", + "main": "main.ts", + "polyfills": "polyfills.ts", + "test": "test.ts", + "tsconfig": "tsconfig.app.json", + "testTsconfig": "tsconfig.spec.json", + "prefix": "app", + "styles": [ + "styles.css", + "../node_modules/monaco-editor/min/vs/editor/editor.main.css" + ], + "scripts": [ + ], + "environmentSource": "environments/environment.ts", + "environments": { + "dev": "environments/environment.ts", + "prod": "environments/environment.prod.ts" + } + } + ], + "e2e": { + "protractor": { + "config": "./protractor.conf.js" + } + }, + "lint": [ + { + "project": "src/tsconfig.app.json", + "exclude": "**/node_modules/**" + }, + { + "project": "src/tsconfig.spec.json", + "exclude": "**/node_modules/**" + }, + { + "project": "e2e/tsconfig.e2e.json", + "exclude": "**/node_modules/**" + } + ], + "test": { + "karma": { + "config": "./karma.conf.js" + } + }, + "defaults": { + "styleExt": "css", + "component": { } + } +} diff --git a/AlmToolkit/AlmToolkit/html-resources/.editorconfig b/AlmToolkit/AlmToolkit/html-resources/.editorconfig new file mode 100644 index 0000000..6e87a00 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/.editorconfig @@ -0,0 +1,13 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/0.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/0.chunk.js new file mode 100644 index 0000000..f55b4a6 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/0.chunk.js @@ -0,0 +1 @@ +webpackJsonp([0],{Aj3d:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"conf",function(){return i}),n.d(t,"language",function(){return _});var i={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},_={defaultToken:"",tokenPostfix:".cpp",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","for","friend","gcnew","generic","goto","if","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],raw:[[/(.*)(\))(?:([^ ()\\\t]*))(\")/,{cases:{"$3==$S2":["string.raw","string.raw.end","string.raw.end",{token:"string.raw.end",next:"@pop"}],"@default":["string.raw","string.raw","string.raw","string.raw"]}}],[/.*/,"string.raw"]]}}}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/1.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/1.chunk.js new file mode 100644 index 0000000..4ff771e --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/1.chunk.js @@ -0,0 +1 @@ +webpackJsonp([1],{"+r0j":function(e,t,n){t.SourceMapGenerator=n("O8K4").SourceMapGenerator,t.SourceMapConsumer=n("G4xT").SourceMapConsumer,t.SourceNode=n("E+dE").SourceNode},"31j4":function(e,t){t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,n,r,i){if(0===n.length)return-1;var a=function e(n,r,i,a,o,s){var c=Math.floor((r-n)/2)+n,u=o(i,a[c],!0);return 0===u?c:u>0?r-c>1?e(c,r,i,a,o,s):s==t.LEAST_UPPER_BOUND?r1?e(n,c,i,a,o,s):s==t.LEAST_UPPER_BOUND?c:n<0?-1:n}(-1,n.length,e,n,r,i||t.GREATEST_LOWER_BOUND);if(a<0)return-1;for(;a-1>=0&&0===r(n[a],n[a-1],!0);)--a;return a}},"601G":function(e,t,n){var r=n("l5q4"),i=Object.prototype.hasOwnProperty,a="undefined"!=typeof Map;function o(){this._array=[],this._set=a?new Map:Object.create(null)}o.fromArray=function(e,t){for(var n=new o,r=0,i=e.length;r=0)return t}else{var n=r.toSetString(e);if(i.call(this._set,n))return this._set[n]}throw new Error('"'+e+'" is not in the set.')},o.prototype.at=function(e){if(e>=0&&e(i=(t=this._last).generatedLine)||a==i&&n.generatedColumn>=t.generatedColumn||r.compareByGeneratedPositionsInflated(t,n)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},i.prototype.toArray=function(){return this._sorted||(this._array.sort(r.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.MappingList=i},"9jCM":function(e,t,n){"use strict";(function(e,r,i,a,o){var s,c=this&&this.__assign||Object.assign||function(e){for(var t,n=1,r=arguments.length;n0;for(var n=0,r=e;n>1);switch(r(n(e[c]),s)){case-1:a=c+1;break;case 0:return c;case 1:o=c-1}}return~a}function T(e,t,n,r,i){if(e&&e.length>0){var a=e.length;if(a>0){var o=void 0===r||r<0?0:r,s=void 0===i||o+i>a-1?a-1:o+i,c=void 0;for(arguments.length<=2?(c=e[o],o++):c=n;o<=s;)c=t(c,e[o],o),o++;return c}}return n}e.toPath=function(e,t,n){return n(fe(e)?oe(e):ye(e,t))},e.length=function(e){return e?e.length:0},e.forEach=a,e.firstDefined=function(e,t){if(void 0!==e)for(var n=0;n=0;n--){var r=e[n];if(t(r,n))return r}},e.findIndex=c,e.findMap=function(e,t){for(var n=0;n0&&Ge.assertGreaterThanOrEqual(n(t[a],t[a-1]),0);t:for(var o=i;io&&Ge.assertGreaterThanOrEqual(n(e[i],e[i-1]),0),n(t[a],e[i])){case-1:r.push(t[a]);continue e;case 0:continue e;case 1:continue t}}return r},e.sum=function(e,t){for(var n=0,r=0,i=e;rt?1:0}function Y(e,t){return G(e,t)}e.hasProperty=N,e.getProperty=function(e,t){return E.call(e,t)?e[t]:void 0},e.getOwnKeys=function(e){var t=[];for(var n in e)E.call(e,n)&&t.push(n);return t},e.getOwnValues=function(e){var t=[];for(var n in e)E.call(e,n)&&t.push(e[n]);return t},e.arrayFrom=A,e.forEachEntry=function(e,t){for(var n,r=e.entries(),i=r.next(),a=i.value,o=i.done;!o;a=(n=r.next()).value,o=n.done,n){var s=t(a[1],a[0]);if(s)return s}},e.forEachKey=function(e,t){for(var n,r=e.keys(),i=r.next(),a=i.value,o=i.done;!o;a=(n=r.next()).value,o=n.done,n){var s=t(a);if(s)return s}},e.copyEntries=P,e.assign=function(e){for(var t=[],n=1;n4&&(i=U(i,arguments,4)),{file:e,start:t,length:n,messageText:i,category:r.category,code:r.code}},e.formatMessage=function(e,t){var n=V(t);return arguments.length>2&&(n=U(n,arguments,2)),n},e.createCompilerDiagnostic=function(e){var t=V(e);return arguments.length>1&&(t=U(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code}},e.createCompilerDiagnosticFromMessageChain=function(e){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText}},e.chainDiagnosticMessages=function(e,t){var n=V(t);return arguments.length>2&&(n=U(n,arguments,2)),{messageText:n,category:t.category,code:t.code,next:e}},e.concatenateDiagnosticMessageChains=function(e,t){for(var n=e;n.next;)n=n.next;return n.next=t,e},e.equateValues=q,e.equateStringsCaseInsensitive=W,e.equateStringsCaseSensitive=H,e.compareValues=X,e.compareStringsCaseInsensitive=Q,e.compareStringsCaseSensitive=Y;var $,Z,ee=function(){var e,t,n="object"==typeof Intl&&"function"==typeof Intl.Collator?function(e){var t=new Intl.Collator(e,{usage:"sort",sensitivity:"variant"}).compare;return function(e,n){return r(e,n,t)}}:"function"==typeof String.prototype.localeCompare&&"function"==typeof String.prototype.toLocaleUpperCase&&"a".localeCompare("B")<0?function(e){return void 0!==e?i():function(e,n){return r(e,n,t)};function t(e,t){return e.localeCompare(t)}}:i;return function(r){return void 0===r?e||(e=n(r)):"en-US"===r?t||(t=n(r)):n(r)};function r(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;var r=n(e,t);return r<0?-1:r>0?1:0}function i(){return function(t,n){return r(t,n,e)};function e(e,n){return t(e.toUpperCase(),n.toUpperCase())||t(e,n)}function t(e,t){return et?1:0}}}();function te(e){return e.file?e.file.fileName:void 0}function ne(e){return e.replace(/\\/g,"/")}function re(e){if(47===e.charCodeAt(0)){if(47!==e.charCodeAt(1))return 1;var t=e.indexOf("/",2);if(t<0)return 2;var n=e.indexOf("/",t+1);return n<0?t+1:n+1}if(58===e.charCodeAt(1)&&(47===e.charCodeAt(2)||92===e.charCodeAt(2)))return 3;if(0===e.lastIndexOf("file:///",0))return"file:///".length;var r=e.indexOf("://");return-1!==r?r+"://".length:0}e.getUILocale=function(){return Z},e.setUILocale=function(e){Z!==e&&(Z=e,$=void 0)},e.compareStringsCaseSensitiveUI=function(e,t){return($||($=ee(Z)))(e,t)},e.compareProperties=function(e,t,n,r){return e===t?0:void 0===e?-1:void 0===t?1:r(e[n],t[n])},e.compareDiagnostics=function(e,t){return Y(te(e),te(t))||X(e.start,t.start)||X(e.length,t.length)||X(e.code,t.code)||function(e,t){for(;e&&t;){var n=Y(B(e)?e:e.messageText,B(t)?t:t.messageText);if(n)return n;e=B(e)?void 0:e.next,t=B(t)?void 0:t.next}return e||t?e?1:-1:0}(e.messageText,t.messageText)||0},e.compareBooleans=function(e,t){return X(e?1:0,t?1:0)},e.normalizeSlashes=ne,e.getRootLength=re,e.directorySeparator="/";var ie=47;function ae(t,n){for(var r=[],i=0,a=t.substr(n).split(e.directorySeparator);i0&&".."!==D(r)?r.pop():o&&r.push(o))}return r}function oe(e){return se(e).path}function se(t){var n=re(t=ne(t)),r=t.substr(0,n),i=ae(t,n);if(i.length){var a=r+i.join(e.directorySeparator);return{path:ce(t)?a+e.directorySeparator:a,parts:i}}return{path:r,parts:i}}function ce(e){return e.charCodeAt(e.length-1)===ie}function ue(t){return t.substr(0,Math.max(re(t),t.lastIndexOf(e.directorySeparator)))}function le(e){return e&&!fe(e)&&Ee(e,"://")}function _e(e){return e.target||0}function de(t){return"number"==typeof t.module?t.module:_e(t)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}function pe(e){for(var t=!1,n=0;n1&&""===D(c)&&c.pop(),o=0;o=0&&e.indexOf(t,n)===n}function Ee(e,t){return-1!==e.indexOf(t)}function Ne(e){return Ee(xe(e),".")}function Ae(e,t){return e.length>t.length&&Te(e,t)}function Pe(e,t){for(var n=0,r=t;n0;)c+=")?",d--;return c}}(t,n,r,Re[r])})}function je(e){return!/[.*?]/.test(e)}function Je(e,t){return"*"===e?t:"?"===e?"[^/]":"\\"+e}function Ke(e,t,n,r,i){e=oe(e);var a=ke(i=oe(i),e);return{includeFilePatterns:_(ze(n,a,"files"),function(e){return"^"+e+"$"}),includeFilePattern:Be(n,a,"files"),includeDirectoryPattern:Be(n,a,"directories"),excludePattern:Be(t,a,"exclude"),basePaths:function(e,t,n){var r=[e];if(t){for(var i=[],a=0,s=t;a=0;n--)if(Ae(e,t[n]))return He(n,t);return 0},e.adjustExtensionPriority=He,e.getNextLowestExtensionPriority=function(e,t){return e<2?2:t.length};var Ge,Xe=[".d.ts",".ts",".js",".tsx",".jsx"];function Qe(e){for(var t=0,n=Xe;ti&&(i=c.prefix.length,r=s)}return r}function ct(e,t){var n=e.prefix,r=e.suffix;return t.length>=n.length+r.length&&Ce(t,n)&&Te(t,r)}function ut(e){Ge.assert(pe(e));var t=e.indexOf("*");return-1===t?void 0:{prefix:e.substr(0,t),suffix:e.substr(t+1)}}function lt(t){return s(e.supportedTypescriptExtensionsForExtractExtension,function(e){return Ae(t,e)})||s(e.supportedJavascriptExtensions,function(e){return Ae(t,e)})}e.removeFileExtension=Qe,e.tryRemoveExtension=Ye,e.removeExtension=$e,e.changeExtension=function(e,t){return Qe(e)+t},e.removeMinAndVersionNumbers=function(e){var t=/[.-]((min)|(\d+(\.\d+)*))$/;return e.replace(t,"").replace(t,"")},e.objectAllocator={getNodeConstructor:function(){return nt},getTokenConstructor:function(){return nt},getIdentifierConstructor:function(){return nt},getSourceFileConstructor:function(){return nt},getSymbolConstructor:function(){return Ze},getTypeConstructor:function(){return et},getSignatureConstructor:function(){return tt},getSourceMapSourceConstructor:function(){return rt}},function(e){e[e.None=0]="None",e[e.Normal=1]="Normal",e[e.Aggressive=2]="Aggressive",e[e.VeryAggressive=3]="VeryAggressive"}(e.AssertionLevel||(e.AssertionLevel={})),function(t){function n(e,t,i,a){e||(i&&(t+="\r\nVerbose Debug Information: "+("string"==typeof i?i:i())),r(t?"False expression: "+t:"False expression.",a||n))}function r(e,t){var n=new Error(e?"Debug Failure. "+e:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||r),n}function i(e,t){return n(void 0!==e&&null!==e,t),e}function a(t){var n=e.SyntaxKind;return n?n[t.kind]:t.kind.toString()}t.currentAssertionLevel=0,t.isDebugging=!1,t.shouldAssert=function(e){return t.currentAssertionLevel>=e},t.assert=n,t.assertEqual=function(e,t,n,i){e!==t&&r("Expected "+e+" === "+t+". "+(n?i?n+" "+i:n:""))},t.assertLessThan=function(e,t,n){e>=t&&r("Expected "+e+" < "+t+". "+(n||""))},t.assertLessThanOrEqual=function(e,t){e>t&&r("Expected "+e+" <= "+t)},t.assertGreaterThanOrEqual=function(e,t){e= "+t)},t.fail=r,t.assertDefined=i,t.assertEachDefined=function(e,t){for(var n=0,r=e;n=0)},e.extensionIsTypeScript=function(e){return".ts"===e||".tsx"===e||".d.ts"===e},e.extensionFromPath=function(e){var t=lt(e);if(void 0!==t)return t;Ge.fail("File "+e+" has unknown extension.")},e.isAnySupportedFileExtension=function(e){return void 0!==lt(e)},e.tryGetExtensionFromPath=lt,e.getAnyExtensionFromPath=function(e){var t=xe(e),n=t.lastIndexOf(".");if(n>=0)return t.substring(n)},e.isCheckJsEnabledForFile=function(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs},e.and=function(e,t){return function(n){return e(n)&&t(n)}},e.or=function(e,t){return function(n){return e(n)||t(n)}},e.assertTypeIsNever=function(e){},e.emptyFileSystemEntries={files:e.emptyArray,directories:e.emptyArray},e.singleElementArray=function(e){return void 0===e?void 0:[e]},e.enumerateInsertsAndDeletes=function(e,t,n,r,i,a){a=a||z;for(var o=0,s=0,c=e.length,u=t.length;o0;++i===e.length&&(c=4,y=l.platform(),h="win32"!==y&&"win64"!==y&&!O((d=r,d.replace(/\w/g,function(e){var t=e.toUpperCase();return e===t?e.toLowerCase():t})));!function(e){e[e.File=0]="File",e[e.Directory=1]="Directory"}(_||(_={}));var v,b=e.env.TSC_NONPOLLING_WATCHER,x=e.env.TSC_WATCHFILE,k=e.env.TSC_WATCHDIRECTORY,S={args:e.argv.slice(2),newLine:l.EOL,useCaseSensitiveFileNames:h,write:function(t){e.stdout.write(t)},readFile:function(e,t){if(O(e)){var n=c.readFileSync(e),r=n.length;if(r>=2&&254===n[0]&&255===n[1]){r&=-2;for(var i=0;i=2&&255===n[0]&&254===n[1]?n.toString("utf16le",2):r>=3&&239===n[0]&&187===n[1]&&191===n[2]?n.toString("utf8",3):n.toString("utf8")}},writeFile:function(e,t,n){var r;n&&(t="\ufeff"+t);try{r=c.openSync(e,"w"),c.writeSync(r,t,void 0,"utf8")}finally{void 0!==r&&c.closeSync(r)}},watchFile:function(){switch(x){case"PriorityPollingInterval":return C;case"DynamicPriorityPolling":return p({getModifiedTime:L,setTimeout:setTimeout});case"UseFsEvents":return N;case"UseFsEventsWithFallbackDynamicPolling":return v=p({getModifiedTime:L,setTimeout:setTimeout}),e=v,function(t,n,r){return E(t,0,T(t,n),!1,e,r)};case"UseFsEventsOnParentDirectory":return D()}var e;return b?D():function(e,t){return C(e,t)}}(),watchDirectory:function(){if(f&&("win32"===e.platform||"darwin"===e.platform))return P;var n="RecursiveDirectoryUsingFsWatchFile"===k?w(C):"RecursiveDirectoryUsingDynamicPriorityPolling"===k?w(v||p({getModifiedTime:L,setTimeout:setTimeout})):P,r=m({filePathComparer:h?t.compareStringsCaseSensitive:t.compareStringsCaseInsensitive,directoryExists:M,getAccessileSortedChildDirectories:function(e){return F(e).directories},watchDirectory:n});return function(e,t,i){if(i)return r(e,t);n(e,t)}}(),resolvePath:function(e){return u.resolve(e)},fileExists:O,directoryExists:M,createDirectory:function(e){S.directoryExists(e)||c.mkdirSync(e)},getExecutingFilePath:function(){return r},getCurrentDirectory:function(){return e.cwd()},getDirectories:function(e){return t.filter(c.readdirSync(e),function(n){return I(t.combinePaths(e,n),1)})},getEnvironmentVariable:function(t){return e.env[t]||""},readDirectory:function(n,r,i,a,o){return t.matchFiles(n,r,i,a,h,e.cwd(),o,F)},getModifiedTime:L,createHash:s?function(e){var t=s.createHash("md5");return t.update(e),t.digest("hex")}:function(e){return""+e.split("").map(function(e){return e.charCodeAt(0)}).reduce(function(e,t){return(e<<5)+e+t},5381)},getMemoryUsage:function(){return i.gc&&i.gc(),e.memoryUsage().heapUsed},getFileSize:function(e){try{var t=c.statSync(e);if(t.isFile())return t.size}catch(e){}return 0},exit:function(t){e.exit(t)},realpath:function(e){try{return c.realpathSync(e)}catch(t){return e}},debugMode:t.some(e.execArgv,function(e){return/^--(inspect|debug)(-brk)?(=\d+)?$/i.test(e)}),tryEnableSourceMapsForHost:function(){try{n("mtjK").install()}catch(e){}},setTimeout:setTimeout,clearTimeout:clearTimeout,clearScreen:function(){e.stdout.write("\x1bc")},setBlocking:function(){e.stdout&&e.stdout._handle&&e.stdout._handle.setBlocking&&e.stdout._handle.setBlocking(!0)}};return S;function D(){var e=t.createMultiMap(),n=t.createMap(),r=t.createGetCanonicalFileName(h);return function(i,o){var s=r(i);e.add(s,o);var c=t.getDirectoryPath(s)||".",u=n.get(c)||function(i,o){var s=A(i,function(n,o){var s=t.isString(o)?t.getNormalizedAbsolutePath(o,i):void 0,c=e.get(r(s));if(c)for(var u=0,l=c;u type."),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:t(1066,e.DiagnosticCategory.Error,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:t(1068,e.DiagnosticCategory.Error,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),_0_modifier_cannot_appear_on_a_type_member:t(1070,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:t(1071,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:t(1079,e.DiagnosticCategory.Error,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:t(1084,e.DiagnosticCategory.Error,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:t(1085,e.DiagnosticCategory.Error,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),An_accessor_cannot_be_declared_in_an_ambient_context:t(1086,e.DiagnosticCategory.Error,"An_accessor_cannot_be_declared_in_an_ambient_context_1086","An accessor cannot be declared in an ambient context."),_0_modifier_cannot_appear_on_a_constructor_declaration:t(1089,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:t(1090,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:t(1091,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:t(1092,e.DiagnosticCategory.Error,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:t(1093,e.DiagnosticCategory.Error,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:t(1094,e.DiagnosticCategory.Error,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:t(1095,e.DiagnosticCategory.Error,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:t(1096,e.DiagnosticCategory.Error,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:t(1097,e.DiagnosticCategory.Error,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:t(1098,e.DiagnosticCategory.Error,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:t(1099,e.DiagnosticCategory.Error,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:t(1100,e.DiagnosticCategory.Error,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:t(1101,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:t(1102,e.DiagnosticCategory.Error,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator:t(1103,e.DiagnosticCategory.Error,"A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator_1103","A 'for-await-of' statement is only allowed within an async function or async generator."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:t(1104,e.DiagnosticCategory.Error,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:t(1105,e.DiagnosticCategory.Error,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),Jump_target_cannot_cross_function_boundary:t(1107,e.DiagnosticCategory.Error,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:t(1108,e.DiagnosticCategory.Error,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:t(1109,e.DiagnosticCategory.Error,"Expression_expected_1109","Expression expected."),Type_expected:t(1110,e.DiagnosticCategory.Error,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:t(1113,e.DiagnosticCategory.Error,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:t(1114,e.DiagnosticCategory.Error,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:t(1115,e.DiagnosticCategory.Error,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:t(1116,e.DiagnosticCategory.Error,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:t(1117,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117","An object literal cannot have multiple properties with the same name in strict mode."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:t(1118,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:t(1119,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:t(1120,e.DiagnosticCategory.Error,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:t(1121,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),A_tuple_type_element_list_cannot_be_empty:t(1122,e.DiagnosticCategory.Error,"A_tuple_type_element_list_cannot_be_empty_1122","A tuple type element list cannot be empty."),Variable_declaration_list_cannot_be_empty:t(1123,e.DiagnosticCategory.Error,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:t(1124,e.DiagnosticCategory.Error,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:t(1125,e.DiagnosticCategory.Error,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:t(1126,e.DiagnosticCategory.Error,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:t(1127,e.DiagnosticCategory.Error,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:t(1128,e.DiagnosticCategory.Error,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:t(1129,e.DiagnosticCategory.Error,"Statement_expected_1129","Statement expected."),case_or_default_expected:t(1130,e.DiagnosticCategory.Error,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:t(1131,e.DiagnosticCategory.Error,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:t(1132,e.DiagnosticCategory.Error,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:t(1134,e.DiagnosticCategory.Error,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:t(1135,e.DiagnosticCategory.Error,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:t(1136,e.DiagnosticCategory.Error,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:t(1137,e.DiagnosticCategory.Error,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:t(1138,e.DiagnosticCategory.Error,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:t(1139,e.DiagnosticCategory.Error,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:t(1140,e.DiagnosticCategory.Error,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:t(1141,e.DiagnosticCategory.Error,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:t(1142,e.DiagnosticCategory.Error,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:t(1144,e.DiagnosticCategory.Error,"or_expected_1144","'{' or ';' expected."),Declaration_expected:t(1146,e.DiagnosticCategory.Error,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:t(1147,e.DiagnosticCategory.Error,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:t(1148,e.DiagnosticCategory.Error,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:t(1149,e.DiagnosticCategory.Error,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead:t(1150,e.DiagnosticCategory.Error,"new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead_1150","'new T[]' cannot be used to create an array. Use 'new Array()' instead."),const_declarations_must_be_initialized:t(1155,e.DiagnosticCategory.Error,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:t(1156,e.DiagnosticCategory.Error,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:t(1157,e.DiagnosticCategory.Error,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:t(1160,e.DiagnosticCategory.Error,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:t(1161,e.DiagnosticCategory.Error,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:t(1162,e.DiagnosticCategory.Error,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:t(1163,e.DiagnosticCategory.Error,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:t(1164,e.DiagnosticCategory.Error,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1165,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1166,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_1166","A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1168,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1169,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1170,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:t(1171,e.DiagnosticCategory.Error,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:t(1172,e.DiagnosticCategory.Error,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:t(1173,e.DiagnosticCategory.Error,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:t(1174,e.DiagnosticCategory.Error,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:t(1175,e.DiagnosticCategory.Error,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:t(1176,e.DiagnosticCategory.Error,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:t(1177,e.DiagnosticCategory.Error,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:t(1178,e.DiagnosticCategory.Error,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:t(1179,e.DiagnosticCategory.Error,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:t(1180,e.DiagnosticCategory.Error,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:t(1181,e.DiagnosticCategory.Error,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:t(1182,e.DiagnosticCategory.Error,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:t(1183,e.DiagnosticCategory.Error,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:t(1184,e.DiagnosticCategory.Error,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:t(1185,e.DiagnosticCategory.Error,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:t(1186,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:t(1187,e.DiagnosticCategory.Error,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:t(1188,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:t(1189,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:t(1190,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:t(1191,e.DiagnosticCategory.Error,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:t(1192,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:t(1193,e.DiagnosticCategory.Error,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:t(1194,e.DiagnosticCategory.Error,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),Catch_clause_variable_cannot_have_a_type_annotation:t(1196,e.DiagnosticCategory.Error,"Catch_clause_variable_cannot_have_a_type_annotation_1196","Catch clause variable cannot have a type annotation."),Catch_clause_variable_cannot_have_an_initializer:t(1197,e.DiagnosticCategory.Error,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:t(1198,e.DiagnosticCategory.Error,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:t(1199,e.DiagnosticCategory.Error,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:t(1200,e.DiagnosticCategory.Error,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:t(1202,e.DiagnosticCategory.Error,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202","Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:t(1203,e.DiagnosticCategory.Error,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided:t(1205,e.DiagnosticCategory.Error,"Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided_1205","Cannot re-export a type when the '--isolatedModules' flag is provided."),Decorators_are_not_valid_here:t(1206,e.DiagnosticCategory.Error,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:t(1207,e.DiagnosticCategory.Error,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided:t(1208,e.DiagnosticCategory.Error,"Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided_1208","Cannot compile namespaces when the '--isolatedModules' flag is provided."),Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided:t(1209,e.DiagnosticCategory.Error,"Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209","Ambient const enums are not allowed when the '--isolatedModules' flag is provided."),Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:t(1210,e.DiagnosticCategory.Error,"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210","Invalid use of '{0}'. Class definitions are automatically in strict mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:t(1211,e.DiagnosticCategory.Error,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:t(1212,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:t(1213,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:t(1214,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:t(1215,e.DiagnosticCategory.Error,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:t(1216,e.DiagnosticCategory.Error,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:t(1218,e.DiagnosticCategory.Error,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning:t(1219,e.DiagnosticCategory.Error,"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219","Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning."),Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:t(1220,e.DiagnosticCategory.Error,"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220","Generators are only available when targeting ECMAScript 2015 or higher."),Generators_are_not_allowed_in_an_ambient_context:t(1221,e.DiagnosticCategory.Error,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:t(1222,e.DiagnosticCategory.Error,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:t(1223,e.DiagnosticCategory.Error,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:t(1224,e.DiagnosticCategory.Error,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:t(1225,e.DiagnosticCategory.Error,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:t(1226,e.DiagnosticCategory.Error,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:t(1227,e.DiagnosticCategory.Error,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:t(1228,e.DiagnosticCategory.Error,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:t(1229,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:t(1230,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_can_only_be_used_in_a_module:t(1231,e.DiagnosticCategory.Error,"An_export_assignment_can_only_be_used_in_a_module_1231","An export assignment can only be used in a module."),An_import_declaration_can_only_be_used_in_a_namespace_or_module:t(1232,e.DiagnosticCategory.Error,"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232","An import declaration can only be used in a namespace or module."),An_export_declaration_can_only_be_used_in_a_module:t(1233,e.DiagnosticCategory.Error,"An_export_declaration_can_only_be_used_in_a_module_1233","An export declaration can only be used in a module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:t(1234,e.DiagnosticCategory.Error,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:t(1235,e.DiagnosticCategory.Error,"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235","A namespace declaration is only allowed in a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:t(1236,e.DiagnosticCategory.Error,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:t(1237,e.DiagnosticCategory.Error,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:t(1238,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:t(1239,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:t(1240,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:t(1241,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:t(1242,e.DiagnosticCategory.Error,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:t(1243,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:t(1244,e.DiagnosticCategory.Error,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:t(1245,e.DiagnosticCategory.Error,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:t(1246,e.DiagnosticCategory.Error,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:t(1247,e.DiagnosticCategory.Error,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:t(1248,e.DiagnosticCategory.Error,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:t(1249,e.DiagnosticCategory.Error,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:t(1250,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t(1251,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:t(1252,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:t(1253,e.DiagnosticCategory.Error,"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253","'{0}' tag cannot be used independently as a top level JSDoc tag."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal:t(1254,e.DiagnosticCategory.Error,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_1254","A 'const' initializer in an ambient context must be a string or numeric literal."),A_definite_assignment_assertion_is_not_permitted_in_this_context:t(1255,e.DiagnosticCategory.Error,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),with_statements_are_not_allowed_in_an_async_function_block:t(1300,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expression_is_only_allowed_within_an_async_function:t(1308,e.DiagnosticCategory.Error,"await_expression_is_only_allowed_within_an_async_function_1308","'await' expression is only allowed within an async function."),can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment:t(1312,e.DiagnosticCategory.Error,"can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment_1312","'=' can only be used in an object literal property inside a destructuring assignment."),The_body_of_an_if_statement_cannot_be_the_empty_statement:t(1313,e.DiagnosticCategory.Error,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:t(1314,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:t(1315,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:t(1316,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:t(1317,e.DiagnosticCategory.Error,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:t(1318,e.DiagnosticCategory.Error,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:t(1319,e.DiagnosticCategory.Error,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1320,e.DiagnosticCategory.Error,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1321,e.DiagnosticCategory.Error,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1322,e.DiagnosticCategory.Error,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_import_cannot_be_used_when_targeting_ECMAScript_2015_modules:t(1323,e.DiagnosticCategory.Error,"Dynamic_import_cannot_be_used_when_targeting_ECMAScript_2015_modules_1323","Dynamic import cannot be used when targeting ECMAScript 2015 modules."),Dynamic_import_must_have_one_specifier_as_an_argument:t(1324,e.DiagnosticCategory.Error,"Dynamic_import_must_have_one_specifier_as_an_argument_1324","Dynamic import must have one specifier as an argument."),Specifier_of_dynamic_import_cannot_be_spread_element:t(1325,e.DiagnosticCategory.Error,"Specifier_of_dynamic_import_cannot_be_spread_element_1325","Specifier of dynamic import cannot be spread element."),Dynamic_import_cannot_have_type_arguments:t(1326,e.DiagnosticCategory.Error,"Dynamic_import_cannot_have_type_arguments_1326","Dynamic import cannot have type arguments"),String_literal_with_double_quotes_expected:t(1327,e.DiagnosticCategory.Error,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:t(1328,e.DiagnosticCategory.Error,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:t(1329,e.DiagnosticCategory.Error,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:t(1330,e.DiagnosticCategory.Error,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:t(1331,e.DiagnosticCategory.Error,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:t(1332,e.DiagnosticCategory.Error,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:t(1333,e.DiagnosticCategory.Error,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:t(1334,e.DiagnosticCategory.Error,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:t(1335,e.DiagnosticCategory.Error,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead:t(1336,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead_1336","An index signature parameter type cannot be a type alias. Consider writing '[{0}: {1}]: {2}' instead."),An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead:t(1337,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead_1337","An index signature parameter type cannot be a union type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:t(1338,e.DiagnosticCategory.Error,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Duplicate_identifier_0:t(2300,e.DiagnosticCategory.Error,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:t(2301,e.DiagnosticCategory.Error,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:t(2302,e.DiagnosticCategory.Error,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:t(2303,e.DiagnosticCategory.Error,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:t(2304,e.DiagnosticCategory.Error,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:t(2305,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:t(2306,e.DiagnosticCategory.Error,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0:t(2307,e.DiagnosticCategory.Error,"Cannot_find_module_0_2307","Cannot find module '{0}'."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:t(2308,e.DiagnosticCategory.Error,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:t(2309,e.DiagnosticCategory.Error,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:t(2310,e.DiagnosticCategory.Error,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),A_class_may_only_extend_another_class:t(2311,e.DiagnosticCategory.Error,"A_class_may_only_extend_another_class_2311","A class may only extend another class."),An_interface_may_only_extend_a_class_or_another_interface:t(2312,e.DiagnosticCategory.Error,"An_interface_may_only_extend_a_class_or_another_interface_2312","An interface may only extend a class or another interface."),Type_parameter_0_has_a_circular_constraint:t(2313,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:t(2314,e.DiagnosticCategory.Error,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:t(2315,e.DiagnosticCategory.Error,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:t(2316,e.DiagnosticCategory.Error,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:t(2317,e.DiagnosticCategory.Error,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:t(2318,e.DiagnosticCategory.Error,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:t(2319,e.DiagnosticCategory.Error,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:t(2320,e.DiagnosticCategory.Error,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:t(2321,e.DiagnosticCategory.Error,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:t(2322,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:t(2323,e.DiagnosticCategory.Error,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:t(2324,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:t(2325,e.DiagnosticCategory.Error,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:t(2326,e.DiagnosticCategory.Error,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:t(2327,e.DiagnosticCategory.Error,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:t(2328,e.DiagnosticCategory.Error,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_is_missing_in_type_0:t(2329,e.DiagnosticCategory.Error,"Index_signature_is_missing_in_type_0_2329","Index signature is missing in type '{0}'."),Index_signatures_are_incompatible:t(2330,e.DiagnosticCategory.Error,"Index_signatures_are_incompatible_2330","Index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:t(2331,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:t(2332,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:t(2333,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:t(2334,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:t(2335,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:t(2336,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:t(2337,e.DiagnosticCategory.Error,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:t(2338,e.DiagnosticCategory.Error,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:t(2339,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:t(2340,e.DiagnosticCategory.Error,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:t(2341,e.DiagnosticCategory.Error,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:t(2342,e.DiagnosticCategory.Error,"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342","An index expression argument must be of type 'string', 'number', 'symbol', or 'any'."),This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1:t(2343,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1_2343","This syntax requires an imported helper named '{1}', but module '{0}' has no exported member '{1}'."),Type_0_does_not_satisfy_the_constraint_1:t(2344,e.DiagnosticCategory.Error,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:t(2345,e.DiagnosticCategory.Error,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:t(2346,e.DiagnosticCategory.Error,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:t(2347,e.DiagnosticCategory.Error,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:t(2348,e.DiagnosticCategory.Error,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures:t(2349,e.DiagnosticCategory.Error,"Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatur_2349","Cannot invoke an expression whose type lacks a call signature. Type '{0}' has no compatible call signatures."),Only_a_void_function_can_be_called_with_the_new_keyword:t(2350,e.DiagnosticCategory.Error,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature:t(2351,e.DiagnosticCategory.Error,"Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature_2351","Cannot use 'new' with an expression whose type lacks a call or construct signature."),Type_0_cannot_be_converted_to_type_1:t(2352,e.DiagnosticCategory.Error,"Type_0_cannot_be_converted_to_type_1_2352","Type '{0}' cannot be converted to type '{1}'."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:t(2353,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:t(2354,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:t(2355,e.DiagnosticCategory.Error,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type:t(2356,e.DiagnosticCategory.Error,"An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:t(2357,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:t(2358,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:t(2359,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:t(2360,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360","The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'."),The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:t(2361,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361","The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type:t(2362,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type:t(2363,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:t(2364,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:t(2365,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:t(2366,e.DiagnosticCategory.Error,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),Type_parameter_name_cannot_be_0:t(2368,e.DiagnosticCategory.Error,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:t(2369,e.DiagnosticCategory.Error,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:t(2370,e.DiagnosticCategory.Error,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:t(2371,e.DiagnosticCategory.Error,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_be_referenced_in_its_initializer:t(2372,e.DiagnosticCategory.Error,"Parameter_0_cannot_be_referenced_in_its_initializer_2372","Parameter '{0}' cannot be referenced in its initializer."),Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it:t(2373,e.DiagnosticCategory.Error,"Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_string_index_signature:t(2374,e.DiagnosticCategory.Error,"Duplicate_string_index_signature_2374","Duplicate string index signature."),Duplicate_number_index_signature:t(2375,e.DiagnosticCategory.Error,"Duplicate_number_index_signature_2375","Duplicate number index signature."),A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties:t(2376,e.DiagnosticCategory.Error,"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376","A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties."),Constructors_for_derived_classes_must_contain_a_super_call:t(2377,e.DiagnosticCategory.Error,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:t(2378,e.DiagnosticCategory.Error,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Getter_and_setter_accessors_do_not_agree_in_visibility:t(2379,e.DiagnosticCategory.Error,"Getter_and_setter_accessors_do_not_agree_in_visibility_2379","Getter and setter accessors do not agree in visibility."),get_and_set_accessor_must_have_the_same_type:t(2380,e.DiagnosticCategory.Error,"get_and_set_accessor_must_have_the_same_type_2380","'get' and 'set' accessor must have the same type."),A_signature_with_an_implementation_cannot_use_a_string_literal_type:t(2381,e.DiagnosticCategory.Error,"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381","A signature with an implementation cannot use a string literal type."),Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:t(2382,e.DiagnosticCategory.Error,"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382","Specialized overload signature is not assignable to any non-specialized signature."),Overload_signatures_must_all_be_exported_or_non_exported:t(2383,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:t(2384,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:t(2385,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:t(2386,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:t(2387,e.DiagnosticCategory.Error,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:t(2388,e.DiagnosticCategory.Error,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:t(2389,e.DiagnosticCategory.Error,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:t(2390,e.DiagnosticCategory.Error,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:t(2391,e.DiagnosticCategory.Error,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:t(2392,e.DiagnosticCategory.Error,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:t(2393,e.DiagnosticCategory.Error,"Duplicate_function_implementation_2393","Duplicate function implementation."),Overload_signature_is_not_compatible_with_function_implementation:t(2394,e.DiagnosticCategory.Error,"Overload_signature_is_not_compatible_with_function_implementation_2394","Overload signature is not compatible with function implementation."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:t(2395,e.DiagnosticCategory.Error,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:t(2396,e.DiagnosticCategory.Error,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:t(2397,e.DiagnosticCategory.Error,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:t(2399,e.DiagnosticCategory.Error,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:t(2400,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:t(2401,e.DiagnosticCategory.Error,"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401","Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:t(2402,e.DiagnosticCategory.Error,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:t(2403,e.DiagnosticCategory.Error,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:t(2404,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:t(2405,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:t(2406,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter:t(2407,e.DiagnosticCategory.Error,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter."),Setters_cannot_return_a_value:t(2408,e.DiagnosticCategory.Error,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:t(2409,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:t(2410,e.DiagnosticCategory.Error,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Property_0_of_type_1_is_not_assignable_to_string_index_type_2:t(2411,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411","Property '{0}' of type '{1}' is not assignable to string index type '{2}'."),Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:t(2412,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412","Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'."),Numeric_index_type_0_is_not_assignable_to_string_index_type_1:t(2413,e.DiagnosticCategory.Error,"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413","Numeric index type '{0}' is not assignable to string index type '{1}'."),Class_name_cannot_be_0:t(2414,e.DiagnosticCategory.Error,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:t(2415,e.DiagnosticCategory.Error,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:t(2416,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:t(2417,e.DiagnosticCategory.Error,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Class_0_incorrectly_implements_interface_1:t(2420,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_may_only_implement_another_class_or_interface:t(2422,e.DiagnosticCategory.Error,"A_class_may_only_implement_another_class_or_interface_2422","A class may only implement another class or interface."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:t(2423,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property:t(2424,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_proper_2424","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:t(2425,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:t(2426,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:t(2427,e.DiagnosticCategory.Error,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:t(2428,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:t(2430,e.DiagnosticCategory.Error,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:t(2431,e.DiagnosticCategory.Error,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:t(2432,e.DiagnosticCategory.Error,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:t(2433,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:t(2434,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:t(2435,e.DiagnosticCategory.Error,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:t(2436,e.DiagnosticCategory.Error,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:t(2437,e.DiagnosticCategory.Error,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:t(2438,e.DiagnosticCategory.Error,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:t(2439,e.DiagnosticCategory.Error,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:t(2440,e.DiagnosticCategory.Error,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:t(2441,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:t(2442,e.DiagnosticCategory.Error,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:t(2443,e.DiagnosticCategory.Error,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:t(2444,e.DiagnosticCategory.Error,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:t(2445,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1:t(2446,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:t(2447,e.DiagnosticCategory.Error,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:t(2448,e.DiagnosticCategory.Error,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:t(2449,e.DiagnosticCategory.Error,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:t(2450,e.DiagnosticCategory.Error,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:t(2451,e.DiagnosticCategory.Error,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:t(2452,e.DiagnosticCategory.Error,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:t(2453,e.DiagnosticCategory.Error,"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453","The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly."),Variable_0_is_used_before_being_assigned:t(2454,e.DiagnosticCategory.Error,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:t(2455,e.DiagnosticCategory.Error,"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455","Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'."),Type_alias_0_circularly_references_itself:t(2456,e.DiagnosticCategory.Error,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:t(2457,e.DiagnosticCategory.Error,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:t(2458,e.DiagnosticCategory.Error,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Type_0_has_no_property_1_and_no_string_index_signature:t(2459,e.DiagnosticCategory.Error,"Type_0_has_no_property_1_and_no_string_index_signature_2459","Type '{0}' has no property '{1}' and no string index signature."),Type_0_has_no_property_1:t(2460,e.DiagnosticCategory.Error,"Type_0_has_no_property_1_2460","Type '{0}' has no property '{1}'."),Type_0_is_not_an_array_type:t(2461,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:t(2462,e.DiagnosticCategory.Error,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:t(2463,e.DiagnosticCategory.Error,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:t(2464,e.DiagnosticCategory.Error,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:t(2465,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:t(2466,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:t(2467,e.DiagnosticCategory.Error,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:t(2468,e.DiagnosticCategory.Error,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:t(2469,e.DiagnosticCategory.Error,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:t(2470,e.DiagnosticCategory.Error,"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470","'Symbol' reference does not refer to the global Symbol constructor object."),A_computed_property_name_of_the_form_0_must_be_of_type_symbol:t(2471,e.DiagnosticCategory.Error,"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471","A computed property name of the form '{0}' must be of type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:t(2472,e.DiagnosticCategory.Error,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:t(2473,e.DiagnosticCategory.Error,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),In_const_enum_declarations_member_initializer_must_be_constant_expression:t(2474,e.DiagnosticCategory.Error,"In_const_enum_declarations_member_initializer_must_be_constant_expression_2474","In 'const' enum declarations member initializer must be constant expression."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:t(2475,e.DiagnosticCategory.Error,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:t(2476,e.DiagnosticCategory.Error,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:t(2477,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:t(2478,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),Property_0_does_not_exist_on_const_enum_1:t(2479,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_const_enum_1_2479","Property '{0}' does not exist on 'const' enum '{1}'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:t(2480,e.DiagnosticCategory.Error,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:t(2481,e.DiagnosticCategory.Error,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:t(2483,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:t(2484,e.DiagnosticCategory.Error,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:t(2487,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2488,e.DiagnosticCategory.Error,"Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:t(2489,e.DiagnosticCategory.Error,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property:t(2490,e.DiagnosticCategory.Error,"The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the 'next()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:t(2491,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:t(2492,e.DiagnosticCategory.Error,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2:t(2493,e.DiagnosticCategory.Error,"Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2_2493","Tuple type '{0}' with length '{1}' cannot be assigned to tuple with length '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:t(2494,e.DiagnosticCategory.Error,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:t(2495,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:t(2496,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct:t(2497,e.DiagnosticCategory.Error,"Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct_2497","Module '{0}' resolves to a non-module entity and cannot be imported using this construct."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:t(2498,e.DiagnosticCategory.Error,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2499,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2500,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:t(2501,e.DiagnosticCategory.Error,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:t(2502,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:t(2503,e.DiagnosticCategory.Error,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:t(2504,e.DiagnosticCategory.Error,"Type_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:t(2505,e.DiagnosticCategory.Error,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:t(2506,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:t(2507,e.DiagnosticCategory.Error,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:t(2508,e.DiagnosticCategory.Error,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_a_class_or_interface_type:t(2509,e.DiagnosticCategory.Error,"Base_constructor_return_type_0_is_not_a_class_or_interface_type_2509","Base constructor return type '{0}' is not a class or interface type."),Base_constructors_must_all_have_the_same_return_type:t(2510,e.DiagnosticCategory.Error,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:t(2511,e.DiagnosticCategory.Error,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:t(2512,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:t(2513,e.DiagnosticCategory.Error,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),Classes_containing_abstract_methods_must_be_marked_abstract:t(2514,e.DiagnosticCategory.Error,"Classes_containing_abstract_methods_must_be_marked_abstract_2514","Classes containing abstract methods must be marked abstract."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:t(2515,e.DiagnosticCategory.Error,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:t(2516,e.DiagnosticCategory.Error,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:t(2517,e.DiagnosticCategory.Error,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:t(2518,e.DiagnosticCategory.Error,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:t(2519,e.DiagnosticCategory.Error,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:t(2520,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:t(2521,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521","Expression resolves to variable declaration '{0}' that compiler uses to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:t(2522,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:t(2523,e.DiagnosticCategory.Error,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:t(2524,e.DiagnosticCategory.Error,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:t(2525,e.DiagnosticCategory.Error,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:t(2526,e.DiagnosticCategory.Error,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:t(2527,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:t(2528,e.DiagnosticCategory.Error,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:t(2529,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:t(2530,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:t(2531,e.DiagnosticCategory.Error,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:t(2532,e.DiagnosticCategory.Error,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:t(2533,e.DiagnosticCategory.Error,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:t(2534,e.DiagnosticCategory.Error,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Enum_type_0_has_members_with_initializers_that_are_not_literals:t(2535,e.DiagnosticCategory.Error,"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535","Enum type '{0}' has members with initializers that are not literals."),Type_0_cannot_be_used_to_index_type_1:t(2536,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:t(2537,e.DiagnosticCategory.Error,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:t(2538,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:t(2539,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property:t(2540,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property_2540","Cannot assign to '{0}' because it is a constant or a read-only property."),The_target_of_an_assignment_must_be_a_variable_or_a_property_access:t(2541,e.DiagnosticCategory.Error,"The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541","The target of an assignment must be a variable or a property access."),Index_signature_in_type_0_only_permits_reading:t(2542,e.DiagnosticCategory.Error,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:t(2543,e.DiagnosticCategory.Error,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:t(2544,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:t(2545,e.DiagnosticCategory.Error,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1:t(2546,e.DiagnosticCategory.Error,"Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1_2546","Property '{0}' has conflicting declarations and is inaccessible in type '{1}'."),The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:t(2547,e.DiagnosticCategory.Error,"The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value__2547","The type returned by the 'next()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2548,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2549,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Generic_type_instantiation_is_excessively_deep_and_possibly_infinite:t(2550,e.DiagnosticCategory.Error,"Generic_type_instantiation_is_excessively_deep_and_possibly_infinite_2550","Generic type instantiation is excessively deep and possibly infinite."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:t(2551,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:t(2552,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:t(2553,e.DiagnosticCategory.Error,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:t(2554,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:t(2555,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),Expected_0_arguments_but_got_1_or_more:t(2556,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_or_more_2556","Expected {0} arguments, but got {1} or more."),Expected_at_least_0_arguments_but_got_1_or_more:t(2557,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_or_more_2557","Expected at least {0} arguments, but got {1} or more."),Expected_0_type_arguments_but_got_1:t(2558,e.DiagnosticCategory.Error,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:t(2559,e.DiagnosticCategory.Error,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:t(2560,e.DiagnosticCategory.Error,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:t(2561,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:t(2562,e.DiagnosticCategory.Error,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:t(2563,e.DiagnosticCategory.Error,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:t(2564,e.DiagnosticCategory.Error,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:t(2565,e.DiagnosticCategory.Error,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:t(2566,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:t(2567,e.DiagnosticCategory.Error,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),JSX_element_attributes_type_0_may_not_be_a_union_type:t(2600,e.DiagnosticCategory.Error,"JSX_element_attributes_type_0_may_not_be_a_union_type_2600","JSX element attributes type '{0}' may not be a union type."),The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:t(2601,e.DiagnosticCategory.Error,"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601","The return type of a JSX element constructor must return an object type."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:t(2602,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:t(2603,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:t(2604,e.DiagnosticCategory.Error,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:t(2605,e.DiagnosticCategory.Error,"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605","JSX element type '{0}' is not a constructor function for JSX elements."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:t(2606,e.DiagnosticCategory.Error,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:t(2607,e.DiagnosticCategory.Error,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:t(2608,e.DiagnosticCategory.Error,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:t(2609,e.DiagnosticCategory.Error,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:t(2649,e.DiagnosticCategory.Error,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:t(2651,e.DiagnosticCategory.Error,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:t(2652,e.DiagnosticCategory.Error,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:t(2653,e.DiagnosticCategory.Error,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:t(2654,e.DiagnosticCategory.Error,"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654","Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition."),Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:t(2656,e.DiagnosticCategory.Error,"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656","Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition."),JSX_expressions_must_have_one_parent_element:t(2657,e.DiagnosticCategory.Error,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:t(2658,e.DiagnosticCategory.Error,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:t(2659,e.DiagnosticCategory.Error,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:t(2660,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:t(2661,e.DiagnosticCategory.Error,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:t(2662,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:t(2663,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:t(2664,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:t(2665,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:t(2666,e.DiagnosticCategory.Error,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:t(2667,e.DiagnosticCategory.Error,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:t(2668,e.DiagnosticCategory.Error,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:t(2669,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:t(2670,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:t(2671,e.DiagnosticCategory.Error,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:t(2672,e.DiagnosticCategory.Error,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:t(2673,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:t(2674,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:t(2675,e.DiagnosticCategory.Error,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:t(2676,e.DiagnosticCategory.Error,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:t(2677,e.DiagnosticCategory.Error,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:t(2678,e.DiagnosticCategory.Error,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:t(2679,e.DiagnosticCategory.Error,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:t(2680,e.DiagnosticCategory.Error,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:t(2681,e.DiagnosticCategory.Error,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),get_and_set_accessor_must_have_the_same_this_type:t(2682,e.DiagnosticCategory.Error,"get_and_set_accessor_must_have_the_same_this_type_2682","'get' and 'set' accessor must have the same 'this' type."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:t(2683,e.DiagnosticCategory.Error,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:t(2684,e.DiagnosticCategory.Error,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:t(2685,e.DiagnosticCategory.Error,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:t(2686,e.DiagnosticCategory.Error,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:t(2687,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:t(2688,e.DiagnosticCategory.Error,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:t(2689,e.DiagnosticCategory.Error,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:t(2691,e.DiagnosticCategory.Error,"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691","An import path cannot end with a '{0}' extension. Consider importing '{1}' instead."),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:t(2692,e.DiagnosticCategory.Error,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:t(2693,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:t(2694,e.DiagnosticCategory.Error,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:t(2695,e.DiagnosticCategory.Error,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects."),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:t(2696,e.DiagnosticCategory.Error,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2697,e.DiagnosticCategory.Error,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."),Spread_types_may_only_be_created_from_object_types:t(2698,e.DiagnosticCategory.Error,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:t(2699,e.DiagnosticCategory.Error,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:t(2700,e.DiagnosticCategory.Error,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:t(2701,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:t(2702,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:t(2703,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a delete operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:t(2704,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a delete operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:t(2705,e.DiagnosticCategory.Error,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option."),Required_type_parameters_may_not_follow_optional_type_parameters:t(2706,e.DiagnosticCategory.Error,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:t(2707,e.DiagnosticCategory.Error,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:t(2708,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:t(2709,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:t(2710,e.DiagnosticCategory.Error,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2711,e.DiagnosticCategory.Error,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:t(2712,e.DiagnosticCategory.Error,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:t(2713,e.DiagnosticCategory.Error,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713","Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}[\"{1}\"]'?"),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:t(2714,e.DiagnosticCategory.Error,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:t(2715,e.DiagnosticCategory.Error,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:t(2716,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:t(2717,e.DiagnosticCategory.Error,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_declaration_0:t(2718,e.DiagnosticCategory.Error,"Duplicate_declaration_0_2718","Duplicate declaration '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:t(2719,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:t(2720,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:t(2721,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:t(2722,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:t(2723,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),Module_0_has_no_exported_member_1_Did_you_mean_2:t(2724,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_Did_you_mean_2_2724","Module '{0}' has no exported member '{1}'. Did you mean '{2}'?"),Import_declaration_0_is_using_private_name_1:t(4e3,e.DiagnosticCategory.Error,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:t(4002,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:t(4004,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:t(4006,e.DiagnosticCategory.Error,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:t(4008,e.DiagnosticCategory.Error,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:t(4010,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t(4012,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:t(4014,e.DiagnosticCategory.Error,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:t(4016,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:t(4019,e.DiagnosticCategory.Error,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:t(4020,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:t(4022,e.DiagnosticCategory.Error,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4023,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:t(4024,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:t(4025,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4026,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4027,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:t(4028,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4029,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4030,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:t(4031,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4032,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:t(4033,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4034,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4035,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4036,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4037,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4038,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4039,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4040,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4041,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4042,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4043,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4044,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:t(4045,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4046,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:t(4047,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4048,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:t(4049,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4050,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:t(4051,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:t(4052,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4053,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:t(4054,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:t(4055,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4056,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:t(4057,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4058,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:t(4059,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:t(4060,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4061,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4062,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:t(4063,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4064,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:t(4065,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4066,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:t(4067,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4068,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4069,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:t(4070,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4071,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4072,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t(4073,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4074,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:t(4075,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4076,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:t(4077,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:t(4078,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:t(4081,e.DiagnosticCategory.Error,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:t(4082,e.DiagnosticCategory.Error,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:t(4083,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:t(4090,e.DiagnosticCategory.Error,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4091,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:t(4092,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:t(4094,e.DiagnosticCategory.Error,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4095,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4096,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:t(4097,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4098,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4099,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:t(4100,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4101,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:t(4102,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),The_current_host_does_not_support_the_0_option:t(5001,e.DiagnosticCategory.Error,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:t(5009,e.DiagnosticCategory.Error,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5010,e.DiagnosticCategory.Error,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:t(5012,e.DiagnosticCategory.Error,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:t(5014,e.DiagnosticCategory.Error,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:t(5023,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:t(5024,e.DiagnosticCategory.Error,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Could_not_write_file_0_Colon_1:t(5033,e.DiagnosticCategory.Error,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:t(5042,e.DiagnosticCategory.Error,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:t(5047,e.DiagnosticCategory.Error,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:t(5051,e.DiagnosticCategory.Error,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:t(5052,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:t(5053,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:t(5054,e.DiagnosticCategory.Error,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:t(5055,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:t(5056,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:t(5057,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:t(5058,e.DiagnosticCategory.Error,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:t(5059,e.DiagnosticCategory.Error,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Option_paths_cannot_be_used_without_specifying_baseUrl_option:t(5060,e.DiagnosticCategory.Error,"Option_paths_cannot_be_used_without_specifying_baseUrl_option_5060","Option 'paths' cannot be used without specifying '--baseUrl' option."),Pattern_0_can_have_at_most_one_Asterisk_character:t(5061,e.DiagnosticCategory.Error,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character:t(5062,e.DiagnosticCategory.Error,"Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' in can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:t(5063,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:t(5064,e.DiagnosticCategory.Error,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5065,e.DiagnosticCategory.Error,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:t(5066,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:t(5067,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:t(5068,e.DiagnosticCategory.Error,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Concatenate_and_emit_output_to_single_file:t(6001,e.DiagnosticCategory.Message,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:t(6002,e.DiagnosticCategory.Message,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:t(6003,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:t(6004,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:t(6005,e.DiagnosticCategory.Message,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:t(6006,e.DiagnosticCategory.Message,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:t(6007,e.DiagnosticCategory.Message,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:t(6008,e.DiagnosticCategory.Message,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:t(6009,e.DiagnosticCategory.Message,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:t(6010,e.DiagnosticCategory.Message,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:t(6011,e.DiagnosticCategory.Message,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:t(6012,e.DiagnosticCategory.Message,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:t(6013,e.DiagnosticCategory.Message,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:t(6014,e.DiagnosticCategory.Message,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_or_ESNEXT:t(6015,e.DiagnosticCategory.Message,"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_or_ESNEXT_6015","Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'."),Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_or_ESNext:t(6016,e.DiagnosticCategory.Message,"Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_or_ESNext_6016","Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'."),Print_this_message:t(6017,e.DiagnosticCategory.Message,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:t(6019,e.DiagnosticCategory.Message,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:t(6020,e.DiagnosticCategory.Message,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:t(6023,e.DiagnosticCategory.Message,"Syntax_Colon_0_6023","Syntax: {0}"),options:t(6024,e.DiagnosticCategory.Message,"options_6024","options"),file:t(6025,e.DiagnosticCategory.Message,"file_6025","file"),Examples_Colon_0:t(6026,e.DiagnosticCategory.Message,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:t(6027,e.DiagnosticCategory.Message,"Options_Colon_6027","Options:"),Version_0:t(6029,e.DiagnosticCategory.Message,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:t(6030,e.DiagnosticCategory.Message,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:t(6031,e.DiagnosticCategory.Message,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:t(6032,e.DiagnosticCategory.Message,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:t(6034,e.DiagnosticCategory.Message,"KIND_6034","KIND"),FILE:t(6035,e.DiagnosticCategory.Message,"FILE_6035","FILE"),VERSION:t(6036,e.DiagnosticCategory.Message,"VERSION_6036","VERSION"),LOCATION:t(6037,e.DiagnosticCategory.Message,"LOCATION_6037","LOCATION"),DIRECTORY:t(6038,e.DiagnosticCategory.Message,"DIRECTORY_6038","DIRECTORY"),STRATEGY:t(6039,e.DiagnosticCategory.Message,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:t(6040,e.DiagnosticCategory.Message,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Compilation_complete_Watching_for_file_changes:t(6042,e.DiagnosticCategory.Message,"Compilation_complete_Watching_for_file_changes_6042","Compilation complete. Watching for file changes."),Generates_corresponding_map_file:t(6043,e.DiagnosticCategory.Message,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:t(6044,e.DiagnosticCategory.Error,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:t(6045,e.DiagnosticCategory.Error,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:t(6046,e.DiagnosticCategory.Error,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:t(6048,e.DiagnosticCategory.Error,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unsupported_locale_0:t(6049,e.DiagnosticCategory.Error,"Unsupported_locale_0_6049","Unsupported locale '{0}'."),Unable_to_open_file_0:t(6050,e.DiagnosticCategory.Error,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:t(6051,e.DiagnosticCategory.Error,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:t(6052,e.DiagnosticCategory.Message,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:t(6053,e.DiagnosticCategory.Error,"File_0_not_found_6053","File '{0}' not found."),File_0_has_unsupported_extension_The_only_supported_extensions_are_1:t(6054,e.DiagnosticCategory.Error,"File_0_has_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:t(6055,e.DiagnosticCategory.Message,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:t(6056,e.DiagnosticCategory.Message,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:t(6058,e.DiagnosticCategory.Message,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:t(6059,e.DiagnosticCategory.Error,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:t(6060,e.DiagnosticCategory.Message,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:t(6061,e.DiagnosticCategory.Message,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file:t(6064,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_6064","Option '{0}' can only be specified in 'tsconfig.json' file."),Enables_experimental_support_for_ES7_decorators:t(6065,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:t(6066,e.DiagnosticCategory.Message,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Enables_experimental_support_for_ES7_async_functions:t(6068,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_async_functions_6068","Enables experimental support for ES7 async functions."),Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:t(6069,e.DiagnosticCategory.Message,"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069","Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:t(6070,e.DiagnosticCategory.Message,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:t(6071,e.DiagnosticCategory.Message,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:t(6072,e.DiagnosticCategory.Message,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:t(6073,e.DiagnosticCategory.Message,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:t(6074,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:t(6075,e.DiagnosticCategory.Message,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:t(6076,e.DiagnosticCategory.Message,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:t(6077,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:t(6078,e.DiagnosticCategory.Message,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:t(6079,e.DiagnosticCategory.Message,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation_Colon_preserve_react_native_or_react:t(6080,e.DiagnosticCategory.Message,"Specify_JSX_code_generation_Colon_preserve_react_native_or_react_6080","Specify JSX code generation: 'preserve', 'react-native', or 'react'."),File_0_has_an_unsupported_extension_so_skipping_it:t(6081,e.DiagnosticCategory.Message,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:t(6082,e.DiagnosticCategory.Error,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:t(6083,e.DiagnosticCategory.Message,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:t(6084,e.DiagnosticCategory.Message,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:t(6085,e.DiagnosticCategory.Message,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:t(6086,e.DiagnosticCategory.Message,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:t(6087,e.DiagnosticCategory.Message,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:t(6088,e.DiagnosticCategory.Message,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:t(6089,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:t(6090,e.DiagnosticCategory.Message,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:t(6091,e.DiagnosticCategory.Message,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:t(6092,e.DiagnosticCategory.Message,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:t(6093,e.DiagnosticCategory.Message,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:t(6094,e.DiagnosticCategory.Message,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:t(6095,e.DiagnosticCategory.Message,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095","Loading module as file / folder, candidate module location '{0}', target file type '{1}'."),File_0_does_not_exist:t(6096,e.DiagnosticCategory.Message,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exist_use_it_as_a_name_resolution_result:t(6097,e.DiagnosticCategory.Message,"File_0_exist_use_it_as_a_name_resolution_result_6097","File '{0}' exist - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_type_1:t(6098,e.DiagnosticCategory.Message,"Loading_module_0_from_node_modules_folder_target_file_type_1_6098","Loading module '{0}' from 'node_modules' folder, target file type '{1}'."),Found_package_json_at_0:t(6099,e.DiagnosticCategory.Message,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:t(6100,e.DiagnosticCategory.Message,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:t(6101,e.DiagnosticCategory.Message,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:t(6102,e.DiagnosticCategory.Message,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Option_0_should_have_array_of_strings_as_a_value:t(6103,e.DiagnosticCategory.Error,"Option_0_should_have_array_of_strings_as_a_value_6103","Option '{0}' should have array of strings as a value."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:t(6104,e.DiagnosticCategory.Message,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_string_got_1:t(6105,e.DiagnosticCategory.Message,"Expected_type_of_0_field_in_package_json_to_be_string_got_1_6105","Expected type of '{0}' field in 'package.json' to be 'string', got '{1}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:t(6106,e.DiagnosticCategory.Message,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:t(6107,e.DiagnosticCategory.Message,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:t(6108,e.DiagnosticCategory.Message,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:t(6109,e.DiagnosticCategory.Message,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:t(6110,e.DiagnosticCategory.Message,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:t(6111,e.DiagnosticCategory.Message,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:t(6112,e.DiagnosticCategory.Message,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:t(6113,e.DiagnosticCategory.Message,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:t(6114,e.DiagnosticCategory.Error,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:t(6115,e.DiagnosticCategory.Message,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:t(6116,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Resolving_using_primary_search_paths:t(6117,e.DiagnosticCategory.Message,"Resolving_using_primary_search_paths_6117","Resolving using primary search paths..."),Resolving_from_node_modules_folder:t(6118,e.DiagnosticCategory.Message,"Resolving_from_node_modules_folder_6118","Resolving from node_modules folder..."),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:t(6119,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:t(6120,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:t(6121,e.DiagnosticCategory.Message,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:t(6122,e.DiagnosticCategory.Message,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:t(6123,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:t(6124,e.DiagnosticCategory.Message,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:t(6125,e.DiagnosticCategory.Message,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:t(6126,e.DiagnosticCategory.Message,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:t(6127,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:t(6128,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:t(6130,e.DiagnosticCategory.Message,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:t(6131,e.DiagnosticCategory.Error,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:t(6132,e.DiagnosticCategory.Message,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:t(6133,e.DiagnosticCategory.Error,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read."),Report_errors_on_unused_locals:t(6134,e.DiagnosticCategory.Message,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:t(6135,e.DiagnosticCategory.Message,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:t(6136,e.DiagnosticCategory.Message,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:t(6137,e.DiagnosticCategory.Error,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:t(6138,e.DiagnosticCategory.Error,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read."),Import_emit_helpers_from_tslib:t(6139,e.DiagnosticCategory.Message,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:t(6140,e.DiagnosticCategory.Error,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:t(6141,e.DiagnosticCategory.Message,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:t(6142,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:t(6144,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:t(6145,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:t(6146,e.DiagnosticCategory.Message,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:t(6147,e.DiagnosticCategory.Message,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:t(6148,e.DiagnosticCategory.Message,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:t(6149,e.DiagnosticCategory.Message,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:t(6150,e.DiagnosticCategory.Message,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:t(6151,e.DiagnosticCategory.Message,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:t(6152,e.DiagnosticCategory.Message,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:t(6153,e.DiagnosticCategory.Message,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:t(6154,e.DiagnosticCategory.Message,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:t(6155,e.DiagnosticCategory.Message,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:t(6156,e.DiagnosticCategory.Message,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:t(6157,e.DiagnosticCategory.Message,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:t(6158,e.DiagnosticCategory.Message,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:t(6159,e.DiagnosticCategory.Message,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:t(6160,e.DiagnosticCategory.Message,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:t(6161,e.DiagnosticCategory.Message,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:t(6162,e.DiagnosticCategory.Message,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:t(6163,e.DiagnosticCategory.Message,"The_character_set_of_the_input_files_6163","The character set of the input files."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:t(6164,e.DiagnosticCategory.Message,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Do_not_truncate_error_messages:t(6165,e.DiagnosticCategory.Message,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:t(6166,e.DiagnosticCategory.Message,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:t(6167,e.DiagnosticCategory.Message,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:t(6168,e.DiagnosticCategory.Message,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:t(6169,e.DiagnosticCategory.Message,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:t(6170,e.DiagnosticCategory.Message,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:t(6171,e.DiagnosticCategory.Message,"Command_line_Options_6171","Command-line Options"),Basic_Options:t(6172,e.DiagnosticCategory.Message,"Basic_Options_6172","Basic Options"),Strict_Type_Checking_Options:t(6173,e.DiagnosticCategory.Message,"Strict_Type_Checking_Options_6173","Strict Type-Checking Options"),Module_Resolution_Options:t(6174,e.DiagnosticCategory.Message,"Module_Resolution_Options_6174","Module Resolution Options"),Source_Map_Options:t(6175,e.DiagnosticCategory.Message,"Source_Map_Options_6175","Source Map Options"),Additional_Checks:t(6176,e.DiagnosticCategory.Message,"Additional_Checks_6176","Additional Checks"),Experimental_Options:t(6177,e.DiagnosticCategory.Message,"Experimental_Options_6177","Experimental Options"),Advanced_Options:t(6178,e.DiagnosticCategory.Message,"Advanced_Options_6178","Advanced Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:t(6179,e.DiagnosticCategory.Message,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:t(6180,e.DiagnosticCategory.Message,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),List_of_language_service_plugins:t(6181,e.DiagnosticCategory.Message,"List_of_language_service_plugins_6181","List of language service plugins."),Scoped_package_detected_looking_in_0:t(6182,e.DiagnosticCategory.Message,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_to_file_1_from_old_program:t(6183,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_to_file_1_from_old_program_6183","Reusing resolution of module '{0}' to file '{1}' from old program."),Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program:t(6184,e.DiagnosticCategory.Message,"Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program_6184","Reusing module resolutions originating in '{0}' since resolutions are unchanged from old program."),Disable_strict_checking_of_generic_signatures_in_function_types:t(6185,e.DiagnosticCategory.Message,"Disable_strict_checking_of_generic_signatures_in_function_types_6185","Disable strict checking of generic signatures in function types."),Enable_strict_checking_of_function_types:t(6186,e.DiagnosticCategory.Message,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:t(6187,e.DiagnosticCategory.Message,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:t(6188,e.DiagnosticCategory.Error,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:t(6189,e.DiagnosticCategory.Error,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Found_package_json_at_0_Package_ID_is_1:t(6190,e.DiagnosticCategory.Message,"Found_package_json_at_0_Package_ID_is_1_6190","Found 'package.json' at '{0}'. Package ID is '{1}'."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:t(6191,e.DiagnosticCategory.Message,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:t(6192,e.DiagnosticCategory.Error,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused."),Variable_0_implicitly_has_an_1_type:t(7005,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:t(7006,e.DiagnosticCategory.Error,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:t(7008,e.DiagnosticCategory.Error,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:t(7009,e.DiagnosticCategory.Error,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:t(7010,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:t(7011,e.DiagnosticCategory.Error,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7013,e.DiagnosticCategory.Error,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:t(7015,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:t(7016,e.DiagnosticCategory.Error,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:t(7017,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:t(7018,e.DiagnosticCategory.Error,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:t(7019,e.DiagnosticCategory.Error,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7020,e.DiagnosticCategory.Error,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:t(7022,e.DiagnosticCategory.Error,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:t(7023,e.DiagnosticCategory.Error,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:t(7024,e.DiagnosticCategory.Error,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type:t(7025,e.DiagnosticCategory.Error,"Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025","Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:t(7026,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:t(7027,e.DiagnosticCategory.Error,"Unreachable_code_detected_7027","Unreachable code detected."),Unused_label:t(7028,e.DiagnosticCategory.Error,"Unused_label_7028","Unused label."),Fallthrough_case_in_switch:t(7029,e.DiagnosticCategory.Error,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:t(7030,e.DiagnosticCategory.Error,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:t(7031,e.DiagnosticCategory.Error,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:t(7032,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:t(7033,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:t(7034,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_install_types_Slash_0_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:t(7035,e.DiagnosticCategory.Error,"Try_npm_install_types_Slash_0_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_mod_7035","Try `npm install @types/{0}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:t(7036,e.DiagnosticCategory.Error,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:t(7037,e.DiagnosticCategory.Message,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime:t(7038,e.DiagnosticCategory.Error,"A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_7038","A namespace-style import cannot be called or constructed, and will cause a failure at runtime."),Mapped_object_type_implicitly_has_an_any_template_type:t(7039,e.DiagnosticCategory.Error,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),You_cannot_rename_this_element:t(8e3,e.DiagnosticCategory.Error,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:t(8001,e.DiagnosticCategory.Error,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_a_ts_file:t(8002,e.DiagnosticCategory.Error,"import_can_only_be_used_in_a_ts_file_8002","'import ... =' can only be used in a .ts file."),export_can_only_be_used_in_a_ts_file:t(8003,e.DiagnosticCategory.Error,"export_can_only_be_used_in_a_ts_file_8003","'export=' can only be used in a .ts file."),type_parameter_declarations_can_only_be_used_in_a_ts_file:t(8004,e.DiagnosticCategory.Error,"type_parameter_declarations_can_only_be_used_in_a_ts_file_8004","'type parameter declarations' can only be used in a .ts file."),implements_clauses_can_only_be_used_in_a_ts_file:t(8005,e.DiagnosticCategory.Error,"implements_clauses_can_only_be_used_in_a_ts_file_8005","'implements clauses' can only be used in a .ts file."),interface_declarations_can_only_be_used_in_a_ts_file:t(8006,e.DiagnosticCategory.Error,"interface_declarations_can_only_be_used_in_a_ts_file_8006","'interface declarations' can only be used in a .ts file."),module_declarations_can_only_be_used_in_a_ts_file:t(8007,e.DiagnosticCategory.Error,"module_declarations_can_only_be_used_in_a_ts_file_8007","'module declarations' can only be used in a .ts file."),type_aliases_can_only_be_used_in_a_ts_file:t(8008,e.DiagnosticCategory.Error,"type_aliases_can_only_be_used_in_a_ts_file_8008","'type aliases' can only be used in a .ts file."),_0_can_only_be_used_in_a_ts_file:t(8009,e.DiagnosticCategory.Error,"_0_can_only_be_used_in_a_ts_file_8009","'{0}' can only be used in a .ts file."),types_can_only_be_used_in_a_ts_file:t(8010,e.DiagnosticCategory.Error,"types_can_only_be_used_in_a_ts_file_8010","'types' can only be used in a .ts file."),type_arguments_can_only_be_used_in_a_ts_file:t(8011,e.DiagnosticCategory.Error,"type_arguments_can_only_be_used_in_a_ts_file_8011","'type arguments' can only be used in a .ts file."),parameter_modifiers_can_only_be_used_in_a_ts_file:t(8012,e.DiagnosticCategory.Error,"parameter_modifiers_can_only_be_used_in_a_ts_file_8012","'parameter modifiers' can only be used in a .ts file."),non_null_assertions_can_only_be_used_in_a_ts_file:t(8013,e.DiagnosticCategory.Error,"non_null_assertions_can_only_be_used_in_a_ts_file_8013","'non-null assertions' can only be used in a .ts file."),enum_declarations_can_only_be_used_in_a_ts_file:t(8015,e.DiagnosticCategory.Error,"enum_declarations_can_only_be_used_in_a_ts_file_8015","'enum declarations' can only be used in a .ts file."),type_assertion_expressions_can_only_be_used_in_a_ts_file:t(8016,e.DiagnosticCategory.Error,"type_assertion_expressions_can_only_be_used_in_a_ts_file_8016","'type assertion expressions' can only be used in a .ts file."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:t(8017,e.DiagnosticCategory.Error,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:t(8018,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:t(8019,e.DiagnosticCategory.Message,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:t(8020,e.DiagnosticCategory.Error,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:t(8021,e.DiagnosticCategory.Error,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:t(8022,e.DiagnosticCategory.Error,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:t(8023,e.DiagnosticCategory.Error,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:t(8024,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:t(8025,e.DiagnosticCategory.Error,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one `@augments` or `@extends` tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:t(8026,e.DiagnosticCategory.Error,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:t(8027,e.DiagnosticCategory.Error,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:t(8028,e.DiagnosticCategory.Error,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:t(8029,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clause:t(9002,e.DiagnosticCategory.Error,"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002","Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clause."),class_expressions_are_not_currently_supported:t(9003,e.DiagnosticCategory.Error,"class_expressions_are_not_currently_supported_9003","'class' expressions are not currently supported."),Language_service_is_disabled:t(9004,e.DiagnosticCategory.Error,"Language_service_is_disabled_9004","Language service is disabled."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:t(17e3,e.DiagnosticCategory.Error,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:t(17001,e.DiagnosticCategory.Error,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:t(17002,e.DiagnosticCategory.Error,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),JSX_attribute_expected:t(17003,e.DiagnosticCategory.Error,"JSX_attribute_expected_17003","JSX attribute expected."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:t(17004,e.DiagnosticCategory.Error,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:t(17005,e.DiagnosticCategory.Error,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:t(17006,e.DiagnosticCategory.Error,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:t(17007,e.DiagnosticCategory.Error,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:t(17008,e.DiagnosticCategory.Error,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:t(17009,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:t(17010,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:t(17011,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:t(17012,e.DiagnosticCategory.Error,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:t(17013,e.DiagnosticCategory.Error,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:t(17014,e.DiagnosticCategory.Error,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:t(17015,e.DiagnosticCategory.Error,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),JSX_fragment_is_not_supported_when_using_jsxFactory:t(17016,e.DiagnosticCategory.Error,"JSX_fragment_is_not_supported_when_using_jsxFactory_17016","JSX fragment is not supported when using --jsxFactory"),JSX_fragment_is_not_supported_when_using_an_inline_JSX_factory_pragma:t(17017,e.DiagnosticCategory.Error,"JSX_fragment_is_not_supported_when_using_an_inline_JSX_factory_pragma_17017","JSX fragment is not supported when using an inline JSX factory pragma"),Circularity_detected_while_resolving_configuration_Colon_0:t(18e3,e.DiagnosticCategory.Error,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not:t(18001,e.DiagnosticCategory.Error,"A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001","A path in an 'extends' option must be relative or rooted, but '{0}' is not."),The_files_list_in_config_file_0_is_empty:t(18002,e.DiagnosticCategory.Error,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:t(18003,e.DiagnosticCategory.Error,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module:t(80001,e.DiagnosticCategory.Suggestion,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module_80001","File is a CommonJS module; it may be converted to an ES6 module."),This_constructor_function_may_be_converted_to_a_class_declaration:t(80002,e.DiagnosticCategory.Suggestion,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:t(80003,e.DiagnosticCategory.Suggestion,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:t(80004,e.DiagnosticCategory.Suggestion,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),Add_missing_super_call:t(90001,e.DiagnosticCategory.Message,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:t(90002,e.DiagnosticCategory.Message,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:t(90003,e.DiagnosticCategory.Message,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_declaration_for_Colon_0:t(90004,e.DiagnosticCategory.Message,"Remove_declaration_for_Colon_0_90004","Remove declaration for: '{0}'"),Remove_import_from_0:t(90005,e.DiagnosticCategory.Message,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:t(90006,e.DiagnosticCategory.Message,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:t(90007,e.DiagnosticCategory.Message,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_this_to_unresolved_variable:t(90008,e.DiagnosticCategory.Message,"Add_this_to_unresolved_variable_90008","Add 'this.' to unresolved variable"),Import_0_from_module_1:t(90013,e.DiagnosticCategory.Message,"Import_0_from_module_1_90013","Import '{0}' from module \"{1}\""),Change_0_to_1:t(90014,e.DiagnosticCategory.Message,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Add_0_to_existing_import_declaration_from_1:t(90015,e.DiagnosticCategory.Message,"Add_0_to_existing_import_declaration_from_1_90015","Add '{0}' to existing import declaration from \"{1}\""),Declare_property_0:t(90016,e.DiagnosticCategory.Message,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:t(90017,e.DiagnosticCategory.Message,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:t(90018,e.DiagnosticCategory.Message,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:t(90019,e.DiagnosticCategory.Message,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:t(90020,e.DiagnosticCategory.Message,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:t(90021,e.DiagnosticCategory.Message,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:t(90022,e.DiagnosticCategory.Message,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:t(90023,e.DiagnosticCategory.Message,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:t(90024,e.DiagnosticCategory.Message,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:t(90025,e.DiagnosticCategory.Message,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:t(90026,e.DiagnosticCategory.Message,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:t(90027,e.DiagnosticCategory.Message,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:t(90028,e.DiagnosticCategory.Message,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:t(90029,e.DiagnosticCategory.Message,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Convert_function_to_an_ES2015_class:t(95001,e.DiagnosticCategory.Message,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_function_0_to_class:t(95002,e.DiagnosticCategory.Message,"Convert_function_0_to_class_95002","Convert function '{0}' to class"),Extract_to_0_in_1:t(95004,e.DiagnosticCategory.Message,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:t(95005,e.DiagnosticCategory.Message,"Extract_function_95005","Extract function"),Extract_constant:t(95006,e.DiagnosticCategory.Message,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:t(95007,e.DiagnosticCategory.Message,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:t(95008,e.DiagnosticCategory.Message,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:t(95009,e.DiagnosticCategory.Message,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Annotate_with_types_from_JSDoc:t(95010,e.DiagnosticCategory.Message,"Annotate_with_types_from_JSDoc_95010","Annotate with types from JSDoc"),Infer_type_of_0_from_usage:t(95011,e.DiagnosticCategory.Message,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:t(95012,e.DiagnosticCategory.Message,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:t(95013,e.DiagnosticCategory.Message,"Convert_to_default_import_95013","Convert to default import"),Install_0:t(95014,e.DiagnosticCategory.Message,"Install_0_95014","Install '{0}'"),Replace_import_with_0:t(95015,e.DiagnosticCategory.Message,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:t(95016,e.DiagnosticCategory.Message,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES6_module:t(95017,e.DiagnosticCategory.Message,"Convert_to_ES6_module_95017","Convert to ES6 module"),Add_undefined_type_to_property_0:t(95018,e.DiagnosticCategory.Message,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:t(95019,e.DiagnosticCategory.Message,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:t(95020,e.DiagnosticCategory.Message,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'")}}(l||(l={})),function(e){function t(e){return e>=71}e.tokenIsIdentifierOrKeyword=t,e.tokenIsIdentifierOrKeywordOrGreaterThan=function(e){return 29===e||t(e)};var n=e.createMapFromTemplate({abstract:117,any:119,as:118,boolean:122,break:72,case:73,catch:74,class:75,continue:77,const:76,constructor:123,debugger:78,declare:124,default:79,delete:80,do:81,else:82,enum:83,export:84,extends:85,false:86,finally:87,for:88,from:142,function:89,get:125,if:90,implements:108,import:91,in:92,infer:126,instanceof:93,interface:109,is:127,keyof:128,let:110,module:129,namespace:130,never:131,new:94,null:95,number:134,object:135,package:111,private:112,protected:113,public:114,readonly:132,require:133,global:143,return:96,set:136,static:115,string:137,super:97,switch:98,symbol:138,this:99,throw:100,true:101,try:102,type:139,typeof:103,undefined:140,unique:141,var:104,void:105,while:106,with:107,yield:116,async:120,await:121,of:144,"{":17,"}":18,"(":19,")":20,"[":21,"]":22,".":23,"...":24,";":25,",":26,"<":27,">":29,"<=":30,">=":31,"==":32,"!=":33,"===":34,"!==":35,"=>":36,"+":37,"-":38,"**":40,"*":39,"/":41,"%":42,"++":43,"--":44,"<<":45,">":46,">>>":47,"&":48,"|":49,"^":50,"!":51,"~":52,"&&":53,"||":54,"?":55,":":56,"=":58,"+=":59,"-=":60,"*=":61,"**=":62,"/=":63,"%=":64,"<<=":65,">>=":66,">>>=":67,"&=":68,"|=":69,"^=":70,"@":57}),r=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],i=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],a=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],o=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];function s(e,t){if(e=1?a:r)}e.isUnicodeIdentifierStart=c;var u,l=(u=[],n.forEach(function(e,t){u[e]=t}),u);function _(e){for(var t=new Array,n=0,r=0;n127&&y(i)&&(t.push(r),r=n)}}return t.push(r),t}function d(t,n,r,i){(n<0||n>=t.length)&&e.Debug.fail("Bad line number. Line: "+n+", lineStarts.length: "+t.length+" , line map is correct? "+(void 0!==i?e.arraysEqual(t,_(i)):"unknown"));var a=t[n]+r;return n=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function y(e){return 10===e||13===e||8232===e||8233===e}function h(e){return e>=48&&e<=57}function v(e){return e>=48&&e<=55}e.tokenToString=function(e){return l[e]},e.stringToToken=function(e){return n.get(e)},e.computeLineStarts=_,e.getPositionOfLineAndCharacter=function(e,t,n){return d(p(e),t,n,e.text)},e.computePositionOfLineAndCharacter=d,e.getLineStarts=p,e.computeLineAndCharacterOfPosition=f,e.getLineAndCharacterOfPosition=function(e,t){return f(p(e),t)},e.isWhiteSpaceLike=m,e.isWhiteSpaceSingleLine=g,e.isLineBreak=y,e.isOctalDigit=v,e.couldStartTrivia=function(e,t){var n=e.charCodeAt(t);switch(n){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return 0===t;default:return n>127}},e.skipTrivia=function(t,n,r,i){if(void 0===i&&(i=!1),e.positionIsSynthesized(n))return n;for(;;){var a=t.charCodeAt(n);switch(a){case 13:10===t.charCodeAt(n+1)&&n++;case 10:if(n++,r)return n;continue;case 9:case 11:case 12:case 32:n++;continue;case 47:if(i)break;if(47===t.charCodeAt(n+1)){for(n+=2;n127&&m(a)){n++;continue}}return n}};var b="<<<<<<<".length;function x(t,n){if(e.Debug.assert(n>=0),0===n||y(t.charCodeAt(n-1))){var r=t.charCodeAt(n);if(n+b=0&&n127&&m(f)){_&&y(f)&&(l=!0),n++;continue}break e}}return _&&(p=i(s,c,u,l,a,p)),p}function E(e,t,n,r,i){return T(!0,e,t,!1,n,r,i)}function N(e,t,n,r,i){return T(!0,e,t,!0,n,r,i)}function A(e,t,n,r,i,a){return a||(a=[]),a.push({kind:n,pos:e,end:t,hasTrailingNewLine:r}),a}function P(e,t){return e>=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&c(e,t)}function w(e,t){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||e>127&&function(t,n){return s(e,n>=1?o:i)}(0,t)}e.forEachLeadingCommentRange=function(e,t,n,r){return T(!1,e,t,!1,n,r)},e.forEachTrailingCommentRange=function(e,t,n,r){return T(!1,e,t,!0,n,r)},e.reduceEachLeadingCommentRange=E,e.reduceEachTrailingCommentRange=N,e.getLeadingCommentRanges=function(e,t){return E(e,t,A,void 0,void 0)},e.getTrailingCommentRanges=function(e,t){return N(e,t,A,void 0,void 0)},e.getShebang=function(e){var t=S.exec(e);if(t)return t[0]},e.isIdentifierStart=P,e.isIdentifierPart=w,e.isIdentifierText=function(e,t){if(!P(e.charCodeAt(0),t))return!1;for(var n=1;n107},isReservedWord:function(){return f>=72&&f<=107},isUnterminated:function(){return 0!=(4&S)},getTokenFlags:function(){return S},reScanGreaterToken:function(){if(29===f){if(62===o.charCodeAt(l))return 62===o.charCodeAt(l+1)?61===o.charCodeAt(l+2)?(l+=3,f=67):(l+=2,f=47):61===o.charCodeAt(l+1)?(l+=2,f=66):(l++,f=46);if(61===o.charCodeAt(l))return l++,f=31}return f},reScanSlashToken:function(){if(41===f||63===f){for(var t=p+1,n=!1,i=!1;;){if(t>=_){S|=4,T(e.Diagnostics.Unterminated_regular_expression_literal);break}var a=o.charCodeAt(t);if(y(a)){S|=4,T(e.Diagnostics.Unterminated_regular_expression_literal);break}if(n)n=!1;else{if(47===a&&!i){t++;break}91===a?i=!0:92===a?n=!0:93===a&&(i=!1)}t++}for(;t<_&&w(o.charCodeAt(t),r);)t++;b=o.substring(p,l=t),f=12}return f},reScanTemplateToken:function(){return e.Debug.assert(18===f,"'reScanTemplateToken' should only be called on a '}'"),l=p,f=L()},scanJsxIdentifier:function(){if(t(f)){for(var e=l;l<_;){var n=o.charCodeAt(l);if(45!==n&&(e===l?!P(n,r):!w(n,r)))break;l++}b+=o.substring(e,l)}return f},scanJsxAttributeValue:function(){switch(d=l,o.charCodeAt(l)){case 34:case 39:return b=M(!0),f=9;default:return U()}},reScanJsxToken:function(){return l=p=d,f=V()},scanJsxToken:V,scanJSDocToken:function(){if(l>=_)return f=1;d=l,p=l;var e=o.charCodeAt(l);switch(l++,e){case 9:case 11:case 12:case 32:for(;l<_&&g(o.charCodeAt(l));)l++;return f=5;case 64:return f=57;case 10:case 13:return f=4;case 42:return f=39;case 123:return f=17;case 125:return f=18;case 91:return f=21;case 93:return f=22;case 60:return f=27;case 61:return f=58;case 44:return f=26;case 46:return f=23}if(P(e,6)){for(;w(o.charCodeAt(l),6)&&l<_;)l++;return b=o.substring(p,l),f=71}return f=0},scan:U,getText:function(){return o},setText:W,setScriptTarget:function(e){r=e},setLanguageVariant:function(e){a=e},setOnError:function(e){s=e},setTextPos:H,tryScan:function(e){return q(e,!1)},lookAhead:function(e){return q(e,!0)},scanRange:function(e,t,n){var r=_,i=l,a=d,s=p,c=f,u=b,m=S;W(o,e,t);var g=n();return _=r,l=i,d=a,p=s,f=c,b=u,S=m,g}};function T(e,t,n){if(void 0===t&&(t=l),s){var r=l;l=t,s(e,n||0),l=r}}function E(){for(var t=l,n=!1,r=!1,i="";;){var a=o.charCodeAt(l);if(95!==a){if(!h(a))break;n=!0,r=!1,l++}else S|=512,n?(n=!1,r=!0,i+=o.substring(t,l)):T(r?e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted:e.Diagnostics.Numeric_separators_are_not_allowed_here,l,1),t=++l}return 95===o.charCodeAt(l-1)&&T(e.Diagnostics.Numeric_separators_are_not_allowed_here,l-1,1),i+o.substring(t,l)}function N(){var t,n,r=l,i=E();46===o.charCodeAt(l)&&(l++,t=E());var a=l;if(69===o.charCodeAt(l)||101===o.charCodeAt(l)){S|=16,43!==o.charCodeAt(++l)&&45!==o.charCodeAt(l)||l++;var s=l,c=E();c?(n=o.substring(a,s)+c,a=l):T(e.Diagnostics.Digit_expected)}if(512&S){var u=i;return t&&(u+="."+t),n&&(u+=n),""+ +u}return""+ +o.substring(r,a)}function A(){for(var e=l;v(o.charCodeAt(l));)l++;return+o.substring(e,l)}function F(e,t){return O(e,!1,t)}function I(e,t){return O(e,!0,t)}function O(t,n,r){for(var i=0,a=0,s=!1,c=!1;i=48&&u<=57)a=16*a+u-48;else if(u>=65&&u<=70)a=16*a+u-65+10;else{if(!(u>=97&&u<=102))break;a=16*a+u-97+10}l++,i++,c=!1}}return i=_){r+=o.substring(i,l),S|=4,T(e.Diagnostics.Unterminated_string_literal);break}var a=o.charCodeAt(l);if(a===n){r+=o.substring(i,l),l++;break}if(92!==a||t){if(y(a)&&!t){r+=o.substring(i,l),S|=4,T(e.Diagnostics.Unterminated_string_literal);break}l++}else r+=o.substring(i,l),r+=R(),i=l}return r}function L(){for(var t,n=96===o.charCodeAt(l),r=++l,i="";;){if(l>=_){i+=o.substring(r,l),S|=4,T(e.Diagnostics.Unterminated_template_literal),t=n?13:16;break}var a=o.charCodeAt(l);if(96===a){i+=o.substring(r,l),l++,t=n?13:16;break}if(36===a&&l+1<_&&123===o.charCodeAt(l+1)){i+=o.substring(r,l),l+=2,t=n?14:15;break}92!==a?13!==a?l++:(i+=o.substring(r,l),++l<_&&10===o.charCodeAt(l)&&l++,i+="\n",r=l):(i+=o.substring(r,l),i+=R(),r=l)}return e.Debug.assert(void 0!==t),b=i,t}function R(){if(++l>=_)return T(e.Diagnostics.Unexpected_end_of_text),"";var t,n,r=o.charCodeAt(l);switch(l++,r){case 48:return"\0";case 98:return"\b";case 116:return"\t";case 110:return"\n";case 118:return"\v";case 102:return"\f";case 114:return"\r";case 39:return"'";case 34:return'"';case 117:return l<_&&123===o.charCodeAt(l)?(S|=8,l++,n=!1,(t=I(1,!1))<0?(T(e.Diagnostics.Hexadecimal_digit_expected),n=!0):t>1114111&&(T(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),n=!0),l>=_?(T(e.Diagnostics.Unexpected_end_of_text),n=!0):125===o.charCodeAt(l)?l++:(T(e.Diagnostics.Unterminated_Unicode_escape_sequence),n=!0),n?"":function(t){if(e.Debug.assert(0<=t&&t<=1114111),t<=65535)return String.fromCharCode(t);var n=Math.floor((t-65536)/1024)+55296;return String.fromCharCode(n,(t-65536)%1024+56320)}(t)):B(4);case 120:return B(2);case 13:l<_&&10===o.charCodeAt(l)&&l++;case 10:case 8232:case 8233:return"";default:return String.fromCharCode(r)}}function B(t){var n=F(t,!1);return n>=0?String.fromCharCode(n):(T(e.Diagnostics.Hexadecimal_digit_expected),"")}function z(){if(l+5<_&&117===o.charCodeAt(l+1)){var e=l;l+=2;var t=F(4,!1);return l=e,t}return-1}function j(){for(var e="",t=l;l<_;){var n=o.charCodeAt(l);if(w(n,r))l++;else{if(92!==n)break;if(!((n=z())>=0&&w(n,r)))break;e+=o.substring(t,l),e+=String.fromCharCode(n),t=l+=6}}return e+o.substring(t,l)}function J(){var e=b.length;if(e>=2&&e<=11){var t=b.charCodeAt(0);if(t>=97&&t<=122&&void 0!==(f=n.get(b)))return f}return f=71}function K(t){e.Debug.assert(2===t||8===t,"Expected either base 2 or base 8");for(var n=0,r=0,i=!1,a=!1;;){var s=o.charCodeAt(l);if(95!==s){i=!0;var c=s-48;if(!h(s)||c>=t)break;n=n*t+c,l++,r++,a=!1}else S|=512,i?(i=!1,a=!0):T(a?e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted:e.Diagnostics.Numeric_separators_are_not_allowed_here,l,1),l++}return 0===r?-1:95===o.charCodeAt(l-1)?(T(e.Diagnostics.Numeric_separators_are_not_allowed_here,l-1,1),n):n}function U(){for(d=l,S=0;;){if(p=l,l>=_)return f=1;var t=o.charCodeAt(l);if(35===t&&0===l&&D(o,l)){if(l=C(o,l),i)continue;return f=6}switch(t){case 10:case 13:if(S|=1,i){l++;continue}return 13===t&&l+1<_&&10===o.charCodeAt(l+1)?l+=2:l++,f=4;case 9:case 11:case 12:case 32:if(i){l++;continue}for(;l<_&&g(o.charCodeAt(l));)l++;return f=5;case 33:return 61===o.charCodeAt(l+1)?61===o.charCodeAt(l+2)?(l+=3,f=35):(l+=2,f=33):(l++,f=51);case 34:case 39:return b=M(),f=9;case 96:return f=L();case 37:return 61===o.charCodeAt(l+1)?(l+=2,f=64):(l++,f=42);case 38:return 38===o.charCodeAt(l+1)?(l+=2,f=53):61===o.charCodeAt(l+1)?(l+=2,f=68):(l++,f=48);case 40:return l++,f=19;case 41:return l++,f=20;case 42:return 61===o.charCodeAt(l+1)?(l+=2,f=61):42===o.charCodeAt(l+1)?61===o.charCodeAt(l+2)?(l+=3,f=62):(l+=2,f=40):(l++,f=39);case 43:return 43===o.charCodeAt(l+1)?(l+=2,f=43):61===o.charCodeAt(l+1)?(l+=2,f=59):(l++,f=37);case 44:return l++,f=26;case 45:return 45===o.charCodeAt(l+1)?(l+=2,f=44):61===o.charCodeAt(l+1)?(l+=2,f=60):(l++,f=38);case 46:return h(o.charCodeAt(l+1))?(b=N(),f=8):46===o.charCodeAt(l+1)&&46===o.charCodeAt(l+2)?(l+=3,f=24):(l++,f=23);case 47:if(47===o.charCodeAt(l+1)){for(l+=2;l<_&&!y(o.charCodeAt(l));)l++;if(i)continue;return f=2}if(42===o.charCodeAt(l+1)){42===o.charCodeAt(l+=2)&&47!==o.charCodeAt(l+1)&&(S|=2);for(var n=!1;l<_;){var s=o.charCodeAt(l);if(42===s&&47===o.charCodeAt(l+1)){l+=2,n=!0;break}y(s)&&(S|=1),l++}if(n||T(e.Diagnostics.Asterisk_Slash_expected),i)continue;return n||(S|=4),f=3}return 61===o.charCodeAt(l+1)?(l+=2,f=63):(l++,f=41);case 48:var c;if(l+2<_&&(88===o.charCodeAt(l+1)||120===o.charCodeAt(l+1)))return l+=2,(c=I(1,!0))<0&&(T(e.Diagnostics.Hexadecimal_digit_expected),c=0),b=""+c,S|=64,f=8;if(l+2<_&&(66===o.charCodeAt(l+1)||98===o.charCodeAt(l+1)))return l+=2,(c=K(2))<0&&(T(e.Diagnostics.Binary_digit_expected),c=0),b=""+c,S|=128,f=8;if(l+2<_&&(79===o.charCodeAt(l+1)||111===o.charCodeAt(l+1)))return l+=2,(c=K(8))<0&&(T(e.Diagnostics.Octal_digit_expected),c=0),b=""+c,S|=256,f=8;if(l+1<_&&v(o.charCodeAt(l+1)))return b=""+A(),S|=32,f=8;case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return b=N(),f=8;case 58:return l++,f=56;case 59:return l++,f=25;case 60:if(x(o,l)){if(l=k(o,l,T),i)continue;return f=7}return 60===o.charCodeAt(l+1)?61===o.charCodeAt(l+2)?(l+=3,f=65):(l+=2,f=45):61===o.charCodeAt(l+1)?(l+=2,f=30):1===a&&47===o.charCodeAt(l+1)&&42!==o.charCodeAt(l+2)?(l+=2,f=28):(l++,f=27);case 61:if(x(o,l)){if(l=k(o,l,T),i)continue;return f=7}return 61===o.charCodeAt(l+1)?61===o.charCodeAt(l+2)?(l+=3,f=34):(l+=2,f=32):62===o.charCodeAt(l+1)?(l+=2,f=36):(l++,f=58);case 62:if(x(o,l)){if(l=k(o,l,T),i)continue;return f=7}return l++,f=29;case 63:return l++,f=55;case 91:return l++,f=21;case 93:return l++,f=22;case 94:return 61===o.charCodeAt(l+1)?(l+=2,f=70):(l++,f=50);case 123:return l++,f=17;case 124:if(x(o,l)){if(l=k(o,l,T),i)continue;return f=7}return 124===o.charCodeAt(l+1)?(l+=2,f=54):61===o.charCodeAt(l+1)?(l+=2,f=69):(l++,f=49);case 125:return l++,f=18;case 126:return l++,f=52;case 64:return l++,f=57;case 92:var u=z();return u>=0&&P(u,r)?(l+=6,b=String.fromCharCode(u)+j(),f=J()):(T(e.Diagnostics.Invalid_character),l++,f=0);default:if(P(t,r)){for(l++;l<_&&w(t=o.charCodeAt(l),r);)l++;return b=o.substring(p,l),92===t&&(b+=j()),f=J()}if(g(t)){l++;continue}if(y(t)){S|=1,l++;continue}return T(e.Diagnostics.Invalid_character),l++,f=0}}}function V(){if(d=p=l,l>=_)return f=1;var e=o.charCodeAt(l);if(60===e)return 47===o.charCodeAt(l+1)?(l+=2,f=28):(l++,f=27);if(123===e)return l++,f=17;for(var t=0;l<_&&123!==(e=o.charCodeAt(l));){if(60===e){if(x(o,l))return l=k(o,l,T),f=7;break}y(e)&&0===t?t=-1:m(e)||(t=l),l++}return-1===t?11:10}function q(e,t){var n=l,r=d,i=p,a=f,o=b,s=S,c=e();return c&&!t||(l=n,d=r,p=i,f=a,b=o,S=s),c}function W(e,t,n){o=e||"",_=void 0===n?o.length:t+n,H(t||0)}function H(t){e.Debug.assert(t>=0),l=t,d=t,p=t,f=0,b=void 0,S=0}}}(l||(l={})),function(e){e.resolvingEmptyArray=[],e.emptyMap=e.createMap(),e.emptyUnderscoreEscapedMap=e.emptyMap,e.externalHelpersModuleNameText="tslib",e.getDeclarationOfKind=function(e,t){var n=e.declarations;if(n)for(var r=0,i=n;r=0);var r=e.getLineStarts(n),i=t,a=n.text;if(i+1===r.length)return a.length-1;var o=r[i],s=r[i+1]-1;for(e.Debug.assert(e.isLineBreak(a.charCodeAt(s)));o<=s&&e.isLineBreak(a.charCodeAt(s));)s--;return s}function s(e){return void 0===e||e.pos===e.end&&e.pos>=0&&1!==e.kind}function c(e){return!s(e)}function u(e,t){return 42===e.charCodeAt(t.pos+1)&&33===e.charCodeAt(t.pos+2)}function l(t,n,r){return s(t)?t.pos:e.isJSDocNode(t)?e.skipTrivia((n||a(t)).text,t.pos,!1,!0):r&&e.hasJSDocNodes(t)?l(t.jsDoc[0]):293===t.kind&&t._children.length>0?l(t._children[0],n,r):e.skipTrivia((n||a(t)).text,t.pos)}function _(e,t,n){return void 0===n&&(n=!1),d(e.text,t,n)}function d(t,n,r){return void 0===r&&(r=!1),s(n)?"":t.substring(r?n.pos:e.skipTrivia(t,n.pos),n.end)}function p(e,t){return void 0===t&&(t=!1),_(a(e),e,t)}function f(e){return e.pos}function m(e){var t=e.emitNode;return t&&t.flags}function g(e){return e.length>=2&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)?"_"+e:e}function y(e){var t=be(e);return 230===t.kind&&267===t.parent.kind}function h(t){return e.isModuleDeclaration(t)&&(9===t.name.kind||b(t))}function v(t){return e.isModuleDeclaration(t)&&9===t.name.kind}function b(e){return!!(512&e.flags)}function x(t){switch(t.parent.kind){case 272:return e.isExternalModule(t.parent);case 238:return h(t.parent.parent)&&e.isSourceFile(t.parent.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return!1}function k(t,n){switch(t.kind){case 272:case 239:case 267:case 237:case 218:case 219:case 220:case 154:case 153:case 155:case 156:case 232:case 190:case 191:return!0;case 211:return n&&!e.isFunctionLike(n)}return!1}function S(e){return 0===i(e)?"(Missing)":p(e)}function D(t){switch(t.kind){case 71:return t.escapedText;case 9:case 8:return g(t.text);case 146:return pe(t.expression)?g(t.expression.text):void 0;default:e.Debug.assertNever(t)}}function C(t,n,r,i,a,o,s){var c=E(t,n);return e.createFileDiagnostic(t,c.start,c.length,r,i,a,o,s)}function T(t,n){var r=e.createScanner(t.languageVersion,!0,t.languageVariant,t.text,void 0,n);r.scan();var i=r.getTokenPos();return e.createTextSpanFromBounds(i,r.getTextPos())}function E(t,n){var r=n;switch(n.kind){case 272:var i=e.skipTrivia(t.text,0,!1);return i===t.text.length?e.createTextSpan(0,0):T(t,i);case 230:case 180:case 233:case 203:case 234:case 237:case 236:case 271:case 232:case 190:case 153:case 155:case 156:case 235:r=n.name;break;case 191:return function(t,n){var r=e.skipTrivia(t.text,n.pos);if(n.body&&211===n.body.kind){var i=e.getLineAndCharacterOfPosition(t,n.body.pos).line;if(i=r.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),e.Debug.assert(c<=r.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),e.createTextSpanFromBounds(c,r.end)}function N(t){return!!(2&e.getCombinedNodeFlags(t))||!!(2048&e.getCombinedModifierFlags(t))}e.usingSingleLineStringWriter=function(e){var t=r.getText();try{return e(r),r.getText()}finally{r.clear(),r.writeKeyword(t)}},e.getFullWidth=i,e.getResolvedModule=function(e,t){return e&&e.resolvedModules&&e.resolvedModules.get(t)},e.setResolvedModule=function(t,n,r){t.resolvedModules||(t.resolvedModules=e.createMap()),t.resolvedModules.set(n,r)},e.setResolvedTypeReferenceDirective=function(t,n,r){t.resolvedTypeReferenceDirectiveNames||(t.resolvedTypeReferenceDirectiveNames=e.createMap()),t.resolvedTypeReferenceDirectiveNames.set(n,r)},e.moduleResolutionIsEqualTo=function(e,t){return e.isExternalLibraryImport===t.isExternalLibraryImport&&e.extension===t.extension&&e.resolvedFileName===t.resolvedFileName&&e.originalPath===t.originalPath&&((n=e.packageId)===(r=t.packageId)||n&&r&&n.name===r.name&&n.subModuleName===r.subModuleName&&n.version===r.version);var n,r},e.packageIdToString=function(e){var t=e.name,n=e.subModuleName;return(n?t+"/"+n:t)+"@"+e.version},e.typeDirectiveIsEqualTo=function(e,t){return e.resolvedFileName===t.resolvedFileName&&e.primary===t.primary},e.hasChangesInResolutions=function(t,n,r,i){e.Debug.assert(t.length===n.length);for(var a=0;a=0),e.getLineStarts(n)[t]},e.nodePosToString=function(t){var n=a(t),r=e.getLineAndCharacterOfPosition(n,t.pos);return n.fileName+"("+(r.line+1)+","+(r.character+1)+")"},e.getEndLinePosition=o,e.nodeIsMissing=s,e.nodeIsPresent=c,e.isRecognizedTripleSlashComment=function(t,n,r){if(47===t.charCodeAt(n+1)&&n+2/;var A=/^(\/\/\/\s*/;e.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/;var P=/^(\/\/\/\s*/;function w(t){if(160<=t.kind&&t.kind<=177)return!0;switch(t.kind){case 119:case 134:case 137:case 122:case 138:case 140:case 131:return!0;case 105:return 194!==t.parent.kind;case 205:return!lt(t);case 147:return 176===t.parent.kind||171===t.parent.kind;case 71:145===t.parent.kind&&t.parent.right===t?t=t.parent:183===t.parent.kind&&t.parent.name===t&&(t=t.parent),e.Debug.assert(71===t.kind||145===t.kind||183===t.kind,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 145:case 183:case 99:var n=t.parent;if(164===n.kind)return!1;if(160<=n.kind&&n.kind<=177)return!0;switch(n.kind){case 205:return!lt(n);case 147:return t===n.constraint;case 151:case 150:case 148:case 230:return t===n.type;case 232:case 190:case 191:case 154:case 153:case 152:case 155:case 156:return t===n.type;case 157:case 158:case 159:case 188:return t===n.type;case 185:case 186:return e.contains(n.typeArguments,t);case 187:return!1}}return!1}function F(e){if(e)switch(e.kind){case 180:case 271:case 148:case 268:case 151:case 150:case 269:case 230:return!0}return!1}function I(e){return 231===e.parent.kind&&212===e.parent.parent.kind}function O(t,n){for(;;){if(!(t=t.parent))return;switch(t.kind){case 146:if(e.isClassLike(t.parent.parent))return t;t=t.parent;break;case 149:148===t.parent.kind&&e.isClassElement(t.parent.parent)?t=t.parent.parent:e.isClassElement(t.parent)&&(t=t.parent);break;case 191:if(!n)continue;case 232:case 190:case 237:case 151:case 150:case 153:case 152:case 154:case 155:case 156:case 157:case 158:case 159:case 236:case 272:return t}}}function M(e,t,n){switch(e.kind){case 233:return!0;case 151:return 233===t.kind;case 155:case 156:case 153:return void 0!==e.body&&233===t.kind;case 148:return void 0!==t.body&&(154===t.kind||153===t.kind||156===t.kind)&&233===n.kind}return!1}function L(e,t,n){return void 0!==e.decorators&&M(e,t,n)}function R(e,t,n){return L(e,t,n)||B(e,t)}function B(t,n){switch(t.kind){case 233:return e.forEach(t.members,function(e){return R(e,t,n)});case 153:case 156:return e.forEach(t.parameters,function(e){return L(e,t,n)})}}function z(e){var t=e.parent;return(255===t.kind||254===t.kind||256===t.kind)&&t.tagName===e}function j(e){switch(e.kind){case 97:case 95:case 101:case 86:case 12:case 181:case 182:case 183:case 184:case 185:case 186:case 187:case 206:case 188:case 207:case 189:case 190:case 203:case 191:case 194:case 192:case 193:case 196:case 197:case 198:case 199:case 202:case 200:case 13:case 204:case 253:case 254:case 257:case 201:case 195:case 208:return!0;case 145:for(;145===e.parent.kind;)e=e.parent;return 164===e.parent.kind||z(e);case 71:if(164===e.parent.kind||z(e))return!0;case 8:case 9:case 99:return J(e);default:return!1}}function J(e){var t=e.parent;switch(t.kind){case 230:case 148:case 151:case 150:case 271:case 268:case 180:return t.initializer===e;case 214:case 215:case 216:case 217:case 223:case 224:case 225:case 264:case 227:return t.expression===e;case 218:return t.initializer===e&&231!==t.initializer.kind||t.condition===e||t.incrementor===e;case 219:case 220:return t.initializer===e&&231!==t.initializer.kind||t.expression===e;case 188:case 206:case 209:case 146:return e===t.expression;case 149:case 263:case 262:case 270:return!0;case 205:return t.expression===e&<(t);default:return j(t)}}function K(e){return 241===e.kind&&252===e.moduleReference.kind}function U(e){return V(e)}function V(e){return e&&!!(65536&e.flags)}function q(t){if(t&&e.isVariableDeclaration(t)&&t.initializer)return H(t.initializer,!1)||e.isIdentifier(t.name)&&G(t.name,t.initializer,!1)}function W(t){if(t&&t.parent&&e.isBinaryExpression(t.parent)&&58===t.parent.operatorToken.kind){var n=e.isPropertyAccessExpression(t.parent.left)&&"prototype"===t.parent.left.name.escapedText;return H(t.parent.right,n)||G(t.parent.left,t.parent.right,n)}}function H(t,n){if(e.isCallExpression(t)){var r=se(t.expression);return 190===r.kind||191===r.kind?t:void 0}return 190===t.kind||203===t.kind?t:e.isObjectLiteralExpression(t)&&(0===t.properties.length||n)?t:void 0}function G(t,n,r){var i=e.isBinaryExpression(n)&&54===n.operatorToken.kind&&H(n.right,r);if(i&&function t(n,r){return e.isIdentifier(n)&&e.isIdentifier(r)?n.escapedText===r.escapedText:e.isIdentifier(n)&&e.isPropertyAccessExpression(r)?(99===r.expression.kind||e.isIdentifier(r.expression)&&("window"===r.expression.escapedText||"self"===r.expression.escapedText||"global"===r.expression.escapedText))&&t(n,r.name):!(!e.isPropertyAccessExpression(n)||!e.isPropertyAccessExpression(r))&&n.name.escapedText===r.name.escapedText&&t(n.expression,r.expression)}(t,n.left))return i}function X(t){if(!V(t)||58!==t.operatorToken.kind||!e.isPropertyAccessExpression(t.left))return 0;var n=t.left;if(99===n.expression.kind)return 4;if(e.isIdentifier(n.expression)&&"module"===n.expression.escapedText&&"exports"===n.name.escapedText)return 2;if(_t(n.expression)){if("prototype"===n.name.escapedText&&e.isObjectLiteralExpression(t.right))return 6;if(e.isPropertyAccessExpression(n.expression)&&"prototype"===n.expression.name.escapedText)return 3;for(var r=n;e.isPropertyAccessExpression(r.expression);)r=r.expression;e.Debug.assert(e.isIdentifier(r.expression));var i=r.expression;return"exports"===i.escapedText||"module"===i.escapedText&&"exports"===r.name.escapedText?1:5}return 0}function Q(t){return e.isExpressionStatement(t)&&t.expression&&e.isBinaryExpression(t.expression)&&58===t.expression.operatorToken.kind&&t.expression.right}function Y(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&0!==X(t.expression)&&e.isBinaryExpression(t.expression.right)&&54===t.expression.right.operatorToken.kind&&t.expression.right.right}function $(e){switch(e.kind){case 212:var t=Z(e);return t&&t.initializer;case 151:return e.initializer}}function Z(t){return e.isVariableStatement(t)&&t.declarationList.declarations.length>0&&t.declarationList.declarations[0]}function ee(e){return 237===e.kind&&e.body&&237===e.body.kind&&e.body}function te(t){var n=ne(t),r=Y(n)||Q(n)||$(n)||Z(n)||ee(n)||n;return r&&e.isFunctionLike(r)?r:void 0}function ne(t){return e.Debug.assert(282===t.parent.kind),t.parent.parent}function re(e){return void 0!==e.dotDotDotToken}function ie(e){for(var t=e.parent;;){switch(t.kind){case 198:var n=t.operatorToken.kind;return st(n)&&t.left===e?58===n?1:2:0;case 196:case 197:var r=t.operator;return 43===r||44===r?2:0;case 219:case 220:return t.initializer===e?1:0;case 189:case 181:case 202:case 207:e=t;break;case 269:if(t.name!==e)return 0;e=t.parent;break;case 268:if(t.name===e)return 0;e=t.parent;break;default:return 0}t=e.parent}}function ae(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function oe(e){return ae(e,189)}function se(e){for(;189===e.kind;)e=e.expression;return e}function ce(e){return _t(e.expression)}function ue(e,t){if(e)for(var n=0,r=e;n0&&e.parameters[0].name&&"new"===e.parameters[0].name.escapedText},e.getJSDocCommentsAndTags=function(t){var n;return function t(r){var i=r.parent;i&&(268===i.kind||151===i.kind||ee(i))&&t(i),i&&i.parent&&(Z(i.parent)===r||Q(i.parent))&&t(i.parent),i&&i.parent&&i.parent.parent&&($(i.parent.parent)===r||Y(i.parent.parent))&&t(i.parent.parent),(e.isBinaryExpression(r)&&0!==X(r)||183===r.kind&&r.parent&&214===r.parent.kind)&&t(i),148===r.kind&&(n=e.addRange(n,e.getJSDocParameterTags(r))),F(r)&&e.hasInitializer(r)&&e.hasJSDocNodes(r.initializer)&&(n=e.addRange(n,r.initializer.jsDoc)),e.hasJSDocNodes(r)&&(n=e.addRange(n,r.jsDoc))}(t),n||e.emptyArray},e.getParameterSymbolFromJSDoc=function(t){if(t.symbol)return t.symbol;if(e.isIdentifier(t.name)){var n=t.name.escapedText,r=te(t);if(r){var i=e.find(r.parameters,function(e){return 71===e.name.kind&&e.name.escapedText===n});return i&&i.symbol}}},e.getHostSignatureFromJSDoc=te,e.getJSDocHost=ne,e.getTypeParameterFromJsDoc=function(t){var n=t.name.escapedText;return e.find(t.parent.parent.parent.typeParameters,function(e){return e.name.escapedText===n})},e.hasRestParameter=function(t){var n=e.lastOrUndefined(t.parameters);return n&&re(n)},e.isRestParameter=re,function(e){e[e.None=0]="None",e[e.Definite=1]="Definite",e[e.Compound=2]="Compound"}(e.AssignmentKind||(e.AssignmentKind={})),e.getAssignmentTargetKind=ie,e.isAssignmentTarget=function(e){return 0!==ie(e)},e.isNodeWithPossibleHoistedDeclaration=function(e){switch(e.kind){case 211:case 212:case 224:case 215:case 225:case 239:case 264:case 265:case 226:case 218:case 219:case 220:case 216:case 217:case 228:case 267:return!0}return!1},e.walkUpParenthesizedTypes=function(e){return ae(e,172)},e.walkUpParenthesizedExpressions=oe,e.skipParentheses=se,e.isDeleteTarget=function(e){return(183===e.kind||184===e.kind)&&(e=oe(e.parent))&&192===e.kind},e.isNodeDescendantOf=function(e,t){for(;e;){if(e===t)return!0;e=e.parent}return!1},e.isDeclarationName=function(t){return!e.isSourceFile(t)&&!e.isBindingPattern(t)&&e.isDeclaration(t.parent)&&t.parent.name===t},e.isAnyDeclarationName=function(t){switch(t.kind){case 71:case 9:case 8:if(e.isDeclaration(t.parent))return t.parent.name===t;var n=t.parent.parent;return e.isBinaryExpression(n)&&0!==X(n)&&e.getNameOfDeclaration(n)===t;default:return!1}},e.isLiteralComputedPropertyDeclarationName=function(t){return(9===t.kind||8===t.kind)&&146===t.parent.kind&&e.isDeclaration(t.parent.parent)},e.isIdentifierName=function(e){var t=e.parent;switch(t.kind){case 151:case 150:case 153:case 152:case 155:case 156:case 271:case 268:case 183:return t.name===e;case 145:if(t.right===e){for(;145===t.kind;)t=t.parent;return 164===t.kind}return!1;case 180:case 246:return t.propertyName===e;case 250:case 260:return!0}return!1},e.isAliasSymbolDeclaration=function(e){return 241===e.kind||240===e.kind||243===e.kind&&!!e.name||244===e.kind||246===e.kind||250===e.kind||247===e.kind&&ce(e)},e.exportAssignmentIsAlias=ce,e.getClassExtendsHeritageClauseElement=function(e){var t=ue(e.heritageClauses,85);return t&&t.types.length>0?t.types[0]:void 0},e.getClassImplementsHeritageClauseElements=function(e){var t=ue(e.heritageClauses,108);return t?t.types:void 0},e.getInterfaceBaseTypeNodes=function(e){var t=ue(e.heritageClauses,85);return t?t.types:void 0},e.getHeritageClause=ue,e.tryResolveScriptReference=function(t,n,r){if(!t.getCompilerOptions().noResolve){var i=e.isRootedDiskPath(r.fileName)?r.fileName:e.combinePaths(e.getDirectoryPath(n.fileName),r.fileName);return t.getSourceFile(i)}},e.getAncestor=function(e,t){for(;e;){if(e.kind===t)return e;e=e.parent}},e.isKeyword=le,e.isContextualKeyword=_e,e.isNonContextualKeyword=de,e.isStringANonContextualKeyword=function(t){var n=e.stringToToken(t);return void 0!==n&&de(n)},e.isTrivia=function(e){return 2<=e&&e<=7},function(e){e[e.Normal=0]="Normal",e[e.Generator=1]="Generator",e[e.Async=2]="Async",e[e.Invalid=4]="Invalid",e[e.AsyncGenerator=3]="AsyncGenerator"}(e.FunctionFlags||(e.FunctionFlags={})),e.getFunctionFlags=function(e){if(!e)return 4;var t=0;switch(e.kind){case 232:case 190:case 153:e.asteriskToken&&(t|=1);case 191:et(e,256)&&(t|=2)}return e.body||(t|=4),t},e.isAsyncFunction=function(e){switch(e.kind){case 232:case 190:case 191:case 153:return void 0!==e.body&&void 0===e.asteriskToken&&et(e,256)}return!1},e.isStringOrNumericLiteral=pe,e.hasDynamicName=fe,e.isDynamicName=me,e.isWellKnownSymbolSyntactically=ge,e.getPropertyNameForPropertyNameNode=ye,e.isPropertyNameLiteral=function(e){switch(e.kind){case 71:case 9:case 13:case 8:return!0;default:return!1}},e.getTextOfIdentifierOrLiteral=function(t){return 71===t.kind?e.idText(t):t.text},e.getEscapedTextOfIdentifierOrLiteral=function(e){return 71===e.kind?e.escapedText:g(e.text)},e.getPropertyNameForKnownSymbolName=he,e.isKnownSymbol=function(t){return e.startsWith(t.escapedName,"__@")},e.isESSymbolIdentifier=ve,e.isPushOrUnshiftIdentifier=function(e){return"push"===e.escapedText||"unshift"===e.escapedText},e.isParameterDeclaration=function(e){return 148===be(e).kind},e.getRootDeclaration=be,e.nodeStartsNewLexicalEnvironment=function(e){var t=e.kind;return 154===t||190===t||232===t||191===t||153===t||155===t||156===t||237===t||272===t},e.nodeIsSynthesized=xe,e.getOriginalSourceFile=function(t){return e.getParseTreeNode(t,e.isSourceFile)||t},function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(e.Associativity||(e.Associativity={})),e.getExpressionAssociativity=function(e){var t=Se(e);return ke(e.kind,t,186===e.kind&&void 0!==e.arguments)},e.getOperatorAssociativity=ke,e.getExpressionPrecedence=function(e){var t=Se(e);return De(e.kind,t,186===e.kind&&void 0!==e.arguments)},e.getOperator=Se,e.getOperatorPrecedence=De,e.createDiagnosticCollection=function(){var t=[],n=[],r=e.createMap(),i=!1,a=0;return{add:function(o){var s;o.file?(s=r.get(o.file.fileName))||(r.set(o.file.fileName,s=[]),e.insertSorted(n,o.file.fileName,e.compareStringsCaseSensitive)):(i&&(i=!1,t=t.slice()),s=t),e.insertSorted(s,o,e.compareDiagnostics),a++},getGlobalDiagnostics:function(){return i=!0,t},getDiagnostics:function(i){if(i)return r.get(i)||[];var a=e.flatMap(n,function(e){return r.get(e)});return t.length?(a.unshift.apply(a,t),a):a},getModificationCount:function(){return a},reattachFileDiagnostics:function(t){e.forEach(r.get(t.fileName),function(e){return e.file=t})}}};var Ce=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,Te=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,Ee=/[\\\`\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,Ne=e.createMapFromTemplate({"\t":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085"});function Ae(e,t){return e.replace(96===t?Ee:39===t?Te:Ce,Pe)}function Pe(e,t,n){if(0===e.charCodeAt(0)){var r=n.charCodeAt(t+e.length);return r>=48&&r<=57?"\\x00":"\\0"}return Ne.get(e)||we(e.charCodeAt(0))}function we(e){return"\\u"+("0000"+e.toString(16).toUpperCase()).slice(-4)}e.escapeString=Ae,e.isIntrinsicJsxName=function(e){var t=e.charCodeAt(0);return t>=97&&t<=122||e.indexOf("-")>-1};var Fe=/[^\u0000-\u007F]/g;function Ie(e,t){return e=Ae(e,t),Fe.test(e)?e.replace(Fe,function(e){return we(e.charCodeAt(0))}):e}e.escapeNonAsciiString=Ie;var Oe=[""," "];function Me(e){return void 0===Oe[e]&&(Oe[e]=Me(e-1)+Oe[1]),Oe[e]}function Le(){return Oe[1].length}function Re(e,t){return t.moduleName||Be(e,t.fileName)}function Be(t,n){var r=function(e){return t.getCanonicalFileName(e)},i=e.toPath(t.getCommonSourceDirectory(),t.getCurrentDirectory(),r),a=e.getNormalizedAbsolutePath(n,t.getCurrentDirectory()),o=e.getRelativePathToDirectoryOrUrl(i,a,i,r,!1);return e.removeFileExtension(o)}function ze(e,t,n){return!(t.noEmitForJsFiles&&U(e)||e.isDeclarationFile||n(e))}function je(t,n,r){var i=e.getNormalizedAbsolutePath(t.fileName,n.getCurrentDirectory()),a=n.getCommonSourceDirectory();return i=0===n.getCanonicalFileName(i).indexOf(n.getCanonicalFileName(a))?i.substring(a.length):i,e.combinePaths(r,i)}function Je(t,n){return e.getLineAndCharacterOfPosition(t,n).line}function Ke(t,n){return e.computeLineAndCharacterOfPosition(t,n).line}function Ue(e){if(e&&e.parameters.length>0){var t=2===e.parameters.length&&Ve(e.parameters[0]);return e.parameters[t?1:0]}}function Ve(e){return qe(e.name)}function qe(e){return e&&71===e.kind&&We(e)}function We(e){return 99===e.originalKeywordKind}function He(t){return t.type||(V(t)?e.getJSDocType(t):void 0)}function Ge(t){var n=e.getJSDocTemplateTag(t);return n&&n.typeParameters}function Xe(e,t,n,r){Qe(e,t,n.pos,r)}function Qe(e,t,n,r){r&&r.length&&n!==r[0].pos&&Ke(e,n)!==Ke(e,r[0].pos)&&t.writeLine()}function Ye(e,t,n,r,i,a,o,s){if(r&&r.length>0){i&&n.write(" ");for(var c=!1,u=0,l=r;u=58&&e<=70}function ct(t){if(205===t.kind&&85===t.parent.token&&e.isClassLike(t.parent.parent))return t.parent.parent}function ut(t,n){return e.isBinaryExpression(t)&&(n?58===t.operatorToken.kind:st(t.operatorToken.kind))&&e.isLeftHandSideExpression(t.left)}function lt(e){return void 0!==ct(e)}function _t(e){return 71===e.kind||183===e.kind&&_t(e.expression)}e.getIndentString=Me,e.getIndentSize=Le,e.createTextWriter=function(t){var n,r,i,a,o;function s(e){e&&e.length&&(i&&(n+=Me(r),i=!1),n+=e)}function c(){n="",r=0,i=!0,a=0,o=0}return c(),{write:s,rawWrite:function(e){void 0!==e&&(i&&(i=!1),n+=e)},writeTextOfNode:function(e,t){s(d(e,t))},writeLiteral:function(t){if(t&&t.length){s(t);var r=e.computeLineStarts(t);r.length>1&&(a=a+r.length-1,o=n.length-t.length+e.lastOrUndefined(r))}},writeLine:function(){i||(a++,o=(n+=t).length,i=!0)},increaseIndent:function(){r++},decreaseIndent:function(){r--},getIndent:function(){return r},getTextPos:function(){return n.length},getLine:function(){return a+1},getColumn:function(){return i?r*Le()+1:n.length-o+1},getText:function(){return n},isAtStartOfLine:function(){return i},clear:c,reportInaccessibleThisError:e.noop,reportPrivateInBaseOfClassExpression:e.noop,reportInaccessibleUniqueSymbolError:e.noop,trackSymbol:e.noop,writeKeyword:s,writeOperator:s,writeParameter:s,writeProperty:s,writePunctuation:s,writeSpace:s,writeStringLiteral:s,writeSymbol:s}},e.getResolvedExternalModuleName=Re,e.getExternalModuleNameFromDeclaration=function(e,t,n){var r=t.getExternalModuleFileFromDeclaration(n);if(r&&!r.isDeclarationFile)return Re(e,r)},e.getExternalModuleNameFromPath=Be,e.getOwnEmitOutputFilePath=function(t,n,r){var i=n.getCompilerOptions();return e.removeFileExtension(i.outDir?je(t,n,i.outDir):t.fileName)+r},e.getDeclarationEmitOutputFilePath=function(t,n){var r=n.getCompilerOptions(),i=r.declarationDir||r.outDir,a=i?je(t,n,i):t.fileName;return e.removeFileExtension(a)+".d.ts"},e.getSourceFilesToEmit=function(t,n){var r=t.getCompilerOptions(),i=function(e){return t.isSourceFileFromExternalLibrary(e)};if(r.outFile||r.out){var a=e.getEmitModuleKind(r),o=a===e.ModuleKind.AMD||a===e.ModuleKind.System;return e.filter(t.getSourceFiles(),function(t){return(o||!e.isExternalModule(t))&&ze(t,r,i)})}var s=void 0===n?t.getSourceFiles():[n];return e.filter(s,function(e){return ze(e,r,i)})},e.sourceFileMayBeEmitted=ze,e.getSourceFilePathInNewDir=je,e.writeFile=function(t,n,r,i,a,o){t.writeFile(r,i,a,function(t){n.add(e.createCompilerDiagnostic(e.Diagnostics.Could_not_write_file_0_Colon_1,r,t))},o)},e.getLineOfLocalPosition=Je,e.getLineOfLocalPositionFromLineMap=Ke,e.getFirstConstructorWithBody=function(t){return e.forEach(t.members,function(e){if(154===e.kind&&c(e.body))return e})},e.getSetAccessorTypeAnnotationNode=function(e){var t=Ue(e);return t&&t.type},e.getThisParameter=function(e){if(e.parameters.length){var t=e.parameters[0];if(Ve(t))return t}},e.parameterIsThisKeyword=Ve,e.isThisIdentifier=qe,e.identifierIsThisKeyword=We,e.getAllAccessorDeclarations=function(t,n){var r,i,a,o;return fe(n)?(r=n,155===n.kind?a=n:156===n.kind?o=n:e.Debug.fail("Accessor has wrong kind")):e.forEach(t,function(e){155!==e.kind&&156!==e.kind||et(e,32)!==et(n,32)||ye(e.name)===ye(n.name)&&(r?i||(i=e):r=e,155!==e.kind||a||(a=e),156!==e.kind||o||(o=e))}),{firstAccessor:r,secondAccessor:i,getAccessor:a,setAccessor:o}},e.getEffectiveTypeAnnotationNode=He,e.getEffectiveReturnTypeNode=function(t){return t.type||(V(t)?e.getJSDocReturnType(t):void 0)},e.getEffectiveTypeParameterDeclarations=function(e){return e.typeParameters||(V(e)?Ge(e):void 0)},e.getJSDocTypeParameterDeclarations=Ge,e.getEffectiveSetAccessorTypeAnnotationNode=function(e){var t=Ue(e);return t&&He(t)},e.emitNewLineBeforeLeadingComments=Xe,e.emitNewLineBeforeLeadingCommentsOfPosition=Qe,e.emitNewLineBeforeLeadingCommentOfPosition=function(e,t,n,r){n!==r&&Ke(e,n)!==Ke(e,r)&&t.writeLine()},e.emitComments=Ye,e.emitDetachedComments=function(t,n,r,i,a,o,s){var c,l;if(s?0===a.pos&&(c=e.filter(e.getLeadingCommentRanges(t,a.pos),function(e){return u(t,e)})):c=e.getLeadingCommentRanges(t,a.pos),c){for(var _=[],d=void 0,p=0,f=c;p=g+2)break}_.push(m),d=m}_.length&&(g=Ke(n,e.lastOrUndefined(_).end),Ke(n,e.skipTrivia(t,a.pos))>=g+2&&(Xe(n,r,a,c),Ye(t,n,r,_,!1,!0,o,i),l={nodePos:a.pos,detachedCommentEndPos:e.lastOrUndefined(_).end}))}return l},e.writeCommentRange=function(t,n,r,i,a,o){if(42===t.charCodeAt(i+1))for(var s=e.computeLineAndCharacterOfPosition(n,i),c=n.length,u=void 0,l=i,_=s.line;l0){var f=p%Le(),m=Me((p-f)/Le());for(r.rawWrite(m);f;)r.rawWrite(" "),f--}else r.rawWrite("")}$e(t,a,r,o,l,d),l=d}else r.write(t.substring(i,a))},e.hasModifiers=function(e){return 0!==it(e)},e.hasModifier=et,e.hasStaticModifier=tt,e.hasReadonlyModifier=nt,e.getSelectedModifierFlags=rt,e.getModifierFlags=it,e.getModifierFlagsNoCache=at,e.modifierToFlag=ot,e.isLogicalOperator=function(e){return 54===e||53===e||51===e},e.isAssignmentOperator=st,e.tryGetClassExtendingExpressionWithTypeArguments=ct,e.isAssignmentExpression=ut,e.isDestructuringAssignment=function(e){if(ut(e,!0)){var t=e.left.kind;return 182===t||181===t}return!1},e.isExpressionWithTypeArgumentsInClassExtendsClause=lt,e.isExpressionWithTypeArgumentsInClassImplementsClause=function(t){return 205===t.kind&&_t(t.expression)&&t.parent&&108===t.parent.token&&t.parent.parent&&e.isClassLike(t.parent.parent)},e.isEntityNameExpression=_t,e.isRightSideOfQualifiedNameOrPropertyAccess=function(e){return 145===e.parent.kind&&e.parent.right===e||183===e.parent.kind&&e.parent.name===e},e.isEmptyObjectLiteral=function(e){return 182===e.kind&&0===e.properties.length},e.isEmptyArrayLiteral=function(e){return 181===e.kind&&0===e.elements.length},e.getLocalSymbolForExportDefault=function(t){return function(t){return t&&e.length(t.declarations)>0&&et(t.declarations[0],512)}(t)?t.declarations[0].localSymbol:void 0},e.tryExtractTypeScriptExtension=function(t){return e.find(e.supportedTypescriptExtensionsForExtractExtension,function(n){return e.fileExtensionIs(t,n)})};var dt,pt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ft(t,n,r){void 0===t&&(t=0);var i=function(t){var n=[];for(var r in t){var i=t[r];"number"==typeof i&&n.push([i,r])}return e.stableSort(n,function(t,n){return e.compareValues(t[0],n[0])})}(n);if(0===t)return i.length>0&&0===i[0][0]?i[0][1]:"0";if(r){for(var a="",o=t,s=i.length-1;s>=0&&0!==o;s--){var c=i[s],u=c[1];0!==(d=c[0])&&(o&d)===d&&(o&=~d,a=u+(a?", ":"")+a)}if(0===o)return a}else for(var l=0,_=i;l<_.length;l++){var d,p=_[l];if(u=p[1],(d=p[0])===t)return u}return t.toString()}function mt(e,t){return{pos:e,end:t}}function gt(e,t){return mt(t,e.end)}function yt(e){return e.decorators&&e.decorators.length>0?gt(e,e.decorators.end):e}function ht(e,t,n){return vt(bt(e,n),t.end,n)}function vt(e,t,n){return e===t||Je(n,e)===Je(n,t)}function bt(t,n){return e.positionIsSynthesized(t.pos)?-1:e.skipTrivia(n.text,t.pos)}function xt(e){return void 0!==e.initializer}function kt(e){return 33554432&e.flags?e.checkFlags:0}function St(e){var t=e.parent;if(!t)return 0;switch(t.kind){case 197:case 196:var n=t.operator;return 43===n||44===n?r():0;case 198:return t.left===e&&st(t.operatorToken.kind)?r():0;case 183:return t.name!==e?0:St(t);default:return 0}function r(){return t.parent&&214===t.parent.kind?1:2}}function Dt(t,n){for(;;){var r=n(t);if(void 0!==r)return r;var i=e.getDirectoryPath(t);if(i===t)return;t=i}}function Ct(e){if(32&e.flags){var t=Tt(e);return!!t&&et(t,128)}return!1}function Tt(t){return e.find(t.declarations,e.isClassLike)}function Et(e){return 65536&e.flags?e.objectFlags:0}e.convertToBase64=function(t){for(var n,r,i,a="",o=function(t){for(var n=[],r=t.length,i=0;i>6|192),n.push(63&a|128)):a<65536?(n.push(a>>12|224),n.push(a>>6&63|128),n.push(63&a|128)):a<131072?(n.push(a>>18|240),n.push(a>>12&63|128),n.push(a>>6&63|128),n.push(63&a|128)):e.Debug.assert(!1,"Unexpected code point")}return n}(t),s=0,c=o.length;s>4,r=(15&o[s+1])<<2|o[s+2]>>6,i=63&o[s+2],s+1>=c?r=i=64:s+2>=c&&(i=64),a+=pt.charAt(o[s]>>2)+pt.charAt(n)+pt.charAt(r)+pt.charAt(i),s+=3;return a},e.getNewLineCharacter=function(t,n){switch(t.newLine){case 0:return"\r\n";case 1:return"\n"}return n?n():e.sys?e.sys.newLine:"\r\n"},e.formatSyntaxKind=function(t){return ft(t,e.SyntaxKind,!1)},e.formatModifierFlags=function(t){return ft(t,e.ModifierFlags,!0)},e.formatTransformFlags=function(t){return ft(t,e.TransformFlags,!0)},e.formatEmitFlags=function(t){return ft(t,e.EmitFlags,!0)},e.formatSymbolFlags=function(t){return ft(t,e.SymbolFlags,!0)},e.formatTypeFlags=function(t){return ft(t,e.TypeFlags,!0)},e.formatObjectFlags=function(t){return ft(t,e.ObjectFlags,!0)},e.createRange=mt,e.moveRangeEnd=function(e,t){return mt(e.pos,t)},e.moveRangePos=gt,e.moveRangePastDecorators=yt,e.moveRangePastModifiers=function(e){return e.modifiers&&e.modifiers.length>0?gt(e,e.modifiers.end):yt(e)},e.isCollapsedRange=function(e){return e.pos===e.end},e.createTokenRange=function(t,n){return mt(t,t+e.tokenToString(n).length)},e.rangeIsOnSingleLine=function(e,t){return ht(e,e,t)},e.rangeStartPositionsAreOnSameLine=function(e,t,n){return vt(bt(e,n),bt(t,n),n)},e.rangeEndPositionsAreOnSameLine=function(e,t,n){return vt(e.end,t.end,n)},e.rangeStartIsOnSameLineAsRangeEnd=ht,e.rangeEndIsOnSameLineAsRangeStart=function(e,t,n){return vt(e.end,bt(t,n),n)},e.positionsAreOnSameLine=vt,e.getStartPositionOfRange=bt,e.isDeclarationNameOfEnumOrNamespace=function(t){var n=e.getParseTreeNode(t);if(n)switch(n.parent.kind){case 236:case 237:return n===n.parent.name}return!1},e.getInitializedVariables=function(t){return e.filter(t.declarations,xt)},e.isWatchSet=function(e){return e.watch&&e.hasOwnProperty("watch")},e.getCheckFlags=kt,e.getDeclarationModifierFlagsFromSymbol=function(t){if(t.valueDeclaration){var n=e.getCombinedModifierFlags(t.valueDeclaration);return t.parent&&32&t.parent.flags?n:-29&n}if(6&kt(t)){var r=t.checkFlags;return(256&r?8:64&r?4:16)|(512&r?32:0)}return 4194304&t.flags?36:0},e.skipAlias=function(e,t){return 2097152&e.flags?t.getAliasedSymbol(e):e},e.getCombinedLocalAndExportSymbolFlags=function(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags},e.isWriteOnlyAccess=function(e){return 1===St(e)},e.isWriteAccess=function(e){return 0!==St(e)},function(e){e[e.Read=0]="Read",e[e.Write=1]="Write",e[e.ReadWrite=2]="ReadWrite"}(dt||(dt={})),e.compareDataObjects=function e(t,n){if(!t||!n||Object.keys(t).length!==Object.keys(n).length)return!1;for(var r in t)if("object"==typeof t[r]){if(!e(t[r],n[r]))return!1}else if("function"!=typeof t[r]&&t[r]!==n[r])return!1;return!0},e.clearMap=function(e,t){e.forEach(t),e.clear()},e.mutateMap=function(e,t,n){var r=n.createNewValue,i=n.onDeleteValue,a=n.onExistingValue;e.forEach(function(n,r){var o=t.get(r);void 0===o?(e.delete(r),i(n,r)):a&&a(n,o,r)}),t.forEach(function(t,n){e.has(n)||e.set(n,r(n,t))})},e.forEachAncestorDirectory=Dt,e.isAbstractConstructorType=function(e){return!!(16&Et(e))&&!!e.symbol&&Ct(e.symbol)},e.isAbstractConstructorSymbol=Ct,e.getClassLikeDeclarationOfSymbol=Tt,e.getObjectFlags=Et,e.typeHasCallOrConstructSignatures=function(e,t){return 0!==t.getSignaturesOfType(e,0).length||0!==t.getSignaturesOfType(e,1).length},e.forSomeAncestorDirectory=function(e,t){return!!Dt(e,function(e){return!!t(e)||void 0})},e.isUMDExportSymbol=function(t){return t&&t.declarations&&t.declarations[0]&&e.isNamespaceExportDeclaration(t.declarations[0])},e.showModuleSpecifier=function(t){var n=t.moduleSpecifier;return e.isStringLiteral(n)?n.text:p(n)}}(l||(l={})),function(e){function t(e){return e.start+e.length}function n(e){return 0===e.length}function r(e,t){var n=a(e,t);return n&&0===n.length?void 0:n}function i(e,t,n,r){return n<=e+t&&n+r>=e}function a(e,n){var r=Math.max(e.start,n.start),i=Math.min(t(e),t(n));return r<=i?s(r,i):void 0}function o(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function s(e,t){return o(e,t-e)}function c(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}function u(t){return!!e.isBindingPattern(t)&&e.every(t.elements,l)}function l(t){return!!e.isOmittedExpression(t)||u(t.name)}function _(t){for(;t&&(180===t.kind||e.isBindingPattern(t));)t=t.parent;return t}function d(e,t){if(e)for(;void 0!==e.original;)e=e.original;return!t||t(e)?e:void 0}function p(e){return 0==(8&e.flags)}function f(e){var t=e;return t.length>=3&&95===t.charCodeAt(0)&&95===t.charCodeAt(1)&&95===t.charCodeAt(2)?t.substr(1):t}function m(t){var n=y(t);return e.isIdentifier(n)?n:void 0}function g(t){return t.name||function(t){var n=t.parent.parent;if(n){if(e.isDeclaration(n))return m(n);switch(n.kind){case 212:return n.declarationList&&n.declarationList.declarations[0]?m(n.declarationList.declarations[0]):void 0;case 214:var r=n.expression;switch(r.kind){case 183:return r.name;case 184:var i=r.argumentExpression;if(e.isIdentifier(i))return i}return;case 1:return;case 189:return m(n.expression);case 226:return e.isDeclaration(n.statement)||e.isExpression(n.statement)?m(n.statement):void 0;default:e.Debug.assertNever(n,"Found typedef tag attached to node which it should not be!")}}}(t)}function y(t){if(t){switch(t.kind){case 71:return t;case 292:case 287:var n=t.name;if(145===n.kind)return n.right;break;case 198:var r=t;switch(e.getSpecialPropertyAssignmentKind(r)){case 1:case 4:case 5:case 3:return r.left.name;default:return}case 291:return g(t);case 247:var i=t.expression;return e.isIdentifier(i)?i:void 0}return t.name}}function h(t){if(t.name&&e.isIdentifier(t.name)){var n=t.name.escapedText;return b(t.parent).filter(function(t){return e.isJSDocParameterTag(t)&&e.isIdentifier(t.name)&&t.name.escapedText===n})}}function v(e){return x(e,288)}function b(t){var n=t.jsDocCache;return void 0===n&&(t.jsDocCache=n=e.flatMap(e.getJSDocCommentsAndTags(t),function(t){return e.isJSDoc(t)?t.tags:t})),n}function x(t,n){var r=b(t);return e.find(r,function(e){return e.kind===n})}e.getDefaultLibFileName=function(e){switch(e.target){case 6:return"lib.esnext.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}},e.textSpanEnd=t,e.textSpanIsEmpty=n,e.textSpanContainsPosition=function(e,n){return n>=e.start&&n=e.start&&t(n)<=t(e)},e.textSpanOverlapsWith=function(e,t){return void 0!==r(e,t)},e.textSpanOverlap=r,e.textSpanIntersectsWithTextSpan=function(e,t){return i(e.start,e.length,t.start,t.length)},e.textSpanIntersectsWith=function(e,t,n){return i(e.start,e.length,t,n)},e.decodedTextSpanIntersectsWith=i,e.textSpanIntersectsWithPosition=function(e,n){return n<=t(e)&&n>=e.start},e.textSpanIntersection=a,e.createTextSpan=o,e.createTextSpanFromBounds=s,e.textChangeRangeNewSpan=function(e){return o(e.span.start,e.newLength)},e.textChangeRangeIsUnchanged=function(e){return n(e.span)&&0===e.newLength},e.createTextChangeRange=c,e.unchangedTextChangeRange=c(o(0,0),0),e.collapseTextChangeRangesAcrossMultipleVersions=function(n){if(0===n.length)return e.unchangedTextChangeRange;if(1===n.length)return n[0];for(var r=n[0],i=r.span.start,a=t(r.span),o=i+r.newLength,u=1;u=145}function n(e){return 8<=e&&e<=13}function r(e){return 13<=e&&e<=16}function i(e){switch(e){case 117:case 120:case 76:case 124:case 79:case 84:case 114:case 112:case 113:case 132:case 115:return!0}return!1}function a(e){return e&&s(e.kind)}function o(e){switch(e){case 232:case 153:case 154:case 155:case 156:case 190:case 191:return!0;default:return!1}}function s(e){switch(e){case 152:case 157:case 158:case 159:case 162:case 280:case 163:return!0;default:return o(e)}}function c(e){switch(e.kind){case 178:case 182:return!0}return!1}function u(e){switch(e.kind){case 179:case 181:return!0}return!1}function l(e){switch(e){case 183:case 184:case 186:case 185:case 253:case 254:case 257:case 187:case 181:case 189:case 182:case 203:case 190:case 71:case 12:case 8:case 9:case 13:case 200:case 86:case 95:case 99:case 101:case 97:case 207:case 208:case 91:return!0;default:return!1}}function _(e){switch(e){case 196:case 197:case 192:case 193:case 194:case 195:case 188:return!0;default:return l(e)}}function d(t){return function(e){switch(e){case 199:case 201:case 191:case 198:case 202:case 206:case 204:case 296:case 295:return!0;default:return _(e)}}(e.skipPartiallyEmittedExpressions(t).kind)}function p(e){return 295===e.kind}function f(e){return 294===e.kind}function m(e){return 232===e||251===e||233===e||234===e||235===e||236===e||237===e||242===e||241===e||248===e||247===e||240===e}function g(e){return 222===e||221===e||229===e||216===e||214===e||213===e||219===e||220===e||218===e||215===e||226===e||223===e||225===e||227===e||228===e||212===e||217===e||224===e||294===e||298===e||297===e}function y(e){return e.kind>=284&&e.kind<=292}function h(e){return!!e.initializer}e.isSyntaxList=function(e){return 293===e.kind},e.isNode=function(e){return t(e.kind)},e.isNodeKind=t,e.isToken=function(e){return e.kind>=0&&e.kind<=144},e.isNodeArray=function(e){return e.hasOwnProperty("pos")&&e.hasOwnProperty("end")},e.isLiteralKind=n,e.isLiteralExpression=function(e){return n(e.kind)},e.isTemplateLiteralKind=r,e.isTemplateMiddleOrTemplateTail=function(e){var t=e.kind;return 15===t||16===t},e.isStringTextContainingNode=function(e){return 9===e.kind||r(e.kind)},e.isGeneratedIdentifier=function(t){return e.isIdentifier(t)&&(7&t.autoGenerateFlags)>0},e.isModifierKind=i,e.isModifier=function(e){return i(e.kind)},e.isEntityName=function(e){var t=e.kind;return 145===t||71===t},e.isPropertyName=function(e){var t=e.kind;return 71===t||9===t||8===t||146===t},e.isBindingName=function(e){var t=e.kind;return 71===t||178===t||179===t},e.isFunctionLike=a,e.isFunctionLikeDeclaration=function(e){return e&&o(e.kind)},e.isFunctionLikeKind=s,e.isFunctionOrModuleBlock=function(t){return e.isSourceFile(t)||e.isModuleBlock(t)||e.isBlock(t)&&a(t.parent)},e.isClassElement=function(e){var t=e.kind;return 154===t||151===t||153===t||155===t||156===t||159===t||210===t||251===t},e.isClassLike=function(e){return e&&(233===e.kind||203===e.kind)},e.isAccessor=function(e){return e&&(155===e.kind||156===e.kind)},e.isMethodOrAccessor=function(e){switch(e.kind){case 153:case 155:case 156:return!0;default:return!1}},e.isTypeElement=function(e){var t=e.kind;return 158===t||157===t||150===t||152===t||159===t||251===t},e.isObjectLiteralElementLike=function(e){var t=e.kind;return 268===t||269===t||270===t||153===t||155===t||156===t||251===t},e.isTypeNode=function(e){return(t=e.kind)>=160&&t<=177||119===t||134===t||135===t||122===t||137===t||138===t||99===t||105===t||140===t||95===t||131===t||205===t||275===t||276===t||277===t||278===t||279===t||280===t||281===t;var t},e.isFunctionOrConstructorTypeNode=function(e){switch(e.kind){case 162:case 163:return!0}return!1},e.isBindingPattern=function(e){if(e){var t=e.kind;return 179===t||178===t}return!1},e.isAssignmentPattern=function(e){var t=e.kind;return 181===t||182===t},e.isArrayBindingElement=function(e){var t=e.kind;return 180===t||204===t},e.isDeclarationBindingElement=function(e){switch(e.kind){case 230:case 148:case 180:return!0}return!1},e.isBindingOrAssignmentPattern=function(e){return c(e)||u(e)},e.isObjectBindingOrAssignmentPattern=c,e.isArrayBindingOrAssignmentPattern=u,e.isPropertyAccessOrQualifiedName=function(e){var t=e.kind;return 183===t||145===t},e.isCallLikeExpression=function(e){switch(e.kind){case 255:case 254:case 185:case 186:case 187:case 149:return!0;default:return!1}},e.isCallOrNewExpression=function(e){return 185===e.kind||186===e.kind},e.isTemplateLiteral=function(e){var t=e.kind;return 200===t||13===t},e.isLeftHandSideExpression=function(t){return l(e.skipPartiallyEmittedExpressions(t).kind)},e.isUnaryExpression=function(t){return _(e.skipPartiallyEmittedExpressions(t).kind)},e.isUnaryExpressionWithWrite=function(e){switch(e.kind){case 197:return!0;case 196:return 43===e.operator||44===e.operator;default:return!1}},e.isExpression=d,e.isAssertionExpression=function(e){var t=e.kind;return 188===t||206===t},e.isPartiallyEmittedExpression=p,e.isNotEmittedStatement=f,e.isNotEmittedOrPartiallyEmittedNode=function(e){return f(e)||p(e)},e.isIterationStatement=function e(t,n){switch(t.kind){case 218:case 219:case 220:case 216:case 217:return!0;case 226:return n&&e(t.statement,n)}return!1},e.isForInOrOfStatement=function(e){return 219===e.kind||220===e.kind},e.isConciseBody=function(t){return e.isBlock(t)||d(t)},e.isFunctionBody=function(t){return e.isBlock(t)},e.isForInitializer=function(t){return e.isVariableDeclarationList(t)||d(t)},e.isModuleBody=function(e){var t=e.kind;return 238===t||237===t||71===t},e.isNamespaceBody=function(e){var t=e.kind;return 238===t||237===t},e.isJSDocNamespaceBody=function(e){var t=e.kind;return 71===t||237===t},e.isNamedImportBindings=function(e){var t=e.kind;return 245===t||244===t},e.isModuleOrEnumDeclaration=function(e){return 237===e.kind||236===e.kind},e.isDeclaration=function(t){return 147===t.kind?290!==t.parent.kind||e.isInJavaScriptFile(t):191===(n=t.kind)||180===n||233===n||203===n||154===n||236===n||271===n||250===n||232===n||190===n||155===n||243===n||241===n||246===n||234===n||260===n||153===n||152===n||237===n||240===n||244===n||148===n||268===n||151===n||150===n||156===n||269===n||235===n||147===n||230===n||291===n;var n},e.isDeclarationStatement=function(e){return m(e.kind)},e.isStatementButNotDeclaration=function(e){return g(e.kind)},e.isStatement=function(t){var n=t.kind;return g(n)||m(n)||function(t){return 211===t.kind&&(void 0===t.parent||228!==t.parent.kind&&267!==t.parent.kind)&&!e.isFunctionBlock(t)}(t)},e.isModuleReference=function(e){var t=e.kind;return 252===t||145===t||71===t},e.isJsxTagNameExpression=function(e){var t=e.kind;return 99===t||71===t||183===t},e.isJsxChild=function(e){var t=e.kind;return 253===t||263===t||254===t||10===t||257===t},e.isJsxAttributeLike=function(e){var t=e.kind;return 260===t||262===t},e.isStringLiteralOrJsxExpression=function(e){var t=e.kind;return 9===t||263===t},e.isJsxOpeningLikeElement=function(e){var t=e.kind;return 255===t||254===t},e.isCaseOrDefaultClause=function(e){var t=e.kind;return 264===t||265===t},e.isJSDocNode=function(e){return e.kind>=274&&e.kind<=292},e.isJSDocCommentContainingNode=function(t){return 282===t.kind||y(t)||e.isJSDocTypeLiteral(t)},e.isJSDocTag=y,e.isSetAccessor=function(e){return 156===e.kind},e.isGetAccessor=function(e){return 155===e.kind},e.hasJSDocNodes=function(e){return!!e.jsDoc&&e.jsDoc.length>0},e.hasType=function(e){return!!e.type},e.hasInitializer=h,e.hasOnlyExpressionInitializer=function(t){return h(t)&&!e.isForStatement(t)&&!e.isForInStatement(t)&&!e.isForOfStatement(t)&&!e.isJsxAttribute(t)},e.isObjectLiteralElement=function(e){switch(e.kind){case 260:case 262:case 268:case 269:case 153:case 155:case 156:return!0;default:return!1}},e.isTypeReferenceType=function(e){return 161===e.kind||205===e.kind},e.isStringLiteralLike=function(e){return 9===e.kind||13===e.kind}}(l||(l={})),function(e){var t,n,r,i,a,o,s;function c(e,t){return t&&e(t)}function u(e,t,n){if(n){if(t)return t(n);for(var r=0,i=n;rt.checkJsDirective.pos)&&(t.checkJsDirective={enabled:"ts-check"===i,end:e.range.end,pos:e.range.pos})});break;case"jsx":return;default:e.Debug.fail("Unhandled pragma kind")}})}!function(e){e[e.None=0]="None",e[e.Yield=1]="Yield",e[e.Await=2]="Await",e[e.Type=4]="Type",e[e.RequireCompleteParameterList=8]="RequireCompleteParameterList",e[e.IgnoreMissingOpenBrace=16]="IgnoreMissingOpenBrace",e[e.JSDoc=32]="JSDoc"}(t||(t={})),e.createNode=function(t,o,s){return 272===t?new(a||(a=e.objectAllocator.getSourceFileConstructor()))(t,o,s):71===t?new(i||(i=e.objectAllocator.getIdentifierConstructor()))(t,o,s):e.isNodeKind(t)?new(n||(n=e.objectAllocator.getNodeConstructor()))(t,o,s):new(r||(r=e.objectAllocator.getTokenConstructor()))(t,o,s)},e.forEachChild=l,e.createSourceFile=function(t,n,r,i,a){void 0===i&&(i=!1),e.performance.mark("beforeParse");var s=o.parseSourceFile(t,n,r,void 0,i,a);return e.performance.mark("afterParse"),e.performance.measure("Parse","beforeParse","afterParse"),s},e.parseIsolatedEntityName=function(e,t){return o.parseIsolatedEntityName(e,t)},e.parseJsonText=function(e,t){return o.parseJsonText(e,t)},e.isExternalModule=function(e){return void 0!==e.externalModuleIndicator},e.updateSourceFile=function(e,t,n,r){var i=s.updateSourceFile(e,t,n,r);return i.flags|=524288&e.flags,i},e.parseIsolatedJSDocComment=function(e,t,n){var r=o.JSDocParser.parseIsolatedJSDocComment(e,t,n);return r&&r.jsDoc&&o.fixupParentReferences(r.jsDoc),r},e.parseJSDocTypeExpressionForTests=function(e,t,n){return o.JSDocParser.parseJSDocTypeExpressionForTests(e,t,n)},function(t){var n,r,i,a,o,s,c,u,p,f,m,g,y,h,v,b,x,k=e.createScanner(6,!0),S=10240,D=!1;function C(e){return 4===e||2===e||1===e||6===e?1:0}function T(t,o,u,l){switch(n=e.objectAllocator.getNodeConstructor(),r=e.objectAllocator.getTokenConstructor(),i=e.objectAllocator.getIdentifierConstructor(),a=e.objectAllocator.getSourceFileConstructor(),p=t,c=u,s=[],y=0,m=e.createMap(),g=0,f=0,l){case 1:case 2:case 6:h=65536;break;default:h=0}D=!1,k.setText(p),k.setOnError(G),k.setScriptTarget(o),k.setLanguageVariant(C(l))}function E(){k.setText(""),k.setOnError(void 0),s=void 0,o=void 0,m=void 0,c=void 0,p=void 0}function N(t,n,r,i){var a=function(t){return e.fileExtensionIs(t,".d.ts")}(t);return a&&(h|=2097152),(o=w(t,n,i,a)).flags=h,Y(),_(o,p),d(o,function(t,n,r){s.push(e.createFileDiagnostic(o,t,n,r))}),o.statements=Re(0,Dn),e.Debug.assert(1===Q()),o.endOfFileToken=A(ue()),function(t){t.externalModuleIndicator=e.forEach(t.statements,function(t){return e.hasModifier(t,1)||241===t.kind&&252===t.moduleReference.kind||242===t.kind||247===t.kind||248===t.kind?t:void 0})}(o),o.nodeCount=f,o.identifierCount=g,o.identifiers=m,o.parseDiagnostics=s,r&&P(o),o}function A(t){var n=e.getJSDocCommentRanges(t,o.text);if(n)for(var r=0,i=n;r107}function ae(t,n,r){return void 0===r&&(r=!0),Q()===t?(r&&Y(),!0):(n?W(n):W(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function oe(e){return Q()===e&&(Y(),!0)}function se(e){if(Q()===e)return ue()}function ce(t,n,r){return se(t)||ge(t,!1,n||e.Diagnostics._0_expected,r||e.tokenToString(t))}function ue(){var e=de(Q());return Y(),me(e)}function le(){return 25===Q()||18===Q()||1===Q()||k.hasPrecedingLineBreak()}function _e(){return le()?(25===Q()&&Y(),!0):ae(25)}function de(t,a){f++;var o=a>=0?a:k.getStartPos();return e.isNodeKind(t)||0===t?new n(t,o,o):71===t?new i(t,o,o):new r(t,o,o)}function pe(e){var t=de(e);return 2&k.getTokenFlags()&&A(t),t}function fe(e,t,n){var r=e.length,i=r>=1&&r<=4?e.slice():e;return i.pos=t,i.end=void 0===n?k.getStartPos():n,i}function me(e,t){return e.end=void 0===t?k.getStartPos():t,h&&(e.flags|=h),D&&(D=!1,e.flags|=32768),e}function ge(t,n,r,i){n?H(k.getStartPos(),0,r,i):W(r,i);var a=de(t);return 71===t?a.escapedText="":(e.isLiteralKind(t)||e.isTemplateLiteralKind(t))&&(a.text=""),me(a)}function ye(e){var t=m.get(e);return void 0===t&&m.set(e,t=e),t}function he(t,n){if(g++,t){var r=de(71);return 71!==Q()&&(r.originalKeywordKind=Q()),r.escapedText=e.escapeLeadingUnderscores(ye(k.getTokenValue())),Y(),me(r)}return ge(71,1===Q(),n||e.Diagnostics.Identifier_expected)}function ve(e){return he(ie(),e)}function be(t){return he(e.tokenIsIdentifierOrKeyword(Q()),t)}function xe(){return e.tokenIsIdentifierOrKeyword(Q())||9===Q()||8===Q()}function ke(){return function(e){if(9===Q()||8===Q()){var t=Xe();return t.text=ye(t.text),t}return 21===Q()?function(){var e=de(146);return ae(21),e.expression=z(It),ae(22),me(e)}():be()}()}function Se(e){return Q()===e&&re(Ce)}function De(){return Y(),!k.hasPrecedingLineBreak()&&Te()}function Ce(){return 76===Q()?83===Y():84===Q()?(Y(),79===Q()?ne(Ee):39!==Q()&&118!==Q()&&17!==Q()&&Te()):79===Q()?Ee():115===Q()?(Y(),Te()):De()}function Te(){return 21===Q()||17===Q()||39===Q()||24===Q()||xe()}function Ee(){return Y(),75===Q()||89===Q()||109===Q()||117===Q()&&ne(yn)||120===Q()&&ne(hn)}function Ne(t,n){if(ze(t))return!0;switch(t){case 0:case 1:case 3:return!(25===Q()&&n)&&kn();case 2:return 73===Q()||79===Q();case 4:return ne(lt);case 5:return ne(Un)||25===Q()&&!n;case 6:return 21===Q()||xe();case 12:return 21===Q()||39===Q()||24===Q()||xe();case 17:return xe();case 9:return 21===Q()||24===Q()||xe();case 7:return 17===Q()?ne(Ae):n?ie()&&!Ie():wt()&&!Ie();case 8:return wn();case 10:return 26===Q()||24===Q()||wn();case 18:return ie();case 15:if(26===Q())return!0;case 11:return 24===Q()||Ft();case 16:return nt();case 19:case 20:return 26===Q()||vt();case 21:return er();case 22:return e.tokenIsIdentifierOrKeyword(Q());case 13:return e.tokenIsIdentifierOrKeyword(Q())||17===Q();case 14:return!0}e.Debug.fail("Non-exhaustive case in 'isListElement'.")}function Ae(){if(e.Debug.assert(17===Q()),18===Y()){var t=Y();return 26===t||17===t||85===t||108===t}return!0}function Pe(){return Y(),ie()}function we(){return Y(),e.tokenIsIdentifierOrKeyword(Q())}function Fe(){return Y(),e.tokenIsIdentifierOrKeywordOrGreaterThan(Q())}function Ie(){return(108===Q()||85===Q())&&ne(Oe)}function Oe(){return Y(),Ft()}function Me(){return Y(),vt()}function Le(e){if(1===Q())return!0;switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 22:return 18===Q();case 3:return 18===Q()||73===Q()||79===Q();case 7:return 17===Q()||85===Q()||108===Q();case 8:return!!le()||!!Ut(Q())||36===Q();case 18:return 29===Q()||19===Q()||17===Q()||85===Q()||108===Q();case 11:return 20===Q()||25===Q();case 15:case 20:case 10:return 22===Q();case 16:case 17:return 20===Q()||22===Q();case 19:return 26!==Q();case 21:return 17===Q()||18===Q();case 13:return 29===Q()||41===Q();case 14:return 27===Q()&&ne(ar)}}function Re(e,t){var n=y;y|=1<=0&&(c.hasTrailingComma=!0),c}function Ke(){return fe([],X())}function Ue(e,t,n,r){if(ae(n)){var i=Je(e,t);return ae(r),i}return Ke()}function Ve(e,t){for(var n=e?be(t):ve(t),r=k.getStartPos();oe(23);){if(27===Q()){n.jsdocDotPos=r;break}r=k.getStartPos(),n=qe(n,We(e))}return n}function qe(e,t){var n=de(145,e.pos);return n.left=e,n.right=t,me(n)}function We(t){return k.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(Q())&&ne(gn)?ge(71,!0,e.Diagnostics.Identifier_expected):t?be():ve()}function He(){var t,n=de(200);n.head=(t=Qe(Q()),e.Debug.assert(14===t.kind,"Template head has wrong token kind"),t),e.Debug.assert(14===n.head.kind,"Template head has wrong token kind");var r=[],i=X();do{r.push(Ge())}while(15===e.lastOrUndefined(r).literal.kind);return n.templateSpans=fe(r,i),me(n)}function Ge(){var t,n,r=de(209);return r.expression=z(It),18===Q()?(u=k.reScanTemplateToken(),n=Qe(Q()),e.Debug.assert(15===n.kind||16===n.kind,"Template fragment has wrong token kind"),t=n):t=ce(16,e.Diagnostics._0_expected,e.tokenToString(18)),r.literal=t,me(r)}function Xe(){return Qe(Q())}function Qe(e){var t=de(e),n=k.getTokenValue();return t.text=n,k.hasExtendedUnicodeEscape()&&(t.hasExtendedUnicodeEscape=!0),k.isUnterminated()&&(t.isUnterminated=!0),8===t.kind&&(t.numericLiteralFlags=1008&k.getTokenFlags()),Y(),me(t),t}function Ye(){var t=de(161);return t.typeName=Ve(!0,e.Diagnostics.Type_expected),k.hasPrecedingLineBreak()||27!==Q()||(t.typeArguments=Ue(19,Nt,27,29)),me(t)}function $e(){var e=de(148);return 99!==Q()&&94!==Q()||(e.name=be(),ae(56)),e.type=Nt(),me(e)}function Ze(){var e=de(147);return e.name=ve(),oe(85)&&(vt()||!Ft()?e.constraint=Nt():e.expression=Ht()),oe(58)&&(e.default=Nt()),me(e)}function et(){if(27===Q())return Ue(18,Ze,27,29)}function tt(){if(oe(56))return Nt()}function nt(){return 24===Q()||wn()||e.isModifierKind(Q())||57===Q()||vt(!0)}function rt(){var t=pe(148);return 99===Q()?(t.name=he(!0),t.type=tt(),me(t)):(t.decorators=Vn(),t.modifiers=qn(),t.dotDotDotToken=se(24),t.name=Fn(),0===e.getFullWidth(t.name)&&!e.hasModifiers(t)&&e.isModifierKind(Q())&&Y(),t.questionToken=se(55),t.type=tt(),t.initializer=Ot(),me(t))}function it(t,n,r){32&n||(r.typeParameters=et()),r.parameters=function(e){if(ae(19)){var t=K(),n=q();O(!!(1&e)),L(!!(2&e));var r=Je(16,32&e?$e:rt);if(O(t),L(n),!ae(20)&&8&e)return;return r}return 8&e?void 0:Ke()}(n),r.type=function(t,r){return function(t,n){return 36===t?(ae(t),!0):!!oe(56)||!(!n||36!==Q())&&(W(e.Diagnostics._0_expected,e.tokenToString(56)),Y(),!0)}(t,!!(4&n))?function(){var e=ie()&&re(Et),t=Nt();if(e){var n=de(160,e.pos);return n.parameterName=e,n.type=t,me(n)}return t}():void 0}(t)}function at(){oe(26)||_e()}function ot(e){var t=pe(e);return 158===e&&ae(94),it(56,4,t),at(),me(t)}function st(){return 21===Q()&&ne(ct)}function ct(){if(Y(),24===Q()||22===Q())return!0;if(e.isModifierKind(Q())){if(Y(),ie())return!0}else{if(!ie())return!1;Y()}return 56===Q()||26===Q()||55===Q()&&(Y(),56===Q()||26===Q()||22===Q())}function ut(e){return e.kind=159,e.parameters=Ue(16,rt,21,22),e.type=Pt(),at(),me(e)}function lt(){if(19===Q()||27===Q())return!0;for(var t;e.isModifierKind(Q());)t=!0,Y();return 21===Q()||(xe()&&(t=!0,Y()),!!t&&(19===Q()||27===Q()||55===Q()||56===Q()||26===Q()||le()))}function _t(){if(19===Q()||27===Q())return ot(157);if(94===Q()&&ne(dt))return ot(158);var e=pe(0);return e.modifiers=qn(),st()?ut(e):function(e){return e.name=ke(),e.questionToken=se(55),19===Q()||27===Q()?(e.kind=152,it(56,4,e)):(e.kind=150,e.type=Pt(),58===Q()&&(e.initializer=Ot())),at(),me(e)}(e)}function dt(){return Y(),19===Q()||27===Q()}function pt(){var e;return ae(17)?(e=Re(4,_t),ae(18)):e=Ke(),e}function ft(){return Y(),37===Q()||38===Q()?132===Y():(132===Q()&&Y(),21===Q()&&Pe()&&92===Y())}function mt(e){var t=pe(e);return 163===e&&ae(94),it(36,4,t),me(t)}function gt(){var e=ue();return 23===Q()?void 0:e}function yt(e){var t,n=de(177);e&&((t=de(196)).operator=38,Y());var r=101===Q()||86===Q()?ue():Qe(Q());return e&&(t.operand=r,me(t),r=t),n.literal=r,me(n)}function ht(){return 8===Y()}function vt(e){switch(Q()){case 119:case 137:case 134:case 122:case 138:case 141:case 105:case 140:case 95:case 99:case 103:case 131:case 17:case 21:case 27:case 49:case 48:case 94:case 9:case 8:case 101:case 86:case 135:case 39:case 55:case 51:case 24:case 126:return!0;case 38:return!e&&ne(ht);case 19:return!e&&ne(bt);default:return ie()}}function bt(){return Y(),20===Q()||nt()||vt()}function xt(){for(var e=function e(){switch(Q()){case 119:case 137:case 134:case 138:case 122:case 140:case 131:case 135:return re(gt)||Ye();case 39:return r=de(275),Y(),me(r);case 55:return function(){var e,t=k.getStartPos();return Y(),26===Q()||18===Q()||20===Q()||29===Q()||58===Q()||49===Q()?me(e=de(276,t)):((e=de(277,t)).type=Nt(),me(e))}();case 89:return function(){if(ne(ir)){var e=pe(280);return Y(),it(56,36,e),me(e)}var t=de(161);return t.typeName=be(),me(t)}();case 51:return function(t){var n=de(278);return Y(),n.type=e(),me(n)}();case 13:case 9:case 8:case 101:case 86:return yt();case 38:return ne(ht)?yt(!0):Ye();case 105:case 95:return ue();case 99:var t=(n=de(173),Y(),me(n));return 127!==Q()||k.hasPrecedingLineBreak()?t:function(e){Y();var t=de(160,e.pos);return t.parameterName=e,t.type=Nt(),me(t)}(t);case 103:return function(){var e=de(164);return ae(103),e.exprName=Ve(!0),me(e)}();case 17:return ne(ft)?function(){var e=de(176);return ae(17),132!==Q()&&37!==Q()&&38!==Q()||(e.readonlyToken=ue(),132!==e.readonlyToken.kind&&ce(132)),ae(21),e.typeParameter=function(){var e=de(147);return e.name=ve(),ae(92),e.constraint=Nt(),me(e)}(),ae(22),55!==Q()&&37!==Q()&&38!==Q()||(e.questionToken=ue(),55!==e.questionToken.kind&&ce(55)),e.type=Pt(),_e(),ae(18),me(e)}():function(){var e=de(165);return e.members=pt(),me(e)}();case 21:return function(){var e=de(167);return e.elementTypes=Ue(20,Nt,21,22),me(e)}();case 19:return function(){var e=de(172);return ae(19),e.type=Nt(),ae(20),me(e)}();default:return Ye()}var n,r}();!k.hasPrecedingLineBreak();)switch(Q()){case 58:if(!(1048576&h))return e;e=kt(279,e);break;case 51:e=kt(278,e);break;case 55:if(!(1048576&h)&&ne(Me))return e;e=kt(277,e);break;case 21:var t;ae(21),vt()?((t=de(175,e.pos)).objectType=e,t.indexType=Nt(),ae(22),e=me(t)):((t=de(166,e.pos)).elementType=e,ae(22),e=me(t));break;default:return e}return e}function kt(e,t){Y();var n=de(e,t.pos);return n.type=t,me(n)}function St(){var e=Q();switch(e){case 128:case 141:return function(e){var t=de(174);return ae(e),t.operator=e,t.type=St(),me(t)}(e);case 126:return function(){var e=de(171);ae(126);var t=de(147);return t.name=ve(),e.typeParameter=me(t),me(e)}();case 24:var t=de(281);return Y(),t.type=xt(),me(t)}return xt()}function Dt(e,t,n){oe(n);var r=t();if(Q()===n){for(var i=[r];oe(n);)i.push(t());var a=de(e,r.pos);a.types=fe(i,r.pos),r=me(a)}return r}function Ct(){return Dt(169,St,48)}function Tt(){if(Y(),20===Q()||24===Q())return!0;if(function(){if(e.isModifierKind(Q())&&qn(),ie()||99===Q())return Y(),!0;if(21===Q()||17===Q()){var t=s.length;return Fn(),t===s.length}return!1}()){if(56===Q()||26===Q()||55===Q()||58===Q())return!0;if(20===Q()&&(Y(),36===Q()))return!0}return!1}function Et(){var e=ve();if(127===Q()&&!k.hasPrecedingLineBreak())return Y(),e}function Nt(){return R(20480,At)}function At(e){if(27===Q()||19===Q()&&ne(Tt))return mt(162);if(94===Q())return mt(163);var t=Dt(168,Ct,49);if(!e&&!k.hasPrecedingLineBreak()&&oe(85)){var n=de(170,t.pos);return n.checkType=t,n.extendsType=At(!0),ae(55),n.trueType=At(),ae(56),n.falseType=At(),me(n)}return t}function Pt(){return oe(56)?Nt():void 0}function wt(){switch(Q()){case 99:case 97:case 95:case 101:case 86:case 8:case 9:case 13:case 14:case 19:case 21:case 17:case 89:case 75:case 94:case 41:case 63:case 71:return!0;case 91:return ne(dt);default:return ie()}}function Ft(){if(wt())return!0;switch(Q()){case 37:case 38:case 52:case 51:case 80:case 103:case 105:case 43:case 44:case 27:case 121:case 116:return!0;default:return!(U()&&92===Q()||!(qt()>0))||ie()}}function It(){var e=V();e&&M(!1);for(var t,n=Mt();t=se(26);)n=Wt(n,t,Mt());return e&&M(!0),n}function Ot(){return oe(58)?Mt():void 0}function Mt(){if(116===Q()&&(K()||ne(vn)))return t=de(201),Y(),k.hasPrecedingLineBreak()||39!==Q()&&!Ft()?me(t):(t.asteriskToken=se(39),t.expression=Mt(),me(t));var t,n=function(){var t=19===Q()||27===Q()||120===Q()?ne(Rt):36===Q()?1:0;if(0!==t){var n=1===t?jt(!0):re(Bt);if(n){var r=e.hasModifier(n,256),i=Q();return n.equalsGreaterThanToken=ce(36),n.body=36===i||17===i?Jt(r):ve(),me(n)}}}()||function(){if(120===Q()&&1===ne(zt)){var e=Wn();return Lt(Kt(0),e)}}();if(n)return n;var r=Kt(0);return 71===r.kind&&36===Q()?Lt(r):e.isLeftHandSideExpression(r)&&e.isAssignmentOperator($())?Wt(r,ue(),Mt()):function(t){var n=se(55);if(!n)return t;var r=de(199,t.pos);return r.condition=t,r.questionToken=n,r.whenTrue=R(S,Mt),r.colonToken=ce(56),r.whenFalse=e.nodeIsPresent(r.colonToken)?Mt():ge(71,!1,e.Diagnostics._0_expected,e.tokenToString(56)),me(r)}(r)}function Lt(t,n){var r;e.Debug.assert(36===Q(),"parseSimpleArrowFunctionExpression should only have been called if we had a =>"),n?(r=de(191,n.pos)).modifiers=n:r=de(191,t.pos);var i=de(148,t.pos);return i.name=t,me(i),r.parameters=fe([i],i.pos,i.end),r.equalsGreaterThanToken=ce(36),r.body=Jt(!!n),A(me(r))}function Rt(){if(120===Q()){if(Y(),k.hasPrecedingLineBreak())return 0;if(19!==Q()&&27!==Q())return 0}var t=Q(),n=Y();if(19===t){if(20===n)switch(Y()){case 36:case 56:case 17:return 1;default:return 0}if(21===n||17===n)return 2;if(24===n)return 1;if(e.isModifierKind(n)&&120!==n&&ne(Pe))return 1;if(!ie())return 0;switch(Y()){case 56:return 1;case 55:return Y(),56===Q()||26===Q()||58===Q()||20===Q()?1:0;case 26:case 58:case 20:return 2}return 0}return e.Debug.assert(27===t),ie()?1===o.languageVariant?ne(function(){var e=Y();if(85===e)switch(Y()){case 58:case 29:return!1;default:return!0}else if(26===e)return!0;return!1})?1:0:2:0}function Bt(){return jt(!1)}function zt(){if(120===Q()){if(Y(),k.hasPrecedingLineBreak()||36===Q())return 0;var e=Kt(0);if(!k.hasPrecedingLineBreak()&&71===e.kind&&36===Q())return 1}return 0}function jt(t){var n=pe(191);if(n.modifiers=Wn(),it(56,(e.hasModifier(n,256)?2:0)|(t?0:8),n),n.parameters&&(t||36===Q()||17===Q()))return n}function Jt(e){return 17===Q()?pn(e?2:0):25===Q()||89===Q()||75===Q()||!kn()||17!==Q()&&89!==Q()&&75!==Q()&&57!==Q()&&Ft()?e?j(Mt):R(16384,Mt):pn(16|(e?2:0))}function Kt(e){return Vt(e,Ht())}function Ut(e){return 92===e||144===e}function Vt(e,t){for(;;){$();var n=qt();if(!(40===Q()?n>=e:n>e))break;if(92===Q()&&U())break;if(118===Q()){if(k.hasPrecedingLineBreak())break;Y(),r=t,i=Nt(),a=void 0,(a=de(206,r.pos)).expression=r,a.type=i,t=me(a)}else t=Wt(t,ue(),Kt(n))}var r,i,a;return t}function qt(){switch(Q()){case 54:return 1;case 53:return 2;case 49:return 3;case 50:return 4;case 48:return 5;case 32:case 33:case 34:case 35:return 6;case 27:case 29:case 30:case 31:case 93:case 92:case 118:return 7;case 45:case 46:case 47:return 8;case 37:case 38:return 9;case 39:case 41:case 42:return 10;case 40:return 11}return-1}function Wt(e,t,n){var r=de(198,e.pos);return r.left=e,r.operatorToken=t,r.right=n,me(r)}function Ht(){if(function(){switch(Q()){case 37:case 38:case 52:case 51:case 80:case 103:case 105:case 121:return!1;case 27:if(1!==o.languageVariant)return!1;default:return!0}}()){var t=Gt();return 40===Q()?Vt(qt(),t):t}var n=Q(),r=function e(){switch(Q()){case 37:case 38:case 52:case 51:return(t=de(196)).operator=Q(),Y(),t.operand=e(),me(t);case 80:return function(){var t=de(192);return Y(),t.expression=e(),me(t)}();case 103:return function(){var t=de(193);return Y(),t.expression=e(),me(t)}();case 105:return function(){var t=de(194);return Y(),t.expression=e(),me(t)}();case 27:return function(){var t=de(188);return ae(27),t.type=Nt(),ae(29),t.expression=e(),me(t)}();case 121:if(121===Q()&&(q()||ne(vn)))return function(){var t=de(195);return Y(),t.expression=e(),me(t)}();default:return Gt()}var t}();if(40===Q()){var i=e.skipTrivia(p,r.pos);188===r.kind?H(i,r.end-i,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):H(i,r.end-i,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(n))}return r}function Gt(){if(43===Q()||44===Q())return(t=de(196)).operator=Q(),Y(),t.operand=Xt(),me(t);if(1===o.languageVariant&&27===Q()&&ne(Fe))return Qt(!0);var t,n=Xt();return e.Debug.assert(e.isLeftHandSideExpression(n)),43!==Q()&&44!==Q()||k.hasPrecedingLineBreak()?n:((t=de(197,n.pos)).operand=n,t.operator=Q(),Y(),me(t))}function Xt(){var t;return 91===Q()&&ne(dt)?(o.flags|=524288,t=ue()):t=97===Q()?function(){var t=ue();if(19===Q()||23===Q()||21===Q())return t;var n=de(183,t.pos);return n.expression=t,ce(23,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access),n.name=We(!0),me(n)}():function t(){return nn(function(){switch(Q()){case 8:case 9:case 13:return Xe();case 99:case 97:case 95:case 101:case 86:return ue();case 19:return n=pe(189),ae(19),n.expression=z(It),ae(20),me(n);case 21:return function(){var e=de(181);return ae(21),k.hasPrecedingLineBreak()&&(e.multiLine=!0),e.elements=Je(15,on),ae(22),me(e)}();case 17:return un();case 120:if(!ne(hn))break;return ln();case 75:return Xn(pe(0),203);case 89:return ln();case 94:return function(){var e=k.getStartPos();if(ae(94),oe(23)){var n=de(208,e);return n.keywordToken=94,n.name=be(),me(n)}var r=de(186,e);return r.expression=t(),r.typeArguments=re(an),(r.typeArguments||19===Q())&&(r.arguments=rn()),me(r)}();case 41:case 63:if(12===(u=k.reScanSlashToken()))return Xe();break;case 14:return He()}var n;return ve(e.Diagnostics.Expression_expected)}())}(),function(e){for(;;)if(e=nn(e),27!==Q()){if(19!==Q())return e;(t=de(185,e.pos)).expression=e,t.arguments=rn(),e=me(t)}else{var t,n=re(an);if(!n)return e;(t=de(185,e.pos)).expression=e,t.typeArguments=n,t.arguments=rn(),e=me(t)}}(t)}function Qt(t){var n,r=function(e){var t=k.getStartPos();if(ae(27),29===Q()){var n=de(258,t);return ee(),me(n)}var r,i,a=Zt(),o=((i=de(261)).properties=Re(13,tn),me(i));return 29===Q()?(r=de(255,t),ee()):(ae(41),e?ae(29):(ae(29,void 0,!1),ee()),r=de(254,t)),r.tagName=a,r.attributes=o,me(r)}(t);if(255===r.kind)(i=de(253,r.pos)).openingElement=r,i.children=$t(i.openingElement),i.closingElement=function(e){var t=de(256);return ae(28),t.tagName=Zt(),e?ae(29):(ae(29,void 0,!1),ee()),me(t)}(t),function e(t,n){return t.kind===n.kind&&(71===t.kind?t.escapedText===n.escapedText:99===t.kind||t.name.escapedText===n.name.escapedText&&e(t.expression,n.expression))}(i.openingElement.tagName,i.closingElement.tagName)||H(i.closingElement.pos,i.closingElement.end-i.closingElement.pos,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(p,i.openingElement.tagName)),n=me(i);else if(258===r.kind){var i;(i=de(257,r.pos)).openingFragment=r,i.children=$t(i.openingFragment),i.closingFragment=function(t){var n=de(259);if(ae(28),e.tokenIsIdentifierOrKeyword(Q())){var r=Zt();H(r.pos,r.end-r.pos,e.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment)}return t?ae(29):(ae(29,void 0,!1),ee()),me(n)}(t),n=me(i)}else e.Debug.assert(254===r.kind),n=r;if(t&&27===Q()){var a=re(function(){return Qt(!0)});if(a){W(e.Diagnostics.JSX_expressions_must_have_one_parent_element);var o=de(198,n.pos);return o.end=a.end,o.left=n,o.right=a,o.operatorToken=ge(26,!1,void 0),o.operatorToken.pos=o.operatorToken.end=o.right.pos,o}}return n}function Yt(){switch(Q()){case 10:case 11:return(t=de(10)).containsOnlyWhiteSpaces=11===u,u=k.scanJsxToken(),me(t);case 17:return en(!1);case 27:return Qt(!1)}var t;e.Debug.fail("Unknown JSX child kind "+Q())}function $t(t){var n=[],r=X(),i=y;for(y|=16384;u=k.reScanJsxToken(),28!==Q();){if(1===Q()){if(e.isJsxOpeningFragment(t))H(t.pos,t.end-t.pos,e.Diagnostics.JSX_fragment_has_no_corresponding_closing_tag);else{var a=t.tagName;H(a.pos,a.end-a.pos,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(p,a))}break}if(7===Q())break;var o=Yt();o&&n.push(o)}return y=i,fe(n,r)}function Zt(){Z();for(var e=99===Q()?ue():be();oe(23);){var t=de(183,e.pos);t.expression=e,t.name=We(!0),e=me(t)}return e}function en(e){var t=de(263);if(ae(17))return 18!==Q()&&(t.dotDotDotToken=se(24),t.expression=Mt()),e?ae(18):(ae(18,void 0,!1),ee()),me(t)}function tn(){if(17===Q())return function(){var e=de(262);return ae(17),ae(24),e.expression=It(),ae(18),me(e)}();Z();var e=de(260);if(e.name=be(),58===Q())switch(u=k.scanJsxAttributeValue()){case 9:e.initializer=Xe();break;default:e.initializer=en(!0)}return me(e)}function nn(e){for(;;)if(se(23)){var t=de(183,e.pos);t.expression=e,t.name=We(!0),e=me(t)}else if(51!==Q()||k.hasPrecedingLineBreak())if(V()||!oe(21)){if(13!==Q()&&14!==Q())return e;var n=de(187,e.pos);n.tag=e,n.template=13===Q()?Xe():He(),e=me(n)}else{var r=de(184,e.pos);if(r.expression=e,22!==Q()&&(r.argumentExpression=z(It),9===r.argumentExpression.kind||8===r.argumentExpression.kind)){var i=r.argumentExpression;i.text=ye(i.text)}ae(22),e=me(r)}else{Y();var a=de(207,e.pos);a.expression=e,e=me(a)}}function rn(){ae(19);var e=Je(11,sn);return ae(20),e}function an(){if(oe(27)){var e=Je(19,Nt);if(ae(29))return e&&function(){switch(Q()){case 19:case 23:case 20:case 22:case 56:case 25:case 55:case 32:case 34:case 33:case 35:case 53:case 54:case 50:case 48:case 49:case 18:case 1:return!0;case 26:case 17:default:return!1}}()?e:void 0}}function on(){return 24===Q()?(e=de(202),ae(24),e.expression=Mt(),me(e)):26===Q()?de(204):Mt();var e}function sn(){return R(S,on)}function cn(){var e=pe(0);if(se(24))return e.kind=270,e.expression=Mt(),me(e);if(e.decorators=Vn(),e.modifiers=qn(),Se(125))return Jn(e,155);if(Se(136))return Jn(e,156);var t=se(39),n=ie();if(e.name=ke(),e.questionToken=se(55),t||19===Q()||27===Q())return zn(e,t);if(!n||26!==Q()&&18!==Q()&&58!==Q())e.kind=268,ae(56),e.initializer=z(Mt);else{e.kind=269;var r=se(58);r&&(e.equalsToken=r,e.objectAssignmentInitializer=z(Mt))}return me(e)}function un(){var e=de(182);return ae(17),k.hasPrecedingLineBreak()&&(e.multiLine=!0),e.properties=Je(12,cn,!0),ae(18),me(e)}function ln(){var t=V();t&&M(!1);var n=pe(190);n.modifiers=qn(),ae(89),n.asteriskToken=se(39);var r=n.asteriskToken?1:0,i=e.hasModifier(n,256)?2:0;return n.name=r&&i?B(20480,_n):r?B(4096,_n):i?j(_n):_n(),it(56,r|i,n),n.body=pn(r|i),t&&M(!0),me(n)}function _n(){return ie()?ve():void 0}function dn(e,t){var n=de(211);return ae(17,t)||e?(k.hasPrecedingLineBreak()&&(n.multiLine=!0),n.statements=Re(1,Dn),ae(18)):n.statements=Ke(),me(n)}function pn(e,t){var n=K();O(!!(1&e));var r=q();L(!!(2&e));var i=V();i&&M(!1);var a=dn(!!(16&e),t);return i&&M(!0),O(n),L(r),a}function fn(e){var t=de(e);return ae(222===e?72:77),le()||(t.label=ve()),_e(),me(t)}function mn(){return 73===Q()?(e=de(264),ae(73),e.expression=z(It),ae(56),e.statements=Re(3,Dn),me(e)):function(){var e=de(265);return ae(79),ae(56),e.statements=Re(3,Dn),me(e)}();var e}function gn(){return Y(),e.tokenIsIdentifierOrKeyword(Q())&&!k.hasPrecedingLineBreak()}function yn(){return Y(),75===Q()&&!k.hasPrecedingLineBreak()}function hn(){return Y(),89===Q()&&!k.hasPrecedingLineBreak()}function vn(){return Y(),(e.tokenIsIdentifierOrKeyword(Q())||8===Q()||9===Q())&&!k.hasPrecedingLineBreak()}function bn(){for(;;)switch(Q()){case 104:case 110:case 76:case 89:case 75:case 83:return!0;case 109:case 139:return Y(),!k.hasPrecedingLineBreak()&&ie();case 129:case 130:return Y(),!k.hasPrecedingLineBreak()&&(ie()||9===Q());case 117:case 120:case 124:case 112:case 113:case 114:case 132:if(Y(),k.hasPrecedingLineBreak())return!1;continue;case 143:return Y(),17===Q()||71===Q()||84===Q();case 91:return Y(),9===Q()||39===Q()||17===Q()||e.tokenIsIdentifierOrKeyword(Q());case 84:if(Y(),58===Q()||39===Q()||17===Q()||79===Q()||118===Q())return!0;continue;case 115:Y();continue;default:return!1}}function xn(){return ne(bn)}function kn(){switch(Q()){case 57:case 25:case 17:case 104:case 110:case 89:case 75:case 83:case 90:case 81:case 106:case 88:case 77:case 72:case 96:case 107:case 98:case 100:case 102:case 78:case 74:case 87:return!0;case 91:return xn()||ne(dt);case 76:case 84:return xn();case 120:case 124:case 109:case 129:case 130:case 139:case 143:return!0;case 114:case 112:case 113:case 115:case 132:return xn()||!ne(gn);default:return Ft()}}function Sn(){return Y(),ie()||17===Q()||21===Q()}function Dn(){switch(Q()){case 25:return e=de(213),ae(25),me(e);case 17:return dn(!1);case 104:return Rn(pe(230));case 110:if(ne(Sn))return Rn(pe(230));break;case 89:return Bn(pe(232));case 75:return Gn(pe(233));case 90:return function(){var e=de(215);return ae(90),ae(19),e.expression=z(It),ae(20),e.thenStatement=Dn(),e.elseStatement=oe(82)?Dn():void 0,me(e)}();case 81:return function(){var e=de(216);return ae(81),e.statement=Dn(),ae(106),ae(19),e.expression=z(It),ae(20),oe(25),me(e)}();case 106:return function(){var e=de(217);return ae(106),ae(19),e.expression=z(It),ae(20),e.statement=Dn(),me(e)}();case 88:return function(){var e=X();ae(88);var t,n,r=se(121);if(ae(19),25!==Q()&&(t=104===Q()||110===Q()||76===Q()?Mn(!0):B(2048,It)),r?ae(144):oe(144)){var i=de(220,e);i.awaitModifier=r,i.initializer=t,i.expression=z(Mt),ae(20),n=i}else if(oe(92)){var a=de(219,e);a.initializer=t,a.expression=z(It),ae(20),n=a}else{var o=de(218,e);o.initializer=t,ae(25),25!==Q()&&20!==Q()&&(o.condition=z(It)),ae(25),20!==Q()&&(o.incrementor=z(It)),ae(20),n=o}return n.statement=Dn(),me(n)}();case 77:return fn(221);case 72:return fn(222);case 96:return function(){var e=de(223);return ae(96),le()||(e.expression=z(It)),_e(),me(e)}();case 107:return function(){var e=de(224);return ae(107),ae(19),e.expression=z(It),ae(20),e.statement=B(4194304,Dn),me(e)}();case 98:return function(){var e=de(225);ae(98),ae(19),e.expression=z(It),ae(20);var t=de(239);return ae(17),t.clauses=Re(2,mn),ae(18),e.caseBlock=me(t),me(e)}();case 100:return function(){var e=de(227);return ae(100),e.expression=k.hasPrecedingLineBreak()?void 0:z(It),_e(),me(e)}();case 102:case 74:case 87:return function(){var e,t=de(228);return ae(102),t.tryBlock=dn(!1),t.catchClause=74===Q()?(e=de(267),ae(74),oe(19)?(e.variableDeclaration=On(),ae(20)):e.variableDeclaration=void 0,e.block=dn(!1),me(e)):void 0,t.catchClause&&87!==Q()||(ae(87),t.finallyBlock=dn(!1)),me(t)}();case 78:return function(){var e=de(229);return ae(78),_e(),me(e)}();case 57:return Tn();case 120:case 109:case 139:case 129:case 130:case 124:case 76:case 83:case 84:case 91:case 112:case 113:case 114:case 117:case 115:case 132:case 143:if(xn())return Tn()}var e;return function(){var e=pe(0),t=z(It);return 71===t.kind&&oe(56)?(e.kind=226,e.label=t,e.statement=Dn()):(e.kind=214,e.expression=t,_e()),me(e)}()}function Cn(e){return 124===e.kind}function Tn(){var t=pe(0);if(t.decorators=Vn(),t.modifiers=qn(),e.some(t.modifiers,Cn)){for(var n=0,r=t.modifiers;n=0),e.Debug.assert(t<=c),e.Debug.assert(c<=i.length);var l,_=[];return function(e,t){return 47===e.charCodeAt(t)&&42===e.charCodeAt(t+1)&&42===e.charCodeAt(t+2)&&42!==e.charCodeAt(t+3)}(i,t)?(k.scanRange(t+3,r-5,function(){var e,n=1,r=t-Math.max(i.lastIndexOf("\n",t),0)+4;function u(t){e||(e=r),_.push(t),r+=t.length}for(var p=E();5===p;)p=E();4===p&&(n=0,r=0,p=E());e:for(;;){switch(p){case 57:0===n||1===n?(f(_),g(r),n=0,e=void 0,r++):u(k.getTokenText());break;case 4:_.push(k.getTokenText()),n=0,r=0;break;case 39:var m=k.getTokenText();1===n||2===n?(n=2,u(m)):(n=1,r+=m.length);break;case 71:u(k.getTokenText()),n=2;break;case 5:var y=k.getTokenText();2===n?_.push(y):void 0!==e&&r+y.length>e&&_.push(y.slice(e-r-1)),r+=y.length;break;case 1:break e;default:n=2,u(k.getTokenText())}p=E()}d(_),f(_),l=function(){var e=de(282,t);return e.tags=a&&fe(a,o,s),e.comment=_.length?_.join(""):void 0,me(e,c)}()}),l):l;function d(e){for(;e.length&&("\n"===e[0]||"\r"===e[0]);)e.shift()}function f(e){for(;e.length&&("\n"===e[e.length-1]||"\r"===e[e.length-1]);)e.pop()}function m(){for(;5===Q()||4===Q();)E()}function g(t){e.Debug.assert(57===Q());var n=de(57,k.getTokenPos());n.end=k.getTextPos(),E();var r=N();if(m(),r){var i;if(r)switch(r.escapedText){case"augments":case"extends":i=function(e,t){var n=de(285,e.pos);return n.atToken=e,n.tagName=t,n.class=function(){var e=oe(17),t=de(205);t.expression=function(){for(var e=N(!0);oe(23);){var t=de(183,e.pos);t.expression=e,t.name=N(),e=me(t)}return e}(),t.typeArguments=Zn();var n=me(t);return e&&ae(18),n}(),me(n)}(n,r);break;case"class":case"constructor":i=function(e,t){var n=de(286,e.pos);return n.atToken=e,n.tagName=t,me(n)}(n,r);break;case"arg":case"argument":case"param":i=x(n,r,1);break;case"return":case"returns":i=function(t,n){e.forEach(a,function(e){return 288===e.kind})&&H(n.pos,k.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.escapedText);var r=de(288,t.pos);return r.atToken=t,r.tagName=n,r.typeExpression=v(),me(r)}(n,r);break;case"template":i=function(t,n){e.some(a,e.isJSDocTemplateTag)&&H(n.pos,k.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.escapedText);for(var r,i,o=[],s=X();;){var c=de(147),u=(r=oe(17),i=N(),r&&ae(18),i);if(m(),!u)return void H(k.getStartPos(),0,e.Diagnostics.Identifier_expected);if(c.name=u,me(c),o.push(c),26!==Q())break;E(),m()}var l=de(290,t.pos);return l.atToken=t,l.tagName=n,l.typeParameters=fe(o,s),me(l),l}(n,r);break;case"type":i=S(n,r);break;case"typedef":i=function(t,n){var r=v();m();var i=de(291,t.pos);if(i.atToken=t,i.tagName=n,i.fullName=function e(t){var n=k.getTokenPos(),r=N();if(r&&oe(23)){var i=de(237,n);return i.flags|=t,i.name=r,i.body=e(4),me(i)}return r&&4&t&&(r.isInJSDocNamespace=!0),r}(0),i.fullName)for(var a=i.fullName;;){if(71===a.kind||!a.body){i.name=71===a.kind?a:a.name;break}a=a.body}if(m(),i.typeExpression=r,!r||b(r.type)){for(var o=void 0,s=void 0,c=void 0,u=k.getStartPos();o=re(function(){return C(0)});)if(s||(s=de(283,u)),289===o.kind){if(c)break;c=o}else s.jsDocPropertyTags=e.append(s.jsDocPropertyTags,o);s&&(r&&166===r.type.kind&&(s.isArrayType=!0),i.typeExpression=c&&c.typeExpression&&!b(c.typeExpression.type)?c.typeExpression:me(s))}return me(i)}(n,r);break;default:i=h(n,r)}else i=h(n,r);i&&(i.comment=y(t+i.end-i.pos),function(e){a?a.push(e):(a=[e],o=e.pos),s=e.end}(i))}}function y(e){var t,n=[],r=0;function i(r){t||(t=e),n.push(r),e+=r.length}var a=Q();e:for(;;){switch(a){case 4:r>=1&&(r=0,n.push(k.getTokenText())),e=0;break;case 57:k.setTextPos(k.getTextPos()-1);case 1:break e;case 5:if(2===r)i(k.getTokenText());else{var o=k.getTokenText();void 0!==t&&e+o.length>t&&n.push(o.slice(t-e-1)),e+=o.length}break;case 39:if(0===r){r=1,e+=1;break}default:r=2,i(k.getTokenText())}a=E()}return d(n),f(n),0===n.length?void 0:n.join("")}function h(e,t){var n=de(284,e.pos);return n.atToken=e,n.tagName=t,me(n)}function v(){return m(),17===Q()?n():void 0}function b(t){switch(t.kind){case 135:return!0;case 166:return b(t.elementType);default:return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&"Object"===t.typeName.escapedText}}function x(t,n,r){var i=v(),a=!i;m();var o=function(){var e=oe(21),t=function(){var e=N(!0);for(oe(21)&&ae(22);oe(23);){var t=N(!0);oe(21)&&ae(22),e=qe(e,t)}return e}();return e&&(m(),se(58)&&It(),ae(22)),{name:t,isBracketed:e}}(),s=o.name,c=o.isBracketed;m(),a&&(i=v());var u=de(1===r?287:292,t.pos),l=function(t,n){if(t&&b(t.type)){for(var r=de(274,k.getTokenPos()),i=void 0,a=void 0,o=k.getStartPos(),s=void 0;i=re(function(){return C(1,n)});)s=e.append(s,i);if(s)return(a=de(283,o)).jsDocPropertyTags=s,166===t.type.kind&&(a.isArrayType=!0),r.type=me(a),me(r)}}(i,s);return l&&(i=l,a=!0),u.atToken=t,u.tagName=n,u.typeExpression=i,u.name=s,u.isNameFirst=a,u.isBracketed=c,me(u)}function S(t,r){e.forEach(a,function(e){return 289===e.kind})&&H(r.pos,k.getTokenPos()-r.pos,e.Diagnostics._0_tag_already_specified,r.escapedText);var i=de(289,t.pos);return i.atToken=t,i.tagName=r,i.typeExpression=n(!0),me(i)}function D(t,n){for(;!e.isIdentifier(t)||!e.isIdentifier(n);){if(e.isIdentifier(t)||e.isIdentifier(n)||t.right.escapedText!==n.right.escapedText)return!1;t=t.left,n=n.left}return t.escapedText===n.escapedText}function C(t,n){for(var r=!0,i=!1;;)switch(E()){case 57:if(r){var a=T(t);return!(a&&287===a.kind&&(e.isIdentifier(a.name)||!D(n,a.name.left)))&&a}i=!1;break;case 4:r=!0,i=!1;break;case 39:i&&(r=!1),i=!0;break;case 71:r=!1;break;case 1:return!1}}function T(t){e.Debug.assert(57===Q());var n=de(57);n.end=k.getTextPos(),E();var r,i=N();if(m(),!i)return!1;switch(i.escapedText){case"type":return 0===t&&S(n,i);case"prop":case"property":r=0;break;case"arg":case"argument":case"param":r=1;break;default:return!1}if(t!==r)return!1;var a=x(n,i,t);return a.comment=y(a.end-a.pos),a}function E(){return u=k.scanJSDocToken()}function N(t){if(void 0===t&&(t=!1),!e.tokenIsIdentifierOrKeyword(Q()))return t?ge(71,!0,e.Diagnostics.Identifier_expected):void W(e.Diagnostics.Identifier_expected);var n=k.getTokenPos(),r=k.getTextPos(),a=de(71,n);return a.escapedText=e.escapeLeadingUnderscores(i.substring(n,r)),me(a,r),E(),a}}t.parseJSDocTypeExpressionForTests=function(e,t,r){T(e,6,void 0,1),o=w("file.js",6,1,!1),k.setText(e,t,r),u=k.scan();var i=n(),a=s;return E(),i?{jsDocTypeExpression:i,diagnostics:a}:void 0},t.parseJSDocTypeExpression=n,t.parseIsolatedJSDocComment=function(e,t,n){T(e,6,void 0,1),o={languageVariant:0,text:e};var r=a(t,n),i=s;return E(),r?{jsDoc:r,diagnostics:i}:void 0},t.parseJSDocComment=function(e,t,n){var r,i=u,c=s.length,l=D,_=a(t,n);return _&&(_.parent=e),65536&h&&(o.jsDocDiagnostics||(o.jsDocDiagnostics=[]),(r=o.jsDocDiagnostics).push.apply(r,s)),u=i,s.length=c,D=l,_},function(e){e[e.BeginningOfLine=0]="BeginningOfLine",e[e.SawAsterisk=1]="SawAsterisk",e[e.SavingComments=2]="SavingComments"}(r||(r={})),function(e){e[e.Property=0]="Property",e[e.Parameter=1]="Parameter"}(i||(i={})),t.parseJSDocCommentWorker=a}(x=t.JSDocParser||(t.JSDocParser={}))}(o||(o={})),function(t){function n(t,n,i,o,s,c){return void(n?_(t):u(t));function u(t){var n="";if(c&&r(t)&&(n=o.substring(t.pos,t.end)),t._children&&(t._children=void 0),t.pos+=i,t.end+=i,c&&r(t)&&e.Debug.assert(n===s.substring(t.pos,t.end)),l(t,u,_),e.hasJSDocNodes(t))for(var d=0,p=t.jsDoc;d=n,"Adjusting an element that was entirely before the change range"),e.Debug.assert(t.pos<=r,"Adjusting an element that was entirely after the change range"),e.Debug.assert(t.pos<=t.end),t.pos=Math.min(t.pos,i),t.end>=r?t.end+=a:t.end=Math.min(t.end,i),e.Debug.assert(t.pos<=t.end),t.parent&&(e.Debug.assert(t.pos>=t.parent.pos),e.Debug.assert(t.end<=t.parent.end))}function a(t,n){if(n){var r=t.pos;l(t,function(t){e.Debug.assert(t.pos>=r),r=t.end}),e.Debug.assert(r<=t.end)}}function s(t,n){var r,i=t;if(l(t,function t(a){if(!e.nodeIsMissing(a))return a.pos<=n?(a.pos>=i.pos&&(i=a),nn),!0)}),r){var a=function(e){for(;;){var t=o(e);if(!t)return e;e=t}}(r);a.pos>i.pos&&(i=a)}return i;function o(t){var n;return l(t,function(t){e.nodeIsPresent(t)&&(n=t)}),n}}function c(t,n,r,i){var a=t.text;if(r&&(e.Debug.assert(a.length-r.span.length+r.newLength===n.length),i||e.Debug.shouldAssert(3))){var o=a.substr(0,r.span.start),s=n.substr(0,r.span.start);e.Debug.assert(o===s);var c=a.substring(e.textSpanEnd(r.span),a.length),u=n.substring(e.textSpanEnd(e.textChangeRangeNewSpan(r)),n.length);e.Debug.assert(c===u)}}var u;t.updateSourceFile=function(t,r,u,_){if(c(t,r,u,_=_||e.Debug.shouldAssert(2)),e.textChangeRangeIsUnchanged(u))return t;if(0===t.statements.length)return o.parseSourceFile(t.fileName,r,t.languageVersion,void 0,!0,t.scriptKind);var d=t;e.Debug.assert(!d.hasBeenIncrementallyParsed),d.hasBeenIncrementallyParsed=!0;var p=t.text,f=function(t){var n=t.statements,r=0;e.Debug.assert(r=t.pos&&e=t.pos&&e0&&i<=1;i++){var a=s(t,r);e.Debug.assert(a.pos<=r),r=Math.max(0,a.pos-1)}var o=e.createTextSpanFromBounds(r,e.textSpanEnd(n.span));return e.createTextChangeRange(o,n.newLength+(n.span.start-r))}(t,u);c(t,r,m,_),e.Debug.assert(m.span.start<=u.span.start),e.Debug.assert(e.textSpanEnd(m.span)===e.textSpanEnd(u.span)),e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(m))===e.textSpanEnd(e.textChangeRangeNewSpan(u)));var g=e.textChangeRangeNewSpan(m).length-m.span.length;return function(t,r,o,s,c,u,_,d){return void p(t);function p(t){if(e.Debug.assert(t.pos<=t.end),t.pos>o)n(t,!1,c,u,_,d);else{var m=t.end;if(m>=r)return t.intersectsChange=!0,t._children=void 0,i(t,r,o,s,c),l(t,p,f),void a(t,d);e.Debug.assert(mo)n(t,!0,c,u,_,d);else{var a=t.end;if(a>=r){t.intersectsChange=!0,t._children=void 0,i(t,r,o,s,c);for(var l=0,f=t;l/im,g=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im;function y(t,n,r){var i=m.exec(r);if(i){var a=i[1].toLowerCase(),o=e.commentPragmas[a];if(!(o&&1&o.kind))return;if(o.args){for(var s={},c=0,u=o.args;c=108&&n.originalKeywordKind<=116)||e.isIdentifierName(n)||2097152&n.flags||t.parseDiagnostics.length||t.bindDiagnostics.push(O(n,function(n){return e.getContainingClass(n)?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:t.externalModuleIndicator?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}(n),e.declarationNameToString(n)))}(n);case 183:g&&W(n)&&(n.flowNode=g),e.isSpecialPropertyDeclaration(n)&&function(t){99===t.expression.kind?Se(t):e.isEntityNameExpression(t)&&272===t.parent.parent.kind&&(e.isPropertyAccessExpression(t.expression)&&"prototype"===t.expression.name.escapedText?De(t,t.parent):Ce(t))}(n);break;case 198:switch(e.getSpecialPropertyAssignmentKind(n)){case 1:ke(n);break;case 2:!function(n){var r=e.getRightMostAssignedExpression(n.right);e.isEmptyObjectLiteral(r)||d===t&&i(t,r)?xe(n):(xe(n),z(t.symbol.exports,t.symbol,n,1049092,0))}(n);break;case 3:De(n.left,n);break;case 6:!function(e){e.left.parent=e,e.right.parent=e;var t=e.left;Te(t,t,!1)}(n);break;case 4:Se(n);break;case 5:!function(n){var r=n.left;n.left.parent=n,n.right.parent=n,e.isIdentifier(r.expression)&&d===t&&a(t,r.expression)?ke(n):Ce(r)}(n);break;case 0:break;default:e.Debug.fail("Unknown special property assignment kind")}return function(t){T&&e.isLeftHandSideExpression(t.left)&&e.isAssignmentOperator(t.operatorToken.kind)&&me(t,t.left)}(n);case 267:return function(e){T&&e.variableDeclaration&&me(e,e.variableDeclaration.name)}(n);case 192:return function(n){if(T&&71===n.expression.kind){var r=e.getErrorSpanForNode(t,n.expression);t.bindDiagnostics.push(e.createFileDiagnostic(t,r.start,r.length,e.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode))}}(n);case 8:return function(n){T&&32&n.numericLiteralFlags&&t.bindDiagnostics.push(O(n,e.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode))}(n);case 197:return function(e){T&&me(e,e.operand)}(n);case 196:return function(e){T&&(43!==e.operator&&44!==e.operator||me(e,e.operand))}(n);case 224:return function(t){T&&ye(t,e.Diagnostics.with_statements_are_not_allowed_in_strict_mode)}(n);case 173:return void(m=!0);case 160:break;case 147:return function(t){if(171===t.parent.kind){var n=function(e){for(;e;){var t=e.parent;if(t&&170===t.kind&&t.extendsType===e)return t;e=t}}(t.parent);n?(n.locals||(n.locals=e.createSymbolTable()),z(n.locals,void 0,t,262144,67639784)):pe(t,262144,R(t))}else le(t,262144,67639784)}(n);case 148:return function(t){if(!T||2097152&t.flags||me(t,t.name),e.isBindingPattern(t.name)?pe(t,1,"__"+t.parent.parameters.indexOf(t)):le(t,1,67216319),e.isParameterPropertyDeclaration(t)){var n=t.parent.parent;z(n.symbol.members,n.symbol,t,4|(t.questionToken?16777216:0),0)}}(n);case 230:return Ae(n);case 180:return n.flowNode=g,Ae(n);case 151:case 150:return function(e){return Pe(e,4|(e.questionToken?16777216:0),0)}(n);case 268:case 269:return Pe(n,4,0);case 271:return Pe(n,8,68008959);case 157:case 158:case 159:return le(n,131072,0);case 153:case 152:return Pe(n,8192|(n.questionToken?16777216:0),e.isObjectLiteralMethod(n)?0:67208127);case 232:return function(n){t.isDeclarationFile||2097152&n.flags||e.isAsyncFunction(n)&&(C|=1024),ge(n),T?(function(n){if(l<2&&272!==p.kind&&237!==p.kind&&!e.isFunctionLike(p)){var r=e.getErrorSpanForNode(t,n);t.bindDiagnostics.push(e.createFileDiagnostic(t,r.start,r.length,function(n){return e.getContainingClass(n)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}(n)))}}(n),fe(n,16,67215791)):le(n,16,67215791)}(n);case 154:return le(n,16384,0);case 155:return Pe(n,32768,67150783);case 156:return Pe(n,65536,67183551);case 162:case 280:case 163:return function(t){var n=M(131072,R(t));L(n,t,131072);var r=M(2048,"__type");L(r,t,2048),r.members=e.createSymbolTable(),r.members.set(n.escapedName,n)}(n);case 165:case 283:case 176:return function(e){return pe(e,2048,"__type")}(n);case 182:return function(n){var r;if(function(e){e[e.Property=1]="Property",e[e.Accessor=2]="Accessor"}(r||(r={})),T)for(var i=e.createUnderscoreEscapedMap(),a=0,o=n.properties;a144){var o=_;_=n;var c=function(t){switch(t.kind){case 203:case 233:case 236:case 182:case 165:case 283:case 261:return 1;case 234:return 65;case 237:case 235:case 176:return 33;case 272:return 37;case 153:if(e.isObjectLiteralOrClassExpressionMethod(t))return 173;case 154:case 232:case 152:case 155:case 156:case 157:case 280:case 162:case 158:case 159:case 163:return 45;case 190:case 191:return 61;case 238:return 4;case 151:return t.initializer?4:0;case 267:case 218:case 219:case 220:case 239:return 2;case 211:return e.isFunctionLike(t.parent)?0:2}return 0}(n);0===c?J(n):function(t,n){var r=d,i=p;if(1&n?(d=p=t,32&n&&(d.locals=e.createSymbolTable()),ue(d)):2&n&&((p=t).locals=void 0),4&n){var a=g,o=y,s=h,c=v,u=S,l=D,_=16&n&&!e.hasModifier(t,256)&&!!e.getImmediatelyInvokedFunctionExpression(t);_||(g={flags:2},144&n&&(g.container=t)),v=_||154===t.kind?{flags:4,antecedents:void 0}:void 0,y=void 0,h=void 0,S=void 0,D=!1,J(t),t.flags&=-1409,!(1&g.flags)&&8&n&&e.nodeIsPresent(t.body)&&(t.flags|=128,D&&(t.flags|=256)),272===t.kind&&(t.flags|=C),v&&(Q(v,g),g=te(v),154===t.kind&&(t.returnFlowNode=g)),_||(g=a),y=o,h=s,v=c,S=u,D=l}else 64&n?(m=!1,J(t),t.flags=m?64|t.flags:-65&t.flags):J(t);d=r,p=i}(n,c),_=o}else A||0!=(536870912&n.transformFlags)||(I|=s(n,0));T=r}}function ve(n){if(!T)for(var r=0,i=n;r=160&&e<=177)return-3;switch(e){case 185:case 186:case 181:return 940049729;case 237:return 977327425;case 148:return 939525441;case 191:return 1003902273;case 190:case 232:return 1003935041;case 231:return 948962625;case 233:case 203:return 942011713;case 154:return 1003668801;case 153:case 155:case 156:return 1003668801;case 119:case 134:case 131:case 137:case 135:case 122:case 138:case 105:case 147:case 150:case 152:case 157:case 158:case 159:case 234:case 235:return-3;case 182:return 942740801;case 267:return 940574017;case 178:case 179:return 940049729;case 188:case 206:case 295:case 189:case 97:return 536872257;case 183:case 184:return 671089985;default:return 939525441}}function u(t,n){n.parent=t,e.forEachChild(n,function(e){return u(n,e)})}e.bindSourceFile=function(t,n){e.performance.mark("beforeBind"),r(t,n),e.performance.mark("afterBind"),e.performance.measure("Bind","beforeBind","afterBind")},e.isExportsOrModuleExportsOrAlias=i,e.computeTransformFlagsForNode=s,e.getTransformFlagsSubtreeExclusions=c}(l||(l={})),function(e){e.createGetSymbolWalker=function(t,n,r,i,a,o,s,c,u,l){return function(_){void 0===_&&(_=function(){return!0});var d=[],p=[];return{walkType:function(t){try{return f(t),{visitedTypes:e.getOwnValues(d),visitedSymbols:e.getOwnValues(p)}}finally{e.clear(d),e.clear(p)}},walkSymbol:function(t){try{return y(t),{visitedTypes:e.getOwnValues(d),visitedSymbols:e.getOwnValues(p)}}finally{e.clear(d),e.clear(p)}}};function f(t){if(t&&!d[t.id]&&(d[t.id]=t,!y(t.symbol))){if(65536&t.flags){var n=t,r=n.objectFlags;4&r&&function(t){f(t.target),e.forEach(t.typeArguments,f)}(t),32&r&&function(e){f(e.typeParameter),f(e.constraintType),f(e.templateType),f(e.modifiersType)}(t),3&r&&(g(a=t),e.forEach(a.typeParameters,f),e.forEach(i(a),f),f(a.thisType)),24&r&&g(n)}var a;32768&t.flags&&function(e){f(u(e))}(t),393216&t.flags&&function(t){e.forEach(t.types,f)}(t),524288&t.flags&&function(e){f(e.type)}(t),1048576&t.flags&&function(e){f(e.objectType),f(e.indexType),f(e.constraint)}(t)}}function m(i){var a=n(i);a&&f(a.type),e.forEach(i.typeParameters,f);for(var o=0,s=i.parameters;o0?e.createPropertyAccess(t(r,i-1),_):_}91===c&&(c=(s=s.substring(1,s.length-1)).charCodeAt(0));var d=void 0;return e.isSingleOrDoubleQuote(c)?(d=e.createLiteral(s.substring(1,s.length-1).replace(/\\./g,function(e){return e.substring(1)}))).singleQuote=39===c:""+ +s===s&&(d=e.createLiteral(+s)),d||((d=e.setEmitFlags(e.createIdentifier(s,a),16777216)).symbol=o),e.createElementAccess(t(r,i-1),d)}(i,i.length-1)}(n,s,r);return s.encounteredError?void 0:u},symbolToTypeParameterDeclarations:function(n,r,i,a){e.Debug.assert(void 0===r||0==(8&r.flags));var o=t(r,i,a),s=u(n,o);return o.encounteredError?void 0:s},symbolToParameterDeclaration:function(n,r,i,a){e.Debug.assert(void 0===r||0==(8&r.flags));var o=t(r,i,a),c=s(n,o);return o.encounteredError?void 0:c},typeParameterToDeclaration:function(n,r,i,a){e.Debug.assert(void 0===r||0==(8&r.flags));var s=t(r,i,a),c=o(n,s);return s.encounteredError?void 0:c}};function t(t,n,r){return{enclosingDeclaration:t,flags:n,tracker:r&&r.trackSymbol?r:{trackSymbol:e.noop},encounteredError:!1,symbolStack:void 0,inferTypeParameters:void 0}}function n(t,s){var c=8388608&s.flags;if(s.flags&=-8388609,t){if(1&t.flags)return e.createKeywordTypeNode(119);if(2&t.flags)return e.createKeywordTypeNode(137);if(4&t.flags)return e.createKeywordTypeNode(134);if(8&t.flags)return e.createKeywordTypeNode(122);if(256&t.flags&&!(131072&t.flags)){var u=ar(t.symbol),l=_(u,s,67901928,!1),d=wi(u)===t?l:e.createQualifiedName(l,e.symbolName(t.symbol));return e.createTypeReferenceNode(d,void 0)}if(272&t.flags){var p=_(t.symbol,s,67901928,!1);return e.createTypeReferenceNode(p,void 0)}if(32&t.flags)return e.createLiteralTypeNode(e.setEmitFlags(e.createLiteral(t.value),16777216));if(64&t.flags)return e.createLiteralTypeNode(e.createLiteral(t.value));if(128&t.flags)return"true"===t.intrinsicName?e.createTrue():e.createFalse();if(1024&t.flags){if(!(1048576&s.flags)){if(br(t.symbol,s.enclosingDeclaration))return e.createTypeQueryNode(_(t.symbol,s,67216319,!1));s.tracker.reportInaccessibleUniqueSymbolError&&s.tracker.reportInaccessibleUniqueSymbolError()}return e.createTypeOperatorNode(141,e.createKeywordTypeNode(138))}if(2048&t.flags)return e.createKeywordTypeNode(105);if(4096&t.flags)return e.createKeywordTypeNode(140);if(8192&t.flags)return e.createKeywordTypeNode(95);if(16384&t.flags)return e.createKeywordTypeNode(131);if(512&t.flags)return e.createKeywordTypeNode(138);if(134217728&t.flags)return e.createKeywordTypeNode(135);if(32768&t.flags&&t.isThisType)return 4194304&s.flags&&(s.encounteredError||32768&s.flags||(s.encounteredError=!0),s.tracker.reportInaccessibleThisError&&s.tracker.reportInaccessibleThisError()),e.createThis();var f=e.getObjectFlags(t);if(4&f)return e.Debug.assert(!!(65536&t.flags)),function(t){var i=t.typeArguments||e.emptyArray;if(t.target===Pe){if(2&s.flags){var a=n(i[0],s);return e.createTypeReferenceNode("Array",[a])}var o=n(i[0],s);return e.createArrayTypeNode(o)}if(8&t.target.objectFlags){if(i.length>0){var c=r(i.slice(0,xo(t)),s);if(c&&c.length>0)return e.createTupleTypeNode(c)}return s.encounteredError||524288&s.flags?e.createTupleTypeNode([]):void(s.encounteredError=!0)}if(2048&s.flags&&t.symbol.valueDeclaration&&203===t.symbol.valueDeclaration.kind)return D(t);var u=t.target.outerTypeParameters,l=0,_=void 0;if(u)for(var d=u.length;l0&&(b=r(i.slice(l,(t.target.typeParameters||e.emptyArray).length),s)),b&&((71===h.kind?h:h.right).typeArguments=void 0),e.createTypeReferenceNode(h,b)}(t);if(32768&t.flags||3&f)return 32768&t.flags&&e.contains(s.inferTypeParameters,t)?e.createInferTypeNode(e.createTypeParameterDeclaration(Ir(t.symbol))):(p=t.symbol?_(t.symbol,s,67901928,!1):e.createIdentifier("?"),e.createTypeReferenceNode(p,void 0));if(!c&&t.aliasSymbol&&(16384&s.flags||0===xr(t.aliasSymbol,s.enclosingDeclaration,67901928,!1).accessibility)){p=T(t.aliasSymbol);var m=r(t.aliasTypeArguments,s);return e.createTypeReferenceNode(p,m)}if(393216&t.flags){var g=r(131072&t.flags?function(e){for(var t=[],n=0,r=0;r0)return e.createUnionOrIntersectionTypeNode(131072&t.flags?168:169,g);s.encounteredError||262144&s.flags||(s.encounteredError=!0)}else{if(48&f)return e.Debug.assert(!!(65536&t.flags)),D(t);if(524288&t.flags){var y=n(t.type,s);return e.createTypeOperatorNode(y)}if(1048576&t.flags){var h=n(t.objectType,s);return y=n(t.indexType,s),e.createIndexedAccessTypeNode(h,y)}if(2097152&t.flags){var v=n(t.checkType,s),b=s.inferTypeParameters;s.inferTypeParameters=t.root.inferTypeParameters;var x=n(t.extendsType,s);s.inferTypeParameters=b;var k=n(Es(t),s),S=n(Ns(t),s);return e.createConditionalTypeNode(v,x,k,S)}if(4194304&t.flags)return n(t.typeVariable,s);e.Debug.fail("Should be unreachable.")}}else s.encounteredError=!0;function D(t){var n=t.symbol;if(n){if(32&n.flags&&!ai(n)&&!(203===n.valueDeclaration.kind&&2048&s.flags)||896&n.flags||function(){var t=!!(8192&n.flags)&&e.some(n.declarations,function(t){return e.hasModifier(t,32)}),r=!!(16&n.flags)&&(n.parent||e.forEach(n.declarations,function(e){return 272===e.parent.kind||238===e.parent.kind}));if(t||r)return(!!(4096&s.flags)||e.contains(s.symbolStack,n))&&(!(8&s.flags)||br(n,s.enclosingDeclaration))}())return function(t,n){var r=_(t,s,67216319,!1);return e.createTypeQueryNode(r)}(n);if(e.contains(s.symbolStack,n)){var r=function(t){if(t.symbol&&2048&t.symbol.flags){var n=e.findAncestor(t.symbol.declarations[0].parent,function(e){return 172!==e.kind});if(235===n.kind)return ir(n)}}(t);if(r){var i=_(r,s,67901928,!1);return e.createTypeReferenceNode(i,void 0)}return e.createKeywordTypeNode(119)}if(s.symbolStack||(s.symbolStack=[]),16&e.getObjectFlags(t)&&t.symbol&&32&t.symbol.flags)return C(t);s.symbolStack.push(n);var a=C(t);return s.symbolStack.pop(),a}return C(t)}function C(t){if(pa(t))return function(t){e.Debug.assert(!!(65536&t.flags));var r=t.declaration.readonlyToken?e.createToken(t.declaration.readonlyToken.kind):void 0,i=t.declaration.questionToken?e.createToken(t.declaration.questionToken.kind):void 0,a=o(oa(t),s,sa(t)),c=n(ca(t),s),u=e.createMappedTypeNode(r,a,i,c);return e.setEmitFlags(u,1)}(t);var r=fa(t);if(!r.properties.length&&!r.stringIndexInfo&&!r.numberIndexInfo){if(!r.callSignatures.length&&!r.constructSignatures.length)return e.setEmitFlags(e.createTypeLiteralNode(void 0),1);if(1===r.callSignatures.length&&!r.constructSignatures.length)return a(r.callSignatures[0],162,s);if(1===r.constructSignatures.length&&!r.callSignatures.length)return a(r.constructSignatures[0],163,s)}var c=s.flags;s.flags|=4194304;var u=function(t){for(var r=[],o=0,c=t.callSignatures;o0)),i}function u(t,n){var r;return 524384&vf(t).flags&&(r=e.createNodeArray(e.map(mi(t),function(e){return o(e,n)}))),r}function l(t,n,i){e.Debug.assert(t&&0<=n&&n0?e.createQualifiedName(t(r,i-1),c):c}(a,a.length-1)}}(),R=un(4,"undefined");R.declarations=[];var B,z,j=un(4,"arguments"),J={getNodeCount:function(){return e.sum(r.getSourceFiles(),"nodeCount")},getIdentifierCount:function(){return e.sum(r.getSourceFiles(),"identifierCount")},getSymbolCount:function(){return e.sum(r.getSourceFiles(),"symbolCount")+b},getTypeCount:function(){return v},isUndefinedSymbol:function(e){return e===R},isArgumentsSymbol:function(e){return e===j},isUnknownSymbol:function(e){return e===X},getMergedSymbol:rr,getDiagnostics:Rf,getGlobalDiagnostics:function(){return Bf(),Lt.getGlobalDiagnostics()},getTypeOfSymbolAtLocation:function(t,n){return(n=e.getParseTreeNode(n))?function(t,n){if(t=t.exportSymbol||t,71===n.kind&&(e.isRightSideOfQualifiedNameOrPropertyAccess(n)&&(n=n.parent),e.isExpressionNode(n)&&!e.isAssignmentTarget(n))){var r=ip(n);if(or(hn(n).resolvedSymbol)===t)return r}return ci(t)}(t,n):ee},getSymbolsOfParameterPropertyDeclaration:function(t,n){return t=e.getParseTreeNode(t,e.isParameter),e.Debug.assert(void 0!==t,"Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."),function(t,n){var r=t.parent.parent,i=bn(t.parent.locals,n,67216319),a=bn(Hi(r.symbol),n,67216319);if(i&&a)return[i,a];e.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration")}(t,e.escapeLeadingUnderscores(n))},getDeclaredTypeOfSymbol:wi,getPropertiesOfType:ha,getPropertyOfType:function(t,n){return Oa(t,e.escapeLeadingUnderscores(n))},getIndexInfoOfType:za,getSignaturesOfType:La,getIndexTypeOfType:ja,getBaseTypes:ki,getBaseTypeOfLiteralType:Xc,getWidenedType:pu,getTypeFromTypeNode:function(t){return(t=e.getParseTreeNode(t,e.isTypeNode))?Us(t):ee},getParameterType:Sd,getReturnTypeOfSignature:no,getNullableType:iu,getNonNullableType:ou,typeToTypeNode:L.typeToTypeNode,indexInfoToIndexSignatureDeclaration:L.indexInfoToIndexSignatureDeclaration,signatureToSignatureDeclaration:L.signatureToSignatureDeclaration,symbolToEntityName:L.symbolToEntityName,symbolToExpression:L.symbolToExpression,symbolToTypeParameterDeclarations:L.symbolToTypeParameterDeclarations,symbolToParameterDeclaration:L.symbolToParameterDeclaration,typeParameterToDeclaration:L.typeParameterToDeclaration,getSymbolsInScope:function(t,n){return(t=e.getParseTreeNode(t))?function(t,n){if(4194304&t.flags)return[];var r=e.createSymbolTable(),i=!1;return function(){for(;t;){switch(t.locals&&!vn(t)&&o(t.locals,n),t.kind){case 237:o(ir(t).exports,2623475&n);break;case 236:o(ir(t).exports,8&n);break;case 203:t.name&&a(t.symbol,n);case 233:case 234:i||o(Hi(ir(t)),67901928&n);break;case 190:t.name&&a(t.symbol,n)}e.introducesArgumentsExoticObject(t)&&a(j,n),i=e.hasModifier(t,32),t=t.parent}o(_t,n)}(),Ka(r);function a(t,n){if(e.getCombinedLocalAndExportSymbolFlags(t)&n){var i=t.escapedName;r.has(i)||r.set(i,t)}}function o(e,t){t&&e.forEach(function(e){a(e,t)})}}(t,n):[]},getSymbolAtLocation:function(t){return(t=e.getParseTreeNode(t))?qf(t):void 0},getShorthandAssignmentValueSymbol:function(t){return(t=e.getParseTreeNode(t))?function(e){if(t&&269===t.kind)return Un(t.name,69313471)}():void 0},getExportSpecifierLocalTargetSymbol:function(t){return(t=e.getParseTreeNode(t,e.isExportSpecifier))?function(e){return e.parent.parent.moduleSpecifier?In(e.parent.parent,e):Un(e.propertyName||e.name,70107135)}(t):void 0},getExportSymbolOfSymbol:function(e){return rr(e.exportSymbol||e)},getTypeAtLocation:function(t){return(t=e.getParseTreeNode(t))?Wf(t):ee},getPropertySymbolOfDestructuringAssignment:function(t){return(t=e.getParseTreeNode(t,e.isIdentifier))?function(t){var n=function t(n){if(e.Debug.assert(182===n.kind||181===n.kind),220===n.parent.kind)return Wd(n,rf(n.parent.expression,n.parent.awaitModifier)||ee);if(198===n.parent.kind)return Wd(n,ip(n.parent.right)||ee);if(268===n.parent.kind)return Vd(t(n.parent.parent)||ee,n.parent);e.Debug.assert(181===n.parent.kind);var r=t(n.parent),i=af(r||ee,n.parent,!1,!1)||ee;return qd(n.parent,r,n.parent.elements.indexOf(n),i||ee)}(t.parent.parent);return n&&Oa(n,t.escapedText)}(t):void 0},signatureToString:function(t,n,r,i){return Tr(t,e.getParseTreeNode(n),r,i)},typeToString:function(t,n,r){return Er(t,e.getParseTreeNode(n),r)},symbolToString:function(t,n,r,i){return Cr(t,e.getParseTreeNode(n),r,i)},typePredicateToString:function(t,n,r){return Ar(t,e.getParseTreeNode(n),r)},writeSignature:function(t,n,r,i,a){return Tr(t,e.getParseTreeNode(n),r,i,a)},writeType:function(t,n,r,i){return Er(t,e.getParseTreeNode(n),r,i)},writeSymbol:function(t,n,r,i,a){return Cr(t,e.getParseTreeNode(n),r,i,a)},writeTypePredicate:function(t,n,r,i){return Ar(t,e.getParseTreeNode(n),r,i)},getSymbolDisplayBuilder:function(){return{buildTypeDisplay:function(e,n,r,i){Er(e,r,i,t(n))},buildSymbolDisplay:function(e,n,r,i,a){Cr(e,r,i,4|a,t(n))},buildSignatureDisplay:function(e,n,r,i,a){Tr(e,r,i,a,t(n))},buildIndexSignatureDisplay:function(n,r,i,a,o){var s=L.indexInfoToIndexSignatureDeclaration(n,i,a,3112960|Nr(o),r);e.createPrinter({removeComments:!0}).writeNode(4,s,e.getSourceFileOfNode(e.getParseTreeNode(a)),t(r))},buildParameterDisplay:function(n,r,i,a){var o=L.symbolToParameterDeclaration(n,i,3112960|Nr(a),r);e.createPrinter({removeComments:!0}).writeNode(4,o,e.getSourceFileOfNode(e.getParseTreeNode(i)),t(r))},buildTypeParameterDisplay:function(n,r,i,a){var o=L.typeParameterToDeclaration(n,i,3121152|Nr(a),r);e.createPrinter({removeComments:!0}).writeNode(4,o,e.getSourceFileOfNode(e.getParseTreeNode(i)),t(r))},buildTypePredicateDisplay:function(e,n,r,i){Ar(e,r,i,t(n))},buildTypeParameterDisplayFromSymbol:function(n,r,i,a){var o=L.symbolToTypeParameterDeclarations(n,i,3112960|Nr(a),r);e.createPrinter({removeComments:!0}).writeList(26896,o,e.getSourceFileOfNode(e.getParseTreeNode(i)),t(r))},buildDisplayForParametersAndDelimiters:function(n,r,i,a,o){var s=e.createPrinter({removeComments:!0}),c=3121152|Nr(o),u=n?[L.symbolToParameterDeclaration(n,a,c)]:[],l=e.createNodeArray(u.concat(e.map(r,function(e){return L.symbolToParameterDeclaration(e,a,c)})));s.writeList(1296,l,e.getSourceFileOfNode(e.getParseTreeNode(a)),t(i))},buildDisplayForTypeParametersAndDelimiters:function(n,r,i,a){var o=e.createPrinter({removeComments:!0}),s=e.createNodeArray(e.map(n,function(e){return L.typeParameterToDeclaration(e,i,Nr(a))}));o.writeList(26896,s,e.getSourceFileOfNode(e.getParseTreeNode(i)),t(r))},buildReturnTypeDisplay:function(n,r,i,a){r.writePunctuation(":"),r.writeSpace(" ");var o=to(n);if(o)return Ar(o,i,a,t(r));var s=L.typeToTypeNode(no(n),i,3112960|Nr(a),r);e.createPrinter({removeComments:!0}).writeNode(4,s,e.getSourceFileOfNode(e.getParseTreeNode(i)),t(r))}};function t(t){return{write:e.noop,writeTextOfNode:e.noop,writeLine:e.noop,increaseIndent:function(){return t.increaseIndent()},decreaseIndent:function(){return t.decreaseIndent()},getText:function(){return""},rawWrite:e.noop,writeLiteral:function(e){return t.writeStringLiteral(e)},getTextPos:function(){return 0},getLine:function(){return 0},getColumn:function(){return 0},getIndent:function(){return 0},isAtStartOfLine:function(){return!1},clear:function(){return t.clear()},writeKeyword:function(e){return t.writeKeyword(e)},writeOperator:function(e){return t.writeOperator(e)},writePunctuation:function(e){return t.writePunctuation(e)},writeSpace:function(e){return t.writeSpace(e)},writeStringLiteral:function(e){return t.writeStringLiteral(e)},writeParameter:function(e){return t.writeParameter(e)},writeProperty:function(e){return t.writeProperty(e)},writeSymbol:function(e,n){return t.writeSymbol(e,n)},trackSymbol:function(e,n,r){return t.trackSymbol&&t.trackSymbol(e,n,r)},reportInaccessibleThisError:function(){return t.reportInaccessibleThisError&&t.reportInaccessibleThisError()},reportPrivateInBaseOfClassExpression:function(e){return t.reportPrivateInBaseOfClassExpression&&t.reportPrivateInBaseOfClassExpression(e)},reportInaccessibleUniqueSymbolError:function(){return t.reportInaccessibleUniqueSymbolError&&t.reportInaccessibleUniqueSymbolError()}}}},getAugmentedPropertiesOfType:Gf,getRootSymbols:function t(n){var r=function(t){if(6&e.getCheckFlags(t))return e.mapDefined(yn(t).containingType.types,function(e){return Oa(e,t.escapedName)});if(33554432&t.flags){var n=t.leftSpread,r=t.syntheticOrigin;return n?[n,t.rightSpread]:r?[r]:e.singleElementArray(function(e){for(var t,n=e;n=yn(n).target;)t=n;return t}(t))}}(n);return r?e.flatMap(r,t):[n]},getContextualType:function(t){return(t=e.getParseTreeNode(t,e.isExpression))?Wl(t):void 0},getContextualTypeForArgumentAtIndex:function(t,n){return(t=e.getParseTreeNode(t,e.isCallLikeExpression))&&zl(t,n)},getContextualTypeForJsxAttribute:function(t){return(t=e.getParseTreeNode(t,e.isJsxAttributeLike))&&Vl(t)},isContextSensitive:cc,getFullyQualifiedName:Kn,getResolvedSignature:function(t,n,r){t=e.getParseTreeNode(t,e.isCallLikeExpression),B=r;var i=t?dd(t,n):void 0;return B=void 0,i},getConstantValue:function(t){return(t=e.getParseTreeNode(t,dm))?pm(t):void 0},isValidPropertyAccess:function(t,n){return!!(t=e.getParseTreeNode(t,e.isPropertyAccessOrQualifiedName))&&function(e,t){var n=183===e.kind?e.expression:e.left;return z_(e,n,t,pu(ap(n)))}(t,e.escapeLeadingUnderscores(n))},isValidPropertyAccessForCompletions:function(t,n,r){return!!(t=e.getParseTreeNode(t,e.isPropertyAccessExpression))&&function(t,n,r){return z_(t,t.expression,r.escapedName,n)&&(!(8192&r.flags)||(i=n,a=La(ou(oi(r)),0),e.Debug.assert(0!==a.length),a.some(function(e){var t=Za(e);return!t||gc(i,function(e,t,n){if(!e.typeParameters)return t;var r=hu(e.typeParameters,e,0);return Tu(r.inferences,n,t),ac(t,oo(e,Iu(r)))}(e,t,i))})));var i,a}(t,n,r)},getSignatureFromDeclaration:function(t){return(t=e.getParseTreeNode(t,e.isFunctionLike))?Qa(t):void 0},isImplementationOfOverload:function(t){var n=e.getParseTreeNode(t,e.isFunctionLike);return n?sm(n):void 0},getImmediateAliasedSymbol:function(t){e.Debug.assert(0!=(2097152&t.flags),"Should only get Alias here.");var n=yn(t);if(!n.immediateTarget){var r=Pn(t);e.Debug.assert(!!r),n.immediateTarget=Mn(r,!0)}return n.immediateTarget},getAliasedSymbol:Bn,getEmitResolver:function(e,t){return Rf(e,t),M},getExportsOfModule:Yn,getExportsAndPropertiesOfModule:function(t){var n=Yn(t),r=Gn(t);return r!==t&&e.addRange(n,ha(ci(r))),n},getSymbolWalker:e.createGetSymbolWalker(ro,to,no,ki,fa,ci,Ou,Ba,mo,Cf),getAmbientModules:function(){return Te||(Te=[],_t.forEach(function(e,t){n.test(t)&&Te.push(e)})),Te},getAllAttributesTypeFromJsxOpeningLikeElement:function(t){return(t=e.getParseTreeNode(t,e.isJsxOpeningLikeElement))?function(e){return s_(e.tagName)?h_(e):v_(e,!0)}(t):void 0},getJsxIntrinsicTagNamesAt:function(n){var r=__(t.IntrinsicElements,n);return r?ha(r):e.emptyArray},isOptionalParameter:function(t){return!!(t=e.getParseTreeNode(t,e.isParameter))&&qa(t)},tryGetMemberInModuleExports:function(t,n){return $n(e.escapeLeadingUnderscores(t),n)},tryGetMemberInModuleExportsAndProperties:function(t,n){return function(e,t){var n=$n(e,t);if(n)return n;var r=Gn(t);if(r!==t){var i=ci(r);return 16382&i.flags?void 0:Oa(i,e)}}(e.escapeLeadingUnderscores(t),n)},tryFindAmbientModuleWithoutAugmentations:function(e){return Va(e,!1)},getApparentType:Pa,getUnionType:ss,createAnonymousType:mr,createSignature:Yi,createSymbol:un,createIndexInfo:po,getAnyType:function(){return Y},getStringType:function(){return ae},getNumberType:function(){return oe},createPromiseType:Td,createArrayType:Zo,getBooleanType:function(){return ue},getVoidType:function(){return _e},getUndefinedType:function(){return te},getNullType:function(){return re},getESSymbolType:function(){return le},getNeverType:function(){return de},isSymbolAccessible:xr,isArrayLikeType:qc,getAllPossiblePropertiesOfTypes:function(t){var n=ss(t);if(!(131072&n.flags))return Gf(n);for(var r=e.createSymbolTable(),i=0,a=t;i>",0,Y),at=Yi(void 0,void 0,void 0,e.emptyArray,Y,void 0,0,!1,!1),ot=Yi(void 0,void 0,void 0,e.emptyArray,ee,void 0,0,!1,!1),st=Yi(void 0,void 0,void 0,e.emptyArray,Y,void 0,0,!1,!1),ct=Yi(void 0,void 0,void 0,e.emptyArray,pe,void 0,0,!1,!1),ut=po(ae,!0),lt=po(Y,!1),_t=e.createSymbolTable(),dt=e.createMap(),pt=0,ft=0,mt=0,gt=!1,yt=js(""),ht=js(0),vt=[],bt=[],xt=[],kt=0,St=10,Dt=[],Ct=[],Tt=[],Et=[],Nt=[],At=[],Pt=[],wt=[],Ft=[],It=[],Ot=[],Mt=[],Lt=e.createDiagnosticCollection(),Rt=e.createMultiMap();function Bt(t){Rt.add(t.file.fileName,c({},t,{category:e.DiagnosticCategory.Suggestion}))}!function(e){e[e.None=0]="None",e[e.TypeofEQString=1]="TypeofEQString",e[e.TypeofEQNumber=2]="TypeofEQNumber",e[e.TypeofEQBoolean=4]="TypeofEQBoolean",e[e.TypeofEQSymbol=8]="TypeofEQSymbol",e[e.TypeofEQObject=16]="TypeofEQObject",e[e.TypeofEQFunction=32]="TypeofEQFunction",e[e.TypeofEQHostObject=64]="TypeofEQHostObject",e[e.TypeofNEString=128]="TypeofNEString",e[e.TypeofNENumber=256]="TypeofNENumber",e[e.TypeofNEBoolean=512]="TypeofNEBoolean",e[e.TypeofNESymbol=1024]="TypeofNESymbol",e[e.TypeofNEObject=2048]="TypeofNEObject",e[e.TypeofNEFunction=4096]="TypeofNEFunction",e[e.TypeofNEHostObject=8192]="TypeofNEHostObject",e[e.EQUndefined=16384]="EQUndefined",e[e.EQNull=32768]="EQNull",e[e.EQUndefinedOrNull=65536]="EQUndefinedOrNull",e[e.NEUndefined=131072]="NEUndefined",e[e.NENull=262144]="NENull",e[e.NEUndefinedOrNull=524288]="NEUndefinedOrNull",e[e.Truthy=1048576]="Truthy",e[e.Falsy=2097152]="Falsy",e[e.All=4194303]="All",e[e.BaseStringStrictFacts=933633]="BaseStringStrictFacts",e[e.BaseStringFacts=3145473]="BaseStringFacts",e[e.StringStrictFacts=4079361]="StringStrictFacts",e[e.StringFacts=4194049]="StringFacts",e[e.EmptyStringStrictFacts=3030785]="EmptyStringStrictFacts",e[e.EmptyStringFacts=3145473]="EmptyStringFacts",e[e.NonEmptyStringStrictFacts=1982209]="NonEmptyStringStrictFacts",e[e.NonEmptyStringFacts=4194049]="NonEmptyStringFacts",e[e.BaseNumberStrictFacts=933506]="BaseNumberStrictFacts",e[e.BaseNumberFacts=3145346]="BaseNumberFacts",e[e.NumberStrictFacts=4079234]="NumberStrictFacts",e[e.NumberFacts=4193922]="NumberFacts",e[e.ZeroStrictFacts=3030658]="ZeroStrictFacts",e[e.ZeroFacts=3145346]="ZeroFacts",e[e.NonZeroStrictFacts=1982082]="NonZeroStrictFacts",e[e.NonZeroFacts=4193922]="NonZeroFacts",e[e.BaseBooleanStrictFacts=933252]="BaseBooleanStrictFacts",e[e.BaseBooleanFacts=3145092]="BaseBooleanFacts",e[e.BooleanStrictFacts=4078980]="BooleanStrictFacts",e[e.BooleanFacts=4193668]="BooleanFacts",e[e.FalseStrictFacts=3030404]="FalseStrictFacts",e[e.FalseFacts=3145092]="FalseFacts",e[e.TrueStrictFacts=1981828]="TrueStrictFacts",e[e.TrueFacts=4193668]="TrueFacts",e[e.SymbolStrictFacts=1981320]="SymbolStrictFacts",e[e.SymbolFacts=4193160]="SymbolFacts",e[e.ObjectStrictFacts=1972176]="ObjectStrictFacts",e[e.ObjectFacts=4184016]="ObjectFacts",e[e.FunctionStrictFacts=1970144]="FunctionStrictFacts",e[e.FunctionFacts=4181984]="FunctionFacts",e[e.UndefinedFacts=2457472]="UndefinedFacts",e[e.NullFacts=2340752]="NullFacts"}(nt||(nt={}));var zt,jt,Jt,Kt,Ut,Vt,qt,Wt,Ht,Gt=e.createMapFromTemplate({string:1,number:2,boolean:4,symbol:8,undefined:16384,object:16,function:32}),Xt=e.createMapFromTemplate({string:128,number:256,boolean:512,symbol:1024,undefined:131072,object:2048,function:4096}),Qt=e.createMapFromTemplate({string:ae,number:oe,boolean:ue,symbol:le,undefined:te}),Yt=ss(e.arrayFrom(Gt.keys(),js)),$t=e.createMap(),Zt=e.createMap(),en=e.createMap(),tn=e.createMap(),nn=e.createMap(),rn=e.createMap();!function(e){e[e.Type=0]="Type",e[e.ResolvedBaseConstructorType=1]="ResolvedBaseConstructorType",e[e.DeclaredType=2]="DeclaredType",e[e.ResolvedReturnType=3]="ResolvedReturnType",e[e.ResolvedBaseConstraint=4]="ResolvedBaseConstraint"}(Jt||(Jt={})),function(e){e[e.Normal=0]="Normal",e[e.SkipContextSensitive=1]="SkipContextSensitive",e[e.Inferential=2]="Inferential",e[e.Contextual=3]="Contextual"}(Kt||(Kt={})),function(e){e[e.None=0]="None",e[e.Bivariant=1]="Bivariant",e[e.Strict=2]="Strict"}(Ut||(Ut={})),function(e){e[e.IncludeReadonly=1]="IncludeReadonly",e[e.ExcludeReadonly=2]="ExcludeReadonly",e[e.IncludeOptional=4]="IncludeOptional",e[e.ExcludeOptional=8]="ExcludeOptional"}(Vt||(Vt={})),function(e){e[e.None=0]="None",e[e.Source=1]="Source",e[e.Target=2]="Target",e[e.Both=3]="Both"}(qt||(qt={})),function(e){e[e.Any=1]="Any",e[e.Undefined=2]="Undefined",e[e.Null=4]="Null",e[e.Never=8]="Never",e[e.NonWideningType=16]="NonWideningType",e[e.String=32]="String",e[e.Number=64]="Number",e[e.ESSymbol=128]="ESSymbol",e[e.LiteralOrUniqueESSymbol=256]="LiteralOrUniqueESSymbol",e[e.ObjectType=512]="ObjectType",e[e.EmptyObject=1024]="EmptyObject",e[e.Union=2048]="Union",e[e.Wildcard=4096]="Wildcard"}(Wt||(Wt={})),function(e){e.resolvedExports="resolvedExports",e.resolvedMembers="resolvedMembers"}(Ht||(Ht={}));var an=e.createSymbolTable();an.set(R.escapedName,R);var on=e.and(Ff,function(t){return!e.isAccessor(t)});return function(){for(var t=0,n=r.getSourceFiles();t1)}function yn(e){if(33554432&e.flags)return e;var t=u(e);return Ct[t]||(Ct[t]={})}function hn(e){var t=s(e);return Tt[t]||(Tt[t]={flags:0})}function vn(t){return 272===t.kind&&!e.isExternalOrCommonJsModule(t)}function bn(t,n,r){if(r){var i=t.get(n);if(i){if(e.Debug.assert(0==(1&e.getCheckFlags(i)),"Should never get an instantiated symbol here."),i.flags&r)return i;if(2097152&i.flags){var a=Bn(i);if(a===X||a.flags&r)return i}}}}function xn(t,n){var i=e.getSourceFileOfNode(t),a=e.getSourceFileOfNode(n);if(i!==a){if(E&&(i.externalModuleIndicator||a.externalModuleIndicator)||!C.outFile&&!C.out||Mu(n)||2097152&t.flags)return!0;if(u(n,t))return!0;var o=r.getSourceFiles();return o.indexOf(i)<=o.indexOf(a)}if(t.pos<=n.pos){if(180===t.kind){var s=e.getAncestor(n,180);return s?e.findAncestor(s,e.isBindingElement)!==e.findAncestor(t,e.isBindingElement)||t.pos=u?c.substr(0,u-"...".length)+"...":c}function Nr(e){return 9469291&e}function Ar(t,n,r,i){return i?a(i).getText():e.usingSingleLineStringWriter(a);function a(i){var a=e.createTypePredicateNode(1===t.kind?e.createIdentifier(t.parameterName):e.createThisTypeNode(),L.typeToTypeNode(t.type,n,3113472|Nr(r))),o=e.createPrinter({removeComments:!0}),s=n&&e.getSourceFileOfNode(n);return o.writeNode(4,a,s,i),i}}function Pr(e){return 8===e?"private":16===e?"protected":"public"}function wr(t){return t&&t.parent&&238===t.parent.kind&&e.isExternalModuleAugmentation(t.parent.parent)}function Fr(t){return 272===t.kind||e.isAmbientModule(t)}function Ir(t,n){if(n&&"default"===t.escapedName&&!(16384&n.flags)&&(!(16777216&n.flags)||!t.declarations||n.enclosingDeclaration&&e.findAncestor(t.declarations[0],Fr)!==e.findAncestor(n.enclosingDeclaration,Fr)))return"default";if(t.declarations&&t.declarations.length){var r=t.declarations[0],i=e.getNameOfDeclaration(r);if(i)return e.declarationNameToString(i);if(r.parent&&230===r.parent.kind)return e.declarationNameToString(r.parent.name);switch(!n||n.encounteredError||131072&n.flags||(n.encounteredError=!0),r.kind){case 203:return"(Anonymous class)";case 190:case 191:return"(Anonymous function)"}}if(t.nameType&&32&t.nameType.flags){var a=t.nameType.value;if(!e.isIdentifierText(a,C.target))return'"'+e.escapeString(a,34)+'"'}return e.symbolName(t)}function Or(t){if(t){var n=hn(t);return void 0===n.isVisible&&(n.isVisible=!!function(){switch(t.kind){case 180:return Or(t.parent.parent);case 230:if(e.isBindingPattern(t.name)&&!t.name.elements.length)return!1;case 237:case 233:case 234:case 235:case 232:case 236:case 241:if(e.isExternalModuleAugmentation(t))return!0;var n=jr(t);return 1&e.getCombinedModifierFlags(t)||241!==t.kind&&272!==n.kind&&2097152&n.flags?Or(n):vn(n);case 151:case 150:case 155:case 156:case 153:case 152:if(e.hasModifier(t,24))return!1;case 154:case 158:case 157:case 159:case 148:case 238:case 162:case 163:case 165:case 161:case 166:case 167:case 168:case 169:case 172:return Or(t.parent);case 243:case 244:case 246:return!1;case 147:case 272:case 240:return!0;case 247:default:return!1}}()),n.isVisible}return!1}function Mr(t,n){var r,i;return t.parent&&247===t.parent.kind?r=kn(t,t.escapedText,70107135,void 0,t,!1):250===t.parent.kind&&(r=On(t.parent,70107135)),r&&function t(r){e.forEach(r,function(r){var a=An(r)||r;if(n?hn(r).isVisible=!0:e.pushIfUnique(i=i||[],a),e.isInternalModuleImportEqualsDeclaration(r)){var o=kn(r,Cf(r.moduleReference).escapedText,68009983,void 0,void 0,!1);o&&t(o.declarations)}})}(r.declarations),i}function Lr(e,t){var n=Rr(e,t);if(n>=0){for(var r=vt.length,i=n;i=0;n--){if(Br(vt[n],xt[n]))return-1;if(vt[n]===e&&xt[n]===t)return n}return-1}function Br(t,n){if(0===n)return yn(t).type;if(2===n)return yn(t).declaredType;if(1===n)return t.resolvedBaseConstructorType;if(3===n)return t.resolvedReturnType;if(4===n){var r=t.resolvedBaseConstraint;return r&&r!==ke}e.Debug.fail("Unhandled TypeSystemPropertyName "+n)}function zr(){return vt.pop(),xt.pop(),bt.pop()}function jr(t){return(t=e.findAncestor(e.getRootDeclaration(t),function(e){switch(e.kind){case 230:case 231:case 246:case 245:case 244:case 243:return!1;default:return!0}}))&&t.parent}function Jr(e,t){var n=Oa(e,t);return n?ci(n):void 0}function Kr(e){return e&&0!=(1&e.flags)}function Ur(e){var t=ir(e);return t&&yn(t).type||Qr(e,!1)}function Vr(t){return 146===t.kind&&!e.isStringOrNumericLiteral(t.expression)}function qr(t,n,r){if(16384&(t=rl(t,function(e){return!(12288&e.flags)})).flags)return ge;if(131072&t.flags)return il(t,function(e){return qr(e,n,r)});for(var i=e.createSymbolTable(),a=e.createUnderscoreEscapedMap(),o=0,s=n;o0&&e.find(o,function(e){return e.isBracketed}))}e.isBindingElement(t)||e.isVariableDeclaration(t)||!t.questionToken||(a=!0)}var s,c,u=ti(t);if(u)return Xr(u,a);if((I||e.isInJavaScriptFile(t))&&230===t.kind&&!e.isBindingPattern(t.name)&&!(1&e.getCombinedModifierFlags(t))&&!(2097152&t.flags)){if(!(2&e.getCombinedNodeFlags(t)||t.initializer&&(s=t.initializer,c=e.skipParentheses(s),95!==c.kind&&(71!==c.kind||Ou(c)!==R))))return $;if(t.initializer&&Gr(t.initializer))return Be}if(148===t.kind){var l=t.parent;if(156===l.kind&&!Ui(l)){var _=e.getDeclarationOfKind(ir(t.parent),155);if(_){var d=Qa(_),p=zm(l);return p&&t===p?(e.Debug.assert(!p.type),ci(d.thisParameter)):no(d)}}var f=void 0;if(f="this"===t.symbol.escapedName?Ol(l):Ml(t))return Xr(f,a)}return t.initializer?Xr(f=Zd(t),a):e.isJsxAttribute(t)?se:e.isBindingPattern(t.name)?$r(t.name,!1,!0):void 0}function Yr(t,n,r){return t.initializer?Zd(t):e.isBindingPattern(t.name)?$r(t.name,n,r):(r&&I&&!ei(t)&&mu(t,Y),Y)}function $r(t,n,r){return 178===t.kind?function(t,n,r){var i,a=e.createSymbolTable(),o=!1;e.forEach(t.elements,function(t){var s=t.propertyName||t.name;if(Vr(s))o=!0;else if(t.dotDotDotToken)i=po(Y,!1);else{var c=e.getTextOfPropertyName(s),u=un(4|(t.initializer?16777216:0),c);u.type=Yr(t,n,r),u.bindingElement=t,a.set(u.escapedName,u)}});var s=mr(void 0,a,e.emptyArray,e.emptyArray,i,void 0);return n&&(s.pattern=t),o&&(s.objectFlags|=512),s}(t,n,r):function(t,n,r){var i=t.elements,a=e.lastOrUndefined(i);if(0===i.length||!e.isOmittedExpression(a)&&a.dotDotDotToken)return T>=2?Yo(Y):Re;var o=es(e.map(i,function(t){return e.isOmittedExpression(t)?Y:Yr(t,n,r)}));return n&&((o=bo(o)).pattern=t),o}(t,n,r)}function Zr(t,n){var r=Qr(t,!0);return r?(n&&gu(t,r),1024&r.flags&&(e.isBindingElement(t)||!t.type)&&r.symbol!==ir(t)&&(r=le),pu(r)):(r=e.isParameter(t)&&t.dotDotDotToken?Re:Y,n&&I&&(ei(t)||mu(t,r)),r)}function ei(t){var n=e.getRootDeclaration(t);return vp(148===n.kind?n.parent:n)}function ti(t){var n=e.getEffectiveTypeAnnotationNode(t);if(n)return Us(n)}function ni(t){if(t){if(155===t.kind){var n=e.getEffectiveReturnTypeNode(t);return n&&Us(n)}var r=e.getEffectiveSetAccessorTypeAnnotationNode(t);return r&&Us(r)}}function ri(e){return Za(Qa(e))}function ii(t){var n=yn(t);if(!n.type){var r=e.getDeclarationOfKind(t,155),i=e.getDeclarationOfKind(t,156);if(r&&e.isInJavaScriptFile(r)){var a=Hr(r);if(a)return n.type=a}if(!Lr(t,0))return ee;var o=void 0,s=ni(r);if(s)o=s;else{var c=ni(i);c?o=c:r&&r.body?o=Nd(r):(I&&(i?cn(i,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,Cr(t)):(e.Debug.assert(!!r,"there must existed getter as we are current checking either setter or getter in this function"),cn(r,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,Cr(t)))),o=Y)}zr()||(o=Y,I&&cn(e.getDeclarationOfKind(t,155),e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,Cr(t))),n.type=o}return n.type}function ai(e){var t=xi(Di(e));return 1081344&t.flags?t:void 0}function oi(t){var n=yn(t);if(!n.type)if(1536&t.flags&&e.isShorthandAmbientModuleSymbol(t))n.type=Y;else{var r=_r(16,t);if(32&t.flags){var i=ai(t);n.type=i?ds([r,i]):r}else n.type=P&&16777216&t.flags?au(r):r}return n.type}function si(t){return e.getEffectiveTypeAnnotationNode(t.valueDeclaration)?(cn(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,Cr(t)),ee):(I&&cn(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,Cr(t)),Y)}function ci(t){return 1&e.getCheckFlags(t)?function(t){var n=yn(t);if(!n.type)if(100===k)cn(t.valueDeclaration,e.Diagnostics.Generic_type_instantiation_is_excessively_deep_and_possibly_infinite),n.type=ee;else{if(!Lr(t,0))return ee;k++;var r=ac(ci(n.target),n.mapper);k--,zr()||(r=si(t)),n.type=r}return n.type}(t):2048&e.getCheckFlags(t)?function(e){return Su(e.propertyType,e.mappedType)}(t):7&t.flags?function(t){var n,r=yn(t);if(!r.type){if(4194304&t.flags)return r.type=(n=wi(ar(t))).typeParameters?vo(n,e.map(n.typeParameters,function(e){return Y})):n;var i=t.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(i))return r.type=Y;if(247===i.kind)return r.type=ap(i.expression);if(e.isInJavaScriptFile(i)&&e.isJSDocPropertyLikeTag(i)&&i.typeExpression)return r.type=Us(i.typeExpression.type);if(!Lr(t,0))return ee;var a=void 0;if(198===i.kind||183===i.kind&&198===i.parent.kind)a=function(t){var n=e.getAssignedJavascriptInitializer(t.valueDeclaration);if(n)return Qc(Yd(n));for(var r,i=[],a=!1,o=!1,s=0,c=t.declarations;s0)return!0;if(1081344&e.flags){var t=Da(e);return t&&Si(t)&&gi(t)}return!1}function hi(t){var n=t.symbol.valueDeclaration;if(e.isInJavaScriptFile(n)){var r=e.getJSDocAugmentsTag(n);if(r)return r.class}return e.getClassExtendsHeritageClauseElement(n)}function vi(t,n,r){var i=e.length(n),a=e.isInJavaScriptFile(r);return e.filter(La(t,1),function(t){return(a||i>=Ga(t.typeParameters))&&i<=e.length(t.typeParameters)})}function bi(t,n,r){var i=vi(t,n,r),a=e.map(n,Us);return e.sameMap(i,function(t){return e.some(t.typeParameters)?io(t,a,e.isInJavaScriptFile(r)):t})}function xi(t){if(!t.resolvedBaseConstructorType){var n=e.getClassExtendsHeritageClauseElement(t.symbol.valueDeclaration),r=hi(t);if(!r)return t.resolvedBaseConstructorType=te;if(!Lr(t,1))return ee;var i=ap(r.expression);if(n&&r!==n&&(e.Debug.assert(!n.typeArguments),ap(n.expression)),327680&i.flags&&fa(i),!zr())return cn(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,Cr(t.symbol)),t.resolvedBaseConstructorType=ee;if(!(1&i.flags||i===ie||yi(i)))return cn(r.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,Er(i)),t.resolvedBaseConstructorType=ee;t.resolvedBaseConstructorType=i}return t.resolvedBaseConstructorType}function ki(t){return t.resolvedBaseTypes||(8&t.objectFlags?t.resolvedBaseTypes=[Zo(ss(t.typeParameters))]:96&t.symbol.flags?(32&t.symbol.flags&&function(t){t.resolvedBaseTypes=e.resolvingEmptyArray;var n=Pa(xi(t));if(!(327681&n.flags))return t.resolvedBaseTypes=e.emptyArray;var r,i=hi(t),a=Io(i),o=n&&n.symbol?wi(n.symbol):void 0;if(n.symbol&&32&n.symbol.flags&&function(e){var t=o.outerTypeParameters;if(t){var n=t.length-1;return t[n].symbol!==o.typeArguments[n].symbol}return!0}())r=ko(i,n.symbol,a);else if(1&n.flags)r=n;else{var s=bi(n,i.typeArguments,i);if(!s.length)return cn(i.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments),t.resolvedBaseTypes=e.emptyArray;r=no(s[0])}r===ee?t.resolvedBaseTypes=e.emptyArray:Si(r)?t===r||_i(r,t)?(cn(t.symbol.valueDeclaration,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,Er(t,void 0,2)),t.resolvedBaseTypes=e.emptyArray):(t.resolvedBaseTypes===e.resolvingEmptyArray&&(t.members=void 0),t.resolvedBaseTypes=[r]):(cn(i.expression,e.Diagnostics.Base_constructor_return_type_0_is_not_a_class_or_interface_type,Er(r)),t.resolvedBaseTypes=e.emptyArray)}(t),64&t.symbol.flags&&function(t){t.resolvedBaseTypes=t.resolvedBaseTypes||e.emptyArray;for(var n=0,r=t.symbol.declarations;n0)return;for(var i=1;i1){var _=c.thisParameter;if(e.forEach(u,function(e){return e.thisParameter})){var d=ss(e.map(u,function(e){return e.thisParameter?ci(e.thisParameter):Y}),2);_=cu(c.thisParameter,d)}(l=$i(c)).thisParameter=_,l.unionSignatures=u}(r||(r=[])).push(l)}}}return r||e.emptyArray}function na(e,t){for(var n=[],r=!1,i=0,a=e;i=_&&o<=d){var p=d?ao(l,Xa(a,l.typeParameters,_,i)):$i(l);p.typeParameters=t.localTypeParameters,p.resolvedReturnType=t,s.push(p)}}return s}(s)),t.constructSignatures=o}}}(t):32&t.objectFlags&&function(t){var n,r=e.createSymbolTable();fr(t,S,e.emptyArray,e.emptyArray,void 0,void 0);var i=oa(t),a=sa(t),o=ca(t.target||t),s=Pa(ua(t)),c=la(t),u=t.declaration.typeParameter.constraint;if(174===u.kind&&128===u.operator){for(var l=0,_=ha(s);l<_.length;l++){var d=_[l];f(ps(d),d)}(1&s.flags||za(s,0))&&f(ae)}else{var p=7372800&a.flags?Pa(a):a;nl(524288&p.flags?fs(Pa(p.type)):p,f)}function f(e,a){var u;"object"==typeof a&&(u=a);var l=Xs(t.mapper,Hs([i],[e])),_=ac(o,l);if(32&e.flags){var d=Vi(e),p=Oa(s,d),f=!!(4&c||!(8&c)&&p&&16777216&p.flags),m=!!(1&c||!(2&c)&&p&&Md(p)),g=un(4|(f?16777216:0),d,m?8:0);g.type=P&&f&&!gc(te,_)?au(_):P&&!f&&p&&16777216&p.flags?Uu(_,131072):_,u&&(g.syntheticOrigin=u,g.declarations=u.declarations),g.nameType=e,r.set(d,g)}else 3&e.flags&&(n=po(_,!!(1&c)))}fr(t,r,e.emptyArray,e.emptyArray,n,void 0)}(t):131072&t.flags?function(e){var t=ta(e.types,0),n=ta(e.types,1),r=na(e.types,0),i=na(e.types,1);fr(e,S,t,n,r,i)}(t):262144&t.flags&&function(t){for(var n,r,i=e.emptyArray,a=e.emptyArray,o=t.types,s=e.countWhere(o,gi),c=function(c){var u=t.types[c];if(0===s||s===o.length&&0===c||!gi(u)){var l=La(u,1);l.length&&s>0&&(l=e.map(l,function(e){var t=$i(e);return t.resolvedReturnType=function(e,t,n){for(var r=[],i=0;i=2):134217728&t.flags?ge:t}function wa(t,n){for(var r,i=131072&t.flags,a=i?24:0,o=i?0:16777216,s=4,c=0,u=0,l=t.types;u=0),r>=n.minArgumentCount}var i=e.getImmediatelyInvokedFunctionExpression(t.parent);return!!i&&!t.type&&!t.dotDotDotToken&&t.parent.parameters.indexOf(t)>=i.arguments.length}function Wa(e,t,n){return{kind:1,parameterName:e,parameterIndex:t,type:n}}function Ha(e){return{kind:0,type:e}}function Ga(t){var n,r=0;if(t)for(var i=0;i=r&&o<=a){t||(t=[]);for(var s=o;su.arguments.length&&!p.type||Ua(p)||_||(o=i.length)}if(!(155!==t.kind&&156!==t.kind||Ui(t)||c&&s)){var m=155===t.kind?156:155,g=e.getDeclarationOfKind(ir(t),m);g&&(s=(n=zm(g))&&n.symbol)}var y=154===t.kind?Di(rr(t.parent.symbol)):void 0,h=y?y.localTypeParameters:function(t){var n;return e.forEach(e.getEffectiveTypeParameterDeclarations(t),function(t){var r=Pi(t.symbol);n=e.appendIfUnique(n,r)}),n}(t),v=function(t,n,r){if(n)return Us(t.parameters[0].type);if(r)return r;var i=e.getEffectiveReturnTypeNode(t);return i?Us(i):155!==t.kind||Ui(t)?e.nodeIsMissing(t.body)?Y:void 0:ni(e.getDeclarationOfKind(ir(t),156))}(t,l,y),b=e.hasRestParameter(t)||e.isInJavaScriptFile(t)&&function(t,n){if(!Ya(t))return!1;var r=e.lastOrUndefined(t.parameters),i=r?e.getJSDocParameterTags(r):e.getJSDocTags(t).filter(e.isJSDocParameterTag),a=e.firstDefined(i,function(t){return t.typeExpression&&e.isJSDocVariadicType(t.typeExpression.type)?t.typeExpression.type:void 0}),o=un(3,"args");return o.type=a?Zo(Us(a.type)):Re,o.isRestParameter=!0,a&&n.pop(),n.push(o),!0}(t,i);r.resolvedSignature=Yi(t,h,s,i,v,void 0,o,b,a)}return r.resolvedSignature}function Ya(t){var n=hn(t);return void 0===n.containsArgumentsReference&&(n.containsArgumentsReference=!!(8192&n.flags)||function t(n){if(!n)return!1;switch(n.kind){case 71:return"arguments"===n.escapedText&&e.isExpressionNode(n);case 151:case 153:case 155:case 156:return 146===n.name.kind&&t(n.name);default:return!e.nodeStartsNewLexicalEnvironment(n)&&!e.isPartOfTypeNode(n)&&e.forEachChild(n,t)}}(t.body)),n.containsArgumentsReference}function $a(t){if(!t)return e.emptyArray;for(var n=[],r=0;r0&&i.body){var a=t.declarations[r-1];if(i.parent===a.parent&&i.kind===a.kind&&i.pos===a.end)break}n.push(Qa(i))}}return n}function Za(e){if(e.thisParameter)return ci(e.thisParameter)}function eo(e){return void 0!==to(e)}function to(t){if(!t.resolvedTypePredicate){if(t.target){var n=to(t.target);t.resolvedTypePredicate=n?(c=t.mapper,e.isIdentifierTypePredicate(s=n)?{kind:1,parameterName:s.parameterName,parameterIndex:s.parameterIndex,type:ac(s.type,c)}:{kind:0,type:ac(s.type,c)}):it}else if(t.unionSignatures)t.resolvedTypePredicate=function(n){for(var r,i=[],a=0,o=t.unionSignatures;a1&&(t+=":"+a),r+=a}return t}function ho(e,t){for(var n=0,r=0,i=e;ra.length)){var u=c&&285!==t.parent.kind;if(cn(t,s===a.length?u?e.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_1_type_argument_s:u?e.Diagnostics.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,Er(i,void 0,2),s,a.length),!c)return ee}return vo(i,e.concatenate(i.outerTypeParameters,Xa(r,a,s,c)))}return wo(t,n)?i:ee}function So(t,n){var r=wi(t),i=yn(t),a=i.typeParameters,o=yo(n),s=i.instantiations.get(o);return s||i.instantiations.set(o,s=ac(r,Hs(a,Xa(n,a,Ga(a),e.isInJavaScriptFile(t.valueDeclaration))))),s}function Do(t){switch(t.kind){case 161:return t.typeName;case 205:var n=t.expression;if(e.isEntityNameExpression(n))return n}}function Co(e,t){return e&&Un(e,t)||X}function To(t,n,r){return 96&n.flags?ko(t,n,r):524288&n.flags?function(t,n,r){var i=wi(n),a=yn(n).typeParameters;if(a){var o=e.length(t.typeArguments),s=Ga(a);return oa.length?(cn(t,s===a.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,Cr(n),s,a.length),ee):So(n,r)}return wo(t,n)?i:ee}(t,n,r):16&n.flags&&Po(t)&&(n.members||e.getJSDocClassTag(n.valueDeclaration))?gd(n):void 0}function Eo(e){return 167===e.kind&&1===e.elementTypes.length}function No(e,t,n){return Eo(t)&&Eo(n)?No(e,t.elementTypes[0],n.elementTypes[0]):Cs(Us(t))===e?Us(n):void 0}function Ao(t,n){for(var r;e.isPartOfTypeNode(n);){var i=n.parent;if(170===i.kind&&n===i.trueType){var a=No(t,i.checkType,i.extendsType);a&&(r=e.append(r,a))}n=i}return r?function(e,t){var n=ur(4194304);return n.typeVariable=e,n.substitute=t,n}(t,ds(e.append(r,t))):t}function Po(e){return 1048576&e.flags&&161===e.kind}function wo(t,n){return!t.typeArguments||(cn(t,e.Diagnostics.Type_0_is_not_generic,n?Cr(n):e.declarationNameToString(t.typeName)),!1)}function Fo(t){var n=hn(t);if(!n.resolvedType){var r=void 0,i=void 0,a=67901928;Po(t)&&(i=function(t){if(e.isIdentifier(t.typeName)){var n=t.typeArguments;switch(t.typeName.escapedText){case"String":return wo(t),ae;case"Number":return wo(t),oe;case"Boolean":return wo(t),ue;case"Void":return wo(t),_e;case"Undefined":return wo(t),te;case"Null":return wo(t),re;case"Function":case"function":return wo(t),Ae;case"Array":case"array":return n&&n.length?void 0:Re;case"Promise":case"promise":return n&&n.length?void 0:Td(Y);case"Object":if(n&&2===n.length){if(e.isJSDocIndexSignature(t)){var r=Us(n[0]),i=po(Us(n[1]),!1);return mr(void 0,S,e.emptyArray,e.emptyArray,r===ae&&i,r===oe&&i)}return Y}return wo(t),Y}}}(t),a|=67216319),i||(i=function(e,t){var n=Io(e);if(t===X)return ee;var r=To(e,t,n);if(r)return r;var i=Fi(t);if(i)return wo(e,t)?32768&i.flags?Ao(i,e):i:ee;if(!(67216319&t.flags&&Po(e)))return ee;var a=fd(t),o=ci(t),s=o.symbol&&!yd(o)&&To(e,o.symbol,n);return s||a?s&&a?ds([a,s]):s||a:(Co(Do(e),67901928),o)}(t,r=Co(Do(t),a))),n.resolvedSymbol=r,n.resolvedType=i}return n.resolvedType}function Io(t){return e.map(t.typeArguments,Us)}function Oo(e){var t=hn(e);return t.resolvedType||(t.resolvedType=pu(ap(e.exprName))),t.resolvedType}function Mo(t,n){function r(e){for(var t=0,n=e.declarations;t=0}function rs(t,n,r){var i=r.flags;if(131072&i)n=is(t,n,r.types);else if(1&i)n|=1,r===Z&&(n|=4096);else if(!P&&12288&i)4096&i&&(n|=2),8192&i&&(n|=4),16777216&i||(n|=16);else if(!(16384&i||262144&i&&function(e){for(var t=0,n=0,r=e.types;nt[a-1].id?~a:e.binarySearch(t,r,ts,e.compareValues);o<0&&(65536&i&&16&r.objectFlags&&r.symbol&&8208&r.symbol.flags&&as(t,r)||t.splice(~o,0,r))}return n}function is(e,t,n){for(var r=0,i=n;r0;){var i=t[--r];(32&i.flags&&32&n||64&i.flags&&64&n||1024&i.flags&&128&n||96&i.flags&&8388608&i.flags&&ns(t,i.regularType))&&e.orderedRemoveItemAt(t,r)}}(a,o);break;case 2:!function(t){if(0!==t.length&&!function(e){var t=e[0];if(256&t.flags){for(var n=ar(t.symbol),r=1;r0;)os(t[--n],t)&&e.orderedRemoveItemAt(t,n)}(a)}return 0===a.length?4&o?16&o?re:ie:2&o?16&o?te:ne:de:us(a,r,i)}function cs(t,n){return e.isIdentifierTypePredicate(t)?e.isIdentifierTypePredicate(n)&&t.parameterIndex===n.parameterIndex:!e.isIdentifierTypePredicate(n)}function us(e,t,n){if(0===e.length)return de;if(1===e.length)return e[0];var r=yo(e),i=U.get(r);return i||(i=ur(131072|ho(e,12288)),U.set(r,i),i.types=e,i.aliasSymbol=t,i.aliasTypeArguments=n),i}function ls(t,n,r){var i=r.flags;return 262144&i?n=_s(t,n,r.types):1&i?(n|=1,r===Z&&(n|=4096)):16384&i?n|=8:16&e.getObjectFlags(r)&&Dc(r)?n|=1024:!P&&12288&i||e.contains(t,r)||(65536&i&&(n|=512),131072&i&&(n|=2048),65536&i&&16&r.objectFlags&&r.symbol&&8208&r.symbol.flags&&as(t,r)||t.push(r)),n}function _s(e,t,n){for(var r=0,i=n;rn.parameters.length)return 0;var c;t.typeParameters&&t.typeParameters!==n.typeParameters&&(t=G_(t,n=(c=n).typeParameters?c.canonicalSignatureCache||(c.canonicalSignatureCache=function(t){return io(t,e.map(t.typeParameters,function(e){return e.target&&!ba(e.target)?e.target:e}),e.isInJavaScriptFile(t.declaration))}(c)):c,void 0,s));var u=n.declaration?n.declaration.kind:0,l=!r&&w&&153!==u&&152!==u&&154!==u,_=-1,d=Za(t);if(d&&d!==_e){var p=Za(n);if(p){if(!(b=!l&&s(d,p,!1)||s(p,d,a)))return a&&o(e.Diagnostics.The_this_types_of_each_signature_are_incompatible),0;_&=b}}for(var f=Sc(t),m=Sc(n),g=function(e,t,n,r){return e.hasRestParameter===n.hasRestParameter?e.hasRestParameter?Math.max(t,r)+1:Math.min(t,r):e.hasRestParameter?r:t}(t,f,n,m),y=t.parameters,h=n.parameters,v=0;v0||Xf(t))&&A(n)&&!function(t,n){for(var r=!!(4096&e.getObjectFlags(t)),i=0,a=ha(t);i0&&x(no(u[0]),n,!1)||l.length>0&&x(no(l[0]),n,!1)?v(e.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,Er(t),Er(n)):v(e.Diagnostics.Type_0_has_no_properties_in_common_with_type_1,Er(t),Er(n))}return 0}var _=0,d=s,p=m;return m=!1,131072&t.flags?_=r===tn?T(t,n,a&&!(16382&t.flags)):function(e,t,n){for(var r=-1,i=0,a=e.types;i0&&e.every(n.properties,function(e){return!!(16777216&e.flags)})}return!!(262144&t.flags)&&e.every(t.types,A)}function P(t,n,i,a){if(r===nn)return function(e,t,n){var r=La(e,n),i=La(t,n);if(r.length!==i.length)return 0;for(var a=-1,o=0;o":r+="-"+o.id}return r}function Mc(e,t,n){if(n===nn&&e.id>t.id){var r=e;e=t,t=r}if(Ic(e)&&Ic(t)){var i=[];return Oc(e,i)+","+Oc(t,i)}return e.id+","+t.id}function Lc(t,n){if(!(6&e.getCheckFlags(t)))return n(t);for(var r=0,i=t.containingType.types;r=5&&65536&e.flags){var r=e.symbol;if(r)for(var i=0,a=0;a=5)return!0}}return!1}function jc(t,n,r){if(t===n)return-1;var i=24&e.getDeclarationModifierFlagsFromSymbol(t);if(i!==(24&e.getDeclarationModifierFlagsFromSymbol(n)))return 0;if(i){if(vf(t)!==vf(n))return 0}else if((16777216&t.flags)!=(16777216&n.flags))return 0;return Md(t)!==Md(n)?0:r(ci(t),ci(n))}function Jc(t,n,r,i,a,o){if(t===n)return-1;if(!function(e,t,n){if(e.parameters.length===t.parameters.length&&e.minArgumentCount===t.minArgumentCount&&e.hasRestParameter===t.hasRestParameter)return!0;var r=e.hasRestParameter?1:0,i=t.hasRestParameter?1:0;return!!(n&&e.minArgumentCount<=t.minArgumentCount&&(r>i||r===i&&e.parameters.length>=t.parameters.length))}(t,n,r))return 0;if(e.length(t.typeParameters)!==e.length(n.typeParameters))return 0;t=so(t),n=so(n);var s=-1;if(!i){var c=Za(t);if(c){var u=Za(n);if(u){if(!(d=o(c,u)))return 0;s&=d}}}for(var l=n.parameters.length,_=0;_=e.parameters.length-1}function Uc(t){return function(e){for(var t,n=0,r=e;n1){var n=e.filter(t,Au);if(n.length){var r=pu(ss(n,2));return e.concatenate(e.filter(t,function(e){return!Au(e)}),[r])}}return t}(t.candidates),o=!t.topLevel||(i=ba(t.typeParameter))&&zd(i,540670)||!t.isFixed&&ku(no(r),t.typeParameter)?a:e.sameMap(a,Qc);return pu(1&n.flags||28&t.priority?ss(o,2):function(t){if(!P)return Uc(t);var n=e.filter(t,function(e){return!(12288&e.flags)});return n.length?iu(Uc(n),12288&eu(t)):ss(t,2)}(o))}(r,t,a)).flags&&r.contraCandidates&&(i=Pu(r));else if(r.contraCandidates)i=Pu(r);else if(2&t.flags)i=pe;else{var o=Aa(r.typeParameter);i=o?ac(o,Xs(function(e,t){return function(n){return e.indexOf(n)>=t?ge:n}}(t.signature.typeParameters,n),t)):Fu(!!(4&t.flags))}else i=Cu(r);i=Yc(i),r.inferredType=i;var s=ba(r.typeParameter);if(s){var c=ac(s,t);t.compareTypes(i,Xi(c,i))||(r.inferredType=i=Yc(c))}}return i}function Fu(e){return e?Y:ge}function Iu(e){for(var t=[],n=0;nt.pos)&&cn(t,r)}}function Al(t,n){if(void 0===n&&(n=e.getThisContainer(t,!1)),e.isFunctionLike(n)&&(!Ll(t)||e.getThisParameter(n))){if(190===n.kind&&198===n.parent.kind&&3===e.getSpecialPropertyAssignmentKind(n.parent)){var r=ap(n.parent.left.expression.expression).symbol;if(r&&r.members&&16&r.flags)return ml(t,gd(r))}var i=ri(n)||Ol(n);if(i)return ml(t,i)}if(e.isClassLike(n.parent)){var a=ir(n.parent);return ml(t,o=e.hasModifier(n,32)?ci(a):wi(a).thisType)}var o;if(e.isInJavaScriptFile(t)&&(o=function(t){var r=e.getJSDocType(n);if(r&&280===r.kind&&r.parameters.length>0&&r.parameters[0].name&&"this"===r.parameters[0].name.escapedText)return Us(r.parameters[0].type)}())&&o!==ee)return ml(t,o)}function Pl(t,n){return!!e.findAncestor(t,function(e){return e===n?"quit":148===e.kind})}function wl(t){var n,r=185===t.parent.kind&&t.parent.expression===t,i=e.getSuperContainer(t,!0),a=!1;if(!r)for(;i&&191===i.kind;)i=e.getSuperContainer(i,!0),a=T<2;if(!function(t){return!(!t||(r?154!==t.kind:!e.isClassLike(t.parent)&&182!==t.parent.kind||(e.hasModifier(t,32)?153!==t.kind&&152!==t.kind&&155!==t.kind&&156!==t.kind:153!==t.kind&&152!==t.kind&&155!==t.kind&&156!==t.kind&&151!==t.kind&&150!==t.kind&&154!==t.kind)))}(i)){var o=e.findAncestor(t,function(e){return e===i?"quit":146===e.kind});return o&&146===o.kind?cn(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):r?cn(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):i&&i.parent&&(e.isClassLike(i.parent)||182===i.parent.kind)?cn(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):cn(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions),ee}if(r||154!==i.kind||Nl(t,i,e.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),n=e.hasModifier(i,32)||r?512:256,hn(t).flags|=n,153===i.kind&&e.hasModifier(i,256)&&(e.isSuperProperty(t.parent)&&e.isAssignmentTarget(t.parent)?hn(i).flags|=4096:hn(i).flags|=2048),a&&Dl(t.parent,i),182===i.parent.kind)return T<2?(cn(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),ee):Y;var s=i.parent;if(!e.getClassExtendsHeritageClauseElement(s))return cn(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class),ee;var c=wi(ir(s)),u=c&&ki(c)[0];return u?154===i.kind&&Pl(t,i)?(cn(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments),ee):512===n?xi(c):Xi(u,c.thisType):ee}function Fl(t){return 4&e.getObjectFlags(t)&&t.target===Le?t.typeArguments[0]:void 0}function Il(t){return il(t,function(t){return 262144&t.flags?e.forEach(t.types,Fl):Fl(t)})}function Ol(t){if(191!==t.kind){if(lc(t)){var n=Zl(t);if(n){var r=n.thisParameter;if(r)return ci(r)}}var i=e.isInJavaScriptFile(t);if(O||i){var a=function(e){return 153!==e.kind&&155!==e.kind&&156!==e.kind||182!==e.parent.kind?190===e.kind&&268===e.parent.kind?e.parent.parent:void 0:e.parent}(t);if(a){for(var o=ql(a),s=a,c=o;c;){var u=Il(c);if(u)return ac(u,Hl(a));if(268!==s.parent.kind)break;c=ql(s=s.parent.parent)}return o?ou(o):Yd(a)}var l=t.parent;if(198===l.kind&&58===l.operatorToken.kind){var _=l.left;if(183===_.kind||184===_.kind){var d=_.expression;if(i&&e.isIdentifier(d)){var p=e.getSourceFileOfNode(l);if(p.commonJsModuleIndicator&&Ou(d)===p.symbol)return}return Yd(d)}}}}}function Ml(t){var n=t.parent;if(lc(n)){var r=e.getImmediatelyInvokedFunctionExpression(n);if(r&&r.arguments){var i=n.parameters.indexOf(t);if(t.dotDotDotToken){for(var a=[],o=i;o=0}(n)?no(n):void 0}function Bl(e,t){var n=ed(e).indexOf(t);return-1===n?void 0:zl(e,n)}function zl(e,t){return Sd(hn(e).resolvedSignature===st?st:dd(e),t)}function jl(e,t){return il(e,function(e){var n=458752&e.flags?Oa(e,t):void 0;return n?ci(n):void 0},!0)}function Jl(e,t){return il(e,function(e){return Ba(e,t)},!0)}function Kl(e){var t=ql(e.parent);if(t){if(!Ui(e)){var n=jl(t,ir(e).escapedName);if(n)return n}return t_(e.name)&&Jl(t,1)||Jl(t,0)}}function Ul(e,t){return e&&(jl(e,""+t)||Jl(e,1)||of(e,void 0,!1,!1,!1))}function Vl(t){if(e.isJsxAttribute(t)){var n=ql(t.parent);if(!n||Kr(n))return;return jl(n,t.name.escapedText)}return Wl(t.parent)}function ql(t){var n,r=Wl(t);if(!((r=r&&il(r,Pa))&&131072&r.flags&&e.isObjectLiteralExpression(t)))return r;e:for(var i=0,a=t.properties;i0&&(o=Is(o,b(),i.symbol,0,4096),a=e.createSymbolTable()),Kr(f=Yd(d.expression,n))&&(s=!0),a_(f)?o=Is(o,f,t.symbol,0,4096):r=r?ds([r,f]):f}s||a.size>0&&(o=Is(o,b(),i.symbol,0,4096));var g=253===t.parent.kind?t.parent:void 0;if(g&&g.openingElement===t&&g.children.length>0){var y=l_(g,n);if(!s&&u&&""!==u){c&&cn(i,e.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,e.unescapeLeadingUnderscores(u));var h=un(33554436,u);h.type=1===y.length?y[0]:Zo(ss(y));var v=e.createSymbolTable();v.set(u,h),o=Is(o,mr(i.symbol,v,e.emptyArray,e.emptyArray,void 0,void 0),i.symbol,0,4096)}}return s?Y:r&&o!==ge?ds([r,o]):r||o;function b(){var t=mr(i.symbol,a,e.emptyArray,e.emptyArray,void 0,void 0);return t.flags|=33554432,t.objectFlags|=4224,t}}function l_(e,t){for(var n=[],r=0,i=e.children;r1&&cn(r.declarations[0],e.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property,e.unescapeLeadingUnderscores(t))}}function m_(e){return f_(t.ElementAttributesPropertyNameContainer,e)}function g_(e){return f_(t.ElementChildrenAttributeNameContainer,e)}function y_(e){if(e){if(262144&e.flags){for(var t=[],n=0,r=e.types;n0))cn(t,e.Diagnostics.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property,e.unescapeLeadingUnderscores(m_(p_(t))));else if(bc(i,r,t.attributes.properties.length>0?t.attributes:t)&&!Kr(i)&&!Kr(r))for(var a=0,o=t.attributes.properties;an?o-n:1,u=t.length>n+o?n+o:t.length;i[0]=o;for(var l=o,_=1;_n)return;var p=r;r=i,i=p}var f=r[t.length];return f>n?void 0:f}function B_(t,n,r){if(t&&N&&106500&t.flags&&t.valueDeclaration&&e.hasModifier(t.valueDeclaration,8)&&(!n||!e.isWriteOnlyAccess(n)||65536&t.flags&&!(32768&t.flags))){if(r){var i=e.findAncestor(n,e.isFunctionLikeDeclaration);if(i&&i.symbol===t)return}(1&e.getCheckFlags(t)?yn(t).target:t).isReferenced=67108863}}function z_(t,n,r,i){if(i===ee||Kr(i))return!0;var a=Oa(i,r);return a?T_(t,n,i,a):e.isInJavaScriptFile(t)&&131072&i.flags&&i.types.some(function(e){return z_(t,n,r,e)})}function j_(t){var n=t.initializer;if(231===n.kind){var r=n.declarations[0];if(r&&!e.isBindingPattern(r.name))return ir(r)}else if(71===n.kind)return Ou(n)}function J_(t,n,r){if(n===ee)return!1;if(!e.isWellKnownSymbolSyntactically(t))return!1;if(0==(1536&n.flags))return r&&cn(t,e.Diagnostics.A_computed_property_name_of_the_form_0_must_be_of_type_symbol,e.getTextOfNode(t)),!1;var i=t.expression,a=Ou(i);if(!a)return!1;var o=zo(!0);return!(!o||a!==o&&(r&&cn(i,e.Diagnostics.Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object),1))}function K_(t){return e.isCallOrNewExpression(t)}function U_(t){return K_(t)&&e.forEach(t.typeArguments,If),187===t.kind?ap(t.template):149!==t.kind&&e.forEach(t.arguments,function(e){ap(e)}),at}function V_(e){return U_(e),ot}function q_(e){for(var t=0;t=d&&o.length<=_)&&(c>=0?Kc(r,c)||r.minArgumentCount<=c&&cr.parameters.length)&&(s||a>=r.minArgumentCount))}function H_(e){if(65536&e.flags){var t=fa(e);if(1===t.callSignatures.length&&0===t.constructSignatures.length&&0===t.properties.length&&!t.stringIndexInfo&&!t.numberIndexInfo)return t.callSignatures[0]}}function G_(t,n,r,i){var a=hu(t.typeParameters,t,1,i);return yu(n,t,function(e,t){Tu(a.inferences,ac(e,r||D),t)}),r||Tu(a.inferences,no(n),no(t),8),io(t,Iu(a),e.isInJavaScriptFile(n.declaration))}function X_(e,t,n){var r=Sd(e,0),i=Qd(t.attributes,r,D);Tu(n.inferences,i,r);var a=Sd(e,0),o=Qd(t.attributes,a,n);return Tu(n.inferences,o,a),Iu(n)}function Q_(t,n,r,i,a){for(var o=0,s=a.inferences;o0?[t.attributes]:e.emptyArray:t.arguments||e.emptyArray}function td(e,t,n){if(149!==e.kind)return t.length;switch(e.parent.kind){case 233:case 203:return 1;case 151:return 2;case 153:case 155:case 156:return 0===T?2:n.parameters.length>=3?3:2;case 148:return 3}}function nd(t,n){return 149===t.kind?function(t,n){return 0===n?function(t){return 233===t.kind?ci(ir(t)):148===t.kind&&154===(t=t.parent).kind?ci(ir(t)):151===t.kind||153===t.kind||155===t.kind||156===t.kind?function(t){var n=ir(t.parent);return e.hasModifier(t,32)?ci(n):wi(n)}(t):(e.Debug.fail("Unsupported decorator target."),ee)}(t.parent):1===n?function(t){if(233===t.kind)return e.Debug.fail("Class decorators should not have a second synthetic argument."),ee;if(148===t.kind&&154===(t=t.parent).kind)return Y;if(151===t.kind||153===t.kind||155===t.kind||156===t.kind){var n=t;switch(n.name.kind){case 71:return js(e.idText(n.name));case 8:case 9:return js(n.name.text);case 146:var r=r_(n.name);return jd(r,1536)?r:ae;default:return e.Debug.fail("Unsupported property name."),ee}}return e.Debug.fail("Unsupported decorator target."),ee}(t.parent):2===n?function(t){return 233===t.kind?(e.Debug.fail("Class decorators should not have a third synthetic argument."),ee):148===t.kind?oe:151===t.kind?(e.Debug.fail("Property decorators should not have a third synthetic argument."),ee):153===t.kind||155===t.kind||156===t.kind?Xo(Wf(t)):(e.Debug.fail("Unsupported decorator target."),ee)}(t.parent):(e.Debug.fail("Decorators should not have a fourth synthetic argument."),ee)}(t,n):0===n&&187===t.kind?Ze||(Ze=Bo("TemplateStringsArray",0,!0))||ge:void 0}function rd(e,t,n){if(149!==e.kind&&(0!==n||187!==e.kind))return t[n]}function id(e,t,n){return 149===e.kind?e.expression:0===t&&187===e.kind?e.template:n}function ad(t,n,r,a){var o,s=187===t.kind,c=149===t.kind,u=e.isJsxOpeningLikeElement(t);s||c||u||(o=t.typeArguments,97!==t.expression.kind&&e.forEach(o,If));var l=r||[];if(function(t,n){var r,i,a,o,s=0,c=-1;e.Debug.assert(!n.length);for(var u=0,l=t;u1&&(f=L(l,$t,v)),f||(f=L(l,Zt,v)),f)return f;if(d){if(u)return d;$_(t,m,d,Zt,void 0,!0)}else if(p)Y_(p,t.typeArguments,!0,a);else if(o&&e.every(n,function(t){return e.length(t.typeParameters)!==o.length})){for(var b=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY,k=0,S=n;k-1,P=(C=N?b:b0);var w=function(e,t){for(var n=-1,r=-1,i=0;i=t)return i;a.parameters.length>r&&(r=a.parameters.length,n=i)}return n}(l,void 0===B?m.length:B),F=l[w],I=F.typeParameters;if(I&&K_(t)&&t.typeArguments){for(var O=t.typeArguments.map(Wf);O.length>I.length;)O.pop();for(;O.length0?_[_.indexOf(!0)]=!1:_=void 0}}}}function od(e,t,n,r){return Kr(e)||Kr(t)&&32768&e.flags||!n&&!r&&!(147456&t.flags)&&gc(e,Ae)}function sd(t,n,r){cn(t,0===r?e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures:e.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature,Er(n)),cd(n,r)}function cd(t,n){if(t.symbol){var r=yn(t.symbol).originatingImport;if(r&&!e.isImportCall(r)){var i=La(ci(yn(t.symbol).target),n);if(!i||!i.length)return;cn(r,e.Diagnostics.A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime)}}}function ud(t){switch(t.parent.kind){case 233:case 203:return e.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression;case 148:return e.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression;case 151:return e.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression;case 153:case 155:case 156:return e.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression}}function ld(t,n,r){return e.Debug.assert(!(131072&n.flags)),_d(t,n,r)}function _d(e,t,n){if(131072&t.flags){for(var r=void 0,i=0,a=t.types;i0)return ad(e,o,n)}function dd(t,n){var r=hn(t),i=r.resolvedSignature;if(i&&i!==st&&!n)return i;r.resolvedSignature=st;var a=function(t,n){switch(t.kind){case 185:return function(t,n){if(97===t.expression.kind){var r=wl(t.expression);if(r!==ee){var i=e.getClassExtendsHeritageClauseElement(e.getContainingClass(t));if(i)return ad(t,bi(r,i.typeArguments,i),n)}return U_(t)}var a=N_(t.expression,e.Diagnostics.Cannot_invoke_an_object_which_is_possibly_null,e.Diagnostics.Cannot_invoke_an_object_which_is_possibly_undefined,e.Diagnostics.Cannot_invoke_an_object_which_is_possibly_null_or_undefined);if(a===pe)return ct;var o=Pa(a);if(o===ee)return V_(t);var s=La(o,0),c=La(o,1);return od(a,o,s.length,c.length)?(a!==ee&&t.typeArguments&&cn(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),U_(t)):s.length?ad(t,s,n):(c.length?cn(t,e.Diagnostics.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new,Er(a)):sd(t,o,0),V_(t))}(t,n);case 186:return function(t,n){if(t.arguments&&T<1){var r=q_(t.arguments);r>=0&&cn(t.arguments[r],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}var i=N_(t.expression);if(i===pe)return ct;if((i=Pa(i))===ee)return V_(t);if(Kr(i))return t.typeArguments&&cn(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),U_(t);var a=La(i,1);if(a.length){if(!function(t,n){if(!n||!n.declaration)return!0;var r=n.declaration,i=e.getSelectedModifierFlags(r,24);if(!i)return!0;var a=e.getClassLikeDeclarationOfSymbol(r.parent.symbol),o=wi(r.parent.symbol);if(!Kf(t,a)){var s=e.getContainingClass(t);if(s)for(var c=ki(Wf(s));c.length;){var u=c[0];if(16&i&&u.symbol===r.parent.symbol)return!0;c=ki(u)}return 8&i&&cn(t,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,Er(o)),16&i&&cn(t,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,Er(o)),!1}return!0}(t,a[0]))return V_(t);var o=i.symbol&&e.getClassLikeDeclarationOfSymbol(i.symbol);return o&&e.hasModifier(o,128)?(cn(t,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class),V_(t)):ad(t,a,n)}var s=La(i,0);if(s.length){var c=ad(t,s,n);return pd(c.declaration)||no(c)===_e||cn(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword),Za(c)===_e&&cn(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void),c}return sd(t,i,1),V_(t)}(t,n);case 187:return function(e,t){var n=ap(e.tag),r=Pa(n);if(r===ee)return V_(e);var i=La(r,0),a=La(r,1);return od(n,r,i.length,a.length)?U_(e):i.length?ad(e,i,t):(sd(e,r,0),V_(e))}(t,n);case 149:return function(t,n){var r=ap(t.expression),i=Pa(r);if(i===ee)return V_(t);var a,o,s=La(i,0),c=La(i,1);if(od(r,i,s.length,c.length))return U_(t);if(a=t,(o=s).length&&e.every(o,function(e){return 0===e.minArgumentCount&&!e.hasRestParameter&&e.parameters.length0?Sd(e,0):de}function Cd(t,n){var r=yn(t);if(!r.type){r.type=n;var i=t.valueDeclaration;71!==i.name.kind&&(r.type===ge&&(r.type=$r(i.name)),function t(n){for(var r=0,i=n.elements;r=2||0==(34&n.flags)||267===n.valueDeclaration.parent.kind)){for(var r=e.getEnclosingBlockScopeContainer(n.valueDeclaration),i=function(t,n){return!!e.findAncestor(t,function(t){return t===n?"quit":e.isFunctionLike(t)})}(t.parent,r),a=r,o=!1;a&&!e.nodeStartsNewLexicalEnvironment(a);){if(e.isIterationStatement(a,!1)){o=!0;break}a=a.parent}o&&(i&&(hn(a).flags|=65536),218===r.kind&&e.getAncestor(n.valueDeclaration,231).parent===r&&function(t,n){for(var r=t;189===r.parent.kind;)r=r.parent;var i=!1;if(e.isAssignmentTarget(r))i=!0;else if(196===r.parent.kind||197===r.parent.kind){var a=r.parent;i=43===a.operator||44===a.operator}return!!i&&!!e.findAncestor(r,function(e){return e===n?"quit":e===n.statement})}(t,r)&&(hn(n.valueDeclaration).flags|=2097152),hn(n.valueDeclaration).flags|=262144),i&&(hn(n.valueDeclaration).flags|=131072)}}(t,n);var o=kl(ci(i),t),s=e.getAssignmentTargetKind(t);if(s){if(!(3&i.flags))return cn(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable,Cr(n)),ee;if(Md(i))return cn(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,Cr(n)),ee}var c=2097152&i.flags;if(3&i.flags){if(1===s)return o}else{if(!c)return o;a=e.find(n.declarations,d)}if(!a)return o;for(var u=148===e.getRootDeclaration(a).kind,l=gl(a),_=gl(t),p=_!==l,f=t.parent&&t.parent.parent&&e.isSpreadAssignment(t.parent)&&Gu(t.parent.parent);_!==l&&(190===_.kind||191===_.kind||e.isObjectLiteralOrClassExpressionMethod(_))&&(vl(i)||u&&!yl(i));)_=gl(_);var m=u||c||p||f||o!==$&&o!==Be&&(!P||0!=(1&o.flags)||Mu(t)||250===t.parent.kind)||207===t.parent.kind||230===a.kind&&a.exclamationToken||2097152&a.flags,g=ml(t,o,m?u?function(e,t){return P&&148===t.kind&&t.initializer&&4096&tu(e)&&!(4096&tu(ap(t.initializer)))?Uu(e,131072):e}(o,a):o:o===$||o===Be?te:au(o),_,!m);if(o===$||o===Be){if(g===$||g===Be)return I&&(cn(e.getNameOfDeclaration(a),e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined,Cr(n),Er(g)),cn(t,e.Diagnostics.Variable_0_implicitly_has_an_1_type,Cr(n),Er(g))),$p(g)}else if(!m&&!(4096&tu(o))&&4096&tu(g))return cn(t,e.Diagnostics.Variable_0_is_used_before_being_assigned,Cr(n)),o;return s?Xc(g):g}(t);case 99:return function(t){var n=e.getThisContainer(t,!0),r=!1;switch(154===n.kind&&Nl(t,n,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class),191===n.kind&&(n=e.getThisContainer(n,!1),r=T<2),n.kind){case 237:cn(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 236:cn(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 154:Pl(t,n)&&cn(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 151:case 150:e.hasModifier(n,32)&&cn(t,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer);break;case 146:cn(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name)}r&&Dl(t,n);var i=Al(t,n);return!i&&O&&cn(t,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation),i||Y}(t);case 97:return wl(t);case 95:return ie;case 13:case 9:return Bs(js(t.text));case 8:return Xm(t),Bs(js(+t.text));case 101:return se;case 86:return ce;case 200:return function(t){return e.forEach(t.templateSpans,function(e){ap(e.expression)}),ae}(t);case 12:return Me;case 181:return function(t,n){for(var r=t.elements,i=!1,a=[],o=e.isAssignmentTarget(t),s=ql(t),c=0;c0&&(o=Is(o,I(),t.symbol,s,0),a=[],r=e.createSymbolTable(),f=!1,m=!1,d=0),!a_(S=ap(v.expression)))return cn(v,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),ee;o=Is(o,S,t.symbol,s,0),y=h+1;continue}e.Debug.assert(155===v.kind||156===v.kind),Mf(v)}!x&&Ui(v)?t_(v.name)?m=!0:f=!0:r.set(b.escapedName,b),a.push(b)}if(u)for(var w=0,F=ha(c);w0&&(o=Is(o,I(),t.symbol,s,0)),o):I();function I(){var n=_?lt:f?i_(t.properties,y,a,0):void 0,o=m&&!_?i_(t.properties,y,a,1):void 0,c=mr(t.symbol,r,e.emptyArray,e.emptyArray,n,o);return c.flags|=33554432|(C.suppressExcessPropertyErrors?0:8388608)|117440512&d,c.objectFlags|=128,p&&(c.objectFlags|=512),i&&(c.pattern=t),12288&c.flags||(s|=117440512&c.flags),c}}(t,n);case 183:return P_(t);case 184:return function(t){var n=N_(t.expression),r=t.argumentExpression;if(!r){var i,a=e.getSourceFileOfNode(t);return 186===t.parent.kind&&t.parent.expression===t?Wm(a,i=e.skipTrivia(a.text,t.expression.end),t.end-i,e.Diagnostics.new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead):Wm(a,i=t.end-"]".length,t.end-i,e.Diagnostics.Expression_expected),ee}var o=function(t){var n,r=e.skipParentheses(t);if(71===r.kind){var i=Ou(r);if(3&i.flags)for(var a=t,o=t.parent;o;){if(219===o.kind&&a===o.statement&&j_(o)===i&&ja(n=ip(o.expression),1)&&!ja(n,0))return!0;a=o,o=o.parent}}return!1}(r)?oe:ap(r);return n===ee||n===pe?n:Kd(n)&&9!==r.kind?(cn(r,e.Diagnostics.A_const_enum_member_can_only_be_accessed_using_a_string_literal),ee):hp(ks(n,o,t),t)}(t);case 185:if(91===t.expression.kind)return function(t){if(Fm(t.arguments)||function(t){if(E===e.ModuleKind.ES2015)return Hm(t,e.Diagnostics.Dynamic_import_cannot_be_used_when_targeting_ECMAScript_2015_modules);if(t.typeArguments)return Hm(t,e.Diagnostics.Dynamic_import_cannot_have_type_arguments);var n=t.arguments;if(1!==n.length)return Hm(t,e.Diagnostics.Dynamic_import_must_have_one_specifier_as_an_argument);e.isSpreadElement(n[0])&&Hm(n[0],e.Diagnostics.Specifier_of_dynamic_import_cannot_be_spread_element)}(t),0===t.arguments.length)return Ed(t,Y);for(var n=t.arguments[0],r=Yd(n),i=1;i0&&n.declarations[0]!==t)return}var r=lo(ir(t));if(r)for(var i=!1,a=!1,o=0,s=r.declarations;o=0)return void(n&&cn(n,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method));Mt.push(t.id);var u=Tp(c,n,r);if(Mt.pop(),!u)return;return i.awaitedTypeOfType=u}var l=Jr(t,"then");if(!(l&&La(l,0).length>0))return i.awaitedTypeOfType=t;n&&(e.Debug.assert(!!r),cn(n,r))}function Ep(t){var n=e.getEffectiveReturnTypeNode(t),r=Us(n);if(T>=2){if(r===ee)return ee;var i=Jo(!0);if(i!==ve&&!ui(r,i))return cn(n,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type),ee}else{if(Ap(n&&e.getEntityNameFromTypeNode(n)),r===ee)return ee;var a=e.getEntityNameFromTypeNode(n);if(void 0===a)return cn(n,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,Er(r)),ee;var o=Un(a,67216319,!0),s=o?ci(o):ee;if(s===ee)return 71===a.kind&&"Promise"===a.escapedText&&li(r)===Jo(!1)?cn(n,e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):cn(n,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)),ee;var c=We||(We=Bo("PromiseConstructorLike",0,!0))||ge;if(c===ge)return cn(n,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)),ee;if(!bc(s,c,n,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value))return ee;var u=a&&Cf(a),l=bn(t.locals,u.escapedText,67216319);if(l)return cn(l.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,e.idText(u),e.entityNameToString(a)),ee}return Cp(r,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}function Np(t){var n=no(dd(t));if(!(1&n.flags)){var r,i,a=ud(t);switch(t.parent.kind){case 233:r=ss([ci(ir(t.parent)),_e]);break;case 148:r=_e,i=e.chainDiagnosticMessages(i,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 151:r=_e,i=e.chainDiagnosticMessages(i,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 153:case 155:case 156:r=ss([Xo(Wf(t.parent)),_e])}bc(n,r,t,a,function(){return i})}}function Ap(e){if(e){var t=Cf(e),n=kn(t,t.escapedText,2097152|(71===e.kind?67901928:1920),void 0,void 0,!0);n&&2097152&n.flags&&sr(n)&&!om(Bn(n))&&jn(n)}}function Pp(t){var n=function t(n){if(n)switch(n.kind){case 169:case 168:for(var r=void 0,i=0,a=n.types;i=e.ModuleKind.ES2015)&&(Up(t,n,"require")||Up(t,n,"exports"))&&(!e.isModuleDeclaration(t)||1===e.getModuleInstanceState(t))){var r=jr(t);272===r.kind&&e.isExternalOrCommonJsModule(r)&&cn(n,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(n),e.declarationNameToString(n))}}function Qp(t,n){if(!(T>=4)&&Up(t,n,"Promise")&&(!e.isModuleDeclaration(t)||1===e.getModuleInstanceState(t))){var r=jr(t);272===r.kind&&e.isExternalOrCommonJsModule(r)&&1024&r.flags&&cn(n,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(n),e.declarationNameToString(n))}}function Yp(t){if(148===e.getRootDeclaration(t).kind){var n=e.getContainingFunction(t);!function r(i){if(!e.isTypeNode(i)&&!e.isDeclarationName(i)){if(183===i.kind)return r(i.expression);if(71!==i.kind)return e.forEachChild(i,r);var a=kn(i,i.escapedText,69313471,void 0,void 0,!1);if(a&&a!==X&&a.valueDeclaration)if(a.valueDeclaration!==t){if(e.getEnclosingBlockScopeContainer(a.valueDeclaration)===n){if(148===a.valueDeclaration.kind||180===a.valueDeclaration.kind){if(a.valueDeclaration.pos=1&&tf(t.declarations[0])}function rf(e,t){return af(N_(e),e,!0,void 0!==t)}function af(e,t,n,r){return Kr(e)?e:of(e,t,n,r,!0)||Y}function of(t,n,r,i,a){var o=T>=2,s=!o&&C.downlevelIteration;if(o||s||i){var c=sf(t,o?n:void 0,i,!0,a);if(c||o)return c}var u=t,l=!1,_=!1;if(r){if(131072&u.flags){var d=t.types,p=e.filter(d,function(e){return!(524322&e.flags)});p!==d&&(u=ss(p,2))}else 524322&u.flags&&(u=de);if((_=u!==t)&&(T<1&&n&&(cn(n,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),l=!0),16384&u.flags))return ae}if(!qc(u))return n&&!l&&cn(n,!r||_?s?e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:e.Diagnostics.Type_0_is_not_an_array_type:s?e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type,Er(u)),_?ae:void 0;var f=ja(u,1);return _&&f?524322&f.flags?ae:ss([f,ae],2):f}function sf(t,n,r,i,a){if(!Kr(t))return il(t,function(t){var o=t;if(r){if(o.iteratedTypeOfAsyncIterable)return o.iteratedTypeOfAsyncIterable;if(ui(t,Uo(!1))||ui(t,Vo(!1)))return o.iteratedTypeOfAsyncIterable=t.typeArguments[0]}if(i){if(o.iteratedTypeOfIterable)return o.iteratedTypeOfIterable;if(ui(t,qo(!1))||ui(t,Wo(!1)))return o.iteratedTypeOfIterable=t.typeArguments[0]}var s=r&&Jr(t,e.getPropertyNameForKnownSymbolName("asyncIterator")),c=s||i&&Jr(t,e.getPropertyNameForKnownSymbolName("iterator"));if(!Kr(c)){var u=c&&La(c,0);if(e.some(u)){var l=cf(ss(e.map(u,no),2),n,!!s);return a&&n&&l&&bc(t,s?function(e){return Go(Uo(!0),[e])}(l):Yo(l),n),s?o.iteratedTypeOfAsyncIterable=l:o.iteratedTypeOfIterable=l}n&&(cn(n,r?e.Diagnostics.Type_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:e.Diagnostics.Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator),n=void 0)}})}function cf(t,n,r){if(!Kr(t)){var i=t;if(r?i.iteratedTypeOfAsyncIterator:i.iteratedTypeOfIterator)return r?i.iteratedTypeOfAsyncIterator:i.iteratedTypeOfIterator;if(ui(t,(r?function(e){return Ye||(Ye=Bo("AsyncIterator",1,e))||ve}:function(e){return Ge||(Ge=Bo("Iterator",1,e))||ve})(!1)))return r?i.iteratedTypeOfAsyncIterator=t.typeArguments[0]:i.iteratedTypeOfIterator=t.typeArguments[0];var a=Jr(t,"next");if(!Kr(a)){var o=a?La(a,0):e.emptyArray;if(0!==o.length){var s=ss(e.map(o,no),2);if(!(Kr(s)||r&&Kr(s=Sp(s,n,e.Diagnostics.The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property)))){var c=s&&Jr(s,"value");if(c)return r?i.iteratedTypeOfAsyncIterator=c:i.iteratedTypeOfIterator=c;n&&cn(n,r?e.Diagnostics.The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:e.Diagnostics.The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property)}}else n&&cn(n,r?e.Diagnostics.An_async_iterator_must_have_a_next_method:e.Diagnostics.An_iterator_must_have_a_next_method)}}}function uf(e,t){if(!Kr(e))return sf(e,void 0,t,!t,!1)||cf(e,void 0,t)}function lf(t){return 155===t.kind&&void 0!==e.getEffectiveSetAccessorTypeAnnotationNode(e.getDeclarationOfKind(t.symbol,156))}function _f(t,n){var r=2==(3&e.getFunctionFlags(t))?Dp(n):n;return r&&zd(r,2049)}function df(t){var n,r=_o(t.symbol,1),i=_o(t.symbol,0),a=ja(t,0),o=ja(t,1);if((a||o)&&(e.forEach(ma(t),function(e){var n=ci(e);d(e,n,t,i,a,0),d(e,n,t,r,o,1)}),1&e.getObjectFlags(t)&&e.isClassLike(t.symbol.valueDeclaration)))for(var s=0,c=t.symbol.valueDeclaration.members;sr)return!1;for(var u=0;u1)return qm(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);n=!0}else{if(e.Debug.assert(108===o.token),r)return qm(o,e.Diagnostics.implements_clause_already_seen);r=!0}Im(o)}})(t)||Am(t.typeParameters,n)}(t),Fp(t),t.name&&(pf(t.name,e.Diagnostics.Class_name_cannot_be_0),Vp(t,t.name),qp(t,t.name),Xp(t,t.name),Qp(t,t.name)),ff(t.typeParameters),kp(t);var n=ir(t),r=wi(n),a=Xi(r),o=ci(n);mf(n),function(t){var n;!function(e){e[e.Getter=1]="Getter",e[e.Setter=2]="Setter",e[e.Method=4]="Method",e[e.Property=3]="Property"}(n||(n={}));for(var r=e.createUnderscoreEscapedMap(),i=e.createUnderscoreEscapedMap(),a=0,o=t.members;a>s;case 47:return a>>>s;case 45:return a<1)for(var o=0,s=r;o=0)n.parameters[r.parameterIndex].dotDotDotToken?cn(i,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter):bc(r.type,Wf(n.parameters[r.parameterIndex]),t.type,void 0,function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type)});else if(i){for(var a=!1,o=0,s=n.parameters;o0),r.length>1&&cn(r[1],e.Diagnostics.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);var i=Ip(t.class.expression),a=e.getClassExtendsHeritageClauseElement(n);if(a){var o=Ip(a.expression);o&&i.escapedText!==o.escapedText&&cn(i,e.Diagnostics.JSDoc_0_1_does_not_match_the_extends_2_clause,e.idText(t.tagName),e.idText(i),e.idText(o))}}else cn(n,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(t.tagName))}(t);case 291:return function(t){t.typeExpression||cn(t.name,e.Diagnostics.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags)}(t);case 287:return function(t){if(If(t.typeExpression),!e.getParameterSymbolFromJSDoc(t)){var n=e.getHostSignatureFromJSDoc(t);n&&(Ya(n)?e.findLast(e.getJSDocTags(n),e.isJSDocParameterTag)===t&&t.typeExpression&&t.typeExpression.type&&!Vc(Us(t.typeExpression.type))&&cn(t.name,e.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type,e.idText(145===t.name.kind?t.name.right:t.name)):cn(t.name,e.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name,e.idText(145===t.name.kind?t.name.right:t.name)))}}(t);case 280:up(t);case 278:case 277:case 275:case 276:return Of(t),void e.forEachChild(t,If);case 281:return void function(t){Of(t),If(t.type);var n=t.parent;e.isJSDocTypeExpression(n)||cn(t,e.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);var r=n.parent;if(e.isJSDocParameterTag(r)){var i=e.getParameterSymbolFromJSDoc(r);if(i){var a=e.getHostSignatureFromJSDoc(r);a&&e.last(a.parameters).symbol===i||cn(t,e.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list)}}else cn(t,e.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature)}(t);case 274:return If(t.type);case 175:return function(e){If(e.objectType),If(e.indexType),hp(Ss(e),e)}(t);case 176:return function(e){If(e.typeParameter),If(e.type),I&&!e.type&&mu(e,Y),bc(sa(Ds(e)),ae,e.typeParameter.constraint)}(t);case 232:return function(e){i&&(Op(e),Lm(e),Gp(e,e.name),Vp(e,e.name),qp(e,e.name),Xp(e,e.name),Qp(e,e.name))}(t);case 211:case 238:return Kp(t);case 212:return function(t){Tm(t)||Um(t.declarationList)||function(t){if(!function e(t){switch(t.kind){case 215:case 216:case 217:case 224:case 218:case 219:case 220:return!1;case 226:return e(t.parent)}return!0}(t.parent)){if(e.isLet(t.declarationList))return Hm(t,e.Diagnostics.let_declarations_can_only_be_declared_inside_a_block);e.isConst(t.declarationList)&&Hm(t,e.Diagnostics.const_declarations_can_only_be_declared_inside_a_block)}}(t),e.forEach(t.declarationList.declarations,If)}(t);case 214:return function(e){Gm(e),ap(e.expression)}(t);case 215:return function(t){Gm(t),ap(t.expression),If(t.thenStatement),213===t.thenStatement.kind&&cn(t.thenStatement,e.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement),If(t.elseStatement)}(t);case 216:return function(e){Gm(e),If(e.statement),ap(e.expression)}(t);case 217:return function(e){Gm(e),ap(e.expression),If(e.statement)}(t);case 218:return function(t){Gm(t)||t.initializer&&231===t.initializer.kind&&Um(t.initializer),t.initializer&&(231===t.initializer.kind?e.forEach(t.initializer.declarations,tf):ap(t.initializer)),t.condition&&ap(t.condition),t.incrementor&&ap(t.incrementor),If(t.statement),t.locals&&Mp(t)}(t);case 219:return function(t){Bm(t);var n,r=N_(t.expression);if(231===t.initializer.kind){var i=t.initializer.declarations[0];i&&e.isBindingPattern(i.name)&&cn(i.name,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern),nf(t)}else{var a=t.initializer,o=ap(a);181===a.kind||182===a.kind?cn(a,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern):gc(16384&(n=fs(r)).flags?ae:n,o)?Bd(a,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access):cn(a,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any)}jd(r,141590528)||cn(t.expression,e.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter),If(t.statement),t.locals&&Mp(t)}(t);case 220:return function(t){if(Bm(t),220===t.kind&&(t.awaitModifier?2==(6&e.getFunctionFlags(e.getContainingFunction(t)))&&T<6&&Dm(t,16384):C.downlevelIteration&&T<2&&Dm(t,256)),231===t.initializer.kind)nf(t);else{var n=t.initializer,r=rf(t.expression,t.awaitModifier);if(181===n.kind||182===n.kind)Wd(n,r||ee);else{var i=ap(n);Bd(n,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access),r&&bc(r,i,n,void 0)}}If(t.statement),t.locals&&Mp(t)}(t);case 221:case 222:return function(t){Gm(t)||function(t){for(var n=t;n;){if(e.isFunctionLike(n))return Hm(t,e.Diagnostics.Jump_target_cannot_cross_function_boundary);switch(n.kind){case 226:if(t.label&&n.label.escapedText===t.label.escapedText)return!(221!==t.kind||e.isIterationStatement(n.statement,!0))&&Hm(t,e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement);break;case 225:if(222===t.kind&&!t.label)return!1;break;default:if(e.isIterationStatement(n,!1)&&!t.label)return!1}n=n.parent}if(t.label)return Hm(t,222===t.kind?e.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement);Hm(t,222===t.kind?e.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:e.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement)}(t)}(t);case 223:return function(t){if(!Gm(t)){var n=e.getContainingFunction(t);if(n){var r=no(Qa(n)),i=e.getFunctionFlags(n),a=1&i;if(P||t.expression||16384&r.flags){var o=t.expression?Yd(t.expression):te;if(a)return;if(156===n.kind)t.expression&&cn(t,e.Diagnostics.Setters_cannot_return_a_value);else if(154===n.kind)t.expression&&!bc(o,r,t)&&cn(t,e.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class);else if(e.getEffectiveReturnTypeNode(n)||lf(n))if(2&i){var s=Dp(r),c=Cp(o,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);s&&bc(c,s,t)}else bc(o,r,t)}else 154===n.kind||!C.noImplicitReturns||_f(n,r)||a||cn(t,e.Diagnostics.Not_all_code_paths_return_a_value)}else qm(t,e.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body)}}(t);case 224:return function(t){Gm(t)||16384&t.flags&&qm(t,e.Diagnostics.with_statements_are_not_allowed_in_an_async_function_block),ap(t.expression);var n=e.getSourceFileOfNode(t);if(!Vm(n)){var r=e.getSpanOfTokenAtPosition(n,t.pos).start;Wm(n,r,t.statement.pos-r,e.Diagnostics.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any)}}(t);case 225:return function(t){var n;Gm(t);var r=!1,a=ap(t.expression),o=Gc(a);e.forEach(t.caseBlock.clauses,function(s){if(265===s.kind&&!r)if(void 0===n)n=s;else{var c=e.getSourceFileOfNode(t),u=e.skipTrivia(c.text,s.pos);Wm(c,u,(s.statements.length>0?s.statements[0].pos:s.end)-u,e.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement),r=!0}if(i&&264===s.kind){var l=ap(s.expression),_=Gc(l),d=a;_&&o||(l=_?Xc(l):l,d=Xc(a)),Hd(d,l)||xc(l,d,s.expression,void 0)}e.forEach(s.statements,If)}),t.caseBlock.locals&&Mp(t.caseBlock)}(t);case 226:return function(t){Gm(t)||e.findAncestor(t.parent,function(n){return e.isFunctionLike(n)?"quit":226===n.kind&&n.label.escapedText===t.label.escapedText?(Hm(t.label,e.Diagnostics.Duplicate_label_0,e.getTextOfNode(t.label)),!0):void 0}),If(t.statement)}(t);case 227:return function(t){Gm(t)||void 0===t.expression&&function(t,n,r,i,a){var o=e.getSourceFileOfNode(t);if(!Vm(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);Lt.add(e.createFileDiagnostic(o,e.textSpanEnd(s),0,n,void 0,void 0,void 0))}}(t,e.Diagnostics.Line_break_not_permitted_here),t.expression&&ap(t.expression)}(t);case 228:return function(t){Gm(t),Kp(t.tryBlock);var n=t.catchClause;if(n){if(n.variableDeclaration)if(n.variableDeclaration.type)qm(n.variableDeclaration.type,e.Diagnostics.Catch_clause_variable_cannot_have_a_type_annotation);else if(n.variableDeclaration.initializer)qm(n.variableDeclaration.initializer,e.Diagnostics.Catch_clause_variable_cannot_have_an_initializer);else{var r=n.block.locals;r&&e.forEachKey(n.locals,function(t){var n=r.get(t);n&&0!=(2&n.flags)&&Hm(n.valueDeclaration,e.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause,t)})}Kp(n.block)}t.finallyBlock&&Kp(t.finallyBlock)}(t);case 230:return tf(t);case 180:return function(t){return function(t){if(t.dotDotDotToken){if(t!==e.last(t.parent.elements))return Hm(t,e.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern);if(179===t.name.kind||178===t.name.kind)return Hm(t.name,e.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern);if(t.propertyName)return Hm(t.name,e.Diagnostics.A_rest_element_cannot_have_a_property_name);t.initializer&&Wm(t,t.initializer.pos-1,1,e.Diagnostics.A_rest_element_cannot_have_an_initializer)}}(t),Zp(t)}(t);case 233:return function(t){t.name||e.hasModifier(t,512)||qm(t,e.Diagnostics.A_class_declaration_without_the_default_modifier_must_have_a_name),yf(t),e.forEach(t.members,If),Mp(t)}(t);case 234:return function(t){if(Tm(t)||function(t){var n=!1;if(t.heritageClauses)for(var r=0,i=t.heritageClauses;r1&&e.forEach(r.declarations,function(t){e.isConstEnumDeclaration(t)!==n&&cn(e.getNameOfDeclaration(t),e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)});var a=!1;e.forEach(r.declarations,function(t){if(236!==t.kind)return!1;var n=t;if(!n.members.length)return!1;var r=n.members[0];r.initializer||(a?cn(r.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):a=!0)})}}}(t);case 237:return function(t){if(i){var n=e.isGlobalScopeAugmentation(t),r=2097152&t.flags;n&&!r&&cn(t.name,e.Diagnostics.Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context);var a=e.isAmbientModule(t);if(Af(t,a?e.Diagnostics.An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:e.Diagnostics.A_namespace_declaration_is_only_allowed_in_a_namespace_or_module))return;Tm(t)||r||9!==t.name.kind||Hm(t.name,e.Diagnostics.Only_ambient_modules_can_use_quoted_names),e.isIdentifier(t.name)&&(Vp(t,t.name),Xp(t,t.name),Qp(t,t.name)),kp(t);var o=ir(t);if(512&o.flags&&o.declarations.length>1&&!r&&l(t,C.preserveConstEnums||C.isolatedModules)){var s=function(t){for(var n=0,r=t.declarations;n=e.ModuleKind.ES2015&&!(2097152&t.flags)&&Hm(t,e.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}(t);case 248:return function(t){if(!Af(t,e.Diagnostics.An_export_declaration_can_only_be_used_in_a_module)&&(!Tm(t)&&e.hasModifiers(t)&&qm(t,e.Diagnostics.An_export_declaration_cannot_have_modifiers),!t.moduleSpecifier||Tf(t)))if(t.exportClause){e.forEach(t.exportClause.elements,Pf);var n=238===t.parent.kind&&e.isAmbientModule(t.parent.parent);272===t.parent.kind||n||!n&&238===t.parent.kind&&!t.moduleSpecifier&&2097152&t.flags||cn(t,e.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace)}else{var r=Vn(t,t.moduleSpecifier);r&&Qn(r)&&cn(t.moduleSpecifier,e.Diagnostics.Module_0_uses_export_and_cannot_be_used_with_export_Asterisk,Cr(r)),E!==e.ModuleKind.System&&E!==e.ModuleKind.ES2015&&E!==e.ModuleKind.ESNext&&Dm(t,32768)}}(t);case 247:return function(t){if(!Af(t,e.Diagnostics.An_export_assignment_can_only_be_used_in_a_module)){var n=272===t.parent.kind?t.parent:t.parent.parent;237!==n.kind||e.isAmbientModule(n)?(!Tm(t)&&e.hasModifiers(t)&&qm(t,e.Diagnostics.An_export_assignment_cannot_have_modifiers),71===t.expression.kind?(zn(t),C.declaration&&Mr(t.expression,!0)):Yd(t.expression),wf(n),2097152&t.flags&&!e.isEntityNameExpression(t.expression)&&Hm(t.expression,e.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context),!t.isExportEquals||2097152&t.flags||(E>=e.ModuleKind.ES2015?Hm(t,e.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead):E===e.ModuleKind.System&&Hm(t,e.Diagnostics.Export_assignment_is_not_supported_when_module_flag_is_system))):cn(t,t.isExportEquals?e.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace:e.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module)}}(t);case 213:case 229:return void Gm(t);case 251:return function(e){Fp(e)}(t)}}}function Of(t){e.isInJavaScriptFile(t)||Hm(t,e.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments)}function Mf(e){et&&et.push(e)}function Lf(t){e.performance.mark("beforeCheck"),function(t){var n=hn(t);if(!(1&n.flags)){if(C.skipLibCheck&&t.isDeclarationFile||C.skipDefaultLibCheck&&t.hasNoDefaultLib)return;!function(t){2097152&t.flags&&function(t){for(var n=0,r=t.statements;n0?e.concatenate(o,a):a}return e.forEach(r.getSourceFiles(),Lf),Lt.getDiagnostics()}(t)}finally{p=void 0}}function Bf(){if(!i)throw new Error("Trying to get diagnostics from a type checker that does not produce them.")}function zf(e){switch(e.kind){case 147:case 233:case 234:case 235:case 236:return!0}}function jf(e){for(var t=e;t.parent&&145===t.parent.kind;)t=t.parent;return t.parent&&161===t.parent.kind}function Jf(t,n){for(var r;(t=e.getContainingClass(t))&&!(r=n(t)););return r}function Kf(e,t){return!!Jf(e,function(e){return e===t})}function Uf(e){return void 0!==function(e){for(;145===e.parent.kind;)e=e.parent;return 241===e.parent.kind?e.parent.moduleReference===e&&e.parent:247===e.parent.kind?e.parent.expression===e&&e.parent:void 0}(e)}function Vf(t){if(e.isDeclarationName(t))return ir(t.parent);if(e.isInJavaScriptFile(t)&&183===t.parent.kind&&t.parent===t.parent.parent.left){var n=function(t){switch(e.getSpecialPropertyAssignmentKind(t.parent.parent)){case 1:case 3:return ir(t.parent);case 4:case 2:case 5:return ir(t.parent.parent)}}(t);if(n)return n}if(247===t.parent.kind&&e.isEntityNameExpression(t))return Un(t,70107135);if(183!==t.kind&&Uf(t)){var r=e.getAncestor(t,241);return e.Debug.assert(void 0!==r),Jn(t,!0)}if(e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),function(e){for(var t=e;t.parent&&183===t.parent.kind;)t=t.parent;return t.parent&&205===t.parent.kind}(t)){var i=0;205===t.parent.kind?(i=67901928,e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)&&(i|=67216319)):i=1920,i|=2097152;var a=e.isEntityNameExpression(t)?Un(t,i):void 0;if(a)return a}if(287===t.parent.kind)return e.getParameterSymbolFromJSDoc(t.parent);if(147===t.parent.kind&&290===t.parent.parent.kind){e.Debug.assert(!e.isInJavaScriptFile(t));var o=e.getTypeParameterFromJsDoc(t.parent);return o&&o.symbol}if(e.isExpressionNode(t)){if(e.nodeIsMissing(t))return;if(71===t.kind){if(e.isJSXTagName(t)&&s_(t)){var s=d_(t.parent);return s===X?void 0:s}return Un(t,67216319,!1,!0)}if(183===t.kind||145===t.kind){var c=hn(t);return c.resolvedSymbol?c.resolvedSymbol:(183===t.kind?P_(t):w_(t),c.resolvedSymbol)}}else{if(jf(t))return Un(t,i=161===t.parent.kind?67901928:1920,!1,!0);if(260===t.parent.kind)return Oa(s_((l=(u=t.parent).parent.parent).tagName)?h_(l):v_(l,!1),u.name.escapedText)||X}var u,l;return 160===t.parent.kind?Un(t,1):void 0}function qf(t){if(272===t.kind)return e.isExternalModule(t)?rr(t.symbol):void 0;if(!(4194304&t.flags)){if(_(t))return ir(t.parent);if(e.isLiteralComputedPropertyDeclarationName(t))return ir(t.parent.parent);if(71===t.kind){if(Uf(t))return Vf(t);if(180===t.parent.kind&&178===t.parent.parent.kind&&t===t.parent.propertyName){var n=Wf(t.parent.parent),r=n&&Oa(n,t.escapedText);if(r)return r}}switch(t.kind){case 71:case 183:case 145:return Vf(t);case 99:var i=e.getThisContainer(t,!1);if(e.isFunctionLike(i)){var a=Qa(i);if(a.thisParameter)return a.thisParameter}if(e.isInExpressionContext(t))return ap(t).symbol;case 173:return Ks(t).symbol;case 97:return ap(t).symbol;case 123:var o=t.parent;return o&&154===o.kind?o.parent.symbol:void 0;case 9:case 13:if(e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t||(242===t.parent.kind||248===t.parent.kind)&&t.parent.moduleSpecifier===t||e.isInJavaScriptFile(t)&&e.isRequireCall(t.parent,!1)||e.isImportCall(t.parent))return Vn(t,t);case 8:var s=e.isElementAccessExpression(t.parent)?t.parent.argumentExpression===t?ip(t.parent.expression):void 0:e.isLiteralTypeNode(t.parent)&&e.isIndexedAccessTypeNode(t.parent.parent)?Us(t.parent.parent.objectType):void 0;return s&&Oa(s,e.escapeLeadingUnderscores(t.text));case 79:case 89:case 36:return ir(t.parent);default:return}}}function Wf(t){if(4194304&t.flags)return ee;if(e.isPartOfTypeNode(t)){var n=Us(t);return n&&e.isExpressionWithTypeArgumentsInClassImplementsClause(t)&&(n=Xi(n,(r=Wf(e.getContainingClass(t))).thisType)),n}if(e.isExpressionNode(t))return Hf(t);if(e.isExpressionWithTypeArgumentsInClassExtendsClause(t)){var r,i=ki(r=wi(ir(e.getContainingClass(t))))[0];return i&&Xi(i,r.thisType)}var a,o;if(zf(t))return wi(o=ir(t));if(71===(a=t).kind&&zf(a.parent)&&a.parent.name===a)return(o=qf(t))&&wi(o);if(e.isDeclaration(t))return ci(o=ir(t));if(_(t))return(o=qf(t))&&ci(o);if(e.isBindingPattern(t))return Qr(t.parent,!0);if(Uf(t)&&(o=qf(t))){var s=wi(o);return s!==ee?s:ci(o)}return ee}function Hf(t){return e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),zs(ip(t))}function Gf(t){t=Pa(t);var n=e.createSymbolTable(ha(t));return Xf(t)&&e.forEach(ha(Ae),function(e){n.has(e.escapedName)||n.set(e.escapedName,e)}),pr(n)}function Xf(t){return e.typeHasCallOrConstructSignatures(t,J)}function Qf(t){return!(e.isGeneratedIdentifier(t)||!(t=e.getParseTreeNode(t,e.isIdentifier))||183===t.parent.kind&&t.parent.name===t||vm(t)!==j)}function Yf(t){var n=Vn(t.parent,t);if(!n||e.isShorthandAmbientModuleSymbol(n))return!0;var r=Qn(n),i=yn(n=Gn(n));return void 0===i.exportsSomeValue&&(i.exportsSomeValue=r?!!(67216319&n.flags):e.forEachEntry(er(n),function(e){return(e=Rn(e))&&!!(67216319&e.flags)})),i.exportsSomeValue}function $f(t,n){if(t=e.getParseTreeNode(t,e.isIdentifier)){var r=vm(t,function(t){var n=t.parent;return n&&e.isModuleOrEnumDeclaration(n)&&t===n.name}(t));if(r){if(1048576&r.flags){var i=rr(r.exportSymbol);if(!n&&944&i.flags&&!(3&i.flags))return;r=i}var a=ar(r);if(a){if(512&a.flags&&272===a.valueDeclaration.kind){var o=a.valueDeclaration;return o!==e.getSourceFileOfNode(t)?void 0:o}return e.findAncestor(t.parent,function(t){return e.isModuleOrEnumDeclaration(t)&&ir(t)===a})}}}}function Zf(t){if(t=e.getParseTreeNode(t,e.isIdentifier)){var n=vm(t);if(Ln(n,67216319))return Pn(n)}}function em(t){if(418&t.flags){var n=yn(t);if(void 0===n.isDeclarationWithCollidingName){var r=e.getEnclosingBlockScopeContainer(t.valueDeclaration);if(e.isStatementWithLocals(r)){var i=hn(t.valueDeclaration);if(kn(r.parent,t.escapedName,67216319,void 0,void 0,!1))n.isDeclarationWithCollidingName=!0;else if(131072&i.flags){var a=262144&i.flags,o=e.isIterationStatement(r,!1),s=211===r.kind&&e.isIterationStatement(r.parent,!1);n.isDeclarationWithCollidingName=!(e.isBlockScopedContainerTopLevel(r)||a&&(o||s))}else n.isDeclarationWithCollidingName=!1}}return n.isDeclarationWithCollidingName}return!1}function tm(t){if(!e.isGeneratedIdentifier(t)&&(t=e.getParseTreeNode(t,e.isIdentifier))){var n=vm(t);if(n&&em(n))return n.valueDeclaration}}function nm(t){if(t=e.getParseTreeNode(t,e.isDeclaration)){var n=ir(t);if(n)return em(n)}return!1}function rm(t){switch(t.kind){case 241:case 243:case 244:case 246:case 250:return am(ir(t)||X);case 248:var n=t.exportClause;return n&&e.forEach(n.elements,rm);case 247:return!t.expression||71!==t.expression.kind||am(ir(t)||X)}return!1}function im(t){return!(void 0===(t=e.getParseTreeNode(t,e.isImportEqualsDeclaration))||272!==t.parent.kind||!e.isInternalModuleImportEqualsDeclaration(t))&&am(ir(t))&&t.moduleReference&&!e.nodeIsMissing(t.moduleReference)}function am(e){var t=Bn(e);return t===X||67216319&t.flags&&(C.preserveConstEnums||!om(t))}function om(e){return Ud(e)||e.constEnumOnlyModule}function sm(t){if(e.nodeIsPresent(t.body)){var n=$a(ir(t));return n.length>1||1===n.length&&n[0].declaration!==t}return!1}function cm(t){return P&&!qa(t)&&t.initializer&&!e.hasModifier(t,92)}function um(t){return P&&qa(t)&&!t.initializer&&e.hasModifier(t,92)}function lm(e){return hn(e).flags}function _m(e){return kf(e.parent),hn(e).enumMemberValue}function dm(e){switch(e.kind){case 271:case 183:case 184:return!0}return!1}function pm(t){if(271===t.kind)return _m(t);var n=hn(t).resolvedSymbol;return n&&8&n.flags&&e.isConstEnumDeclaration(n.valueDeclaration.parent)?_m(n.valueDeclaration):void 0}function fm(t,n){if(!(t=e.getParseTreeNode(t,e.isEntityName)))return e.TypeReferenceSerializationKind.Unknown;if(n&&!(n=e.getParseTreeNode(n)))return e.TypeReferenceSerializationKind.Unknown;var r=Un(t,67216319,!0,!1,n),i=Un(t,67901928,!0,!1,n);if(r&&r===i){var a=Ko(!1);if(a&&r===a)return e.TypeReferenceSerializationKind.Promise;var o=ci(r);if(o&&yi(o))return e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue}if(!i)return e.TypeReferenceSerializationKind.ObjectType;var s=wi(i);return s===ee?e.TypeReferenceSerializationKind.Unknown:1&s.flags?e.TypeReferenceSerializationKind.ObjectType:jd(s,30720)?e.TypeReferenceSerializationKind.VoidNullableOrNeverType:jd(s,136)?e.TypeReferenceSerializationKind.BooleanType:jd(s,84)?e.TypeReferenceSerializationKind.NumberLikeType:jd(s,524322)?e.TypeReferenceSerializationKind.StringLikeType:Zc(s)?e.TypeReferenceSerializationKind.ArrayLikeType:jd(s,1536)?e.TypeReferenceSerializationKind.ESSymbolType:function(e){return 65536&e.flags&&La(e,0).length>0}(s)?e.TypeReferenceSerializationKind.TypeWithCallSignature:Vc(s)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function mm(e,t,n,r){var i=ir(e),a=!i||133120&i.flags?ee:Qc(ci(i));1024&a.flags&&a.symbol===i&&(n|=1048576),131072&n&&(a=au(a)),Er(a,t,1024|n,r)}function gm(e,t,n,r){Er(no(Qa(e)),t,1024|n,r)}function ym(e,t,n,r){Er(pu(Hf(e)),t,1024|n,r)}function hm(t){return _t.has(e.escapeLeadingUnderscores(t))}function vm(t,n){var r=hn(t).resolvedSymbol;if(r)return r;var i=t;if(n){var a=t.parent;e.isDeclaration(a)&&t===a.name&&(i=jr(a))}return kn(i,t.escapedText,70362047,void 0,void 0,!0)}function bm(t){if(!e.isGeneratedIdentifier(t)&&(t=e.getParseTreeNode(t,e.isIdentifier))){var n=vm(t);if(n)return or(n).valueDeclaration}}function xm(t){if(e.isConst(t)){var n=ci(ir(t));return!!(96&n.flags&&8388608&n.flags)}return!1}function km(t,n){var r=ci(ir(t));n.writeStringLiteral(function(t){return 32&t.flags?'"'+e.escapeString(t.value)+'"':""+t.value}(r))}function Sm(t){var n=e.getExternalModuleName(t),r=qn(n,n,void 0);if(r)return e.getDeclarationOfKind(r,272)}function Dm(t,n){if((f&n)!==n&&C.importHelpers){var r=e.getSourceFileOfNode(t);if(e.isEffectiveExternalModule(r,C)&&!(2097152&t.flags)){var i=(m||(m=Wn(r,e.externalHelpersModuleNameText,e.Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,t)||X),m);if(i!==X)for(var a=n&~f,o=1;o<=65536;o<<=1)if(a&o){var s=Cm(o);bn(i.exports,e.escapeLeadingUnderscores(s),67216319)||cn(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1,e.externalHelpersModuleNameText,s)}f|=n}}}function Cm(t){switch(t){case 1:return"__extends";case 2:return"__assign";case 4:return"__rest";case 8:return"__decorate";case 16:return"__metadata";case 32:return"__param";case 64:return"__awaiter";case 128:return"__generator";case 256:return"__values";case 512:return"__read";case 1024:return"__spread";case 2048:return"__await";case 4096:return"__asyncGenerator";case 8192:return"__asyncDelegator";case 16384:return"__asyncValues";case 32768:return"__exportStar";case 65536:return"__makeTemplateObject";default:e.Debug.fail("Unrecognized helper")}}function Tm(t){return function(t){if(!t.decorators)return!1;if(!e.nodeCanBeDecorated(t,t.parent,t.parent.parent))return 153!==t.kind||e.nodeIsPresent(t.body)?qm(t,e.Diagnostics.Decorators_are_not_valid_here):qm(t,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(155===t.kind||156===t.kind){var n=e.getAllAccessorDeclarations(t.parent.members,t);if(n.firstAccessor.decorators&&t===n.secondAccessor)return qm(t,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}return!1}(t)||function(t){var n,r,i,a,o=function(t){return!!t.modifiers&&(function(t){switch(t.kind){case 155:case 156:case 154:case 151:case 150:case 153:case 152:case 159:case 237:case 242:case 241:case 248:case 247:case 190:case 191:case 148:return!1;default:if(238===t.parent.kind||272===t.parent.kind)return!1;switch(t.kind){case 232:return Em(t,120);case 233:return Em(t,117);case 234:case 212:case 235:return!0;case 236:return Em(t,76);default:return e.Debug.fail(),!1}}}(t)?qm(t,e.Diagnostics.Modifiers_cannot_appear_here):void 0)}(t);if(void 0!==o)return o;for(var s=0,c=0,u=t.modifiers;c1||e.modifiers[0].kind!==t}function Nm(t){if(t&&t.hasTrailingComma){var n=t.end-",".length;return Wm(t[0],n,t.end-n,e.Diagnostics.Trailing_comma_not_allowed)}}function Am(t,n){if(t&&0===t.length){var r=t.pos-"<".length;return Wm(n,r,e.skipTrivia(n.text,t.end)+">".length-r,e.Diagnostics.Type_parameter_list_cannot_be_empty)}}function Pm(t){var n=e.getSourceFileOfNode(t);return Tm(t)||Am(t.typeParameters,n)||function(t){for(var n=!1,r=t.length,i=0;i".length-i,e.Diagnostics.Type_argument_list_cannot_be_empty)}}(t,n)}function Fm(t){return function(t){if(t)for(var n=0,r=t;n1)return qm(n.declarations[1],219===t.kind?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement);var i=r[0];if(i.initializer)return Hm(i.name,219===t.kind?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer);if(i.type)return Hm(i,219===t.kind?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation)}}return!1}function zm(t){if(t.parameters.length===(155===t.kind?1:2))return e.getThisParameter(t)}function jm(t,n){if(function(t){return e.isDynamicName(t)&&!Ji(t)}(t))return Hm(t,n)}function Jm(t){if(Pm(t))return!0;if(153===t.kind){if(182===t.parent.kind){if(t.modifiers&&(1!==t.modifiers.length||120!==e.first(t.modifiers).kind))return qm(t,e.Diagnostics.Modifiers_cannot_appear_here);if(Rm(t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional))return!0;if(void 0===t.body)return Wm(t,t.end-1,";".length,e.Diagnostics._0_expected,"{")}if(Lm(t))return!0}if(e.isClassLike(t.parent)){if(2097152&t.flags)return jm(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(153===t.kind&&!t.body)return jm(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else{if(234===t.parent.kind)return jm(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(165===t.parent.kind)return jm(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function Km(e){return 9===e.kind||8===e.kind||196===e.kind&&38===e.operator&&8===e.operand.kind}function Um(t){var n=t.declarations;return!!Nm(t.declarations)||(t.declarations.length?void 0:Wm(t,n.pos,n.end-n.pos,e.Diagnostics.Variable_declaration_list_cannot_be_empty))}function Vm(e){return e.parseDiagnostics.length>0}function qm(t,n,r,i,a){var o=e.getSourceFileOfNode(t);if(!Vm(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);return Lt.add(e.createFileDiagnostic(o,s.start,s.length,n,r,i,a)),!0}}function Wm(t,n,r,i,a,o,s){var c=e.getSourceFileOfNode(t);if(!Vm(c))return Lt.add(e.createFileDiagnostic(c,n,r,i,a,o,s)),!0}function Hm(t,n,r,i,a){if(!Vm(e.getSourceFileOfNode(t)))return Lt.add(e.createDiagnosticForNode(t,n,r,i,a)),!0}function Gm(t){if(2097152&t.flags){if(e.isAccessor(t.parent))return hn(t).hasReportedStatementInAmbientContext=!0;if(!hn(t).hasReportedStatementInAmbientContext&&e.isFunctionLike(t.parent))return hn(t).hasReportedStatementInAmbientContext=qm(t,e.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts);if(211===t.parent.kind||238===t.parent.kind||272===t.parent.kind){var n=hn(t.parent);if(!n.hasReportedStatementInAmbientContext)return n.hasReportedStatementInAmbientContext=qm(t,e.Diagnostics.Statements_are_not_allowed_in_ambient_contexts)}}}function Xm(t){if(32&t.numericLiteralFlags){var n=void 0;if(T>=1?n=e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:e.isChildOfNodeWithKind(t,177)?n=e.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:e.isChildOfNodeWithKind(t,271)&&(n=e.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0),n){var r=e.isPrefixUnaryExpression(t.parent)&&38===t.parent.operator;return Hm(r?t.parent:t,n,(r?"-":"")+"0o"+t.text)}}}},function(e){e.JSX="JSX",e.IntrinsicElements="IntrinsicElements",e.ElementClass="ElementClass",e.ElementAttributesPropertyNameContainer="ElementAttributesProperty",e.ElementChildrenAttributeNameContainer="ElementChildrenAttribute",e.Element="Element",e.IntrinsicAttributes="IntrinsicAttributes",e.IntrinsicClassAttributes="IntrinsicClassAttributes"}(t||(t={}))}(l||(l={})),function(e){function t(t){var n=e.createNode(t,-1,-1);return n.flags|=8,n}function n(t,n){return t!==n&&(Lt(t,n),Pt(t,n),e.aggregateTransformFlags(t)),t}function r(t,n){if(t){if(e.isNodeArray(t))return t}else t=[];var r=t;return r.pos=-1,r.end=-1,r.hasTrailingComma=n,r}function i(e){if(void 0!==e){var n=t(e.kind);for(var r in n.flags|=e.flags,Lt(n,e),e)!n.hasOwnProperty(r)&&e.hasOwnProperty(r)&&(n[r]=e[r]);return n}}function a(t){return"number"==typeof t?o(t+""):"boolean"==typeof t?t?d():p():e.isString(t)?s(t):((r=s(e.getTextOfIdentifierOrLiteral(n=t))).textSourceNode=n,r);var n,r}function o(e){var n=t(8);return n.text=e,n.numericLiteralFlags=0,n}function s(e){var n=t(9);return n.text=e,n}function c(n,i){var a=t(71);return a.escapedText=e.escapeLeadingUnderscores(n),a.originalKeywordKind=n?e.stringToToken(n):0,a.autoGenerateFlags=0,a.autoGenerateId=0,i&&(a.typeArguments=r(i)),a}e.updateNode=n,e.createNodeArray=r,e.getSynthesizedClone=i,e.createLiteral=a,e.createNumericLiteral=o,e.createIdentifier=c,e.updateIdentifier=function(t,r){return t.typeArguments!==r?n(c(e.idText(t),r),t):t};var u,l=0;function _(e){return t(e)}function d(){return t(101)}function p(){return t(86)}function f(e,n){var r=t(145);return r.left=e,r.right=Et(n),r}function m(n){var r=t(146);return r.expression=function(t){return e.isBinaryExpression(t)&&26===t.operatorToken.kind||296===t.kind?te(t):t}(n),r}function g(e,n,r){var i=t(147);return i.name=Et(e),i.constraint=n,i.default=r,i}function y(n,r,i,a,o,s,c){var u=t(148);return u.decorators=Nt(n),u.modifiers=Nt(r),u.dotDotDotToken=i,u.name=Et(a),u.questionToken=o,u.type=s,u.initializer=c?e.parenthesizeExpressionForList(c):void 0,u}function h(n){var r=t(149);return r.expression=e.parenthesizeForAccess(n),r}function v(e,n,r,i,a){var o=t(150);return o.modifiers=Nt(e),o.name=Et(n),o.questionToken=r,o.type=i,o.initializer=a,o}function b(e,n,r,i,a,o){var s=t(151);return s.decorators=Nt(e),s.modifiers=Nt(n),s.name=Et(r),s.questionToken=void 0!==i&&55===i.kind?i:void 0,s.exclamationToken=void 0!==i&&51===i.kind?i:void 0,s.type=a,s.initializer=o,s}function x(e,t,n,r,i){var a=E(152,e,t,n);return a.name=Et(r),a.questionToken=i,a}function k(e,n,i,a,o,s,c,u,l){var _=t(153);return _.decorators=Nt(e),_.modifiers=Nt(n),_.asteriskToken=i,_.name=Et(a),_.questionToken=o,_.typeParameters=Nt(s),_.parameters=r(c),_.type=u,_.body=l,_}function S(e,n,i,a){var o=t(154);return o.decorators=Nt(e),o.modifiers=Nt(n),o.typeParameters=void 0,o.parameters=r(i),o.type=void 0,o.body=a,o}function D(e,n,i,a,o,s){var c=t(155);return c.decorators=Nt(e),c.modifiers=Nt(n),c.name=Et(i),c.typeParameters=void 0,c.parameters=r(a),c.type=o,c.body=s,c}function C(e,n,i,a,o){var s=t(156);return s.decorators=Nt(e),s.modifiers=Nt(n),s.name=Et(i),s.typeParameters=void 0,s.parameters=r(a),s.body=o,s}function T(e,n,i,a){var o=t(159);return o.decorators=Nt(e),o.modifiers=Nt(n),o.parameters=r(i),o.type=a,o}function E(e,n,r,i,a){var o=t(e);return o.typeParameters=Nt(n),o.parameters=Nt(r),o.type=i,o.typeArguments=Nt(a),o}function N(e,t,r,i){return e.typeParameters!==t||e.parameters!==r||e.type!==i?n(E(e.kind,t,r,i),e):e}function A(e,n){var r=t(160);return r.parameterName=Et(e),r.type=n,r}function P(n,r){var i=t(161);return i.typeName=Et(n),i.typeArguments=r&&e.parenthesizeTypeParameters(r),i}function w(e){var n=t(164);return n.exprName=e,n}function F(e){var n=t(165);return n.members=r(e),n}function I(n){var r=t(166);return r.elementType=e.parenthesizeArrayTypeMember(n),r}function O(e){var n=t(167);return n.elementTypes=r(e),n}function M(n,r){var i=t(n);return i.types=e.parenthesizeElementTypeMembers(r),i}function L(e,t){return e.types!==t?n(M(e.kind,t),e):e}function R(n,r,i,a){var o=t(170);return o.checkType=e.parenthesizeConditionalTypeMember(n),o.extendsType=e.parenthesizeConditionalTypeMember(r),o.trueType=i,o.falseType=a,o}function B(e){var n=t(171);return n.typeParameter=e,n}function z(e){var n=t(172);return n.type=e,n}function j(n,r){var i=t(174);return i.operator="number"==typeof n?n:128,i.type=e.parenthesizeElementTypeMember("number"==typeof n?r:n),i}function J(n,r){var i=t(175);return i.objectType=e.parenthesizeElementTypeMember(n),i.indexType=r,i}function K(e,n,r,i){var a=t(176);return a.readonlyToken=e,a.typeParameter=n,a.questionToken=r,a.type=i,a}function U(e){var n=t(177);return n.literal=e,n}function V(e){var n=t(178);return n.elements=r(e),n}function q(e){var n=t(179);return n.elements=r(e),n}function W(e,n,r,i){var a=t(180);return a.dotDotDotToken=e,a.propertyName=Et(n),a.name=Et(r),a.initializer=i,a}function H(n,i){var a=t(181);return a.elements=e.parenthesizeListElements(r(n)),i&&(a.multiLine=!0),a}function G(e,n){var i=t(182);return i.properties=r(e),n&&(i.multiLine=!0),i}function X(n,r){var i=t(183);return i.expression=e.parenthesizeForAccess(n),i.name=Et(r),wt(i,131072),i}function Q(n,r){var i,o=t(184);return o.expression=e.parenthesizeForAccess(n),o.argumentExpression=e.isString(i=r)||"number"==typeof i?a(i):i,o}function Y(n,i,a){var o=t(185);return o.expression=e.parenthesizeForAccess(n),o.typeArguments=Nt(i),o.arguments=e.parenthesizeListElements(r(a)),o}function $(n,i,a){var o=t(186);return o.expression=e.parenthesizeForNew(n),o.typeArguments=Nt(i),o.arguments=a?e.parenthesizeListElements(r(a)):void 0,o}function Z(n,r){var i=t(187);return i.tag=e.parenthesizeForAccess(n),i.template=r,i}function ee(n,r){var i=t(188);return i.type=n,i.expression=e.parenthesizePrefixOperand(r),i}function te(e){var n=t(189);return n.expression=e,n}function ne(e,n,i,a,o,s,c){var u=t(190);return u.modifiers=Nt(e),u.asteriskToken=n,u.name=Et(i),u.typeParameters=Nt(a),u.parameters=r(o),u.type=s,u.body=c,u}function re(n,i,a,o,s,c){var u=t(191);return u.modifiers=Nt(n),u.typeParameters=Nt(i),u.parameters=r(a),u.type=o,u.equalsGreaterThanToken=s||_(36),u.body=e.parenthesizeConciseBody(c),u}function ie(n){var r=t(192);return r.expression=e.parenthesizePrefixOperand(n),r}function ae(n){var r=t(193);return r.expression=e.parenthesizePrefixOperand(n),r}function oe(n){var r=t(194);return r.expression=e.parenthesizePrefixOperand(n),r}function se(n){var r=t(195);return r.expression=e.parenthesizePrefixOperand(n),r}function ce(n,r){var i=t(196);return i.operator=n,i.operand=e.parenthesizePrefixOperand(r),i}function ue(n,r){var i=t(197);return i.operand=e.parenthesizePostfixOperand(n),i.operator=r,i}function le(n,r,i){var a,o=t(198),s="number"==typeof(a=r)?_(a):a,c=s.kind;return o.left=e.parenthesizeBinaryOperand(c,n,!0,void 0),o.operatorToken=s,o.right=e.parenthesizeBinaryOperand(c,i,!1,o.left),o}function _e(n,r,i,a,o){var s=t(199);return s.condition=e.parenthesizeForConditionalHead(n),s.questionToken=o?r:_(55),s.whenTrue=e.parenthesizeSubexpressionOfConditionalExpression(o?i:r),s.colonToken=o?a:_(56),s.whenFalse=e.parenthesizeSubexpressionOfConditionalExpression(o||i),s}function de(e,n){var i=t(200);return i.head=e,i.templateSpans=r(n),i}function pe(e,n){var r=t(201);return r.asteriskToken=e&&39===e.kind?e:void 0,r.expression=e&&39!==e.kind?e:n,r}function fe(n){var r=t(202);return r.expression=e.parenthesizeExpressionForList(n),r}function me(e,n,i,a,o){var s=t(203);return s.decorators=void 0,s.modifiers=Nt(e),s.name=Et(n),s.typeParameters=Nt(i),s.heritageClauses=Nt(a),s.members=r(o),s}function ge(n,r){var i=t(205);return i.expression=e.parenthesizeForAccess(r),i.typeArguments=Nt(n),i}function ye(e,n){var r=t(206);return r.expression=e,r.type=n,r}function he(n){var r=t(207);return r.expression=e.parenthesizeForAccess(n),r}function ve(e,n){var r=t(208);return r.keywordToken=e,r.name=n,r}function be(e,n){var r=t(209);return r.expression=e,r.literal=n,r}function xe(e,n){var i=t(211);return i.statements=r(e),n&&(i.multiLine=n),i}function ke(n,r){var i=t(212);return i.decorators=void 0,i.modifiers=Nt(n),i.declarationList=e.isArray(r)?ze(r):r,i}function Se(n){var r=t(214);return r.expression=e.parenthesizeExpressionForExpressionStatement(n),r}function De(e,n,r){var i=t(215);return i.expression=e,i.thenStatement=n,i.elseStatement=r,i}function Ce(e,n){var r=t(216);return r.statement=e,r.expression=n,r}function Te(e,n){var r=t(217);return r.expression=e,r.statement=n,r}function Ee(e,n,r,i){var a=t(218);return a.initializer=e,a.condition=n,a.incrementor=r,a.statement=i,a}function Ne(e,n,r){var i=t(219);return i.initializer=e,i.expression=n,i.statement=r,i}function Ae(e,n,r,i){var a=t(220);return a.awaitModifier=e,a.initializer=n,a.expression=r,a.statement=i,a}function Pe(e){var n=t(221);return n.label=Et(e),n}function we(e){var n=t(222);return n.label=Et(e),n}function Fe(e){var n=t(223);return n.expression=e,n}function Ie(e,n){var r=t(224);return r.expression=e,r.statement=n,r}function Oe(n,r){var i=t(225);return i.expression=e.parenthesizeExpressionForList(n),i.caseBlock=r,i}function Me(e,n){var r=t(226);return r.label=Et(e),r.statement=n,r}function Le(e){var n=t(227);return n.expression=e,n}function Re(e,n,r){var i=t(228);return i.tryBlock=e,i.catchClause=n,i.finallyBlock=r,i}function Be(n,r,i){var a=t(230);return a.name=Et(n),a.type=r,a.initializer=void 0!==i?e.parenthesizeExpressionForList(i):void 0,a}function ze(e,n){var i=t(231);return i.flags|=3&n,i.declarations=r(e),i}function je(e,n,i,a,o,s,c,u){var l=t(232);return l.decorators=Nt(e),l.modifiers=Nt(n),l.asteriskToken=i,l.name=Et(a),l.typeParameters=Nt(o),l.parameters=r(s),l.type=c,l.body=u,l}function Je(e,n,i,a,o,s){var c=t(233);return c.decorators=Nt(e),c.modifiers=Nt(n),c.name=Et(i),c.typeParameters=Nt(a),c.heritageClauses=Nt(o),c.members=r(s),c}function Ke(e,n,i,a,o,s){var c=t(234);return c.decorators=Nt(e),c.modifiers=Nt(n),c.name=Et(i),c.typeParameters=Nt(a),c.heritageClauses=Nt(o),c.members=r(s),c}function Ue(e,n,r,i,a){var o=t(235);return o.decorators=Nt(e),o.modifiers=Nt(n),o.name=Et(r),o.typeParameters=Nt(i),o.type=a,o}function Ve(e,n,i,a){var o=t(236);return o.decorators=Nt(e),o.modifiers=Nt(n),o.name=Et(i),o.members=r(a),o}function qe(e,n,r,i,a){var o=t(237);return o.flags|=532&a,o.decorators=Nt(e),o.modifiers=Nt(n),o.name=r,o.body=i,o}function We(e){var n=t(238);return n.statements=r(e),n}function He(e){var n=t(239);return n.clauses=r(e),n}function Ge(e){var n=t(240);return n.name=Et(e),n}function Xe(e,n,r,i){var a=t(241);return a.decorators=Nt(e),a.modifiers=Nt(n),a.name=Et(r),a.moduleReference=i,a}function Qe(e,n,r,i){var a=t(242);return a.decorators=Nt(e),a.modifiers=Nt(n),a.importClause=r,a.moduleSpecifier=i,a}function Ye(e,n){var r=t(243);return r.name=e,r.namedBindings=n,r}function $e(e){var n=t(244);return n.name=e,n}function Ze(e){var n=t(245);return n.elements=r(e),n}function et(e,n){var r=t(246);return r.propertyName=e,r.name=n,r}function tt(n,r,i,a){var o=t(247);return o.decorators=Nt(n),o.modifiers=Nt(r),o.isExportEquals=i,o.expression=i?e.parenthesizeBinaryOperand(58,a,!1,void 0):e.parenthesizeDefaultExpression(a),o}function nt(e,n,r,i){var a=t(248);return a.decorators=Nt(e),a.modifiers=Nt(n),a.exportClause=r,a.moduleSpecifier=i,a}function rt(e){var n=t(249);return n.elements=r(e),n}function it(e,n){var r=t(250);return r.propertyName=Et(e),r.name=Et(n),r}function at(e){var n=t(252);return n.expression=e,n}function ot(e,n,i){var a=t(253);return a.openingElement=e,a.children=r(n),a.closingElement=i,a}function st(e,n){var r=t(254);return r.tagName=e,r.attributes=n,r}function ct(e,n){var r=t(255);return r.tagName=e,r.attributes=n,r}function ut(e){var n=t(256);return n.tagName=e,n}function lt(e,n,i){var a=t(257);return a.openingFragment=e,a.children=r(n),a.closingFragment=i,a}function _t(e,n){var r=t(260);return r.name=e,r.initializer=n,r}function dt(e){var n=t(261);return n.properties=r(e),n}function pt(e){var n=t(262);return n.expression=e,n}function ft(e,n){var r=t(263);return r.dotDotDotToken=e,r.expression=n,r}function mt(n,i){var a=t(264);return a.expression=e.parenthesizeExpressionForList(n),a.statements=r(i),a}function gt(e){var n=t(265);return n.statements=r(e),n}function yt(e,n){var i=t(266);return i.token=e,i.types=r(n),i}function ht(n,r){var i=t(267);return i.variableDeclaration=e.isString(n)?Be(n):n,i.block=r,i}function vt(n,r){var i=t(268);return i.name=Et(n),i.questionToken=void 0,i.initializer=e.parenthesizeExpressionForList(r),i}function bt(n,r){var i=t(269);return i.name=Et(n),i.objectAssignmentInitializer=void 0!==r?e.parenthesizeExpressionForList(r):void 0,i}function xt(n){var r=t(270);return r.expression=void 0!==n?e.parenthesizeExpressionForList(n):void 0,r}function kt(n,r){var i=t(271);return i.name=Et(n),i.initializer=r&&e.parenthesizeExpressionForList(r),i}function St(e,n){var r=t(295);return r.expression=e,r.original=n,Pt(r,n),r}function Dt(t){if(e.nodeIsSynthesized(t)&&!e.isParseTreeNode(t)&&!t.original&&!t.emitNode&&!t.id){if(296===t.kind)return t.elements;if(e.isBinaryExpression(t)&&26===t.operatorToken.kind)return[t.left,t.right]}return t}function Ct(n){var i=t(296);return i.elements=r(e.sameFlatMap(n,Dt)),i}function Tt(t){var n=e.createNode(273);return n.sourceFiles=t,n}function Et(t){return e.isString(t)?c(t):t}function Nt(e){return e?r(e):void 0}function At(t){if(!t.emitNode){if(e.isParseTreeNode(t)){if(272===t.kind)return t.emitNode={annotatedNodes:[t]};At(e.getSourceFileOfNode(t)).annotatedNodes.push(t)}t.emitNode={}}return t.emitNode}function Pt(e,t){return t&&(e.pos=t.pos,e.end=t.end),e}function wt(e,t){return At(e).flags=t,e}function Ft(e){var t=e.emitNode;return t&&t.leadingComments}function It(e,t){return At(e).leadingComments=t,e}function Ot(e){var t=e.emitNode;return t&&t.trailingComments}function Mt(e,t){return At(e).trailingComments=t,e}function Lt(t,n){if(t.original=n,n){var r=n.emitNode;r&&(t.emitNode=(a=r.flags,o=r.leadingComments,s=r.trailingComments,c=r.commentRange,u=r.sourceMapRange,l=r.tokenSourceMapRanges,_=r.constantValue,d=r.helpers,p=r.startsOnNewLine,(i=t.emitNode)||(i={}),o&&(i.leadingComments=e.addRange(o.slice(),i.leadingComments)),s&&(i.trailingComments=e.addRange(s.slice(),i.trailingComments)),a&&(i.flags=a),c&&(i.commentRange=c),u&&(i.sourceMapRange=u),l&&(i.tokenSourceMapRanges=function(e,t){for(var n in t||(t=[]),e)t[n]=e[n];return t}(l,i.tokenSourceMapRanges)),void 0!==_&&(i.constantValue=_),d&&(i.helpers=e.addRange(i.helpers,d)),void 0!==p&&(i.startsOnNewLine=p),i))}var i,a,o,s,c,u,l,_,d,p;return t}e.createTempVariable=function(e,t){var n=c("");return n.autoGenerateFlags=1,n.autoGenerateId=l,l++,e&&e(n),t&&(n.autoGenerateFlags|=16),n},e.createLoopVariable=function(){var e=c("");return e.autoGenerateFlags=2,e.autoGenerateId=l,l++,e},e.createUniqueName=function(e){var t=c(e);return t.autoGenerateFlags=3,t.autoGenerateId=l,l++,t},e.getGeneratedNameForNode=function(e,t){var n=c("");return n.autoGenerateFlags=4,n.autoGenerateId=l,n.original=e,t&&(n.autoGenerateFlags|=8),l++,n},e.createToken=_,e.createSuper=function(){return t(97)},e.createThis=function(){return t(99)},e.createNull=function(){return t(95)},e.createTrue=d,e.createFalse=p,e.createQualifiedName=f,e.updateQualifiedName=function(e,t,r){return e.left!==t||e.right!==r?n(f(t,r),e):e},e.createComputedPropertyName=m,e.updateComputedPropertyName=function(e,t){return e.expression!==t?n(m(t),e):e},e.createTypeParameterDeclaration=g,e.updateTypeParameterDeclaration=function(e,t,r,i){return e.name!==t||e.constraint!==r||e.default!==i?n(g(t,r,i),e):e},e.createParameter=y,e.updateParameter=function(e,t,r,i,a,o,s,c){return e.decorators!==t||e.modifiers!==r||e.dotDotDotToken!==i||e.name!==a||e.questionToken!==o||e.type!==s||e.initializer!==c?n(y(t,r,i,a,o,s,c),e):e},e.createDecorator=h,e.updateDecorator=function(e,t){return e.expression!==t?n(h(t),e):e},e.createPropertySignature=v,e.updatePropertySignature=function(e,t,r,i,a,o){return e.modifiers!==t||e.name!==r||e.questionToken!==i||e.type!==a||e.initializer!==o?n(v(t,r,i,a,o),e):e},e.createProperty=b,e.updateProperty=function(e,t,r,i,a,o,s){return e.decorators!==t||e.modifiers!==r||e.name!==i||e.questionToken!==(void 0!==a&&55===a.kind?a:void 0)||e.exclamationToken!==(void 0!==a&&51===a.kind?a:void 0)||e.type!==o||e.initializer!==s?n(b(t,r,i,a,o,s),e):e},e.createMethodSignature=x,e.updateMethodSignature=function(e,t,r,i,a,o){return e.typeParameters!==t||e.parameters!==r||e.type!==i||e.name!==a||e.questionToken!==o?n(x(t,r,i,a,o),e):e},e.createMethod=k,e.updateMethod=function(e,t,r,i,a,o,s,c,u,l){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==i||e.name!==a||e.questionToken!==o||e.typeParameters!==s||e.parameters!==c||e.type!==u||e.body!==l?n(k(t,r,i,a,o,s,c,u,l),e):e},e.createConstructor=S,e.updateConstructor=function(e,t,r,i,a){return e.decorators!==t||e.modifiers!==r||e.parameters!==i||e.body!==a?n(S(t,r,i,a),e):e},e.createGetAccessor=D,e.updateGetAccessor=function(e,t,r,i,a,o,s){return e.decorators!==t||e.modifiers!==r||e.name!==i||e.parameters!==a||e.type!==o||e.body!==s?n(D(t,r,i,a,o,s),e):e},e.createSetAccessor=C,e.updateSetAccessor=function(e,t,r,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==i||e.parameters!==a||e.body!==o?n(C(t,r,i,a,o),e):e},e.createCallSignature=function(e,t,n){return E(157,e,t,n)},e.updateCallSignature=function(e,t,n,r){return N(e,t,n,r)},e.createConstructSignature=function(e,t,n){return E(158,e,t,n)},e.updateConstructSignature=function(e,t,n,r){return N(e,t,n,r)},e.createIndexSignature=T,e.updateIndexSignature=function(e,t,r,i,a){return e.parameters!==i||e.type!==a||e.decorators!==t||e.modifiers!==r?n(T(t,r,i,a),e):e},e.createSignatureDeclaration=E,e.createKeywordTypeNode=function(e){return t(e)},e.createTypePredicateNode=A,e.updateTypePredicateNode=function(e,t,r){return e.parameterName!==t||e.type!==r?n(A(t,r),e):e},e.createTypeReferenceNode=P,e.updateTypeReferenceNode=function(e,t,r){return e.typeName!==t||e.typeArguments!==r?n(P(t,r),e):e},e.createFunctionTypeNode=function(e,t,n){return E(162,e,t,n)},e.updateFunctionTypeNode=function(e,t,n,r){return N(e,t,n,r)},e.createConstructorTypeNode=function(e,t,n){return E(163,e,t,n)},e.updateConstructorTypeNode=function(e,t,n,r){return N(e,t,n,r)},e.createTypeQueryNode=w,e.updateTypeQueryNode=function(e,t){return e.exprName!==t?n(w(t),e):e},e.createTypeLiteralNode=F,e.updateTypeLiteralNode=function(e,t){return e.members!==t?n(F(t),e):e},e.createArrayTypeNode=I,e.updateArrayTypeNode=function(e,t){return e.elementType!==t?n(I(t),e):e},e.createTupleTypeNode=O,e.updateTypleTypeNode=function(e,t){return e.elementTypes!==t?n(O(t),e):e},e.createUnionTypeNode=function(e){return M(168,e)},e.updateUnionTypeNode=function(e,t){return L(e,t)},e.createIntersectionTypeNode=function(e){return M(169,e)},e.updateIntersectionTypeNode=function(e,t){return L(e,t)},e.createUnionOrIntersectionTypeNode=M,e.createConditionalTypeNode=R,e.updateConditionalTypeNode=function(e,t,r,i,a){return e.checkType!==t||e.extendsType!==r||e.trueType!==i||e.falseType!==a?n(R(t,r,i,a),e):e},e.createInferTypeNode=B,e.updateInferTypeNode=function(e,t){return e.typeParameter!==t?n(B(t),e):e},e.createParenthesizedType=z,e.updateParenthesizedType=function(e,t){return e.type!==t?n(z(t),e):e},e.createThisTypeNode=function(){return t(173)},e.createTypeOperatorNode=j,e.updateTypeOperatorNode=function(e,t){return e.type!==t?n(j(e.operator,t),e):e},e.createIndexedAccessTypeNode=J,e.updateIndexedAccessTypeNode=function(e,t,r){return e.objectType!==t||e.indexType!==r?n(J(t,r),e):e},e.createMappedTypeNode=K,e.updateMappedTypeNode=function(e,t,r,i,a){return e.readonlyToken!==t||e.typeParameter!==r||e.questionToken!==i||e.type!==a?n(K(t,r,i,a),e):e},e.createLiteralTypeNode=U,e.updateLiteralTypeNode=function(e,t){return e.literal!==t?n(U(t),e):e},e.createObjectBindingPattern=V,e.updateObjectBindingPattern=function(e,t){return e.elements!==t?n(V(t),e):e},e.createArrayBindingPattern=q,e.updateArrayBindingPattern=function(e,t){return e.elements!==t?n(q(t),e):e},e.createBindingElement=W,e.updateBindingElement=function(e,t,r,i,a){return e.propertyName!==r||e.dotDotDotToken!==t||e.name!==i||e.initializer!==a?n(W(t,r,i,a),e):e},e.createArrayLiteral=H,e.updateArrayLiteral=function(e,t){return e.elements!==t?n(H(t,e.multiLine),e):e},e.createObjectLiteral=G,e.updateObjectLiteral=function(e,t){return e.properties!==t?n(G(t,e.multiLine),e):e},e.createPropertyAccess=X,e.updatePropertyAccess=function(t,r,i){return t.expression!==r||t.name!==i?n(wt(X(r,i),e.getEmitFlags(t)),t):t},e.createElementAccess=Q,e.updateElementAccess=function(e,t,r){return e.expression!==t||e.argumentExpression!==r?n(Q(t,r),e):e},e.createCall=Y,e.updateCall=function(e,t,r,i){return e.expression!==t||e.typeArguments!==r||e.arguments!==i?n(Y(t,r,i),e):e},e.createNew=$,e.updateNew=function(e,t,r,i){return e.expression!==t||e.typeArguments!==r||e.arguments!==i?n($(t,r,i),e):e},e.createTaggedTemplate=Z,e.updateTaggedTemplate=function(e,t,r){return e.tag!==t||e.template!==r?n(Z(t,r),e):e},e.createTypeAssertion=ee,e.updateTypeAssertion=function(e,t,r){return e.type!==t||e.expression!==r?n(ee(t,r),e):e},e.createParen=te,e.updateParen=function(e,t){return e.expression!==t?n(te(t),e):e},e.createFunctionExpression=ne,e.updateFunctionExpression=function(e,t,r,i,a,o,s,c){return e.name!==i||e.modifiers!==t||e.asteriskToken!==r||e.typeParameters!==a||e.parameters!==o||e.type!==s||e.body!==c?n(ne(t,r,i,a,o,s,c),e):e},e.createArrowFunction=re,e.updateArrowFunction=function(t,r,i,a,o,s,c){var u,l;return void 0===c?(u=t.equalsGreaterThanToken,l=e.cast(s,e.isConciseBody)):(u=e.cast(s,function(e){return 36===e.kind}),l=c),t.modifiers!==r||t.typeParameters!==i||t.parameters!==a||t.type!==o||t.equalsGreaterThanToken!==u||t.body!==l?n(re(r,i,a,o,u,l),t):t},e.createDelete=ie,e.updateDelete=function(e,t){return e.expression!==t?n(ie(t),e):e},e.createTypeOf=ae,e.updateTypeOf=function(e,t){return e.expression!==t?n(ae(t),e):e},e.createVoid=oe,e.updateVoid=function(e,t){return e.expression!==t?n(oe(t),e):e},e.createAwait=se,e.updateAwait=function(e,t){return e.expression!==t?n(se(t),e):e},e.createPrefix=ce,e.updatePrefix=function(e,t){return e.operand!==t?n(ce(e.operator,t),e):e},e.createPostfix=ue,e.updatePostfix=function(e,t){return e.operand!==t?n(ue(t,e.operator),e):e},e.createBinary=le,e.updateBinary=function(e,t,r,i){return e.left!==t||e.right!==r?n(le(t,i||e.operatorToken,r),e):e},e.createConditional=_e,e.updateConditional=function t(r,i){for(var a=[],o=2;o0&&(a[c-s]=u)}s>0&&(a.length-=s)}},e.compareEmitHelpers=function(t,n){return t===n?0:t.priority===n.priority?0:void 0===t.priority?1:void 0===n.priority?-1:e.compareValues(t.priority,n.priority)},e.setOriginalNode=Lt}(l||(l={})),function(e){function t(t,n,r){if(e.isComputedPropertyName(n))return e.setTextRange(e.createElementAccess(t,n.expression),r);var i=e.setTextRange(e.isIdentifier(n)?e.createPropertyAccess(t,n):e.createElementAccess(t,n),n);return e.getOrCreateEmitNode(i).flags|=64,i}function n(t,n){var r=e.createIdentifier(t||"React");return r.flags&=-9,r.parent=e.getParseTreeNode(n),r}function r(t,r,i){return t?function t(r,i){if(e.isQualifiedName(r)){var a=t(r.left,i),o=e.createIdentifier(e.idText(r.right));return o.escapedText=r.right.escapedText,e.createPropertyAccess(a,o)}return n(e.idText(r),i)}(t,i):e.createPropertyAccess(n(r,i),"createElement")}function i(t){return e.setEmitFlags(e.createIdentifier(t),4098)}e.nullTransformationContext={enableEmitNotification:e.noop,enableSubstitution:e.noop,endLexicalEnvironment:function(){},getCompilerOptions:e.notImplemented,getEmitHost:e.notImplemented,getEmitResolver:e.notImplemented,hoistFunctionDeclaration:e.noop,hoistVariableDeclaration:e.noop,isEmitNotificationEnabled:e.notImplemented,isSubstitutionEnabled:e.notImplemented,onEmitNode:e.noop,onSubstituteNode:e.notImplemented,readEmitHelpers:e.notImplemented,requestEmitHelper:e.noop,resumeLexicalEnvironment:e.noop,startLexicalEnvironment:e.noop,suspendLexicalEnvironment:e.noop},e.createTypeCheck=function(t,n){return"undefined"===n?e.createStrictEquality(t,e.createVoidZero()):e.createStrictEquality(e.createTypeOf(t),e.createLiteral(n))},e.createMemberAccessForPropertyName=t,e.createFunctionCall=function(t,n,r,i){return e.setTextRange(e.createCall(e.createPropertyAccess(t,"call"),void 0,[n].concat(r)),i)},e.createFunctionApply=function(t,n,r,i){return e.setTextRange(e.createCall(e.createPropertyAccess(t,"apply"),void 0,[n,r]),i)},e.createArraySlice=function(t,n){var r=[];return void 0!==n&&r.push("number"==typeof n?e.createLiteral(n):n),e.createCall(e.createPropertyAccess(t,"slice"),void 0,r)},e.createArrayConcat=function(t,n){return e.createCall(e.createPropertyAccess(t,"concat"),void 0,n)},e.createMathPow=function(t,n,r){return e.setTextRange(e.createCall(e.createPropertyAccess(e.createIdentifier("Math"),"pow"),void 0,[t,n]),r)},e.createExpressionForJsxElement=function(t,n,i,a,o,s,c){var u=[i];if(a&&u.push(a),o&&o.length>0)if(a||u.push(e.createNull()),o.length>1)for(var l=0,_=o;l<_.length;l++){var d=_[l];T(d),u.push(d)}else u.push(o[0]);return e.setTextRange(e.createCall(r(t,n,s),void 0,u),c)},e.createExpressionForJsxFragment=function(t,i,a,o,s){var c=[e.createPropertyAccess(n(i,o),"Fragment")];if(c.push(e.createNull()),a&&a.length>0)if(a.length>1)for(var u=0,l=a;u= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n };\n '};e.createValuesHelper=function(t,n,r){return t.requestEmitHelper(a),e.setTextRange(e.createCall(i("__values"),void 0,[n]),r)};var o={name:"typescript:read",scoped:!1,text:'\n var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === "function" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i["return"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n };\n '};e.createReadHelper=function(t,n,r,a){return t.requestEmitHelper(o),e.setTextRange(e.createCall(i("__read"),void 0,void 0!==r?[n,e.createLiteral(r)]:[n]),a)};var s={name:"typescript:spread",scoped:!1,text:"\n var __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n };"};function c(t,n){var r=e.skipParentheses(t);switch(r.kind){case 71:return n;case 99:case 8:case 9:return!1;case 181:return 0!==r.elements.length;case 182:return r.properties.length>0;default:return!0}}function u(t){return e.isIdentifier(t)?e.createLiteral(t):e.isComputedPropertyName(t)?e.getMutableClone(t.expression):e.getMutableClone(t)}function l(e,t,n){return _(e,t,n,8192)}function _(t,n,r,i){var a=e.getNameOfDeclaration(t);if(a&&e.isIdentifier(a)&&!e.isGeneratedIdentifier(a)){var o=e.getMutableClone(a);return i|=e.getEmitFlags(a),r||(i|=48),n||(i|=1536),i&&e.setEmitFlags(o,i),o}return e.getGeneratedNameForNode(t)}function d(t,n,r,i){var a,o=e.createPropertyAccess(t,e.nodeIsSynthesized(n)?n:e.getSynthesizedClone(n));return e.setTextRange(o,n),i||(a|=48),r||(a|=1536),a&&e.setEmitFlags(o,a),o}function p(t){return e.isStringLiteral(t.expression)&&"use strict"===t.expression.text}function f(t,n,r){e.Debug.assert(0===t.length,"Prologue directives should be at the first statement in the target statements array");for(var i=!1,a=0,o=n.length;ae.getOperatorPrecedence(198,26)?t:e.setTextRange(e.createParen(t),t)}function v(t){return 170===t.kind?e.createParenthesizedType(t):t}function b(t){switch(t.kind){case 168:case 169:case 162:case 163:return e.createParenthesizedType(t)}return v(t)}function x(e,t){for(;;){switch(e.kind){case 197:e=e.operand;continue;case 198:e=e.left;continue;case 199:e=e.condition;continue;case 185:if(t)return e;case 184:case 183:case 295:e=e.expression;continue}return e}}function k(e,t){switch(void 0===t&&(t=7),e.kind){case 189:return 0!=(1&t);case 188:case 206:case 207:return 0!=(2&t);case 295:return 0!=(4&t)}return!1}function S(t,n){var r;void 0===n&&(n=7);do{r=t,1&n&&(t=e.skipParentheses(t)),2&n&&(t=D(t)),4&n&&(t=e.skipPartiallyEmittedExpressions(t))}while(r!==t);return t}function D(t){for(;e.isAssertionExpression(t)||207===t.kind;)t=t.expression;return t}function C(t,n,r){return void 0===r&&(r=7),!t||!k(t,r)||189===(i=t).kind&&e.nodeIsSynthesized(i)&&e.nodeIsSynthesized(e.getSourceMapRange(i))&&e.nodeIsSynthesized(e.getCommentRange(i))&&!e.some(e.getSyntheticLeadingComments(i))&&!e.some(e.getSyntheticTrailingComments(i))?n:function(t,n){switch(t.kind){case 189:return e.updateParen(t,n);case 188:return e.updateTypeAssertion(t,t.type,n);case 206:return e.updateAsExpression(t,n,t.type);case 207:return e.updateNonNullExpression(t,n);case 295:return e.updatePartiallyEmittedExpression(t,n)}}(t,C(t.expression,n));var i}function T(t){return e.setStartsOnNewLine(t,!0)}function E(t){var n=e.getOriginalNode(t,e.isSourceFile),r=n&&n.emitNode;return r&&r.externalHelpersModuleName}function N(t,n,r){if(t)return t.moduleName?e.createLiteral(t.moduleName):t.isDeclarationFile||!r.out&&!r.outFile?void 0:e.createLiteral(e.getExternalModuleNameFromPath(n,t.fileName))}function A(t){if(e.isDeclarationBindingElement(t))return t.name;if(!e.isObjectLiteralElementLike(t))return e.isAssignmentExpression(t,!0)?A(t.left):e.isSpreadElement(t)?A(t.expression):t;switch(t.kind){case 268:return A(t.initializer);case 269:return t.name;case 270:return A(t.expression)}}function P(t){if(e.isBindingElement(t)){if(t.dotDotDotToken)return e.Debug.assertNode(t.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(e.createSpread(t.name),t),t);var n=M(t.name);return t.initializer?e.setOriginalNode(e.setTextRange(e.createAssignment(n,t.initializer),t),t):n}return e.Debug.assertNode(t,e.isExpression),t}function w(t){if(e.isBindingElement(t)){if(t.dotDotDotToken)return e.Debug.assertNode(t.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(e.createSpreadAssignment(t.name),t),t);if(t.propertyName){var n=M(t.name);return e.setOriginalNode(e.setTextRange(e.createPropertyAssignment(t.propertyName,t.initializer?e.createAssignment(n,t.initializer):n),t),t)}return e.Debug.assertNode(t.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(e.createShorthandPropertyAssignment(t.name,t.initializer),t),t)}return e.Debug.assertNode(t,e.isObjectLiteralElementLike),t}function F(e){switch(e.kind){case 179:case 181:return O(e);case 178:case 182:return I(e)}}function I(t){return e.isObjectBindingPattern(t)?e.setOriginalNode(e.setTextRange(e.createObjectLiteral(e.map(t.elements,w)),t),t):(e.Debug.assertNode(t,e.isObjectLiteralExpression),t)}function O(t){return e.isArrayBindingPattern(t)?e.setOriginalNode(e.setTextRange(e.createArrayLiteral(e.map(t.elements,P)),t),t):(e.Debug.assertNode(t,e.isArrayLiteralExpression),t)}function M(t){return e.isBindingPattern(t)?F(t):(e.Debug.assertNode(t,e.isExpression),t)}e.createSpreadHelper=function(t,n,r){return t.requestEmitHelper(o),t.requestEmitHelper(s),e.setTextRange(e.createCall(i("__spread"),void 0,n),r)},e.createForOfBindingStatement=function(t,n){if(e.isVariableDeclarationList(t)){var r=e.firstOrUndefined(t.declarations),i=e.updateVariableDeclaration(r,r.name,void 0,n);return e.setTextRange(e.createVariableStatement(void 0,e.updateVariableDeclarationList(t,[i])),t)}var a=e.setTextRange(e.createAssignment(t,n),t);return e.setTextRange(e.createStatement(a),t)},e.insertLeadingStatement=function(t,n){return e.isBlock(t)?e.updateBlock(t,e.setTextRange(e.createNodeArray([n].concat(t.statements)),t.statements)):e.createBlock(e.createNodeArray([t,n]),!0)},e.restoreEnclosingLabel=function t(n,r,i){if(!r)return n;var a=e.updateLabel(r,r.label,226===r.statement.kind?t(n,r.statement):n);return i&&i(r),a},e.createCallBinding=function(t,n,r,i){var a,o,s=S(t,7);if(e.isSuperProperty(s))a=e.createThis(),o=s;else if(97===s.kind)a=e.createThis(),o=r<2?e.setTextRange(e.createIdentifier("_super"),s):s;else if(4096&e.getEmitFlags(s))a=e.createVoidZero(),o=y(s);else switch(s.kind){case 183:c(s.expression,i)?(a=e.createTempVariable(n),o=e.createPropertyAccess(e.setTextRange(e.createAssignment(a,s.expression),s.expression),s.name),e.setTextRange(o,s)):(a=s.expression,o=s);break;case 184:c(s.expression,i)?(a=e.createTempVariable(n),o=e.createElementAccess(e.setTextRange(e.createAssignment(a,s.expression),s.expression),s.argumentExpression),e.setTextRange(o,s)):(a=s.expression,o=s);break;default:a=e.createVoidZero(),o=y(t)}return{target:o,thisArg:a}},e.inlineExpressions=function(t){return t.length>10?e.createCommaList(t):e.reduceLeft(t,e.createComma)},e.createExpressionFromEntityName=function t(n){if(e.isQualifiedName(n)){var r=t(n.left),i=e.getMutableClone(n.right);return e.setTextRange(e.createPropertyAccess(r,i),n)}return e.getMutableClone(n)},e.createExpressionForPropertyName=u,e.createExpressionForObjectLiteralElementLike=function(n,r,i){switch(r.kind){case 155:case 156:return function(t,r,i,a){var o=e.getAllAccessorDeclarations(n.properties,r),s=o.firstAccessor,c=o.getAccessor,l=o.setAccessor;if(r===s){var _=[];if(c){var d=e.createFunctionExpression(c.modifiers,void 0,void 0,void 0,c.parameters,void 0,c.body);e.setTextRange(d,c),e.setOriginalNode(d,c);var p=e.createPropertyAssignment("get",d);_.push(p)}if(l){var f=e.createFunctionExpression(l.modifiers,void 0,void 0,void 0,l.parameters,void 0,l.body);e.setTextRange(f,l),e.setOriginalNode(f,l);var m=e.createPropertyAssignment("set",f);_.push(m)}_.push(e.createPropertyAssignment("enumerable",e.createTrue())),_.push(e.createPropertyAssignment("configurable",e.createTrue()));var g=e.setTextRange(e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"defineProperty"),void 0,[i,u(r.name),e.createObjectLiteral(_,a)]),s);return e.aggregateTransformFlags(g)}}(0,r,i,n.multiLine);case 268:return function(n,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(t(r,n.name,n.name),n.initializer),n),n))}(r,i);case 269:return function(n,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(t(r,n.name,n.name),e.getSynthesizedClone(n.name)),n),n))}(r,i);case 153:return function(n,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(t(r,n.name,n.name),e.setOriginalNode(e.setTextRange(e.createFunctionExpression(n.modifiers,n.asteriskToken,void 0,void 0,n.parameters,void 0,n.body),n),n)),n),n))}(r,i)}},e.getInternalName=function(e,t,n){return _(e,t,n,49152)},e.isInternalName=function(t){return 0!=(32768&e.getEmitFlags(t))},e.getLocalName=function(e,t,n){return _(e,t,n,16384)},e.isLocalName=function(t){return 0!=(16384&e.getEmitFlags(t))},e.getExportName=l,e.isExportName=function(t){return 0!=(8192&e.getEmitFlags(t))},e.getDeclarationName=function(e,t,n){return _(e,t,n)},e.getExternalModuleOrNamespaceExportName=function(t,n,r,i){return t&&e.hasModifier(n,1)?d(t,_(n),r,i):l(n,r,i)},e.getNamespaceMemberName=d,e.convertToFunctionBody=function(t,n){return e.isBlock(t)?t:e.setTextRange(e.createBlock([e.setTextRange(e.createReturn(t),t)],n),t)},e.convertFunctionDeclarationToExpression=function(t){e.Debug.assert(!!t.body);var n=e.createFunctionExpression(t.modifiers,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body);return e.setOriginalNode(n,t),e.setTextRange(n,t),e.getStartsOnNewLine(t)&&e.setStartsOnNewLine(n,!0),e.aggregateTransformFlags(n),n},e.addPrologue=function(e,t,n,r){return m(e,t,f(e,t,n),r)},e.addStandardPrologue=f,e.addCustomPrologue=m,e.startsWithUseStrict=function(t){var n=e.firstOrUndefined(t);return void 0!==n&&e.isPrologueDirective(n)&&p(n)},e.ensureUseStrict=function(t){for(var n=!1,r=0,i=t;rs-i)&&(a=s-i),(i>0||a0&&d<=144||173===d)return s;switch(d){case 71:return e.updateIdentifier(s,l(s.typeArguments,c,t));case 145:return e.updateQualifiedName(s,n(s.left,c,e.isEntityName),n(s.right,c,e.isIdentifier));case 146:return e.updateComputedPropertyName(s,n(s.expression,c,e.isExpression));case 147:return e.updateTypeParameterDeclaration(s,n(s.name,c,e.isIdentifier),n(s.constraint,c,e.isTypeNode),n(s.default,c,e.isTypeNode));case 148:return e.updateParameter(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.dotDotDotToken,_,e.isToken),n(s.name,c,e.isBindingName),n(s.questionToken,_,e.isToken),n(s.type,c,e.isTypeNode),n(s.initializer,c,e.isExpression));case 149:return e.updateDecorator(s,n(s.expression,c,e.isExpression));case 150:return e.updatePropertySignature(s,l(s.modifiers,c,e.isToken),n(s.name,c,e.isPropertyName),n(s.questionToken,_,e.isToken),n(s.type,c,e.isTypeNode),n(s.initializer,c,e.isExpression));case 151:return e.updateProperty(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.name,c,e.isPropertyName),n(s.questionToken,_,e.isToken),n(s.type,c,e.isTypeNode),n(s.initializer,c,e.isExpression));case 152:return e.updateMethodSignature(s,l(s.typeParameters,c,e.isTypeParameterDeclaration),l(s.parameters,c,e.isParameterDeclaration),n(s.type,c,e.isTypeNode),n(s.name,c,e.isPropertyName),n(s.questionToken,_,e.isToken));case 153:return e.updateMethod(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.asteriskToken,_,e.isToken),n(s.name,c,e.isPropertyName),n(s.questionToken,_,e.isToken),l(s.typeParameters,c,e.isTypeParameterDeclaration),a(s.parameters,c,u,l),n(s.type,c,e.isTypeNode),o(s.body,c,u));case 154:return e.updateConstructor(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),a(s.parameters,c,u,l),o(s.body,c,u));case 155:return e.updateGetAccessor(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.name,c,e.isPropertyName),a(s.parameters,c,u,l),n(s.type,c,e.isTypeNode),o(s.body,c,u));case 156:return e.updateSetAccessor(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.name,c,e.isPropertyName),a(s.parameters,c,u,l),o(s.body,c,u));case 157:return e.updateCallSignature(s,l(s.typeParameters,c,e.isTypeParameterDeclaration),l(s.parameters,c,e.isParameterDeclaration),n(s.type,c,e.isTypeNode));case 158:return e.updateConstructSignature(s,l(s.typeParameters,c,e.isTypeParameterDeclaration),l(s.parameters,c,e.isParameterDeclaration),n(s.type,c,e.isTypeNode));case 159:return e.updateIndexSignature(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),l(s.parameters,c,e.isParameterDeclaration),n(s.type,c,e.isTypeNode));case 160:return e.updateTypePredicateNode(s,n(s.parameterName,c),n(s.type,c,e.isTypeNode));case 161:return e.updateTypeReferenceNode(s,n(s.typeName,c,e.isEntityName),l(s.typeArguments,c,e.isTypeNode));case 162:return e.updateFunctionTypeNode(s,l(s.typeParameters,c,e.isTypeParameterDeclaration),l(s.parameters,c,e.isParameterDeclaration),n(s.type,c,e.isTypeNode));case 163:return e.updateConstructorTypeNode(s,l(s.typeParameters,c,e.isTypeParameterDeclaration),l(s.parameters,c,e.isParameterDeclaration),n(s.type,c,e.isTypeNode));case 164:return e.updateTypeQueryNode(s,n(s.exprName,c,e.isEntityName));case 165:return e.updateTypeLiteralNode(s,l(s.members,c,e.isTypeElement));case 166:return e.updateArrayTypeNode(s,n(s.elementType,c,e.isTypeNode));case 167:return e.updateTypleTypeNode(s,l(s.elementTypes,c,e.isTypeNode));case 168:return e.updateUnionTypeNode(s,l(s.types,c,e.isTypeNode));case 169:return e.updateIntersectionTypeNode(s,l(s.types,c,e.isTypeNode));case 170:return e.updateConditionalTypeNode(s,n(s.checkType,c,e.isTypeNode),n(s.extendsType,c,e.isTypeNode),n(s.trueType,c,e.isTypeNode),n(s.falseType,c,e.isTypeNode));case 171:return e.updateInferTypeNode(s,n(s.typeParameter,c,e.isTypeParameterDeclaration));case 172:return e.updateParenthesizedType(s,n(s.type,c,e.isTypeNode));case 174:return e.updateTypeOperatorNode(s,n(s.type,c,e.isTypeNode));case 175:return e.updateIndexedAccessTypeNode(s,n(s.objectType,c,e.isTypeNode),n(s.indexType,c,e.isTypeNode));case 176:return e.updateMappedTypeNode(s,n(s.readonlyToken,_,e.isToken),n(s.typeParameter,c,e.isTypeParameterDeclaration),n(s.questionToken,_,e.isToken),n(s.type,c,e.isTypeNode));case 177:return e.updateLiteralTypeNode(s,n(s.literal,c,e.isExpression));case 178:return e.updateObjectBindingPattern(s,l(s.elements,c,e.isBindingElement));case 179:return e.updateArrayBindingPattern(s,l(s.elements,c,e.isArrayBindingElement));case 180:return e.updateBindingElement(s,n(s.dotDotDotToken,_,e.isToken),n(s.propertyName,c,e.isPropertyName),n(s.name,c,e.isBindingName),n(s.initializer,c,e.isExpression));case 181:return e.updateArrayLiteral(s,l(s.elements,c,e.isExpression));case 182:return e.updateObjectLiteral(s,l(s.properties,c,e.isObjectLiteralElementLike));case 183:return e.updatePropertyAccess(s,n(s.expression,c,e.isExpression),n(s.name,c,e.isIdentifier));case 184:return e.updateElementAccess(s,n(s.expression,c,e.isExpression),n(s.argumentExpression,c,e.isExpression));case 185:return e.updateCall(s,n(s.expression,c,e.isExpression),l(s.typeArguments,c,e.isTypeNode),l(s.arguments,c,e.isExpression));case 186:return e.updateNew(s,n(s.expression,c,e.isExpression),l(s.typeArguments,c,e.isTypeNode),l(s.arguments,c,e.isExpression));case 187:return e.updateTaggedTemplate(s,n(s.tag,c,e.isExpression),n(s.template,c,e.isTemplateLiteral));case 188:return e.updateTypeAssertion(s,n(s.type,c,e.isTypeNode),n(s.expression,c,e.isExpression));case 189:return e.updateParen(s,n(s.expression,c,e.isExpression));case 190:return e.updateFunctionExpression(s,l(s.modifiers,c,e.isModifier),n(s.asteriskToken,_,e.isToken),n(s.name,c,e.isIdentifier),l(s.typeParameters,c,e.isTypeParameterDeclaration),a(s.parameters,c,u,l),n(s.type,c,e.isTypeNode),o(s.body,c,u));case 191:return e.updateArrowFunction(s,l(s.modifiers,c,e.isModifier),l(s.typeParameters,c,e.isTypeParameterDeclaration),a(s.parameters,c,u,l),n(s.type,c,e.isTypeNode),n(s.equalsGreaterThanToken,c,e.isToken),o(s.body,c,u));case 192:return e.updateDelete(s,n(s.expression,c,e.isExpression));case 193:return e.updateTypeOf(s,n(s.expression,c,e.isExpression));case 194:return e.updateVoid(s,n(s.expression,c,e.isExpression));case 195:return e.updateAwait(s,n(s.expression,c,e.isExpression));case 196:return e.updatePrefix(s,n(s.operand,c,e.isExpression));case 197:return e.updatePostfix(s,n(s.operand,c,e.isExpression));case 198:return e.updateBinary(s,n(s.left,c,e.isExpression),n(s.right,c,e.isExpression),n(s.operatorToken,c,e.isToken));case 199:return e.updateConditional(s,n(s.condition,c,e.isExpression),n(s.questionToken,c,e.isToken),n(s.whenTrue,c,e.isExpression),n(s.colonToken,c,e.isToken),n(s.whenFalse,c,e.isExpression));case 200:return e.updateTemplateExpression(s,n(s.head,c,e.isTemplateHead),l(s.templateSpans,c,e.isTemplateSpan));case 201:return e.updateYield(s,n(s.asteriskToken,_,e.isToken),n(s.expression,c,e.isExpression));case 202:return e.updateSpread(s,n(s.expression,c,e.isExpression));case 203:return e.updateClassExpression(s,l(s.modifiers,c,e.isModifier),n(s.name,c,e.isIdentifier),l(s.typeParameters,c,e.isTypeParameterDeclaration),l(s.heritageClauses,c,e.isHeritageClause),l(s.members,c,e.isClassElement));case 205:return e.updateExpressionWithTypeArguments(s,l(s.typeArguments,c,e.isTypeNode),n(s.expression,c,e.isExpression));case 206:return e.updateAsExpression(s,n(s.expression,c,e.isExpression),n(s.type,c,e.isTypeNode));case 207:return e.updateNonNullExpression(s,n(s.expression,c,e.isExpression));case 208:return e.updateMetaProperty(s,n(s.name,c,e.isIdentifier));case 209:return e.updateTemplateSpan(s,n(s.expression,c,e.isExpression),n(s.literal,c,e.isTemplateMiddleOrTemplateTail));case 211:return e.updateBlock(s,l(s.statements,c,e.isStatement));case 212:return e.updateVariableStatement(s,l(s.modifiers,c,e.isModifier),n(s.declarationList,c,e.isVariableDeclarationList));case 214:return e.updateStatement(s,n(s.expression,c,e.isExpression));case 215:return e.updateIf(s,n(s.expression,c,e.isExpression),n(s.thenStatement,c,e.isStatement,e.liftToBlock),n(s.elseStatement,c,e.isStatement,e.liftToBlock));case 216:return e.updateDo(s,n(s.statement,c,e.isStatement,e.liftToBlock),n(s.expression,c,e.isExpression));case 217:return e.updateWhile(s,n(s.expression,c,e.isExpression),n(s.statement,c,e.isStatement,e.liftToBlock));case 218:return e.updateFor(s,n(s.initializer,c,e.isForInitializer),n(s.condition,c,e.isExpression),n(s.incrementor,c,e.isExpression),n(s.statement,c,e.isStatement,e.liftToBlock));case 219:return e.updateForIn(s,n(s.initializer,c,e.isForInitializer),n(s.expression,c,e.isExpression),n(s.statement,c,e.isStatement,e.liftToBlock));case 220:return e.updateForOf(s,n(s.awaitModifier,c,e.isToken),n(s.initializer,c,e.isForInitializer),n(s.expression,c,e.isExpression),n(s.statement,c,e.isStatement,e.liftToBlock));case 221:return e.updateContinue(s,n(s.label,c,e.isIdentifier));case 222:return e.updateBreak(s,n(s.label,c,e.isIdentifier));case 223:return e.updateReturn(s,n(s.expression,c,e.isExpression));case 224:return e.updateWith(s,n(s.expression,c,e.isExpression),n(s.statement,c,e.isStatement,e.liftToBlock));case 225:return e.updateSwitch(s,n(s.expression,c,e.isExpression),n(s.caseBlock,c,e.isCaseBlock));case 226:return e.updateLabel(s,n(s.label,c,e.isIdentifier),n(s.statement,c,e.isStatement,e.liftToBlock));case 227:return e.updateThrow(s,n(s.expression,c,e.isExpression));case 228:return e.updateTry(s,n(s.tryBlock,c,e.isBlock),n(s.catchClause,c,e.isCatchClause),n(s.finallyBlock,c,e.isBlock));case 230:return e.updateVariableDeclaration(s,n(s.name,c,e.isBindingName),n(s.type,c,e.isTypeNode),n(s.initializer,c,e.isExpression));case 231:return e.updateVariableDeclarationList(s,l(s.declarations,c,e.isVariableDeclaration));case 232:return e.updateFunctionDeclaration(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.asteriskToken,_,e.isToken),n(s.name,c,e.isIdentifier),l(s.typeParameters,c,e.isTypeParameterDeclaration),a(s.parameters,c,u,l),n(s.type,c,e.isTypeNode),o(s.body,c,u));case 233:return e.updateClassDeclaration(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.name,c,e.isIdentifier),l(s.typeParameters,c,e.isTypeParameterDeclaration),l(s.heritageClauses,c,e.isHeritageClause),l(s.members,c,e.isClassElement));case 234:return e.updateInterfaceDeclaration(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.name,c,e.isIdentifier),l(s.typeParameters,c,e.isTypeParameterDeclaration),l(s.heritageClauses,c,e.isHeritageClause),l(s.members,c,e.isTypeElement));case 235:return e.updateTypeAliasDeclaration(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.name,c,e.isIdentifier),l(s.typeParameters,c,e.isTypeParameterDeclaration),n(s.type,c,e.isTypeNode));case 236:return e.updateEnumDeclaration(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.name,c,e.isIdentifier),l(s.members,c,e.isEnumMember));case 237:return e.updateModuleDeclaration(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.name,c,e.isIdentifier),n(s.body,c,e.isModuleBody));case 238:return e.updateModuleBlock(s,l(s.statements,c,e.isStatement));case 239:return e.updateCaseBlock(s,l(s.clauses,c,e.isCaseOrDefaultClause));case 240:return e.updateNamespaceExportDeclaration(s,n(s.name,c,e.isIdentifier));case 241:return e.updateImportEqualsDeclaration(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.name,c,e.isIdentifier),n(s.moduleReference,c,e.isModuleReference));case 242:return e.updateImportDeclaration(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.importClause,c,e.isImportClause),n(s.moduleSpecifier,c,e.isExpression));case 243:return e.updateImportClause(s,n(s.name,c,e.isIdentifier),n(s.namedBindings,c,e.isNamedImportBindings));case 244:return e.updateNamespaceImport(s,n(s.name,c,e.isIdentifier));case 245:return e.updateNamedImports(s,l(s.elements,c,e.isImportSpecifier));case 246:return e.updateImportSpecifier(s,n(s.propertyName,c,e.isIdentifier),n(s.name,c,e.isIdentifier));case 247:return e.updateExportAssignment(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.expression,c,e.isExpression));case 248:return e.updateExportDeclaration(s,l(s.decorators,c,e.isDecorator),l(s.modifiers,c,e.isModifier),n(s.exportClause,c,e.isNamedExports),n(s.moduleSpecifier,c,e.isExpression));case 249:return e.updateNamedExports(s,l(s.elements,c,e.isExportSpecifier));case 250:return e.updateExportSpecifier(s,n(s.propertyName,c,e.isIdentifier),n(s.name,c,e.isIdentifier));case 252:return e.updateExternalModuleReference(s,n(s.expression,c,e.isExpression));case 253:return e.updateJsxElement(s,n(s.openingElement,c,e.isJsxOpeningElement),l(s.children,c,e.isJsxChild),n(s.closingElement,c,e.isJsxClosingElement));case 254:return e.updateJsxSelfClosingElement(s,n(s.tagName,c,e.isJsxTagNameExpression),n(s.attributes,c,e.isJsxAttributes));case 255:return e.updateJsxOpeningElement(s,n(s.tagName,c,e.isJsxTagNameExpression),n(s.attributes,c,e.isJsxAttributes));case 256:return e.updateJsxClosingElement(s,n(s.tagName,c,e.isJsxTagNameExpression));case 257:return e.updateJsxFragment(s,n(s.openingFragment,c,e.isJsxOpeningFragment),l(s.children,c,e.isJsxChild),n(s.closingFragment,c,e.isJsxClosingFragment));case 260:return e.updateJsxAttribute(s,n(s.name,c,e.isIdentifier),n(s.initializer,c,e.isStringLiteralOrJsxExpression));case 261:return e.updateJsxAttributes(s,l(s.properties,c,e.isJsxAttributeLike));case 262:return e.updateJsxSpreadAttribute(s,n(s.expression,c,e.isExpression));case 263:return e.updateJsxExpression(s,n(s.expression,c,e.isExpression));case 264:return e.updateCaseClause(s,n(s.expression,c,e.isExpression),l(s.statements,c,e.isStatement));case 265:return e.updateDefaultClause(s,l(s.statements,c,e.isStatement));case 266:return e.updateHeritageClause(s,l(s.types,c,e.isExpressionWithTypeArguments));case 267:return e.updateCatchClause(s,n(s.variableDeclaration,c,e.isVariableDeclaration),n(s.block,c,e.isBlock));case 268:return e.updatePropertyAssignment(s,n(s.name,c,e.isPropertyName),n(s.initializer,c,e.isExpression));case 269:return e.updateShorthandPropertyAssignment(s,n(s.name,c,e.isIdentifier),n(s.objectAssignmentInitializer,c,e.isExpression));case 270:return e.updateSpreadAssignment(s,n(s.expression,c,e.isExpression));case 271:return e.updateEnumMember(s,n(s.name,c,e.isPropertyName),n(s.initializer,c,e.isExpression));case 272:return e.updateSourceFileNode(s,i(s.statements,c,u));case 295:return e.updatePartiallyEmittedExpression(s,n(s.expression,c,e.isExpression));case 296:return e.updateCommaList(s,l(s.elements,c,e.isExpression));default:return s}}}}(l||(l={})),function(e){function t(e,t,n){return e?t(n,e):n}function n(e,t,n){return e?t(n,e):n}function r(r,i,a,o){if(void 0===r)return i;var s=o?n:e.reduceLeft,c=o||a,u=r.kind;if(u>0&&u<=144)return i;if(u>=160&&u<=177)return i;var l=i;switch(r.kind){case 210:case 213:case 204:case 229:case 294:break;case 145:l=t(r.left,a,l),l=t(r.right,a,l);break;case 146:l=t(r.expression,a,l);break;case 148:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,a,l),l=t(r.type,a,l),l=t(r.initializer,a,l);break;case 149:l=t(r.expression,a,l);break;case 150:l=s(r.modifiers,c,l),l=t(r.name,a,l),l=t(r.questionToken,a,l),l=t(r.type,a,l),l=t(r.initializer,a,l);break;case 151:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,a,l),l=t(r.type,a,l),l=t(r.initializer,a,l);break;case 153:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,a,l),l=s(r.typeParameters,c,l),l=s(r.parameters,c,l),l=t(r.type,a,l),l=t(r.body,a,l);break;case 154:l=s(r.modifiers,c,l),l=s(r.parameters,c,l),l=t(r.body,a,l);break;case 155:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,a,l),l=s(r.parameters,c,l),l=t(r.type,a,l),l=t(r.body,a,l);break;case 156:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,a,l),l=s(r.parameters,c,l),l=t(r.body,a,l);break;case 178:case 179:l=s(r.elements,c,l);break;case 180:l=t(r.propertyName,a,l),l=t(r.name,a,l),l=t(r.initializer,a,l);break;case 181:l=s(r.elements,c,l);break;case 182:l=s(r.properties,c,l);break;case 183:l=t(r.expression,a,l),l=t(r.name,a,l);break;case 184:l=t(r.expression,a,l),l=t(r.argumentExpression,a,l);break;case 185:case 186:l=t(r.expression,a,l),l=s(r.typeArguments,c,l),l=s(r.arguments,c,l);break;case 187:l=t(r.tag,a,l),l=t(r.template,a,l);break;case 188:l=t(r.type,a,l),l=t(r.expression,a,l);break;case 190:l=s(r.modifiers,c,l),l=t(r.name,a,l),l=s(r.typeParameters,c,l),l=s(r.parameters,c,l),l=t(r.type,a,l),l=t(r.body,a,l);break;case 191:l=s(r.modifiers,c,l),l=s(r.typeParameters,c,l),l=s(r.parameters,c,l),l=t(r.type,a,l),l=t(r.body,a,l);break;case 189:case 192:case 193:case 194:case 195:case 201:case 202:case 207:l=t(r.expression,a,l);break;case 196:case 197:l=t(r.operand,a,l);break;case 198:l=t(r.left,a,l),l=t(r.right,a,l);break;case 199:l=t(r.condition,a,l),l=t(r.whenTrue,a,l),l=t(r.whenFalse,a,l);break;case 200:l=t(r.head,a,l),l=s(r.templateSpans,c,l);break;case 203:l=s(r.modifiers,c,l),l=t(r.name,a,l),l=s(r.typeParameters,c,l),l=s(r.heritageClauses,c,l),l=s(r.members,c,l);break;case 205:l=t(r.expression,a,l),l=s(r.typeArguments,c,l);break;case 206:l=t(r.expression,a,l),l=t(r.type,a,l);break;case 209:l=t(r.expression,a,l),l=t(r.literal,a,l);break;case 211:l=s(r.statements,c,l);break;case 212:l=s(r.modifiers,c,l),l=t(r.declarationList,a,l);break;case 214:l=t(r.expression,a,l);break;case 215:l=t(r.expression,a,l),l=t(r.thenStatement,a,l),l=t(r.elseStatement,a,l);break;case 216:l=t(r.statement,a,l),l=t(r.expression,a,l);break;case 217:case 224:l=t(r.expression,a,l),l=t(r.statement,a,l);break;case 218:l=t(r.initializer,a,l),l=t(r.condition,a,l),l=t(r.incrementor,a,l),l=t(r.statement,a,l);break;case 219:case 220:l=t(r.initializer,a,l),l=t(r.expression,a,l),l=t(r.statement,a,l);break;case 223:case 227:l=t(r.expression,a,l);break;case 225:l=t(r.expression,a,l),l=t(r.caseBlock,a,l);break;case 226:l=t(r.label,a,l),l=t(r.statement,a,l);break;case 228:l=t(r.tryBlock,a,l),l=t(r.catchClause,a,l),l=t(r.finallyBlock,a,l);break;case 230:l=t(r.name,a,l),l=t(r.type,a,l),l=t(r.initializer,a,l);break;case 231:l=s(r.declarations,c,l);break;case 232:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,a,l),l=s(r.typeParameters,c,l),l=s(r.parameters,c,l),l=t(r.type,a,l),l=t(r.body,a,l);break;case 233:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,a,l),l=s(r.typeParameters,c,l),l=s(r.heritageClauses,c,l),l=s(r.members,c,l);break;case 236:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,a,l),l=s(r.members,c,l);break;case 237:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,a,l),l=t(r.body,a,l);break;case 238:l=s(r.statements,c,l);break;case 239:l=s(r.clauses,c,l);break;case 241:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,a,l),l=t(r.moduleReference,a,l);break;case 242:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.importClause,a,l),l=t(r.moduleSpecifier,a,l);break;case 243:l=t(r.name,a,l),l=t(r.namedBindings,a,l);break;case 244:l=t(r.name,a,l);break;case 245:case 249:l=s(r.elements,c,l);break;case 246:case 250:l=t(r.propertyName,a,l),l=t(r.name,a,l);break;case 247:l=e.reduceLeft(r.decorators,a,l),l=e.reduceLeft(r.modifiers,a,l),l=t(r.expression,a,l);break;case 248:l=e.reduceLeft(r.decorators,a,l),l=e.reduceLeft(r.modifiers,a,l),l=t(r.exportClause,a,l),l=t(r.moduleSpecifier,a,l);break;case 252:l=t(r.expression,a,l);break;case 253:l=t(r.openingElement,a,l),l=e.reduceLeft(r.children,a,l),l=t(r.closingElement,a,l);break;case 257:l=t(r.openingFragment,a,l),l=e.reduceLeft(r.children,a,l),l=t(r.closingFragment,a,l);break;case 254:case 255:l=t(r.tagName,a,l),l=t(r.attributes,a,l);break;case 261:l=s(r.properties,c,l);break;case 256:l=t(r.tagName,a,l);break;case 260:l=t(r.name,a,l),l=t(r.initializer,a,l);break;case 262:case 263:l=t(r.expression,a,l);break;case 264:l=t(r.expression,a,l);case 265:l=s(r.statements,c,l);break;case 266:l=s(r.types,c,l);break;case 267:l=t(r.variableDeclaration,a,l),l=t(r.block,a,l);break;case 268:l=t(r.name,a,l),l=t(r.initializer,a,l);break;case 269:l=t(r.name,a,l),l=t(r.objectAssignmentInitializer,a,l);break;case 270:l=t(r.expression,a,l);break;case 271:l=t(r.name,a,l),l=t(r.initializer,a,l);break;case 272:l=s(r.statements,c,l);break;case 295:l=t(r.expression,a,l);break;case 296:l=s(r.elements,c,l)}return l}function i(t){if(void 0===t)return 0;if(536870912&t.transformFlags)return t.transformFlags&~e.getTransformFlagsSubtreeExclusions(t.kind);var n=function(t){return e.hasModifier(t,2)||e.isTypeNode(t)&&205!==t.kind?0:r(t,0,a,o)}(t);return e.computeTransformFlagsForNode(t,n)}function a(e,t){return e|i(t)}function o(e,t){return e|function(e){if(void 0===e)return 0;for(var t=0,n=0,r=0,a=e;r1&&r(t.importClause.namedBindings)}function o(t){return e.isDefaultImport(t)||1===n(t)&&r(t.importClause.namedBindings)}function s(t,n,r){if(e.isBindingPattern(t.name))for(var i=0,a=t.name.elements;i=1)||1572864&m.transformFlags||1572864&e.getTargetOfBindingOrAssignmentElement(m).transformFlags||e.isComputedPropertyName(g)){u&&(t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),s,c,o),u=void 0);var y=r(t,s,g);e.isComputedPropertyName(g)&&(l=e.append(l,y.argumentExpression)),n(t,m,y,m)}else u=e.append(u,m)}}u&&t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),s,c,o)}(t,a,l,o,s):e.isArrayBindingOrAssignmentPattern(l)?function(t,r,a,o,s){var c,u,l=e.getElementsOfBindingOrAssignmentPattern(a),_=l.length;t.level<1&&t.downlevelIteration?o=i(t,e.createReadHelper(t.context,o,_>0&&e.getRestIndicatorOfBindingOrAssignmentElement(l[_-1])?void 0:_,s),!1,s):(1!==_&&(t.level<1||0===_)||e.every(l,e.isOmittedExpression))&&(o=i(t,o,!e.isDeclarationBindingElement(r)||0!==_,s));for(var d=0;d<_;d++){var p=l[d];if(t.level>=1)if(1048576&p.transformFlags){var f=e.createTempVariable(void 0);t.hoistTempVariables&&t.context.hoistVariableDeclaration(f),u=e.append(u,[f,p]),c=e.append(c,t.createArrayBindingOrAssignmentElement(f))}else c=e.append(c,p);else{if(e.isOmittedExpression(p))continue;e.getRestIndicatorOfBindingOrAssignmentElement(p)?d===_-1&&n(t,p,e.createArraySlice(o,d),p):n(t,p,e.createElementAccess(o,d),p)}}if(c&&t.emitBindingOrAssignment(t.createArrayBindingOrAssignmentPattern(c),o,s,a),u)for(var m=0,g=u;m0)return!0;var n=e.getFirstConstructorWithBody(t);return!!n&&e.forEach(n.parameters,B)}(t)&&(r|=2),e.childIsDecorated(t)&&(r|=4),Ne(t)?r|=8:function(t){return Ae(t)&&e.hasModifier(t,512)}(t)?r|=32:Pe(t)&&(r|=16),k<=1&&7&r&&(r|=128),r}(r,o);128&s&&t.startLexicalEnvironment();var c=r.name||(5&s?e.getGeneratedNameForNode(r):void 0),u=2&s?function(t,n,r){var i=e.moveRangePastDecorators(t),a=function(t){if(8388608&v.getNodeCheckFlags(t)){Re();var n=e.createUniqueName(t.name&&!e.isGeneratedIdentifier(t.name)?e.idText(t.name):"default");return d[e.getOriginalNodeId(t)]=n,h(n),n}}(t),o=e.getLocalName(t,!1,!0),s=e.visitNodes(t.heritageClauses,E,e.isHeritageClause),c=z(t,0!=(64&r)),u=e.createClassExpression(void 0,n,void 0,s,c);e.setOriginalNode(u,t),e.setTextRange(u,i);var l=e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(o,void 0,a?e.createAssignment(a,u):u)],1));return e.setOriginalNode(l,t),e.setTextRange(l,i),e.setCommentRange(l,t),l}(r,c,s):function(t,n,r){var i=128&r?void 0:e.visitNodes(t.modifiers,M,e.isModifier),a=e.createClassDeclaration(void 0,i,n,void 0,e.visitNodes(t.heritageClauses,E,e.isHeritageClause),z(t,0!=(64&r))),o=e.getEmitFlags(t);return 1&r&&(o|=32),e.setTextRange(a,t),e.setOriginalNode(a,t),e.setEmitFlags(a,o),a}(r,c,s),l=[u];if(e.some(f)&&l.push(e.createStatement(e.inlineExpressions(f))),f=a,1&s&&W(l,o,128&s?e.getInternalName(r):e.getLocalName(r)),Y(l,r,!1),Y(l,r,!0),function(n,r){var a=function(n){var r=Q(n,n,function(t){var n=t.decorators,r=X(e.getFirstConstructorWithBody(t));if(n||r)return{decorators:n,parameters:r}}(n));if(r){var a=d&&d[e.getOriginalNodeId(n)],o=e.getLocalName(n,!1,!0),s=i(t,r,o),c=e.createAssignment(o,a?e.createAssignment(a,s):s);return e.setEmitFlags(c,1536),e.setSourceMapRange(c,e.moveRangePastDecorators(n)),c}}(r);a&&n.push(e.setOriginalNode(e.createStatement(a),r))}(l,r),128&s){var _=e.createTokenRange(e.skipTrivia(n.text,r.members.end),18),p=e.getInternalName(r),m=e.createPartiallyEmittedExpression(p);m.end=_.end,e.setEmitFlags(m,1536);var g=e.createReturn(m);g.pos=_.pos,e.setEmitFlags(g,1920),l.push(g),e.addRange(l,t.endLexicalEnvironment());var y=e.createImmediatelyInvokedArrowFunction(l);e.setEmitFlags(y,33554432);var b=e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(e.getLocalName(r,!1,!1),void 0,y)]));e.setOriginalNode(b,r),e.setCommentRange(b,r),e.setSourceMapRange(b,e.moveRangePastDecorators(r)),e.startOnNewLine(b),l=[b]}return 8&s?Fe(l,r):(128&s||2&s)&&(32&s?l.push(e.createExportDefault(e.getLocalName(r,!1,!0))):16&s&&l.push(e.createExternalModuleExport(e.getLocalName(r,!1,!0)))),l.length>1&&(l.push(e.createEndOfDeclarationMarker(r)),e.setEmitFlags(u,4194304|e.getEmitFlags(u))),e.singleOrMany(l)}(r);case 203:return function(t){var n=f;f=void 0;var r=K(t,!0),i=e.visitNodes(t.heritageClauses,E,e.isHeritageClause),a=z(t,e.some(i,function(e){return 85===e.token})),o=e.createClassExpression(void 0,t.name,void 0,i,a);if(e.setOriginalNode(o,t),e.setTextRange(o,t),e.some(r)||e.some(f)){var s=[],c=8388608&v.getNodeCheckFlags(t),u=e.createTempVariable(h,!!c);if(c){Re();var l=e.getSynthesizedClone(u);l.autoGenerateFlags&=-17,d[e.getOriginalNodeId(t)]=l}return e.setEmitFlags(o,65536|e.getEmitFlags(o)),s.push(e.startOnNewLine(e.createAssignment(u,o))),e.addRange(s,e.map(f,e.startOnNewLine)),f=n,e.addRange(s,function(t,n){for(var i=[],a=0,o=r;a=e.ModuleKind.ES2015);return e.updateSourceFileNode(n,e.visitLexicalEnvironment(n.statements,A,t,0,r))}function B(e){return void 0!==e.decorators&&e.decorators.length>0}function z(n,r){var i=[],a=function(n,r){var i=e.forEach(n.members,V),a=262144&n.transformFlags,o=e.getFirstConstructorWithBody(n);if(!i&&!a)return e.visitEachChild(o,E,t);var s=function(n){return e.visitParameterList(n&&n.parameters,E,t)||[]}(o),c=function(t,n,r){var i=[],a=0;if(g(),n){a=function(t,r){if(n.body){var i=n.body.statements,a=e.addPrologue(r,i,!1,E);if(a===i.length)return a;var o=i[a];return 214===o.kind&&e.isSuperCall(o.expression)?(r.push(e.visitNode(o,E,e.isStatement)),a+1):a}return 0}(0,i);var o=e.filter(n.parameters,j);e.addRange(i,e.map(o,J))}else r&&i.push(e.createStatement(e.createCall(e.createSuper(),void 0,[e.createSpread(e.createIdentifier("arguments"))])));return W(i,K(t,!1),e.createThis()),n&&e.addRange(i,e.visitNodes(n.body.statements,E,e.isStatement,a)),i=e.mergeLexicalEnvironment(i,y()),e.setTextRange(e.createBlock(e.setTextRange(e.createNodeArray(i),n?n.body.statements:t.members),!0),n?n.body:void 0)}(n,o,r);return e.startOnNewLine(e.setOriginalNode(e.setTextRange(e.createConstructor(void 0,void 0,s,c),o||n),o))}(n,r);return a&&i.push(a),e.addRange(i,e.visitNodes(n.members,I,e.isClassElement)),e.setTextRange(e.createNodeArray(i),n.members)}function j(t){return e.hasModifier(t,92)&&e.isIdentifier(t.name)}function J(t){e.Debug.assert(e.isIdentifier(t.name));var n=t.name,r=e.getMutableClone(n);e.setEmitFlags(r,1584);var i=e.getMutableClone(n);return e.setEmitFlags(i,1536),e.startOnNewLine(e.setEmitFlags(e.setTextRange(e.createStatement(e.createAssignment(e.setTextRange(e.createPropertyAccess(e.createThis(),r),t.name),i)),e.moveRangePos(t,-1)),1536))}function K(t,n){return e.filter(t.members,n?U:V)}function U(e){return q(e,!0)}function V(e){return q(e,!1)}function q(t,n){return 151===t.kind&&n===e.hasModifier(t,32)&&void 0!==t.initializer}function W(t,n,r){for(var i=0,a=n;i0?151===r.kind?e.createVoidZero():e.createNull():void 0,u=i(t,a,o,s,c,e.moveRangePastDecorators(r));return e.setEmitFlags(u,1536),u}}function Z(t){return e.visitNode(t.expression,E,e.isExpression)}function ee(n,r){var i;if(n){i=[];for(var a=0,o=n;a= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n };'};function o(t,n,r){return t.requestEmitHelper(s),e.createCall(e.getHelperName("__metadata"),void 0,[e.createLiteral(n),r])}var s={name:"typescript:metadata",scoped:!1,priority:3,text:'\n var __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n };'};function c(t,n,r,i){return t.requestEmitHelper(u),e.setTextRange(e.createCall(e.getHelperName("__param"),void 0,[e.createLiteral(r),n]),i)}var u={name:"typescript:param",scoped:!1,priority:4,text:"\n var __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n };"}}(l||(l={})),function(e){var t;!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper"}(t||(t={})),e.transformES2017=function(t){var n,i,a=t.resumeLexicalEnvironment,o=t.endLexicalEnvironment,s=t.hoistVariableDeclaration,c=t.getEmitResolver(),u=t.getCompilerOptions(),l=e.getEmitScriptTarget(u),_=0,d=t.onEmitNode,p=t.onSubstituteNode;return t.onEmitNode=function(e,t,r){if(1&n&&function(e){var t=e.kind;return 233===t||154===t||153===t||155===t||156===t}(t)){var i=6144&c.getNodeCheckFlags(t);if(i!==_){var a=_;return _=i,d(e,t,r),void(_=a)}}d(e,t,r)},t.onSubstituteNode=function(t,n){return n=p(t,n),1===t&&_?function(t){switch(t.kind){case 183:return C(t);case 184:return T(t);case 185:return function(t){var n=t.expression;if(e.isSuperProperty(n)){var r=e.isPropertyAccessExpression(n)?C(n):T(n);return e.createCall(e.createPropertyAccess(r,"call"),void 0,[e.createThis()].concat(t.arguments))}return t}(t)}return t}(n):n},function(n){if(n.isDeclarationFile)return n;var r=e.visitEachChild(n,f,t);return e.addEmitHelpers(r,t.readEmitHelpers()),r};function f(n){if(0==(16&n.transformFlags))return n;switch(n.kind){case 120:return;case 195:return function(t){return e.setOriginalNode(e.setTextRange(e.createYield(void 0,e.visitNode(t.expression,f,e.isExpression)),t),t)}(n);case 153:return function(n){return e.updateMethod(n,void 0,e.visitNodes(n.modifiers,f,e.isModifier),n.asteriskToken,n.name,void 0,void 0,e.visitParameterList(n.parameters,f,t),void 0,2&e.getFunctionFlags(n)?k(n):e.visitFunctionBody(n.body,f,t))}(n);case 232:return function(n){return e.updateFunctionDeclaration(n,void 0,e.visitNodes(n.modifiers,f,e.isModifier),n.asteriskToken,n.name,void 0,e.visitParameterList(n.parameters,f,t),void 0,2&e.getFunctionFlags(n)?k(n):e.visitFunctionBody(n.body,f,t))}(n);case 190:return function(n){return e.updateFunctionExpression(n,e.visitNodes(n.modifiers,f,e.isModifier),n.asteriskToken,n.name,void 0,e.visitParameterList(n.parameters,f,t),void 0,2&e.getFunctionFlags(n)?k(n):e.visitFunctionBody(n.body,f,t))}(n);case 191:return function(n){return e.updateArrowFunction(n,e.visitNodes(n.modifiers,f,e.isModifier),void 0,e.visitParameterList(n.parameters,f,t),void 0,n.equalsGreaterThanToken,2&e.getFunctionFlags(n)?k(n):e.visitFunctionBody(n.body,f,t))}(n);default:return e.visitEachChild(n,f,t)}}function m(n){if(e.isNodeWithPossibleHoistedDeclaration(n))switch(n.kind){case 212:return function(n){if(y(n.declarationList)){var r=h(n.declarationList,!1);return r?e.createStatement(r):void 0}return e.visitEachChild(n,f,t)}(n);case 218:return function(t){return e.updateFor(t,y(t.initializer)?h(t.initializer,!1):e.visitNode(t.initializer,f,e.isForInitializer),e.visitNode(t.condition,f,e.isExpression),e.visitNode(t.incrementor,f,e.isExpression),e.visitNode(t.statement,m,e.isStatement,e.liftToBlock))}(n);case 219:return function(t){return e.updateForIn(t,y(t.initializer)?h(t.initializer,!0):e.visitNode(t.initializer,f,e.isForInitializer),e.visitNode(t.expression,f,e.isExpression),e.visitNode(t.statement,m,e.isStatement,e.liftToBlock))}(n);case 220:return function(t){return e.updateForOf(t,e.visitNode(t.awaitModifier,f,e.isToken),y(t.initializer)?h(t.initializer,!0):e.visitNode(t.initializer,f,e.isForInitializer),e.visitNode(t.expression,f,e.isExpression),e.visitNode(t.statement,m,e.isStatement,e.liftToBlock))}(n);case 267:return function(n){var r,a=e.createUnderscoreEscapedMap();if(g(n.variableDeclaration,a),a.forEach(function(t,n){i.has(n)&&(r||(r=e.cloneMap(i)),r.delete(n))}),r){var o=i;i=r;var s=e.visitEachChild(n,m,t);return i=o,s}return e.visitEachChild(n,m,t)}(n);case 211:case 225:case 239:case 264:case 265:case 228:case 216:case 217:case 215:case 224:case 226:return e.visitEachChild(n,m,t);default:return e.Debug.assertNever(n,"Unhandled node.")}return f(n)}function g(t,n){var r=t.name;if(e.isIdentifier(r))n.set(r.escapedText,!0);else for(var i=0,a=r.elements;i=2&&(4096&c.getNodeCheckFlags(n)?(D(),e.addEmitHelper(C,e.advancedAsyncSuperHelper)):2048&c.getNodeCheckFlags(n)&&(D(),e.addEmitHelper(C,e.asyncSuperHelper))),s=C}return i=m,s}function S(t,n){return e.isBlock(t)?e.updateBlock(t,e.visitNodes(t.statements,m,e.isStatement,n)):e.convertToFunctionBody(e.visitNode(t,m,e.isConciseBody))}function D(){0==(1&n)&&(n|=1,t.enableSubstitution(185),t.enableSubstitution(183),t.enableSubstitution(184),t.enableEmitNotification(233),t.enableEmitNotification(153),t.enableEmitNotification(155),t.enableEmitNotification(156),t.enableEmitNotification(154))}function C(t){return 97===t.expression.kind?E(e.createLiteral(e.idText(t.name)),t):t}function T(e){return 97===e.expression.kind?E(e.argumentExpression,e):e}function E(t,n){return e.setTextRange(4096&_?e.createPropertyAccess(e.createCall(e.createIdentifier("_super"),void 0,[t]),"value"):e.createCall(e.createIdentifier("_super"),void 0,[t]),n)}};var n={name:"typescript:awaiter",scoped:!1,priority:5,text:'\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n };'};function r(t,r,i,a){t.requestEmitHelper(n);var o=e.createFunctionExpression(void 0,e.createToken(39),void 0,void 0,[],void 0,a);return(o.emitNode||(o.emitNode={})).flags|=786432,e.createCall(e.getHelperName("__awaiter"),void 0,[e.createThis(),r?e.createIdentifier("arguments"):e.createVoidZero(),i?e.createExpressionFromEntityName(i):e.createVoidZero(),o])}e.asyncSuperHelper={name:"typescript:async-super",scoped:!0,text:"\n const _super = name => super[name];\n "},e.advancedAsyncSuperHelper={name:"typescript:advanced-async-super",scoped:!0,text:"\n const _super = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);\n "}}(l||(l={})),function(e){var t;!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper"}(t||(t={})),e.transformESNext=function(t){var n=t.resumeLexicalEnvironment,c=t.endLexicalEnvironment,l=t.hoistVariableDeclaration,_=t.getEmitResolver(),d=t.getCompilerOptions(),p=e.getEmitScriptTarget(d),f=t.onEmitNode;t.onEmitNode=function(e,t,n){if(1&m&&function(e){var t=e.kind;return 233===t||154===t||153===t||155===t||156===t}(t)){var r=6144&_.getNodeCheckFlags(t);if(r!==h){var i=h;return h=r,f(e,t,n),void(h=i)}}f(e,t,n)};var m,g,y=t.onSubstituteNode;t.onSubstituteNode=function(t,n){return n=y(t,n),1===t&&h?function(t){switch(t.kind){case 183:return A(t);case 184:return P(t);case 185:return function(t){var n=t.expression;if(e.isSuperProperty(n)){var r=e.isPropertyAccessExpression(n)?A(n):P(n);return e.createCall(e.createPropertyAccess(r,"call"),void 0,[e.createThis()].concat(t.arguments))}return t}(t)}return t}(n):n};var h=0;return function(n){if(n.isDeclarationFile)return n;var r=e.visitEachChild(n,v,t);return e.addEmitHelpers(r,t.readEmitHelpers()),r};function v(e){return k(e,!1)}function b(e){return k(e,!0)}function x(e){if(120!==e.kind)return e}function k(n,o){if(0==(8&n.transformFlags))return n;switch(n.kind){case 195:return function(n){return 2&g&&1&g?e.setOriginalNode(e.setTextRange(e.createYield(a(t,e.visitNode(n.expression,v,e.isExpression))),n),n):e.visitEachChild(n,v,t)}(n);case 201:return function(n){if(2&g&&1&g&&n.asteriskToken){var r=e.visitNode(n.expression,v,e.isExpression);return e.setOriginalNode(e.setTextRange(e.createYield(a(t,e.updateYield(n,n.asteriskToken,function(t,n,r){return t.requestEmitHelper(i),t.requestEmitHelper(s),e.setTextRange(e.createCall(e.getHelperName("__asyncDelegator"),void 0,[n]),r)}(t,u(t,r,r),r)))),n),n)}return e.visitEachChild(n,v,t)}(n);case 226:return function(n){if(2&g){var r=e.unwrapInnermostStatementOfLabel(n);return 220===r.kind&&r.awaitModifier?S(r,n):e.restoreEnclosingLabel(e.visitEachChild(r,v,t),n)}return e.visitEachChild(n,v,t)}(n);case 182:return function(n){if(1048576&n.transformFlags){var i=function(t){for(var r,i=[],a=0,o=n.properties;a=2&&(4096&_.getNodeCheckFlags(r)?(N(),e.addEmitHelper(u,e.advancedAsyncSuperHelper)):2048&_.getNodeCheckFlags(r)&&(N(),e.addEmitHelper(u,e.asyncSuperHelper))),u}function T(t){n();var r=0,i=[],a=e.visitNode(t.body,v,e.isConciseBody);e.isBlock(a)&&(r=e.addPrologue(i,a.statements,!1,v)),e.addRange(i,E(void 0,t));var o=c();if(r>0||e.some(i)||e.some(o)){var s=e.convertToFunctionBody(a,!0);return e.addRange(i,s.statements.slice(r)),e.addRange(i,o),e.updateBlock(s,e.setTextRange(e.createNodeArray(i),s.statements))}return a}function E(n,r){for(var i=0,a=r.parameters;i=2?e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"assign"),void 0,r):(t.requestEmitHelper(n),e.createCall(e.getHelperName("__assign"),void 0,r))}e.createAssignHelper=r;var i={name:"typescript:await",scoped:!1,text:"\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\n "};function a(t,n){return t.requestEmitHelper(i),e.createCall(e.getHelperName("__await"),void 0,[n])}var o={name:"typescript:asyncGenerator",scoped:!1,text:'\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume("next", value); }\n function reject(value) { resume("throw", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n };\n '},s={name:"typescript:asyncDelegator",scoped:!1,text:'\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; }; }\n };\n '},c={name:"typescript:asyncValues",scoped:!1,text:'\n var __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var m = o[Symbol.asyncIterator];\n return m ? m.call(o) : typeof __values === "function" ? __values(o) : o[Symbol.iterator]();\n };\n '};function u(t,n,r){return t.requestEmitHelper(c),e.setTextRange(e.createCall(e.getHelperName("__asyncValues"),void 0,[n]),r)}}(l||(l={})),function(e){e.transformJsx=function(n){var r,i=n.getCompilerOptions();return function(t){if(t.isDeclarationFile)return t;r=t;var i=e.visitEachChild(t,a,n);return e.addEmitHelpers(i,n.readEmitHelpers()),i};function a(t){return 4&t.transformFlags?function(t){switch(t.kind){case 253:return s(t,!1);case 254:return c(t,!1);case 257:return u(t,!1);case 263:return m(t);default:return e.visitEachChild(t,a,n)}}(t):t}function o(t){switch(t.kind){case 10:return function(t){var n=function(t){for(var n,r=0,i=-1,a=0;a=t.end)return!1;for(var i=e.getEnclosingBlockScopeContainer(t);r;){if(r===i||r===t)return!1;if(e.isClassElement(r)&&r.parent===t)return!0;r=r.parent}return!1}(n,t)))return e.setTextRange(e.getGeneratedNameForNode(e.getNameOfDeclaration(n)),t)}return t}(t);case 99:return function(t){return 1&u&&16&i?e.setTextRange(e.createIdentifier("_this"),t):t}(t)}return t}(n):e.isIdentifier(n)?function(t){if(2&u&&!e.isInternalName(t)){var n=e.getParseTreeNode(t,e.isIdentifier);if(n&&function(e){var t=e.parent;switch(t.kind){case 180:case 233:case 236:case 230:return t.name===e&&m.isDeclarationWithCollidingName(t)}return!1}(n))return e.setTextRange(e.getGeneratedNameForNode(n),t)}return t}(n):n},function(o){if(o.isDeclarationFile)return o;n=o,r=o.text;var s=function(t){var n=h(3968,64),r=[];l();var i=e.addStandardPrologue(r,t.statements,!1);return I(r,t),i=e.addCustomPrologue(r,t.statements,i,k),e.addRange(r,e.visitNodes(t.statements,k,e.isStatement,i)),a&&r.push(e.createVariableStatement(void 0,e.createVariableDeclarationList(a))),e.addRange(r,d()),v(n,0,0),e.updateSourceFileNode(t,e.setTextRange(e.createNodeArray(r),t.statements))}(o);return e.addEmitHelpers(s,t.readEmitHelpers()),n=void 0,r=void 0,a=void 0,i=0,s};function h(e,t){var n=i;return i=16383&(i&~e|t),n}function v(e,t,n){i=-16384&(i&~t|n)|e}function b(e){return 4096&i&&223===e.kind&&!e.expression}function x(t){return 0!=(128&t.transformFlags)||void 0!==c||4096&i&&(e.isStatement(t)||211===t.kind)||e.isIterationStatement(t,!1)&&ie(t)||0!=(33554432&e.getEmitFlags(t))}function k(r){return x(r)?function(r){switch(r.kind){case 115:return;case 233:return function(t){var n=e.createVariableDeclaration(e.getLocalName(t,!0),void 0,T(t));e.setOriginalNode(n,t);var r=[],i=e.createVariableStatement(void 0,e.createVariableDeclarationList([n]));if(e.setOriginalNode(i,t),e.setTextRange(i,t),e.startOnNewLine(i),r.push(i),e.hasModifier(t,1)){var a=e.hasModifier(t,512)?e.createExportDefault(e.getLocalName(t)):e.createExternalModuleExport(e.getLocalName(t));e.setOriginalNode(a,i),r.push(a)}var o=e.getEmitFlags(t);return 0==(4194304&o)&&(r.push(e.createEndOfDeclarationMarker(t)),e.setEmitFlags(i,4194304|o)),e.singleOrMany(r)}(r);case 203:return function(e){return T(e)}(r);case 148:return function(t){return t.dotDotDotToken?void 0:e.isBindingPattern(t.name)?e.setOriginalNode(e.setTextRange(e.createParameter(void 0,void 0,void 0,e.getGeneratedNameForNode(t),void 0,void 0,void 0),t),t):t.initializer?e.setOriginalNode(e.setTextRange(e.createParameter(void 0,void 0,void 0,t.name,void 0,void 0,void 0),t),t):t}(r);case 232:return function(n){var r=c;c=void 0;var a=h(16286,65),o=e.visitParameterList(n.parameters,k,t),s=64&n.transformFlags?J(n):K(n),u=16384&i?e.getLocalName(n):n.name;return v(a,49152,0),c=r,e.updateFunctionDeclaration(n,void 0,e.visitNodes(n.modifiers,k,e.isModifier),n.asteriskToken,u,void 0,o,void 0,s)}(r);case 191:return function(n){16384&n.transformFlags&&Se();var r=c;c=void 0;var i=h(16256,66),a=e.createFunctionExpression(void 0,void 0,void 0,void 0,e.visitParameterList(n.parameters,k,t),void 0,J(n));return e.setTextRange(a,n),e.setOriginalNode(a,n),e.setEmitFlags(a,8),v(i,0,0),c=r,a}(r);case 190:return function(n){var r=262144&e.getEmitFlags(n)?h(16278,69):h(16286,65),a=c;c=void 0;var o=e.visitParameterList(n.parameters,k,t),s=64&n.transformFlags?J(n):K(n),u=16384&i?e.getLocalName(n):n.name;return v(r,49152,0),c=a,e.updateFunctionExpression(n,void 0,n.asteriskToken,u,void 0,o,void 0,s)}(r);case 230:return H(r);case 71:return function(t){return c?e.isGeneratedIdentifier(t)?t:"arguments"===t.escapedText&&m.isArgumentsLocalBinding(t)?c.argumentsName||(c.argumentsName=e.createUniqueName("arguments")):t:t}(r);case 231:return function(n){if(64&n.transformFlags){3&n.flags&&ke();var r=e.flatMap(n.declarations,1&n.flags?W:H),i=e.createVariableDeclarationList(r);if(e.setOriginalNode(i,n),e.setTextRange(i,n),e.setCommentRange(i,n),8388608&n.transformFlags&&(e.isBindingPattern(n.declarations[0].name)||e.isBindingPattern(e.lastOrUndefined(n.declarations).name))){var a=e.firstOrUndefined(r);if(a){var o=e.lastOrUndefined(r);e.setSourceMapRange(i,e.createRange(a.pos,o.end))}}return i}return e.visitEachChild(n,k,t)}(r);case 225:return function(n){if(void 0!==c){var r=c.allowedNonLabeledJumps;c.allowedNonLabeledJumps|=2;var i=e.visitEachChild(n,k,t);return c.allowedNonLabeledJumps=r,i}return e.visitEachChild(n,k,t)}(r);case 239:return function(n){var r=h(4032,0),i=e.visitEachChild(n,k,t);return v(r,0,0),i}(r);case 211:return U(r,!1);case 222:case 221:return function(n){if(c){var r=222===n.kind?2:4;if(!(n.label&&c.labels&&c.labels.get(e.idText(n.label))||!n.label&&c.allowedNonLabeledJumps&r)){var i=void 0;n.label?222===n.kind?(i="break-"+n.label.escapedText,ce(c,!0,e.idText(n.label),i)):(i="continue-"+n.label.escapedText,ce(c,!1,e.idText(n.label),i)):222===n.kind?(c.nonLocalJumps|=2,i="break"):(c.nonLocalJumps|=4,i="continue");var a=e.createLiteral(i);if(c.loopOutParameters.length){for(var o=c.loopOutParameters,s=void 0,u=0;u=0,"statementOffset not initialized correctly!"));var c=r&&95!==e.skipOuterExpressions(r.expression).kind,u=function(t,n,r,i,a){if(!r)return n&&I(t,n),0;if(!n)return t.push(e.createReturn(N())),2;if(i)return O(t,n,N()),Se(),1;var o,s,c=n.body.statements;if(a0?n.push(e.setEmitFlags(e.createVariableStatement(void 0,e.createVariableDeclarationList(e.flattenDestructuringBinding(r,k,t,0,o))),1048576)):a&&n.push(e.setEmitFlags(e.createStatement(e.createAssignment(o,e.visitNode(a,k,e.isExpression))),1048576))}function w(t,n,r,i){i=e.visitNode(i,k,e.isExpression);var a=e.createIf(e.createTypeCheck(e.getSynthesizedClone(r),"undefined"),e.setEmitFlags(e.setTextRange(e.createBlock([e.createStatement(e.setEmitFlags(e.setTextRange(e.createAssignment(e.setEmitFlags(e.getMutableClone(r),48),e.setEmitFlags(i,1584|e.getEmitFlags(i))),n),1536))]),n),1953));e.startOnNewLine(a),e.setTextRange(a,n),e.setEmitFlags(a,1050528),t.push(a)}function F(t,n,r){var i=e.lastOrUndefined(n.parameters);if(function(e,t){return i&&i.dotDotDotToken&&71===i.name.kind&&!t}(0,r)){var a=e.getMutableClone(i.name);e.setEmitFlags(a,48);var o=e.getSynthesizedClone(i.name),s=n.parameters.length-1,c=e.createLoopVariable();t.push(e.setEmitFlags(e.setTextRange(e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(a,void 0,e.createArrayLiteral([]))])),i),1048576));var u=e.createFor(e.setTextRange(e.createVariableDeclarationList([e.createVariableDeclaration(c,void 0,e.createLiteral(s))]),i),e.setTextRange(e.createLessThan(c,e.createPropertyAccess(e.createIdentifier("arguments"),"length")),i),e.setTextRange(e.createPostfixIncrement(c),i),e.createBlock([e.startOnNewLine(e.setTextRange(e.createStatement(e.createAssignment(e.createElementAccess(o,0===s?c:e.createSubtract(c,e.createLiteral(s))),e.createElementAccess(e.createIdentifier("arguments"),c))),i))]));e.setEmitFlags(u,1048576),e.startOnNewLine(u),t.push(u)}}function I(t,n){32768&n.transformFlags&&191!==n.kind&&O(t,n,e.createThis())}function O(t,n,r,i){Se();var a=e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration("_this",void 0,r)]));e.setEmitFlags(a,1050112),e.setTextRange(a,i),e.setSourceMapRange(a,n),t.push(a)}function M(t,n,r){if(16384&i){var a=void 0;switch(n.kind){case 191:return t;case 153:case 155:case 156:a=e.createVoidZero();break;case 154:a=e.createPropertyAccess(e.setEmitFlags(e.createThis(),4),"constructor");break;case 232:case 190:a=e.createConditional(e.createLogicalAnd(e.setEmitFlags(e.createThis(),4),e.createBinary(e.setEmitFlags(e.createThis(),4),93,e.getLocalName(n))),e.createPropertyAccess(e.setEmitFlags(e.createThis(),4),"constructor"),e.createVoidZero());break;default:e.Debug.failBadSyntaxKind(n)}var o=e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration("_newTarget",void 0,a)]));if(r)return[o].concat(t);t.unshift(o)}return t}function L(t){return e.setTextRange(e.createEmptyStatement(),t)}function R(t,n,r){var a=h(0,0),o=e.getCommentRange(n),s=e.getSourceMapRange(n),c=e.createMemberAccessForPropertyName(t,e.visitNode(n.name,k,e.isPropertyName),n.name),u=j(n,n,void 0,r);e.setEmitFlags(u,1536),e.setSourceMapRange(u,s);var l=e.setTextRange(e.createStatement(e.createAssignment(c,u)),n);return e.setOriginalNode(l,n),e.setCommentRange(l,o),e.setEmitFlags(l,48),v(a,49152,49152&i?16384:0),l}function B(t,n,r){var i=e.createStatement(z(t,n,r,!1));return e.setEmitFlags(i,1536),e.setSourceMapRange(i,e.getSourceMapRange(n.firstAccessor)),i}function z(t,n,r,a){var o=n.firstAccessor,s=n.getAccessor,c=n.setAccessor,u=h(0,0),l=e.getMutableClone(t);e.setEmitFlags(l,1568),e.setSourceMapRange(l,o.name);var _=e.createExpressionForPropertyName(e.visitNode(o.name,k,e.isPropertyName));e.setEmitFlags(_,1552),e.setSourceMapRange(_,o.name);var d=[];if(s){var p=j(s,void 0,void 0,r);e.setSourceMapRange(p,e.getSourceMapRange(s)),e.setEmitFlags(p,512);var f=e.createPropertyAssignment("get",p);e.setCommentRange(f,e.getCommentRange(s)),d.push(f)}if(c){var m=j(c,void 0,void 0,r);e.setSourceMapRange(m,e.getSourceMapRange(c)),e.setEmitFlags(m,512);var g=e.createPropertyAssignment("set",m);e.setCommentRange(g,e.getCommentRange(c)),d.push(g)}d.push(e.createPropertyAssignment("enumerable",e.createTrue()),e.createPropertyAssignment("configurable",e.createTrue()));var y=e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"defineProperty"),void 0,[l,_,e.createObjectLiteral(d,!0)]);return a&&e.startOnNewLine(y),v(u,49152,49152&i?16384:0),y}function j(n,r,a,o){var s=c;c=void 0;var u=o&&e.isClassLike(o)&&!e.hasModifier(n,32)?h(16286,73):h(16286,65),l=e.visitParameterList(n.parameters,k,t),_=J(n);return 16384&i&&!a&&(232===n.kind||190===n.kind)&&(a=e.getGeneratedNameForNode(n)),v(u,49152,0),c=s,e.setOriginalNode(e.setTextRange(e.createFunctionExpression(void 0,n.asteriskToken,a,void 0,l,void 0,_),r),n)}function J(r){var i,a,o,s=!1,c=!1,u=[],l=r.body;if(_(),e.isBlock(l)&&(o=e.addStandardPrologue(u,l.statements,!1)),I(u,r),A(u,r),F(u,r,!1),!s&&u.length>0&&(s=!0),e.isBlock(l))o=e.addCustomPrologue(u,l.statements,o,k),i=l.statements,e.addRange(u,e.visitNodes(l.statements,k,e.isStatement,o)),!s&&l.multiLine&&(s=!0);else{e.Debug.assert(191===r.kind),i=e.moveRangeEnd(l,-1);var d=r.equalsGreaterThanToken;e.nodeIsSynthesized(d)||e.nodeIsSynthesized(l)||(e.rangeEndIsOnSameLineAsRangeStart(d,l,n)?c=!0:s=!0);var p=e.visitNode(l,k,e.isExpression),f=e.createReturn(p);e.setTextRange(f,l),e.setEmitFlags(f,1440),u.push(f),a=l}var m=t.endLexicalEnvironment();e.addRange(u,m),M(u,r,!1),!s&&m&&m.length&&(s=!0);var g=e.createBlock(e.setTextRange(e.createNodeArray(u),i),s);return e.setTextRange(g,r.body),!s&&c&&e.setEmitFlags(g,1),a&&e.setTokenSourceMapRange(g,18,a),e.setOriginalNode(g,r.body),g}function K(n){var r=e.visitFunctionBody(n.body,S,t);return e.updateBlock(r,e.setTextRange(e.createNodeArray(M(r.statements,n,!0)),r.statements))}function U(n,r){if(r)return e.visitEachChild(n,k,t);var a=256&i?h(4032,512):h(3904,128),o=e.visitEachChild(n,k,t);return v(a,0,0),o}function V(n,r){if(!r)switch(n.expression.kind){case 189:return e.updateParen(n,V(n.expression,!1));case 198:return e.updateParen(n,q(n.expression,!1))}return e.visitEachChild(n,k,t)}function q(n,r){return e.isDestructuringAssignment(n)?e.flattenDestructuringAssignment(n,k,t,0,r):e.visitEachChild(n,k,t)}function W(n){if(e.isBindingPattern(n.name))return H(n);if(!n.initializer&&function(e){var t=m.getNodeCheckFlags(e),n=131072&t,r=262144&t;return!(0!=(64&i)||n&&r&&0!=(512&i))&&0==(2048&i)&&(!m.isDeclarationWithCollidingName(e)||r&&!n&&0==(3072&i))}(n)){var r=e.getMutableClone(n);return r.initializer=e.createVoidZero(),r}return e.visitEachChild(n,k,t)}function H(n){var r,i=h(32,0);return r=e.isBindingPattern(n.name)?e.flattenDestructuringBinding(n,k,t,0,void 0,0!=(32&i)):e.visitEachChild(n,k,t),v(i,0,0),r}function G(t){c.labels.set(e.idText(t.label),!0)}function X(t){c.labels.set(e.idText(t.label),!1)}function Q(n,r,a,o,s){var u=h(n,r),_=function(n,r,a){if(!ie(n)){var o=void 0;c&&(o=c.allowedNonLabeledJumps,c.allowedNonLabeledJumps=6);var s=a?a(n,r,void 0):e.restoreEnclosingLabel(e.visitEachChild(n,k,t),r,c&&X);return c&&(c.allowedNonLabeledJumps=o),s}var u,_=e.createUniqueName("_loop");switch(n.kind){case 218:case 219:case 220:var p=n.initializer;p&&231===p.kind&&(u=p)}var f=[],m=[];if(u&&3&e.getCombinedNodeFlags(u))for(var g=0,y=u.declarations;g=72&&n<=107)return e.setTextRange(e.createLiteral(t),t)}}}(l||(l={})),function(e){var t,n,r,i,a;!function(e){e[e.Nop=0]="Nop",e[e.Statement=1]="Statement",e[e.Assign=2]="Assign",e[e.Break=3]="Break",e[e.BreakWhenTrue=4]="BreakWhenTrue",e[e.BreakWhenFalse=5]="BreakWhenFalse",e[e.Yield=6]="Yield",e[e.YieldStar=7]="YieldStar",e[e.Return=8]="Return",e[e.Throw=9]="Throw",e[e.Endfinally=10]="Endfinally"}(t||(t={})),function(e){e[e.Open=0]="Open",e[e.Close=1]="Close"}(n||(n={})),function(e){e[e.Exception=0]="Exception",e[e.With=1]="With",e[e.Switch=2]="Switch",e[e.Loop=3]="Loop",e[e.Labeled=4]="Labeled"}(r||(r={})),function(e){e[e.Try=0]="Try",e[e.Catch=1]="Catch",e[e.Finally=2]="Finally",e[e.Done=3]="Done"}(i||(i={})),function(e){e[e.Next=0]="Next",e[e.Throw=1]="Throw",e[e.Return=2]="Return",e[e.Break=3]="Break",e[e.Yield=4]="Yield",e[e.YieldStar=5]="YieldStar",e[e.Catch=6]="Catch",e[e.Endfinally=7]="Endfinally"}(a||(a={})),e.transformGenerators=function(t){var n,r,i,a,s,c,u,l,_,d,p=t.resumeLexicalEnvironment,f=t.endLexicalEnvironment,m=t.hoistFunctionDeclaration,g=t.hoistVariableDeclaration,y=t.getCompilerOptions(),h=e.getEmitScriptTarget(y),v=t.getEmitResolver(),b=t.onSubstituteNode;t.onSubstituteNode=function(t,i){return i=b(t,i),1===t?function(t){return e.isIdentifier(t)?function(t){if(!e.isGeneratedIdentifier(t)&&n&&n.has(e.idText(t))){var i=e.getOriginalNode(t);if(e.isIdentifier(i)&&i.parent){var a=v.getReferencedValueDeclaration(i);if(a){var o=r[e.getOriginalNodeId(a)];if(o){var s=e.getMutableClone(o);return e.setSourceMapRange(s,t),e.setCommentRange(s,t),s}}}}return t}(t):t}(i):i};var x,k,S,D,C,T,E,N,A,P,w,F,I=1,O=0,M=0;return function(n){if(n.isDeclarationFile||0==(512&n.transformFlags))return n;var r=e.visitEachChild(n,L,t);return e.addEmitHelpers(r,t.readEmitHelpers()),r};function L(n){var r=n.transformFlags;return a?function(n){switch(n.kind){case 216:case 217:return function(n){return a?(re(),n=e.visitEachChild(n,L,t),ae(),n):e.visitEachChild(n,L,t)}(n);case 225:return function(n){return a&&Z({kind:2,isScript:!0,breakLabel:-1}),n=e.visitEachChild(n,L,t),a&&oe(),n}(n);case 226:return function(n){return a&&Z({kind:4,isScript:!0,labelText:e.idText(n.label),breakLabel:-1}),n=e.visitEachChild(n,L,t),a&&se(),n}(n);default:return R(n)}}(n):i?R(n):256&r?function(n){switch(n.kind){case 232:return B(n);case 190:return z(n);default:return e.Debug.failBadSyntaxKind(n),e.visitEachChild(n,L,t)}}(n):512&r?e.visitEachChild(n,L,t):n}function R(n){switch(n.kind){case 232:return B(n);case 190:return z(n);case 155:case 156:return function(n){var r=i,o=a;return i=!1,a=!1,n=e.visitEachChild(n,L,t),i=r,a=o,n}(n);case 212:return function(t){if(16777216&t.transformFlags)q(t.declarationList);else{if(1048576&e.getEmitFlags(t))return t;for(var n=0,r=t.declarationList.declarations;n0?e.inlineExpressions(e.map(s,W)):void 0,e.visitNode(n.condition,L,e.isExpression),e.visitNode(n.incrementor,L,e.isExpression),e.visitNode(n.statement,L,e.isStatement,e.liftToBlock))}else n=e.visitEachChild(n,L,t);return a&&ae(),n}(n);case 219:return function(n){a&&re();var r=n.initializer;if(e.isVariableDeclarationList(r)){for(var i=0,o=r.declarations;i0)return ge(r,n)}return e.visitEachChild(n,L,t)}(n);case 221:return function(n){if(a){var r=pe(n.label&&e.idText(n.label));if(r>0)return ge(r,n)}return e.visitEachChild(n,L,t)}(n);case 223:return function(t){return n=e.visitNode(t.expression,L,e.isExpression),r=t,e.setTextRange(e.createReturn(e.createArrayLiteral(n?[me(2),n]:[me(2)])),r);var n,r}(n);default:return 16777216&n.transformFlags?function(n){switch(n.kind){case 198:return function(n){switch(e.getExpressionAssociativity(n)){case 0:return function(n){if(H(n.right)){if(e.isLogicalOperator(n.operatorToken.kind))return function(t){var n=Y(),r=Q();return ve(r,e.visitNode(t.left,L,e.isExpression),t.left),53===t.operatorToken.kind?ke(n,r,t.left):xe(n,r,t.left),ve(r,e.visitNode(t.right,L,e.isExpression),t.right),$(n),r}(n);if(26===n.operatorToken.kind)return function(t){var n=[];return r(t.left),r(t.right),e.inlineExpressions(n);function r(t){e.isBinaryExpression(t)&&26===t.operatorToken.kind?(r(t.left),r(t.right)):(H(t)&&n.length>0&&(Se(1,[e.createStatement(e.inlineExpressions(n))]),n=[]),n.push(e.visitNode(t,L,e.isExpression)))}}(n);var r=e.getMutableClone(n);return r.left=X(e.visitNode(n.left,L,e.isExpression)),r.right=e.visitNode(n.right,L,e.isExpression),r}return e.visitEachChild(n,L,t)}(n);case 1:return function(n){var r,i=n.left,a=n.right;if(H(a)){var o=void 0;switch(i.kind){case 183:o=e.updatePropertyAccess(i,X(e.visitNode(i.expression,L,e.isLeftHandSideExpression)),i.name);break;case 184:o=e.updateElementAccess(i,X(e.visitNode(i.expression,L,e.isLeftHandSideExpression)),X(e.visitNode(i.argumentExpression,L,e.isExpression)));break;default:o=e.visitNode(i,L,e.isExpression)}var s=n.operatorToken.kind;return(r=s)>=59&&r<=70?e.setTextRange(e.createAssignment(o,e.setTextRange(e.createBinary(X(o),function(e){switch(s){case 59:return 37;case 60:return 38;case 61:return 39;case 62:return 40;case 63:return 41;case 64:return 42;case 65:return 45;case 66:return 46;case 67:return 47;case 68:return 48;case 69:return 49;case 70:return 50}}(),e.visitNode(a,L,e.isExpression)),n)),n):e.updateBinary(n,o,e.visitNode(a,L,e.isExpression))}return e.visitEachChild(n,L,t)}(n);default:e.Debug.fail("Unknown associativity.")}}(n);case 199:return function(n){if(H(n.whenTrue)||H(n.whenFalse)){var r=Y(),i=Y(),a=Q();return ke(r,e.visitNode(n.condition,L,e.isExpression),n.condition),ve(a,e.visitNode(n.whenTrue,L,e.isExpression),n.whenTrue),be(i),$(r),ve(a,e.visitNode(n.whenFalse,L,e.isExpression),n.whenFalse),$(i),a}return e.visitEachChild(n,L,t)}(n);case 201:return function(n){var r,i=Y(),a=e.visitNode(n.expression,L,e.isExpression);return n.asteriskToken?Se(7,[0==(8388608&e.getEmitFlags(n.expression))?e.createValuesHelper(t,a,n):a],n):function(e,t){Se(6,[e],n)}(a),$(i),r=n,e.setTextRange(e.createCall(e.createPropertyAccess(D,"sent"),void 0,[]),r)}(n);case 181:return function(e){return J(e.elements,void 0,void 0,e.multiLine)}(n);case 182:return function(t){var n=t.properties,r=t.multiLine,i=G(n),a=Q();ve(a,e.createObjectLiteral(e.visitNodes(n,L,e.isObjectLiteralElementLike,0,i),r));var o=e.reduceLeft(n,function(n,i){H(i)&&n.length>0&&(he(e.createStatement(e.inlineExpressions(n))),n=[]);var o=e.createExpressionForObjectLiteralElementLike(t,i,a),s=e.visitNode(o,L,e.isExpression);return s&&(r&&e.startOnNewLine(s),n.push(s)),n},[],i);return o.push(r?e.startOnNewLine(e.getMutableClone(a)):a),e.inlineExpressions(o)}(n);case 184:return function(n){if(H(n.argumentExpression)){var r=e.getMutableClone(n);return r.expression=X(e.visitNode(n.expression,L,e.isLeftHandSideExpression)),r.argumentExpression=e.visitNode(n.argumentExpression,L,e.isExpression),r}return e.visitEachChild(n,L,t)}(n);case 185:return function(n){if(!e.isImportCall(n)&&e.forEach(n.arguments,H)){var r=e.createCallBinding(n.expression,g,h,!0),i=r.thisArg;return e.setOriginalNode(e.createFunctionApply(X(e.visitNode(r.target,L,e.isLeftHandSideExpression)),i,J(n.arguments),n),n)}return e.visitEachChild(n,L,t)}(n);case 186:return function(n){if(e.forEach(n.arguments,H)){var r=e.createCallBinding(e.createPropertyAccess(n.expression,"bind"),g),i=r.thisArg;return e.setOriginalNode(e.setTextRange(e.createNew(e.createFunctionApply(X(e.visitNode(r.target,L,e.isExpression)),i,J(n.arguments,e.createVoidZero())),void 0,[]),n),n)}return e.visitEachChild(n,L,t)}(n);default:return e.visitEachChild(n,L,t)}}(n):33554944&n.transformFlags?e.visitEachChild(n,L,t):n}}function B(n){if(n.asteriskToken)n=e.setOriginalNode(e.setTextRange(e.createFunctionDeclaration(void 0,n.modifiers,void 0,n.name,void 0,e.visitParameterList(n.parameters,L,t),void 0,j(n.body)),n),n);else{var r=i,o=a;i=!1,a=!1,n=e.visitEachChild(n,L,t),i=r,a=o}return i?void m(n):n}function z(n){if(n.asteriskToken)n=e.setOriginalNode(e.setTextRange(e.createFunctionExpression(void 0,void 0,n.name,void 0,e.visitParameterList(n.parameters,L,t),void 0,j(n.body)),n),n);else{var r=i,o=a;i=!1,a=!1,n=e.visitEachChild(n,L,t),i=r,a=o}return n}function j(t){var n=[],r=i,o=a,m=s,g=c,y=u,h=l,v=_,b=d,C=I,T=x,E=k,N=S,A=D;i=!0,a=!1,s=void 0,c=void 0,u=void 0,l=void 0,_=void 0,d=void 0,I=1,x=void 0,k=void 0,S=void 0,D=e.createTempVariable(void 0),p();var P=e.addPrologue(n,t.statements,!1,L);K(t.statements,P);var w=De();return e.addRange(n,f()),n.push(e.createReturn(w)),i=r,a=o,s=m,c=g,u=y,l=h,_=v,d=b,I=C,x=T,k=E,S=N,D=A,e.setTextRange(e.createBlock(n,t.multiLine),t)}function J(t,n,r,i){var a,o=G(t);if(o>0){a=Q();var s=e.visitNodes(t,L,e.isExpression,0,o);ve(a,e.createArrayLiteral(n?[n].concat(s):s)),n=void 0}var c=e.reduceLeft(t,function(t,r){if(H(r)&&t.length>0){var o=void 0!==a;a||(a=Q()),ve(a,o?e.createArrayConcat(a,[e.createArrayLiteral(t,i)]):e.createArrayLiteral(n?[n].concat(t):t,i)),n=void 0,t=[]}return t.push(e.visitNode(r,L,e.isExpression)),t},[],o);return a?e.createArrayConcat(a,[e.createArrayLiteral(c,i)]):e.setTextRange(e.createArrayLiteral(n?[n].concat(c):c,i),r)}function K(e,t){void 0===t&&(t=0);for(var n=e.length,r=t;r0?be(n,t):he(t)}(i);case 222:return function(t){var n=de(t.label?e.idText(t.label):void 0);n>0?be(n,t):he(t)}(i);case 223:return function(t){Se(8,[e.visitNode(t.expression,L,e.isExpression)],t)}(i);case 224:return function(t){var n,r,i;H(t)?(n=X(e.visitNode(t.expression,L,e.isExpression)),r=Y(),i=Y(),$(r),Z({kind:1,expression:n,startLabel:r,endLabel:i}),U(t.statement),e.Debug.assert(1===ne()),$(ee().endLabel)):he(e.visitNode(t,L,e.isStatement))}(i);case 225:return function(t){if(H(t.caseBlock)){for(var n=t.caseBlock,r=n.clauses.length,i=(Z({kind:2,isScript:!1,breakLabel:p=Y()}),p),a=X(e.visitNode(t.expression,L,e.isExpression)),o=[],s=-1,c=0;c0)break;_.push(e.createCaseClause(e.visitNode(u.expression,L,e.isExpression),[ge(o[c],u.expression)]))}else d++;_.length&&(he(e.createSwitch(a,e.createCaseBlock(_))),l+=_.length,_=[]),d>0&&(l+=d,d=0)}for(be(s>=0?o[s]:i),c=0;c0)break;c.push(W(l))}c.length&&(he(e.createStatement(e.inlineExpressions(c))),s+=c.length,c=[])}}function W(t){return e.setSourceMapRange(e.createAssignment(e.setSourceMapRange(e.getSynthesizedClone(t.name),t.name),e.visitNode(t.initializer,L,e.isExpression)),t)}function H(e){return e&&0!=(16777216&e.transformFlags)}function G(e){for(var t=e.length,n=0;n=0;n--){var r=l[n];if(!ue(r))break;if(r.labelText===e)return!0}return!1}function de(e){if(l)if(e)for(var t=l.length-1;t>=0;t--){if(ue(n=l[t])&&n.labelText===e)return n.breakLabel;if(ce(n)&&_e(e,t-1))return n.breakLabel}else for(t=l.length-1;t>=0;t--){var n;if(ce(n=l[t]))return n.breakLabel}return 0}function pe(e){if(l)if(e){for(var t=l.length-1;t>=0;t--)if(le(n=l[t])&&_e(e,t-1))return n.continueLabel}else for(t=l.length-1;t>=0;t--){var n;if(le(n=l[t]))return n.continueLabel}return 0}function fe(t){if(t>0){void 0===d&&(d=[]);var n=e.createLiteral(-1);return void 0===d[t]?d[t]=[n]:d[t].push(n),n}return e.createOmittedExpression()}function me(t){var n=e.createLiteral(t);return e.addSyntheticTrailingComment(n,3,function(e){switch(e){case 2:return"return";case 3:return"break";case 4:return"yield";case 5:return"yield*";case 7:return"endfinally"}}(t)),n}function ge(t,n){return e.Debug.assertLessThan(0,t,"Invalid label"),e.setTextRange(e.createReturn(e.createArrayLiteral([me(3),fe(t)])),n)}function ye(){Se(0)}function he(e){e?Se(1,[e]):ye()}function ve(e,t,n){Se(2,[e,t],n)}function be(e,t){Se(3,[e],t)}function xe(e,t,n){Se(4,[e,t],n)}function ke(e,t,n){Se(5,[e,t],n)}function Se(e,t,n){void 0===x&&(x=[],k=[],S=[]),void 0===_&&$(Y());var r=x.length;x[r]=e,k[r]=t,S[r]=n}function De(){O=0,M=0,C=void 0,T=!1,E=!1,N=void 0,A=void 0,P=void 0,w=void 0,F=void 0;var n=function(){if(x){for(var t=0;t0)),524288))}function Ce(e){(function(e){if(!E)return!0;if(!_||!d)return!1;for(var t=0;t<_.length;t++)if(_[t]===e&&d[t])return!0;return!1})(e)&&(Ee(e),F=void 0,Pe(void 0,void 0)),A&&N&&Te(!1),function(){if(void 0!==d&&void 0!==C)for(var e=0;e=0;n--)A=[e.createWith(F[n].expression,e.createBlock(A))];if(w){var r=w.startLabel,i=w.catchLabel,a=w.finallyLabel,o=w.endLabel;A.unshift(e.createStatement(e.createCall(e.createPropertyAccess(e.createPropertyAccess(D,"trys"),"push"),void 0,[e.createArrayLiteral([fe(r),fe(i),fe(a),fe(o)])]))),w=void 0}t&&A.push(e.createStatement(e.createAssignment(e.createPropertyAccess(D,"label"),e.createLiteral(M+1))))}N.push(e.createCaseClause(e.createLiteral(M),A||[])),A=void 0}function Ee(e){if(_)for(var t=0;t<_.length;t++)_[t]===e&&(A&&(Te(!T),T=!1,E=!1,M++),void 0===C&&(C=[]),void 0===C[M]?C[M]=[t]:C[M].push(t))}function Ne(t){if(Ee(t),function(e){if(s)for(;O 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };'}}(l||(l={})),function(e){e.transformModule=function(a){var o=a.startLexicalEnvironment,s=a.endLexicalEnvironment,c=a.hoistVariableDeclaration,u=a.getCompilerOptions(),l=a.getEmitResolver(),_=a.getEmitHost(),d=e.getEmitScriptTarget(u),p=e.getEmitModuleKind(u),f=a.onSubstituteNode,m=a.onEmitNode;a.onSubstituteNode=function(t,n){return(n=f(t,n)).id&&h[n.id]?n:1===t?function(t){switch(t.kind){case 71:return G(t);case 198:return function(t){if(e.isAssignmentOperator(t.operatorToken.kind)&&e.isIdentifier(t.left)&&!e.isGeneratedIdentifier(t.left)&&!e.isLocalName(t.left)&&!e.isDeclarationNameOfEnumOrNamespace(t.left)){var n=X(t.left);if(n){for(var r=t,i=0,a=n;i=2?2:0)),t))}else r&&e.isDefaultImport(t)&&(n=e.append(n,e.createVariableStatement(void 0,e.createVariableDeclarationList([e.setTextRange(e.createVariableDeclaration(e.getSynthesizedClone(r.name),void 0,e.getGeneratedNameForNode(t)),t)],d>=2?2:0))));if(R(t)){var a=e.getOriginalNodeId(t);x[a]=B(x[a],t)}else n=B(n,t);return e.singleOrMany(n)}(t);case 241:return function(t){var n;if(e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(t),"import= for internal module references should be handled in an earlier transformer."),p!==e.ModuleKind.AMD?n=e.hasModifier(t,1)?e.append(n,e.setTextRange(e.createStatement(W(t.name,M(t))),t)):e.append(n,e.setTextRange(e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(e.getSynthesizedClone(t.name),void 0,M(t))],d>=2?2:0)),t)):e.hasModifier(t,1)&&(n=e.append(n,e.setTextRange(e.createStatement(W(e.getExportName(t),e.getLocalName(t))),t))),R(t)){var r=e.getOriginalNodeId(t);x[r]=z(x[r],t)}else n=z(n,t);return e.singleOrMany(n)}(t);case 248:return function(t){if(t.moduleSpecifier){var n=e.getGeneratedNameForNode(t);if(t.exportClause){var r=[];p!==e.ModuleKind.AMD&&r.push(e.setTextRange(e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(n,void 0,M(t))])),t));for(var i=0,o=t.exportClause.elements;i=2?i=e.createArrowFunction(void 0,void 0,c,void 0,void 0,l):(i=e.createFunctionExpression(void 0,void 0,void 0,void 0,c,void 0,l),n&&e.setEmitFlags(i,8));var _=e.createNew(e.createIdentifier("Promise"),void 0,[i]);return u.esModuleInterop?(a.requestEmitHelper(r),e.createCall(e.createPropertyAccess(_,e.createIdentifier("then")),void 0,[e.getHelperName("__importStar")])):_}function I(t,n){var i,o=e.createCall(e.createPropertyAccess(e.createIdentifier("Promise"),"resolve"),void 0,[]),s=e.createCall(e.createIdentifier("require"),void 0,t?[t]:[]);return u.esModuleInterop&&(a.requestEmitHelper(r),s=e.createCall(e.getHelperName("__importStar"),void 0,[s])),d>=2?i=e.createArrowFunction(void 0,void 0,[],void 0,void 0,s):(i=e.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,e.createBlock([e.createReturn(s)])),n&&e.setEmitFlags(i,8)),e.createCall(e.createPropertyAccess(o,"then"),void 0,[i])}function O(t,n){return!u.esModuleInterop||67108864&e.getEmitFlags(t)?n:e.getImportNeedsImportStarHelper(t)?(a.requestEmitHelper(r),e.createCall(e.getHelperName("__importStar"),void 0,[n])):e.getImportNeedsImportDefaultHelper(t)?(a.requestEmitHelper(i),e.createCall(e.getHelperName("__importDefault"),void 0,[n])):n}function M(t){var n=e.getExternalModuleNameLiteral(t,g,_,l,u),r=[];return n&&r.push(n),e.createCall(e.createIdentifier("require"),void 0,r)}function L(t){return e.isBindingPattern(t.name)?e.flattenDestructuringAssignment(e.visitNode(t,w),void 0,a,0,!1,W):e.createAssignment(e.setTextRange(e.createPropertyAccess(e.createIdentifier("exports"),t.name),t.name),e.visitNode(t.initializer,w))}function R(t){return 0!=(4194304&e.getEmitFlags(t))}function B(e,t){if(y.exportEquals)return e;var n=t.importClause;if(!n)return e;n.name&&(e=U(e,n));var r=n.namedBindings;if(r)switch(r.kind){case 244:e=U(e,r);break;case 245:for(var i=0,a=r.elements;i0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!f,"Lexical environment is suspended."),_[p]=s,d[p]=c,p++,s=void 0,c=void 0},suspendLexicalEnvironment:function(){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!f,"Lexical environment is already suspended."),f=!0},resumeLexicalEnvironment:function(){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(f,"Lexical environment is not suspended."),f=!1},endLexicalEnvironment:function(){var t;if(e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!f,"Lexical environment is suspended."),(s||c)&&(c&&(t=c.slice()),s)){var n=e.createVariableStatement(void 0,e.createVariableDeclarationList(s));t?t.push(n):t=[n]}return s=_[--p],c=d[p],0===p&&(_=[],d=[]),t},hoistVariableDeclaration:function(t){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");var n=e.setEmitFlags(e.createVariableDeclaration(t),64);s?s.push(n):s=[n]},hoistFunctionDeclaration:function(t){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed."),c?c.push(t):c=[t]},requestEmitHelper:function(t){e.Debug.assert(y>0,"Cannot modify the transformation context during initialization."),e.Debug.assert(y<2,"Cannot modify the transformation context after transformation has completed."),e.Debug.assert(!t.scoped,"Cannot request a scoped emit helper."),u=e.append(u,t)},readEmitHelpers:function(){e.Debug.assert(y>0,"Cannot modify the transformation context during initialization."),e.Debug.assert(y<2,"Cannot modify the transformation context after transformation has completed.");var t=u;return u=void 0,t},enableSubstitution:function(t){e.Debug.assert(y<2,"Cannot modify the transformation context after transformation has completed."),l[t]|=1},enableEmitNotification:function(t){e.Debug.assert(y<2,"Cannot modify the transformation context after transformation has completed."),l[t]|=2},isSubstitutionEnabled:S,isEmitNotificationEnabled:D,get onSubstituteNode(){return m},set onSubstituteNode(t){e.Debug.assert(y<1,"Cannot modify transformation hooks after initialization has completed."),e.Debug.assert(void 0!==t,"Value must not be 'undefined'"),m=t},get onEmitNode(){return g},set onEmitNode(t){e.Debug.assert(y<1,"Cannot modify transformation hooks after initialization has completed."),e.Debug.assert(void 0!==t,"Value must not be 'undefined'"),g=t}},v=0,b=i;v=0&&v(g(c)),l&&b(_),64&i?(m=!0,n(e,t),m=!1):n(e,t),l&&b(l),294!==t.kind&&0==(32&i)&&u>=0&&v(u),l&&b(_)}},emitTokenWithSourceMap:function(e,t,n,r,i){if(m)return i(t,n,r);var a=e&&e.emitNode,o=a&&a.flags,s=a&&a.tokenSourceMapRanges&&a.tokenSourceMapRanges[t];return r=g(s?s.pos:r),0==(128&o)&&r>=0&&v(r),r=i(t,n,r),s&&(r=s.end),0==(256&o)&&r>=0&&v(r),r},getText:x,getSourceMappingURL:function(){if(!m){if(p.inlineSourceMap){var t=e.convertToBase64(x());return d.jsSourceMappingURL="data:application/json;base64,"+t}return d.jsSourceMappingURL}}};function g(t){return a.skipTrivia?a.skipTrivia(t):e.skipTrivia(o,t)}function y(){m||(a=void 0,s=void 0,c=void 0,u=void 0,l=void 0,_=void 0,d=void 0)}function h(){if(u&&u!==l){var t=l.emittedColumn;if(l.emittedLine===u.emittedLine)d.sourceMapMappings&&(d.sourceMapMappings+=",");else{for(var n=l.emittedLine;n=0&&(e.Debug.assert(!1,"We do not support name index right now, Make sure to update updateLastEncodedAndRecordedSpans when we start using this"),d.sourceMapMappings+=i(u.nameIndex-_),_=u.nameIndex),d.sourceMapDecodedMappings.push(l=u)}}function v(t){if(!m&&!e.positionIsSynthesized(t)){f&&e.performance.mark("beforeSourcemap");var n=e.getLineAndCharacterOfPosition(a,t);n.line++,n.character++;var i=r.getLine(),o=r.getColumn();!u||u.emittedLine!==i||u.emittedColumn!==o||u.sourceIndex===c&&(u.sourceLine>n.line||u.sourceLine===n.line&&u.sourceColumn>n.character)?(h(),u={emittedLine:i,emittedColumn:o,sourceLine:n.line,sourceColumn:n.character,sourceIndex:c}):(u.sourceLine=n.line,u.sourceColumn=n.character,u.sourceIndex=c),f&&(e.performance.mark("afterSourcemap"),e.performance.measure("Source Map","beforeSourcemap","afterSourcemap"))}}function b(t){if(!m){o=(a=t).text;var r=p.sourceRoot?n.getCommonSourceDirectory():s,i=e.getRelativePathToDirectoryOrUrl(r,a.fileName,n.getCurrentDirectory(),n.getCanonicalFileName,!0);-1===(c=d.sourceMapSources.indexOf(i))&&(c=d.sourceMapSources.length,d.sourceMapSources.push(i),d.inputSourceFileNames.push(a.fileName),p.inlineSources&&d.sourceMapSourcesContent.push(a.text))}}function x(){if(!m)return h(),JSON.stringify({version:3,file:d.sourceMapFile,sourceRoot:d.sourceMapSourceRoot,sources:d.sourceMapSources,names:d.sourceMapNames,mappings:d.sourceMapMappings,sourcesContent:d.sourceMapSourcesContent})}};var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function r(e){if(e<64)return n.charAt(e);throw TypeError(e+": not a 64 based value")}function i(e){e<0?e=1+(-e<<1):e<<=1;var t="";do{var n=31&e;(e>>=5)>0&&(n|=32),t+=r(n)}while(e>0);return t}}(l||(l={})),function(e){e.createCommentWriter=function(t,n){var r,i,a,o,s,c=t.extendedDiagnostics,u=e.getNewLineCharacter(t),l=-1,_=-1,d=-1,p=!1,f=t.removeComments;return{reset:function(){i=void 0,a=void 0,o=void 0,s=void 0},setWriter:function(e){r=e},setSourceFile:function(t){a=(i=t).text,o=e.getLineStarts(i),s=void 0},emitNodeWithComments:function(t,n,r){if(f)r(t,n);else if(n){p=!1;var i=n.emitNode,a=i&&i.flags,o=i&&i.commentRange||n,s=o.pos,u=o.end;if(s<0&&u<0||s===u)m(t,n,i,a,r);else{c&&e.performance.mark("preEmitNodeWithComment");var g=294!==n.kind,y=s<0||0!=(512&a)||10===n.kind,h=u<0||0!=(1024&a)||10===n.kind;y||v(s,g);var b=l,x=_,S=d;y||(l=s),h||(_=u,231===n.kind&&(d=u)),c&&e.performance.measure("commentTime","preEmitNodeWithComment"),m(t,n,i,a,r),c&&e.performance.mark("postEmitNodeWithComment"),l=b,_=x,d=S,!h&&g&&C(u,k),c&&e.performance.measure("commentTime","postEmitNodeWithComment")}}},emitBodyWithDetachedComments:function(t,n,i){c&&e.performance.mark("preEmitBodyWithDetachedComments");var l,_=n.pos,d=n.end,m=e.getEmitFlags(t),g=f||d<0||0!=(1024&m);_<0||0!=(512&m)||(l=e.emitDetachedComments(a,o,r,T,n,u,f))&&(s?s.push(l):s=[l]),c&&e.performance.measure("commentTime","preEmitBodyWithDetachedComments"),2048&m&&!f?(f=!0,i(t),f=!1):i(t),c&&e.performance.mark("beginEmitBodyWithDetachedCommetns"),g||(v(n.end,!0),p&&!r.isAtStartOfLine()&&r.writeLine()),c&&e.performance.measure("commentTime","beginEmitBodyWithDetachedCommetns")},emitTrailingCommentsOfPosition:function(t,n){f||(c&&e.performance.mark("beforeEmitTrailingCommentsOfPosition"),C(t,n?k:S),c&&e.performance.measure("commentTime","beforeEmitTrailingCommentsOfPosition"))},emitLeadingCommentsOfPosition:function(e){f||-1===e||v(e,!0)}};function m(t,n,r,i,a){var o=r&&r.leadingComments;e.some(o)&&(c&&e.performance.mark("preEmitNodeWithSynthesizedComments"),e.forEach(o,g),c&&e.performance.measure("commentTime","preEmitNodeWithSynthesizedComments")),function(e,t,n,r){2048&n?(f=!0,r(e,t),f=!1):r(e,t)}(t,n,i,a);var s=r&&r.trailingComments;e.some(s)&&(c&&e.performance.mark("postEmitNodeWithSynthesizedComments"),e.forEach(s,y),c&&e.performance.measure("commentTime","postEmitNodeWithSynthesizedComments"))}function g(e){2===e.kind&&r.writeLine(),h(e),e.hasTrailingNewLine||2===e.kind?r.writeLine():r.write(" ")}function y(e){r.isAtStartOfLine()||r.write(" "),h(e),e.hasTrailingNewLine&&r.writeLine()}function h(t){var n=function(e){return 3===e.kind?"/*"+e.text+"*/":"//"+e.text}(t),i=3===t.kind?e.computeLineStarts(n):void 0;e.writeCommentRange(n,i,r,0,n.length,u)}function v(e,t){p=!1,t?D(e,x):0===e&&D(e,b)}function b(t,n,r,i,o){(function(t,n){return e.isRecognizedTripleSlashComment(a,t,n)})(t,n)&&x(t,n,r,i,o)}function x(t,i,s,c,l){p||(e.emitNewLineBeforeLeadingCommentOfPosition(o,r,l,t),p=!0),n&&n(t),e.writeCommentRange(a,o,r,t,i,u),n&&n(i),c?r.writeLine():3===s&&r.write(" ")}function k(t,i,s,c){r.isAtStartOfLine()||r.write(" "),n&&n(t),e.writeCommentRange(a,o,r,t,i,u),n&&n(i),c&&r.writeLine()}function S(t,i,s,c){n&&n(t),e.writeCommentRange(a,o,r,t,i,u),n&&n(i),c?r.writeLine():r.write(" ")}function D(t,n){-1!==l&&t===l||(function(t){return void 0!==s&&e.lastOrUndefined(s).nodePos===t}(t)?function(t){var n=e.lastOrUndefined(s).detachedCommentEndPos;s.length-1?s.pop():s=void 0,e.forEachLeadingCommentRange(a,n,t,n)}(n):e.forEachLeadingCommentRange(a,t,n,t))}function C(t,n){(-1===_||t!==_&&t!==d)&&e.forEachTrailingCommentRange(a,t,n)}function T(t,r,i,a,o,s){n&&n(a),e.writeCommentRange(t,r,i,a,o,s),n&&n(o)}}}(l||(l={})),function(e){function t(t,n,r,i,a,o){var s,c,u,l,_,d,p,f,m,g,y,h,v=273===a.kind?a.sourceFiles:[a],b=273===a.kind,x=t.getNewLine(),k=t.getCompilerOptions();L();var S,D,C,T=!1,E=k.removeComments?e.noop:function(t){if(t){var n=e.getJSDocCommentRanges(t,m);e.emitNewLineBeforeLeadingComments(g,d,t,n),e.emitComments(m,g,d,n,!1,!0,x,e.writeCommentRange)}},N=k.stripInternal?function(t){if(t){var n=e.getLeadingCommentRanges(m,t.pos);if(e.forEach(n,M))return;be(t)}}:be,A=!0,P=[],w="",F=[],I=!1,O=[];return e.forEach(v,function(n){if(!e.isSourceFileJavaScript(n)){if(k.noResolve||e.forEach(n.referencedFiles,function(r){var a=e.tryResolveScriptReference(t,n,r);a&&!e.contains(F,a)&&(function(n,r,a){var o,s=!1;return n.isDeclarationFile?o=n.fileName:e.forEachEmittedFile(t,function(t,i){var a=273===i.kind;a&&!r||(e.Debug.assert(!!t.declarationFilePath||e.isSourceFileJavaScript(n),"Declaration file is not present only for javascript files"),o=t.declarationFilePath||t.jsFilePath,s=a)},n,a),o&&(o=e.getRelativePathToDirectoryOrUrl(e.getDirectoryPath(e.normalizeSlashes(i)),o,t.getCurrentDirectory(),t.getCanonicalFileName,!1),w+='/// '+x),s}(a,!b&&!I,o)&&(I=!0),F.push(a))}),f=!1,b&&e.isExternalModule(n)?e.isExternalModule(n)&&(A=!1,s('declare module "'+e.getResolvedExternalModuleName(t,n)+'" {'),c(),u(),Y(n),l(),s("}"),c()):(A=!0,Y(n)),P.length){var r=d;e.forEach(P,function(t){if(t.isVisible&&!t.asynchronousOutput){e.Debug.assert(242===t.node.kind),L(),e.Debug.assert(0===t.indent||1===t.indent&&b);for(var n=0;n'+x}),{reportedDeclarationError:T,moduleElementDeclarationEmitInfo:O,synchronousDeclarationOutput:d.getText(),referencesOutput:w};function M(t){var n=m.substring(t.pos,t.end);return e.stringContains(n,"@internal")}function L(){var t=e.createTextWriter(x);t.trackSymbol=J,t.reportInaccessibleThisError=V,t.reportInaccessibleUniqueSymbolError=U,t.reportPrivateInBaseOfClassExpression=K,t.writeKeyword=t.write,t.writeOperator=t.write,t.writePunctuation=t.write,t.writeSpace=t.write,t.writeStringLiteral=t.writeLiteral,t.writeParameter=t.write,t.writeProperty=t.write,t.writeSymbol=t.write,R(t)}function R(e){d=e,s=e.write,_=e.writeTextOfNode,c=e.writeLine,u=e.increaseIndent,l=e.decreaseIndent}function B(t){var n=d;e.forEach(t,function(t){var n;230===t.kind?n=t.parent.parent:245===t.kind||246===t.kind||243===t.kind?e.Debug.fail("We should be getting ImportDeclaration instead to write"):n=t;var r=e.forEach(P,function(e){return e.node===n?e:void 0});if(!r&&D&&(r=e.forEach(D,function(e){return e.node===n?e:void 0})),r)if(242===r.node.kind)r.isVisible=!0;else{L();for(var i=r.indent;i;i--)u();237===n.kind&&(e.Debug.assert(void 0===D),D=[]),ee(n),237===n.kind&&(r.subModuleElementDeclarationEmitInfo=D,D=void 0),r.asynchronousOutput=d.getText()}}),R(n)}function z(t){if(t){C||(C=e.createMap());for(var n=0,r=t;n"))));case 161:return function(e){a(e.typeName),e.typeArguments&&(s("<"),G(e.typeArguments,Q),s(">"))}(t);case 164:return function(e){s("typeof "),a(e.exprName)}(t);case 166:return function(e){Q(e.elementType),s("[]")}(t);case 167:return function(e){s("["),G(e.elementTypes,Q),s("]")}(t);case 168:return function(e){H(e.types," | ",Q)}(t);case 169:return function(e){H(e.types," & ",Q)}(t);case 170:return function(e){Q(e.checkType),s(" extends "),Q(e.extendsType),s(" ? ");var t=p;p=e.trueType,Q(e.trueType),p=t,s(" : "),Q(e.falseType)}(t);case 171:return function(e){s("infer "),_(m,e.typeParameter.name)}(t);case 172:return function(e){s("("),Q(e.type),s(")")}(t);case 174:return function(t){s(e.tokenToString(t.operator)),s(" "),Q(t.type)}(t);case 175:return function(e){Q(e.objectType),s("["),Q(e.indexType),s("]")}(t);case 176:return function(e){var t=p;p=e,s("{"),c(),u(),e.readonlyToken&&s(37===e.readonlyToken.kind?"+readonly ":38===e.readonlyToken.kind?"-readonly ":"readonly "),s("["),i(e.typeParameter.name),s(" in "),Q(e.typeParameter.constraint),s("]"),e.questionToken&&s(37===e.questionToken.kind?"+?":38===e.questionToken.kind?"-?":"?"),s(": "),e.type?Q(e.type):s("any"),s(";"),c(),l(),s("}"),p=t}(t);case 162:case 163:return ye(t);case 165:return function(e){s("{"),e.members.length&&(c(),u(),W(e.members),l()),s("}")}(t);case 71:case 145:return a(t);case 160:return function(e){_(m,e.parameterName),s(" is "),Q(e.type)}(t)}var r;function i(e){if(71===e.kind)_(m,e);else{var t=145===e.kind?e.right:e.name;i(145===e.kind?e.left:e.expression),s("."),_(m,t)}}function a(e){j(n.isEntityNameVisible(e,241===e.parent.kind?e.parent:p)),z(n.getTypeReferenceDirectivesForEntityName(e)),i(e)}}function Y(t){m=t.text,g=e.getLineStarts(t),y=t.identifiers,h=e.isExternalModule(t),p=t,e.emitDetachedComments(m,g,d,e.writeCommentRange,t,x,!0),W(t.statements)}function $(e,t,r,i){var a=function(e){if(!y.has(e))return e;for(var t=0;;){var n=e+"_"+ ++t;if(!y.has(n))return n}}(t);return i&&s("declare "),s("const "),s(a),s(": "),d.getSymbolAccessibilityDiagnostic=function(){return r},n.writeTypeOfExpression(e,p,6152,d),s(";"),c(),a}function Z(e,t){if(t)ee(e);else if(241===e.kind||272===e.parent.kind&&h){var r=void 0;if(D&&272!==e.parent.kind)D.push({node:e,outputPos:d.getTextPos(),indent:d.getIndent(),isVisible:r});else{if(242===e.kind){var i=e;i.importClause&&(r=i.importClause.name&&n.isDeclarationVisible(i.importClause)||re(i.importClause.namedBindings))}P.push({node:e,outputPos:d.getTextPos(),indent:d.getIndent(),isVisible:r})}}}function ee(t){switch(t.kind){case 232:return me(t);case 212:return function(t){e.every(t.declarationList&&t.declarationList.declarations,function(t){return t.name&&e.isEmptyBindingPattern(t.name)})||(E(t),te(t),e.isLet(t.declarationList)?s("let "):e.isConst(t.declarationList)?s("const "):s("var "),G(t.declarationList.declarations,pe,de),s(";"),c())}(t);case 234:return function(t){E(t),te(t),s("interface "),_(m,t.name);var n=p;p=t,ue(t.typeParameters);var r=e.filter(e.getInterfaceBaseTypeNodes(t),function(t){return e.isEntityNameExpression(t.expression)});r&&r.length&&le(r,!1),s(" {"),c(),u(),W(t.members),l(),s("}"),c(),p=n}(t);case 233:return function(t){var n=p;p=t;var r,i,a=e.getClassExtendsHeritageClauseElement(t);a&&!e.isEntityNameExpression(a.expression)&&(r=95===a.expression.kind?"null":$(a.expression,t.name.escapedText+"_base",{diagnosticMessage:e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,errorNode:a,typeName:t.name},!e.findAncestor(t,function(e){return 237===e.kind}))),E(t),te(t),e.hasModifier(t,128)&&s("abstract "),s("class "),_(m,t.name),ue(t.typeParameters),a&&(e.isEntityNameExpression(a.expression)?le([a],!1):(s(" extends "),s(r),a.typeArguments&&(s("<"),G(a.typeArguments,Q),s(">")))),le(e.getClassImplementsHeritageClauseElements(t),!0),s(" {"),c(),u(),(i=e.getFirstConstructorWithBody(t))&&e.forEach(i.parameters,function(t){e.hasModifier(t,92)&&_e(t)}),W(t.members),l(),s("}"),c(),p=n}(t);case 235:return function(t){var n=p;p=t,E(t),te(t),s("type "),_(m,t.name),ue(t.typeParameters),s(" = "),X(t.type,function(){return{diagnosticMessage:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:t.type,typeName:t.name}}),s(";"),c(),p=n}(t);case 236:return function(t){E(t),te(t),e.isConst(t)&&s("const "),s("enum "),_(m,t.name),s(" {"),c(),u(),W(t.members),l(),s("}"),c()}(t);case 237:return function(t){for(E(t),te(t),e.isGlobalScopeAugmentation(t)?s("global "):(s(16&t.flags?"namespace ":"module "),e.isExternalModuleAugmentation(t)?ae(t):_(m,t.name));t.body&&238!==t.body.kind;)t=t.body,s("."),_(m,t.name);var n=p;t.body?(p=t,s(" {"),c(),u(),W(t.body.statements),l(),s("}"),c(),p=n):s(";")}(t);case 241:return function(t){E(t),e.hasModifier(t,1)&&s("export "),s("import "),_(m,t.name),s(" = "),e.isInternalModuleImportEqualsDeclaration(t)?(X(t.moduleReference,function(){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:t,typeName:t.name}}),s(";")):(s("require("),ae(t),s(");")),d.writeLine()}(t);case 242:return ie(t);default:e.Debug.fail("Unknown symbol kind")}}function te(t){if(272===t.parent.kind){var n=e.getModifierFlags(t);1&n&&(f=!0,s("export ")),512&n?s("default "):234!==t.kind&&A&&s("declare ")}}function ne(e){8&e?s("private "):16&e&&s("protected "),32&e&&s("static "),64&e&&s("readonly "),128&e&&s("abstract ")}function re(e){if(e)return 244===e.kind?n.isDeclarationVisible(e):e.elements.some(function(e){return n.isDeclarationVisible(e)})}function ie(t){if(E(t),e.hasModifier(t,1)&&s("export "),s("import "),t.importClause){var r=d.getTextPos();t.importClause.name&&n.isDeclarationVisible(t.importClause)&&_(m,t.importClause.name),t.importClause.namedBindings&&re(t.importClause.namedBindings)&&(r!==d.getTextPos()&&s(", "),244===t.importClause.namedBindings.kind?(s("* as "),_(m,t.importClause.namedBindings.name)):(s("{ "),G(t.importClause.namedBindings.elements,oe,n.isDeclarationVisible),s(" }"))),s(" from ")}ae(t),s(";"),d.writeLine()}function ae(r){f=f||237!==r.kind;var i=241===r.kind?e.getExternalModuleImportEqualsDeclarationExpression(r):237===r.kind?r.name:r.moduleSpecifier;if(9===i.kind&&b&&(k.out||k.outFile)){var a=e.getExternalModuleNameFromDeclaration(t,n,r);if(a)return s('"'),s(a),void s('"')}_(m,i)}function oe(e){e.propertyName&&(_(m,e.propertyName),s(" as ")),_(m,e.name)}function se(e){oe(e),B(n.collectLinkedAliases(e.propertyName||e.name))}function ce(t){return 153===t.parent.kind&&e.hasModifier(t.parent,8)}function ue(t){t&&(s("<"),G(t,function(t){function n(){var n;switch(t.parent.kind){case 233:n=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 234:n=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 158:n=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 157:n=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 153:case 152:n=e.hasModifier(t.parent,32)?e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:233===t.parent.parent.kind?e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 232:n=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 235:n=e.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:e.Debug.fail("This is unknown parent for type parameter: "+t.parent.kind)}return{diagnosticMessage:n,errorNode:t,typeName:t.name}}u(),E(t),l(),_(m,t.name),t.constraint&&!ce(t)&&(s(" extends "),162===t.parent.kind||163===t.parent.kind||t.parent.parent&&165===t.parent.parent.kind?(e.Debug.assert(153===t.parent.kind||152===t.parent.kind||162===t.parent.kind||163===t.parent.kind||157===t.parent.kind||158===t.parent.kind),Q(t.constraint)):X(t.constraint,n)),t.default&&!ce(t)&&(s(" = "),162===t.parent.kind||163===t.parent.kind||t.parent.parent&&165===t.parent.parent.kind?(e.Debug.assert(153===t.parent.kind||152===t.parent.kind||162===t.parent.kind||163===t.parent.kind||157===t.parent.kind||158===t.parent.kind),Q(t.default)):X(t.default,n))}),s(">"))}function le(t,n){t&&(s(n?" implements ":" extends "),G(t,function(t){e.isEntityNameExpression(t.expression)?X(t,function(){return{diagnosticMessage:233===t.parent.parent.kind?n?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1,errorNode:t,typeName:e.getNameOfDeclaration(t.parent.parent)}}):n||95!==t.expression.kind||s("null")}))}function _e(t){e.hasDynamicName(t)&&!n.isLateBound(t)||(E(t),ne(e.getModifierFlags(t)),pe(t),s(";"),c())}function de(t){return n.isDeclarationVisible(t)||function(t){return!!t&&e.isBindingPattern(t)&&e.some(t.elements,function(t){return!e.isOmittedExpression(t)&&de(t)})}(t.name)}function pe(t){function r(n){return 230===t.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:151===t.kind||150===t.kind||148===t.kind&&e.hasModifier(t.parent,8)?e.hasModifier(t,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:233===t.parent.kind||148===t.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:n.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}function i(e){var n=r(e);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}function a(e){for(var t=[],n=0,r=e.elements;n ":": "),Q(t.type)):154===t.kind||e.hasModifier(t,8)||(o=t,d.getSymbolAccessibilityDiagnostic=function(n){var r;switch(t.kind){case 158:r=n.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 157:r=n.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 159:r=n.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 153:case 152:r=e.hasModifier(t,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:233===t.parent.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:n.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 232:r=n.errorModuleName?2===n.accessibility?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:e.Debug.fail("This is unknown kind for signature: "+t.kind)}return{diagnosticMessage:r,errorNode:t.name||t}},s(": "),o.type?Q(o.type):(S=o.name,n.writeReturnTypeOfSignatureDeclaration(o,p,6152,d),S=void 0)),p=r,u?i&&s(")"):(s(";"),c())}function ve(t){function r(e){if(178===e.kind)s("{"),G(e.elements,i),s("}");else if(179===e.kind){s("[");var t=e.elements;G(t,i),t&&t.hasTrailingComma&&s(", "),s("]")}}function i(t){204===t.kind?s(" "):180===t.kind&&(t.propertyName&&(_(m,t.propertyName),s(": ")),t.name&&(e.isBindingPattern(t.name)?r(t.name):(e.Debug.assert(71===t.name.kind),t.dotDotDotToken&&s("..."),_(m,t.name))))}u(),E(t),t.dotDotDotToken&&s("..."),e.isBindingPattern(t.name)?r(t.name):_(m,t.name),n.isOptionalParameter(t)&&s("?"),l(),162===t.parent.kind||163===t.parent.kind||165===t.parent.parent.kind?fe(t):e.hasModifier(t.parent,8)||q(t,t.type,function(n){var r=function(n){switch(t.parent.kind){case 154:return n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 158:return n.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 157:return n.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 159:return n.errorModuleName?e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 153:case 152:return e.hasModifier(t.parent,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:233===t.parent.parent.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:n.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 232:return n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;default:e.Debug.fail("This is unknown parent for parameter: "+t.parent.kind)}}(n);return void 0!==r?{diagnosticMessage:r,errorNode:t,typeName:t.name}:void 0})}function be(t){switch(t.kind){case 232:case 237:case 241:case 234:case 233:case 235:case 236:return Z(t,function(e){return n.isDeclarationVisible(e)}(t));case 212:return Z(t,function(t){return e.forEach(t.declarationList.declarations,function(e){return de(e)})}(t));case 242:return Z(t,!t.importClause);case 248:return function(e){f=!0,E(e),s("export "),e.exportClause?(s("{ "),G(e.exportClause.elements,se),s(" }")):s("*"),e.moduleSpecifier&&(s(" from "),ae(e)),s(";"),d.writeLine()}(t);case 154:case 153:case 152:return me(t);case 158:case 157:case 159:return ye(t);case 155:case 156:return function(t){if(!e.hasDynamicName(t)||n.isLateBound(t)){var r,i=e.getAllAccessorDeclarations(t.parent.members,t);if(t===i.firstAccessor){if(E(i.getAccessor),E(i.setAccessor),ne(e.getModifierFlags(t)|(i.setAccessor?0:64)),ge(t,function(n){var r=function(n){return e.hasModifier(t,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:233===t.parent.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:n.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1}(n);return void 0!==r?{diagnosticMessage:r,errorNode:t,typeName:t.name}:void 0}),!e.hasModifier(t,8)){r=t;var a=u(t);if(!a){var o=155===t.kind?i.setAccessor:i.getAccessor;(a=u(o))&&(r=o)}q(t,a,function(t){return{diagnosticMessage:156===r.kind?e.hasModifier(r,32)?t.errorModuleName?e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:e.hasModifier(r,32)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:t.errorModuleName?2===t.accessibility?e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1,errorNode:r.name,typeName:r.name}})}s(";"),c()}}function u(e){if(e)return 155===e.kind?e.type:e.parameters.length>0?e.parameters[0].type:void 0}}(t);case 151:case 150:return _e(t);case 271:return function(t){E(t),_(m,t.name);var r=n.getConstantValue(t);void 0!==r&&(s(" = "),s(e.getTextOfConstantValue(r))),s(","),c()}(t);case 247:return function(t){if(e.isSourceFile(t.parent)&&(f=!0),71===t.expression.kind)s(t.isExportEquals?"export = ":"export default "),_(m,t.expression);else{var r=$(t.expression,"_default",{diagnosticMessage:e.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,errorNode:t},A);s(t.isExportEquals?"export = ":"export default "),s(r)}s(";"),c(),71===t.expression.kind&&B(n.collectLinkedAliases(t.expression))}(t);case 272:return Y(t)}}}e.getDeclarationDiagnostics=function(n,r,i){var a=e.createDiagnosticCollection();return e.forEachEmittedFile(n,function(e,i){t(n,r,a,e.declarationFilePath,i,!1)},i),a.getDiagnostics(i?i.fileName:void 0)},e.writeDeclarationFile=function(n,r,i,a,o,s){var c=t(i,a,o,n,r,s),u=c.reportedDeclarationError||i.isEmitBlocked(n)||i.getCompilerOptions().noEmit;if(!u||s){var l=273===r.kind?r.sourceFiles:[r],_=c.referencesOutput+function t(n,r){var i=0,a="";return e.forEach(r,function(e){e.asynchronousOutput&&(a+=n.substring(i,e.outputPos),a+=t(e.asynchronousOutput,e.subModuleElementDeclarationEmitInfo),i=e.outputPos)}),a+=n.substring(i)}(c.synchronousDeclarationOutput,c.moduleElementDeclarationEmitInfo);e.writeFile(i,o,n,_,i.getCompilerOptions().emitBOM,l)}return u}}(l||(l={})),function(e){var t,n=function(){var e=[];return e[512]=["{","}"],e[1024]=["(",")"],e[2048]=["<",">"],e[4096]=["[","]"],e}();function r(t,n,r,o){var s=e.isArray(r)?r:e.getSourceFilesToEmit(t,r),c=t.getCompilerOptions();if(c.outFile||c.out){if(s.length&&(d=n({jsFilePath:_=c.outFile||c.out,sourceMapFilePath:i(_,c),declarationFilePath:c.declaration?e.removeFileExtension(_)+".d.ts":""},e.createBundle(s),o)))return d}else for(var u=0,l=s;u"),Qe(),Q(e.type)}(t);case 280:return function(e){F("function"),ze(e,e.parameters),F(":"),Q(e.type)}(t);case 163:return function(e){He("new"),Qe(),Be(e,e.typeParameters),ze(e,e.parameters),Qe(),qe("=>"),Qe(),Q(e.type)}(t);case 164:return function(e){He("typeof"),Qe(),Q(e.exprName)}(t);case 165:return function(t){qe("{");var n=1&e.getEmitFlags(t)?448:65;Je(t,t.members,262144|n),qe("}")}(t);case 166:return function(e){Q(e.elementType),qe("["),qe("]")}(t);case 167:return function(e){qe("["),Je(e,e.elementTypes,336),qe("]")}(t);case 168:return function(e){Je(e,e.types,260)}(t);case 169:return function(e){Je(e,e.types,264)}(t);case 170:return function(e){Q(e.checkType),Qe(),He("extends"),Qe(),Q(e.extendsType),Qe(),qe("?"),Qe(),Q(e.trueType),Qe(),qe(":"),Qe(),Q(e.falseType)}(t);case 171:return function(e){He("infer"),Qe(),Q(e.typeParameter)}(t);case 172:return function(e){qe("("),Q(e.type),qe(")")}(t);case 205:return function(e){$(e.expression),Re(e,e.typeArguments)}(t);case 173:return void He("this");case 174:return function(e){rt(e.operator,He),Qe(),Q(e.type)}(t);case 175:return function(e){Q(e.objectType),qe("["),Q(e.indexType),qe("]")}(t);case 176:return function(t){var n=e.getEmitFlags(t);qe("{"),1&n?Qe():($e(),Ze()),t.readonlyToken&&(Q(t.readonlyToken),132!==t.readonlyToken.kind&&He("readonly"),Qe()),qe("["),Z(3,t.typeParameter),qe("]"),t.questionToken&&(Q(t.questionToken),55!==t.questionToken.kind&&qe("?")),qe(":"),Qe(),Q(t.type),O(),1&n?Qe():($e(),et()),qe("}")}(t);case 177:return function(e){$(e.literal)}(t);case 275:return void F("*");case 276:return void F("?");case 277:return function(e){F("?"),Q(e.type)}(t);case 278:return function(e){F("!"),Q(e.type)}(t);case 279:return function(e){Q(e.type),F("=")}(t);case 281:return function(e){F("..."),Q(e.type)}(t);case 178:return function(e){qe("{"),Je(e,e.elements,262576),qe("}")}(t);case 179:return function(e){qe("["),Je(e,e.elements,262448),qe("]")}(t);case 180:return function(e){X(e.dotDotDotToken),e.propertyName&&(Q(e.propertyName),qe(":"),Qe()),Q(e.name),Fe(e.initializer,e.name.end,e)}(t);case 209:return function(e){$(e.expression),Q(e.literal)}(t);case 210:return void O();case 211:return function(e){ue(e,!e.multiLine&&pt(e))}(t);case 212:return function(e){Pe(e,e.modifiers),Q(e.declarationList),O()}(t);case 213:return void O();case 214:return function(e){$(e.expression),O()}(t);case 215:return function(e){var t=de(90,e.pos,He,e);Qe(),de(19,t,qe,e),$(e.expression),de(20,e.expression.end,qe,e),Me(e,e.thenStatement),e.elseStatement&&(it(e),de(82,e.thenStatement.end,He,e),215===e.elseStatement.kind?(Qe(),Q(e.elseStatement)):Me(e,e.elseStatement))}(t);case 216:return function(t){de(81,t.pos,He,t),Me(t,t.statement),e.isBlock(t.statement)?Qe():it(t),le(t,t.statement.end),qe(";")}(t);case 217:return function(e){le(e,e.pos),Me(e,e.statement)}(t);case 218:return function(e){var t=de(88,e.pos,He,e);Qe();var n=de(19,t,qe,e);_e(e.initializer),n=de(25,e.initializer?e.initializer.end:n,O,e),Oe(e.condition),n=de(25,e.condition?e.condition.end:n,O,e),Oe(e.incrementor),de(20,e.incrementor?e.incrementor.end:n,qe,e),Me(e,e.statement)}(t);case 219:return function(e){var t=de(88,e.pos,He,e);Qe(),de(19,t,qe,e),_e(e.initializer),Qe(),de(92,e.initializer.end,He,e),Qe(),$(e.expression),de(20,e.expression.end,qe,e),Me(e,e.statement)}(t);case 220:return function(e){var t=de(88,e.pos,He,e);Qe(),function(e){e&&(Q(e),Qe())}(e.awaitModifier),de(19,t,qe,e),_e(e.initializer),Qe(),de(144,e.initializer.end,He,e),Qe(),$(e.expression),de(20,e.expression.end,qe,e),Me(e,e.statement)}(t);case 221:return function(e){de(77,e.pos,He,e),Ie(e.label),O()}(t);case 222:return function(e){de(72,e.pos,He,e),Ie(e.label),O()}(t);case 223:return function(e){de(96,e.pos,He,e),Oe(e.expression),O()}(t);case 224:return function(e){var t=de(107,e.pos,He,e);Qe(),de(19,t,qe,e),$(e.expression),de(20,e.expression.end,qe,e),Me(e,e.statement)}(t);case 225:return function(e){var t=de(98,e.pos,He,e);Qe(),de(19,t,qe,e),$(e.expression),de(20,e.expression.end,qe,e),Qe(),Q(e.caseBlock)}(t);case 226:return function(e){Q(e.label),de(56,e.label.end,qe,e),Qe(),Q(e.statement)}(t);case 227:return function(e){de(100,e.pos,He,e),Oe(e.expression),O()}(t);case 228:return function(e){de(102,e.pos,He,e),Qe(),Q(e.tryBlock),e.catchClause&&(it(e),Q(e.catchClause)),e.finallyBlock&&(it(e),de(87,(e.catchClause||e.tryBlock).end,He,e),Qe(),Q(e.finallyBlock))}(t);case 229:return function(e){tt(78,e.pos,He),O()}(t);case 230:return function(e){Q(e.name),we(e.type),Fe(e.initializer,e.type?e.type.end:e.name.end,e)}(t);case 231:return function(t){He(e.isLet(t)?"let":e.isConst(t)?"const":"var"),Qe(),Je(t,t.declarations,272)}(t);case 232:return function(e){pe(e)}(t);case 233:return function(e){be(e)}(t);case 234:return function(e){Le(e,e.decorators),Pe(e,e.modifiers),He("interface"),Qe(),Q(e.name),Be(e,e.typeParameters),Je(e,e.heritageClauses,256),Qe(),qe("{"),Je(e,e.members,65),qe("}")}(t);case 235:return function(e){Le(e,e.decorators),Pe(e,e.modifiers),He("type"),Qe(),Q(e.name),Be(e,e.typeParameters),Qe(),qe("="),Qe(),Q(e.type),O()}(t);case 236:return function(e){Pe(e,e.modifiers),He("enum"),Qe(),Q(e.name),Qe(),qe("{"),Je(e,e.members,81),qe("}")}(t);case 237:return function(e){Pe(e,e.modifiers),512&~e.flags&&(He(16&e.flags?"namespace":"module"),Qe()),Q(e.name);for(var t=e.body;237===t.kind;)qe("."),Q(t.name),t=t.body;Qe(),Q(t)}(t);case 238:return function(e){yt(e),ue(e,pt(e)),ht(e)}(t);case 239:return function(e){de(17,e.pos,qe,e),Je(e,e.clauses,65),de(18,e.clauses.end,qe,e,!0)}(t);case 240:return function(e){var t=de(84,e.pos,He,e);Qe(),t=de(118,t,He,e),Qe(),t=de(130,t,He,e),Qe(),Q(e.name),O()}(t);case 241:return function(e){Pe(e,e.modifiers),de(91,e.modifiers?e.modifiers.end:e.pos,He,e),Qe(),Q(e.name),Qe(),de(58,e.name.end,qe,e),Qe(),function(e){71===e.kind?$(e):Q(e)}(e.moduleReference),O()}(t);case 242:return function(e){Pe(e,e.modifiers),de(91,e.modifiers?e.modifiers.end:e.pos,He,e),Qe(),e.importClause&&(Q(e.importClause),Qe(),de(142,e.importClause.end,He,e),Qe()),$(e.moduleSpecifier),O()}(t);case 243:return function(e){Q(e.name),e.name&&e.namedBindings&&(de(26,e.name.end,qe,e),Qe()),Q(e.namedBindings)}(t);case 244:return function(e){var t=de(39,e.pos,qe,e);Qe(),de(118,t,He,e),Qe(),Q(e.name)}(t);case 245:return function(e){xe(e)}(t);case 246:return function(e){ke(e)}(t);case 247:return function(e){var t=de(84,e.pos,He,e);Qe(),e.isExportEquals?de(58,t,Ge,e):de(79,t,He,e),Qe(),$(e.expression),O()}(t);case 248:return function(e){var t=de(84,e.pos,He,e);Qe(),e.exportClause?Q(e.exportClause):t=de(39,t,qe,e),e.moduleSpecifier&&(Qe(),de(142,e.exportClause?e.exportClause.end:t,He,e),Qe(),$(e.moduleSpecifier)),O()}(t);case 249:return function(e){xe(e)}(t);case 250:return function(e){ke(e)}(t);case 251:return;case 252:return function(e){He("require"),qe("("),$(e.expression),qe(")")}(t);case 10:return function(e){I(),d.writeLiteral(mt(e,!0))}(t);case 255:case 258:return function(t){qe("<"),e.isJsxOpeningElement(t)&&(Se(t.tagName),t.attributes.properties&&t.attributes.properties.length>0&&(Qe(),Q(t.attributes))),qe(">")}(t);case 256:case 259:return function(t){qe("")}(t);case 260:return function(e){Q(e.name),function(e,t,n,r){n&&(qe("="),r(n))}(0,0,e.initializer,Q)}(t);case 261:return function(e){Je(e,e.properties,131328)}(t);case 262:return function(e){qe("{..."),$(e.expression),qe("}")}(t);case 263:return function(e){e.expression&&(qe("{"),X(e.dotDotDotToken),$(e.expression),qe("}"))}(t);case 264:return function(e){de(73,e.pos,He,e),Qe(),$(e.expression),De(e,e.statements,e.expression.end)}(t);case 265:return function(e){var t=de(79,e.pos,He,e);De(e,e.statements,t)}(t);case 266:return function(e){Qe(),rt(e.token,He),Qe(),Je(e,e.types,272)}(t);case 267:return function(e){var t=de(74,e.pos,He,e);Qe(),e.variableDeclaration&&(de(19,t,qe,e),Q(e.variableDeclaration),de(20,e.variableDeclaration.end,qe,e),Qe()),Q(e.block)}(t);case 268:return function(t){Q(t.name),qe(":"),Qe();var n=t.initializer;if(P&&0==(512&e.getEmitFlags(n))){var r=e.getCommentRange(n);P(r.pos)}$(n)}(t);case 269:return function(e){Q(e.name),e.objectAssignmentInitializer&&(Qe(),qe("="),Qe(),$(e.objectAssignmentInitializer))}(t);case 270:return function(e){e.expression&&(qe("..."),$(e.expression))}(t);case 271:return function(e){Q(e.name),Fe(e.initializer,e.name.end,e)}(t)}var r;if(e.isExpression(t))return re(ie(1,t));e.isToken(t)&&nt(t,qe)}}(n)}}function re(n){switch(n.kind){case 8:return function(e){oe(e)}(n);case 9:case 12:case 13:return oe(n);case 71:return se(n);case 86:case 95:case 97:case 101:case 99:case 91:return void nt(n,He);case 181:return function(e){Ke(e,e.elements,4466|(e.multiLine?32768:0))}(n);case 182:return function(t){var n=65536&e.getEmitFlags(t);n&&Ze(),Je(t,t.properties,263122|(i.languageVersion>=1?32:0)|(t.multiLine?32768:0)),n&&et()}(n);case 183:return function(n){var r=!1,a=!1;if(!(131072&e.getEmitFlags(n))){var o=n.expression.end,s=e.skipTrivia(i.text,n.expression.end)+1,c=e.createToken(23);c.pos=o,c.end=s,r=dt(n,n.expression,c),a=dt(n,c,n.name)}$(n.expression),ot(r),!r&&function(n){if(n=e.skipPartiallyEmittedExpressions(n),e.isNumericLiteral(n)){var r=gt(n);return!n.numericLiteralFlags&&!e.stringContains(r,e.tokenToString(23))}if(e.isPropertyAccessExpression(n)||e.isElementAccessExpression(n)){var i=e.getConstantValue(n);return"number"==typeof i&&isFinite(i)&&Math.floor(i)===i&&t.removeComments}}(n.expression)&&qe("."),de(23,n.expression.end,qe,n),ot(a),Q(n.name),st(r,a)}(n);case 184:return function(e){$(e.expression);var t=de(21,e.expression.end,qe,e);$(e.argumentExpression),de(22,e.argumentExpression?e.argumentExpression.end:t,qe,e)}(n);case 185:return function(e){$(e.expression),Re(e,e.typeArguments),Ke(e,e.arguments,1296)}(n);case 186:return function(e){de(94,e.pos,He,e),Qe(),$(e.expression),Re(e,e.typeArguments),Ke(e,e.arguments,9488)}(n);case 187:return function(e){$(e.tag),Qe(),$(e.template)}(n);case 188:return function(e){qe("<"),Q(e.type),qe(">"),$(e.expression)}(n);case 189:return function(e){var t=de(19,e.pos,qe,e);$(e.expression),de(20,e.expression?e.expression.end:t,qe,e)}(n);case 190:return function(e){pe(e)}(n);case 191:return function(e){Le(e,e.decorators),Pe(e,e.modifiers),me(e,ce)}(n);case 192:return function(e){de(80,e.pos,He,e),Qe(),$(e.expression)}(n);case 193:return function(e){de(103,e.pos,He,e),Qe(),$(e.expression)}(n);case 194:return function(e){de(105,e.pos,He,e),Qe(),$(e.expression)}(n);case 195:return function(e){de(121,e.pos,He,e),Qe(),$(e.expression)}(n);case 196:return function(e){rt(e.operator,Ge),function(e){var t=e.operand;return 196===t.kind&&(37===e.operator&&(37===t.operator||43===t.operator)||38===e.operator&&(38===t.operator||44===t.operator))}(e)&&Qe(),$(e.operand)}(n);case 197:return function(e){$(e.operand),rt(e.operator,Ge)}(n);case 198:return function(e){var t=26!==e.operatorToken.kind,n=dt(e,e.left,e.operatorToken),r=dt(e,e.operatorToken,e.right);$(e.left),ot(n,t?" ":void 0),w(e.operatorToken.pos),nt(e.operatorToken,Ge),P(e.operatorToken.end,!0),ot(r," "),$(e.right),st(n,r)}(n);case 199:return function(e){var t=dt(e,e.condition,e.questionToken),n=dt(e,e.questionToken,e.whenTrue),r=dt(e,e.whenTrue,e.colonToken),i=dt(e,e.colonToken,e.whenFalse);$(e.condition),ot(t," "),Q(e.questionToken),ot(n," "),$(e.whenTrue),st(t,n),ot(r," "),Q(e.colonToken),ot(i," "),$(e.whenFalse),st(r,i)}(n);case 200:return function(e){Q(e.head),Je(e,e.templateSpans,131072)}(n);case 201:return function(e){de(116,e.pos,He,e),Q(e.asteriskToken),Oe(e.expression)}(n);case 202:return function(e){qe("..."),$(e.expression)}(n);case 203:return function(e){be(e)}(n);case 204:return;case 206:return function(e){$(e.expression),e.type&&(Qe(),He("as"),Qe(),Q(e.type))}(n);case 207:return function(e){$(e.expression),Ge("!")}(n);case 208:return function(e){tt(e.keywordToken,e.pos,qe),qe("."),Q(e.name)}(n);case 253:return function(e){Q(e.openingElement),Je(e,e.children,131072),Q(e.closingElement)}(n);case 254:return function(e){qe("<"),Se(e.tagName),Qe(),e.attributes.properties&&e.attributes.properties.length>0&&Q(e.attributes),qe("/>")}(n);case 257:return function(e){Q(e.openingFragment),Je(e,e.children,131072),Q(e.closingFragment)}(n);case 295:return function(e){$(e.expression)}(n);case 296:return function(e){Ke(e,e.elements,272)}(n)}}function ie(e,t){return t&&x&&x(e,t)||t}function ae(e){v&&v(e,at)}function oe(n){var r,i=gt(n);!t.sourceMap&&!t.inlineSourceMap||9!==n.kind&&!e.isTemplateLiteralKind(n.kind)?function(e){I(),d.writeStringLiteral(e)}(i):(r=i,I(),d.writeLiteral(r))}function se(e){(e.symbol?function(e,t){I(),d.writeSymbol(e,t)}:F)(mt(e,!1),e.symbol),Je(e,e.typeArguments,26896)}function ce(e){Be(e,e.typeParameters),je(e,e.parameters),we(e.type),Qe(),Q(e.equalsGreaterThanToken)}function ue(t,n){de(17,t.pos,qe,t);var r=n||1&e.getEmitFlags(t)?384:65;Je(t,t.statements,r),de(18,t.statements.end,qe,t,!!(1&r))}function le(e,t){var n=de(106,t,He,e);Qe(),de(19,n,qe,e),$(e.expression),de(20,e.expression.end,qe,e)}function _e(e){void 0!==e&&(231===e.kind?Q(e):$(e))}function de(t,n,r,a,o){var s=a&&e.getParseTreeNode(a),c=s&&s.kind===a.kind,u=n;if(c&&(n=e.skipTrivia(i.text,n)),w&&c){var l=o&&!e.positionsAreOnSameLine(u,n,i);l&&Ze(),w(u),l&&et()}return n=rt(t,r,n),P&&c&&P(n,!0),n}function pe(e){Le(e,e.decorators),Pe(e,e.modifiers),He("function"),X(e.asteriskToken),Qe(),Y(e.name),me(e,ge)}function fe(e,t){ye(t)}function me(t,n){var r=t.body;if(r)if(e.isBlock(r)){var i=65536&e.getEmitFlags(t);i&&Ze(),yt(t),n(t),h?h(4,r,fe):ye(r),ht(t),i&&et()}else n(t),Qe(),$(r);else n(t),O()}function ge(e){Be(e,e.typeParameters),ze(e,e.parameters),we(e.type)}function ye(t){Qe(),qe("{"),Ze();var n=function(t){if(1&e.getEmitFlags(t))return!0;if(t.multiLine)return!1;if(!e.nodeIsSynthesized(t)&&!e.rangeIsOnSingleLine(t,i))return!1;if(ct(t,t.statements,2)||lt(t,t.statements,2))return!1;for(var n,r=0,a=t.statements;r0)&&$e(),Q(a),r&&r.set(a.expression.text,!0))}return t.length}function Ee(t){if(e.isSourceFile(t))W(t),Te(t.statements);else for(var n=e.createMap(),r=0,i=t.sourceFiles;r=i.length||0===s;if(u&&16384&a)return k&&k(i),void(S&&S(i));if(7680&a&&(qe(function(e){return n[7680&e][0]}(a)),u&&P(i.pos,!0)),k&&k(i),u)1&a?$e():128&a&&!(262144&a)&&Qe();else{var l=0==(131072&a),_=l;ct(r,i,a)?($e(),_=!1):128&a&&Qe(),64&a&&Ze();for(var d=void 0,p=void 0,f=0;fe.getRootLength(n)&&!function(t){return!!i.has(t)||!!e.sys.directoryExists(t)&&(i.set(t,!0),!0)}(n)&&(t(e.getDirectoryPath(n)),e.sys.createDirectory(n))}(e.getDirectoryPath(e.normalizePath(n))),e.isWatchSet(t)&&e.sys.createHash&&e.sys.getModifiedTime?function(t,n,i){r||(r=e.createMap());var a=e.sys.createHash(n),o=e.sys.getModifiedTime(t);if(o){var s=r.get(t);if(s&&s.byteOrderMark===i&&s.hash===a&&s.mtime.getTime()===o.getTime())return}e.sys.writeFile(t,n,i);var c=e.sys.getModifiedTime(t);r.set(t,{hash:a,byteOrderMark:i,mtime:c})}(n,a,o):e.sys.writeFile(n,a,o),e.performance.mark("afterIOWrite"),e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite")}catch(e){s&&s(e.message)}},getCurrentDirectory:e.memoize(function(){return e.sys.getCurrentDirectory()}),useCaseSensitiveFileNames:function(){return e.sys.useCaseSensitiveFileNames},getCanonicalFileName:function(t){return e.sys.useCaseSensitiveFileNames?t:t.toLowerCase()},getNewLine:function(){return o},fileExists:function(t){return e.sys.fileExists(t)},readFile:function(t){return e.sys.readFile(t)},trace:function(t){return e.sys.write(t+o)},directoryExists:function(t){return e.sys.directoryExists(t)},getEnvironmentVariable:function(t){return e.sys.getEnvironmentVariable?e.sys.getEnvironmentVariable(t):""},getDirectories:function(t){return e.sys.getDirectories(t)},realpath:s}}function o(t,n){var r=e.diagnosticCategoryName(t)+" TS"+t.code+": "+_(t.messageText,n.getNewLine())+n.getNewLine();if(t.file){var i=e.getLineAndCharacterOfPosition(t.file,t.start),a=i.line,o=i.character;return e.convertToRelativePath(t.file.fileName,n.getCurrentDirectory(),function(e){return n.getCanonicalFileName(e)})+"("+(a+1)+","+(o+1)+"): "+r}return r}e.findConfigFile=function(t,n,r){return void 0===r&&(r="tsconfig.json"),e.forEachAncestorDirectory(t,function(t){var i=e.combinePaths(t,r);return n(i)?i:void 0})},e.resolveTripleslashReference=r,e.computeCommonSourceDirectoryOfFilenames=i,e.createCompilerHost=a,e.getPreEmitDiagnostics=function(t,n,r){var i=t.getOptionsDiagnostics(r).concat(t.getSyntacticDiagnostics(n,r),t.getGlobalDiagnostics(r),t.getSemanticDiagnostics(n,r));return t.getCompilerOptions().declaration&&e.addRange(i,t.getDeclarationDiagnostics(n,r)),e.sortAndDeduplicateDiagnostics(i)},e.formatDiagnostics=function(e,t){for(var n="",r=0,i=e;r=4,T=(x+1+"").length;C&&(T=Math.max("...".length,T));for(var E=h;E<=x;E++){p+=r.getNewLine(),C&&h+10||c.length>0)return{diagnostics:e.concatenate(u,c),sourceMaps:void 0,emittedFiles:void 0,emitSkipped:!0}}}var l=_e().getEmitResolver(o.outFile||o.out?void 0:n,i);e.performance.mark("beforeEmit");var _=a?[]:e.getTransformers(o,s),d=e.emitFiles(l,ue(r),n,a,_);return e.performance.mark("afterEmit"),e.performance.measure("Emit","beforeEmit","afterEmit"),d}(u,t,n,r,i,a)})},getCurrentDirectory:function(){return L},getNodeCount:function(){return _e().getNodeCount()},getIdentifierCount:function(){return _e().getIdentifierCount()},getSymbolCount:function(){return _e().getSymbolCount()},getTypeCount:function(){return _e().getTypeCount()},getFileProcessingDiagnostics:function(){return S},getResolvedTypeReferenceDirectives:function(){return k},isSourceFileFromExternalLibrary:le,isSourceFileDefaultLibrary:function(t){if(t.hasNoDefaultLib)return!0;if(!o.noLib)return!1;var n=s.useCaseSensitiveFileNames()?e.equateStringsCaseSensitive:e.equateStringsCaseInsensitive;return o.lib?e.forEach(o.lib,function(r){return n(t.fileName,e.combinePaths(O,r))}):n(t.fileName,I())},dropDiagnosticsProducingTypeChecker:function(){_=void 0},getSourceFileFromReference:function(e,t){return Pe(r(t.fileName,e.fileName),function(e){return G.get(oe(e))})},sourceFileToPackageName:W,redirectTargetsSet:H,isEmittedFile:function(t){if(o.noEmit)return!1;var n=oe(t);if(me(n))return!1;var r=o.outFile||o.out;if(r)return Xe(n,r)||Xe(n,e.removeFileExtension(r)+".d.ts");if(o.outDir)return e.containsPath(o.outDir,n,L,!s.useCaseSensitiveFileNames());if(e.fileExtensionIsOneOf(n,e.supportedJavascriptExtensions)||e.fileExtensionIs(n,".d.ts")){var i=e.removeFileExtension(n);return!!me(e.combinePaths(i,".ts"))||!!me(e.combinePaths(i,".tsx"))}return!1}},function(){if(o.isolatedModules&&(o.declaration&&Ue(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"declaration","isolatedModules"),o.noEmitOnError&&Ue(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"noEmitOnError","isolatedModules"),o.out&&Ue(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"out","isolatedModules"),o.outFile&&Ue(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"outFile","isolatedModules")),o.inlineSourceMap&&(o.sourceMap&&Ue(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"sourceMap","inlineSourceMap"),o.mapRoot&&Ue(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"mapRoot","inlineSourceMap")),o.paths&&void 0===o.baseUrl&&Ue(e.Diagnostics.Option_paths_cannot_be_used_without_specifying_baseUrl_option,"paths"),o.paths)for(var t in o.paths)if(e.hasProperty(o.paths,t))if(e.hasZeroOrOneAsteriskCharacter(t)||Je(!0,t,e.Diagnostics.Pattern_0_can_have_at_most_one_Asterisk_character,t),e.isArray(o.paths[t])){var n=o.paths[t].length;0===n&&Je(!1,t,e.Diagnostics.Substitutions_for_pattern_0_shouldn_t_be_an_empty_array,t);for(var r=0;r1})&&Ue(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files,"outDir")}if(!o.noEmit&&o.allowJs&&o.declaration&&Ue(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"allowJs","declaration"),o.checkJs&&!o.allowJs&&M.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"checkJs","allowJs")),o.emitDeclarationOnly&&(o.declaration||Ue(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDeclarationOnly","declaration"),o.noEmit&&Ue(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"emitDeclarationOnly","noEmit")),o.emitDecoratorMetadata&&!o.experimentalDecorators&&Ue(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators"),o.jsxFactory?(o.reactNamespace&&Ue(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"reactNamespace","jsxFactory"),e.parseIsolatedEntityName(o.jsxFactory,c)||Ve("jsxFactory",e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,o.jsxFactory)):o.reactNamespace&&!e.isIdentifierText(o.reactNamespace,c)&&Ve("reactNamespace",e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,o.reactNamespace),!o.noEmit&&!o.suppressOutputPathCheck){var g=ue(),y=e.createMap();e.forEachEmittedFile(g,function(e){o.emitDeclarationOnly||h(e.jsFilePath,y),h(e.declarationFilePath,y)})}function h(t,n){if(t){var r,i=oe(t);G.has(i)&&(o.configFilePath||(r=e.chainDiagnosticMessages(void 0,e.Diagnostics.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig)),r=e.chainDiagnosticMessages(r,e.Diagnostics.Cannot_write_file_0_because_it_would_overwrite_input_file,t),Ge(t,e.createCompilerDiagnosticFromMessageChain(r)));var a=s.useCaseSensitiveFileNames()?i:i.toLocaleLowerCase();n.has(a)?Ge(t,e.createCompilerDiagnostic(e.Diagnostics.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files,t)):n.set(a,!0)}}}(),e.performance.mark("afterProgram"),e.performance.measure("Program","beforeProgram","afterProgram"),u;function oe(t){return e.toPath(t,L,Be)}function se(){if(void 0===l){var t=e.filter(v,function(t){return e.sourceFileMayBeEmitted(t,o,le)});(l=o.rootDir&&function(t,n){var r=!0;if(t)for(var i=s.getCanonicalFileName(e.getNormalizedAbsolutePath(o.rootDir,L)),a=0,c=t;a0;){var s=r.text.slice(a[o-1],a[o]),c=n.exec(s);if(!c)return!0;if(c[3])return!1;o--}return!0}function ke(e,t){return De(e,t,x,Se)}function Se(t,n){return he(function(){var r=_e().getEmitResolver(t,n);return e.getDeclarationDiagnostics(ue(e.noop),r,t)})}function De(t,n,r,i){var a=t?r.perFile&&r.perFile.get(t.path):r.allDiagnostics;if(a)return a;var o=i(t,n)||e.emptyArray;return t?(r.perFile||(r.perFile=e.createMap()),r.perFile.set(t.path,o)):r.allDiagnostics=o,o}function Ce(e,t){return e.isDeclarationFile?[]:ke(e,t)}function Te(t,n){we(e.normalizePath(t),n,void 0)}function Ee(e,t){return e.fileName===t.fileName}function Ne(e,t){return 9===e.kind?9===t.kind&&e.text===t.text:71===t.kind&&e.escapedText===t.escapedText}function Ae(t){if(!t.imports){var n,r,i,a=e.isSourceFileJavaScript(t),s=e.isExternalModule(t);if(o.importHelpers&&(o.isolatedModules||s)&&!t.isDeclarationFile){var c=e.createLiteral(e.externalHelpersModuleNameText),u=e.createImportDeclaration(void 0,void 0,void 0);e.addEmitFlags(u,67108864),c.parent=u,u.parent=t,n=[c]}for(var l=0,_=t.statements;l<_.length;l++){var d=_[l];p(d,!1),(524288&t.flags||a)&&f(d)}return t.imports=n||e.emptyArray,t.moduleAugmentations=r||e.emptyArray,void(t.ambientModuleNames=i||e.emptyArray)}function p(a,o){switch(a.kind){case 242:case 241:case 248:var c=e.getExternalModuleName(a);if(!c||!e.isStringLiteral(c))break;if(!c.text)break;o&&e.isExternalModuleNameRelative(c.text)||(n||(n=[])).push(c);break;case 237:if(e.isAmbientModule(a)&&(o||e.hasModifier(a,2)||t.isDeclarationFile)){var u=a.name,l=e.getTextOfIdentifierOrLiteral(u);if(s||o&&!e.isExternalModuleNameRelative(l))(r||(r=[])).push(u);else if(!o){t.isDeclarationFile&&(i||(i=[])).push(l);var _=a.body;if(_)for(var d=0,f=_.statements;d0),_.path=n,s.useCaseSensitiveFileNames()){var m=n.toLowerCase(),g=X.get(m);g?Fe(t,g.fileName,i,a,c):X.set(m,_)}F=F||_.hasNoDefaultLib,o.noResolve||(Oe(_,r),Me(_)),ze(_),r?v.unshift(_):v.push(_)}return _}function Oe(t,n){e.forEach(t.referencedFiles,function(e){we(r(e.fileName,t.fileName),n,void 0,t,e.pos,e.end)})}function Me(t){for(var n=e.map(t.typeReferenceDirectives,function(e){return e.fileName.toLocaleLowerCase()}),r=w(n,t.fileName),i=0;iD,f=_&&!p(o,s)&&!o.noResolve&&an&&(M.add(e.createDiagnosticForNodeInSourceFile(o.configFile,f.initializer.elements[n],r,i,a,s)),c=!1)}}c&&M.add(e.createCompilerDiagnostic(r,i,a,s))}function Je(t,n,r,i){for(var a=!0,o=0,s=Ke();o0)for(var a=t.getTypeChecker(),o=0,s=n.imports;o0)for(var _=0,d=n.referencedFiles;_0?o(l.outputFiles[0].text):u}return i.set(r.path,c),!u||c!==u}function o(t,n){if(!t.allFileNames){var r=n.getSourceFiles();t.allFileNames=r===e.emptyArray?e.emptyArray:r.map(function(e){return e.fileName})}return t.allFileNames}function s(t,n){return e.arrayFrom(e.mapDefinedIterator(t.referencedMap.entries(),function(e){var t=e[0];return e[1].has(n)?t:void 0}))}function c(t){for(var n=0,r=t.statements;n0;){var f=p.pop();if(!d.has(f)){var m=n.getSourceFileByPath(f);d.set(f,m),m&&a(t,n,m,i,o,l)&&p.push.apply(p,s(t,f))}}return e.arrayFrom(e.mapDefinedIterator(d.values(),function(e){return e}))}:function(e,t,n){var r=t.getCompilerOptions();return r&&(r.out||r.outFile)?[n]:u(e,t,n)})(t,n,p,d,o,l);return _||i(t,d),f},t.updateSignaturesFromCache=i,t.getAllDependencies=function(t,n,r){var i=n.getCompilerOptions();if(i.outFile||i.out)return o(t,n);if(!t.referencedMap||!e.isExternalModule(r)&&!c(r))return o(t,n);for(var a,s=e.createMap(),u=[r.path];u.length;){var l=u.pop();if(!s.has(l)){s.set(l,!0);var _=t.referencedMap.get(l);if(_)for(var d=_.keys(),p=d.next(),f=p.value,m=p.done;!m;f=(a=d.next()).value,m=a.done,a)u.push(f)}}return e.arrayFrom(e.mapDefinedIterator(s.keys(),function(e){var t=n.getSourceFileByPath(e);return t?t.fileName:e}))}}(e.BuilderState||(e.BuilderState={}))}(l||(l={})),function(e){function t(t,n){e.Debug.assert(!n||!t.affectedFiles||t.affectedFiles[t.affectedFilesIndex-1]!==n||!t.semanticDiagnosticsPerFile.has(n.path))}function n(t,n,r){for(;;){var i=t.affectedFiles;if(i){for(var a=t.seenAffectedFiles,o=t.semanticDiagnosticsPerFile,s=t.affectedFilesIndex;s0;n--)if(0===(r=t.indexOf(e.directorySeparator,r)+1))return!1;return!0}(t,47===t.charCodeAt(0)?3:1)}function P(e,t){return A(t)||(e.ignore=!0),e}function w(t,n){return S(v,n)?{dir:h,dirPath:v}:F(e.getDirectoryPath(e.getNormalizedAbsolutePath(t,s())),e.getDirectoryPath(n))}function F(t,n){for(;e.stringContains(n,"/node_modules/");)t=e.getDirectoryPath(t),n=e.getDirectoryPath(n);if(E(n))return P({dir:t,dirPath:n},e.getDirectoryPath(n));if(void 0!==v)for(;!S(n,v);){var r=e.getDirectoryPath(n);if(r===n)break;n=r,t=e.getDirectoryPath(t)}return P({dir:t,dirPath:n},n)}function I(t){return e.fileExtensionIsOneOf(t,m)}function O(e){if(e.failedLookupLocations&&e.failedLookupLocations.length)if(void 0===e.refCount){e.refCount=1;for(var n=!1,r=0,i=e.failedLookupLocations;r1),g.set(s,l-1))),u===v?r=!0:R(u)}}r&&R(v)}}function R(e){y.get(e).refCount--}function B(e,t){var n=e.get(t);n&&(n.forEach(L),e.delete(t))}function z(e){B(u,e),B(p,e)}function j(t,n,r){var i=e.createMap();t.forEach(function(t,o){var s=e.getDirectoryPath(o),c=i.get(s);c||(c=e.createMap(),i.set(s,c)),t.forEach(function(t,i){c.has(i)||(c.set(i,!0),!t.isInvalidated&&n(t,r)&&(t.isInvalidated=!0,(a||(a=e.createMap())).set(o,!0)))})})}function J(n){var r;u.size>(r=t.maxNumberOfFilesToIterateForInvalidation||e.maxNumberOfFilesToIterateForInvalidation)||p.size>r?o=!0:(j(u,n,x),j(p,n,k))}function K(n,r){var i;if(r)i=function(e){return S(n,t.toPath(e))};else{var s=e.getDirectoryPath(n);if(N(n)||E(n)||N(s)||E(s))i=function(r){return t.toPath(r)===n||e.startsWith(t.toPath(r),n)};else{if(!I(n)&&!g.has(n))return!1;if(e.isEmittedFileOfProgram(t.getCurrentProgram(),n))return!1;i=function(e){return t.toPath(e)===n}}}var c=a&&a.size;return J(function(t){return e.some(t.failedLookupLocations,i)}),o||a&&a.size!==c}function U(){e.clearMap(b,e.closeFileWatcher)}function V(e,n){return t.watchTypeRootsDirectory(n,function(r){var i=t.toPath(r);c&&c.addOrDeleteFileOrDirectory(r,i),t.onChangedAutomaticTypeDirectiveNames();var a=function(e,t){if(!o){if(S(v,t))return v;var n=F(e,t),r=n.dirPath;return!n.ignore&&y.has(r)&&r}}(n,e);a&&K(i,a===i)&&t.onInvalidatedResolution()},1)}function q(n){var r=e.getDirectoryPath(e.getDirectoryPath(n)),i=t.toPath(r);return i===v||A(i)}}}(l||(l={})),function(e){var t=e.sys?{getCurrentDirectory:function(){return e.sys.getCurrentDirectory()},getNewLine:function(){return e.sys.newLine},getCanonicalFileName:e.createGetCanonicalFileName(e.sys.useCaseSensitiveFileNames)}:void 0;function n(n,r){var i=n===e.sys?t:{getCurrentDirectory:function(){return n.getCurrentDirectory()},getNewLine:function(){return n.newLine},getCanonicalFileName:e.createGetCanonicalFileName(n.useCaseSensitiveFileNames)};if(!r)return function(t){return n.write(e.formatDiagnostic(t,i))};var a=new Array(1);return function(t){a[0]=t,n.write(e.formatDiagnosticsWithColorAndContext(a,i)+i.getNewLine()),a[0]=void 0}}function r(t,n,r){!t.clearScreen||r.preserveWatchOutput||n.code===e.Diagnostics.Compilation_complete_Watching_for_file_changes.code||r.extendedDiagnostics||r.diagnostics||t.clearScreen()}function i(t,n){return n?function(n,i,a){r(t,n,a);var o="["+e.formatColorAndReset((new Date).toLocaleTimeString(),e.ForegroundColorEscapeSequences.Grey)+"] ";o+=""+e.flattenDiagnosticMessageText(n.messageText,t.newLine)+(i+i+i),t.write(o)}:function(n,i,a){r(t,n,a);var o=(new Date).toLocaleTimeString()+" - ";o+=""+e.flattenDiagnosticMessageText(n.messageText,t.newLine)+(i+i+i),t.write(o)}}function a(t,n,r){var i;try{i=r.readFile(t)}catch(n){var a=e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0_Colon_1,t,n.message);return void r.onUnRecoverableConfigFileDiagnostic(a)}if(i){var o=e.parseJsonText(t,i);o.parseDiagnostics.forEach(function(e){return r.onConfigFileDiagnostic(e)});var s=r.getCurrentDirectory(),c=e.parseJsonSourceFileConfigFileContent(o,r,e.getNormalizedAbsolutePath(e.getDirectoryPath(t),s),n,e.getNormalizedAbsolutePath(t,s));return c.errors.forEach(function(e){return r.onConfigFileDiagnostic(e)}),c}a=e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found,t),r.onUnRecoverableConfigFileDiagnostic(a)}function o(t,n,r){var i=t.getSyntacticDiagnostics().slice(),a=!1;0===i.length&&(e.addRange(i,t.getOptionsDiagnostics()),e.addRange(i,t.getGlobalDiagnostics()),0===i.length&&(a=!0));var o=t.emit(),s=o.emittedFiles,c=o.emitSkipped;if(e.addRange(i,o.diagnostics),a&&e.addRange(i,t.getSemanticDiagnostics()),e.sortAndDeduplicateDiagnostics(i).forEach(n),r){var u=t.getCurrentDirectory();e.forEach(s,function(t){var n=e.getNormalizedAbsolutePath(t,u);r("TSFILE: "+n)}),t.getCompilerOptions().listFiles&&e.forEach(t.getSourceFiles(),function(e){r(e.fileName)})}return c&&i.length>0?e.ExitStatus.DiagnosticsPresent_OutputsSkipped:i.length>0?e.ExitStatus.DiagnosticsPresent_OutputsGenerated:e.ExitStatus.Success}e.createDiagnosticReporter=n,e.createWatchStatusReporter=i,e.parseConfigFileWithSystem=function(t,n,r,i){var o=r;o.onConfigFileDiagnostic=i,o.onUnRecoverableConfigFileDiagnostic=function(t){return u(e.sys,i,t)};var s=a(t,n,o);return o.onConfigFileDiagnostic=void 0,o.onUnRecoverableConfigFileDiagnostic=void 0,s},e.getParsedCommandLineOfConfigFile=a,e.emitFilesAndReportErrors=o;var s={close:e.noop};function c(t,n,r,a){void 0===t&&(t=e.sys),n||(n=e.createEmitAndSemanticDiagnosticsBuilderProgram);var c=function(e){return t.write(e+t.newLine)};return{useCaseSensitiveFileNames:function(){return t.useCaseSensitiveFileNames},getNewLine:function(){return t.newLine},getCurrentDirectory:function(){return t.getCurrentDirectory()},getDefaultLibLocation:u,getDefaultLibFileName:function(t){return e.combinePaths(u(),e.getDefaultLibFileName(t))},fileExists:function(e){return t.fileExists(e)},readFile:function(e,n){return t.readFile(e,n)},directoryExists:function(e){return t.directoryExists(e)},getDirectories:function(e){return t.getDirectories(e)},readDirectory:function(e,n,r,i,a){return t.readDirectory(e,n,r,i,a)},realpath:t.realpath&&function(e){return t.realpath(e)},getEnvironmentVariable:t.getEnvironmentVariable&&function(e){return t.getEnvironmentVariable(e)},watchFile:t.watchFile?function(e,n,r){return t.watchFile(e,n,r)}:function(){return s},watchDirectory:t.watchDirectory?function(e,n,r){return t.watchDirectory(e,n,r)}:function(){return s},setTimeout:t.setTimeout?function(e,n){for(var r,i=[],a=2;ae.getRootLength(r)&&!n.directoryExists(r)&&(t(e.getDirectoryPath(r)),n.createDirectory(r))}(e.getDirectoryPath(e.normalizePath(t))),n.writeFile(t,r,i),e.performance.mark("afterIOWrite"),e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite")}catch(e){a&&a(e.message)}},getCurrentDirectory:f,useCaseSensitiveFileNames:function(){return d},getCanonicalFileName:O,getNewLine:function(){return M},fileExists:W,readFile:m,trace:E,directoryExists:C.directoryExists&&function(e){return C.directoryExists(e)},getDirectories:C.getDirectories&&function(e){return C.getDirectories(e)},realpath:n.realpath&&function(e){return n.realpath(e)},getEnvironmentVariable:n.getEnvironmentVariable?function(e){return n.getEnvironmentVariable(e)}:function(){return""},onReleaseOldSourceFile:function(e,t){var n=u.get(e.path);n&&(V(n)?(c||(c=[])).push(e.path):n.sourceFile===e&&(n.fileWatcher&&n.fileWatcher.close(),u.delete(e.path),R.removeResolutionsOfFile(e.path)))},createHash:n.createHash&&function(e){return n.createHash(e)},toPath:U,getCompilationSettings:function(){return x},watchDirectoryOfFailedLookupLocation:ne,watchTypeRootsDirectory:ne,getCachedDirectoryStructureHost:function(){return D},onInvalidatedResolution:Y,onChangedAutomaticTypeDirectiveNames:function(){_=!0,Y()},maxNumberOfFilesToIterateForInvalidation:n.maxNumberOfFilesToIterateForInvalidation,getCurrentProgram:j,writeLog:A},R=e.createResolutionCache(L,g?e.getDirectoryPath(e.getNormalizedAbsolutePath(g,p)):p,!1);L.resolveModuleNames=n.resolveModuleNames?function(e,t,r){return n.resolveModuleNames(e,t,r)}:function(e,t,n){return R.resolveModuleNames(e,t,n)},L.resolveTypeReferenceDirectives=n.resolveTypeReferenceDirectives?function(e,t){return n.resolveTypeReferenceDirectives(e,t)}:function(e,t){return R.resolveTypeReferenceDirectives(e,t)};var B=!!n.resolveModuleNames||!!n.resolveTypeReferenceDirectives;return Q(e.Diagnostics.Starting_compilation_in_watch_mode),J(),ae(),g?{getCurrentProgram:z,getProgram:J}:{getCurrentProgram:z,getProgram:J,updateRootFileNames:function(t){e.Debug.assert(!g,"Cannot update root file names with config file watch mode"),b=t,Y()}};function z(){return r}function j(){return r&&r.getProgram()}function J(){A("Synchronizing program");var t=j();l&&(M=K(),t&&e.changesAffectModuleResolution(t.getCompilerOptions(),x)&&R.clear());var i=R.createHasInvalidatedResolution(B);if(e.isProgramUptoDate(j(),b,x,X,W,i,_))return r;N!==e.WatchLogLevel.None&&(A("CreatingProgramWith::"),A(" roots: "+JSON.stringify(b)),A(" options: "+JSON.stringify(x)));var o=l||!t;if(l=!1,R.startCachingPerDirectoryResolution(),L.hasInvalidatedResolution=i,L.hasChangedAutomaticTypeDirectiveNames=_,r=v(b,x,L,r),R.finishCachingPerDirectoryResolution(),e.updateMissingFilePathsWatch(r.getProgram(),a||(a=e.createMap()),re),o&&R.updateTypeRootsWatch(),c){for(var s=0,d=c;s=0)return u.push(e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,c.concat([l]).join(" -> "))),{raw:r||f(i,u)};var d=r?function(t,n,r,i,a){e.hasProperty(t,"excludes")&&a.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude));var o,s=T(t.compilerOptions,r,a,i),c=N(t.typeAcquisition||t.typingOptions,r,a,i);if(t.compileOnSave=function(t,n,r){if(e.hasProperty(t,e.compileOnSaveCommandLineOption.name)){var i=P(e.compileOnSaveCommandLineOption,t.compileOnSave,n,r);return!("boolean"!=typeof i||!i)&&i}}(t,r,a),t.extends)if(e.isString(t.extends)){var u=i?b(i,r):r;o=D(t.extends,n,u,a,e.createCompilerDiagnostic)}else a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"extends","string"));return{raw:t,options:s,typeAcquisition:c,extendedConfigPath:o}}(r,a,o,s,u):function(t,r,i,a,o){var s,c,u,l=C(a),_={onSetValidOptionKeyValueInParent:function(t,n,r){e.Debug.assert("compilerOptions"===t||"typeAcquisition"===t||"typingOptions"===t),("compilerOptions"===t?l:"typeAcquisition"===t?s||(s=E(a)):c||(c=E(a)))[n.name]=function t(n,r,i){if(!v(i)){if("list"===n.type){var a=n;return a.element.isFilePath||!e.isString(a.element.type)?e.filter(e.map(i,function(e){return t(a.element,r,e)}),function(e){return!!e}):i}return e.isString(n.type)?w(n,r,i):n.type.get(e.isString(i)?i.toLowerCase():i)}}(n,i,r)},onSetValidOptionKeyValueInRoot:function(n,s,c,l){switch(n){case"extends":var _=a?b(a,i):i;return void(u=D(c,r,_,o,function(n,r){return e.createDiagnosticForNodeInSourceFile(t,l,n,r)}));case"files":return void(0===c.length&&o.push(e.createDiagnosticForNodeInSourceFile(t,l,e.Diagnostics.The_files_list_in_config_file_0_is_empty,a||"tsconfig.json")))}},onSetUnknownOptionKeyValueInRoot:function(n,r,i,a){"excludes"===n&&o.push(e.createDiagnosticForNodeInSourceFile(t,r,e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude))}},d=m(t,o,(void 0===n&&(n=p([{name:"compilerOptions",type:"object",elementOptions:p(e.optionDeclarations),extraKeyDiagnosticMessage:e.Diagnostics.Unknown_compiler_option_0},{name:"typingOptions",type:"object",elementOptions:p(e.typeAcquisitionDeclarations),extraKeyDiagnosticMessage:e.Diagnostics.Unknown_type_acquisition_option_0},{name:"typeAcquisition",type:"object",elementOptions:p(e.typeAcquisitionDeclarations),extraKeyDiagnosticMessage:e.Diagnostics.Unknown_type_acquisition_option_0},{name:"extends",type:"string"},{name:"files",type:"list",element:{name:"files",type:"string"}},{name:"include",type:"list",element:{name:"include",type:"string"}},{name:"exclude",type:"list",element:{name:"exclude",type:"string"}},e.compileOnSaveCommandLineOption])),n),_);return s||(s=c?void 0!==c.enableAutoDiscovery?{enable:c.enableAutoDiscovery,include:c.include,exclude:c.exclude}:c:E(a)),{raw:d,options:l,typeAcquisition:s,extendedConfigPath:u}}(i,a,o,s,u);if(d.extendedConfigPath){c=c.concat([l]);var g=function(n,r,i,a,o,s){var c=_(r,function(e){return i.readFile(e)});if(n&&(n.extendedSourceFiles||(n.extendedSourceFiles=[])).push(c.fileName),!c.parseDiagnostics.length){var u,l=e.getDirectoryPath(r),d=t(void 0,c,i,l,e.getBaseFileName(r),o,s);if(n&&(u=n.extendedSourceFiles).push.apply(u,c.extendedSourceFiles),S(d)){var p=e.convertToRelativePath(l,a,e.identity),f=function(t){return e.isRootedDiskPath(t)?t:e.combinePaths(p,t)},m=function(t){g[t]&&(g[t]=e.map(g[t],f))},g=d.raw;m("include"),m("exclude"),m("files")}return d}s.push.apply(s,c.parseDiagnostics)}(i,d.extendedConfigPath,a,o,c,u);if(g&&S(g)){var y=g.raw,h=d.raw,x=function(e){var t=h[e]||y[e];t&&(h[e]=t)};x("include"),x("exclude"),x("files"),void 0===h.compileOnSave&&(h.compileOnSave=y.compileOnSave),d.options=e.assign({},g.options,d.options)}}return d}(t,r,i,a,s,c,l),g=d.raw,y=e.extend(o,d.options||{});y.configFilePath=s,h(y,r);var x=function(){var t,n,o;if(e.hasProperty(g,"files")&&!v(g.files)&&(e.isArray(g.files)?0===(t=g.files).length&&I(e.Diagnostics.The_files_list_in_config_file_0_is_empty,s||"tsconfig.json"):I(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"files","Array")),e.hasProperty(g,"include")&&!v(g.include)&&(e.isArray(g.include)?n=g.include:I(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"include","Array")),e.hasProperty(g,"exclude")&&!v(g.exclude))e.isArray(g.exclude)?o=g.exclude:I(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"exclude","Array");else{var _=g.compilerOptions&&g.compilerOptions.outDir;_&&(o=[_])}void 0===t&&void 0===n&&(n=["**/*"]);var d=function(t,n,r,i,a,o,s,c,u){var l,_;return i=e.normalizePath(i),n&&(l=z(n,s,!1,u,"include")),r&&(_=z(r,s,!0,u,"exclude")),B({filesSpecs:t,includeSpecs:n,excludeSpecs:r,validatedIncludeSpecs:l,validatedExcludeSpecs:_,wildcardDirectories:function(t,n,r,i){var a=e.getRegularExpressionForWildcard(_,r,"exclude"),o=a&&new RegExp(a,i?"":"i"),s={};if(void 0!==t){for(var c=[],u=0,l=t;u=r.length)break;var c=s;if(34===r.charCodeAt(c)){for(s++;s32;)s++;i.push(r.substring(c,s))}}o(i)}else a.push(e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found,t))}},e.readConfigFile=function(t,n){var r=d(t,n);return e.isString(r)?l(t,r):{config:{},error:r}},e.parseConfigFileTextToJson=l,e.readJsonConfigFile=_,e.convertToObject=f,e.generateTSConfig=function(t,n,r){var a=function(t){var n=e.createMap(),r=i().optionNameMap,a=function(i){if(e.hasProperty(t,i)){if(r.has(i)&&r.get(i).category===e.Diagnostics.Command_line_Options)return"continue";var a=t[i],s=r.get(i.toLowerCase());if(s){var c=function e(t){return"string"===t.type||"number"===t.type||"boolean"===t.type?void 0:"list"===t.type?e(t.element):t.type}(s);n.set(i,c?"list"===s.type?a.map(function(e){return o(e,c)}):o(a,c):a)}}};for(var s in t)a(s);return n}(e.extend(t,e.defaultInitCompilerOptions));return function(){for(var t=e.createMultiMap(),i=0,o=e.optionDeclarations;i0)for(var y=0,h=i.readDirectory(n,p,_,l,void 0);y=n.end}function _(e,t,n,r){return Math.max(e,n)n)break;var _=l.getEnd();if(n<_||n===_&&(1===l.kind||a)){s=l;continue e}if(i&&_===n){var d=v(n,t,l);if(d&&i(d))return d}}}return s}}function v(t,n,r,i){var a=function a(o){if(b(o))return o;for(var s=o.getChildren(n),c=0;c=t||!T(l)||S(l)?(u=k(s,c))&&x(u,n):a(l)}return e.Debug.assert(void 0!==r||272===o.kind||e.isJSDocCommentContainingNode(o)),s.length?(u=k(s,s.length))&&x(u,n):void 0}(r||n);return e.Debug.assert(!(a&&S(a))),a}function b(t){return e.isToken(t)&&!S(t)}function x(e,t){if(b(e))return e;var n=e.getChildren(t),r=k(n,n.length);return r&&x(r,t)}function k(t,n){for(var r=n-1;r>=0;r--)if(S(t[r]))e.Debug.assert(r>0,"`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`");else if(T(t[r]))return t[r]}function S(t){return e.isJsxText(t)&&t.containsOnlyWhiteSpaces}function D(e,t,n){for(var r=e.kind,i=0;;){if(!(e=v(e.getFullStart(),n)))return;if(e.kind===t){if(0===i)return e;i--}else e.kind===r&&i++}}function C(t,n,r,i){return!!e.formatting.getRangeOfEnclosingComment(t,n,!1,void 0,r,i)}function T(e){return 0!==e.getWidth()}function E(t){return 71===t||e.isKeyword(t)}function N(e,t){return{span:e,newText:t}}e.getLineStartPositionForPosition=function(t,n){return e.getLineStarts(n)[n.getLineAndCharacterOfPosition(t).line]},e.rangeContainsRange=u,e.startEndContainsRange=l,e.rangeContainsStartEnd=function(e,t,n){return e.pos<=t&&e.end>=n},e.rangeOverlapsWithStartEnd=function(e,t,n){return _(e.pos,e.end,t,n)},e.startEndOverlapsWithStartEnd=_,e.positionBelongsToNode=function(t,n,r){return e.Debug.assert(t.pos<=n),nr.getStart(t)&&nt.end||o.pos===t.end)&&T(o))return n(o)}}(n)},e.findPrecedingToken=v,e.isInString=function(t,n,r){if(void 0===r&&(r=v(n,t)),r&&e.isStringTextContainingNode(r)){var i=r.getStart(),a=r.getEnd();if(ir.getStart(t)},e.findPrecedingMatchingToken=D,e.isPossiblyTypeArgumentPosition=function(t,n){for(var r=0;t;){switch(t.kind){case 27:var i=(t=v(t.getFullStart(),n))&&e.isIdentifier(t);if(!r||!i)return i;r--;break;case 47:r=3;break;case 46:r=2;break;case 29:r++;break;case 18:if(!(t=D(t,17,n)))return!1;break;case 20:if(!(t=D(t,19,n)))return!1;break;case 22:if(!(t=D(t,21,n)))return!1;break;case 26:case 36:case 71:case 9:case 8:case 101:case 86:case 103:case 85:case 128:case 23:case 49:case 55:case 56:break;default:if(e.isTypeNode(t))break;return!1}t=v(t.getFullStart(),n)}return!1},e.isInComment=C,e.hasDocComment=function(t,n){var r=y(t,n,!1),i=e.getLeadingCommentRanges(t.text,r.pos);return e.forEach(i,function(e){var n=t.text;return n.length>=e.pos+3&&"/"===n[e.pos]&&"*"===n[e.pos+1]&&"*"===n[e.pos+2]})},e.getNodeModifiers=function(t){var n=e.getCombinedModifierFlags(t),r=[];return 8&n&&r.push("private"),16&n&&r.push("protected"),4&n&&r.push("public"),32&n&&r.push("static"),128&n&&r.push("abstract"),1&n&&r.push("export"),2097152&t.flags&&r.push("declare"),r.length>0?r.join(","):""},e.getTypeArgumentOrTypeParameterList=function(t){return 161===t.kind||185===t.kind?t.typeArguments:e.isFunctionLike(t)||233===t.kind||234===t.kind?t.typeParameters:void 0},e.isWord=E,e.isComment=function(e){return 2===e||3===e},e.isStringOrRegularExpressionOrTemplateLiteral=function(t){return!(9!==t&&12!==t&&!e.isTemplateLiteralKind(t))},e.isPunctuation=function(e){return 17<=e&&e<=70},e.isInsideTemplateLiteral=function(t,n){return e.isTemplateLiteralKind(t.kind)&&t.getStart()0&&148===e.declarations[0].kind}e.isFirstDeclarationOfSymbolParameter=t;var n=function(){var t,n,a;l();var o=function(t){return u(t,e.SymbolDisplayPartKind.text)};return{displayParts:function(){return t},writeKeyword:function(t){return u(t,e.SymbolDisplayPartKind.keyword)},writeOperator:function(t){return u(t,e.SymbolDisplayPartKind.operator)},writePunctuation:function(t){return u(t,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(t){return u(t,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(t){return u(t,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(t){return u(t,e.SymbolDisplayPartKind.parameterName)},writeProperty:function(t){return u(t,e.SymbolDisplayPartKind.propertyName)},writeLiteral:function(t){return u(t,e.SymbolDisplayPartKind.stringLiteral)},writeSymbol:function(e,n){c(),t.push(r(e,n))},writeLine:function(){t.push(s()),n=!0},write:o,writeTextOfNode:o,getText:function(){return""},getTextPos:function(){return 0},getColumn:function(){return 0},getLine:function(){return 0},isAtStartOfLine:function(){return!1},rawWrite:e.notImplemented,getIndent:function(){return a},increaseIndent:function(){a++},decreaseIndent:function(){a--},clear:l,trackSymbol:e.noop,reportInaccessibleThisError:e.noop,reportInaccessibleUniqueSymbolError:e.noop,reportPrivateInBaseOfClassExpression:e.noop};function c(){if(n){var r=e.getIndentString(a);r&&t.push(i(r,e.SymbolDisplayPartKind.space)),n=!1}}function u(e,n){c(),t.push(i(e,n))}function l(){t=[],n=!0,a=0}}();function r(n,r){return i(n,function(n){var r=n.flags;return 3&r?t(n)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName:4&r?e.SymbolDisplayPartKind.propertyName:32768&r?e.SymbolDisplayPartKind.propertyName:65536&r?e.SymbolDisplayPartKind.propertyName:8&r?e.SymbolDisplayPartKind.enumMemberName:16&r?e.SymbolDisplayPartKind.functionName:32&r?e.SymbolDisplayPartKind.className:64&r?e.SymbolDisplayPartKind.interfaceName:384&r?e.SymbolDisplayPartKind.enumName:1536&r?e.SymbolDisplayPartKind.moduleName:8192&r?e.SymbolDisplayPartKind.methodName:262144&r?e.SymbolDisplayPartKind.typeParameterName:524288&r?e.SymbolDisplayPartKind.aliasName:2097152&r?e.SymbolDisplayPartKind.aliasName:e.SymbolDisplayPartKind.text}(r))}function i(t,n){return{text:t,kind:e.SymbolDisplayPartKind[n]}}function a(t){return i(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}function o(t){return i(t,e.SymbolDisplayPartKind.text)}function s(){return i("\n",e.SymbolDisplayPartKind.lineBreak)}function c(e){try{return e(n),n.displayParts()}finally{n.clear()}}function u(t){return e.isSingleOrDoubleQuote(t.charCodeAt(0))}function l(t,n){return e.ensureScriptKind(t,n&&n.getScriptKind&&n.getScriptKind(t))}function _(t){if(void 0!==t){var n=e.visitEachChild(t,_,e.nullTransformationContext);if(n===t){var r=e.getSynthesizedClone(t);return e.isStringLiteral(r)?r.textSourceNode=t:e.isNumericLiteral(r)&&(r.numericLiteralFlags=t.numericLiteralFlags),r.pos=t.pos,r.end=t.end,r}return n.parent=void 0,n}}function d(e){return e.forEachChild(function(e){return e})}function p(t){var n;return t.forEachChild(function(e){n=e},function(t){t.length&&(n=e.last(t))}),n}e.symbolPart=r,e.displayPart=i,e.spacePart=function(){return i(" ",e.SymbolDisplayPartKind.space)},e.keywordPart=a,e.punctuationPart=function(t){return i(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)},e.operatorPart=function(t){return i(e.tokenToString(t),e.SymbolDisplayPartKind.operator)},e.textOrKeywordPart=function(t){var n=e.stringToToken(t);return void 0===n?o(t):a(n)},e.textPart=o,e.getNewLineOrDefaultFromHost=function(e,t){return t&&t.newLineCharacter||e.getNewLine&&e.getNewLine()||"\r\n"},e.lineBreakPart=s,e.mapToDisplayParts=c,e.typeToDisplayParts=function(e,t,n,r){return c(function(i){e.writeType(t,n,1024|r,i)})},e.symbolToDisplayParts=function(e,t,n,r,i){return c(function(a){e.writeSymbol(t,n,r,8|i,a)})},e.signatureToDisplayParts=function(e,t,n,r){return r|=25632,c(function(i){e.writeSignature(t,n,r,void 0,i)})},e.isImportOrExportSpecifierName=function(e){return e.parent&&(246===e.parent.kind||250===e.parent.kind)&&e.parent.propertyName===e},e.stripQuotes=function(e){var t=e.length;return t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&u(e)?e.substring(1,t-1):e},e.startsWithQuote=u,e.scriptKindIs=function(t,n){for(var r=[],i=2;i=i.length){var v=n(o,u,e.lastOrUndefined(_));void 0!==v&&(m=v)}}while(1!==u);function b(){switch(u){case 41:case 63:t[l]||12!==o.reScanSlashToken()||(u=12);break;case 27:71===l&&y++;break;case 29:y>0&&y--;break;case 119:case 137:case 134:case 122:case 138:y>0&&!c&&(u=71);break;case 14:_.push(u);break;case 17:_.length>0&&_.push(u);break;case 18:if(_.length>0){var n=e.lastOrUndefined(_);14===n?16===(u=o.reScanTemplateToken())?_.pop():e.Debug.assertEqual(u,15,"Should have been a template middle."):(e.Debug.assertEqual(n,17,"Should have been an open brace"),_.pop())}break;default:if(!e.isKeyword(u))break;23===l?u=71:e.isKeyword(l)&&e.isKeyword(u)&&!function(t,n){if(!e.isAccessibilityModifier(l))return!0;switch(n){case 125:case 136:case 123:case 115:return!0;default:return!1}}(0,u)&&(u=71)}}return{endOfLineState:m,spans:g}}return{getClassificationsForLine:function(t,n,r){return function(t,n){for(var r=[],a=t.spans,o=0,s=0;s=0){var _=c-o;_>0&&r.push({length:_,classification:e.TokenClass.Whitespace})}r.push({length:u,classification:i(l)}),o=c+u}var d=n.length-o;return d>0&&r.push({length:d,classification:e.TokenClass.Whitespace}),{entries:r,finalLexState:t.endOfLineState}}(s(t,n,r),t)},getEncodedLexicalClassifications:s}};var t=e.arrayToNumericMap([71,9,8,12,99,43,44,20,22,18,101,86],function(e){return e},function(){return!0});function n(t,n,r){switch(n){case 9:if(!t.isUnterminated())return;for(var i=t.getTokenText(),a=i.length-1,o=0;92===i.charCodeAt(a-o);)o++;if(0==(1&o))return;return 34===i.charCodeAt(0)?3:2;case 3:return t.isUnterminated()?1:void 0;default:if(e.isTemplateLiteralKind(n)){if(!t.isUnterminated())return;switch(n){case 16:return 5;case 13:return 4;default:return e.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+n)}}return 14===r?6:void 0}}function r(e,t,n,r,i){if(8!==r){0===e&&n>0&&(e+=n);var a=t-e;a>0&&i.push(e-n,a,r)}}function i(t){switch(t){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return e.TokenClass.Identifier}}function a(t){if(e.isKeyword(t))return 3;if(function(e){switch(e){case 39:case 41:case 42:case 37:case 38:case 45:case 46:case 47:case 27:case 29:case 30:case 31:case 93:case 92:case 118:case 32:case 33:case 34:case 35:case 48:case 50:case 49:case 53:case 54:case 69:case 68:case 70:case 65:case 66:case 67:case 59:case 60:case 61:case 63:case 64:case 58:case 26:return!0;default:return!1}}(t)||function(e){switch(e){case 37:case 38:case 52:case 51:case 43:case 44:return!0;default:return!1}}(t))return 5;if(t>=17&&t<=70)return 10;switch(t){case 8:return 4;case 9:return 6;case 12:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 71:default:return e.isTemplateLiteralKind(t)?6:2}}function o(e,t){switch(t){case 237:case 233:case 234:case 232:e.throwIfCancellationRequested()}}function s(t,n,r,i,a){var s=[];return r.forEachChild(function c(u){if(u&&e.textSpanIntersectsWith(a,u.pos,u.getFullWidth())){if(o(n,u.kind),e.isIdentifier(u)&&!e.nodeIsMissing(u)&&i.has(u.escapedText)){var l=t.getSymbolAtLocation(u),_=l&&function t(n,r,i){var a=n.getFlags();return 0==(2885600&a)?void 0:32&a?11:384&a?12:524288&a?16:1536&a?4&r||1&r&&function(t){return e.some(t.declarations,function(t){return e.isModuleDeclaration(t)&&1===e.getModuleInstanceState(t)})}(n)?14:void 0:2097152&a?t(i.getAliasedSymbol(n),r,i):2&r?64&a?13:262144&a?15:void 0:void 0}(l,e.getMeaningFromLocation(u),t);_&&function(e,t,n){s.push(e),s.push(t-e),s.push(n)}(u.getStart(r),u.getEnd(),_)}u.forEachChild(c)}}),{spans:s,endOfLineState:0}}function c(e){switch(e){case 1:return"comment";case 2:return"identifier";case 3:return"keyword";case 4:return"number";case 5:return"operator";case 6:return"string";case 8:return"whitespace";case 9:return"text";case 10:return"punctuation";case 11:return"class name";case 12:return"enum name";case 13:return"interface name";case 14:return"module name";case 15:return"type parameter name";case 16:return"type alias name";case 17:return"parameter name";case 18:return"doc comment tag name";case 19:return"jsx open tag name";case 20:return"jsx close tag name";case 21:return"jsx self closing tag name";case 22:return"jsx attribute";case 23:return"jsx text";case 24:return"jsx attribute string literal value"}}function u(t){e.Debug.assert(t.spans.length%3==0);for(var n=t.spans,r=[],i=0;i=0),a>0){var o=r||y(t.kind,t);o&&l(i,a,o)}return!0}function y(t,n){if(e.isKeyword(t))return 3;if((27===t||29===t)&&n&&e.getTypeArgumentOrTypeParameterList(n.parent))return 10;if(e.isPunctuation(t)){if(n){if(58===t&&(230===n.parent.kind||151===n.parent.kind||148===n.parent.kind||260===n.parent.kind))return 5;if(198===n.parent.kind||196===n.parent.kind||197===n.parent.kind||199===n.parent.kind)return 5}return 10}if(8===t)return 4;if(9===t)return 260===n.parent.kind?24:6;if(12===t)return 6;if(e.isTemplateLiteralKind(t))return 6;if(10===t)return 23;if(71===t){if(n)switch(n.parent.kind){case 233:return n.parent.name===n?11:void 0;case 147:return n.parent.name===n?15:void 0;case 234:return n.parent.name===n?13:void 0;case 236:return n.parent.name===n?12:void 0;case 237:return n.parent.name===n?14:void 0;case 148:return n.parent.name===n?e.isThisIdentifier(n)?3:17:void 0}return 2}}function h(r){if(r&&e.decodedTextSpanIntersectsWith(i,a,r.pos,r.getFullWidth())){o(t,r.kind);for(var s=0,c=r.getChildren(n);s=2&&46===e.charCodeAt(0)){var t=e.length>=3&&46===e.charCodeAt(1)?2:1,n=e.charCodeAt(t);return 47===n||92===n}return!1}(m)||e.isRootedDiskPath(m)){var v=e.getSupportedExtensions(u);return u.rootDirs?function(t,n,i,a,o,s,c,u,l){for(var _=[],d=0,p=function(t,n,r,i){t=t.map(function(t){return e.normalizePath(e.isRootedDiskPath(t)?t:e.combinePaths(n,t))});var a=e.firstDefined(t,function(t){return e.containsPath(t,r,n,i)?r.substr(t.length):void 0});return e.deduplicate(t.map(function(t){return e.combinePaths(t,a)}),e.equateStringsCaseSensitive,e.compareStringsCaseSensitive)}(t,c.project||u.getCurrentDirectory(),i,!(u.useCaseSensitiveFileNames&&u.useCaseSensitiveFileNames()));d=e.pos&&n<=e.end});if(_){var d=t.text.slice(_.pos,n),p=u.exec(d);if(p){var f=p[1],m=p[2],g=p[3],y=e.getDirectoryPath(t.path);switch(m){case"path":var h=s(g,_.pos+f.length);return r(g,y,e.getSupportedExtensions(i),!0,h,o,t.path);case"types":return a(o,i,y,e.createTextSpan(_.pos+f.length,p[0].length-f.length));default:return}}}};var u=/^(\/\/\/\s*o.end))for(var c=s.length-1;c>=0;c--){var l=s[c];if(n>=l.pos)return l}}}(0,i);if(f){if(f.tagName.pos<=i&&i<=f.tagName.end)return{kind:1};if(function(e){switch(e.kind){case 287:case 292:case 288:case 289:case 291:return!0}}(f)&&f.typeExpression&&274===f.typeExpression.kind&&((u=e.getTokenAtPosition(r,i,!0))&&(e.isDeclarationName(u)||292===u.parent.kind&&u.parent.name===u)||(_=Y(f.typeExpression))),e.isJSDocParameterTag(f)&&(e.nodeIsMissing(f.name)||f.name.pos<=i&&i<=f.name.end))return{kind:3,tag:f}}if(!_)return void n("Returning an empty list because completion was inside a regular comment or plain text part of a JsDoc comment.")}c=e.timestamp();var h=e.findPrecedingToken(i,r,void 0,_);n("getCompletionData: Get previous token 1: "+(e.timestamp()-c));var v=h;if(v&&i<=v.end&&e.isWord(v.kind)){var b=e.timestamp();v=e.findPrecedingToken(v.getFullStart(),r,void 0,_),n("getCompletionData: Get previous token 2: "+(e.timestamp()-b))}var x,E=u,N=!1,A=!1,P=!1,w=!1,F=e.getTouchingPropertyName(r,i,_);if(v){if(function(t){var r=e.timestamp(),a=function(t){if(9===t.kind||12===t.kind||e.isTemplateLiteralKind(t.kind)){var n=t.getStart(),r=t.getEnd();if(n=t.pos;case 23:return 179===r;case 56:return 180===r;case 21:return 179===r;case 19:return 267===r||Q(r);case 17:return 236===r||234===r||165===r;case 25:return 150===r&&t.parent&&t.parent.parent&&(234===t.parent.parent.kind||165===t.parent.parent.kind);case 27:return 233===r||203===r||234===r||235===r||e.isFunctionLikeKind(r);case 115:return 151===r&&!e.isClassLike(t.parent.parent);case 24:return 148===r||t.parent&&t.parent.parent&&179===t.parent.parent.kind;case 114:case 112:case 113:return 148===r&&!e.isConstructorDeclaration(t.parent.parent);case 118:return 246===r||250===r||244===r;case 125:case 136:if(G(t))return!1;case 75:case 83:case 109:case 89:case 104:case 91:case 110:case 76:case 116:case 139:return!0}if(S(t.getText())&&G(t))return!1;if(X(t)&&(!e.isIdentifier(t)||(n=t.getText(),D(e.stringToToken(n)))||Y(t)))return!1;switch(t.getText()){case"abstract":case"async":case"class":case"const":case"declare":case"enum":case"function":case"interface":case"let":case"private":case"protected":case"public":case"static":case"var":case"yield":return!0}return e.isDeclarationName(t)&&!e.isJsxAttribute(t.parent)&&!(e.isClassLike(t.parent)&&(t!==h||i>h.end))}(t)||function(e){if(8===e.kind){var t=e.getFullText();return"."===t.charAt(t.length-1)}return!1}(t)||function(e){if(10===e.kind)return!0;if(29===e.kind&&e.parent){if(255===e.parent.kind)return!0;if(256===e.parent.kind||254===e.parent.kind)return e.parent.parent&&253===e.parent.parent.kind}return!1}(t);return n("getCompletionsAtPosition: isCompletionListBlocker: "+(e.timestamp()-r)),a}(v))return void n("Returning an empty list because completion was requested in an invalid position.");var I=v.parent;if(23===v.kind)switch(N=!0,I.kind){case 183:E=(x=I).expression;break;case 145:E=I.left;break;default:return}else if(1===r.languageVariant){if(I&&183===I.kind&&(v=I,I=I.parent),u.parent===F)switch(u.kind){case 29:253!==u.parent.kind&&255!==u.parent.kind||(F=u);break;case 41:254===u.parent.kind&&(F=u)}switch(I.kind){case 256:41===v.kind&&(P=!0,F=v);break;case 198:if(!(32768&I.left.flags))break;case 254:case 253:case 255:27===v.kind&&(A=!0,F=v);break;case 260:switch(h.kind){case 58:w=!0;break;case 71:h!==I.name&&(w=h)}}}}var O=e.timestamp(),M=5,L=!1,R=0,B=[],z=[];if(N)!function(){M=2;var n=_||e.isPartOfTypeNode(E.parent),i=e.isInRightSideOfInternalImportEqualsDeclaration(E)||!n&&e.isPossiblyTypeArgumentPosition(v,r);if(e.isEntityName(E)){var a=t.getSymbolAtLocation(E);if(a&&1920&(a=e.skipAlias(a,t)).flags){for(var o=e.Debug.assertEachDefined(t.getExportsOfModule(a),"getExportsOfModule() should all be defined"),s=function(e){return t.isValidPropertyAccess(E.parent,e.name)},c=function(e){return W(e)},u=i?function(e){return c(e)||s(e)}:n?c:s,l=0,d=o;l0&&(B=function(t,n){if(0===n.length)return t;for(var r=e.createUnderscoreEscapedMap(),i=0,a=n;i=0&&!c(n,r[a],106);a--);return e.forEach(i(t.statement),function(e){o(t,e)&&c(n,e.getFirstToken(),72,77)}),n}function l(e){var t=s(e);if(t)switch(t.kind){case 218:case 219:case 220:case 216:case 217:return u(t);case 225:return _(t)}}function _(t){var n=[];return c(n,t.getFirstToken(),98),e.forEach(t.caseBlock.clauses,function(r){c(n,r.getFirstToken(),73,79),e.forEach(i(r),function(e){o(t,e)&&c(n,e.getFirstToken(),72)})}),n}function d(t,n){var r=[];return c(r,t.getFirstToken(),102),t.catchClause&&c(r,t.catchClause.getFirstToken(),74),t.finallyBlock&&c(r,e.findChildOfKind(t,87,n),87),r}function p(t,n){var i=function(t){for(var n=t;n.parent;){var r=n.parent;if(e.isFunctionBlock(r)||272===r.kind)return r;if(e.isTryStatement(r)&&r.tryBlock===n&&r.catchClause)return n;n=r}}(t);if(i){var a=[];return e.forEach(r(i),function(t){a.push(e.findChildOfKind(t,100,n))}),e.isFunctionBlock(i)&&e.forEachReturnStatement(i,function(t){a.push(e.findChildOfKind(t,96,n))}),a}}function f(t,n){var i=e.getContainingFunction(t);if(i){var a=[];return e.forEachReturnStatement(e.cast(i.body,e.isBlock),function(t){a.push(e.findChildOfKind(t,96,n))}),e.forEach(r(i.body),function(t){a.push(e.findChildOfKind(t,100,n))}),a}}(e.DocumentHighlights||(e.DocumentHighlights={})).getDocumentHighlights=function(t,r,i,a,o){var s=e.getTouchingWord(i,a,!0);if(s.parent&&(e.isJsxOpeningElement(s.parent)&&s.parent.tagName===s||e.isJsxClosingElement(s.parent))){var m=s.parent.parent,g=[m.openingElement,m.closingElement].map(function(e){return n(e.tagName,i)});return[{fileName:i.fileName,highlightSpans:g}]}return function(t,n,r,i,a){var o=e.FindAllReferences.getReferenceEntriesForNode(t,n,r,a,i);if(o){var s=e.arrayToMultiMap(o.map(e.FindAllReferences.toHighlightSpan),function(e){return e.fileName},function(e){return e.span});return e.arrayFrom(s.entries(),function(e){return{fileName:e[0],highlightSpans:e[1]}})}}(a,s,t,r,o)||function(t,r){var i=function(t,r){switch(t.kind){case 90:case 82:return e.isIfStatement(t.parent)?function(r,i){for(var a=function(t,n){for(var r=[];e.isIfStatement(t.parent)&&t.parent.elseStatement===t;)t=t.parent;for(;;){var i=t.getChildren(n);c(r,i[0],90);for(var a=i.length-1;a>=0&&!c(r,i[a],82);a--);if(!t.elseStatement||!e.isIfStatement(t.elseStatement))break;t=t.elseStatement}return r}(t.parent,i),o=[],s=0;s=u.end;d--)if(!e.isWhiteSpaceSingleLine(i.text.charCodeAt(d))){_=!1;break}if(_){o.push({fileName:i.fileName,textSpan:e.createTextSpanFromBounds(u.getStart(),l.end),kind:"reference"}),s++;continue}}o.push(n(a[s],i))}return o}(0,r):void 0;case 96:return m(t.parent,e.isReturnStatement,f);case 100:return m(t.parent,e.isThrowStatement,p);case 102:case 74:case 87:return m(74===t.kind?t.parent.parent:t.parent,e.isTryStatement,d);case 98:return m(t.parent,e.isSwitchStatement,_);case 73:case 79:return m(t.parent.parent.parent,e.isSwitchStatement,_);case 72:case 77:return m(t.parent,e.isBreakOrContinueStatement,l);case 88:case 106:case 81:return m(t.parent,function(t){return e.isIterationStatement(t,!0)},u);case 123:return s(e.isConstructorDeclaration,[123]);case 125:case 136:return s(e.isAccessor,[125,136]);default:return e.isModifierKind(t.kind)&&(e.isDeclaration(t.parent)||e.isVariableStatement(t.parent))?g((a=t.parent,o=e.modifierToFlag(i=t.kind),e.mapDefined(function(t,n){var r=t.parent;switch(r.kind){case 238:case 272:case 211:case 264:case 265:return 128&n&&e.isClassDeclaration(t)?t.members.concat([t]):r.statements;case 154:case 153:case 232:return r.parameters.concat(e.isClassLike(r.parent)?r.parent.members:[]);case 233:case 203:var i=r.members;if(28&n){var a=e.find(r.members,e.isConstructorDeclaration);if(a)return i.concat(a.parameters)}else if(128&n)return i.concat([r]);return i;default:e.Debug.assertNever(r,"Invalid container kind.")}}(a,o),function(t){if(e.getModifierFlags(t)&o){var n=e.find(t.modifiers,function(e){return e.kind===i});return e.Debug.assert(!!n),n}}))):void 0}var i,a,o;function s(n,i){return m(t.parent,n,function(t){return e.mapDefined(t.symbol.declarations,function(t){return n(t)?e.find(t.getChildren(r),function(t){return e.contains(i,t.kind)}):void 0})})}function m(e,t,n){return t(e)?g(n(e,r)):void 0}function g(e){return e&&e.map(function(e){return n(e,r)})}}(t,r);return i&&[{fileName:r.fileName,highlightSpans:i}]}(s,i)}}()}(l||(l={})),function(e){e.createDocumentRegistry=function(t,n){void 0===n&&(n="");var r=e.createMap(),i=e.createGetCanonicalFileName(!!t);function a(e){return"_"+e.target+"|"+e.module+"|"+e.noResolve+"|"+e.jsx+"|"+e.allowJs+"|"+e.baseUrl+"|"+JSON.stringify(e.typeRoots)+"|"+JSON.stringify(e.rootDirs)+"|"+JSON.stringify(e.paths)}function o(t,n){var i=r.get(t);return!i&&n&&r.set(t,i=e.createMap()),i}function s(e,t,n,r,i,a,o){return u(e,t,n,r,i,a,!0,o)}function c(e,t,n,r,i,a,o){return u(e,t,n,r,i,a,!1,o)}function u(t,n,r,i,a,s,c,u){var l=o(i,!0),_=l.get(n);if(_)_.sourceFile.version!==s&&(_.sourceFile=e.updateLanguageServiceSourceFile(_.sourceFile,a,s,a.getChangeRange(_.sourceFile.scriptSnapshot))),c&&_.languageServiceRefCount++;else{var d=e.createLanguageServiceSourceFile(t,a,r.target,s,!1,u);l.set(n,_={sourceFile:d,languageServiceRefCount:1,owners:[]})}return _.sourceFile}function l(t,n){var r=o(n,!1);e.Debug.assert(void 0!==r);var i=r.get(t);i.languageServiceRefCount--,e.Debug.assert(i.languageServiceRefCount>=0),0===i.languageServiceRefCount&&r.delete(t)}return{acquireDocument:function(t,r,o,c,u){return s(t,e.toPath(t,n,i),r,a(r),o,c,u)},acquireDocumentWithKey:s,updateDocument:function(t,r,o,s,u){return c(t,e.toPath(t,n,i),r,a(r),o,s,u)},updateDocumentWithKey:c,releaseDocument:function(t,r){return l(e.toPath(t,n,i),a(r))},releaseDocumentWithKey:l,reportStats:function(){var t=e.arrayFrom(r.keys()).filter(function(e){return e&&"_"===e.charAt(0)}).map(function(e){var t=[];return r.get(e).forEach(function(e,n){t.push({name:n,refCount:e.languageServiceRefCount,references:e.owners.slice(0)})}),t.sort(function(e,t){return t.refCount-e.refCount}),{bucket:e,sourceFiles:t}});return JSON.stringify(t,void 0,2)},getKeyForCompilationSettings:a}}}(l||(l={})),function(e){!function(t){function n(t,n){return e.forEach(272===t.kind?t.statements:t.body.statements,function(t){return n(t)||l(t)&&e.forEach(t.body&&t.body.statements,n)})}function r(e,t){if(e.externalModuleIndicator||void 0!==e.imports)for(var r=0,a=e.imports;r=0&&!(c>r.end);){var u=c+s;0!==c&&e.isIdentifierPart(a.charCodeAt(c-1),6)||u!==o&&e.isIdentifierPart(a.charCodeAt(u),6)||i.push(c),c=a.indexOf(n,c+s+1)}return i}function p(n,r){var i=n.getSourceFile(),a=r.text,o=e.mapDefined(d(i,a,n),function(n){var o=e.getTouchingWord(i,n,!1);return o&&(o===r||e.isJumpStatementTarget(o)&&e.getTargetLabel(o,a)===r)?t.nodeEntry(o):void 0});return[{definition:{type:"label",node:r},references:o}]}function f(e,t,n){return n.cancellationToken.throwIfCancellationRequested(),m(e,e,t,n)}function m(e,t,n,r){if(r.markSearchedSymbol(t,n.symbol))for(var i=0,a=d(t,n.text,e);ie.major||this.major===e.major&&(this.minor>e.minor||this.minor===e.minor&&(!this.isPrerelease&&e.isPrerelease||this.isPrerelease===e.isPrerelease&&this.patch>e.patch))},e}();e.Semver=a}(l||(l={})),function(e){!function(t){function n(t,n){return!e.Semver.parse(e.getProperty(n,"ts"+e.versionMajorMinor)||e.getProperty(n,"latest")).greaterThan(t.version)}t.isTypingUpToDate=n,t.nodeCoreModuleList=["buffer","querystring","events","http","cluster","zlib","os","https","punycode","repl","readline","vm","child_process","url","dns","net","dgram","fs","path","string_decoder","tls","crypto","stream","util","assert","tty","domain","constants","process","v8","timers","console"];var r=e.arrayToSet(t.nodeCoreModuleList);t.loadSafeList=function(t,n){var r=e.readConfigFile(n,function(e){return t.readFile(e)});return e.createMapFromTemplate(r.config)},t.loadTypesMap=function(t,n){var r=e.readConfigFile(n,function(e){return t.readFile(e)});if(r.config)return e.createMapFromTemplate(r.config.simpleMap)},t.discoverTypings=function(t,i,a,o,s,c,u,l,_){if(!u||!u.enable)return{cachedTypingPaths:[],newTypingNames:[],filesToWatch:[]};var d=e.createMap();a=e.mapDefined(a,function(t){var n=e.normalizePath(t);if(e.hasJavaScriptFileExtension(n))return n});var p=[];u.include&&S(u.include,"Explicitly included types");var f=u.exclude||[],m=e.arrayToSet(a,e.getDirectoryPath);m.set(o,!0),m.forEach(function(t,n){D(e.combinePaths(n,"package.json"),p),D(e.combinePaths(n,"bower.json"),p),C(e.combinePaths(n,"bower_components"),p),C(e.combinePaths(n,"node_modules"),p)}),function(t){var n=e.mapDefined(t,function(t){if(e.hasJavaScriptFileExtension(t)){var n=e.removeFileExtension(e.getBaseFileName(t.toLowerCase())),r=e.removeMinAndVersionNumbers(n);return s.get(r)}});n.length&&S(n,"Inferred typings from file names"),e.some(t,function(t){return e.fileExtensionIs(t,".jsx")})&&(i&&i("Inferred 'react' typings due to presence of '.jsx' extension"),k("react"))}(a),l&&S(e.deduplicate(l.map(function(e){return r.has(e)?"node":e}),e.equateStringsCaseSensitive,e.compareStringsCaseSensitive),"Inferred typings from unresolved imports"),c.forEach(function(e,t){d.has(t)&&void 0===d.get(t)&&n(e,_.get(t))&&d.set(t,e.typingLocation)});for(var g=0,y=f;g214?3:46===e.charCodeAt(0)?4:95===e.charCodeAt(0)?5:/^@[^/]+\/[^/]+$/.test(e)?1:encodeURIComponent(e)!==e?6:0:2},t.renderPackageNameValidationFailure=function(t,n){switch(t){case 2:return"Package name '"+n+"' cannot be empty";case 3:return"Package name '"+n+"' should be less than 214 characters";case 4:return"Package name '"+n+"' cannot start with '.'";case 5:return"Package name '"+n+"' cannot start with '_'";case 1:return"Package '"+n+"' is scoped and currently is not supported";case 6:return"Package name '"+n+"' contains non URI safe characters";case 0:return e.Debug.fail();default:e.Debug.assertNever(t)}}}(e.JsTyping||(e.JsTyping={}))}(l||(l={})),function(e){!function(t){function n(e,t){switch(e.kind){case 243:case 246:case 241:var n=t.getSymbolAtLocation(e.name),r=t.getAliasedSymbol(n);return n.escapedName!==r.escapedName;default:return!0}}function r(t){e.Debug.assert(t.length>0);for(var n=0,r=t;n0);for(var n=e.PatternMatchKind.camelCase,r=0,i=t;r0)return r}switch(t.kind){case 272:var i=t;return e.isExternalModule(i)?'"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(i.fileName))))+'"':"";case 191:case 232:case 190:case 233:case 203:return 512&e.getModifierFlags(t)?"default":I(t);case 154:return"constructor";case 158:return"new()";case 157:return"()";case 159:return"[]";case 291:return C(t);default:return""}}function C(e){if(e.name)return e.name.text;var t=e.parent&&e.parent.parent;if(t&&212===t.kind&&t.declarationList.declarations.length>0){var n=t.declarationList.declarations[0].name;if(71===n.kind)return n.text}return""}function T(t){return{text:D(t.node),kind:e.getNodeKind(t.node),kindModifiers:F(t.node),spans:N(t),childItems:e.map(t.children,T)}}function E(t){return{text:D(t.node),kind:e.getNodeKind(t.node),kindModifiers:F(t.node),spans:N(t),childItems:e.map(t.children,function(t){return{text:D(t.node),kind:e.getNodeKind(t.node),kindModifiers:e.getNodeModifiers(t.node),spans:N(t),childItems:s,indent:0,bolded:!1,grayed:!1}})||s,indent:t.indent,bolded:!1,grayed:!1}}function N(e){var t=[w(e.node)];if(e.additionalNodes)for(var n=0,r=e.additionalNodes;n0?e.declarationNameToString(t.name):230===t.parent.kind?e.declarationNameToString(t.parent.name):198===t.parent.kind&&58===t.parent.operatorToken.kind?u(t.parent.left).replace(a,""):268===t.parent.kind&&t.parent.name?u(t.parent.name):512&e.getModifierFlags(t)?"default":e.isClassLike(t)?"":""}t.getNavigationBarItems=function(t,i){n=i,r=t;try{return e.map((a=d(t),o=[],function t(n){if(function(t){switch(l(t)){case 233:case 203:case 236:case 234:case 237:case 272:case 235:case 291:return!0;case 154:case 153:case 155:case 156:case 230:return n(t);case 191:case 232:case 190:return function(e){if(!e.node.body)return!1;switch(l(e.parent)){case 238:case 272:case 153:case 154:return!0;default:return n(e)}}(t);default:return!1}function n(t){return e.forEach(t.children,function(e){var t=l(e);return 230!==t&&180!==t})}}(n)&&(o.push(n),n.children))for(var r=0,i=n.children;r0?i[0]:s[0],v=0===y.length?void 0:0===s.length?e.createNamedImports(y):e.updateNamedImports(s[0].importClause.namedBindings,y);return c.push(a(h,u,v)),c;function b(t,n){return e.compareStringsCaseSensitive(t.text,n.text)}}function a(t,n,r){return e.updateImportDeclaration(t,t.decorators,t.modifiers,e.updateImportClause(t.importClause,n,r),t.moduleSpecifier)}function o(t,n){var i=r(t),a=r(n);return e.compareBooleans(void 0===i,void 0===a)||e.compareBooleans(e.isExternalModuleNameRelative(i),e.isExternalModuleNameRelative(a))||e.compareStringsCaseSensitive(i,a)}t.organizeImports=function(t,s,c,u){var l=e.textChanges.ChangeTracker.fromContext({host:c,formatContext:s});p(t.statements.filter(e.isImportDeclaration));for(var _=0,d=t.statements.filter(e.isAmbientModule);_1&&a.push(n(s,c))}}(c,t,i,a);var u=function(t,n){switch(t.kind){case 211:if(e.isFunctionBlock(t))return o(t.parent,191!==t.parent.kind);switch(t.parent.kind){case 216:case 219:case 220:case 218:case 215:case 217:case 224:case 267:return o(t.parent);case 228:var i=t.parent;if(i.tryBlock===t)return o(t.parent);if(i.finallyBlock===t)return o(e.findChildOfKind(i,87,n));default:return r(e.createTextSpanFromNode(t,n))}case 238:return o(t.parent);case 233:case 234:case 236:case 239:return o(t);case 182:return a(t);case 181:return a(t,21)}function a(t,n){return void 0===n&&(n=17),o(t,!1,!e.isArrayLiteralExpression(t.parent),n)}function o(i,a,o,s){void 0===a&&(a=!1),void 0===o&&(o=!0),void 0===s&&(s=17);var c=e.findChildOfKind(t,s,n),u=e.findChildOfKind(t,17===s?18:22,n);if(c&&u)return r(e.createTextSpanFromBounds(o?c.getFullStart():c.getStart(n),u.getEnd()),e.createTextSpanFromNode(i,n),a)}}(c,t);u&&a.push(u),o--,c.forEachChild(s),o++}})}(t,i,a),function(t,n){for(var i=[],a=t.getLineStarts(),o=0;o=65&&t<=90)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,6))return!1;var n=String.fromCharCode(t);return n===n.toUpperCase()}function a(t){if(t>=97&&t<=122)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,6))return!1;var n=String.fromCharCode(t);return n===n.toLowerCase()}function o(e,t,n){for(var r=0;r=65&&e<=90?e-65+97:e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function c(e){return e>=48&&e<=57}function u(e){return i(e)||a(e)||c(e)||95===e||36===e}function l(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:_(e)}}function _(e){return p(e,!1)}function d(e){return p(e,!0)}function p(t,n){for(var r=[],i=0,a=1;a0&&(t.push(l(e.substr(n,r))),r=0);return r>0&&t.push(l(e.substr(n,r))),t}(t)};var t}),p=0===_.length||e.forEach(_,r);return{getMatches:function(t,n){if(!f(n)){var r=y(n,e.lastOrUndefined(_));if(r&&!(_.length-1>(t=t||[]).length)){for(var i=r,a=_.length-2,o=t.length-1;a>=0;a-=1,o-=1){var s=y(t[o],_[a]);if(!s)return;e.addRange(i,s)}return i}}},getMatchesForLastSegmentOfPattern:function(t){if(!f(t))return y(t,e.lastOrUndefined(_))},patternContainsDots:_.length>1};function f(e){return p||!e}function m(e){var t=c.get(e);return t||c.set(e,t=d(e)),t}function g(r,a,s){var c=function(e,t){for(var n=e.length-t.length,r=0;r<=n;r++)if(o(e,t,r))return r;return-1}(r,a.textLowerCase);if(0===c)return a.text.length===r.length?n(t.exact,s,r===a.text):n(t.prefix,s,e.startsWith(r,a.text));var u=a.isLowerCase;if(u){if(c>0)for(var l=0,_=m(r);l<_.length;l++){var d=_[l];if(h(r,d,a.text,!0))return n(t.substring,s,h(r,d,a.text,!1))}}else if(r.indexOf(a.text)>0)return n(t.substring,s,!0);if(!u&&a.characterSpans.length>0){var p=m(r),f=v(r,p,a,!1);if(void 0!==f)return n(t.camelCase,s,!0,f);if(void 0!==(f=v(r,p,a,!0)))return n(t.camelCase,s,!1,f)}return u&&a.text.length0&&i(r.charCodeAt(c))?n(t.substring,s,!1):void 0}function y(e,t){if(!function(e){for(var t=0;tt.length)return!1;if(r)for(var c=0;c0){if(c.some(o))return r(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library);if(e.isIdentifier(t)&&79===t.originalKeywordKind&&1536&s.parent.flags)return;var u=e.SymbolDisplay.getSymbolKind(i,s,t),l=e.isImportOrExportSpecifierName(t)||e.isStringOrNumericLiteral(t)&&146===t.parent.kind?e.stripQuotes(e.getTextOfIdentifierOrLiteral(t)):void 0;return n(l||i.symbolToString(s),l||i.getFullyQualifiedName(s),u,e.SymbolDisplay.getSymbolModifiers(s),t,a)}}else if(e.isStringLiteral(t))return o(t)?r(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library):n(t.text,t.text,"var","",t,a)}(u,t,o,function(t){if(!i)return!1;var n=t.getSourceFile();return a(e.normalizePath(n.fileName))===c()}):void 0)||r(e.Diagnostics.You_cannot_rename_this_element)}}()}(l||(l={})),function(e){!function(t){function n(t,n,i){if(e.isCallOrNewExpression(t.parent)){var a=t.parent,o=void 0,s=void 0;if(27===t.kind||19===t.kind)o=function(t,n,r){var i=a.getChildren(r),o=i.indexOf(n);return e.Debug.assert(o>=0&&i.length>o+1),i[o+1]}(0,t,i),e.Debug.assert(void 0!==o),s=0;else{if(!(o=e.findContainingList(t)))return;s=function(e,t){for(var n=0,r=0,i=o.getChildren();r0&&26===e.lastOrUndefined(n).kind&&r++,r}();return 0!==s&&e.Debug.assertLessThan(s,u),{kind:c,invocation:a,argumentsSpan:function(t,n){var r=t.getFullStart(),i=e.skipTrivia(n.text,t.getEnd(),!1);return e.createTextSpan(r,i-r)}(o,i),argumentIndex:s,argumentCount:u}}if(13===t.kind&&187===t.parent.kind){if(e.isInsideTemplateLiteral(t,n))return r(t.parent,0,i)}else{if(14===t.kind&&187===t.parent.parent.kind){var l=(_=t.parent).parent;return e.Debug.assert(200===_.kind),r(l,s=e.isInsideTemplateLiteral(t,n)?0:1,i)}if(209===t.parent.kind&&187===t.parent.parent.parent.kind){var _,d=t.parent;if(l=(_=d.parent).parent,e.Debug.assert(200===_.kind),16===t.kind&&!e.isInsideTemplateLiteral(t,n))return;return r(l,s=function(t,n,r){return e.Debug.assert(r>=n.getStart(),"Assumed 'position' could not occur before node."),e.isTemplateLiteralKind(n.kind)?e.isInsideTemplateLiteral(n,r)?0:t+2:t+1}(_.templateSpans.indexOf(d),t,n),i)}if(t.parent&&e.isJsxOpeningLikeElement(t.parent)){var p=t.parent.attributes.getFullStart(),f=e.skipTrivia(i.text,t.parent.attributes.getEnd(),!1);return{kind:3,invocation:t.parent,argumentsSpan:e.createTextSpan(p,f-p),argumentIndex:0,argumentCount:1}}}}function r(t,n,r){var i=e.isNoSubstitutionTemplateLiteral(t.template)?1:t.template.templateSpans.length+1;return 0!==n&&e.Debug.assertLessThan(n,i),{kind:2,invocation:t,argumentsSpan:function(n,r){var i=t.template,a=i.getStart(),o=i.getEnd();return 200===i.kind&&0===e.lastOrUndefined(i.templateSpans).literal.getFullWidth()&&(o=e.skipTrivia(r.text,o,!1)),e.createTextSpan(a,o-a)}(0,r),argumentIndex:n,argumentCount:i}}function i(t,r,i){for(var a=t;272!==a.kind;a=a.parent){if(e.isFunctionBlock(a))return;(a.posa.parent.end)&&e.Debug.fail("Node of kind "+a.kind+" is not a subspan of its parent of kind "+a.parent.kind);var o=n(a,r,i);if(o)return o}}!function(e){e[e.TypeArguments=0]="TypeArguments",e[e.CallArguments=1]="CallArguments",e[e.TaggedTemplateArguments=2]="TaggedTemplateArguments",e[e.JSXAttributesArguments=3]="JSXAttributesArguments"}(t.ArgumentListKind||(t.ArgumentListKind={})),t.getSignatureHelpItems=function(t,n,r,a){var s=t.getTypeChecker(),c=e.findTokenOnLeftOfPosition(n,r);if(c){var u=i(c,r,n);if(u){a.throwIfCancellationRequested();var l=[],_=s.getResolvedSignature(u.invocation,l,u.argumentCount);return a.throwIfCancellationRequested(),l.length?o(l,_,u,s):e.isSourceFileJavaScript(n)?function(t,n){if(185===t.invocation.kind){var r=t.invocation.expression,i=e.isIdentifier(r)?r:e.isPropertyAccessExpression(r)?r.name:void 0;if(i&&i.escapedText)for(var a=n.getTypeChecker(),s=0,c=n.getSourceFiles();s0?e.map(u,h):e.emptyArray,s.push(e.punctuationPart(29));var _=e.mapToDisplayParts(function(n){var r=t.thisParameter?[i.symbolToParameterDeclaration(t.thisParameter,c,a)]:[],o=e.createNodeArray(r.concat(e.map(t.parameters,function(e){return i.symbolToParameterDeclaration(e,c,a)})));f.writeList(1296,o,e.getSourceFileOfNode(e.getParseTreeNode(c)),n)});e.addRange(s,_)}else{r=t.hasRestParameter;var d=e.mapToDisplayParts(function(n){if(t.typeParameters&&t.typeParameters.length){var r=e.createNodeArray(e.map(t.typeParameters,function(e){return i.typeParameterToDeclaration(e,c)}));f.writeList(26896,r,e.getSourceFileOfNode(e.getParseTreeNode(c)),n)}});e.addRange(o,d),o.push(e.punctuationPart(19)),n=e.map(t.parameters,y),s.push(e.punctuationPart(20))}var m=e.mapToDisplayParts(function(e){e.writePunctuation(":"),e.writeSpace(" ");var n=i.getTypePredicateOfSignature(t);n?i.writeTypePredicate(n,c,void 0,e):i.writeType(i.getReturnTypeOfSignature(t),c,void 0,e)});return e.addRange(s,m),{isVariadic:r,prefixDisplayParts:o,suffixDisplayParts:s,separatorDisplayParts:[e.punctuationPart(26),e.spacePart()],parameters:n,documentation:t.getDocumentationComment(i),tags:t.getJsDocTags()}});0!==u&&e.Debug.assertLessThan(u,o);var g=t.indexOf(n);return e.Debug.assert(-1!==g),{items:m,applicableSpan:s,selectedItemIndex:g,argumentIndex:u,argumentCount:o};function y(t){var n=e.mapToDisplayParts(function(n){var r=i.symbolToParameterDeclaration(t,c,a);f.writeNode(4,r,e.getSourceFileOfNode(e.getParseTreeNode(c)),n)});return{name:t.name,documentation:t.getDocumentationComment(i),displayParts:n,isOptional:i.isOptionalParameter(t.valueDeclaration)}}function h(t){var n=e.mapToDisplayParts(function(n){var r=i.typeParameterToDeclaration(t,c);f.writeNode(4,r,e.getSourceFileOfNode(e.getParseTreeNode(c)),n)});return{name:t.symbol.name,documentation:e.emptyArray,displayParts:n,isOptional:!1}}}}(e.SignatureHelp||(e.SignatureHelp={}))}(l||(l={})),function(e){function t(t){if(e.isExternalModuleReference(t))return t.parent.name;if(e.isImportDeclaration(t)){var n=t.importClause;return n&&!n.name&&244===n.namedBindings.kind&&e.isStringLiteral(t.moduleSpecifier)?n.namedBindings.name:void 0}}e.computeSuggestionDiagnostics=function(n,r){r.getSemanticDiagnostics(n);var i=r.getDiagnosticsProducingTypeChecker(),a=[];n.commonJsModuleIndicator&&a.push(e.createDiagnosticForNode(n.commonJsModuleIndicator,e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module));var o=e.isSourceFileJavaScript(n);if(function t(n){switch(n.kind){case 232:case 190:if(o){var r=n.symbol;r.members&&r.members.size>0&&a.push(e.createDiagnosticForNode(e.isVariableDeclaration(n.parent)?n.parent.name:n,e.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration))}}!o&&e.codefix.parameterShouldGetTypeFromJSDoc(n)&&a.push(e.createDiagnosticForNode(n.name||n,e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types)),n.forEachChild(t)}(n),e.getAllowSyntheticDefaultImports(r.getCompilerOptions()))for(var s=0,c=n.imports;s0?e.getNodeModifiers(t.declarations[0]):"",r=t&&16777216&t.flags?"optional":"";return n&&r?n+","+r:n||r},t.getSymbolDisplayPartsDocumentationAndSymbolKind=function t(i,a,o,s,c,u,l){void 0===u&&(u=e.getMeaningFromLocation(c));var _,d,p,f,m,g,y=[],h=e.getCombinedLocalAndExportSymbolFlags(a),v=r(i,a,c),b=99===c.kind&&e.isExpression(c);if(""!==v||32&h||2097152&h){"getter"!==v&&"setter"!==v||(v="property");var x=void 0;if(f=b?i.getTypeAtLocation(c):i.getTypeOfSymbolAtLocation(a.exportSymbol||a,c),c.parent&&183===c.parent.kind){var k=c.parent.name;(k===c||k&&0===k.getFullWidth())&&(c=c.parent)}var S=void 0;if(e.isCallOrNewExpression(c)?S=c:e.isCallExpressionTarget(c)||e.isNewExpressionTarget(c)?S=c.parent:c.parent&&e.isJsxOpeningLikeElement(c.parent)&&e.isFunctionLike(a.valueDeclaration)&&(S=c.parent),S){x=i.getResolvedSignature(S,[]);var D=186===S.kind||e.isCallExpression(S)&&97===S.expression.kind,C=D?f.getConstructSignatures():f.getCallSignatures();if(e.contains(C,x.target)||e.contains(C,x)||(x=C.length?C[0]:void 0),x){switch(D&&32&h?q(f.symbol,v="constructor"):2097152&h?(W(v="alias"),y.push(e.spacePart()),D&&(y.push(e.keywordPart(94)),y.push(e.spacePart())),V(a)):q(a,v),v){case"JSX attribute":case"property":case"var":case"const":case"let":case"parameter":case"local var":y.push(e.punctuationPart(56)),y.push(e.spacePart()),65536&f.flags&&16&f.objectFlags||!f.symbol||(e.addRange(y,e.symbolToDisplayParts(i,f.symbol,s,void 0,5)),y.push(e.lineBreakPart())),D&&(y.push(e.keywordPart(94)),y.push(e.spacePart())),H(x,C,262144);break;default:H(x,C)}p=!0}}else if(e.isNameOfFunctionDeclaration(c)&&!(98304&h)||123===c.kind&&154===c.parent.kind){var T=c.parent;e.find(a.declarations,function(e){return e===(123===c.kind?T.parent:T)})&&(C=154===T.kind?f.getNonNullableType().getConstructSignatures():f.getNonNullableType().getCallSignatures(),x=i.isImplementationOfOverload(T)?C[0]:i.getSignatureFromDeclaration(T),154===T.kind?q(f.symbol,v="constructor"):q(157!==T.kind||2048&f.symbol.flags||4096&f.symbol.flags?a:f.symbol,v),H(x,C),p=!0)}}if(32&h&&!p&&!b&&(K(),e.getDeclarationOfKind(a,203)?W("local class"):y.push(e.keywordPart(75)),y.push(e.spacePart()),V(a),G(a,o)),64&h&&2&u&&(J(),y.push(e.keywordPart(109)),y.push(e.spacePart()),V(a),G(a,o)),524288&h&&(J(),y.push(e.keywordPart(139)),y.push(e.spacePart()),V(a),G(a,o),y.push(e.spacePart()),y.push(e.operatorPart(58)),y.push(e.spacePart()),e.addRange(y,e.typeToDisplayParts(i,i.getDeclaredTypeOfSymbol(a),s,8388608))),384&h&&(J(),e.forEach(a.declarations,e.isConstEnumDeclaration)&&(y.push(e.keywordPart(76)),y.push(e.spacePart())),y.push(e.keywordPart(83)),y.push(e.spacePart()),V(a)),1536&h){J();var E=e.getDeclarationOfKind(a,237);y.push(e.keywordPart(E&&E.name&&71===E.name.kind?130:129)),y.push(e.spacePart()),V(a)}if(262144&h&&2&u)if(J(),y.push(e.punctuationPart(19)),y.push(e.textPart("type parameter")),y.push(e.punctuationPart(20)),y.push(e.spacePart()),V(a),a.parent)U(),V(a.parent,s),G(a.parent,s);else{var N=e.getDeclarationOfKind(a,147);e.Debug.assert(void 0!==N),(E=N.parent)&&(e.isFunctionLikeKind(E.kind)?(U(),x=i.getSignatureFromDeclaration(E),158===E.kind?(y.push(e.keywordPart(94)),y.push(e.spacePart())):157!==E.kind&&E.name&&V(E.symbol),e.addRange(y,e.signatureToDisplayParts(i,x,o,32))):235===E.kind&&(U(),y.push(e.keywordPart(139)),y.push(e.spacePart()),V(E.symbol),G(E.symbol,o)))}if(8&h&&(v="enum member",q(a,"enum member"),271===(E=a.declarations[0]).kind)){var A=i.getConstantValue(E);void 0!==A&&(y.push(e.spacePart()),y.push(e.operatorPart(58)),y.push(e.spacePart()),y.push(e.displayPart(e.getTextOfConstantValue(A),"number"==typeof A?e.SymbolDisplayPartKind.numericLiteral:e.SymbolDisplayPartKind.stringLiteral)))}if(2097152&h){if(J(),!p){var P=i.getAliasedSymbol(a);if(P!==a&&P.declarations&&P.declarations.length>0){var w=P.declarations[0],F=e.getNameOfDeclaration(w);if(F){var I=e.isModuleWithStringLiteralName(w)&&e.hasModifier(w,2),O="default"!==a.name&&!I,M=t(i,P,e.getSourceFileOfNode(w),w,F,u,O?a:P);y.push.apply(y,M.displayParts),y.push(e.lineBreakPart()),g=M.documentation}}}switch(a.declarations[0].kind){case 240:y.push(e.keywordPart(84)),y.push(e.spacePart()),y.push(e.keywordPart(130));break;case 247:y.push(e.keywordPart(84)),y.push(e.spacePart()),y.push(e.keywordPart(a.declarations[0].isExportEquals?58:79));break;default:y.push(e.keywordPart(91))}y.push(e.spacePart()),V(a),e.forEach(a.declarations,function(t){if(241===t.kind){var n=t;if(e.isExternalModuleImportEqualsDeclaration(n))y.push(e.spacePart()),y.push(e.operatorPart(58)),y.push(e.spacePart()),y.push(e.keywordPart(133)),y.push(e.punctuationPart(19)),y.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(n)),e.SymbolDisplayPartKind.stringLiteral)),y.push(e.punctuationPart(20));else{var r=i.getSymbolAtLocation(n.moduleReference);r&&(y.push(e.spacePart()),y.push(e.operatorPart(58)),y.push(e.spacePart()),V(r,s))}return!0}})}if(!p)if(""!==v){if(f)if(b?(J(),y.push(e.keywordPart(99))):q(a,v),"property"===v||"JSX attribute"===v||3&h||"local var"===v||b)if(y.push(e.punctuationPart(56)),y.push(e.spacePart()),f.symbol&&262144&f.symbol.flags){var L=e.mapToDisplayParts(function(t){var n=i.typeParameterToDeclaration(f,s);j().writeNode(4,n,e.getSourceFileOfNode(e.getParseTreeNode(s)),t)});e.addRange(y,L)}else e.addRange(y,e.typeToDisplayParts(i,f,s));else(16&h||8192&h||16384&h||131072&h||98304&h||"method"===v)&&(C=f.getNonNullableType().getCallSignatures()).length&&H(C[0],C)}else v=n(i,a,c);if(!_&&(_=a.getDocumentationComment(i),d=a.getJsDocTags(),0===_.length&&4&h&&a.parent&&e.forEach(a.parent.declarations,function(e){return 272===e.kind})))for(var R=0,B=a.declarations;R0))break}return 0===_.length&&g&&(_=g),{displayParts:y,documentation:_,symbolKind:v,tags:d};function j(){return m||(m=e.createPrinter({removeComments:!0})),m}function J(){y.length&&y.push(e.lineBreakPart()),K()}function K(){l&&(W("alias"),y.push(e.spacePart()))}function U(){y.push(e.spacePart()),y.push(e.keywordPart(92)),y.push(e.spacePart())}function V(t,n){l&&t===a&&(t=l);var r=e.symbolToDisplayParts(i,t,n||o,void 0,7);e.addRange(y,r)}function q(t,n){J(),n&&(W(n),t&&!e.some(t.declarations,function(t){return e.isArrowFunction(t)||(e.isFunctionExpression(t)||e.isClassExpression(t))&&!t.name})&&(y.push(e.spacePart()),V(t)))}function W(t){switch(t){case"var":case"function":case"let":case"const":case"constructor":return void y.push(e.textOrKeywordPart(t));default:return y.push(e.punctuationPart(19)),y.push(e.textOrKeywordPart(t)),void y.push(e.punctuationPart(20))}}function H(t,n,r){e.addRange(y,e.signatureToDisplayParts(i,t,s,32|r)),n.length>1&&(y.push(e.spacePart()),y.push(e.punctuationPart(19)),y.push(e.operatorPart(37)),y.push(e.displayPart((n.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral)),y.push(e.spacePart()),y.push(e.textPart(2===n.length?"overload":"overloads")),y.push(e.punctuationPart(20))),_=t.getDocumentationComment(i),d=t.getJsDocTags()}function G(t,n){var r=e.mapToDisplayParts(function(r){var a=i.symbolToTypeParameterDeclarations(t,n);j().writeList(26896,a,e.getSourceFileOfNode(e.getParseTreeNode(n)),r)});e.addRange(y,r)}}}(e.SymbolDisplay||(e.SymbolDisplay={}))}(l||(l={})),function(e){function t(t,n){var i=[],a=n.compilerOptions?r(n.compilerOptions,i):e.getDefaultCompilerOptions();a.isolatedModules=!0,a.suppressOutputPathCheck=!0,a.allowNonTsExtensions=!0,a.noLib=!0,a.lib=void 0,a.types=void 0,a.noEmit=void 0,a.noEmitOnError=void 0,a.paths=void 0,a.rootDirs=void 0,a.declaration=void 0,a.declarationDir=void 0,a.out=void 0,a.outFile=void 0,a.noResolve=!0;var o=n.fileName||(a.jsx?"module.tsx":"module.ts"),s=e.createSourceFile(o,t,a.target);n.moduleName&&(s.moduleName=n.moduleName),n.renamedDependencies&&(s.renamedDependencies=e.createMapFromTemplate(n.renamedDependencies));var c,u,l=e.getNewLineCharacter(a),_=e.createProgram([o],a,{getSourceFile:function(t){return t===e.normalizePath(o)?s:void 0},writeFile:function(t,n){e.fileExtensionIs(t,".map")?(e.Debug.assertEqual(u,void 0,"Unexpected multiple source map outputs, file:",t),u=n):(e.Debug.assertEqual(c,void 0,"Unexpected multiple outputs, file:",t),c=n)},getDefaultLibFileName:function(){return"lib.d.ts"},useCaseSensitiveFileNames:function(){return!1},getCanonicalFileName:function(e){return e},getCurrentDirectory:function(){return""},getNewLine:function(){return l},fileExists:function(e){return e===o},readFile:function(){return""},directoryExists:function(){return!0},getDirectories:function(){return[]}});return n.reportDiagnostics&&(e.addRange(i,_.getSyntacticDiagnostics(s)),e.addRange(i,_.getOptionsDiagnostics())),_.emit(void 0,void 0,void 0,void 0,n.transformers),e.Debug.assert(void 0!==c,"Output generation failed"),{outputText:c,diagnostics:i,sourceMapText:u}}var n;function r(t,r){n=n||e.filter(e.optionDeclarations,function(t){return"object"==typeof t.type&&!e.forEachEntry(t.type,function(e){return"number"!=typeof e})}),t=e.cloneCompilerOptions(t);for(var i=function(n){if(!e.hasProperty(t,n.name))return"continue";var i=t[n.name];e.isString(i)?t[n.name]=e.parseCustomTypeOption(n,i,r):e.forEachEntry(n.type,function(e){return e===i})||r.push(e.createCompilerDiagnosticForInvalidCustomType(n))},a=0,o=n;a>=a;return n}(f,p),0,r),c[u]=(e.Debug.assert(((d=1+((l=f)>>(_=p)&o))&o)===d,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules."),l&~(o<<_)|d<<_)}!function(e){e[e.IgnoreRulesSpecific=0]="IgnoreRulesSpecific",e[e.IgnoreRulesAny=1*a]="IgnoreRulesAny",e[e.ContextRulesSpecific=2*a]="ContextRulesSpecific",e[e.ContextRulesAny=3*a]="ContextRulesAny",e[e.NoContextRulesSpecific=4*a]="NoContextRulesSpecific",e[e.NoContextRulesAny=5*a]="NoContextRulesAny"}(i||(i={}))}(e.formatting||(e.formatting={}))}(l||(l={})),function(e){!function(t){var n,r,i,a,o;function s(t,n,r){var i=e.findPrecedingToken(t,r);return i&&i.kind===n&&t===i.getEnd()?i:void 0}function c(e){for(var t=e;t&&t.parent&&t.parent.end===e.end&&!u(t.parent,t);)t=t.parent;return t}function u(t,n){switch(t.kind){case 233:case 234:return e.rangeContainsRange(t.members,n);case 237:var r=t.body;return r&&238===r.kind&&e.rangeContainsRange(r.statements,n);case 272:case 211:case 238:return e.rangeContainsRange(t.statements,n);case 267:return e.rangeContainsRange(t.block.statements,n)}return!1}function l(t,n,r,i){return t?_({pos:e.getLineStartPositionForPosition(t.getStart(n),n),end:t.end},n,r,i):[]}function _(n,r,i,a){var o=function(t,n){return function r(i){var a=e.forEachChild(i,function(r){return e.startEndContainsRange(r.getStart(n),r.end,t)&&r});if(a){var o=r(a);if(o)return o}return i}(n)}(n,r);return t.getFormattingScanner(r.text,r.languageVariant,function(t,n,r){var i=t.getStart(r);if(i===n.pos&&t.end===n.end)return i;var a=e.findPrecedingToken(n.pos,r);return a?a.end>=n.pos?t.pos:a.end:t.pos}(o,n,r),n.end,function(s){return d(n,o,t.SmartIndenter.getIndentationForNode(o,n,r,i.options),function(e,n,r){for(var i,a=-1;e;){var o=r.getLineAndCharacterOfPosition(e.getStart(r)).line;if(-1!==a&&o!==a)break;if(t.SmartIndenter.shouldIndentChildNode(e,i))return n.indentSize;a=o,i=e,e=e.parent}return 0}(o,i.options,r),s,i,a,function(t,n){if(!t.length)return a;var r=t.filter(function(t){return e.rangeOverlapsWithStartEnd(n,t.start,t.start+t.length)}).sort(function(e,t){return e.start-t.start});if(!r.length)return a;var i=0;return function(t){for(;;){if(i>=r.length)return!1;var n=r[i];if(t.end<=n.start)return!1;if(e.startEndOverlapsWithStartEnd(t.pos,t.end,n.start,n.start+n.length))return!0;i++}};function a(){return!1}}(r.parseDiagnostics,n),r)})}function d(n,r,i,a,o,s,c,u,l){var _,d,f,m,g,y=s.options,h=s.getRule,v=new t.FormattingContext(l,c,y),b=[];if(o.advance(),o.isOnToken()){var x=l.getLineAndCharacterOfPosition(r.getStart(l)).line,k=x;r.decorators&&(k=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(r,l)).line),function r(i,a,s,c,d,p){if(e.rangeOverlapsWithStartEnd(n,i.getStart(l),i.getEnd())){var f=C(i,s,d,p),h=a;for(e.forEachChild(i,function(e){b(e,-1,i,f,s,c,!1)},function(t){!function(t,n,r,a){e.Debug.assert(e.isNodeArray(t));var s=function(e,t){switch(e.kind){case 154:case 232:case 190:case 153:case 152:case 191:if(e.typeParameters===t)return 27;if(e.parameters===t)return 19;break;case 185:case 186:if(e.typeArguments===t)return 27;if(e.arguments===t)return 19;break;case 161:if(e.typeArguments===t)return 27}return 0}(n,t),c=function(e){switch(s){case 19:return 20;case 27:return 29}return 0}(),u=a,_=r;if(0!==s)for(;o.isOnToken();){var d;if((d=o.readTokenInfo(n)).token.end>t.pos)break;if(d.token.kind===s){_=l.getLineAndCharacterOfPosition(d.token.pos).line;var p=D(d.token,_,-1,n,a,r);x(d,n,u=C(n,r,p.indentation,p.delta),n)}else x(d,n,a,n)}for(var f=-1,m=0;mi.end)break;x(v,i,f,i)}}function b(a,s,c,u,_,d,p,f){var m=a.getStart(l),g=l.getLineAndCharacterOfPosition(m).line,v=g;a.decorators&&(v=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(a,l)).line);var b=-1;if(p&&e.rangeContainsRange(n,c)&&-1!==(b=function(n,r,i,a,o){if(e.rangeOverlapsWithStartEnd(a,n,r)||e.rangeContainsStartEnd(a,n,r)){if(-1!==o)return o}else{var s=l.getLineAndCharacterOfPosition(n).line,c=e.getLineStartPositionForPosition(n,l),u=t.SmartIndenter.findFirstNonWhitespaceColumn(c,n,l,y);if(s!==i||n===u){var _=t.SmartIndenter.getBaseIndentation(y);return _>u?_:u}}return-1}(m,a.end,_,n,s))&&(s=b),!e.rangeOverlapsWithStartEnd(n,a.pos,a.end))return a.endm);)x(k,i,u,i);if(!o.isOnToken())return s;if(e.isToken(a)&&10!==a.kind){var k=o.readTokenInfo(a);return e.Debug.assert(k.token.end===a.end,"Token end is child end"),x(k,i,u,a),s}var S=D(a,g,b,i,u,149===a.kind?g:d);return r(a,h,g,v,S.indentation,S.delta),10===a.kind&&A({pos:a.getStart(),end:a.getEnd()},S.indentation,!0,!1),h=i,f&&181===c.kind&&-1===s&&(s=S.indentation),s}function x(t,r,i,a){e.Debug.assert(e.rangeContainsRange(r,t.token));var s=o.lastTrailingTriviaWasNewLine(),c=!1;t.leadingTrivia&&T(t.leadingTrivia,r,h,i);var d=0,p=e.rangeContainsRange(n,t.token),f=l.getLineAndCharacterOfPosition(t.token.pos);if(p){var y=u(t.token),v=_;if(d=E(t.token,f,r,h,i),!y)if(0===d){var b=v&&l.getLineAndCharacterOfPosition(v.end).line;c=s&&f.line!==b}else c=1===d}if(t.trailingTrivia&&T(t.trailingTrivia,r,h,i),c){var x=p&&!u(t.token)?i.getIndentationForToken(f.line,t.token.kind,a):-1,k=!0;if(t.leadingTrivia)for(var S=i.getIndentationForComment(t.token.kind,x,a),D=0,C=t.leadingTrivia;D0){var S=p(k,y);I(b,x.character,S)}else F(b,x.character)}}}else i||N(n.pos,r,!1)}function P(t,n,r){for(var i=t;io)){var s=w(a,o);-1!==s&&(e.Debug.assert(s===a||!e.isWhiteSpaceSingleLine(l.text.charCodeAt(s-1))),F(s,o+1-s))}}}function w(t,n){for(var r=n;r>=t&&e.isWhiteSpaceSingleLine(l.text.charCodeAt(r));)r--;return r!==n?r+1:-1}function F(t,n){n&&b.push(e.createTextChangeFromStartLength(t,n,""))}function I(t,n,r){(n||r)&&b.push(e.createTextChangeFromStartLength(t,n,r))}}function p(t,n){if((!i||i.tabSize!==n.tabSize||i.indentSize!==n.indentSize)&&(i={tabSize:n.tabSize,indentSize:n.indentSize},a=o=void 0),n.convertTabsToSpaces){var r=void 0,s=Math.floor(t/n.indentSize),c=t%n.indentSize;return o||(o=[]),void 0===o[s]?(r=e.repeatString(" ",n.indentSize*s),o[s]=r):r=o[s],c?r+e.repeatString(" ",c):r}var u=Math.floor(t/n.tabSize),l=t-u*n.tabSize,_=void 0;return a||(a=[]),void 0===a[u]?a[u]=_=e.repeatString("\t",u):_=a[u],l?_+e.repeatString(" ",l):_}!function(e){e[e.Unknown=-1]="Unknown"}(n||(n={})),t.formatOnEnter=function(t,n,r){var i=n.getLineAndCharacterOfPosition(t).line;if(0===i)return[];for(var a=e.getEndLinePosition(i,n);e.isWhiteSpaceSingleLine(n.text.charCodeAt(a));)a--;return e.isLineBreak(n.text.charCodeAt(a))&&a--,_({pos:e.getStartPositionOfLine(i-1,n),end:a+1},n,r,2)},t.formatOnSemicolon=function(e,t,n){return l(c(s(e,25,t)),t,n,3)},t.formatOnOpeningCurly=function(t,n,r){var i=s(t,17,n);if(!i)return[];var a=c(i.parent);return _({pos:e.getLineStartPositionForPosition(a.getStart(n),n),end:t},n,r,4)},t.formatOnClosingCurly=function(e,t,n){return l(c(s(e,18,t)),t,n,5)},t.formatDocument=function(e,t){return _({pos:0,end:e.text.length},e,t,0)},t.formatSelection=function(t,n,r,i){return _({pos:e.getLineStartPositionForPosition(t,r),end:n},r,i,1)},t.formatNodeGivenIndentation=function(e,n,r,i,a,o){var s={pos:0,end:n.text.length};return t.getFormattingScanner(n.text,r,s.pos,s.end,function(t){return d(s,e,i,a,t,o,1,function(e){return!1},n)})},function(e){e[e.None=0]="None",e[e.LineAdded=1]="LineAdded",e[e.LineRemoved=2]="LineRemoved"}(r||(r={})),t.getRangeOfEnclosingComment=function(t,n,r,i,a,o){if(void 0===a&&(a=e.getTokenAtPosition(t,n,!1)),!(a.getStart(t)<=n&&nn.end}if(p&&-1!==(v=m(e,i,u)))return v+r;var y=s(l,e,i),h=y.line===t.line||d(l,e,t.line,i);if(p){var v;if(-1!==(v=c(e,l,t,h,i,u)))return v+r;if(-1!==(v=g(e,i,u)))return v+r}k(l,e,o)&&!h&&(r+=u.indentSize);var b=_(l,e,t.line,i);l=(e=l).parent,t=b?i.getLineAndCharacterOfPosition(e.getStart(i)):y}return r+a(u)}function s(e,t,n){var r=f(t,n),i=r?r.pos:e.getStart(n);return n.getLineAndCharacterOfPosition(i)}function c(t,n,r,i,a,o){return!e.isDeclaration(t)&&!e.isStatementButNotDeclaration(t)||272!==n.kind&&i?-1:h(r,a,o)}function u(t,n,r,i){var a=e.findNextToken(t,n);return a?17===a.kind?1:18===a.kind&&r===l(a,i).line?2:0:0}function l(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function _(t,n,r,i){if(!e.isCallExpression(t)||!e.contains(t.arguments,n))return!1;var a=t.expression.getEnd();return e.getLineAndCharacterOfPosition(i,a).line===r}function d(t,n,r,i){if(215===t.kind&&t.elseStatement===n){var a=e.findChildOfKind(t,82,i);return e.Debug.assert(void 0!==a),l(a,i).line===r}return!1}function p(t,n,r){return t&&e.rangeContainsStartEnd(t,n,r)?t:void 0}function f(e,t){if(e.parent)switch(e.parent.kind){case 161:return p(e.parent.typeArguments,e.getStart(t),e.getEnd());case 182:return e.parent.properties;case 181:return e.parent.elements;case 232:case 190:case 191:case 153:case 152:case 157:case 154:case 163:case 158:var n=e.getStart(t);return p(e.parent.typeParameters,n,e.getEnd())||p(e.parent.parameters,n,e.getEnd());case 233:return p(e.parent.typeParameters,e.getStart(t),e.getEnd());case 186:case 185:return n=e.getStart(t),p(e.parent.typeArguments,n,e.getEnd())||p(e.parent.arguments,n,e.getEnd());case 231:return p(e.parent.declarations,e.getStart(t),e.getEnd());case 245:case 249:return p(e.parent.elements,e.getStart(t),e.getEnd())}}function m(e,t,n){var r=f(e,t);if(r){var i=r.indexOf(e);if(-1!==i)return y(r,i,t,n)}return-1}function g(t,n,r){if(20===t.kind)return-1;if(t.parent&&e.isCallOrNewExpression(t.parent)&&t.parent.expression!==t){var i=t.parent.expression,a=function(e){for(;;)switch(e.kind){case 185:case 186:case 183:case 184:e=e.expression;break;default:return e}}(i);if(i===a)return-1;var o=n.getLineAndCharacterOfPosition(i.end),s=n.getLineAndCharacterOfPosition(a.end);return o.line===s.line?-1:h(o,n,r)}return-1}function y(t,n,r,i){e.Debug.assert(n>=0&&n=0;o--)if(26!==t[o].kind){if(r.getLineAndCharacterOfPosition(t[o].end).line!==a.line)return h(a,r,i);a=l(t[o],r)}return-1}function h(e,t,n){var r=t.getPositionOfLineAndCharacter(e.line,0);return b(r,r+e.character,t,n)}function v(t,n,r,i){for(var a=0,o=0,s=t;sr.text.length)return a(i);if(i.indentStyle===e.IndentStyle.None)return 0;var c=e.findPrecedingToken(n,r),_=t.getRangeOfEnclosingComment(r,n,!0,c||null);if(_)return function(t,n,r,i){var a=e.getLineAndCharacterOfPosition(t,n).line-1,o=e.getLineAndCharacterOfPosition(t,i.pos).line;if(e.Debug.assert(o>=0),a<=o)return b(e.getStartPositionOfLine(o,t),n,t,r);var s=e.getStartPositionOfLine(a,t),c=v(s,n,t,r),u=c.column;return 0===u?u:42===t.text.charCodeAt(s+c.character)?u-1:u}(r,n,i,_);if(!c)return a(i);if(e.isStringOrRegularExpressionOrTemplateLiteral(c.kind)&&c.getStart(r)<=n&&n0;){var a=t.text.charCodeAt(i);if(!e.isWhiteSpaceLike(a))break;i--}return b(e.getLineStartPositionForPosition(i,t),i,t,r)}(r,n,i);if(26===c.kind&&198!==c.parent.kind){var p=function(t,n,r){var i=e.findListItemInfo(c);return i&&i.listItemIndex>0?y(i.list.getChildren(),i.listItemIndex-1,n,r):-1}(0,r,i);if(-1!==p)return p}return function(t,n,r,i,s,c){for(var _,d=r;d;){if(e.positionBelongsToNode(d,n,t)&&k(d,_,!0)){var p=l(d,t),f=u(r,d,i,t);return o(d,p,void 0,0!==f?s&&2===f?c.indentSize:0:i!==p.line?c.indentSize:0,t,!0,c)}var y=m(d,t,c);if(-1!==y)return y;if(-1!==(y=g(d,t,c)))return y+c.indentSize;_=d,d=d.parent}return a(c)}(r,n,c,d,s,i)},n.getIndentationForNode=function(e,t,n,r){return o(e,n.getLineAndCharacterOfPosition(e.getStart(n)),t,0,n,!1,r)},n.getBaseIndentation=a,function(e){e[e.Unknown=0]="Unknown",e[e.OpenBrace=1]="OpenBrace",e[e.CloseBrace=2]="CloseBrace"}(i||(i={})),n.isArgumentAndStartLineOverlapsExpressionBeingCalled=_,n.childStartsOnTheSameLineWithElseInIfStatement=d,n.getContainingList=f,n.findFirstNonWhitespaceCharacterAndColumn=v,n.findFirstNonWhitespaceColumn=b,n.nodeWillIndentChild=x,n.shouldIndentChildNode=k}(t.SmartIndenter||(t.SmartIndenter={}))}(e.formatting||(e.formatting={}))}(l||(l={})),function(e){!function(t){function n(t){var n=t.__pos;return e.Debug.assert("number"==typeof n),n}function r(t,n){e.Debug.assert("number"==typeof n),t.__pos=n}function i(t){var n=t.__end;return e.Debug.assert("number"==typeof n),n}function a(t,n){e.Debug.assert("number"==typeof n),t.__end=n}var o,s;function c(t,n){return e.skipTrivia(t,n,!1,!0)}function u(t,n,r,i){if(r.useNonAdjustedStartPosition)return n.getStart(t);var a=n.getFullStart(),s=n.getStart(t);if(a===s)return s;var u=e.getLineStartPositionForPosition(a,t);if(e.getLineStartPositionForPosition(s,t)===u)return i===o.Start?s:a;var l=a>0?1:0,_=e.getStartPositionOfLine(e.getLineOfLocalPosition(t,u)+l,t);return _=c(t.text,_),e.getStartPositionOfLine(e.getLineOfLocalPosition(t,_),t)}function l(t,n,r){if(r.useNonAdjustedEndPosition||e.isExpression(n))return n.getEnd();var i=n.getEnd(),a=e.skipTrivia(t.text,i,!0);return a!==i&&e.isLineBreak(t.text.charCodeAt(a-1))?a:i}function _(e,t){return t&&e.parent&&(26===t.kind||25===t.kind&&182===e.parent.kind)}!function(e){e[e.FullStart=0]="FullStart",e[e.Start=1]="Start"}(o=t.Position||(t.Position={})),t.useNonAdjustedPositions={useNonAdjustedStartPosition:!0,useNonAdjustedEndPosition:!0},function(e){e[e.Remove=0]="Remove",e[e.ReplaceWithSingleNode=1]="ReplaceWithSingleNode",e[e.ReplaceWithMultipleNodes=2]="ReplaceWithMultipleNodes"}(s||(s={})),t.getSeparatorCharacter=function(t){return e.tokenToString(t.kind)},t.getAdjustedStartPosition=u,t.getAdjustedEndPosition=l;var d,p=function(){function n(t,n){this.newLineCharacter=t,this.formatContext=n,this.changes=[],this.deletedNodesInLists=[],this.nodesInsertedAtClassStarts=e.createMap()}return n.fromContext=function(t){return new n(e.getNewLineOrDefaultFromHost(t.host,t.formatContext.options),t.formatContext)},n.with=function(e,t){var r=n.fromContext(e);return t(r),r.getChanges()},n.prototype.deleteRange=function(e,t){return this.changes.push({kind:s.Remove,sourceFile:e,range:t}),this},n.prototype.deleteNode=function(e,t,n){void 0===n&&(n={});var r=u(e,t,n,o.FullStart),i=l(e,t,n);return this.deleteRange(e,{pos:r,end:i}),this},n.prototype.deleteNodeRange=function(e,t,n,r){void 0===r&&(r={});var i=u(e,t,r,o.FullStart),a=l(e,n,r);return this.deleteRange(e,{pos:i,end:a}),this},n.prototype.deleteNodeInList=function(t,n){var r=e.formatting.SmartIndenter.getContainingList(n,t);if(!r)return e.Debug.fail("node is not a list element"),this;var i=e.indexOfNode(r,n);if(i<0)return this;if(1===r.length)return this.deleteNode(t,n),this;var a=e.getNodeId(n);if(e.Debug.assert(!this.deletedNodesInLists[a],"Deleting a node twice"),this.deletedNodesInLists[a]=!0,i!==r.length-1){var s=e.getTokenAtPosition(t,n.end,!1);if(s&&_(n,s)){var c=e.skipTrivia(t.text,u(t,n,{},o.FullStart),!1,!0),d=e.skipTrivia(t.text,u(t,r[i+1],{},o.FullStart),!1,!0);this.deleteRange(t,{pos:c,end:d})}}else if(this.deletedNodesInLists[e.getNodeId(r[i-1])]){var p=e.skipTrivia(t.text,u(t,n,{},o.FullStart),!1,!0),f=l(t,n,{});this.deleteRange(t,{pos:p,end:f})}else{var m=e.getTokenAtPosition(t,r[i-1].end,!1);m&&_(n,m)&&this.deleteNodeRange(t,m,n)}return this},n.prototype.replaceRange=function(e,t,n,r){return void 0===r&&(r={}),this.changes.push({kind:s.ReplaceWithSingleNode,sourceFile:e,range:t,options:r,node:n}),this},n.prototype.replaceNode=function(e,t,n,r){void 0===r&&(r={});var i=u(e,t,r,o.Start),a=l(e,t,r);return this.replaceRange(e,{pos:i,end:a},n,r)},n.prototype.replaceNodeRange=function(e,t,n,r,i){void 0===i&&(i={});var a=u(e,t,i,o.Start),s=l(e,n,i);return this.replaceRange(e,{pos:a,end:s},r,i)},n.prototype.replaceRangeWithNodes=function(e,n,r,i){return void 0===i&&(i=t.useNonAdjustedPositions),this.changes.push({kind:s.ReplaceWithMultipleNodes,sourceFile:e,range:n,options:i,nodes:r}),this},n.prototype.replaceNodeWithNodes=function(e,n,r,i){void 0===i&&(i=t.useNonAdjustedPositions);var a=u(e,n,i,o.Start),s=l(e,n,i);return this.replaceRangeWithNodes(e,{pos:a,end:s},r,i)},n.prototype.replaceNodeRangeWithNodes=function(e,n,r,i,a){void 0===a&&(a=t.useNonAdjustedPositions);var s=u(e,n,a,o.Start),c=l(e,r,a);return this.replaceRangeWithNodes(e,{pos:s,end:c},i,a)},n.prototype.insertNodeAt=function(e,t,n,r){return void 0===r&&(r={}),this.changes.push({kind:s.ReplaceWithSingleNode,sourceFile:e,options:r,node:n,range:{pos:t,end:t}}),this},n.prototype.insertNodesAt=function(e,t,n,r){void 0===r&&(r={}),this.changes.push({kind:s.ReplaceWithMultipleNodes,sourceFile:e,options:r,nodes:n,range:{pos:t,end:t}})},n.prototype.insertNodeAtTopOfFile=function(t,n,r){var i=function(n){var r=t.text,i=e.getShebang(r),a=0;void 0!==i&&(a=i.length,l());var o=e.getLeadingCommentRanges(r,a);if(!o)return a;o.length&&3===o[0].kind&&e.isPinnedComment(r,o[0])&&(a=o[0].end,l(),o=o.slice(1));for(var s=0,c=o;s"})},n.prototype.getOptionsForInsertNodeBefore=function(t,n){return e.isStatement(t)||e.isClassElement(t)?{suffix:n?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}:e.isVariableDeclaration(t)?{suffix:", "}:e.isParameter(t)?{}:e.Debug.failBadSyntaxKind(t)},n.prototype.insertNodeAtConstructorStart=function(t,n,r){var i=e.firstOrUndefined(n.body.statements);i&&n.body.multiLine?this.insertNodeBefore(t,i,r):this.replaceConstructorBody(t,n,[r].concat(n.body.statements))},n.prototype.insertNodeAtConstructorEnd=function(t,n,r){var i=e.lastOrUndefined(n.body.statements);i&&n.body.multiLine?this.insertNodeAfter(t,i,r):this.replaceConstructorBody(t,n,n.body.statements.concat([r]))},n.prototype.replaceConstructorBody=function(t,n,r){this.replaceNode(t,n.body,e.createBlock(r,!0),{useNonAdjustedEndPosition:!0})},n.prototype.insertNodeAtEndOfScope=function(t,n,r){var i=u(t,n.getLastToken(),{},o.Start);this.replaceRange(t,{pos:i,end:i},r,{prefix:e.isLineBreak(t.text.charCodeAt(n.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})},n.prototype.insertNodeAtClassStart=function(t,n,r){var i=e.firstOrUndefined(n.members);if(i)this.insertNodeBefore(t,i,r);else{var a=e.getNodeId(n).toString(),o=this.nodesInsertedAtClassStarts.get(a);o?(e.Debug.assert(o.sourceFile===t&&o.cls===n),o.members.push(r)):this.nodesInsertedAtClassStarts.set(a,{sourceFile:t,cls:n,members:[r]})}},n.prototype.insertNodeAfter=function(t,n,r){(e.isStatementButNotDeclaration(n)||151===n.kind||150===n.kind||152===n.kind)&&59!==t.text.charCodeAt(n.end-1)&&this.changes.push({kind:s.ReplaceWithSingleNode,sourceFile:t,options:{},range:{pos:n.end,end:n.end},node:e.createToken(25)});var i=l(t,n,{});return this.replaceRange(t,{pos:i,end:i},r,this.getInsertNodeAfterOptions(n))},n.prototype.getInsertNodeAfterOptions=function(t){return e.isClassDeclaration(t)||e.isModuleDeclaration(t)?{prefix:this.newLineCharacter,suffix:this.newLineCharacter}:e.isStatement(t)||e.isClassElement(t)||e.isTypeElement(t)?{suffix:this.newLineCharacter}:e.isVariableDeclaration(t)?{prefix:", "}:e.isParameter(t)?{}:e.Debug.failBadSyntaxKind(t)},n.prototype.insertNodeInListAfter=function(t,n,r){var i=e.formatting.SmartIndenter.getContainingList(n,t);if(!i)return e.Debug.fail("node is not a list element"),this;var a=e.indexOfNode(i,n);if(a<0)return this;var o=n.getEnd();if(a!==i.length-1){var u=e.getTokenAtPosition(t,n.end,!1);if(u&&_(n,u)){var l=e.getLineAndCharacterOfPosition(t,c(t.text,i[a+1].getFullStart())),d=e.getLineAndCharacterOfPosition(t,u.end),p=void 0,f=void 0;d.line===l.line?(f=u.end,p=function(e){for(var t="",n=0;n=0;r--){var i=n[r];t=""+t.substring(0,i.span.start)+i.newText+t.substring(e.textSpanEnd(i.span))}return t}function m(t){var r=e.visitEachChild(t,m,e.nullTransformationContext,g,m),a=e.nodeIsSynthesized(r)?r:Object.create(r);return a.pos=n(t),a.end=i(t),a}function g(t,r,a,o,s){var c=e.visitNodes(t,r,a,o,s);if(!c)return c;var u=c===t?e.createNodeArray(c.slice(0)):c;return u.pos=n(t),u.end=i(t),u}t.ChangeTracker=p,function(t){t.getTextChangesFromChanges=function(t,n,r,i){return e.group(t,function(e){return e.sourceFile.path}).map(function(t){for(var a=t[0].sourceFile,o=e.stableSort(t,function(e,t){return e.range.pos-t.range.pos}),c=function(t){e.Debug.assert(o[t].range.end<=o[t+1].range.pos,"Changes overlap",function(){return JSON.stringify(o[t].range)+" and "+JSON.stringify(o[t+1].range)})},u=0;u0)for(var i=0,a=n;i1?[[a(r),o(r)],!0]:[[o(r)],!0]:[[a(r)],!1]}(t.arguments[0],n);default:return[[e.createExportAssignment(void 0,void 0,!1,t)],!0]}}(c,n))[0],f=y[1]),_.replaceNodeWithNodes(t,r,p),f}_.deleteNode(t,r)}else e.isExportsOrModuleExportsOrAlias(t,i.expression)&&function(t,n,r,a,o,c){var u=i.name.text,l=c.get(u);if(void 0!==l){var _=[m(void 0,l,a),g([e.createExportSpecifier(l,u)])];o.replaceNodeWithNodes(t,n,_)}else o.replaceNode(t,n,s(u,a),{useNonAdjustedEndPosition:!0})}(t,r,0,c,_,d);return!1;var y}(n,i,r,b.left,b.right,p,v)}default:return!1}}function a(e){return g(void 0,e)}function o(t){return g([e.createExportSpecifier(void 0,"default")],t)}function s(t,n){var r=[e.createToken(84)];switch(n.kind){case 190:var i=n.name;if(i&&i.text!==t)return a();case 191:return u(t,r,n);case 203:return l(t,r,n);default:return a()}function a(){return m(r,e.createIdentifier(t),n)}}function c(e,t){for(;t.original.has(e)||t.additional.has(e);)e="_"+e;return t.additional.set(e,!0),e}function u(t,n,r){return e.createFunctionDeclaration(e.getSynthesizedDeepClones(r.decorators),e.concatenate(n,e.getSynthesizedDeepClones(r.modifiers)),e.getSynthesizedDeepClone(r.asteriskToken),t,e.getSynthesizedDeepClones(r.typeParameters),e.getSynthesizedDeepClones(r.parameters),e.getSynthesizedDeepClone(r.type),e.convertToFunctionBody(e.getSynthesizedDeepClone(r.body)))}function l(t,n,r){return e.createClassDeclaration(e.getSynthesizedDeepClones(r.decorators),e.concatenate(n,e.getSynthesizedDeepClones(r.modifiers)),t,e.getSynthesizedDeepClones(r.typeParameters),e.getSynthesizedDeepClones(r.heritageClauses),e.getSynthesizedDeepClones(r.members))}function _(t,n,r){return"default"===n?d(e.createIdentifier(t),void 0,r):d(void 0,[f(n,t)],r)}function d(t,n,r){return p(t,n,e.createLiteral(r))}function p(t,n,r){var i=(t||n)&&e.createImportClause(t,n&&e.createNamedImports(n));return e.createImportDeclaration(void 0,void 0,i,r)}function f(t,n){return e.createImportSpecifier(void 0!==t&&t!==n?e.createIdentifier(t):void 0,e.createIdentifier(n))}function m(t,n,r){return e.createVariableStatement(t,e.createVariableDeclarationList([e.createVariableDeclaration(n,void 0,r)],2))}function g(t,n){return e.createExportDeclaration(void 0,void 0,t&&e.createNamedExports(t),void 0===n?void 0:e.createLiteral(n))}t.registerCodeFix({errorCodes:[e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module.code],getCodeActions:function(t){var a=e.getLocaleSpecificMessage(e.Diagnostics.Convert_to_ES6_module),o=t.sourceFile,s=t.program;return[{description:a,changes:e.textChanges.ChangeTracker.with(t,function(t){if(function(t,n,a,o){var s,u,l={original:(s=t,u=e.createMultiMap(),s.forEachChild(function t(n){e.isIdentifier(n)&&function(e){var t=e.parent;switch(t.kind){case 183:return t.name!==e;case 180:return t.propertyName!==e;default:return!0}}(n)&&u.add(n.text,n),n.forEachChild(t)}),u),additional:e.createMap()},_=function(t,n,i){var a=e.createMap();return r(t,function(t){var r=t.name,o=r.text,s=r.originalKeywordKind;!a.has(o)&&(void 0!==s&&e.isNonContextualKeyword(s)||n.resolveName(t.name.text,t,67216319,!0))&&a.set(o,c("_"+o,i))}),a}(t,n,l);!function(t,n,i){r(t,function(r,a){if(!a){var o=r.name.text;i.replaceNode(t,r,e.createIdentifier(n.get(o)||o))}})}(t,_,a);for(var d=!1,p=0,f=t.statements;p=0;)switch(o=e.indexOf("/",(a=o)+1),s){case 0:e.indexOf("/node_modules/",a)===a&&(n=a,r=o,s=1);break;case 1:case 2:1===s&&"@"===e.charAt(a+1)?s=2:(i=o,s=3);break;case 3:s=e.indexOf("/node_modules/",a)===a?1:3}return s>1?{topLevelNodeModulesIndex:n,topLevelPackageNameIndex:r,packageRootIndex:i,fileNameIndex:a}:void 0}(n);if(o){var s,c,u=function(t){var n=t.substring(0,o.packageRootIndex),a=e.combinePaths(n,"package.json");if(r.fileExists(a)){var s=JSON.parse(r.readFile(a));if(s){var c=s.typings||s.types||s.main;if(c&&e.toPath(c,n,i)===i(t))return n}}var u=e.removeFileExtension(t);return"/index"===i(u.substring(o.fileNameIndex))?u.substring(0,o.fileNameIndex):u}(n);return c=(s=u).substring(0,o.topLevelNodeModulesIndex),u=0===a.indexOf(c)?s.substring(o.topLevelPackageNameIndex+1):p(s,a,i),e.getPackageNameFromAtTypesDirectory(u)}}}(i,t,o,a,r)||m&&function(t,n,r,i){var a=u(n,t,i);if(void 0!==a){var o=u(r,t,i),s=void 0!==o?p(a,o,i):a;return e.removeFileExtension(s)}}(m,t,r,a);if(h)return[h];var v=l(p(t,r,a),i,g);if(!s)return[v];var b=_(t,s,a);if(!b)return[v];var x=l(b,i,g);if(f){var k=function(t,n,r){for(var i in r)for(var a=0,o=r[i];a=u.length+l.length&&e.startsWith(n,u)&&e.endsWith(n,l)){var _=n.substr(u.length,n.length-l.length);return i.replace("*",_)}}else if(s===n||s===t)return i}}(e.removeFileExtension(b),x,f);if(k)return[k]}if(d(b))return[v];var S=p(s,r,a);return c(v)y.length?b(a.getSignatureFromDeclaration(c[c.length-1]),p,_,i()):(e.Debug.assert(c.length===y.length),o(function(t,n,a,o){for(var s=t[0],c=t[0].minArgumentCount,u=!1,l=0,_=t;l<_.length;l++){var d=_[l];c=Math.min(d.minArgumentCount,c),d.hasRestParameter&&(u=!0),d.parameters.length>=s.parameters.length&&(!d.hasRestParameter||s.hasRestParameter)&&(s=d)}var p=s.parameters.length-(s.hasRestParameter?1:0),f=s.parameters.map(function(e){return e.name}),m=r(p,f,c,!1);if(u){var g=e.createArrayTypeNode(e.createKeywordTypeNode(119)),y=e.createParameter(void 0,void 0,e.createToken(24),f[p]||"rest",p>=c?e.createToken(55):void 0,g,void 0);m.push(y)}return function(t,n,r,a,o,s){return e.createMethod(void 0,t,void 0,n,r?e.createToken(55):void 0,void 0,o,void 0,i())}(o,n,a,0,m)}(y,_,m,p)))}}function b(t,r,i,s){var c=function(t,n,r,i,a,o,s){var c=t.signatureToSignatureDeclaration(n,153,r,256);if(c)return c.decorators=void 0,c.modifiers=i,c.name=a,c.questionToken=o?e.createToken(55):void 0,c.body=s,c}(a,t,n,r,i,m,s);c&&o(c)}}function r(t,n,r,i){for(var a=[],o=0;o=r?e.createToken(55):void 0,i?void 0:e.createKeywordTypeNode(119),void 0);a.push(s)}return a}function i(){return e.createBlock([e.createThrow(e.createNew(e.createIdentifier("Error"),void 0,[e.createLiteral("Method not implemented.")]))],!0)}t.createMissingMemberNodes=function(e,t,r,i){for(var a=e.symbol.members,o=0,s=t;ot&&(r?a=e.concatenate(a,e.map(c.argumentTypes.slice(t),function(e){return i.getBaseTypeOfLiteralType(e)})):a.push(i.getBaseTypeOfLiteralType(c.argumentTypes[t])))}if(a.length){var u=i.getWidenedType(i.getUnionType(a,2));return r?i.createArrayType(u):u}}function o(t,n){for(var r=[],a=0;a0;if(e.isBlock(t)&&!s&&0===i.size)return{body:e.createBlock(t.statements,!0),returnValueProperty:void 0};var c=!1,u=e.createNodeArray(e.isBlock(t)?t.statements.slice(0):[e.isStatement(t)?t:e.createReturn(t)]);if(s||i.size){var l=e.visitNodes(u,function t(a){if(!c&&223===a.kind&&s){var u=g(n,r);return a.expression&&(o||(o="__return"),u.unshift(e.createPropertyAssignment(o,e.visitNode(a.expression,t)))),e.createReturn(1===u.length?u[0].name:e.createObjectLiteral(u))}var l=c;c=c||e.isFunctionLikeDeclaration(a)||e.isClassLike(a);var _=i.get(e.getNodeId(a).toString()),d=_?e.getSynthesizedDeepClone(_):e.visitEachChild(a,t,e.nullTransformationContext);return c=l,d}).slice();if(s&&!a&&e.isStatement(t)){var _=g(n,r);l.push(e.createReturn(1===_.length?_[0].name:e.createObjectLiteral(_)))}return{body:e.createBlock(l,!0),returnValueProperty:o}}return{body:e.createBlock(u,!0),returnValueProperty:void 0}}(t,a,u,d,!!(o.facts&i.HasReturn)),w=P.body,F=P.returnValueProperty;if(e.suppressLeadingAndTrailingTrivia(w),e.isClassLike(n)){var I=x?[]:[e.createToken(112)];o.facts&i.InStaticRegion&&I.push(e.createToken(115)),o.facts&i.IsAsyncFunction&&I.push(e.createToken(120)),A=e.createMethod(void 0,I.length?I:void 0,o.facts&i.IsGenerator?e.createToken(39):void 0,k,void 0,T,S,c,w)}else A=e.createFunctionDeclaration(void 0,o.facts&i.IsAsyncFunction?[e.createToken(120)]:void 0,o.facts&i.IsGenerator?e.createToken(39):void 0,k,T,S,c,w);var O=e.textChanges.ChangeTracker.fromContext(s),M=function(t,n){return e.find(function(t){if(e.isFunctionLikeDeclaration(t)){var n=t.body;if(e.isBlock(n))return n.statements}else{if(e.isModuleBlock(t)||e.isSourceFile(t))return t.statements;if(e.isClassLike(t))return t.members;e.assertTypeIsNever(t)}return e.emptyArray}(n),function(n){return n.pos>=t&&e.isFunctionLikeDeclaration(n)&&!e.isConstructorDeclaration(n)})}((y(o.range)?e.last(o.range):o.range).end,n);M?O.insertNodeBefore(s.file,M,A,!0):O.insertNodeAtEndOfScope(s.file,n,A);var L=[],R=function(t,n,r){var a=e.createIdentifier(r);if(e.isClassLike(t)){var o=n.facts&i.InStaticRegion?e.createIdentifier(t.name.text):e.createThis();return e.createPropertyAccess(o,a)}return a}(n,o,b),B=e.createCall(R,E,D);if(o.facts&i.IsGenerator&&(B=e.createYield(e.createToken(39),B)),o.facts&i.IsAsyncFunction&&(B=e.createAwait(B)),a.length&&!u)if(e.Debug.assert(!F),e.Debug.assert(!(o.facts&i.HasReturn)),1===a.length)L.push(e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(e.getSynthesizedDeepClone((X=a[0]).name),e.getSynthesizedDeepClone(X.type),B)],X.parent.flags)));else{for(var z=[],j=[],J=a[0].parent.flags,K=!1,U=0,V=a;U0);for(var a=!0,o=0,s=i;ot)return r||i[0];if(a&&!e.isPropertyDeclaration(c)){if(void 0!==r)return c;a=!1}r=c}return e.Debug.assert(void 0!==r),r}(t.pos,n);v.insertNodeBefore(s.file,D,k,!0),v.replaceNode(s.file,t,S,e.textChanges.useNonAdjustedPositions)}else{var C=e.createVariableDeclaration(m,y,h),T=function(t,n){for(var r;void 0!==t&&t!==n;){if(e.isVariableDeclaration(t)&&t.initializer===r&&e.isVariableDeclarationList(t.parent)&&t.parent.declarations.length>1)return t;r=t,t=t.parent}}(t,n);if(T)v.insertNodeBefore(s.file,T,C),S=e.createIdentifier(m),v.replaceNode(s.file,t,S,e.textChanges.useNonAdjustedPositions);else if(214===t.parent.kind&&n===e.findAncestor(t,_)){var E=e.createVariableStatement(void 0,e.createVariableDeclarationList([C],2));v.replaceNode(s.file,t.parent,E,e.textChanges.useNonAdjustedPositions)}else E=e.createVariableStatement(void 0,e.createVariableDeclarationList([C],2)),0===(D=function(t,n){var r;e.Debug.assert(!e.isClassLike(n));for(var i=t;i!==n;i=i.parent)_(i)&&(r=i);for(i=(r||t).parent;;i=i.parent){if(b(i)){for(var a=void 0,o=0,s=i.statements;ot.pos)break;a=c}return!a&&e.isCaseClause(i)?(e.Debug.assert(e.isSwitchStatement(i.parent.parent)),i.parent.parent):(e.Debug.assert(void 0!==a),a)}if(i===n){e.Debug.fail("Didn't encounter a block-like before encountering scope");break}}}(t,n)).pos?v.insertNodeAtTopOfFile(s.file,E,!1):v.insertNodeBefore(s.file,D,E,!1),214===t.parent.kind?v.deleteNode(s.file,t.parent,e.textChanges.useNonAdjustedPositions):(S=e.createIdentifier(m),v.replaceNode(s.file,t,S,e.textChanges.useNonAdjustedPositions))}var N=v.getChanges(),A=t.getSourceFile().fileName;return{renameFilename:A,renameLocation:f(N,A,m,!0),edits:N}}(e.isExpression(c)?c:c.statements[0].expression,o[r],0,t.facts,n)}(r,t,o);e.Debug.fail("Unrecognized action name")}function l(t,n){var a=n.length;if(0===a)return{errors:[e.createFileDiagnostic(t,n.start,a,r.cannotExtractEmpty)]};var o=h(e.getTokenAtPosition(t,n.start,!1),t,n),s=h(e.findTokenOnLeftOfPosition(t,e.textSpanEnd(n)),t,n),c=[],u=i.None;if(!o||!s)return{errors:[e.createFileDiagnostic(t,n.start,a,r.cannotExtractRange)]};if(o.parent!==s.parent)return{errors:[e.createFileDiagnostic(t,n.start,a,r.cannotExtractRange)]};if(o!==s){if(!b(o.parent))return{errors:[e.createFileDiagnostic(t,n.start,a,r.cannotExtractRange)]};for(var l=[],_=0,d=o.parent.statements;_=n.start+n.length)return(o||(o=[])).push(e.createDiagnosticForNode(a,r.cannotExtractSuper)),!0}else u|=i.UsesThis}if(!a||e.isFunctionLikeDeclaration(a)||e.isClassLike(a)){switch(a.kind){case 232:case 233:e.isSourceFile(a.parent)&&void 0===a.parent.externalModuleIndicator&&(o||(o=[])).push(e.createDiagnosticForNode(a,r.functionWillNotBeVisibleInTheNewScope))}return!1}var d=_;switch(a.kind){case 215:case 228:_=0;break;case 211:a.parent&&228===a.parent.kind&&a.parent.finallyBlock===a&&(_=4);break;case 264:_|=1;break;default:e.isIterationStatement(a,!1)&&(_|=3)}switch(a.kind){case 173:case 99:u|=i.UsesThis;break;case 226:var p=a.label;(l||(l=[])).push(p.escapedText),e.forEachChild(a,t),l.pop();break;case 222:case 221:(p=a.label)?e.contains(l,p.escapedText)||(o||(o=[])).push(e.createDiagnosticForNode(a,r.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)):_&(222===a.kind?1:2)||(o||(o=[])).push(e.createDiagnosticForNode(a,r.cannotExtractRangeContainingConditionalBreakOrContinueStatements));break;case 195:u|=i.IsAsyncFunction;break;case 201:u|=i.IsGenerator;break;case 223:4&_?u|=i.HasReturn:(o||(o=[])).push(e.createDiagnosticForNode(a,r.cannotExtractRangeContainingConditionalReturnStatement));break;default:e.forEachChild(a,t)}_=d}(t),o}}function _(t){return e.isFunctionLikeDeclaration(t)||e.isSourceFile(t)||e.isModuleBlock(t)||e.isClassLike(t)}function d(t,n){var a=n.file,o=function(t){var n=y(t.range)?e.first(t.range):t.range;if(t.facts&i.UsesThis){var r=e.getContainingClass(n);if(r){var a=e.findAncestor(n,e.isFunctionLikeDeclaration);return a?[a,r]:[r]}}for(var o=[];;)if(148===(n=n.parent).kind&&(n=e.findAncestor(n,function(t){return e.isFunctionLikeDeclaration(t)}).parent),_(n)&&(o.push(n),272===n.kind))return o}(t);return{scopes:o,readsAndWrites:function(t,n,a,o,s,c){var u,l,_=e.createMap(),d=[],p=[],f=[],m=[],g=[],h=e.createMap(),v=[],b=y(t.range)?1===t.range.length&&e.isExpressionStatement(t.range[0])?t.range[0].expression:void 0:t.range;if(void 0===b){var x=t.range,k=e.first(x).getStart(),S=e.last(x).end;l=e.createFileDiagnostic(o,k,S-k,r.expressionExpected)}else 18432&s.getTypeAtLocation(b).flags&&(l=e.createDiagnosticForNode(b,r.uselessConstantType));for(var D=0,C=n;D=u)return g;if(N.set(g,u),y){for(var h=0,v=d;h0){for(var F=e.createMap(),I=0,O=P;void 0!==O&&I=0)){var i=e.isIdentifier(r)?U(r):s.getSymbolAtLocation(r);if(i){var a=e.find(g,function(e){return e.symbol===i});if(a)if(e.isVariableDeclaration(a)){var o=a.symbol.id.toString();h.has(o)||(v.push(a),h.set(o,!0))}else u=u||a}e.forEachChild(r,n)}})}for(var z=function(n){var i=d[n];if(n>0&&(i.usages.size>0||i.typeParameterUsages.size>0)){var a=y(t.range)?t.range[0]:t.range;m[n].push(e.createDiagnosticForNode(a,r.cannotAccessVariablesFromNestedScopes))}var o,s=!1;if(d[n].usages.forEach(function(t){2===t.usage&&(s=!0,106500&t.symbol.flags&&t.symbol.valueDeclaration&&e.hasModifier(t.symbol.valueDeclaration,64)&&(o=t.symbol.valueDeclaration))}),e.Debug.assert(y(t.range)||0===v.length),s&&!y(t.range)){var c=e.createDiagnosticForNode(t.range,r.cannotWriteInExpression);f[n].push(c),m[n].push(c)}else o&&n>0?(c=e.createDiagnosticForNode(o,r.cannotExtractReadonlyPropertyInitializerOutsideConstructor),f[n].push(c),m[n].push(c)):u&&(c=e.createDiagnosticForNode(u,r.cannotExtractExportedEntity),f[n].push(c),m[n].push(c))},j=0;j0}function K(e){for(var t=0,n=s.getSymbolWalker(function(){return c.throwIfCancellationRequested(),!0}).walkType(e).visitedTypes;t=0),o}function m(t,n){var r=t.type,i=n.type;return e.compareProperties(t.declaration,n.declaration,"pos",e.compareValues)||e.compareStringsCaseSensitive(r.symbol?r.symbol.getName():"",i.symbol?i.symbol.getName():"")||e.compareValues(r.id,i.id)}function g(t,n){var r=e.map(t,function(t){return e.createShorthandPropertyAssignment(t.symbol.name)}),i=e.map(n,function(t){return e.createShorthandPropertyAssignment(t.symbol.name)});return void 0===r?i:void 0===i?r:r.concat(i)}function y(t){return e.isArray(t)}function h(t,n,r){if(t)for(;t.parent;){if(e.isSourceFile(t.parent)||!v(r,t.parent,n))return t;t=t.parent}}function v(t,n,r){return e.textSpanContainsPosition(t,n.getStart(r))&&n.getEnd()<=e.textSpanEnd(t)}function b(e){switch(e.kind){case 211:case 272:case 238:case 264:return!0;default:return!1}}t.registerRefactor(s,{getAvailableActions:c,getEditsForAction:u}),n.getAvailableActions=c,n.getEditsForAction=u,function(t){function n(t){return{message:t,code:0,category:e.DiagnosticCategory.Message,key:t}}t.cannotExtractRange=n("Cannot extract range."),t.cannotExtractImport=n("Cannot extract import statement."),t.cannotExtractSuper=n("Cannot extract super call."),t.cannotExtractEmpty=n("Cannot extract empty range."),t.expressionExpected=n("expression expected."),t.uselessConstantType=n("No reason to extract constant of type."),t.statementOrExpressionExpected=n("Statement or expression expected."),t.cannotExtractRangeContainingConditionalBreakOrContinueStatements=n("Cannot extract range containing conditional break or continue statements."),t.cannotExtractRangeContainingConditionalReturnStatement=n("Cannot extract range containing conditional return statement."),t.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange=n("Cannot extract range containing labeled break or continue with target outside of the range."),t.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators=n("Cannot extract range containing writes to references located outside of the target range in generators."),t.typeWillNotBeVisibleInTheNewScope=n("Type will not visible in the new scope."),t.functionWillNotBeVisibleInTheNewScope=n("Function will not visible in the new scope."),t.cannotExtractIdentifier=n("Select more than a single identifier."),t.cannotExtractExportedEntity=n("Cannot extract exported declaration"),t.cannotWriteInExpression=n("Cannot write back side-effects when extracting an expression"),t.cannotExtractReadonlyPropertyInitializerOutsideConstructor=n("Cannot move initialization of read-only class property outside of the constructor"),t.cannotExtractAmbientBlock=n("Cannot extract code from ambient contexts"),t.cannotAccessVariablesFromNestedScopes=n("Cannot access variables from nested scopes"),t.cannotExtractToOtherFunctionLike=n("Cannot extract method to a function-like scope that is not a function"),t.cannotExtractToJSClass=n("Cannot extract constant to a class scope in JS"),t.cannotExtractToExpressionArrowFunction=n("Cannot extract constant to an arrow function without a block")}(r=n.Messages||(n.Messages={})),function(e){e[e.None=0]="None",e[e.HasReturn=1]="HasReturn",e[e.IsGenerator=2]="IsGenerator",e[e.IsAsyncFunction=4]="IsAsyncFunction",e[e.UsesThis=8]="UsesThis",e[e.InStaticRegion=16]="InStaticRegion"}(i||(i={})),n.getRangeToExtract=l,function(e){e[e.Module=0]="Module",e[e.Global=1]="Global"}(a||(a={})),function(e){e[e.Read=1]="Read",e[e.Write=2]="Write"}(o||(o={}))}(t.extractSymbol||(t.extractSymbol={}))}(e.refactor||(e.refactor={}))}(l||(l={})),function(e){function t(t,r,i,a){var c=e.isNodeKind(t)?new n(t,r,i):71===t?new s(71,r,i):new o(t,r,i);return c.parent=a,c.flags=6387712&a.flags,c}e.servicesVersion="0.7";var n=function(){function n(e,t,n){this.pos=t,this.end=n,this.flags=0,this.transformFlags=void 0,this.parent=void 0,this.kind=e}return n.prototype.assertHasRealPosition=function(t){e.Debug.assert(!e.positionIsSynthesized(this.pos)&&!e.positionIsSynthesized(this.end),t||"Node must have a real position for this operation")},n.prototype.getSourceFile=function(){return e.getSourceFileOfNode(this)},n.prototype.getStart=function(t,n){return this.assertHasRealPosition(),e.getTokenPosOfNode(this,t,n)},n.prototype.getFullStart=function(){return this.assertHasRealPosition(),this.pos},n.prototype.getEnd=function(){return this.assertHasRealPosition(),this.end},n.prototype.getWidth=function(e){return this.assertHasRealPosition(),this.getEnd()-this.getStart(e)},n.prototype.getFullWidth=function(){return this.assertHasRealPosition(),this.end-this.pos},n.prototype.getLeadingTriviaWidth=function(e){return this.assertHasRealPosition(),this.getStart(e)-this.pos},n.prototype.getFullText=function(e){return this.assertHasRealPosition(),(e||this.getSourceFile()).text.substring(this.pos,this.end)},n.prototype.getText=function(e){return this.assertHasRealPosition(),e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())},n.prototype.addSyntheticNodes=function(n,r,i){for(e.scanner.setTextPos(r);r292});return r.kind<145?r:r.getFirstToken(t)}},n.prototype.getLastToken=function(t){this.assertHasRealPosition();var n=this.getChildren(t),r=e.lastOrUndefined(n);if(r)return r.kind<145?r:r.getLastToken(t)},n.prototype.forEachChild=function(t,n){return e.forEachChild(this,t,n)},n}(),r=function(){function t(e,t){this.pos=e,this.end=t,this.flags=0,this.parent=void 0}return t.prototype.getSourceFile=function(){return e.getSourceFileOfNode(this)},t.prototype.getStart=function(t,n){return e.getTokenPosOfNode(this,t,n)},t.prototype.getFullStart=function(){return this.pos},t.prototype.getEnd=function(){return this.end},t.prototype.getWidth=function(e){return this.getEnd()-this.getStart(e)},t.prototype.getFullWidth=function(){return this.end-this.pos},t.prototype.getLeadingTriviaWidth=function(e){return this.getStart(e)-this.pos},t.prototype.getFullText=function(e){return(e||this.getSourceFile()).text.substring(this.pos,this.end)},t.prototype.getText=function(e){return e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())},t.prototype.getChildCount=function(){return 0},t.prototype.getChildAt=function(){},t.prototype.getChildren=function(){return e.emptyArray},t.prototype.getFirstToken=function(){},t.prototype.getLastToken=function(){},t.prototype.forEachChild=function(){},t}(),i=function(){function t(e,t){this.flags=e,this.escapedName=t}return t.prototype.getFlags=function(){return this.flags},Object.defineProperty(t.prototype,"name",{get:function(){return e.symbolName(this)},enumerable:!0,configurable:!0}),t.prototype.getEscapedName=function(){return this.escapedName},t.prototype.getName=function(){return this.name},t.prototype.getDeclarations=function(){return this.declarations},t.prototype.getDocumentationComment=function(t){if(void 0===this.documentationComment)if(this.declarations){if(this.documentationComment=e.JsDoc.getJsDocCommentsFromDeclarations(this.declarations),(0===this.documentationComment.length||this.declarations.some(_))&&t)for(var n=0,r=this.declarations;n0){this.documentationComment.length>0&&i.push(e.lineBreakPart()),this.documentationComment=e.concatenate(i,this.documentationComment);break}}}else this.documentationComment=[];return this.documentationComment},t.prototype.getJsDocTags=function(){return void 0===this.tags&&(this.tags=e.JsDoc.getJsDocTagsFromDeclarations(this.declarations)),this.tags},t}(),o=function(e){function t(t,n,r){var i=e.call(this,n,r)||this;return i.kind=t,i}return u(t,e),t}(r),s=function(t){function n(e,n,r){return t.call(this,n,r)||this}return u(n,t),Object.defineProperty(n.prototype,"text",{get:function(){return e.idText(this)},enumerable:!0,configurable:!0}),n}(r);s.prototype.kind=71;var c=function(){function e(e,t){this.checker=e,this.flags=t}return e.prototype.getFlags=function(){return this.flags},e.prototype.getSymbol=function(){return this.symbol},e.prototype.getProperties=function(){return this.checker.getPropertiesOfType(this)},e.prototype.getProperty=function(e){return this.checker.getPropertyOfType(this,e)},e.prototype.getApparentProperties=function(){return this.checker.getAugmentedPropertiesOfType(this)},e.prototype.getCallSignatures=function(){return this.checker.getSignaturesOfType(this,0)},e.prototype.getConstructSignatures=function(){return this.checker.getSignaturesOfType(this,1)},e.prototype.getStringIndexType=function(){return this.checker.getIndexTypeOfType(this,0)},e.prototype.getNumberIndexType=function(){return this.checker.getIndexTypeOfType(this,1)},e.prototype.getBaseTypes=function(){return 65536&this.flags&&3&this.objectFlags?this.checker.getBaseTypes(this):void 0},e.prototype.getNonNullableType=function(){return this.checker.getNonNullableType(this)},e.prototype.getConstraint=function(){return this.checker.getBaseConstraintOfType(this)},e.prototype.getDefault=function(){return this.checker.getDefaultFromTypeParameter(this)},e}(),l=function(){function t(e){this.checker=e}return t.prototype.getDeclaration=function(){return this.declaration},t.prototype.getTypeParameters=function(){return this.typeParameters},t.prototype.getParameters=function(){return this.parameters},t.prototype.getReturnType=function(){return this.checker.getReturnTypeOfSignature(this)},t.prototype.getDocumentationComment=function(){if(void 0===this.documentationComment)if(this.declaration){if(this.documentationComment=e.JsDoc.getJsDocCommentsFromDeclarations([this.declaration]),0===this.documentationComment.length||_(this.declaration)){var t=d(this.declaration,this.declaration.symbol.getName(),this.checker);this.documentationComment.length>0&&t.push(e.lineBreakPart()),this.documentationComment=e.concatenate(t,this.documentationComment)}}else this.documentationComment=[];return this.documentationComment},t.prototype.getJsDocTags=function(){return void 0===this.jsDocTags&&(this.jsDocTags=this.declaration?e.JsDoc.getJsDocTagsFromDeclarations([this.declaration]):[]),this.jsDocTags},t}();function _(t){return e.getJSDocTags(t).some(function(e){return"inheritDoc"===e.tagName.text})}function d(t,n,r){var i=!1;return e.flatMap(function(t){var n=t.parent;if(!n||!e.isClassDeclaration(n)&&!e.isInterfaceDeclaration(n))return e.emptyArray;var r=e.getClassExtendsHeritageClauseElement(n),i=r?[r]:e.emptyArray;return e.isClassLike(n)?e.concatenate(i,e.getClassImplementsHeritageClauseElements(n)):i}(t),function(t){if(i)return e.emptyArray;var a=r.getTypeAtLocation(t);if(!a)return e.emptyArray;var o=r.getPropertyOfType(a,n);if(!o)return e.emptyArray;var s=o.getDocumentationComment(r);return i=s.length>0,s})}var p=function(t){function n(e,n,r){return t.call(this,e,n,r)||this}return u(n,t),n.prototype.update=function(t,n){return e.updateSourceFile(this,t,n)},n.prototype.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(this,t)},n.prototype.getLineStarts=function(){return e.getLineStarts(this)},n.prototype.getPositionOfLineAndCharacter=function(t,n){return e.getPositionOfLineAndCharacter(this,t,n)},n.prototype.getLineEndOfPosition=function(e){var t,n=this.getLineAndCharacterOfPosition(e).line,r=this.getLineStarts();n+1>=r.length&&(t=this.getEnd()),t||(t=r[n+1]-1);var i=this.getFullText();return"\n"===i[t]&&"\r"===i[t-1]?t-1:t},n.prototype.getNamedDeclarations=function(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations},n.prototype.computeNamedDeclarations=function(){var t=e.createMultiMap();return e.forEachChild(this,function i(a){switch(a.kind){case 232:case 190:case 153:case 152:var o=a,s=r(o);if(s){var c=function(e){var n=t.get(e);return n||t.set(e,n=[]),n}(s),u=e.lastOrUndefined(c);u&&o.parent===u.parent&&o.symbol===u.symbol?o.body&&!u.body&&(c[c.length-1]=o):c.push(o)}e.forEachChild(a,i);break;case 233:case 203:case 234:case 235:case 236:case 237:case 241:case 250:case 246:case 243:case 244:case 155:case 156:case 165:n(a),e.forEachChild(a,i);break;case 148:if(!e.hasModifier(a,92))break;case 230:case 180:var l=a;if(e.isBindingPattern(l.name)){e.forEachChild(l.name,i);break}l.initializer&&i(l.initializer);case 271:case 151:case 150:n(a);break;case 248:a.exportClause&&e.forEach(a.exportClause.elements,i);break;case 242:var _=a.importClause;_&&(_.name&&n(_),_.namedBindings&&(244===_.namedBindings.kind?n(_.namedBindings):e.forEach(_.namedBindings.elements,i)));break;case 198:0!==e.getSpecialPropertyAssignmentKind(a)&&n(a);default:e.forEachChild(a,i)}}),t;function n(e){var n=r(e);n&&t.add(n,e)}function r(t){var n=e.getNameOfDeclaration(t);return n&&(e.isPropertyNameLiteral(n)?e.getTextOfIdentifierOrLiteral(n):146===n.kind&&e.isPropertyAccessExpression(n.expression)?n.expression.name.text:void 0)}},n}(n),f=function(){function t(e,t,n){this.fileName=e,this.text=t,this.skipTrivia=n}return t.prototype.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(this,t)},t}();function m(t){var n=!0;for(var r in t)if(e.hasProperty(t,r)&&!g(r)){n=!1;break}if(n)return t;var i={};for(var r in t)e.hasProperty(t,r)&&(i[g(r)?r:r.charAt(0).toLowerCase()+r.substr(1)]=t[r]);return i}function g(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}e.toEditorSettings=m,e.displayPartsToString=function(t){return t?e.map(t,function(e){return e.text}).join(""):""},e.getDefaultCompilerOptions=function(){return{target:1,jsx:1}},e.getSupportedCodeFixes=function(){return e.codefix.getSupportedErrorCodes()};var y=function(){function t(t,n){this.host=t,this.currentDirectory=t.getCurrentDirectory(),this.fileNameToEntry=e.createMap();for(var r=0,i=t.getScriptFileNames();r=this.throttleWaitMilliseconds&&(this.lastCancellationCheckTime=t,this.hostCancellationToken.isCancellationRequested())},t.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw new e.OperationCanceledException},t}();function D(t,n){var r=e.unescapeLeadingUnderscores(e.getTextOfPropertyName(n));if(r&&t){var i=[],a=t.getProperty(r);if(131072&t.flags)return e.forEach(t.types,function(e){var t=e.getProperty(r);t&&i.push(t)}),i;if(a)return i.push(a),i}}e.ThrottledCancellationToken=S,e.createLanguageService=function(t,n){void 0===n&&(n=e.createDocumentRegistry(t.useCaseSensitiveFileNames&&t.useCaseSensitiveFileNames(),t.getCurrentDirectory()));var r,i,a=new h(t),o=0,s=t.useCaseSensitiveFileNames&&t.useCaseSensitiveFileNames(),c=new k(t.getCancellationToken&&t.getCancellationToken()),u=t.getCurrentDirectory();function l(e){t.log&&t.log(e)}!e.localizedDiagnosticMessages&&t.getLocalizedDiagnosticMessages&&(e.localizedDiagnosticMessages=t.getLocalizedDiagnosticMessages());var _=e.createGetCanonicalFileName(s);function d(e){var t=r.getSourceFile(e);if(!t)throw new Error("Could not find file: '"+e+"'.");return t}function p(){if(t.getProjectVersion){var a=t.getProjectVersion();if(a){if(i===a&&!t.hasChangedAutomaticTypeDirectiveNames)return;i=a}}var d=t.getTypeRootsVersion?t.getTypeRootsVersion():0;o!==d&&(l("TypeRoots version has changed; provide new program"),r=void 0,o=d);var p=new y(t,_),f=p.getRootFileNames(),m=t.hasInvalidatedResolution||e.returnFalse;if(!e.isProgramUptoDate(r,f,p.compilationSettings(),function(e){return p.getVersion(e)},b,m,t.hasChangedAutomaticTypeDirectiveNames)){var g=p.compilationSettings(),h={getSourceFile:function(t,n,r,i){return x(t,e.toPath(t,u,_),0,0,i)},getSourceFileByPath:x,getCancellationToken:function(){return c},getCanonicalFileName:_,useCaseSensitiveFileNames:function(){return s},getNewLine:function(){return e.getNewLineCharacter(g,function(){return e.getNewLineOrDefaultFromHost(t)})},getDefaultLibFileName:function(e){return t.getDefaultLibFileName(e)},writeFile:e.noop,getCurrentDirectory:function(){return u},fileExists:b,readFile:function(n){var r=e.toPath(n,u,_),i=p.getEntryByPath(r);return i?e.isString(i)?void 0:e.getSnapshotText(i.scriptSnapshot):t.readFile&&t.readFile(n)},realpath:t.realpath&&function(e){return t.realpath(e)},directoryExists:function(n){return e.directoryProbablyExists(n,t)},getDirectories:function(e){return t.getDirectories?t.getDirectories(e):[]},onReleaseOldSourceFile:function(e,t){var r=n.getKeyForCompilationSettings(t);n.releaseDocumentWithKey(e.path,r)},hasInvalidatedResolution:m,hasChangedAutomaticTypeDirectiveNames:t.hasChangedAutomaticTypeDirectiveNames};t.trace&&(h.trace=function(e){return t.trace(e)}),t.resolveModuleNames&&(h.resolveModuleNames=function(e,n,r){return t.resolveModuleNames(e,n,r)}),t.resolveTypeReferenceDirectives&&(h.resolveTypeReferenceDirectives=function(e,n){return t.resolveTypeReferenceDirectives(e,n)});var v=n.getKeyForCompilationSettings(g);return r=e.createProgram(f,g,h,r),p=void 0,void r.getTypeChecker()}function b(n){var r=e.toPath(n,u,_),i=p.getEntryByPath(r);return i?!e.isString(i):t.fileExists&&t.fileExists(n)}function x(t,i,a,o,s){e.Debug.assert(void 0!==p);var c=p.getOrCreateEntryByPath(t,i);if(c){if(!s){var u=r&&r.getSourceFileByPath(i);if(u)return e.Debug.assertEqual(c.scriptKind,u.scriptKind,"Registered script kind should match new script kind.",i),n.updateDocumentWithKey(t,i,g,v,c.scriptSnapshot,c.version,c.scriptKind)}return n.acquireDocumentWithKey(t,i,g,v,c.scriptSnapshot,c.version,c.scriptKind)}}}function f(){return p(),r}function g(t,n,i){p();var a=e.map(i,function(t){return e.Debug.assertDefined(r.getSourceFile(t))}),o=d(t);return e.DocumentHighlights.getDocumentHighlights(r,c,o,n,a)}function v(t,n,i){p();var a=[];if(i&&i.isForRename)for(var o=0,s=r.getSourceFiles();o0&&!e.stringContains(r.fileName,"/node_modules/"))for(var s=function(){var t="("+/(?:^(?:\s|\*)*)/.source+"|"+/(?:\/\/+\s*)/.source+"|"+/(?:\/\*+\s*)/.source+")",r="(?:"+e.map(n,function(e){return"("+e.text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")+")"}).join("|")+")";return new RegExp(t+"("+r+/(?:.*?)/.source+")"+/(?:$|\*\/)/.source,"gim")}(),u=void 0;u=s.exec(a);){c.throwIfCancellationRequested(),e.Debug.assert(u.length===n.length+3);var l=u.index+u[1].length;if(e.isInComment(r,l)){for(var _=void 0,f=0;f=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||o.push({descriptor:_,message:u[2],position:l})}}return o},getBraceMatchingAtPosition:function(t,n){var r=a.getCurrentSourceFile(t),i=e.getTouchingToken(r,n,!1),o=i.getStart(r)===n?D.get(i.kind.toString()):void 0,s=o&&e.findChildOfKind(i.parent,o,r);return s?[e.createTextSpanFromNode(i,r),e.createTextSpanFromNode(s,r)].sort(function(e,t){return e.start-t.start}):e.emptyArray},getIndentationAtPosition:function(t,n,r){var i=e.timestamp(),o=m(r),s=a.getCurrentSourceFile(t);l("getIndentationAtPosition: getCurrentSourceFile: "+(e.timestamp()-i)),i=e.timestamp();var c=e.formatting.SmartIndenter.getIndentation(n,s,o);return l("getIndentationAtPosition: computeIndentation : "+(e.timestamp()-i)),c},getFormattingEditsForRange:function(t,n,r,i){var o=a.getCurrentSourceFile(t);return e.formatting.formatSelection(n,r,o,e.formatting.getFormatContext(m(i)))},getFormattingEditsForDocument:function(t,n){return e.formatting.formatDocument(a.getCurrentSourceFile(t),e.formatting.getFormatContext(m(n)))},getFormattingEditsAfterKeystroke:function(t,n,r,i){var o=a.getCurrentSourceFile(t),s=e.formatting.getFormatContext(m(i));if(!e.isInComment(o,n))switch(r){case"{":return e.formatting.formatOnOpeningCurly(n,o,s);case"}":return e.formatting.formatOnClosingCurly(n,o,s);case";":return e.formatting.formatOnSemicolon(n,o,s);case"\n":return e.formatting.formatOnEnter(n,o,s)}return[]},getDocCommentTemplateAtPosition:function(n,r){return e.JsDoc.getDocCommentTemplateAtPosition(e.getNewLineOrDefaultFromHost(t),a.getCurrentSourceFile(n),r)},isValidBraceCompletionAtPosition:function(t,n,r){if(60===r)return!1;var i=a.getCurrentSourceFile(t);if(e.isInString(i,n))return!1;if(e.isInsideJsxElementOrAttribute(i,n))return 123===r;if(e.isInTemplateString(i,n))return!1;switch(r){case 39:case 34:case 96:return!e.isInComment(i,n)}return!0},getSpanOfEnclosingComment:function(t,n,r){var i=a.getCurrentSourceFile(t),o=e.formatting.getRangeOfEnclosingComment(i,n,r);return o&&e.createTextSpanFromRange(o)},getCodeFixesAtPosition:function(n,i,a,o,s){p();var u=d(n),l=e.createTextSpanFromBounds(i,a),_=e.formatting.getFormatContext(s);return e.flatMap(e.deduplicate(o,e.equateValues,e.compareValues),function(n){return c.throwIfCancellationRequested(),e.codefix.getFixes({errorCode:n,sourceFile:u,span:l,program:r,host:t,cancellationToken:c,formatContext:_})})},getCombinedCodeFix:function(n,i,a){p(),e.Debug.assert("file"===n.type);var o=d(n.fileName),s=e.formatting.getFormatContext(a);return e.codefix.getAllFixes({fixId:i,sourceFile:o,program:r,host:t,cancellationToken:c,formatContext:s})},applyCodeActionCommand:function(t,n){var r="string"==typeof t?n:t;return e.isArray(r)?Promise.all(r.map(C)):C(r)},organizeImports:function(n,i){p(),e.Debug.assert("file"===n.type);var a=d(n.fileName),o=e.formatting.getFormatContext(i);return e.OrganizeImports.organizeImports(a,o,t,r)},getEmitOutput:function(n,i){p();var a=d(n),o=t.getCustomTransformers&&t.getCustomTransformers();return e.getFileEmitOutput(r,a,i,c,o)},getNonBoundSourceFile:b,getSourceFile:function(e){return b(e)},getProgram:f,getApplicableRefactors:function(t,n){p();var r=d(t);return e.refactor.getApplicableRefactors(T(r,n))},getEditsForRefactor:function(t,n,r,i,a){p();var o=d(t);return e.refactor.getEditsForRefactor(T(o,r,n),i,a)}}},e.getNameTable=function(t){return t.nameTable||function(t){var n=t.nameTable=e.createUnderscoreEscapedMap();t.forEachChild(function t(r){if(e.isIdentifier(r)&&r.escapedText||e.isStringOrNumericLiteral(r)&&function(t){return e.isDeclarationName(t)||252===t.parent.kind||function(e){return e&&e.parent&&184===e.parent.kind&&e.parent.argumentExpression===e}(t)||e.isLiteralComputedPropertyDeclarationName(t)}(r)){var i=e.getEscapedTextOfIdentifierOrLiteral(r);n.set(i,void 0===n.get(i)?r.pos:-1)}if(e.forEachChild(r,t),e.hasJSDocNodes(r))for(var a=0,o=r.jsDoc;ai)||(r=e.findPrecedingToken(r.pos,t))&&t.getLineAndCharacterOfPosition(r.getEnd()).line===i)&&!(2097152&r.flags))return l(r)}function a(n,r){var i=n.decorators?e.skipTrivia(t.text,n.decorators.end):n.getStart(t);return e.createTextSpanFromBounds(i,(r||n).getEnd())}function o(t,n){return a(t,e.findNextToken(n,n.parent))}function s(e,n){return e&&i===t.getLineAndCharacterOfPosition(e.getStart(t)).line?l(e):l(n)}function c(n){return l(e.findPrecedingToken(n.pos,t))}function u(t){return l(e.findNextToken(t,t.parent))}function l(n){if(n)switch(n.kind){case 212:return y(n.declarationList.declarations[0]);case 230:case 151:case 150:return y(n);case 148:return function t(n){if(e.isBindingPattern(n.name))return x(n.name);if(function(t){return!!t.initializer||void 0!==t.dotDotDotToken||e.hasModifier(t,12)}(n))return a(n);var r=n.parent,i=r.parameters.indexOf(n);return e.Debug.assert(-1!==i),0!==i?t(r.parameters[i-1]):l(r.body)}(n);case 232:case 153:case 152:case 155:case 156:case 154:case 190:case 191:return function(e){if(e.body)return h(e)?a(e):l(e.body)}(n);case 211:if(e.isFunctionBlock(n))return f=(p=n).statements.length?p.statements[0]:p.getLastToken(),h(p.parent)?s(p.parent,f):l(f);case 238:return v(n);case 267:return v(n.block);case 214:return a(n.expression);case 223:return a(n.getChildAt(0),n.expression);case 217:return o(n,n.expression);case 216:return l(n.statement);case 229:return a(n.getChildAt(0));case 215:return o(n,n.expression);case 226:return l(n.statement);case 222:case 221:return a(n.getChildAt(0),n.label);case 218:return(d=n).initializer?b(d):d.condition?a(d.condition):d.incrementor?a(d.incrementor):void 0;case 219:return o(n,n.expression);case 220:return b(n);case 225:return o(n,n.expression);case 264:case 265:return l(n.statements[0]);case 228:return v(n.tryBlock);case 227:case 247:return a(n,n.expression);case 241:return a(n,n.moduleReference);case 242:case 248:return a(n,n.moduleSpecifier);case 237:if(1!==e.getModuleInstanceState(n))return;case 233:case 236:case 271:case 180:return a(n);case 224:return l(n.statement);case 149:return e.createTextSpanFromBounds(e.skipTrivia(t.text,(m=n.parent.decorators).pos),m.end);case 178:case 179:return x(n);case 234:case 235:return;case 25:case 1:return s(e.findPrecedingToken(n.pos,t));case 26:return c(n);case 17:return function(n){switch(n.parent.kind){case 236:var r=n.parent;return s(e.findPrecedingToken(n.pos,t,n.parent),r.members.length?r.members[0]:r.getLastToken(t));case 233:var i=n.parent;return s(e.findPrecedingToken(n.pos,t,n.parent),i.members.length?i.members[0]:i.getLastToken(t));case 239:return s(n.parent.parent,n.parent.clauses[0])}return l(n.parent)}(n);case 18:return function(t){switch(t.parent.kind){case 238:if(1!==e.getModuleInstanceState(t.parent.parent))return;case 236:case 233:return a(t);case 211:if(e.isFunctionBlock(t.parent))return a(t);case 267:return l(e.lastOrUndefined(t.parent.statements));case 239:var n=e.lastOrUndefined(t.parent.clauses);return n?l(e.lastOrUndefined(n.statements)):void 0;case 178:var r=t.parent;return l(e.lastOrUndefined(r.elements)||r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var i=t.parent;return a(e.lastOrUndefined(i.properties)||i)}return l(t.parent)}}(n);case 22:return function(t){switch(t.parent.kind){case 179:var n=t.parent;return a(e.lastOrUndefined(n.elements)||n);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var r=t.parent;return a(e.lastOrUndefined(r.elements)||r)}return l(t.parent)}}(n);case 19:return function(e){return 216===e.parent.kind||185===e.parent.kind||186===e.parent.kind?c(e):189===e.parent.kind?u(e):l(e.parent)}(n);case 20:return function(e){switch(e.parent.kind){case 190:case 232:case 191:case 153:case 152:case 155:case 156:case 154:case 217:case 216:case 218:case 220:case 185:case 186:case 189:return c(e);default:return l(e.parent)}}(n);case 56:return function(t){return e.isFunctionLike(t.parent)||268===t.parent.kind||148===t.parent.kind?c(t):l(t.parent)}(n);case 29:case 27:return function(e){return 188===e.parent.kind?u(e):l(e.parent)}(n);case 106:return function(e){return 216===e.parent.kind?o(e,e.parent.expression):l(e.parent)}(n);case 82:case 74:case 87:return u(n);case 144:return function(e){return 220===e.parent.kind?u(e):l(e.parent)}(n);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(n))return k(n);if((71===n.kind||202===n.kind||268===n.kind||269===n.kind)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.parent))return a(n);if(198===n.kind){var r=n.operatorToken;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(_=n.left))return k(_);if(58===r.kind&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.parent))return a(n);if(26===r.kind)return l(_)}if(e.isExpressionNode(n))switch(n.parent.kind){case 216:return c(n);case 149:return l(n.parent);case 218:case 220:return a(n);case 198:if(26===n.parent.operatorToken.kind)return a(n);break;case 191:if(n.parent.body===n)return a(n)}switch(n.parent.kind){case 268:if(n.parent.name===n&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.parent.parent))return l(n.parent.initializer);break;case 188:if(n.parent.type===n)return u(n.parent.type);break;case 230:case 148:var i=n.parent;if(i.initializer===n||i.type===n||e.isAssignmentOperator(n.kind))return c(n);break;case 198:var _;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(_=n.parent.left)&&n!==_)return c(n);break;default:if(e.isFunctionLike(n.parent)&&n.parent.type===n)return c(n)}return l(n.parent)}var d,p,f,m;function g(n){return e.isVariableDeclarationList(n.parent)&&n.parent.declarations[0]===n?a(e.findPrecedingToken(n.pos,t,n.parent),n):a(n)}function y(n){return 219===n.parent.parent.kind?l(n.parent.parent):e.isBindingPattern(n.name)?x(n.name):n.initializer||e.hasModifier(n,1)||220===n.parent.parent.kind?g(n):e.isVariableDeclarationList(n.parent)&&n.parent.declarations[0]!==n?l(e.findPrecedingToken(n.pos,t,n.parent)):void 0}function h(t){return e.hasModifier(t,1)||233===t.parent.kind&&154!==t.kind}function v(n){switch(n.parent.kind){case 237:if(1!==e.getModuleInstanceState(n.parent))return;case 217:case 215:case 219:return s(n.parent,n.statements[0]);case 218:case 220:return s(e.findPrecedingToken(n.pos,t,n.parent),n.statements[0])}return l(n.statements[0])}function b(e){if(231!==e.initializer.kind)return l(e.initializer);var t=e.initializer;return t.declarations.length>0?l(t.declarations[0]):void 0}function x(t){var n=e.forEach(t.elements,function(e){return 204!==e.kind?e:void 0});return n?l(n):180===t.parent.kind?a(t.parent):g(t.parent)}function k(t){e.Debug.assert(179!==t.kind&&178!==t.kind);var n=e.forEach(181===t.kind?t.elements:t.properties,function(e){return 204!==e.kind?e:void 0});return n?l(n):a(198===t.parent.kind?t.parent:t)}}}}(l||(l={})),function(e){e.transform=function(t,n,r){var i=[];r=e.fixupCompilerOptions(r,i);var a=e.isArray(t)?t:[t],o=e.transformNodes(void 0,void 0,r,a,n,!0);return o.diagnostics=e.concatenate(o.diagnostics,i),o}}(l||(l={}));var l,_,d=function(){return this}();!function(e){function t(e,t){e&&e.log("*INTERNAL ERROR* - Exception in typescript services: "+t.message)}var n=function(){function t(e){this.scriptSnapshotShim=e}return t.prototype.getText=function(e,t){return this.scriptSnapshotShim.getText(e,t)},t.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()},t.prototype.getChangeRange=function(t){var n=this.scriptSnapshotShim.getChangeRange(t.scriptSnapshotShim);if(null===n)return null;var r=JSON.parse(n);return e.createTextChangeRange(e.createTextSpan(r.span.start,r.span.length),r.newLength)},t.prototype.dispose=function(){"dispose"in this.scriptSnapshotShim&&this.scriptSnapshotShim.dispose()},t}(),r=function(){function t(t){var n=this;this.shimHost=t,this.loggingEnabled=!1,this.tracingEnabled=!1,"getModuleResolutionsForFile"in this.shimHost&&(this.resolveModuleNames=function(t,r){var i=JSON.parse(n.shimHost.getModuleResolutionsForFile(r));return e.map(t,function(t){var n=e.getProperty(i,t);return n?{resolvedFileName:n,extension:e.extensionFromPath(n),isExternalLibraryImport:!1}:void 0})}),"directoryExists"in this.shimHost&&(this.directoryExists=function(e){return n.shimHost.directoryExists(e)}),"getTypeReferenceDirectiveResolutionsForFile"in this.shimHost&&(this.resolveTypeReferenceDirectives=function(t,r){var i=JSON.parse(n.shimHost.getTypeReferenceDirectiveResolutionsForFile(r));return e.map(t,function(t){return e.getProperty(i,t)})})}return t.prototype.log=function(e){this.loggingEnabled&&this.shimHost.log(e)},t.prototype.trace=function(e){this.tracingEnabled&&this.shimHost.trace(e)},t.prototype.error=function(e){this.shimHost.error(e)},t.prototype.getProjectVersion=function(){if(this.shimHost.getProjectVersion)return this.shimHost.getProjectVersion()},t.prototype.getTypeRootsVersion=function(){return this.shimHost.getTypeRootsVersion?this.shimHost.getTypeRootsVersion():0},t.prototype.useCaseSensitiveFileNames=function(){return!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames()},t.prototype.getCompilationSettings=function(){var e=this.shimHost.getCompilationSettings();if(null===e||""===e)throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings");var t=JSON.parse(e);return t.allowNonTsExtensions=!0,t},t.prototype.getScriptFileNames=function(){var e=this.shimHost.getScriptFileNames();return this.files=JSON.parse(e)},t.prototype.getScriptSnapshot=function(e){var t=this.shimHost.getScriptSnapshot(e);return t&&new n(t)},t.prototype.getScriptKind=function(e){return"getScriptKind"in this.shimHost?this.shimHost.getScriptKind(e):0},t.prototype.getScriptVersion=function(e){return this.shimHost.getScriptVersion(e)},t.prototype.getLocalizedDiagnosticMessages=function(){var e=this.shimHost.getLocalizedDiagnosticMessages();if(null===e||""===e)return null;try{return JSON.parse(e)}catch(e){return this.log(e.description||"diagnosticMessages.generated.json has invalid JSON format"),null}},t.prototype.getCancellationToken=function(){var t=this.shimHost.getCancellationToken();return new e.ThrottledCancellationToken(t)},t.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t.prototype.getDefaultLibFileName=function(e){return this.shimHost.getDefaultLibFileName(JSON.stringify(e))},t.prototype.readDirectory=function(t,n,r,i,a){var o=e.getFileMatcherPatterns(t,r,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(n),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))},t.prototype.readFile=function(e,t){return this.shimHost.readFile(e,t)},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t}();e.LanguageServiceShimHostAdapter=r;var i=function(){function t(e){var t=this;this.shimHost=e,this.useCaseSensitiveFileNames=!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames(),"directoryExists"in this.shimHost&&(this.directoryExists=function(e){return t.shimHost.directoryExists(e)}),"realpath"in this.shimHost&&(this.realpath=function(e){return t.shimHost.realpath(e)})}return t.prototype.readDirectory=function(t,n,r,i,a){var o=e.getFileMatcherPatterns(t,r,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(n),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t.prototype.readFile=function(e){return this.shimHost.readFile(e)},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t}();function a(e,t,n,r){return s(e,t,!0,n,r)}function s(n,r,i,a,o){try{var s=function(t,n,r,i){var a;i&&(t.log(n),a=e.timestamp());var o=r();if(i){var s=e.timestamp();if(t.log(n+" completed in "+(s-a)+" msec"),e.isString(o)){var c=o;c.length>128&&(c=c.substring(0,128)+"..."),t.log(" result.length="+c.length+", result='"+JSON.stringify(c)+"'")}}return o}(n,r,a,o);return i?JSON.stringify({result:s}):s}catch(i){return i instanceof e.OperationCanceledException?JSON.stringify({canceled:!0}):(t(n,i),i.description=r,JSON.stringify({error:i}))}}e.CoreServicesShimHostAdapter=i;var c=function(){function e(e){this.factory=e,e.registerShim(this)}return e.prototype.dispose=function(e){this.factory.unregisterShim(this)},e}();function l(t,n){return t.map(function(t){return function(t,n){return{message:e.flattenDiagnosticMessageText(t.messageText,n),start:t.start,length:t.length,category:e.diagnosticCategoryName(t),code:t.code}}(t,n)})}e.realizeDiagnostics=l;var _=function(t){function n(e,n,r){var i=t.call(this,e)||this;return i.host=n,i.languageService=r,i.logPerformance=!1,i.logger=i.host,i}return u(n,t),n.prototype.forwardJSONCall=function(e,t){return a(this.logger,e,t,this.logPerformance)},n.prototype.dispose=function(e){this.logger.log("dispose()"),this.languageService.dispose(),this.languageService=null,d&&d.CollectGarbage&&(d.CollectGarbage(),this.logger.log("CollectGarbage()")),this.logger=null,t.prototype.dispose.call(this,e)},n.prototype.refresh=function(e){this.forwardJSONCall("refresh("+e+")",function(){return null})},n.prototype.cleanupSemanticCache=function(){var e=this;this.forwardJSONCall("cleanupSemanticCache()",function(){return e.languageService.cleanupSemanticCache(),null})},n.prototype.realizeDiagnostics=function(t){return l(t,e.getNewLineOrDefaultFromHost(this.host))},n.prototype.getSyntacticClassifications=function(t,n,r){var i=this;return this.forwardJSONCall("getSyntacticClassifications('"+t+"', "+n+", "+r+")",function(){return i.languageService.getSyntacticClassifications(t,e.createTextSpan(n,r))})},n.prototype.getSemanticClassifications=function(t,n,r){var i=this;return this.forwardJSONCall("getSemanticClassifications('"+t+"', "+n+", "+r+")",function(){return i.languageService.getSemanticClassifications(t,e.createTextSpan(n,r))})},n.prototype.getEncodedSyntacticClassifications=function(t,n,r){var i=this;return this.forwardJSONCall("getEncodedSyntacticClassifications('"+t+"', "+n+", "+r+")",function(){return p(i.languageService.getEncodedSyntacticClassifications(t,e.createTextSpan(n,r)))})},n.prototype.getEncodedSemanticClassifications=function(t,n,r){var i=this;return this.forwardJSONCall("getEncodedSemanticClassifications('"+t+"', "+n+", "+r+")",function(){return p(i.languageService.getEncodedSemanticClassifications(t,e.createTextSpan(n,r)))})},n.prototype.getSyntacticDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSyntacticDiagnostics('"+e+"')",function(){var n=t.languageService.getSyntacticDiagnostics(e);return t.realizeDiagnostics(n)})},n.prototype.getSemanticDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSemanticDiagnostics('"+e+"')",function(){var n=t.languageService.getSemanticDiagnostics(e);return t.realizeDiagnostics(n)})},n.prototype.getSuggestionDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSuggestionDiagnostics('"+e+"')",function(){return t.realizeDiagnostics(t.languageService.getSuggestionDiagnostics(e))})},n.prototype.getCompilerOptionsDiagnostics=function(){var e=this;return this.forwardJSONCall("getCompilerOptionsDiagnostics()",function(){var t=e.languageService.getCompilerOptionsDiagnostics();return e.realizeDiagnostics(t)})},n.prototype.getQuickInfoAtPosition=function(e,t){var n=this;return this.forwardJSONCall("getQuickInfoAtPosition('"+e+"', "+t+")",function(){return n.languageService.getQuickInfoAtPosition(e,t)})},n.prototype.getNameOrDottedNameSpan=function(e,t,n){var r=this;return this.forwardJSONCall("getNameOrDottedNameSpan('"+e+"', "+t+", "+n+")",function(){return r.languageService.getNameOrDottedNameSpan(e,t,n)})},n.prototype.getBreakpointStatementAtPosition=function(e,t){var n=this;return this.forwardJSONCall("getBreakpointStatementAtPosition('"+e+"', "+t+")",function(){return n.languageService.getBreakpointStatementAtPosition(e,t)})},n.prototype.getSignatureHelpItems=function(e,t){var n=this;return this.forwardJSONCall("getSignatureHelpItems('"+e+"', "+t+")",function(){return n.languageService.getSignatureHelpItems(e,t)})},n.prototype.getDefinitionAtPosition=function(e,t){var n=this;return this.forwardJSONCall("getDefinitionAtPosition('"+e+"', "+t+")",function(){return n.languageService.getDefinitionAtPosition(e,t)})},n.prototype.getDefinitionAndBoundSpan=function(e,t){var n=this;return this.forwardJSONCall("getDefinitionAndBoundSpan('"+e+"', "+t+")",function(){return n.languageService.getDefinitionAndBoundSpan(e,t)})},n.prototype.getTypeDefinitionAtPosition=function(e,t){var n=this;return this.forwardJSONCall("getTypeDefinitionAtPosition('"+e+"', "+t+")",function(){return n.languageService.getTypeDefinitionAtPosition(e,t)})},n.prototype.getImplementationAtPosition=function(e,t){var n=this;return this.forwardJSONCall("getImplementationAtPosition('"+e+"', "+t+")",function(){return n.languageService.getImplementationAtPosition(e,t)})},n.prototype.getRenameInfo=function(e,t){var n=this;return this.forwardJSONCall("getRenameInfo('"+e+"', "+t+")",function(){return n.languageService.getRenameInfo(e,t)})},n.prototype.findRenameLocations=function(e,t,n,r){var i=this;return this.forwardJSONCall("findRenameLocations('"+e+"', "+t+", "+n+", "+r+")",function(){return i.languageService.findRenameLocations(e,t,n,r)})},n.prototype.getBraceMatchingAtPosition=function(e,t){var n=this;return this.forwardJSONCall("getBraceMatchingAtPosition('"+e+"', "+t+")",function(){return n.languageService.getBraceMatchingAtPosition(e,t)})},n.prototype.isValidBraceCompletionAtPosition=function(e,t,n){var r=this;return this.forwardJSONCall("isValidBraceCompletionAtPosition('"+e+"', "+t+", "+n+")",function(){return r.languageService.isValidBraceCompletionAtPosition(e,t,n)})},n.prototype.getSpanOfEnclosingComment=function(e,t,n){var r=this;return this.forwardJSONCall("getSpanOfEnclosingComment('"+e+"', "+t+")",function(){return r.languageService.getSpanOfEnclosingComment(e,t,n)})},n.prototype.getIndentationAtPosition=function(e,t,n){var r=this;return this.forwardJSONCall("getIndentationAtPosition('"+e+"', "+t+")",function(){var i=JSON.parse(n);return r.languageService.getIndentationAtPosition(e,t,i)})},n.prototype.getReferencesAtPosition=function(e,t){var n=this;return this.forwardJSONCall("getReferencesAtPosition('"+e+"', "+t+")",function(){return n.languageService.getReferencesAtPosition(e,t)})},n.prototype.findReferences=function(e,t){var n=this;return this.forwardJSONCall("findReferences('"+e+"', "+t+")",function(){return n.languageService.findReferences(e,t)})},n.prototype.getOccurrencesAtPosition=function(e,t){var n=this;return this.forwardJSONCall("getOccurrencesAtPosition('"+e+"', "+t+")",function(){return n.languageService.getOccurrencesAtPosition(e,t)})},n.prototype.getDocumentHighlights=function(t,n,r){var i=this;return this.forwardJSONCall("getDocumentHighlights('"+t+"', "+n+")",function(){var a=i.languageService.getDocumentHighlights(t,n,JSON.parse(r)),o=e.normalizeSlashes(t).toLowerCase();return e.filter(a,function(t){return e.normalizeSlashes(t.fileName).toLowerCase()===o})})},n.prototype.getCompletionsAtPosition=function(e,t,n){var r=this;return this.forwardJSONCall("getCompletionsAtPosition('"+e+"', "+t+", "+n+")",function(){return r.languageService.getCompletionsAtPosition(e,t,n)})},n.prototype.getCompletionEntryDetails=function(e,t,n,r,i){var a=this;return this.forwardJSONCall("getCompletionEntryDetails('"+e+"', "+t+", '"+n+"')",function(){var o=void 0===r?void 0:JSON.parse(r);return a.languageService.getCompletionEntryDetails(e,t,n,o,i)})},n.prototype.getFormattingEditsForRange=function(e,t,n,r){var i=this;return this.forwardJSONCall("getFormattingEditsForRange('"+e+"', "+t+", "+n+")",function(){var a=JSON.parse(r);return i.languageService.getFormattingEditsForRange(e,t,n,a)})},n.prototype.getFormattingEditsForDocument=function(e,t){var n=this;return this.forwardJSONCall("getFormattingEditsForDocument('"+e+"')",function(){var r=JSON.parse(t);return n.languageService.getFormattingEditsForDocument(e,r)})},n.prototype.getFormattingEditsAfterKeystroke=function(e,t,n,r){var i=this;return this.forwardJSONCall("getFormattingEditsAfterKeystroke('"+e+"', "+t+", '"+n+"')",function(){var a=JSON.parse(r);return i.languageService.getFormattingEditsAfterKeystroke(e,t,n,a)})},n.prototype.getDocCommentTemplateAtPosition=function(e,t){var n=this;return this.forwardJSONCall("getDocCommentTemplateAtPosition('"+e+"', "+t+")",function(){return n.languageService.getDocCommentTemplateAtPosition(e,t)})},n.prototype.getNavigateToItems=function(e,t,n){var r=this;return this.forwardJSONCall("getNavigateToItems('"+e+"', "+t+", "+n+")",function(){return r.languageService.getNavigateToItems(e,t,n)})},n.prototype.getNavigationBarItems=function(e){var t=this;return this.forwardJSONCall("getNavigationBarItems('"+e+"')",function(){return t.languageService.getNavigationBarItems(e)})},n.prototype.getNavigationTree=function(e){var t=this;return this.forwardJSONCall("getNavigationTree('"+e+"')",function(){return t.languageService.getNavigationTree(e)})},n.prototype.getOutliningSpans=function(e){var t=this;return this.forwardJSONCall("getOutliningSpans('"+e+"')",function(){return t.languageService.getOutliningSpans(e)})},n.prototype.getTodoComments=function(e,t){var n=this;return this.forwardJSONCall("getTodoComments('"+e+"')",function(){return n.languageService.getTodoComments(e,JSON.parse(t))})},n.prototype.getEmitOutput=function(e){var t=this;return this.forwardJSONCall("getEmitOutput('"+e+"')",function(){return t.languageService.getEmitOutput(e)})},n.prototype.getEmitOutputObject=function(e){var t=this;return s(this.logger,"getEmitOutput('"+e+"')",!1,function(){return t.languageService.getEmitOutput(e)},this.logPerformance)},n}(c);function p(e){return{spans:e.spans.join(","),endOfLineState:e.endOfLineState}}var f=function(t){function n(n,r){var i=t.call(this,n)||this;return i.logger=r,i.logPerformance=!1,i.classifier=e.createClassifier(),i}return u(n,t),n.prototype.getEncodedLexicalClassifications=function(e,t,n){var r=this;return a(this.logger,"getEncodedLexicalClassifications",function(){return p(r.classifier.getEncodedLexicalClassifications(e,t,n))},this.logPerformance)},n.prototype.getClassificationsForLine=function(e,t,n){for(var r=this.classifier.getClassificationsForLine(e,t,n),i="",a=0,o=r.entries;a=0;t--)this.prepend(e[t]);else{if(!e[o]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},s.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n0){for(t=[],n=0;n0?r-4:r,_=0;_>16&255,s[c++]=t>>8&255,s[c++]=255&t;return 2===o&&(t=i[e.charCodeAt(_)]<<2|i[e.charCodeAt(_+1)]>>4,s[c++]=255&t),1===o&&(t=i[e.charCodeAt(_)]<<10|i[e.charCodeAt(_+1)]<<4|i[e.charCodeAt(_+2)]>>2,s[c++]=t>>8&255,s[c++]=255&t),s},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,a=[],o=0,s=n-i;os?s:o+16383));return 1===i?a.push(r[(t=e[n-1])>>2]+r[t<<4&63]+"=="):2===i&&a.push(r[(t=(e[n-2]<<8)+e[n-1])>>10]+r[t>>4&63]+r[t<<2&63]+"="),a.join("")};for(var r=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,c=o.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,n){for(var i,a=[],o=t;o>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},EuP9:function(e,t,n){"use strict";(function(e){var r=n("EKta"),i=n("ujcs"),a=n("sOR5");function o(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function f(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return z(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(e).length;default:if(r)return z(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=c.from(t,r)),c.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,i);if("number"==typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,i){var a,o=1,s=e.length,c=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,s/=2,c/=2,n/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var l=-1;for(a=n;as&&(n=s-c),a=n;a>=0;a--){for(var _=!0,d=0;di&&(r=i):r=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var o=0;o>8,i.push(n%256),i.push(r);return i}(t,e.length-n),e,n,r)}function D(e,t,n){return r.fromByteArray(0===t&&n===e.length?e:e.slice(t,n))}function C(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:u>223?3:u>191?2:1;if(i+_<=n)switch(_){case 1:u<128&&(l=u);break;case 2:128==(192&(a=e[i+1]))&&(c=(31&u)<<6|63&a)>127&&(l=c);break;case 3:o=e[i+2],128==(192&(a=e[i+1]))&&128==(192&o)&&(c=(15&u)<<12|(63&a)<<6|63&o)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:o=e[i+2],s=e[i+3],128==(192&(a=e[i+1]))&&128==(192&o)&&128==(192&s)&&(c=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&c<1114112&&(l=c)}null===l?(l=65533,_=1):l>65535&&(r.push((l-=65536)>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=_}return function(e){var t=e.length;if(t<=T)return String.fromCharCode.apply(String,e);for(var n="",r=0;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return C(this,t,n);case"ascii":return E(this,t,n);case"latin1":case"binary":return N(this,t,n);case"base64":return D(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}).apply(this,arguments)},c.prototype.equals=function(e){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===c.compare(this,e)},c.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},c.prototype.compare=function(e,t,n,r,i){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var a=i-r,o=n-t,s=Math.min(a,o),u=this.slice(r,i),l=e.slice(t,n),_=0;_i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return h(this,e,t,n);case"utf8":case"utf-8":return v(this,e,t,n);case"ascii":return b(this,e,t,n);case"latin1":case"binary":return x(this,e,t,n);case"base64":return k(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var T=4096;function E(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ii)&&(n=i);for(var a="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,r,i,a){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function I(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function O(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function M(e,t,n,r,i,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,r,a){return a||M(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function R(e,t,n,r,a){return a||M(e,0,n,8),i.write(e,t,n,r,52,8),n+8}c.prototype.slice=function(e,t){var n,r=this.length;if(e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},c.prototype.readUInt8=function(e,t){return t||w(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||w(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||w(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||w(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||w(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||w(e,t,this.length);for(var r=this[e],i=1,a=0;++a=(i*=128)&&(r-=Math.pow(2,8*t)),r},c.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||w(e,t,this.length);for(var r=t,i=1,a=this[e+--r];r>0&&(i*=256);)a+=this[e+--r]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},c.prototype.readInt8=function(e,t){return t||w(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||w(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(e,t){t||w(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(e,t){return t||w(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||w(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||w(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||w(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||w(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||w(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||F(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+n},c.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):I(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):I(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):O(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):O(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+n},c.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+n},c.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):I(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):I(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):O(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):O(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},c.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},c.prototype.writeDoubleLE=function(e,t,n){return R(this,e,t,!0,n)},c.prototype.writeDoubleBE=function(e,t,n){return R(this,e,t,!1,n)},c.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(a<1e3||!c.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function j(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(B,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function J(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(t,n("DuR2"))},G4xT:function(e,t,n){var r=n("l5q4"),i=n("31j4"),a=n("601G").ArraySet,o=n("Ohcp"),s=n("mDF7").quickSort;function c(e){var t=e;return"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,""))),null!=t.sections?new _(t):new u(t)}function u(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var n=r.getArg(t,"version"),i=r.getArg(t,"sources"),o=r.getArg(t,"names",[]),s=r.getArg(t,"sourceRoot",null),c=r.getArg(t,"sourcesContent",null),u=r.getArg(t,"mappings"),l=r.getArg(t,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);i=i.map(String).map(r.normalize).map(function(e){return s&&r.isAbsolute(s)&&r.isAbsolute(e)?r.relative(s,e):e}),this._names=a.fromArray(o.map(String),!0),this._sources=a.fromArray(i,!0),this.sourceRoot=s,this.sourcesContent=c,this._mappings=u,this.file=l}function l(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function _(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var n=r.getArg(t,"version"),i=r.getArg(t,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new a,this._names=new a;var o={line:-1,column:0};this._sections=i.map(function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var t=r.getArg(e,"offset"),n=r.getArg(t,"line"),i=r.getArg(t,"column");if(n=0){var s=this._originalMappings[o];if(void 0===e.column)for(var c=s.originalLine;s&&s.originalLine===c;)a.push({line:r.getArg(s,"generatedLine",null),column:r.getArg(s,"generatedColumn",null),lastColumn:r.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++o];else for(var u=s.originalColumn;s&&s.originalLine===t&&s.originalColumn==u;)a.push({line:r.getArg(s,"generatedLine",null),column:r.getArg(s,"generatedColumn",null),lastColumn:r.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++o]}return a},t.SourceMapConsumer=c,(u.prototype=Object.create(c.prototype)).consumer=c,u.fromSourceMap=function(e){var t=Object.create(u.prototype),n=t._names=a.fromArray(e._names.toArray(),!0),i=t._sources=a.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var o=e._mappings.toArray().slice(),c=t.__generatedMappings=[],_=t.__originalMappings=[],d=0,p=o.length;d1&&(n.source=f+a[1],f+=a[1],n.originalLine=d+a[2],d=n.originalLine,n.originalLine+=1,n.originalColumn=p+a[3],p=n.originalColumn,a.length>4&&(n.name=m+a[4],m+=a[4])),x.push(n),"number"==typeof n.originalLine&&b.push(n)}s(x,r.compareByGeneratedPositionsDeflated),this.__generatedMappings=x,s(b,r.compareByOriginalPositions),this.__originalMappings=b},u.prototype._findMapping=function(e,t,n,r,a,o){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return i.search(e,t,a,o)},u.prototype.computeColumnSpans=function(){for(var e=0;e=0){var i=this._generatedMappings[n];if(i.generatedLine===t.generatedLine){var a=r.getArg(i,"source",null);null!==a&&(a=this._sources.at(a),null!=this.sourceRoot&&(a=r.join(this.sourceRoot,a)));var o=r.getArg(i,"name",null);return null!==o&&(o=this._names.at(o)),{source:a,line:r.getArg(i,"originalLine",null),column:r.getArg(i,"originalColumn",null),name:o}}}return{source:null,line:null,column:null,name:null}},u.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e})},u.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=r.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var n;if(null!=this.sourceRoot&&(n=r.urlParse(this.sourceRoot))){var i=e.replace(/^file:\/\//,"");if("file"==n.scheme&&this._sources.has(i))return this.sourcesContent[this._sources.indexOf(i)];if((!n.path||"/"==n.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},u.prototype.generatedPositionFor=function(e){var t=r.getArg(e,"source");if(null!=this.sourceRoot&&(t=r.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};var n={source:t=this._sources.indexOf(t),originalLine:r.getArg(e,"line"),originalColumn:r.getArg(e,"column")},i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,r.getArg(e,"bias",c.GREATEST_LOWER_BOUND));if(i>=0){var a=this._originalMappings[i];if(a.source===n.source)return{line:r.getArg(a,"generatedLine",null),column:r.getArg(a,"generatedColumn",null),lastColumn:r.getArg(a,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},t.BasicSourceMapConsumer=u,(_.prototype=Object.create(c.prototype)).constructor=c,_.prototype._version=3,Object.defineProperty(_.prototype,"sources",{get:function(){for(var e=[],t=0;t0&&e.column>=0)||t||n||r)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},s.prototype._serializeMappings=function(){for(var e,t,n,a,o=0,s=1,c=0,u=0,l=0,_=0,d="",p=this._mappings.toArray(),f=0,m=p.length;f0){if(!i.compareByGeneratedPositionsInflated(t,p[f-1]))continue;e+=","}e+=r.encode(t.generatedColumn-o),o=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=r.encode(a-_),_=a,e+=r.encode(t.originalLine-1-u),u=t.originalLine-1,e+=r.encode(t.originalColumn-c),c=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=r.encode(n-l),l=n)),d+=e}return d},s.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=i.relative(t,e));var n=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)},s.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},s.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=s},Ohcp:function(e,t,n){var r=n("TPEU");t.encode=function(e){var t,n="",i=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&i,(i>>>=5)>0&&(t|=32),n+=r.encode(t)}while(i>0);return n},t.decode=function(e,t,n){var i,a,o,s,c=e.length,u=0,l=0;do{if(t>=c)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(a=r.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));i=!!(32&a),u+=(a&=31)<>1,1==(1&o)?-s:s),n.rest=t}},TPEU:function(e,t){var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e0&&t>e&&this._stopWorker()}},e.prototype._getClient=function(){var e=this;if(this._lastUsedTime=Date.now(),!this._client){this._worker=monaco.editor.createWebWorker({moduleId:"vs/language/typescript/tsWorker",label:this._modeId,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs()}});var t=this._worker.getProxy();this._defaults.getEagerModelSync()&&(t=t.then(function(t){return e._worker.withSyncedResources(monaco.editor.getModels().filter(function(t){return t.getModeId()===e._modeId}).map(function(e){return e.uri}))})),this._client=t}return this._client},e.prototype.getLanguageServiceWorker=function(){for(var e,t,n,r,i,a=this,o=[],s=0;s0)for(var s=0,c=i.childItems;s\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:monaco.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:monaco.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:monaco.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:monaco.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}}},gAs1:function(e,t){t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"}},l5q4:function(e,t){t.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')};var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,r=/^data:.+\,.+$/;function i(e){var t=e.match(n);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function a(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function o(e){var n=e,r=i(e);if(r){if(!r.path)return e;n=r.path}for(var o,s=t.isAbsolute(n),c=n.split(/\/+/),u=0,l=c.length-1;l>=0;l--)"."===(o=c[l])?c.splice(l,1):".."===o?u++:u>0&&(""===o?(c.splice(l+1,u),u=0):(c.splice(l,2),u--));return""===(n=c.join("/"))&&(n=s?"/":"."),r?(r.path=n,a(r)):n}t.urlParse=i,t.urlGenerate=a,t.normalize=o,t.join=function(e,t){""===e&&(e="."),""===t&&(t=".");var n=i(t),s=i(e);if(s&&(e=s.path||"/"),n&&!n.scheme)return s&&(n.scheme=s.scheme),a(n);if(n||t.match(r))return t;if(s&&!s.host&&!s.path)return s.host=t,a(s);var c="/"===t.charAt(0)?t:o(e.replace(/\/+$/,"")+"/"+t);return s?(s.path=c,a(s)):c},t.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(n)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)};var s=!("__proto__"in Object.create(null));function c(e){return e}function u(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function l(e,t){return e===t?0:e>t?1:-1}t.toSetString=s?c:function(e){return u(e)?"$"+e:e},t.fromSetString=s?c:function(e){return u(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,n){var r=e.source-t.source;return 0!==r?r:0!=(r=e.originalLine-t.originalLine)?r:0!=(r=e.originalColumn-t.originalColumn)||n?r:0!=(r=e.generatedColumn-t.generatedColumn)?r:0!=(r=e.generatedLine-t.generatedLine)?r:e.name-t.name},t.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r?r:0!=(r=e.generatedColumn-t.generatedColumn)||n?r:0!=(r=e.source-t.source)?r:0!=(r=e.originalLine-t.originalLine)?r:0!=(r=e.originalColumn-t.originalColumn)?r:e.name-t.name},t.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n?n:0!=(n=e.generatedColumn-t.generatedColumn)?n:0!==(n=l(e.source,t.source))?n:0!=(n=e.originalLine-t.originalLine)?n:0!=(n=e.originalColumn-t.originalColumn)?n:l(e.name,t.name)}},mDF7:function(e,t){function n(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}t.quickSort=function(e,t){!function e(t,r,i,a){if(i";var n=this.getLineNumber();if(null!=n){t+=":"+n;var r=this.getColumnNumber();r&&(t+=":"+r)}}var i="",a=this.getFunctionName(),o=!0,s=this.isConstructor();if(this.isToplevel()||s)s?i+="new "+(a||""):a?i+=a:(i+=t,o=!1);else{var c=this.getTypeName();"[object Object]"===c&&(c="null");var u=this.getMethodName();a?(c&&0!=a.indexOf(c)&&(i+=c+"."),i+=a,u&&a.indexOf("."+u)!=a.length-u.length-1&&(i+=" [as "+u+"]")):i+=c+"."+(u||"")}return o&&(i+=" ("+t+")"),i}function S(e){var t={};return Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(function(n){t[n]=/^(?:is|get)/.test(n)?function(){return e[n].call(e)}:e[n]}),t.toString=k,t}function D(e){if(e.isNative())return e;var t=e.getFileName()||e.getScriptNameOrSourceURL();if(t){var n=e.getLineNumber(),r=e.getColumnNumber()-1;1===n&&r>62&&!g()&&!e.isEval()&&(r-=62);var i=x({source:t,line:n,column:r});return(e=S(e)).getFileName=function(){return i.source},e.getLineNumber=function(){return i.line},e.getColumnNumber=function(){return i.column+1},e.getScriptNameOrSourceURL=function(){return i.source},e}var a=e.isEval()&&e.getEvalOrigin();return a?(a=function e(t){var n=/^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(t);if(n){var r=x({source:n[2],line:+n[3],column:n[4]-1});return"eval at "+n[1]+" ("+r.source+":"+r.line+":"+(r.column+1)+")"}return(n=/^eval at ([^(]+) \((.+)\)$/.exec(t))?"eval at "+n[1]+" ("+e(n[2])+")":t}(a),(e=S(e)).getEvalOrigin=function(){return a},e):e}function C(e,t){return u&&(_={},d={}),e+t.map(function(e){return"\n at "+D(e)}).join("")}function T(e){var t=/\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack);if(t){var n=t[1],r=+t[2],a=+t[3],o=_[n];if(!o&&i&&i.existsSync(n))try{o=i.readFileSync(n,"utf8")}catch(e){o=""}if(o){var s=o.split(/(?:\r\n|\r|\n)/)[r-1];if(s)return n+":"+r+"\n"+s+"\n"+new Array(a).join(" ")+"^"}}return null}m.push(function(e){var t,n=function(e){var t;if(g())try{var n=new XMLHttpRequest;n.open("GET",e,!1),n.send(null),t=4===n.readyState?n.responseText:null;var r=n.getResponseHeader("SourceMap")||n.getResponseHeader("X-SourceMap");if(r)return r}catch(e){}t=h(e);for(var i,a,o=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^\*]+?)[ \t]*(?:\*\/)[ \t]*$)/gm;a=o.exec(t);)i=a;return i?i[1]:null}(e);if(!n)return null;if(p.test(n)){var i=n.slice(n.indexOf(",")+1);t=new r(i,"base64").toString(),n=e}else n=v(e,n),t=h(n);return t?{url:n,map:t}:null}),t.wrapCallSite=D,t.getErrorSource=T,t.mapSourcePosition=x,t.retrieveSourceMap=b,t.install=function(t){if((t=t||{}).environment&&-1===["node","browser","auto"].indexOf(l=t.environment))throw new Error("environment "+l+" was unknown. Available options are {auto, browser, node}");if(t.retrieveFile&&(t.overrideRetrieveFile&&(f.length=0),f.unshift(t.retrieveFile)),t.retrieveSourceMap&&(t.overrideRetrieveSourceMap&&(m.length=0),m.unshift(t.retrieveSourceMap)),t.hookRequire&&!g()){var r;try{r=n(!function(){var e=new Error('Cannot find module "module"');throw e.code="MODULE_NOT_FOUND",e}())}catch(e){}var i=r.prototype._compile;i.__sourceMapSupport||(r.prototype._compile=function(e,t){return _[t]=e,d[t]=void 0,i.call(this,e,t)},r.prototype._compile.__sourceMapSupport=!0)}var a;u||(u="emptyCacheBetweenOperations"in t&&t.emptyCacheBetweenOperations),s||(s=!0,Error.prepareStackTrace=C),c||(!("handleUncaughtExceptions"in t)||t.handleUncaughtExceptions)&&"object"==typeof e&&null!==e&&"function"==typeof e.on&&(c=!0,a=e.emit,e.emit=function(t){if("uncaughtException"===t){var n=arguments[1]&&arguments[1].stack,r=this.listeners(t).length>0;if(n&&!r)return(o=T(i=arguments[1]))&&(console.error(),console.error(o)),console.error(i.stack),void e.exit(1)}var i,o;return a.apply(this,arguments)})}}).call(t,n("W2nU"),n("EuP9").Buffer)},"o/zv":function(e,t,n){(function(e){function n(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(e){return r.exec(e).slice(1)};function a(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r=-1&&!r;i--){var o=i>=0?arguments[i]:e.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,r="/"===o.charAt(0))}return t=n(a(t.split("/"),function(e){return!!e}),!r).join("/"),(r?"/":"")+t||"."},t.normalize=function(e){var r=t.isAbsolute(e),i="/"===o(e,-1);return(e=n(a(e.split("/"),function(e){return!!e}),!r).join("/"))||r||(e="."),e&&i&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(a(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},t.relative=function(e,n){function r(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var i=r(e.split("/")),a=r(n.split("/")),o=Math.min(i.length,a.length),s=o,c=0;c>1,l=-7,_=n?i-1:0,d=n?-1:1,p=e[t+_];for(_+=d,a=p&(1<<-l)-1,p>>=-l,l+=s;l>0;a=256*a+e[t+_],_+=d,l-=8);for(o=a&(1<<-l)-1,a>>=-l,l+=r;l>0;o=256*o+e[t+_],_+=d,l-=8);if(0===a)a=1-u;else{if(a===c)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,r),a-=u}return(p?-1:1)*o*Math.pow(2,a-r)},t.write=function(e,t,n,r,i,a){var o,s,c,u=8*a-i-1,l=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:a-1,f=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+_>=1?d/c:d*Math.pow(2,1-_))*c>=2&&(o++,c/=2),o+_>=l?(s=0,o=l):o+_>=1?(s=(t*c-1)*Math.pow(2,i),o+=_):(s=t*Math.pow(2,_-1)*Math.pow(2,i),o=0));i>=8;e[n+p]=255&s,p+=f,s/=256,i-=8);for(o=o<0;e[n+p]=255&o,p+=f,o/=256,u-=8);e[n+p-f]|=128*m}}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/10.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/10.chunk.js new file mode 100644 index 0000000..781398b --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/10.chunk.js @@ -0,0 +1 @@ +webpackJsonp([10],{"77T5":function(E,T,R){"use strict";Object.defineProperty(T,"__esModule",{value:!0}),R.d(T,"conf",function(){return A}),R.d(T,"language",function(){return I});var A={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:"'"}]},I={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/AlmToolkit/AlmToolkit/html-resources/dist/11.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/11.chunk.js new file mode 100644 index 0000000..90bcddb --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/11.chunk.js @@ -0,0 +1 @@ +webpackJsonp([11],{"0Tt9":function(x,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),i.d(e,"conf",function(){return d}),i.d(e,"language",function(){return f});var d={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"]}]},f={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/AlmToolkit/AlmToolkit/html-resources/dist/12.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/12.chunk.js new file mode 100644 index 0000000..648ee71 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/12.chunk.js @@ -0,0 +1 @@ +webpackJsonp([12],{jkhk:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"conf",function(){return o}),n.d(t,"language",function(){return i});var o={wordPattern:/(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},i={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/AlmToolkit/AlmToolkit/html-resources/dist/13.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/13.chunk.js new file mode 100644 index 0000000..3aa45b2 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/13.chunk.js @@ -0,0 +1 @@ +webpackJsonp([13],{vFHx:function(e,n,o){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),o.d(n,"conf",function(){return t}),o.d(n,"language",function(){return r});var t={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"]}]},r={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/AlmToolkit/AlmToolkit/html-resources/dist/14.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/14.chunk.js new file mode 100644 index 0000000..8fada24 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/14.chunk.js @@ -0,0 +1 @@ +webpackJsonp([14],{QEBt:function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),o.d(t,"conf",function(){return n}),o.d(t,"language",function(){return r});var n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},r={tokenPostfix:".rust",defaultToken:"invalid",keywords:["as","box","break","const","continue","crate","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","static","struct","super","trait","true","type","unsafe","use","where","while","catch","default","union","static","abstract","alignof","become","do","final","macro","offsetof","override","priv","proc","pure","sizeof","typeof","unsized","virtual","yield"],typeKeywords:["Self","m32","m64","m128","f80","f16","f128","int","uint","float","char","bool","u8","u16","u32","u64","f32","f64","i8","i16","i32","i64","str","Option","Either","c_float","c_double","c_void","FILE","fpos_t","DIR","dirent","c_char","c_schar","c_uchar","c_short","c_ushort","c_int","c_uint","c_long","c_ulong","size_t","ptrdiff_t","clock_t","time_t","c_longlong","c_ulonglong","intptr_t","uintptr_t","off_t","dev_t","ino_t","pid_t","mode_t","ssize_t"],constants:["true","false","Some","None","Left","Right","Ok","Err"],supportConstants:["EXIT_FAILURE","EXIT_SUCCESS","RAND_MAX","EOF","SEEK_SET","SEEK_CUR","SEEK_END","_IOFBF","_IONBF","_IOLBF","BUFSIZ","FOPEN_MAX","FILENAME_MAX","L_tmpnam","TMP_MAX","O_RDONLY","O_WRONLY","O_RDWR","O_APPEND","O_CREAT","O_EXCL","O_TRUNC","S_IFIFO","S_IFCHR","S_IFBLK","S_IFDIR","S_IFREG","S_IFMT","S_IEXEC","S_IWRITE","S_IREAD","S_IRWXU","S_IXUSR","S_IWUSR","S_IRUSR","F_OK","R_OK","W_OK","X_OK","STDIN_FILENO","STDOUT_FILENO","STDERR_FILENO"],supportMacros:["format!","print!","println!","panic!","format_args!","unreachable!","write!","writeln!"],operators:["!","!=","%","%=","&","&=","&&","*","*=","+","+=","-","-=","->",".","..","...","/","/=",":",";","<<","<<=","<","<=","=","==","=>",">",">=",">>",">>=","@","^","^=","|","|=","||","_","?","#"],escapes:/\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/,delimiters:/[,]/,symbols:/[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/,intSuffixes:/[iu](8|16|32|64|128|size)/,floatSuffixes:/f(32|64)/,tokenizer:{root:[[/[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/,{cases:{"@typeKeywords":"keyword.type","@keywords":"keyword","@supportConstants":"keyword","@supportMacros":"keyword","@constants":"keyword","@default":"identifier"}}],[/\$/,"identifier"],[/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/,"identifier"],[/'\S'/,"string.byteliteral"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],{include:"@numbers"},{include:"@whitespace"},[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}],[/[{}()\[\]<>]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],numbers:[[/(0o[0-7_]+)(@intSuffixes)?/,{token:"number"}],[/(0b[0-1_]+)(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/,{token:"number"}],[/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/,{token:"number"}],[/(0x[\da-fA-F]+)_?(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(@intSuffixes?)?/,{token:"number"}]]}}}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/15.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/15.chunk.js new file mode 100644 index 0000000..af0ae6c --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/15.chunk.js @@ -0,0 +1 @@ +webpackJsonp([15],{"/y3V":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"conf",function(){return r}),n.d(t,"language",function(){return o});var r={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:"'"}]},o={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/AlmToolkit/AlmToolkit/html-resources/dist/16.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/16.chunk.js new file mode 100644 index 0000000..993e2b3 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/16.chunk.js @@ -0,0 +1 @@ +webpackJsonp([16],{pESm:function(e,_,t){"use strict";Object.defineProperty(_,"__esModule",{value:!0}),t.d(_,"conf",function(){return r}),t.d(_,"language",function(){return i});var r={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:"'"}]},i={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BLANKSASNULL","BOTH","BYTEDICT","BZIP2","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","CREDENTIALS","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURRENT_USER_ID","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DELTA","DELTA32K","DESC","DISABLE","DISTINCT","DO","ELSE","EMPTYASNULL","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","END","EXCEPT","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GRANT","GROUP","GZIP","HAVING","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","LZO","LZOP","MINUS","MOSTLY13","MOSTLY32","MOSTLY8","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","OR","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RAW","READRATIO","RECOVER","REFERENCES","RESPECT","REJECTLOG","RESORT","RESTORE","RIGHT","SELECT","SESSION_USER","SIMILAR","SNAPSHOT","SOME","SYSDATE","SYSTEM","TABLE","TAG","TDES","TEXT255","TEXT32K","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","TRUNCATECOLUMNS","UNION","UNIQUE","USER","USING","VERBOSE","WALLET","WHEN","WHERE","WITH","WITHOUT"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["current_schema","current_schemas","has_database_privilege","has_schema_privilege","has_table_privilege","age","current_time","current_timestamp","localtime","isfinite","now","ascii","get_bit","get_byte","set_bit","set_byte","to_ascii","approximate percentile_disc","avg","count","listagg","max","median","min","percentile_cont","stddev_samp","stddev_pop","sum","var_samp","var_pop","bit_and","bit_or","bool_and","bool_or","cume_dist","first_value","lag","last_value","lead","nth_value","ratio_to_report","dense_rank","ntile","percent_rank","rank","row_number","case","coalesce","decode","greatest","least","nvl","nvl2","nullif","add_months","at time zone","convert_timezone","current_date","date_cmp","date_cmp_timestamp","date_cmp_timestamptz","date_part_year","dateadd","datediff","date_part","date_trunc","extract","getdate","interval_cmp","last_day","months_between","next_day","sysdate","timeofday","timestamp_cmp","timestamp_cmp_date","timestamp_cmp_timestamptz","timestamptz_cmp","timestamptz_cmp_date","timestamptz_cmp_timestamp","timezone","to_timestamp","trunc","abs","acos","asin","atan","atan2","cbrt","ceil","ceiling","checksum","cos","cot","degrees","dexp","dlog1","dlog10","exp","floor","ln","log","mod","pi","power","radians","random","round","sin","sign","sqrt","tan","to_hex","bpcharcmp","btrim","bttext_pattern_cmp","char_length","character_length","charindex","chr","concat","crc32","func_sha1","initcap","left and rights","len","length","lower","lpad and rpads","ltrim","md5","octet_length","position","quote_ident","quote_literal","regexp_count","regexp_instr","regexp_replace","regexp_substr","repeat","replace","replicate","reverse","rtrim","split_part","strpos","strtol","substring","textlen","translate","trim","upper","cast","convert","to_char","to_date","to_number","json_array_length","json_extract_array_element_text","json_extract_path_text","current_setting","pg_cancel_backend","pg_terminate_backend","set_config","current_database","current_user","current_user_id","pg_backend_pid","pg_last_copy_count","pg_last_copy_id","pg_last_query_id","pg_last_unload_count","session_user","slice_num","user","version","abbrev","acosd","any","area","array_agg","array_append","array_cat","array_dims","array_fill","array_length","array_lower","array_ndims","array_position","array_positions","array_prepend","array_remove","array_replace","array_to_json","array_to_string","array_to_tsvector","array_upper","asind","atan2d","atand","bit","bit_length","bound_box","box","brin_summarize_new_values","broadcast","cardinality","center","circle","clock_timestamp","col_description","concat_ws","convert_from","convert_to","corr","cosd","cotd","covar_pop","covar_samp","current_catalog","current_query","current_role","currval","cursor_to_xml","diameter","div","encode","enum_first","enum_last","enum_range","every","family","format","format_type","generate_series","generate_subscripts","get_current_ts_config","gin_clean_pending_list","grouping","has_any_column_privilege","has_column_privilege","has_foreign_data_wrapper_privilege","has_function_privilege","has_language_privilege","has_sequence_privilege","has_server_privilege","has_tablespace_privilege","has_type_privilege","height","host","hostmask","inet_client_addr","inet_client_port","inet_merge","inet_same_family","inet_server_addr","inet_server_port","isclosed","isempty","isopen","json_agg","json_object","json_object_agg","json_populate_record","json_populate_recordset","json_to_record","json_to_recordset","jsonb_agg","jsonb_object_agg","justify_days","justify_hours","justify_interval","lastval","left","line","localtimestamp","lower_inc","lower_inf","lpad","lseg","make_date","make_interval","make_time","make_timestamp","make_timestamptz","masklen","mode","netmask","network","nextval","npoints","num_nonnulls","num_nulls","numnode","obj_description","overlay","parse_ident","path","pclose","percentile_disc","pg_advisory_lock","pg_advisory_lock_shared","pg_advisory_unlock","pg_advisory_unlock_all","pg_advisory_unlock_shared","pg_advisory_xact_lock","pg_advisory_xact_lock_shared","pg_backup_start_time","pg_blocking_pids","pg_client_encoding","pg_collation_is_visible","pg_column_size","pg_conf_load_time","pg_control_checkpoint","pg_control_init","pg_control_recovery","pg_control_system","pg_conversion_is_visible","pg_create_logical_replication_slot","pg_create_physical_replication_slot","pg_create_restore_point","pg_current_xlog_flush_location","pg_current_xlog_insert_location","pg_current_xlog_location","pg_database_size","pg_describe_object","pg_drop_replication_slot","pg_export_snapshot","pg_filenode_relation","pg_function_is_visible","pg_get_constraintdef","pg_get_expr","pg_get_function_arguments","pg_get_function_identity_arguments","pg_get_function_result","pg_get_functiondef","pg_get_indexdef","pg_get_keywords","pg_get_object_address","pg_get_owned_sequence","pg_get_ruledef","pg_get_serial_sequence","pg_get_triggerdef","pg_get_userbyid","pg_get_viewdef","pg_has_role","pg_identify_object","pg_identify_object_as_address","pg_index_column_has_property","pg_index_has_property","pg_indexam_has_property","pg_indexes_size","pg_is_in_backup","pg_is_in_recovery","pg_is_other_temp_schema","pg_is_xlog_replay_paused","pg_last_committed_xact","pg_last_xact_replay_timestamp","pg_last_xlog_receive_location","pg_last_xlog_replay_location","pg_listening_channels","pg_logical_emit_message","pg_logical_slot_get_binary_changes","pg_logical_slot_get_changes","pg_logical_slot_peek_binary_changes","pg_logical_slot_peek_changes","pg_ls_dir","pg_my_temp_schema","pg_notification_queue_usage","pg_opclass_is_visible","pg_operator_is_visible","pg_opfamily_is_visible","pg_options_to_table","pg_postmaster_start_time","pg_read_binary_file","pg_read_file","pg_relation_filenode","pg_relation_filepath","pg_relation_size","pg_reload_conf","pg_replication_origin_create","pg_replication_origin_drop","pg_replication_origin_oid","pg_replication_origin_progress","pg_replication_origin_session_is_setup","pg_replication_origin_session_progress","pg_replication_origin_session_reset","pg_replication_origin_session_setup","pg_replication_origin_xact_reset","pg_replication_origin_xact_setup","pg_rotate_logfile","pg_size_bytes","pg_size_pretty","pg_sleep","pg_sleep_for","pg_sleep_until","pg_start_backup","pg_stat_file","pg_stop_backup","pg_switch_xlog","pg_table_is_visible","pg_table_size","pg_tablespace_databases","pg_tablespace_location","pg_tablespace_size","pg_total_relation_size","pg_trigger_depth","pg_try_advisory_lock","pg_try_advisory_lock_shared","pg_try_advisory_xact_lock","pg_try_advisory_xact_lock_shared","pg_ts_config_is_visible","pg_ts_dict_is_visible","pg_ts_parser_is_visible","pg_ts_template_is_visible","pg_type_is_visible","pg_typeof","pg_xact_commit_timestamp","pg_xlog_location_diff","pg_xlog_replay_pause","pg_xlog_replay_resume","pg_xlogfile_name","pg_xlogfile_name_offset","phraseto_tsquery","plainto_tsquery","point","polygon","popen","pqserverversion","query_to_xml","querytree","quote_nullable","radius","range_merge","regexp_matches","regexp_split_to_array","regexp_split_to_table","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","right","row_security_active","row_to_json","rpad","scale","set_masklen","setseed","setval","setweight","shobj_description","sind","sprintf","statement_timestamp","stddev","string_agg","string_to_array","strip","substr","table_to_xml","table_to_xml_and_xmlschema","tand","text","to_json","to_regclass","to_regnamespace","to_regoper","to_regoperator","to_regproc","to_regprocedure","to_regrole","to_regtype","to_tsquery","to_tsvector","transaction_timestamp","ts_debug","ts_delete","ts_filter","ts_headline","ts_lexize","ts_parse","ts_rank","ts_rank_cd","ts_rewrite","ts_stat","ts_token_type","tsquery_phrase","tsvector_to_array","tsvector_update_trigger","tsvector_update_trigger_column","txid_current","txid_current_snapshot","txid_snapshot_xip","txid_snapshot_xmax","txid_snapshot_xmin","txid_visible_in_snapshot","unnest","upper_inc","upper_inf","variance","width","width_bucket","xml_is_well_formed","xml_is_well_formed_content","xml_is_well_formed_document","xmlagg","xmlcomment","xmlconcat","xmlelement","xmlexists","xmlforest","xmlparse","xmlpi","xmlroot","xmlserialize","xpath","xpath_exists"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/17.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/17.chunk.js new file mode 100644 index 0000000..1518209 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/17.chunk.js @@ -0,0 +1 @@ +webpackJsonp([17],{"TP/O":function(E,S,e){"use strict";Object.defineProperty(S,"__esModule",{value:!0}),e.d(S,"conf",function(){return T}),e.d(S,"language",function(){return R});var T={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},R={defaultToken:"",tokenPostfix:".redis",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["APPEND","AUTH","BGREWRITEAOF","BGSAVE","BITCOUNT","BITFIELD","BITOP","BITPOS","BLPOP","BRPOP","BRPOPLPUSH","CLIENT","KILL","LIST","GETNAME","PAUSE","REPLY","SETNAME","CLUSTER","ADDSLOTS","COUNT-FAILURE-REPORTS","COUNTKEYSINSLOT","DELSLOTS","FAILOVER","FORGET","GETKEYSINSLOT","INFO","KEYSLOT","MEET","NODES","REPLICATE","RESET","SAVECONFIG","SET-CONFIG-EPOCH","SETSLOT","SLAVES","SLOTS","COMMAND","COUNT","GETKEYS","CONFIG","GET","REWRITE","SET","RESETSTAT","DBSIZE","DEBUG","OBJECT","SEGFAULT","DECR","DECRBY","DEL","DISCARD","DUMP","ECHO","EVAL","EVALSHA","EXEC","EXISTS","EXPIRE","EXPIREAT","FLUSHALL","FLUSHDB","GEOADD","GEOHASH","GEOPOS","GEODIST","GEORADIUS","GEORADIUSBYMEMBER","GETBIT","GETRANGE","GETSET","HDEL","HEXISTS","HGET","HGETALL","HINCRBY","HINCRBYFLOAT","HKEYS","HLEN","HMGET","HMSET","HSET","HSETNX","HSTRLEN","HVALS","INCR","INCRBY","INCRBYFLOAT","KEYS","LASTSAVE","LINDEX","LINSERT","LLEN","LPOP","LPUSH","LPUSHX","LRANGE","LREM","LSET","LTRIM","MGET","MIGRATE","MONITOR","MOVE","MSET","MSETNX","MULTI","PERSIST","PEXPIRE","PEXPIREAT","PFADD","PFCOUNT","PFMERGE","PING","PSETEX","PSUBSCRIBE","PUBSUB","PTTL","PUBLISH","PUNSUBSCRIBE","QUIT","RANDOMKEY","READONLY","READWRITE","RENAME","RENAMENX","RESTORE","ROLE","RPOP","RPOPLPUSH","RPUSH","RPUSHX","SADD","SAVE","SCARD","SCRIPT","FLUSH","LOAD","SDIFF","SDIFFSTORE","SELECT","SETBIT","SETEX","SETNX","SETRANGE","SHUTDOWN","SINTER","SINTERSTORE","SISMEMBER","SLAVEOF","SLOWLOG","SMEMBERS","SMOVE","SORT","SPOP","SRANDMEMBER","SREM","STRLEN","SUBSCRIBE","SUNION","SUNIONSTORE","SWAPDB","SYNC","TIME","TOUCH","TTL","TYPE","UNSUBSCRIBE","UNLINK","UNWATCH","WAIT","WATCH","ZADD","ZCARD","ZCOUNT","ZINCRBY","ZINTERSTORE","ZLEXCOUNT","ZRANGE","ZRANGEBYLEX","ZREVRANGEBYLEX","ZRANGEBYSCORE","ZRANK","ZREM","ZREMRANGEBYLEX","ZREMRANGEBYRANK","ZREMRANGEBYSCORE","ZREVRANGE","ZREVRANGEBYSCORE","ZREVRANK","ZSCORE","ZUNIONSTORE","SCAN","SSCAN","HSCAN","ZSCAN"],operators:[],builtinFunctions:[],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}],[/"/,{token:"string.double",next:"@stringDouble"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],stringDouble:[[/[^"]+/,"string.double"],[/""/,"string.double"],[/"/,{token:"string.double",next:"@pop"}]],scopes:[]}}}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/18.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/18.chunk.js new file mode 100644 index 0000000..0b04a74 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/18.chunk.js @@ -0,0 +1 @@ +webpackJsonp([18],{z9c4:function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),o.d(t,"conf",function(){return i}),o.d(t,"language",function(){return m});var r="undefined"==typeof monaco?self.monaco:monaco,n=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],i={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:">"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+n.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:r.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+n.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:r.languages.IndentAction.Indent}}]},m={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/@@/],[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.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:"@razorInSimpleState.comment"}],[/-->/,"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/AlmToolkit/AlmToolkit/html-resources/dist/19.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/19.chunk.js new file mode 100644 index 0000000..ee27dcd --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/19.chunk.js @@ -0,0 +1 @@ +webpackJsonp([19],{"LlI+":function(e,o,r){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),r.d(o,"conf",function(){return t}),r.d(o,"language",function(){return n});var t={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},n={defaultToken:"",tokenPostfix:".r",roxygen:["@param","@return","@name","@rdname","@examples","@include","@docType","@S3method","@TODO","@aliases","@alias","@assignee","@author","@callGraphDepth","@callGraph","@callGraphPrimitives","@concept","@exportClass","@exportMethod","@exportPattern","@export","@formals","@format","@importClassesFrom","@importFrom","@importMethodsFrom","@import","@keywords","@method","@nord","@note","@references","@seealso","@setClass","@slot","@source","@title","@usage"],constants:["NULL","FALSE","TRUE","NA","Inf","NaN ","NA_integer_","NA_real_","NA_complex_","NA_character_ ","T","F","LETTERS","letters","month.abb","month.name","pi","R.version.string"],keywords:["break","next","return","if","else","for","in","repeat","while","array","category","character","complex","double","function","integer","list","logical","matrix","numeric","vector","data.frame","factor","library","require","attach","detach","source"],special:["\\n","\\r","\\t","\\b","\\a","\\f","\\v","\\'",'\\"',"\\\\"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@numbers"},{include:"@strings"},[/[{}\[\]()]/,"@brackets"],{include:"@operators"},[/#'/,"comment.doc","@roxygen"],[/(^#.*$)/,"comment"],[/\s+/,"white"],[/[,:;]/,"delimiter"],[/@[a-zA-Z]\w*/,"tag"],[/[a-zA-Z]\w*/,{cases:{"@keywords":"keyword","@constants":"constant","@default":"identifier"}}]],roxygen:[[/@\w+/,{cases:{"@roxygen":"tag","@eos":{token:"comment.doc",next:"@pop"},"@default":"comment.doc"}}],[/\s+/,{cases:{"@eos":{token:"comment.doc",next:"@pop"},"@default":"comment.doc"}}],[/.*/,{token:"comment.doc",next:"@pop"}]],numbers:[[/0[xX][0-9a-fA-F]+/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?/,"number"]],operators:[[/<{1,2}-/,"operator"],[/->{1,2}/,"operator"],[/%[^%\s]+%/,"operator"],[/\*\*/,"operator"],[/%%/,"operator"],[/&&/,"operator"],[/\|\|/,"operator"],[/<>/,"operator"],[/[-+=&|!<>^~*/:$]/,"operator"]],strings:[[/'/,"string.escape","@stringBody"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/\\./,{cases:{"@special":"string","@default":"error-token"}}],[/'/,"string.escape","@popall"],[/./,"string"]],dblStringBody:[[/\\./,{cases:{"@special":"string","@default":"error-token"}}],[/"/,"string.escape","@popall"],[/./,"string"]]}}}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/2.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/2.chunk.js new file mode 100644 index 0000000..3ea5e8e --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/2.chunk.js @@ -0,0 +1 @@ +webpackJsonp([2],{"0aNj":function(n,o){function e(n){throw new Error("Cannot find module '"+n+"'.")}e.keys=function(){return[]},e.resolve=e,n.exports=e,e.id="0aNj"}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/20.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/20.chunk.js new file mode 100644 index 0000000..b3946cf --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/20.chunk.js @@ -0,0 +1 @@ +webpackJsonp([20],{rAsP:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),t.d(n,"conf",function(){return s}),t.d(n,"language",function(){return r});var s={comments:{lineComment:"#",blockComment:["'''","'''"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0,markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},r={defaultToken:"",tokenPostfix:".python",keywords:["and","as","assert","break","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","None","not","or","pass","print","raise","return","self","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","True","False","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()]/,"@brackets"],[/@[a-zA-Z]\w*/,"tag"],[/[a-zA-Z]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}]],whitespace:[[/\s+/,"white"],[/(^#.*$)/,"comment"],[/('''.*''')|(""".*""")/,"string"],[/'''.*$/,"string","@endDocString"],[/""".*$/,"string","@endDblDocString"]],endDocString:[[/\\'/,"string"],[/.*'''/,"string","@popall"],[/.*$/,"string"]],endDblDocString:[[/\\"/,"string"],[/.*"""/,"string","@popall"],[/.*$/,"string"]],numbers:[[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/,"number"]],strings:[[/'$/,"string.escape","@popall"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/\\./,"string"],[/'/,"string.escape","@popall"],[/.(?=.*')/,"string"],[/.*\\$/,"string"],[/.*$/,"string","@popall"]],dblStringBody:[[/\\./,"string"],[/"/,"string.escape","@popall"],[/.(?=.*")/,"string"],[/.*\\$/,"string"],[/.*$/,"string","@popall"]]}}}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/21.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/21.chunk.js new file mode 100644 index 0000000..eb33a72 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/21.chunk.js @@ -0,0 +1 @@ +webpackJsonp([21],{uWun:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"conf",function(){return o}),n.d(t,"language",function(){return a});var o={comments:{lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}],folding:{offSide:!0}},a={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:[[/<\?((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/AlmToolkit/AlmToolkit/html-resources/dist/25.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/25.chunk.js new file mode 100644 index 0000000..9fc1a7a --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/25.chunk.js @@ -0,0 +1 @@ +webpackJsonp([25],{wkLx:function(_,e,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),E.d(e,"conf",function(){return t}),E.d(e,"language",function(){return T});var t={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={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["A","ABORT","ABS","ABSENT","ABSOLUTE","ACCESS","ACCORDING","ACTION","ADA","ADD","ADMIN","AFTER","AGGREGATE","ALL","ALLOCATE","ALSO","ALTER","ALWAYS","ANALYSE","ANALYZE","AND","ANY","ARE","ARRAY","ARRAY_AGG","ARRAY_MAX_CARDINALITY","AS","ASC","ASENSITIVE","ASSERTION","ASSIGNMENT","ASYMMETRIC","AT","ATOMIC","ATTRIBUTE","ATTRIBUTES","AUTHORIZATION","AVG","BACKWARD","BASE64","BEFORE","BEGIN","BEGIN_FRAME","BEGIN_PARTITION","BERNOULLI","BETWEEN","BIGINT","BINARY","BIT","BIT_LENGTH","BLOB","BLOCKED","BOM","BOOLEAN","BOTH","BREADTH","BY","C","CACHE","CALL","CALLED","CARDINALITY","CASCADE","CASCADED","CASE","CAST","CATALOG","CATALOG_NAME","CEIL","CEILING","CHAIN","CHAR","CHARACTER","CHARACTERISTICS","CHARACTERS","CHARACTER_LENGTH","CHARACTER_SET_CATALOG","CHARACTER_SET_NAME","CHARACTER_SET_SCHEMA","CHAR_LENGTH","CHECK","CHECKPOINT","CLASS","CLASS_ORIGIN","CLOB","CLOSE","CLUSTER","COALESCE","COBOL","COLLATE","COLLATION","COLLATION_CATALOG","COLLATION_NAME","COLLATION_SCHEMA","COLLECT","COLUMN","COLUMNS","COLUMN_NAME","COMMAND_FUNCTION","COMMAND_FUNCTION_CODE","COMMENT","COMMENTS","COMMIT","COMMITTED","CONCURRENTLY","CONDITION","CONDITION_NUMBER","CONFIGURATION","CONFLICT","CONNECT","CONNECTION","CONNECTION_NAME","CONSTRAINT","CONSTRAINTS","CONSTRAINT_CATALOG","CONSTRAINT_NAME","CONSTRAINT_SCHEMA","CONSTRUCTOR","CONTAINS","CONTENT","CONTINUE","CONTROL","CONVERSION","CONVERT","COPY","CORR","CORRESPONDING","COST","COUNT","COVAR_POP","COVAR_SAMP","CREATE","CROSS","CSV","CUBE","CUME_DIST","CURRENT","CURRENT_CATALOG","CURRENT_DATE","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_ROW","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CURSOR_NAME","CYCLE","DATA","DATABASE","DATALINK","DATE","DATETIME_INTERVAL_CODE","DATETIME_INTERVAL_PRECISION","DAY","DB","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFAULTS","DEFERRABLE","DEFERRED","DEFINED","DEFINER","DEGREE","DELETE","DELIMITER","DELIMITERS","DENSE_RANK","DEPENDS","DEPTH","DEREF","DERIVED","DESC","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DICTIONARY","DISABLE","DISCARD","DISCONNECT","DISPATCH","DISTINCT","DLNEWCOPY","DLPREVIOUSCOPY","DLURLCOMPLETE","DLURLCOMPLETEONLY","DLURLCOMPLETEWRITE","DLURLPATH","DLURLPATHONLY","DLURLPATHWRITE","DLURLSCHEME","DLURLSERVER","DLVALUE","DO","DOCUMENT","DOMAIN","DOUBLE","DROP","DYNAMIC","DYNAMIC_FUNCTION","DYNAMIC_FUNCTION_CODE","EACH","ELEMENT","ELSE","EMPTY","ENABLE","ENCODING","ENCRYPTED","END","END-EXEC","END_FRAME","END_PARTITION","ENFORCED","ENUM","EQUALS","ESCAPE","EVENT","EVERY","EXCEPT","EXCEPTION","EXCLUDE","EXCLUDING","EXCLUSIVE","EXEC","EXECUTE","EXISTS","EXP","EXPLAIN","EXPRESSION","EXTENSION","EXTERNAL","EXTRACT","FALSE","FAMILY","FETCH","FILE","FILTER","FINAL","FIRST","FIRST_VALUE","FLAG","FLOAT","FLOOR","FOLLOWING","FOR","FORCE","FOREIGN","FORTRAN","FORWARD","FOUND","FRAME_ROW","FREE","FREEZE","FROM","FS","FULL","FUNCTION","FUNCTIONS","FUSION","G","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRANTED","GREATEST","GROUP","GROUPING","GROUPS","HANDLER","HAVING","HEADER","HEX","HIERARCHY","HOLD","HOUR","ID","IDENTITY","IF","IGNORE","ILIKE","IMMEDIATE","IMMEDIATELY","IMMUTABLE","IMPLEMENTATION","IMPLICIT","IMPORT","IN","INCLUDING","INCREMENT","INDENT","INDEX","INDEXES","INDICATOR","INHERIT","INHERITS","INITIALLY","INLINE","INNER","INOUT","INPUT","INSENSITIVE","INSERT","INSTANCE","INSTANTIABLE","INSTEAD","INT","INTEGER","INTEGRITY","INTERSECT","INTERSECTION","INTERVAL","INTO","INVOKER","IS","ISNULL","ISOLATION","JOIN","K","KEY","KEY_MEMBER","KEY_TYPE","LABEL","LAG","LANGUAGE","LARGE","LAST","LAST_VALUE","LATERAL","LEAD","LEADING","LEAKPROOF","LEAST","LEFT","LENGTH","LEVEL","LIBRARY","LIKE","LIKE_REGEX","LIMIT","LINK","LISTEN","LN","LOAD","LOCAL","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKED","LOGGED","LOWER","M","MAP","MAPPING","MATCH","MATCHED","MATERIALIZED","MAX","MAXVALUE","MAX_CARDINALITY","MEMBER","MERGE","MESSAGE_LENGTH","MESSAGE_OCTET_LENGTH","MESSAGE_TEXT","METHOD","MIN","MINUTE","MINVALUE","MOD","MODE","MODIFIES","MODULE","MONTH","MORE","MOVE","MULTISET","MUMPS","NAME","NAMES","NAMESPACE","NATIONAL","NATURAL","NCHAR","NCLOB","NESTING","NEW","NEXT","NFC","NFD","NFKC","NFKD","NIL","NO","NONE","NORMALIZE","NORMALIZED","NOT","NOTHING","NOTIFY","NOTNULL","NOWAIT","NTH_VALUE","NTILE","NULL","NULLABLE","NULLIF","NULLS","NUMBER","NUMERIC","OBJECT","OCCURRENCES_REGEX","OCTETS","OCTET_LENGTH","OF","OFF","OFFSET","OIDS","OLD","ON","ONLY","OPEN","OPERATOR","OPTION","OPTIONS","OR","ORDER","ORDERING","ORDINALITY","OTHERS","OUT","OUTER","OUTPUT","OVER","OVERLAPS","OVERLAY","OVERRIDING","OWNED","OWNER","P","PAD","PARALLEL","PARAMETER","PARAMETER_MODE","PARAMETER_NAME","PARAMETER_ORDINAL_POSITION","PARAMETER_SPECIFIC_CATALOG","PARAMETER_SPECIFIC_NAME","PARAMETER_SPECIFIC_SCHEMA","PARSER","PARTIAL","PARTITION","PASCAL","PASSING","PASSTHROUGH","PASSWORD","PATH","PERCENT","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","PERIOD","PERMISSION","PLACING","PLANS","PLI","POLICY","PORTION","POSITION","POSITION_REGEX","POWER","PRECEDES","PRECEDING","PRECISION","PREPARE","PREPARED","PRESERVE","PRIMARY","PRIOR","PRIVILEGES","PROCEDURAL","PROCEDURE","PROGRAM","PUBLIC","QUOTE","RANGE","RANK","READ","READS","REAL","REASSIGN","RECHECK","RECOVERY","RECURSIVE","REF","REFERENCES","REFERENCING","REFRESH","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REINDEX","RELATIVE","RELEASE","RENAME","REPEATABLE","REPLACE","REPLICA","REQUIRING","RESET","RESPECT","RESTART","RESTORE","RESTRICT","RESULT","RETURN","RETURNED_CARDINALITY","RETURNED_LENGTH","RETURNED_OCTET_LENGTH","RETURNED_SQLSTATE","RETURNING","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROLLUP","ROUTINE","ROUTINE_CATALOG","ROUTINE_NAME","ROUTINE_SCHEMA","ROW","ROWS","ROW_COUNT","ROW_NUMBER","RULE","SAVEPOINT","SCALE","SCHEMA","SCHEMA_NAME","SCOPE","SCOPE_CATALOG","SCOPE_NAME","SCOPE_SCHEMA","SCROLL","SEARCH","SECOND","SECTION","SECURITY","SELECT","SELECTIVE","SELF","SENSITIVE","SEQUENCE","SEQUENCES","SERIALIZABLE","SERVER","SERVER_NAME","SESSION","SESSION_USER","SET","SETOF","SETS","SHARE","SHOW","SIMILAR","SIMPLE","SIZE","SKIP","SMALLINT","SNAPSHOT","SOME","SOURCE","SPACE","SPECIFIC","SPECIFICTYPE","SPECIFIC_NAME","SQL","SQLCODE","SQLERROR","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQRT","STABLE","STANDALONE","START","STATE","STATEMENT","STATIC","STATISTICS","STDDEV_POP","STDDEV_SAMP","STDIN","STDOUT","STORAGE","STRICT","STRIP","STRUCTURE","STYLE","SUBCLASS_ORIGIN","SUBMULTISET","SUBSTRING","SUBSTRING_REGEX","SUCCEEDS","SUM","SYMMETRIC","SYSID","SYSTEM","SYSTEM_TIME","SYSTEM_USER","T","TABLE","TABLES","TABLESAMPLE","TABLESPACE","TABLE_NAME","TEMP","TEMPLATE","TEMPORARY","TEXT","THEN","TIES","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TOKEN","TOP_LEVEL_COUNT","TRAILING","TRANSACTION","TRANSACTIONS_COMMITTED","TRANSACTIONS_ROLLED_BACK","TRANSACTION_ACTIVE","TRANSFORM","TRANSFORMS","TRANSLATE","TRANSLATE_REGEX","TRANSLATION","TREAT","TRIGGER","TRIGGER_CATALOG","TRIGGER_NAME","TRIGGER_SCHEMA","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRUSTED","TYPE","TYPES","UESCAPE","UNBOUNDED","UNCOMMITTED","UNDER","UNENCRYPTED","UNION","UNIQUE","UNKNOWN","UNLINK","UNLISTEN","UNLOGGED","UNNAMED","UNNEST","UNTIL","UNTYPED","UPDATE","UPPER","URI","USAGE","USER","USER_DEFINED_TYPE_CATALOG","USER_DEFINED_TYPE_CODE","USER_DEFINED_TYPE_NAME","USER_DEFINED_TYPE_SCHEMA","USING","VACUUM","VALID","VALIDATE","VALIDATOR","VALUE","VALUES","VALUE_OF","VARBINARY","VARCHAR","VARIADIC","VARYING","VAR_POP","VAR_SAMP","VERBOSE","VERSION","VERSIONING","VIEW","VIEWS","VOLATILE","WHEN","WHENEVER","WHERE","WHITESPACE","WIDTH_BUCKET","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","XML","XMLAGG","XMLATTRIBUTES","XMLBINARY","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDECLARATION","XMLDOCUMENT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLITERATE","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSCHEMA","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","YEAR","YES","ZONE"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["abbrev","abs","acos","acosd","age","any","area","array_agg","array_append","array_cat","array_dims","array_fill","array_length","array_lower","array_ndims","array_position","array_positions","array_prepend","array_remove","array_replace","array_to_json","array_to_string","array_to_tsvector","array_upper","ascii","asin","asind","atan","atan2","atan2d","atand","avg","bit","bit_and","bit_length","bit_or","bool_and","bool_or","bound_box","box","brin_summarize_new_values","broadcast","btrim","cardinality","cbrt","ceil","ceiling","center","char_length","character_length","chr","circle","clock_timestamp","coalesce","col_description","concat","concat_ws","convert","convert_from","convert_to","corr","cos","cosd","cot","cotd","count","covar_pop","covar_samp","cume_dist","current_catalog","current_database","current_date","current_query","current_role","current_schema","current_schemas","current_setting","current_time","current_timestamp","current_user","currval","cursor_to_xml","date_part","date_trunc","decode","degrees","dense_rank","diameter","div","encode","enum_first","enum_last","enum_range","every","exp","extract","family","first_value","floor","format","format_type","generate_series","generate_subscripts","get_bit","get_byte","get_current_ts_config","gin_clean_pending_list","greatest","grouping","has_any_column_privilege","has_column_privilege","has_database_privilege","has_foreign_data_wrapper_privilege","has_function_privilege","has_language_privilege","has_schema_privilege","has_sequence_privilege","has_server_privilege","has_table_privilege","has_tablespace_privilege","has_type_privilege","height","host","hostmask","inet_client_addr","inet_client_port","inet_merge","inet_same_family","inet_server_addr","inet_server_port","initcap","isclosed","isempty","isfinite","isopen","json_agg","json_object","json_object_agg","json_populate_record","json_populate_recordset","json_to_record","json_to_recordset","jsonb_agg","jsonb_object_agg","justify_days","justify_hours","justify_interval","lag","last_value","lastval","lead","least","left","length","line","ln","localtime","localtimestamp","log","lower","lower_inc","lower_inf","lpad","lseg","ltrim","make_date","make_interval","make_time","make_timestamp","make_timestamptz","masklen","max","md5","min","mod","mode","netmask","network","nextval","now","npoints","nth_value","ntile","nullif","num_nonnulls","num_nulls","numnode","obj_description","octet_length","overlay","parse_ident","path","pclose","percent_rank","percentile_cont","percentile_disc","pg_advisory_lock","pg_advisory_lock_shared","pg_advisory_unlock","pg_advisory_unlock_all","pg_advisory_unlock_shared","pg_advisory_xact_lock","pg_advisory_xact_lock_shared","pg_backend_pid","pg_backup_start_time","pg_blocking_pids","pg_cancel_backend","pg_client_encoding","pg_collation_is_visible","pg_column_size","pg_conf_load_time","pg_control_checkpoint","pg_control_init","pg_control_recovery","pg_control_system","pg_conversion_is_visible","pg_create_logical_replication_slot","pg_create_physical_replication_slot","pg_create_restore_point","pg_current_xlog_flush_location","pg_current_xlog_insert_location","pg_current_xlog_location","pg_database_size","pg_describe_object","pg_drop_replication_slot","pg_export_snapshot","pg_filenode_relation","pg_function_is_visible","pg_get_constraintdef","pg_get_expr","pg_get_function_arguments","pg_get_function_identity_arguments","pg_get_function_result","pg_get_functiondef","pg_get_indexdef","pg_get_keywords","pg_get_object_address","pg_get_owned_sequence","pg_get_ruledef","pg_get_serial_sequence","pg_get_triggerdef","pg_get_userbyid","pg_get_viewdef","pg_has_role","pg_identify_object","pg_identify_object_as_address","pg_index_column_has_property","pg_index_has_property","pg_indexam_has_property","pg_indexes_size","pg_is_in_backup","pg_is_in_recovery","pg_is_other_temp_schema","pg_is_xlog_replay_paused","pg_last_committed_xact","pg_last_xact_replay_timestamp","pg_last_xlog_receive_location","pg_last_xlog_replay_location","pg_listening_channels","pg_logical_emit_message","pg_logical_slot_get_binary_changes","pg_logical_slot_get_changes","pg_logical_slot_peek_binary_changes","pg_logical_slot_peek_changes","pg_ls_dir","pg_my_temp_schema","pg_notification_queue_usage","pg_opclass_is_visible","pg_operator_is_visible","pg_opfamily_is_visible","pg_options_to_table","pg_postmaster_start_time","pg_read_binary_file","pg_read_file","pg_relation_filenode","pg_relation_filepath","pg_relation_size","pg_reload_conf","pg_replication_origin_create","pg_replication_origin_drop","pg_replication_origin_oid","pg_replication_origin_progress","pg_replication_origin_session_is_setup","pg_replication_origin_session_progress","pg_replication_origin_session_reset","pg_replication_origin_session_setup","pg_replication_origin_xact_reset","pg_replication_origin_xact_setup","pg_rotate_logfile","pg_size_bytes","pg_size_pretty","pg_sleep","pg_sleep_for","pg_sleep_until","pg_start_backup","pg_stat_file","pg_stop_backup","pg_switch_xlog","pg_table_is_visible","pg_table_size","pg_tablespace_databases","pg_tablespace_location","pg_tablespace_size","pg_terminate_backend","pg_total_relation_size","pg_trigger_depth","pg_try_advisory_lock","pg_try_advisory_lock_shared","pg_try_advisory_xact_lock","pg_try_advisory_xact_lock_shared","pg_ts_config_is_visible","pg_ts_dict_is_visible","pg_ts_parser_is_visible","pg_ts_template_is_visible","pg_type_is_visible","pg_typeof","pg_xact_commit_timestamp","pg_xlog_location_diff","pg_xlog_replay_pause","pg_xlog_replay_resume","pg_xlogfile_name","pg_xlogfile_name_offset","phraseto_tsquery","pi","plainto_tsquery","point","polygon","popen","position","power","pqserverversion","query_to_xml","querytree","quote_ident","quote_literal","quote_nullable","radians","radius","random","range_merge","rank","regexp_matches","regexp_replace","regexp_split_to_array","regexp_split_to_table","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","repeat","replace","reverse","right","round","row_number","row_security_active","row_to_json","rpad","rtrim","scale","session_user","set_bit","set_byte","set_config","set_masklen","setseed","setval","setweight","shobj_description","sign","sin","sind","split_part","sprintf","sqrt","statement_timestamp","stddev","stddev_pop","stddev_samp","string_agg","string_to_array","strip","strpos","substr","substring","sum","table_to_xml","table_to_xml_and_xmlschema","tan","tand","text","timeofday","timezone","to_ascii","to_char","to_date","to_hex","to_json","to_number","to_regclass","to_regnamespace","to_regoper","to_regoperator","to_regproc","to_regprocedure","to_regrole","to_regtype","to_timestamp","to_tsquery","to_tsvector","transaction_timestamp","translate","trim","trunc","ts_debug","ts_delete","ts_filter","ts_headline","ts_lexize","ts_parse","ts_rank","ts_rank_cd","ts_rewrite","ts_stat","ts_token_type","tsquery_phrase","tsvector_to_array","tsvector_update_trigger","tsvector_update_trigger_column","txid_current","txid_current_snapshot","txid_snapshot_xip","txid_snapshot_xmax","txid_snapshot_xmin","txid_visible_in_snapshot","unnest","upper","upper_inc","upper_inf","user","var_pop","var_samp","variance","version","width","width_bucket","xml_is_well_formed","xml_is_well_formed_content","xml_is_well_formed_document","xmlagg","xmlcomment","xmlconcat","xmlelement","xmlexists","xmlforest","xmlparse","xmlpi","xmlroot","xmlserialize","xpath","xpath_exists"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/26.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/26.chunk.js new file mode 100644 index 0000000..9852858 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/26.chunk.js @@ -0,0 +1 @@ +webpackJsonp([26],{nMQi:function(e,n,o){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),o.d(n,"conf",function(){return t}),o.d(n,"language",function(){return s});var t={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:"'"}]},s={defaultToken:"",tokenPostfix:".objective-c",keywords:["#import","#include","#define","#else","#endif","#if","#ifdef","#ifndef","#ident","#undef","@class","@defs","@dynamic","@encode","@end","@implementation","@interface","@package","@private","@protected","@property","@protocol","@public","@selector","@synthesize","__declspec","assign","auto","BOOL","break","bycopy","byref","case","char","Class","const","copy","continue","default","do","double","else","enum","extern","FALSE","false","float","for","goto","if","in","int","id","inout","IMP","long","nil","nonatomic","NULL","oneway","out","private","public","protected","readwrite","readonly","register","return","SEL","self","short","signed","sizeof","static","struct","super","switch","typedef","TRUE","true","union","unsigned","volatile","void","while"],decpart:/\d(_?\d)*/,decimal:/0|@decpart/,tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()<>]/,"@brackets"],[/[a-zA-Z@#]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}],[/[<>=\\+\\-\\*\\/\\^\\|\\~,]|and\\b|or\\b|not\\b]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[[/0[xX][0-9a-fA-F]*(_?[0-9a-fA-F])*/,"number.hex"],[/@decimal((\.@decpart)?([eE][\-+]?@decpart)?)[fF]*/,{cases:{"(\\d)*":"number",$0:"number.float"}}]],strings:[[/'$/,"string.escape","@popall"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/\\./,"string"],[/'/,"string.escape","@popall"],[/.(?=.*')/,"string"],[/.*\\$/,"string"],[/.*$/,"string","@popall"]],dblStringBody:[[/\\./,"string"],[/"/,"string.escape","@popall"],[/.(?=.*")/,"string"],[/.*\\$/,"string"],[/.*$/,"string","@popall"]]}}}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/27.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/27.chunk.js new file mode 100644 index 0000000..6792171 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/27.chunk.js @@ -0,0 +1 @@ +webpackJsonp([27],{LnLg:function(E,T,S){"use strict";Object.defineProperty(T,"__esModule",{value:!0}),S.d(T,"conf",function(){return R}),S.d(T,"language",function(){return A});var R={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:"'"}]},A={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ACCESSIBLE","ACCOUNT","ACTION","ADD","AFTER","AGAINST","AGGREGATE","ALGORITHM","ALL","ALTER","ALWAYS","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASCII","ASENSITIVE","AT","AUTOEXTEND_SIZE","AUTO_INCREMENT","AVG","AVG_ROW_LENGTH","BACKUP","BEFORE","BEGIN","BETWEEN","BIGINT","BINARY","BINLOG","BIT","BLOB","BLOCK","BOOL","BOOLEAN","BOTH","BTREE","BY","BYTE","CACHE","CALL","CASCADE","CASCADED","CASE","CATALOG_NAME","CHAIN","CHANGE","CHANGED","CHANNEL","CHAR","CHARACTER","CHARSET","CHECK","CHECKSUM","CIPHER","CLASS_ORIGIN","CLIENT","CLOSE","COALESCE","CODE","COLLATE","COLLATION","COLUMN","COLUMNS","COLUMN_FORMAT","COLUMN_NAME","COMMENT","COMMIT","COMMITTED","COMPACT","COMPLETION","COMPRESSED","COMPRESSION","CONCURRENT","CONDITION","CONNECTION","CONSISTENT","CONSTRAINT","CONSTRAINT_CATALOG","CONSTRAINT_NAME","CONSTRAINT_SCHEMA","CONTAINS","CONTEXT","CONTINUE","CONVERT","CPU","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","CURSOR_NAME","DATA","DATABASE","DATABASES","DATAFILE","DATE","DATETIME","DAY","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFAULT_AUTH","DEFINER","DELAYED","DELAY_KEY_WRITE","DELETE","DESC","DESCRIBE","DES_KEY_FILE","DETERMINISTIC","DIAGNOSTICS","DIRECTORY","DISABLE","DISCARD","DISK","DISTINCT","DISTINCTROW","DIV","DO","DOUBLE","DROP","DUAL","DUMPFILE","DUPLICATE","DYNAMIC","EACH","ELSE","ELSEIF","ENABLE","ENCLOSED","ENCRYPTION","END","ENDS","ENGINE","ENGINES","ENUM","ERROR","ERRORS","ESCAPE","ESCAPED","EVENT","EVENTS","EVERY","EXCHANGE","EXECUTE","EXISTS","EXIT","EXPANSION","EXPIRE","EXPLAIN","EXPORT","EXTENDED","EXTENT_SIZE","FALSE","FAST","FAULTS","FETCH","FIELDS","FILE","FILE_BLOCK_SIZE","FILTER","FIRST","FIXED","FLOAT","FLOAT4","FLOAT8","FLUSH","FOLLOWS","FOR","FORCE","FOREIGN","FORMAT","FOUND","FROM","FULL","FULLTEXT","FUNCTION","GENERAL","GENERATED","GEOMETRY","GEOMETRYCOLLECTION","GET","GET_FORMAT","GLOBAL","GRANT","GRANTS","GROUP","GROUP_REPLICATION","HANDLER","HASH","HAVING","HELP","HIGH_PRIORITY","HOST","HOSTS","HOUR","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IDENTIFIED","IF","IGNORE","IGNORE_SERVER_IDS","IMPORT","INDEX","INDEXES","INFILE","INITIAL_SIZE","INNER","INOUT","INSENSITIVE","INSERT","INSERT_METHOD","INSTALL","INSTANCE","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","INTERVAL","INTO","INVOKER","IO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IO_THREAD","IPC","ISOLATION","ISSUER","ITERATE","JOIN","JSON","KEY","KEYS","KEY_BLOCK_SIZE","KILL","LANGUAGE","LAST","LEADING","LEAVE","LEAVES","LEFT","LESS","LEVEL","LIKE","LIMIT","LINEAR","LINES","LINESTRING","LIST","LOAD","LOCAL","LOCALTIME","LOCALTIMESTAMP","LOCK","LOCKS","LOGFILE","LOGS","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","MASTER","MASTER_AUTO_POSITION","MASTER_BIND","MASTER_CONNECT_RETRY","MASTER_DELAY","MASTER_HEARTBEAT_PERIOD","MASTER_HOST","MASTER_LOG_FILE","MASTER_LOG_POS","MASTER_PASSWORD","MASTER_PORT","MASTER_RETRY_COUNT","MASTER_SERVER_ID","MASTER_SSL","MASTER_SSL_CA","MASTER_SSL_CAPATH","MASTER_SSL_CERT","MASTER_SSL_CIPHER","MASTER_SSL_CRL","MASTER_SSL_CRLPATH","MASTER_SSL_KEY","MASTER_SSL_VERIFY_SERVER_CERT","MASTER_TLS_VERSION","MASTER_USER","MATCH","MAXVALUE","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_SIZE","MAX_STATEMENT_TIME","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MEDIUM","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MEMORY","MERGE","MESSAGE_TEXT","MICROSECOND","MIDDLEINT","MIGRATE","MINUTE","MINUTE_MICROSECOND","MINUTE_SECOND","MIN_ROWS","MOD","MODE","MODIFIES","MODIFY","MONTH","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","MUTEX","MYSQL_ERRNO","NAME","NAMES","NATIONAL","NATURAL","NCHAR","NDB","NDBCLUSTER","NEVER","NEW","NEXT","NO","NODEGROUP","NONBLOCKING","NONE","NO_WAIT","NO_WRITE_TO_BINLOG","NUMBER","NUMERIC","NVARCHAR","OFFSET","OLD_PASSWORD","ON","ONE","ONLY","OPEN","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OPTIONS","OR","ORDER","OUT","OUTER","OUTFILE","OWNER","PACK_KEYS","PAGE","PARSER","PARSE_GCOL_EXPR","PARTIAL","PARTITION","PARTITIONING","PARTITIONS","PASSWORD","PHASE","PLUGIN","PLUGINS","PLUGIN_DIR","POINT","POLYGON","PORT","PRECEDES","PRECISION","PREPARE","PRESERVE","PREV","PRIMARY","PRIVILEGES","PROCEDURE","PROCESSLIST","PROFILE","PROFILES","PROXY","PURGE","QUARTER","QUERY","QUICK","RANGE","READ","READS","READ_ONLY","READ_WRITE","REAL","REBUILD","RECOVER","REDOFILE","REDO_BUFFER_SIZE","REDUNDANT","REFERENCES","REGEXP","RELAY","RELAYLOG","RELAY_LOG_FILE","RELAY_LOG_POS","RELAY_THREAD","RELEASE","RELOAD","REMOVE","RENAME","REORGANIZE","REPAIR","REPEAT","REPEATABLE","REPLACE","REPLICATE_DO_DB","REPLICATE_DO_TABLE","REPLICATE_IGNORE_DB","REPLICATE_IGNORE_TABLE","REPLICATE_REWRITE_DB","REPLICATE_WILD_DO_TABLE","REPLICATE_WILD_IGNORE_TABLE","REPLICATION","REQUIRE","RESET","RESIGNAL","RESTORE","RESTRICT","RESUME","RETURN","RETURNED_SQLSTATE","RETURNS","REVERSE","REVOKE","RIGHT","RLIKE","ROLLBACK","ROLLUP","ROTATE","ROUTINE","ROW","ROWS","ROW_COUNT","ROW_FORMAT","RTREE","SAVEPOINT","SCHEDULE","SCHEMA","SCHEMAS","SCHEMA_NAME","SECOND","SECOND_MICROSECOND","SECURITY","SELECT","SENSITIVE","SEPARATOR","SERIAL","SERIALIZABLE","SERVER","SESSION","SET","SHARE","SHOW","SHUTDOWN","SIGNAL","SIGNED","SIMPLE","SLAVE","SLOW","SMALLINT","SNAPSHOT","SOCKET","SOME","SONAME","SOUNDS","SOURCE","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_AFTER_GTIDS","SQL_AFTER_MTS_GAPS","SQL_BEFORE_GTIDS","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQL_NO_CACHE","SQL_SMALL_RESULT","SQL_THREAD","SQL_TSI_DAY","SQL_TSI_HOUR","SQL_TSI_MINUTE","SQL_TSI_MONTH","SQL_TSI_QUARTER","SQL_TSI_SECOND","SQL_TSI_WEEK","SQL_TSI_YEAR","SSL","STACKED","START","STARTING","STARTS","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STATUS","STOP","STORAGE","STORED","STRAIGHT_JOIN","STRING","SUBCLASS_ORIGIN","SUBJECT","SUBPARTITION","SUBPARTITIONS","SUPER","SUSPEND","SWAPS","SWITCHES","TABLE","TABLES","TABLESPACE","TABLE_CHECKSUM","TABLE_NAME","TEMPORARY","TEMPTABLE","TERMINATED","TEXT","THAN","THEN","TIME","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TINYBLOB","TINYINT","TINYTEXT","TO","TRAILING","TRANSACTION","TRIGGER","TRIGGERS","TRUE","TRUNCATE","TYPE","TYPES","UNCOMMITTED","UNDEFINED","UNDO","UNDOFILE","UNDO_BUFFER_SIZE","UNICODE","UNINSTALL","UNION","UNIQUE","UNKNOWN","UNLOCK","UNSIGNED","UNTIL","UPDATE","UPGRADE","USAGE","USE","USER","USER_RESOURCES","USE_FRM","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALIDATION","VALUE","VALUES","VARBINARY","VARCHAR","VARCHARACTER","VARIABLES","VARYING","VIEW","VIRTUAL","WAIT","WARNINGS","WEEK","WEIGHT_STRING","WHEN","WHERE","WHILE","WITH","WITHOUT","WORK","WRAPPER","WRITE","X509","XA","XID","XML","XOR","YEAR","YEAR_MONTH","ZEROFILL"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","Area","AsBinary","AsWKB","ASCII","ASIN","AsText","AsWKT","ASYMMETRIC_DECRYPT","ASYMMETRIC_DERIVE","ASYMMETRIC_ENCRYPT","ASYMMETRIC_SIGN","ASYMMETRIC_VERIFY","ATAN","ATAN2","ATAN","AVG","BENCHMARK","BIN","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","Buffer","CAST","CEIL","CEILING","Centroid","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","Contains","CONV","CONVERT","CONVERT_TZ","ConvexHull","COS","COT","COUNT","CRC32","CREATE_ASYMMETRIC_PRIV_KEY","CREATE_ASYMMETRIC_PUB_KEY","CREATE_DH_PARAMETERS","CREATE_DIGEST","Crosses","CURDATE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DES_DECRYPT","DES_ENCRYPT","Dimension","Disjoint","Distance","ELT","ENCODE","ENCRYPT","EndPoint","Envelope","Equals","EXP","EXPORT_SET","ExteriorRing","EXTRACT","ExtractValue","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GeomCollFromText","GeometryCollectionFromText","GeomCollFromWKB","GeometryCollectionFromWKB","GeometryCollection","GeometryN","GeometryType","GeomFromText","GeometryFromText","GeomFromWKB","GeometryFromWKB","GET_FORMAT","GET_LOCK","GLength","GREATEST","GROUP_CONCAT","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","InteriorRingN","Intersects","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IsClosed","IsEmpty","ISNULL","IsSimple","JSON_APPEND","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAST_INSERT_ID","LCASE","LEAST","LEFT","LENGTH","LineFromText","LineStringFromText","LineFromWKB","LineStringFromWKB","LineString","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MBRContains","MBRCoveredBy","MBRCovers","MBRDisjoint","MBREqual","MBREquals","MBRIntersects","MBROverlaps","MBRTouches","MBRWithin","MD5","MICROSECOND","MID","MIN","MINUTE","MLineFromText","MultiLineStringFromText","MLineFromWKB","MultiLineStringFromWKB","MOD","MONTH","MONTHNAME","MPointFromText","MultiPointFromText","MPointFromWKB","MultiPointFromWKB","MPolyFromText","MultiPolygonFromText","MPolyFromWKB","MultiPolygonFromWKB","MultiLineString","MultiPoint","MultiPolygon","NAME_CONST","NOT IN","NOW","NULLIF","NumGeometries","NumInteriorRings","NumPoints","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","Overlaps","PASSWORD","PERIOD_ADD","PERIOD_DIFF","PI","Point","PointFromText","PointFromWKB","PointN","PolyFromText","PolygonFromText","PolyFromWKB","PolygonFromWKB","Polygon","POSITION","POW","POWER","PROCEDURE ANALYSE","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","ROUND","ROW_COUNT","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","SRID","ST_Area","ST_AsBinary","ST_AsWKB","ST_AsGeoJSON","ST_AsText","ST_AsWKT","ST_Buffer","ST_Buffer_Strategy","ST_Centroid","ST_Contains","ST_ConvexHull","ST_Crosses","ST_Difference","ST_Dimension","ST_Disjoint","ST_Distance","ST_Distance_Sphere","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_GeoHash","ST_GeomCollFromText","ST_GeometryCollectionFromText","ST_GeomCollFromTxt","ST_GeomCollFromWKB","ST_GeometryCollectionFromWKB","ST_GeometryN","ST_GeometryType","ST_GeomFromGeoJSON","ST_GeomFromText","ST_GeometryFromText","ST_GeomFromWKB","ST_GeometryFromWKB","ST_InteriorRingN","ST_Intersection","ST_Intersects","ST_IsClosed","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_LatFromGeoHash","ST_Length","ST_LineFromText","ST_LineStringFromText","ST_LineFromWKB","ST_LineStringFromWKB","ST_LongFromGeoHash","ST_MakeEnvelope","ST_MLineFromText","ST_MultiLineStringFromText","ST_MLineFromWKB","ST_MultiLineStringFromWKB","ST_MPointFromText","ST_MultiPointFromText","ST_MPointFromWKB","ST_MultiPointFromWKB","ST_MPolyFromText","ST_MultiPolygonFromText","ST_MPolyFromWKB","ST_MultiPolygonFromWKB","ST_NumGeometries","ST_NumInteriorRing","ST_NumInteriorRings","ST_NumPoints","ST_Overlaps","ST_PointFromGeoHash","ST_PointFromText","ST_PointFromWKB","ST_PointN","ST_PolyFromText","ST_PolygonFromText","ST_PolyFromWKB","ST_PolygonFromWKB","ST_Simplify","ST_SRID","ST_StartPoint","ST_SymDifference","ST_Touches","ST_Union","ST_Validate","ST_Within","ST_X","ST_Y","StartPoint","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","Touches","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UpdateXML","UPPER","USER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","Within","X","Y","YEAR","YEARWEEK"],builtinVariables:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{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"],[/#+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}],[/"/,{token:"string.double",next:"@stringDouble"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],stringDouble:[[/[^"]+/,"string.double"],[/""/,"string.double"],[/"/,{token:"string.double",next:"@pop"}]],complexIdentifiers:[[/`/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,"identifier"],[/``/,"identifier"],[/`/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/28.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/28.chunk.js new file mode 100644 index 0000000..8c65e5a --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/28.chunk.js @@ -0,0 +1 @@ +webpackJsonp([28],{"E+87":function(E,T,A){"use strict";Object.defineProperty(T,"__esModule",{value:!0}),A.d(T,"conf",function(){return N}),A.d(T,"language",function(){return e});var N={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"]},{open:"{",close:"}",notIn:["string","comment"]}]},e={defaultToken:"",tokenPostfix:".msdax",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["VAR","RETURN","NOT","EVALUATE","DATATABLE","ORDER","BY","START","AT","DEFINE","MEASURE","ASC","DESC","IN","BOOLEAN","DOUBLE","INTEGER","DATETIME","CURRENCY","STRING"],functions:["CLOSINGBALANCEMONTH","CLOSINGBALANCEQUARTER","CLOSINGBALANCEYEAR","DATEADD","DATESBETWEEN","DATESINPERIOD","DATESMTD","DATESQTD","DATESYTD","ENDOFMONTH","ENDOFQUARTER","ENDOFYEAR","FIRSTDATE","FIRSTNONBLANK","LASTDATE","LASTNONBLANK","NEXTDAY","NEXTMONTH","NEXTQUARTER","NEXTYEAR","OPENINGBALANCEMONTH","OPENINGBALANCEQUARTER","OPENINGBALANCEYEAR","PARALLELPERIOD","PREVIOUSDAY","PREVIOUSMONTH","PREVIOUSQUARTER","PREVIOUSYEAR","SAMEPERIODLASTYEAR","STARTOFMONTH","STARTOFQUARTER","STARTOFYEAR","TOTALMTD","TOTALQTD","TOTALYTD","ADDCOLUMNS","ADDMISSINGITEMS","ALL","ALLEXCEPT","ALLNOBLANKROW","ALLSELECTED","CALCULATE","CALCULATETABLE","CALENDAR","CALENDARAUTO","CROSSFILTER","CROSSJOIN","CURRENTGROUP","DATATABLE","DETAILROWS","DISTINCT","EARLIER","EARLIEST","EXCEPT","FILTER","FILTERS","GENERATE","GENERATEALL","GROUPBY","IGNORE","INTERSECT","ISONORAFTER","KEEPFILTERS","LOOKUPVALUE","NATURALINNERJOIN","NATURALLEFTOUTERJOIN","RELATED","RELATEDTABLE","ROLLUP","ROLLUPADDISSUBTOTAL","ROLLUPGROUP","ROLLUPISSUBTOTAL","ROW","SAMPLE","SELECTCOLUMNS","SUBSTITUTEWITHINDEX","SUMMARIZE","SUMMARIZECOLUMNS","TOPN","TREATAS","UNION","USERELATIONSHIP","VALUES","SUM","SUMX","PATH","PATHCONTAINS","PATHITEM","PATHITEMREVERSE","PATHLENGTH","AVERAGE","AVERAGEA","AVERAGEX","COUNT","COUNTA","COUNTAX","COUNTBLANK","COUNTROWS","COUNTX","DISTINCTCOUNT","DIVIDE","GEOMEAN","GEOMEANX","MAX","MAXA","MAXX","MEDIAN","MEDIANX","MIN","MINA","MINX","PERCENTILE.EXC","PERCENTILE.INC","PERCENTILEX.EXC","PERCENTILEX.INC","PRODUCT","PRODUCTX","RANK.EQ","RANKX","STDEV.P","STDEV.S","STDEVX.P","STDEVX.S","VAR.P","VAR.S","VARX.P","VARX.S","XIRR","XNPV","DATE","DATEDIFF","DATEVALUE","DAY","EDATE","EOMONTH","HOUR","MINUTE","MONTH","NOW","SECOND","TIME","TIMEVALUE","TODAY","WEEKDAY","WEEKNUM","YEAR","YEARFRAC","CONTAINS","CONTAINSROW","CUSTOMDATA","ERROR","HASONEFILTER","HASONEVALUE","ISBLANK","ISCROSSFILTERED","ISEMPTY","ISERROR","ISEVEN","ISFILTERED","ISLOGICAL","ISNONTEXT","ISNUMBER","ISODD","ISSUBTOTAL","ISTEXT","USERNAME","USERPRINCIPALNAME","AND","FALSE","IF","IFERROR","NOT","OR","SWITCH","TRUE","ABS","ACOS","ACOSH","ACOT","ACOTH","ASIN","ASINH","ATAN","ATANH","BETA.DIST","BETA.INV","CEILING","CHISQ.DIST","CHISQ.DIST.RT","CHISQ.INV","CHISQ.INV.RT","COMBIN","COMBINA","CONFIDENCE.NORM","CONFIDENCE.T","COS","COSH","COT","COTH","CURRENCY","DEGREES","EVEN","EXP","EXPON.DIST","FACT","FLOOR","GCD","INT","ISO.CEILING","LCM","LN","LOG","LOG10","MOD","MROUND","ODD","PERMUT","PI","POISSON.DIST","POWER","QUOTIENT","RADIANS","RAND","RANDBETWEEN","ROUND","ROUNDDOWN","ROUNDUP","SIGN","SIN","SINH","SQRT","SQRTPI","TAN","TANH","TRUNC","BLANK","CONCATENATE","CONCATENATEX","EXACT","FIND","FIXED","FORMAT","LEFT","LEN","LOWER","MID","REPLACE","REPT","RIGHT","SEARCH","SUBSTITUTE","TRIM","UNICHAR","UNICODE","UPPER","VALUE"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},[/[;,.]/,"delimiter"],[/[({})]/,"@brackets"],[/[a-z_][a-zA-Z0-9_]*/,{cases:{"@keywords":"keyword","@functions":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/\/\/+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],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"}]]}}}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/29.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/29.chunk.js new file mode 100644 index 0000000..7ad539a --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/29.chunk.js @@ -0,0 +1 @@ +webpackJsonp([29],{C7VQ:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"conf",function(){return o}),n.d(t,"language",function(){return c});var s="attribute.name.html",o={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}},c={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","@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/AlmToolkit/AlmToolkit/html-resources/dist/35.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/35.chunk.js new file mode 100644 index 0000000..97430fc --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/35.chunk.js @@ -0,0 +1 @@ +webpackJsonp([35],{UIna:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"conf",function(){return i}),n.d(t,"language",function(){return m});var a="undefined"==typeof monaco?self.monaco:monaco,r=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],i={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("<(?!(?:"+r.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:a.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+r.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:a.languages.IndentAction.Indent}}]},m={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/AlmToolkit/AlmToolkit/html-resources/dist/36.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/36.chunk.js new file mode 100644 index 0000000..c0cb2d1 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/36.chunk.js @@ -0,0 +1 @@ +webpackJsonp([36],{AZr8:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),t.d(n,"conf",function(){return o}),t.d(n,"language",function(){return s});var o={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:"'"}]},s={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/AlmToolkit/AlmToolkit/html-resources/dist/37.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/37.chunk.js new file mode 100644 index 0000000..9565559 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/37.chunk.js @@ -0,0 +1 @@ +webpackJsonp([37],{gQGc:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),t.d(n,"conf",function(){return s}),t.d(n,"language",function(){return o});var s={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},o={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/AlmToolkit/AlmToolkit/html-resources/dist/38.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/38.chunk.js new file mode 100644 index 0000000..7157850 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/38.chunk.js @@ -0,0 +1 @@ +webpackJsonp([38],{WfTH:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),t.d(n,"conf",function(){return s}),t.d(n,"language",function(){return o});var s={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},o={defaultToken:"",tokenPostfix:".dockerfile",instructions:/FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|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/AlmToolkit/AlmToolkit/html-resources/dist/39.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/39.chunk.js new file mode 100644 index 0000000..f3bd4e0 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/39.chunk.js @@ -0,0 +1 @@ +webpackJsonp([39],{Ej8Q:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"conf",function(){return r}),n.d(t,"language",function(){return i});var r={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:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},i={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/AlmToolkit/AlmToolkit/html-resources/dist/3rdpartylicenses.txt b/AlmToolkit/AlmToolkit/html-resources/dist/3rdpartylicenses.txt new file mode 100644 index 0000000..1d86be0 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/3rdpartylicenses.txt @@ -0,0 +1,391 @@ +monaco-editor@0.12.0 +MIT +The MIT License (MIT) + +Copyright (c) 2016 - present Microsoft Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +cache-loader@1.2.2 +MIT +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +@angular-devkit/build-optimizer@0.3.2 +MIT +The MIT License + +Copyright (c) 2017 Google, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +source-map@0.5.7 +BSD-3-Clause +Copyright (c) 2009-2011, Mozilla Foundation and contributors +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 names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +base64-js@1.3.0 +MIT +The MIT License (MIT) + +Copyright (c) 2014 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +buffer@4.9.1 +MIT +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh, and other contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +node-libs-browser@2.1.0 +MIT +(The MIT License) + +Copyright (c) 2012 Tobias Koppers + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +webpack@3.11.0 +MIT +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +os-browserify@0.3.0 +MIT +The MIT License (MIT) + +Copyright (c) 2017 CoderPuppy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +source-map-support@0.4.18 +MIT +The MIT License (MIT) + +Copyright (c) 2014 Evan Wallace + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +path-browserify@0.0.0 +MIT +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +isarray@1.0.0 +MIT +MIT + +ieee754@1.1.11 +BSD-3-Clause +Copyright (c) 2008, Fair Oaks Labs, Inc. +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 Fair Oaks Labs, Inc. nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +process@0.11.10 +MIT +(The MIT License) + +Copyright (c) 2013 Roman Shtylman + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +@angular/core@5.2.10 +MIT +MIT + +@angular/platform-browser@5.2.10 +MIT +MIT + +@angular/forms@5.2.10 +MIT +MIT + +@angular/common@5.2.10 +MIT +MIT + +@angular/platform-browser-dynamic@5.2.10 +MIT +MIT + +core-js@2.5.6 +MIT +Copyright (c) 2014-2018 Denis Pushkarev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +zone.js@0.8.26 +MIT +The MIT License + +Copyright (c) 2016-2018 Google, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/4.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/4.chunk.js new file mode 100644 index 0000000..1f3c683 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/4.chunk.js @@ -0,0 +1 @@ +webpackJsonp([4],{bYte:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r,i,o,u,a,c,s,f,l,d,g,h,p,m,v,_,b,y,w,k,x,I,S,T,C,M,P=monaco.Promise,E=function(){function e(e){var n=this;this._defaults=e,this._worker=null,this._idleCheckInterval=setInterval(function(){return n._checkIfIdle()},3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(function(){return n._stopWorker()})}return e.prototype._stopWorker=function(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null},e.prototype.dispose=function(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()},e.prototype._checkIfIdle=function(){this._worker&&Date.now()-this._lastUsedTime>12e4&&this._stopWorker()},e.prototype._getClient=function(){return this._lastUsedTime=Date.now(),this._client||(this._worker=monaco.editor.createWebWorker({moduleId:"vs/language/html/htmlWorker",createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._client=this._worker.getProxy()),this._client},e.prototype.getLanguageServiceWorker=function(){for(var e,n,t,r,i,o=this,u=[],a=0;a0&&(i.arguments=t),i},e.is=function(e){var n=e;return A.defined(n)&&A.string(n.title)&&A.string(n.title)}}(c||(c={})),function(e){e.replace=function(e,n){return{range:e,newText:n}},e.insert=function(e,n){return{range:{start:e,end:e},newText:n}},e.del=function(e){return{range:e,newText:""}}}(s||(s={})),function(e){e.create=function(e,n){return{textDocument:e,edits:n}},e.is=function(e){var n=e;return A.defined(n)&&d.is(n.textDocument)&&Array.isArray(n.edits)}}(f||(f={})),function(e){e.create=function(e){return{uri:e}},e.is=function(e){var n=e;return A.defined(n)&&A.string(n.uri)}}(l||(l={})),function(e){e.create=function(e,n){return{uri:e,version:n}},e.is=function(e){var n=e;return A.defined(n)&&A.string(n.uri)&&A.number(n.version)}}(d||(d={})),function(e){e.create=function(e,n,t,r){return{uri:e,languageId:n,version:t,text:r}},e.is=function(e){var n=e;return A.defined(n)&&A.string(n.uri)&&A.string(n.languageId)&&A.number(n.version)&&A.string(n.text)}}(g||(g={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(h||(h={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(p||(p={})),function(e){e.PlainText=1,e.Snippet=2}(m||(m={})),function(e){e.create=function(e){return{label:e}}}(v||(v={})),function(e){e.create=function(e,n){return{items:e||[],isIncomplete:!!n}}}(_||(_={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}}(b||(b={})),function(e){e.create=function(e,n){return n?{label:e,documentation:n}:{label:e}}}(y||(y={})),function(e){e.create=function(e,n){for(var t=[],r=2;r=0;o--){var u=r[o],a=e.offsetAt(u.range.start),c=e.offsetAt(u.range.end);if(!(c<=i))throw new Error("Ovelapping edit");t=t.substring(0,a)+u.newText+t.substring(c,t.length),i=a}return t}}(O||(O={})),function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3}(D||(D={}));var A,W=function(){function e(e,n,t,r){this._uri=e,this._languageId=n,this._version=t,this._content=r,this._lineOffsets=null}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var n=this.offsetAt(e.start),t=this.offsetAt(e.end);return this._content.substring(n,t)}return this._content},e.prototype.update=function(e,n){this._content=e.text,this._version=n,this._lineOffsets=null},e.prototype.getLineOffsets=function(){if(null===this._lineOffsets){for(var e=[],n=this._content,t=!0,r=0;r0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var n=this.getLineOffsets(),t=0,i=n.length;if(0===i)return r.create(0,e);for(;te?i=o:t=o+1}var u=t-1;return r.create(u,e-n[u])},e.prototype.offsetAt=function(e){var n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;var t=n[e.line];return Math.max(Math.min(t+e.character,e.line+1\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},s={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/AlmToolkit/AlmToolkit/html-resources/dist/42.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/42.chunk.js new file mode 100644 index 0000000..bd18fe2 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/42.chunk.js @@ -0,0 +1 @@ +webpackJsonp([42],{WdiG:function(e,n,r){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),r.d(n,"conf",function(){return t}),r.d(n,"language",function(){return s});var t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},s={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:/[=>12e4&&this._stopWorker()},e.prototype._getClient=function(){return this._lastUsedTime=Date.now(),this._client||(this._worker=monaco.editor.createWebWorker({moduleId:"vs/language/css/cssWorker",label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client},e.prototype.getLanguageServiceWorker=function(){for(var e,n,t,r,i,o=this,u=[],a=0;a0&&(i.arguments=t),i},e.is=function(e){var n=e;return F.defined(n)&&F.string(n.title)&&F.string(n.title)}}(c||(c={})),function(e){e.replace=function(e,n){return{range:e,newText:n}},e.insert=function(e,n){return{range:{start:e,end:e},newText:n}},e.del=function(e){return{range:e,newText:""}}}(s||(s={})),function(e){e.create=function(e,n){return{textDocument:e,edits:n}},e.is=function(e){var n=e;return F.defined(n)&&d.is(n.textDocument)&&Array.isArray(n.edits)}}(f||(f={})),function(e){e.create=function(e){return{uri:e}},e.is=function(e){var n=e;return F.defined(n)&&F.string(n.uri)}}(l||(l={})),function(e){e.create=function(e,n){return{uri:e,version:n}},e.is=function(e){var n=e;return F.defined(n)&&F.string(n.uri)&&F.number(n.version)}}(d||(d={})),function(e){e.create=function(e,n,t,r){return{uri:e,languageId:n,version:t,text:r}},e.is=function(e){var n=e;return F.defined(n)&&F.string(n.uri)&&F.string(n.languageId)&&F.number(n.version)&&F.string(n.text)}}(g||(g={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(h||(h={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(p||(p={})),function(e){e.PlainText=1,e.Snippet=2}(m||(m={})),function(e){e.create=function(e){return{label:e}}}(v||(v={})),function(e){e.create=function(e,n){return{items:e||[],isIncomplete:!!n}}}(_||(_={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}}(y||(y={})),function(e){e.create=function(e,n){return n?{label:e,documentation:n}:{label:e}}}(b||(b={})),function(e){e.create=function(e,n){for(var t=[],r=2;r=0;o--){var u=r[o],a=e.offsetAt(u.range.start),c=e.offsetAt(u.range.end);if(!(c<=i))throw new Error("Ovelapping edit");t=t.substring(0,a)+u.newText+t.substring(c,t.length),i=a}return t}}(A||(A={})),function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3}(E||(E={}));var F,W=function(){function e(e,n,t,r){this._uri=e,this._languageId=n,this._version=t,this._content=r,this._lineOffsets=null}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var n=this.offsetAt(e.start),t=this.offsetAt(e.end);return this._content.substring(n,t)}return this._content},e.prototype.update=function(e,n){this._content=e.text,this._version=n,this._lineOffsets=null},e.prototype.getLineOffsets=function(){if(null===this._lineOffsets){for(var e=[],n=this._content,t=!0,r=0;r0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var n=this.getLineOffsets(),t=0,i=n.length;if(0===i)return r.create(0,e);for(;te?i=o:t=o+1}var u=t-1;return r.create(u,e-n[u])},e.prototype.offsetAt=function(e){var n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;var t=n[e.line];return Math.max(Math.min(t+e.character,e.line+1|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}}}}); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/7.chunk.js b/AlmToolkit/AlmToolkit/html-resources/dist/7.chunk.js new file mode 100644 index 0000000..69f19d7 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/7.chunk.js @@ -0,0 +1 @@ +webpackJsonp([7],{dwcb:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"conf",function(){return a}),n.d(t,"language",function(){return o});var a={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["<",">"]],autoClosingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],surroundingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}]},o={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"}],[//).replace("closed",/<(tag)[\s\S]+?<\/\1>/).replace("closing",/\s]*)*?\/?>/).replace(/tag/g,t._tag).getRegex(),t.paragraph=c(t.paragraph).replace("hr",t.hr).replace("heading",t.heading).replace("lheading",t.lheading).replace("tag","<"+t._tag).getRegex(),t.blockquote=c(t.blockquote).replace("paragraph",t.paragraph).getRegex(),t.normal=f({},t),t.gfm=f({},t.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),t.gfm.paragraph=c(t.paragraph).replace("(?!","(?!"+t.gfm.fences.source.replace("\\1","\\2")+"|"+t.list.source.replace("\\1","\\3")+"|").getRegex(),t.tables=f({},t.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),n.rules=t,n.lex=function(e,t){return new n(t).lex(e)},n.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)},n.prototype.token=function(e,n){var i,o,r,s,a,u,l,c,d,h,p;for(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(n&&(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,n),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),this.tokens.push({type:"list_start",ordered:p=(s=r[2]).length>1,start:p?+s:""}),i=!1,h=(r=r[0].match(this.rules.item)).length,c=0;c1&&a.length>1||(e=r.slice(c+1).join("\n")+e,c=h-1)),o=i||/\n\n(?!\s*$)/.test(u),c!==h-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),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&&(r=this.rules.def.exec(e)))e=e.substring(r[0].length),r[3]&&(r[3]=r[3].substring(1,r[3].length-1)),d=r[1].toLowerCase(),this.tokens.links[d]||(this.tokens.links[d]={href:r[2],title:r[3]});else if(n&&(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:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:g,tag:/^|^<\/?[a-zA-Z0-9\-]+(?:"[^"]*"|'[^']*'|\s[^<'">\/\s]*)*?\/?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^_([^\s_](?:[^_]|__)+?[^\s_])_\b|^\*((?:\*\*|[^*])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:g,text:/^[\s\S]+?(?=[\\/g,">").replace(/"/g,""").replace(/'/g,"'")}function l(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function c(e,t){return e=e.source,t=t||"",{replace:function(t,n){return n=(n=n.source||n).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(t,n),this},getRegex:function(){return new RegExp(e,t)}}}function d(e,t){return h[" "+e]||(h[" "+e]=/^[^:]+:\/*[^/]*$/.test(e)?e+"/":e.replace(/[^/]*$/,"")),e=h[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+t:e+t}i._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,i._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,i.autolink=c(i.autolink).replace("scheme",i._scheme).replace("email",i._email).getRegex(),i._inside=/(?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]]|\](?=[^\[]*\]))*/,i._href=/\s*?(?:\s+['"]([\s\S]*?)['"])?\s*/,i.link=c(i.link).replace("inside",i._inside).replace("href",i._href).getRegex(),i.reflink=c(i.reflink).replace("inside",i._inside).getRegex(),i.normal=f({},i),i.pedantic=f({},i.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),i.gfm=f({},i.normal,{escape:c(i.escape).replace("])","~|])").getRegex(),url:c(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",i._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:c(i.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),i.breaks=f({},i.gfm,{br:c(i.br).replace("{2,}","*").getRegex(),text:c(i.gfm.text).replace("{2,}","*").getRegex()}),o.rules=i,o.output=function(e,t,n){return new o(t,n).output(e)},o.prototype.output=function(e){for(var t,n,i,o,r="";e;)if(o=this.rules.escape.exec(e))e=e.substring(o[0].length),r+=o[1];else if(o=this.rules.autolink.exec(e))e=e.substring(o[0].length),i="@"===o[2]?"mailto:"+(n=u(this.mangle(o[1]))):n=u(o[1]),r+=this.renderer.link(i,null,n);else if(this.inLink||!(o=this.rules.url.exec(e))){if(o=this.rules.tag.exec(e))!this.inLink&&/^/i.test(o[0])&&(this.inLink=!1),e=e.substring(o[0].length),r+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(o[0]):u(o[0]):o[0];else if(o=this.rules.link.exec(e))e=e.substring(o[0].length),this.inLink=!0,r+=this.outputLink(o,{href:o[2],title:o[3]}),this.inLink=!1;else if((o=this.rules.reflink.exec(e))||(o=this.rules.nolink.exec(e))){if(e=e.substring(o[0].length),t=(o[2]||o[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){r+=o[0].charAt(0),e=o[0].substring(1)+e;continue}this.inLink=!0,r+=this.outputLink(o,t),this.inLink=!1}else if(o=this.rules.strong.exec(e))e=e.substring(o[0].length),r+=this.renderer.strong(this.output(o[2]||o[1]));else if(o=this.rules.em.exec(e))e=e.substring(o[0].length),r+=this.renderer.em(this.output(o[2]||o[1]));else if(o=this.rules.code.exec(e))e=e.substring(o[0].length),r+=this.renderer.codespan(u(o[2].trim(),!0));else if(o=this.rules.br.exec(e))e=e.substring(o[0].length),r+=this.renderer.br();else if(o=this.rules.del.exec(e))e=e.substring(o[0].length),r+=this.renderer.del(this.output(o[1]));else if(o=this.rules.text.exec(e))e=e.substring(o[0].length),r+=this.renderer.text(u(this.smartypants(o[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else o[0]=this.rules._backpedal.exec(o[0])[0],e=e.substring(o[0].length),"@"===o[2]?i="mailto:"+(n=u(o[0])):(n=u(o[0]),i="www."===o[1]?"http://"+n:n),r+=this.renderer.link(i,null,n);return r},o.prototype.outputLink=function(e,t){var n=u(t.href),i=t.title?u(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,i,this.output(e[1])):this.renderer.image(n,i,u(e[1]))},o.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201c").replace(/"/g,"\u201d").replace(/\.{3}/g,"\u2026"):e},o.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},r.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:u(e,!0))+"\n
\n":"
"+(n?e:u(e,!0))+"\n
"},r.prototype.blockquote=function(e){return"
\n"+e+"
\n"},r.prototype.html=function(e){return e},r.prototype.heading=function(e,t,n){return"'+e+"\n"},r.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},r.prototype.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},r.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},r.prototype.paragraph=function(e){return"

    "+e+"

    \n"},r.prototype.table=function(e,t){return"\n\n"+e+"\n\n"+t+"\n
    \n"},r.prototype.tablerow=function(e){return"\n"+e+"\n"},r.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">")+e+"\n"},r.prototype.strong=function(e){return""+e+""},r.prototype.em=function(e){return""+e+""},r.prototype.codespan=function(e){return""+e+""},r.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},r.prototype.del=function(e){return""+e+""},r.prototype.link=function(e,t,n){if(this.options.sanitize){try{var i=decodeURIComponent(l(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return n}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return n}this.options.baseUrl&&!p.test(e)&&(e=d(this.options.baseUrl,e));var o='
    "+n+""},r.prototype.image=function(e,t,n){this.options.baseUrl&&!p.test(e)&&(e=d(this.options.baseUrl,e));var i=''+n+'":">")},r.prototype.text=function(e){return e},s.prototype.strong=s.prototype.em=s.prototype.codespan=s.prototype.del=s.prototype.text=function(e){return e},s.prototype.link=s.prototype.image=function(e,t,n){return""+n},s.prototype.br=function(){return""},a.parse=function(e,t){return new a(t).parse(e)},a.prototype.parse=function(e){this.inline=new o(e.links,this.options),this.inlineText=new o(e.links,f({},this.options,{renderer:new s})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},a.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,l(this.inlineText.output(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;eAn error occurred:

    "+u(e.message+"",!0)+"
    ";throw e}}g.exec=g,m.options=m.setOptions=function(e){return f(m.defaults,e),m},m.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:"lang-",smartypants:!1,headerPrefix:"",renderer:new r,xhtml:!1,baseUrl:null},m.Parser=a,m.parser=a.parse,m.Renderer=r,m.TextRenderer=s,m.Lexer=n,m.lexer=n.lex,m.InlineLexer=o,m.inlineLexer=o.output,m.parse=m,hx=m}).call(this);var yx=hx;function vx(e){var t=document.createElement(e.inline?"span":"div");return e.className&&(t.className=e.className),t}function bx(e,t){void 0===t&&(t={});var n=vx(t);return function e(t,n,i){var o;if(2===n.type)o=document.createTextNode(n.content);else if(3===n.type)o=document.createElement("b");else if(4===n.type)o=document.createElement("i");else if(5===n.type&&i){var r=document.createElement("a");r.href="#",i.disposeables.push(ra(r,"click",function(e){i.callback(String(n.index),e)})),o=r}else 7===n.type?o=document.createElement("br"):1===n.type&&(o=t);t!==o&&t.appendChild(o),Array.isArray(n.children)&&n.children.forEach(function(t){e(o,t,i)})}(n,function(t){for(var n={type:1,children:[]},i=0,o=n,r=[],s=new _x(e);!s.eos();){var a=s.next(),u="\\"===a&&0!==Mx(s.peek());if(u&&(a=s.next()),u||0===Mx(a)||a!==s.peek())if("\n"===a)2===o.type&&(o=r.pop()),o.children.push({type:7});else if(2!==o.type){var l={type:2,content:a};o.children.push(l),r.push(o),o=l}else o.content+=a;else{s.advance(),2===o.type&&(o=r.pop());var c=Mx(a);if(o.type===c||5===o.type&&6===c)o=r.pop();else{var d={type:c,children:[]};5===c&&(d.index=i,i++),o.children.push(d),r.push(o),o=d}}}return 2===o.type&&(o=r.pop()),n}(),t.actionHandler),n}var _x=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 Mx(e){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}var wx,Cx=Za;!function(e){e[e.INFO=1]="INFO",e[e.WARNING=2]="WARNING",e[e.ERROR=3]="ERROR"}(wx||(wx={}));var Lx={inputBackground:dp.fromHex("#3C3C3C"),inputForeground:dp.fromHex("#CCCCCC"),inputValidationInfoBorder:dp.fromHex("#55AAFF"),inputValidationInfoBackground:dp.fromHex("#063B49"),inputValidationWarningBorder:dp.fromHex("#B89500"),inputValidationWarningBackground:dp.fromHex("#352A05"),inputValidationErrorBorder:dp.fromHex("#BE1100"),inputValidationErrorBackground:dp.fromHex("#5A1D1D")},Nx=function(e){function t(t,n,i){var o=e.call(this)||this;o.state="idle",o._onDidChange=o._register(new zt),o.onDidChange=o._onDidChange.event,o._onDidHeightChange=o._register(new zt),o.onDidHeightChange=o._onDidHeightChange.event,o.contextViewProvider=n,o.options=i||Object.create(null),Or(o.options,Lx,!1),o.message=null,o.cachedHeight=null,o.placeholder=o.options.placeholder||"",o.ariaLabel=o.options.ariaLabel||"",o.inputBackground=o.options.inputBackground,o.inputForeground=o.options.inputForeground,o.inputBorder=o.options.inputBorder,o.inputValidationInfoBorder=o.options.inputValidationInfoBorder,o.inputValidationInfoBackground=o.options.inputValidationInfoBackground,o.inputValidationWarningBorder=o.options.inputValidationWarningBorder,o.inputValidationWarningBackground=o.options.inputValidationWarningBackground,o.inputValidationErrorBorder=o.options.inputValidationErrorBorder,o.inputValidationErrorBackground=o.options.inputValidationErrorBackground,o.options.validationOptions&&(o.validation=o.options.validationOptions.validation),o.element=Ba(t,Cx(".monaco-inputbox.idle"));var r=o.options.flexibleHeight?"textarea":"input",s=Ba(o.element,Cx(".wrapper"));return o.input=Ba(s,Cx(r+".input")),o.input.setAttribute("autocorrect","off"),o.input.setAttribute("autocapitalize","off"),o.input.setAttribute("spellcheck","false"),o.onfocus(o.input,function(){return ea(o.element,"synthetic-focus")}),o.onblur(o.input,function(){return ta(o.element,"synthetic-focus")}),o.options.flexibleHeight?o.mirror=Ba(s,Cx("div.mirror")):(o.input.type=o.options.type||"text",o.input.setAttribute("wrap","off")),o.ariaLabel&&o.input.setAttribute("aria-label",o.ariaLabel),o.placeholder&&o.setPlaceHolder(o.placeholder),o.oninput(o.input,function(){return o.onValueChange()}),o.onblur(o.input,function(){return o.onBlur()}),o.onfocus(o.input,function(){return o.onFocus()}),o.placeholder&&Is&&o.onclick(o.input,function(e){Wa.stop(e,!0),o.input.focus()}),setTimeout(function(){o.input&&o.updateMirror()},0),o.options.actions&&(o.actionbar=o._register(new q_(o.element)),o.actionbar.push(o.options.actions,{icon:!0,label:!1})),o.applyStyles(),o}return Object(a.c)(t,e),t.prototype.onBlur=function(){this._hideMessage()},t.prototype.onFocus=function(){this._showMessage()},t.prototype.setPlaceHolder=function(e){this.input&&(this.input.setAttribute("placeholder",e),this.input.title=e)},t.prototype.setAriaLabel=function(e){this.ariaLabel=e,this.input&&(e?this.input.setAttribute("aria-label",this.ariaLabel):this.input.removeAttribute("aria-label"))},Object.defineProperty(t.prototype,"inputElement",{get:function(){return this.input},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this.input.value},set:function(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return null===this.cachedHeight?Ta(this.element):this.cachedHeight},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this.input.focus()},t.prototype.blur=function(){this.input.blur()},t.prototype.hasFocus=function(){return document.activeElement===this.input},t.prototype.select=function(e){void 0===e&&(e=null),this.input.select(),e&&this.input.setSelectionRange(e.start,e.end)},t.prototype.enable=function(){this.input.removeAttribute("disabled")},t.prototype.disable=function(){this.input.disabled=!0,this._hideMessage()},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},Object.defineProperty(t.prototype,"width",{get:function(){return Sa(this.input)},set:function(e){this.input.style.width=e+"px"},enumerable:!0,configurable:!0}),t.prototype.showMessage=function(e,t){this.message=e,ta(this.element,"idle"),ta(this.element,"info"),ta(this.element,"warning"),ta(this.element,"error"),ea(this.element,this.classForType(e.type));var n=this.stylesForType(this.message.type);this.element.style.border=n.border?"1px solid "+n.border:null,CM(e.type===wx.ERROR?Yo("alertErrorMessage","Error: {0}",e.content):e.type===wx.WARNING?Yo("alertWarningMessage","Warning: {0}",e.content):Yo("alertInfoMessage","Info: {0}",e.content)),(this.hasFocus()||t)&&this._showMessage()},t.prototype.hideMessage=function(){this.message=null,ta(this.element,"info"),ta(this.element,"warning"),ta(this.element,"error"),ea(this.element,"idle"),this._hideMessage(),this.applyStyles()},t.prototype.isInputValid=function(){return!!this.validation&&!this.validation(this.value)},t.prototype.validate=function(){var e=null;return this.validation&&((e=this.validation(this.value))?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),!e},t.prototype.stylesForType=function(e){switch(e){case wx.INFO:return{border:this.inputValidationInfoBorder,background:this.inputValidationInfoBackground};case wx.WARNING:return{border:this.inputValidationWarningBorder,background:this.inputValidationWarningBackground};default:return{border:this.inputValidationErrorBorder,background:this.inputValidationErrorBackground}}},t.prototype.classForType=function(e){switch(e){case wx.INFO:return"info";case wx.WARNING:return"warning";default:return"error"}},t.prototype._showMessage=function(){var e=this;if(this.contextViewProvider&&this.message){var t,n=function(){return t.style.width=Sa(e.element)+"px"};this.state="open",this.contextViewProvider.showContextView({getAnchor:function(){return e.element},anchorAlignment:kM.RIGHT,render:function(i){t=Ba(i,Cx(".monaco-inputbox-container")),n();var o={inline:!0,className:"monaco-inputbox-message"},r=e.message.formatContent?bx(e.message.content,o):function(e,t){void 0===t&&(t={});var n=vx(t);return n.textContent=e,n}(e.message.content,o);ea(r,e.classForType(e.message.type));var s=e.stylesForType(e.message.type);return r.style.backgroundColor=s.background?s.background.toString():null,r.style.border=s.border?"1px solid "+s.border:null,Ba(t,r),null},layout:n})}},t.prototype._hideMessage=function(){this.contextViewProvider&&"open"===this.state&&(this.state="idle",this.contextViewProvider.hideContextView())},t.prototype.onValueChange=function(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),"open"===this.state&&this.contextViewProvider.layout()},t.prototype.updateMirror=function(){if(this.mirror){var e=this.value||this.placeholder,t=e.charCodeAt(e.length-1);this.mirror.textContent=e+(10===t?" ":""),this.layout()}},t.prototype.style=function(e){this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.element){var e=this.inputBackground?this.inputBackground.toString():null,t=this.inputForeground?this.inputForeground.toString():null,n=this.inputBorder?this.inputBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.input.style.backgroundColor=e,this.input.style.color=t,this.element.style.borderWidth=n?"1px":null,this.element.style.borderStyle=n?"solid":null,this.element.style.borderColor=n}},t.prototype.layout=function(){if(this.mirror){var e=this.cachedHeight;this.cachedHeight=Ta(this.mirror),e!==this.cachedHeight&&(this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedHeight))}},t.prototype.dispose=function(){this._hideMessage(),this.element=null,this.input=null,this.contextViewProvider=null,this.message=null,this.placeholder=null,this.ariaLabel=null,this.validation=null,this.state=null,this.actionbar=null,e.prototype.dispose.call(this)},t}(bb),Ix=(n("IBAp"),n("Q9Nm"),{inputActiveOptionBorder:dp.fromHex("#007ACC")}),Sx=function(e){function t(t){var n=e.call(this)||this;return n._opts=jr(t),Or(n._opts,Ix,!1),n._checked=n._opts.isChecked,n.domNode=document.createElement("div"),n.domNode.title=n._opts.title,n.domNode.className="monaco-custom-checkbox "+n._opts.actionClassName+" "+(n._checked?"checked":"unchecked"),n.domNode.tabIndex=0,n.domNode.setAttribute("role","checkbox"),n.domNode.setAttribute("aria-checked",String(n._checked)),n.domNode.setAttribute("aria-label",n._opts.title),n.applyStyles(),n.onclick(n.domNode,function(e){n.checked=!n._checked,n._opts.onChange(!1),e.preventDefault()}),n.onkeydown(n.domNode,function(e){if(10===e.keyCode||3===e.keyCode)return n.checked=!n._checked,n._opts.onChange(!0),void e.preventDefault();n._opts.onKeyDown&&n._opts.onKeyDown(e)}),n}return Object(a.c)(t,e),Object.defineProperty(t.prototype,"enabled",{get:function(){return"true"!==this.domNode.getAttribute("aria-disabled")},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this.domNode.focus()},Object.defineProperty(t.prototype,"checked",{get:function(){return this._checked},set:function(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this._checked?this.domNode.classList.add("checked"):this.domNode.classList.remove("checked"),this.applyStyles()},enumerable:!0,configurable:!0}),t.prototype.width=function(){return 22},t.prototype.style=function(e){e.inputActiveOptionBorder&&(this._opts.inputActiveOptionBorder=e.inputActiveOptionBorder),this.applyStyles()},t.prototype.applyStyles=function(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder?this._opts.inputActiveOptionBorder.toString():"transparent")},t.prototype.enable=function(){this.domNode.tabIndex=0,this.domNode.setAttribute("aria-disabled",String(!1))},t.prototype.disable=function(){Qa(this.domNode),this.domNode.setAttribute("aria-disabled",String(!0))},t}(bb),xx=Yo("caseDescription","Match Case"),Dx=Yo("wordsDescription","Match Whole Word"),Tx=Yo("regexDescription","Use Regular Expression"),Ex=function(e){function t(t){return e.call(this,{actionClassName:"monaco-case-sensitive",title:xx+t.appendTitle,isChecked:t.isChecked,onChange:t.onChange,onKeyDown:t.onKeyDown,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return Object(a.c)(t,e),t}(Sx),kx=function(e){function t(t){return e.call(this,{actionClassName:"monaco-whole-word",title:Dx+t.appendTitle,isChecked:t.isChecked,onChange:t.onChange,onKeyDown:t.onKeyDown,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return Object(a.c)(t,e),t}(Sx),jx=function(e){function t(t){return e.call(this,{actionClassName:"monaco-regex",title:Tx+t.appendTitle,isChecked:t.isChecked,onChange:t.onChange,onKeyDown:t.onKeyDown,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return Object(a.c)(t,e),t}(Sx),Ax=Yo("defaultLabel","input"),Ox=function(e){function t(t,n,i){var o=e.call(this)||this;return o._onDidOptionChange=o._register(new zt),o.onDidOptionChange=o._onDidOptionChange.event,o._onKeyDown=o._register(new zt),o.onKeyDown=o._onKeyDown.event,o._onMouseDown=o._register(new zt),o.onMouseDown=o._onMouseDown.event,o._onInput=o._register(new zt),o.onInput=o._onInput.event,o._onKeyUp=o._register(new zt),o.onKeyUp=o._onKeyUp.event,o._onCaseSensitiveKeyDown=o._register(new zt),o.onCaseSensitiveKeyDown=o._onCaseSensitiveKeyDown.event,o._lastHighlightFindOptions=0,o.contextViewProvider=n,o.width=i.width||100,o.placeholder=i.placeholder||"",o.validation=i.validation,o.label=i.label||Ax,o.inputActiveOptionBorder=i.inputActiveOptionBorder,o.inputBackground=i.inputBackground,o.inputForeground=i.inputForeground,o.inputBorder=i.inputBorder,o.inputValidationInfoBorder=i.inputValidationInfoBorder,o.inputValidationInfoBackground=i.inputValidationInfoBackground,o.inputValidationWarningBorder=i.inputValidationWarningBorder,o.inputValidationWarningBackground=i.inputValidationWarningBackground,o.inputValidationErrorBorder=i.inputValidationErrorBorder,o.inputValidationErrorBackground=i.inputValidationErrorBackground,o.regex=null,o.wholeWords=null,o.caseSensitive=null,o.domNode=null,o.inputBox=null,o.buildDomNode(i.appendCaseSensitiveLabel||"",i.appendWholeWordsLabel||"",i.appendRegexLabel||""),Boolean(t)&&t.appendChild(o.domNode),o.onkeydown(o.inputBox.inputElement,function(e){return o._onKeyDown.fire(e)}),o.onkeyup(o.inputBox.inputElement,function(e){return o._onKeyUp.fire(e)}),o.oninput(o.inputBox.inputElement,function(e){return o._onInput.fire()}),o.onmousedown(o.inputBox.inputElement,function(e){return o._onMouseDown.fire(e)}),o}return Object(a.c)(t,e),t.prototype.enable=function(){ta(this.domNode,"disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()},t.prototype.disable=function(){ea(this.domNode,"disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},t.prototype.clear=function(){this.clearValidation(),this.setValue(""),this.focus()},t.prototype.setWidth=function(e){this.width=e,this.domNode.style.width=this.width+"px",this.contextViewProvider.layout(),this.setInputWidth()},t.prototype.getValue=function(){return this.inputBox.value},t.prototype.setValue=function(e){this.inputBox.value!==e&&(this.inputBox.value=e)},t.prototype.style=function(e){this.inputActiveOptionBorder=e.inputActiveOptionBorder,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.domNode){var e={inputActiveOptionBorder:this.inputActiveOptionBorder};this.regex.style(e),this.wholeWords.style(e),this.caseSensitive.style(e),this.inputBox.style({inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorBorder:this.inputValidationErrorBorder})}},t.prototype.select=function(){this.inputBox.select()},t.prototype.focus=function(){this.inputBox.focus()},t.prototype.getCaseSensitive=function(){return this.caseSensitive.checked},t.prototype.setCaseSensitive=function(e){this.caseSensitive.checked=e,this.setInputWidth()},t.prototype.getWholeWords=function(){return this.wholeWords.checked},t.prototype.setWholeWords=function(e){this.wholeWords.checked=e,this.setInputWidth()},t.prototype.getRegex=function(){return this.regex.checked},t.prototype.setRegex=function(e){this.regex.checked=e,this.setInputWidth(),this.validate()},t.prototype.focusOnCaseSensitive=function(){this.caseSensitive.focus()},t.prototype.highlightFindOptions=function(){ta(this.domNode,"highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,ea(this.domNode,"highlight-"+this._lastHighlightFindOptions)},t.prototype.setInputWidth=function(){var e=this.width-this.caseSensitive.width()-this.wholeWords.width()-this.regex.width();this.inputBox.width=e},t.prototype.buildDomNode=function(e,t,n){var i=this;this.domNode=document.createElement("div"),this.domNode.style.width=this.width+"px",ea(this.domNode,"monaco-findInput"),this.inputBox=this._register(new Nx(this.domNode,this.contextViewProvider,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation||null},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorBorder:this.inputValidationErrorBorder})),this.regex=this._register(new jx({appendTitle:n,isChecked:!1,onChange:function(e){i._onDidOptionChange.fire(e),e||i.inputBox.focus(),i.setInputWidth(),i.validate()},inputActiveOptionBorder:this.inputActiveOptionBorder})),this.wholeWords=this._register(new kx({appendTitle:t,isChecked:!1,onChange:function(e){i._onDidOptionChange.fire(e),e||i.inputBox.focus(),i.setInputWidth(),i.validate()},inputActiveOptionBorder:this.inputActiveOptionBorder})),this.caseSensitive=this._register(new Ex({appendTitle:e,isChecked:!1,onChange:function(e){i._onDidOptionChange.fire(e),e||i.inputBox.focus(),i.setInputWidth(),i.validate()},onKeyDown:function(e){i._onCaseSensitiveKeyDown.fire(e)},inputActiveOptionBorder:this.inputActiveOptionBorder}));var o=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,function(e){if(e.equals(15)||e.equals(17)||e.equals(9)){var t=o.indexOf(document.activeElement);if(t>=0){var n=void 0;e.equals(17)?n=(t+1)%o.length:e.equals(15)&&(n=0===t?o.length-1:t-1),e.equals(9)?o[t].blur():n>=0&&o[n].focus(),Wa.stop(e,!0)}}}),this.setInputWidth();var r=document.createElement("div");r.className="controls",r.appendChild(this.caseSensitive.domNode),r.appendChild(this.wholeWords.domNode),r.appendChild(this.regex.domNode),this.domNode.appendChild(r)},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}(bb),Px=Yo("label.find","Find"),Rx=Yo("placeholder.find","Find"),zx=Yo("label.previousMatchButton","Previous match"),Wx=Yo("label.nextMatchButton","Next match"),Fx=Yo("label.toggleSelectionFind","Find in selection"),Hx=Yo("label.closeButton","Close"),Bx=Yo("label.replace","Replace"),Vx=Yo("placeholder.replace","Replace"),Yx=Yo("label.replaceButton","Replace"),Zx=Yo("label.replaceAllButton","Replace All"),Ux=Yo("label.toggleReplaceButton","Toggle Replace mode"),Gx=Yo("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",19999),Qx=Yo("label.matchesLocation","{0} of {1}"),Xx=Yo("label.noResults","No Results"),Kx=69,Jx=17+(Kx+3+1)+92+2,qx=function(){return function(e){this.afterLineNumber=e,this.heightInPx=34,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}(),$x=function(e){function t(t,n,i,o,r,s,a){var u=e.call(this)||this;return u._codeEditor=t,u._controller=n,u._state=i,u._contextViewProvider=o,u._keybindingService=r,u._isVisible=!1,u._isReplaceVisible=!1,u._register(u._state.onFindReplaceStateChange(function(e){return u._onStateChanged(e)})),u._buildDomNode(),u._updateButtons(),u._tryUpdateWidgetWidth(),u._register(u._codeEditor.onDidChangeConfiguration(function(e){e.readOnly&&(u._codeEditor.getConfiguration().readOnly&&u._state.change({isReplaceRevealed:!1},!1),u._updateButtons()),e.layoutInfo&&u._tryUpdateWidgetWidth()})),u._register(u._codeEditor.onDidChangeCursorSelection(function(){u._isVisible&&u._updateToggleSelectionFindButton()})),u._register(u._codeEditor.onDidFocusEditor(function(){if(u._isVisible){var e=u._controller.getGlobalBufferTerm();e&&e!==u._state.searchString&&(u._state.change({searchString:e},!0),u._findInput.select())}})),u._findInputFocused=tx.bindTo(s),u._findFocusTracker=u._register(Ha(u._findInput.inputBox.inputElement)),u._register(u._findFocusTracker.onDidFocus(function(){u._findInputFocused.set(!0),u._updateSearchScope()})),u._register(u._findFocusTracker.onDidBlur(function(){u._findInputFocused.set(!1)})),u._replaceInputFocused=nx.bindTo(s),u._replaceFocusTracker=u._register(Ha(u._replaceInputBox.inputElement)),u._register(u._replaceFocusTracker.onDidFocus(function(){u._replaceInputFocused.set(!0),u._updateSearchScope()})),u._register(u._replaceFocusTracker.onDidBlur(function(){u._replaceInputFocused.set(!1)})),u._codeEditor.addOverlayWidget(u),u._viewZone=new qx(0),u._applyTheme(a.getTheme()),u._register(a.onThemeChange(u._applyTheme.bind(u))),u._register(u._codeEditor.onDidChangeModel(function(e){u._isVisible&&void 0!==u._viewZoneId&&u._codeEditor.changeViewZones(function(e){e.removeZone(u._viewZoneId),u._viewZoneId=void 0})})),u._register(u._codeEditor.onDidScrollChange(function(e){e.scrollTopChanged?u._layoutViewZone():setTimeout(function(){u._layoutViewZone()},0)})),u}return Object(a.c)(t,e),t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getPosition=function(){return this._isVisible?{preference:Fn.TOP_RIGHT_CORNER}:null},t.prototype._onStateChanged=function(e){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._replaceInputBox.width=this._findInput.inputBox.width,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._toggleSelectionFind.checked=!!this._state.searchScope,this._updateToggleSelectionFindButton()),(e.searchString||e.matchesCount||e.matchesPosition)&&(na(this._domNode,"no-results",this._state.searchString.length>0&&0===this._state.matchesCount),this._updateMatchesCount()),(e.searchString||e.currentMatch)&&this._layoutViewZone()},t.prototype._updateMatchesCount=function(){var e;if(this._matchesCount.style.minWidth=Kx+"px",this._matchesCount.title=this._state.matchesCount>=19999?Gx:"",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){var t=String(this._state.matchesCount);this._state.matchesCount>=19999&&(t+="+");var n=String(this._state.matchesPosition);"0"===n&&(n="?"),e=Ni(Qx,n,t)}else e=Xx;this._matchesCount.appendChild(document.createTextNode(e)),Kx=Math.max(Kx,this._matchesCount.clientWidth)},t.prototype._updateToggleSelectionFindButton=function(){var e=this._codeEditor.getSelection();this._toggleSelectionFind.setEnabled(this._isVisible&&(this._toggleSelectionFind.checked||!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn)))},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),na(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();this._toggleSelectionFind.checked=!(!n||n.startLineNumber===n.endLineNumber&&n.startColumn===n.endColumn||!this._codeEditor.getConfiguration().contribInfo.find.autoFindInSelection),this._tryUpdateWidgetWidth(),this._updateButtons(),setTimeout(function(){ea(t._domNode,"visible"),t._domNode.setAttribute("aria-hidden","false")},0),this._codeEditor.layoutOverlayWidget(this);var i=!0;if(this._codeEditor.getConfiguration().contribInfo.find.seedSearchStringFromSelection&&n){var o=Na(this._codeEditor.getDomNode()),r=this._codeEditor.getScrolledVisiblePosition(n.getStartPosition()),s=o.left+r.left;if(r.topn.startLineNumber&&(i=!1);var a=La(this._domNode).left;s>a&&(i=!1);var u=this._codeEditor.getScrolledVisiblePosition(n.getEndPosition());o.left+u.left>a&&(i=!1)}}this._showViewZone(i)}},t.prototype._hide=function(e){var t=this;this._isVisible&&(this._isVisible=!1,this._updateButtons(),ta(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._viewZone.heightInPx=e._state.isReplaceRevealed?64:34,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=34;void 0!==t._viewZoneId?(t._state.isReplaceRevealed?(t._viewZone.heightInPx=64,i=30):(t._viewZone.heightInPx=34,i=-30),n.removeZone(t._viewZoneId)):t._viewZone.heightInPx=34,t._viewZoneId=n.addZone(t._viewZone),e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+i)})},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(ef),inputBackground:e.getColor(Jg),inputForeground:e.getColor(qg),inputBorder:e.getColor($g),inputValidationInfoBackground:e.getColor(tf),inputValidationInfoBorder:e.getColor(nf),inputValidationWarningBackground:e.getColor(of),inputValidationWarningBorder:e.getColor(rf),inputValidationErrorBackground:e.getColor(sf),inputValidationErrorBorder:e.getColor(af)};this._findInput.style(t),this._replaceInputBox.style(t)},t.prototype._tryUpdateWidgetWidth=function(){if(this._isVisible){var e=this._codeEditor.getConfiguration().layoutInfo.width,t=this._codeEditor.getConfiguration().layoutInfo.minimapWidth,n=!1,i=!1,o=!1;if(this._resized&&Sa(this._domNode)>411)return this._domNode.style.maxWidth=e-28-t-15+"px",void(this._replaceInputBox.inputElement.style.width=Sa(this._findInput.inputBox.inputElement)+"px");if(439+t>=e&&(i=!0),439+t-Kx>=e&&(o=!0),439+t-Kx>=e+50&&(n=!0),na(this._domNode,"collapsed-find-widget",n),na(this._domNode,"narrow-find-widget",o),na(this._domNode,"reduced-find-widget",i),o||n||(this._domNode.style.maxWidth=e-28-t-15+"px"),this._resized){var r=Sa(this._findInput.inputBox.inputElement);r>0&&(this._replaceInputBox.inputElement.style.width=r+"px")}}},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._updateSearchScope=function(){if(this._toggleSelectionFind.checked){var e=this._codeEditor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,1)),e.startLineNumber!==e.endLineNumber&&(sn.equalsRange(e,this._state.currentMatch)||this._state.change({searchScope:e},!0))}},t.prototype._onFindInputMouseDown=function(e){e.middleButton&&e.stopPropagation()},t.prototype._onFindInputKeyDown=function(e){return e.equals(3)?(this._codeEditor.getAction(lx.NextMatchFindAction).run().done(null,xt),void e.preventDefault()):e.equals(1027)?(this._codeEditor.getAction(lx.PreviousMatchFindAction).run().done(null,xt),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 Ox(null,this._contextViewProvider,{width:221,label:Px,placeholder:Rx,appendCaseSensitiveLabel:this._keybindingLabelFor(lx.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(lx.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(lx.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())})),mn.c&&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 tD({label:zx+this._keybindingLabelFor(lx.PreviousMatchFindAction),className:"previous",onTrigger:function(){e._codeEditor.getAction(lx.PreviousMatchFindAction).run().done(null,xt)}})),this._nextBtn=this._register(new tD({label:Wx+this._keybindingLabelFor(lx.NextMatchFindAction),className:"next",onTrigger:function(){e._codeEditor.getAction(lx.NextMatchFindAction).run().done(null,xt)}}));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 eD({parent:t,title:Fx+this._keybindingLabelFor(lx.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 tD({label:Hx+this._keybindingLabelFor(lx.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 Nx(t,null,{ariaLabel:Bx,placeholder:Vx})),this._register(ra(this._replaceInputBox.inputElement,"keydown",function(t){return e._onReplaceInputKeyDown(t)})),this._register(ra(this._replaceInputBox.inputElement,"input",function(t){e._state.change({replaceString:e._replaceInputBox.value},!1)})),this._replaceBtn=this._register(new tD({label:Yx+this._keybindingLabelFor(lx.ReplaceOneAction),className:"replace",onTrigger:function(){e._controller.replace()},onKeyDown:function(t){t.equals(1026)&&(e._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new tD({label:Zx+this._keybindingLabelFor(lx.ReplaceAllAction),className:"replace-all",onTrigger:function(){e._controller.replaceAll()}}));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 tD({label:Ux,className:"toggle left",onTrigger:function(){e._state.change({isReplaceRevealed:!e._isReplaceVisible},!1),e._isReplaceVisible&&(e._replaceInputBox.width=e._findInput.inputBox.width),e._showViewZone()}})),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="411px",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 v_(this._domNode,this,{orientation:y_.VERTICAL}),this._resized=!1;var t=411;this._register(this._resizeSash.onDidStart(function(n){t=Sa(e._domNode)})),this._register(this._resizeSash.onDidChange(function(n){e._resized=!0;var i=t+n.startX-n.currentX;if(!(i<411)){var o=i-Jx;i>(parseFloat(_a(e._domNode).maxWidth)||0)||(e._domNode.style.width=i+"px",e._isReplaceVisible&&(e._replaceInputBox.width=o))}}))},t.ID="editor.contrib.findWidget",t}(bb),eD=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 Object(a.c)(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}(bb),tD=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&&n._opts.onKeyDown(e)}),n}return Object(a.c)(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){na(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){na(this._domNode,e,t)},t}(bb);wm(function(e,t){function n(e,n){n&&t.addRule(".monaco-editor "+e+" { background-color: "+n+"; }")}n(".findMatch",e.getColor(Ff)),n(".currentFindMatch",e.getColor(Wf)),n(".findScope",e.getColor(Hf)),n(".find-widget",e.getColor(kf));var i=e.getColor(Kg);i&&t.addRule(".monaco-editor .find-widget { box-shadow: 0 2px 8px "+i+"; }");var o=e.getColor(Vf);o&&t.addRule(".monaco-editor .findMatch { border: 1px dotted "+o+"; -moz-box-sizing: border-box; box-sizing: border-box; }");var r=e.getColor(Bf);r&&t.addRule(".monaco-editor .currentFindMatch { border: 2px solid "+r+"; padding: 1px; -moz-box-sizing: border-box; box-sizing: border-box; }");var s=e.getColor(Yf);s&&t.addRule(".monaco-editor .findScope { border: 1px dashed "+s+"; }");var a=e.getColor(Ug);a&&t.addRule(".monaco-editor .find-widget { border: 2px solid "+a+"; }");var u=e.getColor(Yg);u&&t.addRule(".monaco-editor .find-widget.no-results .matchesCount { color: "+u+"; }");var l=e.getColor(jf);l&&t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+l+"; width: 3px !important; margin-left: -4px;}")});var nD=function(e){function t(t,n,i,o){var r=e.call(this)||this;r._hideSoon=r._register(new _s(function(){return r._hide()},2e3)),r._isVisible=!1,r._editor=t,r._state=n,r._keybindingService=i,r._domNode=document.createElement("div"),r._domNode.className="findOptionsWidget",r._domNode.style.display="none",r._domNode.style.top="10px",r._domNode.setAttribute("role","presentation"),r._domNode.setAttribute("aria-hidden","true");var s=o.getTheme().getColor(ef);return r.caseSensitive=r._register(new Ex({appendTitle:r._keybindingLabelFor(lx.ToggleCaseSensitiveCommand),isChecked:r._state.matchCase,onChange:function(e){r._state.change({matchCase:r.caseSensitive.checked},!1)},inputActiveOptionBorder:s})),r._domNode.appendChild(r.caseSensitive.domNode),r.wholeWords=r._register(new kx({appendTitle:r._keybindingLabelFor(lx.ToggleWholeWordCommand),isChecked:r._state.wholeWord,onChange:function(e){r._state.change({wholeWord:r.wholeWords.checked},!1)},inputActiveOptionBorder:s})),r._domNode.appendChild(r.wholeWords.domNode),r.regex=r._register(new jx({appendTitle:r._keybindingLabelFor(lx.ToggleRegexCommand),isChecked:r._state.isRegex,onChange:function(e){r._state.change({isRegex:r.regex.checked},!1)},inputActiveOptionBorder:s})),r._domNode.appendChild(r.regex.domNode),r._editor.addOverlayWidget(r),r._register(r._state.onFindReplaceStateChange(function(e){var t=!1;e.isRegex&&(r.regex.checked=r._state.isRegex,t=!0),e.wholeWord&&(r.wholeWords.checked=r._state.wholeWord,t=!0),e.matchCase&&(r.caseSensitive.checked=r._state.matchCase,t=!0),!r._state.isRevealed&&t&&r._revealTemporarily()})),r._register(sa(r._domNode,function(e){return r._onMouseOut()})),r._register(oa(r._domNode,"mouseover",function(e){return r._onMouseOver()})),r._applyTheme(o.getTheme()),r._register(o.onThemeChange(r._applyTheme.bind(r))),r}return Object(a.c)(t,e),t.prototype._keybindingLabelFor=function(e){var t=this._keybindingService.lookupKeybinding(e);return t?" ("+t.getLabel()+")":""},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},t.prototype.getPosition=function(){return{preference:Fn.TOP_RIGHT_CORNER}},t.prototype.highlightFindOptions=function(){this._revealTemporarily()},t.prototype._revealTemporarily=function(){this._show(),this._hideSoon.schedule()},t.prototype._onMouseOut=function(){this._hideSoon.schedule()},t.prototype._onMouseOver=function(){this._hideSoon.cancel()},t.prototype._show=function(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")},t.prototype._hide=function(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(ef)};this.caseSensitive.style(t),this.wholeWords.style(t),this.regex.style(t)},t.ID="editor.contrib.findOptionsWidget",t}(bb);function iD(e){var t=e.getSelection();if(t.startLineNumber===t.endLineNumber){if(!t.isEmpty())return e.getModel().getValueInRange(t);var n=e.getModel().getWordAtPosition(t.getStartPosition());if(n)return n.word}return null}wm(function(e,t){var n=e.getColor(kf);n&&t.addRule(".monaco-editor .findOptionsWidget { background-color: "+n+"; }");var i=e.getColor(Kg);i&&t.addRule(".monaco-editor .findOptionsWidget { box-shadow: 0 2px 8px "+i+"; }");var o=e.getColor(Ug);o&&t.addRule(".monaco-editor .findOptionsWidget { border: 2px solid "+o+"; }")});var oD=function(e){function t(t,n,i,o){var r=e.call(this)||this;return r._editor=t,r._findWidgetVisible=ex.bindTo(n),r._storageService=i,r._clipboardService=o,r._updateHistoryDelayer=new gs(500),r._currentHistoryNavigator=new QS,r._state=r._register(new px),r.loadQueryState(),r._register(r._state.onFindReplaceStateChange(function(e){return r._onStateChanged(e)})),r._model=null,r._register(r._editor.onDidChangeModel(function(){var e=r._editor.getModel()&&r._state.isRevealed;r.disposeModel(),r._state.change({searchScope:null,matchCase:r._storageService.getBoolean("editor.matchCase",vg.WORKSPACE,!1),wholeWord:r._storageService.getBoolean("editor.wholeWord",vg.WORKSPACE,!1),isRegex:r._storageService.getBoolean("editor.isRegex",vg.WORKSPACE,!1)},!1),e&&r._start({forceRevealReplace:!1,seedSearchStringFromSelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1})})),r}return Object(a.c)(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this.disposeModel(),e.prototype.dispose.call(this)},t.prototype.disposeModel=function(){this._model&&(this._model.dispose(),this._model=null)},t.prototype.getId=function(){return t.ID},t.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())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)},t.prototype.saveQueryState=function(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,vg.WORKSPACE),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,vg.WORKSPACE),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,vg.WORKSPACE)},t.prototype.loadQueryState=function(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",vg.WORKSPACE,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",vg.WORKSPACE,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",vg.WORKSPACE,this._state.isRegex)},!1)},t.prototype._delayedUpdateHistory=function(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this))},t.prototype._updateHistory=function(){this._state.searchString&&this._currentHistoryNavigator.add(this._state.searchString)},t.prototype.getState=function(){return this._state},t.prototype.getHistory=function(){return this._currentHistoryNavigator},t.prototype.closeFindWidget=function(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()},t.prototype.toggleCaseSensitive=function(){this._state.change({matchCase:!this._state.matchCase},!1)},t.prototype.toggleWholeWords=function(){this._state.change({wholeWord:!this._state.wholeWord},!1)},t.prototype.toggleRegex=function(){this._state.change({isRegex:!this._state.isRegex},!1)},t.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)}},t.prototype.setSearchString=function(e){this._state.isRegex&&(e=Si(e)),this._state.change({searchString:e},!1)},t.prototype.highlightFindOptions=function(){},t.prototype._start=function(e){if(this.disposeModel(),this._editor.getModel()){var t,n={isRevealed:!0};e.seedSearchStringFromSelection&&(t=iD(this._editor))&&(n.searchString=this._state.isRegex?Si(t):t),!n.searchString&&e.seedSearchStringFromGlobalClipboard&&(t=this.getGlobalBufferTerm())&&(n.searchString=t),e.forceRevealReplace?n.isReplaceRevealed=!0:this._findWidgetVisible.get()||(n.isReplaceRevealed=!1),this._state.change(n,!1),this._model||(this._model=new cx(this._editor,this._state))}},t.prototype.start=function(e){this._start(e)},t.prototype.moveToNextMatch=function(){return!!this._model&&(this._model.moveToNextMatch(),!0)},t.prototype.moveToPrevMatch=function(){return!!this._model&&(this._model.moveToPrevMatch(),!0)},t.prototype.replace=function(){return!!this._model&&(this._model.replace(),!0)},t.prototype.replaceAll=function(){return!!this._model&&(this._model.replaceAll(),!0)},t.prototype.selectAllMatches=function(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)},t.prototype.showPreviousFindTerm=function(){var e=this._currentHistoryNavigator.previous();return e&&this._state.change({searchString:e},!1,!1),!0},t.prototype.showNextFindTerm=function(){var e=this._currentHistoryNavigator.next();return e&&this._state.change({searchString:e},!1,!1),!0},t.prototype.getGlobalBufferTerm=function(){return this._editor.getConfiguration().contribInfo.find.globalFindClipboard&&this._clipboardService&&!this._editor.getModel().isTooLargeForHavingARichMode()?this._clipboardService.readFindText():""},t.prototype.setGlobalBufferTerm=function(e){this._editor.getConfiguration().contribInfo.find.globalFindClipboard&&this._clipboardService&&!this._editor.getModel().isTooLargeForHavingARichMode()&&this._clipboardService.writeFindText(e)},t.ID="editor.contrib.findController",t=Object(a.b)([Object(a.d)(1,Wo),Object(a.d)(2,wg),Object(a.d)(3,gx)],t)}(Ct),rD=function(e){function t(t,n,i,o,r,s,a){var u=e.call(this,t,i,s,a)||this;return u._contextViewService=n,u._contextKeyService=i,u._keybindingService=o,u._themeService=r,u}return Object(a.c)(t,e),t.prototype._start=function(t){this._widget||this._createFindWidget(),e.prototype._start.call(this,t),2===t.shouldFocus?this._widget.focusReplaceInput():1===t.shouldFocus&&this._widget.focusFindInput()},t.prototype.highlightFindOptions=function(){this._widget||this._createFindWidget(),this._state.isRevealed?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()},t.prototype._createFindWidget=function(){this._widget=this._register(new $x(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService)),this._findOptionsWidget=this._register(new nD(this._editor,this._state,this._keybindingService,this._themeService))},Object(a.b)([Object(a.d)(1,Kn),Object(a.d)(2,Wo),Object(a.d)(3,pi),Object(a.d)(4,mm),Object(a.d)(5,wg),Object(a.d)(6,Xn(gx))],t)}(oD),sD=function(e){function t(){return e.call(this,{id:lx.StartFindAction,label:Yo("startFindAction","Find"),alias:"Find",precondition:null,kbOpts:{kbExpr:null,primary:2084}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=oD.get(t);n&&n.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.globalFindClipboard,shouldFocus:1,shouldAnimate:!0})},t}(Xp),aD=function(e){function t(){return e.call(this,{id:lx.StartFindWithSelection,label:Yo("startFindAction","Find"),alias:"Find",precondition:null,kbOpts:{kbExpr:null,primary:null,mac:{primary:2083}}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=oD.get(t);n&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:!0,seedSearchStringFromGlobalClipboard:!1,shouldFocus:1,shouldAnimate:!0}),n.setGlobalBufferTerm(n.getState().searchString))},t}(Xp),uD=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=oD.get(t);n&&!this._run(n)&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===n.getState().searchString.length&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0}),this._run(n))},t}(Xp),lD=function(e){function t(){return e.call(this,{id:lx.NextMatchFindAction,label:Yo("findNextMatchAction","Find Next"),alias:"Find Next",precondition:null,kbOpts:{kbExpr:wp.focus,primary:61,mac:{primary:2085,secondary:[61]}}})||this}return Object(a.c)(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(uD),cD=function(e){function t(){return e.call(this,{id:lx.PreviousMatchFindAction,label:Yo("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:null,kbOpts:{kbExpr:wp.focus,primary:1085,mac:{primary:3109,secondary:[1085]}}})||this}return Object(a.c)(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(uD),dD=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=oD.get(t);if(n){var i=iD(t);i&&n.setSearchString(i),this._run(n)||(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0}),this._run(n))}},t}(Xp),hD=function(e){function t(){return e.call(this,{id:lx.NextSelectionMatchFindAction,label:Yo("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:null,kbOpts:{kbExpr:wp.focus,primary:2109}})||this}return Object(a.c)(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(dD),pD=function(e){function t(){return e.call(this,{id:lx.PreviousSelectionMatchFindAction,label:Yo("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:null,kbOpts:{kbExpr:wp.focus,primary:3133}})||this}return Object(a.c)(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(dD),gD=function(e){function t(){return e.call(this,{id:lx.StartFindReplaceAction,label:Yo("startReplace","Replace"),alias:"Replace",precondition:null,kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596}}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){if(!t.getConfiguration().readOnly){var n=oD.get(t),i=t.getSelection(),o=!i.isEmpty()&&i.startLineNumber===i.endLineNumber&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,r=n.getState().searchString||o?2:1;n&&n.start({forceRevealReplace:!0,seedSearchStringFromSelection:o,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,shouldFocus:r,shouldAnimate:!0})}},t}(Xp),fD=function(e){function t(){return e.call(this,{id:lx.ShowNextFindTermAction,label:Yo("showNextFindTermAction","Show Next Find Term"),alias:"Show Next Find Term",precondition:ex,kbOpts:{weight:qa.WEIGHT.editorContrib(5),kbExpr:To.and(tx,wp.focus),primary:ux.primary,mac:ux.mac,win:ux.win,linux:ux.linux}})||this}return Object(a.c)(t,e),t.prototype._run=function(e){return e.showNextFindTerm()},t}(uD),mD=function(e){function t(){return e.call(this,{id:lx.ShowPreviousFindTermAction,label:Yo("showPreviousFindTermAction","Show Previous Find Term"),alias:"Find Show Previous Find Term",precondition:ex,kbOpts:{weight:qa.WEIGHT.editorContrib(5),kbExpr:To.and(tx,wp.focus),primary:ax.primary,mac:ax.mac,win:ax.win,linux:ax.linux}})||this}return Object(a.c)(t,e),t.prototype._run=function(e){return e.showPreviousFindTerm()},t}(uD);eg(rD),$p(sD),$p(aD),$p(lD),$p(cD),$p(hD),$p(pD),$p(gD),$p(fD),$p(mD);var yD=Qp.bindToContribution(oD.get);qp(new yD({id:lx.CloseFindWidgetCommand,precondition:ex,handler:function(e){return e.closeFindWidget()},kbOpts:{weight:qa.WEIGHT.editorContrib(5),kbExpr:wp.focus,primary:9,secondary:[1033]}})),qp(new yD({id:lx.ToggleCaseSensitiveCommand,precondition:null,handler:function(e){return e.toggleCaseSensitive()},kbOpts:{weight:qa.WEIGHT.editorContrib(5),kbExpr:wp.focus,primary:ix.primary,mac:ix.mac,win:ix.win,linux:ix.linux}})),qp(new yD({id:lx.ToggleWholeWordCommand,precondition:null,handler:function(e){return e.toggleWholeWords()},kbOpts:{weight:qa.WEIGHT.editorContrib(5),kbExpr:wp.focus,primary:ox.primary,mac:ox.mac,win:ox.win,linux:ox.linux}})),qp(new yD({id:lx.ToggleRegexCommand,precondition:null,handler:function(e){return e.toggleRegex()},kbOpts:{weight:qa.WEIGHT.editorContrib(5),kbExpr:wp.focus,primary:rx.primary,mac:rx.mac,win:rx.win,linux:rx.linux}})),qp(new yD({id:lx.ToggleSearchScopeCommand,precondition:null,handler:function(e){return e.toggleSearchScope()},kbOpts:{weight:qa.WEIGHT.editorContrib(5),kbExpr:wp.focus,primary:sx.primary,mac:sx.mac,win:sx.win,linux:sx.linux}})),qp(new yD({id:lx.ReplaceOneAction,precondition:ex,handler:function(e){return e.replace()},kbOpts:{weight:qa.WEIGHT.editorContrib(5),kbExpr:wp.focus,primary:3094}})),qp(new yD({id:lx.ReplaceAllAction,precondition:ex,handler:function(e){return e.replaceAll()},kbOpts:{weight:qa.WEIGHT.editorContrib(5),kbExpr:wp.focus,primary:2563}})),qp(new yD({id:lx.SelectAllMatchesAction,precondition:ex,handler:function(e){return e.selectAllMatches()},kbOpts:{weight:qa.WEIGHT.editorContrib(5),kbExpr:wp.focus,primary:515}})),n("Vcj/");var vD=65535,bD=function(){function e(e,t,n){if(e.length!==t.length||e.length>vD)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Uint32Array(Math.ceil(e.length/32)),this._types=n}return e.prototype.ensureParentIndices=function(){var e=this;if(!this._parentsComputed){this._parentsComputed=!0;for(var t=[],n=function(n,i){var o=t[t.length-1];return e.getStartLineNumber(o)<=n&&e.getEndLineNumber(o)>=i},i=0,o=this._startIndexes.length;i16777215||s>16777215)throw new Error("startLineNumber or endLineNumber must not exceed 16777215");for(;t.length>0&&!n(r,s);)t.pop();var a=t.length>0?t[t.length-1]:-1;t.push(i),this._startIndexes[i]=r+((255&a)<<24),this._endIndexes[i]=s+((65280&a)<<16)}}},Object.defineProperty(e.prototype,"length",{get:function(){return this._startIndexes.length},enumerable:!0,configurable:!0}),e.prototype.getStartLineNumber=function(e){return 16777215&this._startIndexes[e]},e.prototype.getEndLineNumber=function(e){return 16777215&this._endIndexes[e]},e.prototype.getType=function(e){return this._types?this._types[e]:void 0},e.prototype.hasTypes=function(){return!!this._types},e.prototype.isCollapsed=function(e){return 0!=(this._collapseStates[e/32|0]&1<>>24)+((4278190080&this._endIndexes[e])>>>16);return t===vD?-1:t},e.prototype.contains=function(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t},e.prototype.findIndex=function(e){var t=0,n=this._startIndexes.length;if(0===n)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1},e.prototype.toString=function(){for(var e=[],t=0;t=this.endLineNumber},e.prototype.containsLine=function(e){return this.startLineNumber<=e&&e<=this.endLineNumber},e.prototype.hidesLine=function(e){return this.startLineNumber=d))break;o(a,c===d),a++}}u=s()}for(;a0?e:null},e.prototype.applyMemento=function(e){if(Array.isArray(e)){for(var t=[],n=0,i=e;n=0;){var r=this._regions.toRegion(i);t&&!t(r,o)||n.push(r),o++,i=r.parentIndex}return n},e.prototype.getRegionAtLine=function(e){if(this._regions){var t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null},e.prototype.getRegionsInside=function(e,t){for(var n=[],i=t&&2===t.length,o=i?[]:null,r=e?e.endLineNumber:Number.MAX_VALUE,s=e?e.regionIndex+1:0,a=this._regions.length;s0&&!u.containedBy(o[o.length-1]);)o.pop();o.push(u),t(u,o.length)&&n.push(u)}else t&&!t(u)||n.push(u)}return n},e}();function wD(e,t,n,i){void 0===n&&(n=Number.MAX_VALUE);var o=[];if(i&&i.length>0)for(var r=0,s=i;r1)){var u=e.getRegionsInside(a,function(e,i){return e.isCollapsed!==t&&i=0;s--)if(n!==o.isCollapsed(s)){var a=o.getStartLineNumber(s);t.test(i.getLineContent(a))&&r.push(o.toRegion(s))}e.toggleCollapseState(r)}function ND(e,t,n){for(var i=e.regions,o=[],r=i.length-1;r>=0;r--)n!==i.isCollapsed(r)&&t===i.getType(r)&&o.push(i.toRegion(r));e.toggleCollapseState(o)}var ID=function(){function e(e){this.editor=e,this.COLLAPSED_VISUAL_DECORATION=ph.register({stickiness:Au.NeverGrowsWhenTypingAtEdges,afterContentClassName:"inline-folded",linesDecorationsClassName:"folding collapsed"}),this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ph.register({stickiness:Au.NeverGrowsWhenTypingAtEdges,linesDecorationsClassName:"folding"}),this.EXPANDED_VISUAL_DECORATION=ph.register({stickiness:Au.NeverGrowsWhenTypingAtEdges,linesDecorationsClassName:"folding alwaysShowFoldIcons"}),this.autoHideFoldingControls=!0}return e.prototype.getDecorationOption=function(e){return e?this.COLLAPSED_VISUAL_DECORATION:this.autoHideFoldingControls?this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:this.EXPANDED_VISUAL_DECORATION},e.prototype.deltaDecorations=function(e,t){return this.editor.deltaDecorations(e,t)},e.prototype.changeDecorations=function(e){return this.editor.changeDecorations(e)},e}(),SD=function(){function e(e){var t=this;this._updateEventEmitter=new zt,this._foldingModel=e,this._foldingModelListener=e.onDidChange(function(e){return t.updateHiddenRanges()}),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._updateEventEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hiddenRanges",{get:function(){return this._hiddenRanges},enumerable:!0,configurable:!0}),e.prototype.updateHiddenRanges=function(){for(var e=!1,t=[],n=0,i=0,o=Number.MAX_VALUE,r=-1,s=this._foldingModel.regions;n0},e.prototype.isHidden=function(e){return null!==xD(this._hiddenRanges,e)},e.prototype.adjustSelections=function(e){for(var t=this,n=!1,i=this._foldingModel.textModel,o=null,r=function(e){return o&&function(e,t){return e>=o.startLineNumber&&e<=o.endLineNumber}(e)||(o=xD(t._hiddenRanges,e)),o?o.startLineNumber-1:null},s=0,a=e.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)},e}();function xD(e,t){var n=function(e,n){var i=0,o=e.length;if(0===o)return 0;for(;i=0&&e[n].endLineNumber>=t?e[n]:null}var DD=function(){function e(){}return e.prototype.compute=function(e,t){var n=Bc.getFoldingRules(e.getLanguageIdentifier().id);return Nt.b.as(function(e,t,n,i){void 0===i&&(i=5e3);var o=e.getOptions().tabSize,r=new TD(i),s=void 0;n&&(s=new RegExp("("+n.start.source+")|(?:"+n.end.source+")"));var a=[];a.push({indent:-1,line:e.getLineCount()+1,marker:!1});for(var u=e.getLineCount();u>0;u--){var l=e.getLineContent(u),c=uh.computeIndentLevel(l,o),d=a[a.length-1];if(-1!==c){var h=void 0;if(s&&(h=l.match(s))){if(!h[1]){a.push({indent:-2,line:u,marker:!0});continue}for(var p=a.length-1;p>0&&!a[p].marker;)p--;if(p>0){a.length=p+1,r.insertFirst(u,(d=a[p]).line,c),d.marker=!1,d.indent=c,d.line=u;continue}}if(d.indent>c){do{a.pop(),d=a[a.length-1]}while(d.indent>c);var g=d.line-1;g-u>=1&&r.insertFirst(u,g,c)}d.indent===c?d.line=u:a.push({indent:c,line:u,marker:!1})}else t&&!d.marker&&(d.line=u)}return r.toIndentRanges(e)}(e,n&&n.offSide,n&&n.markers))},e}(),TD=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.insertFirst=function(e,t,n){if(!(e>16777215||t>16777215)){var i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._length++,n<1e3&&(this._indentOccurrences[n]=(this._indentOccurrences[n]||0)+1)}},e.prototype.toIndentRanges=function(e){if(this._length<=this._foldingRangesLimit){for(var t=new Uint32Array(this._length),n=new Uint32Array(this._length),i=this._length-1,o=0;i>=0;i--,o++)t[o]=this._startIndexes[i],n[o]=this._endIndexes[i];return new bD(t,n)}var r=0,s=this._indentOccurrences.length;for(i=0;ithis._foldingRangesLimit){s=i;break}r+=a}}var u=e.getOptions().tabSize;for(t=new Uint32Array(r),n=new Uint32Array(r),i=this._length-1,o=0;i>=0;i--){var l=this._startIndexes[i],c=e.getLineContent(l);uh.computeIndentLevel(c,u)0&&l.endLineNumber>l.startLineNumber&&l.endLineNumber<=s&&i.push({startLineNumber:l.startLineNumber,endLineNumber:l.endLineNumber,rank:o,type:l.type})}}}return i},Dt)}(this.providers,e,t).then(function(e){return e?function(t){for(var n=e.sort(function(e,t){var n=e.startLineNumber-t.startLineNumber;return 0===n&&(n=e.rank-t.rank),n}),i=new jD(5e3),o=null,r=[],s=0,a=n;so.startLineNumber)if(u.endLineNumber<=o.endLineNumber)r.push(o),o=u,i.add(u.startLineNumber,u.endLineNumber,u.type,r.length);else if(u.startLineNumber>o.endLineNumber){do{o=r.pop()}while(o&&u.startLineNumber>o.endLineNumber);r.push(o),o=u,i.add(u.startLineNumber,u.endLineNumber,u.type,r.length)}}else o=u,i.add(u.startLineNumber,u.endLineNumber,u.type,r.length)}return i.toIndentRanges()}():null})},e}(),jD=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.add=function(e,t,n,i){if(!(e>16777215||t>16777215)){var o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._nestingLevels[o]=i,this._types[o]=n,this._length++,i<30&&(this._nestingLevelCounts[i]=(this._nestingLevelCounts[i]||0)+1)}},e.prototype.toIndentRanges=function(){if(this._length<=this._foldingRangesLimit){for(var e=new Uint32Array(this._length),t=new Uint32Array(this._length),n=0;nthis._foldingRangesLimit){o=n;break}i+=r}}e=new Uint32Array(i),t=new Uint32Array(i);for(var s=[],a=(n=0,0);n0){for(var i=[],o=function(n){var o=n.selectionStartLineNumber;e.hiddenRangeModel.isHidden(o)&&i.push.apply(i,t.getAllRegionsAtLine(o,function(e){return e.isCollapsed&&o>e.startLineNumber}))},r=0,s=n;r0){var s=i.modifyPosition(e.getStartPosition(),r);e=new sn(s.lineNumber,s.column,e.endLineNumber,e.endColumn),t=t.substring(r),o=o.substr(r)}var a=io(t,o);if(a>0){var u=i.modifyPosition(e.getEndPosition(),-a);e=new sn(e.startLineNumber,e.startColumn,u.lineNumber,u.column),t=t.substring(0,t.length-a),o=o.substring(0,o.length-a)}return{text:t,range:e,forceMoveMarkers:n}},e}(),eT=function(){function e(e,t){if(this.flags=t,0!=(1&this.flags)){var n=e.getModel();this.modelVersionId=n?Ni("{0}#{1}",n.uri.toString(),n.getVersionId()):null}0!=(4&this.flags)&&(this.position=e.getPosition()),0!=(2&this.flags)&&(this.selection=e.getSelection()),0!=(8&this.flags)&&(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop())}return e.prototype._equals=function(t){if(!(t instanceof e))return!1;var n=t;return this.modelVersionId===n.modelVersionId&&this.scrollLeft===n.scrollLeft&&this.scrollTop===n.scrollTop&&!(!this.position&&n.position||this.position&&!n.position||this.position&&n.position&&!this.position.equals(n.position))&&!(!this.selection&&n.selection||this.selection&&!n.selection||this.selection&&n.selection&&!this.selection.equalsRange(n.selection))},e.prototype.validate=function(t){return this._equals(new e(t,this.flags))},e}();function tT(e){if((e=e.filter(function(e){return e.range})).length){for(var t=e[0].range,n=1;n1)){var n=this.editor.getModel(),i=this.editor.getPosition(),o=!1,r=this.editor.onDidChangeModelContent(function(e){if(e.isFlush)return o=!0,void r.dispose();for(var t=0,n=e.changes.length;t1)){var n=this.editor.getModel(),i=n.getOptions(),o=i.tabSize,r=i.insertSpaces,s=new eT(this.editor,5);KD(n,e,{tabSize:o,insertSpaces:r}).then(function(e){return t.workerService.computeMoreMinimalEdits(n.uri,e)}).then(function(e){s.validate(t.editor)&&!ur(e)&&($D.execute(t.editor,e),tT(e))})}},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.callOnDispose=_t(this.callOnDispose),this.callOnModel=_t(this.callOnModel)},e.ID="editor.contrib.formatOnPaste",e=Object(a.b)([Object(a.d)(1,Vo)],e)}(),oT=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=e.get(Vo),i=e.get(lu),o=this._getFormattingEdits(t);if(!o)return Nt.b.as(void 0);var r=new eT(t,5);return o.then(function(e){return n.computeMoreMinimalEdits(t.getModel().uri,e)}).then(function(e){r.validate(t)&&!ur(e)&&($D.execute(t,e),tT(e),t.focus())},function(e){if(!(e instanceof Error&&e.name===XD.Name))throw e;i.info(Yo("no.provider","There is no formatter for '{0}'-files installed.",t.getModel().getLanguageIdentifier().language))})},t}(Xp),rT=function(e){function t(){return e.call(this,{id:"editor.action.formatDocument",label:Yo("formatDocument.label","Format Document"),alias:"Format Document",precondition:wp.writable,kbOpts:{kbExpr:wp.editorTextFocus,primary:1572,linux:{primary:3111}},menuOpts:{when:wp.hasDocumentFormattingProvider,group:"1_modification",order:1.3}})||this}return Object(a.c)(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),n=t.getOptions();return JD(t,{tabSize:n.tabSize,insertSpaces:n.insertSpaces})},t}(oT),sT=function(e){function t(){return e.call(this,{id:"editor.action.formatSelection",label:Yo("formatSelection.label","Format Selection"),alias:"Format Code",precondition:To.and(wp.writable,wp.hasNonEmptySelection),kbOpts:{kbExpr:wp.editorTextFocus,primary:qt(2089,2084)},menuOpts:{when:To.and(wp.hasDocumentSelectionFormattingProvider,wp.hasNonEmptySelection),group:"1_modification",order:1.31}})||this}return Object(a.c)(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),n=t.getOptions(),i=n.tabSize,o=n.insertSpaces;return KD(t,e.getSelection(),{tabSize:i,insertSpaces:o})},t}(oT);function aT(e,t,n,i){var o=n.ordered(e).map(function(n,o){return hs(function(o){return i(n,e,t,o)}).then(void 0,function(e){return Dt(e),null})});return Nt.b.join(o).then(dr).then(function(e){return e.filter(function(e){return!!e})})}function uT(e,t){return aT(e,t,Nl,function(e,t,n,i){return e.provideDefinition(t,n,i)})}function lT(e,t){return aT(e,t,Il,function(e,t,n,i){return e.provideImplementation(t,n,i)})}function cT(e,t){return aT(e,t,Sl,function(e,t,n,i){return e.provideTypeDefinition(t,n,i)})}eg(nT),eg(iT),$p(rT),$p(sT),hi.registerCommand("editor.action.format",function(e){var t=e.get(Fo).getFocusedCodeEditor();if(t)return(new(function(e){function t(){return e.call(this,{})||this}return Object(a.c)(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()?JD(t,{tabSize:o,insertSpaces:r}):KD(t,n,{tabSize:o,insertSpaces:r})},t}(oT))).run(e,t)}),Jp("_executeDefinitionProvider",uT),Jp("_executeImplementationProvider",lT),Jp("_executeTypeDefinitionProvider",cT),n("Bv73"),n("0u1n");var dT={badgeBackground:dp.fromHex("#4D4D4D"),badgeForeground:dp.fromHex("#FFFFFF")},hT=function(){function e(e,t){this.options=t||Object.create(null),Or(this.options,dT,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=Ba(e,Za(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}return e.prototype.setCount=function(e){this.count=e,this.render()},e.prototype.setCountFormat=function(e){this.countFormat=e,this.render()},e.prototype.setTitleFormat=function(e){this.titleFormat=e,this.render()},e.prototype.render=function(){this.element.textContent=Ni(this.countFormat,this.count),this.element.title=Ni(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}();function pT(e){return Ii(e)}n("KU51");var gT,fT,mT=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&&Pr(this.highlights,t)||(Array.isArray(t)||(t=[]),this.text=e,this.highlights=t,this.render())},e.prototype.render=function(){Xs(this.domNode);for(var e,t=[],n=0,i=0;i"),t.push(pT(this.text.substring(n,e.start))),t.push(""),n=e.end),t.push(''),t.push(pT(this.text.substring(e.start,e.end))),t.push(""),n=e.end);n"),t.push(pT(this.text.substring(n))),t.push("")),this.domNode.innerHTML=t.join(""),this.didEverRender=!0},e.prototype.dispose=function(){this.text=null,this.highlights=null},e}(),yT=function(){function e(e){this._element=e}return Object.defineProperty(e.prototype,"element",{get:function(){return this._element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textContent",{set:function(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"className",{set:function(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{set:function(e){this.disposed||e===this._title||(this._title=e,this._title?this._element.title=e:this._element.removeAttribute("title"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"empty",{set:function(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":null)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposed=!0},e}(),vT=function(){function e(e,t){var n=this;this.domNode=new yT(Ba(e,Za(".monaco-icon-label"))),this.labelDescriptionContainer=new yT(Ba(this.domNode.element,Za(".monaco-icon-label-description-container"))),this.labelNode=t&&t.supportHighlights?new mT(Ba(this.labelDescriptionContainer.element,Za("a.label-name"))):new yT(Ba(this.labelDescriptionContainer.element,Za("a.label-name"))),this.descriptionNodeFactory=t&&t.supportDescriptionHighlights?function(){return new mT(Ba(n.labelDescriptionContainer.element,Za("span.label-description")))}:function(){return new yT(Ba(n.labelDescriptionContainer.element,Za("span.label-description")))}}return Object.defineProperty(e.prototype,"element",{get:function(){return this.domNode.element},enumerable:!0,configurable:!0}),e.prototype.onClick=function(e){return Mt([oa(this.labelDescriptionContainer.element,za.CLICK,function(t){return e(t)})])},e.prototype.setValue=function(e,t,n){var i=["monaco-icon-label"];n&&(n.extraClasses&&i.push.apply(i,n.extraClasses),n.italic&&i.push("italic")),this.domNode.className=i.join(" "),this.domNode.title=n&&n.title?n.title:"",this.labelNode instanceof mT?this.labelNode.set(e||"",n?n.matches:void 0):this.labelNode.textContent=e||"",(t||this.descriptionNode)&&(this.descriptionNode||(this.descriptionNode=this.descriptionNodeFactory()),this.descriptionNode instanceof mT?(this.descriptionNode.set(t||"",n?n.descriptionMatches:void 0),n&&n.descriptionTitle?this.descriptionNode.element.title=n.descriptionTitle:this.descriptionNode.element.removeAttribute("title")):(this.descriptionNode.textContent=t||"",this.descriptionNode.title=n&&n.descriptionTitle?n.descriptionTitle:"",this.descriptionNode.empty=!t))},e.prototype.dispose=function(){this.domNode.dispose(),this.labelNode.dispose(),this.descriptionNode&&this.descriptionNode.dispose()},e}(),bT=function(e){function t(t,n,i,o){var r=e.call(this,t)||this;return r.setFile(n,i,o),r}return Object(a.c)(t,e),t.prototype.setFile=function(e,t,n){var i=mr(e.fsPath);this.setValue(Ir(e),i&&"."!==i?Nr(i,t,n):"",{title:e.fsPath})},t}(vT),_T=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 Object(a.c)(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){Or(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},Object(a.b)([Object(a.d)(3,Un),Object(a.d)(4,Fo),Object(a.d)(5,di),Object(a.d)(6,Wo),Object(a.d)(7,mm)],t)}(o_),MT=(n("1mBN"),n("Hv4S"),new dp(new up(0,122,204))),wT={showArrow:!0,showFrame:!0,className:"",frameColor:MT,arrowColor:MT,keepEditorSelection:!1},CT=function(){function e(e,t,n,i,o,r){this.domNode=e,this.afterLineNumber=t,this.afterColumn=n,this.heightInLines=i,this._onDomNodeTop=o,this._onComputedHeight=r}return e.prototype.onDomNodeTop=function(e){this._onDomNodeTop(e)},e.prototype.onComputedHeight=function(e){this._onComputedHeight(e)},e}(),LT=function(){function e(e,t){this._id=e,this._domNode=t}return e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return null},e}(),NT=function(){function e(t){this._editor=t,this._ruleName=e._IdGenerator.nextId(),this._decorations=[]}return e.prototype.dispose=function(){this.hide(),Pa(this._ruleName)},Object.defineProperty(e.prototype,"color",{set:function(e){this._color!==e&&(this._color=e,this._updateStyle())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"height",{set:function(e){this._height!==e&&(this._height=e,this._updateStyle())},enumerable:!0,configurable:!0}),e.prototype._updateStyle=function(){var e,t,n;Pa(this._ruleName),e=".monaco-editor "+this._ruleName,t="border-style: solid; border-color: transparent; border-bottom-color: "+this._color+"; border-width: "+this._height+"px; bottom: -"+this._height+"px; margin-left: -"+this._height+"px; ",void 0===n&&(n=Oa()),n&&t&&n.sheet.insertRule(e+"{"+t+"}",0)},e.prototype.show=function(e){this._decorations=this._editor.deltaDecorations(this._decorations,[{range:sn.fromPositions(e),options:{className:this._ruleName,stickiness:Au.NeverGrowsWhenTypingAtEdges}}])},e.prototype.hide=function(){this._editor.deltaDecorations(this._decorations,[])},e._IdGenerator=new fx(".arrow-decoration-"),e}(),IT=function(){function e(e,t){void 0===t&&(t={});var n=this;this._positionMarkerId=[],this._disposables=[],this._isShowing=!1,this.editor=e,this.options=jr(t),Or(this.options,wT,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.push(this.editor.onDidLayoutChange(function(e){var t=n._getWidth(e);n.domNode.style.width=t+"px",n.domNode.style.left=n._getLeft(e)+"px",n._onWidth(t)}))}return e.prototype.dispose=function(){var e=this;_t(this._disposables),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(function(t){t.removeZone(e._viewZone.id),e._viewZone=null}),this.editor.deltaDecorations(this._positionMarkerId,[])},e.prototype.create=function(){ea(this.domNode,"zone-widget"),ea(this.domNode,this.options.className),this.container=document.createElement("div"),ea(this.container,"zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new NT(this.editor),this._disposables.push(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()},e.prototype.style=function(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()},e.prototype._applyStyles=function(){if(this.container){var e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow){var t=this.options.arrowColor.toString();this._arrow.color=t}},e.prototype._getWidth=function(e){return e.width-e.minimapWidth-e.verticalScrollbarWidth},e.prototype._getLeft=function(e){return e.minimapWidth>0&&0===e.minimapLeft?e.minimapWidth:0},e.prototype._onViewZoneTop=function(e){this.domNode.style.top=e+"px"},e.prototype._onViewZoneHeight=function(e){this.domNode.style.height=e+"px";var t=e-this._decoratingElementsHeight();this.container.style.height=t+"px";var n=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(n)),this._resizeSash.layout()},Object.defineProperty(e.prototype,"position",{get:function(){var e=this._positionMarkerId[0];if(e)return this.editor.getModel().getDecorationRange(e).getStartPosition()},enumerable:!0,configurable:!0}),e.prototype.show=function(e,t){var n=sn.isIRange(e)?e:new sn(e.lineNumber,e.column,e.lineNumber,e.column);this._isShowing=!0,this._showImpl(n,t),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:n,options:ph.EMPTY}])},e.prototype.hide=function(){var e=this;this._viewZone&&(this.editor.changeViewZones(function(t){t.removeZone(e._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow&&this._arrow.hide()},e.prototype._decoratingElementsHeight=function(){var e=this.editor.getConfiguration().lineHeight,t=0;return this.options.showArrow&&(t+=2*Math.round(e/3)),this.options.showFrame&&(t+=2*Math.round(e/9)),t},e.prototype._showImpl=function(e,t){var n=this,i={lineNumber:e.startLineNumber,column:e.startColumn},o=this.editor.getLayoutInfo(),r=this._getWidth(o);this.domNode.style.width=r+"px",this.domNode.style.left=this._getLeft(o)+"px";var s=document.createElement("div");s.style.overflow="hidden";var a=this.editor.getConfiguration().lineHeight,u=this.editor.getLayoutInfo().height/a*.8;t>=u&&(t=u);var l=0,c=0;if(this.options.showArrow&&(l=Math.round(a/3),this._arrow.height=l,this._arrow.show(i)),this.options.showFrame&&(c=Math.round(a/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 CT(s,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 LT("vs.editor.contrib.zoneWidget"+n._viewZone.id,n.domNode),n.editor.addOverlayWidget(n._overlayWidget)}),this.options.showFrame){var d=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=d+"px",this.container.style.borderBottomWidth=d+"px"}var h=t*a-this._decoratingElementsHeight();this.container.style.top=l+"px",this.container.style.height=h+"px",this.container.style.overflow="hidden",this._doLayout(h,r),this.options.keepEditorSelection||this.editor.setSelection(e);var p=Math.min(this.editor.getModel().getLineCount(),Math.max(1,e.endLineNumber+1));this.revealLine(p)},e.prototype.revealLine=function(e){this.editor.revealLine(e,0)},e.prototype.setCssClass=function(e,t){t&&this.container.classList.remove(t),ea(this.container,e)},e.prototype._onWidth=function(e){},e.prototype._doLayout=function(e,t){},e.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)})},e.prototype._initSash=function(){var e,t=this;this._resizeSash=new v_(this.domNode,this,{orientation:y_.HORIZONTAL}),this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.disable()),this._disposables.push(this._resizeSash.onDidStart(function(n){t._viewZone&&(e={startY:n.startY,heightInLines:t._viewZone.heightInLines})})),this._disposables.push(this._resizeSash.onDidEnd(function(){e=void 0})),this._disposables.push(this._resizeSash.onDidChange(function(n){if(e){var i=(n.currentY-e.startY)/t.editor.getConfiguration().lineHeight,o=i<0?Math.ceil(i):Math.floor(i),r=e.heightInLines+o;r>5&&r<35&&t._relayout(r)}}))},e.prototype.getHorizontalSashLeft=function(){return 0},e.prototype.getHorizontalSashTop=function(){return parseInt(this.domNode.style.height)-this._decoratingElementsHeight()/2},e.prototype.getHorizontalSashWidth=function(){var e=this.editor.getLayoutInfo();return e.width-e.minimapWidth},e}();(fT=gT||(gT={})).inPeekEditor=new zo("inReferenceSearchEditor",!0),fT.notInPeekEditor=fT.inPeekEditor.toNegated();var ST={headerBackgroundColor:dp.white,primaryHeadingColor:dp.fromHex("#333333"),secondaryHeadingColor:dp.fromHex("#6c6c6cb3")},xT=function(e){function t(t,n){void 0===n&&(n={});var i=e.call(this,t,n)||this;return i._onDidClose=new zt,Or(i.options,ST,!1),i}return Object(a.c)(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._onDidClose.fire(this)},Object.defineProperty(t.prototype,"onDidClose",{get:function(){return this._onDidClose.event},enumerable:!0,configurable:!0}),t.prototype.style=function(t){var n=this.options;t.headerBackgroundColor&&(n.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(n.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(n.secondaryHeadingColor=t.secondaryHeadingColor),e.prototype.style.call(this,t)},t.prototype._applyStyles=function(){e.prototype._applyStyles.call(this);var t=this.options;this._headElement&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&(this._bodyElement.style.borderColor=t.frameColor.toString())},t.prototype._fillContainer=function(e){this.setCssClass("peekview-widget"),this._headElement=m_(".head").getHTMLElement(),this._bodyElement=m_(".body").getHTMLElement(),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)},t.prototype._fillHead=function(e){var t=this,n=m_(".peekview-title").on(za.CLICK,function(e){return t._onTitleClick(e)}).appendTo(this._headElement).getHTMLElement();this._primaryHeading=m_("span.filename").appendTo(n).getHTMLElement(),this._secondaryHeading=m_("span.dirname").appendTo(n).getHTMLElement(),this._metaHeading=m_("span.meta").appendTo(n).getHTMLElement();var i=m_(".peekview-actions").appendTo(this._headElement),o=this._getActionBarOptions();this._actionbarWidget=new q_(i,o),this._disposables.push(this._actionbarWidget),this._actionbarWidget.push(new eu("peekview.close",Yo("label.close","Close"),"close-peekview-action",!0,function(){return t.dispose(),null}),{label:!1,icon:!0})},t.prototype._getActionBarOptions=function(){return{}},t.prototype._onTitleClick=function(e){},t.prototype.setTitle=function(e,t){m_(this._primaryHeading).safeInnerHtml(e),this._primaryHeading.setAttribute("aria-label",e),t?m_(this._secondaryHeading).safeInnerHtml(t):Xs(this._secondaryHeading)},t.prototype.setMetaTitle=function(e){e?m_(this._metaHeading).safeInnerHtml(e):Xs(this._metaHeading)},t.prototype._doLayout=function(e,t){if(!this._isShowing&&e<0)this.dispose();else{var n=Math.ceil(1.2*this.editor.getConfiguration().lineHeight),i=e-(n+2);this._doLayoutHead(n,t),this._doLayoutBody(i,t)}},t.prototype._doLayoutHead=function(e,t){this._headElement.style.height=Ni("{0}px",e),this._headElement.style.lineHeight=this._headElement.style.height},t.prototype._doLayoutBody=function(e,t){this._bodyElement.style.height=Ni("{0}px",e)},t}(IT),DT=function(){function e(e,t){this._parent=e,this._range=t,this._onRefChanged=new zt,this.onRefChanged=this._onRefChanged.event,this._id=mx.nextId()}return Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"model",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uri",{get:function(){return this._parent.uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._parent.name},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"directory",{get:function(){return this._parent.directory},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"range",{get:function(){return this._range},set:function(e){this._range=e,this._onRefChanged.fire(this)},enumerable:!0,configurable:!0}),e.prototype.getAriaMessage=function(){return Yo("aria.oneReference","symbol in {0} on line {1} at column {2}",yr(this.uri.fsPath),this.range.startLineNumber,this.range.startColumn)},e}(),TT=function(){function e(e){this._modelReference=e}return Object.defineProperty(e.prototype,"_model",{get:function(){return this._modelReference.object.textEditorModel},enumerable:!0,configurable:!0}),e.prototype.preview=function(e,t){void 0===t&&(t=8);var n=this._model;if(n){var i=e.startLineNumber,o=e.startColumn,r=e.endLineNumber,s=e.endColumn,a=n.getWordUntilPosition({lineNumber:i,column:o-t}),u=new sn(i,a.startColumn,i,o),l=new sn(r,s,r,Number.MAX_VALUE);return{before:n.getValueInRange(u).replace(/^\s+/,Mi),inside:n.getValueInRange(e),after:n.getValueInRange(l).replace(/\s+$/,Mi)}}},e.prototype.dispose=function(){this._modelReference&&(this._modelReference.dispose(),this._modelReference=null)},e}(),ET=function(){function e(e,t){this._parent=e,this._uri=t,this._children=[]}return Object.defineProperty(e.prototype,"id",{get:function(){return this._uri.toString()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){return this._children},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return yr(this.uri.fsPath)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"directory",{get:function(){return mr(this.uri.fsPath)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"preview",{get:function(){return this._preview},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"failure",{get:function(){return this._loadFailure},enumerable:!0,configurable:!0}),e.prototype.getAriaMessage=function(){var e=this.children.length;return 1===e?Yo("aria.fileReferences.1","1 symbol in {0}, full path {1}",yr(this.uri.fsPath),this.uri.fsPath):Yo("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,yr(this.uri.fsPath),this.uri.fsPath)},e.prototype.resolve=function(e){var t=this;return this._resolved?Nt.b.as(this):e.createModelReference(this._uri).then(function(e){if(!e.object)throw e.dispose(),new Error;return t._preview=new TT(e),t._resolved=!0,t},function(e){return t._children=[],t._resolved=!0,t._loadFailure=e,t})},e.prototype.dispose=function(){this._preview&&(this._preview.dispose(),this._preview=null)},e}(),kT=function(){function e(t){var n,i=this;this._groups=[],this._references=[],this._onDidChangeReferenceRange=new zt,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._disposables=[],t.sort(e._compareReferences);for(var o=0,r=t;o0?n.children[i=t?(i+1)%o:(i+o-1)%o]:(i=n.parent.groups.indexOf(n),t?n.parent.groups[i=(i+1)%r].children[0]:n.parent.groups[i=(i+r-1)%r].children[n.parent.groups[i].children.length-1])},e.prototype.nearestReference=function(e,t){var n=this._references.map(function(n,i){return{idx:i,prefixLen:no(n.uri.toString(),e.toString()),offsetDist:100*Math.abs(n.range.startLineNumber-t.lineNumber)+Math.abs(n.range.startColumn-t.column)}}).sort(function(e,t){return e.prefixLen>t.prefixLen?-1:e.prefixLent.offsetDist?1:0})[0];if(n)return this._references[n.idx]},e.prototype.dispose=function(){this._groups=_t(this._groups),_t(this._disposables),this._disposables.length=0},e._compareReferences=function(e,t){var n=e.uri.toString(),i=t.uri.toString();return ni?1:sn.compareRangesUsingStarts(e.range,t.range)},e}(),jT=Qn("environmentService"),AT=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},OT=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=i[2&r[0]?"return":r[0]?"throw":"next"])&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[0,o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]1?Yo("referencesCount","{0} references",t):Yo("referenceCount","{0} reference",t))},Object(a.b)([Object(a.d)(1,Er),Object(a.d)(2,Xn(jT)),Object(a.d)(3,mm)],e)}(),FT=function(){function e(e){var t=document.createElement("div");this.before=document.createElement("span"),this.inside=document.createElement("span"),this.after=document.createElement("span"),ea(this.inside,"referenceMatch"),ea(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.inside,i=t.after;this.before.innerHTML=Ii(t.before),this.inside.innerHTML=Ii(n),this.after.innerHTML=Ii(i)},e}(),HT=function(){function e(e,t,n){this._contextService=e,this._themeService=t,this._environmentService=n}return e.prototype.getHeight=function(e,t){return 23},e.prototype.getTemplateId=function(t,n){if(n instanceof ET)return e._ids.FileReferences;if(n instanceof DT)return e._ids.OneReference;throw n},e.prototype.renderTemplate=function(t,n,i){if(n===e._ids.FileReferences)return new WT(i,this._contextService,this._environmentService,this._themeService);if(n===e._ids.OneReference)return new FT(i);throw n},e.prototype.renderElement=function(e,t,n,i){if(t instanceof ET)i.set(t);else{if(!(t instanceof DT))throw n;i.set(t)}},e.prototype.disposeTemplate=function(e,t,n){n instanceof WT&&n.dispose()},e._ids={FileReferences:"FileReferences",OneReference:"OneReference"},e=Object(a.b)([Object(a.d)(0,Er),Object(a.d)(1,mm),Object(a.d)(2,Xn(jT))],e)}(),BT=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return t instanceof ET?t.getAriaMessage():t instanceof DT?t.getAriaMessage():void 0},e}(),VT=function(){function e(e,t){var n,i=this;this._disposables=[],this._onDidChangePercentages=new zt,this._ratio=t,this._sash=new v_(e,{getVerticalSashLeft:function(){return i._width*i._ratio},getVerticalSashHeight:function(){return i._height}}),this._disposables.push(this._sash.onDidStart(function(e){n=e.startX-i._width*i.ratio})),this._disposables.push(this._sash.onDidChange(function(e){var t=e.currentX-n;t>20&&t+200?e.children[0]:void 0},t.prototype._revealReference=function(e,t){return AT(this,void 0,Nt.b,function(){var n,i=this;return OT(this,function(o){switch(o.label){case 0:return e.uri.scheme!==Bo.inMemory?this.setTitle(e.name,Nr(e.directory,this._contextService,this._environmentService)):this.setTitle(Yo("peekView.alternateTitle","References")),n=this._textModelResolverService.createModelReference(e.uri),t?[4,this._tree.reveal(e.parent)]:[3,2];case 1:o.sent(),o.label=2;case 2:return[2,Nt.b.join([n,this._tree.reveal(e)]).then(function(t){var n=t[0];if(i._model){_t(i._previewModelReference);var o=n.object;if(o){i._previewModelReference=n;var r=i._preview.getModel()===o.textEditorModel;i._preview.setModel(o.textEditorModel);var s=sn.lift(e.range).collapseToStart();i._preview.setSelection(s),i._preview.revealRangeInCenter(s,r?0:1)}else i._preview.setModel(i._previewNotAvailableMessage),n.dispose()}else n.dispose()},xt)]}})})},t}(xT),UT=Hg("peekViewTitle.background",{dark:"#1E1E1E",light:"#FFFFFF",hc:"#0C141F"},Yo("peekViewTitleBackground","Background color of the peek view title area.")),GT=Hg("peekViewTitleLabel.foreground",{dark:"#FFFFFF",light:"#333333",hc:"#FFFFFF"},Yo("peekViewTitleForeground","Color of the peek view title.")),QT=Hg("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#6c6c6cb3",hc:"#FFFFFF99"},Yo("peekViewTitleInfoForeground","Color of the peek view title info.")),XT=Hg("peekView.border",{dark:"#007acc",light:"#007acc",hc:Ug},Yo("peekViewBorder","Color of the peek view borders and arrow.")),KT=Hg("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:dp.black},Yo("peekViewResultsBackground","Background color of the peek view result list.")),JT=Hg("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:dp.white},Yo("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),qT=Hg("peekViewResult.fileForeground",{dark:dp.white,light:"#1E1E1E",hc:dp.white},Yo("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),$T=Hg("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},Yo("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),eE=Hg("peekViewResult.selectionForeground",{dark:dp.white,light:"#6C6C6C",hc:dp.white},Yo("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),tE=Hg("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:dp.black},Yo("peekViewEditorBackground","Background color of the peek view editor.")),nE=Hg("peekViewEditorGutter.background",{dark:tE,light:tE,hc:tE},Yo("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),iE=Hg("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},Yo("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),oE=Hg("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},Yo("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));wm(function(e,t){var n=e.getColor(iE);n&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { background-color: "+n+"; }");var i=e.getColor(oE);i&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: "+i+"; }");var o=e.getColor(Gg);o&&(t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { border: 1px dotted "+o+"; box-sizing: border-box; }"),t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid "+o+"; box-sizing: border-box; }"));var r=e.getColor(KT);r&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { background-color: "+r+"; }");var s=e.getColor(JT);s&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { color: "+s+"; }");var a=e.getColor(qT);a&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .reference-file { color: "+a+"; }");var u=e.getColor($T);u&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+u+"; }");var l=e.getColor(eE);l&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+l+" !important; }");var c=e.getColor(tE);c&&t.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: "+c+";}");var d=e.getColor(nE);d&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: "+d+";}")});var rE=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},sE=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=i[2&r[0]?"return":r[0]?"throw":"next"])&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[0,o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]1&&Yo("meta.title"," \u2013 {0} definitions",e.references.length)},t.prototype._onResult=function(e,t,n){var i=this;if(CM(n.getAriaMessage()),this._configuration.openInPeek)this._openInPeek(e,t,n);else{var o=n.nearestReference(t.getModel().uri,t.getPosition());this._openReference(e,o,this._configuration.openToSide).then(function(t){t&&n.references.length>1?i._openInPeek(e,t,n):n.dispose()})}},t.prototype._openReference=function(e,t,n){return e.openEditor({resource:t.uri,options:{selection:sn.collapseToStart(t.range),revealIfVisible:!0,revealInCenterIfOutsideViewport:!0}},n).then(function(e){return e&&e.getControl()})},t.prototype._openInPeek=function(e,t,n){var i=this,o=uE.get(t);o?o.toggleWidget(t.getSelection(),Nt.b.as(n),{getMetaTitle:function(e){return i._getMetaTitle(e)},onGoto:function(t){return o.closeWidget(),i._openReference(e,t,!1)}}):n.dispose()},t}(Xp),pE=mn.f?2118:70,gE=function(e){function t(){return e.call(this,new dE,{id:t.ID,label:Yo("actions.goToDecl.label","Go to Definition"),alias:"Go to Definition",precondition:To.and(wp.hasDefinitionProvider,wp.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:wp.editorTextFocus,primary:pE},menuOpts:{group:"navigation",order:1.1}})||this}return Object(a.c)(t,e),t.ID="editor.action.goToDeclaration",t}(hE),fE=function(e){function t(){return e.call(this,new dE(!0),{id:t.ID,label:Yo("actions.goToDeclToSide.label","Open Definition to the Side"),alias:"Open Definition to the Side",precondition:To.and(wp.hasDefinitionProvider,wp.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:wp.editorTextFocus,primary:qt(2089,pE)}})||this}return Object(a.c)(t,e),t.ID="editor.action.openDeclarationToTheSide",t}(hE),mE=function(e){function t(){return e.call(this,new dE(void 0,!0,!1),{id:"editor.action.previewDeclaration",label:Yo("actions.previewDecl.label","Peek Definition"),alias:"Peek Definition",precondition:To.and(wp.hasDefinitionProvider,gT.notInPeekEditor,wp.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:wp.editorTextFocus,primary:582,linux:{primary:3140}},menuOpts:{group:"navigation",order:1.2}})||this}return Object(a.c)(t,e),t}(hE),yE=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.c)(t,e),t.prototype._getDeclarationsAtPosition=function(e,t){return lT(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?Yo("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):Yo("goToImplementation.generic.noResults","No implementation found")},t.prototype._getMetaTitle=function(e){return e.references.length>1&&Yo("meta.implementations.title"," \u2013 {0} implementations",e.references.length)},t}(hE),vE=function(e){function t(){return e.call(this,new dE,{id:t.ID,label:Yo("actions.goToImplementation.label","Go to Implementation"),alias:"Go to Implementation",precondition:To.and(wp.hasImplementationProvider,wp.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:wp.editorTextFocus,primary:2118}})||this}return Object(a.c)(t,e),t.ID="editor.action.goToImplementation",t}(yE),bE=function(e){function t(){return e.call(this,new dE(!1,!0,!1),{id:t.ID,label:Yo("actions.peekImplementation.label","Peek Implementation"),alias:"Peek Implementation",precondition:To.and(wp.hasImplementationProvider,wp.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:wp.editorTextFocus,primary:3142}})||this}return Object(a.c)(t,e),t.ID="editor.action.peekImplementation",t}(yE),_E=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.c)(t,e),t.prototype._getDeclarationsAtPosition=function(e,t){return cT(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?Yo("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):Yo("goToTypeDefinition.generic.noResults","No type definition found")},t.prototype._getMetaTitle=function(e){return e.references.length>1&&Yo("meta.typeDefinitions.title"," \u2013 {0} type definitions",e.references.length)},t}(hE),ME=function(e){function t(){return e.call(this,new dE,{id:t.ID,label:Yo("actions.goToTypeDefinition.label","Go to Type Definition"),alias:"Go to Type Definition",precondition:To.and(wp.hasTypeDefinitionProvider,wp.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:wp.editorTextFocus,primary:0},menuOpts:{group:"navigation",order:1.4}})||this}return Object(a.c)(t,e),t.ID="editor.action.goToTypeDefinition",t}(_E),wE=function(e){function t(){return e.call(this,new dE(!1,!0,!1),{id:t.ID,label:Yo("actions.peekTypeDefinition.label","Peek Type Definition"),alias:"Peek Type Definition",precondition:To.and(wp.hasTypeDefinitionProvider,wp.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:wp.editorTextFocus,primary:0}})||this}return Object(a.c)(t,e),t.ID="editor.action.peekTypeDefinition",t}(_E);function CE(e,t){return!!e[t]}$p(gE),$p(fE),$p(mE),$p(vE),$p(bE),$p(ME),$p(wE),n("DIA9");var LE=function(){return function(e,t){this.target=e.target,this.hasTriggerModifier=CE(e.event,t.triggerModifier),this.hasSideBySideModifier=CE(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=Is||e.event.detail<=1}}(),NE=function(){return function(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=CE(e,t.triggerModifier)}}(),IE=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}();function SE(e){return"altKey"===e?mn.d?new IE(57,"metaKey",6,"altKey"):new IE(5,"ctrlKey",6,"altKey"):mn.d?new IE(6,"altKey",57,"metaKey"):new IE(6,"altKey",5,"ctrlKey")}var xE=function(e){function t(t){var n=e.call(this)||this;return n._onMouseMoveOrRelevantKeyDown=n._register(new zt),n.onMouseMoveOrRelevantKeyDown=n._onMouseMoveOrRelevantKeyDown.event,n._onExecute=n._register(new zt),n.onExecute=n._onExecute.event,n._onCancel=n._register(new zt),n.onCancel=n._onCancel.event,n._editor=t,n._opts=SE(n._editor.getConfiguration().multiCursorModifier),n.lastMouseMoveEvent=null,n.hasTriggerKeyOnMouseDown=!1,n._register(n._editor.onDidChangeConfiguration(function(e){if(e.multiCursorModifier){var t=SE(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 LE(e,n._opts))})),n._register(n._editor.onMouseDown(function(e){return n.onEditorMouseDown(new LE(e,n._opts))})),n._register(n._editor.onMouseUp(function(e){return n.onEditorMouseUp(new LE(e,n._opts))})),n._register(n._editor.onKeyDown(function(e){return n.onEditorKeyDown(new NE(e,n._opts))})),n._register(n._editor.onKeyUp(function(e){return n.onEditorKeyUp(new NE(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 Object(a.c)(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}(Ct);eg(function(){function e(e,t,n){var i=this;this.textModelResolverService=t,this.modeService=n,this.toUnhook=[],this.decorations=[],this.editor=e,this.throttler=new ps;var o=new xE(e);this.toUnhook.push(o),this.toUnhook.push(o.onMouseMoveOrRelevantKeyDown(function(e){i.startFindDefinition(e[0],e[1])})),this.toUnhook.push(o.onExecute(function(e){i.isEnabled(e)&&i.gotoDefinition(e.target,e.hasSideBySideModifier).done(function(){i.removeDecorations()},function(e){i.removeDecorations(),xt(e)})})),this.toUnhook.push(o.onCancel(function(){i.removeDecorations(),i.currentWordUnderMouse=null}))}return e.prototype.startFindDefinition=function(t,n){var i=this;if(!this.isEnabled(t,n))return this.currentWordUnderMouse=null,void this.removeDecorations();var o=t.target.position,r=o?this.editor.getModel().getWordAtPosition(o):null;if(!r)return this.currentWordUnderMouse=null,void this.removeDecorations();if(!this.currentWordUnderMouse||this.currentWordUnderMouse.startColumn!==r.startColumn||this.currentWordUnderMouse.endColumn!==r.endColumn||this.currentWordUnderMouse.word!==r.word){this.currentWordUnderMouse=r;var s=new eT(this.editor,15);this.throttler.queue(function(){return s.validate(i.editor)?i.findDefinition(t.target):Nt.b.wrap(null)}).then(function(t){if(t&&t.length&&s.validate(i.editor))if(t.length>1)i.addDecoration(new sn(o.lineNumber,r.startColumn,o.lineNumber,r.endColumn),(new qw).appendText(Yo("multipleResults","Click to show {0} definitions.",t.length)));else{var n=t[0];if(!n.uri)return;i.textModelResolverService.createModelReference(n.uri).then(function(t){if(t.object&&t.object.textEditorModel){var s=t.object.textEditorModel,a=n.range.startLineNumber;if(0!==s.getLineMaxColumn(a)){for(var u=s.getLineFirstNonWhitespaceColumn(a),l=Math.min(s.getLineCount(),a+e.MAX_SOURCE_PREVIEW_LINES),c=a+1,d=u;c0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},e.prototype.isEnabled=function(e,t){return this.editor.getModel()&&e.isNoneOrSingleMouseDown&&e.target.type===Hn.CONTENT_TEXT&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey)&&Nl.has(this.editor.getModel())},e.prototype.findDefinition=function(e){return this.editor.getModel()?uT(this.editor.getModel(),e.position):Nt.b.as(null)},e.prototype.gotoDefinition=function(e,t){var n=this;this.editor.setPosition(e.position);var i=new hE(new dE(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 e.ID},e.prototype.dispose=function(){this.toUnhook=_t(this.toUnhook)},e.ID="editor.contrib.gotodefinitionwithmouse",e.MAX_SOURCE_PREVIEW_LINES=8,e=Object(a.b)([Object(a.d)(1,hN),Object(a.d)(2,Fw)],e)}()),wm(function(e,t){var n=e.getColor(Qf);n&&t.addRule(".monaco-editor .goto-definition-link { color: "+n+" !important; }")}),n("NfGl");var DE=function(){function e(e,t,n){var i=this;this.lines=0,this.longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=[],this._editor=t;var o=document.createElement("div");o.className="descriptioncontainer",o.setAttribute("aria-live","assertive"),o.setAttribute("role","alert"),this._messageBlock=document.createElement("span"),o.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),o.appendChild(this._relatedBlock),this._disposables.push(ra(this._relatedBlock,"click",function(e){e.preventDefault();var t=i._relatedDiagnostics.get(e.target);t&&n(t)})),this._scrollable=new Db(o,{horizontal:Uc.Auto,vertical:Uc.Hidden,useShadows:!1,horizontalScrollbarSize:3}),ea(this._scrollable.getDomNode(),"block"),e.appendChild(this._scrollable.getDomNode()),this._disposables.push(this._scrollable.onScroll(function(e){return o.style.left="-"+e.scrollLeft+"px"})),this._disposables.push(this._scrollable)}return e.prototype.dispose=function(){_t(this._disposables)},e.prototype.update=function(e){var t=e.source,n=e.message,i=e.relatedInformation;if(t){this.lines=0,this.longestLineLength=0;for(var o=new Array(t.length+3+1).join(" "),r=n.split(/\r\n|\r|\n/g),s=0;s=0?this._markers[this._nextIdx]:void 0;this._markers=e||[],this._markers.sort(FE.compareMarker),this._nextIdx=t?Math.max(-1,rr(this._markers,t,FE.compareMarker)):-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;i0?this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length:i=!0),n!==this._nextIdx&&this._onCurrentMarkerChanged.fire(this._markers[this._nextIdx]),i},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.findMarkerAtPosition=function(e){for(var t=0,n=this._markers;t0&&(n[o]=e)},function(e){Dt(e)})});return Nt.b.join(i).then(function(){return(e=n)?e.filter(function(e){return!!e}):e;var e})}qp(new(Qp.bindToContribution(WE.get))({id:"closeMarkersNavigation",precondition:VE,handler:function(e){return e.closeMarkersNavigation()},kbOpts:{weight:qa.WEIGHT.editorContrib(50),kbExpr:wp.focus,primary:9,secondary:[1033]}})),n("o37+"),Jp("_executeHoverProvider",YE);var ZE=function(){function e(e,t,n,i){var o=this;this._computer=e,this._state=0,this._firstWaitScheduler=new _s(function(){return o._triggerAsyncComputation()},this._getHoverTimeMillis()/2),this._secondWaitScheduler=new _s(function(){return o._triggerSyncComputation()},this._getHoverTimeMillis()/2),this._loadingMessageScheduler=new _s(function(){return o._showLoadingMessage()},3*this._getHoverTimeMillis()),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=t,this._errorCallback=n,this._progressCallback=i}return 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(t){return e._onError(t)})):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):xt(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}(),UE=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 Eb(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 Object(a.c)(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,na(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 rn(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:[Wn.ABOVE,Wn.BELOW]}:null},t.prototype.dispose=function(){this._editor.removeContentWidget(this),this.disposables=_t(this.disposables),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this;Array.prototype.slice.call(this._domNode.getElementsByClassName("code")).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.onContentsChange()},t.prototype.onContentsChange=function(){this.scrollbar.scanDomNode()},t.prototype.updateMaxHeight=function(){var e=Math.max(this._editor.getLayoutInfo().height/4,250),t=this._editor.getConfiguration().fontInfo,n=t.lineHeight;this._domNode.style.fontSize=t.fontSize+"px",this._domNode.style.lineHeight=n+"px",this._domNode.style.maxHeight=e+"px"},t}(bb),GE=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 Object(a.c)(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,na(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}(bb),QE=function(){function e(e,t,n){this.presentationIndex=n,this._onColorFlushed=new zt,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new zt,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new zt,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}return Object.defineProperty(e.prototype,"color",{get:function(){return this._color},set:function(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"presentation",{get:function(){return this.colorPresentations[this.presentationIndex]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"colorPresentations",{get:function(){return this._colorPresentations},set:function(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)},enumerable:!0,configurable:!0}),e.prototype.selectNextColorPresentation=function(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)},e.prototype.guessColorPresentation=function(e,t){for(var n=0;nthis._editor.getModel().getLineCount())return[];var n=AS.get(this._editor),i=this._editor.getModel().getLineMaxColumn(t),o=!1;return this._editor.getLineDecorations(t).map(function(r){var s=r.range.startLineNumber===t?r.range.startColumn:1,a=r.range.endLineNumber===t?r.range.endColumn:i;if(s>e._range.startColumn||e._range.endColumn>a)return null;var u=new sn(e._range.startLineNumber,s,e._range.startLineNumber,a),l=n.getColorData(r.range.getStartPosition());if(!o&&l){o=!0;var c=l.colorInfo;return new ok(c.range,c.color,l.provider)}if($w(r.options.hoverMessage))return null;var d=void 0;return r.options.hoverMessage&&(d=Array.isArray(r.options.hoverMessage)?r.options.hoverMessage.slice():[r.options.hoverMessage]),{contents:d,range:u}}).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 ok?-1:t instanceof ok?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:[(new qw).appendText(Yo("modesContentHover.loading","Loading..."))]}},e}(),sk=function(e){function t(n,i,o){var r=e.call(this,t.ID,n)||this;return r._themeService=o,r.renderDisposable=bt,r.toDispose=[],r._computer=new rk(r._editor),r._highlightDecorations=[],r._isChangingDecorations=!1,r._markdownRenderer=i,i.onDidRenderCodeBlock(r.onContentsChange,r,r.toDispose),r._hoverOperation=new ZE(r._computer,function(e){return r._withResult(e,!0)},null,function(e){return r._withResult(e,!1)}),r.toDispose.push(ra(r.getDomNode(),za.FOCUS,function(){r._colorPicker&&ea(r.getDomNode(),"colorpicker-hover")})),r.toDispose.push(ra(r.getDomNode(),za.BLUR,function(){ta(r.getDomNode(),"colorpicker-hover")})),r}return Object(a.c)(t,e),t.prototype.dispose=function(){this.renderDisposable.dispose(),this.renderDisposable=bt,this._hoverOperation.cancel(),this.toDispose=_t(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)}if(n.length>0){if(function(e,t){if(!e&&t||e&&!t||e.length!==t.length)return!1;for(var n=0;n0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,n){var i=this;this.renderDisposable.dispose(),this._colorPicker=null;var o,r=Number.MAX_VALUE,s=n[0].range,a=document.createDocumentFragment(),u=!0,l=!1;n.forEach(function(t){if(t.range)if(r=Math.min(r,t.range.startColumn),s=sn.plusRange(s,t.range),t instanceof ok){l=!0;var n=t.color,c=new up(255*n.red,255*n.green,255*n.blue,n.alpha),d=new dp(c),h=i._editor.getModel(),p=new sn(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn),g={range:t.range,color:t.color},f=new QE(d,[],0),m=new nk(a,f,i._editor.getConfiguration().pixelRatio,i._themeService);jS(h,g,t.provider).then(function(n){f.colorPresentations=n;var s=i._editor.getModel().getValueInRange(t.range);f.guessColorPresentation(d,s);var u=function(){var e,t;f.presentation.textEdit?(e=[f.presentation.textEdit],t=(t=new sn(f.presentation.textEdit.range.startLineNumber,f.presentation.textEdit.range.startColumn,f.presentation.textEdit.range.endLineNumber,f.presentation.textEdit.range.endColumn)).setEndPosition(t.endLineNumber,t.startColumn+f.presentation.textEdit.text.length)):(e=[{identifier:null,range:p,text:f.presentation.label,forceMoveMarkers:!1}],t=p.setEndPosition(p.endLineNumber,p.startColumn+f.presentation.label.length)),h.pushEditOperations([],e,function(){return[]}),f.presentation.additionalTextEdits&&(e=f.presentation.additionalTextEdits.slice(),h.pushEditOperations([],e,function(){return[]}),i.hide()),i._editor.pushUndoStop(),p=t},l=function(e){return jS(h,{range:p,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},t.provider).then(function(e){f.colorPresentations=e})},c=f.onColorFlushed(function(e){l(e).then(u)}),g=f.onDidChangeColor(l);i._colorPicker=m,i.showAt(new rn(e.startLineNumber,r),i._shouldFocus),i.updateContents(a),i._colorPicker.layout(),i.renderDisposable=Mt([c,g,m,o])})}else t.contents.filter(function(e){return!$w(e)}).forEach(function(e){var t=i._markdownRenderer.render(e);o=t,a.appendChild(ik("div.hover-row",null,t.element)),u=!1})}),l||u||(this.showAt(new rn(e.startLineNumber,r),this._shouldFocus),this.updateContents(a)),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[{range:s,options:t._DECORATION_OPTIONS}]),this._isChangingDecorations=!1},t.ID="editor.contrib.modesContentHoverWidget",t._DECORATION_OPTIONS=ph.register({className:"hoverHighlight"}),t}(UE),ak=function(){function e(e){this._editor=e,this._lineNumber=-1}return e.prototype.setLineNumber=function(e){this._lineNumber=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeSync=function(){for(var e=function(e){return{value:e}},t=this._editor.getLineDecorations(this._lineNumber),n=[],i=0,o=t.length;i0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){var n=this;_t(this._renderDisposeables),this._renderDisposeables=[];var i=document.createDocumentFragment();t.forEach(function(e){var t=n._markdownRenderer.render(e.value);n._renderDisposeables.push(t),i.appendChild(Za("div.hover-row",null,t.element))}),this.updateContents(i),this.showAt(e)},t.ID="editor.contrib.modesGlyphHoverWidget",t}(GE),lk=function(){function e(e,t,n){void 0===n&&(n=sN),this._editor=e,this._modeService=t,this._openerService=n,this._onDidRenderCodeBlock=new zt,this.onDidRenderCodeBlock=this._onDidRenderCodeBlock.event}return e.prototype.getOptions=function(e){var t=this;return{codeBlockRenderer:function(e,n){var i=e?t._modeService.getModeIdForLanguageName(e):t._editor.getModel().getLanguageIdentifier().language;return t._modeService.getOrCreateMode(i).then(function(e){return function(e,t){for(var n='
    ',i=e.split(/\r\n|\r|\n/),o=t.getInitialState(),r=0,s=i.length;r0&&(n+="
    ");var u=t.tokenize2(a,o,0);Vc.convertToEndOffset(u.tokens,a.length);for(var l=new Vc(u.tokens,a).inflate(),c=0,d=0,h=l.getCount();d'+Ii(a.substring(c,g))+"",c=g}o=u.endState}return n+"
    "}(n,Pl.get(i)||{getInitialState:function(){return gc},tokenize:void 0,tokenize2:function(e,t,n){return yc(0,0,t,n)}})}).then(function(e){return''+e+""})},codeBlockRenderCallback:function(){return t._onDidRenderCodeBlock.fire()},actionHandler:{callback:function(e){t._openerService.open(Tn.parse(e)).then(void 0,xt)},disposeables:e}}},e.prototype.render=function(e){var t=[];return{element:e?function(e,t){void 0===t&&(t={});var n,i=vx(t),o=new Promise(function(e){return n=e}),r=new yx.Renderer;return r.image=function(e,t,n){var i=[];if(e){var o=e.split("|").map(function(e){return e.trim()});e=o[0];var r=o[1];if(r){var s=/height=(\d+)/.exec(r),a=/width=(\d+)/.exec(r),u=s&&s[1],l=a&&a[1],c=isFinite(parseInt(l)),d=isFinite(parseInt(u));c&&i.push('width="'+l+'"'),d&&i.push('height="'+u+'"')}}var h=[];return e&&h.push('src="'+e+'"'),n&&h.push('alt="'+n+'"'),t&&h.push('title="'+t+'"'),i.length&&(h=h.concat(i)),""},r.link=function(t,n,i){return t===i&&(i=nC(i)),n=nC(n),!(t=nC(t))||t.match(/^data:|javascript:/i)||t.match(/^command:/i)&&!e.isTrusted?i:''+i+""},r.paragraph=function(e){return"

    "+e+"

    "},t.codeBlockRenderer&&(r.code=function(e,n){var r=t.codeBlockRenderer(n,e),s=mx.nextId(),a=Promise.all([r,o]).then(function(e){var t=e[0],n=i.querySelector('div[data-code="'+s+'"]');n&&(n.innerHTML=t)}).catch(function(e){});return t.codeBlockRenderCallback&&a.then(t.codeBlockRenderCallback),'
    '+Ii(e)+"
    "}),t.actionHandler&&t.actionHandler.disposeables.push(ra(i,"click",function(e){var n=e.target;if("A"===n.tagName||(n=n.parentElement)&&"A"===n.tagName){var i=n.dataset.href;i&&t.actionHandler.callback(i,e)}})),i.innerHTML=yx(e.value,{sanitize:!0,renderer:r}),n(),i}(e,this.getOptions(t)):document.createElement("span"),dispose:function(){return _t(t)}}},Object(a.b)([Object(a.d)(1,Fw),Object(a.d)(2,Xn(rN))],e)}(),ck=function(){function e(e,t,n,i){var o=this;this._openerService=t,this._modeService=n,this._themeService=i,this._editor=e,this._toUnhook=[],this._isMouseDown=!1,e.getConfiguration().contribInfo.hover&&(this._toUnhook.push(this._editor.onMouseDown(function(e){return o._onEditorMouseDown(e)})),this._toUnhook.push(this._editor.onMouseUp(function(e){return o._onEditorMouseUp(e)})),this._toUnhook.push(this._editor.onMouseMove(function(e){return o._onEditorMouseMove(e)})),this._toUnhook.push(this._editor.onMouseLeave(function(e){return o._hideWidgets()})),this._toUnhook.push(this._editor.onKeyDown(function(e){return o._onKeyDown(e)})),this._toUnhook.push(this._editor.onDidChangeModel(function(){return o._hideWidgets()})),this._toUnhook.push(this._editor.onDidChangeModelDecorations(function(){return o._onModelDecorationsChanged()})),this._toUnhook.push(this._editor.onDidScrollChange(function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&o._hideWidgets()})))}return Object.defineProperty(e.prototype,"contentWidget",{get:function(){return this._contentWidget||this._createHoverWidget(),this._contentWidget},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"glyphWidget",{get:function(){return this._glyphWidget||this._createHoverWidget(),this._glyphWidget},enumerable:!0,configurable:!0}),e.get=function(t){return t.getContribution(e.ID)},e.prototype._onModelDecorationsChanged=function(){this.contentWidget.onModelDecorationsChanged(),this.glyphWidget.onModelDecorationsChanged()},e.prototype._onEditorMouseDown=function(e){this._isMouseDown=!0;var t=e.target.type;t!==Hn.CONTENT_WIDGET||e.target.detail!==sk.ID?t===Hn.OVERLAY_WIDGET&&e.target.detail===uk.ID||(t!==Hn.OVERLAY_WIDGET&&e.target.detail!==uk.ID&&(this._hoverClicked=!1),this._hideWidgets()):this._hoverClicked=!0},e.prototype._onEditorMouseUp=function(e){this._isMouseDown=!1},e.prototype._onEditorMouseMove=function(e){var t=e.target.type,n=mn.d?"metaKey":"ctrlKey";this._isMouseDown&&this._hoverClicked&&this.contentWidget.isColorPickerVisible()||(t!==Hn.CONTENT_WIDGET||e.target.detail!==sk.ID||e.event[n])&&(t!==Hn.OVERLAY_WIDGET||e.target.detail!==uk.ID||e.event[n])&&(this._editor.getConfiguration().contribInfo.hover&&t===Hn.CONTENT_TEXT?(this.glyphWidget.hide(),this.contentWidget.startShowingAt(e.target.range,!1)):t===Hn.GUTTER_GLYPH_MARGIN?(this.contentWidget.hide(),this.glyphWidget.startShowingAt(e.target.position.lineNumber)):this._hideWidgets())},e.prototype._onKeyDown=function(e){5!==e.keyCode&&6!==e.keyCode&&57!==e.keyCode&&this._hideWidgets()},e.prototype._hideWidgets=function(){!this._contentWidget||this._isMouseDown&&this._hoverClicked&&this._contentWidget.isColorPickerVisible()||(this._glyphWidget.hide(),this._contentWidget.hide())},e.prototype._createHoverWidget=function(){var e=new lk(this._editor,this._modeService,this._openerService);this._contentWidget=new sk(this._editor,e,this._themeService),this._glyphWidget=new uk(this._editor,e)},e.prototype.showContentHover=function(e,t){this.contentWidget.startShowingAt(e,t)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._toUnhook=_t(this._toUnhook),this._glyphWidget&&(this._glyphWidget.dispose(),this._glyphWidget=null),this._contentWidget&&(this._contentWidget.dispose(),this._contentWidget=null)},e.ID="editor.contrib.hover",e=Object(a.b)([Object(a.d)(1,rN),Object(a.d)(2,Fw),Object(a.d)(3,mm)],e)}(),dk=function(e){function t(){return e.call(this,{id:"editor.action.showHover",label:Yo("showHover","Show Hover"),alias:"Show Hover",precondition:null,kbOpts:{kbExpr:wp.editorTextFocus,primary:qt(2089,2087)}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=ck.get(t);if(n){var i=t.getPosition(),o=new sn(i.lineNumber,i.column,i.lineNumber,i.column);n.showContentHover(o,!0)}},t}(Xp);eg(ck),$p(dk),wm(function(e,t){var n=e.getColor(Zf);n&&t.addRule(".monaco-editor .hoverHighlight { background-color: "+n+"; }");var i=e.getColor(Uf);i&&t.addRule(".monaco-editor .monaco-editor-hover { background-color: "+i+"; }");var o=e.getColor(Gf);o&&(t.addRule(".monaco-editor .monaco-editor-hover { border: 1px solid "+o+"; }"),t.addRule(".monaco-editor .monaco-editor-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid "+o.transparent(.5)+"; }"));var r=e.getColor(Qg);r&&t.addRule(".monaco-editor .monaco-editor-hover a { color: "+r+"; }");var s=e.getColor(Xg);s&&t.addRule(".monaco-editor .monaco-editor-hover code { background-color: "+s+"; }")});var hk=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 n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new ln(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new ln(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)},e}(),pk=function(){function e(e,t){this.editor=e,this.editorWorkerService=t,this.currentRequest=Nt.b.as(null),this.decorationRemover=Nt.b.as(null),this.decorationIds=[]}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.prototype.run=function(t,n){var i=this;this.currentRequest.cancel();var o=this.editor.getSelection(),r=this.editor.getModel().uri;if(o.startLineNumber!==o.endLineNumber)return null;var s=new eT(this.editor,5);return this.editorWorkerService.canNavigateValueSet(r)?(this.currentRequest=this.editorWorkerService.navigateValueSet(r,o,n),this.currentRequest=this.currentRequest.then(function(e){return e&&e.range&&e.value?e:null})):this.currentRequest=Nt.b.as(null),this.currentRequest.then(function(n){if(n&&n.range&&n.value&&s.validate(i.editor)){var r=sn.lift(n.range),a=n.range,u=n.value.length-(o.endColumn-o.startColumn);a={startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.startColumn+n.value.length},u>1&&(o=new ln(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+u-1));var l=new hk(r,o,n.value);i.editor.pushUndoStop(),i.editor.executeCommand(t,l),i.editor.pushUndoStop(),i.decorationIds=i.editor.deltaDecorations(i.decorationIds,[{range:a,options:e.DECORATION}]),i.decorationRemover.cancel(),i.decorationRemover=Nt.b.timeout(350),i.decorationRemover.then(function(){i.editor.changeDecorations(function(e){i.decorationIds=e.deltaDecorations(i.decorationIds,[])})})}})},e.ID="editor.contrib.inPlaceReplaceController",e.DECORATION=ph.register({className:"valueSetReplacement"}),e=Object(a.b)([Object(a.d)(1,Vo)],e)}(),gk=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.up",label:Yo("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:wp.writable,kbOpts:{kbExpr:wp.editorTextFocus,primary:3154}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=pk.get(t);if(n)return n.run(this.id,!0)},t}(Xp),fk=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.down",label:Yo("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:wp.writable,kbOpts:{kbExpr:wp.editorTextFocus,primary:3156}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=pk.get(t);if(n)return n.run(this.id,!1)},t}(Xp);eg(pk),$p(gk),$p(fk),wm(function(e,t){var n=e.getColor(Rm);n&&t.addRule(".monaco-editor.vs .valueSetReplacement { outline: solid 2px "+n+"; }")});var mk=function(){function e(e,t){this.selection=e,this.descending=t}return e.prototype.getEditOperations=function(e,t){var n=function(e,t,n){var i=yk(e,t,n);return i?iC.replace(new sn(i.startLineNumber,1,i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),i.after.join("\n")):null}(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=yk(e,t,n);if(!i)return!1;for(var o=0,r=i.before.length;o=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}}var vk=function(){function e(e,t){this.selection=e,this.cursors=t}return e.prototype.getEditOperations=function(e,t){for(var n=function(e,t){t.sort(function(e,t){return e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber});for(var n=t.length-2;n>=0;n--)t[n].lineNumber===t[n+1].lineNumber&&t.splice(n,1);for(var i=[],o=0,r=0,s=t.length,a=1,u=e.getLineCount();a<=u;a++){var l=e.getLineContent(a),c=l.length+1,d=0;if(!(r1&&(o=e.getLineMaxColumn(n-=1)),t.addTrackedEditOperation(new sn(n,o,i,r),null)}},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new ln(n.endLineNumber,this.restoreCursorToColumn,n.endLineNumber,this.restoreCursorToColumn)},e}();function Mk(e,t){for(var n=0,i=0;i=i.startLineNumber+1&&t<=i.endLineNumber+1?t-1:t)};var y=Bc.getGoodIndentForLine(a,e.getLanguageIdAtPosition(c,1),i.startLineNumber+1,s);null!==y&&(m=Ui(e.getLineContent(i.startLineNumber)),(_=Mk(y,o))!==(M=Mk(m,o))&&this.getIndentEditsOfMovingBlock(e,t,i,o,r,_-M))}}else t.addEditOperation(new sn(i.startLineNumber,1,i.startLineNumber,1),h+"\n")}else{var v;if(d=e.getLineContent(c=i.startLineNumber-1),t.addEditOperation(new sn(c,1,c+1,1),null),t.addEditOperation(new sn(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),"\n"+d),this.shouldAutoIndent(e,i))if(a.getLineContent=function(t){return e.getLineContent(t===c?i.startLineNumber:t)},null!==(v=this.matchEnterRule(e,s,o,i.startLineNumber,i.startLineNumber-2)))0!==v&&this.getIndentEditsOfMovingBlock(e,t,i,o,r,v);else{var b=Bc.getGoodIndentForLine(a,e.getLanguageIdAtPosition(i.startLineNumber,1),c,s);if(null!==b){var _,M,w=Ui(e.getLineContent(i.startLineNumber));(_=Mk(b,o))!==(M=Mk(w,o))&&this.getIndentEditsOfMovingBlock(e,t,i,o,r,_-M)}}}}this._selectionId=t.trackSelection(i)}},e.prototype.buildIndentConverter=function(e){return{shiftIndent:function(t){for(var n=Ah.shiftIndentCount(t,t.length+1,e),i="",o=0;o=1&&!(Gi(s===o&&void 0!==r?r:e.getLineContent(s))>=0);)s--;if(s<1||i>e.getLineCount())return null;var a=e.getLineMaxColumn(s),u=Bc.getEnterAction(e,new sn(s,a,s,a));if(u){var l=u.indentation,c=u.enterAction;c.indentAction===xc.None?l=u.indentation+c.appendText:c.indentAction===xc.Indent?l=u.indentation+c.appendText:c.indentAction===xc.IndentOutdent?l=u.indentation:c.indentAction===xc.Outdent&&(l=t.unshiftIndent(u.indentation)+c.appendText);var d=e.getLineContent(i);if(this.trimLeft(d).indexOf(this.trimLeft(l))>=0){var h=Ui(e.getLineContent(i)),p=Ui(l);return 2&Bc.getIndentMetadata(e,i)&&(p=t.unshiftIndent(p)),Mk(p,n)-Mk(h,n)}}return null},e.prototype.trimLeft=function(e){return e.replace(/^\s+/,"")},e.prototype.shouldAutoIndent=function(e,t){if(!this._autoIndent)return!1;if(!e.isCheapToTokenize(t.startLineNumber))return!1;var n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==Bc.getIndentRulesSupport(n)},e.prototype.getIndentEditsOfMovingBlock=function(e,t,n,i,o,r){for(var s=n.startLineNumber;s<=n.endLineNumber;s++){var a=Ui(e.getLineContent(s)),u=wk(Mk(a,i)+r,i,o);u!==a&&(t.addEditOperation(new sn(s,1,s,a.length+1),u),s===n.endLineNumber&&n.endColumn<=a.length+1&&""===u&&(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.startLineNumbere.endLineNumber+1?(o.push(e),t):new ln(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(o.push(e),t):new ln(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)});o.push(r);for(var s=t.getModel(),a=[],u=[],l=i,c=0,d=0,h=o.length;d=1){var L=!0;""===_&&(L=!1),!L||" "!==_.charAt(_.length-1)&&"\t"!==_.charAt(_.length-1)||(L=!1,_=_.replace(/[\s\uFEFF\xA0]+$/g," "));var N=w.substr(C-1);_+=(L?" ":"")+N,y=L?N.length+1:N.length}else y=0}var I=new sn(g,1,f,m);if(!I.isEmpty()){var S=void 0;p.isEmpty()?(a.push(iC.replace(I,_)),S=new ln(I.startLineNumber-c,_.length-y+1,g-c,_.length-y+1)):p.startLineNumber===p.endLineNumber?(a.push(iC.replace(I,_)),S=new ln(p.startLineNumber-c,p.startColumn,p.endLineNumber-c,p.endColumn)):(a.push(iC.replace(I,_)),S=new ln(p.startLineNumber-c,p.startColumn,p.startLineNumber-c,_.length-v)),null!==sn.intersectRanges(I,i)?l=S:u.push(S)}c+=I.endLineNumber-I.startLineNumber}u.unshift(l),t.pushUndoStop(),t.executeEdits(this.id,a,u),t.pushUndoStop()},t}(Xp),Vk=function(e){function t(){return e.call(this,{id:"editor.action.transpose",label:Yo("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:wp.writable})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){for(var n=t.getSelections(),i=t.getModel(),o=[],r=0,s=n.length;r=l){if(u.lineNumber===i.getLineCount())continue;var c=new sn(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),d=i.getValueInRange(c).split("").reverse().join("");o.push(new Sh(new ln(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),d))}else c=new sn(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),d=i.getValueInRange(c).split("").reverse().join(""),o.push(new Th(c,d,new ln(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()},t}(Xp),Yk=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.c)(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 ln(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}(Xp),sj=function(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n},aj=function(){function e(e,t,n,i,o,r,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=i,this.wholeWord=o,this.matchCase=r,this.currentMatch=s}return e.create=function(t,n){var i=n.getState();if(!t.isFocused()&&i.isRevealed&&i.searchString.length>0)return new e(t,n,!1,i.searchString,i.wholeWord,i.matchCase,null);var o,r,s=!1,a=t.getSelections();1===a.length&&a[0].isEmpty()?(s=!0,o=!0,r=!0):(o=i.wholeWord,r=i.matchCase);var u,l=t.getSelection(),c=null;if(l.isEmpty()){var d=t.getModel().getWordAtPosition(l.getStartPosition());if(!d)return null;u=d.word,c=new ln(l.startLineNumber,d.startColumn,l.startLineNumber,d.endColumn)}else u=t.getModel().getValueInRange(l).replace(/\r\n/g,"\n");return new e(t,n,s,u,o,r,c)},e.prototype.addSelectionToNextFindMatch=function(){var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new sj(t.concat(e),e,0)},e.prototype.moveSelectionToNextFindMatch=function(){var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new sj(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getNextMatch=function(){if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findNextMatch(this.searchText,n.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return i?new ln(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.addSelectionToPreviousFindMatch=function(){var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new sj(t.concat(e),e,0)},e.prototype.moveSelectionToPreviousFindMatch=function(){var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new sj(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getPreviousMatch=function(){if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,n.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return i?new ln(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.selectAll=function(){return this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824)},e}(),uj=function(e){function t(t){var n=e.call(this)||this;return n._editor=t,n._ignoreSelectionChange=!1,n._session=null,n._sessionDispose=[],n}return Object(a.c)(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this._endSession(),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype._beginSessionIfNeeded=function(e){var t=this;if(!this._session){var n=aj.create(this._editor,e);if(!n)return;this._session=n;var i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose=[this._editor.onDidChangeCursorSelection(function(e){t._ignoreSelectionChange||t._endSession()}),this._editor.onDidBlurEditorText(function(){t._endSession()}),e.getState().onFindReplaceStateChange(function(e){(e.matchCase||e.wholeWord)&&t._endSession()})]}},t.prototype._endSession=function(){this._sessionDispose=_t(this._sessionDispose),this._session&&this._session.isDisconnectedFromFindController&&this._session.findController.getState().change({wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0},!1),this._session=null},t.prototype._setSelections=function(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1},t.prototype._expandEmptyToWord=function(e,t){if(!t.isEmpty())return t;var n=e.getWordAtPosition(t.getStartPosition());return n?new ln(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):t},t.prototype._applySessionResult=function(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))},t.prototype.getSession=function(e){return this._session},t.prototype.addSelectionToNextFindMatch=function(e){if(!this._session){var t=this._editor.getSelections();if(t.length>1){var n=e.getState().matchCase;if(!vj(this._editor.getModel(),t,n)){for(var i=this._editor.getModel(),o=[],r=0,s=t.length;r0&&n.isRegex)t=this._editor.getModel().findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824);else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll()}if(t.length>0){for(var i=this._editor.getSelection(),o=0,r=t.length;o1){var u=r.getState().matchCase;if(!vj(t.getModel(),a,u))return null}s=aj.create(t,r)}if(!s)return null;var l=null,c=Ll.has(n);if(s.currentMatch){if(c)return null;if(!t.getConfiguration().contribInfo.occurrencesHighlight)return null;l=s.currentMatch}if(/^[ \t]+$/.test(s.searchText))return null;if(s.searchText.length>200)return null;var d=r.getState(),h=d.matchCase;if(d.isRevealed){var p=d.searchString;h||(p=p.toLowerCase());var g=s.searchText;if(h||(g=g.toLowerCase()),p===g&&s.matchCase===d.matchCase&&s.wholeWord===d.wholeWord&&!d.isRegex)return null}return new mj(l,s.searchText,s.matchCase,s.wholeWord?t.getConfiguration().wordSeparators:null)},t.prototype._setState=function(e){if(mj.softEquals(this.state,e))this.state=e;else if(this.state=e,this.state){var n=this.editor.getModel();if(!n.isTooLargeForTokenization()){var i=Ll.has(n),o=n.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map(function(e){return e.range});o.sort(sn.compareRangesUsingStarts);var r=this.editor.getSelections();r.sort(sn.compareRangesUsingStarts);for(var s=[],a=0,u=0,l=o.length,c=r.length;a=c)s.push(d),a++;else{var h=sn.compareRangesUsingStarts(d,r[u]);h<0?(s.push(d),a++):h>0?u++:(a++,u++)}}var p=s.map(function(e){return{range:e,options:i?t._SELECTION_HIGHLIGHT:t._SELECTION_HIGHLIGHT_OVERVIEW}});this.decorations=this.editor.deltaDecorations(this.decorations,p)}}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=ph.register({stickiness:Au.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight",overviewRuler:{color:ym(cm),darkColor:ym(cm),position:xu.Center}}),t._SELECTION_HIGHLIGHT=ph.register({stickiness:Au.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight"}),t}(Ct);function vj(e,t,n){for(var i=bj(e,t[0],!n),o=1,r=t.length;o1;na(this.element,"multiple",e),this.keyMultipleSignatures.set(e),this.signature.innerHTML="",this.docs.innerHTML="";var t=this.hints.signatures[this.currentSignature];if(t){var n=Ba(this.signature,wj(".code")),i=t.parameters.length>0,o=this.editor.getConfiguration().fontInfo;n.style.fontSize=o.fontSize+"px",n.style.fontFamily=o.fontFamily,i?this.renderParameters(n,t,this.hints.activeParameter):Ba(n,wj("span")).textContent=t.label,_t(this.renderDisposeables),this.renderDisposeables=[];var r=t.parameters[this.hints.activeParameter];if(r&&r.documentation){var s=wj("span.documentation");if("string"==typeof r.documentation)ta(this.docs,"markdown-docs"),s.textContent=r.documentation;else{ea(this.docs,"markdown-docs");var a=this.markdownRenderer.render(r.documentation);this.renderDisposeables.push(a),s.appendChild(a.element)}Ba(this.docs,wj("p",null,s))}na(this.signature,"has-docs",!!t.documentation),"string"==typeof t.documentation?Ba(this.docs,wj("p",null,t.documentation)):(a=this.markdownRenderer.render(t.documentation),this.renderDisposeables.push(a),Ba(this.docs,a.element));var u=String(this.currentSignature+1);if(this.hints.signatures.length<10&&(u+="/"+this.hints.signatures.length),this.overloads.textContent=u,r){var l=r.label;this.announcedLabel!==l&&(CM(Yo("hint","{0}, hint",l)),this.announcedLabel=l)}this.editor.layoutContentWidget(this),this.scrollbar.scanDomNode()}},e.prototype.renderParameters=function(e,t,n){for(var i,o=t.label.length,r=0,s=t.parameters.length-1;s>=0;s--){var a=t.parameters[s],u=0,l=0;(r=t.label.lastIndexOf(a.label,o-1))>=0&&(u=r,l=r+a.label.length),(i=document.createElement("span")).textContent=t.label.substring(l,o),Va(e,i),(i=document.createElement("span")).className="parameter "+(s===n?"active":""),i.textContent=t.label.substring(u,l),Va(e,i),o=u}(i=document.createElement("span")).textContent=t.label.substring(0,o),Va(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=_t(this.disposables),this.renderDisposeables=_t(this.renderDisposeables),this.model&&(this.model.dispose(),this.model=null)},e.ID="editor.widget.parameterHintsWidget",e=Object(a.b)([Object(a.d)(1,Wo),Object(a.d)(2,rN),Object(a.d)(3,Fw)],e)}();wm(function(e,t){var n=e.getColor(Gf);n&&(t.addRule(".monaco-editor .parameter-hints-widget { border: "+(e.type===bm?2:1)+"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 i=e.getColor(Uf);i&&t.addRule(".monaco-editor .parameter-hints-widget { background-color: "+i+"; }");var o=e.getColor(Qg);o&&t.addRule(".monaco-editor .parameter-hints-widget a { color: "+o+"; }");var r=e.getColor(Xg);r&&t.addRule(".monaco-editor .parameter-hints-widget code { background-color: "+r+"; }")});var Nj=function(){function e(e,t){this.editor=e,this.widget=t.createInstance(Lj,this.editor)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.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=_t(this.widget)},e.ID="editor.controller.parameterHints",e=Object(a.b)([Object(a.d)(1,Un)],e)}(),Ij=function(e){function t(){return e.call(this,{id:"editor.action.triggerParameterHints",label:Yo("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:wp.hasSignatureHelpProvider,kbOpts:{kbExpr:wp.editorTextFocus,primary:3082}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=Nj.get(t);n&&n.trigger()},t}(Xp);eg(Nj),$p(Ij);var Sj=qa.WEIGHT.editorContrib(75),xj=Qp.bindToContribution(Nj.get);qp(new xj({id:"closeParameterHints",precondition:_j.Visible,handler:function(e){return e.cancel()},kbOpts:{weight:Sj,kbExpr:wp.editorTextFocus,primary:9,secondary:[1033]}})),qp(new xj({id:"showPrevParameterHint",precondition:To.and(_j.Visible,_j.MultipleSignatures),handler:function(e){return e.previous()},kbOpts:{weight:Sj,kbExpr:wp.editorTextFocus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),qp(new xj({id:"showNextParameterHint",precondition:To.and(_j.Visible,_j.MultipleSignatures),handler:function(e){return e.next()},kbOpts:{weight:Sj,kbExpr:wp.editorTextFocus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var Dj=function(){function e(e,t,n){this._editor=e,this._contextMenuService=t,this._onApplyCodeAction=n,this._onDidExecuteCodeAction=new zt,this.onDidExecuteCodeAction=this._onDidExecuteCodeAction.event}return e.prototype.show=function(e,t){var n=this,i=e.then(function(e){return e.map(function(e){return new eu(e.command?e.command.id:e.title,e.title,void 0,!0,function(){return ms(n._onApplyCodeAction(e),function(){return n._onDidExecuteCodeAction.fire(void 0)})})})});this._contextMenuService.showContextMenu({getAnchor:function(){return rn.isIPosition(t)&&(t=n._toCoords(t)),t},getActions:function(){return i},onHide:function(){n._visible=!1},autoSelectFirstItem:!0})},Object.defineProperty(e.prototype,"isVisible",{get:function(){return this._visible},enumerable:!0,configurable:!0}),e.prototype._toCoords=function(e){this._editor.revealPosition(e,1),this._editor.render();var t=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),n=Na(this._editor.getDomNode());return{x:n.left+t.left,y:n.top+t.top+t.height}},e}(),Tj=(n("JcY2"),function(){function e(e){var t=this;this._disposables=[],this._onClick=new zt,this.onClick=this._onClick.event,this._futureFixes=new hn,this._domNode=document.createElement("div"),this._domNode.className="lightbulb-glyph",this._editor=e,this._editor.addContentWidget(this),this._disposables.push(this._editor.onDidChangeModel(function(e){return t._futureFixes.cancel()})),this._disposables.push(this._editor.onDidChangeModelLanguage(function(e){return t._futureFixes.cancel()})),this._disposables.push(this._editor.onDidChangeModelContent(function(e){t._model&&t.model.position.lineNumber>=t._editor.getModel().getLineCount()&&t._futureFixes.cancel()})),this._disposables.push(ra(this._domNode,"click",function(e){t._editor.focus();var n=Na(t._domNode),i=n.top,o=n.height,r=t._editor.getConfiguration().lineHeight,s=Math.floor(r/3);t._position.position.lineNumber0?t._show():t.hide()},function(e){t.hide()})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{get:function(){return this._domNode.title},set:function(e){this._domNode.title=e},enumerable:!0,configurable:!0}),e.prototype._show=function(){var t=this._editor.getConfiguration();if(t.contribInfo.lightbulbEnabled){var n=this._model.position.lineNumber,i=this._editor.getModel(),o=i.getOptions().tabSize,r=i.getLineContent(n),s=uh.computeIndentLevel(r,o),a=n;t.fontInfo.spaceWidth*s>22||(n>1?a-=1:a+=1),this._position={position:{lineNumber:a,column:1},preference:e._posPref},this._editor.layoutContentWidget(this)}},e.prototype.hide=function(){this._position=null,this._model=null,this._futureFixes.cancel(),this._editor.layoutContentWidget(this)},e._posPref=[Wn.EXACT],e}());function Ej(e,t,n){var i=[],o=Dl.all(e).map(function(o){return hs(function(i){return o.provideCodeActions(e,t,{only:n?n.value:void 0},i)}).then(function(e){if(Array.isArray(e))for(var t=0,o=e;t0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0&&(this._edits=this._edits.map(function(e,t){return{value:e,index:t}}).sort(function(e,t){var n=sn.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.pushStackElement(),this._model.pushEditOperations(this._initialSelections,this._edits,function(t){return e._getEndCursorSelections(t)}),this._model.pushStackElement()),void 0!==this._newEol&&(this._model.pushStackElement(),this._model.setEOL(this._newEol),this._model.pushStackElement())},e.prototype._getInitialSelections=function(){var e=this._edits[0].range;return[new ln(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)]},e.prototype._getEndCursorSelections=function(e){for(var t=0,n=0;n1&&t>1?Yo("summary.nm","Made {0} text edits in {1} files",e,t):Yo("summary.n0","Made {0} text edits in one file",e,t)},e.prototype.perform=function(){return Rj(this,void 0,Nt.b,function(){var e,t,n,i,o,r,s,a,u,l,c,d,h=this;return zj(this,function(p){switch(p.label){case 0:for(e=new Set,t=0,n=[],o=0,r=this._edits;o0)throw i.dispose(),new Error(Yo("conflict","These files have changed in the meantime: {0}",o.join(", ")));return[4,i.apply()];case 2:return r=s.sent(),i.dispose(),[2,r]}})})},e=Object(a.b)([Object(a.d)(2,hN),Object(a.d)(3,Xn(Cr))],e)}(),Yj=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},Zj=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=i[2&r[0]?"return":r[0]?"throw":"next"])&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[0,o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]1&&Yo("meta.titleReference"," \u2013 {0} references",e.references.length)}},qj=function(){function e(e,t){e instanceof _T&&gT.inPeekEditor.bindTo(t)}return e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.ID="editor.contrib.referenceController",e=Object(a.b)([Object(a.d)(1,Wo)],e)}(),$j=function(e){function t(){return e.call(this,{id:"editor.action.referenceSearch.trigger",label:Yo("references.action.label","Find All References"),alias:"Find All References",precondition:To.and(wp.hasReferenceProvider,gT.notInPeekEditor,wp.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:wp.editorTextFocus,primary:1094},menuOpts:{group:"navigation",order:1.5}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=uE.get(t);if(n){var i=t.getSelection(),o=nA(t.getModel(),i.getStartPosition()).then(function(e){return new kT(e)});n.toggleWidget(i,o,Jj)}},t}(Xp);function eA(e,t){tA(e,function(e){return e.closeWidget()})}function tA(e,t){var n=function(e){var t=e.get(Fo).getFocusedCodeEditor();return t instanceof _T?t.getParentEditor():t}(e);if(n){var i=uE.get(n);i&&t(i)}}function nA(e,t){var n=vl.ordered(e).map(function(n){return hs(function(i){return n.provideReferences(e,t,{includeDeclaration:!0},i)}).then(function(e){if(Array.isArray(e))return e},function(e){Dt(e)})});return Nt.b.join(n).then(function(e){for(var t=[],n=0,i=e;n0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0},e.prototype.resolveRenameLocation=function(){return oA(this,void 0,Nt.b,function(){var e,t,n,i=this;return rA(this,function(o){switch(o.label){case 0:return(e=this._provider[0]).resolveRenameLocation?[4,hs(function(t){return e.resolveRenameLocation(i.model,i.position,t)})]:[3,2];case 1:t=o.sent(),o.label=2;case 2:return t||(n=this.model.getWordAtPosition(this.position))&&(t=new sn(this.position.lineNumber,n.startColumn,this.position.lineNumber,n.endColumn)),[2,t]}})})},e.prototype.provideRenameEdits=function(e,t,n,i){return void 0===t&&(t=0),void 0===n&&(n=[]),void 0===i&&(i=this.position),oA(this,void 0,Nt.b,function(){var i,o,r=this;return rA(this,function(s){switch(s.label){case 0:return t>=this._provider.length?[2,{edits:void 0,rejectReason:n.join("\n")}]:(i=this._provider[t],[4,hs(function(t){return i.provideRenameEdits(r.model,r.position,e,t)})]);case 1:return(o=s.sent())?o.rejectReason?[2,this.provideRenameEdits(e,t+1,n.concat(o.rejectReason))]:[2,o]:[2,this.provideRenameEdits(e,t+1,n.concat(Yo("no result","No result.")))]}})})},e}(),aA=new zo("renameInputVisible",!1),uA=function(){function e(e,t,n,i,o,r,s){this.editor=e,this._notificationService=t,this._textModelResolverService=n,this._progressService=i,this._fileService=s,this._renameInputField=new iA(e,r),this._renameInputVisible=aA.bindTo(o)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){this._renameInputField.dispose()},e.prototype.getId=function(){return e.ID},e.prototype.run=function(){return oA(this,void 0,Nt.b,function(){var e,t,n,i,o,r,s,a,u=this;return rA(this,function(l){switch(l.label){case 0:e=this.editor.getPosition(),t=new sA(this.editor.getModel(),e),l.label=1;case 1:return l.trys.push([1,3,,4]),[4,t.resolveRenameLocation()];case 2:return n=l.sent(),[3,4];case 3:return i=l.sent(),lE.get(this.editor).showMessage(i,e),[2,void 0];case 4:return o=this.editor.getModel().getValueInRange(n),r=this.editor.getSelection(),s=0,a=o.length,r.isEmpty()||r.startLineNumber!==r.endLineNumber||(s=Math.max(0,r.startColumn-n.startColumn),a=Math.min(n.endColumn,r.endColumn)-n.startColumn),this._renameInputVisible.set(!0),[2,this._renameInputField.getInput(sn.lift(n),o,s,a).then(function(e){if(u._renameInputVisible.reset(),"boolean"!=typeof e){u.editor.focus();var i=new Vj(u.editor,null,u._textModelResolverService,u._fileService),r=new eT(u.editor,15),s=t.provideRenameEdits(e,0,[],sn.lift(n).getStartPosition()).then(function(t){if(!t.rejectReason)return i.add(t.edits),i.perform().then(function(t){t&&u.editor.setSelection(t),CM(Yo("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",o,e,i.ariaMessage()))});r.validate(u.editor)?lE.get(u.editor).showMessage(t.rejectReason,u.editor.getPosition()):u._notificationService.info(t.rejectReason)},function(e){return u._notificationService.error(Yo("rename.failed","Rename failed to execute.")),Nt.b.wrapError(e)});return u._progressService.showWhile(s,250),s}e&&u.editor.focus()},function(e){return u._renameInputVisible.reset(),Nt.b.wrapError(e)})]}})})},e.prototype.acceptRenameInput=function(){this._renameInputField.acceptInput()},e.prototype.cancelRenameInput=function(){this._renameInputField.cancelInput(!0)},e.ID="editor.contrib.renameController",e=Object(a.b)([Object(a.d)(1,lu),Object(a.d)(2,hN),Object(a.d)(3,qM),Object(a.d)(4,Wo),Object(a.d)(5,mm),Object(a.d)(6,Xn(Cr))],e)}(),lA=function(e){function t(){return e.call(this,{id:"editor.action.rename",label:Yo("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:To.and(wp.writable,wp.hasRenameProvider),kbOpts:{kbExpr:wp.editorTextFocus,primary:60},menuOpts:{group:"1_modification",order:1.1}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=uA.get(t);if(n)return n.run()},t}(Xp);eg(uA),$p(lA);var cA=Qp.bindToContribution(uA.get);qp(new cA({id:"acceptRenameInput",precondition:aA,handler:function(e){return e.acceptRenameInput()},kbOpts:{weight:qa.WEIGHT.editorContrib(99),kbExpr:wp.focus,primary:3}})),qp(new cA({id:"cancelRenameInput",precondition:aA,handler:function(e){return e.cancelRenameInput()},kbOpts:{weight:qa.WEIGHT.editorContrib(99),kbExpr:wp.focus,primary:9,secondary:[1033]}})),Jp("_executeDocumentRenameProvider",function(e,t,n){var i=n.newName;if("string"!=typeof i)throw jt("newName");return function(e,t,n){return oA(this,void 0,Nt.b,function(){return rA(this,function(i){return[2,new sA(e,t).provideRenameEdits(n)]})})}(e,t,i)});var dA=function(){function e(){}return Object.defineProperty(e.prototype,"range",{get:function(){return new sn(this.start.lineNumber,this.start.column,this.end.lineNumber,this.end.column)},enumerable:!0,configurable:!0}),e}(),hA=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.c)(t,e),Object.defineProperty(t.prototype,"start",{get:function(){return this.hasChildren?this.children[0].start:this.parent.start},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"end",{get:function(){return this.hasChildren?this.children[this.children.length-1].end:this.parent.end},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasChildren",{get:function(){return this.children&&this.children.length>0},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}(dA),pA=function(e){function t(){var t=e.call(this)||this;return t.elements=new hA,t.elements.parent=t,t}return Object(a.c)(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}(dA),gA=function(e,t,n){this.range=e,this.bracket=t,this.bracketType=n};function fA(e){var t=new dA;return t.start=e.range.getStartPosition(),t.end=e.range.getEndPosition(),t}var mA,yA=function(){function e(e){this._model=e,this._lineCount=this._model.getLineCount(),this._versionId=this._model.getVersionId(),this._lineNumber=0,this._tokenIndex=0,this._lineTokens=null,this._advance()}return e.prototype._advance=function(){for(this._lineTokens&&(this._tokenIndex++,this._tokenIndex>=this._lineTokens.getCount()&&(this._lineTokens=null));this._lineNumber0)return this._nextBuff.shift();var e=this._rawTokenScanner.next();if(!e)return null;var t=e.lineNumber,n=e.lineText,i=e.type,o=e.startOffset,r=e.endOffset;this._cachedLanguageId!==e.languageId&&(this._cachedLanguageId=e.languageId,this._cachedLanguageBrackets=Bc.getBracketsSupport(this._cachedLanguageId));var s,a=this._cachedLanguageBrackets;if(!a||_c(i))return new gA(new sn(t,o+1,t,r+1),0,null);do{if(s=kc.findNextBracketInToken(a.forwardRegex,t,n,o,r)){var u=s.startColumn-1,l=s.endColumn-1;o=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:mA.EOF,pos:this.pos,len:0};var t,n=this.pos,i=0,o=this.value.charCodeAt(n);if("number"==typeof(t=e._table[o]))return this.pos+=1,{type:t,pos:n,len:1};if(e.isDigitCharacter(o)){t=mA.Int;do{o=this.value.charCodeAt(n+(i+=1))}while(e.isDigitCharacter(o));return this.pos+=i,{type:t,pos:n,len:i}}if(e.isVariableCharacter(o)){t=mA.VariableName;do{o=this.value.charCodeAt(n+ ++i)}while(e.isVariableCharacter(o)||e.isDigitCharacter(o));return this.pos+=i,{type:t,pos:n,len:i}}t=mA.Format;do{o=this.value.charCodeAt(n+(i+=1))}while(!isNaN(o)&&"undefined"==typeof e._table[o]&&!e.isDigitCharacter(o)&&!e.isVariableCharacter(o));return this.pos+=i,{type:t,pos:n,len:i}},e._table=((RA={})[36]=mA.Dollar,RA[58]=mA.Colon,RA[44]=mA.Comma,RA[123]=mA.CurlyOpen,RA[125]=mA.CurlyClose,RA[92]=mA.Backslash,RA[47]=mA.Forwardslash,RA[124]=mA.Pipe,RA[43]=mA.Plus,RA[45]=mA.Dash,RA[63]=mA.QuestionMark,RA),e}(),DA=function(){function e(){this._children=[]}return e.prototype.appendChild=function(e){return e instanceof TA&&this._children[this._children.length-1]instanceof TA?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 FA)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}(),TA=function(e){function t(t){var n=e.call(this)||this;return n.value=t,n}return Object(a.c)(t,e),t.escape=function(e){return e.replace(/\$|}|\\/g,"\\$&")},t.prototype.toString=function(){return this.value},t.prototype.toTextmateString=function(){return t.escape(this.value)},t.prototype.len=function(){return this.value.length},t.prototype.clone=function(){return new t(this.value)},t}(DA),EA=function(e){function t(t){var n=e.call(this)||this;return n.index=t,n}return Object(a.c)(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 kA?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}(DA),kA=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.options=[],t}return Object(a.c)(t,e),t.prototype.appendChild=function(e){return e instanceof TA&&(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}(DA),jA=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.c)(t,e),t.prototype.resolve=function(e){var t=this;return e.replace(this.regexp,function(){for(var e="",n=0,i=t._children;no.index?arguments[o.index]:"";e+=r=o.resolve(r)}else e+=o.toString()}return e})},t.prototype.toString=function(){return""},t.prototype.toTextmateString=function(){return"/"+TA.escape(this.regexp.source)+"/"+this.children.map(function(e){return e.toTextmateString()})+"/"+(this.regexp.ignoreCase?"i":"")},t.prototype.clone=function(){var e=new t;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(function(e){return e.clone()}),e},t}(DA),AA=function(e){function t(t,n,i,o){var r=e.call(this)||this;return r.index=t,r.shorthandName=n,r.ifValue=i,r.elseValue=o,r}return Object(a.c)(t,e),t.prototype.resolve=function(e){return"upcase"===this.shorthandName?e?e.toLocaleUpperCase():"":"downcase"===this.shorthandName?e?e.toLocaleLowerCase():"":"capitalize"===this.shorthandName?e?e[0].toLocaleUpperCase()+e.substr(1):"":Boolean(e)&&"string"==typeof this.ifValue?this.ifValue:Boolean(e)||"string"!=typeof this.elseValue?e||"":this.elseValue},t.prototype.toTextmateString=function(){var e="${";return e+=this.index,this.shorthandName?e+=":/"+this.shorthandName:this.ifValue&&this.elseValue?e+=":?"+this.ifValue+":"+this.elseValue:this.ifValue?e+=":+"+this.ifValue:this.elseValue&&(e+=":-"+this.elseValue),e+"}"},t.prototype.clone=function(){return new t(this.index,this.shorthandName,this.ifValue,this.elseValue)},t}(DA),OA=function(e){function t(t){var n=e.call(this)||this;return n.name=t,n}return Object(a.c)(t,e),t.prototype.resolve=function(e){var t=e.resolve(this),n=this._children[0];return n instanceof jA&&1===this._children.length&&(t=n.resolve(t||"")),void 0!==t&&(this._children=[new TA(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}(DA);function PA(e,t){for(var n=e.slice();n.length>0;){var i=n.shift();if(!t(i))break;n.unshift.apply(n,i.children)}}var RA,zA,WA,FA=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.c)(t,e),Object.defineProperty(t.prototype,"placeholderInfo",{get:function(){if(!this._placeholders){var e,t=[];this.walk(function(n){return n instanceof EA&&(t.push(n),e=!e||e.index0?o.set(e.index,e.children):r.push(e)),!0});for(var a=0,u=r;a0&&t),!o.has(0)&&n&&i.appendChild(new EA(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._until=function(e){if(this._token.type===mA.EOF)return!1;for(var t=this._token;this._token.type!==e;)this._token=this._scanner.next();var n=this._scanner.value.substring(t.pos,this._token.pos);return this._token=this._scanner.next(),n},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(mA.Backslash,!0))&&(t=this._accept(mA.Dollar,!0)||this._accept(mA.CurlyClose,!0)||this._accept(mA.Backslash,!0)||t,e.appendChild(new TA(t)),!0)},e.prototype._parseTabstopOrVariableName=function(e){var t,n=this._token;return this._accept(mA.Dollar)&&(t=this._accept(mA.VariableName,!0)||this._accept(mA.Int,!0))?(e.appendChild(/^\d+$/.test(t)?new EA(Number(t)):new OA(t)),!0):this._backTo(n)},e.prototype._parseComplexPlaceholder=function(e){var t,n=this._token;if(!(this._accept(mA.Dollar)&&this._accept(mA.CurlyOpen)&&(t=this._accept(mA.Int,!0))))return this._backTo(n);var i=new EA(Number(t));if(this._accept(mA.Colon))for(;;){if(this._accept(mA.CurlyClose))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new TA("${"+t+":")),i.children.forEach(e.appendChild,e),!0}else{if(!(i.index>0&&this._accept(mA.Pipe)))return this._accept(mA.CurlyClose)?(e.appendChild(i),!0):this._backTo(n);for(var o=new kA;;){if(this._parseChoiceElement(o)){if(this._accept(mA.Comma))continue;if(this._accept(mA.Pipe)&&this._accept(mA.CurlyClose))return i.appendChild(o),e.appendChild(i),!0}return this._backTo(n),!1}}},e.prototype._parseChoiceElement=function(e){for(var t=this._token,n=[];this._token.type!==mA.Comma&&this._token.type!==mA.Pipe;){var i=void 0;if(!(i=(i=this._accept(mA.Backslash,!0))?this._accept(mA.Comma,!0)||this._accept(mA.Pipe,!0)||i:this._accept(void 0,!0)))return this._backTo(t),!1;n.push(i)}return 0===n.length?(this._backTo(t),!1):(e.appendChild(new TA(n.join(""))),!0)},e.prototype._parseComplexVariable=function(e){var t,n=this._token;if(!(this._accept(mA.Dollar)&&this._accept(mA.CurlyOpen)&&(t=this._accept(mA.VariableName,!0))))return this._backTo(n);var i=new OA(t);if(!this._accept(mA.Colon))return this._accept(mA.Forwardslash)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(mA.CurlyClose)?(e.appendChild(i),!0):this._backTo(n);for(;;){if(this._accept(mA.CurlyClose))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new TA("${"+t+":")),i.children.forEach(e.appendChild,e),!0}},e.prototype._parseTransform=function(e){for(var t=new jA,n="",i="";!this._accept(mA.Forwardslash);){var o=void 0;if(o=this._accept(mA.Backslash,!0))n+=o=this._accept(mA.Forwardslash,!0)||o;else{if(this._token.type===mA.EOF)return!1;n+=this._accept(void 0,!0)}}for(;!this._accept(mA.Forwardslash);)if(o=void 0,o=this._accept(mA.Backslash,!0))o=this._accept(mA.Forwardslash,!0)||o,t.appendChild(new TA(o));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1;for(;!this._accept(mA.CurlyClose);){if(this._token.type===mA.EOF)return!1;i+=this._accept(void 0,!0)}try{t.regexp=new RegExp(n,i)}catch(e){return!1}return e.appendChild(t),!0},e.prototype._parseFormatString=function(e){var t=this._token;if(!this._accept(mA.Dollar))return!1;var n=!1;this._accept(mA.CurlyOpen)&&(n=!0);var i=this._accept(mA.Int,!0);if(!i)return this._backTo(t),!1;if(!n)return e.appendChild(new AA(Number(i))),!0;if(this._accept(mA.CurlyClose))return e.appendChild(new AA(Number(i))),!0;if(!this._accept(mA.Colon))return this._backTo(t),!1;if(this._accept(mA.Forwardslash)){var o=this._accept(mA.VariableName,!0);return o&&this._accept(mA.CurlyClose)?(e.appendChild(new AA(Number(i),o)),!0):(this._backTo(t),!1)}if(this._accept(mA.Plus)){if(r=this._until(mA.CurlyClose))return e.appendChild(new AA(Number(i),void 0,r,void 0)),!0}else if(this._accept(mA.Dash)){if(s=this._until(mA.CurlyClose))return e.appendChild(new AA(Number(i),void 0,void 0,s)),!0}else if(this._accept(mA.QuestionMark)){var r;if((r=this._until(mA.Colon))&&(s=this._until(mA.CurlyClose)))return e.appendChild(new AA(Number(i),void 0,r,s)),!0}else{var s;if(s=this._until(mA.CurlyClose))return e.appendChild(new AA(Number(i),void 0,void 0,s)),!0}return this._backTo(t),!1},e.prototype._parseAnything=function(e){return this._token.type!==mA.EOF&&(e.appendChild(new TA(this._scanner.tokenText(this._token))),this._accept(void 0),!0)},e}(),BA=(Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,SELECTION:!0,CLIPBOARD:!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_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0}),function(){function e(e){this._delegates=e}return e.prototype.resolve=function(e){for(var t=0,n=this._delegates;t0&&(this._placeholderGroupsIdx-=1),this._editor.getModel().changeDecorations(function(t){for(var i=new Set,o=[],r=0,s=n._placeholderGroups[n._placeholderGroupsIdx];r0},enumerable:!0,configurable:!0}),e.prototype.computePossibleSelections=function(){for(var e=new Map,t=0,n=this._placeholderGroups;t ")+'"'},e.prototype.insert=function(){var t=this,n=this._editor.getModel(),i=e.createEditsAndSnippets(this._editor,this._template,this._overwriteBefore,this._overwriteAfter,!1),o=i.edits;this._snippets=i.snippets,this._editor.setSelections(n.pushEditOperations(this._editor.getSelections(),o,function(e){return t._snippets[0].hasPlaceholder?t._move(!0):e.map(function(e){return ln.fromPositions(e.range.getEndPosition())})}))},e.prototype.merge=function(t,n,i){var o=this;void 0===n&&(n=0),void 0===i&&(i=0),this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);var r=e.createEditsAndSnippets(this._editor,t,n,i,!0),s=r.edits,a=r.snippets;this._editor.setSelections(this._editor.getModel().pushEditOperations(this._editor.getSelections(),s,function(e){for(var t=0,n=o._snippets;t0},e}(),XA={Visible:new zo("suggestWidgetVisible",!1),MultipleSuggestions:new zo("suggestWidgetMultipleSuggestions",!1),MakesTextEdit:new zo("suggestionMakesTextEdit",!0),AcceptOnKey:new zo("suggestionSupportsAcceptOnKey",!0),AcceptSuggestionsOnEnter:new zo("acceptSuggestionOnEnter",!0)};function KA(e,t,n,i,o){void 0===n&&(n="bottom");var r=[],s=function(e){return"none"===e?function(e){return"snippet"!==e.type}:function(){return!0}}(n);t=t.clone();var a=_l.orderedGroups(e);"none"!==n&&zA&&a.unshift([zA]);var u=o||{triggerKind:hl.Invoke},l=!1;return ys(a.map(function(n){return function(){if(!l)return Nt.b.join(n.map(function(n){if(ur(i)||!(i.indexOf(n)<0))return hs(function(i){return n.provideCompletionItems(e,t,u,i)}).then(function(i){var o=r.length;if(i&&!ur(i.suggestions))for(var a=0,u=i.suggestions;a")}},e.prototype._doInsert=function(e,t,n,i,o){var r=this;void 0===t&&(t=0),void 0===n&&(n=0),void 0===i&&(i=!0),void 0===o&&(o=!0),this._snippetListener=_t(this._snippetListener),i&&this._editor.getModel().pushStackElement(),this._session?this._session.merge(e,t,n):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new QA(this._editor,e,t,n),this._session.insert()),o&&this._editor.getModel().pushStackElement(),this._updateState(),this._snippetListener=[this._editor.onDidChangeModelContent(function(e){return e.isFlush&&r.cancel()}),this._editor.onDidChangeModel(function(){return r.cancel()}),this._editor.onDidChangeCursorSelection(function(){return r._updateState()})]},e.prototype._updateState=function(){if(this._session){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}},e.prototype._handleChoice=function(){var e,t,n=this._session.choice;if(n){if(this._currentChoice!==n){this._currentChoice=n,this._editor.setSelections(this._editor.getSelections().map(function(e){return ln.fromPositions(e.getStartPosition())}));var i=n.options[0];e=this._editor,t=n.options.map(function(e,t){return{type:"value",label:e.value,insertText:e.value,sortText:So("a",t),overwriteAfter:i.value.length}}),setTimeout(function(){WA=t,e.getContribution("editor.contrib.suggestController").triggerSuggest([iO]),WA=void 0},0)}}else this._currentChoice=void 0},e.prototype.finish=function(){for(;this._inSnippet.get();)this.next()},e.prototype.cancel=function(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),_t(this._snippetListener),_t(this._session),this._session=void 0,this._modelVersionId=-1},e.prototype.prev=function(){this._session.prev(),this._updateState()},e.prototype.next=function(){this._session.next(),this._updateState()},e.InSnippetMode=new zo("inSnippetMode",!1),e.HasNextTabstop=new zo("hasNextTabstop",!1),e.HasPrevTabstop=new zo("hasPrevTabstop",!1),e=Object(a.b)([Object(a.d)(1,OM),Object(a.d)(2,Wo)],e)}();eg(oO);var rO=Qp.bindToContribution(oO.get);function sO(){for(var e=[],t=0;t0?[{start:0,end:t.length}]:[]:null}function lO(e){return 97<=e&&e<=122}function cO(e){return 65<=e&&e<=90}function dO(e){return 48<=e&&e<=57}function hO(e){return 32===e||9===e||10===e||13===e}function pO(e){return lO(e)||cO(e)||dO(e)}function gO(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function fO(e,t){for(var n=t;n0&&!pO(e.charCodeAt(n-1)))return n}return e.length}function mO(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=mO(e,t,n+1,i+1);!o&&(r=fO(t,r))60)return null;var n=function(e){for(var t=0,n=0,i=0,o=0,r=0,s=0;s.2&&e.upperPercent<.8&&e.alphaPercent>.6&&e.numericPercent<.2}(n)){if(!function(e){return 0===e.lowerPercent&&e.upperPercent>.6}(n))return null;t=t.toLowerCase()}for(var i=null,o=0;o=0&&(i.push(s),o=s+1)}return[i.length,i]}function CO(){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}var LO=CO(),NO=CO(),IO=CO(),SO=!1;function xO(e,t,n,i,o){function r(e,t,n){for(void 0===n&&(n=" ");e.length=e.length)return!1;switch(e.charCodeAt(t)){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:return!0;default:return!1}}function TO(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function EO(e,t,n){var i=e.length>100?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:c),p=LO[u-1][l]+-1,g=LO[u][l-1]+-1;g>=p?g>h?(LO[u][l]=g,IO[u][l]=4):g===h?(LO[u][l]=g,IO[u][l]=6):(LO[u][l]=h,IO[u][l]=2):p>h?(LO[u][l]=p,IO[u][l]=1):p===h?(LO[u][l]=p,IO[u][l]=3):(LO[u][l]=h,IO[u][l]=2)}if(SO&&(console.log(xO(LO,e,i,t,o)),console.log(xO(IO,e,i,t,o)),console.log(xO(NO,e,i,t,o))),jO=0,AO=-100,OO=r,function e(t,n,i,o,r){if(!(jO>=10||i<-25)){for(var s=0;t>OO&&n>0;){var a=NO[t][n],u=IO[t][n];if(4===u)n-=1,r?i-=5:o.isEmpty()||(i-=1),r=!1,s=0;else{if(!(2&u))return;if(4&u&&e(t,n-1,o.isEmpty()?i:i-1,o.slice(),r),i+=a,t-=1,o.unshift(n-=1),r=!0,1===a){if(s+=1,t===OO)return}else i+=1+s*(a-1),s=0}}jO+=1,(i-=n>=3?9:3*n)>AO&&(AO=i,kO=o)}}(i,o,i===o?1:0,new PO,!1),0!==jO)return[AO,kO.toArray()]}}}var kO,jO=0,AO=0,OO=0,PO=function(){function e(){}return e.prototype.isEmpty=function(){return!this._data&&(!this._parent||this._parent.isEmpty())},e.prototype.unshift=function(e){this._data?this._data.unshift(e):this._data=[e]},e.prototype.slice=function(){var t=new e;return t._parent=this,t._parentLen=this._data?this._data.length:0,t},e.prototype.toArray=function(){if(!this._data)return this._parent.toArray();for(var e=[],t=this;t;)t._parent&&t._parent._data&&e.push(t._parent._data.slice(t._parent._data.length-t._parentLen)),t=t._parent;return Array.prototype.concat.apply(this._data,e)},e}();function RO(e,t,n){return function(e,t,n,i){var o=EO(e,t,i);if(e.length>=3)for(var r=Math.min(7,e.length-1),s=1;so[0])&&(o=u))}}return o}(e,t,0,n)}function zO(e,t){if(!(t+1>=e.length)){var n=e[t],i=e[t+1];if(n!==i)return e.slice(0,t)+i+n+e.slice(t+2)}}var WO=function(){function e(t,n,i,o){this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._refilterKind=1,this._lineContext=i,"top"===o?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:"bottom"===o&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return e.prototype.dispose=function(){for(var e,t=new Set,n=0,i=this._items;n2e3?EO:RO,a=0;at.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}(),FO=function(){function e(e,t,n){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.auto=n}return e.shouldAutoTrigger=function(e){var t=e.getModel();if(!t)return!1;var n=e.getPosition();t.tokenizeIfCheap(n.lineNumber);var i=t.getWordAtPosition(n);return!!i&&i.endColumn===n.column&&!!isNaN(Number(i.word))},e}(),HO=function(){function e(e){var t=this;this._toDispose=[],this._triggerRefilter=new vs,this._onDidCancel=new zt,this._onDidTrigger=new zt,this._onDidSuggest=new zt,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._editor=e,this._state=0,this._triggerAutoSuggestPromise=null,this._requestPromise=null,this._completionModel=null,this._context=null,this._currentSelection=this._editor.getSelection()||new ln(1,1,1,1),this._toDispose.push(this._editor.onDidChangeModel(function(){t._updateTriggerCharacters(),t.cancel()})),this._toDispose.push(this._editor.onDidChangeModelLanguage(function(){t._updateTriggerCharacters(),t.cancel()})),this._toDispose.push(this._editor.onDidChangeConfiguration(function(){t._updateTriggerCharacters(),t._updateQuickSuggest()})),this._toDispose.push(_l.onDidChange(function(){t._updateTriggerCharacters(),t._updateActiveSuggestSession()})),this._toDispose.push(this._editor.onDidChangeCursorSelection(function(e){t._onCursorChange(e)})),this._toDispose.push(this._editor.onDidChangeModelContent(function(e){t._refilterCompletionItems()})),this._updateTriggerCharacters(),this._updateQuickSuggest()}return e.prototype.dispose=function(){_t([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerCharacterListener,this._triggerRefilter]),this._toDispose=_t(this._toDispose),_t(this._completionModel),this.cancel()},e.prototype._updateQuickSuggest=function(){this._quickSuggestDelay=this._editor.getConfiguration().contribInfo.quickSuggestionsDelay,(isNaN(this._quickSuggestDelay)||!this._quickSuggestDelay&&0!==this._quickSuggestDelay||this._quickSuggestDelay<0)&&(this._quickSuggestDelay=10)},e.prototype._updateTriggerCharacters=function(){var e=this;if(_t(this._triggerCharacterListener),!this._editor.getConfiguration().readOnly&&this._editor.getModel()&&this._editor.getConfiguration().contribInfo.suggestOnTriggerCharacters){for(var t=Object.create(null),n=0,i=_l.all(this._editor.getModel());nthis._context.column&&this._completionModel.incomplete&&0!==e.leadingWord.word.length){var t=this._completionModel.resolveIncompleteInfo();this.trigger({auto:2===this._state},!0,t.incomplete,t.complete)}else{var n=this._completionModel.lineContext,i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(FO.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:i})}}else this.cancel()},e}(),BO=(n("YUwp"),this&&this.__assign||Object.assign||function(e){for(var t,n=1,i=arguments.length;n1),r)this.setState(i?0:2),this.completionModel=null;else{var s=this.completionModel.stats;s.wasAutomaticallyTriggered=!!i,this.telemetryService.publicLog("suggestWidget",BO({},s,this.editor.getTelemetryData())),this.focusedItem=null,this.list.splice(0,this.list.length,this.completionModel.items),this.setState(n?4:3),this.list.reveal(t,t),this.list.setFocus([t]),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{item:this.list.getFocusedElements()[0],index:this.list.getFocus()[0],model:this.completionModel}},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(JO(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),Ga(this.details.element),ta(this.element,"docs-side"),ta(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(),Ua(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,t=this.updateListHeight();t!==this.listHeight&&(this.editor.layoutContentWidget(this),this.listHeight=t),this.suggestWidgetVisible.set(!0),this.showTimeout=Nt.b.timeout(100).then(function(){ea(e.element,"visible"),e.onDidShowEmitter.fire(e)})},e.prototype.hide=function(){this.suggestWidgetVisible.reset(),this.suggestWidgetMultipleSuggestions.reset(),ta(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:[Wn.BELOW,Wn.ABOVE]}},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.updateListHeight=function(){var e;return e=2===this.state||1===this.state?this.unfocusedHeight:Math.min(this.list.contentHeight/this.unfocusedHeight,12)*this.unfocusedHeight,this.element.style.lineHeight=this.unfocusedHeight+"px",this.listElement.style.height=e+"px",this.list.layout(e),e},e.prototype.adjustDocsPosition=function(){var e=this.editor.getConfiguration().fontInfo.lineHeight,t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),n=Na(this.editor.getDomNode()),i=n.left+t.left,o=n.top+t.top+t.height,r=Na(this.element),s=r.top;r.lefts&&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])o&&u.type===s.type&&(o=u.touch,i=r)}return i},t.prototype.toJSON=function(){var e=[];return this._cache.forEach(function(t,n){e.push([n,t])}),e},t.prototype.fromJSON=function(e){this._cache.clear();for(var t=0,n=e;t0){this._seq=e[0][1].touch+1;for(var t=0,n=e;t0&&this._activeAcceptCharacters.add(i[0])}}else this.reset()},e.prototype.reset=function(){this._activeItem=void 0},e.prototype.dispose=function(){_t(this._disposables)},e}(),aP=function(){function e(e,t,n,i){var o=this;this._editor=e,this._commandService=t,this._contextKeyService=n,this._instantiationService=i,this._toDispose=[],this._model=new HO(this._editor),this._memory=i.createInstance(rP,this._editor.getConfiguration().contribInfo.suggestSelection),this._toDispose.push(this._model.onDidTrigger(function(e){o._widget||o._createSuggestWidget(),o._widget.showTriggered(e.auto)})),this._toDispose.push(this._model.onDidSuggest(function(e){var t=o._memory.select(o._editor.getModel(),o._editor.getPosition(),e.completionModel.items);o._widget.showSuggestions(e.completionModel,t,e.isFrozen,e.auto)})),this._toDispose.push(this._model.onDidCancel(function(e){o._widget&&!e.retrigger&&o._widget.hideWidget()}));var r=XA.AcceptSuggestionsOnEnter.bindTo(n),s=function(){var e=o._editor.getConfiguration().contribInfo,t=e.acceptSuggestionOnEnter,n=e.suggestSelection;r.set("on"===t||"smart"===t),o._memory.setMode(n)};this._toDispose.push(this._editor.onDidChangeConfiguration(function(e){return s()})),s()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._createSuggestWidget=function(){var e=this;this._widget=this._instantiationService.createInstance(eP,this._editor),this._toDispose.push(this._widget.onDidSelect(this._onDidSelectItem,this));var t=new sP(this._editor,this._widget,function(t){return e._onDidSelectItem(t)});this._toDispose.push(t,this._model.onDidSuggest(function(e){0===e.completionModel.items.length&&t.reset()}));var n=XA.MakesTextEdit.bindTo(this._contextKeyService);this._toDispose.push(this._widget.onDidFocus(function(t){var i=t.item,o=e._editor.getPosition(),r=i.position.column-i.suggestion.overwriteBefore,s=o.column,a=!0;"smart"!==e._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter||2!==e._model.state||i.suggestion.command||i.suggestion.additionalTextEdits||"textmate"===i.suggestion.snippetType||s-r!==i.suggestion.insertText.length||(a=e._editor.getModel().getValueInRange({startLineNumber:o.lineNumber,startColumn:r,endLineNumber:o.lineNumber,endColumn:s})!==i.suggestion.insertText),n.set(a)})),this._toDispose.push({dispose:function(){n.reset()}})},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._toDispose=_t(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&&e.item){var t=e.item,n=t.suggestion,i=t.position,o=this._editor.getPosition().column-i.column;Array.isArray(n.additionalTextEdits)&&(this._editor.pushUndoStop(),this._editor.executeEdits("suggestController.additionalTextEdits",n.additionalTextEdits.map(function(e){return iC.replace(sn.lift(e.range),e.text)})),this._editor.pushUndoStop()),this._memory.memorize(this._editor.getModel(),this._editor.getPosition(),e.item);var r,s=n.insertText;"textmate"!==n.snippetType&&(s=HA.escape(s)),oO.get(this._editor).insert(s,n.overwriteBefore+o,n.overwriteAfter),n.command?n.command.id===uP.id?this._model.trigger({auto:!0},!0):((r=this._commandService).executeCommand.apply(r,[n.command.id].concat(n.command.arguments)).done(void 0,xt),this._model.cancel()):this._model.cancel(),this._alertCompletionItem(e.item)}else this._model.cancel()},e.prototype._alertCompletionItem=function(e){var t=e.suggestion;CM(Yo("arai.alert.snippet","Accepting '{0}' did insert the following text: {1}",t.label,t.insertText))},e.prototype.triggerSuggest=function(e){this._model.trigger({auto:!1},!1,e),this._editor.revealLine(this._editor.getPosition().lineNumber,0),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=Object(a.b)([Object(a.d)(1,di),Object(a.d)(2,Wo),Object(a.d)(3,Un)],e)}(),uP=function(e){function t(){return e.call(this,{id:t.id,label:Yo("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:To.and(wp.writable,wp.hasCompletionItemProvider),kbOpts:{kbExpr:wp.textInputFocus,primary:2058,mac:{primary:266}}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=aP.get(t);n&&n.triggerSuggest()},t.id="editor.action.triggerSuggest",t}(Xp);eg(aP),$p(uP);var lP=qa.WEIGHT.editorContrib(90),cP=Qp.bindToContribution(aP.get);qp(new cP({id:"acceptSelectedSuggestion",precondition:XA.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:lP,kbExpr:wp.textInputFocus,primary:2}})),qp(new cP({id:"acceptSelectedSuggestionOnEnter",precondition:XA.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:lP,kbExpr:To.and(wp.textInputFocus,XA.AcceptSuggestionsOnEnter,XA.MakesTextEdit),primary:3}})),qp(new cP({id:"hideSuggestWidget",precondition:XA.Visible,handler:function(e){return e.cancelSuggestWidget()},kbOpts:{weight:lP,kbExpr:wp.textInputFocus,primary:9,secondary:[1033]}})),qp(new cP({id:"selectNextSuggestion",precondition:To.and(XA.Visible,XA.MultipleSuggestions),handler:function(e){return e.selectNextSuggestion()},kbOpts:{weight:lP,kbExpr:wp.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),qp(new cP({id:"selectNextPageSuggestion",precondition:To.and(XA.Visible,XA.MultipleSuggestions),handler:function(e){return e.selectNextPageSuggestion()},kbOpts:{weight:lP,kbExpr:wp.textInputFocus,primary:12,secondary:[2060]}})),qp(new cP({id:"selectLastSuggestion",precondition:To.and(XA.Visible,XA.MultipleSuggestions),handler:function(e){return e.selectLastSuggestion()},kbOpts:{weight:lP,kbExpr:wp.textInputFocus,primary:13}})),qp(new cP({id:"selectPrevSuggestion",precondition:To.and(XA.Visible,XA.MultipleSuggestions),handler:function(e){return e.selectPrevSuggestion()},kbOpts:{weight:lP,kbExpr:wp.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),qp(new cP({id:"selectPrevPageSuggestion",precondition:To.and(XA.Visible,XA.MultipleSuggestions),handler:function(e){return e.selectPrevPageSuggestion()},kbOpts:{weight:lP,kbExpr:wp.textInputFocus,primary:11,secondary:[2059]}})),qp(new cP({id:"selectFirstSuggestion",precondition:To.and(XA.Visible,XA.MultipleSuggestions),handler:function(e){return e.selectFirstSuggestion()},kbOpts:{weight:lP,kbExpr:wp.textInputFocus,primary:14}})),qp(new cP({id:"toggleSuggestionDetails",precondition:XA.Visible,handler:function(e){return e.toggleSuggestionDetails()},kbOpts:{weight:lP,kbExpr:wp.textInputFocus,primary:2058,mac:{primary:266}}})),qp(new cP({id:"toggleSuggestionFocus",precondition:XA.Visible,handler:function(e){return e.toggleSuggestionFocus()},kbOpts:{weight:lP,kbExpr:wp.textInputFocus,primary:2570,mac:{primary:778}}}));var dP=function(e){function t(){return e.call(this,{id:t.ID,label:Yo({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),alias:"Toggle Tab Key Moves Focus",precondition:null,kbOpts:{kbExpr:null,primary:2091,mac:{primary:1323}}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=gg.getTabFocusMode();gg.setTabFocusMode(!n)},t.ID="editor.action.toggleTabFocusMode",t}(Xp);$p(dP);var hP=Hg("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},Yo("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque to not hide underlying decorations."),!0),pP=Hg("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},Yo("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque to not hide underlying decorations."),!0),gP=Hg("editor.wordHighlightBorder",{light:null,dark:null,hc:Gg},Yo("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable.")),fP=Hg("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:Gg},Yo("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),mP=Hg("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},Yo("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque to not hide underlying decorations."),!0),yP=Hg("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},Yo("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque to not hide underlying decorations."),!0),vP=new zo("hasWordHighlights",!1);function bP(e,t){var n=!1;return ys(Ll.ordered(e).map(function(i){return function(){if(!n)return hs(function(n){return i.provideDocumentHighlights(e,t,n)}).then(function(e){if(Array.isArray(e)&&e.length>0)return n=!0,e},function(e){Dt(e)})}})).then(function(e){return e[0]})}Jp("_executeDocumentHighlights",bP);var _P=function(){function e(e,t){var n=this;this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this._hasWordHighlights=vP.bindTo(t),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getConfiguration().contribInfo.occurrencesHighlight,this.model=this.editor.getModel(),this.toUnhook=[],this.toUnhook.push(e.onDidChangeCursorPosition(function(e){n._ignorePositionChangeEvent||n.occurrencesHighlight&&n._onPositionChanged(e)})),this.toUnhook.push(e.onDidChangeModel(function(e){n._stopAll(),n.model=n.editor.getModel()})),this.toUnhook.push(e.onDidChangeModelContent(function(e){n._stopAll()})),this.toUnhook.push(e.onDidChangeConfiguration(function(e){var t=n.editor.getConfiguration().contribInfo.occurrencesHighlight;n.occurrencesHighlight!==t&&(n.occurrencesHighlight=t,n._stopAll())})),this._lastWordRange=null,this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}return e.prototype.hasDecorations=function(){return this._decorationIds.length>0},e.prototype.restore=function(){this.occurrencesHighlight&&this._run()},e.prototype._getSortedHighlights=function(){var e=this;return this._decorationIds.map(function(t){return e.model.getDecorationRange(t)}).sort(sn.compareRangesUsingStarts)},e.prototype.moveNext=function(){var e=this,t=this._getSortedHighlights(),n=t[(lr(t,function(t){return t.containsPosition(e.editor.getPosition())})+1)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}finally{this._ignorePositionChangeEvent=!1}},e.prototype.moveBack=function(){var e=this,t=this._getSortedHighlights(),n=t[(lr(t,function(t){return t.containsPosition(e.editor.getPosition())})-1+t.length)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}finally{this._ignorePositionChangeEvent=!1}},e.prototype._removeDecorations=function(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]),this._hasWordHighlights.set(!1))},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){this.occurrencesHighlight&&e.reason===mh.Explicit?this._run():this._stopAll()},e.prototype._run=function(){var e=this;if(Ll.has(this.model)){var t=this.editor.getSelection();if(t.startLineNumber===t.endLineNumber){var n=t.startLineNumber,i=t.startColumn,o=t.endColumn,r=this.model.getWordAtPosition({lineNumber:n,column:i});if(!r||r.startColumn>i||r.endColumn=o&&(a=!0)}if(this.lastCursorPositionChangeTime=(new Date).getTime(),a)this.workerRequestCompleted&&-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else{this._stopAll();var d=++this.workerRequestTokenId;this.workerRequestCompleted=!1,this.workerRequest=bP(this.model,this.editor.getPosition()),this.workerRequest.then(function(t){d===e.workerRequestTokenId&&(e.workerRequestCompleted=!0,e.workerRequestValue=t||[],e._beginRenderDecorations())}).done()}this._lastWordRange=s}}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?Ni(tR,e.length):null:JP}(t,n);switch(o+=e.wrappingInfo.inDiffEditor?e.readOnly?Yo("readonlyDiffEditor"," in a read-only pane of a diff editor."):Yo("editableDiffEditor"," in a pane of a diff editor."):e.readOnly?Yo("readonlyEditor"," in a read-only code editor"):Yo("editableEditor"," in a code editor"),e.accessibilitySupport){case 0:var r=mn.d?Yo("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."):Yo("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now.");o+="\n\n - "+r;break;case 2:o+="\n\n - "+Yo("auto_on","The editor is configured to be optimized for usage with a Screen Reader.");break;case 1:o+="\n\n - "+Yo("auto_off","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time."),o+=" "+r}var s=Yo("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),a=Yo("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."),u=Yo("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),l=Yo("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.");o+=e.tabFocusMode?"\n\n - "+this._descriptionForCommand(dP.ID,s,a):"\n\n - "+this._descriptionForCommand(dP.ID,u,l),o+="\n\n - "+(mn.d?Yo("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."):Yo("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility.")),o+="\n\n"+Yo("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),this._contentDomNode.domNode.appendChild(bx(o)),this._contentDomNode.domNode.setAttribute("aria-label",o)},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,Xs(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=Object(a.b)([Object(a.d)(1,Wo),Object(a.d)(2,pi),Object(a.d)(3,rN)],t)}(bb),iR=function(e){function t(){return e.call(this,{id:"editor.action.showAccessibilityHelp",label:Yo("ShowAccessibilityHelpAction","Show Accessibility Help"),alias:"Show Accessibility Help",precondition:null,kbOpts:{kbExpr:wp.focus,primary:Is?2107:571}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=KP.get(t);n&&n.show()},t}(Xp);eg(KP),$p(iR),qp(new(Qp.bindToContribution(KP.get))({id:"closeAccessibilityHelp",precondition:XP,handler:function(e){return e.hide()},kbOpts:{weight:qa.WEIGHT.editorContrib(100),kbExpr:wp.focus,primary:9,secondary:[1033]}})),wm(function(e,t){var n=e.getColor(kf);n&&t.addRule(".monaco-editor .accessibilityHelpWidget { background-color: "+n+"; }");var i=e.getColor(Kg);i&&t.addRule(".monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px "+i+"; }");var o=e.getColor(Ug);o&&t.addRule(".monaco-editor .accessibilityHelpWidget { border: 2px solid "+o+"; }")}),n("tVlf");var oR=function(e){function t(t,n,i){var o=e.call(this)||this;return o._editor=t,o._standaloneThemeService=n,o._modeService=i,o._widget=null,o._register(o._editor.onDidChangeModel(function(e){return o.stop()})),o._register(o._editor.onDidChangeModelLanguage(function(e){return o.stop()})),o._register(Pl.onDidChange(function(e){return o.stop()})),o}return Object(a.c)(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.dispose=function(){this.stop(),e.prototype.dispose.call(this)},t.prototype.launch=function(){this._widget||this._editor.getModel()&&(this._widget=new sR(this._editor,this._standaloneThemeService,this._modeService))},t.prototype.stop=function(){this._widget&&(this._widget.dispose(),this._widget=null)},t.ID="editor.contrib.inspectTokens",t=Object(a.b)([Object(a.d)(1,wM),Object(a.d)(2,Fw)],t)}(Ct),rR=function(e){function t(){return e.call(this,{id:"editor.action.inspectTokens",label:Yo("inspectTokens","Developer: Inspect Tokens"),alias:"Developer: Inspect Tokens",precondition:null})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=oR.get(t);n&&n.launch()},t}(Xp),sR=function(e){function t(t,n,i){var o,r=e.call(this)||this;return r.allowEditorOverflow=!0,r._editor=t,r._modeService=i,r._model=r._editor.getModel(),r._domNode=document.createElement("div"),r._domNode.className="tokens-inspect-widget",r._tokenizationSupport=(o=r._model.getLanguageIdentifier(),Pl.get(o.language)||{getInitialState:function(){return gc},tokenize:function(e,t,n){return mc(o.language,0,t,n)},tokenize2:function(e,t,n){return yc(o.id,0,t,n)}}),r._compute(r._editor.getPosition()),r._register(r._editor.onDidChangeCursorPosition(function(e){return r._compute(r._editor.getPosition())})),r._editor.addContentWidget(r),r}return Object(a.c)(t,e),t.prototype.dispose=function(){this._editor.removeContentWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t._ID},t.prototype._compute=function(e){for(var t=this._getTokensAtLine(e.lineNumber),n=0,i=t.tokens1.length-1;i>=0;i--)if(e.column-1>=t.tokens1[i].offset){n=i;break}var o=0;for(i=t.tokens2.length>>>1;i>=0;i--)if(e.column-1>=t.tokens2[i<<1]){o=i;break}var r="",s=this._model.getLineContent(e.lineNumber),a="";n'+function(e){for(var t="",n=0,i=e.length;n('+a.length+" "+(1===a.length?"char":"chars")+")",r+='
    ';var u=this._decodeMetadata(t.tokens2[1+(o<<1)]);r+='',r+='",r+='",r+='",r+='",r+='",r+="",r+='
    ',n'+Ii(t.tokens1[n].type)+""),this._domNode.innerHTML=r,this._editor.layoutContentWidget(this)},t.prototype._decodeMetadata=function(e){var t=Pl.getColorMap(),n=dl.getLanguageId(e),i=dl.getTokenType(e),o=dl.getFontStyle(e),r=dl.getForeground(e),s=dl.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;n0?n.actionBar.push(e,{icon:!0,label:!1}):n.actionBar.isEmpty()||e&&0!==e.length||n.actionBar.clear()}),e instanceof pR&&e.getGroupLabel()?ea(n.container,"has-group-label"):ta(n.container,"has-group-label"),e instanceof pR){var o=e,r=n;o.showBorder()?(ea(r.container,"results-group-separator"),r.container.style.borderTopColor=i.pickerGroupBorder.toString()):(ta(r.container,"results-group-separator"),r.container.style.borderTopColor=null);var s=o.getGroupLabel()||"";r.group.textContent=s,r.group.style.color=i.pickerGroupForeground.toString()}if(e instanceof hR){var a=e.getHighlights(),u=a[0],l=a[1],c=a[2],d=e.getIcon()?"quick-open-entry-icon "+e.getIcon():"";n.icon.className=d;var h=e.getLabelOptions()||Object.create(null);h.matches=u||[],h.title=e.getTooltip(),h.descriptionTitle=e.getDescriptionTooltip()||e.getDescription(),h.descriptionMatches=l||[],n.label.setValue(e.getLabel(),e.getDescription(),h),n.detail.set(e.getDetail(),c),n.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.keybinding.dispose(),n.keybinding=null,n.detail.dispose(),n.detail=null,n.group=null,n.icon=null,n.label.dispose(),n.label=null},e}(),mR=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=new gR),this._entries=e,this._dataSource=this,this._renderer=new fR(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){$n(e)&&(this._entries=this._entries.concat(e))},e.prototype.setEntries=function(e){$n(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()?Yo("quickOpenAriaLabelEntry","{0}, picker",e.getAriaLabel()):Yo("quickOpenAriaLabel","picker")},e.prototype.isVisible=function(e){return!e.isHidden()},e.prototype.run=function(e,t,n){return e.run(t,n)},e}(),yR=function(e){return e[e.PREVIEW=0]="PREVIEW",e[e.OPEN=1]="OPEN",e[e.OPEN_IN_BACKGROUND=2]="OPEN_IN_BACKGROUND",e}({}),vR=(n("2ZBE"),function(){function e(e){this.modelProvider=ui(e.getModel)?e:{getModel:function(){return e}}}return e.prototype.getId=function(e,t){if(!t)return null;var n=this.modelProvider.getModel();return n===t?"__root__":n.dataSource.getId(t)},e.prototype.hasChildren=function(e,t){var n=this.modelProvider.getModel();return n&&n===t&&n.entries.length>0},e.prototype.getChildren=function(e,t){var n=this.modelProvider.getModel();return Nt.b.as(n===t?n.entries:[])},e.prototype.getParent=function(e,t){return Nt.b.as(null)},e}()),bR=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}(),_R=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}(),MR=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}(),wR=(n("1O6n"),{progressBarBackground:dp.fromHex("#0E70C0")}),CR=function(){function e(e,t){this.options=t||Object.create(null),Or(this.options,wR,!1),this.toUnbind=[],this.workedVal=0,this.progressBarBackground=this.options.progressBarBackground,this.create(e)}return e.prototype.create=function(e){var t=this;m_(e).div({class:"monaco-progress-container"},function(e){t.element=e.clone(),e.div({class:"progress-bit"}).on([za.ANIMATION_START,za.ANIMATION_END,za.ANIMATION_ITERATION],function(e){switch(e.type){case za.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?Nt.b.timeout(200).then(function(){return t.off()}):this.off()):(this.bit.style.width="inherit",e?Nt.b.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 Wr(!isNaN(this.totalWork),"Total work not set"),e=Number(e),Wr(!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 m_(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=_t(this.toUnbind)},e}(),LR=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.c)(t,e),t.prototype.onContextMenu=function(t,n,i){return mn.d?this.onLeftClick(t,n,i):e.prototype.onContextMenu.call(this,t,n,i)},t}(nL),NR=function(e){return e[e.ELEMENT_SELECTED=0]="ELEMENT_SELECTED",e[e.FOCUS_LOST=1]="FOCUS_LOST",e[e.CANCELED=2]="CANCELED",e}({}),IR={background:dp.fromHex("#1E1E1E"),foreground:dp.fromHex("#CCCCCC"),pickerGroupForeground:dp.fromHex("#0097FB"),pickerGroupBorder:dp.fromHex("#3F3F46"),widgetShadow:dp.fromHex("#000000"),progressBarBackground:dp.fromHex("#0E70C0")},SR=Yo("quickOpenAriaLabel","Quick picker. Type to narrow down results."),xR=function(){function e(e,t,n){this.isDisposed=!1,this.toUnbind=[],this.container=e,this.callbacks=t,this.options=n,this.styles=n||Object.create(null),Or(this.styles,IR,!1),this.model=null}return e.prototype.getElement=function(){return m_(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=m_().div(function(t){t.on(za.KEY_DOWN,function(t){9===new zs(t).keyCode&&(Wa.stop(t,!0),e.hide(NR.CANCELED))}).on(za.CONTEXT_MENU,function(e){return Wa.stop(e,!0)}).on(za.FOCUS,function(t){return e.gainingFocus()},null,!0).on(za.BLUR,function(t){return e.loosingFocus(t)},null,!0),e.progressBar=new CR(t.clone(),{progressBarBackground:e.styles.progressBarBackground}),e.progressBar.getContainer().hide(),t.div({class:"quick-open-input"},function(t){e.inputContainer=t,e.inputBox=new Nx(t.getHTMLElement(),null,{placeholder:e.options.inputPlaceHolder||"",ariaLabel:SR,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"),oa(e.inputBox.inputElement,za.KEY_DOWN,function(t){var n=new zs(t),i=e.shouldOpenInBackground(n);if(2!==n.keyCode)if(18===n.keyCode||16===n.keyCode||12===n.keyCode||11===n.keyCode)Wa.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){Wa.stop(t,!0);var o=e.tree.getFocus();o&&e.elementSelected(o,t,i?yR.OPEN_IN_BACKGROUND:yR.OPEN)}}),oa(e.inputBox.inputElement,za.INPUT,function(t){e.onType()})}),e.treeContainer=t.div({class:"quick-open-tree"},function(t){e.tree=(e.options.treeCreator||function(e,t,n){return new AL(e,t,n)})(t.getHTMLElement(),{dataSource:new vR(e),controller:new LR({clickBehavior:$C.ON_MOUSE_UP,keyboardSupport:e.options.keyboardSupport}),renderer:e.renderer=new MR(e,e.styles),filter:new _R(e),accessibilityProvider:new bR(e)},{twistiePixels:11,indentPixels:0,alwaysFocused:!0,verticalScrollMode:Uc.Visible,horizontalScrollMode:Uc.Hidden,ariaLabel:Yo("treeAriaLabel","Quick Picker"),keyboardSupport:e.options.keyboardSupport,preventRootFocus:!0}),e.treeElement=e.tree.getHTMLElement(),e.toUnbind.push(e.tree.onDidChangeFocus(function(t){e.elementFocused(t.focus,t)})),e.toUnbind.push(e.tree.onDidChangeSelection(function(t){if(t.selection&&t.selection.length>0){var n=t.payload&&t.payload.originalEvent instanceof Ys?t.payload.originalEvent:void 0,i=!!n&&e.shouldOpenInBackground(n);e.elementSelected(t.selection[0],t,i?yR.OPEN_IN_BACKGROUND:yR.OPEN)}}))}).on(za.KEY_DOWN,function(t){var n=new zs(t);e.quickNavigateConfiguration&&(18!==n.keyCode&&16!==n.keyCode&&12!==n.keyCode&&11!==n.keyCode||(Wa.stop(t,!0),e.navigateInTree(n.keyCode)))}).on(za.KEY_UP,function(t){var n=new zs(t),i=n.keyCode;if(e.quickNavigateConfiguration&&(3===i||e.quickNavigateConfiguration.keybindings.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 o=e.tree.getFocus();o&&e.elementSelected(o,t)}}).clone()}).addClass("monaco-quick-open-widget").build(this.container),this.layoutDimensions&&this.layout(this.layoutDimensions),this.applyStyles(),oa(this.treeContainer.getHTMLElement(),za.KEY_DOWN,function(t){var n=new zs(t);e.quickNavigateConfiguration||18!==n.keyCode&&16!==n.keyCode&&12!==n.keyCode&&11!==n.keyCode||(Wa.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey),e.inputBox.inputElement.focus())}),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.options.treeCreator&&this.tree.style(this.styles),this.renderer&&this.renderer.updateStyles(this.styles)},e.prototype.shouldOpenInBackground=function(e){if(e instanceof zs){if(17!==e.keyCode)return!1;if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return!1;var t=this.inputBox.inputElement;return t.selectionEnd===this.inputBox.value.length&&t.selectionStart===t.selectionEnd}return e.middleButton},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,xt)},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,yR.PREVIEW,n)}},e.prototype.elementSelected=function(e,t,n){var i=!0;if(this.isVisible()){var o=n||yR.OPEN,r={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};i=this.model.runner.run(e,o,r)}i&&this.hide(NR.ELEMENT_SELECTED)},e.prototype.extractKeyMods=function(e){return{ctrlCmd:e&&(e.ctrlKey||e.metaKey||e.payload&&e.payload.originalEvent&&(e.payload.originalEvent.ctrlKey||e.payload.originalEvent.metaKey)),alt:e&&(e.altKey||e.payload&&e.payload.originalEvent&&e.payload.originalEvent.altKey)}},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||ei(e)?this.helpText.hide():this.helpText.show()),ei(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)},xt)},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,a=s.toLowerCase(),u=0;ut.autoFocusIndex&&(this.tree.focusNth(t.autoFocusIndex),this.tree.reveal(this.tree.getFocus()).done(null,xt)):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)},xt)))},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;l0&&0===n.indexOf(":")){var d=null,h=null,p=0;for(s=0;s0)):p++}h&&h.setGroupLabel(this.typeToLabel(d,p))}else o.length>0&&o[0].setGroupLabel(Yo("symbols","symbols ({0})",o.length));return o},t.prototype.typeToLabel=function(e,t){switch(e){case"module":return Yo("modules","modules ({0})",t);case"class":return Yo("class","classes ({0})",t);case"interface":return Yo("interface","interfaces ({0})",t);case"method":return Yo("method","methods ({0})",t);case"function":return Yo("function","functions ({0})",t);case"property":return Yo("property","properties ({0})",t);case"variable":return Yo("variable","variables ({0})",t);case"var":return Yo("variable2","variables ({0})",t);case"constructor":return Yo("_constructor","constructors ({0})",t);case"call":return Yo("call","calls ({0})",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}(ER)),n("wtJh");var OR=function(e){function t(t,n,i){var o=e.call(this)||this;return o.editor=n,o.decorator=i,o._parseResult=o._parseInput(t),o}return Object(a.c)(t,e),t.prototype._parseInput=function(e){var t,n,i=e.split(",").map(function(e){return parseInt(e,10)}).filter(function(e){return!isNaN(e)});t=0===i.length?new rn(-1,-1):new rn(i[0],1===i.length?1:i[1]);var o=(n=Zn(this.editor)?this.editor.getModel():this.editor.getModel().modified).validatePosition(t).equals(t);return{position:t,isValid:o,label:o?t.column&&t.column>1?Yo("gotoLineLabelValidLineAndColumn","Go to line {0} and character {1}",t.lineNumber,t.column):Yo("gotoLineLabelValidLine","Go to line {0}",t.lineNumber,t.column):t.lineNumber<1||t.lineNumber>n.getLineCount()?Yo("gotoLineLabelEmptyWithLineLimit","Type a line number between 1 and {0} to navigate to",n.getLineCount()):Yo("gotoLineLabelEmptyWithLineAndColumnLimit","Type a character between 1 and {0} to navigate to",n.getLineMaxColumn(t.lineNumber))}},t.prototype.getLabel=function(){return this._parseResult.label},t.prototype.getAriaLabel=function(){return Yo("gotoLineAriaLabel","Go to line {0}",this._parseResult.label)},t.prototype.run=function(e,t){return e===yR.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,0),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,0),this.decorator.decorateLine(e,this.editor),!1},t.prototype.toSelection=function(){return new sn(this._parseResult.position.lineNumber,this._parseResult.position.column,this._parseResult.position.lineNumber,this._parseResult.position.column)},t}(hR);$p(function(e){function t(){return e.call(this,Yo("gotoLineActionInput","Type a line number, followed by an optional colon and a character number to navigate to"),{id:"editor.action.gotoLine",label:Yo("GotoLineAction.label","Go to Line..."),alias:"Go to Line...",precondition:null,kbOpts:{kbExpr:wp.focus,primary:2085,mac:{primary:293}}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=this;this._show(this.getController(t),{getModel:function(e){return new mR([new OR(e,t,n.getController(t))])},getAutoFocus:function(e){return{autoFocusFirstEntry:e.length>0}}})},t}(ER));var PR=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 Object(a.c)(t,e),t.prototype.getLabel=function(){return this.action.label},t.prototype.getAriaLabel=function(){return Yo("ariaLabelEntry","{0}, commands",this.getLabel())},t.prototype.getGroupLabel=function(){return this.key},t.prototype.run=function(e,t){var n=this;return e===yR.OPEN&&(Nt.b.timeout(50).done(function(){n.editor.focus();try{(n.action.run()||Nt.b.as(null)).done(null,xt)}catch(e){xt(e)}},xt),!0)},t}(pR);$p(function(e){function t(){return e.call(this,Yo("quickCommandActionInput","Type the name of an action you want to execute"),{id:"editor.action.quickCommand",label:Yo("QuickCommandAction.label","Command Palette"),alias:"Command Palette",precondition:null,kbOpts:{kbExpr:wp.focus,primary:Is?571:59},menuOpts:{}})||this}return Object(a.c)(t,e),t.prototype.run=function(e,t){var n=this,i=e.get(pi);this._show(this.getController(t),{getModel:function(e){return new mR(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(),o=[],r=0;rt&&(this.treeControlContextMenuX=t/2)}this.treeControlContextMenuY=this.treeControlContextMenuY+r,this.showContextMenu=!0,this.selectedCell=e.target.id},e.prototype.onSelect=function(e,t){var n;t.stopPropagation(),this.showContextMenu=!1,document.getElementById("comparison-table-container").style.overflowY="auto",this.appLog.add("Grid: Row selected","info"),n=e?"node-"+e.Id:t.target.id;for(var i=t.ctrlKey,o=t.shiftKey,r=document.querySelectorAll(".transparent-cell"),s=0;s-1?(this.lastSelectedRow.classList.remove("selected-row"),this.selectedNodes.splice(this.selectedNodes.indexOf(o.Id),1)):(this.lastSelectedRow.classList.add("selected-row"),this.selectedNodes.push(o.Id))),c=document.getElementById("comparison-grid"),d=this.getSiblingElement(!1,c.firstElementChild.firstElementChild.id),h=c.firstElementChild.lastElementChild,a=n.id,o=this.comparisonDataToDisplay.find(function(e){return e.Id===parseInt(a.split("node-")[1],10)}),!this.oldDirection||this.oldDirection===this.direction||d!==n&&h!==n||(this.selectedNodes.indexOf(o.Id)>-1?(n.classList.remove("selected-row"),this.selectedNodes.splice(this.selectedNodes.indexOf(o.Id),1)):(n.classList.add("selected-row"),this.selectedNodes.push(o.Id))),this.oldDirection=this.direction;u;)(t=this.getSiblingElement(l,a))&&t.classList&&t.classList.contains("grid-data-row")?(a=t.id,document.getElementById(a+"-"+i).focus(),o=this.comparisonDataToDisplay.find(function(e){return e.Id===parseInt(a.split("node-")[1],10)}),this.selectedObject=o,-1===this.selectedNodes.indexOf(o.Id)?(t.classList.add("selected-row"),this.selectedNodes.push(o.Id)):(t.classList.remove("selected-row"),this.selectedNodes.splice(this.selectedNodes.indexOf(o.Id),1)),t.focus(),t=this.getSiblingElement(l,a)):u=!1}}else{if(!e.shiftKey)if("action-dropdown"===i){var p=void 0;p=document.getElementById(e.target.id).firstElementChild,o=this.comparisonDataToDisplay.find(function(t){return t.Id===parseInt(e.target.id.split("node-")[1],10)});var g=p.selectedOptions[0],f=g.innerHTML;if(t=this.getSiblingElement(38===e.which,g.id)){p.selectedIndex=38===e.which?p.selectedIndex-1:p.selectedIndex+1;var m=p.selectedOptions[0].innerHTML;m!==f&&(this.gridService.sendChange(o.Id,m,f),this.getDataToDisplay(!0))}}else{this.selectedNodes=[];for(var y=document.querySelectorAll(".selected-row"),v=0;v1?this.selectedNodes.indexOf(o.Id)>-1&&(n.classList.remove("selected-row"),this.selectedNodes.splice(this.selectedNodes.indexOf(o.Id),1),b=!1):0!==this.selectedNodes.length&&1!==this.selectedNodes.length||(this.oldDirection=this.direction),t&&t.classList.contains("grid-data-row")||(t=n,b=!1),_=t.id,document.getElementById(_+"-"+i).focus(),_=_.split("node-")[1],o=this.comparisonDataToDisplay.find(function(e){return e.Id===parseInt(_,10)}),-1===this.selectedNodes.indexOf(o.Id)?(t.classList.add("selected-row"),this.selectedNodes.push(o.Id),this.lastSelectedRow=t):b&&(t.classList.remove("selected-row"),this.selectedNodes.splice(this.selectedNodes.indexOf(o.Id),1)),this.selectedObject=o}}else if((37===e.which||39===e.which||9===e.which||e.shiftKey&&9===e.which)&&!e.ctrlKey){e.preventDefault(),e.stopPropagation(),l=!0;var M=void 0;c=void 0,d=void 0,h=void 0,c=document.getElementById("comparison-grid"),d=this.getSiblingElement(!1,c.firstElementChild.firstElementChild.id),h=c.firstElementChild.lastElementChild,(39===e.which||9===e.which&&!e.shiftKey)&&(l=!1),(t=this.getSiblingElement(l,e.target.id))?t.focus():(i=document.getElementById(e.target.id).getAttribute("data-column-type"),n===d&&"node-type"===i||n===h&&"action-dropdown"===i||(n.classList.remove("selected-row"),o=this.comparisonDataToDisplay.find(function(e){return e.Id===parseInt(n.id.split("node-")[1],10)}),this.selectedNodes.indexOf(o.Id)>-1&&this.selectedNodes.splice(this.selectedNodes.indexOf(o.Id),1),t=this.getSiblingElement(l,n.id),o=this.comparisonDataToDisplay.find(function(e){return e.Id===parseInt(t.id.split("node-")[1],10)}),this.selectedObject=o,-1===this.selectedNodes.indexOf(o.Id)?(t.classList.add("selected-row"),this.selectedNodes.push(o.Id)):(t.classList.remove("selected-row"),this.selectedNodes.splice(this.selectedNodes.indexOf(o.Id),1)),M=l?document.getElementById(t.id).lastElementChild:document.getElementById(t.id).firstElementChild,document.getElementById(M.id).focus()))}for(var w=document.querySelectorAll(".selected-row .greyed-out-cell"),C=0;C0){t.selectedObject=t.comparisonDataToDisplay[0];var o=t;t.intervalId=setInterval(function(){o.bindElements(i)},1e3)}}t.showContextMenu=!1})},e.prototype.changeOptions=function(e){for(var t,n,i=0;i0),e(t,9,0,n.comparisonDataToDisplay.length>0),e(t,12,0,n.comparisonDataToDisplay.length>0)},null)}var XR=o.T({encapsulation:0,styles:[["body[_ngcontent-%COMP%]{overflow-y:hidden}"]],data:{}});function KR(e){return o._11(0,[(e()(),o.V(0,0,null,null,1,"app-grid",[],null,[["document","mouseup"],["window","resize"]],function(e,t,n){var i=!0;return"document:mouseup"===t&&(i=!1!==o._6(e,1).onMouseUp(n)&&i),"window:resize"===t&&(i=!1!==o._6(e,1).onResize(n)&&i),i},QR,HR)),o.U(1,114688,null,0,FR,[y,f,o.s],null,null),(e()(),o._10(-1,null,["\n"]))],function(e,t){e(t,1,0)},null)}var JR=o.R("app-root",s,function(e){return o._11(0,[(e()(),o.V(0,0,null,null,1,"app-root",[],null,null,null,KR,XR)),o.U(1,49152,null,0,s,[],null,null)],null,null)},{},{},[]),qR=o.S(r,[s],function(e){return o._3([o._4(512,o.g,o.O,[[8,[JR]],[3,o.g],o.q]),o._4(5120,o.p,o._8,[[3,o.p]]),o._4(4608,I,S,[o.p,[2,N]]),o._4(4608,o.f,o.f,[]),o._4(5120,o.a,o.X,[]),o._4(5120,o.n,o._5,[]),o._4(5120,o.o,o._7,[]),o._4(4608,tt,nt,[A]),o._4(6144,o.z,null,[tt]),o._4(4608,xe,De,[]),o._4(5120,te,function(e,t,n,i,o){return[new Ie(e,t),new je(n),new Te(i,o)]},[A,o.s,A,A,xe]),o._4(4608,ne,ne,[te,o.s]),o._4(135680,re,re,[A]),o._4(4608,he,he,[ne,re]),o._4(6144,o.x,null,[he]),o._4(6144,oe,null,[re]),o._4(4608,o.C,o.C,[o.s]),o._4(4608,G,G,[A]),o._4(4608,J,J,[A]),o._4(4608,pt,pt,[]),o._4(4608,f,f,[]),o._4(4608,m,m,[]),o._4(4608,y,y,[f,m]),o._4(512,j,j,[]),o._4(1024,o.i,dt,[]),o._4(1024,o.b,function(e){return[(t=e,q("probe",ee),q("coreTokens",Object(a.a)({},$,(t||[]).reduce(function(e,t){return e[t.name]=t.token,e},{}))),function(){return ee})];var t},[[2,o.r]]),o._4(512,o.c,o.c,[[2,o.b]]),o._4(131584,o.e,o.e,[o.s,o.P,o.m,o.i,o.g,o.c]),o._4(512,o.d,o.d,[o.e]),o._4(512,ht,ht,[[3,ht]]),o._4(512,yt,yt,[]),o._4(512,vt,vt,[]),o._4(512,r,r,[])])});Object(o.I)(),ct().bootstrapModuleFactory(qR).catch(function(e){return console.log(e)})},x6VL:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("TToO"),o=function(e){function t(){var t=e.call(this,"object unsubscribed");this.name=t.name="ObjectUnsubscribedError",this.stack=t.stack,this.message=t.message}return Object(i.c)(t,e),t}(Error)}},[0]); \ No newline at end of file diff --git a/AlmToolkit/AlmToolkit/html-resources/dist/polyfills.bundle.js b/AlmToolkit/AlmToolkit/html-resources/dist/polyfills.bundle.js new file mode 100644 index 0000000..0d70b65 --- /dev/null +++ b/AlmToolkit/AlmToolkit/html-resources/dist/polyfills.bundle.js @@ -0,0 +1 @@ +webpackJsonp([45],{"/whu":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"0Rih":function(t,e,n){"use strict";var r=n("OzIq"),o=n("Ds5P"),i=n("R3AP"),a=n("A16L"),u=n("1aA0"),c=n("vmSO"),s=n("9GpA"),l=n("UKM+"),f=n("zgIt"),p=n("qkyc"),h=n("yYvK"),v=n("kic5");t.exports=function(t,e,n,d,g,y){var k=r[t],_=k,m=g?"set":"add",b=_&&_.prototype,w={},T=function(t){var e=b[t];i(b,t,"delete"==t?function(t){return!(y&&!l(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(y&&!l(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return y&&!l(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof _&&(y||b.forEach&&!f(function(){(new _).entries().next()}))){var E=new _,O=E[m](y?{}:-0,1)!=E,S=f(function(){E.has(1)}),D=p(function(t){new _(t)}),x=!y&&f(function(){for(var t=new _,e=5;e--;)t[m](e,e);return!t.has(-0)});D||((_=e(function(e,n){s(e,_,t);var r=v(new k,e,_);return void 0!=n&&c(n,g,r[m],r),r})).prototype=b,b.constructor=_),(S||x)&&(T("delete"),T("has"),g&&T("get")),(x||O)&&T(m),y&&b.clear&&delete b.clear}else _=d.getConstructor(e,t,g,m),a(_.prototype,n),u.NEED=!0;return h(_,t),w[t]=_,o(o.G+o.W+o.F*(_!=k),w),y||d.setStrong(_,t,g),_}},1:function(t,e,n){t.exports=n("XS25")},"1aA0":function(t,e,n){var r=n("ulTY")("meta"),o=n("UKM+"),i=n("WBcL"),a=n("lDLk").f,u=0,c=Object.isExtensible||function(){return!0},s=!n("zgIt")(function(){return c(Object.preventExtensions({}))}),l=function(t){a(t,r,{value:{i:"O"+ ++u,w:{}}})},f=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,r)){if(!c(t))return"F";if(!e)return"E";l(t)}return t[r].i},getWeak:function(t,e){if(!i(t,r)){if(!c(t))return!0;if(!e)return!1;l(t)}return t[r].w},onFreeze:function(t){return s&&f.NEED&&c(t)&&!i(t,r)&&l(t),t}}},"2p1q":function(t,e,n){var r=n("lDLk"),o=n("fU25");t.exports=n("bUqO")?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},"3q4u":function(t,e,n){var r=n("wCso"),o=n("DIVP"),i=r.key,a=r.map,u=r.store;r.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(e),n,!1);if(void 0===r||!r.delete(t))return!1;if(r.size)return!0;var c=u.get(e);return c.delete(n),!!c.size||u.delete(e)}})},"7gX0":function(t,e){var n=t.exports={version:"2.5.6"};"number"==typeof __e&&(__e=n)},"7ylX":function(t,e,n){var r=n("DIVP"),o=n("twxM"),i=n("QKXm"),a=n("mZON")("IE_PROTO"),u=function(){},c=function(){var t,e=n("jhxf")("iframe"),r=i.length;for(e.style.display="none",n("d075").appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("