@lowcodeunit/applications-flow-common 1.33.100-lets-get-social-ish → 1.33.104-lets-get-social-ish
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/lowcodeunit-applications-flow-common.umd.js +367 -138
- package/bundles/lowcodeunit-applications-flow-common.umd.js.map +1 -1
- package/bundles/lowcodeunit-applications-flow-common.umd.min.js +2 -2
- package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +1 -1
- package/esm2015/lib/applications-flow.module.js +8 -4
- package/esm2015/lib/controls/build-pipeline-form/build-pipeline-form.component.js +107 -30
- package/esm2015/lib/controls/devops-source-control-form/devops-source-control-form.component.js +27 -31
- package/esm2015/lib/controls/edit-application-form/edit-application-form.component.js +60 -0
- package/esm2015/lib/controls/processor-details-form/processor-details-form.component.js +89 -46
- package/esm2015/lib/controls/security-toggle/security-toggle.component.js +14 -24
- package/esm2015/lib/controls/source-control-form/source-control-form.component.js +8 -6
- package/esm2015/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.js +2 -2
- package/esm2015/lib/dialogs/source-control-dialog/source-control-dialog.component.js +2 -2
- package/esm2015/lib/elements/slotted-card/slotted-card.component.js +6 -6
- package/esm2015/lib/services/applications-flow.service.js +6 -1
- package/esm2015/lowcodeunit-applications-flow-common.js +2 -1
- package/fesm2015/lowcodeunit-applications-flow-common.js +309 -139
- package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -1
- package/lib/applications-flow.module.d.ts.map +1 -1
- package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +12 -2
- package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts.map +1 -1
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +9 -9
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts.map +1 -1
- package/lib/controls/edit-application-form/edit-application-form.component.d.ts +17 -0
- package/lib/controls/edit-application-form/edit-application-form.component.d.ts.map +1 -0
- package/lib/controls/processor-details-form/processor-details-form.component.d.ts +23 -8
- package/lib/controls/processor-details-form/processor-details-form.component.d.ts.map +1 -1
- package/lib/controls/security-toggle/security-toggle.component.d.ts +3 -1
- package/lib/controls/security-toggle/security-toggle.component.d.ts.map +1 -1
- package/lib/controls/source-control-form/source-control-form.component.d.ts +4 -5
- package/lib/controls/source-control-form/source-control-form.component.d.ts.map +1 -1
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +1 -0
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts.map +1 -1
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts.map +1 -1
- package/lib/elements/slotted-card/slotted-card.component.d.ts +3 -3
- package/lib/elements/slotted-card/slotted-card.component.d.ts.map +1 -1
- package/lib/services/applications-flow.service.d.ts +1 -0
- package/lib/services/applications-flow.service.d.ts.map +1 -1
- package/lowcodeunit-applications-flow-common.d.ts +1 -0
- package/lowcodeunit-applications-flow-common.d.ts.map +1 -1
- package/lowcodeunit-applications-flow-common.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -50,6 +50,7 @@ import { BuildPipelineFormComponent } from './controls/build-pipeline-form/build
|
|
|
50
50
|
import { DevopsSourceControlFormComponent } from './controls/devops-source-control-form/devops-source-control-form.component';
|
|
51
51
|
import { SourceControlDialogComponent } from './dialogs/source-control-dialog/source-control-dialog.component';
|
|
52
52
|
import { BuildPipelineDialogComponent } from './dialogs/build-pipeline-dialog/build-pipeline-dialog.component';
|
|
53
|
+
import { EditApplicationFormComponent } from './controls/edit-application-form/edit-application-form.component';
|
|
53
54
|
export class ApplicationsFlowModule {
|
|
54
55
|
static forRoot() {
|
|
55
56
|
return {
|
|
@@ -106,7 +107,8 @@ ApplicationsFlowModule.decorators = [
|
|
|
106
107
|
BuildPipelineFormComponent,
|
|
107
108
|
DevopsSourceControlFormComponent,
|
|
108
109
|
SourceControlDialogComponent,
|
|
109
|
-
BuildPipelineDialogComponent
|
|
110
|
+
BuildPipelineDialogComponent,
|
|
111
|
+
EditApplicationFormComponent
|
|
110
112
|
],
|
|
111
113
|
imports: [
|
|
112
114
|
FathymSharedModule,
|
|
@@ -158,7 +160,8 @@ ApplicationsFlowModule.decorators = [
|
|
|
158
160
|
BuildPipelineFormComponent,
|
|
159
161
|
DevopsSourceControlFormComponent,
|
|
160
162
|
SourceControlDialogComponent,
|
|
161
|
-
BuildPipelineDialogComponent
|
|
163
|
+
BuildPipelineDialogComponent,
|
|
164
|
+
EditApplicationFormComponent
|
|
162
165
|
],
|
|
163
166
|
entryComponents: [
|
|
164
167
|
ApplicationsFlowProjectsElementComponent,
|
|
@@ -197,8 +200,9 @@ ApplicationsFlowModule.decorators = [
|
|
|
197
200
|
BuildPipelineFormComponent,
|
|
198
201
|
DevopsSourceControlFormComponent,
|
|
199
202
|
SourceControlDialogComponent,
|
|
200
|
-
BuildPipelineDialogComponent
|
|
203
|
+
BuildPipelineDialogComponent,
|
|
204
|
+
EditApplicationFormComponent
|
|
201
205
|
],
|
|
202
206
|
},] }
|
|
203
207
|
];
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25zLWZsb3cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsaWIvYXBwbGljYXRpb25zLWZsb3cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDhGQUE4RixDQUFDO0FBQ2hKLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ2xJLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUN4RyxPQUFP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LGdDQUFnQztvQkFDaEMsNEJBQTRCO29CQUM1Qiw0QkFBNEI7aUJBQzdCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3Jtc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Zvcm1zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9qZWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7IEZhdGh5bVNoYXJlZE1vZHVsZSwgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICdAbGN1L2NvbW1vbic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZUNvbnRleHQgfSBmcm9tICcuL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LXN0YXRlLmNvbnRleHQnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9wcm9qZWN0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBIb3N0TW9kdWxlIH0gZnJvbSAnQGxvd2NvZGV1bml0L2FwcC1ob3N0LWNvbW1vbic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSG9zdGluZ0RldGFpbHNGb3JtR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENyZWF0ZVByb2plY3RXaXphcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2NyZWF0ZS1wcm9qZWN0LXdpemFyZC9jcmVhdGUtcHJvamVjdC13aXphcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHluYW1pY1RhYnNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2R5bmFtaWMtdGFicy9keW5hbWljLXRhYnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2plY3RUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9wcm9qZWN0LXRhYnMvcHJvamVjdC10YWJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdlbmVyYWxDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZ2VuZXJhbC9nZW5lcmFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvbWFpbnNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZG9tYWlucy9kb21haW5zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2plY3RJdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvcHJvamVjdC1pdGVtcy9wcm9qZWN0LWl0ZW1zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1aWxkc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvYnVpbGRzL2J1aWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWNlbnRBY3Rpdml0aWVzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9yZWNlbnQtYWN0aXZpdGllcy9yZWNlbnQtYWN0aXZpdGllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvZm9ybS1jYXJkL2Zvcm0tY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9qZWN0TmFtZUNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3Byb2plY3QtZGV0YWlscy9wcm9qZWN0LWRldGFpbHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm9vdERpcmVjdG9yeUNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3Jvb3QtZGlyZWN0b3J5L3Jvb3QtZGlyZWN0b3J5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhc2VGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9iYXNlLWZvcm0vYmFzZS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhc2VGb3JtVGVzdENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL2Jhc2UtZm9ybS10ZXN0L2Jhc2UtZm9ybS10ZXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdpdEF1dGhDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2dpdC1hdXRoL2dpdC1hdXRoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2Zvcm1zL3NvdXJjZS1jb250cm9sL3NvdXJjZS1jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcHNGbG93Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2FwcHMtZmxvdy9hcHBzLWZsb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTlBNU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbnBtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOcG1QYWNrYWdlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2FwcHMtZmxvdy9ucG0tcGFja2FnZS1zZWxlY3QvbnBtLXBhY2thZ2Utc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERldk9wc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9kZXZvcHMvZGV2b3BzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERGU01vZGlmaWVyc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9kZnMtbW9kaWZpZXJzL2Rmcy1tb2RpZmllcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGhyZWVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3RocmVlLWNvbHVtbi90aHJlZS1jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sdW1uSW5mb0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2NvbHVtbi1pbmZvLWNhcmQvY29sdW1uLWluZm8tY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbG90dGVkQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvc2xvdHRlZC1jYXJkL3Nsb3R0ZWQtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9qZWN0SW5mb0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3QtaW5mby1jYXJkL3Byb2plY3QtaW5mby1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFuYWx5dGljc0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2FuYWx5dGljcy1jYXJkL2FuYWx5dGljcy1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZlZWRDYXJkU21Db21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2ZlZWQtY2FyZC1zbS9mZWVkLWNhcmQtc20uY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2hDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9naC1jb250cm9sL2doLWNvbnRyb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWFpbkZlZWRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9tYWluLWZlZWQtY2FyZC9tYWluLWZlZWQtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUd29Db2x1bW5IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3R3by1jb2x1bW4taGVhZGVyL3R3by1jb2x1bW4taGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhcmRDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvY2FyZC1jYXJvdXNlbC9jYXJkLWNhcm91c2VsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlY3VyaXR5VG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9zZWN1cml0eS10b2dnbGUvc2VjdXJpdHktdG9nZ2xlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xyXG5pbXBvcnQge01hdFNsaWRlVG9nZ2xlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBQcm9jZXNzb3JEZXRhaWxzRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvcHJvY2Vzc29yLWRldGFpbHMtZm9ybS9wcm9jZXNzb3ItZGV0YWlscy1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9zb3VyY2UtY29udHJvbC1mb3JtL3NvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnVpbGRQaXBlbGluZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2J1aWxkLXBpcGVsaW5lLWZvcm0vYnVpbGQtcGlwZWxpbmUtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZXZvcHNTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFNvdXJjZUNvbnRyb2xEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3Mvc291cmNlLWNvbnRyb2wtZGlhbG9nL3NvdXJjZS1jb250cm9sLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnVpbGRQaXBlbGluZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9ncy9idWlsZC1waXBlbGluZS1kaWFsb2cvYnVpbGQtcGlwZWxpbmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQXBwbGljYXRpb25zRmxvd1Byb2plY3RzRWxlbWVudENvbXBvbmVudCxcclxuICAgIEhvc3RpbmdEZXRhaWxzRm9ybUdyb3VwQ29tcG9uZW50LFxyXG4gICAgQ3JlYXRlUHJvamVjdFdpemFyZENvbXBvbmVudCxcclxuICAgIER5bmFtaWNUYWJzQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdFRhYnNDb21wb25lbnQsXHJcbiAgICBHZW5lcmFsQ29tcG9uZW50LFxyXG4gICAgRG9tYWluc0NvbXBvbmVudCxcclxuICAgIFByb2plY3RJdGVtc0NvbXBvbmVudCxcclxuICAgIEJ1aWxkc0NvbXBvbmVudCxcclxuICAgIFJlY2VudEFjdGl2aXRpZXNDb21wb25lbnQsXHJcbiAgICBGb3JtQ2FyZENvbXBvbmVudCxcclxuICAgIFByb2plY3ROYW1lQ29tcG9uZW50LFxyXG4gICAgUm9vdERpcmVjdG9yeUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1UZXN0Q29tcG9uZW50LFxyXG4gICAgR2l0QXV0aENvbXBvbmVudCxcclxuICAgIFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHNDb21wb25lbnQsXHJcbiAgICBBcHBzRmxvd0NvbXBvbmVudCxcclxuICAgIERldk9wc0NvbXBvbmVudCxcclxuICAgIERGU01vZGlmaWVyc0NvbXBvbmVudCxcclxuICAgIE5wbVBhY2thZ2VTZWxlY3RDb21wb25lbnQsXHJcbiAgICBUaHJlZUNvbHVtbkNvbXBvbmVudCxcclxuICAgIENvbHVtbkluZm9DYXJkQ29tcG9uZW50LFxyXG4gICAgU2xvdHRlZENhcmRDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0SW5mb0NhcmRDb21wb25lbnQsXHJcbiAgICBBbmFseXRpY3NDYXJkQ29tcG9uZW50LFxyXG4gICAgRmVlZENhcmRTbUNvbXBvbmVudCxcclxuICAgIEdoQ29udHJvbENvbXBvbmVudCxcclxuICAgIE1haW5GZWVkQ2FyZENvbXBvbmVudCxcclxuICAgIFR3b0NvbHVtbkhlYWRlckNvbXBvbmVudCxcclxuICAgIENhcmRDYXJvdXNlbENvbXBvbmVudCxcclxuICAgIFNlY3VyaXR5VG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgUHJvY2Vzc29yRGV0YWlsc0Zvcm1Db21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCxcclxuICAgIEJ1aWxkUGlwZWxpbmVGb3JtQ29tcG9uZW50LFxyXG4gICAgRGV2b3BzU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQnVpbGRQaXBlbGluZURpYWxvZ0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRmF0aHltU2hhcmVkTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIE1hdGVyaWFsTW9kdWxlLFxyXG4gICAgQXBwSG9zdE1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZVxyXG4gICAgLy8gTGF6eUVsZW1lbnRNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50Q29tcG9uZW50LFxyXG4gICAgSG9zdGluZ0RldGFpbHNGb3JtR3JvdXBDb21wb25lbnQsXHJcbiAgICBDcmVhdGVQcm9qZWN0V2l6YXJkQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY1RhYnNDb21wb25lbnQsXHJcbiAgICBIZWFkZXJDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0VGFic0NvbXBvbmVudCxcclxuICAgIEdlbmVyYWxDb21wb25lbnQsXHJcbiAgICBEb21haW5zQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdEl0ZW1zQ29tcG9uZW50LFxyXG4gICAgQnVpbGRzQ29tcG9uZW50LFxyXG4gICAgUmVjZW50QWN0aXZpdGllc0NvbXBvbmVudCxcclxuICAgIEZvcm1DYXJkQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdE5hbWVDb21wb25lbnQsXHJcbiAgICBSb290RGlyZWN0b3J5Q29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1Db21wb25lbnQsXHJcbiAgICBCYXNlRm9ybVRlc3RDb21wb25lbnQsXHJcbiAgICBHaXRBdXRoQ29tcG9uZW50LFxyXG4gICAgU291cmNlQ29udHJvbEZvcm1Db250cm9sc0NvbXBvbmVudCxcclxuICAgIEFwcHNGbG93Q29tcG9uZW50LFxyXG4gICAgRGV2T3BzQ29tcG9uZW50LFxyXG4gICAgREZTTW9kaWZpZXJzQ29tcG9uZW50LFxyXG4gICAgTnBtUGFja2FnZVNlbGVjdENvbXBvbmVudCxcclxuICAgIFRocmVlQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgQ29sdW1uSW5mb0NhcmRDb21wb25lbnQsXHJcbiAgICBTbG90dGVkQ2FyZENvbXBvbmVudCxcclxuICAgIFByb2plY3RJbmZvQ2FyZENvbXBvbmVudCxcclxuICAgIEFuYWx5dGljc0NhcmRDb21wb25lbnQsXHJcbiAgICBGZWVkQ2FyZFNtQ29tcG9uZW50LFxyXG4gICAgR2hDb250cm9sQ29tcG9uZW50LFxyXG4gICAgTWFpbkZlZWRDYXJkQ29tcG9uZW50LFxyXG4gICAgVHdvQ29sdW1uSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgQ2FyZENhcm91c2VsQ29tcG9uZW50LFxyXG4gICAgU2VjdXJpdHlUb2dnbGVDb21wb25lbnQsXHJcbiAgICBQcm9jZXNzb3JEZXRhaWxzRm9ybUNvbXBvbmVudCxcclxuICAgIFNvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50LFxyXG4gICAgQnVpbGRQaXBlbGluZUZvcm1Db21wb25lbnQsXHJcbiAgICBEZXZvcHNTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCxcclxuICAgIFNvdXJjZUNvbnRyb2xEaWFsb2dDb21wb25lbnQsXHJcbiAgICBCdWlsZFBpcGVsaW5lRGlhbG9nQ29tcG9uZW50XHJcbiAgXSxcclxuICBlbnRyeUNvbXBvbmVudHM6IFtcclxuICAgIEFwcGxpY2F0aW9uc0Zsb3dQcm9qZWN0c0VsZW1lbnRDb21wb25lbnQsXHJcbiAgICBEeW5hbWljVGFic0NvbXBvbmVudCxcclxuICAgIEhlYWRlckNvbXBvbmVudCxcclxuICAgIFByb2plY3RUYWJzQ29tcG9uZW50LFxyXG4gICAgR2VuZXJhbENvbXBvbmVudCxcclxuICAgIERvbWFpbnNDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0SXRlbXNDb21wb25lbnQsXHJcbiAgICBCdWlsZHNDb21wb25lbnQsXHJcbiAgICBSZWNlbnRBY3Rpdml0aWVzQ29tcG9uZW50LFxyXG4gICAgRm9ybUNhcmRDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0TmFtZUNvbXBvbmVudCxcclxuICAgIFJvb3REaXJlY3RvcnlDb21wb25lbnQsXHJcbiAgICBCYXNlRm9ybUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtVGVzdENvbXBvbmVudCxcclxuICAgIEdpdEF1dGhDb21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzQ29tcG9uZW50LFxyXG4gICAgQXBwc0Zsb3dDb21wb25lbnQsXHJcbiAgICBEZXZPcHNDb21wb25lbnQsXHJcbiAgICBERlNNb2RpZmllcnNDb21wb25lbnQsXHJcbiAgICBOcG1QYWNrYWdlU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgVGhyZWVDb2x1bW5Db21wb25lbnQsXHJcbiAgICBDb2x1bW5JbmZvQ2FyZENvbXBvbmVudCxcclxuICAgIFNsb3R0ZWRDYXJkQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdEluZm9DYXJkQ29tcG9uZW50LFxyXG4gICAgQW5hbHl0aWNzQ2FyZENvbXBvbmVudCxcclxuICAgIEZlZWRDYXJkU21Db21wb25lbnQsXHJcbiAgICBHaENvbnRyb2xDb21wb25lbnQsXHJcbiAgICBNYWluRmVlZENhcmRDb21wb25lbnQsXHJcbiAgICBUd29Db2x1bW5IZWFkZXJDb21wb25lbnQsXHJcbiAgICBDYXJkQ2Fyb3VzZWxDb21wb25lbnQsXHJcbiAgICBTZWN1cml0eVRvZ2dsZUNvbXBvbmVudCxcclxuICAgIFByb2Nlc3NvckRldGFpbHNGb3JtQ29tcG9uZW50LFxyXG4gICAgU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQsXHJcbiAgICBCdWlsZFBpcGVsaW5lRm9ybUNvbXBvbmVudCxcclxuICAgIERldm9wc1NvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50LFxyXG4gICAgU291cmNlQ29udHJvbERpYWxvZ0NvbXBvbmVudCxcclxuICAgIEJ1aWxkUGlwZWxpbmVEaWFsb2dDb21wb25lbnRcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25zRmxvd01vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBcHBsaWNhdGlvbnNGbG93TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQXBwbGljYXRpb25zRmxvd01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgQXBwbGljYXRpb25zRmxvd1N0YXRlQ29udGV4dCxcclxuICAgICAgICBBcHBsaWNhdGlvbnNGbG93U2VydmljZSxcclxuICAgICAgICBQcm9qZWN0U2VydmljZSxcclxuICAgICAgICBOUE1TZXJ2aWNlLFxyXG4gICAgICAgIEZvcm1zU2VydmljZSxcclxuICAgICAgICBFYUNTZXJ2aWNlXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25zLWZsb3cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsaWIvYXBwbGljYXRpb25zLWZsb3cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDhGQUE4RixDQUFDO0FBQ2hKLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ2xJLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUN4RyxPQUFP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Q3hCLHFCQUFxQjtvQkFDckIsdUJBQXVCO29CQUN2Qiw2QkFBNkI7b0JBQzdCLDBCQUEwQjtvQkFDMUIsMEJBQTBCO29CQUMxQixnQ0FBZ0M7b0JBQ2hDLDRCQUE0QjtvQkFDNUIsNEJBQTRCO29CQUM1Qiw0QkFBNEI7aUJBQzdCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3Jtc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Zvcm1zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9qZWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7IEZhdGh5bVNoYXJlZE1vZHVsZSwgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICdAbGN1L2NvbW1vbic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZUNvbnRleHQgfSBmcm9tICcuL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LXN0YXRlLmNvbnRleHQnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9wcm9qZWN0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBIb3N0TW9kdWxlIH0gZnJvbSAnQGxvd2NvZGV1bml0L2FwcC1ob3N0LWNvbW1vbic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSG9zdGluZ0RldGFpbHNGb3JtR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENyZWF0ZVByb2plY3RXaXphcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2NyZWF0ZS1wcm9qZWN0LXdpemFyZC9jcmVhdGUtcHJvamVjdC13aXphcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHluYW1pY1RhYnNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2R5bmFtaWMtdGFicy9keW5hbWljLXRhYnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2plY3RUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9wcm9qZWN0LXRhYnMvcHJvamVjdC10YWJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdlbmVyYWxDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZ2VuZXJhbC9nZW5lcmFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvbWFpbnNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZG9tYWlucy9kb21haW5zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2plY3RJdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvcHJvamVjdC1pdGVtcy9wcm9qZWN0LWl0ZW1zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1aWxkc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvYnVpbGRzL2J1aWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWNlbnRBY3Rpdml0aWVzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9yZWNlbnQtYWN0aXZpdGllcy9yZWNlbnQtYWN0aXZpdGllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvZm9ybS1jYXJkL2Zvcm0tY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9qZWN0TmFtZUNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3Byb2plY3QtZGV0YWlscy9wcm9qZWN0LWRldGFpbHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm9vdERpcmVjdG9yeUNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3Jvb3QtZGlyZWN0b3J5L3Jvb3QtZGlyZWN0b3J5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhc2VGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9iYXNlLWZvcm0vYmFzZS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhc2VGb3JtVGVzdENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL2Jhc2UtZm9ybS10ZXN0L2Jhc2UtZm9ybS10ZXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdpdEF1dGhDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2dpdC1hdXRoL2dpdC1hdXRoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2Zvcm1zL3NvdXJjZS1jb250cm9sL3NvdXJjZS1jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcHNGbG93Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2FwcHMtZmxvdy9hcHBzLWZsb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTlBNU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbnBtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOcG1QYWNrYWdlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2FwcHMtZmxvdy9ucG0tcGFja2FnZS1zZWxlY3QvbnBtLXBhY2thZ2Utc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERldk9wc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9kZXZvcHMvZGV2b3BzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERGU01vZGlmaWVyc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9kZnMtbW9kaWZpZXJzL2Rmcy1tb2RpZmllcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGhyZWVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3RocmVlLWNvbHVtbi90aHJlZS1jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sdW1uSW5mb0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2NvbHVtbi1pbmZvLWNhcmQvY29sdW1uLWluZm8tY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbG90dGVkQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvc2xvdHRlZC1jYXJkL3Nsb3R0ZWQtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9qZWN0SW5mb0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3QtaW5mby1jYXJkL3Byb2plY3QtaW5mby1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFuYWx5dGljc0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2FuYWx5dGljcy1jYXJkL2FuYWx5dGljcy1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZlZWRDYXJkU21Db21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2ZlZWQtY2FyZC1zbS9mZWVkLWNhcmQtc20uY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2hDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9naC1jb250cm9sL2doLWNvbnRyb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWFpbkZlZWRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9tYWluLWZlZWQtY2FyZC9tYWluLWZlZWQtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUd29Db2x1bW5IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3R3by1jb2x1bW4taGVhZGVyL3R3by1jb2x1bW4taGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhcmRDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvY2FyZC1jYXJvdXNlbC9jYXJkLWNhcm91c2VsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlY3VyaXR5VG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9zZWN1cml0eS10b2dnbGUvc2VjdXJpdHktdG9nZ2xlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xyXG5pbXBvcnQge01hdFNsaWRlVG9nZ2xlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBQcm9jZXNzb3JEZXRhaWxzRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvcHJvY2Vzc29yLWRldGFpbHMtZm9ybS9wcm9jZXNzb3ItZGV0YWlscy1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9zb3VyY2UtY29udHJvbC1mb3JtL3NvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnVpbGRQaXBlbGluZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2J1aWxkLXBpcGVsaW5lLWZvcm0vYnVpbGQtcGlwZWxpbmUtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZXZvcHNTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFNvdXJjZUNvbnRyb2xEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3Mvc291cmNlLWNvbnRyb2wtZGlhbG9nL3NvdXJjZS1jb250cm9sLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnVpbGRQaXBlbGluZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9ncy9idWlsZC1waXBlbGluZS1kaWFsb2cvYnVpbGQtcGlwZWxpbmUtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGl0QXBwbGljYXRpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9lZGl0LWFwcGxpY2F0aW9uLWZvcm0vZWRpdC1hcHBsaWNhdGlvbi1mb3JtLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQXBwbGljYXRpb25zRmxvd1Byb2plY3RzRWxlbWVudENvbXBvbmVudCxcclxuICAgIEhvc3RpbmdEZXRhaWxzRm9ybUdyb3VwQ29tcG9uZW50LFxyXG4gICAgQ3JlYXRlUHJvamVjdFdpemFyZENvbXBvbmVudCxcclxuICAgIER5bmFtaWNUYWJzQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdFRhYnNDb21wb25lbnQsXHJcbiAgICBHZW5lcmFsQ29tcG9uZW50LFxyXG4gICAgRG9tYWluc0NvbXBvbmVudCxcclxuICAgIFByb2plY3RJdGVtc0NvbXBvbmVudCxcclxuICAgIEJ1aWxkc0NvbXBvbmVudCxcclxuICAgIFJlY2VudEFjdGl2aXRpZXNDb21wb25lbnQsXHJcbiAgICBGb3JtQ2FyZENvbXBvbmVudCxcclxuICAgIFByb2plY3ROYW1lQ29tcG9uZW50LFxyXG4gICAgUm9vdERpcmVjdG9yeUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1UZXN0Q29tcG9uZW50LFxyXG4gICAgR2l0QXV0aENvbXBvbmVudCxcclxuICAgIFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHNDb21wb25lbnQsXHJcbiAgICBBcHBzRmxvd0NvbXBvbmVudCxcclxuICAgIERldk9wc0NvbXBvbmVudCxcclxuICAgIERGU01vZGlmaWVyc0NvbXBvbmVudCxcclxuICAgIE5wbVBhY2thZ2VTZWxlY3RDb21wb25lbnQsXHJcbiAgICBUaHJlZUNvbHVtbkNvbXBvbmVudCxcclxuICAgIENvbHVtbkluZm9DYXJkQ29tcG9uZW50LFxyXG4gICAgU2xvdHRlZENhcmRDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0SW5mb0NhcmRDb21wb25lbnQsXHJcbiAgICBBbmFseXRpY3NDYXJkQ29tcG9uZW50LFxyXG4gICAgRmVlZENhcmRTbUNvbXBvbmVudCxcclxuICAgIEdoQ29udHJvbENvbXBvbmVudCxcclxuICAgIE1haW5GZWVkQ2FyZENvbXBvbmVudCxcclxuICAgIFR3b0NvbHVtbkhlYWRlckNvbXBvbmVudCxcclxuICAgIENhcmRDYXJvdXNlbENvbXBvbmVudCxcclxuICAgIFNlY3VyaXR5VG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgUHJvY2Vzc29yRGV0YWlsc0Zvcm1Db21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCxcclxuICAgIEJ1aWxkUGlwZWxpbmVGb3JtQ29tcG9uZW50LFxyXG4gICAgRGV2b3BzU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQnVpbGRQaXBlbGluZURpYWxvZ0NvbXBvbmVudCxcclxuICAgIEVkaXRBcHBsaWNhdGlvbkZvcm1Db21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEZhdGh5bVNoYXJlZE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXHJcbiAgICBNYXRlcmlhbE1vZHVsZSxcclxuICAgIEFwcEhvc3RNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGVcclxuICAgIC8vIExhenlFbGVtZW50TW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQXBwbGljYXRpb25zRmxvd1Byb2plY3RzRWxlbWVudENvbXBvbmVudCxcclxuICAgIEhvc3RpbmdEZXRhaWxzRm9ybUdyb3VwQ29tcG9uZW50LFxyXG4gICAgQ3JlYXRlUHJvamVjdFdpemFyZENvbXBvbmVudCxcclxuICAgIER5bmFtaWNUYWJzQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdFRhYnNDb21wb25lbnQsXHJcbiAgICBHZW5lcmFsQ29tcG9uZW50LFxyXG4gICAgRG9tYWluc0NvbXBvbmVudCxcclxuICAgIFByb2plY3RJdGVtc0NvbXBvbmVudCxcclxuICAgIEJ1aWxkc0NvbXBvbmVudCxcclxuICAgIFJlY2VudEFjdGl2aXRpZXNDb21wb25lbnQsXHJcbiAgICBGb3JtQ2FyZENvbXBvbmVudCxcclxuICAgIFByb2plY3ROYW1lQ29tcG9uZW50LFxyXG4gICAgUm9vdERpcmVjdG9yeUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1UZXN0Q29tcG9uZW50LFxyXG4gICAgR2l0QXV0aENvbXBvbmVudCxcclxuICAgIFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHNDb21wb25lbnQsXHJcbiAgICBBcHBzRmxvd0NvbXBvbmVudCxcclxuICAgIERldk9wc0NvbXBvbmVudCxcclxuICAgIERGU01vZGlmaWVyc0NvbXBvbmVudCxcclxuICAgIE5wbVBhY2thZ2VTZWxlY3RDb21wb25lbnQsXHJcbiAgICBUaHJlZUNvbHVtbkNvbXBvbmVudCxcclxuICAgIENvbHVtbkluZm9DYXJkQ29tcG9uZW50LFxyXG4gICAgU2xvdHRlZENhcmRDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0SW5mb0NhcmRDb21wb25lbnQsXHJcbiAgICBBbmFseXRpY3NDYXJkQ29tcG9uZW50LFxyXG4gICAgRmVlZENhcmRTbUNvbXBvbmVudCxcclxuICAgIEdoQ29udHJvbENvbXBvbmVudCxcclxuICAgIE1haW5GZWVkQ2FyZENvbXBvbmVudCxcclxuICAgIFR3b0NvbHVtbkhlYWRlckNvbXBvbmVudCxcclxuICAgIENhcmRDYXJvdXNlbENvbXBvbmVudCxcclxuICAgIFNlY3VyaXR5VG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgUHJvY2Vzc29yRGV0YWlsc0Zvcm1Db21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCxcclxuICAgIEJ1aWxkUGlwZWxpbmVGb3JtQ29tcG9uZW50LFxyXG4gICAgRGV2b3BzU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQnVpbGRQaXBlbGluZURpYWxvZ0NvbXBvbmVudCxcclxuICAgIEVkaXRBcHBsaWNhdGlvbkZvcm1Db21wb25lbnRcclxuICBdLFxyXG4gIGVudHJ5Q29tcG9uZW50czogW1xyXG4gICAgQXBwbGljYXRpb25zRmxvd1Byb2plY3RzRWxlbWVudENvbXBvbmVudCxcclxuICAgIER5bmFtaWNUYWJzQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdFRhYnNDb21wb25lbnQsXHJcbiAgICBHZW5lcmFsQ29tcG9uZW50LFxyXG4gICAgRG9tYWluc0NvbXBvbmVudCxcclxuICAgIFByb2plY3RJdGVtc0NvbXBvbmVudCxcclxuICAgIEJ1aWxkc0NvbXBvbmVudCxcclxuICAgIFJlY2VudEFjdGl2aXRpZXNDb21wb25lbnQsXHJcbiAgICBGb3JtQ2FyZENvbXBvbmVudCxcclxuICAgIFByb2plY3ROYW1lQ29tcG9uZW50LFxyXG4gICAgUm9vdERpcmVjdG9yeUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1UZXN0Q29tcG9uZW50LFxyXG4gICAgR2l0QXV0aENvbXBvbmVudCxcclxuICAgIFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHNDb21wb25lbnQsXHJcbiAgICBBcHBzRmxvd0NvbXBvbmVudCxcclxuICAgIERldk9wc0NvbXBvbmVudCxcclxuICAgIERGU01vZGlmaWVyc0NvbXBvbmVudCxcclxuICAgIE5wbVBhY2thZ2VTZWxlY3RDb21wb25lbnQsXHJcbiAgICBUaHJlZUNvbHVtbkNvbXBvbmVudCxcclxuICAgIENvbHVtbkluZm9DYXJkQ29tcG9uZW50LFxyXG4gICAgU2xvdHRlZENhcmRDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0SW5mb0NhcmRDb21wb25lbnQsXHJcbiAgICBBbmFseXRpY3NDYXJkQ29tcG9uZW50LFxyXG4gICAgRmVlZENhcmRTbUNvbXBvbmVudCxcclxuICAgIEdoQ29udHJvbENvbXBvbmVudCxcclxuICAgIE1haW5GZWVkQ2FyZENvbXBvbmVudCxcclxuICAgIFR3b0NvbHVtbkhlYWRlckNvbXBvbmVudCxcclxuICAgIENhcmRDYXJvdXNlbENvbXBvbmVudCxcclxuICAgIFNlY3VyaXR5VG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgUHJvY2Vzc29yRGV0YWlsc0Zvcm1Db21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCxcclxuICAgIEJ1aWxkUGlwZWxpbmVGb3JtQ29tcG9uZW50LFxyXG4gICAgRGV2b3BzU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQnVpbGRQaXBlbGluZURpYWxvZ0NvbXBvbmVudCxcclxuICAgIEVkaXRBcHBsaWNhdGlvbkZvcm1Db21wb25lbnRcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25zRmxvd01vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBcHBsaWNhdGlvbnNGbG93TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQXBwbGljYXRpb25zRmxvd01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgQXBwbGljYXRpb25zRmxvd1N0YXRlQ29udGV4dCxcclxuICAgICAgICBBcHBsaWNhdGlvbnNGbG93U2VydmljZSxcclxuICAgICAgICBQcm9qZWN0U2VydmljZSxcclxuICAgICAgICBOUE1TZXJ2aWNlLFxyXG4gICAgICAgIEZvcm1zU2VydmljZSxcclxuICAgICAgICBFYUNTZXJ2aWNlXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import { FormBuilder, Validators } from '@angular/forms';
|
|
3
|
+
import { Guid } from '@lcu/common';
|
|
3
4
|
import { ApplicationsFlowService } from '../../services/applications-flow.service';
|
|
5
|
+
import { EaCService } from '../../services/eac.service';
|
|
4
6
|
import { ProjectHostingDetails } from '../../state/applications-flow.state';
|
|
5
7
|
export class BuildPipelineFormComponent {
|
|
6
|
-
constructor(formBuilder, appsFlowSvc) {
|
|
8
|
+
constructor(eacSvc, formBuilder, appsFlowSvc) {
|
|
9
|
+
this.eacSvc = eacSvc;
|
|
7
10
|
this.formBuilder = formBuilder;
|
|
8
11
|
this.appsFlowSvc = appsFlowSvc;
|
|
9
12
|
this.HostingDetails = new ProjectHostingDetails();
|
|
@@ -38,6 +41,9 @@ export class BuildPipelineFormComponent {
|
|
|
38
41
|
get DevOpsActions() {
|
|
39
42
|
return this.Environment.DevOpsActions || {};
|
|
40
43
|
}
|
|
44
|
+
get DevOpsActionNameFormControl() {
|
|
45
|
+
return this.BuildPipelineFormGroup.get('devOpsActionName');
|
|
46
|
+
}
|
|
41
47
|
get EditingSourceControl() {
|
|
42
48
|
var _a, _b;
|
|
43
49
|
let sc = ((_a = this.Environment) === null || _a === void 0 ? void 0 : _a.Sources) ? (_b = this.Environment) === null || _b === void 0 ? void 0 : _b.Sources[this.EditingSourceControlLookup] : null;
|
|
@@ -46,11 +52,22 @@ export class BuildPipelineFormComponent {
|
|
|
46
52
|
}
|
|
47
53
|
return sc;
|
|
48
54
|
}
|
|
55
|
+
get NPMTokenFormControl() {
|
|
56
|
+
return this.BuildPipelineFormGroup.get('npmToken');
|
|
57
|
+
}
|
|
49
58
|
// (ho) => ho.Lookup === this.BuildPipeline
|
|
50
59
|
get SelectedHostingOption() {
|
|
51
60
|
var _a, _b;
|
|
52
61
|
return (_b = (_a = this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) === null || _b === void 0 ? void 0 : _b.find((ho) => ho.Lookup === this.BuildPipeline);
|
|
53
62
|
}
|
|
63
|
+
get SelectedHostingOptionInputControlValues() {
|
|
64
|
+
var _a, _b;
|
|
65
|
+
return (_b = (_a = this.SelectedHostingOption) === null || _a === void 0 ? void 0 : _a.Inputs) === null || _b === void 0 ? void 0 : _b.reduce((prev, cur) => {
|
|
66
|
+
const res = Object.assign({}, prev);
|
|
67
|
+
res[cur.Lookup] = this.BuildPipelineFormGroup.controls[cur.Lookup].value;
|
|
68
|
+
return res;
|
|
69
|
+
}, {});
|
|
70
|
+
}
|
|
54
71
|
get SourceControlLookups() {
|
|
55
72
|
return Object.keys(this.SourceControls || {});
|
|
56
73
|
}
|
|
@@ -58,22 +75,14 @@ export class BuildPipelineFormComponent {
|
|
|
58
75
|
return this.Environment.Sources || {};
|
|
59
76
|
}
|
|
60
77
|
ngOnInit() {
|
|
61
|
-
var _a, _b, _c;
|
|
62
78
|
this.BuildPipelineFormGroup = this.formBuilder.group({});
|
|
63
|
-
this.loadProjectHostingDetails();
|
|
64
|
-
console.log("ARTIFACT: ", this.Artifact);
|
|
65
|
-
// this.BuildPipeline ||
|
|
66
|
-
// github-artifacts-release is this.HostingDetails?.HostingOptions[0]?.Lookup
|
|
67
|
-
this.BuildPipeline =
|
|
68
|
-
((_a = this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) ? (_c = (_b = this.HostingDetails) === null || _b === void 0 ? void 0 : _b.HostingOptions[0]) === null || _c === void 0 ? void 0 : _c.Lookup : '';
|
|
69
|
-
console.log("Build Pipeline HERE= ", this.BuildPipeline);
|
|
70
79
|
if (this.BuildPipelineFormGroup != null) {
|
|
71
80
|
this.BuildPipelineFormGroup.removeControl('hostingDetails');
|
|
72
81
|
}
|
|
73
82
|
this.BuildPipelineFormGroup.addControl('hostingDetails', this.formBuilder.group({
|
|
74
83
|
buildPipeline: [this.BuildPipeline, [Validators.required]],
|
|
75
84
|
}));
|
|
76
|
-
this.
|
|
85
|
+
this.loadProjectHostingDetails();
|
|
77
86
|
}
|
|
78
87
|
//API METHODS
|
|
79
88
|
BuildPipelineChanged() {
|
|
@@ -82,17 +91,81 @@ export class BuildPipelineFormComponent {
|
|
|
82
91
|
this.BuildPipeline = (_b = this.BuildPipelineFormControl) === null || _b === void 0 ? void 0 : _b.value;
|
|
83
92
|
this.setupControlsForForm();
|
|
84
93
|
}
|
|
94
|
+
SubmitBuildPipeline() {
|
|
95
|
+
console.log("submitting build pipeline: ", this.BuildPipelineFormGroup.value);
|
|
96
|
+
}
|
|
97
|
+
SaveEnvironment() {
|
|
98
|
+
var _a;
|
|
99
|
+
const saveEnvReq = {
|
|
100
|
+
Environment: Object.assign(Object.assign({}, this.Environment), { Artifacts: this.Environment.Artifacts || {}, DevOpsActions: this.Environment.DevOpsActions || {}, Secrets: this.Environment.Secrets || {}, Sources: this.Environment.Sources || {} }),
|
|
101
|
+
EnvironmentLookup: this.EnvironmentLookup,
|
|
102
|
+
EnterpriseDataTokens: {},
|
|
103
|
+
};
|
|
104
|
+
let artifactLookup;
|
|
105
|
+
let artifact = Object.assign(Object.assign({}, this.Artifact), this.SelectedHostingOptionInputControlValues);
|
|
106
|
+
if (!this.ArtifactLookup) {
|
|
107
|
+
artifactLookup = Guid.CreateRaw();
|
|
108
|
+
artifact = Object.assign(Object.assign({}, artifact), { Type: this.SelectedHostingOption
|
|
109
|
+
.ArtifactType, Name: this.SelectedHostingOption.Name, NPMRegistry: 'https://registry.npmjs.org/' });
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
artifactLookup = this.ArtifactLookup;
|
|
113
|
+
}
|
|
114
|
+
saveEnvReq.Environment.Artifacts[artifactLookup] = artifact;
|
|
115
|
+
let devOpsActionLookup;
|
|
116
|
+
if (!this.DevOpsActionLookup) {
|
|
117
|
+
devOpsActionLookup = Guid.CreateRaw();
|
|
118
|
+
const doa = Object.assign(Object.assign({}, this.DevOpsAction), { ArtifactLookups: [artifactLookup], Name: this.DevOpsActionNameFormControl.value, Path: this.SelectedHostingOption.Path, Templates: this.SelectedHostingOption.Templates });
|
|
119
|
+
if ((_a = this.NPMTokenFormControl) === null || _a === void 0 ? void 0 : _a.value) {
|
|
120
|
+
const secretLookup = 'npm-access-token';
|
|
121
|
+
doa.SecretLookups = [secretLookup];
|
|
122
|
+
saveEnvReq.Environment.Secrets[secretLookup] = {
|
|
123
|
+
Name: 'NPM Access Token',
|
|
124
|
+
DataTokenLookup: secretLookup,
|
|
125
|
+
KnownAs: 'NPM_TOKEN',
|
|
126
|
+
};
|
|
127
|
+
saveEnvReq.EnterpriseDataTokens[secretLookup] = {
|
|
128
|
+
Name: saveEnvReq.Environment.Secrets[secretLookup].Name,
|
|
129
|
+
Description: saveEnvReq.Environment.Secrets[secretLookup].Name,
|
|
130
|
+
Value: this.NPMTokenFormControl.value,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
devOpsActionLookup = this.DevOpsActionLookup;
|
|
137
|
+
const doa = Object.assign(Object.assign({}, this.DevOpsAction), { Name: this.DevOpsActionNameFormControl.value });
|
|
138
|
+
saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
|
|
139
|
+
}
|
|
140
|
+
// let source: EaCSourceControl = {
|
|
141
|
+
// ...this.EditingSourceControl,
|
|
142
|
+
// Branches: this.SourceControlFormControls.SelectedBranches,
|
|
143
|
+
// MainBranch: this.SourceControlFormControls.MainBranchFormControl.value,
|
|
144
|
+
// };
|
|
145
|
+
// source = {
|
|
146
|
+
// ...source,
|
|
147
|
+
// Type: 'GitHub',
|
|
148
|
+
// Name: this.EditingSourceControlLookup,
|
|
149
|
+
// DevOpsActionTriggerLookups: [devOpsActionLookup],
|
|
150
|
+
// Organization:
|
|
151
|
+
// this.SourceControlFormControls.OrganizationFormControl.value,
|
|
152
|
+
// Repository: this.SourceControlFormControls.RepositoryFormControl.value,
|
|
153
|
+
// };
|
|
154
|
+
// const scLookup = `github://${source.Organization}/${source.Repository}`;
|
|
155
|
+
// saveEnvReq.Environment.Sources[scLookup] = source;
|
|
156
|
+
this.eacSvc.SaveEnvironmentAsCode(saveEnvReq);
|
|
157
|
+
}
|
|
85
158
|
// Helpers
|
|
86
159
|
setupControlsForForm() {
|
|
87
|
-
//for (const ctrlName in this.BuildPipelineFormGroup.controls) {
|
|
88
|
-
//devOpsAction doesn't exist
|
|
89
|
-
//removes hosting details
|
|
90
|
-
// if (ctrlName !== 'buildPipeline' && ctrlName !== 'devOpsAction') {
|
|
91
|
-
// console.log("removing control: ", ctrlName)
|
|
92
|
-
// this.BuildPipelineFormGroup.removeControl(ctrlName);
|
|
93
|
-
// }
|
|
94
|
-
//}
|
|
95
160
|
var _a, _b, _c, _d, _e, _f;
|
|
161
|
+
for (const ctrlName in this.BuildPipelineFormGroup.controls) {
|
|
162
|
+
//devOpsAction doesn't exist
|
|
163
|
+
//removes hosting details
|
|
164
|
+
if (ctrlName !== 'buildPipeline' && ctrlName !== 'devOpsAction') {
|
|
165
|
+
console.log("removing control: ", ctrlName);
|
|
166
|
+
this.BuildPipelineFormGroup.removeControl(ctrlName);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
96
169
|
this.BuildPipelineFormGroup.addControl('devOpsActionName', this.formBuilder.control(((_a = this.DevOpsAction) === null || _a === void 0 ? void 0 : _a.Name) || ((_b = this.SelectedHostingOption) === null || _b === void 0 ? void 0 : _b.Name) || '', [Validators.required]));
|
|
97
170
|
(_d = (_c = this.SelectedHostingOption) === null || _c === void 0 ? void 0 : _c.Inputs) === null || _d === void 0 ? void 0 : _d.forEach((input) => {
|
|
98
171
|
const validators = input.Required ? [Validators.required] : [];
|
|
@@ -101,9 +174,7 @@ export class BuildPipelineFormComponent {
|
|
|
101
174
|
// this.FormGroup.controls[input.Lookup].disable();
|
|
102
175
|
// }
|
|
103
176
|
});
|
|
104
|
-
debugger;
|
|
105
177
|
if (((_e = this.BuildPipelineFormControl) === null || _e === void 0 ? void 0 : _e.value) === 'npm-release') {
|
|
106
|
-
debugger;
|
|
107
178
|
if (!this.BuildPipelineFormGroup.controls.npmToken) {
|
|
108
179
|
this.BuildPipelineFormGroup.addControl('npmToken', this.formBuilder.control('', this.Disabled ? [] : [Validators.required]));
|
|
109
180
|
if (this.Disabled) {
|
|
@@ -118,23 +189,27 @@ export class BuildPipelineFormComponent {
|
|
|
118
189
|
}
|
|
119
190
|
}
|
|
120
191
|
loadProjectHostingDetails() {
|
|
121
|
-
|
|
192
|
+
this.HostingDetails.Loading = true;
|
|
122
193
|
// this.Organization,
|
|
123
194
|
// this.Repository,
|
|
124
195
|
// this.MainBranch
|
|
125
|
-
//
|
|
126
|
-
//
|
|
127
|
-
//
|
|
196
|
+
// "powhound4",
|
|
197
|
+
// "RedwoodCrystals",
|
|
198
|
+
// "master"
|
|
128
199
|
this.appsFlowSvc
|
|
129
|
-
.
|
|
200
|
+
.NewLoadProjectHostingDetails()
|
|
130
201
|
.subscribe((response) => {
|
|
202
|
+
var _a, _b, _c;
|
|
131
203
|
this.HostingDetails = response.Model;
|
|
132
204
|
console.log("response: ", response);
|
|
133
205
|
this.HostingDetails.Loading = false;
|
|
206
|
+
this.BuildPipeline =
|
|
207
|
+
((_a = this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) ? (_c = (_b = this.HostingDetails) === null || _b === void 0 ? void 0 : _b.HostingOptions[0]) === null || _c === void 0 ? void 0 : _c.Lookup : '';
|
|
208
|
+
console.log("Build Pipeline HERE= ", this.BuildPipeline);
|
|
209
|
+
this.setupControlsForForm();
|
|
134
210
|
}, (err) => {
|
|
135
|
-
this.HostingDetails.Loading = false;
|
|
136
|
-
console.log("hosting details LOADING EERR: ", this.HostingDetails);
|
|
137
211
|
console.log("ERR: ", err);
|
|
212
|
+
this.HostingDetails.Loading = false;
|
|
138
213
|
});
|
|
139
214
|
console.log("HOSTING DETAILS: ", this.HostingDetails);
|
|
140
215
|
}
|
|
@@ -142,11 +217,12 @@ export class BuildPipelineFormComponent {
|
|
|
142
217
|
BuildPipelineFormComponent.decorators = [
|
|
143
218
|
{ type: Component, args: [{
|
|
144
219
|
selector: 'lcu-build-pipeline-form',
|
|
145
|
-
template: "<form class=\"form-card\" [formGroup]=\"BuildPipelineFormGroup\">\n <!-- *ngIf=\"EditingSourceControl?.Branches?.length > 0\" -->\n <mat-card\n class=\"spread\" \n >\n <mat-card-header>\n <mat-card-title> Build Pipeline </mat-card-title>\n\n <mat-hint>\n Changes made here are reflected for all sources using this\n DevOpsAction\n </mat-hint>\n </mat-card-header>\n\n <mat-card-content>\n\n <ng-container>\n\n <div *ngIf=\"!HostingDetails?.Loading\">\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n formControlName=\"buildPipeline\"\n placeholder=\"Build Pipeline\"\n [disabled]=\"Disabled\"\n (selectionChange)=\"BuildPipelineChanged()\"\n required\n >\n <ng-container\n *ngFor=\"let hostOption of HostingDetails?.HostingOptions; let i = index\"\n >\n <mat-option [value]=\"hostOption?.Lookup\">\n {{ hostOption.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n \n <mat-hint>\n <ng-container *ngFor=\"let hostOption of HostingDetails?.HostingOptions\">\n <span *ngIf=\"BuildPipeline == hostOption?.Lookup\">\n {{ hostOption.Description }}\n </span>\n </ng-container>\n </mat-hint>\n </mat-form-field>\n \n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"devOpsActionName\"\n placeholder=\"Name of DevOps Action\"\n required=\"true\"\n />\n </mat-form-field>\n \n <ng-container *ngFor=\"let input of SelectedHostingOption?.Inputs\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n [formControlName]=\"input.Lookup\"\n [placeholder]=\"input.Placeholder\"\n [required]=\"input.Required\"\n />\n \n <mat-hint>{{ input.Hint }}</mat-hint>\n </mat-form-field>\n </ng-container>\n \n <div *ngIf=\"BuildPipeline == 'npm-release'\">\n <mat-form-field class=\"mat-full-width with-hint padding-bottom-4\">\n <mat-icon matPrefix>security</mat-icon>\n \n <input\n id=\"npm-token\"\n matInput\n type=\"text\"\n formControlName=\"npmToken\"\n placeholder=\"NPM token\"\n [required]=\"!Disabled\"\n style=\"-webkit-text-security: disc;\"\n />\n <mat-hint>\n Securely publish to NPM, provide an NPM Personal Access Token (PAT) with publish access to the organization used for your NPM packages. \n Learn how to create and view access tokens \n <a\n href=\"https://docs.npmjs.com/creating-and-viewing-access-tokens\"\n target=\"_blank\"\n >\n here.\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n </div>\n \n <div *ngIf=\"HostingDetails?.Loading\">\n <div class=\"spread\">\n <lcu-loader style=\"margin: auto\" [loading]=\"true\"></lcu-loader>\n \n <div class=\"margin-3\">\n <h4 class=\"mat-title\">Loading hosting details</h4>\n </div>\n </div>\n </div>\n </ng-container>\n </mat-card-content>\n </mat-card>\n</form>\n",
|
|
220
|
+
template: "<form class=\"form-card\" [formGroup]=\"BuildPipelineFormGroup\" (ngSubmit)=\"SubmitBuildPipeline()\">\n <!-- *ngIf=\"EditingSourceControl?.Branches?.length > 0\" -->\n <mat-card\n class=\"spread\" \n >\n <mat-card-header>\n <mat-card-title> Build Pipeline </mat-card-title>\n\n <mat-hint>\n Changes made here are reflected for all sources using this\n DevOpsAction\n </mat-hint>\n </mat-card-header>\n\n <mat-card-content>\n\n <ng-container>\n\n <div *ngIf=\"!HostingDetails?.Loading\">\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n formControlName=\"buildPipeline\"\n placeholder=\"Build Pipeline\"\n [disabled]=\"Disabled\"\n (selectionChange)=\"BuildPipelineChanged()\"\n required\n >\n <ng-container\n *ngFor=\"let hostOption of HostingDetails?.HostingOptions; let i = index\"\n >\n <mat-option [value]=\"hostOption?.Lookup\">\n {{ hostOption.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n \n <mat-hint>\n <ng-container *ngFor=\"let hostOption of HostingDetails?.HostingOptions\">\n <span *ngIf=\"BuildPipeline == hostOption?.Lookup\">\n {{ hostOption.Description }}\n </span>\n </ng-container>\n </mat-hint>\n </mat-form-field>\n \n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"devOpsActionName\"\n placeholder=\"Name of DevOps Action\"\n required=\"true\"\n />\n </mat-form-field>\n \n <ng-container *ngFor=\"let input of SelectedHostingOption?.Inputs\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n [formControlName]=\"input.Lookup\"\n [placeholder]=\"input.Placeholder\"\n [required]=\"input.Required\"\n />\n \n <mat-hint>{{ input.Hint }}</mat-hint>\n </mat-form-field>\n </ng-container>\n \n <div *ngIf=\"BuildPipeline == 'npm-release'\">\n <mat-form-field class=\"mat-full-width with-hint padding-bottom-4\">\n <mat-icon matPrefix>security</mat-icon>\n \n <input\n id=\"npm-token\"\n matInput\n type=\"text\"\n formControlName=\"npmToken\"\n placeholder=\"NPM token\"\n [required]=\"!Disabled\"\n style=\"-webkit-text-security: disc;\"\n />\n <mat-hint>\n Securely publish to NPM, provide an NPM Personal Access Token (PAT) with publish access to the organization used for your NPM packages. \n Learn how to create and view access tokens \n <a\n href=\"https://docs.npmjs.com/creating-and-viewing-access-tokens\"\n target=\"_blank\"\n >\n here.\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n </div>\n \n <div *ngIf=\"HostingDetails?.Loading\">\n <div class=\"spread\">\n <lcu-loader style=\"margin: auto\" [loading]=\"true\"></lcu-loader>\n \n <div class=\"margin-3\">\n <h4 class=\"mat-title\">Loading hosting details</h4>\n </div>\n </div>\n </div>\n </ng-container>\n </mat-card-content>\n <mat-card-actions fxLayoutAlign=\"center center\">\n\n <button \n mat-raised-button \n type=\"submit\" \n fxFlex=\"100%\" \n color=\"primary\" \n [disabled]=\"!BuildPipelineFormGroup.valid || !BuildPipelineFormGroup.dirty\">\n <mat-icon>save</mat-icon>\n Save Build Pipeline\n </button>\n \n </mat-card-actions>\n </mat-card>\n</form>\n",
|
|
146
221
|
styles: [""]
|
|
147
222
|
},] }
|
|
148
223
|
];
|
|
149
224
|
BuildPipelineFormComponent.ctorParameters = () => [
|
|
225
|
+
{ type: EaCService },
|
|
150
226
|
{ type: FormBuilder },
|
|
151
227
|
{ type: ApplicationsFlowService }
|
|
152
228
|
];
|
|
@@ -154,6 +230,7 @@ BuildPipelineFormComponent.propDecorators = {
|
|
|
154
230
|
BuildPipeline: [{ type: Input, args: ['build-pipeline',] }],
|
|
155
231
|
DevOpsActionLookup: [{ type: Input, args: ['devops-action-lookup',] }],
|
|
156
232
|
Disabled: [{ type: Input, args: ['disabled',] }],
|
|
157
|
-
Environment: [{ type: Input, args: ['environment',] }]
|
|
233
|
+
Environment: [{ type: Input, args: ['environment',] }],
|
|
234
|
+
EnvironmentLookup: [{ type: Input, args: ['environment-lookup',] }]
|
|
158
235
|
};
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcGlwZWxpbmUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9scy9idWlsZC1waXBlbGluZS1mb3JtL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTRCLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQW1CLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQXdCLE1BQU0scUNBQXFDLENBQUM7QUFPbEcsTUFBTSxPQUFPLDBCQUEwQjtJQXNHckMsWUFBc0IsV0FBd0IsRUFDbEMsV0FBb0M7UUFEMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQzlDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFyRkgsd0JBQXdCO0lBQ3ZCLDZCQUE2QjtJQUU3Qix5QkFBeUI7SUFDekIsK0JBQStCO0lBRS9CLHVCQUF1QjtJQUN2Qiw2QkFBNkI7SUFHL0IsSUFBVyxRQUFROztRQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksUUFBRSxJQUFJLENBQUMsV0FBVywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVFLE9BQU8sT0FBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxTQUFTLEtBQUksSUFBSSxDQUFDLGNBQWM7WUFDdkQsQ0FBQyxDQUFDLE9BQUEsSUFBSSxDQUFDLFdBQVcsMENB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LGVBQWU7UUFFZixJQUFJLENBQUMsV0FBVzthQUNiLHlCQUF5QixDQUN4QixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLFFBQVEsQ0FDVDthQUNBLFNBQVMsQ0FDUixDQUFDLFFBQW9ELEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXRDLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25FLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLENBQUMsQ0FDRixDQUFDO1FBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFNUQsQ0FBQzs7O1lBblBBLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyxndkhBQW1EOzthQUVwRDs7O1lBVnlCLFdBQVc7WUFHNUIsdUJBQXVCOzs7NEJBYS9CLEtBQUssU0FBQyxnQkFBZ0I7aUNBTXRCLEtBQUssU0FBQyxzQkFBc0I7dUJBRzVCLEtBQUssU0FBQyxVQUFVOzBCQUdoQixLQUFLLFNBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlTW9kZWxlZFJlc3BvbnNlIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuaW1wb3J0IHsgRWFDQXJ0aWZhY3QsIEVhQ0Rldk9wc0FjdGlvbiwgRWFDRW52aXJvbm1lbnRBc0NvZGUsIEVhQ1NvdXJjZUNvbnRyb2wgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2plY3RIb3N0aW5nRGV0YWlscywgUHJvamVjdEhvc3RpbmdPcHRpb24gfSBmcm9tICcuLi8uLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1idWlsZC1waXBlbGluZS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idWlsZC1waXBlbGluZS1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnVpbGRQaXBlbGluZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cbi8vUFJPUEVSVElFU1xuXG5ASW5wdXQoJ2J1aWxkLXBpcGVsaW5lJylcbnB1YmxpYyBCdWlsZFBpcGVsaW5lOiBzdHJpbmc7XG5cbi8vIEBJbnB1dCgnZGV0YWlscycpXG4vLyBwdWJsaWMgRGV0YWlsczogUHJvamVjdEhvc3RpbmdEZXRhaWxzO1xuXG5ASW5wdXQoJ2Rldm9wcy1hY3Rpb24tbG9va3VwJylcbnB1YmxpYyBEZXZPcHNBY3Rpb25Mb29rdXA6IHN0cmluZztcblxuQElucHV0KCdkaXNhYmxlZCcpXG5wdWJsaWMgRGlzYWJsZWQ6IGJvb2xlYW47XG5cbkBJbnB1dCgnZW52aXJvbm1lbnQnKVxucHVibGljIEVudmlyb25tZW50OiBFYUNFbnZpcm9ubWVudEFzQ29kZTtcblxuIC8vIEBJbnB1dCgnbWFpbi1icmFuY2gnKVxuICAvLyBwdWJsaWMgTWFpbkJyYW5jaDogc3RyaW5nO1xuXG4gIC8vIEBJbnB1dCgnb3JnYW5pemF0aW9uJylcbiAgLy8gcHVibGljIE9yZ2FuaXphdGlvbjogc3RyaW5nO1xuXG4gIC8vIEBJbnB1dCgncmVwb3NpdG9yeScpXG4gIC8vIHB1YmxpYyBSZXBvc2l0b3J5OiBzdHJpbmc7XG5cblxucHVibGljIGdldCBBcnRpZmFjdCgpOiBFYUNBcnRpZmFjdCB7XG4gIGNvbnNvbGUubG9nKFwiQVJUSUZBQ1Q6IFwiLCB0aGlzLkVudmlyb25tZW50Py5BcnRpZmFjdHNbdGhpcy5BcnRpZmFjdExvb2t1cF0pO1xuICByZXR1cm4gdGhpcy5FbnZpcm9ubWVudD8uQXJ0aWZhY3RzICYmIHRoaXMuQXJ0aWZhY3RMb29rdXBcbiAgICA/IHRoaXMuRW52aXJvbm1lbnQ/LkFydGlmYWN0c1t0aGlzLkFydGlmYWN0TG9va3VwXSB8fCB7fVxuICAgIDoge307XG59XG5cbnB1YmxpYyBnZXQgQXJ0aWZhY3RMb29rdXAoKTogc3RyaW5nIHtcbiAgY29uc3QgYXJ0TG9va3VwID0gdGhpcy5EZXZPcHNBY3Rpb24/LkFydGlmYWN0TG9va3Vwc1xuICAgID8gdGhpcy5EZXZPcHNBY3Rpb24/LkFydGlmYWN0TG9va3Vwc1swXVxuICAgIDogbnVsbDtcblxuICByZXR1cm4gYXJ0TG9va3VwO1xufVxuXG4gIHB1YmxpYyBnZXQgQnVpbGRQaXBlbGluZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgXG4gICAgcmV0dXJuIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cD8uY29udHJvbHMuYnVpbGRQaXBlbGluZTtcbiAgfVxuXG5cblxucHVibGljIGdldCBEZXZPcHNBY3Rpb24oKTogRWFDRGV2T3BzQWN0aW9uIHtcbiAgcmV0dXJuIHRoaXMuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9ucyAmJiB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cFxuICAgID8gdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zW3RoaXMuRGV2T3BzQWN0aW9uTG9va3VwXSB8fCB7fVxuICAgIDoge307XG59XG5cblxuXG5wdWJsaWMgZ2V0IERldk9wc0FjdGlvbnMoKTogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNEZXZPcHNBY3Rpb24gfSB7XG4gIHJldHVybiB0aGlzLkVudmlyb25tZW50LkRldk9wc0FjdGlvbnMgfHwge307XG59XG5cblxuXG5wdWJsaWMgQnVpbGRQaXBlbGluZUZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG5wdWJsaWMgZ2V0IEVkaXRpbmdTb3VyY2VDb250cm9sKCk6IEVhQ1NvdXJjZUNvbnRyb2wge1xuICAgIGxldCBzYyA9IHRoaXMuRW52aXJvbm1lbnQ/LlNvdXJjZXNcbiAgICAgID8gdGhpcy5FbnZpcm9ubWVudD8uU291cmNlc1t0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sTG9va3VwXVxuICAgICAgOiBudWxsO1xuXG4gICAgaWYgKHNjID09IG51bGwgJiYgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbExvb2t1cCkge1xuICAgICAgc2MgPSB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2M7XG4gIH1cblxuIFxuXG4gIHB1YmxpYyBFZGl0aW5nU291cmNlQ29udHJvbExvb2t1cDogc3RyaW5nO1xuXG4gIHB1YmxpYyBIb3N0aW5nRGV0YWlsczogUHJvamVjdEhvc3RpbmdEZXRhaWxzO1xuXG4gXG4vLyAoaG8pID0+IGhvLkxvb2t1cCA9PT0gdGhpcy5CdWlsZFBpcGVsaW5lXG4gIHB1YmxpYyBnZXQgU2VsZWN0ZWRIb3N0aW5nT3B0aW9uKCk6IFByb2plY3RIb3N0aW5nT3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5Ib3N0aW5nRGV0YWlscz8uSG9zdGluZ09wdGlvbnM/LmZpbmQoXG4gICAgICAoaG8pID0+IGhvLkxvb2t1cCA9PT0gdGhpcy5CdWlsZFBpcGVsaW5lXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU291cmNlQ29udHJvbExvb2t1cHMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuU291cmNlQ29udHJvbHMgfHwge30pO1xuICB9XG5cbiAgcHVibGljIGdldCBTb3VyY2VDb250cm9scygpOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ1NvdXJjZUNvbnRyb2wgfSB7XG4gICAgcmV0dXJuIHRoaXMuRW52aXJvbm1lbnQuU291cmNlcyB8fCB7fTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGFwcHNGbG93U3ZjOiBBcHBsaWNhdGlvbnNGbG93U2VydmljZSkge1xuICAgIHRoaXMuSG9zdGluZ0RldGFpbHMgPSBuZXcgUHJvamVjdEhvc3RpbmdEZXRhaWxzKCk7XG4gICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7fSk7XG5cbiAgICB0aGlzLmxvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTtcblxuICAgIGNvbnNvbGUubG9nKFwiQVJUSUZBQ1Q6IFwiLCB0aGlzLkFydGlmYWN0KTtcbiAgICAvLyB0aGlzLkJ1aWxkUGlwZWxpbmUgfHxcbiAgICAvLyBnaXRodWItYXJ0aWZhY3RzLXJlbGVhc2UgaXMgIHRoaXMuSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zWzBdPy5Mb29rdXBcbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmUgPVxuICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscz8uSG9zdGluZ09wdGlvbnNcbiAgICAgICAgPyB0aGlzLkhvc3RpbmdEZXRhaWxzPy5Ib3N0aW5nT3B0aW9uc1swXT8uTG9va3VwXG4gICAgICAgIDogJyc7XG4gICAgICBjb25zb2xlLmxvZyhcIkJ1aWxkIFBpcGVsaW5lIEhFUkU9IFwiLCB0aGlzLkJ1aWxkUGlwZWxpbmUpO1xuXG4gICAgaWYgKHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cCAhPSBudWxsKSB7XG4gICAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnaG9zdGluZ0RldGFpbHMnKTtcbiAgICB9XG5cbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdob3N0aW5nRGV0YWlscycsXG4gICAgICB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgYnVpbGRQaXBlbGluZTogW3RoaXMuQnVpbGRQaXBlbGluZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc2V0dXBDb250cm9sc0ZvckZvcm0oKTtcbiAgICBcbiAgfVxuXG4vL0FQSSBNRVRIT0RTXG5cbnB1YmxpYyBCdWlsZFBpcGVsaW5lQ2hhbmdlZCgpOiB2b2lkIHtcbiAgY29uc29sZS5sb2coXCJidWlsZCBwaXBlbGluZSB2YWx1ZTogXCIsdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUNvbnRyb2w/LnZhbHVlKVxuICB0aGlzLkJ1aWxkUGlwZWxpbmUgPSB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgdGhpcy5zZXR1cENvbnRyb2xzRm9yRm9ybSgpO1xufVxuICBcbi8vICBIZWxwZXJzXG5wcm90ZWN0ZWQgc2V0dXBDb250cm9sc0ZvckZvcm0oKTogdm9pZCB7XG4gIC8vZm9yIChjb25zdCBjdHJsTmFtZSBpbiB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuY29udHJvbHMpIHtcbi8vZGV2T3BzQWN0aW9uIGRvZXNuJ3QgZXhpc3Rcbi8vcmVtb3ZlcyBob3N0aW5nIGRldGFpbHNcbiAgICAvLyBpZiAoY3RybE5hbWUgIT09ICdidWlsZFBpcGVsaW5lJyAmJiBjdHJsTmFtZSAhPT0gJ2Rldk9wc0FjdGlvbicpIHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKFwicmVtb3ZpbmcgY29udHJvbDogXCIsIGN0cmxOYW1lKVxuICAgIC8vICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woY3RybE5hbWUpO1xuICAgIC8vIH1cbiAgLy99XG5cbiAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgJ2Rldk9wc0FjdGlvbk5hbWUnLFxuICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgIHRoaXMuRGV2T3BzQWN0aW9uPy5OYW1lIHx8IHRoaXMuU2VsZWN0ZWRIb3N0aW5nT3B0aW9uPy5OYW1lIHx8ICcnLFxuICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgKVxuICApO1xuXG4gIHRoaXMuU2VsZWN0ZWRIb3N0aW5nT3B0aW9uPy5JbnB1dHM/LmZvckVhY2goKGlucHV0KSA9PiB7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IGlucHV0LlJlcXVpcmVkID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogW107XG5cbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgIGlucHV0Lkxvb2t1cCxcbiAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgdGhpcy5BcnRpZmFjdFtpbnB1dC5Mb29rdXBdIHx8IGlucHV0LkRlZmF1bHRWYWx1ZSB8fCAnJyxcbiAgICAgICAgdmFsaWRhdG9yc1xuICAgICAgKVxuICAgICk7XG5cbiAgICAvLyBpZiAodGhpcy5EaXNhYmxlZCkge1xuICAgIC8vICAgdGhpcy5Gb3JtR3JvdXAuY29udHJvbHNbaW5wdXQuTG9va3VwXS5kaXNhYmxlKCk7XG4gICAgLy8gfVxuICB9KTtcbmRlYnVnZ2VyO1xuICBpZiAodGhpcy5CdWlsZFBpcGVsaW5lRm9ybUNvbnRyb2w/LnZhbHVlID09PSAnbnBtLXJlbGVhc2UnKSB7XG5kZWJ1Z2dlcjtcbiAgICBpZiAoIXRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5jb250cm9scy5ucG1Ub2tlbikge1xuICAgICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgICducG1Ub2tlbicsXG4gICAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgICAnJyxcbiAgICAgICAgICB0aGlzLkRpc2FibGVkID8gW10gOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgICAgaWYgKHRoaXMuRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmNvbnRyb2xzLm5wbVRva2VuLmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAoXG4gICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUNvbnRyb2w/LnZhbHVlID09PSAnZ2l0aHViLWFydGlmYWN0cy1yZWxlYXNlJ1xuICApIHtcbiAgICBpZiAodGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmNvbnRyb2xzLm5wbVRva2VuKSB7XG4gICAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnbnBtVG9rZW4nKTtcbiAgICB9XG4gIH1cbn1cblxuXG5wcm90ZWN0ZWQgbG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpOiB2b2lkIHtcbiAgICAvLyB0aGlzLkhvc3RpbmdEZXRhaWxzLkxvYWRpbmcgPSB0cnVlO1xuICAgIC8vIHRoaXMuT3JnYW5pemF0aW9uLFxuICAgIC8vIHRoaXMuUmVwb3NpdG9yeSxcbiAgICAvLyB0aGlzLk1haW5CcmFuY2hcblxuICAgIC8vICdwb3dob3VuZDQnLFxuICAgIC8vICAgICBcIlJlZHdvb2RDcnlzdGFsc1wiLFxuICAgIC8vICAgICBcIm1hc3RlclwiXG5cbiAgICB0aGlzLmFwcHNGbG93U3ZjXG4gICAgICAuTG9hZFByb2plY3RIb3N0aW5nRGV0YWlscyhcbiAgICAgICAgJ3Bvd2hvdW5kNCcsXG4gICAgICAgIFwiUmVkd29vZENyeXN0YWxzXCIsXG4gICAgICAgIFwibWFzdGVyXCJcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChyZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTxQcm9qZWN0SG9zdGluZ0RldGFpbHM+KSA9PiB7XG4gICAgICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscyA9IHJlc3BvbnNlLk1vZGVsO1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwicmVzcG9uc2U6IFwiLCByZXNwb25zZSk7XG4gICAgICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMuTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiaG9zdGluZyBkZXRhaWxzIExPQURJTkcgRUVSUjogXCIsIHRoaXMuSG9zdGluZ0RldGFpbHMpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiRVJSOiBcIiwgZXJyKTtcblxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgY29uc29sZS5sb2coXCJIT1NUSU5HIERFVEFJTFM6IFwiLCB0aGlzLkhvc3RpbmdEZXRhaWxzKTtcbiAgXG59XG4gXG5cbn1cbiJdfQ==
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcGlwZWxpbmUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9scy9idWlsZC1waXBlbGluZS1mb3JtL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTRCLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQW1CLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRixPQUFPLEVBQXVCLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsVUFBVSxFQUFxQyxNQUFNLDRCQUE0QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBd0IsTUFBTSxxQ0FBcUMsQ0FBQztBQU9sRyxNQUFNLE9BQU8sMEJBQTBCO0lBc0hyQyxZQUFzQixNQUFrQixFQUM1QixXQUF3QixFQUN4QixXQUFvQztRQUYxQixXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBbkdELHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFFN0IseUJBQXlCO0lBQ3pCLCtCQUErQjtJQUUvQix1QkFBdUI7SUFDdkIsNkJBQTZCO0lBRzdCLElBQVcsUUFBUTs7UUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLFFBQUUsSUFBSSxDQUFDLFdBQVcsMENBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1RSxPQUFPLE9BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsU0FBUyxLQUFJLElBQUksQ0FBQyxjQUFjO1lBQ3ZELENBQUMsQ0FBQyxPQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxNQUFLLEVBQUU7WUFDeEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNULENBQUM7SUFFRCxJQUFXLGNBQWM7O1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLE9BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsZUFBZSxFQUNsRCxDQUFDLE9BQUMsSUFBSSxDQUFDLFlBQVksMENBQUUsZUFBZSxDQUFDLENBQUMsRUFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVULE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLHdCQUF3Qjs7UUFFakMsYUFBTyxJQUFJLENBQUMsc0JBQXNCLDBDQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDN0QsQ0FBQztJQUlELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxrQkFBa0I7WUFDOUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7WUFDL0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNULENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsMkJBQTJCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFXLG9CQUFvQjs7UUFDN0IsSUFBSSxFQUFFLEdBQUcsT0FBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxPQUFPLEVBQ2hDLENBQUMsT0FBQyxJQUFJLENBQUMsV0FBVywwQ0FBRSxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUMzRCxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRVQsSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUNqRCxFQUFFLEdBQUcsRUFBRSxDQUFDO1NBQ1Q7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFNRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELDJDQUEyQztJQUMzQyxJQUFXLHFCQUFxQjs7UUFDOUIsbUJBQU8sSUFBSSxDQUFDLGNBQWMsMENBQUUsY0FBYywwQ0FBRSxJQUFJLENBQzlDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQ3hDO0lBQ0osQ0FBQztJQUVELElBQVcsdUNBQXVDOztRQUdoRCxtQkFBTyxJQUFJLENBQUMscUJBQXFCLDBDQUFFLE1BQU0sMENBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzlELE1BQU0sR0FBRyxxQkFDSixJQUFJLENBQ1IsQ0FBQztZQUVGLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDO1lBRXpFLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUNULENBQUM7SUFFRCxJQUFXLG9CQUFvQjtRQUM3QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFRTSxRQUFRO1FBRWIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXpELElBQUksSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUksRUFBRTtZQUN2QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDN0Q7UUFFRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUNwQyxnQkFBZ0IsRUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDckIsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMzRCxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBRW5DLENBQUM7SUFFRCxhQUFhO0lBRU4sb0JBQW9COztRQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixRQUFFLElBQUksQ0FBQyx3QkFBd0IsMENBQUUsS0FBSyxDQUFDLENBQUE7UUFDM0UsSUFBSSxDQUFDLGFBQWEsU0FBRyxJQUFJLENBQUMsd0JBQXdCLDBDQUFFLEtBQUssQ0FBQztRQUUxRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFTSxlQUFlOztRQUNwQixNQUFNLFVBQVUsR0FBc0M7WUFDcEQsV0FBVyxrQ0FDTixJQUFJLENBQUMsV0FBVyxLQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLElBQUksRUFBRSxFQUMzQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLElBQUksRUFBRSxFQUNuRCxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksRUFBRSxFQUN2QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksRUFBRSxHQUN4QztZQUNELGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDekMsb0JBQW9CLEVBQUUsRUFBRTtTQUN6QixDQUFDO1FBRUYsSUFBSSxjQUFzQixDQUFDO1FBRTNCLElBQUksUUFBUSxtQ0FDUCxJQUFJLENBQUMsUUFBUSxHQUNiLElBQUksQ0FBQyx1Q0FBdUMsQ0FDaEQsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFbEMsUUFBUSxtQ0FDSCxRQUFRLEtBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxxQkFBcUI7cUJBQzdCLFlBQVksRUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFDckMsV0FBVyxFQUFFLDZCQUE2QixHQUMzQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3RDO1FBRUQsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRTVELElBQUksa0JBQTBCLENBQUM7UUFFL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM1QixrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFdEMsTUFBTSxHQUFHLG1DQUNKLElBQUksQ0FBQyxZQUFZLEtBQ3BCLGVBQWUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUNqQyxJQUFJLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssRUFDNUMsSUFBSSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQ3JDLFNBQVMsRUFDUCxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxHQUN2QyxDQUFDO1lBRUYsVUFBSSxJQUFJLENBQUMsbUJBQW1CLDBDQUFFLEtBQUssRUFBRTtnQkFDbkMsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUM7Z0JBRXhDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFFbkMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUc7b0JBQzdDLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLGVBQWUsRUFBRSxZQUFZO29CQUM3QixPQUFPLEVBQUUsV0FBVztpQkFDckIsQ0FBQztnQkFFRixVQUFVLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEdBQUc7b0JBQzlDLElBQUksRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJO29CQUN2RCxXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSTtvQkFDOUQsS0FBSyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLO2lCQUN0QyxDQUFDO2FBQ0g7WUFFRCxVQUFVLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUNoRTthQUFNO1lBQ0wsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBRTdDLE1BQU0sR0FBRyxtQ0FDSixJQUFJLENBQUMsWUFBWSxLQUNwQixJQUFJLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssR0FDN0MsQ0FBQztZQUVGLFVBQVUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ2hFO1FBRUQsbUNBQW1DO1FBQ25DLGtDQUFrQztRQUNsQywrREFBK0Q7UUFDL0QsNEVBQTRFO1FBQzVFLEtBQUs7UUFFTCxhQUFhO1FBQ2IsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQiwyQ0FBMkM7UUFDM0Msc0RBQXNEO1FBQ3RELGtCQUFrQjtRQUNsQixvRUFBb0U7UUFDcEUsNEVBQTRFO1FBQzVFLEtBQUs7UUFFTCwyRUFBMkU7UUFFM0UscURBQXFEO1FBRXJELElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVc7SUFDRCxvQkFBb0I7O1FBQzVCLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtZQUMzRCw0QkFBNEI7WUFDNUIseUJBQXlCO1lBQ3pCLElBQUksUUFBUSxLQUFLLGVBQWUsSUFBSSxRQUFRLEtBQUssY0FBYyxFQUFFO2dCQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxDQUFBO2dCQUMzQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3JEO1NBQ0Y7UUFFRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUNwQyxrQkFBa0IsRUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQ3RCLE9BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsSUFBSSxZQUFJLElBQUksQ0FBQyxxQkFBcUIsMENBQUUsSUFBSSxDQUFBLElBQUksRUFBRSxFQUNqRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FDRixDQUFDO1FBRUYsWUFBQSxJQUFJLENBQUMscUJBQXFCLDBDQUFFLE1BQU0sMENBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUUvRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUNwQyxLQUFLLENBQUMsTUFBTSxFQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLEVBQUUsRUFDdkQsVUFBVSxDQUNYLENBQ0YsQ0FBQztZQUVGLHVCQUF1QjtZQUN2QixxREFBcUQ7WUFDckQsSUFBSTtRQUNOLENBQUMsRUFBRTtRQUVILElBQUksT0FBQSxJQUFJLENBQUMsd0JBQXdCLDBDQUFFLEtBQUssTUFBSyxhQUFhLEVBQUU7WUFFMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO2dCQUNsRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUNwQyxVQUFVLEVBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQ3RCLEVBQUUsRUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUMzQyxDQUNGLENBQUM7Z0JBRUYsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNqQixJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDekQ7YUFDRjtTQUNGO2FBQU0sSUFDTCxPQUFBLElBQUksQ0FBQyx3QkFBd0IsMENBQUUsS0FBSyxNQUFLLDBCQUEwQixFQUNuRTtZQUNBLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDdkQ7U0FDRjtJQUNILENBQUM7SUFFUyx5QkFBeUI7UUFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ25DLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBRWxCLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsV0FBVztRQUVYLElBQUksQ0FBQyxXQUFXO2FBQ2IsNEJBQTRCLEVBQUU7YUFDOUIsU0FBUyxDQUNSLENBQUMsUUFBb0QsRUFBRSxFQUFFOztZQUN2RCxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBRXBDLElBQUksQ0FBQyxhQUFhO2dCQUNoQixPQUFBLElBQUksQ0FBQyxjQUFjLDBDQUFFLGNBQWMsRUFDakMsQ0FBQyxhQUFDLElBQUksQ0FBQyxjQUFjLDBDQUFFLGNBQWMsQ0FBQyxDQUFDLDJDQUFHLE1BQU0sQ0FDaEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUVULE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRXpELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRTlCLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBRU4sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXRDLENBQUMsQ0FDRixDQUFDO1FBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFeEQsQ0FBQzs7O1lBeFdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQywycUlBQW1EOzthQUVwRDs7O1lBUFEsVUFBVTtZQUpPLFdBQVc7WUFHNUIsdUJBQXVCOzs7NEJBYzdCLEtBQUssU0FBQyxnQkFBZ0I7aUNBTXRCLEtBQUssU0FBQyxzQkFBc0I7dUJBRzVCLEtBQUssU0FBQyxVQUFVOzBCQUdoQixLQUFLLFNBQUMsYUFBYTtnQ0FHbkIsS0FBSyxTQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlTW9kZWxlZFJlc3BvbnNlLCBHdWlkIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuaW1wb3J0IHsgRWFDQXJ0aWZhY3QsIEVhQ0Rldk9wc0FjdGlvbiwgRWFDRW52aXJvbm1lbnRBc0NvZGUsIEVhQ1NvdXJjZUNvbnRyb2wgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7IEVhQ1NlcnZpY2UsIFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2plY3RIb3N0aW5nRGV0YWlscywgUHJvamVjdEhvc3RpbmdPcHRpb24gfSBmcm9tICcuLi8uLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1idWlsZC1waXBlbGluZS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idWlsZC1waXBlbGluZS1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnVpbGRQaXBlbGluZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cbiAgLy9QUk9QRVJUSUVTXG5cbiAgQElucHV0KCdidWlsZC1waXBlbGluZScpXG4gIHB1YmxpYyBCdWlsZFBpcGVsaW5lOiBzdHJpbmc7XG5cbiAgLy8gQElucHV0KCdkZXRhaWxzJylcbiAgLy8gcHVibGljIERldGFpbHM6IFByb2plY3RIb3N0aW5nRGV0YWlscztcblxuICBASW5wdXQoJ2Rldm9wcy1hY3Rpb24tbG9va3VwJylcbiAgcHVibGljIERldk9wc0FjdGlvbkxvb2t1cDogc3RyaW5nO1xuXG4gIEBJbnB1dCgnZGlzYWJsZWQnKVxuICBwdWJsaWMgRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCdlbnZpcm9ubWVudCcpXG4gIHB1YmxpYyBFbnZpcm9ubWVudDogRWFDRW52aXJvbm1lbnRBc0NvZGU7XG5cbiAgQElucHV0KCdlbnZpcm9ubWVudC1sb29rdXAnKVxuICBwdWJsaWMgRW52aXJvbm1lbnRMb29rdXA6IHN0cmluZztcblxuICAvLyBASW5wdXQoJ21haW4tYnJhbmNoJylcbiAgLy8gcHVibGljIE1haW5CcmFuY2g6IHN0cmluZztcblxuICAvLyBASW5wdXQoJ29yZ2FuaXphdGlvbicpXG4gIC8vIHB1YmxpYyBPcmdhbml6YXRpb246IHN0cmluZztcblxuICAvLyBASW5wdXQoJ3JlcG9zaXRvcnknKVxuICAvLyBwdWJsaWMgUmVwb3NpdG9yeTogc3RyaW5nO1xuXG5cbiAgcHVibGljIGdldCBBcnRpZmFjdCgpOiBFYUNBcnRpZmFjdCB7XG4gICAgY29uc29sZS5sb2coXCJBUlRJRkFDVDogXCIsIHRoaXMuRW52aXJvbm1lbnQ/LkFydGlmYWN0c1t0aGlzLkFydGlmYWN0TG9va3VwXSk7XG4gICAgcmV0dXJuIHRoaXMuRW52aXJvbm1lbnQ/LkFydGlmYWN0cyAmJiB0aGlzLkFydGlmYWN0TG9va3VwXG4gICAgICA/IHRoaXMuRW52aXJvbm1lbnQ/LkFydGlmYWN0c1t0aGlzLkFydGlmYWN0TG9va3VwXSB8fCB7fVxuICAgICAgOiB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgQXJ0aWZhY3RMb29rdXAoKTogc3RyaW5nIHtcbiAgICBjb25zdCBhcnRMb29rdXAgPSB0aGlzLkRldk9wc0FjdGlvbj8uQXJ0aWZhY3RMb29rdXBzXG4gICAgICA/IHRoaXMuRGV2T3BzQWN0aW9uPy5BcnRpZmFjdExvb2t1cHNbMF1cbiAgICAgIDogbnVsbDtcblxuICAgIHJldHVybiBhcnRMb29rdXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IEJ1aWxkUGlwZWxpbmVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuXG4gICAgcmV0dXJuIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cD8uY29udHJvbHMuYnVpbGRQaXBlbGluZTtcbiAgfVxuXG4gIHB1YmxpYyBCdWlsZFBpcGVsaW5lRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgcHVibGljIGdldCBEZXZPcHNBY3Rpb24oKTogRWFDRGV2T3BzQWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zICYmIHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwXG4gICAgICA/IHRoaXMuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9uc1t0aGlzLkRldk9wc0FjdGlvbkxvb2t1cF0gfHwge31cbiAgICAgIDoge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IERldk9wc0FjdGlvbnMoKTogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNEZXZPcHNBY3Rpb24gfSB7XG4gICAgcmV0dXJuIHRoaXMuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9ucyB8fCB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRGV2T3BzQWN0aW9uTmFtZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5nZXQoJ2Rldk9wc0FjdGlvbk5hbWUnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRWRpdGluZ1NvdXJjZUNvbnRyb2woKTogRWFDU291cmNlQ29udHJvbCB7XG4gICAgbGV0IHNjID0gdGhpcy5FbnZpcm9ubWVudD8uU291cmNlc1xuICAgICAgPyB0aGlzLkVudmlyb25tZW50Py5Tb3VyY2VzW3RoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXBdXG4gICAgICA6IG51bGw7XG5cbiAgICBpZiAoc2MgPT0gbnVsbCAmJiB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sTG9va3VwKSB7XG4gICAgICBzYyA9IHt9O1xuICAgIH1cblxuICAgIHJldHVybiBzYztcbiAgfVxuXG4gIHB1YmxpYyBFZGl0aW5nU291cmNlQ29udHJvbExvb2t1cDogc3RyaW5nO1xuXG4gIHB1YmxpYyBIb3N0aW5nRGV0YWlsczogUHJvamVjdEhvc3RpbmdEZXRhaWxzO1xuXG4gIHB1YmxpYyBnZXQgTlBNVG9rZW5Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuZ2V0KCducG1Ub2tlbicpO1xuICB9XG5cbiAgLy8gKGhvKSA9PiBoby5Mb29rdXAgPT09IHRoaXMuQnVpbGRQaXBlbGluZVxuICBwdWJsaWMgZ2V0IFNlbGVjdGVkSG9zdGluZ09wdGlvbigpOiBQcm9qZWN0SG9zdGluZ09wdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zPy5maW5kKFxuICAgICAgKGhvKSA9PiBoby5Mb29rdXAgPT09IHRoaXMuQnVpbGRQaXBlbGluZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFNlbGVjdGVkSG9zdGluZ09wdGlvbklucHV0Q29udHJvbFZhbHVlcygpOiB7XG4gICAgW2xvb2t1cDogc3RyaW5nXTogYW55O1xuICB9IHtcbiAgICByZXR1cm4gdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb24/LklucHV0cz8ucmVkdWNlKChwcmV2LCBjdXIpID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgIH07XG5cbiAgICAgIHJlc1tjdXIuTG9va3VwXSA9IHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5jb250cm9sc1tjdXIuTG9va3VwXS52YWx1ZTtcblxuICAgICAgcmV0dXJuIHJlcztcbiAgICB9LCB7fSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFNvdXJjZUNvbnRyb2xMb29rdXBzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLlNvdXJjZUNvbnRyb2xzIHx8IHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU291cmNlQ29udHJvbHMoKTogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNTb3VyY2VDb250cm9sIH0ge1xuICAgIHJldHVybiB0aGlzLkVudmlyb25tZW50LlNvdXJjZXMgfHwge307XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZWFjU3ZjOiBFYUNTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGFwcHNGbG93U3ZjOiBBcHBsaWNhdGlvbnNGbG93U2VydmljZSkge1xuICAgIHRoaXMuSG9zdGluZ0RldGFpbHMgPSBuZXcgUHJvamVjdEhvc3RpbmdEZXRhaWxzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHt9KTtcblxuICAgIGlmICh0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAgIT0gbnVsbCkge1xuICAgICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ2hvc3RpbmdEZXRhaWxzJyk7XG4gICAgfVxuXG4gICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnaG9zdGluZ0RldGFpbHMnLFxuICAgICAgdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgIGJ1aWxkUGlwZWxpbmU6IFt0aGlzLkJ1aWxkUGlwZWxpbmUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmxvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTtcblxuICB9XG5cbiAgLy9BUEkgTUVUSE9EU1xuXG4gIHB1YmxpYyBCdWlsZFBpcGVsaW5lQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhcImJ1aWxkIHBpcGVsaW5lIHZhbHVlOiBcIiwgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUNvbnRyb2w/LnZhbHVlKVxuICAgIHRoaXMuQnVpbGRQaXBlbGluZSA9IHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Db250cm9sPy52YWx1ZTtcblxuICAgIHRoaXMuc2V0dXBDb250cm9sc0ZvckZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBTdWJtaXRCdWlsZFBpcGVsaW5lKCkge1xuICAgIGNvbnNvbGUubG9nKFwic3VibWl0dGluZyBidWlsZCBwaXBlbGluZTogXCIsIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgU2F2ZUVudmlyb25tZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IHNhdmVFbnZSZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCA9IHtcbiAgICAgIEVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLnRoaXMuRW52aXJvbm1lbnQsXG4gICAgICAgIEFydGlmYWN0czogdGhpcy5FbnZpcm9ubWVudC5BcnRpZmFjdHMgfHwge30sXG4gICAgICAgIERldk9wc0FjdGlvbnM6IHRoaXMuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9ucyB8fCB7fSxcbiAgICAgICAgU2VjcmV0czogdGhpcy5FbnZpcm9ubWVudC5TZWNyZXRzIHx8IHt9LFxuICAgICAgICBTb3VyY2VzOiB0aGlzLkVudmlyb25tZW50LlNvdXJjZXMgfHwge30sXG4gICAgICB9LFxuICAgICAgRW52aXJvbm1lbnRMb29rdXA6IHRoaXMuRW52aXJvbm1lbnRMb29rdXAsXG4gICAgICBFbnRlcnByaXNlRGF0YVRva2Vuczoge30sXG4gICAgfTtcblxuICAgIGxldCBhcnRpZmFjdExvb2t1cDogc3RyaW5nO1xuXG4gICAgbGV0IGFydGlmYWN0OiBFYUNBcnRpZmFjdCA9IHtcbiAgICAgIC4uLnRoaXMuQXJ0aWZhY3QsXG4gICAgICAuLi50aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbklucHV0Q29udHJvbFZhbHVlcyxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLkFydGlmYWN0TG9va3VwKSB7XG4gICAgICBhcnRpZmFjdExvb2t1cCA9IEd1aWQuQ3JlYXRlUmF3KCk7XG5cbiAgICAgIGFydGlmYWN0ID0ge1xuICAgICAgICAuLi5hcnRpZmFjdCxcbiAgICAgICAgVHlwZTogdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb25cbiAgICAgICAgICAuQXJ0aWZhY3RUeXBlLFxuICAgICAgICBOYW1lOiB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbi5OYW1lLFxuICAgICAgICBOUE1SZWdpc3RyeTogJ2h0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnLycsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBhcnRpZmFjdExvb2t1cCA9IHRoaXMuQXJ0aWZhY3RMb29rdXA7XG4gICAgfVxuXG4gICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5BcnRpZmFjdHNbYXJ0aWZhY3RMb29rdXBdID0gYXJ0aWZhY3Q7XG5cbiAgICBsZXQgZGV2T3BzQWN0aW9uTG9va3VwOiBzdHJpbmc7XG5cbiAgICBpZiAoIXRoaXMuRGV2T3BzQWN0aW9uTG9va3VwKSB7XG4gICAgICBkZXZPcHNBY3Rpb25Mb29rdXAgPSBHdWlkLkNyZWF0ZVJhdygpO1xuXG4gICAgICBjb25zdCBkb2E6IEVhQ0Rldk9wc0FjdGlvbiA9IHtcbiAgICAgICAgLi4udGhpcy5EZXZPcHNBY3Rpb24sXG4gICAgICAgIEFydGlmYWN0TG9va3VwczogW2FydGlmYWN0TG9va3VwXSxcbiAgICAgICAgTmFtZTogdGhpcy5EZXZPcHNBY3Rpb25OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIFBhdGg6IHRoaXMuU2VsZWN0ZWRIb3N0aW5nT3B0aW9uLlBhdGgsXG4gICAgICAgIFRlbXBsYXRlczpcbiAgICAgICAgICB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbi5UZW1wbGF0ZXMsXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy5OUE1Ub2tlbkZvcm1Db250cm9sPy52YWx1ZSkge1xuICAgICAgICBjb25zdCBzZWNyZXRMb29rdXAgPSAnbnBtLWFjY2Vzcy10b2tlbic7XG5cbiAgICAgICAgZG9hLlNlY3JldExvb2t1cHMgPSBbc2VjcmV0TG9va3VwXTtcblxuICAgICAgICBzYXZlRW52UmVxLkVudmlyb25tZW50LlNlY3JldHNbc2VjcmV0TG9va3VwXSA9IHtcbiAgICAgICAgICBOYW1lOiAnTlBNIEFjY2VzcyBUb2tlbicsXG4gICAgICAgICAgRGF0YVRva2VuTG9va3VwOiBzZWNyZXRMb29rdXAsXG4gICAgICAgICAgS25vd25BczogJ05QTV9UT0tFTicsXG4gICAgICAgIH07XG5cbiAgICAgICAgc2F2ZUVudlJlcS5FbnRlcnByaXNlRGF0YVRva2Vuc1tzZWNyZXRMb29rdXBdID0ge1xuICAgICAgICAgIE5hbWU6IHNhdmVFbnZSZXEuRW52aXJvbm1lbnQuU2VjcmV0c1tzZWNyZXRMb29rdXBdLk5hbWUsXG4gICAgICAgICAgRGVzY3JpcHRpb246IHNhdmVFbnZSZXEuRW52aXJvbm1lbnQuU2VjcmV0c1tzZWNyZXRMb29rdXBdLk5hbWUsXG4gICAgICAgICAgVmFsdWU6IHRoaXMuTlBNVG9rZW5Gb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zW2Rldk9wc0FjdGlvbkxvb2t1cF0gPSBkb2E7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRldk9wc0FjdGlvbkxvb2t1cCA9IHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwO1xuXG4gICAgICBjb25zdCBkb2E6IEVhQ0Rldk9wc0FjdGlvbiA9IHtcbiAgICAgICAgLi4udGhpcy5EZXZPcHNBY3Rpb24sXG4gICAgICAgIE5hbWU6IHRoaXMuRGV2T3BzQWN0aW9uTmFtZUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgfTtcblxuICAgICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zW2Rldk9wc0FjdGlvbkxvb2t1cF0gPSBkb2E7XG4gICAgfVxuXG4gICAgLy8gbGV0IHNvdXJjZTogRWFDU291cmNlQ29udHJvbCA9IHtcbiAgICAvLyAgIC4uLnRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wsXG4gICAgLy8gICBCcmFuY2hlczogdGhpcy5Tb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzLlNlbGVjdGVkQnJhbmNoZXMsXG4gICAgLy8gICBNYWluQnJhbmNoOiB0aGlzLlNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHMuTWFpbkJyYW5jaEZvcm1Db250cm9sLnZhbHVlLFxuICAgIC8vIH07XG5cbiAgICAvLyBzb3VyY2UgPSB7XG4gICAgLy8gICAuLi5zb3VyY2UsXG4gICAgLy8gICBUeXBlOiAnR2l0SHViJyxcbiAgICAvLyAgIE5hbWU6IHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXAsXG4gICAgLy8gICBEZXZPcHNBY3Rpb25UcmlnZ2VyTG9va3VwczogW2Rldk9wc0FjdGlvbkxvb2t1cF0sXG4gICAgLy8gICBPcmdhbml6YXRpb246XG4gICAgLy8gICAgIHRoaXMuU291cmNlQ29udHJvbEZvcm1Db250cm9scy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbC52YWx1ZSxcbiAgICAvLyAgIFJlcG9zaXRvcnk6IHRoaXMuU291cmNlQ29udHJvbEZvcm1Db250cm9scy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wudmFsdWUsXG4gICAgLy8gfTtcblxuICAgIC8vIGNvbnN0IHNjTG9va3VwID0gYGdpdGh1YjovLyR7c291cmNlLk9yZ2FuaXphdGlvbn0vJHtzb3VyY2UuUmVwb3NpdG9yeX1gO1xuXG4gICAgLy8gc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5Tb3VyY2VzW3NjTG9va3VwXSA9IHNvdXJjZTtcblxuICAgIHRoaXMuZWFjU3ZjLlNhdmVFbnZpcm9ubWVudEFzQ29kZShzYXZlRW52UmVxKTtcbiAgfVxuXG4gIC8vICBIZWxwZXJzXG4gIHByb3RlY3RlZCBzZXR1cENvbnRyb2xzRm9yRm9ybSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGN0cmxOYW1lIGluIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5jb250cm9scykge1xuICAgICAgLy9kZXZPcHNBY3Rpb24gZG9lc24ndCBleGlzdFxuICAgICAgLy9yZW1vdmVzIGhvc3RpbmcgZGV0YWlsc1xuICAgICAgaWYgKGN0cmxOYW1lICE9PSAnYnVpbGRQaXBlbGluZScgJiYgY3RybE5hbWUgIT09ICdkZXZPcHNBY3Rpb24nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwicmVtb3ZpbmcgY29udHJvbDogXCIsIGN0cmxOYW1lKVxuICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAucmVtb3ZlQ29udHJvbChjdHJsTmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnZGV2T3BzQWN0aW9uTmFtZScsXG4gICAgICB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRGV2T3BzQWN0aW9uPy5OYW1lIHx8IHRoaXMuU2VsZWN0ZWRIb3N0aW5nT3B0aW9uPy5OYW1lIHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb24/LklucHV0cz8uZm9yRWFjaCgoaW5wdXQpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBpbnB1dC5SZXF1aXJlZCA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IFtdO1xuXG4gICAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgaW5wdXQuTG9va3VwLFxuICAgICAgICB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICAgICAgdGhpcy5BcnRpZmFjdFtpbnB1dC5Mb29rdXBdIHx8IGlucHV0LkRlZmF1bHRWYWx1ZSB8fCAnJyxcbiAgICAgICAgICB2YWxpZGF0b3JzXG4gICAgICAgIClcbiAgICAgICk7XG5cbiAgICAgIC8vIGlmICh0aGlzLkRpc2FibGVkKSB7XG4gICAgICAvLyAgIHRoaXMuRm9ybUdyb3VwLmNvbnRyb2xzW2lucHV0Lkxvb2t1cF0uZGlzYWJsZSgpO1xuICAgICAgLy8gfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Db250cm9sPy52YWx1ZSA9PT0gJ25wbS1yZWxlYXNlJykge1xuXG4gICAgICBpZiAoIXRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5jb250cm9scy5ucG1Ub2tlbikge1xuICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAnbnBtVG9rZW4nLFxuICAgICAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgdGhpcy5EaXNhYmxlZCA/IFtdIDogW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgICAgKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0aGlzLkRpc2FibGVkKSB7XG4gICAgICAgICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmNvbnRyb2xzLm5wbVRva2VuLmRpc2FibGUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtQ29udHJvbD8udmFsdWUgPT09ICdnaXRodWItYXJ0aWZhY3RzLXJlbGVhc2UnXG4gICAgKSB7XG4gICAgICBpZiAodGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmNvbnRyb2xzLm5wbVRva2VuKSB7XG4gICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCducG1Ub2tlbicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBsb2FkUHJvamVjdEhvc3RpbmdEZXRhaWxzKCk6IHZvaWQge1xuICAgIHRoaXMuSG9zdGluZ0RldGFpbHMuTG9hZGluZyA9IHRydWU7XG4gICAgLy8gdGhpcy5Pcmdhbml6YXRpb24sXG4gICAgLy8gdGhpcy5SZXBvc2l0b3J5LFxuICAgIC8vIHRoaXMuTWFpbkJyYW5jaFxuXG4gICAgLy8gXCJwb3dob3VuZDRcIixcbiAgICAvLyBcIlJlZHdvb2RDcnlzdGFsc1wiLFxuICAgIC8vIFwibWFzdGVyXCJcblxuICAgIHRoaXMuYXBwc0Zsb3dTdmNcbiAgICAgIC5OZXdMb2FkUHJvamVjdEhvc3RpbmdEZXRhaWxzKClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChyZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTxQcm9qZWN0SG9zdGluZ0RldGFpbHM+KSA9PiB7XG4gICAgICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscyA9IHJlc3BvbnNlLk1vZGVsO1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwicmVzcG9uc2U6IFwiLCByZXNwb25zZSk7XG4gICAgICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmUgPVxuICAgICAgICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscz8uSG9zdGluZ09wdGlvbnNcbiAgICAgICAgICAgICAgPyB0aGlzLkhvc3RpbmdEZXRhaWxzPy5Ib3N0aW5nT3B0aW9uc1swXT8uTG9va3VwXG4gICAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhcIkJ1aWxkIFBpcGVsaW5lIEhFUkU9IFwiLCB0aGlzLkJ1aWxkUGlwZWxpbmUpO1xuXG4gICAgICAgICAgdGhpcy5zZXR1cENvbnRyb2xzRm9yRm9ybSgpO1xuXG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiRVJSOiBcIiwgZXJyKTtcbiAgICAgICAgICB0aGlzLkhvc3RpbmdEZXRhaWxzLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICB9XG4gICAgICApO1xuICAgIGNvbnNvbGUubG9nKFwiSE9TVElORyBERVRBSUxTOiBcIiwgdGhpcy5Ib3N0aW5nRGV0YWlscyk7XG5cbiAgfVxuXG59XG4iXX0=
|