tnx-shared 5.0.76 → 5.0.77
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/tnx-shared.umd.js +1032 -892
- package/bundles/tnx-shared.umd.js.map +1 -1
- package/bundles/tnx-shared.umd.min.js +1 -1
- package/bundles/tnx-shared.umd.min.js.map +1 -1
- package/classes/base/data-form-base.d.ts +2 -2
- package/classes/base/data-form-base.d.ts.map +1 -1
- package/classes/base/data-list-base.d.ts +1 -3
- package/classes/base/data-list-base.d.ts.map +1 -1
- package/classes/constants.d.ts +0 -4
- package/classes/constants.d.ts.map +1 -1
- package/classes/form-schema.d.ts +25 -38
- package/classes/form-schema.d.ts.map +1 -1
- package/classes/public-function.d.ts +1 -1
- package/components/address/address.component.d.ts.map +1 -1
- package/components/address-new/address-new.component.d.ts +37 -0
- package/components/address-new/address-new.component.d.ts.map +1 -0
- package/components/address-new/address-new.component.ngfactory.d.ts.map +1 -0
- package/components/address-new/address-new.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/components/address-new/models/don-vi-hanh-chinh.d.ts +6 -0
- package/components/address-new/models/don-vi-hanh-chinh.d.ts.map +1 -0
- package/components/address-new/services/address.service.d.ts +8 -0
- package/components/address-new/services/address.service.d.ts.map +1 -0
- package/components/address-new/services/address.service.ngfactory.d.ts.map +1 -0
- package/components/autocomplete-picker/autocomplete-picker.component.d.ts +0 -1
- package/components/autocomplete-picker/autocomplete-picker.component.d.ts.map +1 -1
- package/components/common-app-component/common-app-component.d.ts +1 -4
- package/components/common-app-component/common-app-component.d.ts.map +1 -1
- package/components/crud/crud-form/crud-form.component.d.ts +2 -2
- package/components/crud/crud-form/crud-form.component.d.ts.map +1 -1
- package/components/crud/crud-list/crud-list.component.d.ts +1 -6
- package/components/crud/crud-list/crud-list.component.d.ts.map +1 -1
- package/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.d.ts.map +1 -1
- package/components/entity-picker/entity-picker-dialog/components/entity-picker-selected/entity-picker-selected.component.d.ts.map +1 -1
- package/components/file-explorer/file-manager/file-manager.component.d.ts +3 -0
- package/components/file-explorer/file-manager/file-manager.component.d.ts.map +1 -1
- package/components/file-explorer/services/download-link.service.d.ts +1 -0
- package/components/file-explorer/services/download-link.service.d.ts.map +1 -1
- package/components/file-explorer/services/file-explorer.service.d.ts +2 -0
- package/components/file-explorer/services/file-explorer.service.d.ts.map +1 -1
- package/components/file-explorer/services/file-object.service.d.ts +2 -0
- package/components/file-explorer/services/file-object.service.d.ts.map +1 -1
- package/components/file-explorer/signature-detail/signature-detail.component.d.ts +8 -0
- package/components/file-explorer/signature-detail/signature-detail.component.d.ts.map +1 -0
- package/components/file-explorer/signature-detail/signature-detail.component.ngfactory.d.ts.map +1 -0
- package/components/file-explorer/signature-detail/signature-detail.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/components/file-upload/file-upload.component.d.ts +3 -0
- package/components/file-upload/file-upload.component.d.ts.map +1 -1
- package/components/mask/mask.component.d.ts +0 -2
- package/components/mask/mask.component.d.ts.map +1 -1
- package/components/service-file-upload/service-file-upload.component.d.ts +3 -0
- package/components/service-file-upload/service-file-upload.component.d.ts.map +1 -1
- package/configs/component-context.constant.d.ts +0 -1
- package/configs/component-context.constant.d.ts.map +1 -1
- package/esm2015/classes/base/data-form-base.js +5 -5
- package/esm2015/classes/base/data-list-base.js +23 -48
- package/esm2015/classes/constants.js +1 -6
- package/esm2015/classes/form-schema.js +29 -34
- package/esm2015/components/address/address.component.js +10 -4
- package/esm2015/components/address-new/address-new.component.js +224 -0
- package/esm2015/components/address-new/models/don-vi-hanh-chinh.js +8 -0
- package/esm2015/components/address-new/services/address.service.js +25 -0
- package/esm2015/components/autocomplete-picker/autocomplete-picker.component.js +16 -72
- package/esm2015/components/common-app-component/app.menu.component.js +2 -2
- package/esm2015/components/common-app-component/common-app-component.js +3 -26
- package/esm2015/components/crud/crud-form/crud-form.component.js +11 -10
- package/esm2015/components/crud/crud-list/crud-list.component.js +6 -71
- package/esm2015/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.js +3 -29
- package/esm2015/components/entity-picker/entity-picker-dialog/components/entity-picker-selected/entity-picker-selected.component.js +3 -29
- package/esm2015/components/file-explorer/file-manager/file-manager.component.js +155 -14
- package/esm2015/components/file-explorer/services/download-link.service.js +4 -1
- package/esm2015/components/file-explorer/services/file-explorer.service.js +21 -7
- package/esm2015/components/file-explorer/services/file-object.service.js +18 -1
- package/esm2015/components/file-explorer/signature-detail/signature-detail.component.js +66 -0
- package/esm2015/components/file-upload/file-upload.component.js +34 -2
- package/esm2015/components/mask/mask.component.js +4 -8
- package/esm2015/components/service-file-upload/service-file-upload.component.js +32 -2
- package/esm2015/components/workflow/services/entity-workflow-history.service.js +3 -3
- package/esm2015/components/workflow/services/entity-workflow-setting.service.js +4 -4
- package/esm2015/configs/component-context.constant.js +2 -3
- package/esm2015/models/grid-info.js +1 -1
- package/esm2015/pipes/tn-date.pipe.js +2 -12
- package/esm2015/public-api.js +7 -3
- package/esm2015/services/base.service.js +1 -16
- package/esm2015/services/common.service.js +1 -9
- package/esm2015/services/crud.service.js +4 -23
- package/esm2015/services/menu.service.js +3 -6
- package/esm2015/services/notifier.service.js +2 -2
- package/esm2015/services/permission.service.js +2 -9
- package/esm2015/services/template-text-v4.service.js +1 -1
- package/esm2015/services/user-v5.service.js +1 -1
- package/esm2015/services/user.service.js +2 -8
- package/esm2015/tnx-shared.js +94 -94
- package/esm2015/tnx-shared.module.js +6 -2
- package/fesm2015/tnx-shared.js +693 -536
- package/fesm2015/tnx-shared.js.map +1 -1
- package/models/grid-info.d.ts +0 -1
- package/models/grid-info.d.ts.map +1 -1
- package/package.json +2 -2
- package/pipes/tn-date.pipe.d.ts +0 -2
- package/pipes/tn-date.pipe.d.ts.map +1 -1
- package/public-api.d.ts +6 -2
- package/public-api.d.ts.map +1 -1
- package/services/base.service.d.ts +0 -1
- package/services/base.service.d.ts.map +1 -1
- package/services/common.service.d.ts +0 -4
- package/services/common.service.d.ts.map +1 -1
- package/services/crud.service.d.ts.map +1 -1
- package/services/menu.service.d.ts +1 -1
- package/services/menu.service.d.ts.map +1 -1
- package/services/permission.service.d.ts +0 -1
- package/services/permission.service.d.ts.map +1 -1
- package/services/template-text-v4.service.d.ts.map +1 -1
- package/services/user.service.d.ts.map +1 -1
- package/tnx-shared.d.ts +93 -93
- package/tnx-shared.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
- package/tnx-shared.module.d.ts +3 -2
- package/tnx-shared.module.d.ts.map +1 -1
- package/tnx-shared.module.ngfactory.d.ts.map +1 -1
- package/components/file-explorer/models/file-settings.d.ts +0 -46
- package/components/file-explorer/models/file-settings.d.ts.map +0 -1
- package/esm2015/components/file-explorer/models/file-settings.js +0 -60
- package/esm2015/services/organization-base.service.js +0 -57
- package/services/organization-base.service.d.ts +0 -16
- package/services/organization-base.service.d.ts.map +0 -1
- package/services/organization-base.service.ngfactory.d.ts.map +0 -1
|
@@ -53,7 +53,9 @@ export class AddressComponent extends DataFormBase {
|
|
|
53
53
|
label: 'Tỉnh/Thành phố',
|
|
54
54
|
required: this.control.required && this.control.requiredProvince,
|
|
55
55
|
baseService: this._addressService,
|
|
56
|
-
defaultFilters: [{ field: 'level', operator: Operator.equal, value: ENUM_DON_VI_HANH_CHINH.THANH_PHO.toString() }
|
|
56
|
+
defaultFilters: [{ field: 'level', operator: Operator.equal, value: ENUM_DON_VI_HANH_CHINH.THANH_PHO.toString() },
|
|
57
|
+
{ field: 'version', operator: Operator.equal, value: "-1" }
|
|
58
|
+
],
|
|
57
59
|
valueField: 'id',
|
|
58
60
|
displayField: 'name',
|
|
59
61
|
fieldPlus: 'idRoot',
|
|
@@ -69,7 +71,9 @@ export class AddressComponent extends DataFormBase {
|
|
|
69
71
|
label: 'Quận/Huyện',
|
|
70
72
|
required: this.control.required && this.control.requiredDistrict,
|
|
71
73
|
baseService: this._addressService,
|
|
72
|
-
defaultFilters: [{ field: 'level', operator: Operator.equal, value: ENUM_DON_VI_HANH_CHINH.QUAN_HUYEN.toString() }
|
|
74
|
+
defaultFilters: [{ field: 'level', operator: Operator.equal, value: ENUM_DON_VI_HANH_CHINH.QUAN_HUYEN.toString() },
|
|
75
|
+
{ field: 'version', operator: Operator.equal, value: "-1" }
|
|
76
|
+
],
|
|
73
77
|
bindingFilters: [{ field: 'parentId', operator: Operator.equal, sourceField: 'idProvince', subField: 'idRoot' }],
|
|
74
78
|
valueField: 'id',
|
|
75
79
|
displayField: 'name',
|
|
@@ -84,7 +88,9 @@ export class AddressComponent extends DataFormBase {
|
|
|
84
88
|
label: 'Phường/Xã',
|
|
85
89
|
required: this.control.required && this.control.requiredWard,
|
|
86
90
|
baseService: this._addressService,
|
|
87
|
-
defaultFilters: [{ field: 'level', operator: Operator.equal, value: ENUM_DON_VI_HANH_CHINH.PHUONG_XA.toString() }
|
|
91
|
+
defaultFilters: [{ field: 'level', operator: Operator.equal, value: ENUM_DON_VI_HANH_CHINH.PHUONG_XA.toString() },
|
|
92
|
+
{ field: 'version', operator: Operator.equal, value: "-1" }
|
|
93
|
+
],
|
|
88
94
|
bindingFilters: [{ field: 'parentId', operator: Operator.equal, sourceField: 'idDistrict', subField: 'idRoot' }],
|
|
89
95
|
valueField: 'id',
|
|
90
96
|
displayField: 'name',
|
|
@@ -218,4 +224,4 @@ AddressComponent.propDecorators = {
|
|
|
218
224
|
dataChange: [{ type: Output }],
|
|
219
225
|
onReady: [{ type: Output }]
|
|
220
226
|
};
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBYSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoSSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBUTVELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0lBK0I5QyxZQUNjLFNBQW1CLEVBQ3JCLGVBQStCLEVBQy9CLG9CQUF5QyxFQUN6QyxzQkFBNkM7UUFFckQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBTFAsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFx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QUFRLEVBQUUsQ0FBQztTQUNyQztRQUVELElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUNyQixHQUFHLElBQUksS0FBSyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDckM7UUFFRCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUU7WUFDWixHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNqQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQzNCLENBQUM7OztZQXZOSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsbW1CQUF1Qzs7YUFFMUM7OztZQWZpQyxRQUFRO1lBU2pDLGNBQWM7WUFKZCxtQkFBbUI7WUFKbkIscUJBQXFCOzs7dUJBa0J6QixTQUFTLFNBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3NCQUM5QyxLQUFLO3VCQUVMLEtBQUs7dUJBSUwsS0FBSzttQkFDTCxLQUFLOzJCQU9MLEtBQUs7dUJBVUwsTUFBTTt5QkFDTixNQUFNO3NCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gJ25neC1kZXZpY2UtZGV0ZWN0b3InO1xyXG5pbXBvcnQgeyBEYXRhRm9ybUJhc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Jhc2UvZGF0YS1mb3JtLWJhc2UnO1xyXG5pbXBvcnQgeyBtZXJnZUpTT04gfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Vudmlyb25tZW50LXNjaGVtYSc7XHJcbmltcG9ydCB7IEFkZHJlc3NDb250cm9sU2NoZW1hLCBEcm9wZG93bkNvbnRyb2xTY2hlbWEsIEV2ZW50RGF0YSwgT3BlcmF0b3IsIFRleHRDb250cm9sU2NoZW1hIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLXNjaGVtYSc7XHJcbmltcG9ydCB7IE1vZHVsZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb2R1bGUtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDcnVkRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2NydWQvY3J1ZC1mb3JtL2NydWQtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpc0xpdGVyYWxPYmplY3QgfSBmcm9tICcuLy4uLy4uL2NsYXNzZXMvZW52aXJvbm1lbnQtc2NoZW1hJztcclxuaW1wb3J0IHsgRU5VTV9ET05fVklfSEFOSF9DSElOSCB9IGZyb20gJy4vbW9kZWxzL2Rvbi12aS1oYW5oLWNoaW5oJztcclxuaW1wb3J0IHsgQWRkcmVzc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FkZHJlc3Muc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYWRkcmVzcy1waWNrZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZHJlc3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYWRkcmVzcy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQWRkcmVzc0NvbXBvbmVudCBleHRlbmRzIERhdGFGb3JtQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQFZpZXdDaGlsZChDcnVkRm9ybUNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pIGNydWRGb3JtOiBDcnVkRm9ybUNvbXBvbmVudDtcclxuICAgIEBJbnB1dCgpIGNvbnRyb2w6IEFkZHJlc3NDb250cm9sU2NoZW1hO1xyXG4gICAgX2Rpc2FibGVkOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnNldERpc2FibGVkQ29udHJvbCgpO1xyXG4gICAgfVxyXG4gICAgQElucHV0KCkgdmlld01vZGUgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHNldCBkYXRhKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICBpZiAodGhpcy5fbW9kZWxEYXRhICE9IHZhbHVlICYmIGlzTGl0ZXJhbE9iamVjdCh2YWx1ZSkpXHJcbiAgICAgICAgICAgIHRoaXMuX21vZGVsRGF0YSA9IG1lcmdlSlNPTih0aGlzLl9tb2RlbERhdGEsIHZhbHVlKTtcclxuICAgICAgICBlbHNlIGlmICh2YWx1ZSA9PSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLl9tb2RlbERhdGEgPSB7fTtcclxuICAgIH07XHJcbiAgICBfc2hvd1N1YkxhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIHNldCBzaG93U3ViTGFiZWwodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zaG93U3ViTGFiZWwgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnNldFNob3dMYWJlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIF9tb2RlbERhdGE6IGFueTtcclxuICAgIG1vZGVsU3RyaW5nOiBzdHJpbmc7XHJcbiAgICByZWFkeVRvUmVsb2FkID0gZmFsc2U7XHJcbiAgICBfcmVhZHlTdGF0dXMgPSB7fTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25TZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgZGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIG9uUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIF9hZGRyZXNzU2VydmljZTogQWRkcmVzc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfbW9kdWxlQ29uZmlnU2VydmljZTogTW9kdWxlQ29uZmlnU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9kZXZpY2VEZXRlY3RvclNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcclxuICAgICAgICB0aGlzLmRvTm90Q2hlY2tCYXNlU2VydmljZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLl9jb21wb25lbnQgPSB0aGlzO1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgLy8gTuG6v3UgxJHDoyDhuqluIHF14bqtbiBodXnhu4duIHRow6wgcGjhuqNpIOG6qW4gbHXDtG4gY+G6oyBwaMaw4budbmcgeMOjXHJcbiAgICAgICAgLy8gVsOsIG7hur91IGtow7RuZyBsb2FkIGThu68gbGnhu4d1IHPhur0ga2jDtG5nIGNodeG6qW5cclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmhpZGVEaXN0cmljdCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wuaGlkZVdhcmQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldHRpbmcuc2NoZW1hID0gW1xyXG4gICAgICAgICAgICBuZXcgRHJvcGRvd25Db250cm9sU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnaWRQcm92aW5jZScsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ1Thu4luaC9UaMOgbmggcGjhu5EnLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRoaXMuY29udHJvbC5yZXF1aXJlZCAmJiB0aGlzLmNvbnRyb2wucmVxdWlyZWRQcm92aW5jZSxcclxuICAgICAgICAgICAgICAgIGJhc2VTZXJ2aWNlOiB0aGlzLl9hZGRyZXNzU2VydmljZSxcclxuICAgICAgICAgICAgICAgIGRlZmF1bHRGaWx0ZXJzOiBbeyBmaWVsZDogJ2xldmVsJywgb3BlcmF0b3I6IE9wZXJhdG9yLmVxdWFsLCB2YWx1ZTogRU5VTV9ET05fVklfSEFOSF9DSElOSC5USEFOSF9QSE8udG9TdHJpbmcoKSB9XSxcclxuICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICdpZCcsXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQ6ICduYW1lJyxcclxuICAgICAgICAgICAgICAgIGZpZWxkUGx1czogJ2lkUm9vdCcsXHJcbiAgICAgICAgICAgICAgICBzb3J0RmllbGQ6ICdzb3J0JyxcclxuICAgICAgICAgICAgICAgIG1kV2lkdGg6IHRoaXMuY29udHJvbC5wcm92aW5jZVdpZHRoLFxyXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuX2Rpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhRmluaXNoOiAoZXZ0OiBFdmVudERhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlYWR5VG9SZWxvYWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IERyb3Bkb3duQ29udHJvbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2lkRGlzdHJpY3QnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdRdeG6rW4vSHV54buHbicsXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdGhpcy5jb250cm9sLnJlcXVpcmVkICYmIHRoaXMuY29udHJvbC5yZXF1aXJlZERpc3RyaWN0LFxyXG4gICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IHRoaXMuX2FkZHJlc3NTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdEZpbHRlcnM6IFt7IGZpZWxkOiAnbGV2ZWwnLCBvcGVyYXRvcjogT3BlcmF0b3IuZXF1YWwsIHZhbHVlOiBFTlVNX0RPTl9WSV9IQU5IX0NISU5ILlFVQU5fSFVZRU4udG9TdHJpbmcoKSB9XSxcclxuICAgICAgICAgICAgICAgIGJpbmRpbmdGaWx0ZXJzOiBbeyBmaWVsZDogJ3BhcmVudElkJywgb3BlcmF0b3I6IE9wZXJhdG9yLmVxdWFsLCBzb3VyY2VGaWVsZDogJ2lkUHJvdmluY2UnLCBzdWJGaWVsZDogJ2lkUm9vdCcgfV0sXHJcbiAgICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnaWQnLFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheUZpZWxkOiAnbmFtZScsXHJcbiAgICAgICAgICAgICAgICBmaWVsZFBsdXM6ICdpZFJvb3QnLFxyXG4gICAgICAgICAgICAgICAgc29ydEZpZWxkOiAnc29ydCcsXHJcbiAgICAgICAgICAgICAgICBtZFdpZHRoOiB0aGlzLmNvbnRyb2wuZGlzdHJpY3RXaWR0aCxcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLl9kaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgIGhpZGRlbjogdGhpcy5jb250cm9sLmhpZGVEaXN0cmljdFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IERyb3Bkb3duQ29udHJvbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2lkV2FyZCcsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ1BoxrDhu51uZy9Yw6MnLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRoaXMuY29udHJvbC5yZXF1aXJlZCAmJiB0aGlzLmNvbnRyb2wucmVxdWlyZWRXYXJkLFxyXG4gICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IHRoaXMuX2FkZHJlc3NTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdEZpbHRlcnM6IFt7IGZpZWxkOiAnbGV2ZWwnLCBvcGVyYXRvcjogT3BlcmF0b3IuZXF1YWwsIHZhbHVlOiBFTlVNX0RPTl9WSV9IQU5IX0NISU5ILlBIVU9OR19YQS50b1N0cmluZygpIH1dLFxyXG4gICAgICAgICAgICAgICAgYmluZGluZ0ZpbHRlcnM6IFt7IGZpZWxkOiAncGFyZW50SWQnLCBvcGVyYXRvcjogT3BlcmF0b3IuZXF1YWwsIHNvdXJjZUZpZWxkOiAnaWREaXN0cmljdCcsIHN1YkZpZWxkOiAnaWRSb290JyB9XSxcclxuICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICdpZCcsXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQ6ICduYW1lJyxcclxuICAgICAgICAgICAgICAgIGZpZWxkUGx1czogJ2lkUm9vdCcsXHJcbiAgICAgICAgICAgICAgICBzb3J0RmllbGQ6ICdzb3J0JyxcclxuICAgICAgICAgICAgICAgIG1kV2lkdGg6IHRoaXMuY29udHJvbC53YXJkV2lkdGgsXHJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5fZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgICBoaWRkZW46IHRoaXMuY29udHJvbC5oaWRlV2FyZFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IFRleHRDb250cm9sU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnc3RyZWV0JyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnxJDGsOG7nW5nJyxcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0aGlzLmNvbnRyb2wucmVxdWlyZWQgJiYgdGhpcy5jb250cm9sLnJlcXVpcmVkU3RyZWV0LFxyXG4gICAgICAgICAgICAgICAgbWRXaWR0aDogdGhpcy5jb250cm9sLnN0cmVldFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuX2Rpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgaGlkZGVuOiB0aGlzLmNvbnRyb2wuaGlkZVN0cmVldFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IFRleHRDb250cm9sU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnbm8nLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdT4buRIG5ow6AnLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRoaXMuY29udHJvbC5yZXF1aXJlZCAmJiB0aGlzLmNvbnRyb2wucmVxdWlyZWRObyxcclxuICAgICAgICAgICAgICAgIG1kV2lkdGg6IHRoaXMuY29udHJvbC5ub1dpZHRoLFxyXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuX2Rpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgaGlkZGVuOiB0aGlzLmNvbnRyb2wuaGlkZU5vXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgXVxyXG4gICAgICAgIGlmICh0aGlzLnZpZXdNb2RlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0TW9kZWxUZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldERpc2FibGVkQ29udHJvbCgpIHtcclxuICAgICAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuX2Rpc2FibGVkID8gdHJ1ZSA6IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLnNjaGVtYS5mb3JFYWNoKGN0cmwgPT4gY3RybC5kaXNhYmxlZCA9IGRpc2FibGVkKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVWYWx1ZUNoYW5nZShldnQpIHtcclxuICAgICAgICB0aGlzLmRhdGFDaGFuZ2UuZW1pdCh0aGlzLl9tb2RlbERhdGEpO1xyXG4gICAgICAgIHRoaXMub25TZWxlY3QuZW1pdCh0aGlzLl9tb2RlbERhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVJlYWR5KGZpZWxkKSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZHlTdGF0dXNbZmllbGRdID0gdHJ1ZTtcclxuICAgICAgICBpZiAodGhpcy5fcmVhZHlTdGF0dXNbJ2lkUHJvdmluY2UnXVxyXG4gICAgICAgICAgICAmJiAodGhpcy5jb250cm9sLmhpZGVEaXN0cmljdCB8fCB0aGlzLl9yZWFkeVN0YXR1c1snaWREaXN0cmljdCddKVxyXG4gICAgICAgICAgICAmJiAodGhpcy5jb250cm9sLmhpZGVXYXJkIHx8IHRoaXMuX3JlYWR5U3RhdHVzWydpZFdhcmQnXSlcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5vblJlYWR5LmVtaXQodGhpcy5jb250cm9sLmZpZWxkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U2hvd0xhYmVsKCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBnZXRNb2RlbFRleHQoKSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVzID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMuX21vZGVsRGF0YS5pZFByb3ZpbmNlKVxyXG4gICAgICAgICAgICB2YWx1ZXMucHVzaCh0aGlzLl9tb2RlbERhdGEuaWRQcm92aW5jZSk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wuaGlkZURpc3RyaWN0ICYmIHRoaXMuX21vZGVsRGF0YS5pZERpc3RyaWN0KVxyXG4gICAgICAgICAgICB2YWx1ZXMucHVzaCh0aGlzLl9tb2RlbERhdGEuaWREaXN0cmljdCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wuaGlkZVdhcmQgJiYgdGhpcy5fbW9kZWxEYXRhLmlkV2FyZClcclxuICAgICAgICAgICAgdmFsdWVzLnB1c2godGhpcy5fbW9kZWxEYXRhLmlkV2FyZCk7XHJcbiAgICAgICAgaWYgKHZhbHVlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHtcclxuICAgICAgICAgICAgICAgIHByb3ZpbmNlOiAnJyxcclxuICAgICAgICAgICAgICAgIGRpc3RyaWN0OiAnJyxcclxuICAgICAgICAgICAgICAgIHdhcmQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgc3RyZWV0OiB0aGlzLl9tb2RlbERhdGEuc3RyZWV0LFxyXG4gICAgICAgICAgICAgICAgbm86IHRoaXMuX21vZGVsRGF0YS5ub1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuX2FkZHJlc3NTZXJ2aWNlLmdldEFsbChbXHJcbiAgICAgICAgICAgICAgICB0aGlzLm5ld0ZpbHRlcignaWQnLCBPcGVyYXRvci5pbiwgdmFsdWVzKVxyXG4gICAgICAgICAgICBdLCAnaWQsbmFtZScpLnRoZW4ocmVzID0+IHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzLCAnJywgZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fbW9kZWxEYXRhLmlkUHJvdmluY2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm92aW5jZSA9IGRhdGEuZGF0YS5maW5kKHAgPT4gcC5pZCA9PSB0aGlzLl9tb2RlbERhdGEuaWRQcm92aW5jZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3ZpbmNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHJvdmluY2UgPSBwcm92aW5jZS5uYW1lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wuaGlkZURpc3RyaWN0ICYmIHRoaXMuX21vZGVsRGF0YS5pZERpc3RyaWN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlzdHJpY3QgPSBkYXRhLmRhdGEuZmluZChwID0+IHAuaWQgPT0gdGhpcy5fbW9kZWxEYXRhLmlkRGlzdHJpY3QpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChkaXN0cmljdClcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmRpc3RyaWN0ID0gZGlzdHJpY3QubmFtZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250cm9sLmhpZGVXYXJkICYmIHRoaXMuX21vZGVsRGF0YS5pZFdhcmQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB3YXJkID0gZGF0YS5kYXRhLmZpbmQocCA9PiBwLmlkID09IHRoaXMuX21vZGVsRGF0YS5pZFdhcmQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh3YXJkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQud2FyZCA9IHdhcmQubmFtZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0TW9kZWxUZXh0KHJlc3VsdCk7XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0TW9kZWxUZXh0KG9iakFkZHJlc3MpIHtcclxuICAgICAgICBsZXQgc3RyID0gYGA7XHJcblxyXG4gICAgICAgIGlmIChvYmpBZGRyZXNzLm5vKSB7XHJcbiAgICAgICAgICAgIHN0ciArPSBgLCBT4buRICR7b2JqQWRkcmVzcy5ub31gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG9iakFkZHJlc3Muc3RyZWV0KSB7XHJcbiAgICAgICAgICAgIHN0ciArPSBgLCDEkMaw4budbmcgJHtvYmpBZGRyZXNzLnN0cmVldH1gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wuaGlkZURpc3RyaWN0ICYmIG9iakFkZHJlc3Mud2FyZCkge1xyXG4gICAgICAgICAgICBzdHIgKz0gYCwgJHtvYmpBZGRyZXNzLndhcmR9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jb250cm9sLmhpZGVEaXN0cmljdCAmJiBvYmpBZGRyZXNzLmRpc3RyaWN0KSB7XHJcbiAgICAgICAgICAgIHN0ciArPSBgLCAke29iakFkZHJlc3MuZGlzdHJpY3R9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvYmpBZGRyZXNzLnByb3ZpbmNlKSB7XHJcbiAgICAgICAgICAgIHN0ciArPSBgLCAke29iakFkZHJlc3MucHJvdmluY2V9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzdHIgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIHN0ciA9IHN0ci5zdWJzdHJpbmcoMikudHJpbSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5tb2RlbFN0cmluZyA9IHN0cjtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBYSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoSSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBUTVELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0lBK0I5QyxZQUNjLFNBQW1CLEVBQ3JCLGVBQStCLEVBQy9CLG9CQUF5QyxFQUN6QyxzQkFBNkM7UUFFckQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBTFAsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFx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QUFXLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN6QztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQy9DLEdBQUcsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNqQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQ25ELEdBQUcsSUFBSSxLQUFLLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNyQztRQUVELElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUNyQixHQUFHLElBQUksS0FBSyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDckM7UUFFRCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUU7WUFDWixHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNqQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQzNCLENBQUM7OztZQTdOSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsbW1CQUF1Qzs7YUFFMUM7OztZQWZpQyxRQUFRO1lBU2pDLGNBQWM7WUFKZCxtQkFBbUI7WUFKbkIscUJBQXFCOzs7dUJBa0J6QixTQUFTLFNBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3NCQUM5QyxLQUFLO3VCQUVMLEtBQUs7dUJBSUwsS0FBSzttQkFDTCxLQUFLOzJCQU9MLEtBQUs7dUJBVUwsTUFBTTt5QkFDTixNQUFNO3NCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gJ25neC1kZXZpY2UtZGV0ZWN0b3InO1xyXG5pbXBvcnQgeyBEYXRhRm9ybUJhc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Jhc2UvZGF0YS1mb3JtLWJhc2UnO1xyXG5pbXBvcnQgeyBtZXJnZUpTT04gfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Vudmlyb25tZW50LXNjaGVtYSc7XHJcbmltcG9ydCB7IEFkZHJlc3NDb250cm9sU2NoZW1hLCBEcm9wZG93bkNvbnRyb2xTY2hlbWEsIEV2ZW50RGF0YSwgT3BlcmF0b3IsIFRleHRDb250cm9sU2NoZW1hIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLXNjaGVtYSc7XHJcbmltcG9ydCB7IE1vZHVsZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb2R1bGUtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDcnVkRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2NydWQvY3J1ZC1mb3JtL2NydWQtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpc0xpdGVyYWxPYmplY3QgfSBmcm9tICcuLy4uLy4uL2NsYXNzZXMvZW52aXJvbm1lbnQtc2NoZW1hJztcclxuaW1wb3J0IHsgRU5VTV9ET05fVklfSEFOSF9DSElOSCB9IGZyb20gJy4vbW9kZWxzL2Rvbi12aS1oYW5oLWNoaW5oJztcclxuaW1wb3J0IHsgQWRkcmVzc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FkZHJlc3Muc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYWRkcmVzcy1waWNrZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZHJlc3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYWRkcmVzcy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQWRkcmVzc0NvbXBvbmVudCBleHRlbmRzIERhdGFGb3JtQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQFZpZXdDaGlsZChDcnVkRm9ybUNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pIGNydWRGb3JtOiBDcnVkRm9ybUNvbXBvbmVudDtcclxuICAgIEBJbnB1dCgpIGNvbnRyb2w6IEFkZHJlc3NDb250cm9sU2NoZW1hO1xyXG4gICAgX2Rpc2FibGVkOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnNldERpc2FibGVkQ29udHJvbCgpO1xyXG4gICAgfVxyXG4gICAgQElucHV0KCkgdmlld01vZGUgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHNldCBkYXRhKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICBpZiAodGhpcy5fbW9kZWxEYXRhICE9IHZhbHVlICYmIGlzTGl0ZXJhbE9iamVjdCh2YWx1ZSkpXHJcbiAgICAgICAgICAgIHRoaXMuX21vZGVsRGF0YSA9IG1lcmdlSlNPTih0aGlzLl9tb2RlbERhdGEsIHZhbHVlKTtcclxuICAgICAgICBlbHNlIGlmICh2YWx1ZSA9PSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLl9tb2RlbERhdGEgPSB7fTtcclxuICAgIH07XHJcbiAgICBfc2hvd1N1YkxhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIHNldCBzaG93U3ViTGFiZWwodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zaG93U3ViTGFiZWwgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnNldFNob3dMYWJlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIF9tb2RlbERhdGE6IGFueTtcclxuICAgIG1vZGVsU3RyaW5nOiBzdHJpbmc7XHJcbiAgICByZWFkeVRvUmVsb2FkID0gZmFsc2U7XHJcbiAgICBfcmVhZHlTdGF0dXMgPSB7fTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25TZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgZGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIG9uUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIF9hZGRyZXNzU2VydmljZTogQWRkcmVzc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfbW9kdWxlQ29uZmlnU2VydmljZTogTW9kdWxlQ29uZmlnU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9kZXZpY2VEZXRlY3RvclNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcclxuICAgICAgICB0aGlzLmRvTm90Q2hlY2tCYXNlU2VydmljZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLl9jb21wb25lbnQgPSB0aGlzO1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgLy8gTuG6v3UgxJHDoyDhuqluIHF14bqtbiBodXnhu4duIHRow6wgcGjhuqNpIOG6qW4gbHXDtG4gY+G6oyBwaMaw4budbmcgeMOjXHJcbiAgICAgICAgLy8gVsOsIG7hur91IGtow7RuZyBsb2FkIGThu68gbGnhu4d1IHPhur0ga2jDtG5nIGNodeG6qW5cclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmhpZGVEaXN0cmljdCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wuaGlkZVdhcmQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldHRpbmcuc2NoZW1hID0gW1xyXG4gICAgICAgICAgICBuZXcgRHJvcGRvd25Db250cm9sU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnaWRQcm92aW5jZScsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ1Thu4luaC9UaMOgbmggcGjhu5EnLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRoaXMuY29udHJvbC5yZXF1aXJlZCAmJiB0aGlzLmNvbnRyb2wucmVxdWlyZWRQcm92aW5jZSxcclxuICAgICAgICAgICAgICAgIGJhc2VTZXJ2aWNlOiB0aGlzLl9hZGRyZXNzU2VydmljZSxcclxuICAgICAgICAgICAgICAgIGRlZmF1bHRGaWx0ZXJzOiBbeyBmaWVsZDogJ2xldmVsJywgb3BlcmF0b3I6IE9wZXJhdG9yLmVxdWFsLCB2YWx1ZTogRU5VTV9ET05fVklfSEFOSF9DSElOSC5USEFOSF9QSE8udG9TdHJpbmcoKSB9LFxyXG4gICAgICAgICAgICAgICAgeyBmaWVsZDogJ3ZlcnNpb24nLCBvcGVyYXRvcjogT3BlcmF0b3IuZXF1YWwsIHZhbHVlOiBcIi0xXCIgfVxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICdpZCcsXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQ6ICduYW1lJyxcclxuICAgICAgICAgICAgICAgIGZpZWxkUGx1czogJ2lkUm9vdCcsXHJcbiAgICAgICAgICAgICAgICBzb3J0RmllbGQ6ICdzb3J0JyxcclxuICAgICAgICAgICAgICAgIG1kV2lkdGg6IHRoaXMuY29udHJvbC5wcm92aW5jZVdpZHRoLFxyXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuX2Rpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhRmluaXNoOiAoZXZ0OiBFdmVudERhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlYWR5VG9SZWxvYWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IERyb3Bkb3duQ29udHJvbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2lkRGlzdHJpY3QnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdRdeG6rW4vSHV54buHbicsXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdGhpcy5jb250cm9sLnJlcXVpcmVkICYmIHRoaXMuY29udHJvbC5yZXF1aXJlZERpc3RyaWN0LFxyXG4gICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IHRoaXMuX2FkZHJlc3NTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdEZpbHRlcnM6IFt7IGZpZWxkOiAnbGV2ZWwnLCBvcGVyYXRvcjogT3BlcmF0b3IuZXF1YWwsIHZhbHVlOiBFTlVNX0RPTl9WSV9IQU5IX0NISU5ILlFVQU5fSFVZRU4udG9TdHJpbmcoKSB9LFxyXG4gICAgICAgICAgICAgICAgeyBmaWVsZDogJ3ZlcnNpb24nLCBvcGVyYXRvcjogT3BlcmF0b3IuZXF1YWwsIHZhbHVlOiBcIi0xXCIgfVxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIGJpbmRpbmdGaWx0ZXJzOiBbeyBmaWVsZDogJ3BhcmVudElkJywgb3BlcmF0b3I6IE9wZXJhdG9yLmVxdWFsLCBzb3VyY2VGaWVsZDogJ2lkUHJvdmluY2UnLCBzdWJGaWVsZDogJ2lkUm9vdCcgfV0sXHJcbiAgICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnaWQnLFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheUZpZWxkOiAnbmFtZScsXHJcbiAgICAgICAgICAgICAgICBmaWVsZFBsdXM6ICdpZFJvb3QnLFxyXG4gICAgICAgICAgICAgICAgc29ydEZpZWxkOiAnc29ydCcsXHJcbiAgICAgICAgICAgICAgICBtZFdpZHRoOiB0aGlzLmNvbnRyb2wuZGlzdHJpY3RXaWR0aCxcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLl9kaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgIGhpZGRlbjogdGhpcy5jb250cm9sLmhpZGVEaXN0cmljdFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IERyb3Bkb3duQ29udHJvbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2lkV2FyZCcsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ1BoxrDhu51uZy9Yw6MnLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRoaXMuY29udHJvbC5yZXF1aXJlZCAmJiB0aGlzLmNvbnRyb2wucmVxdWlyZWRXYXJkLFxyXG4gICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IHRoaXMuX2FkZHJlc3NTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdEZpbHRlcnM6IFt7IGZpZWxkOiAnbGV2ZWwnLCBvcGVyYXRvcjogT3BlcmF0b3IuZXF1YWwsIHZhbHVlOiBFTlVNX0RPTl9WSV9IQU5IX0NISU5ILlBIVU9OR19YQS50b1N0cmluZygpIH0sXHJcbiAgICAgICAgICAgICAgICB7IGZpZWxkOiAndmVyc2lvbicsIG9wZXJhdG9yOiBPcGVyYXRvci5lcXVhbCwgdmFsdWU6IFwiLTFcIiB9XHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgYmluZGluZ0ZpbHRlcnM6IFt7IGZpZWxkOiAncGFyZW50SWQnLCBvcGVyYXRvcjogT3BlcmF0b3IuZXF1YWwsIHNvdXJjZUZpZWxkOiAnaWREaXN0cmljdCcsIHN1YkZpZWxkOiAnaWRSb290JyB9XSxcclxuICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICdpZCcsXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQ6ICduYW1lJyxcclxuICAgICAgICAgICAgICAgIGZpZWxkUGx1czogJ2lkUm9vdCcsXHJcbiAgICAgICAgICAgICAgICBzb3J0RmllbGQ6ICdzb3J0JyxcclxuICAgICAgICAgICAgICAgIG1kV2lkdGg6IHRoaXMuY29udHJvbC53YXJkV2lkdGgsXHJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5fZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgICBoaWRkZW46IHRoaXMuY29udHJvbC5oaWRlV2FyZFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IFRleHRDb250cm9sU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnc3RyZWV0JyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnxJDGsOG7nW5nJyxcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0aGlzLmNvbnRyb2wucmVxdWlyZWQgJiYgdGhpcy5jb250cm9sLnJlcXVpcmVkU3RyZWV0LFxyXG4gICAgICAgICAgICAgICAgbWRXaWR0aDogdGhpcy5jb250cm9sLnN0cmVldFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuX2Rpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgaGlkZGVuOiB0aGlzLmNvbnRyb2wuaGlkZVN0cmVldFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IFRleHRDb250cm9sU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnbm8nLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdT4buRIG5ow6AnLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRoaXMuY29udHJvbC5yZXF1aXJlZCAmJiB0aGlzLmNvbnRyb2wucmVxdWlyZWRObyxcclxuICAgICAgICAgICAgICAgIG1kV2lkdGg6IHRoaXMuY29udHJvbC5ub1dpZHRoLFxyXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuX2Rpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgaGlkZGVuOiB0aGlzLmNvbnRyb2wuaGlkZU5vXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgXVxyXG4gICAgICAgIGlmICh0aGlzLnZpZXdNb2RlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0TW9kZWxUZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldERpc2FibGVkQ29udHJvbCgpIHtcclxuICAgICAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuX2Rpc2FibGVkID8gdHJ1ZSA6IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLnNjaGVtYS5mb3JFYWNoKGN0cmwgPT4gY3RybC5kaXNhYmxlZCA9IGRpc2FibGVkKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVWYWx1ZUNoYW5nZShldnQpIHtcclxuICAgICAgICB0aGlzLmRhdGFDaGFuZ2UuZW1pdCh0aGlzLl9tb2RlbERhdGEpO1xyXG4gICAgICAgIHRoaXMub25TZWxlY3QuZW1pdCh0aGlzLl9tb2RlbERhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVJlYWR5KGZpZWxkKSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZHlTdGF0dXNbZmllbGRdID0gdHJ1ZTtcclxuICAgICAgICBpZiAodGhpcy5fcmVhZHlTdGF0dXNbJ2lkUHJvdmluY2UnXVxyXG4gICAgICAgICAgICAmJiAodGhpcy5jb250cm9sLmhpZGVEaXN0cmljdCB8fCB0aGlzLl9yZWFkeVN0YXR1c1snaWREaXN0cmljdCddKVxyXG4gICAgICAgICAgICAmJiAodGhpcy5jb250cm9sLmhpZGVXYXJkIHx8IHRoaXMuX3JlYWR5U3RhdHVzWydpZFdhcmQnXSlcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5vblJlYWR5LmVtaXQodGhpcy5jb250cm9sLmZpZWxkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U2hvd0xhYmVsKCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBnZXRNb2RlbFRleHQoKSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVzID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMuX21vZGVsRGF0YS5pZFByb3ZpbmNlKVxyXG4gICAgICAgICAgICB2YWx1ZXMucHVzaCh0aGlzLl9tb2RlbERhdGEuaWRQcm92aW5jZSk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wuaGlkZURpc3RyaWN0ICYmIHRoaXMuX21vZGVsRGF0YS5pZERpc3RyaWN0KVxyXG4gICAgICAgICAgICB2YWx1ZXMucHVzaCh0aGlzLl9tb2RlbERhdGEuaWREaXN0cmljdCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wuaGlkZVdhcmQgJiYgdGhpcy5fbW9kZWxEYXRhLmlkV2FyZClcclxuICAgICAgICAgICAgdmFsdWVzLnB1c2godGhpcy5fbW9kZWxEYXRhLmlkV2FyZCk7XHJcbiAgICAgICAgaWYgKHZhbHVlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHtcclxuICAgICAgICAgICAgICAgIHByb3ZpbmNlOiAnJyxcclxuICAgICAgICAgICAgICAgIGRpc3RyaWN0OiAnJyxcclxuICAgICAgICAgICAgICAgIHdhcmQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgc3RyZWV0OiB0aGlzLl9tb2RlbERhdGEuc3RyZWV0LFxyXG4gICAgICAgICAgICAgICAgbm86IHRoaXMuX21vZGVsRGF0YS5ub1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuX2FkZHJlc3NTZXJ2aWNlLmdldEFsbChbXHJcbiAgICAgICAgICAgICAgICB0aGlzLm5ld0ZpbHRlcignaWQnLCBPcGVyYXRvci5pbiwgdmFsdWVzKVxyXG4gICAgICAgICAgICBdLCAnaWQsbmFtZScpLnRoZW4ocmVzID0+IHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzLCAnJywgZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fbW9kZWxEYXRhLmlkUHJvdmluY2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm92aW5jZSA9IGRhdGEuZGF0YS5maW5kKHAgPT4gcC5pZCA9PSB0aGlzLl9tb2RlbERhdGEuaWRQcm92aW5jZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3ZpbmNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHJvdmluY2UgPSBwcm92aW5jZS5uYW1lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wuaGlkZURpc3RyaWN0ICYmIHRoaXMuX21vZGVsRGF0YS5pZERpc3RyaWN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlzdHJpY3QgPSBkYXRhLmRhdGEuZmluZChwID0+IHAuaWQgPT0gdGhpcy5fbW9kZWxEYXRhLmlkRGlzdHJpY3QpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChkaXN0cmljdClcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmRpc3RyaWN0ID0gZGlzdHJpY3QubmFtZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250cm9sLmhpZGVXYXJkICYmIHRoaXMuX21vZGVsRGF0YS5pZFdhcmQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB3YXJkID0gZGF0YS5kYXRhLmZpbmQocCA9PiBwLmlkID09IHRoaXMuX21vZGVsRGF0YS5pZFdhcmQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh3YXJkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQud2FyZCA9IHdhcmQubmFtZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0TW9kZWxUZXh0KHJlc3VsdCk7XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0TW9kZWxUZXh0KG9iakFkZHJlc3MpIHtcclxuICAgICAgICBsZXQgc3RyID0gYGA7XHJcblxyXG4gICAgICAgIGlmIChvYmpBZGRyZXNzLm5vKSB7XHJcbiAgICAgICAgICAgIHN0ciArPSBgLCBT4buRICR7b2JqQWRkcmVzcy5ub31gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG9iakFkZHJlc3Muc3RyZWV0KSB7XHJcbiAgICAgICAgICAgIHN0ciArPSBgLCDEkMaw4budbmcgJHtvYmpBZGRyZXNzLnN0cmVldH1gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wuaGlkZURpc3RyaWN0ICYmIG9iakFkZHJlc3Mud2FyZCkge1xyXG4gICAgICAgICAgICBzdHIgKz0gYCwgJHtvYmpBZGRyZXNzLndhcmR9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jb250cm9sLmhpZGVEaXN0cmljdCAmJiBvYmpBZGRyZXNzLmRpc3RyaWN0KSB7XHJcbiAgICAgICAgICAgIHN0ciArPSBgLCAke29iakFkZHJlc3MuZGlzdHJpY3R9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvYmpBZGRyZXNzLnByb3ZpbmNlKSB7XHJcbiAgICAgICAgICAgIHN0ciArPSBgLCAke29iakFkZHJlc3MucHJvdmluY2V9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzdHIgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIHN0ciA9IHN0ci5zdWJzdHJpbmcoMikudHJpbSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5tb2RlbFN0cmluZyA9IHN0cjtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import { Component, EventEmitter, Injector, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { DeviceDetectorService } from 'ngx-device-detector';
|
|
3
|
+
import { DataFormBase } from '../../classes/base/data-form-base';
|
|
4
|
+
import { mergeJSON } from '../../classes/environment-schema';
|
|
5
|
+
import { AddressControlSchema, DropdownControlSchema, Operator, TextControlSchema } from '../../classes/form-schema';
|
|
6
|
+
import { ModuleConfigService } from '../../services/module-config.service';
|
|
7
|
+
import { CrudFormComponent } from '../crud/crud-form/crud-form.component';
|
|
8
|
+
import { isLiteralObject } from './../../classes/environment-schema';
|
|
9
|
+
import { ENUM_DON_VI_HANH_CHINH } from './models/don-vi-hanh-chinh';
|
|
10
|
+
import { AddressService } from './services/address.service';
|
|
11
|
+
export class AddressNewComponent extends DataFormBase {
|
|
12
|
+
constructor(_injector, _addressService, _moduleConfigService, _deviceDetectorService) {
|
|
13
|
+
super(_injector);
|
|
14
|
+
this._injector = _injector;
|
|
15
|
+
this._addressService = _addressService;
|
|
16
|
+
this._moduleConfigService = _moduleConfigService;
|
|
17
|
+
this._deviceDetectorService = _deviceDetectorService;
|
|
18
|
+
this.viewMode = false;
|
|
19
|
+
this._showSubLabel = true;
|
|
20
|
+
this.readyToReload = false;
|
|
21
|
+
this._readyStatus = {};
|
|
22
|
+
this.onSelect = new EventEmitter();
|
|
23
|
+
this.dataChange = new EventEmitter();
|
|
24
|
+
this.onReady = new EventEmitter();
|
|
25
|
+
this.doNotCheckBaseService = true;
|
|
26
|
+
}
|
|
27
|
+
set disabled(value) {
|
|
28
|
+
this._disabled = value;
|
|
29
|
+
this.setDisabledControl();
|
|
30
|
+
}
|
|
31
|
+
set data(value) {
|
|
32
|
+
if (this._modelData != value && isLiteralObject(value))
|
|
33
|
+
this._modelData = mergeJSON(this._modelData, value);
|
|
34
|
+
else if (value == null)
|
|
35
|
+
this._modelData = {};
|
|
36
|
+
}
|
|
37
|
+
;
|
|
38
|
+
set showSubLabel(value) {
|
|
39
|
+
this._showSubLabel = value;
|
|
40
|
+
this.setShowLabel();
|
|
41
|
+
}
|
|
42
|
+
ngOnInit() {
|
|
43
|
+
this.control._component = this;
|
|
44
|
+
super.ngOnInit();
|
|
45
|
+
// Nếu đã ẩn quận huyện thì phải ẩn luôn cả phường xã
|
|
46
|
+
// Vì nếu không load dữ liệu sẽ không chuẩn
|
|
47
|
+
// if (this.control.hideDistrict) {
|
|
48
|
+
// this.control.hideWard = true;
|
|
49
|
+
// }
|
|
50
|
+
this.setting.schema = [
|
|
51
|
+
new DropdownControlSchema({
|
|
52
|
+
field: 'idProvince',
|
|
53
|
+
label: 'Tỉnh/Thành phố',
|
|
54
|
+
required: this.control.required && this.control.requiredProvince,
|
|
55
|
+
baseService: this._addressService,
|
|
56
|
+
defaultFilters: [{ field: 'level', operator: Operator.equal, value: ENUM_DON_VI_HANH_CHINH.THANH_PHO.toString() },
|
|
57
|
+
{ field: 'version', operator: Operator.equal, value: "1" }],
|
|
58
|
+
valueField: 'id',
|
|
59
|
+
displayField: 'name',
|
|
60
|
+
fieldPlus: 'idRoot',
|
|
61
|
+
sortField: 'sort',
|
|
62
|
+
mdWidth: this.control.provinceWidth,
|
|
63
|
+
disabled: this._disabled,
|
|
64
|
+
callbackDataFinish: (evt) => {
|
|
65
|
+
this.readyToReload = true;
|
|
66
|
+
}
|
|
67
|
+
}),
|
|
68
|
+
// new DropdownControlSchema({
|
|
69
|
+
// field: 'idDistrict',
|
|
70
|
+
// label: 'Quận/Huyện',
|
|
71
|
+
// required: this.control.required && this.control.requiredDistrict,
|
|
72
|
+
// baseService: this._addressService,
|
|
73
|
+
// defaultFilters: [{ field: 'level', operator: Operator.equal, value: ENUM_DON_VI_HANH_CHINH.QUAN_HUYEN.toString() }],
|
|
74
|
+
// bindingFilters: [{ field: 'parentId', operator: Operator.equal, sourceField: 'idProvince', subField: 'idRoot' }],
|
|
75
|
+
// valueField: 'id',
|
|
76
|
+
// displayField: 'name',
|
|
77
|
+
// fieldPlus: 'idRoot',
|
|
78
|
+
// sortField: 'sort',
|
|
79
|
+
// mdWidth: this.control.districtWidth,
|
|
80
|
+
// disabled: this._disabled,
|
|
81
|
+
// hidden: this.control.hideDistrict
|
|
82
|
+
// }),
|
|
83
|
+
new DropdownControlSchema({
|
|
84
|
+
field: 'idWard',
|
|
85
|
+
label: 'Phường/Xã',
|
|
86
|
+
required: this.control.required && this.control.requiredWard,
|
|
87
|
+
baseService: this._addressService,
|
|
88
|
+
defaultFilters: [{ field: 'level', operator: Operator.equal, value: ENUM_DON_VI_HANH_CHINH.PHUONG_XA.toString() },
|
|
89
|
+
{ field: 'version', operator: Operator.equal, value: "1" }
|
|
90
|
+
],
|
|
91
|
+
bindingFilters: [{ field: 'parentId', operator: Operator.equal, sourceField: 'idProvince', subField: 'idRoot' }],
|
|
92
|
+
valueField: 'id',
|
|
93
|
+
displayField: 'name',
|
|
94
|
+
fieldPlus: 'idRoot',
|
|
95
|
+
sortField: 'sort',
|
|
96
|
+
mdWidth: this.control.wardWidth,
|
|
97
|
+
disabled: this._disabled,
|
|
98
|
+
hidden: this.control.hideWard
|
|
99
|
+
}),
|
|
100
|
+
new TextControlSchema({
|
|
101
|
+
field: 'street',
|
|
102
|
+
label: 'Đường',
|
|
103
|
+
required: this.control.required && this.control.requiredStreet,
|
|
104
|
+
mdWidth: this.control.streetWidth,
|
|
105
|
+
disabled: this._disabled,
|
|
106
|
+
hidden: this.control.hideStreet
|
|
107
|
+
}),
|
|
108
|
+
new TextControlSchema({
|
|
109
|
+
field: 'no',
|
|
110
|
+
label: 'Số nhà',
|
|
111
|
+
required: this.control.required && this.control.requiredNo,
|
|
112
|
+
mdWidth: this.control.noWidth,
|
|
113
|
+
disabled: this._disabled,
|
|
114
|
+
hidden: this.control.hideNo
|
|
115
|
+
})
|
|
116
|
+
];
|
|
117
|
+
if (this.viewMode) {
|
|
118
|
+
this.getModelText();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
setDisabledControl() {
|
|
122
|
+
const disabled = this._disabled ? true : null;
|
|
123
|
+
this.setting.schema.forEach(ctrl => ctrl.disabled = disabled);
|
|
124
|
+
}
|
|
125
|
+
handleValueChange(evt) {
|
|
126
|
+
this.dataChange.emit(this._modelData);
|
|
127
|
+
this.onSelect.emit(this._modelData);
|
|
128
|
+
}
|
|
129
|
+
handleReady(field) {
|
|
130
|
+
this._readyStatus[field] = true;
|
|
131
|
+
if (this._readyStatus['idProvince']
|
|
132
|
+
&& (this.control.hideDistrict || this._readyStatus['idDistrict'])
|
|
133
|
+
&& (this.control.hideWard || this._readyStatus['idWard'])) {
|
|
134
|
+
this.onReady.emit(this.control.field);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
setShowLabel() {
|
|
138
|
+
}
|
|
139
|
+
getModelText() {
|
|
140
|
+
const values = [];
|
|
141
|
+
if (this._modelData.idProvince)
|
|
142
|
+
values.push(this._modelData.idProvince);
|
|
143
|
+
if (!this.control.hideDistrict && this._modelData.idDistrict)
|
|
144
|
+
values.push(this._modelData.idDistrict);
|
|
145
|
+
if (!this.control.hideWard && this._modelData.idWard)
|
|
146
|
+
values.push(this._modelData.idWard);
|
|
147
|
+
if (values.length > 0) {
|
|
148
|
+
const result = {
|
|
149
|
+
province: '',
|
|
150
|
+
district: '',
|
|
151
|
+
ward: '',
|
|
152
|
+
street: this._modelData.street,
|
|
153
|
+
no: this._modelData.no
|
|
154
|
+
};
|
|
155
|
+
this._addressService.getAll([
|
|
156
|
+
this.newFilter('id', Operator.in, values)
|
|
157
|
+
], 'id,name').then(res => this.handleResponse(res, '', data => {
|
|
158
|
+
if (this._modelData.idProvince) {
|
|
159
|
+
const province = data.data.find(p => p.id == this._modelData.idProvince);
|
|
160
|
+
if (province)
|
|
161
|
+
result.province = province.name;
|
|
162
|
+
}
|
|
163
|
+
if (!this.control.hideDistrict && this._modelData.idDistrict) {
|
|
164
|
+
const district = data.data.find(p => p.id == this._modelData.idDistrict);
|
|
165
|
+
if (district)
|
|
166
|
+
result.district = district.name;
|
|
167
|
+
}
|
|
168
|
+
if (!this.control.hideWard && this._modelData.idWard) {
|
|
169
|
+
const ward = data.data.find(p => p.id == this._modelData.idWard);
|
|
170
|
+
if (ward)
|
|
171
|
+
result.ward = ward.name;
|
|
172
|
+
}
|
|
173
|
+
this.setModelText(result);
|
|
174
|
+
}));
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
setModelText(objAddress) {
|
|
178
|
+
let str = ``;
|
|
179
|
+
if (objAddress.no) {
|
|
180
|
+
str += `, Số ${objAddress.no}`;
|
|
181
|
+
}
|
|
182
|
+
if (objAddress.street) {
|
|
183
|
+
str += `, Đường ${objAddress.street}`;
|
|
184
|
+
}
|
|
185
|
+
if (!this.control.hideDistrict && objAddress.ward) {
|
|
186
|
+
str += `, ${objAddress.ward}`;
|
|
187
|
+
}
|
|
188
|
+
if (!this.control.hideDistrict && objAddress.district) {
|
|
189
|
+
str += `, ${objAddress.district}`;
|
|
190
|
+
}
|
|
191
|
+
if (objAddress.province) {
|
|
192
|
+
str += `, ${objAddress.province}`;
|
|
193
|
+
}
|
|
194
|
+
if (str !== '') {
|
|
195
|
+
str = str.substring(2).trim();
|
|
196
|
+
}
|
|
197
|
+
this.modelString = str;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
AddressNewComponent.decorators = [
|
|
201
|
+
{ type: Component, args: [{
|
|
202
|
+
selector: 'address-new-picker',
|
|
203
|
+
template: "<ng-container *ngIf=\"!viewMode\">\r\n <div\r\n [ngStyle]=\"control.showInBox?{border: '1px solid #ced4da', 'borderRadius': '5px' }: { margin: '-0.5rem -1rem -1rem -1rem' }\">\r\n <crud-form #crudForm [(data)]=\"_modelData\" [setting]=\"setting\" [context]=\"context\" [autoFocus]=\"false\"\r\n (onFormReady)=\"_handleFormReady($event)\" (onChange)=\"handleValueChange($event)\"\r\n (onControlReady)=\"handleReady($event)\">\r\n </crud-form>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"viewMode\">\r\n {{modelString}}\r\n</ng-container>",
|
|
204
|
+
styles: [".control-padding-fix{padding-left:0}@media (max-width:640px){::ng-deep address-new-picker>div{min-width:100%}}"]
|
|
205
|
+
},] }
|
|
206
|
+
];
|
|
207
|
+
AddressNewComponent.ctorParameters = () => [
|
|
208
|
+
{ type: Injector },
|
|
209
|
+
{ type: AddressService },
|
|
210
|
+
{ type: ModuleConfigService },
|
|
211
|
+
{ type: DeviceDetectorService }
|
|
212
|
+
];
|
|
213
|
+
AddressNewComponent.propDecorators = {
|
|
214
|
+
crudForm: [{ type: ViewChild, args: [CrudFormComponent, { static: false },] }],
|
|
215
|
+
control: [{ type: Input }],
|
|
216
|
+
disabled: [{ type: Input }],
|
|
217
|
+
viewMode: [{ type: Input }],
|
|
218
|
+
data: [{ type: Input }],
|
|
219
|
+
showSubLabel: [{ type: Input }],
|
|
220
|
+
onSelect: [{ type: Output }],
|
|
221
|
+
dataChange: [{ type: Output }],
|
|
222
|
+
onReady: [{ type: Output }]
|
|
223
|
+
};
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1uZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvYWRkcmVzcy1uZXcvYWRkcmVzcy1uZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBYSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoSSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBUTVELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxZQUFZO0lBK0JqRCxZQUNjLFNBQW1CLEVBQ3JCLGVBQStCLEVBQy9CLG9CQUF5QyxFQUN6QyxzQkFBNkM7UUFFckQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBTFAsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IseUJBQW9CLEdBQXBC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WUFTakMsY0FBYztZQUpkLG1CQUFtQjtZQUpuQixxQkFBcUI7Ozt1QkFrQnpCLFNBQVMsU0FBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7c0JBQzlDLEtBQUs7dUJBRUwsS0FBSzt1QkFJTCxLQUFLO21CQUNMLEtBQUs7MkJBT0wsS0FBSzt1QkFVTCxNQUFNO3lCQUNOLE1BQU07c0JBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XHJcbmltcG9ydCB7IERhdGFGb3JtQmFzZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYmFzZS9kYXRhLWZvcm0tYmFzZSc7XHJcbmltcG9ydCB7IG1lcmdlSlNPTiB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW52aXJvbm1lbnQtc2NoZW1hJztcclxuaW1wb3J0IHsgQWRkcmVzc0NvbnRyb2xTY2hlbWEsIERyb3Bkb3duQ29udHJvbFNjaGVtYSwgRXZlbnREYXRhLCBPcGVyYXRvciwgVGV4dENvbnRyb2xTY2hlbWEgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcclxuaW1wb3J0IHsgTW9kdWxlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21vZHVsZS1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IENydWRGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vY3J1ZC9jcnVkLWZvcm0vY3J1ZC1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGlzTGl0ZXJhbE9iamVjdCB9IGZyb20gJy4vLi4vLi4vY2xhc3Nlcy9lbnZpcm9ubWVudC1zY2hlbWEnO1xyXG5pbXBvcnQgeyBFTlVNX0RPTl9WSV9IQU5IX0NISU5IIH0gZnJvbSAnLi9tb2RlbHMvZG9uLXZpLWhhbmgtY2hpbmgnO1xyXG5pbXBvcnQgeyBBZGRyZXNzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYWRkcmVzcy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhZGRyZXNzLW5ldy1waWNrZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZHJlc3MtbmV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2FkZHJlc3MtbmV3LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBBZGRyZXNzTmV3Q29tcG9uZW50IGV4dGVuZHMgRGF0YUZvcm1CYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBAVmlld0NoaWxkKENydWRGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgY3J1ZEZvcm06IENydWRGb3JtQ29tcG9uZW50O1xyXG4gICAgQElucHV0KCkgY29udHJvbDogQWRkcmVzc0NvbnRyb2xTY2hlbWE7XHJcbiAgICBfZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuc2V0RGlzYWJsZWRDb250cm9sKCk7XHJcbiAgICB9XHJcbiAgICBASW5wdXQoKSB2aWV3TW9kZSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgc2V0IGRhdGEodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICh0aGlzLl9tb2RlbERhdGEgIT0gdmFsdWUgJiYgaXNMaXRlcmFsT2JqZWN0KHZhbHVlKSlcclxuICAgICAgICAgICAgdGhpcy5fbW9kZWxEYXRhID0gbWVyZ2VKU09OKHRoaXMuX21vZGVsRGF0YSwgdmFsdWUpO1xyXG4gICAgICAgIGVsc2UgaWYgKHZhbHVlID09IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMuX21vZGVsRGF0YSA9IHt9O1xyXG4gICAgfTtcclxuICAgIF9zaG93U3ViTGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgc2V0IHNob3dTdWJMYWJlbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3Nob3dTdWJMYWJlbCA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuc2V0U2hvd0xhYmVsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgX21vZGVsRGF0YTogYW55O1xyXG4gICAgbW9kZWxTdHJpbmc6IHN0cmluZztcclxuICAgIHJlYWR5VG9SZWxvYWQgPSBmYWxzZTtcclxuICAgIF9yZWFkeVN0YXR1cyA9IHt9O1xyXG5cclxuICAgIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBkYXRhQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25SZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByaXZhdGUgX2FkZHJlc3NTZXJ2aWNlOiBBZGRyZXNzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9tb2R1bGVDb25maWdTZXJ2aWNlOiBNb2R1bGVDb25maWdTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2RldmljZURldGVjdG9yU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihfaW5qZWN0b3IpO1xyXG4gICAgICAgIHRoaXMuZG9Ob3RDaGVja0Jhc2VTZXJ2aWNlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wuX2NvbXBvbmVudCA9IHRoaXM7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICAvLyBO4bq/dSDEkcOjIOG6qW4gcXXhuq1uIGh1eeG7h24gdGjDrCBwaOG6o2kg4bqpbiBsdcO0biBj4bqjIHBoxrDhu51uZyB4w6NcclxuICAgICAgICAvLyBWw6wgbuG6v3Uga2jDtG5nIGxvYWQgZOG7ryBsaeG7h3Ugc+G6vSBraMO0bmcgY2h14bqpblxyXG4gICAgICAgIC8vIGlmICh0aGlzLmNvbnRyb2wuaGlkZURpc3RyaWN0KSB7XHJcbiAgICAgICAgLy8gICAgIHRoaXMuY29udHJvbC5oaWRlV2FyZCA9IHRydWU7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIHRoaXMuc2V0dGluZy5zY2hlbWEgPSBbXHJcbiAgICAgICAgICAgIG5ldyBEcm9wZG93bkNvbnRyb2xTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdpZFByb3ZpbmNlJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnVOG7iW5oL1Row6BuaCBwaOG7kScsXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdGhpcy5jb250cm9sLnJlcXVpcmVkICYmIHRoaXMuY29udHJvbC5yZXF1aXJlZFByb3ZpbmNlLFxyXG4gICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IHRoaXMuX2FkZHJlc3NTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdEZpbHRlcnM6IFt7IGZpZWxkOiAnbGV2ZWwnLCBvcGVyYXRvcjogT3BlcmF0b3IuZXF1YWwsIHZhbHVlOiBFTlVNX0RPTl9WSV9IQU5IX0NISU5ILlRIQU5IX1BITy50b1N0cmluZygpIH0sXHJcbiAgICAgICAgICAgICAgICB7IGZpZWxkOiAndmVyc2lvbicsIG9wZXJhdG9yOiBPcGVyYXRvci5lcXVhbCwgdmFsdWU6IFwiMVwiIH1dLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ2lkJyxcclxuICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogJ25hbWUnLFxyXG4gICAgICAgICAgICAgICAgZmllbGRQbHVzOiAnaWRSb290JyxcclxuICAgICAgICAgICAgICAgIHNvcnRGaWVsZDogJ3NvcnQnLFxyXG4gICAgICAgICAgICAgICAgbWRXaWR0aDogdGhpcy5jb250cm9sLnByb3ZpbmNlV2lkdGgsXHJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5fZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgICBjYWxsYmFja0RhdGFGaW5pc2g6IChldnQ6IEV2ZW50RGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVhZHlUb1JlbG9hZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAvLyBuZXcgRHJvcGRvd25Db250cm9sU2NoZW1hKHtcclxuICAgICAgICAgICAgLy8gICAgIGZpZWxkOiAnaWREaXN0cmljdCcsXHJcbiAgICAgICAgICAgIC8vICAgICBsYWJlbDogJ1F14bqtbi9IdXnhu4duJyxcclxuICAgICAgICAgICAgLy8gICAgIHJlcXVpcmVkOiB0aGlzLmNvbnRyb2wucmVxdWlyZWQgJiYgdGhpcy5jb250cm9sLnJlcXVpcmVkRGlzdHJpY3QsXHJcbiAgICAgICAgICAgIC8vICAgICBiYXNlU2VydmljZTogdGhpcy5fYWRkcmVzc1NlcnZpY2UsXHJcbiAgICAgICAgICAgIC8vICAgICBkZWZhdWx0RmlsdGVyczogW3sgZmllbGQ6ICdsZXZlbCcsIG9wZXJhdG9yOiBPcGVyYXRvci5lcXVhbCwgdmFsdWU6IEVOVU1fRE9OX1ZJX0hBTkhfQ0hJTkguUVVBTl9IVVlFTi50b1N0cmluZygpIH1dLFxyXG4gICAgICAgICAgICAvLyAgICAgYmluZGluZ0ZpbHRlcnM6IFt7IGZpZWxkOiAncGFyZW50SWQnLCBvcGVyYXRvcjogT3BlcmF0b3IuZXF1YWwsIHNvdXJjZUZpZWxkOiAnaWRQcm92aW5jZScsIHN1YkZpZWxkOiAnaWRSb290JyB9XSxcclxuICAgICAgICAgICAgLy8gICAgIHZhbHVlRmllbGQ6ICdpZCcsXHJcbiAgICAgICAgICAgIC8vICAgICBkaXNwbGF5RmllbGQ6ICduYW1lJyxcclxuICAgICAgICAgICAgLy8gICAgIGZpZWxkUGx1czogJ2lkUm9vdCcsXHJcbiAgICAgICAgICAgIC8vICAgICBzb3J0RmllbGQ6ICdzb3J0JyxcclxuICAgICAgICAgICAgLy8gICAgIG1kV2lkdGg6IHRoaXMuY29udHJvbC5kaXN0cmljdFdpZHRoLFxyXG4gICAgICAgICAgICAvLyAgICAgZGlzYWJsZWQ6IHRoaXMuX2Rpc2FibGVkLFxyXG4gICAgICAgICAgICAvLyAgICAgaGlkZGVuOiB0aGlzLmNvbnRyb2wuaGlkZURpc3RyaWN0XHJcbiAgICAgICAgICAgIC8vIH0pLFxyXG4gICAgICAgICAgICBuZXcgRHJvcGRvd25Db250cm9sU2NoZW1hKHtcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAnaWRXYXJkJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnUGjGsOG7nW5nL1jDoycsXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdGhpcy5jb250cm9sLnJlcXVpcmVkICYmIHRoaXMuY29udHJvbC5yZXF1aXJlZFdhcmQsXHJcbiAgICAgICAgICAgICAgICBiYXNlU2VydmljZTogdGhpcy5fYWRkcmVzc1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0RmlsdGVyczogW3sgZmllbGQ6ICdsZXZlbCcsIG9wZXJhdG9yOiBPcGVyYXRvci5lcXVhbCwgdmFsdWU6IEVOVU1fRE9OX1ZJX0hBTkhfQ0hJTkguUEhVT05HX1hBLnRvU3RyaW5nKCkgfSxcclxuICAgICAgICAgICAgICAgIHsgZmllbGQ6ICd2ZXJzaW9uJywgb3BlcmF0b3I6IE9wZXJhdG9yLmVxdWFsLCB2YWx1ZTogXCIxXCIgfVxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIGJpbmRpbmdGaWx0ZXJzOiBbeyBmaWVsZDogJ3BhcmVudElkJywgb3BlcmF0b3I6IE9wZXJhdG9yLmVxdWFsLCBzb3VyY2VGaWVsZDogJ2lkUHJvdmluY2UnLCBzdWJGaWVsZDogJ2lkUm9vdCcgfV0sXHJcbiAgICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnaWQnLFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheUZpZWxkOiAnbmFtZScsXHJcbiAgICAgICAgICAgICAgICBmaWVsZFBsdXM6ICdpZFJvb3QnLFxyXG4gICAgICAgICAgICAgICAgc29ydEZpZWxkOiAnc29ydCcsXHJcbiAgICAgICAgICAgICAgICBtZFdpZHRoOiB0aGlzLmNvbnRyb2wud2FyZFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuX2Rpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgaGlkZGVuOiB0aGlzLmNvbnRyb2wuaGlkZVdhcmRcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBUZXh0Q29udHJvbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3N0cmVldCcsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ8SQxrDhu51uZycsXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdGhpcy5jb250cm9sLnJlcXVpcmVkICYmIHRoaXMuY29udHJvbC5yZXF1aXJlZFN0cmVldCxcclxuICAgICAgICAgICAgICAgIG1kV2lkdGg6IHRoaXMuY29udHJvbC5zdHJlZXRXaWR0aCxcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLl9kaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgIGhpZGRlbjogdGhpcy5jb250cm9sLmhpZGVTdHJlZXRcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBUZXh0Q29udHJvbFNjaGVtYSh7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ25vJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnU+G7kSBuaMOgJyxcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0aGlzLmNvbnRyb2wucmVxdWlyZWQgJiYgdGhpcy5jb250cm9sLnJlcXVpcmVkTm8sXHJcbiAgICAgICAgICAgICAgICBtZFdpZHRoOiB0aGlzLmNvbnRyb2wubm9XaWR0aCxcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLl9kaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgIGhpZGRlbjogdGhpcy5jb250cm9sLmhpZGVOb1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIF1cclxuICAgICAgICBpZiAodGhpcy52aWV3TW9kZSkge1xyXG4gICAgICAgICAgICB0aGlzLmdldE1vZGVsVGV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZENvbnRyb2woKSB7XHJcbiAgICAgICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLl9kaXNhYmxlZCA/IHRydWUgOiBudWxsO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5zY2hlbWEuZm9yRWFjaChjdHJsID0+IGN0cmwuZGlzYWJsZWQgPSBkaXNhYmxlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlVmFsdWVDaGFuZ2UoZXZ0KSB7XHJcbiAgICAgICAgdGhpcy5kYXRhQ2hhbmdlLmVtaXQodGhpcy5fbW9kZWxEYXRhKTtcclxuICAgICAgICB0aGlzLm9uU2VsZWN0LmVtaXQodGhpcy5fbW9kZWxEYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVSZWFkeShmaWVsZCkge1xyXG4gICAgICAgIHRoaXMuX3JlYWR5U3RhdHVzW2ZpZWxkXSA9IHRydWU7XHJcbiAgICAgICAgaWYgKHRoaXMuX3JlYWR5U3RhdHVzWydpZFByb3ZpbmNlJ11cclxuICAgICAgICAgICAgJiYgKHRoaXMuY29udHJvbC5oaWRlRGlzdHJpY3QgfHwgdGhpcy5fcmVhZHlTdGF0dXNbJ2lkRGlzdHJpY3QnXSlcclxuICAgICAgICAgICAgJiYgKHRoaXMuY29udHJvbC5oaWRlV2FyZCB8fCB0aGlzLl9yZWFkeVN0YXR1c1snaWRXYXJkJ10pXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25SZWFkeS5lbWl0KHRoaXMuY29udHJvbC5maWVsZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldFNob3dMYWJlbCgpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TW9kZWxUZXh0KCkge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IFtdO1xyXG4gICAgICAgIGlmICh0aGlzLl9tb2RlbERhdGEuaWRQcm92aW5jZSlcclxuICAgICAgICAgICAgdmFsdWVzLnB1c2godGhpcy5fbW9kZWxEYXRhLmlkUHJvdmluY2UpO1xyXG4gICAgICAgIGlmICghdGhpcy5jb250cm9sLmhpZGVEaXN0cmljdCAmJiB0aGlzLl9tb2RlbERhdGEuaWREaXN0cmljdClcclxuICAgICAgICAgICAgdmFsdWVzLnB1c2godGhpcy5fbW9kZWxEYXRhLmlkRGlzdHJpY3QpO1xyXG4gICAgICAgIGlmICghdGhpcy5jb250cm9sLmhpZGVXYXJkICYmIHRoaXMuX21vZGVsRGF0YS5pZFdhcmQpXHJcbiAgICAgICAgICAgIHZhbHVlcy5wdXNoKHRoaXMuX21vZGVsRGF0YS5pZFdhcmQpO1xyXG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB7XHJcbiAgICAgICAgICAgICAgICBwcm92aW5jZTogJycsXHJcbiAgICAgICAgICAgICAgICBkaXN0cmljdDogJycsXHJcbiAgICAgICAgICAgICAgICB3YXJkOiAnJyxcclxuICAgICAgICAgICAgICAgIHN0cmVldDogdGhpcy5fbW9kZWxEYXRhLnN0cmVldCxcclxuICAgICAgICAgICAgICAgIG5vOiB0aGlzLl9tb2RlbERhdGEubm9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLl9hZGRyZXNzU2VydmljZS5nZXRBbGwoW1xyXG4gICAgICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXIoJ2lkJywgT3BlcmF0b3IuaW4sIHZhbHVlcylcclxuICAgICAgICAgICAgXSwgJ2lkLG5hbWUnKS50aGVuKHJlcyA9PiB0aGlzLmhhbmRsZVJlc3BvbnNlKHJlcywgJycsIGRhdGEgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX21vZGVsRGF0YS5pZFByb3ZpbmNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvdmluY2UgPSBkYXRhLmRhdGEuZmluZChwID0+IHAuaWQgPT0gdGhpcy5fbW9kZWxEYXRhLmlkUHJvdmluY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm92aW5jZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb3ZpbmNlID0gcHJvdmluY2UubmFtZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250cm9sLmhpZGVEaXN0cmljdCAmJiB0aGlzLl9tb2RlbERhdGEuaWREaXN0cmljdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RyaWN0ID0gZGF0YS5kYXRhLmZpbmQocCA9PiBwLmlkID09IHRoaXMuX21vZGVsRGF0YS5pZERpc3RyaWN0KTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGlzdHJpY3QpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5kaXN0cmljdCA9IGRpc3RyaWN0Lm5hbWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY29udHJvbC5oaWRlV2FyZCAmJiB0aGlzLl9tb2RlbERhdGEuaWRXYXJkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2FyZCA9IGRhdGEuZGF0YS5maW5kKHAgPT4gcC5pZCA9PSB0aGlzLl9tb2RlbERhdGEuaWRXYXJkKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAod2FyZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LndhcmQgPSB3YXJkLm5hbWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldE1vZGVsVGV4dChyZXN1bHQpO1xyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldE1vZGVsVGV4dChvYmpBZGRyZXNzKSB7XHJcbiAgICAgICAgbGV0IHN0ciA9IGBgO1xyXG5cclxuICAgICAgICBpZiAob2JqQWRkcmVzcy5ubykge1xyXG4gICAgICAgICAgICBzdHIgKz0gYCwgU+G7kSAke29iakFkZHJlc3Mubm99YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvYmpBZGRyZXNzLnN0cmVldCkge1xyXG4gICAgICAgICAgICBzdHIgKz0gYCwgxJDGsOG7nW5nICR7b2JqQWRkcmVzcy5zdHJlZXR9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jb250cm9sLmhpZGVEaXN0cmljdCAmJiBvYmpBZGRyZXNzLndhcmQpIHtcclxuICAgICAgICAgICAgc3RyICs9IGAsICR7b2JqQWRkcmVzcy53YXJkfWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY29udHJvbC5oaWRlRGlzdHJpY3QgJiYgb2JqQWRkcmVzcy5kaXN0cmljdCkge1xyXG4gICAgICAgICAgICBzdHIgKz0gYCwgJHtvYmpBZGRyZXNzLmRpc3RyaWN0fWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAob2JqQWRkcmVzcy5wcm92aW5jZSkge1xyXG4gICAgICAgICAgICBzdHIgKz0gYCwgJHtvYmpBZGRyZXNzLnByb3ZpbmNlfWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoc3RyICE9PSAnJykge1xyXG4gICAgICAgICAgICBzdHIgPSBzdHIuc3Vic3RyaW5nKDIpLnRyaW0oKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubW9kZWxTdHJpbmcgPSBzdHI7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var ENUM_DON_VI_HANH_CHINH;
|
|
2
|
+
(function (ENUM_DON_VI_HANH_CHINH) {
|
|
3
|
+
ENUM_DON_VI_HANH_CHINH[ENUM_DON_VI_HANH_CHINH["THANH_PHO"] = 1] = "THANH_PHO";
|
|
4
|
+
// QUAN_HUYEN = 2,
|
|
5
|
+
ENUM_DON_VI_HANH_CHINH[ENUM_DON_VI_HANH_CHINH["PHUONG_XA"] = 2] = "PHUONG_XA";
|
|
6
|
+
ENUM_DON_VI_HANH_CHINH[ENUM_DON_VI_HANH_CHINH["DUONG"] = 3] = "DUONG";
|
|
7
|
+
})(ENUM_DON_VI_HANH_CHINH || (ENUM_DON_VI_HANH_CHINH = {}));
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9uLXZpLWhhbmgtY2hpbmguanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9hZGRyZXNzLW5ldy9tb2RlbHMvZG9uLXZpLWhhbmgtY2hpbmgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksc0JBS1g7QUFMRCxXQUFZLHNCQUFzQjtJQUM5Qiw2RUFBYSxDQUFBO0lBQ2Isa0JBQWtCO0lBQ2xCLDZFQUFhLENBQUE7SUFDYixxRUFBUyxDQUFBO0FBQ2IsQ0FBQyxFQUxXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFLakMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFTlVNX0RPTl9WSV9IQU5IX0NISU5IIHtcclxuICAgIFRIQU5IX1BITyA9IDEsXHJcbiAgICAvLyBRVUFOX0hVWUVOID0gMixcclxuICAgIFBIVU9OR19YQSA9IDIsXHJcbiAgICBEVU9ORyA9IDNcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Injectable, Injector } from '@angular/core';
|
|
3
|
+
import { BaseService } from '../../../services/base.service';
|
|
4
|
+
import { ModuleConfigService } from '../../../services/module-config.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
import * as i2 from "../../../services/module-config.service";
|
|
8
|
+
export class AddressService extends BaseService {
|
|
9
|
+
constructor(http, injector, _moduleConfigService) {
|
|
10
|
+
super(http, injector, `${_moduleConfigService.getConfig().environment.apiDomain.commonMasterDataEndpoint}/${_moduleConfigService.getConfig().environment.apiVersion}/Address`);
|
|
11
|
+
this.endPoint = _moduleConfigService.getConfig().environment.apiDomain.commonMasterDataEndpoint;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
AddressService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AddressService_Factory() { return new AddressService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2.ModuleConfigService)); }, token: AddressService, providedIn: "root" });
|
|
15
|
+
AddressService.decorators = [
|
|
16
|
+
{ type: Injectable, args: [{
|
|
17
|
+
providedIn: 'root'
|
|
18
|
+
},] }
|
|
19
|
+
];
|
|
20
|
+
AddressService.ctorParameters = () => [
|
|
21
|
+
{ type: HttpClient },
|
|
22
|
+
{ type: Injector },
|
|
23
|
+
{ type: ModuleConfigService }
|
|
24
|
+
];
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvYWRkcmVzcy1uZXcvc2VydmljZXMvYWRkcmVzcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFLOUUsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFXO0lBQzNDLFlBQ0ksSUFBZ0IsRUFDaEIsUUFBa0IsRUFDbEIsb0JBQXlDO1FBRXpDLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsSUFBSSxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxVQUFVLENBQUMsQ0FBQztRQUNyTCxJQUFJLENBQUMsUUFBUSxHQUFHLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUM7SUFDOUYsQ0FBQzs7OztZQVhKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBUFEsVUFBVTtZQUNFLFFBQVE7WUFFcEIsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9iYXNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2R1bGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbW9kdWxlLWNvbmZpZy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkcmVzc1NlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBfbW9kdWxlQ29uZmlnU2VydmljZTogTW9kdWxlQ29uZmlnU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoaHR0cCwgaW5qZWN0b3IsIGAke19tb2R1bGVDb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmVudmlyb25tZW50LmFwaURvbWFpbi5jb21tb25NYXN0ZXJEYXRhRW5kcG9pbnR9LyR7X21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBpVmVyc2lvbn0vQWRkcmVzc2ApO1xyXG5cdFx0dGhpcy5lbmRQb2ludCA9IF9tb2R1bGVDb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmVudmlyb25tZW50LmFwaURvbWFpbi5jb21tb25NYXN0ZXJEYXRhRW5kcG9pbnQ7XHJcbiAgICB9XHJcbn1cclxuIl19
|