@tilde-nlp/ngx-translate 2.1.39 → 2.1.40
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/modules/tld-common/models/configs/tld-translate-text-config.model.mjs +1 -1
- package/esm2020/lib/modules/tld-common/services/tld-translate-config.service.mjs +2 -1
- package/esm2020/lib/tld-translate.component.mjs +2 -2
- package/fesm2015/tilde-nlp-ngx-translate.mjs +30 -29
- package/fesm2015/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/fesm2020/tilde-nlp-ngx-translate.mjs +2 -1
- package/fesm2020/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/lib/modules/tld-common/models/configs/tld-translate-text-config.model.d.ts +2 -0
- package/package.json +1 -1
- package/src/assets/webcomponent/tld-translate.js +1 -1
- package/tilde-nlp-ngx-translate-2.1.40.tgz +0 -0
- package/tilde-nlp-ngx-translate-2.1.39.tgz +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1jb21tb24vbW9kZWxzL2NvbmZpZ3MvdGxkLXRyYW5zbGF0ZS10ZXh0LWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRsZFRyYW5zbGF0ZVRleHRDb25maWcge1xyXG4gIGRpY3Rpb25hcnlVcmw/OiBzdHJpbmc7XHJcbiAgbWF4Q2hhckxlbmd0aD86IG51bWJlcjtcclxuICBzaG93QXV0aEV4dGVuc2lvbnM/OiBib29sZWFuO1xyXG4gIHNob3dBdmFpbGFibGVFeHRlbnNpb25zPzogYm9vbGVhbjtcclxuICB0cmFuc2xhdGlvblVybD86IHN0cmluZztcclxuICB1cGRhdGVUcmFuc2xhdGlvblVybD86IHN0cmluZztcclxuICB1c2VEaWN0aW9uYXJ5PzogYm9vbGVhbjtcclxuICB3ZWJXaWRnZXRSZWRpcmVjdFVybFByZWZpeD86IHN0cmluZztcclxuICB3ZWJXaWRnZXRSZWRpcmVjdFVybFBvc2ZpeD86IHN0cmluZztcclxuICBhdXRvRm9jdXNzPzogYm9vbGVhbjtcclxuICBzaG93RXh0ZW5zaW9uc1VuYXV0aE9ubHk/OiBib29sZWFuO1xyXG4gIHNob3dTZW5zaXRpdmVJbmZvVG9vbHRpcD86IGJvb2xlYW47XHJcbiAgYWxsb3dXZWJzaXRlVHJhbnNsYXRpb24/OiBib29sZWFuO1xyXG4gIC8qKiBQb3NzaWJpbGl0eSB0byBtYWtlIHN1Z2dlc3Rpb24gZm9yIHRyYW5zbGF0ZWQgdGV4dC4gSW4gVUkgc2hvd3MgXCJTdWdnZXN0IHRyYW5zbGF0aW9uXCIgYnV0dG9uIHVuZGVyIHRhcmdldCB0ZXh0LiAqL1xyXG4gIHNob3dTdWdnZXN0aW9ucz86IGJvb2xlYW47XHJcbiAgLyoqIEF1dG9tYXRpY2FsbHkgcmVkaXJlY3QgdG8gd2ViIHRyYW5zbGF0ZSBvbiB1cmwgaW5wdXQuICovXHJcbiAgYXV0b1JlZGlyZWN0VG9XZWJUcmFuc2xhdGU/OiBib29sZWFuO1xyXG4gIC8qKiBXb3JkIGhpZ2hsaWdodGluZyAqL1xyXG4gIGhpZ2hsaWdodD86IGJvb2xlYW47XHJcbiAgLyoqIEFwaSBWMiBzdXBwb3J0cyBncmFtbWFyIGNoZWsuIFNldCB0byB0cnVlIHRvIGVuYWJsZSBncmFtbWFyIGNoZWNrLiAgICovXHJcbiAgY2hlY2tTb3VyY2VHcmFtbWFyPzogYm9vbGVhbjtcclxuICAvKiogQXBpIFYyLiBTb3VyY2UgbGFuZ3VhZ2VzIGZvciB3aGljaCBzaG91bGQgY2hlY2sgZ3JhbW1hci4gKi9cclxuICBncmFtbWFyQ2hlY2tMYW5ndWFnZXM/OiBzdHJpbmdbXTtcclxuICAvKiogU2hvdyB0YXJnZXQgY29udGFpbmVyIGxhYmVscyAqL1xyXG4gIHNob3dUYXJnZXRQbGFjZWhvbGRlcj86IHN0cmluZztcclxuICAvKiogU2hvdyBidXR0b24gdG8gb3BlbiBkaWFsb2cgdGhhdCBkZXNjcmliZXMgYWxsIGV4dGVuc2lvbnMgKi9cclxuICBzaG93RXh0ZW5zaW9uUG9wdXA/OiBib29sZWFuO1xyXG4gIC8qKiBIb3cgbWFueSBleHRlbnNpb2lucyBzaG91bGQgYmUgc3dvbiBvbiBmaWxlIGlucHV0IGJ1dHRvbiB0ZXh0ICovXHJcbiAgdmlzaWJsZUV4dGVuc2lvbkNvdW50PzogbnVtYmVyO1xyXG4gIC8qKiBTaG91bGQgc291cmNlIGFjdGlvbnMgYmUgYWx3YXlzIHNob3duIG9yIG1vYmlsZSBvciBoaWRkZW4gd2hlbiBhbnkgc291cmNlIHRleHQgaGFzIGJlZW4gZW50ZXJlZCAqL1xyXG4gIGhpZGVTb3VyY2VBY3Rpb25zV2hlbkhhc1RleHRNb2JpbGU/OiBib29sZWFuO1xyXG4gIC8qKiBBZnRlciBob3cgbWFueSBtaWxpc2Vjb25kcyBzaG91bGQgc2hvdyBwcm9ncmVzcyBpbmRpY2F0b3IgLSBwcm9ncmVzcyBiYXIgYW5kIHZlbmRvciBpZGVudGlmaWNhdGlvbiBpbiB0YXJnZXQgZmllbGQuIFNldCB2YWx1ZSB0byBudWxsLCB0byBkaXNhYmxlIGluZGljYXRvciBmcm9tIHNob3dpbmcgdXAuICovXHJcbiAgcHJvZ3Jlc3NJbmRpY2F0b3JUaW1lb3V0TWlsaVNlY29uZHM/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1jb21tb24vbW9kZWxzL2NvbmZpZ3MvdGxkLXRyYW5zbGF0ZS10ZXh0LWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRsZFRyYW5zbGF0ZVRleHRDb25maWcge1xyXG4gIGRpY3Rpb25hcnlVcmw/OiBzdHJpbmc7XHJcbiAgbWF4Q2hhckxlbmd0aD86IG51bWJlcjtcclxuICBzaG93QXV0aEV4dGVuc2lvbnM/OiBib29sZWFuO1xyXG4gIHNob3dBdmFpbGFibGVFeHRlbnNpb25zPzogYm9vbGVhbjtcclxuICB0cmFuc2xhdGlvblVybD86IHN0cmluZztcclxuICB1cGRhdGVUcmFuc2xhdGlvblVybD86IHN0cmluZztcclxuICB1c2VEaWN0aW9uYXJ5PzogYm9vbGVhbjtcclxuICB3ZWJXaWRnZXRSZWRpcmVjdFVybFByZWZpeD86IHN0cmluZztcclxuICB3ZWJXaWRnZXRSZWRpcmVjdFVybFBvc2ZpeD86IHN0cmluZztcclxuICBhdXRvRm9jdXNzPzogYm9vbGVhbjtcclxuICBzaG93RXh0ZW5zaW9uc1VuYXV0aE9ubHk/OiBib29sZWFuO1xyXG4gIHNob3dTZW5zaXRpdmVJbmZvVG9vbHRpcD86IGJvb2xlYW47XHJcbiAgYWxsb3dXZWJzaXRlVHJhbnNsYXRpb24/OiBib29sZWFuO1xyXG4gIC8qKiBQb3NzaWJpbGl0eSB0byBtYWtlIHN1Z2dlc3Rpb24gZm9yIHRyYW5zbGF0ZWQgdGV4dC4gSW4gVUkgc2hvd3MgXCJTdWdnZXN0IHRyYW5zbGF0aW9uXCIgYnV0dG9uIHVuZGVyIHRhcmdldCB0ZXh0LiAqL1xyXG4gIHNob3dTdWdnZXN0aW9ucz86IGJvb2xlYW47XHJcbiAgLyoqIEF1dG9tYXRpY2FsbHkgcmVkaXJlY3QgdG8gd2ViIHRyYW5zbGF0ZSBvbiB1cmwgaW5wdXQuICovXHJcbiAgYXV0b1JlZGlyZWN0VG9XZWJUcmFuc2xhdGU/OiBib29sZWFuO1xyXG4gIC8qKiBXb3JkIGhpZ2hsaWdodGluZyAqL1xyXG4gIGhpZ2hsaWdodD86IGJvb2xlYW47XHJcbiAgLyoqIEFwaSBWMiBzdXBwb3J0cyBncmFtbWFyIGNoZWsuIFNldCB0byB0cnVlIHRvIGVuYWJsZSBncmFtbWFyIGNoZWNrLiAgICovXHJcbiAgY2hlY2tTb3VyY2VHcmFtbWFyPzogYm9vbGVhbjtcclxuICAvKiogQXBpIFYyLiBTb3VyY2UgbGFuZ3VhZ2VzIGZvciB3aGljaCBzaG91bGQgY2hlY2sgZ3JhbW1hci4gKi9cclxuICBncmFtbWFyQ2hlY2tMYW5ndWFnZXM/OiBzdHJpbmdbXTtcclxuICAvKiogU2hvdyB0YXJnZXQgY29udGFpbmVyIGxhYmVscyAqL1xyXG4gIHNob3dUYXJnZXRQbGFjZWhvbGRlcj86IHN0cmluZztcclxuICAvKiogU2hvdyBidXR0b24gdG8gb3BlbiBkaWFsb2cgdGhhdCBkZXNjcmliZXMgYWxsIGV4dGVuc2lvbnMgKi9cclxuICBzaG93RXh0ZW5zaW9uUG9wdXA/OiBib29sZWFuO1xyXG4gIC8qKiBIb3cgbWFueSBleHRlbnNpb2lucyBzaG91bGQgYmUgc3dvbiBvbiBmaWxlIGlucHV0IGJ1dHRvbiB0ZXh0ICovXHJcbiAgdmlzaWJsZUV4dGVuc2lvbkNvdW50PzogbnVtYmVyO1xyXG4gIC8qKiBTaG91bGQgc291cmNlIGFjdGlvbnMgYmUgYWx3YXlzIHNob3duIG9yIG1vYmlsZSBvciBoaWRkZW4gd2hlbiBhbnkgc291cmNlIHRleHQgaGFzIGJlZW4gZW50ZXJlZCAqL1xyXG4gIGhpZGVTb3VyY2VBY3Rpb25zV2hlbkhhc1RleHRNb2JpbGU/OiBib29sZWFuO1xyXG4gIC8qKiBBZnRlciBob3cgbWFueSBtaWxpc2Vjb25kcyBzaG91bGQgc2hvdyBwcm9ncmVzcyBpbmRpY2F0b3IgLSBwcm9ncmVzcyBiYXIgYW5kIHZlbmRvciBpZGVudGlmaWNhdGlvbiBpbiB0YXJnZXQgZmllbGQuIFNldCB2YWx1ZSB0byBudWxsLCB0byBkaXNhYmxlIGluZGljYXRvciBmcm9tIHNob3dpbmcgdXAuICovXHJcbiAgcHJvZ3Jlc3NJbmRpY2F0b3JUaW1lb3V0TWlsaVNlY29uZHM/OiBudW1iZXI7XHJcbiAgLyoqIEZvciB3aGljaCB2ZW5kb3JzIHRpdGxlIGlzIHZpc2libGUgaW4gdGV4dCB0cmFuc2xhdGlvbiBwcm9ncmVzcyBpbmRpY2F0b3IgbWVzc2FnZS4qL1xyXG4gIHByb2dyZXNzSW5kaWNhdG9yVGl0bGVWaXNpYmxlRm9yVmVuZG9ycz86IHN0cmluZ1tdO1xyXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgbG9hZGVyIGluIHRoZSBib3R0b20gb2YgdGFyZ2V0IHdpbmRvdyBhZnRlciBjb25maWd1cmVkIHRpbWVvdXQuICovXHJcbiAgcHJvZ3Jlc3NJbmRpY2F0b3JWaXNpYmxlPzogYm9vbGVhbjtcclxuICAvKiogSWYgaXQgaXMgbmVjZXNzYXJ5IHRvIGhpZGUgdGhlIFRyYW5zbGF0aW9uIGJ1dHRvbiBpbiB0aGUgc3dpdGNoZXIsIHNldCB0aGlzIHRvIFwiZmFsc2UuXCIgKi9cclxuICBzaG93VHJhbnNsYXRlQnV0dG9uPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -155,6 +155,7 @@ export class TldTranslateConfigService {
|
|
|
155
155
|
this._textConfig.progressIndicatorTimeoutMiliSeconds = text?.progressIndicatorTimeoutMiliSeconds ?? 2000;
|
|
156
156
|
this._textConfig.progressIndicatorTitleVisibleForVendors = text?.progressIndicatorTitleVisibleForVendors ?? ["ETranslation"];
|
|
157
157
|
this._textConfig.progressIndicatorVisible = text?.progressIndicatorVisible ?? false;
|
|
158
|
+
this._textConfig.showTranslateButton = text?.showTranslateButton ?? true;
|
|
158
159
|
this._audioConfig.audioTextInput = audio?.audioTextInput ?? false;
|
|
159
160
|
// Not setting default url because there is no service provided by Tilde and this is not used by default in website project.
|
|
160
161
|
this._audioConfig.audioApiUrl = audio?.audioApiUrl;
|
|
@@ -228,4 +229,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
228
229
|
type: Inject,
|
|
229
230
|
args: [TLD_TRANSLATE_CONFIG_TOKEN]
|
|
230
231
|
}] }]; } });
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1jb21tb24vc2VydmljZXMvdGxkLXRyYW5zbGF0ZS1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUEwQixtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBS3JGLE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFBb0UsVUFBaUMsRUFDbEMsTUFBMkI7UUFEMUIsZUFBVSxHQUFWLFVBQVUsQ0FBdUI7UUFDbEMsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFJdEYsZ0JBQVcsR0FBNEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUt2RSxnQkFBVyxHQUE0QixFQUFFLENBQUM7UUFLMUMsZ0JBQVcsR0FBNEIsRUFBRSxDQUFDO1FBSzFDLHdCQUFtQixHQUErQixFQUFFLENBQUM7UUFLckQsZ0JBQVcsR0FBbUIsRUFBRSxDQUFDO1FBS2pDLGlCQUFZLEdBQTZCLEVBQUUsQ0FBQztRQUs1QyxpQkFBWSxHQUFvQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO1FBS2pFLHdCQUFtQixHQUEyQixFQUFFLENBQUM7UUF0Q3ZELElBQUksQ0FBQyxXQUFXLEVBQUUs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SUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3RFLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDdEUsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztZQUN0RSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3RFLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDdEUsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTthQUM3SztTQUNGLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixHQUFHLElBQUksRUFBRSxtQkFBbUIsSUFBSTtZQUNsRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3hGLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDeEYsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztZQUN4RixFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3hGLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDeEYsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFF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QUMsa0JBQWtCLEdBQUcsV0FBVyxFQUFFLGtCQUFrQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztRQUM5RyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsR0FBRyxXQUFXLEVBQUUsZUFBZSxJQUFJLGlDQUFpQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEdBQUcsV0FBVyxFQUFFLG1CQUFtQixJQUFJLEtBQUssQ0FBQztRQUVsRixJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxHQUFHLFlBQVksRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDO1FBQ25FLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEdBQUcsWUFBWSxFQUFFLGNBQWMsSUFBSSxJQUFJLENBQUM7UUFFL0UsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssd0JBQXdCO1FBQzlCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxxQkFBcUIsQ0FBQyxFQUFFLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUN2QztJQUNILENBQUM7O3NIQW5PVSx5QkFBeUIsa0JBRWhCLDZCQUE2QixhQUMzQiwwQkFBMEI7MEhBSHJDLHlCQUF5QixjQUZ4QixNQUFNOzJGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdjLE1BQU07MkJBQUMsNkJBQTZCOzswQkFDOUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRSQU5TTEFUSU9OX0FQSV9WRVJTSU9OX1RPS0VOIH0gZnJvbSAnLi4vLi4vLi4vaW5qZWN0aW9uLXRva2Vucyc7XHJcbmltcG9ydCB7IFRMRF9UUkFOU0xBVEVfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi4vLi4vLi4vaW5qZWN0aW9uLXRva2Vucy90bGQtdHJhbnNsYXRlLWNvbmZpZy50b2tlbic7XHJcbmltcG9ydCB7IElUbGRUZXh0VG9TcGVlY2hDb25maWcsIGxhbmd1YWdlTWVudVZlcnNpb24gfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBJVGxkQXVkaW9Db25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtYXVkaW8tY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFRlcm1Db25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtdGVybS1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBJVGxkVHJhbnNsYXRlQXBpVjJDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtdHJhbnNsYXRlLWFwaS12Mi1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBJVGxkVHJhbnNsYXRlQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLXRyYW5zbGF0ZS1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBJVGxkVHJhbnNsYXRlQ29yZUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9jb25maWdzL3RsZC10cmFuc2xhdGUtY29yZS1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBJVGxkVHJhbnNsYXRlRmlsZUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9jb25maWdzL3RsZC10cmFuc2xhdGUtZmlsZS1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBJVGxkVHJhbnNsYXRlVGV4dENvbmZpZyB9IGZyb20gJy4uL21vZGVscy9jb25maWdzL3RsZC10cmFuc2xhdGUtdGV4dC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBJVGxkVHJhbnNsYXRlV2Vic2l0ZUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9jb25maWdzL3RsZC10cmFuc2xhdGUtd2ViLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uQXBpVmVyc2lvbiB9IGZyb20gJy4uL21vZGVscy9jb3JlL3RyYW5zbGF0aW9uLWFwaS12ZXJzaW9uLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFRSQU5TTEFUSU9OX0FQSV9WRVJTSU9OX1RPS0VOKSBwcml2YXRlIHJlYWRvbmx5IGFwaVZlcnNpb246IFRyYW5zbGF0aW9uQXBpVmVyc2lvbixcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVExEX1RSQU5TTEFURV9DT05GSUdfVE9LRU4pIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBJVGxkVHJhbnNsYXRlQ29uZmlnKSB7XHJcbiAgICB0aGlzLmluaXRDb25maWdzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb3JlQ29uZmlnOiBJVGxkVHJhbnNsYXRlQ29yZUNvbmZpZyA9IHsgYXBwSWQ6IG51bGwsIGNsaWVudElkOiBudWxsIH07XHJcbiAgZ2V0IGNvcmVDb25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29yZUNvbmZpZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RleHRDb25maWc6IElUbGRUcmFuc2xhdGVUZXh0Q29uZmlnID0ge307XHJcbiAgZ2V0IHRleHRDb25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGV4dENvbmZpZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbGVDb25maWc6IElUbGRUcmFuc2xhdGVGaWxlQ29uZmlnID0ge307XHJcbiAgZ2V0IGZpbGVDb25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsZUNvbmZpZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3dlYnRyYW5zbGF0ZUNvbmZpZzogSVRsZFRyYW5zbGF0ZVdlYnNpdGVDb25maWcgPSB7fTtcclxuICBnZXQgd2VidHJhbnNsYXRlQ29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3dlYnRyYW5zbGF0ZUNvbmZpZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Rlcm1Db25maWc6IElUbGRUZXJtQ29uZmlnID0ge307XHJcbiAgZ2V0IHRlcm1Db25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGVybUNvbmZpZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FwaVYyQ29uZmlnOiBJVGxkVHJhbnNsYXRlQXBpVjJDb25maWcgPSB7fTtcclxuICBnZXQgYXBpVjJDb25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYXBpVjJDb25maWc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hdWRpb0NvbmZpZzogSVRsZEF1ZGlvQ29uZmlnID0geyBhcHBJZDogbnVsbCwgYXBwU2VjcmV0OiBudWxsIH07XHJcbiAgZ2V0IGF1ZGlvQ29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2F1ZGlvQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdGV4dFRvU3BlZWNoQ29uZmlnOiBJVGxkVGV4dFRvU3BlZWNoQ29uZmlnID0ge307XHJcbiAgZ2V0IHRleHRUb1NwZWVjaENvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl90ZXh0VG9TcGVlY2hDb25maWc7XHJcbiAgfVxyXG5cclxuICBpbml0Q29uZmlncyhjb25maWd1cmF0aW9uPzogSVRsZFRyYW5zbGF0ZUNvbmZpZykge1xyXG4gICAgY29uc3QgY29uZmlnID0gY29uZmlndXJhdGlvbiA/PyB0aGlzLmNvbmZpZyA/PyB7fTtcclxuXHJcbiAgICBjb25zdCBjb3JlID0gY29uZmlnPy5jb3JlO1xyXG4gICAgY29uc3QgZmlsZSA9IGNvbmZpZz8uZmlsZTtcclxuICAgIGNvbnN0IHRleHQgPSBjb25maWc/LnRleHQ7XHJcbiAgICBjb25zdCBhdWRpbyA9IGNvbmZpZz8uYXVkaW87XHJcbiAgICBjb25zdCB3ZWJ0cmFuc2xhdGUgPSBjb25maWc/LndlYlRyYW5zbGF0ZTtcclxuICAgIGNvbnN0IHRlcm1Db25maWcgPSBjb25maWc/LnRlcm07XHJcbiAgICBjb25zdCBhcGlWMkNvbmZpZyA9IGNvbmZpZz8uYXBpVjI7XHJcbiAgICBjb25zdCB0ZXh0VG9TcGVlY2ggPSBjb25maWc/LnRleHRUb1NwZWVjaDtcclxuXHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnID0geyBhcHBJZDogY29yZT8uYXBwSWQsIGNsaWVudElkOiBjb3JlPy5jbGllbnRJZCB9O1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5hcGlJc0luVGhlU2FtZURvbWFpbiA9IGNvcmU/LmFwaUlzSW5UaGVTYW1lRG9tYWluIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5hcHBOYW1lID0gY29yZT8uYXBwTmFtZSB8fCBcIlRpbGRlIE1UXCI7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmhpZGVBY2hpZXZlbWVudCA9IGNvcmU/LmhpZGVBY2hpZXZlbWVudCB8fCBmYWxzZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuaXNBdXRoID0gY29yZT8uaXNBdXRoIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5qd3RBdXRoID0gY29yZT8uand0QXV0aCB8fCBmYWxzZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcudHJhbnNsYXRlQXBwTmFtZSA9IGNvcmU/LnRyYW5zbGF0ZUFwcE5hbWUgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcucmVnaXN0ZXJMaW5rID0gY29yZT8ucmVnaXN0ZXJMaW5rIHx8IFwiaHR0cHM6Ly90aWxkZS5jb20vcHJvZHVjdHMtYW5kLXNlcnZpY2VzL21hY2hpbmUtdHJhbnNsYXRpb25cIjtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuc3VwcG9ydEVtYWlsID0gY29yZT8uc3VwcG9ydEVtYWlsIHx8IFwibXRAdGlsZGUubHZcIjtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuc291cmNlTGFuZ3VhZ2VPcmRlciA9IGNvcmU/LnNvdXJjZUxhbmd1YWdlT3JkZXIgfHwge1xyXG4gICAgICBlbjogW1wiZW5cIiwgXCJsdlwiLCBcInJ1XCIsIFwibHRcIiwgXCJldFwiLCBcImZpXCIsIFwicGxcIiwgXCJkZVwiLCBcIml0XCIsIFwiYmdcIiwgXCJoclwiXSxcclxuICAgICAgbHY6IFtcImVuXCIsIFwibHZcIiwgXCJydVwiLCBcImx0XCIsIFwiZXRcIiwgXCJmaVwiLCBcInBsXCIsIFwiZGVcIiwgXCJpdFwiLCBcImJnXCIsIFwiaHJcIl0sXHJcbiAgICAgIGx0OiBbXCJlblwiLCBcImx0XCIsIFwicnVcIiwgXCJsdlwiLCBcImV0XCIsIFwiZmlcIiwgXCJwbFwiLCBcImRlXCIsIFwiaXRcIiwgXCJiZ1wiLCBcImhyXCJdLFxyXG4gICAgICBldDogW1wiZW5cIiwgXCJldFwiLCBcImZpXCIsIFwicnVcIiwgXCJsdlwiLCBcImx0XCIsIFwicGxcIiwgXCJkZVwiLCBcIml0XCIsIFwiYmdcIiwgXCJoclwiXSxcclxuICAgICAgZmk6IFtcImZpXCIsIFwiZW5cIiwgXCJldFwiLCBcInJ1XCIsIFwibHZcIiwgXCJsdFwiLCBcInBsXCIsIFwiZGVcIiwgXCJpdFwiLCBcImJnXCIsIFwiaHJcIl0sXHJcbiAgICAgIHBsOiBbXCJwbFwiLCBcImVuXCIsIFwiZGVcIiwgXCJsdlwiLCBcImV0XCIsIFwicnVcIiwgXCJsdFwiLCBcImZpXCIsIFwiaXRcIiwgXCJiZ1wiLCBcImhyXCJdLFxyXG4gICAgICBkZTogW1wiZW5cIiwgXCJiZ1wiLCBcImRhXCIsIFwiZXRcIiwgXCJmaVwiLCBcImZyXCIsIFwiZGVcIiwgXCJlbFwiLCBcImdhXCIsIFwiaXNcIiwgXCJpdFwiLCBcImhyXCIsIFwibHZcIiwgXCJsdFwiLCBcInJ1XCIsIFwibXRcIiwgXCJubFwiLCBcIm5iXCIsIFwicGxcIiwgXCJwdFwiLCBcInB0LXB0XCIsIFwicm9cIiwgXCJzdlwiLCBcInNrXCIsIFwic2xcIiwgXCJlc1wiLCBcImNzXCIsIFwiaHVcIlxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy50YXJnZXRMYW5ndWFnZU9yZGVyID0gY29yZT8udGFyZ2V0TGFuZ3VhZ2VPcmRlciB8fCB7XHJcbiAgICAgIGVuOiBbXCJlblwiLCBcImx2XCIsIFwicnVcIiwgXCJsdFwiLCBcImV0XCIsIFwiZmlcIiwgXCJhclwiLCBcInBsXCIsIFwiZGVcIiwgXCJiZ1wiLCBcImhyXCIsIFwiZXNcIiwgXCJuYlwiLCBcInJvXCJdLFxyXG4gICAgICBsdjogW1wiZW5cIiwgXCJsdlwiLCBcImx0XCIsIFwiZXRcIiwgXCJydVwiLCBcImZpXCIsIFwiYXJcIiwgXCJwbFwiLCBcImRlXCIsIFwiYmdcIiwgXCJoclwiLCBcImVzXCIsIFwibmJcIiwgXCJyb1wiXSxcclxuICAgICAgbHQ6IFtcImVuXCIsIFwibHRcIiwgXCJsdlwiLCBcImV0XCIsIFwicnVcIiwgXCJmaVwiLCBcImFyXCIsIFwicGxcIiwgXCJkZVwiLCBcImJnXCIsIFwiaHJcIiwgXCJlc1wiLCBcIm5iXCIsIFwicm9cIl0sXHJcbiAgICAgIGV0OiBbXCJlblwiLCBcImV0XCIsIFwibHZcIiwgXCJsdFwiLCBcInJ1XCIsIFwiZmlcIiwgXCJhclwiLCBcInBsXCIsIFwiZGVcIiwgXCJiZ1wiLCBcImhyXCIsIFwiZXNcIiwgXCJuYlwiLCBcInJvXCJdLFxyXG4gICAgICBmaTogW1wiZXRcIiwgXCJmaVwiLCBcImVuXCIsIFwibHZcIiwgXCJsdFwiLCBcInJ1XCIsIFwiYXJcIiwgXCJwbFwiLCBcImRlXCIsIFwiYmdcIiwgXCJoclwiLCBcImVzXCIsIFwibmJcIiwgXCJyb1wiXSxcclxuICAgICAgcGw6IFtcImVuXCIsIFwicGxcIiwgXCJkZVwiLCBcImx2XCIsIFwicnVcIiwgXCJldFwiLCBcImZpXCIsIFwibHRcIiwgXCJhclwiLCBcImJnXCIsIFwiaHJcIiwgXCJlc1wiLCBcIm5iXCIsIFwicm9cIl0sXHJcbiAgICAgIGRlOiBbXCJkZVwiLCBcImVuXCIsIFwiZnJcIiwgXCJiZ1wiLCBcImRhXCIsIFwiZXRcIiwgXCJmaVwiLCBcImVsXCIsIFwiZ2FcIiwgXCJpc1wiLCBcIml0XCIsIFwiaHJcIiwgXCJsdlwiLCBcImx0XCIsIFwicnVcIiwgXCJtdFwiLCBcIm5sXCIsIFwibmJcIiwgXCJwbFwiLCBcInB0XCIsIFwicHQtcHRcIiwgXCJyb1wiLCBcInN2XCIsIFwic2tcIiwgXCJzbFwiLCBcImVzXCIsIFwiY3NcIiwgXCJodVwiLCBcImFyXCJdXHJcbiAgICB9O1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5oaWRlTGFuZ01lbnVMYWJlbHMgPSBjb3JlPy5oaWRlTGFuZ01lbnVMYWJlbHMgfHwgZmFsc2U7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnNob3dWZW5kb3JzID0gY29yZT8uc2hvd1ZlbmRvcnMgfHwgZmFsc2U7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnVuYXV0aG9yaXplZFJlZGlyZWN0TGluayA9IGNvcmU/LnVuYXV0aG9yaXplZFJlZGlyZWN0TGluaztcclxuICAgIHRoaXMuX2NvcmVDb25maWcuYWxsb3dlZFN5c3RlbVN0YXR1c2VzID0gY29yZT8uYWxsb3dlZFN5c3RlbVN0YXR1c2VzID8/IFsncnVubmluZycsICdzdGFuZGJ5JywgJ3F1ZXVpbmd0cmFuc2wnXTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcubWF4RGlzcGxheWVkTGFuZ3VhZ2VzID0gY29yZT8ubWF4RGlzcGxheWVkTGFuZ3VhZ2VzID8/IDM7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnVwbG9hZEljb25OYW1lID0gY29yZT8udXBsb2FkSWNvbk5hbWU7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmRlYnVnID0gY29yZT8uZGVidWc7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnNob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZSA9IGNvcmU/LnNob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZSB8fCBmYWxzZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuc2hvd0RvbWFpbnMgPSBjb3JlPy5zaG93RG9tYWlucyA/PyB0cnVlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5kZWZhdWx0VmVuZG9yID0gY29yZT8uZGVmYXVsdFZlbmRvciA/PyBcIlRpbGRlXCI7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmRlZmF1bHRTeXN0ZW1JZCA9IGNvcmU/LmRlZmF1bHRTeXN0ZW1JZDtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuc2hvd0RvbWFpblRpdGxlID0gY29yZT8uc2hvd0RvbWFpblRpdGxlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5kb21haW5TaWRlID0gY29yZT8uZG9tYWluU2lkZSA/PyBcInRyZ1wiO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5zd2FwSWNvblBvc2l0aW9uID0gY29yZT8uc3dhcEljb25Qb3NpdGlvbiA/PyBcInNyY1wiO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5sYW5ndWFnZU1lbnVWZXJzaW9uID0gY29yZT8ubGFuZ3VhZ2VNZW51VmVyc2lvbiA/PyBsYW5ndWFnZU1lbnVWZXJzaW9uLlYxO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5tYXhSZWNlbnRTeXN0ZW1Db3VudCA9IGNvcmU/Lm1heFJlY2VudFN5c3RlbUNvdW50ID8/IDQ7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmRlZmF1bHREb21haW5zID0gY29yZT8uZGVmYXVsdERvbWFpbnMgPz8gW1wiR0VOXCIsIFwiZ2VuZXJhbFwiXTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuY29udGFjdFN1cHBvcnQgPSBjb3JlPy5jb250YWN0U3VwcG9ydCA/PyB0cnVlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5zdWJzY3JpcHRpb25TdXBwb3J0ID0gY29yZT8uc3Vic2NyaXB0aW9uU3VwcG9ydCA/PyB0cnVlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5pc1dlYkNvbXBvbmVudCA9IGNvcmU/LmlzV2ViQ29tcG9uZW50ID8/IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuX2ZpbGVDb25maWcuYWxsb3dlZEZpbGVUeXBlcyA9IGZpbGU/LmFsbG93ZWRGaWxlVHlwZXMgfHwgW1wiLmRvY1wiLCBcIi5kb2N4XCIsIFwiLnhsc3hcIiwgXCIucGRmXCIsIFwiLnBwdHhcIiwgXCIub2R0XCIsIFwiLm9kcFwiLCBcIi5vZHNcIiwgXCIudHh0XCJdO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5leHRlbmRlZEZpbGVUeXBlcyA9IGZpbGU/LmV4dGVuZGVkRmlsZVR5cGVzXHJcbiAgICAgIHx8IFtcIi5kb2NcIiwgXCIuZG9jeFwiLCBcIi54bHN4XCIsIFwiLnBwdHhcIiwgXCIub2R0XCIsIFwiLm9kcFwiLCBcIi5vZHNcIiwgXCIudHh0XCIsIFwiLmh0bWxcIiwgXCIuaHRtXCIsXHJcbiAgICAgICAgXCIueGh0bWxcIiwgXCIueGh0XCIsIFwiLnRteFwiLCBcIi54bGZcIiwgXCIueGxpZlwiLCBcIi54bGlmZlwiLCBcIi5zZGx4bGlmZlwiLCBcIi5zZGx4bGZcIiwgXCIudHR4XCIsIFwiLnJ0ZlwiLFxyXG4gICAgICAgIFwiLnBhZ2VzXCIsIFwiLnRleFwiLCBcIi54bWxcIiwgXCIuanNvblwiLCBcIi5zeHdcIiwgXCIucGRmXCIsIFwiLmNzdlwiLCBcIi50dGxcIiwgXCIuc3J0XCIsIFwiLnBuZ1wiLCBcIi5qcGdcIiwgXCIuanBlZ1wiLCBcIi5ibXBcIl07XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLmFsbG93VG14QXV0aCA9IGZpbGU/LmFsbG93VG14QXV0aCA/PyB0cnVlO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5hbGxvd1RteFVuYXV0aCA9IGZpbGU/LmFsbG93VG14VW5hdXRoID8/IGZhbHNlO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5maWxlQXBpVXJsID0gZmlsZT8uZmlsZUFwaVVybCB8fCBcImh0dHBzOi8vbGV0c210LmV1L3dzL0ZpbGVzL1wiO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5maWxlRG93bmxvYWRUaW1lb3V0cyA9IGZpbGU/LmZpbGVEb3dubG9hZFRpbWVvdXRzXHJcbiAgICAgIHx8IHtcclxuICAgICAgXCJpbml0aWFsaXppbmdcIjogMTAwMCxcclxuICAgICAgXCJleHRyYWN0aW5nXCI6IDEwMDAsXHJcbiAgICAgIFwid2FpdGluZ1wiOiAxMDAwMCxcclxuICAgICAgXCJ0cmFuc2xhdGluZ1wiOiAxMDAwLFxyXG4gICAgICBcInNhdmluZ1wiOiAxMDAwLFxyXG4gICAgICBcImNvbXBsZXRlZFwiOiAxMDAwLFxyXG4gICAgICBcImVycm9yXCI6IDEwMDAsXHJcbiAgICAgIFwicXVldWluZ1wiOiAxMDAwXHJcbiAgICB9O1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5tYXhTaXplID0gZmlsZT8ubWF4U2l6ZSB8fCAzMDcyMDAwMDtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcud29yZExpbWl0ID0gZmlsZT8ud29yZExpbWl0ID8/IDEyNTA7XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLmZpbGVVcGxvYWQgPSBmaWxlPy5maWxlVXBsb2FkID8/IHRydWU7XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLm9jclBhZ2VMaW1pdCA9IGZpbGU/Lm9jclBhZ2VMaW1pdCA/PyAxO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5hbGxvd1BERlNvdXJjZURvd25sb2FkID0gZmlsZT8uYWxsb3dQREZTb3VyY2VEb3dubG9hZCA/PyB0cnVlO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5hbGxvd0ltYWdlU291cmNlRG93bmxvYWQgPSBmaWxlPy5hbGxvd0ltYWdlU291cmNlRG93bmxvYWQgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuc291cmNlRG93bmxvYWRFeHRlbnNpb25zID0gZmlsZT8uc291cmNlRG93bmxvYWRFeHRlbnNpb25zIHx8IFtcInBkZlwiLCBcInBuZ1wiLCBcImpwZ1wiLCBcImpwZWdcIiwgXCJibXBcIl07XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLnRhcmdldERvd25sb2FkRXh0ZW5zaW9uT3JkZXIgPSBmaWxlPy50YXJnZXREb3dubG9hZEV4dGVuc2lvbk9yZGVyO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5udW1iZXJPZkZpbGVzQWxsb3dlZCA9IGZpbGU/Lm51bWJlck9mRmlsZXNBbGxvd2VkID4gMCA/IGZpbGUubnVtYmVyT2ZGaWxlc0FsbG93ZWQgOiAxO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5zaG93VHJhbnNsYXRpb25MaW1pdHMgPSBmaWxlPy5zaG93VHJhbnNsYXRpb25MaW1pdHMgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcudXNlTXVsdGlwbGVGaWxlVXBsb2FkID0gZmlsZT8udXNlTXVsdGlwbGVGaWxlVXBsb2FkO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5wcm9ncmVzc0luZGljYXRvclRpdGxlVmlzaWJsZUZvclZlbmRvcnMgPSBmaWxlPy5wcm9ncmVzc0luZGljYXRvclRpdGxlVmlzaWJsZUZvclZlbmRvcnMgPz8gW1wiRVRyYW5zbGF0aW9uXCJdO1xyXG5cclxuICAgIHRoaXMuX3RleHRDb25maWcuZGljdGlvbmFyeVVybCA9IHRleHQ/LmRpY3Rpb25hcnlVcmwgfHwgXCJodHRwczovL2xldHNtdC5ldS9hcGkvZGljdGlvbmFyeS9HZXREaWN0aW9uYXJ5RW50cnkvXCI7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLm1heENoYXJMZW5ndGggPSB0ZXh0Py5tYXhDaGFyTGVuZ3RoID8/IDUwMDA7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLndlYldpZGdldFJlZGlyZWN0VXJsUG9zZml4ID0gdGV4dD8ud2ViV2lkZ2V0UmVkaXJlY3RVcmxQb3NmaXggfHwgXCIvd2VidHJhbnNsYXRlP3VybD1cIjtcclxuICAgIHRoaXMuX3RleHRDb25maWcud2ViV2lkZ2V0UmVkaXJlY3RVcmxQcmVmaXggPSB0ZXh0Py53ZWJXaWRnZXRSZWRpcmVjdFVybFByZWZpeCB8fCBcIlwiO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy51c2VEaWN0aW9uYXJ5ID0gdGV4dD8udXNlRGljdGlvbmFyeSA/PyBmYWxzZTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuc2hvd0F2YWlsYWJsZUV4dGVuc2lvbnMgPSB0ZXh0Py5zaG93QXZhaWxhYmxlRXh0ZW5zaW9ucyA9PSBudWxsID8gdHJ1ZSA6IHRleHQuc2hvd0F2YWlsYWJsZUV4dGVuc2lvbnM7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dBdXRoRXh0ZW5zaW9ucyA9IHRleHQ/LnNob3dBdXRoRXh0ZW5zaW9ucyA9PSBudWxsID8gdHJ1ZSA6IHRleHQuc2hvd0F1dGhFeHRlbnNpb25zO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5hdXRvRm9jdXNzID0gdGV4dD8uYXV0b0ZvY3VzcztcclxuICAgIHRoaXMuX3RleHRDb25maWcuc2hvd0V4dGVuc2lvbnNVbmF1dGhPbmx5ID0gdGV4dD8uc2hvd0V4dGVuc2lvbnNVbmF1dGhPbmx5O1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5zaG93U2Vuc2l0aXZlSW5mb1Rvb2x0aXAgPSB0ZXh0Py5zaG93U2Vuc2l0aXZlSW5mb1Rvb2x0aXA7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLmFsbG93V2Vic2l0ZVRyYW5zbGF0aW9uID0gdGV4dD8uYWxsb3dXZWJzaXRlVHJhbnNsYXRpb24gPz8gdHJ1ZTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuc2hvd1N1Z2dlc3Rpb25zID0gdGV4dD8uc2hvd1N1Z2dlc3Rpb25zID8/IHRydWU7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLmF1dG9SZWRpcmVjdFRvV2ViVHJhbnNsYXRlID0gdGV4dD8uYXV0b1JlZGlyZWN0VG9XZWJUcmFuc2xhdGUgPz8gZmFsc2U7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLmhpZ2hsaWdodCA9IHRleHQ/LmhpZ2hsaWdodCA/PyB0cnVlO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5jaGVja1NvdXJjZUdyYW1tYXIgPSB0ZXh0Py5jaGVja1NvdXJjZUdyYW1tYXIgPz8gZmFsc2U7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLmdyYW1tYXJDaGVja0xhbmd1YWdlcyA9IHRleHQ/LmdyYW1tYXJDaGVja0xhbmd1YWdlcyA/PyBbXTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuc2hvd1RhcmdldFBsYWNlaG9sZGVyID0gdGV4dD8uc2hvd1RhcmdldFBsYWNlaG9sZGVyO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5zaG93RXh0ZW5zaW9uUG9wdXAgPSB0ZXh0Py5zaG93RXh0ZW5zaW9uUG9wdXA7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnZpc2libGVFeHRlbnNpb25Db3VudCA9IHRleHQ/LnZpc2libGVFeHRlbnNpb25Db3VudCA/PyAzO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5oaWRlU291cmNlQWN0aW9uc1doZW5IYXNUZXh0TW9iaWxlID0gdGV4dD8uaGlkZVNvdXJjZUFjdGlvbnNXaGVuSGFzVGV4dE1vYmlsZSA/PyB0cnVlO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5wcm9ncmVzc0luZGljYXRvclRpbWVvdXRNaWxpU2Vjb25kcyA9IHRleHQ/LnByb2dyZXNzSW5kaWNhdG9yVGltZW91dE1pbGlTZWNvbmRzID8/IDIwMDA7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnByb2dyZXNzSW5kaWNhdG9yVGl0bGVWaXNpYmxlRm9yVmVuZG9ycyA9IHRleHQ/LnByb2dyZXNzSW5kaWNhdG9yVGl0bGVWaXNpYmxlRm9yVmVuZG9ycyA/PyBbXCJFVHJhbnNsYXRpb25cIl07XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnByb2dyZXNzSW5kaWNhdG9yVmlzaWJsZSA9IHRleHQ/LnByb2dyZXNzSW5kaWNhdG9yVmlzaWJsZSA/PyBmYWxzZTtcclxuXHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5hdWRpb1RleHRJbnB1dCA9IGF1ZGlvPy5hdWRpb1RleHRJbnB1dCA/PyBmYWxzZTtcclxuICAgIC8vIE5vdCBzZXR0aW5nIGRlZmF1bHQgdXJsIGJlY2F1c2UgdGhlcmUgaXMgbm8gc2VydmljZSBwcm92aWRlZCBieSBUaWxkZSBhbmQgdGhpcyBpcyBub3QgdXNlZCBieSBkZWZhdWx0IGluIHdlYnNpdGUgcHJvamVjdC5cclxuICAgIHRoaXMuX2F1ZGlvQ29uZmlnLmF1ZGlvQXBpVXJsID0gYXVkaW8/LmF1ZGlvQXBpVXJsO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuYXVkaW9NYXhTaXplQnl0ZXMgPSBhdWRpbz8uYXVkaW9NYXhTaXplQnl0ZXMgPz8gMTAwMDAwMDA7XHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5zb3VyY2VMYW5ndWFnZXMgPSBhdWRpbz8uc291cmNlTGFuZ3VhZ2VzID8/IFtdO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuZGF0YVVwZGF0ZVRpbWVGcmFtZSA9IGF1ZGlvPy5kYXRhVXBkYXRlVGltZUZyYW1lID8/IDUwMDA7XHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5tYXhpbXVtUmVjb3JkVGltZSA9IGF1ZGlvPy5tYXhpbXVtUmVjb3JkVGltZSA/PyAzMDA7XHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5kaWN0YXRlQXBpVXJsID0gYXVkaW8/LmRpY3RhdGVBcGlVcmwgPz8gXCJydW5hLnRpbGRlLmx2XCI7XHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5hcHBJZCA9IGF1ZGlvPy5hcHBJZDtcclxuICAgIHRoaXMuX2F1ZGlvQ29uZmlnLmFwcFNlY3JldCA9IGF1ZGlvPy5hcHBTZWNyZXQ7XHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5wdW5jdHVhdGlvbk1lc3NhZ2UgPSBhdWRpbz8ucHVuY3R1YXRpb25NZXNzYWdlID8/IHRydWU7XHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5kaXNhYmxlQXV0b21hdGljVHJhbnNsYXRpb24gPSBhdWRpbz8uZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uID8/IHRydWU7XHJcblxyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLmxvZ29Mb2NhdGlvbiA9IHdlYnRyYW5zbGF0ZT8ubG9nb0xvY2F0aW9uIHx8ICdhc3NldHMvd2VidHJhbnNsYXRlL3RpbGRlX2xvZ28ucG5nJztcclxuICAgIHRoaXMuX3dlYnRyYW5zbGF0ZUNvbmZpZy50cmFuc2xhdGVQYWdlUGF0aCA9IHdlYnRyYW5zbGF0ZT8udHJhbnNsYXRlUGFnZVBhdGg7XHJcbiAgICB0aGlzLl93ZWJ0cmFuc2xhdGVDb25maWcuZGVidWcgPSB3ZWJ0cmFuc2xhdGU/LmRlYnVnIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLndlYkxhbmdBdXRvZGV0ZWN0ID0gd2VidHJhbnNsYXRlPy53ZWJMYW5nQXV0b2RldGVjdCB8fCB0cnVlO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLmFsbG93U3VnZ2VzdGlvbnMgPSB3ZWJ0cmFuc2xhdGU/LmFsbG93U3VnZ2VzdGlvbnMgfHwgZmFsc2U7XHJcbiAgICB0aGlzLl93ZWJ0cmFuc2xhdGVDb25maWcuaGlkZVBvcHVwID0gd2VidHJhbnNsYXRlPy5oaWRlUG9wdXAgfHwgZmFsc2U7XHJcbiAgICB0aGlzLl93ZWJ0cmFuc2xhdGVDb25maWcuc2FuZGJveCA9IHdlYnRyYW5zbGF0ZT8uc2FuZGJveCA/PyBcImFsbG93LWZvcm1zIGFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW5cIjtcclxuXHJcbiAgICB0aGlzLl90ZXJtQ29uZmlnLnRlcm1pbm9sb2d5UG9ydGFsVXJsID0gdGVybUNvbmZpZz8udGVybWlub2xvZ3lQb3J0YWxVcmwgfHwgXCJodHRwczovL3Rlcm0udGlsZGUuY29tXCI7XHJcbiAgICB0aGlzLl90ZXJtQ29uZmlnLmNhbkNyZWF0ZUNvbGxlY3Rpb24gPSB0ZXJtQ29uZmlnPy5jYW5DcmVhdGVDb2xsZWN0aW9uO1xyXG4gICAgdGhpcy5fdGVybUNvbmZpZy5pc0NvbGxlY3Rpb25zQWN0aXZhdGVkID0gdGVybUNvbmZpZz8uaXNDb2xsZWN0aW9uc0FjdGl2YXRlZDtcclxuICAgIHRoaXMuX3Rlcm1Db25maWcuaXNUZXJtUG9ydGFsU3VwcG9ydGVkID0gdGVybUNvbmZpZz8uaXNUZXJtUG9ydGFsU3VwcG9ydGVkID8/IGZhbHNlO1xyXG4gICAgdGhpcy5fdGVybUNvbmZpZy5jb2xsZWN0aW9uTmFtZU1pbkxlbmd0aCA9IHRlcm1Db25maWc/LmNvbGxlY3Rpb25OYW1lTWluTGVuZ3RoID8/IDg7XHJcbiAgICB0aGlzLl90ZXJtQ29uZmlnLmNvbGxlY3Rpb25OYW1lTWF4TGVuZ3RoID0gdGVybUNvbmZpZz8uY29sbGVjdGlvbk5hbWVNYXhMZW5ndGggPz8gMzAwO1xyXG4gICAgdGhpcy5fdGVybUNvbmZpZy5yZWZyZXNoVGltZW91dE1zID0gdGVybUNvbmZpZz8ucmVmcmVzaFRpbWVvdXRNcyA/PyAxMDAwMDtcclxuICAgIHRoaXMuX3Rlcm1Db25maWcucmVmcmVzaFRpbWVvdXRNc1doZW5JbXBvcnRpbmcgPSB0ZXJtQ29uZmlnPy5yZWZyZXNoVGltZW91dE1zV2hlbkltcG9ydGluZyA/PyA1MDAwO1xyXG4gICAgdGhpcy5fdGVybUNvbmZpZy5lbmdpbmVUZXJtVXJsID0gdGVybUNvbmZpZz8uZW5naW5lVGVybVVybDtcclxuICAgIHRoaXMuX3Rlcm1Db25maWcuZGVmYXVsdEdsb3NzYXJ5TWFuYWdlbWVudExpbmsgPSB0ZXJtQ29uZmlnPy5kZWZhdWx0R2xvc3NhcnlNYW5hZ2VtZW50TGluaztcclxuXHJcbiAgICB0aGlzLl90ZXJtQ29uZmlnLmZyZWVUcmlhbFVybCA9IHRlcm1Db25maWc/LmZyZWVUcmlhbFVybCA/PyBcImh0dHBzOi8vdGlsZGUuY29tL3Byb2R1Y3RzLWFuZC1zZXJ2aWNlcy9tYWNoaW5lLXRyYW5zbGF0aW9uL3ByaWNpbmcvVGlsZGUtTVRcIjtcclxuICAgIHRoaXMuX3Rlcm1Db25maWcubGVhcm5Nb3JlVXJsID0gdGVybUNvbmZpZz8ubGVhcm5Nb3JlVXJsID8/IFwiaHR0cHM6Ly93d3cudGlsZGUuY29tL3Byb2R1Y3RzLWFuZC1zZXJ2aWNlcy9tYWNoaW5lLXRyYW5zbGF0aW9uL1RpbGRlLU1ULWZlYXR1cmVzLWdsb3NzYXJ5XCI7XHJcblxyXG4gICAgLy8gc2VwZXJhdGVkIGJlY2F1c2UgZm9sbG93aW5nIHVybHMgaGF2ZSBtZXRob2QgbmFtZXMgYWRkZWRcclxuICAgIHRoaXMuX2NvcmVDb25maWcudHJhbnNsYXRpb25TZXJ2aWNlVXJsID0gY29yZT8udHJhbnNsYXRpb25TZXJ2aWNlVXJsIHx8IFwiaHR0cHM6Ly93d3cubGV0c210LmV1L3dzL3NlcnZpY2Uuc3ZjL2pzb24vXCI7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnRyYW5zbGF0aW9uVXJsID0gdGV4dD8udHJhbnNsYXRpb25VcmwgPz8gdGhpcy5fY29yZUNvbmZpZy50cmFuc2xhdGlvblNlcnZpY2VVcmwgKyBcIlRyYW5zbGF0ZUV4XCI7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnVwZGF0ZVRyYW5zbGF0aW9uVXJsID0gdGV4dD8udXBkYXRlVHJhbnNsYXRpb25VcmwgPz8gdGhpcy5fY29yZUNvbmZpZy50cmFuc2xhdGlvblNlcnZpY2VVcmwgKyBcIlVwZGF0ZVRyYW5zbGF0aW9uXCI7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnN5c3RlbUxpc3RVcmwgPSBjb3JlPy5zeXN0ZW1MaXN0VXJsID8/IHRoaXMuX2NvcmVDb25maWcudHJhbnNsYXRpb25TZXJ2aWNlVXJsICsgXCJHZXRTeXN0ZW1MaXN0XCI7XHJcblxyXG4gICAgdGhpcy5fYXBpVjJDb25maWcueEFwaUtleSA9IGFwaVYyQ29uZmlnPy54QXBpS2V5O1xyXG4gICAgdGhpcy5fYXBpVjJDb25maWcubXRBcGlVcmwgPSBhcGlWMkNvbmZpZz8ubXRBcGlVcmwgPz8gXCJhcGkvdHJhbnNsYXRlL1wiO1xyXG4gICAgdGhpcy5fYXBpVjJDb25maWcuc3lzdGVtTGlzdFVybCA9IGFwaVYyQ29uZmlnPy5zeXN0ZW1MaXN0VXJsID8/IHRoaXMuX2FwaVYyQ29uZmlnLm10QXBpVXJsICsgXCJsYW5ndWFnZS1kaXJlY3Rpb25zXCI7XHJcbiAgICB0aGlzLl9hcGlWMkNvbmZpZy50cmFuc2xhdGlvblVybCA9IGFwaVYyQ29uZmlnPy50cmFuc2xhdGlvblVybCA/PyB0aGlzLl9hcGlWMkNvbmZpZy5tdEFwaVVybCArIFwidGV4dFwiO1xyXG4gICAgdGhpcy5fYXBpVjJDb25maWcuZmlsZVRyYW5zbGF0aW9uVXJsID0gYXBpVjJDb25maWc/LmZpbGVUcmFuc2xhdGlvblVybCA/PyB0aGlzLl9hcGlWMkNvbmZpZy5tdEFwaVVybCArIFwiZmlsZVwiO1xyXG4gICAgdGhpcy5fYXBpVjJDb25maWcuZ3JhbW1hckNoZWNrVXJsID0gYXBpVjJDb25maWc/LmdyYW1tYXJDaGVja1VybCA/PyBcImh0dHBzOi8vbXQuY3MudXQuZWUvYXBpL2dyYW1tYXJcIjtcclxuICAgIHRoaXMuX2FwaVYyQ29uZmlnLmF1dG9Eb21haW5EZXRlY3Rpb24gPSBhcGlWMkNvbmZpZz8uYXV0b0RvbWFpbkRldGVjdGlvbiA/PyBmYWxzZTtcclxuXHJcbiAgICB0aGlzLl90ZXh0VG9TcGVlY2hDb25maWcubGFuZ3VhZ2VzID0gdGV4dFRvU3BlZWNoPy5sYW5ndWFnZXMgPz8ge307XHJcbiAgICB0aGlzLl90ZXh0VG9TcGVlY2hDb25maWcubWF4Q2hhcnNJblRleHQgPSB0ZXh0VG9TcGVlY2g/Lm1heENoYXJzSW5UZXh0ID8/IDMwMDA7XHJcblxyXG4gICAgdGhpcy5lZGl0UHJvcGVydGllc0Jhc2VkT25BcGkoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvIG1ha2Ugc3VyZSBuZWNlc3NhcnkgcHJvcGVydGllcyBhcmUgbm90IHR1cm5lZCBvbiBiZWNhdXNlIGluIGFwaSBWMiBzb21lIGZlYXR1cmVzIGFyZSBub3QgaW1wbGVtbmVudGVkLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZWRpdFByb3BlcnRpZXNCYXNlZE9uQXBpKCkge1xyXG4gICAgaWYgKHRoaXMuYXBpVmVyc2lvbiA9PT0gVHJhbnNsYXRpb25BcGlWZXJzaW9uLlYyKSB7XHJcbiAgICAgIHRoaXMudGV4dENvbmZpZy5zaG93U3VnZ2VzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy50ZXh0Q29uZmlnLnVzZURpY3Rpb25hcnkgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1jb21tb24vc2VydmljZXMvdGxkLXRyYW5zbGF0ZS1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUEwQixtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBS3JGLE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFBb0UsVUFBaUMsRUFDbEMsTUFBMkI7UUFEMUIsZUFBVSxHQUFWLFVBQVUsQ0FBdUI7UUFDbEMsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFJdEYsZ0JBQVcsR0FBNEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUt2RSxnQkFBVyxHQUE0QixFQUFFLENBQUM7UUFLMUMsZ0JBQVcsR0FBNEIsRUFBRSxDQUFDO1FBSzFDLHdCQUFtQixHQUErQixFQUFFLENBQUM7UUFLckQsZ0JBQVcsR0FBbUIsRUFBRSxDQUFDO1FBS2pDLGlCQUFZLEdBQTZCLEVBQUUsQ0FBQztRQUs1QyxpQkFBWSxHQUFvQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO1FBS2pFLHdCQUFtQixHQUEyQixFQUFFLENBQUM7UUF0Q3ZELElBQUksQ0FBQyxXQUFXLEVBQUUs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SUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3RFLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDdEUsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztZQUN0RSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3RFLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDdEUsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTthQUM3SztTQUNGLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixHQUFHLElBQUksRUFBRSxtQkFBbUIsSUFBSTtZQUNsRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3hGLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDeEYsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztZQUN4RixFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3hGLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDeEYsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFF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b20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUUkFOU0xBVElPTl9BUElfVkVSU0lPTl9UT0tFTiB9IGZyb20gJy4uLy4uLy4uL2luamVjdGlvbi10b2tlbnMnO1xyXG5pbXBvcnQgeyBUTERfVFJBTlNMQVRFX0NPTkZJR19UT0tFTiB9IGZyb20gJy4uLy4uLy4uL2luamVjdGlvbi10b2tlbnMvdGxkLXRyYW5zbGF0ZS1jb25maWcudG9rZW4nO1xyXG5pbXBvcnQgeyBJVGxkVGV4dFRvU3BlZWNoQ29uZmlnLCBsYW5ndWFnZU1lbnVWZXJzaW9uIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgSVRsZEF1ZGlvQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLWF1ZGlvLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IElUbGRUZXJtQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLXRlcm0tY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFRyYW5zbGF0ZUFwaVYyQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLXRyYW5zbGF0ZS1hcGktdjItY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFRyYW5zbGF0ZUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9jb25maWdzL3RsZC10cmFuc2xhdGUtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFRyYW5zbGF0ZUNvcmVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtdHJhbnNsYXRlLWNvcmUtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFRyYW5zbGF0ZUZpbGVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtdHJhbnNsYXRlLWZpbGUtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFRyYW5zbGF0ZVRleHRDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtdHJhbnNsYXRlLXRleHQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFRyYW5zbGF0ZVdlYnNpdGVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtdHJhbnNsYXRlLXdlYi1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvbkFwaVZlcnNpb24gfSBmcm9tICcuLi9tb2RlbHMvY29yZS90cmFuc2xhdGlvbi1hcGktdmVyc2lvbi5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChUUkFOU0xBVElPTl9BUElfVkVSU0lPTl9UT0tFTikgcHJpdmF0ZSByZWFkb25seSBhcGlWZXJzaW9uOiBUcmFuc2xhdGlvbkFwaVZlcnNpb24sXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRMRF9UUkFOU0xBVEVfQ09ORklHX1RPS0VOKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogSVRsZFRyYW5zbGF0ZUNvbmZpZykge1xyXG4gICAgdGhpcy5pbml0Q29uZmlncygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29yZUNvbmZpZzogSVRsZFRyYW5zbGF0ZUNvcmVDb25maWcgPSB7IGFwcElkOiBudWxsLCBjbGllbnRJZDogbnVsbCB9O1xyXG4gIGdldCBjb3JlQ29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvcmVDb25maWc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF90ZXh0Q29uZmlnOiBJVGxkVHJhbnNsYXRlVGV4dENvbmZpZyA9IHt9O1xyXG4gIGdldCB0ZXh0Q29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RleHRDb25maWc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maWxlQ29uZmlnOiBJVGxkVHJhbnNsYXRlRmlsZUNvbmZpZyA9IHt9O1xyXG4gIGdldCBmaWxlQ29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbGVDb25maWc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF93ZWJ0cmFuc2xhdGVDb25maWc6IElUbGRUcmFuc2xhdGVXZWJzaXRlQ29uZmlnID0ge307XHJcbiAgZ2V0IHdlYnRyYW5zbGF0ZUNvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl93ZWJ0cmFuc2xhdGVDb25maWc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF90ZXJtQ29uZmlnOiBJVGxkVGVybUNvbmZpZyA9IHt9O1xyXG4gIGdldCB0ZXJtQ29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Rlcm1Db25maWc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hcGlWMkNvbmZpZzogSVRsZFRyYW5zbGF0ZUFwaVYyQ29uZmlnID0ge307XHJcbiAgZ2V0IGFwaVYyQ29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FwaVYyQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYXVkaW9Db25maWc6IElUbGRBdWRpb0NvbmZpZyA9IHsgYXBwSWQ6IG51bGwsIGFwcFNlY3JldDogbnVsbCB9O1xyXG4gIGdldCBhdWRpb0NvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NvbmZpZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RleHRUb1NwZWVjaENvbmZpZzogSVRsZFRleHRUb1NwZWVjaENvbmZpZyA9IHt9O1xyXG4gIGdldCB0ZXh0VG9TcGVlY2hDb25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGV4dFRvU3BlZWNoQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgaW5pdENvbmZpZ3MoY29uZmlndXJhdGlvbj86IElUbGRUcmFuc2xhdGVDb25maWcpIHtcclxuICAgIGNvbnN0IGNvbmZpZyA9IGNvbmZpZ3VyYXRpb24gPz8gdGhpcy5jb25maWcgPz8ge307XHJcblxyXG4gICAgY29uc3QgY29yZSA9IGNvbmZpZz8uY29yZTtcclxuICAgIGNvbnN0IGZpbGUgPSBjb25maWc/LmZpbGU7XHJcbiAgICBjb25zdCB0ZXh0ID0gY29uZmlnPy50ZXh0O1xyXG4gICAgY29uc3QgYXVkaW8gPSBjb25maWc/LmF1ZGlvO1xyXG4gICAgY29uc3Qgd2VidHJhbnNsYXRlID0gY29uZmlnPy53ZWJUcmFuc2xhdGU7XHJcbiAgICBjb25zdCB0ZXJtQ29uZmlnID0gY29uZmlnPy50ZXJtO1xyXG4gICAgY29uc3QgYXBpVjJDb25maWcgPSBjb25maWc/LmFwaVYyO1xyXG4gICAgY29uc3QgdGV4dFRvU3BlZWNoID0gY29uZmlnPy50ZXh0VG9TcGVlY2g7XHJcblxyXG4gICAgdGhpcy5fY29yZUNvbmZpZyA9IHsgYXBwSWQ6IGNvcmU/LmFwcElkLCBjbGllbnRJZDogY29yZT8uY2xpZW50SWQgfTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuYXBpSXNJblRoZVNhbWVEb21haW4gPSBjb3JlPy5hcGlJc0luVGhlU2FtZURvbWFpbiB8fCBmYWxzZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuYXBwTmFtZSA9IGNvcmU/LmFwcE5hbWUgfHwgXCJUaWxkZSBNVFwiO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5oaWRlQWNoaWV2ZW1lbnQgPSBjb3JlPy5oaWRlQWNoaWV2ZW1lbnQgfHwgZmFsc2U7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmlzQXV0aCA9IGNvcmU/LmlzQXV0aCB8fCBmYWxzZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuand0QXV0aCA9IGNvcmU/Lmp3dEF1dGggfHwgZmFsc2U7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnRyYW5zbGF0ZUFwcE5hbWUgPSBjb3JlPy50cmFuc2xhdGVBcHBOYW1lID8/IHRydWU7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnJlZ2lzdGVyTGluayA9IGNvcmU/LnJlZ2lzdGVyTGluayB8fCBcImh0dHBzOi8vdGlsZGUuY29tL3Byb2R1Y3RzLWFuZC1zZXJ2aWNlcy9tYWNoaW5lLXRyYW5zbGF0aW9uXCI7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnN1cHBvcnRFbWFpbCA9IGNvcmU/LnN1cHBvcnRFbWFpbCB8fCBcIm10QHRpbGRlLmx2XCI7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnNvdXJjZUxhbmd1YWdlT3JkZXIgPSBjb3JlPy5zb3VyY2VMYW5ndWFnZU9yZGVyIHx8IHtcclxuICAgICAgZW46IFtcImVuXCIsIFwibHZcIiwgXCJydVwiLCBcImx0XCIsIFwiZXRcIiwgXCJmaVwiLCBcInBsXCIsIFwiZGVcIiwgXCJpdFwiLCBcImJnXCIsIFwiaHJcIl0sXHJcbiAgICAgIGx2OiBbXCJlblwiLCBcImx2XCIsIFwicnVcIiwgXCJsdFwiLCBcImV0XCIsIFwiZmlcIiwgXCJwbFwiLCBcImRlXCIsIFwiaXRcIiwgXCJiZ1wiLCBcImhyXCJdLFxyXG4gICAgICBsdDogW1wiZW5cIiwgXCJsdFwiLCBcInJ1XCIsIFwibHZcIiwgXCJldFwiLCBcImZpXCIsIFwicGxcIiwgXCJkZVwiLCBcIml0XCIsIFwiYmdcIiwgXCJoclwiXSxcclxuICAgICAgZXQ6IFtcImVuXCIsIFwiZXRcIiwgXCJmaVwiLCBcInJ1XCIsIFwibHZcIiwgXCJsdFwiLCBcInBsXCIsIFwiZGVcIiwgXCJpdFwiLCBcImJnXCIsIFwiaHJcIl0sXHJcbiAgICAgIGZpOiBbXCJmaVwiLCBcImVuXCIsIFwiZXRcIiwgXCJydVwiLCBcImx2XCIsIFwibHRcIiwgXCJwbFwiLCBcImRlXCIsIFwiaXRcIiwgXCJiZ1wiLCBcImhyXCJdLFxyXG4gICAgICBwbDogW1wicGxcIiwgXCJlblwiLCBcImRlXCIsIFwibHZcIiwgXCJldFwiLCBcInJ1XCIsIFwibHRcIiwgXCJmaVwiLCBcIml0XCIsIFwiYmdcIiwgXCJoclwiXSxcclxuICAgICAgZGU6IFtcImVuXCIsIFwiYmdcIiwgXCJkYVwiLCBcImV0XCIsIFwiZmlcIiwgXCJmclwiLCBcImRlXCIsIFwiZWxcIiwgXCJnYVwiLCBcImlzXCIsIFwiaXRcIiwgXCJoclwiLCBcImx2XCIsIFwibHRcIiwgXCJydVwiLCBcIm10XCIsIFwibmxcIiwgXCJuYlwiLCBcInBsXCIsIFwicHRcIiwgXCJwdC1wdFwiLCBcInJvXCIsIFwic3ZcIiwgXCJza1wiLCBcInNsXCIsIFwiZXNcIiwgXCJjc1wiLCBcImh1XCJcclxuICAgICAgXVxyXG4gICAgfTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcudGFyZ2V0TGFuZ3VhZ2VPcmRlciA9IGNvcmU/LnRhcmdldExhbmd1YWdlT3JkZXIgfHwge1xyXG4gICAgICBlbjogW1wiZW5cIiwgXCJsdlwiLCBcInJ1XCIsIFwibHRcIiwgXCJldFwiLCBcImZpXCIsIFwiYXJcIiwgXCJwbFwiLCBcImRlXCIsIFwiYmdcIiwgXCJoclwiLCBcImVzXCIsIFwibmJcIiwgXCJyb1wiXSxcclxuICAgICAgbHY6IFtcImVuXCIsIFwibHZcIiwgXCJsdFwiLCBcImV0XCIsIFwicnVcIiwgXCJmaVwiLCBcImFyXCIsIFwicGxcIiwgXCJkZVwiLCBcImJnXCIsIFwiaHJcIiwgXCJlc1wiLCBcIm5iXCIsIFwicm9cIl0sXHJcbiAgICAgIGx0OiBbXCJlblwiLCBcImx0XCIsIFwibHZcIiwgXCJldFwiLCBcInJ1XCIsIFwiZmlcIiwgXCJhclwiLCBcInBsXCIsIFwiZGVcIiwgXCJiZ1wiLCBcImhyXCIsIFwiZXNcIiwgXCJuYlwiLCBcInJvXCJdLFxyXG4gICAgICBldDogW1wiZW5cIiwgXCJldFwiLCBcImx2XCIsIFwibHRcIiwgXCJydVwiLCBcImZpXCIsIFwiYXJcIiwgXCJwbFwiLCBcImRlXCIsIFwiYmdcIiwgXCJoclwiLCBcImVzXCIsIFwibmJcIiwgXCJyb1wiXSxcclxuICAgICAgZmk6IFtcImV0XCIsIFwiZmlcIiwgXCJlblwiLCBcImx2XCIsIFwibHRcIiwgXCJydVwiLCBcImFyXCIsIFwicGxcIiwgXCJkZVwiLCBcImJnXCIsIFwiaHJcIiwgXCJlc1wiLCBcIm5iXCIsIFwicm9cIl0sXHJcbiAgICAgIHBsOiBbXCJlblwiLCBcInBsXCIsIFwiZGVcIiwgXCJsdlwiLCBcInJ1XCIsIFwiZXRcIiwgXCJmaVwiLCBcImx0XCIsIFwiYXJcIiwgXCJiZ1wiLCBcImhyXCIsIFwiZXNcIiwgXCJuYlwiLCBcInJvXCJdLFxyXG4gICAgICBkZTogW1wiZGVcIiwgXCJlblwiLCBcImZyXCIsIFwiYmdcIiwgXCJkYVwiLCBcImV0XCIsIFwiZmlcIiwgXCJlbFwiLCBcImdhXCIsIFwiaXNcIiwgXCJpdFwiLCBcImhyXCIsIFwibHZcIiwgXCJsdFwiLCBcInJ1XCIsIFwibXRcIiwgXCJubFwiLCBcIm5iXCIsIFwicGxcIiwgXCJwdFwiLCBcInB0LXB0XCIsIFwicm9cIiwgXCJzdlwiLCBcInNrXCIsIFwic2xcIiwgXCJlc1wiLCBcImNzXCIsIFwiaHVcIiwgXCJhclwiXVxyXG4gICAgfTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuaGlkZUxhbmdNZW51TGFiZWxzID0gY29yZT8uaGlkZUxhbmdNZW51TGFiZWxzIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5zaG93VmVuZG9ycyA9IGNvcmU/LnNob3dWZW5kb3JzIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy51bmF1dGhvcml6ZWRSZWRpcmVjdExpbmsgPSBjb3JlPy51bmF1dGhvcml6ZWRSZWRpcmVjdExpbms7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmFsbG93ZWRTeXN0ZW1TdGF0dXNlcyA9IGNvcmU/LmFsbG93ZWRTeXN0ZW1TdGF0dXNlcyA/PyBbJ3J1bm5pbmcnLCAnc3RhbmRieScsICdxdWV1aW5ndHJhbnNsJ107XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLm1heERpc3BsYXllZExhbmd1YWdlcyA9IGNvcmU/Lm1heERpc3BsYXllZExhbmd1YWdlcyA/PyAzO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy51cGxvYWRJY29uTmFtZSA9IGNvcmU/LnVwbG9hZEljb25OYW1lO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5kZWJ1ZyA9IGNvcmU/LmRlYnVnO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5zaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWUgPSBjb3JlPy5zaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWUgfHwgZmFsc2U7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnNob3dEb21haW5zID0gY29yZT8uc2hvd0RvbWFpbnMgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuZGVmYXVsdFZlbmRvciA9IGNvcmU/LmRlZmF1bHRWZW5kb3IgPz8gXCJUaWxkZVwiO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5kZWZhdWx0U3lzdGVtSWQgPSBjb3JlPy5kZWZhdWx0U3lzdGVtSWQ7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnNob3dEb21haW5UaXRsZSA9IGNvcmU/LnNob3dEb21haW5UaXRsZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuZG9tYWluU2lkZSA9IGNvcmU/LmRvbWFpblNpZGUgPz8gXCJ0cmdcIjtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuc3dhcEljb25Qb3NpdGlvbiA9IGNvcmU/LnN3YXBJY29uUG9zaXRpb24gPz8gXCJzcmNcIjtcclxuICAgIHRoaXMuX2NvcmVDb25maWcubGFuZ3VhZ2VNZW51VmVyc2lvbiA9IGNvcmU/Lmxhbmd1YWdlTWVudVZlcnNpb24gPz8gbGFuZ3VhZ2VNZW51VmVyc2lvbi5WMTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcubWF4UmVjZW50U3lzdGVtQ291bnQgPSBjb3JlPy5tYXhSZWNlbnRTeXN0ZW1Db3VudCA/PyA0O1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5kZWZhdWx0RG9tYWlucyA9IGNvcmU/LmRlZmF1bHREb21haW5zID8/IFtcIkdFTlwiLCBcImdlbmVyYWxcIl07XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmNvbnRhY3RTdXBwb3J0ID0gY29yZT8uY29udGFjdFN1cHBvcnQgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuc3Vic2NyaXB0aW9uU3VwcG9ydCA9IGNvcmU/LnN1YnNjcmlwdGlvblN1cHBvcnQgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuaXNXZWJDb21wb25lbnQgPSBjb3JlPy5pc1dlYkNvbXBvbmVudCA/PyBmYWxzZTtcclxuXHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLmFsbG93ZWRGaWxlVHlwZXMgPSBmaWxlPy5hbGxvd2VkRmlsZVR5cGVzIHx8IFtcIi5kb2NcIiwgXCIuZG9jeFwiLCBcIi54bHN4XCIsIFwiLnBkZlwiLCBcIi5wcHR4XCIsIFwiLm9kdFwiLCBcIi5vZHBcIiwgXCIub2RzXCIsIFwiLnR4dFwiXTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuZXh0ZW5kZWRGaWxlVHlwZXMgPSBmaWxlPy5leHRlbmRlZEZpbGVUeXBlc1xyXG4gICAgICB8fCBbXCIuZG9jXCIsIFwiLmRvY3hcIiwgXCIueGxzeFwiLCBcIi5wcHR4XCIsIFwiLm9kdFwiLCBcIi5vZHBcIiwgXCIub2RzXCIsIFwiLnR4dFwiLCBcIi5odG1sXCIsIFwiLmh0bVwiLFxyXG4gICAgICAgIFwiLnhodG1sXCIsIFwiLnhodFwiLCBcIi50bXhcIiwgXCIueGxmXCIsIFwiLnhsaWZcIiwgXCIueGxpZmZcIiwgXCIuc2RseGxpZmZcIiwgXCIuc2RseGxmXCIsIFwiLnR0eFwiLCBcIi5ydGZcIixcclxuICAgICAgICBcIi5wYWdlc1wiLCBcIi50ZXhcIiwgXCIueG1sXCIsIFwiLmpzb25cIiwgXCIuc3h3XCIsIFwiLnBkZlwiLCBcIi5jc3ZcIiwgXCIudHRsXCIsIFwiLnNydFwiLCBcIi5wbmdcIiwgXCIuanBnXCIsIFwiLmpwZWdcIiwgXCIuYm1wXCJdO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5hbGxvd1RteEF1dGggPSBmaWxlPy5hbGxvd1RteEF1dGggPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuYWxsb3dUbXhVbmF1dGggPSBmaWxlPy5hbGxvd1RteFVuYXV0aCA/PyBmYWxzZTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuZmlsZUFwaVVybCA9IGZpbGU/LmZpbGVBcGlVcmwgfHwgXCJodHRwczovL2xldHNtdC5ldS93cy9GaWxlcy9cIjtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuZmlsZURvd25sb2FkVGltZW91dHMgPSBmaWxlPy5maWxlRG93bmxvYWRUaW1lb3V0c1xyXG4gICAgICB8fCB7XHJcbiAgICAgIFwiaW5pdGlhbGl6aW5nXCI6IDEwMDAsXHJcbiAgICAgIFwiZXh0cmFjdGluZ1wiOiAxMDAwLFxyXG4gICAgICBcIndhaXRpbmdcIjogMTAwMDAsXHJcbiAgICAgIFwidHJhbnNsYXRpbmdcIjogMTAwMCxcclxuICAgICAgXCJzYXZpbmdcIjogMTAwMCxcclxuICAgICAgXCJjb21wbGV0ZWRcIjogMTAwMCxcclxuICAgICAgXCJlcnJvclwiOiAxMDAwLFxyXG4gICAgICBcInF1ZXVpbmdcIjogMTAwMFxyXG4gICAgfTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcubWF4U2l6ZSA9IGZpbGU/Lm1heFNpemUgfHwgMzA3MjAwMDA7XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLndvcmRMaW1pdCA9IGZpbGU/LndvcmRMaW1pdCA/PyAxMjUwO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5maWxlVXBsb2FkID0gZmlsZT8uZmlsZVVwbG9hZCA/PyB0cnVlO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5vY3JQYWdlTGltaXQgPSBmaWxlPy5vY3JQYWdlTGltaXQgPz8gMTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuYWxsb3dQREZTb3VyY2VEb3dubG9hZCA9IGZpbGU/LmFsbG93UERGU291cmNlRG93bmxvYWQgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuYWxsb3dJbWFnZVNvdXJjZURvd25sb2FkID0gZmlsZT8uYWxsb3dJbWFnZVNvdXJjZURvd25sb2FkID8/IHRydWU7XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLnNvdXJjZURvd25sb2FkRXh0ZW5zaW9ucyA9IGZpbGU/LnNvdXJjZURvd25sb2FkRXh0ZW5zaW9ucyB8fCBbXCJwZGZcIiwgXCJwbmdcIiwgXCJqcGdcIiwgXCJqcGVnXCIsIFwiYm1wXCJdO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy50YXJnZXREb3dubG9hZEV4dGVuc2lvbk9yZGVyID0gZmlsZT8udGFyZ2V0RG93bmxvYWRFeHRlbnNpb25PcmRlcjtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcubnVtYmVyT2ZGaWxlc0FsbG93ZWQgPSBmaWxlPy5udW1iZXJPZkZpbGVzQWxsb3dlZCA+IDAgPyBmaWxlLm51bWJlck9mRmlsZXNBbGxvd2VkIDogMTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuc2hvd1RyYW5zbGF0aW9uTGltaXRzID0gZmlsZT8uc2hvd1RyYW5zbGF0aW9uTGltaXRzID8/IHRydWU7XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLnVzZU11bHRpcGxlRmlsZVVwbG9hZCA9IGZpbGU/LnVzZU11bHRpcGxlRmlsZVVwbG9hZDtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcucHJvZ3Jlc3NJbmRpY2F0b3JUaXRsZVZpc2libGVGb3JWZW5kb3JzID0gZmlsZT8ucHJvZ3Jlc3NJbmRpY2F0b3JUaXRsZVZpc2libGVGb3JWZW5kb3JzID8/IFtcIkVUcmFuc2xhdGlvblwiXTtcclxuXHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLmRpY3Rpb25hcnlVcmwgPSB0ZXh0Py5kaWN0aW9uYXJ5VXJsIHx8IFwiaHR0cHM6Ly9sZXRzbXQuZXUvYXBpL2RpY3Rpb25hcnkvR2V0RGljdGlvbmFyeUVudHJ5L1wiO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5tYXhDaGFyTGVuZ3RoID0gdGV4dD8ubWF4Q2hhckxlbmd0aCA/PyA1MDAwO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy53ZWJXaWRnZXRSZWRpcmVjdFVybFBvc2ZpeCA9IHRleHQ/LndlYldpZGdldFJlZGlyZWN0VXJsUG9zZml4IHx8IFwiL3dlYnRyYW5zbGF0ZT91cmw9XCI7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLndlYldpZGdldFJlZGlyZWN0VXJsUHJlZml4ID0gdGV4dD8ud2ViV2lkZ2V0UmVkaXJlY3RVcmxQcmVmaXggfHwgXCJcIjtcclxuICAgIHRoaXMuX3RleHRDb25maWcudXNlRGljdGlvbmFyeSA9IHRleHQ/LnVzZURpY3Rpb25hcnkgPz8gZmFsc2U7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dBdmFpbGFibGVFeHRlbnNpb25zID0gdGV4dD8uc2hvd0F2YWlsYWJsZUV4dGVuc2lvbnMgPT0gbnVsbCA/IHRydWUgOiB0ZXh0LnNob3dBdmFpbGFibGVFeHRlbnNpb25zO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5zaG93QXV0aEV4dGVuc2lvbnMgPSB0ZXh0Py5zaG93QXV0aEV4dGVuc2lvbnMgPT0gbnVsbCA/IHRydWUgOiB0ZXh0LnNob3dBdXRoRXh0ZW5zaW9ucztcclxuICAgIHRoaXMuX3RleHRDb25maWcuYXV0b0ZvY3VzcyA9IHRleHQ/LmF1dG9Gb2N1c3M7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dFeHRlbnNpb25zVW5hdXRoT25seSA9IHRleHQ/LnNob3dFeHRlbnNpb25zVW5hdXRoT25seTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuc2hvd1NlbnNpdGl2ZUluZm9Ub29sdGlwID0gdGV4dD8uc2hvd1NlbnNpdGl2ZUluZm9Ub29sdGlwO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5hbGxvd1dlYnNpdGVUcmFuc2xhdGlvbiA9IHRleHQ/LmFsbG93V2Vic2l0ZVRyYW5zbGF0aW9uID8/IHRydWU7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dTdWdnZXN0aW9ucyA9IHRleHQ/LnNob3dTdWdnZXN0aW9ucyA/PyB0cnVlO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5hdXRvUmVkaXJlY3RUb1dlYlRyYW5zbGF0ZSA9IHRleHQ/LmF1dG9SZWRpcmVjdFRvV2ViVHJhbnNsYXRlID8/IGZhbHNlO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5oaWdobGlnaHQgPSB0ZXh0Py5oaWdobGlnaHQgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuY2hlY2tTb3VyY2VHcmFtbWFyID0gdGV4dD8uY2hlY2tTb3VyY2VHcmFtbWFyID8/IGZhbHNlO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5ncmFtbWFyQ2hlY2tMYW5ndWFnZXMgPSB0ZXh0Py5ncmFtbWFyQ2hlY2tMYW5ndWFnZXMgPz8gW107XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dUYXJnZXRQbGFjZWhvbGRlciA9IHRleHQ/LnNob3dUYXJnZXRQbGFjZWhvbGRlcjtcclxuICAgIHRoaXMuX3RleHRDb25maWcuc2hvd0V4dGVuc2lvblBvcHVwID0gdGV4dD8uc2hvd0V4dGVuc2lvblBvcHVwO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy52aXNpYmxlRXh0ZW5zaW9uQ291bnQgPSB0ZXh0Py52aXNpYmxlRXh0ZW5zaW9uQ291bnQgPz8gMztcclxuICAgIHRoaXMuX3RleHRDb25maWcuaGlkZVNvdXJjZUFjdGlvbnNXaGVuSGFzVGV4dE1vYmlsZSA9IHRleHQ/LmhpZGVTb3VyY2VBY3Rpb25zV2hlbkhhc1RleHRNb2JpbGUgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX3RleHRDb25maWcucHJvZ3Jlc3NJbmRpY2F0b3JUaW1lb3V0TWlsaVNlY29uZHMgPSB0ZXh0Py5wcm9ncmVzc0luZGljYXRvclRpbWVvdXRNaWxpU2Vjb25kcyA/PyAyMDAwO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5wcm9ncmVzc0luZGljYXRvclRpdGxlVmlzaWJsZUZvclZlbmRvcnMgPSB0ZXh0Py5wcm9ncmVzc0luZGljYXRvclRpdGxlVmlzaWJsZUZvclZlbmRvcnMgPz8gW1wiRVRyYW5zbGF0aW9uXCJdO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5wcm9ncmVzc0luZGljYXRvclZpc2libGUgPSB0ZXh0Py5wcm9ncmVzc0luZGljYXRvclZpc2libGUgPz8gZmFsc2U7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dUcmFuc2xhdGVCdXR0b24gPSB0ZXh0Py5zaG93VHJhbnNsYXRlQnV0dG9uID8/IHRydWU7XHJcblxyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuYXVkaW9UZXh0SW5wdXQgPSBhdWRpbz8uYXVkaW9UZXh0SW5wdXQgPz8gZmFsc2U7XHJcbiAgICAvLyBOb3Qgc2V0dGluZyBkZWZhdWx0IHVybCBiZWNhdXNlIHRoZXJlIGlzIG5vIHNlcnZpY2UgcHJvdmlkZWQgYnkgVGlsZGUgYW5kIHRoaXMgaXMgbm90IHVzZWQgYnkgZGVmYXVsdCBpbiB3ZWJzaXRlIHByb2plY3QuXHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5hdWRpb0FwaVVybCA9IGF1ZGlvPy5hdWRpb0FwaVVybDtcclxuICAgIHRoaXMuX2F1ZGlvQ29uZmlnLmF1ZGlvTWF4U2l6ZUJ5dGVzID0gYXVkaW8/LmF1ZGlvTWF4U2l6ZUJ5dGVzID8/IDEwMDAwMDAwO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuc291cmNlTGFuZ3VhZ2VzID0gYXVkaW8/LnNvdXJjZUxhbmd1YWdlcyA/PyBbXTtcclxuICAgIHRoaXMuX2F1ZGlvQ29uZmlnLmRhdGFVcGRhdGVUaW1lRnJhbWUgPSBhdWRpbz8uZGF0YVVwZGF0ZVRpbWVGcmFtZSA/PyA1MDAwO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcubWF4aW11bVJlY29yZFRpbWUgPSBhdWRpbz8ubWF4aW11bVJlY29yZFRpbWUgPz8gMzAwO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuZGljdGF0ZUFwaVVybCA9IGF1ZGlvPy5kaWN0YXRlQXBpVXJsID8/IFwicnVuYS50aWxkZS5sdlwiO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuYXBwSWQgPSBhdWRpbz8uYXBwSWQ7XHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5hcHBTZWNyZXQgPSBhdWRpbz8uYXBwU2VjcmV0O1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcucHVuY3R1YXRpb25NZXNzYWdlID0gYXVkaW8/LnB1bmN0dWF0aW9uTWVzc2FnZSA/PyB0cnVlO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uID0gYXVkaW8/LmRpc2FibGVBdXRvbWF0aWNUcmFuc2xhdGlvbiA/PyB0cnVlO1xyXG5cclxuICAgIHRoaXMuX3dlYnRyYW5zbGF0ZUNvbmZpZy5sb2dvTG9jYXRpb24gPSB3ZWJ0cmFuc2xhdGU/LmxvZ29Mb2NhdGlvbiB8fCAnYXNzZXRzL3dlYnRyYW5zbGF0ZS90aWxkZV9sb2dvLnBuZyc7XHJcbiAgICB0aGlzLl93ZWJ0cmFuc2xhdGVDb25maWcudHJhbnNsYXRlUGFnZVBhdGggPSB3ZWJ0cmFuc2xhdGU/LnRyYW5zbGF0ZVBhZ2VQYXRoO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLmRlYnVnID0gd2VidHJhbnNsYXRlPy5kZWJ1ZyB8fCBmYWxzZTtcclxuICAgIHRoaXMuX3dlYnRyYW5zbGF0ZUNvbmZpZy53ZWJMYW5nQXV0b2RldGVjdCA9IHdlYnRyYW5zbGF0ZT8ud2ViTGFuZ0F1dG9kZXRlY3QgfHwgdHJ1ZTtcclxuICAgIHRoaXMuX3dlYnRyYW5zbGF0ZUNvbmZpZy5hbGxvd1N1Z2dlc3Rpb25zID0gd2VidHJhbnNsYXRlPy5hbGxvd1N1Z2dlc3Rpb25zIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLmhpZGVQb3B1cCA9IHdlYnRyYW5zbGF0ZT8uaGlkZVBvcHVwIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLnNhbmRib3ggPSB3ZWJ0cmFuc2xhdGU/LnNhbmRib3ggPz8gXCJhbGxvdy1mb3JtcyBhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luXCI7XHJcblxyXG4gICAgdGhpcy5fdGVybUNvbmZpZy50ZXJtaW5vbG9neVBvcnRhbFVybCA9IHRlcm1Db25maWc/LnRlcm1pbm9sb2d5UG9ydGFsVXJsIHx8IFwiaHR0cHM6Ly90ZXJtLnRpbGRlLmNvbVwiO1xyXG4gICAgdGhpcy5fdGVybUNvbmZpZy5jYW5DcmVhdGVDb2xsZWN0aW9uID0gdGVybUNvbmZpZz8uY2FuQ3JlYXRlQ29sbGVjdGlvbjtcclxuICAgIHRoaXMuX3Rlcm1Db25maWcuaXNDb2xsZWN0aW9uc0FjdGl2YXRlZCA9IHRlcm1Db25maWc/LmlzQ29sbGVjdGlvbnNBY3RpdmF0ZWQ7XHJcbiAgICB0aGlzLl90ZXJtQ29uZmlnLmlzVGVybVBvcnRhbFN1cHBvcnRlZCA9IHRlcm1Db25maWc/LmlzVGVybVBvcnRhbFN1cHBvcnRlZCA/PyBmYWxzZTtcclxuICAgIHRoaXMuX3Rlcm1Db25maWcuY29sbGVjdGlvbk5hbWVNaW5MZW5ndGggPSB0ZXJtQ29uZmlnPy5jb2xsZWN0aW9uTmFtZU1pbkxlbmd0aCA/PyA4O1xyXG4gICAgdGhpcy5fdGVybUNvbmZpZy5jb2xsZWN0aW9uTmFtZU1heExlbmd0aCA9IHRlcm1Db25maWc/LmNvbGxlY3Rpb25OYW1lTWF4TGVuZ3RoID8/IDMwMDtcclxuICAgIHRoaXMuX3Rlcm1Db25maWcucmVmcmVzaFRpbWVvdXRNcyA9IHRlcm1Db25maWc/LnJlZnJlc2hUaW1lb3V0TXMgPz8gMTAwMDA7XHJcbiAgICB0aGlzLl90ZXJtQ29uZmlnLnJlZnJlc2hUaW1lb3V0TXNXaGVuSW1wb3J0aW5nID0gdGVybUNvbmZpZz8ucmVmcmVzaFRpbWVvdXRNc1doZW5JbXBvcnRpbmcgPz8gNTAwMDtcclxuICAgIHRoaXMuX3Rlcm1Db25maWcuZW5naW5lVGVybVVybCA9IHRlcm1Db25maWc/LmVuZ2luZVRlcm1Vcmw7XHJcbiAgICB0aGlzLl90ZXJtQ29uZmlnLmRlZmF1bHRHbG9zc2FyeU1hbmFnZW1lbnRMaW5rID0gdGVybUNvbmZpZz8uZGVmYXVsdEdsb3NzYXJ5TWFuYWdlbWVudExpbms7XHJcblxyXG4gICAgdGhpcy5fdGVybUNvbmZpZy5mcmVlVHJpYWxVcmwgPSB0ZXJtQ29uZmlnPy5mcmVlVHJpYWxVcmwgPz8gXCJodHRwczovL3RpbGRlLmNvbS9wcm9kdWN0cy1hbmQtc2VydmljZXMvbWFjaGluZS10cmFuc2xhdGlvbi9wcmljaW5nL1RpbGRlLU1UXCI7XHJcbiAgICB0aGlzLl90ZXJtQ29uZmlnLmxlYXJuTW9yZVVybCA9IHRlcm1Db25maWc/LmxlYXJuTW9yZVVybCA/PyBcImh0dHBzOi8vd3d3LnRpbGRlLmNvbS9wcm9kdWN0cy1hbmQtc2VydmljZXMvbWFjaGluZS10cmFuc2xhdGlvbi9UaWxkZS1NVC1mZWF0dXJlcy1nbG9zc2FyeVwiO1xyXG5cclxuICAgIC8vIHNlcGVyYXRlZCBiZWNhdXNlIGZvbGxvd2luZyB1cmxzIGhhdmUgbWV0aG9kIG5hbWVzIGFkZGVkXHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnRyYW5zbGF0aW9uU2VydmljZVVybCA9IGNvcmU/LnRyYW5zbGF0aW9uU2VydmljZVVybCB8fCBcImh0dHBzOi8vd3d3LmxldHNtdC5ldS93cy9zZXJ2aWNlLnN2Yy9qc29uL1wiO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy50cmFuc2xhdGlvblVybCA9IHRleHQ/LnRyYW5zbGF0aW9uVXJsID8/IHRoaXMuX2NvcmVDb25maWcudHJhbnNsYXRpb25TZXJ2aWNlVXJsICsgXCJUcmFuc2xhdGVFeFwiO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy51cGRhdGVUcmFuc2xhdGlvblVybCA9IHRleHQ/LnVwZGF0ZVRyYW5zbGF0aW9uVXJsID8/IHRoaXMuX2NvcmVDb25maWcudHJhbnNsYXRpb25TZXJ2aWNlVXJsICsgXCJVcGRhdGVUcmFuc2xhdGlvblwiO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5zeXN0ZW1MaXN0VXJsID0gY29yZT8uc3lzdGVtTGlzdFVybCA/PyB0aGlzLl9jb3JlQ29uZmlnLnRyYW5zbGF0aW9uU2VydmljZVVybCArIFwiR2V0U3lzdGVtTGlzdFwiO1xyXG5cclxuICAgIHRoaXMuX2FwaVYyQ29uZmlnLnhBcGlLZXkgPSBhcGlWMkNvbmZpZz8ueEFwaUtleTtcclxuICAgIHRoaXMuX2FwaVYyQ29uZmlnLm10QXBpVXJsID0gYXBpVjJDb25maWc/Lm10QXBpVXJsID8/IFwiYXBpL3RyYW5zbGF0ZS9cIjtcclxuICAgIHRoaXMuX2FwaVYyQ29uZmlnLnN5c3RlbUxpc3RVcmwgPSBhcGlWMkNvbmZpZz8uc3lzdGVtTGlzdFVybCA/PyB0aGlzLl9hcGlWMkNvbmZpZy5tdEFwaVVybCArIFwibGFuZ3VhZ2UtZGlyZWN0aW9uc1wiO1xyXG4gICAgdGhpcy5fYXBpVjJDb25maWcudHJhbnNsYXRpb25VcmwgPSBhcGlWMkNvbmZpZz8udHJhbnNsYXRpb25VcmwgPz8gdGhpcy5fYXBpVjJDb25maWcubXRBcGlVcmwgKyBcInRleHRcIjtcclxuICAgIHRoaXMuX2FwaVYyQ29uZmlnLmZpbGVUcmFuc2xhdGlvblVybCA9IGFwaVYyQ29uZmlnPy5maWxlVHJhbnNsYXRpb25VcmwgPz8gdGhpcy5fYXBpVjJDb25maWcubXRBcGlVcmwgKyBcImZpbGVcIjtcclxuICAgIHRoaXMuX2FwaVYyQ29uZmlnLmdyYW1tYXJDaGVja1VybCA9IGFwaVYyQ29uZmlnPy5ncmFtbWFyQ2hlY2tVcmwgPz8gXCJodHRwczovL210LmNzLnV0LmVlL2FwaS9ncmFtbWFyXCI7XHJcbiAgICB0aGlzLl9hcGlWMkNvbmZpZy5hdXRvRG9tYWluRGV0ZWN0aW9uID0gYXBpVjJDb25maWc/LmF1dG9Eb21haW5EZXRlY3Rpb24gPz8gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5fdGV4dFRvU3BlZWNoQ29uZmlnLmxhbmd1YWdlcyA9IHRleHRUb1NwZWVjaD8ubGFuZ3VhZ2VzID8/IHt9O1xyXG4gICAgdGhpcy5fdGV4dFRvU3BlZWNoQ29uZmlnLm1heENoYXJzSW5UZXh0ID0gdGV4dFRvU3BlZWNoPy5tYXhDaGFyc0luVGV4dCA/PyAzMDAwO1xyXG5cclxuICAgIHRoaXMuZWRpdFByb3BlcnRpZXNCYXNlZE9uQXBpKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUbyBtYWtlIHN1cmUgbmVjZXNzYXJ5IHByb3BlcnRpZXMgYXJlIG5vdCB0dXJuZWQgb24gYmVjYXVzZSBpbiBhcGkgVjIgc29tZSBmZWF0dXJlcyBhcmUgbm90IGltcGxlbW5lbnRlZC5cclxuICAgKi9cclxuICBwcml2YXRlIGVkaXRQcm9wZXJ0aWVzQmFzZWRPbkFwaSgpIHtcclxuICAgIGlmICh0aGlzLmFwaVZlcnNpb24gPT09IFRyYW5zbGF0aW9uQXBpVmVyc2lvbi5WMikge1xyXG4gICAgICB0aGlzLnRleHRDb25maWcuc2hvd1N1Z2dlc3Rpb25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudGV4dENvbmZpZy51c2VEaWN0aW9uYXJ5ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -63,7 +63,7 @@ export class TldTranslateComponent {
|
|
|
63
63
|
|| this.translateTextService.isDictating;
|
|
64
64
|
}
|
|
65
65
|
get showTranslateButton() {
|
|
66
|
-
return !this.translateFileService.multipleFileUploadActive;
|
|
66
|
+
return this.configService.textConfig.showTranslateButton && !this.translateFileService.multipleFileUploadActive;
|
|
67
67
|
}
|
|
68
68
|
// this param is necessary to remove max height if multiple file component is active, since there shouldn't be max height in that case.
|
|
69
69
|
get isMultipleFilesActive() {
|
|
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
225
225
|
type: ViewChild,
|
|
226
226
|
args: [TldTranslateBodyComponent]
|
|
227
227
|
}] } });
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvdGxkLXRyYW5zbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvdGxkLXRyYW5zbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUF1Qix1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2hFLE9BQU8sRUFBZ0IsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVFoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFFaEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQjlGLE1BQU0sT0FBTyxxQkFBcUI7SUFxRWhDLFlBQTZCLFNBQTJCLEVBQ3JDLG9CQUE2QyxFQUM3QyxvQkFBNkMsRUFDN0MsYUFBd0MsRUFDeEMsTUFBdUIsRUFDdkIsc0JBQWlELEVBQ2pELFNBQTJCLEVBQzNCLFlBQWdDLEVBQ2hDLHNCQUE0QyxFQUM1QyxlQUFxQyxFQUNyQyxtQkFBbUQsRUFD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QUMsUUFBUSxFQUFFO2dDQUNuQixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0NBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUM7NkJBQ2IsQ0FBQzs0QkFFRixVQUFVLENBQUMsUUFBUSxFQUNqQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7eUJBQ3RDLENBQUM7cUJBQ0g7OGVBR1MsT0FBTztzQkFBaEIsTUFBTTtnQkFFK0IsZ0JBQWdCO3NCQUFyRCxTQUFTO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlLCBOb3RpZmljYXRpb25NZXNzYWdlVHlwZSB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LWNvbW1vbic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgYXZhaWxhYmxlTGFuZ3VhZ2VzIH0gZnJvbSAnLi9pMThuL2F2YWlsYWJsZS1sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBBdWRpb1JlY29yZFNlcnZpY2UsIFRsZFZvaWNlSW5wdXRTZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC1hdWRpby9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUJ1dHRvblNlcnZpY2UgfSBmcm9tICcuL21vZHVsZXMvdGxkLWNvbW1vbi9jb21wb25lbnRzL3RyYW5zbGF0ZS1idXR0b24vdGxkLXRyYW5zbGF0ZS1idXR0b24uc2VydmljZSc7XHJcbmltcG9ydCB7IElBdXRoT3B0aW9ucywgbGFuZ3VhZ2VNZW51VmVyc2lvbiB9IGZyb20gJy4vbW9kdWxlcy90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IEljb25TZXJ2aWNlLCBUbGRBbGVydFNlcnZpY2UsIFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vZHVsZXMvdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFd0d0xpbmtQYXJhbXNTZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC1jb21tb24vc2VydmljZXMvd3R3LWxpbmstcGFyYW1zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVGaWxlU2VydmljZSB9IGZyb20gJy4vbW9kdWxlcy90bGQtZG9jdW1lbnQvc2VydmljZXMvdGxkLXRyYW5zbGF0ZS1maWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVUZXh0U2VydmljZSB9IGZyb20gJy4vbW9kdWxlcy90bGQtdGV4dC9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLXRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IElBY3RpdmVEYXRhIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC10b29sdGlwL21vZGVscy9hY3RpdmUtZGF0YS5tb2RlbCc7XHJcbmltcG9ydCB7IElTd2l0Y2hlclRyYW5zbGF0aW9uT3B0aW9ucyB9IGZyb20gJy4vbW9kdWxlcy90bGQtdG9vbHRpcC9tb2RlbHMvc3dpdGNoZXItb3B0aW9ucy5tb2RlbCc7XHJcbmltcG9ydCB7IFRsZFN5c3RlbVNlcnZpY2UgfSBmcm9tICcuL21vZHVsZXMvdGxkLXRvb2x0aXAvc2VydmljZXMvdGxkLXN5c3RlbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3BlbmVkTWVudSB9IGZyb20gJy4vbW9kdWxlcy90bGQtdG9vbHRpcC90cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyL21vZGVscy9vcGVuZWQtbWVudSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uU3lzdGVtUGlja2VyU2VydmljZSB9IGZyb20gJy4vbW9kdWxlcy90bGQtdG9vbHRpcC90cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUJvZHlDb21wb25lbnQgfSBmcm9tICcuL3RsZC10cmFuc2xhdGUtYm9keS90bGQtdHJhbnNsYXRlLWJvZHkuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLXRyYW5zbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC10cmFuc2xhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RsZC10cmFuc2xhdGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2VBbmltYXRpb24nLCBbXHJcblxyXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXHJcbiAgICAgICAgc3R5bGUoeyBoZWlnaHQ6IDAgfSksXHJcbiAgICAgICAgYW5pbWF0ZSg1MDApXHJcbiAgICAgIF0pLFxyXG5cclxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJyxcclxuICAgICAgICBhbmltYXRlKDUwMCwgc3R5bGUoeyBoZWlnaHQ6IDAgfSkpKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQE91dHB1dCgpIG9uRXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoVGxkVHJhbnNsYXRlQm9keUNvbXBvbmVudCkgdGxkVHJhbnNsYXRlQm9keTogVGxkVHJhbnNsYXRlQm9keUNvbXBvbmVudDtcclxuXHJcbiAgYWN0aXZlU3lzdGVtT2JqOiBJQWN0aXZlRGF0YTtcclxuICBtZXNzYWdlczogTm90aWZpY2F0aW9uTWVzc2FnZVtdID0gW107XHJcblxyXG4gIHN3aXRjaGVyT3B0aW9uczogSVN3aXRjaGVyVHJhbnNsYXRpb25PcHRpb25zO1xyXG5cclxuICBnZXQgYWN0aW9uQnV0dG9uTG9hZGVyKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc1RyYW5zbGF0aW5nOyB9XHJcblxyXG4gIGdldCBzaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcuc2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1heERpc3BsYXllZExhbmd1YWdlcygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLm1heERpc3BsYXllZExhbmd1YWdlcztcclxuICB9XHJcblxyXG4gIGdldCBzaG93Tm9TeXN0ZW1zRXJyb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50bGRTeXN0ZW0ubm9TeXN0ZW1zRXJyb3I7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IG5vU3lzdGVtc0Vycm9yOiBOb3RpZmljYXRpb25NZXNzYWdlID0geyBib2R5OiBcIlRMRF9UUkFOU0xBVEUuRVJST1JfTk9fU1lTVEVNU19MT0FERURcIiwgdHlwZTogTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuRVJST1IsIGhpZGVDbG9zZTogdHJ1ZSB9O1xyXG4gIGdldCBhY3Rpb25CdXR0b25EaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZUZpbGVTZXJ2aWNlLmRpc2FibGVUcmFuc2xhdGVCdXR0b25cclxuICAgICAgfHwgdGhpcy5hdWRpb1NlcnZpY2UuaXNSZWNvcmRpbmdcclxuICAgICAgfHwgdGhpcy52b2ljZVByb2Nlc3NpbmdTZXJ2aWNlLmlzUHJvY2Vzc2luZ1xyXG4gICAgICB8fCB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmlzRGljdGF0aW5nXHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd1RyYW5zbGF0ZUJ1dHRvbigpIHtcclxuICAgIHJldHVybiAhdGhpcy50cmFuc2xhdGVGaWxlU2VydmljZS5tdWx0aXBsZUZpbGVVcGxvYWRBY3RpdmU7XHJcbiAgfVxyXG5cclxuICAvLyB0aGlzIHBhcmFtIGlzIG5lY2Vzc2FyeSB0byByZW1vdmUgbWF4IGhlaWdodCBpZiBtdWx0aXBsZSBmaWxlIGNvbXBvbmVudCBpcyBhY3RpdmUsIHNpbmNlIHRoZXJlIHNob3VsZG4ndCBiZSBtYXggaGVpZ2h0IGluIHRoYXQgY2FzZS5cclxuICBnZXQgaXNNdWx0aXBsZUZpbGVzQWN0aXZlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGxkVHJhbnNsYXRlQm9keT8ubXVsdGlwbGVGaWxlc1VwbG9hZGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhpZGVMYW5nTWVudUxhYmVscygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2U/LmNvcmVDb25maWcuaGlkZUxhbmdNZW51TGFiZWxzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzQ29sbGVjdGlvbnNBY3RpdmF0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlPy50ZXJtQ29uZmlnPy5pc0NvbGxlY3Rpb25zQWN0aXZhdGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNvdXJjZUxhbmd1YWdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3lzdGVtT2JqPy5zb3VyY2VMYW5nLmxhbmc7XHJcbiAgfVxyXG5cclxuICBnZXQgdGFyZ2V0TGFuZ3VhZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTeXN0ZW1PYmo/LnRhcmdldExhbmcubGFuZztcclxuICB9XHJcblxyXG4gIGdldCBzeXN0ZW1QaWNrZXJEcm9wZG93blZpc2libGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zeXN0ZW1QaWNrZXJTZXJ2aWNlLm9wZW5lZE1lbnUgIT09IE9wZW5lZE1lbnUuTk9ORTtcclxuICB9XHJcblxyXG4gIGdldCBsYW5ndWFnZU1lbnVWZXJzaW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnPy5sYW5ndWFnZU1lbnVWZXJzaW9uO1xyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgbGFuZ3VhZ2VNZW51VjEgPSBsYW5ndWFnZU1lbnVWZXJzaW9uLlYxO1xyXG4gIHJlYWRvbmx5IGxhbmd1YWdlTWVudVYyID0gbGFuZ3VhZ2VNZW51VmVyc2lvbi5WMjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVGaWxlU2VydmljZTogVGxkVHJhbnNsYXRlRmlsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVRleHRTZXJ2aWNlOiBUbGRUcmFuc2xhdGVUZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzOiBUbGRBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZUJ1dHRvblNlcnZpY2U6IFRsZFRyYW5zbGF0ZUJ1dHRvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRsZFN5c3RlbTogVGxkU3lzdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXVkaW9TZXJ2aWNlOiBBdWRpb1JlY29yZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZvaWNlUHJvY2Vzc2luZ1NlcnZpY2U6IFRsZFZvaWNlSW5wdXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB3dHdRdWVyeVNlcnZpY2U6IFd0d0xpbmtQYXJhbXNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzeXN0ZW1QaWNrZXJTZXJ2aWNlOiBUcmFuc2xhdGlvblN5c3RlbVBpY2tlclNlcnZpY2UsXHJcbiAgICBpY29uU2VydmljZTogSWNvblNlcnZpY2VcclxuICApIHtcclxuICAgIGljb25TZXJ2aWNlLnJlZ2lzdGVySWNvbnMoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZUF1dGgoYXV0aE9wdGlvbnM6IElBdXRoT3B0aW9ucykge1xyXG4gICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcuaXNBdXRoID0gYXV0aE9wdGlvbnMuaXNBdXRoO1xyXG4gICAgdGhpcy5jb25maWdTZXJ2aWNlLnRlcm1Db25maWcuY2FuQ3JlYXRlQ29sbGVjdGlvbiA9IGF1dGhPcHRpb25zLmNhbkNyZWF0ZVRlcm1Db2xsZWN0aW9uO1xyXG4gICAgdGhpcy50cmFuc2xhdGVGaWxlU2VydmljZS5jbGVhcigpO1xyXG4gICAgdGhpcy5pbml0aWFsaXplV2lkZ2V0KCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplV2lkZ2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50bGRTeXN0ZW0uaW5pdCh0aGlzLnRsZFN5c3RlbS5nZXRMYXN0VXNlZFN5c3RlbSgpID8/IHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLmRlZmF1bHRTeXN0ZW1JZCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMucmVtb3ZlTWVzc2FnZXNPbkNsZWFyKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLmRlYnVnKSB7XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIGF2YWlsYWJsZUxhbmd1YWdlcykge1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLnNldFRyYW5zbGF0aW9uKGtleSwgYXZhaWxhYmxlTGFuZ3VhZ2VzW2tleV0sIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbml0aWFsaXplV2lkZ2V0KCk7XHJcblxyXG4gICAgdGhpcy50bGRTeXN0ZW0uZ2V0QWN0aXZlRGF0YSgpLnBpcGUoXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgodmFsOiBJQWN0aXZlRGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlU3lzdGVtT2JqID0gdmFsO1xyXG4gICAgICAgIGlmICghdmFsKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc3dpdGNoZXJPcHRpb25zID0ge1xyXG4gICAgICAgICAgZG9tYWluczogdmFsLmRvbWFpbnMsXHJcbiAgICAgICAgICBzb3VyY2U6IHsgY29kZTogdmFsLnNvdXJjZUxhbmcubGFuZywgc3lzdGVtSWQ6IHZhbC5zeXN0ZW1JZCB9LFxyXG4gICAgICAgICAgc291cmNlTGFuZ3VhZ2VMaXN0OiB2YWwuc291cmNlTGFuZ0xpc3QsXHJcbiAgICAgICAgICBzeXN0ZW1JZDogdmFsLnN5c3RlbUlkLFxyXG4gICAgICAgICAgc3dhcEFjdGl2ZTogdmFsLnN3YXBMYW5nQWN0aXZlLFxyXG4gICAgICAgICAgdGFyZ2V0OiB7IGNvZGU6IHZhbC50YXJnZXRMYW5nLmxhbmcsIHN5c3RlbUlkOiB2YWwuc3lzdGVtSWQgfSxcclxuICAgICAgICAgIHRhcmdldExhbmd1YWdlTGlzdDogdmFsLnRhcmdldExhbmdMaXN0LFxyXG4gICAgICAgICAgdmVuZG9yczogdmFsLnZlbmRvcnNcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNvdXJjZUNoYW5nZS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnN3YXBTeXN0ZW1zKSB7XHJcbiAgICAgICAgICB0aGlzLnN3YXBMYW5ndWFnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMudHJhbnNsYXRlQnV0dG9uU2VydmljZS5nZXRBY3Rpb25DbGljaygpLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGVCdXR0b25DbGljaygpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnd0d1F1ZXJ5U2VydmljZS5xdWVyeSgpLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocXVlcnk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZXMuZm9yRWFjaChtc2cgPT4ge1xyXG4gICAgICAgICAgbXNnLmxvY2FsaXphdGlvblBhcmFtcy5xdWVyeVN0cmluZyA9IHF1ZXJ5XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMuYWxlcnRzLmdldE1lc3NhZ2VzKCkucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBOb3RpZmljYXRpb25NZXNzYWdlKSA9PiB7XHJcbiAgICAgICAgbWVzc2FnZS5sb2NhbGl6YXRpb25QYXJhbXMucXVlcnlTdHJpbmcgPSB0aGlzLnd0d1F1ZXJ5U2VydmljZS5kZWZhdWx0UXVlcnlTdHJpbmc7XHJcbiAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuRVJST1IpIHtcclxuICAgICAgICAgIHRoaXMub25FcnJvci5lbWl0KG1lc3NhZ2UuZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBwdXNoaW5nIG9ubHkgXCJvbmUgb2ZcIiBtZXNzYWdlIGluIGFycmF5LCBzbyBzY3JlZW4gaXMgbm90IHNwYW1tZWQgd2l0aCBtZXNzYWdlc1xyXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nTWVzc2FnZSA9IHRoaXMubWVzc2FnZXMuZmluZChtc2cgPT4gbXNnLnRpdGxlID09PSBtZXNzYWdlLnRpdGxlXHJcbiAgICAgICAgICAmJiBtc2cudHlwZSA9PT0gbWVzc2FnZS50eXBlXHJcbiAgICAgICAgICAmJiBtZXNzYWdlLmJvZHkgPT09IG1zZy5ib2R5XHJcbiAgICAgICAgICAmJiBKU09OLnN0cmluZ2lmeShtc2cubG9jYWxpemF0aW9uUGFyYW1zKSA9PT0gSlNPTi5zdHJpbmdpZnkobWVzc2FnZS5sb2NhbGl6YXRpb25QYXJhbXMpKTtcclxuICAgICAgICBpZiAoIWV4aXN0aW5nTWVzc2FnZSkge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgY29uc3QgYXBwTmFtZUtleSA9IFwiQVBQX05BTUVcIjtcclxuICAgIHRoaXMudHJhbnNsYXRlLnN0cmVhbShbYXBwTmFtZUtleV0pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgodHJhbnNsYXRpb25zKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcuYXBwTmFtZSA9IHRyYW5zbGF0aW9uc1thcHBOYW1lS2V5XTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVNZXNzYWdlKGl4OiBudW1iZXIpIHtcclxuICAgIHRoaXMubWVzc2FnZXMuc3BsaWNlKGl4LCAxKTtcclxuICB9XHJcblxyXG4gIHN3YXBMYW5ndWFnZXMoKSB7XHJcbiAgICB0aGlzLnRsZFN5c3RlbS5zd2FwU3lzdGVtTGFuZ3VhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzb3VyY2VMYW5ndWFnZUNoYW5nZShsYW5ndWFnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRsZFN5c3RlbS5jaGFuZ2VMYW5ndWFnZShsYW5ndWFnZSwgdGhpcy5zd2l0Y2hlck9wdGlvbnMudGFyZ2V0LmNvZGUpO1xyXG4gIH1cclxuXHJcbiAgc3lzdGVtQ2hhbmdlKHN5c3RlbUlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLmNoYW5nZVN5c3RlbShzeXN0ZW1JZCk7XHJcbiAgfVxyXG5cclxuICB0YXJnZXRMYW5ndWFnZUNoYW5nZShsYW5ndWFnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRsZFN5c3RlbS5jaGFuZ2VMYW5ndWFnZSh0aGlzLnN3aXRjaGVyT3B0aW9ucy5zb3VyY2UuY29kZSwgbGFuZ3VhZ2UpO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNsYXRlQnV0dG9uQ2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy50cmFuc2xhdGVGaWxlU2VydmljZS50cmFuc2xhdGlvbkZpbGVzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlRmlsZVNlcnZpY2UudHJhbnNsYXRlQnV0dG9uQ2xpY2sodGhpcy5hY3RpdmVTeXN0ZW1PYmopO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uub25UcmFuc2xhdGVCdXR0b25DbGljaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTWVzc2FnZXNPbkNsZWFyKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVGaWxlU2VydmljZS5vbkNsZWFyKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gW107XHJcbiAgICAgIH0pXHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5vbkNsZWFyKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gW107XHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dChudWxsKVxyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGNsYXNzPVwiaC0xMDAgdGxkLXRyYW5zbGF0ZVwiICpuZ0lmPVwiIXNob3dOb1N5c3RlbXNFcnJvclwiXHJcbiAgW25nQ2xhc3MubHQtbWRdPVwiJ3RsZC10cmFuc2xhdGUtdGFibGV0IHRsZC1kZWZhdWx0LWJvcmRlci1ib3R0b20nXCJcclxuICBbbmdDbGFzcy5sdC1zbV09XCIndGxkLXRyYW5zbGF0ZS1tb2JpbGUgdGxkLWRlZmF1bHQtYm9yZGVyLWJvdHRvbSdcIlxyXG4gIFtjbGFzcy50bGQtdHJhbnNsYXRlLW11bHRpcGxlLWZpbGVzLWFjdGl2ZV09XCJpc011bHRpcGxlRmlsZXNBY3RpdmVcIj5cclxuICA8ZGl2IGNsYXNzPVwidGxkLXRyYW5zbGF0ZS13cmFwcGVyIHRsZC1kZWZhdWx0LWJvcmRlclwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGbGV4PlxyXG4gICAgPGRpdiBjbGFzcz1cInRsZC10cmFuc2xhdGUtc3dpdGNoZXItd3JhcHBlciB0bGQtZGVmYXVsdC1ib3JkZXItYm90dG9tXCI+XHJcbiAgICAgIDx0bGQtdHJhbnNsYXRlLXN3aXRjaGVyICpuZ0lmPVwic3dpdGNoZXJPcHRpb25zICYmIGxhbmd1YWdlTWVudVZlcnNpb24gPT09IGxhbmd1YWdlTWVudVYxXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uQnV0dG9uRGlzYWJsZWRcIiBbaXNDb2xsZWN0aW9uc0FjdGl2YXRlZF09XCJpc0NvbGxlY3Rpb25zQWN0aXZhdGVkXCIgW3NldHRpbmdzXT1cInN3aXRjaGVyT3B0aW9uc1wiXHJcbiAgICAgICAgW21heERpc3BsYXllZExhbmd1YWdlc109XCJtYXhEaXNwbGF5ZWRMYW5ndWFnZXNcIiBbc2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lXT1cInNob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZVwiXHJcbiAgICAgICAgW2J1dHRvbkRpc2FibGVkXT1cImFjdGlvbkJ1dHRvbkRpc2FibGVkXCIgW2hpZGVMYW5nTWVudUxhYmVsc109XCJoaWRlTGFuZ01lbnVMYWJlbHNcIlxyXG4gICAgICAgIChvbkRvbWFpbkNoYW5nZSk9XCJzeXN0ZW1DaGFuZ2UoJGV2ZW50KVwiIChvbkFjdGlvbkNsaWNrKT1cInRyYW5zbGF0ZUJ1dHRvbkNsaWNrKClcIlxyXG4gICAgICAgIChvbkxhbmd1YWdlU3dhcCk9XCJzd2FwTGFuZ3VhZ2VzKClcIiAob25Tb3VyY2VMYW5ndWFnZUNoYW5nZSk9XCJzb3VyY2VMYW5ndWFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAob25UYXJnZXRMYW5ndWFnZUNoYW5nZSk9XCJ0YXJnZXRMYW5ndWFnZUNoYW5nZSgkZXZlbnQpXCIgW2xvYWRlcl09XCJhY3Rpb25CdXR0b25Mb2FkZXJcIiBbc2hvd1RyYW5zbGF0ZUJ1dHRvbl09XCJzaG93VHJhbnNsYXRlQnV0dG9uXCI+XHJcbiAgICAgIDwvdGxkLXRyYW5zbGF0ZS1zd2l0Y2hlcj5cclxuICAgICAgPHRsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyICpuZ0lmPVwibGFuZ3VhZ2VNZW51VmVyc2lvbj09PWxhbmd1YWdlTWVudVYyXCJcclxuICAgICAgICBbaXNDb2xsZWN0aW9uc0FjdGl2YXRlZF09XCJpc0NvbGxlY3Rpb25zQWN0aXZhdGVkXCI+PC90bGQtdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGxpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2UgW2lubGluZV09XCJ0cnVlXCIgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgbWVzc2FnZXM7IGxldCBpeCA9IGluZGV4XCIgW21lc3NhZ2VdPVwibWVzc2FnZVwiXHJcbiAgICAgIChjbG9zZUNsaWNrZWQpPVwicmVtb3ZlTWVzc2FnZShpeClcIj5cclxuICAgIDwvbGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZT5cclxuICAgIDxkaXYgZnhGbGV4IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlO1wiPlxyXG4gICAgICA8dGxkLXRyYW5zbGF0ZS1ib2R5IGZ4RmxleCBmeExheW91dEFsaWduPVwiY29sdW1uXCIgW2F0dHIuc291cmNlLWxhbmd1YWdlXT1cInNvdXJjZUxhbmd1YWdlXCJcclxuICAgICAgICBbYXR0ci50YXJnZXQtbGFuZ3VhZ2VdPVwidGFyZ2V0TGFuZ3VhZ2VcIj48L3RsZC10cmFuc2xhdGUtYm9keT5cclxuICAgICAgPHRsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWRyb3Bkb3duIFtuZ0NsYXNzLnhzXT1cIidtb2JpbGUnXCIgKm5nSWY9XCJzeXN0ZW1QaWNrZXJEcm9wZG93blZpc2libGVcIj5cclxuICAgICAgPC90bGQtdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci1kcm9wZG93bj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxsaWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlICpuZ0lmPVwic2hvd05vU3lzdGVtc0Vycm9yXCIgW21lc3NhZ2VdPVwibm9TeXN0ZW1zRXJyb3JcIj5cclxuPC9saWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlPlxyXG4iXX0=
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvdGxkLXRyYW5zbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvdGxkLXRyYW5zbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUF1Qix1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2hFLE9BQU8sRUFBZ0IsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVFoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFFaEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQjlGLE1BQU0sT0FBTyxxQkFBcUI7SUFxRWhDLFlBQTZCLFNBQTJCLEVBQ3JDLG9CQUE2QyxFQUM3QyxvQkFBNkMsRUFDN0MsYUFBd0MsRUFDeEMsTUFBdUIsRUFDdkIsc0JBQWlELEVBQ2pELFNBQTJCLEVBQzNCLFlBQWdDLEVBQ2hDLHNCQUE0QyxFQUM1QyxlQUFxQyxFQUNyQyxtQkFBbUQsRUFD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d0JBQ1YsT0FBTyxDQUFDLG9CQUFvQixFQUFFOzRCQUU1QixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNuQixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0NBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUM7NkJBQ2IsQ0FBQzs0QkFFRixVQUFVLENBQUMsUUFBUSxFQUNqQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7eUJBQ3RDLENBQUM7cUJBQ0g7OGVBR1MsT0FBTztzQkFBaEIsTUFBTTtnQkFFK0IsZ0JBQWdCO3NCQUFyRCxTQUFTO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlLCBOb3RpZmljYXRpb25NZXNzYWdlVHlwZSB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LWNvbW1vbic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgYXZhaWxhYmxlTGFuZ3VhZ2VzIH0gZnJvbSAnLi9pMThuL2F2YWlsYWJsZS1sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBBdWRpb1JlY29yZFNlcnZpY2UsIFRsZFZvaWNlSW5wdXRTZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC1hdWRpby9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUJ1dHRvblNlcnZpY2UgfSBmcm9tICcuL21vZHVsZXMvdGxkLWNvbW1vbi9jb21wb25lbnRzL3RyYW5zbGF0ZS1idXR0b24vdGxkLXRyYW5zbGF0ZS1idXR0b24uc2VydmljZSc7XHJcbmltcG9ydCB7IElBdXRoT3B0aW9ucywgbGFuZ3VhZ2VNZW51VmVyc2lvbiB9IGZyb20gJy4vbW9kdWxlcy90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IEljb25TZXJ2aWNlLCBUbGRBbGVydFNlcnZpY2UsIFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vZHVsZXMvdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFd0d0xpbmtQYXJhbXNTZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC1jb21tb24vc2VydmljZXMvd3R3LWxpbmstcGFyYW1zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVGaWxlU2VydmljZSB9IGZyb20gJy4vbW9kdWxlcy90bGQtZG9jdW1lbnQvc2VydmljZXMvdGxkLXRyYW5zbGF0ZS1maWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVUZXh0U2VydmljZSB9IGZyb20gJy4vbW9kdWxlcy90bGQtdGV4dC9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLXRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IElBY3RpdmVEYXRhIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC10b29sdGlwL21vZGVscy9hY3RpdmUtZGF0YS5tb2RlbCc7XHJcbmltcG9ydCB7IElTd2l0Y2hlclRyYW5zbGF0aW9uT3B0aW9ucyB9IGZyb20gJy4vbW9kdWxlcy90bGQtdG9vbHRpcC9tb2RlbHMvc3dpdGNoZXItb3B0aW9ucy5tb2RlbCc7XHJcbmltcG9ydCB7IFRsZFN5c3RlbVNlcnZpY2UgfSBmcm9tICcuL21vZHVsZXMvdGxkLXRvb2x0aXAvc2VydmljZXMvdGxkLXN5c3RlbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3BlbmVkTWVudSB9IGZyb20gJy4vbW9kdWxlcy90bGQtdG9vbHRpcC90cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyL21vZGVscy9vcGVuZWQtbWVudSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uU3lzdGVtUGlja2VyU2VydmljZSB9IGZyb20gJy4vbW9kdWxlcy90bGQtdG9vbHRpcC90cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUJvZHlDb21wb25lbnQgfSBmcm9tICcuL3RsZC10cmFuc2xhdGUtYm9keS90bGQtdHJhbnNsYXRlLWJvZHkuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLXRyYW5zbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC10cmFuc2xhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RsZC10cmFuc2xhdGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2VBbmltYXRpb24nLCBbXHJcblxyXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXHJcbiAgICAgICAgc3R5bGUoeyBoZWlnaHQ6IDAgfSksXHJcbiAgICAgICAgYW5pbWF0ZSg1MDApXHJcbiAgICAgIF0pLFxyXG5cclxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJyxcclxuICAgICAgICBhbmltYXRlKDUwMCwgc3R5bGUoeyBoZWlnaHQ6IDAgfSkpKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQE91dHB1dCgpIG9uRXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoVGxkVHJhbnNsYXRlQm9keUNvbXBvbmVudCkgdGxkVHJhbnNsYXRlQm9keTogVGxkVHJhbnNsYXRlQm9keUNvbXBvbmVudDtcclxuXHJcbiAgYWN0aXZlU3lzdGVtT2JqOiBJQWN0aXZlRGF0YTtcclxuICBtZXNzYWdlczogTm90aWZpY2F0aW9uTWVzc2FnZVtdID0gW107XHJcblxyXG4gIHN3aXRjaGVyT3B0aW9uczogSVN3aXRjaGVyVHJhbnNsYXRpb25PcHRpb25zO1xyXG5cclxuICBnZXQgYWN0aW9uQnV0dG9uTG9hZGVyKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc1RyYW5zbGF0aW5nOyB9XHJcblxyXG4gIGdldCBzaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcuc2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1heERpc3BsYXllZExhbmd1YWdlcygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLm1heERpc3BsYXllZExhbmd1YWdlcztcclxuICB9XHJcblxyXG4gIGdldCBzaG93Tm9TeXN0ZW1zRXJyb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50bGRTeXN0ZW0ubm9TeXN0ZW1zRXJyb3I7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IG5vU3lzdGVtc0Vycm9yOiBOb3RpZmljYXRpb25NZXNzYWdlID0geyBib2R5OiBcIlRMRF9UUkFOU0xBVEUuRVJST1JfTk9fU1lTVEVNU19MT0FERURcIiwgdHlwZTogTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuRVJST1IsIGhpZGVDbG9zZTogdHJ1ZSB9O1xyXG4gIGdldCBhY3Rpb25CdXR0b25EaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZUZpbGVTZXJ2aWNlLmRpc2FibGVUcmFuc2xhdGVCdXR0b25cclxuICAgICAgfHwgdGhpcy5hdWRpb1NlcnZpY2UuaXNSZWNvcmRpbmdcclxuICAgICAgfHwgdGhpcy52b2ljZVByb2Nlc3NpbmdTZXJ2aWNlLmlzUHJvY2Vzc2luZ1xyXG4gICAgICB8fCB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmlzRGljdGF0aW5nXHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd1RyYW5zbGF0ZUJ1dHRvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UudGV4dENvbmZpZy5zaG93VHJhbnNsYXRlQnV0dG9uICYmICF0aGlzLnRyYW5zbGF0ZUZpbGVTZXJ2aWNlLm11bHRpcGxlRmlsZVVwbG9hZEFjdGl2ZTtcclxuICB9XHJcblxyXG4gIC8vIHRoaXMgcGFyYW0gaXMgbmVjZXNzYXJ5IHRvIHJlbW92ZSBtYXggaGVpZ2h0IGlmIG11bHRpcGxlIGZpbGUgY29tcG9uZW50IGlzIGFjdGl2ZSwgc2luY2UgdGhlcmUgc2hvdWxkbid0IGJlIG1heCBoZWlnaHQgaW4gdGhhdCBjYXNlLlxyXG4gIGdldCBpc011bHRpcGxlRmlsZXNBY3RpdmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50bGRUcmFuc2xhdGVCb2R5Py5tdWx0aXBsZUZpbGVzVXBsb2FkZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgaGlkZUxhbmdNZW51TGFiZWxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZT8uY29yZUNvbmZpZy5oaWRlTGFuZ01lbnVMYWJlbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNDb2xsZWN0aW9uc0FjdGl2YXRlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2U/LnRlcm1Db25maWc/LmlzQ29sbGVjdGlvbnNBY3RpdmF0ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgc291cmNlTGFuZ3VhZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTeXN0ZW1PYmo/LnNvdXJjZUxhbmcubGFuZztcclxuICB9XHJcblxyXG4gIGdldCB0YXJnZXRMYW5ndWFnZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN5c3RlbU9iaj8udGFyZ2V0TGFuZy5sYW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN5c3RlbVBpY2tlckRyb3Bkb3duVmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN5c3RlbVBpY2tlclNlcnZpY2Uub3BlbmVkTWVudSAhPT0gT3BlbmVkTWVudS5OT05FO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxhbmd1YWdlTWVudVZlcnNpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWc/Lmxhbmd1YWdlTWVudVZlcnNpb247XHJcbiAgfVxyXG5cclxuICByZWFkb25seSBsYW5ndWFnZU1lbnVWMSA9IGxhbmd1YWdlTWVudVZlcnNpb24uVjE7XHJcbiAgcmVhZG9ubHkgbGFuZ3VhZ2VNZW51VjIgPSBsYW5ndWFnZU1lbnVWZXJzaW9uLlYyO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZUZpbGVTZXJ2aWNlOiBUbGRUcmFuc2xhdGVGaWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlVGV4dFNlcnZpY2U6IFRsZFRyYW5zbGF0ZVRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHM6IFRsZEFsZXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlQnV0dG9uU2VydmljZTogVGxkVHJhbnNsYXRlQnV0dG9uU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU3lzdGVtOiBUbGRTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdWRpb1NlcnZpY2U6IEF1ZGlvUmVjb3JkU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdm9pY2VQcm9jZXNzaW5nU2VydmljZTogVGxkVm9pY2VJbnB1dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHd0d1F1ZXJ5U2VydmljZTogV3R3TGlua1BhcmFtc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5c3RlbVBpY2tlclNlcnZpY2U6IFRyYW5zbGF0aW9uU3lzdGVtUGlja2VyU2VydmljZSxcclxuICAgIGljb25TZXJ2aWNlOiBJY29uU2VydmljZVxyXG4gICkge1xyXG4gICAgaWNvblNlcnZpY2UucmVnaXN0ZXJJY29ucygpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlQXV0aChhdXRoT3B0aW9uczogSUF1dGhPcHRpb25zKSB7XHJcbiAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5pc0F1dGggPSBhdXRoT3B0aW9ucy5pc0F1dGg7XHJcbiAgICB0aGlzLmNvbmZpZ1NlcnZpY2UudGVybUNvbmZpZy5jYW5DcmVhdGVDb2xsZWN0aW9uID0gYXV0aE9wdGlvbnMuY2FuQ3JlYXRlVGVybUNvbGxlY3Rpb247XHJcbiAgICB0aGlzLnRyYW5zbGF0ZUZpbGVTZXJ2aWNlLmNsZWFyKCk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVXaWRnZXQoKTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVXaWRnZXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRsZFN5c3RlbS5pbml0KHRoaXMudGxkU3lzdGVtLmdldExhc3RVc2VkU3lzdGVtKCkgPz8gdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcuZGVmYXVsdFN5c3RlbUlkKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5yZW1vdmVNZXNzYWdlc09uQ2xlYXIoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcuZGVidWcpIHtcclxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gYXZhaWxhYmxlTGFuZ3VhZ2VzKSB7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0VHJhbnNsYXRpb24oa2V5LCBhdmFpbGFibGVMYW5ndWFnZXNba2V5XSwgdHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXRpYWxpemVXaWRnZXQoKTtcclxuXHJcbiAgICB0aGlzLnRsZFN5c3RlbS5nZXRBY3RpdmVEYXRhKCkucGlwZShcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh2YWw6IElBY3RpdmVEYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVTeXN0ZW1PYmogPSB2YWw7XHJcbiAgICAgICAgaWYgKCF2YWwpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zd2l0Y2hlck9wdGlvbnMgPSB7XHJcbiAgICAgICAgICBkb21haW5zOiB2YWwuZG9tYWlucyxcclxuICAgICAgICAgIHNvdXJjZTogeyBjb2RlOiB2YWwuc291cmNlTGFuZy5sYW5nLCBzeXN0ZW1JZDogdmFsLnN5c3RlbUlkIH0sXHJcbiAgICAgICAgICBzb3VyY2VMYW5ndWFnZUxpc3Q6IHZhbC5zb3VyY2VMYW5nTGlzdCxcclxuICAgICAgICAgIHN5c3RlbUlkOiB2YWwuc3lzdGVtSWQsXHJcbiAgICAgICAgICBzd2FwQWN0aXZlOiB2YWwuc3dhcExhbmdBY3RpdmUsXHJcbiAgICAgICAgICB0YXJnZXQ6IHsgY29kZTogdmFsLnRhcmdldExhbmcubGFuZywgc3lzdGVtSWQ6IHZhbC5zeXN0ZW1JZCB9LFxyXG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2VMaXN0OiB2YWwudGFyZ2V0TGFuZ0xpc3QsXHJcbiAgICAgICAgICB2ZW5kb3JzOiB2YWwudmVuZG9yc1xyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uuc291cmNlQ2hhbmdlLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQuc3dhcFN5c3RlbXMpIHtcclxuICAgICAgICAgIHRoaXMuc3dhcExhbmd1YWdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGVCdXR0b25TZXJ2aWNlLmdldEFjdGlvbkNsaWNrKCkucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZUJ1dHRvbkNsaWNrKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMud3R3UXVlcnlTZXJ2aWNlLnF1ZXJ5KCkucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChxdWVyeTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcy5mb3JFYWNoKG1zZyA9PiB7XHJcbiAgICAgICAgICBtc2cubG9jYWxpemF0aW9uUGFyYW1zLnF1ZXJ5U3RyaW5nID0gcXVlcnlcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5hbGVydHMuZ2V0TWVzc2FnZXMoKS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2U6IE5vdGlmaWNhdGlvbk1lc3NhZ2UpID0+IHtcclxuICAgICAgICBtZXNzYWdlLmxvY2FsaXphdGlvblBhcmFtcy5xdWVyeVN0cmluZyA9IHRoaXMud3R3UXVlcnlTZXJ2aWNlLmRlZmF1bHRRdWVyeVN0cmluZztcclxuICAgICAgICBpZiAobWVzc2FnZS50eXBlID09PSBOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5FUlJPUikge1xyXG4gICAgICAgICAgdGhpcy5vbkVycm9yLmVtaXQobWVzc2FnZS5lcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHB1c2hpbmcgb25seSBcIm9uZSBvZlwiIG1lc3NhZ2UgaW4gYXJyYXksIHNvIHNjcmVlbiBpcyBub3Qgc3BhbW1lZCB3aXRoIG1lc3NhZ2VzXHJcbiAgICAgICAgY29uc3QgZXhpc3RpbmdNZXNzYWdlID0gdGhpcy5tZXNzYWdlcy5maW5kKG1zZyA9PiBtc2cudGl0bGUgPT09IG1lc3NhZ2UudGl0bGVcclxuICAgICAgICAgICYmIG1zZy50eXBlID09PSBtZXNzYWdlLnR5cGVcclxuICAgICAgICAgICYmIG1lc3NhZ2UuYm9keSA9PT0gbXNnLmJvZHlcclxuICAgICAgICAgICYmIEpTT04uc3RyaW5naWZ5KG1zZy5sb2NhbGl6YXRpb25QYXJhbXMpID09PSBKU09OLnN0cmluZ2lmeShtZXNzYWdlLmxvY2FsaXphdGlvblBhcmFtcykpO1xyXG4gICAgICAgIGlmICghZXhpc3RpbmdNZXNzYWdlKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICBjb25zdCBhcHBOYW1lS2V5ID0gXCJBUFBfTkFNRVwiO1xyXG4gICAgdGhpcy50cmFuc2xhdGUuc3RyZWFtKFthcHBOYW1lS2V5XSkucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh0cmFuc2xhdGlvbnMpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5hcHBOYW1lID0gdHJhbnNsYXRpb25zW2FwcE5hbWVLZXldO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZU1lc3NhZ2UoaXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5tZXNzYWdlcy5zcGxpY2UoaXgsIDEpO1xyXG4gIH1cclxuXHJcbiAgc3dhcExhbmd1YWdlcygpIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLnN3YXBTeXN0ZW1MYW5ndWFnZXMoKTtcclxuICB9XHJcblxyXG4gIHNvdXJjZUxhbmd1YWdlQ2hhbmdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLmNoYW5nZUxhbmd1YWdlKGxhbmd1YWdlLCB0aGlzLnN3aXRjaGVyT3B0aW9ucy50YXJnZXQuY29kZSk7XHJcbiAgfVxyXG5cclxuICBzeXN0ZW1DaGFuZ2Uoc3lzdGVtSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy50bGRTeXN0ZW0uY2hhbmdlU3lzdGVtKHN5c3RlbUlkKTtcclxuICB9XHJcblxyXG4gIHRhcmdldExhbmd1YWdlQ2hhbmdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLmNoYW5nZUxhbmd1YWdlKHRoaXMuc3dpdGNoZXJPcHRpb25zLnNvdXJjZS5jb2RlLCBsYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2xhdGVCdXR0b25DbGljaygpIHtcclxuICAgIGlmICh0aGlzLnRyYW5zbGF0ZUZpbGVTZXJ2aWNlLnRyYW5zbGF0aW9uRmlsZXM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVGaWxlU2VydmljZS50cmFuc2xhdGVCdXR0b25DbGljayh0aGlzLmFjdGl2ZVN5c3RlbU9iaik7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5vblRyYW5zbGF0ZUJ1dHRvbkNsaWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVNZXNzYWdlc09uQ2xlYXIoKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZUZpbGVTZXJ2aWNlLm9uQ2xlYXIoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZXMgPSBbXTtcclxuICAgICAgfSlcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLm9uQ2xlYXIoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZXMgPSBbXTtcclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KG51bGwpXHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJoLTEwMCB0bGQtdHJhbnNsYXRlXCIgKm5nSWY9XCIhc2hvd05vU3lzdGVtc0Vycm9yXCJcclxuICBbbmdDbGFzcy5sdC1tZF09XCIndGxkLXRyYW5zbGF0ZS10YWJsZXQgdGxkLWRlZmF1bHQtYm9yZGVyLWJvdHRvbSdcIlxyXG4gIFtuZ0NsYXNzLmx0LXNtXT1cIid0bGQtdHJhbnNsYXRlLW1vYmlsZSB0bGQtZGVmYXVsdC1ib3JkZXItYm90dG9tJ1wiXHJcbiAgW2NsYXNzLnRsZC10cmFuc2xhdGUtbXVsdGlwbGUtZmlsZXMtYWN0aXZlXT1cImlzTXVsdGlwbGVGaWxlc0FjdGl2ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0bGQtdHJhbnNsYXRlLXdyYXBwZXIgdGxkLWRlZmF1bHQtYm9yZGVyXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXg+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci13cmFwcGVyIHRsZC1kZWZhdWx0LWJvcmRlci1ib3R0b21cIj5cclxuICAgICAgPHRsZC10cmFuc2xhdGUtc3dpdGNoZXIgKm5nSWY9XCJzd2l0Y2hlck9wdGlvbnMgJiYgbGFuZ3VhZ2VNZW51VmVyc2lvbiA9PT0gbGFuZ3VhZ2VNZW51VjFcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25CdXR0b25EaXNhYmxlZFwiIFtpc0NvbGxlY3Rpb25zQWN0aXZhdGVkXT1cImlzQ29sbGVjdGlvbnNBY3RpdmF0ZWRcIiBbc2V0dGluZ3NdPVwic3dpdGNoZXJPcHRpb25zXCJcclxuICAgICAgICBbbWF4RGlzcGxheWVkTGFuZ3VhZ2VzXT1cIm1heERpc3BsYXllZExhbmd1YWdlc1wiIFtzaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWVdPVwic2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lXCJcclxuICAgICAgICBbYnV0dG9uRGlzYWJsZWRdPVwiYWN0aW9uQnV0dG9uRGlzYWJsZWRcIiBbaGlkZUxhbmdNZW51TGFiZWxzXT1cImhpZGVMYW5nTWVudUxhYmVsc1wiXHJcbiAgICAgICAgKG9uRG9tYWluQ2hhbmdlKT1cInN5c3RlbUNoYW5nZSgkZXZlbnQpXCIgKG9uQWN0aW9uQ2xpY2spPVwidHJhbnNsYXRlQnV0dG9uQ2xpY2soKVwiXHJcbiAgICAgICAgKG9uTGFuZ3VhZ2VTd2FwKT1cInN3YXBMYW5ndWFnZXMoKVwiIChvblNvdXJjZUxhbmd1YWdlQ2hhbmdlKT1cInNvdXJjZUxhbmd1YWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIChvblRhcmdldExhbmd1YWdlQ2hhbmdlKT1cInRhcmdldExhbmd1YWdlQ2hhbmdlKCRldmVudClcIiBbbG9hZGVyXT1cImFjdGlvbkJ1dHRvbkxvYWRlclwiIFtzaG93VHJhbnNsYXRlQnV0dG9uXT1cInNob3dUcmFuc2xhdGVCdXR0b25cIj5cclxuICAgICAgPC90bGQtdHJhbnNsYXRlLXN3aXRjaGVyPlxyXG4gICAgICA8dGxkLXRyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXIgKm5nSWY9XCJsYW5ndWFnZU1lbnVWZXJzaW9uPT09bGFuZ3VhZ2VNZW51VjJcIlxyXG4gICAgICAgIFtpc0NvbGxlY3Rpb25zQWN0aXZhdGVkXT1cImlzQ29sbGVjdGlvbnNBY3RpdmF0ZWRcIj48L3RsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZSBbaW5saW5lXT1cInRydWVcIiAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBtZXNzYWdlczsgbGV0IGl4ID0gaW5kZXhcIiBbbWVzc2FnZV09XCJtZXNzYWdlXCJcclxuICAgICAgKGNsb3NlQ2xpY2tlZCk9XCJyZW1vdmVNZXNzYWdlKGl4KVwiPlxyXG4gICAgPC9saWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlPlxyXG4gICAgPGRpdiBmeEZsZXggc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7XCI+XHJcbiAgICAgIDx0bGQtdHJhbnNsYXRlLWJvZHkgZnhGbGV4IGZ4TGF5b3V0QWxpZ249XCJjb2x1bW5cIiBbYXR0ci5zb3VyY2UtbGFuZ3VhZ2VdPVwic291cmNlTGFuZ3VhZ2VcIlxyXG4gICAgICAgIFthdHRyLnRhcmdldC1sYW5ndWFnZV09XCJ0YXJnZXRMYW5ndWFnZVwiPjwvdGxkLXRyYW5zbGF0ZS1ib2R5PlxyXG4gICAgICA8dGxkLXRyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXItZHJvcGRvd24gW25nQ2xhc3MueHNdPVwiJ21vYmlsZSdcIiAqbmdJZj1cInN5c3RlbVBpY2tlckRyb3Bkb3duVmlzaWJsZVwiPlxyXG4gICAgICA8L3RsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWRyb3Bkb3duPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGxpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2UgKm5nSWY9XCJzaG93Tm9TeXN0ZW1zRXJyb3JcIiBbbWVzc2FnZV09XCJub1N5c3RlbXNFcnJvclwiPlxyXG48L2xpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2U+XHJcbiJdfQ==
|
|
@@ -3454,7 +3454,7 @@ class TldTranslateConfigService {
|
|
|
3454
3454
|
return this._textToSpeechConfig;
|
|
3455
3455
|
}
|
|
3456
3456
|
initConfigs(configuration) {
|
|
3457
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38;
|
|
3457
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39;
|
|
3458
3458
|
const config = (_a = configuration !== null && configuration !== void 0 ? configuration : this.config) !== null && _a !== void 0 ? _a : {};
|
|
3459
3459
|
const core = config === null || config === void 0 ? void 0 : config.core;
|
|
3460
3460
|
const file = config === null || config === void 0 ? void 0 : config.file;
|
|
@@ -3566,51 +3566,52 @@ class TldTranslateConfigService {
|
|
|
3566
3566
|
this._textConfig.progressIndicatorTimeoutMiliSeconds = (_9 = text === null || text === void 0 ? void 0 : text.progressIndicatorTimeoutMiliSeconds) !== null && _9 !== void 0 ? _9 : 2000;
|
|
3567
3567
|
this._textConfig.progressIndicatorTitleVisibleForVendors = (_10 = text === null || text === void 0 ? void 0 : text.progressIndicatorTitleVisibleForVendors) !== null && _10 !== void 0 ? _10 : ["ETranslation"];
|
|
3568
3568
|
this._textConfig.progressIndicatorVisible = (_11 = text === null || text === void 0 ? void 0 : text.progressIndicatorVisible) !== null && _11 !== void 0 ? _11 : false;
|
|
3569
|
-
this.
|
|
3569
|
+
this._textConfig.showTranslateButton = (_12 = text === null || text === void 0 ? void 0 : text.showTranslateButton) !== null && _12 !== void 0 ? _12 : true;
|
|
3570
|
+
this._audioConfig.audioTextInput = (_13 = audio === null || audio === void 0 ? void 0 : audio.audioTextInput) !== null && _13 !== void 0 ? _13 : false;
|
|
3570
3571
|
// Not setting default url because there is no service provided by Tilde and this is not used by default in website project.
|
|
3571
3572
|
this._audioConfig.audioApiUrl = audio === null || audio === void 0 ? void 0 : audio.audioApiUrl;
|
|
3572
|
-
this._audioConfig.audioMaxSizeBytes = (
|
|
3573
|
-
this._audioConfig.sourceLanguages = (
|
|
3574
|
-
this._audioConfig.dataUpdateTimeFrame = (
|
|
3575
|
-
this._audioConfig.maximumRecordTime = (
|
|
3576
|
-
this._audioConfig.dictateApiUrl = (
|
|
3573
|
+
this._audioConfig.audioMaxSizeBytes = (_14 = audio === null || audio === void 0 ? void 0 : audio.audioMaxSizeBytes) !== null && _14 !== void 0 ? _14 : 10000000;
|
|
3574
|
+
this._audioConfig.sourceLanguages = (_15 = audio === null || audio === void 0 ? void 0 : audio.sourceLanguages) !== null && _15 !== void 0 ? _15 : [];
|
|
3575
|
+
this._audioConfig.dataUpdateTimeFrame = (_16 = audio === null || audio === void 0 ? void 0 : audio.dataUpdateTimeFrame) !== null && _16 !== void 0 ? _16 : 5000;
|
|
3576
|
+
this._audioConfig.maximumRecordTime = (_17 = audio === null || audio === void 0 ? void 0 : audio.maximumRecordTime) !== null && _17 !== void 0 ? _17 : 300;
|
|
3577
|
+
this._audioConfig.dictateApiUrl = (_18 = audio === null || audio === void 0 ? void 0 : audio.dictateApiUrl) !== null && _18 !== void 0 ? _18 : "runa.tilde.lv";
|
|
3577
3578
|
this._audioConfig.appId = audio === null || audio === void 0 ? void 0 : audio.appId;
|
|
3578
3579
|
this._audioConfig.appSecret = audio === null || audio === void 0 ? void 0 : audio.appSecret;
|
|
3579
|
-
this._audioConfig.punctuationMessage = (
|
|
3580
|
-
this._audioConfig.disableAutomaticTranslation = (
|
|
3580
|
+
this._audioConfig.punctuationMessage = (_19 = audio === null || audio === void 0 ? void 0 : audio.punctuationMessage) !== null && _19 !== void 0 ? _19 : true;
|
|
3581
|
+
this._audioConfig.disableAutomaticTranslation = (_20 = audio === null || audio === void 0 ? void 0 : audio.disableAutomaticTranslation) !== null && _20 !== void 0 ? _20 : true;
|
|
3581
3582
|
this._webtranslateConfig.logoLocation = (webtranslate === null || webtranslate === void 0 ? void 0 : webtranslate.logoLocation) || 'assets/webtranslate/tilde_logo.png';
|
|
3582
3583
|
this._webtranslateConfig.translatePagePath = webtranslate === null || webtranslate === void 0 ? void 0 : webtranslate.translatePagePath;
|
|
3583
3584
|
this._webtranslateConfig.debug = (webtranslate === null || webtranslate === void 0 ? void 0 : webtranslate.debug) || false;
|
|
3584
3585
|
this._webtranslateConfig.webLangAutodetect = (webtranslate === null || webtranslate === void 0 ? void 0 : webtranslate.webLangAutodetect) || true;
|
|
3585
3586
|
this._webtranslateConfig.allowSuggestions = (webtranslate === null || webtranslate === void 0 ? void 0 : webtranslate.allowSuggestions) || false;
|
|
3586
3587
|
this._webtranslateConfig.hidePopup = (webtranslate === null || webtranslate === void 0 ? void 0 : webtranslate.hidePopup) || false;
|
|
3587
|
-
this._webtranslateConfig.sandbox = (
|
|
3588
|
+
this._webtranslateConfig.sandbox = (_21 = webtranslate === null || webtranslate === void 0 ? void 0 : webtranslate.sandbox) !== null && _21 !== void 0 ? _21 : "allow-forms allow-scripts allow-same-origin";
|
|
3588
3589
|
this._termConfig.terminologyPortalUrl = (termConfig === null || termConfig === void 0 ? void 0 : termConfig.terminologyPortalUrl) || "https://term.tilde.com";
|
|
3589
3590
|
this._termConfig.canCreateCollection = termConfig === null || termConfig === void 0 ? void 0 : termConfig.canCreateCollection;
|
|
3590
3591
|
this._termConfig.isCollectionsActivated = termConfig === null || termConfig === void 0 ? void 0 : termConfig.isCollectionsActivated;
|
|
3591
|
-
this._termConfig.isTermPortalSupported = (
|
|
3592
|
-
this._termConfig.collectionNameMinLength = (
|
|
3593
|
-
this._termConfig.collectionNameMaxLength = (
|
|
3594
|
-
this._termConfig.refreshTimeoutMs = (
|
|
3595
|
-
this._termConfig.refreshTimeoutMsWhenImporting = (
|
|
3592
|
+
this._termConfig.isTermPortalSupported = (_22 = termConfig === null || termConfig === void 0 ? void 0 : termConfig.isTermPortalSupported) !== null && _22 !== void 0 ? _22 : false;
|
|
3593
|
+
this._termConfig.collectionNameMinLength = (_23 = termConfig === null || termConfig === void 0 ? void 0 : termConfig.collectionNameMinLength) !== null && _23 !== void 0 ? _23 : 8;
|
|
3594
|
+
this._termConfig.collectionNameMaxLength = (_24 = termConfig === null || termConfig === void 0 ? void 0 : termConfig.collectionNameMaxLength) !== null && _24 !== void 0 ? _24 : 300;
|
|
3595
|
+
this._termConfig.refreshTimeoutMs = (_25 = termConfig === null || termConfig === void 0 ? void 0 : termConfig.refreshTimeoutMs) !== null && _25 !== void 0 ? _25 : 10000;
|
|
3596
|
+
this._termConfig.refreshTimeoutMsWhenImporting = (_26 = termConfig === null || termConfig === void 0 ? void 0 : termConfig.refreshTimeoutMsWhenImporting) !== null && _26 !== void 0 ? _26 : 5000;
|
|
3596
3597
|
this._termConfig.engineTermUrl = termConfig === null || termConfig === void 0 ? void 0 : termConfig.engineTermUrl;
|
|
3597
3598
|
this._termConfig.defaultGlossaryManagementLink = termConfig === null || termConfig === void 0 ? void 0 : termConfig.defaultGlossaryManagementLink;
|
|
3598
|
-
this._termConfig.freeTrialUrl = (
|
|
3599
|
-
this._termConfig.learnMoreUrl = (
|
|
3599
|
+
this._termConfig.freeTrialUrl = (_27 = termConfig === null || termConfig === void 0 ? void 0 : termConfig.freeTrialUrl) !== null && _27 !== void 0 ? _27 : "https://tilde.com/products-and-services/machine-translation/pricing/Tilde-MT";
|
|
3600
|
+
this._termConfig.learnMoreUrl = (_28 = termConfig === null || termConfig === void 0 ? void 0 : termConfig.learnMoreUrl) !== null && _28 !== void 0 ? _28 : "https://www.tilde.com/products-and-services/machine-translation/Tilde-MT-features-glossary";
|
|
3600
3601
|
// seperated because following urls have method names added
|
|
3601
3602
|
this._coreConfig.translationServiceUrl = (core === null || core === void 0 ? void 0 : core.translationServiceUrl) || "https://www.letsmt.eu/ws/service.svc/json/";
|
|
3602
|
-
this._textConfig.translationUrl = (
|
|
3603
|
-
this._textConfig.updateTranslationUrl = (
|
|
3604
|
-
this._coreConfig.systemListUrl = (
|
|
3603
|
+
this._textConfig.translationUrl = (_29 = text === null || text === void 0 ? void 0 : text.translationUrl) !== null && _29 !== void 0 ? _29 : this._coreConfig.translationServiceUrl + "TranslateEx";
|
|
3604
|
+
this._textConfig.updateTranslationUrl = (_30 = text === null || text === void 0 ? void 0 : text.updateTranslationUrl) !== null && _30 !== void 0 ? _30 : this._coreConfig.translationServiceUrl + "UpdateTranslation";
|
|
3605
|
+
this._coreConfig.systemListUrl = (_31 = core === null || core === void 0 ? void 0 : core.systemListUrl) !== null && _31 !== void 0 ? _31 : this._coreConfig.translationServiceUrl + "GetSystemList";
|
|
3605
3606
|
this._apiV2Config.xApiKey = apiV2Config === null || apiV2Config === void 0 ? void 0 : apiV2Config.xApiKey;
|
|
3606
|
-
this._apiV2Config.mtApiUrl = (
|
|
3607
|
-
this._apiV2Config.systemListUrl = (
|
|
3608
|
-
this._apiV2Config.translationUrl = (
|
|
3609
|
-
this._apiV2Config.fileTranslationUrl = (
|
|
3610
|
-
this._apiV2Config.grammarCheckUrl = (
|
|
3611
|
-
this._apiV2Config.autoDomainDetection = (
|
|
3612
|
-
this._textToSpeechConfig.languages = (
|
|
3613
|
-
this._textToSpeechConfig.maxCharsInText = (
|
|
3607
|
+
this._apiV2Config.mtApiUrl = (_32 = apiV2Config === null || apiV2Config === void 0 ? void 0 : apiV2Config.mtApiUrl) !== null && _32 !== void 0 ? _32 : "api/translate/";
|
|
3608
|
+
this._apiV2Config.systemListUrl = (_33 = apiV2Config === null || apiV2Config === void 0 ? void 0 : apiV2Config.systemListUrl) !== null && _33 !== void 0 ? _33 : this._apiV2Config.mtApiUrl + "language-directions";
|
|
3609
|
+
this._apiV2Config.translationUrl = (_34 = apiV2Config === null || apiV2Config === void 0 ? void 0 : apiV2Config.translationUrl) !== null && _34 !== void 0 ? _34 : this._apiV2Config.mtApiUrl + "text";
|
|
3610
|
+
this._apiV2Config.fileTranslationUrl = (_35 = apiV2Config === null || apiV2Config === void 0 ? void 0 : apiV2Config.fileTranslationUrl) !== null && _35 !== void 0 ? _35 : this._apiV2Config.mtApiUrl + "file";
|
|
3611
|
+
this._apiV2Config.grammarCheckUrl = (_36 = apiV2Config === null || apiV2Config === void 0 ? void 0 : apiV2Config.grammarCheckUrl) !== null && _36 !== void 0 ? _36 : "https://mt.cs.ut.ee/api/grammar";
|
|
3612
|
+
this._apiV2Config.autoDomainDetection = (_37 = apiV2Config === null || apiV2Config === void 0 ? void 0 : apiV2Config.autoDomainDetection) !== null && _37 !== void 0 ? _37 : false;
|
|
3613
|
+
this._textToSpeechConfig.languages = (_38 = textToSpeech === null || textToSpeech === void 0 ? void 0 : textToSpeech.languages) !== null && _38 !== void 0 ? _38 : {};
|
|
3614
|
+
this._textToSpeechConfig.maxCharsInText = (_39 = textToSpeech === null || textToSpeech === void 0 ? void 0 : textToSpeech.maxCharsInText) !== null && _39 !== void 0 ? _39 : 3000;
|
|
3614
3615
|
this.editPropertiesBasedOnApi();
|
|
3615
3616
|
}
|
|
3616
3617
|
/**
|
|
@@ -10483,7 +10484,7 @@ class TldTranslateComponent {
|
|
|
10483
10484
|
|| this.translateTextService.isDictating;
|
|
10484
10485
|
}
|
|
10485
10486
|
get showTranslateButton() {
|
|
10486
|
-
return !this.translateFileService.multipleFileUploadActive;
|
|
10487
|
+
return this.configService.textConfig.showTranslateButton && !this.translateFileService.multipleFileUploadActive;
|
|
10487
10488
|
}
|
|
10488
10489
|
// this param is necessary to remove max height if multiple file component is active, since there shouldn't be max height in that case.
|
|
10489
10490
|
get isMultipleFilesActive() {
|