@colijnit/product 256.1.3 → 256.1.5
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/app/components/product-external-source/product-external-source.component.d.ts +18 -0
- package/app/components/product-hd/product-hd.component.d.ts +25 -0
- package/app/components/product-hd/product-hd.module.d.ts +2 -0
- package/app/ione-product.component.d.ts +1 -0
- package/app/service/product-script-loader.service.d.ts +9 -0
- package/bundles/colijnit-product.umd.js +341 -34
- package/bundles/colijnit-product.umd.js.map +1 -1
- package/colijnit-product.d.ts +3 -0
- package/colijnit-product.metadata.json +1 -1
- package/esm2015/app/components/product-external-source/product-external-source.component.js +87 -20
- package/esm2015/app/components/product-external-source/product-external-source.module.js +4 -2
- package/esm2015/app/components/product-hd/product-hd.component.js +124 -0
- package/esm2015/app/components/product-hd/product-hd.module.js +23 -0
- package/esm2015/app/ione-product.component.js +4 -2
- package/esm2015/app/ione-product.module.js +14 -6
- package/esm2015/app/product-version.js +3 -3
- package/esm2015/app/service/product-script-loader.service.js +68 -0
- package/esm2015/colijnit-product.js +4 -1
- package/fesm2015/colijnit-product.js +326 -44
- package/fesm2015/colijnit-product.js.map +1 -1
- package/package.json +3 -3
- package/colijnit-product-256.1.2.tgz +0 -0
|
@@ -13,9 +13,15 @@ export class ProductExternalSourceComponent {
|
|
|
13
13
|
this.addToCart = new EventEmitter();
|
|
14
14
|
this.addToQuote = new EventEmitter();
|
|
15
15
|
this.alternativeClick = new EventEmitter();
|
|
16
|
+
this.configuratorFinished = new EventEmitter();
|
|
16
17
|
this.showProduct = false;
|
|
18
|
+
this.showConfigurator = false;
|
|
19
|
+
this.showSource = false;
|
|
17
20
|
this.loaded = false;
|
|
18
21
|
this.externalSettings = {};
|
|
22
|
+
this.token = ""; //= "eyJhbGciOiJSUzI1NiIsImtpZCI6IkYxOThERkVEOEUwQTQ1MzY3M0M1MUE2Rjk1QUVDQzU3RTM0NjM4RkRSUzI1NiIsInR5cCI6ImF0K2p3dCIsIng1dCI6IjhaamY3WTRLUlRaenhScHZsYTdNVi1OR09QMCJ9.eyJuYmYiOjE3MzIxOTkyOTUsImV4cCI6MTczMjIwMjg5NSwiaXNzIjoiaHR0cHM6Ly9ibXNpZGVudGl0eS1hY2NlcHRhbmNlLmF6dXJld2Vic2l0ZXMubmV0IiwiYXVkIjpbImNhdGFsb2dxdWVyeWFwaSIsImNvbmZpZ3VyYXRvcmFwaSIsInByb2R1Y3R2YXJpYW50Y29tbWFuZGFwaSIsInByb2R1Y3R2YXJpYW50cXVlcnlhcGkiXSwiY2xpZW50X2lkIjoiaW1wZXJzb25hdGlvbi5jbGllbnQiLCJzdWIiOiIwOTMwZDI4Mi05NGU4LTQ5MGEtOGI2NC1mYTk1YmIyYzE1ODIiLCJhdXRoX3RpbWUiOjE3MzIxOTkyOTUsImlkcCI6ImxvY2FsIiwiZW52aXJvbm1lbnQiOiJNU0wiLCJzZWxsZXIiOiJTRTAwMDA5NiIsInNlbGxlcmd1aWQiOiIxMDk1MWJjNS1hZmMzLTQ1MGEtNmVkMS0wOGQ4NDNlNmE5OTQiLCJwZXJtaXNzaW9uIjpbInNhbGVzLmV4cG9ydHRlbXBsYXRlcy5yZWFkIiwiZG9jdW1lbnRsaWJyYXJ5LnRhZy5yZWFkIiwiZG9jdW1lbnRsaWJyYXJ5LmRvY3VtZW50LnJlYWQiLCJkb2N1bWVudGxpYnJhcnkudGFnZ3JvdXAucmVhZCIsInNhbGVzLm9yZGVyLndyaXRlIiwic2FsZXMuY3VzdG9tZXIucmVhZCIsInNhbGVzLm9yZGVyLmRlbGl2ZXJ5YWRkcmVzcy53cml0ZSIsInNlcnZpY2UucmVxdWVzdC5yZWFkIiwiY2F0YWxvZy50YWcucmVhZCIsInNhbGVzLm9yZGVyLnJlYWQiLCJzYWxlcy5jdXN0b21lci53cml0ZSIsInJlcXVlc3Rmb3JxdW90ZS53cml0ZSIsInNhbGVzLm9yZGVyLmJvb2siLCJyZXF1ZXN0Zm9ycXVvdGUucmVhZCIsInNhbGVzLmxlYWQucmVhZCIsInB1cmNoYXNlLm9yZGVyLnJlYWQiLCJzYWxlcy5xdW90ZS5yZWFkIiwic2FsZXMucXVvdGUud3JpdGUiLCJjYXRhbG9nLml0ZW0ucmVhZCIsInNhbGVzLmxlYWQud3JpdGUiLCJzZXJ2aWNlLnJlcXVlc3Quc3VibWl0Iiwic2FsZXMub3JkZXIuZGVsaXZlcnlhZGRyZXNzLnJlYWQiLCJwdXJjaGFzZS5vcmRlci53cml0ZSIsInB1cmNoYXNlLm9yZGVyLnByaWNlcy53cml0ZSIsInB1cmNoYXNlLm9yZGVyLnByaWNlcy5yZWFkIiwic2VydmljZS5yZXF1ZXN0LndyaXRlIiwiY2F0YWxvZy5jYXRhbG9nLnJlYWQiLCJjYXRhbG9nLmNhdGFsb2cud3JpdGUiLCJjYXRhbG9nLmN1cnJlbmN5LnJlYWQiLCJjYXRhbG9nLmN1cnJlbmN5LndyaXRlIiwiY2F0YWxvZy5pdGVtLndyaXRlIiwiY2F0YWxvZy5sb2NhbGl6YXRpb24ucmVhZCIsImNhdGFsb2cubG9jYWxpemF0aW9uLndyaXRlIiwiY2F0YWxvZy5wcm9kdWN0LnJlYWQiLCJjYXRhbG9nLnByb2R1Y3Qud3JpdGUiLCJjYXRhbG9nLnByb2R1Y3RzZXR0aW5nLnJlYWQiLCJjYXRhbG9nLnByb2R1Y3RzZXR0aW5nLndyaXRlIiwiY2F0YWxvZy5zZWxsZXIucmVhZCIsImNhdGFsb2cuc2VsbGVyLndyaXRlIiwiY2F0YWxvZy50YWcud3JpdGUiLCJjYXRhbG9nLnVvbS5yZWFkIiwiY2F0YWxvZy51b20ud3JpdGUiLCJjYXRhbG9nLnZhdGNhdGVnb3J5LnJlYWQiLCJjYXRhbG9nLnZhdGNhdGVnb3J5LndyaXRlIiwiY2F0YWxvZy52ZW5kb3IucmVhZCIsImNhdGFsb2cudmVuZG9yLndyaXRlIiwicHVyY2hhc2Uuc2VsbGVyLnJlYWQiLCJwdXJjaGFzZS5zZWxsZXIud3JpdGUiLCJjYXRhbG9nLmFydGljbGUucmVhZCIsImNhdGFsb2cuYXJ0aWNsZS53cml0ZSIsInNhbGVzLnF1b3RlLmxpbmVzLnJlYWQiLCJzYWxlcy5xdW90ZS5saW5lcy53cml0ZSIsInNhbGVzLnNlbGxlci5yZWFkIiwic2FsZXMuc2VsbGVyLndyaXRlIiwiYWNjb3VudGluZy52ZW5kb3JpbnZvaWNlLnJlYWQiLCJpZGVudGl0eS51c2VyLnJlYWQiLCJpZGVudGl0eS51c2VyLndyaXRlIiwiaWRlbnRpdHkucm9sZS5yZWFkIiwic2VsbGVyLnByb2R1Y3RwcmljZS5zZXR0aW5ncy5yZWFkIiwic2VsbGVyLnByb2R1Y3RwcmljZS5zZXR0aW5ncy53cml0ZSIsImNvbmZpZ3VyYXRvci5wdXJjaGFzZXByaWNlLnJlYWQiLCJzdG9jay5mYWJyaWMucmVhZCJdLCJuYW1lIjoiUm9iaW4iLCJmYW1pbHlfbmFtZSI6ImRlIFdpbnRlciAoQ29saWpuLUlUKSIsInJvbGUiOlsic2VsbGVyIiwiZGVhbGVyX21hbmFnZXIiXSwiaWF0IjoxNzMyMTk5Mjk1LCJzY29wZSI6WyJjYXRhbG9ncXVlcnlhcGkiLCJjb25maWd1cmF0b3JhcGkiLCJwcm9kdWN0dmFyaWFudGNvbW1hbmRhcGkiLCJwcm9kdWN0dmFyaWFudHF1ZXJ5YXBpIl0sImFtciI6WyJpbXBlcnNvbmF0aW9uIl19.rbguVPnkXXDzsM6QKgXulhrF41jIjCuGDV13ig1GC8MewLCJ7wA038OSwT26sx2mCexjvuGYt45YScfPwfTkDy3ErPmHRods64X1dJWZnf-23NTP2iI32K_1vMZH5GOGbMzuFtbKAFQv4hgFAxoyWqFVWyJvuOtQcWyZStROyPHwjAnpnj-x1cVQpOhbO-kQUFvy_VUrPpF3aYVCcO2cFirQTXR6kxSGcYGGcsPY-_eiAd93UdG2EM6xLAocDLaFV72CQI6XEs0WQG1f4SqvH52v3OTkgWBLgYV35gpyIe0-2nazGL0R8pTNuDqrOb7OGmuTRMoTIiRi67-wTxx8cQ";
|
|
23
|
+
this.variant = "";
|
|
24
|
+
this.urlParams = [];
|
|
19
25
|
this._subs = [];
|
|
20
26
|
}
|
|
21
27
|
set externalSource(value) {
|
|
@@ -26,6 +32,17 @@ export class ProductExternalSourceComponent {
|
|
|
26
32
|
get externalSource() {
|
|
27
33
|
return this._externalSource;
|
|
28
34
|
}
|
|
35
|
+
set externalCatalogStartupInfo(value) {
|
|
36
|
+
if (value) {
|
|
37
|
+
this._externalCatalogStartupInfo = value;
|
|
38
|
+
this.externalSource = value.externalSource;
|
|
39
|
+
this.loaded = false;
|
|
40
|
+
this._prepareExternalSource();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
get externalCatalogStartupInfo() {
|
|
44
|
+
return this._externalCatalogStartupInfo;
|
|
45
|
+
}
|
|
29
46
|
showClass() {
|
|
30
47
|
return true;
|
|
31
48
|
}
|
|
@@ -49,6 +66,9 @@ export class ProductExternalSourceComponent {
|
|
|
49
66
|
ngOnDestroy() {
|
|
50
67
|
this._subs.forEach(s => s.unsubscribe());
|
|
51
68
|
}
|
|
69
|
+
handleConfigurationFinished(variantString) {
|
|
70
|
+
this.configuratorFinished.emit(variantString);
|
|
71
|
+
}
|
|
52
72
|
_prepareExternalSource() {
|
|
53
73
|
return __awaiter(this, void 0, void 0, function* () {
|
|
54
74
|
if (!this._externalSource) {
|
|
@@ -57,30 +77,67 @@ export class ProductExternalSourceComponent {
|
|
|
57
77
|
this.externalUrl = undefined;
|
|
58
78
|
this.externalSettings = {};
|
|
59
79
|
if (this.externalSource.type === 'CATF') {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
this.externalSettings.options = this.options;
|
|
65
|
-
}
|
|
66
|
-
// this.externalSettings.assetPath = "https://cdn1.colijn-it.nl/content43";
|
|
67
|
-
// this.externalSettings.threeDAssetPath = "https://cdn1.colijn-it.nl/content43";
|
|
68
|
-
if (this.externalSource.username && this.externalSource.password) {
|
|
69
|
-
this.externalSettings.useLoginEncryption = true;
|
|
70
|
-
this.externalSettings.username = this.externalSource.username;
|
|
71
|
-
this.externalSettings.password = this.externalSource.password;
|
|
72
|
-
}
|
|
73
|
-
// finally show the catalog
|
|
74
|
-
this.showProduct = true;
|
|
80
|
+
yield this._prepareCatFarm();
|
|
81
|
+
}
|
|
82
|
+
else if (this.externalSource.type === 'HTDL') {
|
|
83
|
+
this._prepareConfigurator();
|
|
75
84
|
}
|
|
76
85
|
else {
|
|
77
|
-
this.
|
|
78
|
-
|
|
79
|
-
|
|
86
|
+
this._prepareSource();
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
_prepareCatFarm() {
|
|
91
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
// get bundle settings from external source
|
|
93
|
+
const bundleSettings = yield this._productConnectorService.getProductBundleSettings(this.externalSource.url, parseInt(this.externalSource.schema, 0));
|
|
94
|
+
this.externalSettings = JSON.parse(bundleSettings);
|
|
95
|
+
if (this.options) {
|
|
96
|
+
this.externalSettings.options = this.options;
|
|
97
|
+
}
|
|
98
|
+
// this.externalSettings.assetPath = "https://cdn1.colijn-it.nl/content43";
|
|
99
|
+
// this.externalSettings.threeDAssetPath = "https://cdn1.colijn-it.nl/content43";
|
|
100
|
+
if (this.externalSource.username && this.externalSource.password) {
|
|
101
|
+
this.externalSettings.useLoginEncryption = true;
|
|
102
|
+
this.externalSettings.username = this.externalSource.username;
|
|
103
|
+
this.externalSettings.password = this.externalSource.password;
|
|
80
104
|
}
|
|
105
|
+
// finally show the catalog
|
|
106
|
+
this.switchToProduct();
|
|
81
107
|
this.loaded = true;
|
|
82
108
|
});
|
|
83
109
|
}
|
|
110
|
+
_prepareConfigurator() {
|
|
111
|
+
if (this.externalCatalogStartupInfo) {
|
|
112
|
+
this.token = this.externalCatalogStartupInfo.token;
|
|
113
|
+
this.sku = this.externalCatalogStartupInfo.externalGoodId;
|
|
114
|
+
this.variant = this.externalCatalogStartupInfo.flattenedGoodId;
|
|
115
|
+
this.urlParams = this.externalCatalogStartupInfo.externalSource.parameters;
|
|
116
|
+
this.switchToConfigurator();
|
|
117
|
+
this.loaded = true;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
_prepareSource() {
|
|
121
|
+
this.externalUrl = this.externalSource.url;
|
|
122
|
+
this.safeUrl = this._sanitizer.bypassSecurityTrustResourceUrl(this.externalUrl);
|
|
123
|
+
this.switchToSource();
|
|
124
|
+
this.loaded = true;
|
|
125
|
+
}
|
|
126
|
+
switchToProduct() {
|
|
127
|
+
this.showProduct = true;
|
|
128
|
+
this.showConfigurator = false;
|
|
129
|
+
this.showSource = false;
|
|
130
|
+
}
|
|
131
|
+
switchToConfigurator() {
|
|
132
|
+
this.showProduct = false;
|
|
133
|
+
this.showConfigurator = true;
|
|
134
|
+
this.showSource = false;
|
|
135
|
+
}
|
|
136
|
+
switchToSource() {
|
|
137
|
+
this.showProduct = false;
|
|
138
|
+
this.showConfigurator = false;
|
|
139
|
+
this.showSource = true;
|
|
140
|
+
}
|
|
84
141
|
}
|
|
85
142
|
ProductExternalSourceComponent.decorators = [
|
|
86
143
|
{ type: Component, args: [{
|
|
@@ -94,9 +151,17 @@ ProductExternalSourceComponent.decorators = [
|
|
|
94
151
|
[externalSource]="externalSource"
|
|
95
152
|
></app-product-page>
|
|
96
153
|
</ng-container>
|
|
97
|
-
<ng-container *ngIf="
|
|
154
|
+
<ng-container *ngIf="showSource">
|
|
98
155
|
<iframe width="100%" height="100%" [src]="safeUrl" frameborder="0" allowfullscreen></iframe>
|
|
99
156
|
</ng-container>
|
|
157
|
+
<ng-container *ngIf="showConfigurator">
|
|
158
|
+
<co-product-hd width="100%" height="100%"
|
|
159
|
+
[sku]="sku"
|
|
160
|
+
[variant]="variant"
|
|
161
|
+
[token]="token"
|
|
162
|
+
[urlParams]="urlParams"
|
|
163
|
+
(configuratorFinished)="handleConfigurationFinished($event)"></co-product-hd>
|
|
164
|
+
</ng-container>
|
|
100
165
|
</ng-container>
|
|
101
166
|
`,
|
|
102
167
|
providers: [
|
|
@@ -116,10 +181,12 @@ ProductExternalSourceComponent.propDecorators = {
|
|
|
116
181
|
sku: [{ type: Input }],
|
|
117
182
|
catalogDefinition: [{ type: Input }],
|
|
118
183
|
externalSource: [{ type: Input }],
|
|
184
|
+
externalCatalogStartupInfo: [{ type: Input }],
|
|
119
185
|
options: [{ type: Input }],
|
|
120
186
|
addToCart: [{ type: Output }],
|
|
121
187
|
addToQuote: [{ type: Output }],
|
|
122
188
|
alternativeClick: [{ type: Output }],
|
|
189
|
+
configuratorFinished: [{ type: Output }],
|
|
123
190
|
showClass: [{ type: HostBinding, args: ['class.co-product-external-source',] }]
|
|
124
191
|
};
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1leHRlcm5hbC1zb3VyY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxZQUFZLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7QUFFeEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFFaEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFeEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0saURBQWlELENBQUM7QUE0Qi9GLE1BQU0sT0FBTyw4QkFBOEI7SUE2Q3ZDLFlBQ1ksVUFBd0IsRUFDeEIsd0JBQWlELEVBQ2pELGdCQUFxQztRQUZyQyxlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFDakQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQXpCMUMsY0FBUyxHQUFvRCxJQUFJLFlBQVksRUFBcUMsQ0FBQztRQUduSCxlQUFVLEdBQW9ELElBQUksWUFBWSxFQUFxQyxDQUFDO1FBR3BILHFCQUFnQixHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQU8xRixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU3QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLHFCQUFnQixHQUFRLEVBQUUsQ0FBQztRQUcxQixVQUFLLEdBQW1CLEVB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QyxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7aUJBQ2pFO2dCQUNELDJCQUEyQjtnQkFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDM0I7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDaEYsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7YUFDNUI7WUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDO0tBQUE7OztZQWpJSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0tBYVQ7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLHNCQUFzQjtvQkFDdEIsOEJBQThCO29CQUM5Qix1QkFBdUI7aUJBQzFCO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3hDOzs7WUFsQ08sWUFBWTtZQUVaLHVCQUF1QjtZQUV2QixtQkFBbUI7OztrQkFpQ3RCLEtBQUs7Z0NBR0wsS0FBSzs2QkFHTCxLQUFLO3NCQVdMLEtBQUs7d0JBR0wsTUFBTTt5QkFHTixNQUFNOytCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtFeHRlcm5hbFNvdXJjZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtc291cmNlLmJvJztcclxuaW1wb3J0IHtQcm9kdWN0Q29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtBcnRpY2xlTGlzdE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1saXN0LW9iamVjdCc7XHJcbmltcG9ydCB7UHJvZHVjdEV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci1hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NhdGFsb2dEZWZpbml0aW9ufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9jYXRhbG9nLWRlZmluaXRpb24uYm8nO1xyXG5pbXBvcnQge0V4dGVybmFsU291cmNlQXJ0aWNsZUFkZEludGVyZmFjZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvaW50ZXJmYWNlL2V4dGVybmFsLXNvdXJjZS1hcnRpY2xlLWFkZC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QtZXh0ZW5kZWQuYm8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvLXByb2R1Y3QtZXh0ZXJuYWwtc291cmNlJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRlZFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1Byb2R1Y3RcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtcHJvZHVjdC1wYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtza3VdPVwic2t1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3NldHRpbmdzXT1cImV4dGVybmFsU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZXJuYWxTb3VyY2VdPVwiZXh0ZXJuYWxTb3VyY2VcIlxyXG4gICAgICAgICAgICAgICAgPjwvYXBwLXByb2R1Y3QtcGFnZT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd1Byb2R1Y3RcIj5cclxuICAgICAgICAgICAgICAgIDxpZnJhbWUgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIFtzcmNdPVwic2FmZVVybFwiIGZyYW1lYm9yZGVyPVwiMFwiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICBgLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgUHJvZHVjdFNldHRpbmdzU2VydmljZSxcclxuICAgICAgICBQcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2UsXHJcbiAgICAgICAgUHJvZHVjdENvbm5lY3RvclNlcnZpY2VcclxuICAgIF0sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0RXh0ZXJuYWxTb3VyY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBza3U6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNhdGFsb2dEZWZpbml0aW9uOiBDYXRhbG9nRGVmaW5pdGlvbjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBleHRlcm5hbFNvdXJjZSh2YWx1ZTogRXh0ZXJuYWxTb3VyY2UpIHtcclxuICAgICAgICB0aGlzLl9leHRlcm5hbFNvdXJjZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMubG9hZGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZUV4dGVybmFsU291cmNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBleHRlcm5hbFNvdXJjZSgpOiBFeHRlcm5hbFNvdXJjZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4dGVybmFsU291cmNlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgb3B0aW9uczoge307XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYWRkVG9DYXJ0OiBFdmVudEVtaXR0ZXI8RXh0ZXJuYWxTb3VyY2VBcnRpY2xlQWRkSW50ZXJmYWNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RXh0ZXJuYWxTb3VyY2VBcnRpY2xlQWRkSW50ZXJmYWNlPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGFkZFRvUXVvdGU6IEV2ZW50RW1pdHRlcjxFeHRlcm5hbFNvdXJjZUFydGljbGVBZGRJbnRlcmZhY2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxFeHRlcm5hbFNvdXJjZUFydGljbGVBZGRJbnRlcmZhY2U+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYWx0ZXJuYXRpdmVDbGljazogRXZlbnRFbWl0dGVyPEFydGljbGVMaXN0T2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZUxpc3RPYmplY3Q+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1wcm9kdWN0LWV4dGVybmFsLXNvdXJjZScpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzaG93UHJvZHVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHNhZmVVcmw6IFNhZmVSZXNvdXJjZVVybDtcclxuICAgIHB1YmxpYyBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBleHRlcm5hbFVybDogc3RyaW5nO1xyXG4gICAgcHVibGljIGV4dGVybmFsU2V0dGluZ3M6IGFueSA9IHt9O1xyXG5cclxuICAgIHByaXZhdGUgX2V4dGVybmFsU291cmNlOiBFeHRlcm5hbFNvdXJjZTtcclxuICAgIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBfcHJvZHVjdENvbm5lY3RvclNlcnZpY2U6IFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2FwcEV2ZW50U2VydmljZTogUHJvZHVjdEV2ZW50U2VydmljZVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQuc3Vic2NyaWJlKChkYXRhOiB7IGFydGljbGU6IHN0cmluZyB8IEFydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWQsIHF1YW50aXR5OiBudW1iZXIgfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hZGRUb0NhcnQubmV4dCh7XHJcbiAgICAgICAgICAgICAgICAgICAgYXJ0aWNsZTogZGF0YS5hcnRpY2xlLFxyXG4gICAgICAgICAgICAgICAgICAgIHF1YW50aXR5OiBkYXRhLnF1YW50aXR5LFxyXG4gICAgICAgICAgICAgICAgICAgIGNhdGFsb2dEZWZpbml0aW9uOiB0aGlzLmNhdGFsb2dEZWZpbml0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGV4dGVybmFsU291cmNlOiB0aGlzLl9leHRlcm5hbFNvdXJjZVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb1F1b3RlLnN1YnNjcmliZShqc29uID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWRkVG9RdW90ZS5uZXh0KHtcclxuICAgICAgICAgICAgICAgICAgICBhcnRpY2xlOiBqc29uLFxyXG4gICAgICAgICAgICAgICAgICAgIHF1YW50aXR5OiAxLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhdGFsb2dEZWZpbml0aW9uOiB0aGlzLmNhdGFsb2dEZWZpbml0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGV4dGVybmFsU291cmNlOiB0aGlzLl9leHRlcm5hbFNvdXJjZVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BbHRlcm5hdGl2ZUNsaWNrLnN1YnNjcmliZShhcnRpY2xlID0+IHRoaXMuYWx0ZXJuYXRpdmVDbGljay5uZXh0KGFydGljbGUpKVxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX3ByZXBhcmVFeHRlcm5hbFNvdXJjZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX2V4dGVybmFsU291cmNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5leHRlcm5hbFVybCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLmV4dGVybmFsU2V0dGluZ3MgPSB7fTtcclxuICAgICAgICBpZiAodGhpcy5leHRlcm5hbFNvdXJjZS50eXBlID09PSAnQ0FURicpIHtcclxuICAgICAgICAgICAgLy8gZ2V0IGJ1bmRsZSBzZXR0aW5ncyBmcm9tIGV4dGVybmFsIHNvdXJjZVxyXG4gICAgICAgICAgICBjb25zdCBidW5kbGVTZXR0aW5nczogc3RyaW5nID0gYXdhaXQgdGhpcy5fcHJvZHVjdENvbm5lY3RvclNlcnZpY2UuZ2V0UHJvZHVjdEJ1bmRsZVNldHRpbmdzKHRoaXMuZXh0ZXJuYWxTb3VyY2UudXJsLCBwYXJzZUludCh0aGlzLmV4dGVybmFsU291cmNlLnNjaGVtYSwgMCkpO1xyXG4gICAgICAgICAgICB0aGlzLmV4dGVybmFsU2V0dGluZ3MgPSBKU09OLnBhcnNlKGJ1bmRsZVNldHRpbmdzKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHRlcm5hbFNldHRpbmdzLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gdGhpcy5leHRlcm5hbFNldHRpbmdzLmFzc2V0UGF0aCA9IFwiaHR0cHM6Ly9jZG4xLmNvbGlqbi1pdC5ubC9jb250ZW50NDNcIjtcclxuICAgICAgICAgICAgLy8gdGhpcy5leHRlcm5hbFNldHRpbmdzLnRocmVlREFzc2V0UGF0aCA9IFwiaHR0cHM6Ly9jZG4xLmNvbGlqbi1pdC5ubC9jb250ZW50NDNcIjtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZXh0ZXJuYWxTb3VyY2UudXNlcm5hbWUgJiYgdGhpcy5leHRlcm5hbFNvdXJjZS5wYXNzd29yZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHRlcm5hbFNldHRpbmdzLnVzZUxvZ2luRW5jcnlwdGlvbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4dGVybmFsU2V0dGluZ3MudXNlcm5hbWUgPSB0aGlzLmV4dGVybmFsU291cmNlLnVzZXJuYW1lO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHRlcm5hbFNldHRpbmdzLnBhc3N3b3JkID0gdGhpcy5leHRlcm5hbFNvdXJjZS5wYXNzd29yZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBmaW5hbGx5IHNob3cgdGhlIGNhdGFsb2dcclxuICAgICAgICAgICAgdGhpcy5zaG93UHJvZHVjdCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5leHRlcm5hbFVybCA9IHRoaXMuZXh0ZXJuYWxTb3VyY2UudXJsO1xyXG4gICAgICAgICAgICB0aGlzLnNhZmVVcmwgPSB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoaXMuZXh0ZXJuYWxVcmwpO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dQcm9kdWN0ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1leHRlcm5hbC1zb3VyY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxZQUFZLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7QUFFeEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFFaEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFeEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFzQy9GLE1BQU0sT0FBTyw4QkFBOEI7SUF1RXZDLFlBQ1ksVUFBd0IsRUFDeEIsd0JBQWlELEVBQ2pELGdCQUFxQztRQUZyQyxlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFDakQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQXJDMUMsY0FBUyxHQUFvRCxJQUFJLFlBQVksRUFBcUMsQ0FBQztRQUduSCxlQUFVLEdBQW9ELElBQUksWUFBWSxFQUFxQyxDQUFDO1FBR3BILHFCQUFnQixHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUcxRix5QkFBb0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQU94RSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMs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QUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQzs7O1lBL01GLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXFCVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1Asc0JBQXNCO29CQUN0Qiw4QkFBOEI7b0JBQzlCLHVCQUF1QjtpQkFDMUI7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7OztZQTVDTyxZQUFZO1lBRVosdUJBQXVCO1lBRXZCLG1CQUFtQjs7O2tCQTJDdEIsS0FBSztnQ0FHTCxLQUFLOzZCQUdMLEtBQUs7eUNBV0wsS0FBSztzQkFjTCxLQUFLO3dCQUdMLE1BQU07eUJBR04sTUFBTTsrQkFHTixNQUFNO21DQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtFeHRlcm5hbFNvdXJjZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtc291cmNlLmJvJztcclxuaW1wb3J0IHtQcm9kdWN0Q29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtBcnRpY2xlTGlzdE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1saXN0LW9iamVjdCc7XHJcbmltcG9ydCB7UHJvZHVjdEV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci1hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NhdGFsb2dEZWZpbml0aW9ufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9jYXRhbG9nLWRlZmluaXRpb24uYm8nO1xyXG5pbXBvcnQge0V4dGVybmFsU291cmNlQXJ0aWNsZUFkZEludGVyZmFjZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvaW50ZXJmYWNlL2V4dGVybmFsLXNvdXJjZS1hcnRpY2xlLWFkZC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0V4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9leHRlcm5hbC1jYXRhbG9nLXN0YXJ0dXAtaW5mbyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXJ9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLXNvdXJjZS1wYXJhbWV0ZXIuYm8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvLXByb2R1Y3QtZXh0ZXJuYWwtc291cmNlJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRlZFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1Byb2R1Y3RcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtcHJvZHVjdC1wYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtza3VdPVwic2t1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3NldHRpbmdzXT1cImV4dGVybmFsU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZXJuYWxTb3VyY2VdPVwiZXh0ZXJuYWxTb3VyY2VcIlxyXG4gICAgICAgICAgICAgICAgPjwvYXBwLXByb2R1Y3QtcGFnZT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93U291cmNlXCI+XHJcbiAgICAgICAgICAgICAgICA8aWZyYW1lIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiBbc3JjXT1cInNhZmVVcmxcIiBmcmFtZWJvcmRlcj1cIjBcIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0NvbmZpZ3VyYXRvclwiPlxyXG4gICAgICAgICAgICAgIDxjby1wcm9kdWN0LWhkIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtza3VdPVwic2t1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFyaWFudF09XCJ2YXJpYW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9rZW5dPVwidG9rZW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1cmxQYXJhbXNdPVwidXJsUGFyYW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uZmlndXJhdG9yRmluaXNoZWQpPVwiaGFuZGxlQ29uZmlndXJhdGlvbkZpbmlzaGVkKCRldmVudClcIj48L2NvLXByb2R1Y3QtaGQ+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgYCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFByb2R1Y3RTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICAgICAgUHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgICAgIFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlXHJcbiAgICBdLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdEV4dGVybmFsU291cmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2t1OiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjYXRhbG9nRGVmaW5pdGlvbjogQ2F0YWxvZ0RlZmluaXRpb247XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgZXh0ZXJuYWxTb3VyY2UodmFsdWU6IEV4dGVybmFsU291cmNlKSB7XHJcbiAgICAgICAgdGhpcy5fZXh0ZXJuYWxTb3VyY2UgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmxvYWRlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3ByZXBhcmVFeHRlcm5hbFNvdXJjZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZXh0ZXJuYWxTb3VyY2UoKTogRXh0ZXJuYWxTb3VyY2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9leHRlcm5hbFNvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBleHRlcm5hbENhdGFsb2dTdGFydHVwSW5mbyh2YWx1ZTogRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8pIHtcclxuICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5fZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8gPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmV4dGVybmFsU291cmNlID0gdmFsdWUuZXh0ZXJuYWxTb3VyY2U7XHJcbiAgICAgICAgdGhpcy5sb2FkZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlRXh0ZXJuYWxTb3VyY2UoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8oKTogRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8ge1xyXG4gICAgICByZXR1cm4gdGhpcy5fZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm87XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBvcHRpb25zOiB7fTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhZGRUb0NhcnQ6IEV2ZW50RW1pdHRlcjxFeHRlcm5hbFNvdXJjZUFydGljbGVBZGRJbnRlcmZhY2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxFeHRlcm5hbFNvdXJjZUFydGljbGVBZGRJbnRlcmZhY2U+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYWRkVG9RdW90ZTogRXZlbnRFbWl0dGVyPEV4dGVybmFsU291cmNlQXJ0aWNsZUFkZEludGVyZmFjZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEV4dGVybmFsU291cmNlQXJ0aWNsZUFkZEludGVyZmFjZT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhbHRlcm5hdGl2ZUNsaWNrOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZUxpc3RPYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlTGlzdE9iamVjdD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBjb25maWd1cmF0b3JGaW5pc2hlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXByb2R1Y3QtZXh0ZXJuYWwtc291cmNlJylcclxuICAgIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNob3dQcm9kdWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc2hvd0NvbmZpZ3VyYXRvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHNob3dTb3VyY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzYWZlVXJsOiBTYWZlUmVzb3VyY2VVcmw7XHJcbiAgICBwdWJsaWMgbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgZXh0ZXJuYWxVcmw6IHN0cmluZztcclxuICAgIHB1YmxpYyBleHRlcm5hbFNldHRpbmdzOiBhbnkgPSB7fTtcclxuXHJcbiAgICBwdWJsaWMgdG9rZW46IHN0cmluZyA9IFwiXCI7Ly89IFwiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrWXhPVGhFUmtWRU9FVXdRVFExTXpZM00wTTFNVUUyUmprMVFVVkRRelUzUlRNME5qTTRSa1JTVXpJMU5pSXNJblI1Y0NJNkltRjBLMnAzZENJc0luZzFkQ0k2SWpoYWFtWTNXVFJMVWxSYWVuaFNjSFpzWVRkTlZpMU9SMDlRTUNKOS5leUp1WW1ZaU9qRTNNekl4T1RreU9UVXNJbVY0Y0NJNk1UY3pNakl3TWpnNU5Td2lhWE56SWpvaWFIUjBjSE02THk5aWJYTnBaR1Z1ZEdsMGVTMWhZMk5sY0hSaGJtTmxMbUY2ZFhKbGQyVmljMmwwWlhNdWJtVjBJaXdpWVhWa0lqcGJJbU5oZEdGc2IyZHhkV1Z5ZVdGd2FTSXNJbU52Ym1acFozVnlZWFJ2Y21Gd2FTSXNJbkJ5YjJSMVkzUjJZWEpwWVc1MFkyOXRiV0Z1WkdGd2FTSXNJbkJ5YjJSMVkzUjJZWEpwWVc1MGNYVmxjbmxoY0draVhTd2lZMnhwWlc1MFgybGtJam9pYVcxd1pYSnpiMjVoZEdsdmJpNWpiR2xsYm5RaUxDSnpkV0lpT2lJd09UTXdaREk0TWkwNU5HVTRMVFE1TUdFdE9HSTJOQzFtWVRrMVltSXlZekUxT0RJaUxDSmhkWFJvWDNScGJXVWlPakUzTXpJeE9Ua3lPVFVzSW1sa2NDSTZJbXh2WTJGc0lpd2laVzUyYVhKdmJtMWxiblFpT2lKTlUwd2lMQ0p6Wld4c1pYSWlPaUpUUlRBd01EQTVOaUlzSW5ObGJHeGxjbWQxYVdRaU9pSXhNRGsxTVdKak5TMWhabU16TFRRMU1HRXRObVZrTVMwd09HUTRORE5sTm1FNU9UUWlMQ0p3WlhKdGFYTnphVzl1SWpwYkluTmhiR1Z6TG1WNGNHOXlkSFJsYlhCc1lYUmxjeTV5WldGa0lpd2laRzlqZFcxbGJuUnNhV0p5WVhKNUxuUmhaeTV5WldGa0lpd2laRzlqZFcxbGJuUnNhV0p5WVhKNUxtUnZZM1Z0Wlc1MExuSmxZV1FpTENKa2IyTjFiV1Z1ZEd4cFluSmhjbmt1ZEdGblozSnZkWEF1Y21WaFpDSXNJbk5oYkdWekxtOXlaR1Z5TG5keWFYUmxJaXdpYzJGc1pYTXVZM1Z6ZEc5dFpYSXVjbVZoWkNJc0luTmhiR1Z6TG05eVpHVnlMbVJsYkdsMlpYSjVZV1JrY21WemN5NTNjbWwwWlNJc0luTmxjblpwWTJVdWNtVnhkV1Z6ZEM1eVpXRmtJaXdpWTJGMFlXeHZaeTUwWVdjdWNtVmhaQ0lzSW5OaGJHVnpMbTl5WkdWeUxuSmxZV1FpTENKellXeGxjeTVqZFhOMGIyMWxjaTUzY21sMFpTSXNJbkpsY1hWbGMzUm1iM0p4ZFc5MFpTNTNjbWwwWlNJc0luTmhiR1Z6TG05eVpHVnlMbUp2YjJzaUxDSnlaWEYxWlhOMFptOXljWFZ2ZEdVdWNtVmhaQ0lzSW5OaGJHVnpMbXhsWVdRdWNtVmhaQ0lzSW5CMWNtTm9ZWE5sTG05eVpHVnlMbkpsWVdRaUxDSnpZV3hsY3k1eGRXOTBaUzV5WldGa0lpd2ljMkZzWlhNdWNYVnZkR1V1ZDNKcGRHVWlMQ0pqWVhSaGJHOW5MbWwwWlcwdWNtVmhaQ0lzSW5OaGJHVnpMbXhsWVdRdWQzSnBkR1VpTENKelpYSjJhV05sTG5KbGNYVmxjM1F1YzNWaWJXbDBJaXdpYzJGc1pYTXViM0prWlhJdVpHVnNhWFpsY25saFpHUnlaWE56TG5KbFlXUWlMQ0p3ZFhKamFHRnpaUzV2Y21SbGNpNTNjbWwwWlNJc0luQjFjbU5vWVhObExtOXlaR1Z5TG5CeWFXTmxjeTUzY21sMFpTSXNJbkIxY21Ob1lYTmxMbTl5WkdWeUxuQnlhV05sY3k1eVpXRmtJaXdpYzJWeWRtbGpaUzV5WlhGMVpYTjBMbmR5YVhSbElpd2lZMkYwWVd4dlp5NWpZWFJoYkc5bkxuSmxZV1FpTENKallYUmhiRzluTG1OaGRHRnNiMmN1ZDNKcGRHVWlMQ0pqWVhSaGJHOW5MbU4xY25KbGJtTjVMbkpsWVdRaUxDSmpZWFJoYkc5bkxtTjFjbkpsYm1ONUxuZHlhWFJsSWl3aVkyRjBZV3h2Wnk1cGRHVnRMbmR5YVhSbElpd2lZMkYwWVd4dlp5NXNiMk5oYkdsNllYUnBiMjR1Y21WaFpDSXNJbU5oZEdGc2IyY3ViRzlqWVd4cGVtRjBhVzl1TG5keWFYUmxJaXdpWTJGMFlXeHZaeTV3Y205a2RXTjBMbkpsWVdRaUxDSmpZWFJoYkc5bkxuQnliMlIxWTNRdWQzSnBkR1VpTENKallYUmhiRzluTG5CeWIyUjFZM1J6WlhSMGFXNW5MbkpsWVdRaUxDSmpZWFJoYkc5bkxuQnliMlIxWTNSelpYUjBhVzVuTG5keWFYUmxJaXdpWTJGMFlXeHZaeTV6Wld4c1pYSXVjbVZoWkNJc0ltTmhkR0ZzYjJjdWMyVnNiR1Z5TG5keWFYUmxJaXdpWTJGMFlXeHZaeTUwWVdjdWQzSnBkR1VpTENKallYUmhiRzluTG5WdmJTNXlaV0ZrSWl3aVkyRjBZV3h2Wnk1MWIyMHVkM0pwZEdVaUxDSmpZWFJoYkc5bkxuWmhkR05oZEdWbmIzSjVMbkpsWVdRaUxDSmpZWFJoYkc5bkxuWmhkR05oZEdWbmIzSjVMbmR5YVhSbElpd2lZMkYwWVd4dlp5NTJaVzVrYjNJdWNtVmhaQ0lzSW1OaGRHRnNiMmN1ZG1WdVpHOXlMbmR5YVhSbElpd2ljSFZ5WTJoaGMyVXVjMlZzYkdWeUxuSmxZV1FpTENKd2RYSmphR0Z6WlM1elpXeHNaWEl1ZDNKcGRHVWlMQ0pqWVhSaGJHOW5MbUZ5ZEdsamJHVXVjbVZoWkNJc0ltTmhkR0ZzYjJjdVlYSjBhV05zWlM1M2NtbDBaU0lzSW5OaGJHVnpMbkYxYjNSbExteHBibVZ6TG5KbFlXUWlMQ0p6WVd4bGN5NXhkVzkwWlM1c2FXNWxjeTUzY21sMFpTSXNJbk5oYkdWekxuTmxiR3hsY2k1eVpXRmtJaXdpYzJGc1pYTXVjMlZzYkdWeUxuZHlhWFJsSWl3aVlXTmpiM1Z1ZEdsdVp5NTJaVzVrYjNKcGJuWnZhV05sTG5KbFlXUWlMQ0pwWkdWdWRHbDBlUzUxYzJWeUxuSmxZV1FpTENKcFpHVnVkR2wwZVM1MWMyVnlMbmR5YVhSbElpd2lhV1JsYm5ScGRIa3VjbTlzWlM1eVpXRmtJaXdpYzJWc2JHVnlMbkJ5YjJSMVkzUndjbWxqWlM1elpYUjBhVzVuY3k1eVpXRmtJaXdpYzJWc2JHVnlMbkJ5YjJSMVkzUndjbWxqWlM1elpYUjBhVzVuY3k1M2NtbDBaU0lzSW1OdmJtWnBaM1Z5WVhSdmNpNXdkWEpqYUdGelpYQnlhV05sTG5KbFlXUWlMQ0p6ZEc5amF5NW1ZV0p5YVdNdWNtVmhaQ0pkTENKdVlXMWxJam9pVW05aWFXNGlMQ0ptWVcxcGJIbGZibUZ0WlNJNkltUmxJRmRwYm5SbGNpQW9RMjlzYVdwdUxVbFVLU0lzSW5KdmJHVWlPbHNpYzJWc2JHVnlJaXdpWkdWaGJHVnlYMjFoYm1GblpYSWlYU3dpYVdGMElqb3hOek15TVRrNU1qazFMQ0p6WTI5d1pTSTZXeUpqWVhSaGJHOW5jWFZsY25saGNHa2lMQ0pqYjI1bWFXZDFjbUYwYjNKaGNHa2lMQ0p3Y205a2RXTjBkbUZ5YVdGdWRHTnZiVzFoYm1SaGNHa2lMQ0p3Y205a2RXTjBkbUZ5YVdGdWRIRjFaWEo1WVhCcElsMHNJbUZ0Y2lJNld5SnBiWEJsY25OdmJtRjBhVzl1SWwxOS5yYmd1VlBua1hYRHpzTTZRS2dYdWxockY0MWpJakN1R0RWMTNpZzFHQzhNZXdMQ0o3d0EwMzhPU3dUMjZzeDJtQ2V4anZ1R1l0NDVZU2NmUHdmVGtEeTNFclBtSFJvZHM2NFgxZEpXWm5mLTIzTlRQMmlJMzJLXzF2TVpINUdPR2JNenVGdGJLQUZRdjRoZ0ZBeG95V3FGVld5SnZ1T3RRY1d5WlN0Uk95UEh3akFucG5qLXgxY1ZRcE9oYk8ta1FVRnZ5X1ZVclBwRjNhWVZDY08yY0ZpclFUWFI2a3hTR2NZR0djc1BZLV9laUFkOTNVZEcyRU02eExBb2NETGFGVjcyQ1FJNlhFczBXUUcxZjRTcXZINTJ2M09Ua2dXQkxnWVYzNWdweUllMC0ybmF6R0wwUjhwVE51RHFyT2I3T0dtdVRSTW9USWlSaTY3LXdUeHg4Y1FcIjtcclxuICAgIHB1YmxpYyB2YXJpYW50OiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgcHVibGljIHVybFBhcmFtczogRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXJbXSA9IFtdO1xyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfZXh0ZXJuYWxTb3VyY2U6IEV4dGVybmFsU291cmNlO1xyXG4gICAgcHJpdmF0ZSBfZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm86IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvO1xyXG4gICAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgICAgICBwcml2YXRlIF9wcm9kdWN0Q29ubmVjdG9yU2VydmljZTogUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfYXBwRXZlbnRTZXJ2aWNlOiBQcm9kdWN0RXZlbnRTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFkZFRvQ2FydC5zdWJzY3JpYmUoKGRhdGE6IHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlciB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFRvQ2FydC5uZXh0KHtcclxuICAgICAgICAgICAgICAgICAgICBhcnRpY2xlOiBkYXRhLmFydGljbGUsXHJcbiAgICAgICAgICAgICAgICAgICAgcXVhbnRpdHk6IGRhdGEucXVhbnRpdHksXHJcbiAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ0RlZmluaXRpb246IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgZXh0ZXJuYWxTb3VyY2U6IHRoaXMuX2V4dGVybmFsU291cmNlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFkZFRvUXVvdGUuc3Vic2NyaWJlKGpzb24gPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hZGRUb1F1b3RlLm5leHQoe1xyXG4gICAgICAgICAgICAgICAgICAgIGFydGljbGU6IGpzb24sXHJcbiAgICAgICAgICAgICAgICAgICAgcXVhbnRpdHk6IDEsXHJcbiAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ0RlZmluaXRpb246IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgZXh0ZXJuYWxTb3VyY2U6IHRoaXMuX2V4dGVybmFsU291cmNlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFsdGVybmF0aXZlQ2xpY2suc3Vic2NyaWJlKGFydGljbGUgPT4gdGhpcy5hbHRlcm5hdGl2ZUNsaWNrLm5leHQoYXJ0aWNsZSkpXHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUNvbmZpZ3VyYXRpb25GaW5pc2hlZCh2YXJpYW50U3RyaW5nOiBzdHJpbmcpIHtcclxuICAgICAgdGhpcy5jb25maWd1cmF0b3JGaW5pc2hlZC5lbWl0KHZhcmlhbnRTdHJpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX3ByZXBhcmVFeHRlcm5hbFNvdXJjZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX2V4dGVybmFsU291cmNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5leHRlcm5hbFVybCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLmV4dGVybmFsU2V0dGluZ3MgPSB7fTtcclxuICAgICAgICBpZiAodGhpcy5leHRlcm5hbFNvdXJjZS50eXBlID09PSAnQ0FURicpIHtcclxuICAgICAgICAgICBhd2FpdCB0aGlzLl9wcmVwYXJlQ2F0RmFybSgpO1xyXG4gICAgICAgIH0gZWxzZSAgaWYgKHRoaXMuZXh0ZXJuYWxTb3VyY2UudHlwZSA9PT0gJ0hUREwnKXtcclxuICAgICAgICAgIHRoaXMuX3ByZXBhcmVDb25maWd1cmF0b3IoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fcHJlcGFyZVNvdXJjZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfcHJlcGFyZUNhdEZhcm0oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBnZXQgYnVuZGxlIHNldHRpbmdzIGZyb20gZXh0ZXJuYWwgc291cmNlXHJcbiAgICBjb25zdCBidW5kbGVTZXR0aW5nczogc3RyaW5nID0gYXdhaXQgdGhpcy5fcHJvZHVjdENvbm5lY3RvclNlcnZpY2UuZ2V0UHJvZHVjdEJ1bmRsZVNldHRpbmdzKHRoaXMuZXh0ZXJuYWxTb3VyY2UudXJsLCBwYXJzZUludCh0aGlzLmV4dGVybmFsU291cmNlLnNjaGVtYSwgMCkpO1xyXG4gICAgdGhpcy5leHRlcm5hbFNldHRpbmdzID0gSlNPTi5wYXJzZShidW5kbGVTZXR0aW5ncyk7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zKSB7XHJcbiAgICAgIHRoaXMuZXh0ZXJuYWxTZXR0aW5ncy5vcHRpb25zID0gdGhpcy5vcHRpb25zO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5leHRlcm5hbFNldHRpbmdzLmFzc2V0UGF0aCA9IFwiaHR0cHM6Ly9jZG4xLmNvbGlqbi1pdC5ubC9jb250ZW50NDNcIjtcclxuICAgIC8vIHRoaXMuZXh0ZXJuYWxTZXR0aW5ncy50aHJlZURBc3NldFBhdGggPSBcImh0dHBzOi8vY2RuMS5jb2xpam4taXQubmwvY29udGVudDQzXCI7XHJcbiAgICBpZiAodGhpcy5leHRlcm5hbFNvdXJjZS51c2VybmFtZSAmJiB0aGlzLmV4dGVybmFsU291cmNlLnBhc3N3b3JkKSB7XHJcbiAgICAgIHRoaXMuZXh0ZXJuYWxTZXR0aW5ncy51c2VMb2dpbkVuY3J5cHRpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLmV4dGVybmFsU2V0dGluZ3MudXNlcm5hbWUgPSB0aGlzLmV4dGVybmFsU291cmNlLnVzZXJuYW1lO1xyXG4gICAgICB0aGlzLmV4dGVybmFsU2V0dGluZ3MucGFzc3dvcmQgPSB0aGlzLmV4dGVybmFsU291cmNlLnBhc3N3b3JkO1xyXG4gICAgfVxyXG4gICAgLy8gZmluYWxseSBzaG93IHRoZSBjYXRhbG9nXHJcbiAgICB0aGlzLnN3aXRjaFRvUHJvZHVjdCgpO1xyXG4gICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUNvbmZpZ3VyYXRvcigpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8pIHtcclxuICAgICAgdGhpcy50b2tlbiA9IHRoaXMuZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8udG9rZW47XHJcbiAgICAgIHRoaXMuc2t1ID0gdGhpcy5leHRlcm5hbENhdGFsb2dTdGFydHVwSW5mby5leHRlcm5hbEdvb2RJZDtcclxuICAgICAgdGhpcy52YXJpYW50ID0gdGhpcy5leHRlcm5hbENhdGFsb2dTdGFydHVwSW5mby5mbGF0dGVuZWRHb29kSWQ7XHJcbiAgICAgIHRoaXMudXJsUGFyYW1zID0gdGhpcy5leHRlcm5hbENhdGFsb2dTdGFydHVwSW5mby5leHRlcm5hbFNvdXJjZS5wYXJhbWV0ZXJzO1xyXG4gICAgICB0aGlzLnN3aXRjaFRvQ29uZmlndXJhdG9yKCk7XHJcbiAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVTb3VyY2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmV4dGVybmFsVXJsID0gdGhpcy5leHRlcm5hbFNvdXJjZS51cmw7XHJcbiAgICB0aGlzLnNhZmVVcmwgPSB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoaXMuZXh0ZXJuYWxVcmwpO1xyXG4gICAgdGhpcy5zd2l0Y2hUb1NvdXJjZSgpO1xyXG4gICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzd2l0Y2hUb1Byb2R1Y3QoKTp2b2lkIHtcclxuICAgIHRoaXMuc2hvd1Byb2R1Y3QgPSB0cnVlO1xyXG4gICAgdGhpcy5zaG93Q29uZmlndXJhdG9yID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dTb3VyY2UgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3dpdGNoVG9Db25maWd1cmF0b3IoKTp2b2lkIHtcclxuICAgIHRoaXMuc2hvd1Byb2R1Y3QgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0NvbmZpZ3VyYXRvciA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dTb3VyY2UgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3dpdGNoVG9Tb3VyY2UoKTp2b2lkIHtcclxuICAgIHRoaXMuc2hvd1Byb2R1Y3QgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0NvbmZpZ3VyYXRvciA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93U291cmNlID0gdHJ1ZTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -2,13 +2,15 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { ProductExternalSourceComponent } from './product-external-source.component';
|
|
4
4
|
import { ProductPageModule } from '../product-page/product-page.module';
|
|
5
|
+
import { ProductHdModule } from '../product-hd/product-hd.module';
|
|
5
6
|
export class ProductExternalSourceModule {
|
|
6
7
|
}
|
|
7
8
|
ProductExternalSourceModule.decorators = [
|
|
8
9
|
{ type: NgModule, args: [{
|
|
9
10
|
imports: [
|
|
10
11
|
CommonModule,
|
|
11
|
-
ProductPageModule
|
|
12
|
+
ProductPageModule,
|
|
13
|
+
ProductHdModule
|
|
12
14
|
],
|
|
13
15
|
declarations: [
|
|
14
16
|
ProductExternalSourceComponent
|
|
@@ -18,4 +20,4 @@ ProductExternalSourceModule.decorators = [
|
|
|
18
20
|
]
|
|
19
21
|
},] }
|
|
20
22
|
];
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1leHRlcm5hbC1zb3VyY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFlaEUsTUFBTSxPQUFPLDJCQUEyQjs7O1lBYnZDLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixpQkFBaUI7b0JBQ2pCLGVBQWU7aUJBQ2xCO2dCQUNELFlBQVksRUFBRTtvQkFDViw4QkFBOEI7aUJBQ2pDO2dCQUNELE9BQU8sRUFBRTtvQkFDTCw4QkFBOEI7aUJBQ2pDO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7UHJvZHVjdEV4dGVybmFsU291cmNlQ29tcG9uZW50fSBmcm9tICcuL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UHJvZHVjdFBhZ2VNb2R1bGV9IGZyb20gJy4uL3Byb2R1Y3QtcGFnZS9wcm9kdWN0LXBhZ2UubW9kdWxlJztcclxuaW1wb3J0IHtQcm9kdWN0SGRNb2R1bGV9IGZyb20gJy4uL3Byb2R1Y3QtaGQvcHJvZHVjdC1oZC5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgUHJvZHVjdFBhZ2VNb2R1bGUsXHJcbiAgICAgICAgUHJvZHVjdEhkTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgUHJvZHVjdEV4dGVybmFsU291cmNlQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFByb2R1Y3RFeHRlcm5hbFNvdXJjZUNvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdEV4dGVybmFsU291cmNlTW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { ProductScriptLoaderService } from '../../service/product-script-loader.service';
|
|
4
|
+
export class ProductHdComponent {
|
|
5
|
+
constructor(_scriptLoader, _renderer) {
|
|
6
|
+
this._scriptLoader = _scriptLoader;
|
|
7
|
+
this._renderer = _renderer;
|
|
8
|
+
this.variant = '';
|
|
9
|
+
this.urlParams = [];
|
|
10
|
+
this.configuratorFinished = new EventEmitter();
|
|
11
|
+
this.configurationError = new EventEmitter();
|
|
12
|
+
this.showClass = true;
|
|
13
|
+
}
|
|
14
|
+
set content(child) {
|
|
15
|
+
this.hdeConfigurator = child;
|
|
16
|
+
this._prepareAttributes();
|
|
17
|
+
}
|
|
18
|
+
set sku(value) {
|
|
19
|
+
this._sku = value;
|
|
20
|
+
this._prepareAttributes();
|
|
21
|
+
}
|
|
22
|
+
get sku() {
|
|
23
|
+
return this._sku;
|
|
24
|
+
}
|
|
25
|
+
ngOnDestroy() {
|
|
26
|
+
this._scriptLoader.unloadScripts(this._renderer);
|
|
27
|
+
}
|
|
28
|
+
handleConfigurationFinished(event) {
|
|
29
|
+
if (event.detail.variant && typeof event.detail.variant === 'string') {
|
|
30
|
+
this.configuratorFinished.emit(event.detail.variant);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.configuratorFinished.emit(this.variant);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
handleError(event) {
|
|
37
|
+
this.configurationError.emit(event.detail.status);
|
|
38
|
+
}
|
|
39
|
+
_prepareAttributes() {
|
|
40
|
+
if (this.hdeConfigurator && this.hdeConfigurator.nativeElement && this.urlParams && this.token && (this.sku || this.variant)) {
|
|
41
|
+
//for local testing please turn off for packing and publishing!
|
|
42
|
+
//this.prepareTestingUrlparams();
|
|
43
|
+
this._prepareConfiguratorUrls();
|
|
44
|
+
this.hdeConfigurator.nativeElement.setAttribute('bearerToken', this.token);
|
|
45
|
+
if (this._sku) {
|
|
46
|
+
this.hdeConfigurator.nativeElement.setAttribute('data-productId', this._sku);
|
|
47
|
+
}
|
|
48
|
+
if (this.variant) {
|
|
49
|
+
this.hdeConfigurator.nativeElement.setAttribute('data-productVariantId', this.variant);
|
|
50
|
+
}
|
|
51
|
+
this._loadTheScripts();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//set necessary references to configurator.
|
|
55
|
+
_prepareConfiguratorUrls() {
|
|
56
|
+
//fetch the setting from the external source
|
|
57
|
+
let apiurl = this.urlParams.find((item) => item.key === 'apiurl').value;
|
|
58
|
+
let productVariantCommandApiUrl = this.urlParams.find((item) => item.key === 'productVariantCommandApiUrl').value;
|
|
59
|
+
let productVariantQueryApiUrl = this.urlParams.find((item) => item.key === 'productVariantQueryApiUrl').value;
|
|
60
|
+
let localizationApiUrl = this.urlParams.find((item) => item.key === 'localizationApiUrl').value;
|
|
61
|
+
//apply to configurator
|
|
62
|
+
this.hdeConfigurator.nativeElement.setAttribute('apiurl', apiurl);
|
|
63
|
+
this.hdeConfigurator.nativeElement.setAttribute('productVariantCommandApiUrl', productVariantCommandApiUrl);
|
|
64
|
+
this.hdeConfigurator.nativeElement.setAttribute('productVariantQueryApiUrl', productVariantQueryApiUrl);
|
|
65
|
+
this.hdeConfigurator.nativeElement.setAttribute('localizationApiUrl', localizationApiUrl);
|
|
66
|
+
}
|
|
67
|
+
// load external scripts into client
|
|
68
|
+
_loadTheScripts() {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
let headerUrls = this.urlParams.find((item) => item.key === 'header').value;
|
|
71
|
+
let headerArray = headerUrls.replace(/\s+/g, '').split(',');
|
|
72
|
+
for (let i = 0; i < headerArray.length; i++) {
|
|
73
|
+
yield this._scriptLoader.loadScript(headerArray[i], this._renderer).catch((error) => console.error(error));
|
|
74
|
+
}
|
|
75
|
+
let styles = this.urlParams.find((item) => item.key === 'stylesheet').value;
|
|
76
|
+
let stylesArray = styles.replace(/\s+/g, '').split(',');
|
|
77
|
+
for (let j = 0; j < stylesArray.length; j++) {
|
|
78
|
+
yield this._scriptLoader.addStyleSheet(stylesArray[j], this._renderer);
|
|
79
|
+
}
|
|
80
|
+
//for local testing please turn off for packing and publishing!
|
|
81
|
+
/*const scripts: string[] = [
|
|
82
|
+
// hard-coded for now, should come from the external source
|
|
83
|
+
'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/polyfills.js',
|
|
84
|
+
'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/runtime.js',
|
|
85
|
+
'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/main.js'
|
|
86
|
+
]
|
|
87
|
+
for (let i = 0; i < scripts.length; i++) {
|
|
88
|
+
await this._scriptLoader.loadScript(scripts[i], this._renderer).catch((error) => console.error(error));
|
|
89
|
+
}
|
|
90
|
+
await this._scriptLoader.addStyleSheet('https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/styles.css', this._renderer);*/
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
ProductHdComponent.decorators = [
|
|
95
|
+
{ type: Component, args: [{
|
|
96
|
+
selector: 'co-product-hd',
|
|
97
|
+
template: `
|
|
98
|
+
<hde-configurator #hdeConfigurator
|
|
99
|
+
language="nl"
|
|
100
|
+
localizationFileExtension=".json"
|
|
101
|
+
(configurationFinished)="handleConfigurationFinished($event)"
|
|
102
|
+
(configurationFailed)="handleError($event)"
|
|
103
|
+
>
|
|
104
|
+
<hde-progress-bar></hde-progress-bar>
|
|
105
|
+
</hde-configurator>
|
|
106
|
+
`,
|
|
107
|
+
encapsulation: ViewEncapsulation.None
|
|
108
|
+
},] }
|
|
109
|
+
];
|
|
110
|
+
ProductHdComponent.ctorParameters = () => [
|
|
111
|
+
{ type: ProductScriptLoaderService },
|
|
112
|
+
{ type: Renderer2 }
|
|
113
|
+
];
|
|
114
|
+
ProductHdComponent.propDecorators = {
|
|
115
|
+
content: [{ type: ViewChild, args: ['hdeConfigurator', { read: ElementRef },] }],
|
|
116
|
+
sku: [{ type: Input }],
|
|
117
|
+
token: [{ type: Input }],
|
|
118
|
+
variant: [{ type: Input }],
|
|
119
|
+
urlParams: [{ type: Input }],
|
|
120
|
+
configuratorFinished: [{ type: Output }],
|
|
121
|
+
configurationError: [{ type: Output }],
|
|
122
|
+
showClass: [{ type: HostBinding, args: ['class.co-product-hd',] }]
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1oZC9wcm9kdWN0LWhkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBaUJ2RixNQUFNLE9BQU8sa0JBQWtCO0lBdUM3QixZQUNVLGFBQXlDLEVBQ3pDLFNBQW9CO1FBRHBCLGtCQUFhLEdBQWIsYUFBYSxDQUE0QjtRQUN6QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBckJ2QixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBR3JCLGNBQVMsR0FBOEIsRUFBRSxDQUFDO1FBRzFDLHlCQUFvQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBR3hFLHVCQUFrQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBSWhFLGNBQVMsR0FBWSxJQUFJLENBQUM7SUFVakMsQ0FBQztJQTFDRCxJQUFzRCxPQUFPLENBQUMsS0FBSztRQUNqRSxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFDVyxHQUFHLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUErQkQsV0FBVztRQUNULElB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QUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDeEU7WUFFRCwrREFBK0Q7WUFDL0Q7Ozs7Ozs7OztxSkFTeUk7UUFDM0ksQ0FBQztLQUFBOzs7WUFwSUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7OztHQVNUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFoQk8sMEJBQTBCO1lBSmhDLFNBQVM7OztzQkFzQlIsU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztrQkFLL0MsS0FBSztvQkFVTCxLQUFLO3NCQUdMLEtBQUs7d0JBR0wsS0FBSzttQ0FHTCxNQUFNO2lDQUdOLE1BQU07d0JBSU4sV0FBVyxTQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1Byb2R1Y3RTY3JpcHRMb2FkZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3Qtc2NyaXB0LWxvYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtFeHRlcm5hbFNvdXJjZVBhcmFtZXRlcn0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtc291cmNlLXBhcmFtZXRlci5ibyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXByb2R1Y3QtaGQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8aGRlLWNvbmZpZ3VyYXRvciAjaGRlQ29uZmlndXJhdG9yXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZT1cIm5sXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGxvY2FsaXphdGlvbkZpbGVFeHRlbnNpb249XCIuanNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY29uZmlndXJhdGlvbkZpbmlzaGVkKT1cImhhbmRsZUNvbmZpZ3VyYXRpb25GaW5pc2hlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjb25maWd1cmF0aW9uRmFpbGVkKT1cImhhbmRsZUVycm9yKCRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICA8aGRlLXByb2dyZXNzLWJhcj48L2hkZS1wcm9ncmVzcy1iYXI+XHJcbiAgICA8L2hkZS1jb25maWd1cmF0b3I+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0SGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ2hkZUNvbmZpZ3VyYXRvcicsIHtyZWFkOiBFbGVtZW50UmVmfSkgc2V0IGNvbnRlbnQoY2hpbGQpIHtcclxuICAgIHRoaXMuaGRlQ29uZmlndXJhdG9yID0gY2hpbGQ7XHJcbiAgICB0aGlzLl9wcmVwYXJlQXR0cmlidXRlcygpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHNrdSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9za3UgPSB2YWx1ZTtcclxuICAgIHRoaXMuX3ByZXBhcmVBdHRyaWJ1dGVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNrdSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NrdTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRva2VuOiBzdHJpbmc7IC8vPSBcImV5SmhiR2NpT2lKU1V6STFOaUlzSW10cFpDSTZJa1l4T1RoRVJrVkVPRVV3UVRRMU16WTNNME0xTVVFMlJqazFRVVZEUXpVM1JUTTBOak00UmtSU1V6STFOaUlzSW5SNWNDSTZJbUYwSzJwM2RDSXNJbmcxZENJNklqaGFhbVkzV1RSTFVsUmFlbmhTY0hac1lUZE5WaTFPUjA5UU1DSjkuZXlKdVltWWlPakUzTXpjeE1qUTJORFFzSW1WNGNDSTZNVGN6TnpFeU9ESTBOQ3dpYVhOeklqb2lhSFIwY0hNNkx5OWliWE5wWkdWdWRHbDBlUzFoWTJObGNIUmhibU5sTG1GNmRYSmxkMlZpYzJsMFpYTXVibVYwSWl3aVlYVmtJanBiSW1OaGRHRnNiMmR4ZFdWeWVXRndhU0lzSW1OdmJtWnBaM1Z5WVhSdmNtRndhU0lzSW5CeWIyUjFZM1IyWVhKcFlXNTBZMjl0YldGdVpHRndhU0lzSW5CeWIyUjFZM1IyWVhKcFlXNTBjWFZsY25saGNHa2lYU3dpWTJ4cFpXNTBYMmxrSWpvaWFXMXdaWEp6YjI1aGRHbHZiaTVqYkdsbGJuUWlMQ0p6ZFdJaU9pSXdPVE13WkRJNE1pMDVOR1U0TFRRNU1HRXRPR0kyTkMxbVlUazFZbUl5WXpFMU9ESWlMQ0poZFhSb1gzUnBiV1VpT2pFM016Y3hNalEyTkRRc0ltbGtjQ0k2SW14dlkyRnNJaXdpWlc1MmFYSnZibTFsYm5RaU9pSk5VMHdpTENKelpXeHNaWElpT2lKVFJUQXdNREE1TmlJc0luTmxiR3hsY21kMWFXUWlPaUl4TURrMU1XSmpOUzFoWm1NekxUUTFNR0V0Tm1Wa01TMHdPR1E0TkRObE5tRTVPVFFpTENKd1pYSnRhWE56YVc5dUlqcGJJbk5oYkdWekxtVjRjRzl5ZEhSbGJYQnNZWFJsY3k1eVpXRmtJaXdpWkc5amRXMWxiblJzYVdKeVlYSjVMblJoWnk1eVpXRmtJaXdpWkc5amRXMWxiblJzYVdKeVlYSjVMbVJ2WTNWdFpXNTBMbkpsWVdRaUxDSmtiMk4xYldWdWRHeHBZbkpoY25rdWRHRm5aM0p2ZFhBdWNtVmhaQ0lzSW5OaGJHVnpMbTl5WkdWeUxuZHlhWFJsSWl3aWMyRnNaWE11WTNWemRHOXRaWEl1Y21WaFpDSXNJbk5oYkdWekxtOXlaR1Z5TG1SbGJHbDJaWEo1WVdSa2NtVnpjeTUzY21sMFpTSXNJbk5sY25acFkyVXVjbVZ4ZFdWemRDNXlaV0ZrSWl3aVkyRjBZV3h2Wnk1MFlXY3VjbVZoWkNJc0luTmhiR1Z6TG05eVpHVnlMbkpsWVdRaUxDSnpZV3hsY3k1amRYTjBiMjFsY2k1M2NtbDBaU0lzSW5KbGNYVmxjM1JtYjNKeGRXOTBaUzUzY21sMFpTSXNJbk5oYkdWekxtOXlaR1Z5TG1KdmIyc2lMQ0p5WlhGMVpYTjBabTl5Y1hWdmRHVXVjbVZoWkNJc0luTmhiR1Z6TG14bFlXUXVjbVZoWkNJc0luQjFjbU5vWVhObExtOXlaR1Z5TG5KbFlXUWlMQ0p6WVd4bGN5NXhkVzkwWlM1eVpXRmtJaXdpYzJGc1pYTXVjWFZ2ZEdVdWQzSnBkR1VpTENKallYUmhiRzluTG1sMFpXMHVjbVZoWkNJc0luTmhiR1Z6TG14bFlXUXVkM0pwZEdVaUxDSnpaWEoyYVdObExuSmxjWFZsYzNRdWMzVmliV2wwSWl3aWMyRnNaWE11YjNKa1pYSXVaR1ZzYVhabGNubGhaR1J5WlhOekxuSmxZV1FpTENKd2RYSmphR0Z6WlM1dmNtUmxjaTUzY21sMFpTSXNJbkIxY21Ob1lYTmxMbTl5WkdWeUxuQnlhV05sY3k1M2NtbDBaU0lzSW5CMWNtTm9ZWE5sTG05eVpHVnlMbkJ5YVdObGN5NXlaV0ZrSWl3aWMyVnlkbWxqWlM1eVpYRjFaWE4wTG5keWFYUmxJaXdpWTJGMFlXeHZaeTVqWVhSaGJHOW5MbkpsWVdRaUxDSmpZWFJoYkc5bkxtTmhkR0ZzYjJjdWQzSnBkR1VpTENKallYUmhiRzluTG1OMWNuSmxibU41TG5KbFlXUWlMQ0pqWVhSaGJHOW5MbU4xY25KbGJtTjVMbmR5YVhSbElpd2lZMkYwWVd4dlp5NXBkR1Z0TG5keWFYUmxJaXdpWTJGMFlXeHZaeTVzYjJOaGJHbDZZWFJwYjI0dWNtVmhaQ0lzSW1OaGRHRnNiMmN1Ykc5allXeHBlbUYwYVc5dUxuZHlhWFJsSWl3aVkyRjBZV3h2Wnk1d2NtOWtkV04wTG5KbFlXUWlMQ0pqWVhSaGJHOW5MbkJ5YjJSMVkzUXVkM0pwZEdVaUxDSmpZWFJoYkc5bkxuQnliMlIxWTNSelpYUjBhVzVuTG5KbFlXUWlMQ0pqWVhSaGJHOW5MbkJ5YjJSMVkzUnpaWFIwYVc1bkxuZHlhWFJsSWl3aVkyRjBZV3h2Wnk1elpXeHNaWEl1Y21WaFpDSXNJbU5oZEdGc2IyY3VjMlZzYkdWeUxuZHlhWFJsSWl3aVkyRjBZV3h2Wnk1MFlXY3VkM0pwZEdVaUxDSmpZWFJoYkc5bkxuVnZiUzV5WldGa0lpd2lZMkYwWVd4dlp5NTFiMjB1ZDNKcGRHVWlMQ0pqWVhSaGJHOW5MblpoZEdOaGRHVm5iM0o1TG5KbFlXUWlMQ0pqWVhSaGJHOW5MblpoZEdOaGRHVm5iM0o1TG5keWFYUmxJaXdpWTJGMFlXeHZaeTUyWlc1a2IzSXVjbVZoWkNJc0ltTmhkR0ZzYjJjdWRtVnVaRzl5TG5keWFYUmxJaXdpY0hWeVkyaGhjMlV1YzJWc2JHVnlMbkpsWVdRaUxDSndkWEpqYUdGelpTNXpaV3hzWlhJdWQzSnBkR1VpTENKallYUmhiRzluTG1GeWRHbGpiR1V1Y21WaFpDSXNJbU5oZEdGc2IyY3VZWEowYVdOc1pTNTNjbWwwWlNJc0luTmhiR1Z6TG5GMWIzUmxMbXhwYm1WekxuSmxZV1FpTENKellXeGxjeTV4ZFc5MFpTNXNhVzVsY3k1M2NtbDBaU0lzSW5OaGJHVnpMbk5sYkd4bGNpNXlaV0ZrSWl3aWMyRnNaWE11YzJWc2JHVnlMbmR5YVhSbElpd2lZV05qYjNWdWRHbHVaeTUyWlc1a2IzSnBiblp2YVdObExuSmxZV1FpTENKcFpHVnVkR2wwZVM1MWMyVnlMbkpsWVdRaUxDSnBaR1Z1ZEdsMGVTNTFjMlZ5TG5keWFYUmxJaXdpYVdSbGJuUnBkSGt1Y205c1pTNXlaV0ZrSWl3aWMyVnNiR1Z5TG5CeWIyUjFZM1J3Y21salpTNXpaWFIwYVc1bmN5NXlaV0ZrSWl3aWMyVnNiR1Z5TG5CeWIyUjFZM1J3Y21salpTNXpaWFIwYVc1bmN5NTNjbWwwWlNJc0ltTnZibVpwWjNWeVlYUnZjaTV3ZFhKamFHRnpaWEJ5YVdObExuSmxZV1FpTENKemRHOWpheTVtWVdKeWFXTXVjbVZoWkNJc0luTmhiR1Z6TG05eVpHVnlMbkJzWVdObElsMHNJbTVoYldVaU9pSlNiMkpwYmlJc0ltWmhiV2xzZVY5dVlXMWxJam9pWkdVZ1YybHVkR1Z5SUNoRGIyeHBhbTR0U1ZRcElpd2ljbTlzWlNJNld5SnpaV3hzWlhJaUxDSmtaV0ZzWlhKZmJXRnVZV2RsY2lKZExDSnBZWFFpT2pFM016Y3hNalEyTkRRc0luTmpiM0JsSWpwYkltTmhkR0ZzYjJkeGRXVnllV0Z3YVNJc0ltTnZibVpwWjNWeVlYUnZjbUZ3YVNJc0luQnliMlIxWTNSMllYSnBZVzUwWTI5dGJXRnVaR0Z3YVNJc0luQnliMlIxWTNSMllYSnBZVzUwY1hWbGNubGhjR2tpWFN3aVlXMXlJanBiSW1sdGNHVnljMjl1WVhScGIyNGlYWDAuSXJtZ0pieVByV3dOWU8xeGd5RmNWM09zbVE3cUY1bmJodXg4b3BMejhWVzR6YTNjbzRhWFVFNEU5SFlCekpGcHVyY3Y5VDdvTDBBaGJRcTR6YmpOU1c5NzNHWUFGSV9ldUlNWm9idHpYSEtfY29CdVR4V1huZkRDOE1tRkFKaGR1SXQxSFhnWVZYNmR0WV9SV3dhSGZFSXk0SjVZQmp4eldnSGdEclJHX0VkbjVfUUtmQzZQdVR6TFVvSGtJYXVsZWhHazhwdGxSS3dOb0hpR0F4a0h0LWdyZWZCalBseWVXOThPOVBxUHpsNF93UjZQX2M4d0pRaUZDakFQcEFEdmtLdXdkTjA2QkoyUTltWFFhc1lPb201TTZmLUI1MVBCUnlhalgtZjIwckEzamoxNmJSTG5JcXZXUlotcC1VMnp4ZldVS3dCQVhhLWFFY0xINkxIVEFRXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZhcmlhbnQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1cmxQYXJhbXM6IEV4dGVybmFsU291cmNlUGFyYW1ldGVyW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNvbmZpZ3VyYXRvckZpbmlzaGVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY29uZmlndXJhdGlvbkVycm9yOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1wcm9kdWN0LWhkJylcclxuICBwdWJsaWMgc2hvd0NsYXNzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIGhkZUNvbmZpZ3VyYXRvcjogRWxlbWVudFJlZjtcclxuXHJcbiAgcHJpdmF0ZSBfc2t1OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2NyaXB0TG9hZGVyOiBQcm9kdWN0U2NyaXB0TG9hZGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fc2NyaXB0TG9hZGVyLnVubG9hZFNjcmlwdHModGhpcy5fcmVuZGVyZXIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNvbmZpZ3VyYXRpb25GaW5pc2hlZChldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5kZXRhaWwudmFyaWFudCAmJiB0eXBlb2YgZXZlbnQuZGV0YWlsLnZhcmlhbnQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuY29uZmlndXJhdG9yRmluaXNoZWQuZW1pdChldmVudC5kZXRhaWwudmFyaWFudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRvckZpbmlzaGVkLmVtaXQodGhpcy52YXJpYW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVFcnJvcihldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlndXJhdGlvbkVycm9yLmVtaXQoZXZlbnQuZGV0YWlsLnN0YXR1cyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlQXR0cmlidXRlcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmhkZUNvbmZpZ3VyYXRvciAmJiB0aGlzLmhkZUNvbmZpZ3VyYXRvci5uYXRpdmVFbGVtZW50ICYmIHRoaXMudXJsUGFyYW1zICYmIHRoaXMudG9rZW4gJiYgKHRoaXMuc2t1IHx8IHRoaXMudmFyaWFudCkpIHtcclxuICAgICAgLy9mb3IgbG9jYWwgdGVzdGluZyBwbGVhc2UgdHVybiBvZmYgZm9yIHBhY2tpbmcgYW5kIHB1Ymxpc2hpbmchXHJcbiAgICAgIC8vdGhpcy5wcmVwYXJlVGVzdGluZ1VybHBhcmFtcygpO1xyXG5cclxuICAgICAgdGhpcy5fcHJlcGFyZUNvbmZpZ3VyYXRvclVybHMoKTtcclxuICAgICAgdGhpcy5oZGVDb25maWd1cmF0b3IubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2JlYXJlclRva2VuJywgdGhpcy50b2tlbik7XHJcbiAgICAgIGlmICh0aGlzLl9za3UpIHtcclxuICAgICAgICB0aGlzLmhkZUNvbmZpZ3VyYXRvci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1wcm9kdWN0SWQnLCB0aGlzLl9za3UpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnZhcmlhbnQpIHtcclxuICAgICAgICB0aGlzLmhkZUNvbmZpZ3VyYXRvci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1wcm9kdWN0VmFyaWFudElkJywgdGhpcy52YXJpYW50KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9sb2FkVGhlU2NyaXB0cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9zZXQgbmVjZXNzYXJ5IHJlZmVyZW5jZXMgdG8gY29uZmlndXJhdG9yLlxyXG4gIHByaXZhdGUgX3ByZXBhcmVDb25maWd1cmF0b3JVcmxzKCk6IHZvaWQge1xyXG4gICAgLy9mZXRjaCB0aGUgc2V0dGluZyBmcm9tIHRoZSBleHRlcm5hbCBzb3VyY2VcclxuICAgIGxldCBhcGl1cmw6IHN0cmluZyA9IHRoaXMudXJsUGFyYW1zLmZpbmQoKGl0ZW06IEV4dGVybmFsU291cmNlUGFyYW1ldGVyKSA9PiBpdGVtLmtleSA9PT0gJ2FwaXVybCcpLnZhbHVlO1xyXG4gICAgbGV0IHByb2R1Y3RWYXJpYW50Q29tbWFuZEFwaVVybDogc3RyaW5nID0gIHRoaXMudXJsUGFyYW1zLmZpbmQoKGl0ZW06IEV4dGVybmFsU291cmNlUGFyYW1ldGVyKSA9PiBpdGVtLmtleSA9PT0gJ3Byb2R1Y3RWYXJpYW50Q29tbWFuZEFwaVVybCcpLnZhbHVlO1xyXG4gICAgbGV0IHByb2R1Y3RWYXJpYW50UXVlcnlBcGlVcmw6IHN0cmluZyA9ICB0aGlzLnVybFBhcmFtcy5maW5kKChpdGVtOiBFeHRlcm5hbFNvdXJjZVBhcmFtZXRlcikgPT4gaXRlbS5rZXkgPT09ICdwcm9kdWN0VmFyaWFudFF1ZXJ5QXBpVXJsJykudmFsdWU7XHJcbiAgICBsZXQgbG9jYWxpemF0aW9uQXBpVXJsOiBzdHJpbmcgPSAgdGhpcy51cmxQYXJhbXMuZmluZCgoaXRlbTogRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIpID0+IGl0ZW0ua2V5ID09PSAnbG9jYWxpemF0aW9uQXBpVXJsJykudmFsdWU7XHJcblxyXG4gICAgLy9hcHBseSB0byBjb25maWd1cmF0b3JcclxuICAgIHRoaXMuaGRlQ29uZmlndXJhdG9yLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcGl1cmwnLCBhcGl1cmwpO1xyXG4gICAgdGhpcy5oZGVDb25maWd1cmF0b3IubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3Byb2R1Y3RWYXJpYW50Q29tbWFuZEFwaVVybCcsIHByb2R1Y3RWYXJpYW50Q29tbWFuZEFwaVVybCk7XHJcbiAgICB0aGlzLmhkZUNvbmZpZ3VyYXRvci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgncHJvZHVjdFZhcmlhbnRRdWVyeUFwaVVybCcsIHByb2R1Y3RWYXJpYW50UXVlcnlBcGlVcmwpO1xyXG4gICAgdGhpcy5oZGVDb25maWd1cmF0b3IubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2xvY2FsaXphdGlvbkFwaVVybCcsIGxvY2FsaXphdGlvbkFwaVVybClcclxuICB9XHJcblxyXG4gIC8vIGxvYWQgZXh0ZXJuYWwgc2NyaXB0cyBpbnRvIGNsaWVudFxyXG4gIHByaXZhdGUgYXN5bmMgX2xvYWRUaGVTY3JpcHRzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IGhlYWRlclVybHM6IHN0cmluZyA9IHRoaXMudXJsUGFyYW1zLmZpbmQoKGl0ZW06IEV4dGVybmFsU291cmNlUGFyYW1ldGVyKSA9PiBpdGVtLmtleSA9PT0gJ2hlYWRlcicpLnZhbHVlO1xyXG4gICAgbGV0IGhlYWRlckFycmF5OiBzdHJpbmdbXSA9IGhlYWRlclVybHMucmVwbGFjZSgvXFxzKy9nLCAnJykuc3BsaXQoJywnKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGVhZGVyQXJyYXkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgYXdhaXQgdGhpcy5fc2NyaXB0TG9hZGVyLmxvYWRTY3JpcHQoaGVhZGVyQXJyYXlbaV0sIHRoaXMuX3JlbmRlcmVyKS5jYXRjaCgoZXJyb3IpID0+IGNvbnNvbGUuZXJyb3IoZXJyb3IpKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc3R5bGVzOiBzdHJpbmcgPSB0aGlzLnVybFBhcmFtcy5maW5kKChpdGVtOiBFeHRlcm5hbFNvdXJjZVBhcmFtZXRlcikgPT4gaXRlbS5rZXkgPT09ICdzdHlsZXNoZWV0JykudmFsdWU7XHJcbiAgICBsZXQgc3R5bGVzQXJyYXk6IHN0cmluZ1tdID0gc3R5bGVzLnJlcGxhY2UoL1xccysvZywgJycpLnNwbGl0KCcsJyk7XHJcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IHN0eWxlc0FycmF5Lmxlbmd0aDsgaisrKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX3NjcmlwdExvYWRlci5hZGRTdHlsZVNoZWV0KHN0eWxlc0FycmF5W2pdLCB0aGlzLl9yZW5kZXJlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLy9mb3IgbG9jYWwgdGVzdGluZyBwbGVhc2UgdHVybiBvZmYgZm9yIHBhY2tpbmcgYW5kIHB1Ymxpc2hpbmchXHJcbiAgICAvKmNvbnN0IHNjcmlwdHM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAvLyBoYXJkLWNvZGVkIGZvciBub3csIHNob3VsZCBjb21lIGZyb20gdGhlIGV4dGVybmFsIHNvdXJjZVxyXG4gICAgICAnaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9jb21wb25lbnRzL0NvbmZpZ3VyYXRvci8xLjAuMzMvcG9seWZpbGxzLmpzJyxcclxuICAgICAgJ2h0dHBzOi8vaGRlLWNkbi5henVyZWVkZ2UubmV0L2xpYnMvY29tcG9uZW50cy9Db25maWd1cmF0b3IvMS4wLjMzL3J1bnRpbWUuanMnLFxyXG4gICAgICAnaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9jb21wb25lbnRzL0NvbmZpZ3VyYXRvci8xLjAuMzMvbWFpbi5qcydcclxuICAgIF1cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2NyaXB0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBhd2FpdCB0aGlzLl9zY3JpcHRMb2FkZXIubG9hZFNjcmlwdChzY3JpcHRzW2ldLCB0aGlzLl9yZW5kZXJlcikuY2F0Y2goKGVycm9yKSA9PiBjb25zb2xlLmVycm9yKGVycm9yKSk7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLl9zY3JpcHRMb2FkZXIuYWRkU3R5bGVTaGVldCgnaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9jb21wb25lbnRzL0NvbmZpZ3VyYXRvci8xLjAuMzMvc3R5bGVzLmNzcycsIHRoaXMuX3JlbmRlcmVyKTsqL1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAvL2ZvciBsb2NhbCB0ZXN0aW5nIHBsZWFzZSB0dXJuIG9mZiBmb3IgcGFja2luZyBhbmQgcHVibGlzaGluZyFcclxuICAvKnByaXZhdGUgcHJlcGFyZVRlc3RpbmdVcmxwYXJhbXMoKTogdm9pZCB7XHJcbiAgICBsZXQgaGVhZGVyczogRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIgPSBuZXcgRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIoKTtcclxuICAgIGhlYWRlcnMuaWQgPSAxO1xyXG4gICAgaGVhZGVycy5rZXkgPSAnaGVhZGVyJztcclxuICAgIGhlYWRlcnMudmFsdWUgPSAnaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9jb21wb25lbnRzL0NvbmZpZ3VyYXRvci8xLjAuMzMvcG9seWZpbGxzLmpzLGh0dHBzOi8vaGRlLWNkbi5henVyZWVkZ2UubmV0L2xpYnMvY29tcG9uZW50cy9Db25maWd1cmF0b3IvMS4wLjMzL3J1bnRpbWUuanMsaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9jb21wb25lbnRzL0NvbmZpZ3VyYXRvci8xLjAuMzMvbWFpbi5qcyc7XHJcbiAgICBsZXQgc3R5bGVzOiBFeHRlcm5hbFNvdXJjZVBhcmFtZXRlciA9IG5ldyBFeHRlcm5hbFNvdXJjZVBhcmFtZXRlcigpO1xyXG4gICAgc3R5bGVzLmlkID0gMjtcclxuICAgIHN0eWxlcy5rZXkgPSAnc3R5bGVzaGVldCc7XHJcbiAgICBzdHlsZXMudmFsdWUgPSAnaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9jb21wb25lbnRzL0NvbmZpZ3VyYXRvci8xLjAuMzMvc3R5bGVzLmNzcyc7XHJcbiAgICB0aGlzLnVybFBhcmFtcy5wdXNoKGhlYWRlcnMpO1xyXG4gICAgdGhpcy51cmxQYXJhbXMucHVzaChzdHlsZXMpO1xyXG4gICAgbGV0IGF1cmw6IEV4dGVybmFsU291cmNlUGFyYW1ldGVyID0gbmV3IEV4dGVybmFsU291cmNlUGFyYW1ldGVyKCk7XHJcbiAgICBhdXJsLmlkID0gMztcclxuICAgIGF1cmwua2V5ID0gJ2FwaXVybCc7XHJcbiAgICBhdXJsLnZhbHVlID0gJ2h0dHBzOi8vYm1zcHJvZHVjdGNvbmZpZ3VyYXRvci1hY2NlcHRhbmNlLmF6dXJld2Vic2l0ZXMubmV0L2FwaS9jb25maWd1cmF0b3IvJztcclxuICAgIGxldCBwdXJsOiBFeHRlcm5hbFNvdXJjZVBhcmFtZXRlciA9IG5ldyBFeHRlcm5hbFNvdXJjZVBhcmFtZXRlcigpO1xyXG4gICAgcHVybC5pZCA9IDQ7XHJcbiAgICBwdXJsLmtleSA9ICdwcm9kdWN0VmFyaWFudENvbW1hbmRBcGlVcmwnO1xyXG4gICAgcHVybC52YWx1ZSA9ICdodHRwczovL2Jtc3Byb2R1Y3R2YXJpYW50Y29tbWFuZC1hY2NlcHRhbmNlLmF6dXJld2Vic2l0ZXMubmV0Lyc7XHJcbiAgICBsZXQgcXVybDogRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIgPSBuZXcgRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIoKTtcclxuICAgIHF1cmwuaWQgPSA1O1xyXG4gICAgcXVybC5rZXkgPSAncHJvZHVjdFZhcmlhbnRRdWVyeUFwaVVybCc7XHJcbiAgICBxdXJsLnZhbHVlID0gJ2h0dHBzOi8vYm1zcHJvZHVjdHZhcmlhbnRxdWVyeS1hY2NlcHRhbmNlLmF6dXJld2Vic2l0ZXMubmV0Lyc7XHJcbiAgICBsZXQgbHVybDogRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIgPSBuZXcgRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIoKTtcclxuICAgIGx1cmwuaWQgPSA2O1xyXG4gICAgbHVybC5rZXkgPSAnbG9jYWxpemF0aW9uQXBpVXJsJztcclxuICAgIGx1cmwudmFsdWUgPSAnaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9CTVMuRFNULkxvY2FsaXphdGlvbi8nO1xyXG4gICAgdGhpcy51cmxQYXJhbXMucHVzaChoZWFkZXJzKTtcclxuICAgIHRoaXMudXJsUGFyYW1zLnB1c2goc3R5bGVzKTtcclxuICAgIHRoaXMudXJsUGFyYW1zLnB1c2goYXVybCk7XHJcbiAgICB0aGlzLnVybFBhcmFtcy5wdXNoKHB1cmwpO1xyXG4gICAgdGhpcy51cmxQYXJhbXMucHVzaChxdXJsKTtcclxuICAgIHRoaXMudXJsUGFyYW1zLnB1c2gobHVybCk7XHJcbiAgfSovXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ProductHdComponent } from './product-hd.component';
|
|
4
|
+
export class ProductHdModule {
|
|
5
|
+
}
|
|
6
|
+
ProductHdModule.decorators = [
|
|
7
|
+
{ type: NgModule, args: [{
|
|
8
|
+
imports: [
|
|
9
|
+
CommonModule
|
|
10
|
+
],
|
|
11
|
+
declarations: [
|
|
12
|
+
ProductHdComponent
|
|
13
|
+
],
|
|
14
|
+
schemas: [
|
|
15
|
+
CUSTOM_ELEMENTS_SCHEMA,
|
|
16
|
+
NO_ERRORS_SCHEMA
|
|
17
|
+
],
|
|
18
|
+
exports: [
|
|
19
|
+
ProductHdComponent
|
|
20
|
+
]
|
|
21
|
+
},] }
|
|
22
|
+
];
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1oZC9wcm9kdWN0LWhkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQWlCMUQsTUFBTSxPQUFPLGVBQWU7OztZQWYzQixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7aUJBQ2Y7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLGtCQUFrQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLHNCQUFzQjtvQkFDdEIsZ0JBQWdCO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsa0JBQWtCO2lCQUNyQjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSwgTk9fRVJST1JTX1NDSEVNQX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1Byb2R1Y3RIZENvbXBvbmVudH0gZnJvbSAnLi9wcm9kdWN0LWhkLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFByb2R1Y3RIZENvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIHNjaGVtYXM6IFtcclxuICAgICAgICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxyXG4gICAgICAgIE5PX0VSUk9SU19TQ0hFTUFcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgUHJvZHVjdEhkQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0SGRNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -35,6 +35,7 @@ export class IoneProductComponent {
|
|
|
35
35
|
this.onAddToQuote = new EventEmitter();
|
|
36
36
|
this.openStockEvent = new EventEmitter();
|
|
37
37
|
this.settingsLoaded = false;
|
|
38
|
+
this.showHD = false;
|
|
38
39
|
this._subs = [];
|
|
39
40
|
this._subs.push(
|
|
40
41
|
// this._dictionary.dictionaryLoaded.subscribe(d => this.upAndLoaded = true),
|
|
@@ -94,7 +95,8 @@ IoneProductComponent.decorators = [
|
|
|
94
95
|
[sku]="sku"
|
|
95
96
|
[showRelatedProductsPopup]="showRelatedProductsPopup"
|
|
96
97
|
></app-product-page>
|
|
97
|
-
|
|
98
|
+
<!-- <co-button [label]="'click'" (click)="showHD = !showHD"></co-button>
|
|
99
|
+
<co-product-hd [sku]="'657946ca-e1e1-41fd-7ae0-08dbf7df0cef'" *ngIf="showHD"></co-product-hd>-->
|
|
98
100
|
`,
|
|
99
101
|
encapsulation: ViewEncapsulation.Emulated,
|
|
100
102
|
styles: [""]
|
|
@@ -123,4 +125,4 @@ IoneProductComponent.propDecorators = {
|
|
|
123
125
|
onAddToQuote: [{ type: Output }],
|
|
124
126
|
openStockEvent: [{ type: Output }]
|
|
125
127
|
};
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uZS1wcm9kdWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvaW9uZS1wcm9kdWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBb0IxRSxNQUFNLE9BQU8sb0JBQW9CO0lBMEQvQixZQUNVLFdBQThCLEVBQzlCLFVBQTRCLEVBQzVCLEtBQThCLEVBQzlCLGVBQWtDLEVBQ2xDLGdCQUFxQyxFQUNyQyxnQkFBd0M7UUFFaEQsd0JBQXdCO1FBQ3hCLDBCQUEwQjtRQUMxQiw0QkFBNEI7UUFDNUIsNEJBQTRCO1FBQzVCLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLHlCQUF5QjtRQUN6Qix1QkFBdUI7UUFsQmYsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBQ3JDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7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QWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8seUJBQXlCLENBQUMsSUFBWTtRQUM1QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFYSxnQkFBZ0IsQ0FBQyxJQUF1RTs7WUFDcEcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQztLQUFBO0lBQ00sU0FBUztRQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7O1lBdElGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7Ozs7OztHQVNUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxRQUFROzthQUUxQzs7O1lBdkJPLGlCQUFpQjtZQUZqQixnQkFBZ0I7WUFDaEIsdUJBQXVCO1lBWjdCLGlCQUFpQjtZQWVYLG1CQUFtQjtZQUVuQixzQkFBc0I7OztrQkFzQjNCLEtBQUs7dUJBR0wsS0FBSzt1Q0FHTCxLQUFLO3VCQUdMLEtBQUs7eUNBZUwsS0FBSzswQkFHTCxNQUFNOytCQUdOLE1BQU07aUNBR04sTUFBTTtvQ0FHTixNQUFNO2dDQUdOLE1BQU07bUNBR04sTUFBTTsyQkFHTixNQUFNOzZCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtKc29uVXRpbHNTZXJ2aWNlfSBmcm9tICcuL3V0aWxzL2pzb24tdXRpbHMuc2VydmljZSc7XG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvcHJvZHVjdC1jb25uZWN0b3Iuc2VydmljZSc7XG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7UHJvZHVjdEV2ZW50U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3QtZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpc3Qtb2JqZWN0JztcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQge1NlbGVjdGlvbn0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc2VsZWN0aW9uJztcbmltcG9ydCB7QXJ0aWNsZVF1aWNrU2VsfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXF1aWNrLXNlbCc7XG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QtZXh0ZW5kZWQuYm8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW9uZS1wcm9kdWN0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICAgIDxhcHAtcHJvZHVjdC1wYWdlICpuZ0lmPVwic2V0dGluZ3NMb2FkZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NyZWF0ZUZyb3plbkFydGljbGVdPVwiaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzUmV0dXJuXT1cImlzUmV0dXJuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvcGVuU3RvY2tFdmVudCk9XCJvcGVuU3RvY2soKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2t1XT1cInNrdVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1JlbGF0ZWRQcm9kdWN0c1BvcHVwXT1cInNob3dSZWxhdGVkUHJvZHVjdHNQb3B1cFwiXG4gICAgICA+PC9hcHAtcHJvZHVjdC1wYWdlPlxuXG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBzdHlsZVVybHM6IFsnLi9pb25lLXByb2R1Y3QuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIElvbmVQcm9kdWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNrdTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc1JldHVybjogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd1JlbGF0ZWRQcm9kdWN0c1BvcHVwOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2V0dGluZ3ModmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSBKU09OLnBhcnNlKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBzZXR0aW5ncygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9zZXR0aW5ncztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoYW5kbGVBZGRBcnRpY2xlSW50ZXJuYWxseTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFkZFRvQ2FydDogRXZlbnRFbWl0dGVyPHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlciB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmb3JjZVJlbmRlckltYWdlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFsdGVybmF0aXZlQ2xpY2s6IEV2ZW50RW1pdHRlcjxBcnRpY2xlTGlzdE9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFydGljbGVMaXN0T2JqZWN0PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BcnRpY2xlSW5mb1JlY2VpdmVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BcnRpY2xlUmVjZWl2ZWQ6IEV2ZW50RW1pdHRlcjxBcnRpY2xlUXVpY2tTZWw+ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlUXVpY2tTZWw+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvblNlbGVjdGlvbnNSZWNlaXZlZDogRXZlbnRFbWl0dGVyPFNlbGVjdGlvbltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0aW9uW10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFkZFRvUXVvdGU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvcGVuU3RvY2tFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBzZXR0aW5nc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3NldHRpbmdzOiBhbnk7XG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IgKFxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2pzb25VdGlsczogSnNvblV0aWxzU2VydmljZSxcbiAgICBwcml2YXRlIF9pb25lOiBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfYXBwRXZlbnRTZXJ2aWNlOiBQcm9kdWN0RXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3NldHRpbmdzU2VydmljZTogUHJvZHVjdFNldHRpbmdzU2VydmljZVxuICApIHtcbiAgICAvLyB0aGlzLnNrdSA9ICdDRi1ISUxMJztcbiAgICAvLyB0aGlzLnNrdSA9ICdDRi1BTE1BREEnO1xuICAgIC8vIHRoaXMuc2t1ID0gJ0NGLTM5OTA0QU5UJztcbiAgICAvLyB0aGlzLnNrdSA9ICdDRi0yMjM0NjAwMSc7XG4gICAgLy8gdGhpcy5za3UgPSAnMTA0JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDAwNTYxOTg2JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDAwNTY3NzY4JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDAwMjM0NzkzJztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDY2JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDQnO1xuICAgIC8vIHRoaXMuc2t1ID0gXCI3MDAwMDEwN1wiO1xuICAgIC8vIHRoaXMuc2t1ID0gXCJncm92ZXJcIjtcblxuICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgIC8vIHRoaXMuX2RpY3Rpb25hcnkuZGljdGlvbmFyeUxvYWRlZC5zdWJzY3JpYmUoZCA9PiB0aGlzLnVwQW5kTG9hZGVkID0gdHJ1ZSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQuc3Vic2NyaWJlKChkYXRhOiB7IGFydGljbGU6IHN0cmluZyB8IEFydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWQsIHF1YW50aXR5OiBudW1iZXIgfSkgPT4ge1xuICAgICAgICB0aGlzLl9oYW5kbGVBZGRUb0NhcnQoZGF0YSk7XG4gICAgICB9KSxcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFkZFRvUXVvdGUuc3Vic2NyaWJlKGpzb24gPT4gdGhpcy5vbkFkZFRvUXVvdGUuZW1pdChqc29uKSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BbHRlcm5hdGl2ZUNsaWNrLnN1YnNjcmliZShhcnRpY2xlID0+IHRoaXMub25BbHRlcm5hdGl2ZUNsaWNrLmVtaXQoYXJ0aWNsZSkpLFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQXJ0aWNsZUluZm9SZWNlaXZlZC5zdWJzY3JpYmUoaW5mbyA9PiB0aGlzLl9oYW5kbGVBbnN3ZXJJbmZvUmVjZWl2ZWQoaW5mbykpLFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQXJ0aWNsZVJlY2VpdmVkLnN1YnNjcmliZShhcnRpY2xlID0+IHRoaXMub25BcnRpY2xlUmVjZWl2ZWQuZW1pdChhcnRpY2xlKSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25TZWxlY3Rpb25zUmVjZWl2ZWQuc3Vic2NyaWJlKHNlbGVjdGlvbnMgPT4gdGhpcy5vblNlbGVjdGlvbnNSZWNlaXZlZC5lbWl0KHNlbGVjdGlvbnMpKSxcbiAgICAgIHRoaXMuX3NldHRpbmdzU2VydmljZS5zZXR0aW5nc0xvYWRlZC5zdWJzY3JpYmUobG9hZGVkID0+IHtcbiAgICAgICAgdGhpcy5zZXR0aW5nc0xvYWRlZCA9IGxvYWRlZDtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLl9zZXR0aW5nc1NlcnZpY2UuaW5pdGlhbGl6ZVNldHRpbmdzKHRoaXMuX3NldHRpbmdzID09PSB1bmRlZmluZWQpO1xuICAgIGlmICh0aGlzLl9zZXR0aW5ncykge1xuICAgICAgdGhpcy5fc2V0dGluZ3NTZXJ2aWNlLmNyZWF0ZVNldHRpbmdzRnJvbU9iamVjdCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVBbnN3ZXJJbmZvUmVjZWl2ZWQoaW5mbzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5vbkFydGljbGVJbmZvUmVjZWl2ZWQubmV4dChpbmZvKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZUFkZFRvQ2FydChkYXRhOiB7IGFydGljbGU6IHN0cmluZyB8IEFydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWQsIHF1YW50aXR5OiBudW1iZXIgfSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMub25BZGRUb0NhcnQuZW1pdChkYXRhKTtcbiAgfVxuICBwdWJsaWMgb3BlblN0b2NrKCkge1xuICAgIHRoaXMub3BlblN0b2NrRXZlbnQuZW1pdCgpO1xuICB9XG59XG4iXX0=
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uZS1wcm9kdWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvaW9uZS1wcm9kdWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBcUIxRSxNQUFNLE9BQU8sb0JBQW9CO0lBMkQvQixZQUNVLFdBQThCLEVBQzlCLFVBQTRCLEVBQzVCLEtBQThCLEVBQzlCLGVBQWtDLEVBQ2xDLGdCQUFxQyxFQUNyQyxnQkFBd0M7UUFFaEQsd0JBQXdCO1FBQ3hCLDBCQUEwQjtRQUMxQiw0QkFBNEI7UUFDNUIsNEJBQTRCO1FBQzVCLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLHlCQUF5QjtRQUN6Qix1QkFBdUI7UUFsQmYsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBQ3JDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7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Q2hDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxJQUFZO1FBQzVDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVhLGdCQUFnQixDQUFDLElBQXVFOztZQUNwRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDO0tBQUE7SUFDTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs7WUF4SUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7OztHQVVUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxRQUFROzthQUUxQzs7O1lBeEJPLGlCQUFpQjtZQUZqQixnQkFBZ0I7WUFDaEIsdUJBQXVCO1lBWjdCLGlCQUFpQjtZQWVYLG1CQUFtQjtZQUVuQixzQkFBc0I7OztrQkF1QjNCLEtBQUs7dUJBR0wsS0FBSzt1Q0FHTCxLQUFLO3VCQUdMLEtBQUs7eUNBZUwsS0FBSzswQkFHTCxNQUFNOytCQUdOLE1BQU07aUNBR04sTUFBTTtvQ0FHTixNQUFNO2dDQUdOLE1BQU07bUNBR04sTUFBTTsyQkFHTixNQUFNOzZCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtKc29uVXRpbHNTZXJ2aWNlfSBmcm9tICcuL3V0aWxzL2pzb24tdXRpbHMuc2VydmljZSc7XG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvcHJvZHVjdC1jb25uZWN0b3Iuc2VydmljZSc7XG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7UHJvZHVjdEV2ZW50U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3QtZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpc3Qtb2JqZWN0JztcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQge1NlbGVjdGlvbn0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc2VsZWN0aW9uJztcbmltcG9ydCB7QXJ0aWNsZVF1aWNrU2VsfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXF1aWNrLXNlbCc7XG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QtZXh0ZW5kZWQuYm8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW9uZS1wcm9kdWN0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICAgIDxhcHAtcHJvZHVjdC1wYWdlICpuZ0lmPVwic2V0dGluZ3NMb2FkZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NyZWF0ZUZyb3plbkFydGljbGVdPVwiaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzUmV0dXJuXT1cImlzUmV0dXJuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvcGVuU3RvY2tFdmVudCk9XCJvcGVuU3RvY2soKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2t1XT1cInNrdVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1JlbGF0ZWRQcm9kdWN0c1BvcHVwXT1cInNob3dSZWxhdGVkUHJvZHVjdHNQb3B1cFwiXG4gICAgICA+PC9hcHAtcHJvZHVjdC1wYWdlPlxuPCEtLSAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInY2xpY2snXCIgKGNsaWNrKT1cInNob3dIRCA9ICFzaG93SERcIj48L2NvLWJ1dHRvbj5cbiAgICAgIDxjby1wcm9kdWN0LWhkIFtza3VdPVwiJzY1Nzk0NmNhLWUxZTEtNDFmZC03YWUwLTA4ZGJmN2RmMGNlZidcIiAqbmdJZj1cInNob3dIRFwiPjwvY28tcHJvZHVjdC1oZD4tLT5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gIHN0eWxlVXJsczogWycuL2lvbmUtcHJvZHVjdC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW9uZVByb2R1Y3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2t1OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzUmV0dXJuOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93UmVsYXRlZFByb2R1Y3RzUG9wdXA6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZXR0aW5ncyh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLl9zZXR0aW5ncyA9IEpTT04ucGFyc2UodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNldHRpbmdzKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5OiBib29sZWFuID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQWRkVG9DYXJ0OiBFdmVudEVtaXR0ZXI8eyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IGFydGljbGU6IHN0cmluZyB8IEFydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWQsIHF1YW50aXR5OiBudW1iZXIgfT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGZvcmNlUmVuZGVySW1hZ2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQWx0ZXJuYXRpdmVDbGljazogRXZlbnRFbWl0dGVyPEFydGljbGVMaXN0T2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZUxpc3RPYmplY3Q+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFydGljbGVJbmZvUmVjZWl2ZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFydGljbGVSZWNlaXZlZDogRXZlbnRFbWl0dGVyPEFydGljbGVRdWlja1NlbD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFydGljbGVRdWlja1NlbD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uU2VsZWN0aW9uc1JlY2VpdmVkOiBFdmVudEVtaXR0ZXI8U2VsZWN0aW9uW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25bXT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQWRkVG9RdW90ZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9wZW5TdG9ja0V2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIHNldHRpbmdzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93SEQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9zZXR0aW5nczogYW55O1xuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yIChcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcbiAgICBwcml2YXRlIF9qc29uVXRpbHM6IEpzb25VdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBfaW9uZTogUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX2FwcEV2ZW50U2VydmljZTogUHJvZHVjdEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIF9zZXR0aW5nc1NlcnZpY2U6IFByb2R1Y3RTZXR0aW5nc1NlcnZpY2VcbiAgKSB7XG4gICAgLy8gdGhpcy5za3UgPSAnQ0YtSElMTCc7XG4gICAgLy8gdGhpcy5za3UgPSAnQ0YtQUxNQURBJztcbiAgICAvLyB0aGlzLnNrdSA9ICdDRi0zOTkwNEFOVCc7XG4gICAgLy8gdGhpcy5za3UgPSAnQ0YtMjIzNDYwMDEnO1xuICAgIC8vIHRoaXMuc2t1ID0gJzEwNCc7XG4gICAgLy8gdGhpcy5za3UgPSAnMTAwMDU2MTk4Nic7XG4gICAgLy8gdGhpcy5za3UgPSAnMTAwMDU2Nzc2OCc7XG4gICAgLy8gdGhpcy5za3UgPSAnMTAwMDIzNDc5Myc7XG4gICAgLy8gdGhpcy5za3UgPSAnMTA2Nic7XG4gICAgLy8gdGhpcy5za3UgPSAnMTA0JztcbiAgICAvLyB0aGlzLnNrdSA9IFwiNzAwMDAxMDdcIjtcbiAgICAvLyB0aGlzLnNrdSA9IFwiZ3JvdmVyXCI7XG5cbiAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICAvLyB0aGlzLl9kaWN0aW9uYXJ5LmRpY3Rpb25hcnlMb2FkZWQuc3Vic2NyaWJlKGQgPT4gdGhpcy51cEFuZExvYWRlZCA9IHRydWUpLFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWRkVG9DYXJ0LnN1YnNjcmliZSgoZGF0YTogeyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgdGhpcy5faGFuZGxlQWRkVG9DYXJ0KGRhdGEpO1xuICAgICAgfSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb1F1b3RlLnN1YnNjcmliZShqc29uID0+IHRoaXMub25BZGRUb1F1b3RlLmVtaXQoanNvbikpLFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWx0ZXJuYXRpdmVDbGljay5zdWJzY3JpYmUoYXJ0aWNsZSA9PiB0aGlzLm9uQWx0ZXJuYXRpdmVDbGljay5lbWl0KGFydGljbGUpKSxcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFydGljbGVJbmZvUmVjZWl2ZWQuc3Vic2NyaWJlKGluZm8gPT4gdGhpcy5faGFuZGxlQW5zd2VySW5mb1JlY2VpdmVkKGluZm8pKSxcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFydGljbGVSZWNlaXZlZC5zdWJzY3JpYmUoYXJ0aWNsZSA9PiB0aGlzLm9uQXJ0aWNsZVJlY2VpdmVkLmVtaXQoYXJ0aWNsZSkpLFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uU2VsZWN0aW9uc1JlY2VpdmVkLnN1YnNjcmliZShzZWxlY3Rpb25zID0+IHRoaXMub25TZWxlY3Rpb25zUmVjZWl2ZWQuZW1pdChzZWxlY3Rpb25zKSksXG4gICAgICB0aGlzLl9zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3NMb2FkZWQuc3Vic2NyaWJlKGxvYWRlZCA9PiB7XG4gICAgICAgIHRoaXMuc2V0dGluZ3NMb2FkZWQgPSBsb2FkZWQ7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5fc2V0dGluZ3NTZXJ2aWNlLmluaXRpYWxpemVTZXR0aW5ncyh0aGlzLl9zZXR0aW5ncyA9PT0gdW5kZWZpbmVkKTtcbiAgICBpZiAodGhpcy5fc2V0dGluZ3MpIHtcbiAgICAgIHRoaXMuX3NldHRpbmdzU2VydmljZS5jcmVhdGVTZXR0aW5nc0Zyb21PYmplY3QodGhpcy5fc2V0dGluZ3MpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQW5zd2VySW5mb1JlY2VpdmVkKGluZm86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMub25BcnRpY2xlSW5mb1JlY2VpdmVkLm5leHQoaW5mbyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9oYW5kbGVBZGRUb0NhcnQoZGF0YTogeyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLm9uQWRkVG9DYXJ0LmVtaXQoZGF0YSk7XG4gIH1cbiAgcHVibGljIG9wZW5TdG9jaygpIHtcbiAgICB0aGlzLm9wZW5TdG9ja0V2ZW50LmVtaXQoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,22 +1,26 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
2
|
import { IoneProductComponent } from './ione-product.component';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
-
//
|
|
4
|
+
//import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
|
5
5
|
import { ProductPageModule } from './components/product-page/product-page.module';
|
|
6
6
|
import { ProductSettingsService } from './service/product-settings.service';
|
|
7
7
|
import { ProductConnectorService } from './service/product-connector.service';
|
|
8
8
|
import { ProductConnectorAdapterService } from './service/product-connector-adapter.service';
|
|
9
9
|
import { ProductEventService } from './service/product-event.service';
|
|
10
|
-
import {
|
|
10
|
+
import { ProductHdModule } from './components/product-hd/product-hd.module';
|
|
11
|
+
import { ProductExternalSourceModule } from './components/product-external-source/product-external-source.module';
|
|
12
|
+
import { ButtonModule } from '@colijnit/corecomponents_v12';
|
|
11
13
|
export class IoneProductModule {
|
|
12
14
|
}
|
|
13
15
|
IoneProductModule.decorators = [
|
|
14
16
|
{ type: NgModule, args: [{
|
|
15
17
|
imports: [
|
|
16
|
-
//
|
|
18
|
+
//BrowserAnimationsModule,
|
|
17
19
|
CommonModule,
|
|
18
20
|
ProductPageModule,
|
|
19
|
-
|
|
21
|
+
ProductHdModule,
|
|
22
|
+
ProductExternalSourceModule,
|
|
23
|
+
ButtonModule
|
|
20
24
|
],
|
|
21
25
|
declarations: [
|
|
22
26
|
IoneProductComponent
|
|
@@ -24,6 +28,10 @@ IoneProductModule.decorators = [
|
|
|
24
28
|
exports: [
|
|
25
29
|
IoneProductComponent
|
|
26
30
|
],
|
|
31
|
+
schemas: [
|
|
32
|
+
CUSTOM_ELEMENTS_SCHEMA,
|
|
33
|
+
NO_ERRORS_SCHEMA
|
|
34
|
+
],
|
|
27
35
|
bootstrap: [
|
|
28
36
|
IoneProductComponent
|
|
29
37
|
],
|
|
@@ -35,4 +43,4 @@ IoneProductModule.decorators = [
|
|
|
35
43
|
]
|
|
36
44
|
},] }
|
|
37
45
|
];
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uZS1wcm9kdWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvaW9uZS1wcm9kdWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QywrRUFBK0U7QUFDL0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDM0YsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQStCMUQsTUFBTSxPQUFPLGlCQUFpQjs7O1lBN0I3QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLDBCQUEwQjtvQkFDMUIsWUFBWTtvQkFDWixpQkFBaUI7b0JBQ2pCLGVBQWU7b0JBQ2YsMkJBQTJCO29CQUMzQixZQUFZO2lCQUNiO2dCQUNDLFlBQVksRUFBRTtvQkFDVixvQkFBb0I7aUJBQ3ZCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxvQkFBb0I7aUJBQ3ZCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxzQkFBc0I7b0JBQ3RCLGdCQUFnQjtpQkFDbkI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLG9CQUFvQjtpQkFDdkI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLHNCQUFzQjtvQkFDdEIsdUJBQXVCO29CQUN2QixtQkFBbUI7b0JBQ25CLDhCQUE4QjtpQkFDakM7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUF9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJb25lUHJvZHVjdENvbXBvbmVudH0gZnJvbSAnLi9pb25lLXByb2R1Y3QuY29tcG9uZW50JztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuLy9pbXBvcnQge0Jyb3dzZXJBbmltYXRpb25zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtQcm9kdWN0UGFnZU1vZHVsZX0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2R1Y3QtcGFnZS9wcm9kdWN0LXBhZ2UubW9kdWxlJztcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvcHJvZHVjdC1jb25uZWN0b3Iuc2VydmljZSc7XG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQge1Byb2R1Y3RFdmVudFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9wcm9kdWN0LWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtQcm9kdWN0SGRNb2R1bGV9IGZyb20gJy4vY29tcG9uZW50cy9wcm9kdWN0LWhkL3Byb2R1Y3QtaGQubW9kdWxlJztcbmltcG9ydCB7UHJvZHVjdEV4dGVybmFsU291cmNlTW9kdWxlfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZHVjdC1leHRlcm5hbC1zb3VyY2UvcHJvZHVjdC1leHRlcm5hbC1zb3VyY2UubW9kdWxlJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIC8vQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFByb2R1Y3RQYWdlTW9kdWxlLFxuICAgIFByb2R1Y3RIZE1vZHVsZSxcbiAgICBQcm9kdWN0RXh0ZXJuYWxTb3VyY2VNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlXG4gIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIElvbmVQcm9kdWN0Q29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIElvbmVQcm9kdWN0Q29tcG9uZW50XG4gICAgXSxcbiAgICBzY2hlbWFzOiBbXG4gICAgICAgIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gICAgICAgIE5PX0VSUk9SU19TQ0hFTUFcbiAgICBdLFxuICAgIGJvb3RzdHJhcDogW1xuICAgICAgICBJb25lUHJvZHVjdENvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFByb2R1Y3RTZXR0aW5nc1NlcnZpY2UsXG4gICAgICAgIFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlLFxuICAgICAgICBQcm9kdWN0RXZlbnRTZXJ2aWNlLFxuICAgICAgICBQcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2VcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElvbmVQcm9kdWN0TW9kdWxlIHtcbn1cbiJdfQ==
|
|
@@ -3,8 +3,8 @@ export class Version {
|
|
|
3
3
|
constructor() {
|
|
4
4
|
this.name = "@colijnit/product";
|
|
5
5
|
this.description = "Product detail page project for iOne";
|
|
6
|
-
this.symVer = "256.1.
|
|
7
|
-
this.publishDate = "
|
|
6
|
+
this.symVer = "256.1.5";
|
|
7
|
+
this.publishDate = "8-2-2025 23:16:14";
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9wcm9kdWN0LXZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE1BQU0sT0FBTyxPQUFPO0lBQXBCO1FBQ1MsU0FBSSxHQUFHLG1CQUFtQixDQUFDO1FBQzNCLGdCQUFXLEdBQUcsc0NBQXNDLENBQUM7UUFDckQsV0FBTSxHQUFHLFNBQVMsQ0FBQztRQUNuQixnQkFBVyxHQUFHLG1CQUFtQixDQUFDO0lBQzNDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRoaXMgZmlsZSBpcyBkeW5hbWljYWxseSBjcmVhdGVkLCBkbyBub3QgY2hhbmdlIHRoaXNcbmV4cG9ydCBjbGFzcyBWZXJzaW9uIHtcbiAgcHVibGljIG5hbWUgPSBcIkBjb2xpam5pdC9wcm9kdWN0XCI7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9IFwiUHJvZHVjdCBkZXRhaWwgcGFnZSBwcm9qZWN0IGZvciBpT25lXCI7XG4gIHB1YmxpYyBzeW1WZXIgPSBcIjI1Ni4xLjVcIjtcbiAgcHVibGljIHB1Ymxpc2hEYXRlID0gXCI4LTItMjAyNSAyMzoxNjoxNFwiO1xufSJdfQ==
|