@lowcodeunit/applications-flow-common 1.33.123-integration → 1.33.124-merge
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 +2549 -522
- 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/lcu.api.js +3 -1
- package/esm2015/lib/applications-flow.module.js +87 -6
- package/esm2015/lib/controls/build-pipeline-form/build-pipeline-form.component.js +213 -0
- package/esm2015/lib/controls/devops-source-control-form/devops-source-control-form.component.js +412 -0
- 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 +321 -0
- package/esm2015/lib/controls/security-toggle/security-toggle.component.js +50 -0
- package/esm2015/lib/controls/source-control-form/source-control-form.component.js +61 -0
- package/esm2015/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.js +25 -0
- package/esm2015/lib/dialogs/source-control-dialog/source-control-dialog.component.js +25 -0
- package/esm2015/lib/elements/analytics-card/analytics-card.component.js +21 -0
- package/esm2015/lib/elements/base-form/base-form.component.js +5 -5
- package/esm2015/lib/elements/breadcrumb/breadcrumb.component.js +115 -0
- package/esm2015/lib/elements/card-carousel/card-carousel.component.js +67 -0
- package/esm2015/lib/elements/column-info-card/column-info-card.component.js +31 -0
- package/esm2015/lib/elements/dynamic-tabs/dynamic-tabs.component.js +1 -1
- package/esm2015/lib/elements/feed-card-sm/feed-card-sm.component.js +31 -0
- package/esm2015/lib/elements/form-card/form-card.component.js +1 -1
- package/esm2015/lib/elements/gh-control/gh-control.component.js +72 -0
- package/esm2015/lib/elements/main-feed-card/main-feed-card.component.js +24 -0
- package/esm2015/lib/elements/project-info-card/project-info-card.component.js +32 -0
- package/esm2015/lib/elements/projects/controls/builds/builds.component.js +5 -10
- package/esm2015/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.js +7 -7
- package/esm2015/lib/elements/projects/controls/forms/source-control/source-control.component.js +4 -7
- package/esm2015/lib/elements/projects/controls/git-auth/git-auth.component.js +1 -1
- package/esm2015/lib/elements/projects/controls/header/header.component.js +9 -9
- package/esm2015/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +2 -2
- package/esm2015/lib/elements/projects/controls/project-items/project-items.component.js +8 -8
- package/esm2015/lib/elements/projects/controls/project-tabs/project-tabs.component.js +1 -1
- package/esm2015/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.js +9 -11
- package/esm2015/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.js +1 -1
- package/esm2015/lib/elements/projects/controls/tabs/devops/devops.component.js +8 -8
- package/esm2015/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.js +8 -8
- package/esm2015/lib/elements/projects/controls/tabs/domains/domains.component.js +7 -7
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.js +6 -6
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.js +7 -7
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.js +7 -7
- package/esm2015/lib/elements/projects/controls/tabs/general/general.component.js +1 -1
- package/esm2015/lib/elements/projects/projects.component.js +18 -144
- package/esm2015/lib/elements/slotted-card/slotted-card.component.js +29 -0
- package/esm2015/lib/elements/three-column/three-column.component.js +32 -0
- package/esm2015/lib/elements/two-column-header/two-column-header.component.js +15 -0
- package/esm2015/lib/models/card-slot.model.js +3 -0
- package/esm2015/lib/models/slot-action.model.js +3 -0
- package/esm2015/lib/services/applications-flow.service.js +9 -1
- package/esm2015/lib/services/eac.service.js +218 -0
- package/esm2015/lib/services/project.service.js +9 -9
- package/esm2015/lowcodeunit-applications-flow-common.js +34 -17
- package/fesm2015/lowcodeunit-applications-flow-common.js +1972 -307
- package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -1
- package/lcu.api.d.ts +2 -0
- package/lcu.api.d.ts.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 +43 -0
- package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts.map +1 -0
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +81 -0
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts.map +1 -0
- 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 +65 -0
- package/lib/controls/processor-details-form/processor-details-form.component.d.ts.map +1 -0
- package/lib/controls/security-toggle/security-toggle.component.d.ts +18 -0
- package/lib/controls/security-toggle/security-toggle.component.d.ts.map +1 -0
- package/lib/controls/source-control-form/source-control-form.component.d.ts +25 -0
- package/lib/controls/source-control-form/source-control-form.component.d.ts.map +1 -0
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +16 -0
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts.map +1 -0
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +16 -0
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts.map +1 -0
- package/lib/elements/analytics-card/analytics-card.component.d.ts +9 -0
- package/lib/elements/analytics-card/analytics-card.component.d.ts.map +1 -0
- package/lib/elements/base-form/base-form.component.d.ts +3 -3
- package/lib/elements/base-form/base-form.component.d.ts.map +1 -1
- package/lib/elements/breadcrumb/breadcrumb.component.d.ts +33 -0
- package/lib/elements/breadcrumb/breadcrumb.component.d.ts.map +1 -0
- package/lib/elements/card-carousel/card-carousel.component.d.ts +14 -0
- package/lib/elements/card-carousel/card-carousel.component.d.ts.map +1 -0
- package/lib/elements/column-info-card/column-info-card.component.d.ts +18 -0
- package/lib/elements/column-info-card/column-info-card.component.d.ts.map +1 -0
- package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts +12 -0
- package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts.map +1 -0
- package/lib/elements/gh-control/gh-control.component.d.ts +17 -0
- package/lib/elements/gh-control/gh-control.component.d.ts.map +1 -0
- package/lib/elements/main-feed-card/main-feed-card.component.d.ts +11 -0
- package/lib/elements/main-feed-card/main-feed-card.component.d.ts.map +1 -0
- package/lib/elements/project-info-card/project-info-card.component.d.ts +14 -0
- package/lib/elements/project-info-card/project-info-card.component.d.ts.map +1 -0
- package/lib/elements/projects/controls/builds/builds.component.d.ts +1 -3
- package/lib/elements/projects/controls/builds/builds.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts +3 -3
- package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts +1 -3
- package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/header/header.component.d.ts +3 -3
- package/lib/elements/projects/controls/header/header.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/project-items/project-items.component.d.ts +3 -3
- package/lib/elements/projects/controls/project-items/project-items.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts.map +1 -1
- package/lib/elements/projects/projects.component.d.ts +4 -11
- package/lib/elements/projects/projects.component.d.ts.map +1 -1
- package/lib/elements/slotted-card/slotted-card.component.d.ts +14 -0
- package/lib/elements/slotted-card/slotted-card.component.d.ts.map +1 -0
- package/lib/elements/three-column/three-column.component.d.ts +9 -0
- package/lib/elements/three-column/three-column.component.d.ts.map +1 -0
- package/lib/elements/two-column-header/two-column-header.component.d.ts +6 -0
- package/lib/elements/two-column-header/two-column-header.component.d.ts.map +1 -0
- package/lib/models/card-slot.model.d.ts +8 -0
- package/lib/models/card-slot.model.d.ts.map +1 -0
- package/lib/models/slot-action.model.d.ts +9 -0
- package/lib/models/slot-action.model.d.ts.map +1 -0
- package/lib/services/applications-flow.service.d.ts +2 -0
- package/lib/services/applications-flow.service.d.ts.map +1 -1
- package/lib/services/eac.service.d.ts +54 -0
- package/lib/services/eac.service.d.ts.map +1 -0
- package/lib/services/project.service.d.ts +1 -1
- package/lib/services/project.service.d.ts.map +1 -1
- package/lowcodeunit-applications-flow-common.d.ts +33 -16
- package/lowcodeunit-applications-flow-common.d.ts.map +1 -1
- package/lowcodeunit-applications-flow-common.metadata.json +1 -1
- package/package.json +1 -1
- package/esm2015/lib/services/applications-flow-events.service.js +0 -83
- package/lib/services/applications-flow-events.service.d.ts +0 -58
- package/lib/services/applications-flow-events.service.d.ts.map +0 -1
package/esm2015/lcu.api.js
CHANGED
|
@@ -18,8 +18,10 @@ export * from './lib/elements/projects/controls/tabs/general/forms/project-detai
|
|
|
18
18
|
export * from './lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component';
|
|
19
19
|
export * from './lib/models/card-form-config.model';
|
|
20
20
|
export * from './lib/services/forms.service';
|
|
21
|
+
export * from './lib/services/eac.service';
|
|
21
22
|
export * from './lib/models/form.model';
|
|
22
23
|
export * from './lib/models/form.values.model';
|
|
23
24
|
export * from './lib/models/base-form-config.model';
|
|
24
25
|
export * from './lib/elements/projects/controls/git-auth/git-auth.component';
|
|
25
|
-
|
|
26
|
+
export * from './lib/elements/three-column/three-column.component';
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGN1LmFwaS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9hcHBsaWNhdGlvbnMtZmxvdy9hcHBsaWNhdGlvbnMtZmxvdy9wcm9qZWN0cy9jb21tb24vc3JjLyIsInNvdXJjZXMiOlsibGN1LmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnRkFBZ0YsQ0FBQztBQUMvRixjQUFjLHdGQUF3RixDQUFDO0FBQ3ZHLGNBQWMsa0dBQWtHLENBQUM7QUFDakgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0ZBQStGLENBQUM7QUFDOUcsY0FBYyw2RkFBNkYsQ0FBQztBQUM1RyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsb0RBQW9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hcHBsaWNhdGlvbnMtZmxvdy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGUvYXBwbGljYXRpb25zLWZsb3ctc3RhdGUuY29udGV4dCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvcHJvamVjdHMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvZm9ybXMvc291cmNlLWNvbnRyb2wvc291cmNlLWNvbnRyb2wuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvY3JlYXRlLXByb2plY3Qtd2l6YXJkL2NyZWF0ZS1wcm9qZWN0LXdpemFyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9ob3N0aW5nLWRldGFpbHMtZm9ybS1ncm91cC9ob3N0aW5nLWRldGFpbHMtZm9ybS1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZHluYW1pYy10YWJzLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb2plY3QtYWN0aW9ucy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb2plY3Quc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL25wbS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2FjdGlvbnMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZm9ybS1hY3Rpb25zLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Rldi1zZXR0aW5ncy1wcmVzZXQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZG9tYWluLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3Byb2plY3QtZGV0YWlscy9wcm9qZWN0LWRldGFpbHMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3Jvb3QtZGlyZWN0b3J5L3Jvb3QtZGlyZWN0b3J5LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jYXJkLWZvcm0tY29uZmlnLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZm9ybXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZm9ybS52YWx1ZXMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFzZS1mb3JtLWNvbmZpZy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2dpdC1hdXRoL2dpdC1hdXRoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL3RocmVlLWNvbHVtbi90aHJlZS1jb2x1bW4uY29tcG9uZW50JztcclxuIl19
|
|
@@ -21,7 +21,6 @@ import { RecentActivitiesComponent } from './elements/projects/controls/recent-a
|
|
|
21
21
|
import { FormCardComponent } from './elements/form-card/form-card.component';
|
|
22
22
|
import { ProjectNameComponent } from './elements/projects/controls/tabs/general/forms/project-details/project-details.component';
|
|
23
23
|
import { RootDirectoryComponent } from './elements/projects/controls/tabs/general/forms/root-directory/root-directory.component';
|
|
24
|
-
import { ApplicationsFlowEventsService } from './services/applications-flow-events.service';
|
|
25
24
|
import { BaseFormComponent } from './elements/base-form/base-form.component';
|
|
26
25
|
import { BaseFormTestComponent } from './elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component';
|
|
27
26
|
import { GitAuthComponent } from './elements/projects/controls/git-auth/git-auth.component';
|
|
@@ -31,6 +30,28 @@ import { NPMService } from './services/npm.service';
|
|
|
31
30
|
import { NpmPackageSelectComponent } from './elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component';
|
|
32
31
|
import { DevOpsComponent } from './elements/projects/controls/tabs/devops/devops.component';
|
|
33
32
|
import { DFSModifiersComponent } from './elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component';
|
|
33
|
+
import { ThreeColumnComponent } from './elements/three-column/three-column.component';
|
|
34
|
+
import { ColumnInfoCardComponent } from './elements/column-info-card/column-info-card.component';
|
|
35
|
+
import { SlottedCardComponent } from './elements/slotted-card/slotted-card.component';
|
|
36
|
+
import { ProjectInfoCardComponent } from './elements/project-info-card/project-info-card.component';
|
|
37
|
+
import { AnalyticsCardComponent } from './elements/analytics-card/analytics-card.component';
|
|
38
|
+
import { FeedCardSmComponent } from './elements/feed-card-sm/feed-card-sm.component';
|
|
39
|
+
import { GhControlComponent } from './elements/gh-control/gh-control.component';
|
|
40
|
+
import { MainFeedCardComponent } from './elements/main-feed-card/main-feed-card.component';
|
|
41
|
+
import { TwoColumnHeaderComponent } from './elements/two-column-header/two-column-header.component';
|
|
42
|
+
import { CardCarouselComponent } from './elements/card-carousel/card-carousel.component';
|
|
43
|
+
import { SecurityToggleComponent } from './controls/security-toggle/security-toggle.component';
|
|
44
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
45
|
+
import { EaCService } from './services/eac.service';
|
|
46
|
+
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
47
|
+
import { ProcessorDetailsFormComponent } from './controls/processor-details-form/processor-details-form.component';
|
|
48
|
+
import { SourceControlFormComponent } from './controls/source-control-form/source-control-form.component';
|
|
49
|
+
import { BuildPipelineFormComponent } from './controls/build-pipeline-form/build-pipeline-form.component';
|
|
50
|
+
import { DevopsSourceControlFormComponent } from './controls/devops-source-control-form/devops-source-control-form.component';
|
|
51
|
+
import { SourceControlDialogComponent } from './dialogs/source-control-dialog/source-control-dialog.component';
|
|
52
|
+
import { BuildPipelineDialogComponent } from './dialogs/build-pipeline-dialog/build-pipeline-dialog.component';
|
|
53
|
+
import { EditApplicationFormComponent } from './controls/edit-application-form/edit-application-form.component';
|
|
54
|
+
import { BreadcrumbComponent } from './elements/breadcrumb/breadcrumb.component';
|
|
34
55
|
export class ApplicationsFlowModule {
|
|
35
56
|
static forRoot() {
|
|
36
57
|
return {
|
|
@@ -41,7 +62,7 @@ export class ApplicationsFlowModule {
|
|
|
41
62
|
ProjectService,
|
|
42
63
|
NPMService,
|
|
43
64
|
FormsService,
|
|
44
|
-
|
|
65
|
+
EaCService
|
|
45
66
|
],
|
|
46
67
|
};
|
|
47
68
|
}
|
|
@@ -70,7 +91,26 @@ ApplicationsFlowModule.decorators = [
|
|
|
70
91
|
AppsFlowComponent,
|
|
71
92
|
DevOpsComponent,
|
|
72
93
|
DFSModifiersComponent,
|
|
73
|
-
NpmPackageSelectComponent
|
|
94
|
+
NpmPackageSelectComponent,
|
|
95
|
+
ThreeColumnComponent,
|
|
96
|
+
ColumnInfoCardComponent,
|
|
97
|
+
SlottedCardComponent,
|
|
98
|
+
ProjectInfoCardComponent,
|
|
99
|
+
AnalyticsCardComponent,
|
|
100
|
+
FeedCardSmComponent,
|
|
101
|
+
GhControlComponent,
|
|
102
|
+
MainFeedCardComponent,
|
|
103
|
+
TwoColumnHeaderComponent,
|
|
104
|
+
CardCarouselComponent,
|
|
105
|
+
SecurityToggleComponent,
|
|
106
|
+
ProcessorDetailsFormComponent,
|
|
107
|
+
SourceControlFormComponent,
|
|
108
|
+
BuildPipelineFormComponent,
|
|
109
|
+
DevopsSourceControlFormComponent,
|
|
110
|
+
SourceControlDialogComponent,
|
|
111
|
+
BuildPipelineDialogComponent,
|
|
112
|
+
EditApplicationFormComponent,
|
|
113
|
+
BreadcrumbComponent
|
|
74
114
|
],
|
|
75
115
|
imports: [
|
|
76
116
|
FathymSharedModule,
|
|
@@ -79,6 +119,9 @@ ApplicationsFlowModule.decorators = [
|
|
|
79
119
|
FlexLayoutModule,
|
|
80
120
|
MaterialModule,
|
|
81
121
|
AppHostModule,
|
|
122
|
+
MatTooltipModule,
|
|
123
|
+
MatSlideToggleModule
|
|
124
|
+
// LazyElementModule,
|
|
82
125
|
],
|
|
83
126
|
exports: [
|
|
84
127
|
ApplicationsFlowProjectsElementComponent,
|
|
@@ -102,7 +145,26 @@ ApplicationsFlowModule.decorators = [
|
|
|
102
145
|
AppsFlowComponent,
|
|
103
146
|
DevOpsComponent,
|
|
104
147
|
DFSModifiersComponent,
|
|
105
|
-
NpmPackageSelectComponent
|
|
148
|
+
NpmPackageSelectComponent,
|
|
149
|
+
ThreeColumnComponent,
|
|
150
|
+
ColumnInfoCardComponent,
|
|
151
|
+
SlottedCardComponent,
|
|
152
|
+
ProjectInfoCardComponent,
|
|
153
|
+
AnalyticsCardComponent,
|
|
154
|
+
FeedCardSmComponent,
|
|
155
|
+
GhControlComponent,
|
|
156
|
+
MainFeedCardComponent,
|
|
157
|
+
TwoColumnHeaderComponent,
|
|
158
|
+
CardCarouselComponent,
|
|
159
|
+
SecurityToggleComponent,
|
|
160
|
+
ProcessorDetailsFormComponent,
|
|
161
|
+
SourceControlFormComponent,
|
|
162
|
+
BuildPipelineFormComponent,
|
|
163
|
+
DevopsSourceControlFormComponent,
|
|
164
|
+
SourceControlDialogComponent,
|
|
165
|
+
BuildPipelineDialogComponent,
|
|
166
|
+
EditApplicationFormComponent,
|
|
167
|
+
BreadcrumbComponent
|
|
106
168
|
],
|
|
107
169
|
entryComponents: [
|
|
108
170
|
ApplicationsFlowProjectsElementComponent,
|
|
@@ -124,8 +186,27 @@ ApplicationsFlowModule.decorators = [
|
|
|
124
186
|
AppsFlowComponent,
|
|
125
187
|
DevOpsComponent,
|
|
126
188
|
DFSModifiersComponent,
|
|
127
|
-
NpmPackageSelectComponent
|
|
189
|
+
NpmPackageSelectComponent,
|
|
190
|
+
ThreeColumnComponent,
|
|
191
|
+
ColumnInfoCardComponent,
|
|
192
|
+
SlottedCardComponent,
|
|
193
|
+
ProjectInfoCardComponent,
|
|
194
|
+
AnalyticsCardComponent,
|
|
195
|
+
FeedCardSmComponent,
|
|
196
|
+
GhControlComponent,
|
|
197
|
+
MainFeedCardComponent,
|
|
198
|
+
TwoColumnHeaderComponent,
|
|
199
|
+
CardCarouselComponent,
|
|
200
|
+
SecurityToggleComponent,
|
|
201
|
+
ProcessorDetailsFormComponent,
|
|
202
|
+
SourceControlFormComponent,
|
|
203
|
+
BuildPipelineFormComponent,
|
|
204
|
+
DevopsSourceControlFormComponent,
|
|
205
|
+
SourceControlDialogComponent,
|
|
206
|
+
BuildPipelineDialogComponent,
|
|
207
|
+
EditApplicationFormComponent,
|
|
208
|
+
BreadcrumbComponent
|
|
128
209
|
],
|
|
129
210
|
},] }
|
|
130
211
|
];
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25zLWZsb3cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsaWIvYXBwbGljYXRpb25zLWZsb3cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDhGQUE4RixDQUFDO0FBQ2hKLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ2xJLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUN4RyxPQUFP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QkFDZixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUNoQixxQkFBcUI7b0JBQ3JCLGVBQWU7b0JBQ2YseUJBQXlCO29CQUN6QixpQkFBaUI7b0JBQ2pCLG9CQUFvQjtvQkFDcEIsc0JBQXNCO29CQUN0QixpQkFBaUI7b0JBQ2pCLHFCQUFxQjtvQkFDckIsZ0JBQWdCO29CQUNoQixrQ0FBa0M7b0JBQ2xDLGlCQUFpQjtvQkFDakIsZUFBZTtvQkFDZixxQkFBcUI7b0JBQ3JCLHlCQUF5QjtpQkFDMUI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1zU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZm9ybXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2plY3RTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9qZWN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcclxuaW1wb3J0IHsgRmF0aHltU2hhcmVkTW9kdWxlLCBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJ0BsY3UvY29tbW9uJztcclxuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1N0YXRlQ29udGV4dCB9IGZyb20gJy4vc3RhdGUvYXBwbGljYXRpb25zLWZsb3ctc3RhdGUuY29udGV4dCc7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dQcm9qZWN0c0VsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL3Byb2plY3RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcEhvc3RNb2R1bGUgfSBmcm9tICdAbG93Y29kZXVuaXQvYXBwLWhvc3QtY29tbW9uJztcclxuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FwcGxpY2F0aW9ucy1mbG93LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIb3N0aW5nRGV0YWlsc0Zvcm1Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvaG9zdGluZy1kZXRhaWxzLWZvcm0tZ3JvdXAvaG9zdGluZy1kZXRhaWxzLWZvcm0tZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3JlYXRlUHJvamVjdFdpemFyZENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvY3JlYXRlLXByb2plY3Qtd2l6YXJkL2NyZWF0ZS1wcm9qZWN0LXdpemFyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEeW5hbWljVGFic0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvZHluYW1pYy10YWJzL2R5bmFtaWMtdGFicy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvamVjdFRhYnNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3Byb2plY3QtdGFicy9wcm9qZWN0LXRhYnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2VuZXJhbENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2dlbmVyYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG9tYWluc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9kb21haW5zL2RvbWFpbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvamVjdEl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9wcm9qZWN0LWl0ZW1zL3Byb2plY3QtaXRlbXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnVpbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9idWlsZHMvYnVpbGRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlY2VudEFjdGl2aXRpZXNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3JlY2VudC1hY3Rpdml0aWVzL3JlY2VudC1hY3Rpdml0aWVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9mb3JtLWNhcmQvZm9ybS1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2plY3ROYW1lQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2dlbmVyYWwvZm9ybXMvcHJvamVjdC1kZXRhaWxzL3Byb2plY3QtZGV0YWlscy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb290RGlyZWN0b3J5Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2dlbmVyYWwvZm9ybXMvcm9vdC1kaXJlY3Rvcnkvcm9vdC1kaXJlY3RvcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd0V2ZW50c1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FwcGxpY2F0aW9ucy1mbG93LWV2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2Jhc2UtZm9ybS9iYXNlLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFzZUZvcm1UZXN0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2dlbmVyYWwvZm9ybXMvYmFzZS1mb3JtLXRlc3QvYmFzZS1mb3JtLXRlc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2l0QXV0aENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvZ2l0LWF1dGgvZ2l0LWF1dGguY29tcG9uZW50JztcclxuaW1wb3J0IHsgU291cmNlQ29udHJvbEZvcm1Db250cm9sc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvZm9ybXMvc291cmNlLWNvbnRyb2wvc291cmNlLWNvbnRyb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwc0Zsb3dDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvYXBwcy1mbG93L2FwcHMtZmxvdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOUE1TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9ucG0uc2VydmljZSc7XHJcbmltcG9ydCB7IE5wbVBhY2thZ2VTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvYXBwcy1mbG93L25wbS1wYWNrYWdlLXNlbGVjdC9ucG0tcGFja2FnZS1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGV2T3BzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2Rldm9wcy9kZXZvcHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgREZTTW9kaWZpZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2Rmcy1tb2RpZmllcnMvZGZzLW1vZGlmaWVycy5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFwcGxpY2F0aW9uc0Zsb3dQcm9qZWN0c0VsZW1lbnRDb21wb25lbnQsXHJcbiAgICBIb3N0aW5nRGV0YWlsc0Zvcm1Hcm91cENvbXBvbmVudCxcclxuICAgIENyZWF0ZVByb2plY3RXaXphcmRDb21wb25lbnQsXHJcbiAgICBEeW5hbWljVGFic0NvbXBvbmVudCxcclxuICAgIEhlYWRlckNvbXBvbmVudCxcclxuICAgIFByb2plY3RUYWJzQ29tcG9uZW50LFxyXG4gICAgR2VuZXJhbENvbXBvbmVudCxcclxuICAgIERvbWFpbnNDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0SXRlbXNDb21wb25lbnQsXHJcbiAgICBCdWlsZHNDb21wb25lbnQsXHJcbiAgICBSZWNlbnRBY3Rpdml0aWVzQ29tcG9uZW50LFxyXG4gICAgRm9ybUNhcmRDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0TmFtZUNvbXBvbmVudCxcclxuICAgIFJvb3REaXJlY3RvcnlDb21wb25lbnQsXHJcbiAgICBCYXNlRm9ybUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtVGVzdENvbXBvbmVudCxcclxuICAgIEdpdEF1dGhDb21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzQ29tcG9uZW50LFxyXG4gICAgQXBwc0Zsb3dDb21wb25lbnQsXHJcbiAgICBEZXZPcHNDb21wb25lbnQsXHJcbiAgICBERlNNb2RpZmllcnNDb21wb25lbnQsXHJcbiAgICBOcG1QYWNrYWdlU2VsZWN0Q29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGYXRoeW1TaGFyZWRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgTWF0ZXJpYWxNb2R1bGUsXHJcbiAgICBBcHBIb3N0TW9kdWxlLFxyXG4gICAgLy8gTGF6eUVsZW1lbnRNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50Q29tcG9uZW50LFxyXG4gICAgSG9zdGluZ0RldGFpbHNGb3JtR3JvdXBDb21wb25lbnQsXHJcbiAgICBDcmVhdGVQcm9qZWN0V2l6YXJkQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY1RhYnNDb21wb25lbnQsXHJcbiAgICBIZWFkZXJDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0VGFic0NvbXBvbmVudCxcclxuICAgIEdlbmVyYWxDb21wb25lbnQsXHJcbiAgICBEb21haW5zQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdEl0ZW1zQ29tcG9uZW50LFxyXG4gICAgQnVpbGRzQ29tcG9uZW50LFxyXG4gICAgUmVjZW50QWN0aXZpdGllc0NvbXBvbmVudCxcclxuICAgIEZvcm1DYXJkQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdE5hbWVDb21wb25lbnQsXHJcbiAgICBSb290RGlyZWN0b3J5Q29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1Db21wb25lbnQsXHJcbiAgICBCYXNlRm9ybVRlc3RDb21wb25lbnQsXHJcbiAgICBHaXRBdXRoQ29tcG9uZW50LFxyXG4gICAgU291cmNlQ29udHJvbEZvcm1Db250cm9sc0NvbXBvbmVudCxcclxuICAgIEFwcHNGbG93Q29tcG9uZW50LFxyXG4gICAgRGV2T3BzQ29tcG9uZW50LFxyXG4gICAgREZTTW9kaWZpZXJzQ29tcG9uZW50LFxyXG4gICAgTnBtUGFja2FnZVNlbGVjdENvbXBvbmVudFxyXG4gIF0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbXHJcbiAgICBBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50Q29tcG9uZW50LFxyXG4gICAgRHluYW1pY1RhYnNDb21wb25lbnQsXHJcbiAgICBIZWFkZXJDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0VGFic0NvbXBvbmVudCxcclxuICAgIEdlbmVyYWxDb21wb25lbnQsXHJcbiAgICBEb21haW5zQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdEl0ZW1zQ29tcG9uZW50LFxyXG4gICAgQnVpbGRzQ29tcG9uZW50LFxyXG4gICAgUmVjZW50QWN0aXZpdGllc0NvbXBvbmVudCxcclxuICAgIEZvcm1DYXJkQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdE5hbWVDb21wb25lbnQsXHJcbiAgICBSb290RGlyZWN0b3J5Q29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1Db21wb25lbnQsXHJcbiAgICBCYXNlRm9ybVRlc3RDb21wb25lbnQsXHJcbiAgICBHaXRBdXRoQ29tcG9uZW50LFxyXG4gICAgU291cmNlQ29udHJvbEZvcm1Db250cm9sc0NvbXBvbmVudCxcclxuICAgIEFwcHNGbG93Q29tcG9uZW50LFxyXG4gICAgRGV2T3BzQ29tcG9uZW50LFxyXG4gICAgREZTTW9kaWZpZXJzQ29tcG9uZW50LFxyXG4gICAgTnBtUGFja2FnZVNlbGVjdENvbXBvbmVudFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbnNGbG93TW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwcGxpY2F0aW9uc0Zsb3dNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBBcHBsaWNhdGlvbnNGbG93TW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBBcHBsaWNhdGlvbnNGbG93U3RhdGVDb250ZXh0LFxyXG4gICAgICAgIEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlLFxyXG4gICAgICAgIFByb2plY3RTZXJ2aWNlLFxyXG4gICAgICAgIE5QTVNlcnZpY2UsXHJcbiAgICAgICAgRm9ybXNTZXJ2aWNlLFxyXG4gICAgICAgIEFwcGxpY2F0aW9uc0Zsb3dFdmVudHNTZXJ2aWNlLFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25zLWZsb3cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsaWIvYXBwbGljYXRpb25zLWZsb3cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDhGQUE4RixDQUFDO0FBQ2hKLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ2xJLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUN4RyxPQUFP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b0JBQ3hCLHNCQUFzQjtvQkFDdEIsbUJBQW1CO29CQUNuQixrQkFBa0I7b0JBQ2xCLHFCQUFxQjtvQkFDckIsd0JBQXdCO29CQUN4QixxQkFBcUI7b0JBQ3JCLHVCQUF1QjtvQkFDdkIsNkJBQTZCO29CQUM3QiwwQkFBMEI7b0JBQzFCLDBCQUEwQjtvQkFDMUIsZ0NBQWdDO29CQUNoQyw0QkFBNEI7b0JBQzVCLDRCQUE0QjtvQkFDNUIsNEJBQTRCO29CQUM1QixtQkFBbUI7aUJBQ3BCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3Jtc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Zvcm1zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9qZWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7IEZhdGh5bVNoYXJlZE1vZHVsZSwgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICdAbGN1L2NvbW1vbic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZUNvbnRleHQgfSBmcm9tICcuL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LXN0YXRlLmNvbnRleHQnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9wcm9qZWN0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBIb3N0TW9kdWxlIH0gZnJvbSAnQGxvd2NvZGV1bml0L2FwcC1ob3N0LWNvbW1vbic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSG9zdGluZ0RldGFpbHNGb3JtR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENyZWF0ZVByb2plY3RXaXphcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2NyZWF0ZS1wcm9qZWN0LXdpemFyZC9jcmVhdGUtcHJvamVjdC13aXphcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHluYW1pY1RhYnNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2R5bmFtaWMtdGFicy9keW5hbWljLXRhYnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2plY3RUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9wcm9qZWN0LXRhYnMvcHJvamVjdC10YWJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdlbmVyYWxDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZ2VuZXJhbC9nZW5lcmFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvbWFpbnNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZG9tYWlucy9kb21haW5zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2plY3RJdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvcHJvamVjdC1pdGVtcy9wcm9qZWN0LWl0ZW1zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1aWxkc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvYnVpbGRzL2J1aWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWNlbnRBY3Rpdml0aWVzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9yZWNlbnQtYWN0aXZpdGllcy9yZWNlbnQtYWN0aXZpdGllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvZm9ybS1jYXJkL2Zvcm0tY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9qZWN0TmFtZUNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3Byb2plY3QtZGV0YWlscy9wcm9qZWN0LWRldGFpbHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm9vdERpcmVjdG9yeUNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3Jvb3QtZGlyZWN0b3J5L3Jvb3QtZGlyZWN0b3J5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhc2VGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9iYXNlLWZvcm0vYmFzZS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhc2VGb3JtVGVzdENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL2Jhc2UtZm9ybS10ZXN0L2Jhc2UtZm9ybS10ZXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdpdEF1dGhDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2dpdC1hdXRoL2dpdC1hdXRoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2Zvcm1zL3NvdXJjZS1jb250cm9sL3NvdXJjZS1jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcHNGbG93Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2FwcHMtZmxvdy9hcHBzLWZsb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTlBNU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbnBtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOcG1QYWNrYWdlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2FwcHMtZmxvdy9ucG0tcGFja2FnZS1zZWxlY3QvbnBtLXBhY2thZ2Utc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERldk9wc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9kZXZvcHMvZGV2b3BzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERGU01vZGlmaWVyc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9kZnMtbW9kaWZpZXJzL2Rmcy1tb2RpZmllcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGhyZWVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3RocmVlLWNvbHVtbi90aHJlZS1jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sdW1uSW5mb0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2NvbHVtbi1pbmZvLWNhcmQvY29sdW1uLWluZm8tY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbG90dGVkQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvc2xvdHRlZC1jYXJkL3Nsb3R0ZWQtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9qZWN0SW5mb0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3QtaW5mby1jYXJkL3Byb2plY3QtaW5mby1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFuYWx5dGljc0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2FuYWx5dGljcy1jYXJkL2FuYWx5dGljcy1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZlZWRDYXJkU21Db21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2ZlZWQtY2FyZC1zbS9mZWVkLWNhcmQtc20uY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2hDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9naC1jb250cm9sL2doLWNvbnRyb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWFpbkZlZWRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9tYWluLWZlZWQtY2FyZC9tYWluLWZlZWQtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUd29Db2x1bW5IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3R3by1jb2x1bW4taGVhZGVyL3R3by1jb2x1bW4taGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhcmRDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvY2FyZC1jYXJvdXNlbC9jYXJkLWNhcm91c2VsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlY3VyaXR5VG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9zZWN1cml0eS10b2dnbGUvc2VjdXJpdHktdG9nZ2xlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xyXG5pbXBvcnQge01hdFNsaWRlVG9nZ2xlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBQcm9jZXNzb3JEZXRhaWxzRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvcHJvY2Vzc29yLWRldGFpbHMtZm9ybS9wcm9jZXNzb3ItZGV0YWlscy1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9zb3VyY2UtY29udHJvbC1mb3JtL3NvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnVpbGRQaXBlbGluZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2J1aWxkLXBpcGVsaW5lLWZvcm0vYnVpbGQtcGlwZWxpbmUtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZXZvcHNTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFNvdXJjZUNvbnRyb2xEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3Mvc291cmNlLWNvbnRyb2wtZGlhbG9nL3NvdXJjZS1jb250cm9sLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnVpbGRQaXBlbGluZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9ncy9idWlsZC1waXBlbGluZS1kaWFsb2cvYnVpbGQtcGlwZWxpbmUtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGl0QXBwbGljYXRpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9lZGl0LWFwcGxpY2F0aW9uLWZvcm0vZWRpdC1hcHBsaWNhdGlvbi1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50Q29tcG9uZW50LFxyXG4gICAgSG9zdGluZ0RldGFpbHNGb3JtR3JvdXBDb21wb25lbnQsXHJcbiAgICBDcmVhdGVQcm9qZWN0V2l6YXJkQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY1RhYnNDb21wb25lbnQsXHJcbiAgICBIZWFkZXJDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0VGFic0NvbXBvbmVudCxcclxuICAgIEdlbmVyYWxDb21wb25lbnQsXHJcbiAgICBEb21haW5zQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdEl0ZW1zQ29tcG9uZW50LFxyXG4gICAgQnVpbGRzQ29tcG9uZW50LFxyXG4gICAgUmVjZW50QWN0aXZpdGllc0NvbXBvbmVudCxcclxuICAgIEZvcm1DYXJkQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdE5hbWVDb21wb25lbnQsXHJcbiAgICBSb290RGlyZWN0b3J5Q29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1Db21wb25lbnQsXHJcbiAgICBCYXNlRm9ybVRlc3RDb21wb25lbnQsXHJcbiAgICBHaXRBdXRoQ29tcG9uZW50LFxyXG4gICAgU291cmNlQ29udHJvbEZvcm1Db250cm9sc0NvbXBvbmVudCxcclxuICAgIEFwcHNGbG93Q29tcG9uZW50LFxyXG4gICAgRGV2T3BzQ29tcG9uZW50LFxyXG4gICAgREZTTW9kaWZpZXJzQ29tcG9uZW50LFxyXG4gICAgTnBtUGFja2FnZVNlbGVjdENvbXBvbmVudCxcclxuICAgIFRocmVlQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgQ29sdW1uSW5mb0NhcmRDb21wb25lbnQsXHJcbiAgICBTbG90dGVkQ2FyZENvbXBvbmVudCxcclxuICAgIFByb2plY3RJbmZvQ2FyZENvbXBvbmVudCxcclxuICAgIEFuYWx5dGljc0NhcmRDb21wb25lbnQsXHJcbiAgICBGZWVkQ2FyZFNtQ29tcG9uZW50LFxyXG4gICAgR2hDb250cm9sQ29tcG9uZW50LFxyXG4gICAgTWFpbkZlZWRDYXJkQ29tcG9uZW50LFxyXG4gICAgVHdvQ29sdW1uSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgQ2FyZENhcm91c2VsQ29tcG9uZW50LFxyXG4gICAgU2VjdXJpdHlUb2dnbGVDb21wb25lbnQsXHJcbiAgICBQcm9jZXNzb3JEZXRhaWxzRm9ybUNvbXBvbmVudCxcclxuICAgIFNvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50LFxyXG4gICAgQnVpbGRQaXBlbGluZUZvcm1Db21wb25lbnQsXHJcbiAgICBEZXZvcHNTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCxcclxuICAgIFNvdXJjZUNvbnRyb2xEaWFsb2dDb21wb25lbnQsXHJcbiAgICBCdWlsZFBpcGVsaW5lRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRWRpdEFwcGxpY2F0aW9uRm9ybUNvbXBvbmVudCxcclxuICAgIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEZhdGh5bVNoYXJlZE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXHJcbiAgICBNYXRlcmlhbE1vZHVsZSxcclxuICAgIEFwcEhvc3RNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGVcclxuICAgIC8vIExhenlFbGVtZW50TW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQXBwbGljYXRpb25zRmxvd1Byb2plY3RzRWxlbWVudENvbXBvbmVudCxcclxuICAgIEhvc3RpbmdEZXRhaWxzRm9ybUdyb3VwQ29tcG9uZW50LFxyXG4gICAgQ3JlYXRlUHJvamVjdFdpemFyZENvbXBvbmVudCxcclxuICAgIER5bmFtaWNUYWJzQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdFRhYnNDb21wb25lbnQsXHJcbiAgICBHZW5lcmFsQ29tcG9uZW50LFxyXG4gICAgRG9tYWluc0NvbXBvbmVudCxcclxuICAgIFByb2plY3RJdGVtc0NvbXBvbmVudCxcclxuICAgIEJ1aWxkc0NvbXBvbmVudCxcclxuICAgIFJlY2VudEFjdGl2aXRpZXNDb21wb25lbnQsXHJcbiAgICBGb3JtQ2FyZENvbXBvbmVudCxcclxuICAgIFByb2plY3ROYW1lQ29tcG9uZW50LFxyXG4gICAgUm9vdERpcmVjdG9yeUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1UZXN0Q29tcG9uZW50LFxyXG4gICAgR2l0QXV0aENvbXBvbmVudCxcclxuICAgIFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHNDb21wb25lbnQsXHJcbiAgICBBcHBzRmxvd0NvbXBvbmVudCxcclxuICAgIERldk9wc0NvbXBvbmVudCxcclxuICAgIERGU01vZGlmaWVyc0NvbXBvbmVudCxcclxuICAgIE5wbVBhY2thZ2VTZWxlY3RDb21wb25lbnQsXHJcbiAgICBUaHJlZUNvbHVtbkNvbXBvbmVudCxcclxuICAgIENvbHVtbkluZm9DYXJkQ29tcG9uZW50LFxyXG4gICAgU2xvdHRlZENhcmRDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0SW5mb0NhcmRDb21wb25lbnQsXHJcbiAgICBBbmFseXRpY3NDYXJkQ29tcG9uZW50LFxyXG4gICAgRmVlZENhcmRTbUNvbXBvbmVudCxcclxuICAgIEdoQ29udHJvbENvbXBvbmVudCxcclxuICAgIE1haW5GZWVkQ2FyZENvbXBvbmVudCxcclxuICAgIFR3b0NvbHVtbkhlYWRlckNvbXBvbmVudCxcclxuICAgIENhcmRDYXJvdXNlbENvbXBvbmVudCxcclxuICAgIFNlY3VyaXR5VG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgUHJvY2Vzc29yRGV0YWlsc0Zvcm1Db21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCxcclxuICAgIEJ1aWxkUGlwZWxpbmVGb3JtQ29tcG9uZW50LFxyXG4gICAgRGV2b3BzU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQnVpbGRQaXBlbGluZURpYWxvZ0NvbXBvbmVudCxcclxuICAgIEVkaXRBcHBsaWNhdGlvbkZvcm1Db21wb25lbnQsXHJcbiAgICBCcmVhZGNydW1iQ29tcG9uZW50XHJcbiAgXSxcclxuICBlbnRyeUNvbXBvbmVudHM6IFtcclxuICAgIEFwcGxpY2F0aW9uc0Zsb3dQcm9qZWN0c0VsZW1lbnRDb21wb25lbnQsXHJcbiAgICBEeW5hbWljVGFic0NvbXBvbmVudCxcclxuICAgIEhlYWRlckNvbXBvbmVudCxcclxuICAgIFByb2plY3RUYWJzQ29tcG9uZW50LFxyXG4gICAgR2VuZXJhbENvbXBvbmVudCxcclxuICAgIERvbWFpbnNDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0SXRlbXNDb21wb25lbnQsXHJcbiAgICBCdWlsZHNDb21wb25lbnQsXHJcbiAgICBSZWNlbnRBY3Rpdml0aWVzQ29tcG9uZW50LFxyXG4gICAgRm9ybUNhcmRDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0TmFtZUNvbXBvbmVudCxcclxuICAgIFJvb3REaXJlY3RvcnlDb21wb25lbnQsXHJcbiAgICBCYXNlRm9ybUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtVGVzdENvbXBvbmVudCxcclxuICAgIEdpdEF1dGhDb21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzQ29tcG9uZW50LFxyXG4gICAgQXBwc0Zsb3dDb21wb25lbnQsXHJcbiAgICBEZXZPcHNDb21wb25lbnQsXHJcbiAgICBERlNNb2RpZmllcnNDb21wb25lbnQsXHJcbiAgICBOcG1QYWNrYWdlU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgVGhyZWVDb2x1bW5Db21wb25lbnQsXHJcbiAgICBDb2x1bW5JbmZvQ2FyZENvbXBvbmVudCxcclxuICAgIFNsb3R0ZWRDYXJkQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdEluZm9DYXJkQ29tcG9uZW50LFxyXG4gICAgQW5hbHl0aWNzQ2FyZENvbXBvbmVudCxcclxuICAgIEZlZWRDYXJkU21Db21wb25lbnQsXHJcbiAgICBHaENvbnRyb2xDb21wb25lbnQsXHJcbiAgICBNYWluRmVlZENhcmRDb21wb25lbnQsXHJcbiAgICBUd29Db2x1bW5IZWFkZXJDb21wb25lbnQsXHJcbiAgICBDYXJkQ2Fyb3VzZWxDb21wb25lbnQsXHJcbiAgICBTZWN1cml0eVRvZ2dsZUNvbXBvbmVudCxcclxuICAgIFByb2Nlc3NvckRldGFpbHNGb3JtQ29tcG9uZW50LFxyXG4gICAgU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQsXHJcbiAgICBCdWlsZFBpcGVsaW5lRm9ybUNvbXBvbmVudCxcclxuICAgIERldm9wc1NvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50LFxyXG4gICAgU291cmNlQ29udHJvbERpYWxvZ0NvbXBvbmVudCxcclxuICAgIEJ1aWxkUGlwZWxpbmVEaWFsb2dDb21wb25lbnQsXHJcbiAgICBFZGl0QXBwbGljYXRpb25Gb3JtQ29tcG9uZW50LFxyXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbnNGbG93TW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwcGxpY2F0aW9uc0Zsb3dNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBBcHBsaWNhdGlvbnNGbG93TW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBBcHBsaWNhdGlvbnNGbG93U3RhdGVDb250ZXh0LFxyXG4gICAgICAgIEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlLFxyXG4gICAgICAgIFByb2plY3RTZXJ2aWNlLFxyXG4gICAgICAgIE5QTVNlcnZpY2UsXHJcbiAgICAgICAgRm9ybXNTZXJ2aWNlLFxyXG4gICAgICAgIEVhQ1NlcnZpY2VcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { FormBuilder, Validators } from '@angular/forms';
|
|
3
|
+
import { Guid } from '@lcu/common';
|
|
4
|
+
import { ApplicationsFlowService } from '../../services/applications-flow.service';
|
|
5
|
+
import { EaCService } from '../../services/eac.service';
|
|
6
|
+
import { ProjectHostingDetails } from '../../state/applications-flow.state';
|
|
7
|
+
export class BuildPipelineFormComponent {
|
|
8
|
+
constructor(eacSvc, formBuilder, appsFlowSvc) {
|
|
9
|
+
this.eacSvc = eacSvc;
|
|
10
|
+
this.formBuilder = formBuilder;
|
|
11
|
+
this.appsFlowSvc = appsFlowSvc;
|
|
12
|
+
this.HostingDetails = new ProjectHostingDetails();
|
|
13
|
+
}
|
|
14
|
+
get Artifact() {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
// console.log("ARTIFACT: ", this.Environment?.Artifacts[this.ArtifactLookup]);
|
|
17
|
+
return ((_a = this.Environment) === null || _a === void 0 ? void 0 : _a.Artifacts) && this.ArtifactLookup
|
|
18
|
+
? ((_b = this.Environment) === null || _b === void 0 ? void 0 : _b.Artifacts[this.ArtifactLookup]) || {}
|
|
19
|
+
: {};
|
|
20
|
+
}
|
|
21
|
+
get ArtifactLookup() {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
const artLookup = ((_a = this.DevOpsAction) === null || _a === void 0 ? void 0 : _a.ArtifactLookups) ? (_b = this.DevOpsAction) === null || _b === void 0 ? void 0 : _b.ArtifactLookups[0] : null;
|
|
24
|
+
return artLookup;
|
|
25
|
+
}
|
|
26
|
+
get BuildPipelineFormControl() {
|
|
27
|
+
var _a;
|
|
28
|
+
return (_a = this.BuildPipelineFormGroup) === null || _a === void 0 ? void 0 : _a.get('buildPipeline');
|
|
29
|
+
}
|
|
30
|
+
get DevOpsAction() {
|
|
31
|
+
return this.Environment.DevOpsActions && this.DevOpsActionLookup
|
|
32
|
+
? this.Environment.DevOpsActions[this.DevOpsActionLookup] || {}
|
|
33
|
+
: {};
|
|
34
|
+
}
|
|
35
|
+
get DevOpsActions() {
|
|
36
|
+
return this.Environment.DevOpsActions || {};
|
|
37
|
+
}
|
|
38
|
+
get DevOpsActionNameFormControl() {
|
|
39
|
+
return this.BuildPipelineFormGroup.get('devOpsActionName');
|
|
40
|
+
}
|
|
41
|
+
get NPMTokenFormControl() {
|
|
42
|
+
return this.BuildPipelineFormGroup.get('npmToken');
|
|
43
|
+
}
|
|
44
|
+
// (ho) => ho.Lookup === this.BuildPipeline
|
|
45
|
+
get SelectedHostingOption() {
|
|
46
|
+
var _a, _b;
|
|
47
|
+
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);
|
|
48
|
+
}
|
|
49
|
+
get SelectedHostingOptionInputControlValues() {
|
|
50
|
+
var _a, _b;
|
|
51
|
+
return (_b = (_a = this.SelectedHostingOption) === null || _a === void 0 ? void 0 : _a.Inputs) === null || _b === void 0 ? void 0 : _b.reduce((prev, cur) => {
|
|
52
|
+
const res = Object.assign({}, prev);
|
|
53
|
+
res[cur.Lookup] = this.BuildPipelineFormGroup.controls[cur.Lookup].value;
|
|
54
|
+
return res;
|
|
55
|
+
}, {});
|
|
56
|
+
}
|
|
57
|
+
get SourceControlLookups() {
|
|
58
|
+
return Object.keys(this.SourceControls || {});
|
|
59
|
+
}
|
|
60
|
+
get SourceControls() {
|
|
61
|
+
return this.Environment.Sources || {};
|
|
62
|
+
}
|
|
63
|
+
ngOnInit() {
|
|
64
|
+
// console.log('BuildPipeline = ', this.BuildPipeline)
|
|
65
|
+
// this.BuildPipelineFormGroup = this.formBuilder.group({});
|
|
66
|
+
// if (this.BuildPipelineFormGroup != null) {
|
|
67
|
+
// this.BuildPipelineFormGroup.removeControl('hostingDetails');
|
|
68
|
+
// }
|
|
69
|
+
// this.BuildPipelineFormGroup.addControl(
|
|
70
|
+
// 'hostingDetails',
|
|
71
|
+
this.BuildPipelineFormGroup = this.formBuilder.group({
|
|
72
|
+
buildPipeline: [this.BuildPipeline, [Validators.required]],
|
|
73
|
+
});
|
|
74
|
+
// );
|
|
75
|
+
this.loadProjectHostingDetails();
|
|
76
|
+
// this.setupControlsForForm();
|
|
77
|
+
}
|
|
78
|
+
//API METHODS
|
|
79
|
+
BuildPipelineChanged() {
|
|
80
|
+
var _a;
|
|
81
|
+
//for some reason this value is coming back undefined
|
|
82
|
+
// console.log("build pipeline value: ", this.BuildPipelineFormControl?.value)
|
|
83
|
+
this.BuildPipeline = (_a = this.BuildPipelineFormControl) === null || _a === void 0 ? void 0 : _a.value;
|
|
84
|
+
this.setupControlsForForm();
|
|
85
|
+
}
|
|
86
|
+
SubmitBuildPipeline() {
|
|
87
|
+
// console.log("submitting build pipeline: ", this.BuildPipelineFormGroup.value);
|
|
88
|
+
this.SaveEnvironment();
|
|
89
|
+
}
|
|
90
|
+
SaveEnvironment() {
|
|
91
|
+
var _a;
|
|
92
|
+
const saveEnvReq = {
|
|
93
|
+
Environment: Object.assign(Object.assign({}, this.Environment), { Artifacts: this.Environment.Artifacts || {}, DevOpsActions: this.Environment.DevOpsActions || {}, Secrets: this.Environment.Secrets || {}, Sources: this.Environment.Sources || {} }),
|
|
94
|
+
EnvironmentLookup: this.EnvironmentLookup,
|
|
95
|
+
EnterpriseDataTokens: {},
|
|
96
|
+
};
|
|
97
|
+
let artifactLookup;
|
|
98
|
+
let artifact = Object.assign(Object.assign({}, this.Artifact), this.SelectedHostingOptionInputControlValues);
|
|
99
|
+
if (!this.ArtifactLookup) {
|
|
100
|
+
artifactLookup = Guid.CreateRaw();
|
|
101
|
+
artifact = Object.assign(Object.assign({}, artifact), { Type: this.SelectedHostingOption
|
|
102
|
+
.ArtifactType, Name: this.SelectedHostingOption.Name, NPMRegistry: 'https://registry.npmjs.org/' });
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
artifactLookup = this.ArtifactLookup;
|
|
106
|
+
}
|
|
107
|
+
saveEnvReq.Environment.Artifacts[artifactLookup] = artifact;
|
|
108
|
+
let devOpsActionLookup;
|
|
109
|
+
if (!this.DevOpsActionLookup) {
|
|
110
|
+
devOpsActionLookup = Guid.CreateRaw();
|
|
111
|
+
const doa = Object.assign(Object.assign({}, this.DevOpsAction), { ArtifactLookups: [artifactLookup], Name: this.DevOpsActionNameFormControl.value, Path: this.SelectedHostingOption.Path, Templates: this.SelectedHostingOption.Templates });
|
|
112
|
+
if ((_a = this.NPMTokenFormControl) === null || _a === void 0 ? void 0 : _a.value) {
|
|
113
|
+
const secretLookup = 'npm-access-token';
|
|
114
|
+
doa.SecretLookups = [secretLookup];
|
|
115
|
+
saveEnvReq.Environment.Secrets[secretLookup] = {
|
|
116
|
+
Name: 'NPM Access Token',
|
|
117
|
+
DataTokenLookup: secretLookup,
|
|
118
|
+
KnownAs: 'NPM_TOKEN',
|
|
119
|
+
};
|
|
120
|
+
saveEnvReq.EnterpriseDataTokens[secretLookup] = {
|
|
121
|
+
Name: saveEnvReq.Environment.Secrets[secretLookup].Name,
|
|
122
|
+
Description: saveEnvReq.Environment.Secrets[secretLookup].Name,
|
|
123
|
+
Value: this.NPMTokenFormControl.value,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
devOpsActionLookup = this.DevOpsActionLookup;
|
|
130
|
+
const doa = Object.assign(Object.assign({}, this.DevOpsAction), { Name: this.DevOpsActionNameFormControl.value });
|
|
131
|
+
saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
|
|
132
|
+
}
|
|
133
|
+
this.eacSvc.SaveEnvironmentAsCode(saveEnvReq);
|
|
134
|
+
}
|
|
135
|
+
// Helpers
|
|
136
|
+
setupControlsForForm() {
|
|
137
|
+
// this.BuildPipeline =
|
|
138
|
+
// this.BuildPipeline || this.HostingDetails?.HostingOptions
|
|
139
|
+
// ? this.HostingDetails?.HostingOptions[0]?.Lookup
|
|
140
|
+
// : '';
|
|
141
|
+
var _a, _b, _c, _d, _e, _f;
|
|
142
|
+
// console.log("hosting details: ", this.HostingDetails)
|
|
143
|
+
for (const ctrlName in this.BuildPipelineFormGroup.controls) {
|
|
144
|
+
//devOpsAction doesn't exist
|
|
145
|
+
//removes hosting details
|
|
146
|
+
if (ctrlName !== 'buildPipeline' && ctrlName !== 'devOpsAction') {
|
|
147
|
+
// console.log("removing control: ", ctrlName)
|
|
148
|
+
this.BuildPipelineFormGroup.removeControl(ctrlName);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
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]));
|
|
152
|
+
// console.log("selected hosting options: ", this.SelectedHostingOption.Inputs);
|
|
153
|
+
(_d = (_c = this.SelectedHostingOption) === null || _c === void 0 ? void 0 : _c.Inputs) === null || _d === void 0 ? void 0 : _d.forEach((input) => {
|
|
154
|
+
const validators = input.Required ? [Validators.required] : [];
|
|
155
|
+
this.BuildPipelineFormGroup.addControl(input.Lookup, this.formBuilder.control(this.Artifact[input.Lookup] || input.DefaultValue || '', validators));
|
|
156
|
+
// if (this.Disabled) {
|
|
157
|
+
// this.FormGroup.controls[input.Lookup].disable();
|
|
158
|
+
// }
|
|
159
|
+
});
|
|
160
|
+
if (((_e = this.BuildPipelineFormControl) === null || _e === void 0 ? void 0 : _e.value) === 'npm-release') {
|
|
161
|
+
if (!this.BuildPipelineFormGroup.controls.npmToken) {
|
|
162
|
+
this.BuildPipelineFormGroup.addControl('npmToken', this.formBuilder.control('', this.Disabled ? [] : [Validators.required]));
|
|
163
|
+
if (this.Disabled) {
|
|
164
|
+
this.BuildPipelineFormGroup.controls.npmToken.disable();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
else if (((_f = this.BuildPipelineFormControl) === null || _f === void 0 ? void 0 : _f.value) === 'github-artifacts-release') {
|
|
169
|
+
if (this.BuildPipelineFormGroup.controls.npmToken) {
|
|
170
|
+
this.BuildPipelineFormGroup.removeControl('npmToken');
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
loadProjectHostingDetails() {
|
|
175
|
+
this.HostingDetails.Loading = true;
|
|
176
|
+
this.appsFlowSvc
|
|
177
|
+
.NewLoadProjectHostingDetails()
|
|
178
|
+
.subscribe((response) => {
|
|
179
|
+
var _a, _b;
|
|
180
|
+
this.HostingDetails = response.Model;
|
|
181
|
+
// console.log("response: ", response);
|
|
182
|
+
this.HostingDetails.Loading = false;
|
|
183
|
+
const hostOption = (_b = (_a = this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) === null || _b === void 0 ? void 0 : _b.find((ho) => ho.Path === this.DevOpsAction.Path);
|
|
184
|
+
this.BuildPipeline = hostOption.Lookup;
|
|
185
|
+
// console.log("Build Pipeline HERE= ", this.BuildPipeline);
|
|
186
|
+
this.setupControlsForForm();
|
|
187
|
+
}, (err) => {
|
|
188
|
+
console.log("ERR: ", err);
|
|
189
|
+
this.HostingDetails.Loading = false;
|
|
190
|
+
});
|
|
191
|
+
console.log("HOSTING DETAILS: ", this.HostingDetails);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
BuildPipelineFormComponent.decorators = [
|
|
195
|
+
{ type: Component, args: [{
|
|
196
|
+
selector: 'lcu-build-pipeline-form',
|
|
197
|
+
template: "<form class=\"form-card\" [formGroup]=\"BuildPipelineFormGroup\" (ngSubmit)=\"SubmitBuildPipeline()\">\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\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 </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",
|
|
198
|
+
styles: [""]
|
|
199
|
+
},] }
|
|
200
|
+
];
|
|
201
|
+
BuildPipelineFormComponent.ctorParameters = () => [
|
|
202
|
+
{ type: EaCService },
|
|
203
|
+
{ type: FormBuilder },
|
|
204
|
+
{ type: ApplicationsFlowService }
|
|
205
|
+
];
|
|
206
|
+
BuildPipelineFormComponent.propDecorators = {
|
|
207
|
+
DevOpsActionLookup: [{ type: Input, args: ['devops-action-lookup',] }],
|
|
208
|
+
Disabled: [{ type: Input, args: ['disabled',] }],
|
|
209
|
+
Environment: [{ type: Input, args: ['environment',] }],
|
|
210
|
+
EnvironmentLookup: [{ type: Input, args: ['environment-lookup',] }],
|
|
211
|
+
HostingDetails: [{ type: Input, args: ['hosting-details',] }]
|
|
212
|
+
};
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcGlwZWxpbmUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9scy9idWlsZC1waXBlbGluZS1mb3JtL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBbUIsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBdUIsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQXFDLE1BQU0sNEJBQTRCLENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUF3QixNQUFNLHFDQUFxQyxDQUFDO0FBT2xHLE1BQU0sT0FBTywwQkFBMEI7SUFxR3JDLFlBQXNCLE1BQWtCLEVBQzVCLFdBQXdCLEVBQ3hCLFdBQW9DO1FBRjFCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQzlDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFqRkQsSUFBVyxRQUFROztRQUNqQiwrRUFBK0U7UUFDL0UsT0FBTyxPQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLFNBQVMsS0FBSSxJQUFJLENBQUMsY0FBYztZQUN2RCxDQUFDLENBQUMsT0FBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsTUFBSyxF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dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlTW9kZWxlZFJlc3BvbnNlLCBHdWlkIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuaW1wb3J0IHsgRWFDQXJ0aWZhY3QsIEVhQ0Rldk9wc0FjdGlvbiwgRWFDRW52aXJvbm1lbnRBc0NvZGUsIEVhQ1NvdXJjZUNvbnRyb2wgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7IEVhQ1NlcnZpY2UsIFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2plY3RIb3N0aW5nRGV0YWlscywgUHJvamVjdEhvc3RpbmdPcHRpb24gfSBmcm9tICcuLi8uLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1idWlsZC1waXBlbGluZS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idWlsZC1waXBlbGluZS1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnVpbGRQaXBlbGluZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cbiAgLy9QUk9QRVJUSUVTXG5cbiAgLy8gQElucHV0KCdidWlsZC1waXBlbGluZScpXG4gIHB1YmxpYyBCdWlsZFBpcGVsaW5lOiBzdHJpbmc7XG5cbiAgQElucHV0KCdkZXZvcHMtYWN0aW9uLWxvb2t1cCcpXG4gIHB1YmxpYyBEZXZPcHNBY3Rpb25Mb29rdXA6IHN0cmluZztcblxuICBASW5wdXQoJ2Rpc2FibGVkJylcbiAgcHVibGljIERpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgnZW52aXJvbm1lbnQnKVxuICBwdWJsaWMgRW52aXJvbm1lbnQ6IEVhQ0Vudmlyb25tZW50QXNDb2RlO1xuXG4gIEBJbnB1dCgnZW52aXJvbm1lbnQtbG9va3VwJylcbiAgcHVibGljIEVudmlyb25tZW50TG9va3VwOiBzdHJpbmc7XG5cbiAgQElucHV0KCdob3N0aW5nLWRldGFpbHMnKVxuICBwdWJsaWMgSG9zdGluZ0RldGFpbHM6IFByb2plY3RIb3N0aW5nRGV0YWlscztcblxuXG4gIHB1YmxpYyBnZXQgQXJ0aWZhY3QoKTogRWFDQXJ0aWZhY3Qge1xuICAgIC8vIGNvbnNvbGUubG9nKFwiQVJUSUZBQ1Q6IFwiLCB0aGlzLkVudmlyb25tZW50Py5BcnRpZmFjdHNbdGhpcy5BcnRpZmFjdExvb2t1cF0pO1xuICAgIHJldHVybiB0aGlzLkVudmlyb25tZW50Py5BcnRpZmFjdHMgJiYgdGhpcy5BcnRpZmFjdExvb2t1cFxuICAgICAgPyB0aGlzLkVudmlyb25tZW50Py5BcnRpZmFjdHNbdGhpcy5BcnRpZmFjdExvb2t1cF0gfHwge31cbiAgICAgIDoge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IEFydGlmYWN0TG9va3VwKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYXJ0TG9va3VwID0gdGhpcy5EZXZPcHNBY3Rpb24/LkFydGlmYWN0TG9va3Vwc1xuICAgICAgPyB0aGlzLkRldk9wc0FjdGlvbj8uQXJ0aWZhY3RMb29rdXBzWzBdXG4gICAgICA6IG51bGw7XG5cbiAgICByZXR1cm4gYXJ0TG9va3VwO1xuICB9XG5cbiAgXG5cbiAgcHVibGljIGdldCBCdWlsZFBpcGVsaW5lRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcblxuICAgIHJldHVybiB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXA/LmdldCgnYnVpbGRQaXBlbGluZScpO1xuICB9XG5cblxuICBwdWJsaWMgZ2V0IERldk9wc0FjdGlvbigpOiBFYUNEZXZPcHNBY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLkVudmlyb25tZW50LkRldk9wc0FjdGlvbnMgJiYgdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBcbiAgICAgID8gdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zW3RoaXMuRGV2T3BzQWN0aW9uTG9va3VwXSB8fCB7fVxuICAgICAgOiB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRGV2T3BzQWN0aW9ucygpOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0Rldk9wc0FjdGlvbiB9IHtcbiAgICByZXR1cm4gdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zIHx8IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBEZXZPcHNBY3Rpb25OYW1lRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmdldCgnZGV2T3BzQWN0aW9uTmFtZScpO1xuICB9XG5cbiAgXG5cblxuICBwdWJsaWMgZ2V0IE5QTVRva2VuRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmdldCgnbnBtVG9rZW4nKTtcbiAgfVxuXG4gIC8vIChobykgPT4gaG8uTG9va3VwID09PSB0aGlzLkJ1aWxkUGlwZWxpbmVcbiAgcHVibGljIGdldCBTZWxlY3RlZEhvc3RpbmdPcHRpb24oKTogUHJvamVjdEhvc3RpbmdPcHRpb24ge1xuICAgIHJldHVybiB0aGlzLkhvc3RpbmdEZXRhaWxzPy5Ib3N0aW5nT3B0aW9ucz8uZmluZChcbiAgICAgIChobykgPT4gaG8uTG9va3VwID09PSB0aGlzLkJ1aWxkUGlwZWxpbmVcbiAgICApO1xuICB9XG5cblxuICBwdWJsaWMgZ2V0IFNlbGVjdGVkSG9zdGluZ09wdGlvbklucHV0Q29udHJvbFZhbHVlcygpOiB7XG4gICAgW2xvb2t1cDogc3RyaW5nXTogYW55O1xuICB9IHtcbiAgICByZXR1cm4gdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb24/LklucHV0cz8ucmVkdWNlKChwcmV2LCBjdXIpID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgIH07XG5cbiAgICAgIHJlc1tjdXIuTG9va3VwXSA9IHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5jb250cm9sc1tjdXIuTG9va3VwXS52YWx1ZTtcblxuICAgICAgcmV0dXJuIHJlcztcbiAgICB9LCB7fSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFNvdXJjZUNvbnRyb2xMb29rdXBzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLlNvdXJjZUNvbnRyb2xzIHx8IHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU291cmNlQ29udHJvbHMoKTogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNTb3VyY2VDb250cm9sIH0ge1xuICAgIHJldHVybiB0aGlzLkVudmlyb25tZW50LlNvdXJjZXMgfHwge307XG4gIH1cblxuICBwdWJsaWMgQnVpbGRQaXBlbGluZUZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByb3RlY3RlZCBhcHBzRmxvd1N2YzogQXBwbGljYXRpb25zRmxvd1NlcnZpY2UpIHtcbiAgICB0aGlzLkhvc3RpbmdEZXRhaWxzID0gbmV3IFByb2plY3RIb3N0aW5nRGV0YWlscygpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgICBcblxuICAgICAgLy8gY29uc29sZS5sb2coJ0J1aWxkUGlwZWxpbmUgPSAnLCB0aGlzLkJ1aWxkUGlwZWxpbmUpXG5cbiAgICBcbiAgICAvLyB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHt9KTtcblxuICAgIC8vIGlmICh0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAgIT0gbnVsbCkge1xuICAgIC8vICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ2hvc3RpbmdEZXRhaWxzJyk7XG4gICAgLy8gfVxuXG4gICAgXG4gICAgLy8gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgLy8gICAnaG9zdGluZ0RldGFpbHMnLFxuICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICBidWlsZFBpcGVsaW5lOiBbdGhpcy5CdWlsZFBpcGVsaW5lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgfSlcbiAgICAvLyApO1xuXG4gICAgdGhpcy5sb2FkUHJvamVjdEhvc3RpbmdEZXRhaWxzKCk7XG4gICAgLy8gdGhpcy5zZXR1cENvbnRyb2xzRm9yRm9ybSgpO1xuXG4gIH1cblxuICAvL0FQSSBNRVRIT0RTXG5cbiAgcHVibGljIEJ1aWxkUGlwZWxpbmVDaGFuZ2VkKCk6IHZvaWQge1xuICAgIC8vZm9yIHNvbWUgcmVhc29uIHRoaXMgdmFsdWUgaXMgY29taW5nIGJhY2sgdW5kZWZpbmVkXG4gICAgLy8gY29uc29sZS5sb2coXCJidWlsZCBwaXBlbGluZSB2YWx1ZTogXCIsIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Db250cm9sPy52YWx1ZSlcbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmUgPSB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICB0aGlzLnNldHVwQ29udHJvbHNGb3JGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgU3VibWl0QnVpbGRQaXBlbGluZSgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyhcInN1Ym1pdHRpbmcgYnVpbGQgcGlwZWxpbmU6IFwiLCB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAudmFsdWUpO1xuICAgIHRoaXMuU2F2ZUVudmlyb25tZW50KCk7XG4gIH1cblxuICBwdWJsaWMgU2F2ZUVudmlyb25tZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IHNhdmVFbnZSZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCA9IHtcbiAgICAgIEVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLnRoaXMuRW52aXJvbm1lbnQsXG4gICAgICAgIEFydGlmYWN0czogdGhpcy5FbnZpcm9ubWVudC5BcnRpZmFjdHMgfHwge30sXG4gICAgICAgIERldk9wc0FjdGlvbnM6IHRoaXMuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9ucyB8fCB7fSxcbiAgICAgICAgU2VjcmV0czogdGhpcy5FbnZpcm9ubWVudC5TZWNyZXRzIHx8IHt9LFxuICAgICAgICBTb3VyY2VzOiB0aGlzLkVudmlyb25tZW50LlNvdXJjZXMgfHwge30sXG4gICAgICB9LFxuICAgICAgRW52aXJvbm1lbnRMb29rdXA6IHRoaXMuRW52aXJvbm1lbnRMb29rdXAsXG4gICAgICBFbnRlcnByaXNlRGF0YVRva2Vuczoge30sXG4gICAgfTtcblxuICAgIGxldCBhcnRpZmFjdExvb2t1cDogc3RyaW5nO1xuXG4gICAgbGV0IGFydGlmYWN0OiBFYUNBcnRpZmFjdCA9IHtcbiAgICAgIC4uLnRoaXMuQXJ0aWZhY3QsXG4gICAgICAuLi50aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbklucHV0Q29udHJvbFZhbHVlcyxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLkFydGlmYWN0TG9va3VwKSB7XG4gICAgICBhcnRpZmFjdExvb2t1cCA9IEd1aWQuQ3JlYXRlUmF3KCk7XG5cbiAgICAgIGFydGlmYWN0ID0ge1xuICAgICAgICAuLi5hcnRpZmFjdCxcbiAgICAgICAgVHlwZTogdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb25cbiAgICAgICAgICAuQXJ0aWZhY3RUeXBlLFxuICAgICAgICBOYW1lOiB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbi5OYW1lLFxuICAgICAgICBOUE1SZWdpc3RyeTogJ2h0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnLycsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBhcnRpZmFjdExvb2t1cCA9IHRoaXMuQXJ0aWZhY3RMb29rdXA7XG4gICAgfVxuXG4gICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5BcnRpZmFjdHNbYXJ0aWZhY3RMb29rdXBdID0gYXJ0aWZhY3Q7XG5cbiAgICBsZXQgZGV2T3BzQWN0aW9uTG9va3VwOiBzdHJpbmc7XG5cbiAgICBpZiAoIXRoaXMuRGV2T3BzQWN0aW9uTG9va3VwKSB7XG4gICAgICBkZXZPcHNBY3Rpb25Mb29rdXAgPSBHdWlkLkNyZWF0ZVJhdygpO1xuXG4gICAgICBjb25zdCBkb2E6IEVhQ0Rldk9wc0FjdGlvbiA9IHtcbiAgICAgICAgLi4udGhpcy5EZXZPcHNBY3Rpb24sXG4gICAgICAgIEFydGlmYWN0TG9va3VwczogW2FydGlmYWN0TG9va3VwXSxcbiAgICAgICAgTmFtZTogdGhpcy5EZXZPcHNBY3Rpb25OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIFBhdGg6IHRoaXMuU2VsZWN0ZWRIb3N0aW5nT3B0aW9uLlBhdGgsXG4gICAgICAgIFRlbXBsYXRlczpcbiAgICAgICAgICB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbi5UZW1wbGF0ZXMsXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy5OUE1Ub2tlbkZvcm1Db250cm9sPy52YWx1ZSkge1xuICAgICAgICBjb25zdCBzZWNyZXRMb29rdXAgPSAnbnBtLWFjY2Vzcy10b2tlbic7XG5cbiAgICAgICAgZG9hLlNlY3JldExvb2t1cHMgPSBbc2VjcmV0TG9va3VwXTtcblxuICAgICAgICBzYXZlRW52UmVxLkVudmlyb25tZW50LlNlY3JldHNbc2VjcmV0TG9va3VwXSA9IHtcbiAgICAgICAgICBOYW1lOiAnTlBNIEFjY2VzcyBUb2tlbicsXG4gICAgICAgICAgRGF0YVRva2VuTG9va3VwOiBzZWNyZXRMb29rdXAsXG4gICAgICAgICAgS25vd25BczogJ05QTV9UT0tFTicsXG4gICAgICAgIH07XG5cbiAgICAgICAgc2F2ZUVudlJlcS5FbnRlcnByaXNlRGF0YVRva2Vuc1tzZWNyZXRMb29rdXBdID0ge1xuICAgICAgICAgIE5hbWU6IHNhdmVFbnZSZXEuRW52aXJvbm1lbnQuU2VjcmV0c1tzZWNyZXRMb29rdXBdLk5hbWUsXG4gICAgICAgICAgRGVzY3JpcHRpb246IHNhdmVFbnZSZXEuRW52aXJvbm1lbnQuU2VjcmV0c1tzZWNyZXRMb29rdXBdLk5hbWUsXG4gICAgICAgICAgVmFsdWU6IHRoaXMuTlBNVG9rZW5Gb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zW2Rldk9wc0FjdGlvbkxvb2t1cF0gPSBkb2E7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRldk9wc0FjdGlvbkxvb2t1cCA9IHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwO1xuXG4gICAgICBjb25zdCBkb2E6IEVhQ0Rldk9wc0FjdGlvbiA9IHtcbiAgICAgICAgLi4udGhpcy5EZXZPcHNBY3Rpb24sXG4gICAgICAgIE5hbWU6IHRoaXMuRGV2T3BzQWN0aW9uTmFtZUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgfTtcblxuICAgICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zW2Rldk9wc0FjdGlvbkxvb2t1cF0gPSBkb2E7XG4gICAgfVxuXG4gICAgdGhpcy5lYWNTdmMuU2F2ZUVudmlyb25tZW50QXNDb2RlKHNhdmVFbnZSZXEpO1xuICB9XG5cbiAgLy8gIEhlbHBlcnNcbiAgcHJvdGVjdGVkIHNldHVwQ29udHJvbHNGb3JGb3JtKCk6IHZvaWQge1xuXG4gICAgLy8gdGhpcy5CdWlsZFBpcGVsaW5lID1cbiAgICAvLyAgICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZSB8fCB0aGlzLkhvc3RpbmdEZXRhaWxzPy5Ib3N0aW5nT3B0aW9uc1xuICAgIC8vICAgICAgICAgICA/IHRoaXMuSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zWzBdPy5Mb29rdXBcbiAgICAvLyAgICAgICAgICAgOiAnJztcblxuICAgIC8vIGNvbnNvbGUubG9nKFwiaG9zdGluZyBkZXRhaWxzOiBcIiwgdGhpcy5Ib3N0aW5nRGV0YWlscylcblxuICAgIGZvciAoY29uc3QgY3RybE5hbWUgaW4gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmNvbnRyb2xzKSB7XG4gICAgICAvL2Rldk9wc0FjdGlvbiBkb2Vzbid0IGV4aXN0XG4gICAgICAvL3JlbW92ZXMgaG9zdGluZyBkZXRhaWxzXG4gICAgICBpZiAoY3RybE5hbWUgIT09ICdidWlsZFBpcGVsaW5lJyAmJiBjdHJsTmFtZSAhPT0gJ2Rldk9wc0FjdGlvbicpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJyZW1vdmluZyBjb250cm9sOiBcIiwgY3RybE5hbWUpXG4gICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5yZW1vdmVDb250cm9sKGN0cmxOYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdkZXZPcHNBY3Rpb25OYW1lJyxcbiAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgdGhpcy5EZXZPcHNBY3Rpb24/Lk5hbWUgfHwgdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb24/Lk5hbWUgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICAvLyBjb25zb2xlLmxvZyhcInNlbGVjdGVkIGhvc3Rpbmcgb3B0aW9uczogXCIsIHRoaXMuU2VsZWN0ZWRIb3N0aW5nT3B0aW9uLklucHV0cyk7XG5cbiAgICB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbj8uSW5wdXRzPy5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IGlucHV0LlJlcXVpcmVkID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogW107XG5cbiAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICBpbnB1dC5Mb29rdXAsXG4gICAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgICB0aGlzLkFydGlmYWN0W2lucHV0Lkxvb2t1cF0gfHwgaW5wdXQuRGVmYXVsdFZhbHVlIHx8ICcnLFxuICAgICAgICAgIHZhbGlkYXRvcnNcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgICAgLy8gaWYgKHRoaXMuRGlzYWJsZWQpIHtcbiAgICAgIC8vICAgdGhpcy5Gb3JtR3JvdXAuY29udHJvbHNbaW5wdXQuTG9va3VwXS5kaXNhYmxlKCk7XG4gICAgICAvLyB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5CdWlsZFBpcGVsaW5lRm9ybUNvbnRyb2w/LnZhbHVlID09PSAnbnBtLXJlbGVhc2UnKSB7XG5cbiAgICAgIGlmICghdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmNvbnRyb2xzLm5wbVRva2VuKSB7XG4gICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICducG1Ub2tlbicsXG4gICAgICAgICAgdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICB0aGlzLkRpc2FibGVkID8gW10gOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuRGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuY29udHJvbHMubnBtVG9rZW4uZGlzYWJsZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Db250cm9sPy52YWx1ZSA9PT0gJ2dpdGh1Yi1hcnRpZmFjdHMtcmVsZWFzZSdcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuY29udHJvbHMubnBtVG9rZW4pIHtcbiAgICAgICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ25wbVRva2VuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgXG5cbiAgcHJvdGVjdGVkIGxvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTogdm9pZCB7XG4gICAgdGhpcy5Ib3N0aW5nRGV0YWlscy5Mb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmFwcHNGbG93U3ZjXG4gICAgICAuTmV3TG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8UHJvamVjdEhvc3RpbmdEZXRhaWxzPikgPT4ge1xuICAgICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMgPSByZXNwb25zZS5Nb2RlbDtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcInJlc3BvbnNlOiBcIiwgcmVzcG9uc2UpO1xuICAgICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgaG9zdE9wdGlvbiA9IHRoaXMuSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zPy5maW5kKFxuICAgICAgICAgICAgKGhvKSA9PiBoby5QYXRoID09PSB0aGlzLkRldk9wc0FjdGlvbi5QYXRoXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmUgPSAgaG9zdE9wdGlvbi5Mb29rdXA7XG5cbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkJ1aWxkIFBpcGVsaW5lIEhFUkU9IFwiLCB0aGlzLkJ1aWxkUGlwZWxpbmUpO1xuXG4gICAgICAgICAgdGhpcy5zZXR1cENvbnRyb2xzRm9yRm9ybSgpO1xuXG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiRVJSOiBcIiwgZXJyKTtcbiAgICAgICAgICB0aGlzLkhvc3RpbmdEZXRhaWxzLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICB9XG4gICAgICApO1xuICAgIGNvbnNvbGUubG9nKFwiSE9TVElORyBERVRBSUxTOiBcIiwgdGhpcy5Ib3N0aW5nRGV0YWlscyk7XG5cbiAgfVxuXG59XG4iXX0=
|