@esolve/ng-esolve-connect 0.27.4 → 0.27.6
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/esm2020/lib/coupons/esolve-coupons.service.mjs +16 -3
- package/esm2020/lib/session/esolve-session.service.mjs +19 -5
- package/esm2020/lib/stock/classes/esolve-stock-image-collection.model.mjs +2 -2
- package/esm2020/lib/stock/classes/esolve-stock-image.model.mjs +8 -3
- package/esm2020/lib/stock/classes/esolve-stock-item-base.model.mjs +11 -2
- package/esm2020/lib/stock/interfaces/esolve-stock-image-collection-record.interface.mjs +1 -1
- package/fesm2015/esolve-ng-esolve-connect.mjs +78 -37
- package/fesm2015/esolve-ng-esolve-connect.mjs.map +1 -1
- package/fesm2020/esolve-ng-esolve-connect.mjs +51 -10
- package/fesm2020/esolve-ng-esolve-connect.mjs.map +1 -1
- package/lib/stock/classes/esolve-stock-image.model.d.ts +2 -1
- package/lib/stock/classes/esolve-stock-item-base.model.d.ts +4 -0
- package/lib/stock/interfaces/esolve-stock-image-collection-record.interface.d.ts +1 -0
- package/package.json +1 -1
|
@@ -94,8 +94,15 @@ export class EsolveCouponsService {
|
|
|
94
94
|
this.deleteCoupons();
|
|
95
95
|
}
|
|
96
96
|
retrieveCache() {
|
|
97
|
-
if (this.cookieService.check(this.storage_key)
|
|
98
|
-
|
|
97
|
+
if (this.cookieService.check(this.storage_key) ||
|
|
98
|
+
localStorage.getItem(this.storage_key)) {
|
|
99
|
+
let coupons_json = this.cookieService.get(this.storage_key);
|
|
100
|
+
if (coupons_json === '' && localStorage) {
|
|
101
|
+
let local_store_data = localStorage.getItem(this.storage_key);
|
|
102
|
+
if (local_store_data) {
|
|
103
|
+
coupons_json = local_store_data;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
99
106
|
try {
|
|
100
107
|
return this.jsonDecodeMap(coupons_json);
|
|
101
108
|
}
|
|
@@ -109,6 +116,9 @@ export class EsolveCouponsService {
|
|
|
109
116
|
if (this.coupons_cache.size > 0) {
|
|
110
117
|
const coupons_json = this.jsonEncodeMap(this.coupons_cache);
|
|
111
118
|
this.cookieService.set(this.storage_key, coupons_json, undefined, '/');
|
|
119
|
+
if (localStorage) {
|
|
120
|
+
localStorage.setItem(this.storage_key, coupons_json);
|
|
121
|
+
}
|
|
112
122
|
}
|
|
113
123
|
else {
|
|
114
124
|
this.deleteCoupons();
|
|
@@ -117,6 +127,9 @@ export class EsolveCouponsService {
|
|
|
117
127
|
deleteCoupons() {
|
|
118
128
|
this.coupons_cache.clear();
|
|
119
129
|
this.cookieService.delete(this.storage_key, '/');
|
|
130
|
+
if (localStorage) {
|
|
131
|
+
localStorage.removeItem(this.storage_key);
|
|
132
|
+
}
|
|
120
133
|
}
|
|
121
134
|
addCoupon(id, key) {
|
|
122
135
|
if (!this.coupons_cache.has(id)) {
|
|
@@ -183,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
183
196
|
type: Inject,
|
|
184
197
|
args: [ESOLVE_CONNECT_CONFIG]
|
|
185
198
|
}] }, { type: i1.HttpClient }, { type: i2.EsolveCookieService }]; } });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNvdXBvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY291cG9ucy9lc29sdmUtY291cG9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUsxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBYXpDLE1BQU0sT0FBTyxvQkFBb0I7SUFNN0IsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0IsRUFDaEIsYUFBa0M7UUFGSCxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVJ0QyxnQkFBVyxHQUFHLGtCQUFrQixDQUFDO1FBQ2pDLGtCQUFhLEdBQXVCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDOUMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUEyQyxDQUFDO1FBTzlFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU0saUJBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lB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T0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7Z0JBQzdDLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUU7b0JBQzFCLE9BQU8sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMvQjthQUNKO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksWUFBWSxHQUFHLEVBQUU7WUFDckIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQTZCO1FBQ2hELE1BQU0sT0FBTyxHQUFtQixFQUFFLENBQUM7UUFFbkMsSUFBSSxPQUFPLEVBQUU7WUFDVCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRXhDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDeEI7U0FDSjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7O2tIQXJOUSxvQkFBb0Isa0JBT2pCLHFCQUFxQjtzSEFQeEIsb0JBQW9CLGNBRmpCLE1BQU07NEZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBUVEsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEVTT0xWRV9DT05ORUNUX0NPTkZJRyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LWNvbmZpZy5jb25zdGFudCc7XHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlQ29va2llU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9jb29raWUvZXNvbHZlLWNvb2tpZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UgfSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFc29sdmVDb3Vwb24gfSBmcm9tICcuL2NsYXNzZXMnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIEVzb2x2ZUNvdXBvblJlY29yZCxcclxuICAgIEVzb2x2ZUNvdXBvblZhbGlkYXRpb24sXHJcbiAgICBFc29sdmVDb3Vwb25WYWxpZGF0aW9uRXJyb3IsXHJcbiAgICBFc29sdmVDb3Vwb25WYWxpZGF0aW9uUmVzdWx0LFxyXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEVzb2x2ZUNvdXBvbnNDYWNoZSB9IGZyb20gJy4vdHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlQ291cG9uc1NlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBzdG9yYWdlX2tleSA9ICdfbmdfZXNsdl9jb3Vwb25zJztcclxuICAgIHByaXZhdGUgY291cG9uc19jYWNoZTogRXNvbHZlQ291cG9uc0NhY2hlID0gbmV3IE1hcCgpO1xyXG4gICAgcHJpdmF0ZSBhcHBsaWVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xyXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uX2Vycm9yID0gbmV3IFN1YmplY3Q8RXNvbHZlQ291cG9uVmFsaWRhdGlvbkVycm9yIHwgdW5kZWZpbmVkPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBFc29sdmVDb29raWVTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdG9yYWdlS2V5KCk7XHJcbiAgICAgICAgdGhpcy5jb3Vwb25zX2NhY2hlID0gdGhpcy5yZXRyaWV2ZUNhY2hlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uVmFsaWRhdGlvbkVycm9yKCk6IE9ic2VydmFibGU8RXNvbHZlQ291cG9uVmFsaWRhdGlvbkVycm9yIHwgdW5kZWZpbmVkPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGlvbl9lcnJvci5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25BcHBsaWVkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwcGxpZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHZhbGlkYXRlKGNvdXBvbl9rZXk6IHN0cmluZyk6IE9ic2VydmFibGU8RXNvbHZlQ291cG9uVmFsaWRhdGlvblJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVDb3Vwb25WYWxpZGF0aW9uPj4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtdmFsaWRhdGUtY291cG9uLnBocGAsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvdXBvbl9rZXksXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkID0gcmVzcG9uc2UucmVjb3Jkcy52YWxpZDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBFc29sdmVDb3Vwb25WYWxpZGF0aW9uUmVzdWx0ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCxcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbGlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gcmVzcG9uc2UucmVjb3Jkcy5lcnJvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uX2Vycm9yLm5leHQoZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmlkID0gcmVzcG9uc2UucmVjb3Jkcy5pZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbl9lcnJvci5uZXh0KHVuZGVmaW5lZCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih7IHZhbGlkOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBhcHBseUNvdXBvbihjb3Vwb25fa2V5OiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAoY291cG9uX2tleS50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMudmFsaWRhdGUoY291cG9uX2tleSkpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHJlc3VsdC52YWxpZCAmJiByZXN1bHQuaWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWRkQ291cG9uKHJlc3VsdC5pZCwgY291cG9uX2tleSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQudmFsaWQ7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlQ291cG9uKGlkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvdXBvbnNfY2FjaGUuZGVsZXRlKGlkKTtcclxuXHJcbiAgICAgICAgdGhpcy5jYWNoZUNvdXBvbnMoKTtcclxuICAgICAgICB0aGlzLmFwcGxpZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRBcHBsaWVkQ291cG9uS2V5cygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzLmNvdXBvbnNfY2FjaGUudmFsdWVzKCldO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRBcHBsaWVkQ291cG9ucygpOiBPYnNlcnZhYmxlPEVzb2x2ZUNvdXBvbltdPiB7XHJcbiAgICAgICAgY29uc3QgY291cG9uX2lkcyA9IFsuLi50aGlzLmNvdXBvbnNfY2FjaGUua2V5cygpXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUNvdXBvblJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtYXBwbGllZC1jb3Vwb25zLnBocGAsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvdXBvbnM6IGNvdXBvbl9pZHMuam9pbignLCcpLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ291cG9ucyhyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZXNldCgpIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZUNvdXBvbnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJldHJpZXZlQ2FjaGUoKTogRXNvbHZlQ291cG9uc0NhY2hlIHtcclxuICAgICAgICBpZiAodGhpcy5jb29raWVTZXJ2aWNlLmNoZWNrKHRoaXMuc3RvcmFnZV9rZXkpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvdXBvbnNfanNvbiA9IHRoaXMuY29va2llU2VydmljZS5nZXQodGhpcy5zdG9yYWdlX2tleSk7XHJcblxyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuanNvbkRlY29kZU1hcChjb3Vwb25zX2pzb24pO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgLy8gc29mdCBlcnJvclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmV3IE1hcCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2FjaGVDb3Vwb25zKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvdXBvbnNfY2FjaGUuc2l6ZSA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgY291cG9uc19qc29uID0gdGhpcy5qc29uRW5jb2RlTWFwKHRoaXMuY291cG9uc19jYWNoZSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KHRoaXMuc3RvcmFnZV9rZXksIGNvdXBvbnNfanNvbiwgdW5kZWZpbmVkLCAnLycpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlQ291cG9ucygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRlbGV0ZUNvdXBvbnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb3Vwb25zX2NhY2hlLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLmRlbGV0ZSh0aGlzLnN0b3JhZ2Vfa2V5LCAnLycpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkQ291cG9uKGlkOiBudW1iZXIsIGtleTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvdXBvbnNfY2FjaGUuaGFzKGlkKSkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5jb3Vwb25zX2NhY2hlLnNldChpZCwga2V5KTtcclxuICAgICAgICAgICAgdGhpcy5jYWNoZUNvdXBvbnMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuYXBwbGllZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRTdG9yYWdlS2V5KCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgdHlwZW9mIHRoaXMuY29uZmlnLmNvdXBvbl9zdG9yYWdlX2tleSA9PT0gJ3N0cmluZycgJiZcclxuICAgICAgICAgICAgdGhpcy5jb25maWcuY291cG9uX3N0b3JhZ2Vfa2V5ICE9PSAnJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Vfa2V5ID0gdGhpcy5jb25maWcuY291cG9uX3N0b3JhZ2Vfa2V5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGpzb25FbmNvZGVNYXAoZGF0YTogRXNvbHZlQ291cG9uc0NhY2hlKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIShkYXRhIGluc3RhbmNlb2YgTWFwKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbWFwIHR5cGUnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhLCAoa2V5LCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBNYXApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdNYXAnLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBbLi4udmFsdWVdLFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUganNvbkRlY29kZU1hcChqc29uX2RhdGE6IHN0cmluZyk6IEVzb2x2ZUNvdXBvbnNDYWNoZSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoanNvbl9kYXRhLCAoa2V5LCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLmRhdGFUeXBlID09PSAnTWFwJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTWFwKHZhbHVlLnZhbHVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoZGF0YSBpbnN0YW5jZW9mIE1hcCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtYXAgdHlwZScpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJvY2Vzc0NvdXBvbnMocmVjb3JkczogRXNvbHZlQ291cG9uUmVjb3JkW10pOiBFc29sdmVDb3Vwb25bXSB7XHJcbiAgICAgICAgY29uc3QgY291cG9uczogRXNvbHZlQ291cG9uW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKHJlY29yZHMpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY291cG9uID0gbmV3IEVzb2x2ZUNvdXBvbihyZWNvcmQpO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvdXBvbnMucHVzaChjb3Vwb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY291cG9ucztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNvdXBvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY291cG9ucy9lc29sdmUtY291cG9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQU0xRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBWXpDLE1BQU0sT0FBTyxvQkFBb0I7SUFNN0IsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0IsRUFDaEIsYUFBa0M7UUFGSCxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVJ0QyxnQkFBVyxHQUFHLGtCQUFrQixDQUFDO1FBQ2pDLGtCQUFhLEdBQXVCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDOUMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUEyQyxDQUFDO1FBTzlFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU0saUJBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lB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RUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQzs7a0hBdk9RLG9CQUFvQixrQkFPakIscUJBQXFCO3NIQVB4QixvQkFBb0IsY0FGakIsTUFBTTs0RkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFRUSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QtY29uZmlnLmNvbnN0YW50JztcclxuaW1wb3J0IHsgRXNvbHZlQ29ubmVjdENvbmZpZyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LmNvbmZpZyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Nvb2tpZS9lc29sdmUtY29va2llLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb3Vwb24gfSBmcm9tICcuL2NsYXNzZXMnO1xyXG5pbXBvcnQge1xyXG4gICAgRXNvbHZlQ291cG9uUmVjb3JkLFxyXG4gICAgRXNvbHZlQ291cG9uVmFsaWRhdGlvbixcclxuICAgIEVzb2x2ZUNvdXBvblZhbGlkYXRpb25FcnJvcixcclxuICAgIEVzb2x2ZUNvdXBvblZhbGlkYXRpb25SZXN1bHQsXHJcbn0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgRXNvbHZlQ291cG9uc0NhY2hlIH0gZnJvbSAnLi90eXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVDb3Vwb25zU2VydmljZSB7XHJcbiAgICBwcml2YXRlIHN0b3JhZ2Vfa2V5ID0gJ19uZ19lc2x2X2NvdXBvbnMnO1xyXG4gICAgcHJpdmF0ZSBjb3Vwb25zX2NhY2hlOiBFc29sdmVDb3Vwb25zQ2FjaGUgPSBuZXcgTWFwKCk7XHJcbiAgICBwcml2YXRlIGFwcGxpZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZCk7XHJcbiAgICBwcml2YXRlIHZhbGlkYXRpb25fZXJyb3IgPSBuZXcgU3ViamVjdDxFc29sdmVDb3Vwb25WYWxpZGF0aW9uRXJyb3IgfCB1bmRlZmluZWQ+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIGNvb2tpZVNlcnZpY2U6IEVzb2x2ZUNvb2tpZVNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLnNldFN0b3JhZ2VLZXkoKTtcclxuICAgICAgICB0aGlzLmNvdXBvbnNfY2FjaGUgPSB0aGlzLnJldHJpZXZlQ2FjaGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25WYWxpZGF0aW9uRXJyb3IoKTogT2JzZXJ2YWJsZTxFc29sdmVDb3Vwb25WYWxpZGF0aW9uRXJyb3IgfCB1bmRlZmluZWQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uX2Vycm9yLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkFwcGxpZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwbGllZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdmFsaWRhdGUoY291cG9uX2tleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxFc29sdmVDb3Vwb25WYWxpZGF0aW9uUmVzdWx0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUNvdXBvblZhbGlkYXRpb24+PihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC12YWxpZGF0ZS1jb3Vwb24ucGhwYCxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY291cG9uX2tleSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWQgPSByZXNwb25zZS5yZWNvcmRzLnZhbGlkO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQ6IEVzb2x2ZUNvdXBvblZhbGlkYXRpb25SZXN1bHQgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkLFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdmFsaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSByZXNwb25zZS5yZWNvcmRzLmVycm9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25fZXJyb3IubmV4dChlcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh2YWxpZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuaWQgPSByZXNwb25zZS5yZWNvcmRzLmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uX2Vycm9yLm5leHQodW5kZWZpbmVkKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgdmFsaWQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGFwcGx5Q291cG9uKGNvdXBvbl9rZXk6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChjb3Vwb25fa2V5LnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy52YWxpZGF0ZShjb3Vwb25fa2V5KSk7XHJcblxyXG4gICAgICAgICAgICBpZiAocmVzdWx0LnZhbGlkICYmIHJlc3VsdC5pZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hZGRDb3Vwb24ocmVzdWx0LmlkLCBjb3Vwb25fa2V5KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC52YWxpZDtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVDb3Vwb24oaWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY291cG9uc19jYWNoZS5kZWxldGUoaWQpO1xyXG5cclxuICAgICAgICB0aGlzLmNhY2hlQ291cG9ucygpO1xyXG4gICAgICAgIHRoaXMuYXBwbGllZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEFwcGxpZWRDb3Vwb25LZXlzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gWy4uLnRoaXMuY291cG9uc19jYWNoZS52YWx1ZXMoKV07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEFwcGxpZWRDb3Vwb25zKCk6IE9ic2VydmFibGU8RXNvbHZlQ291cG9uW10+IHtcclxuICAgICAgICBjb25zdCBjb3Vwb25faWRzID0gWy4uLnRoaXMuY291cG9uc19jYWNoZS5rZXlzKCldO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlQ291cG9uUmVjb3JkW10+PihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1hcHBsaWVkLWNvdXBvbnMucGhwYCxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY291cG9uczogY291cG9uX2lkcy5qb2luKCcsJyksXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NDb3Vwb25zKHJlc3BvbnNlLnJlY29yZHMpO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlc2V0KCkge1xyXG4gICAgICAgIHRoaXMuZGVsZXRlQ291cG9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmV0cmlldmVDYWNoZSgpOiBFc29sdmVDb3Vwb25zQ2FjaGUge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLmNoZWNrKHRoaXMuc3RvcmFnZV9rZXkpIHx8XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZV9rZXkpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGxldCBjb3Vwb25zX2pzb24gPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KHRoaXMuc3RvcmFnZV9rZXkpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGNvdXBvbnNfanNvbiA9PT0gJycgJiYgbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgbG9jYWxfc3RvcmVfZGF0YSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZV9rZXkpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChsb2NhbF9zdG9yZV9kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY291cG9uc19qc29uID0gbG9jYWxfc3RvcmVfZGF0YTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmpzb25EZWNvZGVNYXAoY291cG9uc19qc29uKTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIC8vIHNvZnQgZXJyb3JcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXAoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNhY2hlQ291cG9ucygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jb3Vwb25zX2NhY2hlLnNpemUgPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvdXBvbnNfanNvbiA9IHRoaXMuanNvbkVuY29kZU1hcCh0aGlzLmNvdXBvbnNfY2FjaGUpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldCh0aGlzLnN0b3JhZ2Vfa2V5LCBjb3Vwb25zX2pzb24sIHVuZGVmaW5lZCwgJy8nKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2UpIHtcclxuICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZV9rZXksIGNvdXBvbnNfanNvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUNvdXBvbnMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkZWxldGVDb3Vwb25zKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY291cG9uc19jYWNoZS5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuY29va2llU2VydmljZS5kZWxldGUodGhpcy5zdG9yYWdlX2tleSwgJy8nKTtcclxuXHJcbiAgICAgICAgaWYgKGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLnN0b3JhZ2Vfa2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRDb3Vwb24oaWQ6IG51bWJlciwga2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuY291cG9uc19jYWNoZS5oYXMoaWQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291cG9uc19jYWNoZS5zZXQoaWQsIGtleSk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVDb3Vwb25zKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmFwcGxpZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0U3RvcmFnZUtleSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHR5cGVvZiB0aGlzLmNvbmZpZy5jb3Vwb25fc3RvcmFnZV9rZXkgPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmNvdXBvbl9zdG9yYWdlX2tleSAhPT0gJydcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlX2tleSA9IHRoaXMuY29uZmlnLmNvdXBvbl9zdG9yYWdlX2tleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBqc29uRW5jb2RlTWFwKGRhdGE6IEVzb2x2ZUNvdXBvbnNDYWNoZSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCEoZGF0YSBpbnN0YW5jZW9mIE1hcCkpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1hcCB0eXBlJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSwgKGtleSwgdmFsdWUpID0+IHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTWFwKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnTWFwJyxcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogWy4uLnZhbHVlXSxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGpzb25EZWNvZGVNYXAoanNvbl9kYXRhOiBzdHJpbmcpOiBFc29sdmVDb3Vwb25zQ2FjaGUge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGpzb25fZGF0YSwgKGtleSwgdmFsdWUpID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5kYXRhVHlwZSA9PT0gJ01hcCcpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE1hcCh2YWx1ZS52YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKGRhdGEgaW5zdGFuY2VvZiBNYXApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbWFwIHR5cGUnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByb2Nlc3NDb3Vwb25zKHJlY29yZHM6IEVzb2x2ZUNvdXBvblJlY29yZFtdKTogRXNvbHZlQ291cG9uW10ge1xyXG4gICAgICAgIGNvbnN0IGNvdXBvbnM6IEVzb2x2ZUNvdXBvbltdID0gW107XHJcblxyXG4gICAgICAgIGlmIChyZWNvcmRzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvdXBvbiA9IG5ldyBFc29sdmVDb3Vwb24ocmVjb3JkKTtcclxuXHJcbiAgICAgICAgICAgICAgICBjb3Vwb25zLnB1c2goY291cG9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGNvdXBvbnM7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -28,8 +28,14 @@ export class EsolveSessionService {
|
|
|
28
28
|
if (this.currentSession.valid) {
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
let json_data = this.cookieService.get(this.storage_key);
|
|
32
|
+
if (json_data === '' && localStorage) {
|
|
33
|
+
let local_store_data = localStorage.getItem(this.storage_key);
|
|
34
|
+
if (local_store_data) {
|
|
35
|
+
json_data = local_store_data;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const stored_session = (json_data ? JSON.parse(json_data) : null);
|
|
33
39
|
if (!stored_session) {
|
|
34
40
|
invalidSessionCallback();
|
|
35
41
|
return;
|
|
@@ -48,7 +54,11 @@ export class EsolveSessionService {
|
|
|
48
54
|
handleSession(user_id, location_id, key, expiry_time, expires, expirationCallback) {
|
|
49
55
|
const expiration_date = new Date(expiry_time * 1000);
|
|
50
56
|
const session = new EsolveSession(user_id, location_id, key, expiration_date);
|
|
51
|
-
|
|
57
|
+
const json_data = JSON.stringify(session);
|
|
58
|
+
this.cookieService.set(this.storage_key, json_data, expiration_date, '/');
|
|
59
|
+
if (localStorage) {
|
|
60
|
+
localStorage.setItem(this.storage_key, json_data);
|
|
61
|
+
}
|
|
52
62
|
this._session.next(session);
|
|
53
63
|
this.startTimer(expirationCallback, expires * 1000);
|
|
54
64
|
}
|
|
@@ -60,7 +70,11 @@ export class EsolveSessionService {
|
|
|
60
70
|
if (typeof location_id !== 'undefined') {
|
|
61
71
|
current_session.updateLocation(location_id);
|
|
62
72
|
}
|
|
63
|
-
|
|
73
|
+
const json_data = JSON.stringify(current_session);
|
|
74
|
+
this.cookieService.set(this.storage_key, json_data, current_session.expiration_date, '/');
|
|
75
|
+
if (localStorage) {
|
|
76
|
+
localStorage.setItem(this.storage_key, json_data);
|
|
77
|
+
}
|
|
64
78
|
this._session.next(current_session);
|
|
65
79
|
if (typeof callback === 'function') {
|
|
66
80
|
callback();
|
|
@@ -92,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
92
106
|
type: Inject,
|
|
93
107
|
args: [ESOLVE_CONNECT_CONFIG]
|
|
94
108
|
}] }, { type: i1.EsolveCookieService }]; } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2Vzc2lvbi9lc29sdmUtc2Vzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBSW5ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBWXZELE1BQU0sT0FBTyxvQkFBb0I7SUFZN0IsWUFDaUMsVUFBa0IsRUFDUixNQUEyQixFQUMxRCxhQUFrQztRQUZiLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDUixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFWdEMsZ0JBQVcsR0FBRyxtQkFBbUIsQ0FBQztRQVl0QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBYkQsSUFBVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQWFNLFVB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O1FBRXBDLElBQUksT0FBTyxRQUFRLEtBQUssVUFBVSxFQUFFO1lBQ2hDLFFBQVEsRUFBRSxDQUFDO1NBQ2Q7SUFDTCxDQUFDO0lBRU8sYUFBYTtRQUNqQixJQUNJLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixLQUFLLFFBQVEsQ0FBQztZQUMxRCxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLEtBQUssRUFBRSxDQUFDLEVBQy9DO1lBQ0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDO1NBQzNEO0lBQ0wsQ0FBQztJQUVPLFVBQVUsQ0FBQyxRQUFvQixFQUFFLFFBQWdCO1FBQ3JELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUM5RDtJQUNMLENBQUM7O2tIQXRJUSxvQkFBb0Isa0JBYWpCLFdBQVcsYUFDWCxxQkFBcUI7c0hBZHhCLG9CQUFvQixjQUZqQixNQUFNOzRGQUVULG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7MERBY2dELE1BQU07MEJBQTlDLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUNvb2tpZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvY29va2llL2Vzb2x2ZS1jb29raWUuc2VydmljZSc7XHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC1jb25maWcuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9yZWRTZXNzaW9uIH0gZnJvbSAnLi9lc29sdmUtc3RvcmVkLXNlc3Npb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRXNvbHZlU2Vzc2lvbiB9IGZyb20gJy4vZXNvbHZlLXNlc3Npb24ubW9kZWwnO1xyXG5cclxuLy8gVE9ETzogUmV3cml0ZSBzZXNzaW9uIG1hbmFnZXIgdG8gdXNlIGEgcHVyZSByeGpzIHNvbHV0aW9uLlxyXG5cclxuaW50ZXJmYWNlIFNlc3Npb25VcGRhdGVPcHRpb25zIHtcclxuICAgIHVzZXJfaWQ/OiBudW1iZXI7XHJcbiAgICBsb2NhdGlvbl9pZD86IG51bWJlcjtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlU2Vzc2lvblNlcnZpY2Uge1xyXG4gICAgcHVibGljIHNlc3Npb246IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvbj47XHJcblxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogQmVoYXZpb3JTdWJqZWN0PEVzb2x2ZVNlc3Npb24+O1xyXG4gICAgcHJpdmF0ZSBrZXlfZXhwaXJhdGlvbl90aW1lcjogYW55O1xyXG4gICAgcHJpdmF0ZSBzdG9yYWdlX2tleSA9ICduZ0VzbHZVc2VyU2Vzc2lvbic7XHJcbiAgICBwcml2YXRlIGlzX2Jyb3dzZXI6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIGdldCBjdXJyZW50U2Vzc2lvbigpOiBFc29sdmVTZXNzaW9uIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbi52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCxcclxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcsXHJcbiAgICAgICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBFc29sdmVDb29raWVTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdG9yYWdlS2V5KCk7XHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RXNvbHZlU2Vzc2lvbj4obmV3IEVzb2x2ZVNlc3Npb24oKSk7XHJcbiAgICAgICAgdGhpcy5zZXNzaW9uID0gdGhpcy5fc2Vzc2lvbi5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmlzX2Jyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbGVhclRpbWVyKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmtleV9leHBpcmF0aW9uX3RpbWVyKSB7XHJcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmtleV9leHBpcmF0aW9uX3RpbWVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlc3RvcmUoXHJcbiAgICAgICAgZXhwaXJhdGlvbkNhbGxiYWNrOiAoc2Vzc2lvbj86IEVzb2x2ZVNlc3Npb24pID0+IHZvaWQsXHJcbiAgICAgICAgaW52YWxpZFNlc3Npb25DYWxsYmFjazogKCkgPT4gdm9pZCxcclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTZXNzaW9uLnZhbGlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHN0b3JlZF9zZXNzaW9uX2pzb24gPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KHRoaXMuc3RvcmFnZV9rZXkpO1xyXG4gICAgICAgIGNvbnN0IHN0b3JlZF9zZXNzaW9uOiBFc29sdmVTdG9yZWRTZXNzaW9uID0gKHN0b3JlZF9zZXNzaW9uX2pzb24gPyBKU09OLnBhcnNlKHN0b3JlZF9zZXNzaW9uX2pzb24pIDogbnVsbCk7XHJcblxyXG4gICAgICAgIGlmICghc3RvcmVkX3Nlc3Npb24pIHtcclxuICAgICAgICAgICAgaW52YWxpZFNlc3Npb25DYWxsYmFjaygpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZXhwaXJhdGlvbl9kYXRlID0gbmV3IERhdGUoc3RvcmVkX3Nlc3Npb24uZXhwaXJhdGlvbl9kYXRlKTtcclxuXHJcbiAgICAgICAgY29uc3QgbG9hZGVkX3Nlc3Npb24gPSBuZXcgRXNvbHZlU2Vzc2lvbihcclxuICAgICAgICAgICAgc3RvcmVkX3Nlc3Npb24uaWQsXHJcbiAgICAgICAgICAgIHN0b3JlZF9zZXNzaW9uLmxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICBzdG9yZWRfc2Vzc2lvbi5rZXksXHJcbiAgICAgICAgICAgIGV4cGlyYXRpb25fZGF0ZSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAoIWxvYWRlZF9zZXNzaW9uLmV4cGlyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5uZXh0KGxvYWRlZF9zZXNzaW9uKTtcclxuICAgICAgICAgICAgY29uc3QgZXhwaXJhdGlvbl9kdXJhdGlvbiA9IGV4cGlyYXRpb25fZGF0ZS5nZXRUaW1lKCkgLSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgdGhpcy5zdGFydFRpbWVyKGV4cGlyYXRpb25DYWxsYmFjaywgZXhwaXJhdGlvbl9kdXJhdGlvbik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZXhwaXJhdGlvbkNhbGxiYWNrKGxvYWRlZF9zZXNzaW9uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVNlc3Npb24oXHJcbiAgICAgICAgdXNlcl9pZDogbnVtYmVyLFxyXG4gICAgICAgIGxvY2F0aW9uX2lkOiBudW1iZXIsXHJcbiAgICAgICAga2V5OiBzdHJpbmcsXHJcbiAgICAgICAgZXhwaXJ5X3RpbWU6IG51bWJlcixcclxuICAgICAgICBleHBpcmVzOiBudW1iZXIsXHJcbiAgICAgICAgZXhwaXJhdGlvbkNhbGxiYWNrOiAoKSA9PiB2b2lkLFxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZXhwaXJhdGlvbl9kYXRlID0gbmV3IERhdGUoZXhwaXJ5X3RpbWUgKiAxMDAwKTtcclxuICAgICAgICBjb25zdCBzZXNzaW9uID0gbmV3IEVzb2x2ZVNlc3Npb24oXHJcbiAgICAgICAgICAgIHVzZXJfaWQsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgIGV4cGlyYXRpb25fZGF0ZSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KFxyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Vfa2V5LFxyXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeShzZXNzaW9uKSxcclxuICAgICAgICAgICAgZXhwaXJhdGlvbl9kYXRlLFxyXG4gICAgICAgICAgICAnLycsXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLl9zZXNzaW9uLm5leHQoc2Vzc2lvbik7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWVyKGV4cGlyYXRpb25DYWxsYmFjaywgZXhwaXJlcyAqIDEwMDApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVVcGRhdGVTZXNzaW9uKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdXNlcl9pZCxcclxuICAgICAgICAgICAgbG9jYXRpb25faWQsXHJcbiAgICAgICAgfTogU2Vzc2lvblVwZGF0ZU9wdGlvbnMsXHJcbiAgICAgICAgY2FsbGJhY2s/OiAoKSA9PiB2b2lkLFxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudF9zZXNzaW9uID0gdGhpcy5jdXJyZW50U2Vzc2lvbjtcclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiB1c2VyX2lkICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICBjdXJyZW50X3Nlc3Npb24udXBkYXRlVXNlcih1c2VyX2lkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgbG9jYXRpb25faWQgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRfc2Vzc2lvbi51cGRhdGVMb2NhdGlvbihsb2NhdGlvbl9pZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KFxyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Vfa2V5LFxyXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeShjdXJyZW50X3Nlc3Npb24pLFxyXG4gICAgICAgICAgICBjdXJyZW50X3Nlc3Npb24uZXhwaXJhdGlvbl9kYXRlLFxyXG4gICAgICAgICAgICAnLycsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5uZXh0KGN1cnJlbnRfc2Vzc2lvbik7XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgY2FsbGJhY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRTdG9yYWdlS2V5KCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgKHR5cGVvZiB0aGlzLmNvbmZpZy51c2VyX3Nlc3Npb25fc3RvcmFnZV9rZXkgPT09ICdzdHJpbmcnKSAmJlxyXG4gICAgICAgICAgICAodGhpcy5jb25maWcudXNlcl9zZXNzaW9uX3N0b3JhZ2Vfa2V5ICE9PSAnJylcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlX2tleSA9IHRoaXMuY29uZmlnLnVzZXJfc2Vzc2lvbl9zdG9yYWdlX2tleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGFydFRpbWVyKGNhbGxiYWNrOiAoKSA9PiB2b2lkLCBkdXJhdGlvbjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNfYnJvd3Nlcikge1xyXG4gICAgICAgICAgICB0aGlzLmtleV9leHBpcmF0aW9uX3RpbWVyID0gc2V0VGltZW91dChjYWxsYmFjaywgZHVyYXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2Vzc2lvbi9lc29sdmUtc2Vzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBSW5ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBWXZELE1BQU0sT0FBTyxvQkFBb0I7SUFZN0IsWUFDaUMsVUFBa0IsRUFDUixNQUEyQixFQUMxRCxhQUFrQztRQUZiLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDUixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFWdEMsZ0JBQVcsR0FBRyxtQkFBbUIsQ0FBQztRQVl0QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBYkQsSUFBVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQWFNLFVB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LFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzBEQWNnRCxNQUFNOzBCQUE5QyxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Nvb2tpZS9lc29sdmUtY29va2llLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcclxuaW1wb3J0IHsgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QtY29uZmlnLmNvbnN0YW50JztcclxuaW1wb3J0IHsgRXNvbHZlU3RvcmVkU2Vzc2lvbiB9IGZyb20gJy4vZXNvbHZlLXN0b3JlZC1zZXNzaW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEVzb2x2ZVNlc3Npb24gfSBmcm9tICcuL2Vzb2x2ZS1zZXNzaW9uLm1vZGVsJztcclxuXHJcbi8vIFRPRE86IFJld3JpdGUgc2Vzc2lvbiBtYW5hZ2VyIHRvIHVzZSBhIHB1cmUgcnhqcyBzb2x1dGlvbi5cclxuXHJcbmludGVyZmFjZSBTZXNzaW9uVXBkYXRlT3B0aW9ucyB7XHJcbiAgICB1c2VyX2lkPzogbnVtYmVyO1xyXG4gICAgbG9jYXRpb25faWQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVNlc3Npb25TZXJ2aWNlIHtcclxuICAgIHB1YmxpYyBzZXNzaW9uOiBPYnNlcnZhYmxlPEVzb2x2ZVNlc3Npb24+O1xyXG5cclxuICAgIHByaXZhdGUgX3Nlc3Npb246IEJlaGF2aW9yU3ViamVjdDxFc29sdmVTZXNzaW9uPjtcclxuICAgIHByaXZhdGUga2V5X2V4cGlyYXRpb25fdGltZXI6IGFueTtcclxuICAgIHByaXZhdGUgc3RvcmFnZV9rZXkgPSAnbmdFc2x2VXNlclNlc3Npb24nO1xyXG4gICAgcHJpdmF0ZSBpc19icm93c2VyOiBib29sZWFuO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgY3VycmVudFNlc3Npb24oKTogRXNvbHZlU2Vzc2lvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nlc3Npb24udmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgY29va2llU2VydmljZTogRXNvbHZlQ29va2llU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RvcmFnZUtleSgpO1xyXG4gICAgICAgIHRoaXMuX3Nlc3Npb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVzb2x2ZVNlc3Npb24+KG5ldyBFc29sdmVTZXNzaW9uKCkpO1xyXG4gICAgICAgIHRoaXMuc2Vzc2lvbiA9IHRoaXMuX3Nlc3Npb24uYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5pc19icm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xlYXJUaW1lcigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5rZXlfZXhwaXJhdGlvbl90aW1lcikge1xyXG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5rZXlfZXhwaXJhdGlvbl90aW1lcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZXN0b3JlKFxyXG4gICAgICAgIGV4cGlyYXRpb25DYWxsYmFjazogKHNlc3Npb24/OiBFc29sdmVTZXNzaW9uKSA9PiB2b2lkLFxyXG4gICAgICAgIGludmFsaWRTZXNzaW9uQ2FsbGJhY2s6ICgpID0+IHZvaWQsXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50U2Vzc2lvbi52YWxpZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQganNvbl9kYXRhID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldCh0aGlzLnN0b3JhZ2Vfa2V5KTtcclxuXHJcbiAgICAgICAgaWYgKGpzb25fZGF0YSA9PT0gJycgJiYgbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgICAgICAgIGxldCBsb2NhbF9zdG9yZV9kYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlX2tleSk7XHJcblxyXG4gICAgICAgICAgICBpZiAobG9jYWxfc3RvcmVfZGF0YSkge1xyXG4gICAgICAgICAgICAgICAganNvbl9kYXRhID0gbG9jYWxfc3RvcmVfZGF0YTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc3RvcmVkX3Nlc3Npb246IEVzb2x2ZVN0b3JlZFNlc3Npb24gfCBudWxsID0gKGpzb25fZGF0YSA/IEpTT04ucGFyc2UoanNvbl9kYXRhKSA6IG51bGwpO1xyXG5cclxuICAgICAgICBpZiAoIXN0b3JlZF9zZXNzaW9uKSB7XHJcbiAgICAgICAgICAgIGludmFsaWRTZXNzaW9uQ2FsbGJhY2soKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGV4cGlyYXRpb25fZGF0ZSA9IG5ldyBEYXRlKHN0b3JlZF9zZXNzaW9uLmV4cGlyYXRpb25fZGF0ZSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGxvYWRlZF9zZXNzaW9uID0gbmV3IEVzb2x2ZVNlc3Npb24oXHJcbiAgICAgICAgICAgIHN0b3JlZF9zZXNzaW9uLmlkLFxyXG4gICAgICAgICAgICBzdG9yZWRfc2Vzc2lvbi5sb2NhdGlvbl9pZCxcclxuICAgICAgICAgICAgc3RvcmVkX3Nlc3Npb24ua2V5LFxyXG4gICAgICAgICAgICBleHBpcmF0aW9uX2RhdGUsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKCFsb2FkZWRfc2Vzc2lvbi5leHBpcmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24ubmV4dChsb2FkZWRfc2Vzc2lvbik7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4cGlyYXRpb25fZHVyYXRpb24gPSBleHBpcmF0aW9uX2RhdGUuZ2V0VGltZSgpIC0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhcnRUaW1lcihleHBpcmF0aW9uQ2FsbGJhY2ssIGV4cGlyYXRpb25fZHVyYXRpb24pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGV4cGlyYXRpb25DYWxsYmFjayhsb2FkZWRfc2Vzc2lvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVTZXNzaW9uKFxyXG4gICAgICAgIHVzZXJfaWQ6IG51bWJlcixcclxuICAgICAgICBsb2NhdGlvbl9pZDogbnVtYmVyLFxyXG4gICAgICAgIGtleTogc3RyaW5nLFxyXG4gICAgICAgIGV4cGlyeV90aW1lOiBudW1iZXIsXHJcbiAgICAgICAgZXhwaXJlczogbnVtYmVyLFxyXG4gICAgICAgIGV4cGlyYXRpb25DYWxsYmFjazogKCkgPT4gdm9pZCxcclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGV4cGlyYXRpb25fZGF0ZSA9IG5ldyBEYXRlKGV4cGlyeV90aW1lICogMTAwMCk7XHJcbiAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IG5ldyBFc29sdmVTZXNzaW9uKFxyXG4gICAgICAgICAgICB1c2VyX2lkLFxyXG4gICAgICAgICAgICBsb2NhdGlvbl9pZCxcclxuICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICBleHBpcmF0aW9uX2RhdGUsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3QganNvbl9kYXRhID0gSlNPTi5zdHJpbmdpZnkoc2Vzc2lvbik7XHJcblxyXG4gICAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoXHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZV9rZXksXHJcbiAgICAgICAgICAgIGpzb25fZGF0YSxcclxuICAgICAgICAgICAgZXhwaXJhdGlvbl9kYXRlLFxyXG4gICAgICAgICAgICAnLycsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2Vfa2V5LCBqc29uX2RhdGEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5uZXh0KHNlc3Npb24pO1xyXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lcihleHBpcmF0aW9uQ2FsbGJhY2ssIGV4cGlyZXMgKiAxMDAwKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlVXBkYXRlU2Vzc2lvbihcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHVzZXJfaWQsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkLFxyXG4gICAgICAgIH06IFNlc3Npb25VcGRhdGVPcHRpb25zLFxyXG4gICAgICAgIGNhbGxiYWNrPzogKCkgPT4gdm9pZCxcclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRfc2Vzc2lvbiA9IHRoaXMuY3VycmVudFNlc3Npb247XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdXNlcl9pZCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgY3VycmVudF9zZXNzaW9uLnVwZGF0ZVVzZXIodXNlcl9pZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIGxvY2F0aW9uX2lkICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICBjdXJyZW50X3Nlc3Npb24udXBkYXRlTG9jYXRpb24obG9jYXRpb25faWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QganNvbl9kYXRhID0gSlNPTi5zdHJpbmdpZnkoY3VycmVudF9zZXNzaW9uKTtcclxuXHJcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlX2tleSxcclxuICAgICAgICAgICAganNvbl9kYXRhLFxyXG4gICAgICAgICAgICBjdXJyZW50X3Nlc3Npb24uZXhwaXJhdGlvbl9kYXRlLFxyXG4gICAgICAgICAgICAnLycsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2Vfa2V5LCBqc29uX2RhdGEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5uZXh0KGN1cnJlbnRfc2Vzc2lvbik7XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgY2FsbGJhY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRTdG9yYWdlS2V5KCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgKHR5cGVvZiB0aGlzLmNvbmZpZy51c2VyX3Nlc3Npb25fc3RvcmFnZV9rZXkgPT09ICdzdHJpbmcnKSAmJlxyXG4gICAgICAgICAgICAodGhpcy5jb25maWcudXNlcl9zZXNzaW9uX3N0b3JhZ2Vfa2V5ICE9PSAnJylcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlX2tleSA9IHRoaXMuY29uZmlnLnVzZXJfc2Vzc2lvbl9zdG9yYWdlX2tleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGFydFRpbWVyKGNhbGxiYWNrOiAoKSA9PiB2b2lkLCBkdXJhdGlvbjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNfYnJvd3Nlcikge1xyXG4gICAgICAgICAgICB0aGlzLmtleV9leHBpcmF0aW9uX3RpbWVyID0gc2V0VGltZW91dChjYWxsYmFjaywgZHVyYXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -4,7 +4,7 @@ export class EsolveStockImageCollection {
|
|
|
4
4
|
constructor(record) {
|
|
5
5
|
this.alt_images = [];
|
|
6
6
|
this.additional_images = [];
|
|
7
|
-
this.default_image = new EsolveStockImage(record?.default_image ?? '');
|
|
7
|
+
this.default_image = new EsolveStockImage(record?.default_image ?? '', record?.default_image_last_modified ?? '');
|
|
8
8
|
if (!record) {
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
@@ -23,4 +23,4 @@ export class EsolveStockImageCollection {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
;
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWltYWdlLWNvbGxlY3Rpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3N0b2NrL2NsYXNzZXMvZXNvbHZlLXN0b2NrLWltYWdlLWNvbGxlY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUQsTUFBTSxPQUFPLDBCQUEwQjtJQUtuQyxZQUFZLE1BQWtEO1FBSHZELGVBQVUsR0FBdUIsRUFBRSxDQUFDO1FBQ3BDLHNCQUFpQixHQUFpQyxFQUFFLENBQUM7UUFHeEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLGdCQUFnQixDQUNyQyxNQUFNLEVBQUUsYUFBYSxJQUFJLEVBQUUsRUFDM0IsTUFBTSxFQUFFLDJCQUEyQixJQUFJLEVBQUUsQ0FDNUMsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25ELEtBQUssTUFBTSxjQUFjLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtnQkFDNUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFFdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDbkM7U0FDSjtRQUVELElBQUksTUFBTSxDQUFDLGlCQUFpQixJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pFLEtBQUssTUFBTSx1QkFBdUIsSUFBSSxNQUFNLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzVELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSwwQkFBMEIsQ0FDbkQsdUJBQXVCLENBQzFCLENBQUM7Z0JBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ2pEO1NBQ0o7SUFDTCxDQUFDO0NBQ0o7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlU3RvY2tJbWFnZUNvbGxlY3Rpb25SZWNvcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgRXNvbHZlQWRkaXRpb25hbFN0b2NrSW1hZ2UgfSBmcm9tICcuL2Vzb2x2ZS1hZGRpdGlvbmFsLXN0b2NrLWltYWdlLm1vZGVsJztcclxuaW1wb3J0IHsgRXNvbHZlU3RvY2tJbWFnZSB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWltYWdlLm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVTdG9ja0ltYWdlQ29sbGVjdGlvbiB7XHJcbiAgICBwdWJsaWMgZGVmYXVsdF9pbWFnZTogRXNvbHZlU3RvY2tJbWFnZTtcclxuICAgIHB1YmxpYyBhbHRfaW1hZ2VzOiBFc29sdmVTdG9ja0ltYWdlW10gPSBbXTtcclxuICAgIHB1YmxpYyBhZGRpdGlvbmFsX2ltYWdlczogRXNvbHZlQWRkaXRpb25hbFN0b2NrSW1hZ2VbXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlY29yZD86IFBhcnRpYWw8RXNvbHZlU3RvY2tJbWFnZUNvbGxlY3Rpb25SZWNvcmQ+KSB7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0X2ltYWdlID0gbmV3IEVzb2x2ZVN0b2NrSW1hZ2UoXHJcbiAgICAgICAgICAgIHJlY29yZD8uZGVmYXVsdF9pbWFnZSA/PyAnJyxcclxuICAgICAgICAgICAgcmVjb3JkPy5kZWZhdWx0X2ltYWdlX2xhc3RfbW9kaWZpZWQgPz8gJycsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKCFyZWNvcmQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHJlY29yZC5hbHRfaW1hZ2VzICYmIHJlY29yZC5hbHRfaW1hZ2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBhbHRfaW1hZ2VfbmFtZSBvZiByZWNvcmQuYWx0X2ltYWdlcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYWx0X2ltYWdlID0gbmV3IEVzb2x2ZVN0b2NrSW1hZ2UoYWx0X2ltYWdlX25hbWUpO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuYWx0X2ltYWdlcy5wdXNoKGFsdF9pbWFnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChyZWNvcmQuYWRkaXRpb25hbF9pbWFnZXMgJiYgcmVjb3JkLmFkZGl0aW9uYWxfaW1hZ2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBhZGRpdGlvbmFsX2ltYWdlX3JlY29yZCBvZiByZWNvcmQuYWRkaXRpb25hbF9pbWFnZXMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFkZGl0aW9uYWxfaW1hZ2UgPSBuZXcgRXNvbHZlQWRkaXRpb25hbFN0b2NrSW1hZ2UoXHJcbiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbF9pbWFnZV9yZWNvcmQsXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuYWRkaXRpb25hbF9pbWFnZXMucHVzaChhZGRpdGlvbmFsX2ltYWdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufTtcclxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export class EsolveStockImage {
|
|
2
|
-
constructor(image_name) {
|
|
2
|
+
constructor(image_name, last_modified = '') {
|
|
3
3
|
this.image_name = image_name;
|
|
4
|
+
this.last_modified = last_modified;
|
|
4
5
|
if (this.image_name === 'no_image.jpg') {
|
|
5
6
|
this.image_name = '';
|
|
6
7
|
}
|
|
@@ -37,9 +38,13 @@ export class EsolveStockImage {
|
|
|
37
38
|
}
|
|
38
39
|
getImagePath(image_size) {
|
|
39
40
|
if (this.image_name !== '') {
|
|
40
|
-
|
|
41
|
+
let param = '';
|
|
42
|
+
if (this.last_modified !== '') {
|
|
43
|
+
param = `?t=${this.last_modified}`;
|
|
44
|
+
}
|
|
45
|
+
return `/images/stock/${image_size}/${this.image_name}${param}`;
|
|
41
46
|
}
|
|
42
47
|
return '';
|
|
43
48
|
}
|
|
44
49
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWltYWdlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9jbGFzc2VzL2Vzb2x2ZS1zdG9jay1pbWFnZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZ0JBQWdCO0lBb0N6QixZQUNZLFVBQWtCLEVBQ2xCLGdCQUF3QixFQUFFO1FBRDFCLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsa0JBQWEsR0FBYixhQUFhLENBQWE7UUFFbEMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLGNBQWMsRUFBRTtZQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUExQ0Q7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFXTSxZQUFZLENBQUMsVUFBZ0M7UUFDaEQsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEVBQUUsRUFBRTtZQUN4QixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7WUFFZixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssRUFBRSxFQUFFO2dCQUMzQixLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDdEM7WUFFRCxPQUFPLGlCQUFpQixVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLEVBQUUsQ0FBQztTQUNuRTtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlU3RvY2tJbWFnZVNpemUgfSBmcm9tICcuLi90eXBlcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgRXNvbHZlU3RvY2tJbWFnZSB7XHJcbiAgICAvKipcclxuICAgICAqIFBhdGggdG8gdGlueSBzdG9jayBpbWFnZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHRpbnlfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCd0aW55Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIHRodW1ibmFpbCBzdG9jayBpbWFnZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHRodW1ibmFpbF9zcmMoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3RodW1iJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIHNtYWxsIHN0b2NrIGltYWdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgc21hbGxfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdzbWFsbCcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0aCB0byBiaWcgc3RvY2sgaW1hZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBiaWdfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdiaWcnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhdGggdG8gb3JpZ2luYWwgc3RvY2sgaW1hZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBvcmlnaW5hbF9zcmMoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ29yaWdpbmFsJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBpbWFnZV9uYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcHJpdmF0ZSBsYXN0X21vZGlmaWVkOiBzdHJpbmcgPSAnJyxcclxuICAgICkge1xyXG4gICAgICAgIGlmICh0aGlzLmltYWdlX25hbWUgPT09ICdub19pbWFnZS5qcGcnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VfbmFtZSA9ICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0SW1hZ2VQYXRoKGltYWdlX3NpemU6IEVzb2x2ZVN0b2NrSW1hZ2VTaXplKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5pbWFnZV9uYW1lICE9PSAnJykge1xyXG4gICAgICAgICAgICBsZXQgcGFyYW0gPSAnJztcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmxhc3RfbW9kaWZpZWQgIT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbSA9IGA/dD0ke3RoaXMubGFzdF9tb2RpZmllZH1gO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gYC9pbWFnZXMvc3RvY2svJHtpbWFnZV9zaXplfS8ke3RoaXMuaW1hZ2VfbmFtZX0ke3BhcmFtfWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -135,6 +135,10 @@ export class EsolveStockItemBase {
|
|
|
135
135
|
* Image filename
|
|
136
136
|
*/
|
|
137
137
|
this.image_name = '';
|
|
138
|
+
/**
|
|
139
|
+
* Image Last modified
|
|
140
|
+
*/
|
|
141
|
+
this.image_last_modified = '';
|
|
138
142
|
let seo_title = '';
|
|
139
143
|
let seo_keywords = '';
|
|
140
144
|
let base_price = 0;
|
|
@@ -149,6 +153,7 @@ export class EsolveStockItemBase {
|
|
|
149
153
|
this.description = record.description ?? '';
|
|
150
154
|
this.extended_description = record.extended_description ?? '';
|
|
151
155
|
this.image_name = record.image_name ?? '';
|
|
156
|
+
this.image_last_modified = record.image_last_modified ?? '';
|
|
152
157
|
this.category_id = record.category_id ?? '';
|
|
153
158
|
this.subcategory_id = +(record.subcategory_id ?? 0);
|
|
154
159
|
this.manufacturers_id = +(record.manufacturers_id ?? 0);
|
|
@@ -260,9 +265,13 @@ export class EsolveStockItemBase {
|
|
|
260
265
|
}
|
|
261
266
|
getImagePath(image_size) {
|
|
262
267
|
if (this.image_name !== '') {
|
|
263
|
-
|
|
268
|
+
let param = '';
|
|
269
|
+
if (this.image_last_modified !== '') {
|
|
270
|
+
param = `?t=${this.image_last_modified}`;
|
|
271
|
+
}
|
|
272
|
+
return `/images/stock/${image_size}/${this.image_name}${param}`;
|
|
264
273
|
}
|
|
265
274
|
return '';
|
|
266
275
|
}
|
|
267
276
|
}
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0tYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc3RvY2svY2xhc3Nlcy9lc29sdmUtc3RvY2staXRlbS1iYXNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBb0IsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRXpGLE1BQU0sT0FBTyxtQkFBbUI7SUEwTTVCLFlBQVksU0FBNEMsRUFBRTtRQXpNMUQ7O1dBRUc7UUFDSSxPQUFFLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCOztXQUVHO1FBQ0ksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUN6Qjs7V0FFRztRQUNJLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDekI7O1dBRUc7UUFDSSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQzdCOztXQUVHO1FBQ0ksZ0JB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O1FBQzFCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxrQkFBa0I7UUFDekIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQWlLTSxZQUFZLENBQUMsVUFBZ0M7UUFDaEQsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEVBQUUsRUFBRTtZQUN4QixPQUFPLGlCQUFpQixVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQzNEO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVDdXN0b21GaWVsZHMgfSBmcm9tICcuLi8uLi9zaGFyZWQvY3VzdG9tLWZpZWxkcyc7XHJcbmltcG9ydCB7IEVzb2x2ZVNlb0RldGFpbHMsIEVzb2x2ZVNlb0luZm8gfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VvJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0gfSBmcm9tICcuLi8uLi9jYXRlZ29yeS10cmVlJztcclxuaW1wb3J0IHsgRXNvbHZlTWFudWZhY3R1cmVyIH0gZnJvbSAnLi4vLi4vbWFudWZhY3R1cmVycyc7XHJcbmltcG9ydCB7IEVzb2x2ZVJhbmdlIH0gZnJvbSAnLi4vLi4vcmFuZ2VzJztcclxuaW1wb3J0IHsgRXNvbHZlVGFnIH0gZnJvbSAnLi4vLi4vdGFncyc7XHJcbmltcG9ydCB7IEVzb2x2ZVRvcGljIH0gZnJvbSAnLi4vLi4vdG9waWNzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZVN0b2NrSW1hZ2VTaXplLCBFc29sdmVTdG9ja1VuaXRPZk1lYXN1cmUgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IEVzb2x2ZVN0b2NrQmFzZVJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja0JhZGdlIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stYmFkZ2UubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja1ByaWNlIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stcHJpY2UubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVDb2xvdXIgfSBmcm9tICcuL2Vzb2x2ZS1jb2xvdXIubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja0xlYWRUaW1lcyB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWxlYWQtdGltZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja1RyYW5zYWN0aW9uSGlzdG9yeSB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLXRyYW5zYWN0aW9uLWhpc3RvcnkubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVN0b2NrSXRlbUJhc2U8VCBleHRlbmRzIEVzb2x2ZUN1c3RvbUZpZWxkcyA9IEVzb2x2ZUN1c3RvbUZpZWxkcz4gaW1wbGVtZW50cyBFc29sdmVTZW9EZXRhaWxzIHtcclxuICAgIC8qKlxyXG4gICAgICogZVNvbHZlIEdlbmVyYXRlZCBJRFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaWQ6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIENvZGUgaWRlbnRpZnlpbmcgdGhlIHN0b2NrIGl0ZW1cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvZGU6IHN0cmluZyA9ICcnO1xyXG4gICAgLyoqXHJcbiAgICAgKiBOYW1lIG9mIHRoZSBzdG9jayBpdGVtXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcgPSAnJztcclxuICAgIC8qKlxyXG4gICAgICogU2VhcmNoIGVuZ2luZSBmcmllbmRseSBuYW1lXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZWZfbmFtZTogc3RyaW5nID0gJyc7XHJcbiAgICAvKipcclxuICAgICAqIFNob3J0IGRlc2NyaXB0aW9uIG9mIHN0b2NrIGl0ZW1cclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcclxuICAgIC8qKlxyXG4gICAgICogRnVsbCBkZXNjcmlwdGlvbiBvZiBzdG9jayBpdGVtXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBleHRlbmRlZF9kZXNjcmlwdGlvbjogc3RyaW5nID0gJyc7XHJcbiAgICAvKipcclxuICAgICAqIEFjdGl2ZSBzdGF0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAvKipcclxuICAgICAqIEZlYXR1cmVkIHN0YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBmZWF0dXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBRdW90YWJsZSBzdGF0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWxsb3dfcXVvdGVzOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIC8qKlxyXG4gICAgICogT3JkZXJhYmxlIHN0YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhbGxvd19vcmRlcnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJdGVtIG11c3QgYmUgY29sbGVjdGVkLCBub3QgZGVsaXZlcnkgcG9zc2libGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIG11c3RfY29sbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJdGVtIG5lZWRzIHRvIGJlIGFzc2VtYmxlZCBhZnRlciBwdXJjaGFzZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVxdWlyZXNfYXNzZW1ibHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIHR5cGUgb2YgZGVsaXZlcnkgY2F0ZWdvcnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZWxpdmVyeV9jYXRlZ29yeTogc3RyaW5nID0gJ3JlZ3VsYXJfaXRlbSc7XHJcbiAgICAvKipcclxuICAgICAqIE51bWJlciBvZiBzdG9jayBhdmFpbGFibGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFtb3VudF9pbl9zdG9jazogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogVG90YWwgaXRlbXMgbGlua2VkIHRvIHRoZSBpdGVtIGFzIGEgcmVjaXBlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0b3RhbF9yZWNpcGVfaXRlbXM6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIEhlaWdodCBtZWFzdXJlZCBpbiBtZXRlcnMgKG0pXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoZWlnaHQ6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIFdpZHRoIG1lYXN1cmVkIGluIG1ldGVycyAobSlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHdpZHRoOiBudW1iZXIgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBMZW5ndGggLyBkZXB0aCBtZWFzdXJlZCBpbiBtZXRlcnMgKG0pXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBsZW5ndGg6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIFdlaWdodCBtZWFzdXJlZCBpbiBraWxvZ3JhbXMgKGtnKVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgd2VpZ2h0OiBudW1iZXIgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBVbml0cyB1c2VkIHRvIG1lYXN1cmUgdGhlIHF1YW50aXR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB1bml0X29mX21lYXN1cmU6IEVzb2x2ZVN0b2NrVW5pdE9mTWVhc3VyZSA9ICd1bml0JztcclxuICAgIC8qKlxyXG4gICAgICogSUQgb2YgZGVmYXVsdCBjYXRlZ29yeSBsaW5rZWQgdG8gdGhlIHN0b2NrIGl0ZW1cclxuICAgICAqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYGNhdGVnb3J5LmVzb2x2ZV9pZGAgZmllbGQgaW5zdGVhZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2F0ZWdvcnlfaWQ6IHN0cmluZyA9ICcnO1xyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZhdWx0IGxpbmtlZCBjYXRlZ29yeVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2F0ZWdvcnk/OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJRCBvZiBkZWZhdWx0IHN1YmNhdGVnb3J5IGxpbmtlZCB0byB0aGUgc3RvY2sgaXRlbVxyXG4gICAgICpcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgc3ViY2F0ZWdvcnkuZXNvbHZlX2lkYCBmaWVsZCBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdWJjYXRlZ29yeV9pZDogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogRGVmYXVsdCBsaW5rZWQgc3ViY2F0ZWdvcnlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN1YmNhdGVnb3J5PzogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbTtcclxuICAgIC8qKlxyXG4gICAgICogSUQgb2YgbGlua2VkIG1hbnVmYWN0dXJlclxyXG4gICAgICpcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgbWFudWZhY3R1cmVyLmlkYCBmaWVsZCBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtYW51ZmFjdHVyZXJzX2lkOiBudW1iZXIgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBMaW5rZWQgbWFudWZhY3R1cmVyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtYW51ZmFjdHVyZXI/OiBFc29sdmVNYW51ZmFjdHVyZXI7XHJcbiAgICAvKipcclxuICAgICAqIElEIG9mIGxpbmtlZCByYW5nZVxyXG4gICAgICpcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgcmFuZ2UuaWRgIGZpZWxkIGluc3RlYWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJhbmdlc19pZDogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogTGlua2VkIHJhbmdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByYW5nZT86IEVzb2x2ZVJhbmdlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZhdWx0IHByaWNlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwcmljZTogRXNvbHZlU3RvY2tQcmljZTtcclxuICAgIC8qKlxyXG4gICAgICogU0VPIHBhZ2UgZGV0YWlsc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2VvX2RldGFpbHM6IEVzb2x2ZVNlb0luZm87XHJcbiAgICAvKipcclxuICAgICAqIExpbmtlZCB0YWdzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0YWdzOiBFc29sdmVUYWdbXSA9IFtdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBMaW5rZWQgdG9waWNzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0b3BpY3M6IEVzb2x2ZVRvcGljW10gPSBbXTtcclxuICAgIC8qKlxyXG4gICAgICogU3RvY2sgYmFkZ2VzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBiYWRnZXM6IEVzb2x2ZVN0b2NrQmFkZ2VbXSA9IFtdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBTdG9jayBpdGVtIGN1c3RvbSBmaWVsZHMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjdXN0b21fZmllbGRzPzogVDtcclxuICAgIC8qKlxyXG4gICAgICogQ29sb3Vyc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29sb3VyczogRXNvbHZlQ29sb3VyW10gPSBbXTtcclxuICAgIC8qKlxyXG4gICAgICogU3RvY2sgSXRlbSBMZWFkIFRpbWVzIGZvciBzdXBwbHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGxlYWRfdGltZXM/OiBFc29sdmVTdG9ja0xlYWRUaW1lcztcclxuICAgIC8qKlxyXG4gICAgICogTGlua2VkIG1hbnVmYWN0dXJlclxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaGlzdG9yeT86IEVzb2x2ZVN0b2NrVHJhbnNhY3Rpb25IaXN0b3J5O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1hZ2UgZmlsZW5hbWVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBpbWFnZV9uYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhdGggdG8gdGlueSBzdG9jayBpbWFnZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHRpbnlfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCd0aW55Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIHRodW1ibmFpbCBzdG9jayBpbWFnZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHRodW1ibmFpbF9pbWFnZV9zcmMoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3RodW1iJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIHNtYWxsIHN0b2NrIGltYWdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgc21hbGxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdzbWFsbCcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0aCB0byBiaWcgc3RvY2sgaW1hZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBiaWdfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdiaWcnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhdGggdG8gb3JpZ2luYWwgc3RvY2sgaW1hZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBvcmlnaW5hbF9pbWFnZV9zcmMoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ29yaWdpbmFsJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBhdmFpbGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLmFtb3VudF9pbl9zdG9jayA+IDApO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlY29yZDogUGFydGlhbDxFc29sdmVTdG9ja0Jhc2VSZWNvcmQ8VD4+ID0ge30pIHtcclxuICAgICAgICBsZXQgc2VvX3RpdGxlID0gJyc7XHJcbiAgICAgICAgbGV0IHNlb19rZXl3b3JkcyA9ICcnO1xyXG4gICAgICAgIGxldCBiYXNlX3ByaWNlID0gMDtcclxuICAgICAgICBsZXQgYmFzZV9wcmljZV93aXRoX3RheCA9IDA7XHJcbiAgICAgICAgbGV0IHNlbGxfcHJpY2UgPSAwO1xyXG4gICAgICAgIGxldCBzZWxsX3ByaWNlX3dpdGhfdGF4ID0gMDtcclxuXHJcbiAgICAgICAgaWYgKHJlY29yZCkge1xyXG4gICAgICAgICAgICB0aGlzLmlkID0gKyhyZWNvcmQuaWQgPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kZSA9IHJlY29yZC5jb2RlID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLm5hbWUgPSByZWNvcmQubmFtZSA/PyAnJztcclxuICAgICAgICAgICAgdGhpcy5zZWZfbmFtZSA9IHJlY29yZC5zZWZfbmFtZSA/PyAnJztcclxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHJlY29yZC5kZXNjcmlwdGlvbiA/PyAnJztcclxuICAgICAgICAgICAgdGhpcy5leHRlbmRlZF9kZXNjcmlwdGlvbiA9IHJlY29yZC5leHRlbmRlZF9kZXNjcmlwdGlvbiA/PyAnJztcclxuICAgICAgICAgICAgdGhpcy5pbWFnZV9uYW1lID0gcmVjb3JkLmltYWdlX25hbWUgPz8gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlfaWQgPSByZWNvcmQuY2F0ZWdvcnlfaWQgPz8gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuc3ViY2F0ZWdvcnlfaWQgPSArKHJlY29yZC5zdWJjYXRlZ29yeV9pZCA/PyAwKTtcclxuICAgICAgICAgICAgdGhpcy5tYW51ZmFjdHVyZXJzX2lkID0gKyhyZWNvcmQubWFudWZhY3R1cmVyc19pZCA/PyAwKTtcclxuICAgICAgICAgICAgdGhpcy5yYW5nZXNfaWQgPSArKHJlY29yZC5yYW5nZXNfaWQgPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGVsaXZlcnlfY2F0ZWdvcnkgPSByZWNvcmQuZGVsaXZlcnlfY2F0ZWdvcnkgPz8gJ3JlZ3VsYXJfaXRlbSc7XHJcblxyXG4gICAgICAgICAgICB0aGlzLm11c3RfY29sbGVjdCA9ICEhKyhyZWNvcmQubXVzdF9jb2xsZWN0ID8/IGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5yZXF1aXJlc19hc3NlbWJseSA9ICEhKyhyZWNvcmQucmVxdWlyZXNfYXNzZW1ibHkgPz8gZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9ICEhKyhyZWNvcmQuaXNfYWN0aXZlID8/IGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5mZWF0dXJlZCA9ICEhKyhyZWNvcmQuaXNfZmVhdHVyZWQgPz8gZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLmFsbG93X3F1b3RlcyA9IChyZWNvcmQuYWxsb3dfcXVvdGVzID8/IHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLmFsbG93X29yZGVycyA9IChyZWNvcmQuYWxsb3dfb3JkZXJzID8/IHRydWUpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5hbW91bnRfaW5fc3RvY2sgPSArKHJlY29yZC5vbmhhbmQgPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxfcmVjaXBlX2l0ZW1zID0gKyhyZWNvcmQudG90YWxfcmVjaXBlX2l0ZW1zID8/IDApO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5oZWlnaHQgPSArKHJlY29yZC5oZWlnaHQgPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMud2lkdGggPSArKHJlY29yZC53aWR0aCA/PyAwKTtcclxuICAgICAgICAgICAgdGhpcy5sZW5ndGggPSArKHJlY29yZC5sZW5ndGggPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMud2VpZ2h0ID0gKyhyZWNvcmQud2VpZ2h0ID8/IDApO1xyXG5cclxuICAgICAgICAgICAgaWYgKHJlY29yZC51bml0X29mX21lYXN1cmUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudW5pdF9vZl9tZWFzdXJlID0gcmVjb3JkLnVuaXRfb2ZfbWVhc3VyZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYmFzZV9wcmljZSA9ICsocmVjb3JkLnJlZ3VsYXJfc2VsbHByaWNlID8/IDApO1xyXG4gICAgICAgICAgICBiYXNlX3ByaWNlX3dpdGhfdGF4ID0gKyhyZWNvcmQucmVndWxhcl9zZWxscHJpY2VfaW5jbHVzaXZlID8/IDApO1xyXG4gICAgICAgICAgICBzZWxsX3ByaWNlID0gKyhyZWNvcmQuc2VsbHByaWNlID8/IDApO1xyXG4gICAgICAgICAgICBzZWxsX3ByaWNlX3dpdGhfdGF4ID0gKyhyZWNvcmQuc2VsbHByaWNlX2luY2x1c2l2ZSA/PyAwKTtcclxuXHJcbiAgICAgICAgICAgIGlmICgocmVjb3JkLnRhZ3MpICYmIChyZWNvcmQudGFncy5sZW5ndGggPiAwKSkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0YWcgb2YgcmVjb3JkLnRhZ3MpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhZ3MucHVzaChuZXcgRXNvbHZlVGFnKHRhZykpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoKHJlY29yZC50b3BpY3MpICYmIChyZWNvcmQudG9waWNzLmxlbmd0aCA+IDApKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHRvcGljIG9mIHJlY29yZC50b3BpY3MpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvcGljcy5wdXNoKG5ldyBFc29sdmVUb3BpYyh0b3BpYykpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoKHJlY29yZC5iYWRnZXMpICYmIChyZWNvcmQuYmFkZ2VzLmxlbmd0aCA+IDApKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGJhZGdlIG9mIHJlY29yZC5iYWRnZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhZGdlcy5wdXNoKG5ldyBFc29sdmVTdG9ja0JhZGdlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2UuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLnRleHQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmlkZW50aWZpZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmZvbnRfY29sb3VyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5iYWRnZV9jb2xvdXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICtiYWRnZS5zb3J0X3ByaW9yaXR5LFxyXG4gICAgICAgICAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAocmVjb3JkLmNhdGVnb3J5KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5ID0gbmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5wYXJlbnRfaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZWZfZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNob3J0X2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zb3J0X3ByaW9yaXR5LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5hY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmRpc3BsYXlfb25seSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuaW1hZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNlb19wYWdlX3RpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZW9fa2V5d29yZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNlb19kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChyZWNvcmQuc3ViY2F0ZWdvcnkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3ViY2F0ZWdvcnkgPSBuZXcgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbShcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkudHlwZSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnBhcmVudF9pZCxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlZl9kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc2hvcnRfZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNvcnRfcHJpb3JpdHksXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmFjdGl2ZSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuZGlzcGxheV9vbmx5LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5pbWFnZSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc2VvX3BhZ2VfdGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlb19rZXl3b3JkcyxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc2VvX2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHJlY29yZC5tYW51ZmFjdHVyZXIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWFudWZhY3R1cmVyID0gbmV3IEVzb2x2ZU1hbnVmYWN0dXJlcihyZWNvcmQubWFudWZhY3R1cmVyKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHJlY29yZC5yYW5nZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yYW5nZSA9IG5ldyBFc29sdmVSYW5nZShyZWNvcmQucmFuZ2UpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAocmVjb3JkLmNvbG91cnMgJiYgcmVjb3JkLmNvbG91cnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjb2xvdXIgb2YgcmVjb3JkLmNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbG91cnMucHVzaChuZXcgRXNvbHZlQ29sb3VyKGNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAocmVjb3JkLmxlYWRfdGltZXMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGVhZF90aW1lcyA9IG5ldyBFc29sdmVTdG9ja0xlYWRUaW1lcyhyZWNvcmQubGVhZF90aW1lcyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChyZWNvcmQuY3VzdG9tX2ZpZWxkcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXN0b21fZmllbGRzID0gcmVjb3JkLmN1c3RvbV9maWVsZHM7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICgocmVjb3JkLnRvdGFsX29yZGVyX3F0eSkgfHwgKChyZWNvcmQudG90YWxfcXVvdGVfcXR5KSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsX29yZGVyX3F0eSA9ICsocmVjb3JkLnRvdGFsX29yZGVyX3F0eSA/PyAwKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsX3F1b3RlX3F0eSA9ICsocmVjb3JkLnRvdGFsX3F1b3RlX3F0eSA/PyAwKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGlzdG9yeSA9IG5ldyBFc29sdmVTdG9ja1RyYW5zYWN0aW9uSGlzdG9yeSh0b3RhbF9vcmRlcl9xdHksIHRvdGFsX3F1b3RlX3F0eSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNlb190aXRsZSA9IHJlY29yZC5zZW9fcGFnZV90aXRsZSA/PyAnJztcclxuICAgICAgICAgICAgc2VvX2tleXdvcmRzID0gcmVjb3JkLnNlb19rZXl3b3JkcyA/PyAnJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucHJpY2UgPSBuZXcgRXNvbHZlU3RvY2tQcmljZShcclxuICAgICAgICAgICAgYmFzZV9wcmljZSxcclxuICAgICAgICAgICAgYmFzZV9wcmljZV93aXRoX3RheCxcclxuICAgICAgICAgICAgc2VsbF9wcmljZSxcclxuICAgICAgICAgICAgc2VsbF9wcmljZV93aXRoX3RheCxcclxuICAgICAgICAgICAgcmVjb3JkLnZhdF9yYXRlLFxyXG4gICAgICAgICAgICByZWNvcmQudmF0X2l0ZW0sXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKHNlb190aXRsZS50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgICAgICAgIHNlb190aXRsZSA9IHRoaXMubmFtZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VvX2RldGFpbHMgPSBuZXcgRXNvbHZlU2VvSW5mbyhcclxuICAgICAgICAgICAgc2VvX3RpdGxlLFxyXG4gICAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICBzZW9fa2V5d29yZHMsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0SW1hZ2VQYXRoKGltYWdlX3NpemU6IEVzb2x2ZVN0b2NrSW1hZ2VTaXplKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5pbWFnZV9uYW1lICE9PSAnJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYC9pbWFnZXMvc3RvY2svJHtpbWFnZV9zaXplfS8ke3RoaXMuaW1hZ2VfbmFtZX1gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0tYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc3RvY2svY2xhc3Nlcy9lc29sdmUtc3RvY2staXRlbS1iYXNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBb0IsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRXpGLE1BQU0sT0FBTyxtQkFBbUI7SUErTTVCLFlBQVksU0FBNEMsRUFBRTtRQTlNMUQ7O1dBRUc7UUFDSSxPQUFFLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCOztXQUVHO1FBQ0ksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUN6Qjs7V0FFRztRQUNJLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDekI7O1dBRUc7UUFDSSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQzdCOztXQUVHO1FBQ0ksZ0JB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SUFDSCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxrQkFBa0I7UUFDekIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQW1LTSxZQUFZLENBQUMsVUFBZ0M7UUFDaEQsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEVBQUUsRUFBRTtZQUN4QixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7WUFFZixJQUFJLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxFQUFFLEVBQUU7Z0JBQ2pDLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2FBQzVDO1lBRUQsT0FBTyxpQkFBaUIsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxFQUFFLENBQUM7U0FDbkU7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZUN1c3RvbUZpZWxkcyB9IGZyb20gJy4uLy4uL3NoYXJlZC9jdXN0b20tZmllbGRzJztcclxuaW1wb3J0IHsgRXNvbHZlU2VvRGV0YWlscywgRXNvbHZlU2VvSW5mbyB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZW8nO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbSB9IGZyb20gJy4uLy4uL2NhdGVnb3J5LXRyZWUnO1xyXG5pbXBvcnQgeyBFc29sdmVNYW51ZmFjdHVyZXIgfSBmcm9tICcuLi8uLi9tYW51ZmFjdHVyZXJzJztcclxuaW1wb3J0IHsgRXNvbHZlUmFuZ2UgfSBmcm9tICcuLi8uLi9yYW5nZXMnO1xyXG5pbXBvcnQgeyBFc29sdmVUYWcgfSBmcm9tICcuLi8uLi90YWdzJztcclxuaW1wb3J0IHsgRXNvbHZlVG9waWMgfSBmcm9tICcuLi8uLi90b3BpY3MnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlU3RvY2tJbWFnZVNpemUsIEVzb2x2ZVN0b2NrVW5pdE9mTWVhc3VyZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgRXNvbHZlU3RvY2tCYXNlUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEVzb2x2ZVN0b2NrQmFkZ2UgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay1iYWRnZS5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZVN0b2NrUHJpY2UgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay1wcmljZS5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZUNvbG91ciB9IGZyb20gJy4vZXNvbHZlLWNvbG91ci5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZVN0b2NrTGVhZFRpbWVzIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stbGVhZC10aW1lcy5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZVN0b2NrVHJhbnNhY3Rpb25IaXN0b3J5IH0gZnJvbSAnLi9lc29sdmUtc3RvY2stdHJhbnNhY3Rpb24taGlzdG9yeS5tb2RlbCc7XHJcblxyXG5leHBvcnQgY2xhc3MgRXNvbHZlU3RvY2tJdGVtQmFzZTxUIGV4dGVuZHMgRXNvbHZlQ3VzdG9tRmllbGRzID0gRXNvbHZlQ3VzdG9tRmllbGRzPiBpbXBsZW1lbnRzIEVzb2x2ZVNlb0RldGFpbHMge1xyXG4gICAgLyoqXHJcbiAgICAgKiBlU29sdmUgR2VuZXJhdGVkIElEXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpZDogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogQ29kZSBpZGVudGlmeWluZyB0aGUgc3RvY2sgaXRlbVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29kZTogc3RyaW5nID0gJyc7XHJcbiAgICAvKipcclxuICAgICAqIE5hbWUgb2YgdGhlIHN0b2NrIGl0ZW1cclxuICAgICAqL1xyXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9ICcnO1xyXG4gICAgLyoqXHJcbiAgICAgKiBTZWFyY2ggZW5naW5lIGZyaWVuZGx5IG5hbWVcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNlZl9uYW1lOiBzdHJpbmcgPSAnJztcclxuICAgIC8qKlxyXG4gICAgICogU2hvcnQgZGVzY3JpcHRpb24gb2Ygc3RvY2sgaXRlbVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZyA9ICcnO1xyXG4gICAgLyoqXHJcbiAgICAgKiBGdWxsIGRlc2NyaXB0aW9uIG9mIHN0b2NrIGl0ZW1cclxuICAgICAqL1xyXG4gICAgcHVibGljIGV4dGVuZGVkX2Rlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcclxuICAgIC8qKlxyXG4gICAgICogQWN0aXZlIHN0YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKlxyXG4gICAgICogRmVhdHVyZWQgc3RhdGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGZlYXR1cmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAvKipcclxuICAgICAqIFF1b3RhYmxlIHN0YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhbGxvd19xdW90ZXM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBPcmRlcmFibGUgc3RhdGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFsbG93X29yZGVyczogYm9vbGVhbiA9IHRydWU7XHJcbiAgICAvKipcclxuICAgICAqIEl0ZW0gbXVzdCBiZSBjb2xsZWN0ZWQsIG5vdCBkZWxpdmVyeSBwb3NzaWJsZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbXVzdF9jb2xsZWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAvKipcclxuICAgICAqIEl0ZW0gbmVlZHMgdG8gYmUgYXNzZW1ibGVkIGFmdGVyIHB1cmNoYXNlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZXF1aXJlc19hc3NlbWJseTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdHlwZSBvZiBkZWxpdmVyeSBjYXRlZ29yeSBhc3NvY2lhdGVkIHdpdGggdGhlIGl0ZW1cclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlbGl2ZXJ5X2NhdGVnb3J5OiBzdHJpbmcgPSAncmVndWxhcl9pdGVtJztcclxuICAgIC8qKlxyXG4gICAgICogTnVtYmVyIG9mIHN0b2NrIGF2YWlsYWJsZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYW1vdW50X2luX3N0b2NrOiBudW1iZXIgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUb3RhbCBpdGVtcyBsaW5rZWQgdG8gdGhlIGl0ZW0gYXMgYSByZWNpcGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIHRvdGFsX3JlY2lwZV9pdGVtczogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogSGVpZ2h0IG1lYXN1cmVkIGluIG1ldGVycyAobSlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGhlaWdodDogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogV2lkdGggbWVhc3VyZWQgaW4gbWV0ZXJzIChtKVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgd2lkdGg6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIExlbmd0aCAvIGRlcHRoIG1lYXN1cmVkIGluIG1ldGVycyAobSlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGxlbmd0aDogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogV2VpZ2h0IG1lYXN1cmVkIGluIGtpbG9ncmFtcyAoa2cpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB3ZWlnaHQ6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIFVuaXRzIHVzZWQgdG8gbWVhc3VyZSB0aGUgcXVhbnRpdHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHVuaXRfb2ZfbWVhc3VyZTogRXNvbHZlU3RvY2tVbml0T2ZNZWFzdXJlID0gJ3VuaXQnO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJRCBvZiBkZWZhdWx0IGNhdGVnb3J5IGxpbmtlZCB0byB0aGUgc3RvY2sgaXRlbVxyXG4gICAgICpcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgY2F0ZWdvcnkuZXNvbHZlX2lkYCBmaWVsZCBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjYXRlZ29yeV9pZDogc3RyaW5nID0gJyc7XHJcbiAgICAvKipcclxuICAgICAqIERlZmF1bHQgbGlua2VkIGNhdGVnb3J5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjYXRlZ29yeT86IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW07XHJcbiAgICAvKipcclxuICAgICAqIElEIG9mIGRlZmF1bHQgc3ViY2F0ZWdvcnkgbGlua2VkIHRvIHRoZSBzdG9jayBpdGVtXHJcbiAgICAgKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGBzdWJjYXRlZ29yeS5lc29sdmVfaWRgIGZpZWxkIGluc3RlYWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN1YmNhdGVnb3J5X2lkOiBudW1iZXIgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZhdWx0IGxpbmtlZCBzdWJjYXRlZ29yeVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3ViY2F0ZWdvcnk/OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJRCBvZiBsaW5rZWQgbWFudWZhY3R1cmVyXHJcbiAgICAgKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGBtYW51ZmFjdHVyZXIuaWRgIGZpZWxkIGluc3RlYWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIG1hbnVmYWN0dXJlcnNfaWQ6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIExpbmtlZCBtYW51ZmFjdHVyZXJcclxuICAgICAqL1xyXG4gICAgcHVibGljIG1hbnVmYWN0dXJlcj86IEVzb2x2ZU1hbnVmYWN0dXJlcjtcclxuICAgIC8qKlxyXG4gICAgICogSUQgb2YgbGlua2VkIHJhbmdlXHJcbiAgICAgKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGByYW5nZS5pZGAgZmllbGQgaW5zdGVhZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmFuZ2VzX2lkOiBudW1iZXIgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBMaW5rZWQgcmFuZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJhbmdlPzogRXNvbHZlUmFuZ2U7XHJcbiAgICAvKipcclxuICAgICAqIERlZmF1bHQgcHJpY2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIHByaWNlOiBFc29sdmVTdG9ja1ByaWNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBTRU8gcGFnZSBkZXRhaWxzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZW9fZGV0YWlsczogRXNvbHZlU2VvSW5mbztcclxuICAgIC8qKlxyXG4gICAgICogTGlua2VkIHRhZ3NcclxuICAgICAqL1xyXG4gICAgcHVibGljIHRhZ3M6IEVzb2x2ZVRhZ1tdID0gW107XHJcbiAgICAvKipcclxuICAgICAqIExpbmtlZCB0b3BpY3NcclxuICAgICAqL1xyXG4gICAgcHVibGljIHRvcGljczogRXNvbHZlVG9waWNbXSA9IFtdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBTdG9jayBiYWRnZXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGJhZGdlczogRXNvbHZlU3RvY2tCYWRnZVtdID0gW107XHJcbiAgICAvKipcclxuICAgICAqIFN0b2NrIGl0ZW0gY3VzdG9tIGZpZWxkcy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGN1c3RvbV9maWVsZHM/OiBUO1xyXG4gICAgLyoqXHJcbiAgICAgKiBDb2xvdXJzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb2xvdXJzOiBFc29sdmVDb2xvdXJbXSA9IFtdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBTdG9jayBJdGVtIExlYWQgVGltZXMgZm9yIHN1cHBseVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbGVhZF90aW1lcz86IEVzb2x2ZVN0b2NrTGVhZFRpbWVzO1xyXG4gICAgLyoqXHJcbiAgICAgKiBMaW5rZWQgbWFudWZhY3R1cmVyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoaXN0b3J5PzogRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3Rvcnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbWFnZSBmaWxlbmFtZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGltYWdlX25hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1hZ2UgTGFzdCBtb2RpZmllZFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGltYWdlX2xhc3RfbW9kaWZpZWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0aCB0byB0aW55IHN0b2NrIGltYWdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgdGlueV9pbWFnZV9zcmMoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3RpbnknKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhdGggdG8gdGh1bWJuYWlsIHN0b2NrIGltYWdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgdGh1bWJuYWlsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgndGh1bWInKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhdGggdG8gc21hbGwgc3RvY2sgaW1hZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBzbWFsbF9pbWFnZV9zcmMoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3NtYWxsJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIGJpZyBzdG9jayBpbWFnZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGJpZ19pbWFnZV9zcmMoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ2JpZycpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0aCB0byBvcmlnaW5hbCBzdG9jayBpbWFnZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IG9yaWdpbmFsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnb3JpZ2luYWwnKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGF2YWlsYWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gKHRoaXMuYW1vdW50X2luX3N0b2NrID4gMCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVjb3JkOiBQYXJ0aWFsPEVzb2x2ZVN0b2NrQmFzZVJlY29yZDxUPj4gPSB7fSkge1xyXG4gICAgICAgIGxldCBzZW9fdGl0bGUgPSAnJztcclxuICAgICAgICBsZXQgc2VvX2tleXdvcmRzID0gJyc7XHJcbiAgICAgICAgbGV0IGJhc2VfcHJpY2UgPSAwO1xyXG4gICAgICAgIGxldCBiYXNlX3ByaWNlX3dpdGhfdGF4ID0gMDtcclxuICAgICAgICBsZXQgc2VsbF9wcmljZSA9IDA7XHJcbiAgICAgICAgbGV0IHNlbGxfcHJpY2Vfd2l0aF90YXggPSAwO1xyXG5cclxuICAgICAgICBpZiAocmVjb3JkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaWQgPSArKHJlY29yZC5pZCA/PyAwKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RlID0gcmVjb3JkLmNvZGUgPz8gJyc7XHJcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IHJlY29yZC5uYW1lID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLnNlZl9uYW1lID0gcmVjb3JkLnNlZl9uYW1lID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gcmVjb3JkLmRlc2NyaXB0aW9uID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLmV4dGVuZGVkX2Rlc2NyaXB0aW9uID0gcmVjb3JkLmV4dGVuZGVkX2Rlc2NyaXB0aW9uID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlX25hbWUgPSByZWNvcmQuaW1hZ2VfbmFtZSA/PyAnJztcclxuICAgICAgICAgICAgdGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkID0gcmVjb3JkLmltYWdlX2xhc3RfbW9kaWZpZWQgPz8gJyc7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5X2lkID0gcmVjb3JkLmNhdGVnb3J5X2lkID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLnN1YmNhdGVnb3J5X2lkID0gKyhyZWNvcmQuc3ViY2F0ZWdvcnlfaWQgPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMubWFudWZhY3R1cmVyc19pZCA9ICsocmVjb3JkLm1hbnVmYWN0dXJlcnNfaWQgPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMucmFuZ2VzX2lkID0gKyhyZWNvcmQucmFuZ2VzX2lkID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLmRlbGl2ZXJ5X2NhdGVnb3J5ID0gcmVjb3JkLmRlbGl2ZXJ5X2NhdGVnb3J5ID8/ICdyZWd1bGFyX2l0ZW0nO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5tdXN0X2NvbGxlY3QgPSAhISsocmVjb3JkLm11c3RfY29sbGVjdCA/PyBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVxdWlyZXNfYXNzZW1ibHkgPSAhISsocmVjb3JkLnJlcXVpcmVzX2Fzc2VtYmx5ID8/IGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSAhISsocmVjb3JkLmlzX2FjdGl2ZSA/PyBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZmVhdHVyZWQgPSAhISsocmVjb3JkLmlzX2ZlYXR1cmVkID8/IGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5hbGxvd19xdW90ZXMgPSAocmVjb3JkLmFsbG93X3F1b3RlcyA/PyB0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy5hbGxvd19vcmRlcnMgPSAocmVjb3JkLmFsbG93X29yZGVycyA/PyB0cnVlKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuYW1vdW50X2luX3N0b2NrID0gKyhyZWNvcmQub25oYW5kID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsX3JlY2lwZV9pdGVtcyA9ICsocmVjb3JkLnRvdGFsX3JlY2lwZV9pdGVtcyA/PyAwKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gKyhyZWNvcmQuaGVpZ2h0ID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLndpZHRoID0gKyhyZWNvcmQud2lkdGggPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMubGVuZ3RoID0gKyhyZWNvcmQubGVuZ3RoID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLndlaWdodCA9ICsocmVjb3JkLndlaWdodCA/PyAwKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChyZWNvcmQudW5pdF9vZl9tZWFzdXJlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuaXRfb2ZfbWVhc3VyZSA9IHJlY29yZC51bml0X29mX21lYXN1cmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGJhc2VfcHJpY2UgPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZSA/PyAwKTtcclxuICAgICAgICAgICAgYmFzZV9wcmljZV93aXRoX3RheCA9ICsocmVjb3JkLnJlZ3VsYXJfc2VsbHByaWNlX2luY2x1c2l2ZSA/PyAwKTtcclxuICAgICAgICAgICAgc2VsbF9wcmljZSA9ICsocmVjb3JkLnNlbGxwcmljZSA/PyAwKTtcclxuICAgICAgICAgICAgc2VsbF9wcmljZV93aXRoX3RheCA9ICsocmVjb3JkLnNlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoKHJlY29yZC50YWdzKSAmJiAocmVjb3JkLnRhZ3MubGVuZ3RoID4gMCkpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdGFnIG9mIHJlY29yZC50YWdzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdzLnB1c2gobmV3IEVzb2x2ZVRhZyh0YWcpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKChyZWNvcmQudG9waWNzKSAmJiAocmVjb3JkLnRvcGljcy5sZW5ndGggPiAwKSkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0b3BpYyBvZiByZWNvcmQudG9waWNzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3BpY3MucHVzaChuZXcgRXNvbHZlVG9waWModG9waWMpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKChyZWNvcmQuYmFkZ2VzKSAmJiAocmVjb3JkLmJhZGdlcy5sZW5ndGggPiAwKSkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBiYWRnZSBvZiByZWNvcmQuYmFkZ2VzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWRnZXMucHVzaChuZXcgRXNvbHZlU3RvY2tCYWRnZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgK2JhZGdlLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS50ZXh0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5pZGVudGlmaWVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5mb250X2NvbG91cixcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFkZ2UuYmFkZ2VfY29sb3VyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2Uuc29ydF9wcmlvcml0eSxcclxuICAgICAgICAgICAgICAgICAgICApKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHJlY29yZC5jYXRlZ29yeSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9IG5ldyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS50eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5pZCxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkucGFyZW50X2lkLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VmX2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zaG9ydF9kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc29ydF9wcmlvcml0eSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuYWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5kaXNwbGF5X29ubHksXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmltYWdlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZW9fcGFnZV90aXRsZSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2tleXdvcmRzLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZW9fZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAocmVjb3JkLnN1YmNhdGVnb3J5KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1YmNhdGVnb3J5ID0gbmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5wYXJlbnRfaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZWZfZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNob3J0X2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zb3J0X3ByaW9yaXR5LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5hY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmRpc3BsYXlfb25seSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuaW1hZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlb19wYWdlX3RpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fa2V5d29yZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlb19kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChyZWNvcmQubWFudWZhY3R1cmVyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hbnVmYWN0dXJlciA9IG5ldyBFc29sdmVNYW51ZmFjdHVyZXIocmVjb3JkLm1hbnVmYWN0dXJlcik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChyZWNvcmQucmFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmFuZ2UgPSBuZXcgRXNvbHZlUmFuZ2UocmVjb3JkLnJhbmdlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHJlY29yZC5jb2xvdXJzICYmIHJlY29yZC5jb2xvdXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY29sb3VyIG9mIHJlY29yZC5jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvdXJzLnB1c2gobmV3IEVzb2x2ZUNvbG91cihjb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHJlY29yZC5sZWFkX3RpbWVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxlYWRfdGltZXMgPSBuZXcgRXNvbHZlU3RvY2tMZWFkVGltZXMocmVjb3JkLmxlYWRfdGltZXMpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAocmVjb3JkLmN1c3RvbV9maWVsZHMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tX2ZpZWxkcyA9IHJlY29yZC5jdXN0b21fZmllbGRzO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoKHJlY29yZC50b3RhbF9vcmRlcl9xdHkpIHx8ICgocmVjb3JkLnRvdGFsX3F1b3RlX3F0eSkpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0b3RhbF9vcmRlcl9xdHkgPSArKHJlY29yZC50b3RhbF9vcmRlcl9xdHkgPz8gMCk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0b3RhbF9xdW90ZV9xdHkgPSArKHJlY29yZC50b3RhbF9xdW90ZV9xdHkgPz8gMCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhpc3RvcnkgPSBuZXcgRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3RvcnkodG90YWxfb3JkZXJfcXR5LCB0b3RhbF9xdW90ZV9xdHkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzZW9fdGl0bGUgPSByZWNvcmQuc2VvX3BhZ2VfdGl0bGUgPz8gJyc7XHJcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyA9IHJlY29yZC5zZW9fa2V5d29yZHMgPz8gJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnByaWNlID0gbmV3IEVzb2x2ZVN0b2NrUHJpY2UoXHJcbiAgICAgICAgICAgIGJhc2VfcHJpY2UsXHJcbiAgICAgICAgICAgIGJhc2VfcHJpY2Vfd2l0aF90YXgsXHJcbiAgICAgICAgICAgIHNlbGxfcHJpY2UsXHJcbiAgICAgICAgICAgIHNlbGxfcHJpY2Vfd2l0aF90YXgsXHJcbiAgICAgICAgICAgIHJlY29yZC52YXRfcmF0ZSxcclxuICAgICAgICAgICAgcmVjb3JkLnZhdF9pdGVtLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmIChzZW9fdGl0bGUudHJpbSgpID09PSAnJykge1xyXG4gICAgICAgICAgICBzZW9fdGl0bGUgPSB0aGlzLm5hbWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNlb19kZXRhaWxzID0gbmV3IEVzb2x2ZVNlb0luZm8oXHJcbiAgICAgICAgICAgIHNlb190aXRsZSxcclxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgc2VvX2tleXdvcmRzLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEltYWdlUGF0aChpbWFnZV9zaXplOiBFc29sdmVTdG9ja0ltYWdlU2l6ZSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VfbmFtZSAhPT0gJycpIHtcclxuICAgICAgICAgICAgbGV0IHBhcmFtID0gJyc7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkICE9PSAnJykge1xyXG4gICAgICAgICAgICAgICAgcGFyYW0gPSBgP3Q9JHt0aGlzLmltYWdlX2xhc3RfbW9kaWZpZWR9YDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGAvaW1hZ2VzL3N0b2NrLyR7aW1hZ2Vfc2l6ZX0vJHt0aGlzLmltYWdlX25hbWV9JHtwYXJhbX1gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
;
|
|
2
2
|
export {};
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWltYWdlLWNvbGxlY3Rpb24tcmVjb3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc3RvY2svaW50ZXJmYWNlcy9lc29sdmUtc3RvY2staW1hZ2UtY29sbGVjdGlvbi1yZWNvcmQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVBZGRpdGlvbmFsU3RvY2tJbWFnZVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLWFkZGl0aW9uYWwtc3RvY2staW1hZ2UtcmVjb3JkLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVN0b2NrSW1hZ2VDb2xsZWN0aW9uUmVjb3JkIHtcclxuICAgIGRlZmF1bHRfaW1hZ2U6IHN0cmluZztcclxuICAgIGRlZmF1bHRfaW1hZ2VfbGFzdF9tb2RpZmllZDogc3RyaW5nO1xyXG4gICAgYWx0X2ltYWdlczogc3RyaW5nW107XHJcbiAgICBhZGRpdGlvbmFsX2ltYWdlczogRXNvbHZlQWRkaXRpb25hbFN0b2NrSW1hZ2VSZWNvcmRbXTtcclxufTtcclxuIl19
|