@tilde-nlp/ngx-translate 5.0.91 → 5.0.92

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.
@@ -116,7 +116,7 @@ export class TldTranslateConfigService {
116
116
  this._fileConfig.showTranslationLimits = file?.showTranslationLimits ?? true;
117
117
  this._fileConfig.useMultipleFileUpload = file?.useMultipleFileUpload ?? true;
118
118
  this._fileConfig.progressIndicatorTitleVisibleForVendors = file?.progressIndicatorTitleVisibleForVendors ?? ["ETranslation"];
119
- this._textConfig.dictionaryUrls = text?.dictionaryUrls;
119
+ this._textConfig.dictionaryUrls = [...text?.dictionaryUrls ?? '', `${termConfig?.terminologyPortalUrl ?? 'https://term.tilde.com'}/api/termservice/lookup/result`];
120
120
  this._textConfig.maxCharLength = text?.maxCharLength ?? 5000;
121
121
  this._textConfig.webWidgetRedirectUrlPosfix = text?.webWidgetRedirectUrlPosfix || "/webtranslate?url=";
122
122
  this._textConfig.webWidgetRedirectUrlPrefix = text?.webWidgetRedirectUrlPrefix || "";
@@ -169,6 +169,7 @@ export class TldTranslateConfigService {
169
169
  this._webtranslateConfig.helpUrl = webtranslate?.helpUrl ?? 'https://help.tilde.ai/tilde-mt/guides/web-translation/translate';
170
170
  this._termConfig.canCreateCollection = termConfig?.canCreateCollection;
171
171
  this._termConfig.isCollectionsActivated = termConfig?.isCollectionsActivated;
172
+ this._termConfig.terminologyPortalUrl = termConfig?.terminologyPortalUrl ?? 'https://term.tilde.com';
172
173
  // seperated because following urls have method names added
173
174
  this._textConfig.updateTranslationUrl = text?.updateTranslationUrl;
174
175
  this._coreConfig.apiBaseUrl = core?.apiBaseUrl ?? "https://translate.tilde.ai/api";
@@ -178,7 +179,6 @@ export class TldTranslateConfigService {
178
179
  this._textToSpeechConfig.maxCharsInText = textToSpeech?.maxCharsInText ?? 3000;
179
180
  // Override these values since they are not implemented in current api.
180
181
  this.textConfig.showSuggestions = false;
181
- // this.textConfig.useDictionary = false;
182
182
  this._quotaConfig.apiUrl = quota?.apiUrl ?? "https://translate.tilde.ai/api/quota/usage";
183
183
  this._supscriptionConfig.pricingUrl = subscription?.pricingUrl ?? "https://tilde.ai/machine-translation/#price";
184
184
  this._supscriptionConfig.hasActiveSubscription = subscription?.hasActiveSubscription ?? false;
@@ -197,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
197
197
  type: Inject,
198
198
  args: [TLD_TRANSLATE_CONFIG_TOKEN]
199
199
  }] }]; } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1jb21tb24vc2VydmljZXMvdGxkLXRyYW5zbGF0ZS1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUEwQixtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFleEUsTUFBTSxPQUFPLHlCQUF5QjtJQUV5QztJQUE3RSxZQUE2RSxNQUEyQjtRQUEzQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUN0RyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLFdBQVcsR0FBNEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM5RSxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVPLFdBQVcsR0FBNEIsRUFBRSxDQUFDO0lBQ2xELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRU8sVUFBVSxHQUFrQixFQUFFLENBQUM7SUFDdkMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxXQUFXLEdBQTRCLEVBQUUsQ0FBQztJQUNsRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVPLG1CQUFtQixHQUErQixFQUFFLENBQUM7SUFDN0QsSUFBSSxrQkFB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QUVqRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxHQUFHLFlBQVksRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDO1FBQ25FLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEdBQUcsWUFBWSxFQUFFLGNBQWMsSUFBSSxJQUFJLENBQUM7UUFFL0UsdUVBQXVFO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUN4Qyx5Q0FBeUM7UUFFekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLE1BQU0sSUFBSSw0Q0FBNEMsQ0FBQztRQUV6RixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxHQUFHLFlBQVksRUFBRSxVQUFVLElBQUksNkNBQTZDLENBQUM7UUFDaEgsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixHQUFHLFlBQVksRUFBRSxxQkFBcUIsSUFBSSxLQUFLLENBQUM7SUFDaEcsQ0FBQzt3R0E3TVUseUJBQXlCLGtCQUVKLDBCQUEwQjs0R0FGL0MseUJBQXlCLGNBRnhCLE1BQU07OzRGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdjLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUTERfVFJBTlNMQVRFX0NPTkZJR19UT0tFTiB9IGZyb20gJy4uLy4uLy4uL2luamVjdGlvbi10b2tlbnMvdGxkLXRyYW5zbGF0ZS1jb25maWcudG9rZW4nO1xyXG5pbXBvcnQgeyBJVGxkVGV4dFRvU3BlZWNoQ29uZmlnLCBsYW5ndWFnZU1lbnVWZXJzaW9uIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgSVRsZEF1ZGlvQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLWF1ZGlvLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IElUbGRUZXJtQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLXRlcm0tY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFRyYW5zbGF0ZUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9jb25maWdzL3RsZC10cmFuc2xhdGUtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFRyYW5zbGF0ZUNvcmVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtdHJhbnNsYXRlLWNvcmUtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFRyYW5zbGF0ZUZpbGVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtdHJhbnNsYXRlLWZpbGUtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFRyYW5zbGF0ZVRleHRDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtdHJhbnNsYXRlLXRleHQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFRyYW5zbGF0ZVdlYnNpdGVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtdHJhbnNsYXRlLXdlYi1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBJVGxkUXVvdGFDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtcXVvdGEubW9kZWwnO1xyXG5pbXBvcnQgeyBJVGxkU3Vic2NyaXB0aW9uQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLXN1YnNjcmlwdGlvbi1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBJVGxkTExNQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLWxsbS1jb25maWcubW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoVExEX1RSQU5TTEFURV9DT05GSUdfVE9LRU4pIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBJVGxkVHJhbnNsYXRlQ29uZmlnKSB7XHJcbiAgICB0aGlzLmluaXRDb25maWdzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb3JlQ29uZmlnOiBJVGxkVHJhbnNsYXRlQ29yZUNvbmZpZyA9IHsgYXBwSWQ6IG51bGwsIHhBcGlLZXk6IG51bGwgfTtcclxuICBnZXQgY29yZUNvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb3JlQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdGV4dENvbmZpZzogSVRsZFRyYW5zbGF0ZVRleHRDb25maWcgPSB7fTtcclxuICBnZXQgdGV4dENvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl90ZXh0Q29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbGxtQ29uZmlnOiBJVGxkTExNQ29uZmlnID0ge307XHJcbiAgZ2V0IGxsbUNvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl9sbG1Db25maWc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maWxlQ29uZmlnOiBJVGxkVHJhbnNsYXRlRmlsZUNvbmZpZyA9IHt9O1xyXG4gIGdldCBmaWxlQ29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbGVDb25maWc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF93ZWJ0cmFuc2xhdGVDb25maWc6IElUbGRUcmFuc2xhdGVXZWJzaXRlQ29uZmlnID0ge307XHJcbiAgZ2V0IHdlYnRyYW5zbGF0ZUNvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl93ZWJ0cmFuc2xhdGVDb25maWc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF90ZXJtQ29uZmlnOiBJVGxkVGVybUNvbmZpZyA9IHt9O1xyXG4gIGdldCB0ZXJtQ29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Rlcm1Db25maWc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hdWRpb0NvbmZpZzogSVRsZEF1ZGlvQ29uZmlnID0geyBhcHBJZDogbnVsbCwgYXBwU2VjcmV0OiBudWxsIH07XHJcbiAgZ2V0IGF1ZGlvQ29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2F1ZGlvQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcXVvdGFDb25maWc6IElUbGRRdW90YUNvbmZpZyA9IHsgYXBpVXJsOiBudWxsIH07XHJcbiAgZ2V0IHF1b3RhQ29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3F1b3RhQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc3Vwc2NyaXB0aW9uQ29uZmlnOiBJVGxkU3Vic2NyaXB0aW9uQ29uZmlnID0geyBwcmljaW5nVXJsOiBudWxsIH07XHJcbiAgZ2V0IHN1cHNjcmlwdGlvbkNvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl9zdXBzY3JpcHRpb25Db25maWc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF90ZXh0VG9TcGVlY2hDb25maWc6IElUbGRUZXh0VG9TcGVlY2hDb25maWcgPSB7fTtcclxuICBnZXQgdGV4dFRvU3BlZWNoQ29uZmlnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RleHRUb1NwZWVjaENvbmZpZztcclxuICB9XHJcblxyXG4gIGluaXRDb25maWdzKGNvbmZpZ3VyYXRpb24/OiBJVGxkVHJhbnNsYXRlQ29uZmlnKSB7XHJcbiAgICBjb25zdCBjb25maWcgPSBjb25maWd1cmF0aW9uID8/IHRoaXMuY29uZmlnID8/IHt9O1xyXG5cclxuICAgIGNvbnN0IGNvcmUgPSBjb25maWc/LmNvcmU7XHJcbiAgICBjb25zdCBmaWxlID0gY29uZmlnPy5maWxlO1xyXG4gICAgY29uc3QgdGV4dCA9IGNvbmZpZz8udGV4dDtcclxuICAgIGNvbnN0IGxsbSA9IGNvbmZpZz8ubGxtO1xyXG4gICAgY29uc3QgYXVkaW8gPSBjb25maWc/LmF1ZGlvO1xyXG4gICAgY29uc3QgcXVvdGEgPSBjb25maWc/LnF1b3RhO1xyXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gY29uZmlnPy5zdWJzY3JpcHRpb247XHJcbiAgICBjb25zdCB3ZWJ0cmFuc2xhdGUgPSBjb25maWc/LndlYlRyYW5zbGF0ZTtcclxuICAgIGNvbnN0IHRlcm1Db25maWcgPSBjb25maWc/LnRlcm07XHJcbiAgICBjb25zdCB0ZXh0VG9TcGVlY2ggPSBjb25maWc/LnRleHRUb1NwZWVjaDtcclxuXHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnID0geyBhcHBJZDogY29yZT8uYXBwSWQsIHhBcGlLZXk6IGNvcmU/LnhBcGlLZXkgfTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuYXBpSXNJblRoZVNhbWVEb21haW4gPSBjb3JlPy5hcGlJc0luVGhlU2FtZURvbWFpbiB8fCBmYWxzZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuYXBwTmFtZSA9IGNvcmU/LmFwcE5hbWUgfHwgXCJUaWxkZSBNVFwiO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5pc0F1dGggPSBjb3JlPy5pc0F1dGggfHwgZmFsc2U7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmp3dEF1dGggPSBjb3JlPy5qd3RBdXRoIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy50cmFuc2xhdGVBcHBOYW1lID0gY29yZT8udHJhbnNsYXRlQXBwTmFtZSA/PyB0cnVlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5yZWdpc3RlckxpbmsgPSBjb3JlPy5yZWdpc3RlckxpbmsgfHwgXCJodHRwczovL3RpbGRlLmFpL21hY2hpbmUtdHJhbnNsYXRpb25cIjtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuc3VwcG9ydEVtYWlsID0gY29yZT8uc3VwcG9ydEVtYWlsIHx8IFwibXRAdGlsZGUubHZcIjtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuaGlkZUxhbmdNZW51TGFiZWxzID0gY29yZT8uaGlkZUxhbmdNZW51TGFiZWxzIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5zaG93VmVuZG9ycyA9IGNvcmU/LnNob3dWZW5kb3JzIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy51bmF1dGhvcml6ZWRSZWRpcmVjdExpbmsgPSBjb3JlPy51bmF1dGhvcml6ZWRSZWRpcmVjdExpbms7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLm1heERpc3BsYXllZExhbmd1YWdlcyA9IGNvcmU/Lm1heERpc3BsYXllZExhbmd1YWdlcyA/PyAzO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy51cGxvYWRJY29uTmFtZSA9IGNvcmU/LnVwbG9hZEljb25OYW1lO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5kZWJ1ZyA9IGNvcmU/LmRlYnVnO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5zaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWUgPSBjb3JlPy5zaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWUgfHwgZmFsc2U7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnNob3dEb21haW5zID0gY29yZT8uc2hvd0RvbWFpbnMgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuZGVmYXVsdFZlbmRvciA9IGNvcmU/LmRlZmF1bHRWZW5kb3IgPz8gXCJUaWxkZVwiO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5kZWZhdWx0U3lzdGVtSWQgPSBjb3JlPy5kZWZhdWx0U3lzdGVtSWQgPz8gJ0FVVE8nO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5zaG93RG9tYWluVGl0bGUgPSBjb3JlPy5zaG93RG9tYWluVGl0bGU7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmRvbWFpblNpZGUgPSBjb3JlPy5kb21haW5TaWRlID8/IFwidHJnXCI7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnN3YXBJY29uUG9zaXRpb24gPSBjb3JlPy5zd2FwSWNvblBvc2l0aW9uID8/IFwic3JjXCI7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmxhbmd1YWdlTWVudVZlcnNpb24gPSBjb3JlPy5sYW5ndWFnZU1lbnVWZXJzaW9uID8/IGxhbmd1YWdlTWVudVZlcnNpb24uVjI7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLm1heFJlY2VudFN5c3RlbUNvdW50ID0gY29yZT8ubWF4UmVjZW50U3lzdGVtQ291bnQgPz8gNDtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuZGVmYXVsdERvbWFpbnMgPSBjb3JlPy5kZWZhdWx0RG9tYWlucyA/PyBbXCJHRU5cIiwgXCJnZW5lcmFsXCJdO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5jb250YWN0U3VwcG9ydCA9IGNvcmU/LmNvbnRhY3RTdXBwb3J0ID8/IHRydWU7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnN1YnNjcmlwdGlvblN1cHBvcnQgPSBjb3JlPy5zdWJzY3JpcHRpb25TdXBwb3J0ID8/IHRydWU7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmlzV2ViQ29tcG9uZW50ID0gY29yZT8uaXNXZWJDb21wb25lbnQgPz8gZmFsc2U7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmRlZmF1bHRUYXJnZXRMYW5ndWFnZSA9IGNvcmU/LmRlZmF1bHRUYXJnZXRMYW5ndWFnZSA/PyAnbHYnO1xyXG5cclxuICAgIHRoaXMuX2ZpbGVDb25maWcuYWxsb3dlZEZpbGVUeXBlcyA9IGZpbGU/LmFsbG93ZWRGaWxlVHlwZXMgfHwgW1wiLnBkZlwiLCBcIi5kb2N4XCIsIFwiLmRvY1wiLCBcIi5wcHR4XCIsIFwiLnhsc3hcIiwgXCIudHh0XCIsIFwiLm9kdFwiLCBcIi5odG1sXCIsIFwiLmpzb25cIiwgXCIuc3J0XCIsIFwiLnJ0ZlwiLCBcIi5wYWdlc1wiLCBcIi5kb2NtXCIsIFwiLm9kcFwiLCBcIi5vZHNcIiwgXCIuaHRtXCIsIFwiLnhodG1sXCIsIFwiLnhodFwiLCBcIi50bXhcIiwgXCIueGxmXCIsIFwiLnhsaWZcIiwgXCIueGxpZmZcIiwgXCIuc2RseGxpZmZcIiwgXCIuc2RseGxmXCIsIFwiLnR0eFwiLCBcIi50ZXhcIiwgXCIueG1sXCIsIFwiLnN4d1wiLCBcIi5jc3ZcIiwgXCIuanBnXCIsIFwiLmpwZWdcIiwgXCIucG5nXCIsIFwiLmJtcFwiXTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuZXh0ZW5kZWRGaWxlVHlwZXMgPSBmaWxlPy5leHRlbmRlZEZpbGVUeXBlc1xyXG4gICAgICB8fCBbXCIuZG9jXCIsIFwiLmRvY3hcIiwgXCIueGxzeFwiLCBcIi5wcHR4XCIsIFwiLm9kdFwiLCBcIi5vZHBcIiwgXCIub2RzXCIsIFwiLnR4dFwiLCBcIi5odG1sXCIsIFwiLmh0bVwiLFxyXG4gICAgICAgIFwiLnhodG1sXCIsIFwiLnhodFwiLCBcIi50bXhcIiwgXCIueGxmXCIsIFwiLnhsaWZcIiwgXCIueGxpZmZcIiwgXCIuc2RseGxpZmZcIiwgXCIuc2RseGxmXCIsIFwiLnR0eFwiLCBcIi5ydGZcIixcclxuICAgICAgICBcIi5wYWdlc1wiLCBcIi50ZXhcIiwgXCIueG1sXCIsIFwiLmpzb25cIiwgXCIuc3h3XCIsIFwiLnBkZlwiLCBcIi5jc3ZcIiwgXCIudHRsXCIsIFwiLnNydFwiLCBcIi5wbmdcIiwgXCIuanBnXCIsIFwiLmpwZWdcIiwgXCIuYm1wXCJdO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5maWxlQXBpVXJsID0gZmlsZT8uZmlsZUFwaVVybCB8fCBcImh0dHBzOi8vbGV0c210LmV1L3dzL0ZpbGVzL1wiO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5maWxlRG93bmxvYWRUaW1lb3V0cyA9IGZpbGU/LmZpbGVEb3dubG9hZFRpbWVvdXRzXHJcbiAgICAgIHx8IHtcclxuICAgICAgXCJpbml0aWFsaXppbmdcIjogMTAwMCxcclxuICAgICAgXCJleHRyYWN0aW5nXCI6IDEwMDAsXHJcbiAgICAgIFwid2FpdGluZ1wiOiAxMDAwMCxcclxuICAgICAgXCJ0cmFuc2xhdGluZ1wiOiAxMDAwLFxyXG4gICAgICBcInNhdmluZ1wiOiAxMDAwLFxyXG4gICAgICBcImNvbXBsZXRlZFwiOiAxMDAwLFxyXG4gICAgICBcImVycm9yXCI6IDEwMDAsXHJcbiAgICAgIFwicXVldWluZ1wiOiAxMDAwXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuX2ZpbGVDb25maWcubWF4U2l6ZSA9IGZpbGU/Lm1heFNpemUgPT09IG51bGwgPyBudWxsIDogKGZpbGU/Lm1heFNpemUgPz8gKHRoaXMuY29yZUNvbmZpZy5pc0F1dGggPyAzMDcyMDAwMCA6IDEwNDg1NzYwKSk7XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLmZpbGVVcGxvYWQgPSBmaWxlPy5maWxlVXBsb2FkID8/IHRydWU7XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLm9jclBhZ2VMaW1pdCA9IGZpbGU/Lm9jclBhZ2VMaW1pdCA/PyAxO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5hbGxvd1BERlNvdXJjZURvd25sb2FkID0gZmlsZT8uYWxsb3dQREZTb3VyY2VEb3dubG9hZCA/PyB0cnVlO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5hbGxvd0ltYWdlU291cmNlRG93bmxvYWQgPSBmaWxlPy5hbGxvd0ltYWdlU291cmNlRG93bmxvYWQgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuc291cmNlRG93bmxvYWRFeHRlbnNpb25zID0gZmlsZT8uc291cmNlRG93bmxvYWRFeHRlbnNpb25zIHx8IFtcInBkZlwiLCBcInBuZ1wiLCBcImpwZ1wiLCBcImpwZWdcIiwgXCJibXBcIl07XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLnRhcmdldERvd25sb2FkRXh0ZW5zaW9uT3JkZXIgPSBmaWxlPy50YXJnZXREb3dubG9hZEV4dGVuc2lvbk9yZGVyO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5udW1iZXJPZkZpbGVzQWxsb3dlZCA9IGZpbGU/Lm51bWJlck9mRmlsZXNBbGxvd2VkID4gMCA/IGZpbGUubnVtYmVyT2ZGaWxlc0FsbG93ZWQgOiAxO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5zaG93VHJhbnNsYXRpb25MaW1pdHMgPSBmaWxlPy5zaG93VHJhbnNsYXRpb25MaW1pdHMgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcudXNlTXVsdGlwbGVGaWxlVXBsb2FkID0gZmlsZT8udXNlTXVsdGlwbGVGaWxlVXBsb2FkID8/IHRydWU7XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLnByb2dyZXNzSW5kaWNhdG9yVGl0bGVWaXNpYmxlRm9yVmVuZG9ycyA9IGZpbGU/LnByb2dyZXNzSW5kaWNhdG9yVGl0bGVWaXNpYmxlRm9yVmVuZG9ycyA/PyBbXCJFVHJhbnNsYXRpb25cIl07XHJcblxyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5kaWN0aW9uYXJ5VXJscyA9IHRleHQ/LmRpY3Rpb25hcnlVcmxzO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5tYXhDaGFyTGVuZ3RoID0gdGV4dD8ubWF4Q2hhckxlbmd0aCA/PyA1MDAwO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy53ZWJXaWRnZXRSZWRpcmVjdFVybFBvc2ZpeCA9IHRleHQ/LndlYldpZGdldFJlZGlyZWN0VXJsUG9zZml4IHx8IFwiL3dlYnRyYW5zbGF0ZT91cmw9XCI7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLndlYldpZGdldFJlZGlyZWN0VXJsUHJlZml4ID0gdGV4dD8ud2ViV2lkZ2V0UmVkaXJlY3RVcmxQcmVmaXggfHwgXCJcIjtcclxuICAgIHRoaXMuX3RleHRDb25maWcudXNlRGljdGlvbmFyeSA9IHRleHQ/LnVzZURpY3Rpb25hcnkgPz8gZmFsc2U7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dBdmFpbGFibGVFeHRlbnNpb25zID0gdGV4dD8uc2hvd0F2YWlsYWJsZUV4dGVuc2lvbnMgPT0gbnVsbCA/IHRydWUgOiB0ZXh0LnNob3dBdmFpbGFibGVFeHRlbnNpb25zO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5zaG93QXV0aEV4dGVuc2lvbnMgPSB0ZXh0Py5zaG93QXV0aEV4dGVuc2lvbnMgPT0gbnVsbCA/IHRydWUgOiB0ZXh0LnNob3dBdXRoRXh0ZW5zaW9ucztcclxuICAgIHRoaXMuX3RleHRDb25maWcuYXV0b0ZvY3VzcyA9IHRleHQ/LmF1dG9Gb2N1c3M7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dFeHRlbnNpb25zVW5hdXRoT25seSA9IHRleHQ/LnNob3dFeHRlbnNpb25zVW5hdXRoT25seTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuc2hvd1NlbnNpdGl2ZUluZm9Ub29sdGlwID0gdGV4dD8uc2hvd1NlbnNpdGl2ZUluZm9Ub29sdGlwO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5hbGxvd1dlYnNpdGVUcmFuc2xhdGlvbiA9IHRleHQ/LmFsbG93V2Vic2l0ZVRyYW5zbGF0aW9uID8/IHRydWU7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dTdWdnZXN0aW9ucyA9IHRleHQ/LnNob3dTdWdnZXN0aW9ucyA/PyBmYWxzZTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuYXV0b1JlZGlyZWN0VG9XZWJUcmFuc2xhdGUgPSB0ZXh0Py5hdXRvUmVkaXJlY3RUb1dlYlRyYW5zbGF0ZSA/PyBmYWxzZTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuaGlnaGxpZ2h0ID0gdGV4dD8uaGlnaGxpZ2h0ID8/IHRydWU7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLmNoZWNrU291cmNlR3JhbW1hciA9IHRleHQ/LmNoZWNrU291cmNlR3JhbW1hciA/PyBmYWxzZTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuZ3JhbW1hckNoZWNrTGFuZ3VhZ2VzID0gdGV4dD8uZ3JhbW1hckNoZWNrTGFuZ3VhZ2VzID8/IFtdO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5zaG93VGFyZ2V0UGxhY2Vob2xkZXIgPSB0ZXh0Py5zaG93VGFyZ2V0UGxhY2Vob2xkZXI7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dFeHRlbnNpb25Qb3B1cCA9IHRleHQ/LnNob3dFeHRlbnNpb25Qb3B1cDtcclxuICAgIHRoaXMuX3RleHRDb25maWcudmlzaWJsZUV4dGVuc2lvbkNvdW50ID0gdGV4dD8udmlzaWJsZUV4dGVuc2lvbkNvdW50ID8/IDM7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLmhpZGVTb3VyY2VBY3Rpb25zV2hlbkhhc1RleHRNb2JpbGUgPSB0ZXh0Py5oaWRlU291cmNlQWN0aW9uc1doZW5IYXNUZXh0TW9iaWxlID8/IHRydWU7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnByb2dyZXNzSW5kaWNhdG9yVGltZW91dE1pbGlTZWNvbmRzID0gdGV4dD8ucHJvZ3Jlc3NJbmRpY2F0b3JUaW1lb3V0TWlsaVNlY29uZHMgPz8gMjAwMDtcclxuICAgIHRoaXMuX3RleHRDb25maWcucHJvZ3Jlc3NJbmRpY2F0b3JUaXRsZVZpc2libGVGb3JWZW5kb3JzID0gdGV4dD8ucHJvZ3Jlc3NJbmRpY2F0b3JUaXRsZVZpc2libGVGb3JWZW5kb3JzID8/IFtcIkVUcmFuc2xhdGlvblwiXTtcclxuICAgIHRoaXMuX3RleHRDb25maWcucHJvZ3Jlc3NJbmRpY2F0b3JWaXNpYmxlID0gdGV4dD8ucHJvZ3Jlc3NJbmRpY2F0b3JWaXNpYmxlID8/IHRydWU7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dUcmFuc2xhdGVCdXR0b24gPSB0ZXh0Py5zaG93VHJhbnNsYXRlQnV0dG9uID8/IHRydWU7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLmRpc3BsYXlTaW5nbGVBdmFpbGFibGVEb21haW4gPSB0ZXh0Py5kaXNwbGF5U2luZ2xlQXZhaWxhYmxlRG9tYWluID8/IGZhbHNlO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5pc0F1dG9MYW5ndWFnZURldGVjdGlvbkVuYWJsZWQgPSB0ZXh0Py5pc0F1dG9MYW5ndWFnZURldGVjdGlvbkVuYWJsZWQgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuc2hvd1dvcmRMaW1pdFdhcm5pbmcgPSB0ZXh0Py5zaG93V29yZExpbWl0V2FybmluZyA/PyB0cnVlO1xyXG5cclxuICAgIHRoaXMuX2xsbUNvbmZpZy5pc0VuYWJsZWQgPSBsbG0/LmlzRW5hYmxlZCA/PyBmYWxzZTtcclxuICAgIHRoaXMuX2xsbUNvbmZpZy5hcGlVcmwgPSBsbG0/LmFwaVVybCA/PyAnaHR0cHM6Ly90cmFuc2xhdGUudGlsZGUuYWkvYXBpL2xhbmd1YWdlJztcclxuICAgIHRoaXMuX2xsbUNvbmZpZy5tYXhDaGFyTGVuZ3RoID0gbGxtPy5tYXhDaGFyTGVuZ3RoID8/IDUwMDA7XHJcblxyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuYXVkaW9UZXh0SW5wdXQgPSBhdWRpbz8uYXVkaW9UZXh0SW5wdXQgPz8gZmFsc2U7XHJcbiAgICAvLyBOb3Qgc2V0dGluZyBkZWZhdWx0IHVybCBiZWNhdXNlIHRoZXJlIGlzIG5vIHNlcnZpY2UgcHJvdmlkZWQgYnkgVGlsZGUgYW5kIHRoaXMgaXMgbm90IHVzZWQgYnkgZGVmYXVsdCBpbiB3ZWJzaXRlIHByb2plY3QuXHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5hdWRpb0FwaVVybCA9IGF1ZGlvPy5hdWRpb0FwaVVybDtcclxuICAgIHRoaXMuX2F1ZGlvQ29uZmlnLmF1ZGlvTWF4U2l6ZUJ5dGVzID0gYXVkaW8/LmF1ZGlvTWF4U2l6ZUJ5dGVzID8/IDEwMDAwMDAwO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuc291cmNlTGFuZ3VhZ2VzID0gYXVkaW8/LnNvdXJjZUxhbmd1YWdlcyA/PyBbXTtcclxuICAgIHRoaXMuX2F1ZGlvQ29uZmlnLmRhdGFVcGRhdGVUaW1lRnJhbWUgPSBhdWRpbz8uZGF0YVVwZGF0ZVRpbWVGcmFtZSA/PyA1MDAwO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcubWF4aW11bVJlY29yZFRpbWUgPSBhdWRpbz8ubWF4aW11bVJlY29yZFRpbWUgPz8gMzAwO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuZGljdGF0ZUFwaVVybCA9IGF1ZGlvPy5kaWN0YXRlQXBpVXJsID8/IFwicnVuYS50aWxkZS5sdlwiO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuYXBwSWQgPSBhdWRpbz8uYXBwSWQ7XHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5hcHBTZWNyZXQgPSBhdWRpbz8uYXBwU2VjcmV0O1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcucHVuY3R1YXRpb25NZXNzYWdlID0gYXVkaW8/LnB1bmN0dWF0aW9uTWVzc2FnZSA/PyB0cnVlO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uID0gYXVkaW8/LmRpc2FibGVBdXRvbWF0aWNUcmFuc2xhdGlvbiA/PyB0cnVlO1xyXG5cclxuICAgIHRoaXMuX3dlYnRyYW5zbGF0ZUNvbmZpZy5sb2dvTG9jYXRpb24gPSB3ZWJ0cmFuc2xhdGU/LmxvZ29Mb2NhdGlvbiB8fCAnYXNzZXRzL3dlYnRyYW5zbGF0ZS90aWxkZV9sb2dvLnBuZyc7XHJcbiAgICB0aGlzLl93ZWJ0cmFuc2xhdGVDb25maWcudHJhbnNsYXRlUGFnZVBhdGggPSB3ZWJ0cmFuc2xhdGU/LnRyYW5zbGF0ZVBhZ2VQYXRoO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLmRlYnVnID0gd2VidHJhbnNsYXRlPy5kZWJ1ZyB8fCBmYWxzZTtcclxuICAgIHRoaXMuX3dlYnRyYW5zbGF0ZUNvbmZpZy53ZWJMYW5nQXV0b2RldGVjdCA9IHdlYnRyYW5zbGF0ZT8ud2ViTGFuZ0F1dG9kZXRlY3QgfHwgdHJ1ZTtcclxuICAgIHRoaXMuX3dlYnRyYW5zbGF0ZUNvbmZpZy5hbGxvd1N1Z2dlc3Rpb25zID0gd2VidHJhbnNsYXRlPy5hbGxvd1N1Z2dlc3Rpb25zIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLmhpZGVQb3B1cCA9IHdlYnRyYW5zbGF0ZT8uaGlkZVBvcHVwIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLnNhbmRib3ggPSB3ZWJ0cmFuc2xhdGU/LnNhbmRib3ggPz8gXCJhbGxvdy1mb3JtcyBhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luXCI7XHJcbiAgICB0aGlzLl93ZWJ0cmFuc2xhdGVDb25maWcuYXBwSWQgPSB3ZWJ0cmFuc2xhdGU/LmFwcElkO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLmhlbHBVcmwgPSB3ZWJ0cmFuc2xhdGU/LmhlbHBVcmwgPz8gJ2h0dHBzOi8vaGVscC50aWxkZS5haS90aWxkZS1tdC9ndWlkZXMvd2ViLXRyYW5zbGF0aW9uL3RyYW5zbGF0ZSc7XHJcblxyXG4gICAgdGhpcy5fdGVybUNvbmZpZy5jYW5DcmVhdGVDb2xsZWN0aW9uID0gdGVybUNvbmZpZz8uY2FuQ3JlYXRlQ29sbGVjdGlvbjtcclxuICAgIHRoaXMuX3Rlcm1Db25maWcuaXNDb2xsZWN0aW9uc0FjdGl2YXRlZCA9IHRlcm1Db25maWc/LmlzQ29sbGVjdGlvbnNBY3RpdmF0ZWQ7XHJcblxyXG4gICAgLy8gc2VwZXJhdGVkIGJlY2F1c2UgZm9sbG93aW5nIHVybHMgaGF2ZSBtZXRob2QgbmFtZXMgYWRkZWRcclxuICAgIHRoaXMuX3RleHRDb25maWcudXBkYXRlVHJhbnNsYXRpb25VcmwgPSB0ZXh0Py51cGRhdGVUcmFuc2xhdGlvblVybDtcclxuXHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmFwaUJhc2VVcmwgPSBjb3JlPy5hcGlCYXNlVXJsID8/IFwiaHR0cHM6Ly90cmFuc2xhdGUudGlsZGUuYWkvYXBpXCI7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnRyYW5zbGF0aW9uVXJsID0gdGV4dD8udHJhbnNsYXRpb25VcmwgPz8gdGhpcy5jb3JlQ29uZmlnLmFwaUJhc2VVcmwgKyBcIi90cmFuc2xhdGUvdGV4dFwiO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5maWxlQXBpVXJsID0gZmlsZT8uZmlsZUFwaVVybCA/PyB0aGlzLmNvcmVDb25maWcuYXBpQmFzZVVybCArIFwiL3RyYW5zbGF0ZS9maWxlXCI7XHJcblxyXG4gICAgdGhpcy5fdGV4dFRvU3BlZWNoQ29uZmlnLmxhbmd1YWdlcyA9IHRleHRUb1NwZWVjaD8ubGFuZ3VhZ2VzID8/IHt9O1xyXG4gICAgdGhpcy5fdGV4dFRvU3BlZWNoQ29uZmlnLm1heENoYXJzSW5UZXh0ID0gdGV4dFRvU3BlZWNoPy5tYXhDaGFyc0luVGV4dCA/PyAzMDAwO1xyXG5cclxuICAgIC8vIE92ZXJyaWRlIHRoZXNlIHZhbHVlcyBzaW5jZSB0aGV5IGFyZSBub3QgaW1wbGVtZW50ZWQgaW4gY3VycmVudCBhcGkuXHJcbiAgICB0aGlzLnRleHRDb25maWcuc2hvd1N1Z2dlc3Rpb25zID0gZmFsc2U7XHJcbiAgICAvLyB0aGlzLnRleHRDb25maWcudXNlRGljdGlvbmFyeSA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuX3F1b3RhQ29uZmlnLmFwaVVybCA9IHF1b3RhPy5hcGlVcmwgPz8gXCJodHRwczovL3RyYW5zbGF0ZS50aWxkZS5haS9hcGkvcXVvdGEvdXNhZ2VcIjtcclxuXHJcbiAgICB0aGlzLl9zdXBzY3JpcHRpb25Db25maWcucHJpY2luZ1VybCA9IHN1YnNjcmlwdGlvbj8ucHJpY2luZ1VybCA/PyBcImh0dHBzOi8vdGlsZGUuYWkvbWFjaGluZS10cmFuc2xhdGlvbi8jcHJpY2VcIjtcclxuICAgIHRoaXMuX3N1cHNjcmlwdGlvbkNvbmZpZy5oYXNBY3RpdmVTdWJzY3JpcHRpb24gPSBzdWJzY3JpcHRpb24/Lmhhc0FjdGl2ZVN1YnNjcmlwdGlvbiA/PyBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1jb21tb24vc2VydmljZXMvdGxkLXRyYW5zbGF0ZS1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUEwQixtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFleEUsTUFBTSxPQUFPLHlCQUF5QjtJQUV5QztJQUE3RSxZQUE2RSxNQUEyQjtRQUEzQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUN0RyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLFdBQVcsR0FBNEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM5RSxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVPLFdBQVcsR0FBNEIsRUFBRSxDQUFDO0lBQ2xELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRU8sVUFBVSxHQUFrQixFQUFFLENBQUM7SUFDdkMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxXQUFXLEdBQTRCLEVBQUUsQ0FBQztJQUNsRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVPLG1CQUFtQixHQUErQixFQUFFLENBQUM7SUFDN0QsSUFBSSxrQkFB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SSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQztRQUN6RyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxJQUFJLEVBQUUsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDO1FBRWpHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsWUFBWSxFQUFFLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFDbkUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsR0FBRyxZQUFZLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQztRQUUvRSx1RUFBdUU7UUFDdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBRXhDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLEtBQUssRUFBRSxNQUFNLElBQUksNENBQTRDLENBQUM7UUFFekYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxZQUFZLEVBQUUsVUFBVSxJQUFJLDZDQUE2QyxDQUFDO1FBQ2hILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsR0FBRyxZQUFZLEVBQUUscUJBQXFCLElBQUksS0FBSyxDQUFDO0lBQ2hHLENBQUM7d0dBOU1VLHlCQUF5QixrQkFFSiwwQkFBMEI7NEdBRi9DLHlCQUF5QixjQUZ4QixNQUFNOzs0RkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHYyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVExEX1RSQU5TTEFURV9DT05GSUdfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi9pbmplY3Rpb24tdG9rZW5zL3RsZC10cmFuc2xhdGUtY29uZmlnLnRva2VuJztcclxuaW1wb3J0IHsgSVRsZFRleHRUb1NwZWVjaENvbmZpZywgbGFuZ3VhZ2VNZW51VmVyc2lvbiB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IElUbGRBdWRpb0NvbmZpZyB9IGZyb20gJy4uL21vZGVscy9jb25maWdzL3RsZC1hdWRpby1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBJVGxkVGVybUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9jb25maWdzL3RsZC10ZXJtLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IElUbGRUcmFuc2xhdGVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlncy90bGQtdHJhbnNsYXRlLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IElUbGRUcmFuc2xhdGVDb3JlQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLXRyYW5zbGF0ZS1jb3JlLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IElUbGRUcmFuc2xhdGVGaWxlQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLXRyYW5zbGF0ZS1maWxlLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IElUbGRUcmFuc2xhdGVUZXh0Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLXRyYW5zbGF0ZS10ZXh0LWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IElUbGRUcmFuc2xhdGVXZWJzaXRlQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLXRyYW5zbGF0ZS13ZWItY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFF1b3RhQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZ3MvdGxkLXF1b3RhLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZFN1YnNjcmlwdGlvbkNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9jb25maWdzL3RsZC1zdWJzY3JpcHRpb24tY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSVRsZExMTUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9jb25maWdzL3RsZC1sbG0tY29uZmlnLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KFRMRF9UUkFOU0xBVEVfQ09ORklHX1RPS0VOKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogSVRsZFRyYW5zbGF0ZUNvbmZpZykge1xyXG4gICAgdGhpcy5pbml0Q29uZmlncygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29yZUNvbmZpZzogSVRsZFRyYW5zbGF0ZUNvcmVDb25maWcgPSB7IGFwcElkOiBudWxsLCB4QXBpS2V5OiBudWxsIH07XHJcbiAgZ2V0IGNvcmVDb25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29yZUNvbmZpZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RleHRDb25maWc6IElUbGRUcmFuc2xhdGVUZXh0Q29uZmlnID0ge307XHJcbiAgZ2V0IHRleHRDb25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGV4dENvbmZpZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xsbUNvbmZpZzogSVRsZExMTUNvbmZpZyA9IHt9O1xyXG4gIGdldCBsbG1Db25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGxtQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmlsZUNvbmZpZzogSVRsZFRyYW5zbGF0ZUZpbGVDb25maWcgPSB7fTtcclxuICBnZXQgZmlsZUNvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl9maWxlQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfd2VidHJhbnNsYXRlQ29uZmlnOiBJVGxkVHJhbnNsYXRlV2Vic2l0ZUNvbmZpZyA9IHt9O1xyXG4gIGdldCB3ZWJ0cmFuc2xhdGVDb25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdGVybUNvbmZpZzogSVRsZFRlcm1Db25maWcgPSB7fTtcclxuICBnZXQgdGVybUNvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl90ZXJtQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYXVkaW9Db25maWc6IElUbGRBdWRpb0NvbmZpZyA9IHsgYXBwSWQ6IG51bGwsIGFwcFNlY3JldDogbnVsbCB9O1xyXG4gIGdldCBhdWRpb0NvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NvbmZpZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3F1b3RhQ29uZmlnOiBJVGxkUXVvdGFDb25maWcgPSB7IGFwaVVybDogbnVsbCB9O1xyXG4gIGdldCBxdW90YUNvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl9xdW90YUNvbmZpZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N1cHNjcmlwdGlvbkNvbmZpZzogSVRsZFN1YnNjcmlwdGlvbkNvbmZpZyA9IHsgcHJpY2luZ1VybDogbnVsbCB9O1xyXG4gIGdldCBzdXBzY3JpcHRpb25Db25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3Vwc2NyaXB0aW9uQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdGV4dFRvU3BlZWNoQ29uZmlnOiBJVGxkVGV4dFRvU3BlZWNoQ29uZmlnID0ge307XHJcbiAgZ2V0IHRleHRUb1NwZWVjaENvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLl90ZXh0VG9TcGVlY2hDb25maWc7XHJcbiAgfVxyXG5cclxuICBpbml0Q29uZmlncyhjb25maWd1cmF0aW9uPzogSVRsZFRyYW5zbGF0ZUNvbmZpZykge1xyXG4gICAgY29uc3QgY29uZmlnID0gY29uZmlndXJhdGlvbiA/PyB0aGlzLmNvbmZpZyA/PyB7fTtcclxuXHJcbiAgICBjb25zdCBjb3JlID0gY29uZmlnPy5jb3JlO1xyXG4gICAgY29uc3QgZmlsZSA9IGNvbmZpZz8uZmlsZTtcclxuICAgIGNvbnN0IHRleHQgPSBjb25maWc/LnRleHQ7XHJcbiAgICBjb25zdCBsbG0gPSBjb25maWc/LmxsbTtcclxuICAgIGNvbnN0IGF1ZGlvID0gY29uZmlnPy5hdWRpbztcclxuICAgIGNvbnN0IHF1b3RhID0gY29uZmlnPy5xdW90YTtcclxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IGNvbmZpZz8uc3Vic2NyaXB0aW9uO1xyXG4gICAgY29uc3Qgd2VidHJhbnNsYXRlID0gY29uZmlnPy53ZWJUcmFuc2xhdGU7XHJcbiAgICBjb25zdCB0ZXJtQ29uZmlnID0gY29uZmlnPy50ZXJtO1xyXG4gICAgY29uc3QgdGV4dFRvU3BlZWNoID0gY29uZmlnPy50ZXh0VG9TcGVlY2g7XHJcblxyXG4gICAgdGhpcy5fY29yZUNvbmZpZyA9IHsgYXBwSWQ6IGNvcmU/LmFwcElkLCB4QXBpS2V5OiBjb3JlPy54QXBpS2V5IH07XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmFwaUlzSW5UaGVTYW1lRG9tYWluID0gY29yZT8uYXBpSXNJblRoZVNhbWVEb21haW4gfHwgZmFsc2U7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmFwcE5hbWUgPSBjb3JlPy5hcHBOYW1lIHx8IFwiVGlsZGUgTVRcIjtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuaXNBdXRoID0gY29yZT8uaXNBdXRoIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5qd3RBdXRoID0gY29yZT8uand0QXV0aCB8fCBmYWxzZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcudHJhbnNsYXRlQXBwTmFtZSA9IGNvcmU/LnRyYW5zbGF0ZUFwcE5hbWUgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcucmVnaXN0ZXJMaW5rID0gY29yZT8ucmVnaXN0ZXJMaW5rIHx8IFwiaHR0cHM6Ly90aWxkZS5haS9tYWNoaW5lLXRyYW5zbGF0aW9uXCI7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLnN1cHBvcnRFbWFpbCA9IGNvcmU/LnN1cHBvcnRFbWFpbCB8fCBcIm10QHRpbGRlLmx2XCI7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmhpZGVMYW5nTWVudUxhYmVscyA9IGNvcmU/LmhpZGVMYW5nTWVudUxhYmVscyB8fCBmYWxzZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuc2hvd1ZlbmRvcnMgPSBjb3JlPy5zaG93VmVuZG9ycyB8fCBmYWxzZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcudW5hdXRob3JpemVkUmVkaXJlY3RMaW5rID0gY29yZT8udW5hdXRob3JpemVkUmVkaXJlY3RMaW5rO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5tYXhEaXNwbGF5ZWRMYW5ndWFnZXMgPSBjb3JlPy5tYXhEaXNwbGF5ZWRMYW5ndWFnZXMgPz8gMztcclxuICAgIHRoaXMuX2NvcmVDb25maWcudXBsb2FkSWNvbk5hbWUgPSBjb3JlPy51cGxvYWRJY29uTmFtZTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuZGVidWcgPSBjb3JlPy5kZWJ1ZztcclxuICAgIHRoaXMuX2NvcmVDb25maWcuc2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lID0gY29yZT8uc2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5zaG93RG9tYWlucyA9IGNvcmU/LnNob3dEb21haW5zID8/IHRydWU7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmRlZmF1bHRWZW5kb3IgPSBjb3JlPy5kZWZhdWx0VmVuZG9yID8/IFwiVGlsZGVcIjtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuZGVmYXVsdFN5c3RlbUlkID0gY29yZT8uZGVmYXVsdFN5c3RlbUlkID8/ICdBVVRPJztcclxuICAgIHRoaXMuX2NvcmVDb25maWcuc2hvd0RvbWFpblRpdGxlID0gY29yZT8uc2hvd0RvbWFpblRpdGxlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5kb21haW5TaWRlID0gY29yZT8uZG9tYWluU2lkZSA/PyBcInRyZ1wiO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5zd2FwSWNvblBvc2l0aW9uID0gY29yZT8uc3dhcEljb25Qb3NpdGlvbiA/PyBcInNyY1wiO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5sYW5ndWFnZU1lbnVWZXJzaW9uID0gY29yZT8ubGFuZ3VhZ2VNZW51VmVyc2lvbiA/PyBsYW5ndWFnZU1lbnVWZXJzaW9uLlYyO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5tYXhSZWNlbnRTeXN0ZW1Db3VudCA9IGNvcmU/Lm1heFJlY2VudFN5c3RlbUNvdW50ID8/IDQ7XHJcbiAgICB0aGlzLl9jb3JlQ29uZmlnLmRlZmF1bHREb21haW5zID0gY29yZT8uZGVmYXVsdERvbWFpbnMgPz8gW1wiR0VOXCIsIFwiZ2VuZXJhbFwiXTtcclxuICAgIHRoaXMuX2NvcmVDb25maWcuY29udGFjdFN1cHBvcnQgPSBjb3JlPy5jb250YWN0U3VwcG9ydCA/PyB0cnVlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5zdWJzY3JpcHRpb25TdXBwb3J0ID0gY29yZT8uc3Vic2NyaXB0aW9uU3VwcG9ydCA/PyB0cnVlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5pc1dlYkNvbXBvbmVudCA9IGNvcmU/LmlzV2ViQ29tcG9uZW50ID8/IGZhbHNlO1xyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5kZWZhdWx0VGFyZ2V0TGFuZ3VhZ2UgPSBjb3JlPy5kZWZhdWx0VGFyZ2V0TGFuZ3VhZ2UgPz8gJ2x2JztcclxuXHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLmFsbG93ZWRGaWxlVHlwZXMgPSBmaWxlPy5hbGxvd2VkRmlsZVR5cGVzIHx8IFtcIi5wZGZcIiwgXCIuZG9jeFwiLCBcIi5kb2NcIiwgXCIucHB0eFwiLCBcIi54bHN4XCIsIFwiLnR4dFwiLCBcIi5vZHRcIiwgXCIuaHRtbFwiLCBcIi5qc29uXCIsIFwiLnNydFwiLCBcIi5ydGZcIiwgXCIucGFnZXNcIiwgXCIuZG9jbVwiLCBcIi5vZHBcIiwgXCIub2RzXCIsIFwiLmh0bVwiLCBcIi54aHRtbFwiLCBcIi54aHRcIiwgXCIudG14XCIsIFwiLnhsZlwiLCBcIi54bGlmXCIsIFwiLnhsaWZmXCIsIFwiLnNkbHhsaWZmXCIsIFwiLnNkbHhsZlwiLCBcIi50dHhcIiwgXCIudGV4XCIsIFwiLnhtbFwiLCBcIi5zeHdcIiwgXCIuY3N2XCIsIFwiLmpwZ1wiLCBcIi5qcGVnXCIsIFwiLnBuZ1wiLCBcIi5ibXBcIl07XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLmV4dGVuZGVkRmlsZVR5cGVzID0gZmlsZT8uZXh0ZW5kZWRGaWxlVHlwZXNcclxuICAgICAgfHwgW1wiLmRvY1wiLCBcIi5kb2N4XCIsIFwiLnhsc3hcIiwgXCIucHB0eFwiLCBcIi5vZHRcIiwgXCIub2RwXCIsIFwiLm9kc1wiLCBcIi50eHRcIiwgXCIuaHRtbFwiLCBcIi5odG1cIixcclxuICAgICAgICBcIi54aHRtbFwiLCBcIi54aHRcIiwgXCIudG14XCIsIFwiLnhsZlwiLCBcIi54bGlmXCIsIFwiLnhsaWZmXCIsIFwiLnNkbHhsaWZmXCIsIFwiLnNkbHhsZlwiLCBcIi50dHhcIiwgXCIucnRmXCIsXHJcbiAgICAgICAgXCIucGFnZXNcIiwgXCIudGV4XCIsIFwiLnhtbFwiLCBcIi5qc29uXCIsIFwiLnN4d1wiLCBcIi5wZGZcIiwgXCIuY3N2XCIsIFwiLnR0bFwiLCBcIi5zcnRcIiwgXCIucG5nXCIsIFwiLmpwZ1wiLCBcIi5qcGVnXCIsIFwiLmJtcFwiXTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuZmlsZUFwaVVybCA9IGZpbGU/LmZpbGVBcGlVcmwgfHwgXCJodHRwczovL2xldHNtdC5ldS93cy9GaWxlcy9cIjtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuZmlsZURvd25sb2FkVGltZW91dHMgPSBmaWxlPy5maWxlRG93bmxvYWRUaW1lb3V0c1xyXG4gICAgICB8fCB7XHJcbiAgICAgIFwiaW5pdGlhbGl6aW5nXCI6IDEwMDAsXHJcbiAgICAgIFwiZXh0cmFjdGluZ1wiOiAxMDAwLFxyXG4gICAgICBcIndhaXRpbmdcIjogMTAwMDAsXHJcbiAgICAgIFwidHJhbnNsYXRpbmdcIjogMTAwMCxcclxuICAgICAgXCJzYXZpbmdcIjogMTAwMCxcclxuICAgICAgXCJjb21wbGV0ZWRcIjogMTAwMCxcclxuICAgICAgXCJlcnJvclwiOiAxMDAwLFxyXG4gICAgICBcInF1ZXVpbmdcIjogMTAwMFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLm1heFNpemUgPSBmaWxlPy5tYXhTaXplID09PSBudWxsID8gbnVsbCA6IChmaWxlPy5tYXhTaXplID8/ICh0aGlzLmNvcmVDb25maWcuaXNBdXRoID8gMzA3MjAwMDAgOiAxMDQ4NTc2MCkpO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5maWxlVXBsb2FkID0gZmlsZT8uZmlsZVVwbG9hZCA/PyB0cnVlO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5vY3JQYWdlTGltaXQgPSBmaWxlPy5vY3JQYWdlTGltaXQgPz8gMTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuYWxsb3dQREZTb3VyY2VEb3dubG9hZCA9IGZpbGU/LmFsbG93UERGU291cmNlRG93bmxvYWQgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuYWxsb3dJbWFnZVNvdXJjZURvd25sb2FkID0gZmlsZT8uYWxsb3dJbWFnZVNvdXJjZURvd25sb2FkID8/IHRydWU7XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLnNvdXJjZURvd25sb2FkRXh0ZW5zaW9ucyA9IGZpbGU/LnNvdXJjZURvd25sb2FkRXh0ZW5zaW9ucyB8fCBbXCJwZGZcIiwgXCJwbmdcIiwgXCJqcGdcIiwgXCJqcGVnXCIsIFwiYm1wXCJdO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy50YXJnZXREb3dubG9hZEV4dGVuc2lvbk9yZGVyID0gZmlsZT8udGFyZ2V0RG93bmxvYWRFeHRlbnNpb25PcmRlcjtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcubnVtYmVyT2ZGaWxlc0FsbG93ZWQgPSBmaWxlPy5udW1iZXJPZkZpbGVzQWxsb3dlZCA+IDAgPyBmaWxlLm51bWJlck9mRmlsZXNBbGxvd2VkIDogMTtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuc2hvd1RyYW5zbGF0aW9uTGltaXRzID0gZmlsZT8uc2hvd1RyYW5zbGF0aW9uTGltaXRzID8/IHRydWU7XHJcbiAgICB0aGlzLl9maWxlQ29uZmlnLnVzZU11bHRpcGxlRmlsZVVwbG9hZCA9IGZpbGU/LnVzZU11bHRpcGxlRmlsZVVwbG9hZCA/PyB0cnVlO1xyXG4gICAgdGhpcy5fZmlsZUNvbmZpZy5wcm9ncmVzc0luZGljYXRvclRpdGxlVmlzaWJsZUZvclZlbmRvcnMgPSBmaWxlPy5wcm9ncmVzc0luZGljYXRvclRpdGxlVmlzaWJsZUZvclZlbmRvcnMgPz8gW1wiRVRyYW5zbGF0aW9uXCJdO1xyXG5cclxuICAgIHRoaXMuX3RleHRDb25maWcuZGljdGlvbmFyeVVybHMgPSBbLi4udGV4dD8uZGljdGlvbmFyeVVybHMgPz8gJycsIGAke3Rlcm1Db25maWc/LnRlcm1pbm9sb2d5UG9ydGFsVXJsID8/ICdodHRwczovL3Rlcm0udGlsZGUuY29tJ30vYXBpL3Rlcm1zZXJ2aWNlL2xvb2t1cC9yZXN1bHRgXTtcclxuICAgIFxyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5tYXhDaGFyTGVuZ3RoID0gdGV4dD8ubWF4Q2hhckxlbmd0aCA/PyA1MDAwO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy53ZWJXaWRnZXRSZWRpcmVjdFVybFBvc2ZpeCA9IHRleHQ/LndlYldpZGdldFJlZGlyZWN0VXJsUG9zZml4IHx8IFwiL3dlYnRyYW5zbGF0ZT91cmw9XCI7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLndlYldpZGdldFJlZGlyZWN0VXJsUHJlZml4ID0gdGV4dD8ud2ViV2lkZ2V0UmVkaXJlY3RVcmxQcmVmaXggfHwgXCJcIjtcclxuICAgIHRoaXMuX3RleHRDb25maWcudXNlRGljdGlvbmFyeSA9IHRleHQ/LnVzZURpY3Rpb25hcnkgPz8gZmFsc2U7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dBdmFpbGFibGVFeHRlbnNpb25zID0gdGV4dD8uc2hvd0F2YWlsYWJsZUV4dGVuc2lvbnMgPT0gbnVsbCA/IHRydWUgOiB0ZXh0LnNob3dBdmFpbGFibGVFeHRlbnNpb25zO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5zaG93QXV0aEV4dGVuc2lvbnMgPSB0ZXh0Py5zaG93QXV0aEV4dGVuc2lvbnMgPT0gbnVsbCA/IHRydWUgOiB0ZXh0LnNob3dBdXRoRXh0ZW5zaW9ucztcclxuICAgIHRoaXMuX3RleHRDb25maWcuYXV0b0ZvY3VzcyA9IHRleHQ/LmF1dG9Gb2N1c3M7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dFeHRlbnNpb25zVW5hdXRoT25seSA9IHRleHQ/LnNob3dFeHRlbnNpb25zVW5hdXRoT25seTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuc2hvd1NlbnNpdGl2ZUluZm9Ub29sdGlwID0gdGV4dD8uc2hvd1NlbnNpdGl2ZUluZm9Ub29sdGlwO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5hbGxvd1dlYnNpdGVUcmFuc2xhdGlvbiA9IHRleHQ/LmFsbG93V2Vic2l0ZVRyYW5zbGF0aW9uID8/IHRydWU7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dTdWdnZXN0aW9ucyA9IHRleHQ/LnNob3dTdWdnZXN0aW9ucyA/PyBmYWxzZTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuYXV0b1JlZGlyZWN0VG9XZWJUcmFuc2xhdGUgPSB0ZXh0Py5hdXRvUmVkaXJlY3RUb1dlYlRyYW5zbGF0ZSA/PyBmYWxzZTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuaGlnaGxpZ2h0ID0gdGV4dD8uaGlnaGxpZ2h0ID8/IHRydWU7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLmNoZWNrU291cmNlR3JhbW1hciA9IHRleHQ/LmNoZWNrU291cmNlR3JhbW1hciA/PyBmYWxzZTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuZ3JhbW1hckNoZWNrTGFuZ3VhZ2VzID0gdGV4dD8uZ3JhbW1hckNoZWNrTGFuZ3VhZ2VzID8/IFtdO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5zaG93VGFyZ2V0UGxhY2Vob2xkZXIgPSB0ZXh0Py5zaG93VGFyZ2V0UGxhY2Vob2xkZXI7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dFeHRlbnNpb25Qb3B1cCA9IHRleHQ/LnNob3dFeHRlbnNpb25Qb3B1cDtcclxuICAgIHRoaXMuX3RleHRDb25maWcudmlzaWJsZUV4dGVuc2lvbkNvdW50ID0gdGV4dD8udmlzaWJsZUV4dGVuc2lvbkNvdW50ID8/IDM7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLmhpZGVTb3VyY2VBY3Rpb25zV2hlbkhhc1RleHRNb2JpbGUgPSB0ZXh0Py5oaWRlU291cmNlQWN0aW9uc1doZW5IYXNUZXh0TW9iaWxlID8/IHRydWU7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnByb2dyZXNzSW5kaWNhdG9yVGltZW91dE1pbGlTZWNvbmRzID0gdGV4dD8ucHJvZ3Jlc3NJbmRpY2F0b3JUaW1lb3V0TWlsaVNlY29uZHMgPz8gMjAwMDtcclxuICAgIHRoaXMuX3RleHRDb25maWcucHJvZ3Jlc3NJbmRpY2F0b3JUaXRsZVZpc2libGVGb3JWZW5kb3JzID0gdGV4dD8ucHJvZ3Jlc3NJbmRpY2F0b3JUaXRsZVZpc2libGVGb3JWZW5kb3JzID8/IFtcIkVUcmFuc2xhdGlvblwiXTtcclxuICAgIHRoaXMuX3RleHRDb25maWcucHJvZ3Jlc3NJbmRpY2F0b3JWaXNpYmxlID0gdGV4dD8ucHJvZ3Jlc3NJbmRpY2F0b3JWaXNpYmxlID8/IHRydWU7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnNob3dUcmFuc2xhdGVCdXR0b24gPSB0ZXh0Py5zaG93VHJhbnNsYXRlQnV0dG9uID8/IHRydWU7XHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLmRpc3BsYXlTaW5nbGVBdmFpbGFibGVEb21haW4gPSB0ZXh0Py5kaXNwbGF5U2luZ2xlQXZhaWxhYmxlRG9tYWluID8/IGZhbHNlO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy5pc0F1dG9MYW5ndWFnZURldGVjdGlvbkVuYWJsZWQgPSB0ZXh0Py5pc0F1dG9MYW5ndWFnZURldGVjdGlvbkVuYWJsZWQgPz8gdHJ1ZTtcclxuICAgIHRoaXMuX3RleHRDb25maWcuc2hvd1dvcmRMaW1pdFdhcm5pbmcgPSB0ZXh0Py5zaG93V29yZExpbWl0V2FybmluZyA/PyB0cnVlO1xyXG5cclxuICAgIHRoaXMuX2xsbUNvbmZpZy5pc0VuYWJsZWQgPSBsbG0/LmlzRW5hYmxlZCA/PyBmYWxzZTtcclxuICAgIHRoaXMuX2xsbUNvbmZpZy5hcGlVcmwgPSBsbG0/LmFwaVVybCA/PyAnaHR0cHM6Ly90cmFuc2xhdGUudGlsZGUuYWkvYXBpL2xhbmd1YWdlJztcclxuICAgIHRoaXMuX2xsbUNvbmZpZy5tYXhDaGFyTGVuZ3RoID0gbGxtPy5tYXhDaGFyTGVuZ3RoID8/IDUwMDA7XHJcblxyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuYXVkaW9UZXh0SW5wdXQgPSBhdWRpbz8uYXVkaW9UZXh0SW5wdXQgPz8gZmFsc2U7XHJcbiAgICAvLyBOb3Qgc2V0dGluZyBkZWZhdWx0IHVybCBiZWNhdXNlIHRoZXJlIGlzIG5vIHNlcnZpY2UgcHJvdmlkZWQgYnkgVGlsZGUgYW5kIHRoaXMgaXMgbm90IHVzZWQgYnkgZGVmYXVsdCBpbiB3ZWJzaXRlIHByb2plY3QuXHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5hdWRpb0FwaVVybCA9IGF1ZGlvPy5hdWRpb0FwaVVybDtcclxuICAgIHRoaXMuX2F1ZGlvQ29uZmlnLmF1ZGlvTWF4U2l6ZUJ5dGVzID0gYXVkaW8/LmF1ZGlvTWF4U2l6ZUJ5dGVzID8/IDEwMDAwMDAwO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuc291cmNlTGFuZ3VhZ2VzID0gYXVkaW8/LnNvdXJjZUxhbmd1YWdlcyA/PyBbXTtcclxuICAgIHRoaXMuX2F1ZGlvQ29uZmlnLmRhdGFVcGRhdGVUaW1lRnJhbWUgPSBhdWRpbz8uZGF0YVVwZGF0ZVRpbWVGcmFtZSA/PyA1MDAwO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcubWF4aW11bVJlY29yZFRpbWUgPSBhdWRpbz8ubWF4aW11bVJlY29yZFRpbWUgPz8gMzAwO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuZGljdGF0ZUFwaVVybCA9IGF1ZGlvPy5kaWN0YXRlQXBpVXJsID8/IFwicnVuYS50aWxkZS5sdlwiO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuYXBwSWQgPSBhdWRpbz8uYXBwSWQ7XHJcbiAgICB0aGlzLl9hdWRpb0NvbmZpZy5hcHBTZWNyZXQgPSBhdWRpbz8uYXBwU2VjcmV0O1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcucHVuY3R1YXRpb25NZXNzYWdlID0gYXVkaW8/LnB1bmN0dWF0aW9uTWVzc2FnZSA/PyB0cnVlO1xyXG4gICAgdGhpcy5fYXVkaW9Db25maWcuZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uID0gYXVkaW8/LmRpc2FibGVBdXRvbWF0aWNUcmFuc2xhdGlvbiA/PyB0cnVlO1xyXG5cclxuICAgIHRoaXMuX3dlYnRyYW5zbGF0ZUNvbmZpZy5sb2dvTG9jYXRpb24gPSB3ZWJ0cmFuc2xhdGU/LmxvZ29Mb2NhdGlvbiB8fCAnYXNzZXRzL3dlYnRyYW5zbGF0ZS90aWxkZV9sb2dvLnBuZyc7XHJcbiAgICB0aGlzLl93ZWJ0cmFuc2xhdGVDb25maWcudHJhbnNsYXRlUGFnZVBhdGggPSB3ZWJ0cmFuc2xhdGU/LnRyYW5zbGF0ZVBhZ2VQYXRoO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLmRlYnVnID0gd2VidHJhbnNsYXRlPy5kZWJ1ZyB8fCBmYWxzZTtcclxuICAgIHRoaXMuX3dlYnRyYW5zbGF0ZUNvbmZpZy53ZWJMYW5nQXV0b2RldGVjdCA9IHdlYnRyYW5zbGF0ZT8ud2ViTGFuZ0F1dG9kZXRlY3QgfHwgdHJ1ZTtcclxuICAgIHRoaXMuX3dlYnRyYW5zbGF0ZUNvbmZpZy5hbGxvd1N1Z2dlc3Rpb25zID0gd2VidHJhbnNsYXRlPy5hbGxvd1N1Z2dlc3Rpb25zIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLmhpZGVQb3B1cCA9IHdlYnRyYW5zbGF0ZT8uaGlkZVBvcHVwIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLnNhbmRib3ggPSB3ZWJ0cmFuc2xhdGU/LnNhbmRib3ggPz8gXCJhbGxvdy1mb3JtcyBhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luXCI7XHJcbiAgICB0aGlzLl93ZWJ0cmFuc2xhdGVDb25maWcuYXBwSWQgPSB3ZWJ0cmFuc2xhdGU/LmFwcElkO1xyXG4gICAgdGhpcy5fd2VidHJhbnNsYXRlQ29uZmlnLmhlbHBVcmwgPSB3ZWJ0cmFuc2xhdGU/LmhlbHBVcmwgPz8gJ2h0dHBzOi8vaGVscC50aWxkZS5haS90aWxkZS1tdC9ndWlkZXMvd2ViLXRyYW5zbGF0aW9uL3RyYW5zbGF0ZSc7XHJcblxyXG4gICAgdGhpcy5fdGVybUNvbmZpZy5jYW5DcmVhdGVDb2xsZWN0aW9uID0gdGVybUNvbmZpZz8uY2FuQ3JlYXRlQ29sbGVjdGlvbjtcclxuICAgIHRoaXMuX3Rlcm1Db25maWcuaXNDb2xsZWN0aW9uc0FjdGl2YXRlZCA9IHRlcm1Db25maWc/LmlzQ29sbGVjdGlvbnNBY3RpdmF0ZWQ7XHJcbiAgICB0aGlzLl90ZXJtQ29uZmlnLnRlcm1pbm9sb2d5UG9ydGFsVXJsID0gdGVybUNvbmZpZz8udGVybWlub2xvZ3lQb3J0YWxVcmwgPz8gJ2h0dHBzOi8vdGVybS50aWxkZS5jb20nO1xyXG5cclxuICAgIC8vIHNlcGVyYXRlZCBiZWNhdXNlIGZvbGxvd2luZyB1cmxzIGhhdmUgbWV0aG9kIG5hbWVzIGFkZGVkXHJcbiAgICB0aGlzLl90ZXh0Q29uZmlnLnVwZGF0ZVRyYW5zbGF0aW9uVXJsID0gdGV4dD8udXBkYXRlVHJhbnNsYXRpb25Vcmw7XHJcblxyXG4gICAgdGhpcy5fY29yZUNvbmZpZy5hcGlCYXNlVXJsID0gY29yZT8uYXBpQmFzZVVybCA/PyBcImh0dHBzOi8vdHJhbnNsYXRlLnRpbGRlLmFpL2FwaVwiO1xyXG4gICAgdGhpcy5fdGV4dENvbmZpZy50cmFuc2xhdGlvblVybCA9IHRleHQ/LnRyYW5zbGF0aW9uVXJsID8/IHRoaXMuY29yZUNvbmZpZy5hcGlCYXNlVXJsICsgXCIvdHJhbnNsYXRlL3RleHRcIjtcclxuICAgIHRoaXMuX2ZpbGVDb25maWcuZmlsZUFwaVVybCA9IGZpbGU/LmZpbGVBcGlVcmwgPz8gdGhpcy5jb3JlQ29uZmlnLmFwaUJhc2VVcmwgKyBcIi90cmFuc2xhdGUvZmlsZVwiO1xyXG5cclxuICAgIHRoaXMuX3RleHRUb1NwZWVjaENvbmZpZy5sYW5ndWFnZXMgPSB0ZXh0VG9TcGVlY2g/Lmxhbmd1YWdlcyA/PyB7fTtcclxuICAgIHRoaXMuX3RleHRUb1NwZWVjaENvbmZpZy5tYXhDaGFyc0luVGV4dCA9IHRleHRUb1NwZWVjaD8ubWF4Q2hhcnNJblRleHQgPz8gMzAwMDtcclxuXHJcbiAgICAvLyBPdmVycmlkZSB0aGVzZSB2YWx1ZXMgc2luY2UgdGhleSBhcmUgbm90IGltcGxlbWVudGVkIGluIGN1cnJlbnQgYXBpLlxyXG4gICAgdGhpcy50ZXh0Q29uZmlnLnNob3dTdWdnZXN0aW9ucyA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuX3F1b3RhQ29uZmlnLmFwaVVybCA9IHF1b3RhPy5hcGlVcmwgPz8gXCJodHRwczovL3RyYW5zbGF0ZS50aWxkZS5haS9hcGkvcXVvdGEvdXNhZ2VcIjtcclxuXHJcbiAgICB0aGlzLl9zdXBzY3JpcHRpb25Db25maWcucHJpY2luZ1VybCA9IHN1YnNjcmlwdGlvbj8ucHJpY2luZ1VybCA/PyBcImh0dHBzOi8vdGlsZGUuYWkvbWFjaGluZS10cmFuc2xhdGlvbi8jcHJpY2VcIjtcclxuICAgIHRoaXMuX3N1cHNjcmlwdGlvbkNvbmZpZy5oYXNBY3RpdmVTdWJzY3JpcHRpb24gPSBzdWJzY3JpcHRpb24/Lmhhc0FjdGl2ZVN1YnNjcmlwdGlvbiA/PyBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -9,6 +9,9 @@ export class TldDictionaryComponent {
9
9
  }
10
10
  dictionaryGroups = {};
11
11
  groupDictionariesByDomain(data) {
12
+ if (!data?.length) {
13
+ return;
14
+ }
12
15
  this.dictionaryGroups = data.reduce((acc, dictionary) => {
13
16
  const domain = dictionary.sourceLabel ?? dictionary.dictionaryDomainUrl;
14
17
  if (!acc[domain]) {
@@ -27,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
27
30
  }], propDecorators: { dictionary: [{
28
31
  type: Input
29
32
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLWRpY3Rpb25hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvY29tcG9uZW50cy90bGQtZGljdGlvbmFyeS90bGQtZGljdGlvbmFyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL3RsZC1kaWN0aW9uYXJ5L3RsZC1kaWN0aW9uYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVFqRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2xDLElBQWEsVUFBVSxDQUFDLElBQWtCO1FBQ3pDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZ0JBQWdCLEdBQW9DLEVBQUUsQ0FBQztJQUUvQyx5QkFBeUIsQ0FBQyxJQUFrQjtRQUNuRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUN2RCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQztZQUN4RSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNqQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ2pCO1lBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3QixPQUFPLEdBQUcsQ0FBQztRQUNaLENBQUMsRUFBRSxFQUFxQyxDQUFDLENBQUM7SUFDM0MsQ0FBQzt3R0FoQlcsc0JBQXNCOzRGQUF0QixzQkFBc0IsNEZDUm5DLDRvQkFhQTs7NEZETGEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNDLGdCQUFnQjs4QkFLYixVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RpY3Rpb25hcnkubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICd0bGQtZGljdGlvbmFyeScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3RsZC1kaWN0aW9uYXJ5LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi90bGQtZGljdGlvbmFyeS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkRGljdGlvbmFyeUNvbXBvbmVudCB7XHJcblx0QElucHV0KCkgc2V0IGRpY3Rpb25hcnkoZGF0YTogRGljdGlvbmFyeVtdKSB7XHJcblx0XHR0aGlzLmdyb3VwRGljdGlvbmFyaWVzQnlEb21haW4oZGF0YSk7XHJcblx0fVxyXG5cclxuXHRkaWN0aW9uYXJ5R3JvdXBzOiB7IFtrZXk6IHN0cmluZ106IERpY3Rpb25hcnlbXSB9ID0ge307XHJcblxyXG5cdHByaXZhdGUgZ3JvdXBEaWN0aW9uYXJpZXNCeURvbWFpbihkYXRhOiBEaWN0aW9uYXJ5W10pOiB2b2lkIHtcclxuXHRcdHRoaXMuZGljdGlvbmFyeUdyb3VwcyA9IGRhdGEucmVkdWNlKChhY2MsIGRpY3Rpb25hcnkpID0+IHtcclxuXHRcdFx0Y29uc3QgZG9tYWluID0gZGljdGlvbmFyeS5zb3VyY2VMYWJlbCA/PyBkaWN0aW9uYXJ5LmRpY3Rpb25hcnlEb21haW5Vcmw7XHJcblx0XHRcdGlmICghYWNjW2RvbWFpbl0pIHtcclxuXHRcdFx0XHRhY2NbZG9tYWluXSA9IFtdO1xyXG5cdFx0XHR9XHJcblx0XHRcdGFjY1tkb21haW5dLnB1c2goZGljdGlvbmFyeSk7XHJcblx0XHRcdHJldHVybiBhY2M7XHJcblx0XHR9LCB7fSBhcyB7IFtrZXk6IHN0cmluZ106IERpY3Rpb25hcnlbXSB9KTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiAqbmdGb3I9XCJsZXQgZG9tYWluIG9mIGRpY3Rpb25hcnlHcm91cHMgfCBrZXl2YWx1ZVwiPlxyXG5cdDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJkaWN0aW9uYXJ5LWFyZWFcIj5cclxuXHRcdDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcblx0XHRcdDxwIGNsYXNzPVwiZGljdGlvbmFyeS1zb3VyY2VcIj57eyAnRElDVElPTkFSWS5TT1VSQ0UnIHwgdHJhbnNsYXRlOiB7IHNyYzogZG9tYWluLmtleSB8IHRpdGxlY2FzZSB9IH19PC9wPlxyXG5cclxuXHRcdFx0PGRpdiAqbmdGb3I9XCJsZXQgZGljdGlvbmFyeSBvZiBkb21haW4udmFsdWVcIiBjbGFzcz1cImRpY3Rpb25hcnktdGFyZ2V0LXdyYXBwZXJcIj5cclxuXHRcdFx0XHQ8YSBbaHJlZl09XCJkaWN0aW9uYXJ5LmNvbGxlY3Rpb25VcmxcIiB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cImRpY3Rpb25hcnktdGFyZ2V0LXdvcmRcIj57eyBkaWN0aW9uYXJ5LnRhcmdldFdvcmQgfX08L2E+XHJcblxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJkaWN0aW9uYXJ5LXdvcmQtc291cmNlXCI+e3sgZGljdGlvbmFyeS50ZXJtU291cmNlIH19PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLWRpY3Rpb25hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvY29tcG9uZW50cy90bGQtZGljdGlvbmFyeS90bGQtZGljdGlvbmFyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL3RsZC1kaWN0aW9uYXJ5L3RsZC1kaWN0aW9uYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVFqRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2xDLElBQWEsVUFBVSxDQUFDLElBQWtCO1FBQ3pDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZ0JBQWdCLEdBQW9DLEVBQUUsQ0FBQztJQUUvQyx5QkFBeUIsQ0FBQyxJQUFrQjtRQUNuRCxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNsQixPQUFPO1NBQ1A7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUN2RCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQztZQUN4RSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNqQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ2pCO1lBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3QixPQUFPLEdBQUcsQ0FBQztRQUNaLENBQUMsRUFBRSxFQUFxQyxDQUFDLENBQUM7SUFDM0MsQ0FBQzt3R0FwQlcsc0JBQXNCOzRGQUF0QixzQkFBc0IsNEZDUm5DLDRvQkFhQTs7NEZETGEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNDLGdCQUFnQjs4QkFLYixVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RpY3Rpb25hcnkubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICd0bGQtZGljdGlvbmFyeScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3RsZC1kaWN0aW9uYXJ5LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi90bGQtZGljdGlvbmFyeS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkRGljdGlvbmFyeUNvbXBvbmVudCB7XHJcblx0QElucHV0KCkgc2V0IGRpY3Rpb25hcnkoZGF0YTogRGljdGlvbmFyeVtdKSB7XHJcblx0XHR0aGlzLmdyb3VwRGljdGlvbmFyaWVzQnlEb21haW4oZGF0YSk7XHJcblx0fVxyXG5cclxuXHRkaWN0aW9uYXJ5R3JvdXBzOiB7IFtrZXk6IHN0cmluZ106IERpY3Rpb25hcnlbXSB9ID0ge307XHJcblxyXG5cdHByaXZhdGUgZ3JvdXBEaWN0aW9uYXJpZXNCeURvbWFpbihkYXRhOiBEaWN0aW9uYXJ5W10pOiB2b2lkIHtcclxuXHRcdGlmICghZGF0YT8ubGVuZ3RoKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmRpY3Rpb25hcnlHcm91cHMgPSBkYXRhLnJlZHVjZSgoYWNjLCBkaWN0aW9uYXJ5KSA9PiB7XHJcblx0XHRcdGNvbnN0IGRvbWFpbiA9IGRpY3Rpb25hcnkuc291cmNlTGFiZWwgPz8gZGljdGlvbmFyeS5kaWN0aW9uYXJ5RG9tYWluVXJsO1xyXG5cdFx0XHRpZiAoIWFjY1tkb21haW5dKSB7XHJcblx0XHRcdFx0YWNjW2RvbWFpbl0gPSBbXTtcclxuXHRcdFx0fVxyXG5cdFx0XHRhY2NbZG9tYWluXS5wdXNoKGRpY3Rpb25hcnkpO1xyXG5cdFx0XHRyZXR1cm4gYWNjO1xyXG5cdFx0fSwge30gYXMgeyBba2V5OiBzdHJpbmddOiBEaWN0aW9uYXJ5W10gfSk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgKm5nRm9yPVwibGV0IGRvbWFpbiBvZiBkaWN0aW9uYXJ5R3JvdXBzIHwga2V5dmFsdWVcIj5cclxuXHQ8ZGl2IGZ4RmxleCBmeExheW91dD1cImNvbHVtblwiIGNsYXNzPVwiZGljdGlvbmFyeS1hcmVhXCI+XHJcblx0XHQ8ZGl2IGZ4RmxleCBmeExheW91dD1cImNvbHVtblwiPlxyXG5cdFx0XHQ8cCBjbGFzcz1cImRpY3Rpb25hcnktc291cmNlXCI+e3sgJ0RJQ1RJT05BUlkuU09VUkNFJyB8IHRyYW5zbGF0ZTogeyBzcmM6IGRvbWFpbi5rZXkgfCB0aXRsZWNhc2UgfSB9fTwvcD5cclxuXHJcblx0XHRcdDxkaXYgKm5nRm9yPVwibGV0IGRpY3Rpb25hcnkgb2YgZG9tYWluLnZhbHVlXCIgY2xhc3M9XCJkaWN0aW9uYXJ5LXRhcmdldC13cmFwcGVyXCI+XHJcblx0XHRcdFx0PGEgW2hyZWZdPVwiZGljdGlvbmFyeS5jb2xsZWN0aW9uVXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJkaWN0aW9uYXJ5LXRhcmdldC13b3JkXCI+e3sgZGljdGlvbmFyeS50YXJnZXRXb3JkIH19PC9hPlxyXG5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZGljdGlvbmFyeS13b3JkLXNvdXJjZVwiPnt7IGRpY3Rpb25hcnkudGVybVNvdXJjZSB9fTwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS1yZXF1ZXN0LXBhcmFtcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy9kaWN0aW9uYXJ5LXJlcXVlc3QtcGFyYW1zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIERpY3Rpb25hcnlSZXF1ZXN0UGFyYW1zIHtcclxuXHR0ZXJtOiBzdHJpbmc7XHJcblx0c291cmNlTGFuZzogc3RyaW5nO1xyXG5cdHRhcmdldExhbmc6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -85,9 +85,17 @@ export class TldTranslateTextApiService {
85
85
  return throwError(() => new Error("method not implemented!"));
86
86
  }
87
87
  dictionaryTranslation(text, srcCode, trgCode) {
88
- const dictionaryUrls = this.config.textConfig.dictionaryUrls.map((url) => `${url}/?term=${text}&sourceLang=${srcCode}&targetLang=${trgCode}`);
89
- const requests = dictionaryUrls.map((url) => this.http.get(url));
90
- const domainUrls = dictionaryUrls.map((url) => url.replace(/https?:\/\/([^\/]+).*/, '$1'));
88
+ const domainUrls = [];
89
+ const requests = [];
90
+ const params = {
91
+ term: text,
92
+ sourceLang: srcCode,
93
+ targetLang: trgCode
94
+ };
95
+ this.config.textConfig.dictionaryUrls.forEach((url) => {
96
+ requests.push(this.http.get(url, { params }));
97
+ domainUrls.push(url.replace(/https?:\/\/([^\/]+).*/, '$1'));
98
+ });
91
99
  return { urls: domainUrls, request: forkJoin(requests) };
92
100
  }
93
101
  checkAndAttachGrammarToTree(text, language, tree) {
@@ -146,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
146
154
  providedIn: 'root'
147
155
  }]
148
156
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.TldTranslateConfigService }, { type: i3.TerminologyService }, { type: i2.TldTranslateSystemManagementService }]; } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvc2VydmljZXMvYXBpL3RsZC10cmFuc2xhdGUtdGV4dC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQXNCLE1BQU0sdUJBQXVCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQVUzRSxNQUFNLE9BQU8sMEJBQTBCO0lBQ1I7SUFDVjtJQUNBO0lBQ0E7SUFIbkIsWUFBNkIsSUFBZ0IsRUFDMUIsTUFBaUMsRUFDakMsa0JBQXNDLEVBQ3RDLHVCQUE0RDtRQUhsRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQTJCO1FBQ2pDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFxQztJQUMzRSxDQUFDO0lBRUwsa0JBQWtCLENBQUMsTUFBd0M7UUFDekQsTUFBTSxhQUFhLEdBQThCO1lBQy9DLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYztZQUNyQyxPQUFPLEVBQUUs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LFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEI7d0JBQ0UsSUFBSSxFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7d0JBQy9DLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxLQUFLO3dCQUM3QixJQUFJLEVBQUUsSUFBSTt3QkFDVixZQUFZO3FCQUNiLENBQUMsQ0FBQTtpQkFDTDtnQkFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO2FBQ3JCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQTlJVSwwQkFBMEI7NEdBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRoSGVhZGVyc0hlbHBlciwgSHRtbEhlbHBlciwgVGVybWlub2xvZ3lTZXJ2aWNlIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtY29tbW9uJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSVRyYW5zbGF0ZVBhcmFncmFwaFJlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsIFRsZFRyYW5zbGF0ZVN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IElDaGVja0dyYW1tYXJSZXNwb25zZVYyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoZWNrLWdyYW1tYXItcmVzcG9uc2UtdjIubW9kZWwnO1xyXG5pbXBvcnQgeyBIaWdobGlnaHRQYXJhbXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGlnaGxpZ2h0LXBhcmFtcy5tb2RlbCc7XHJcbmltcG9ydCB7IEhpZ2hsaWdodFRyZWVUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpZ2hsaWdodC10cmVlLXR5cGUubW9kZWwnO1xyXG5pbXBvcnQgeyBJSGlnaGxpZ2h0VHJlZSB9IGZyb20gJy4uLy4uL21vZGVscy9oaWdobGlnaHQtdHJlZS5tb2RlbCc7XHJcbmltcG9ydCB7IElUcmFuc2xhdGVQYXJhZ3JhcGhQYXJhbXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNsYXRlLXBhcmFncmFwaC1wYXJhbXMubW9kZWwnO1xyXG5pbXBvcnQgeyBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2VWMiB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXJlc3BvbnNlLXYyLm1vZGVsJztcclxuaW1wb3J0IHsgSVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zbGF0ZS1wYXJhZ3JhcGgtcmVzcG9uc2UubW9kZWwnO1xyXG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZVRleHRBcGlTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVybWlub2xvZ3lTZXJ2aWNlOiBUZXJtaW5vbG9neVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlOiBUbGRUcmFuc2xhdGVTeXN0ZW1NYW5hZ2VtZW50U2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIHRyYW5zbGF0ZVBhcmFncmFwaChwYXJhbXM6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXF1ZXN0UGFyYW1zKTogT2JzZXJ2YWJsZTxJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXM6IElUcmFuc2xhdGVQYXJhZ3JhcGhQYXJhbXMgPSB7XHJcbiAgICAgIHRleHQ6IFtwYXJhbXMudGV4dF0sXHJcbiAgICAgIHRyZ0xhbmc6IHBhcmFtcy5zeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UsXHJcbiAgICAgIHNyY0xhbmc6IHBhcmFtcy5zeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA/PyBwYXJhbXMuc3lzdGVtLnNvdXJjZUxhbmd1YWdlLFxyXG4gICAgICBkb21haW46IHBhcmFtcy5zeXN0ZW0uZG9tYWluXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGN1cnJlbnRTeXN0ZW1JZCA9IHRoaXMuc3lzdGVtTWFuYWdlbWVudFNlcnZpY2UuZ2V0QWN0aXZlU3lzdGVtT2JqKCkuaWQ7XHJcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmVuZ2luZXNbY3VycmVudFN5c3RlbUlkXT8uc2VsZWN0ZWQ7XHJcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2VDb2xsZWN0aW9ucyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLkxPQ0FMX1NUT1JBR0VfS0VZKTtcclxuXHJcbiAgICBsZXQgY3VycmVudFN5c3RlbUNvbGxlY3Rpb247XHJcblxyXG4gICAgaWYgKGxvY2FsU3RvcmFnZUNvbGxlY3Rpb25zPy5sZW5ndGgpIHtcclxuICAgICAgY3VycmVudFN5c3RlbUNvbGxlY3Rpb24gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZUNvbGxlY3Rpb25zKVtjdXJyZW50U3lzdGVtSWRdID8/ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG5cdFx0XHRyZXF1ZXN0UGFyYW1zLnRlcm1Db2xsZWN0aW9ucyA9IHNlbGVjdGVkLm10Q29sbGVjdGlvbj8uaWQgPyBbc2VsZWN0ZWQubXRDb2xsZWN0aW9uPy5pZF0gOiBbc2VsZWN0ZWQudGVybUlkXTtcclxuXHRcdH0gZWxzZSBpZiAoY3VycmVudFN5c3RlbUNvbGxlY3Rpb24gJiYgcGFyYW1zLnN5c3RlbS5kZXRlY3RlZExhbmd1YWdlKSB7XHJcbiAgICAgIC8vIHdoZW4gbGFuZ3VhZ2UgaXMgZGV0ZWN0ZWQgd2Ugc2hvdWxkIGFsc28gY2hlY2sgaWYgdGhpcyBzeXN0ZW0gd2FzIHVzZWQgYmVmb3JlIGFuZCBpZiB0aGVyZSBjb2xsZWN0aW9uIHNlbGVjdGVkXHJcblx0XHRcdHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmdldENvbGxlY3Rpb25zKCkuc3Vic2NyaWJlKChjb2xsZWN0aW9uKSA9PiB7XHJcblx0XHRcdFx0aWYgKGN1cnJlbnRTeXN0ZW1Db2xsZWN0aW9uID09PSBjb2xsZWN0aW9uW2N1cnJlbnRTeXN0ZW1JZF0/LnNlbGVjdGVkPy5tdENvbGxlY3Rpb24/LmlkKSB7XHJcblx0XHRcdFx0XHRyZXF1ZXN0UGFyYW1zLnRlcm1Db2xsZWN0aW9ucyA9IFtjdXJyZW50U3lzdGVtQ29sbGVjdGlvbl07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcbiAgICBjb25zdCBzb3VyY2VUZXh0ID0gcGFyYW1zLnRleHQ7XHJcbiAgICBjb25zdCBzb3VyY2VUcmVlOiBJSGlnaGxpZ2h0VHJlZSA9IHtcclxuICAgICAgdGV4dDogSHRtbEhlbHBlci5lc2NhcGVIdG1sU3RyaW5nKHNvdXJjZVRleHQpLFxyXG4gICAgICBwYXJhZ3JhcGhJeDogcGFyYW1zLnBhcmFncmFwaEl4LFxyXG4gICAgICB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5QQVJBR1JBUEgsXHJcbiAgICAgIHJvb3Q6IG51bGwsXHJcbiAgICAgIG9yaWdpbmFsVGV4dDogc291cmNlVGV4dFxyXG4gICAgfTtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBBdXRoSGVhZGVyc0hlbHBlci5nZXRBcGlWMkF1dGhIZWFkZXJzKHRoaXMuY29uZmlnLmNvcmVDb25maWcueEFwaUtleSwgdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBJZCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLnRleHRDb25maWcuY2hlY2tTb3VyY2VHcmFtbWFyICYmIHRoaXMuY29uZmlnLnRleHRDb25maWcuZ3JhbW1hckNoZWNrTGFuZ3VhZ2VzLmluY2x1ZGVzKHBhcmFtcy5zeXN0ZW0uc291cmNlTGFuZ3VhZ2UpKSB7XHJcbiAgICAgIHRoaXMuY2hlY2tBbmRBdHRhY2hHcmFtbWFyVG9UcmVlKHBhcmFtcy50ZXh0LCBwYXJhbXMuc3lzdGVtLnNvdXJjZUxhbmd1YWdlLCBzb3VyY2VUcmVlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlVjI+KHRoaXMuY29uZmlnLnRleHRDb25maWcudHJhbnNsYXRpb25VcmwsIHJlcXVlc3RQYXJhbXMsIHsgaGVhZGVycyB9KS5waXBlKFxyXG4gICAgICBtYXAoKHRyYW5zbGF0aW9uUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBjb25zdCBzeXN0ZW1JZCA9IGAke3JlcXVlc3RQYXJhbXMuc3JjTGFuZ30tJHtyZXF1ZXN0UGFyYW1zLnRyZ0xhbmd9LSR7dHJhbnNsYXRpb25SZXNwb25zZS5kb21haW59YDtcclxuICAgICAgICBjb25zdCBvcmlnaW5hbFRyYW5zbGF0aW9uID0gdHJhbnNsYXRpb25SZXNwb25zZS50cmFuc2xhdGlvbnNbMF0udHJhbnNsYXRpb247XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0VHJlZTogSUhpZ2hsaWdodFRyZWUgPSB7XHJcbiAgICAgICAgICB0ZXh0OiBIdG1sSGVscGVyLmVzY2FwZUh0bWxTdHJpbmcob3JpZ2luYWxUcmFuc2xhdGlvbiksXHJcbiAgICAgICAgICBwYXJhZ3JhcGhJeDogcGFyYW1zLnBhcmFncmFwaEl4LFxyXG4gICAgICAgICAgdHlwZTogSGlnaGxpZ2h0VHJlZVR5cGUuUEFSQUdSQVBILFxyXG4gICAgICAgICAgcm9vdDogbnVsbCxcclxuICAgICAgICAgIG9yaWdpbmFsVGV4dDogb3JpZ2luYWxUcmFuc2xhdGlvblxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHNvdXJjZVRyZWUsXHJcbiAgICAgICAgICB0YXJnZXRUcmVlLFxyXG4gICAgICAgICAgc3lzdGVtSWRcclxuICAgICAgICB9O1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNoZWNrR3JhbW1hcih0ZXh0OiBzdHJpbmcsIGxhbmd1YWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElDaGVja0dyYW1tYXJSZXNwb25zZVYyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SUNoZWNrR3JhbW1hclJlc3BvbnNlVjI+KHRoaXMuY29uZmlnLnRleHRDb25maWcuZ3JhbW1hckNoZWNrVXJsLCB7IHRleHQsIGxhbmd1YWdlIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhpcyBtZXRob2Qgd2FzIGltcGxlbWVudGVkIGluIG9sZCBBUEkuIEJ1dCBpdCBpcyBsZWZ0IGhlcmUsIHNpbmNlIHRoZXJlIGlzIHBsYW5zIHRvIGltcGxlbWVudCBhbG9zbyBpbiBjdXJyZW50IEFQSS5cclxuICB1cGRhdGVUcmFuc2xhdGlvbihvcHRpb25zOiBzdHJpbmcsIHN5c3RlbUlEOiBzdHJpbmcsIHRleHQ6IHN0cmluZywgdHJhbnNsYXRpb246IHN0cmluZykge1xyXG4gICAgb3B0aW9uczsgc3lzdGVtSUQ7IHRleHQ7IHRyYW5zbGF0aW9uO1xyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKFwibWV0aG9kIG5vdCBpbXBsZW1lbnRlZCFcIikpO1xyXG4gIH1cclxuXHJcbiAgZGljdGlvbmFyeVRyYW5zbGF0aW9uKHRleHQ6IHN0cmluZywgc3JjQ29kZTogc3RyaW5nLCB0cmdDb2RlOiBzdHJpbmcpOiB7IHVybHM6IHN0cmluZ1tdLCByZXF1ZXN0OiBPYnNlcnZhYmxlPERpY3Rpb25hcnlbXVtdPiB9IHtcclxuICAgIGNvbnN0IGRpY3Rpb25hcnlVcmxzID0gdGhpcy5jb25maWcudGV4dENvbmZpZy5kaWN0aW9uYXJ5VXJscy5tYXAoXHJcbiAgICAgICh1cmwpID0+IGAke3VybH0vP3Rlcm09JHt0ZXh0fSZzb3VyY2VMYW5nPSR7c3JjQ29kZX0mdGFyZ2V0TGFuZz0ke3RyZ0NvZGV9YFxyXG4gICAgKTtcclxuICBcclxuICAgIGNvbnN0IHJlcXVlc3RzID0gZGljdGlvbmFyeVVybHMubWFwKCh1cmwpID0+IHRoaXMuaHR0cC5nZXQ8RGljdGlvbmFyeVtdPih1cmwpKTtcclxuICAgIGNvbnN0IGRvbWFpblVybHMgPSBkaWN0aW9uYXJ5VXJscy5tYXAoKHVybCkgPT4gdXJsLnJlcGxhY2UoL2h0dHBzPzpcXC9cXC8oW15cXC9dKykuKi8sICckMScpKTtcclxuICBcclxuICAgIHJldHVybiB7IHVybHM6IGRvbWFpblVybHMsIHJlcXVlc3Q6IGZvcmtKb2luKHJlcXVlc3RzKSB9O1xyXG4gIH1cclxuICBcclxuXHJcbiAgcHJpdmF0ZSBjaGVja0FuZEF0dGFjaEdyYW1tYXJUb1RyZWUodGV4dDogc3RyaW5nLCBsYW5ndWFnZTogc3RyaW5nLCB0cmVlOiBJSGlnaGxpZ2h0VHJlZSkge1xyXG4gICAgdGhpcy5jaGVja0dyYW1tYXIodGV4dCwgbGFuZ3VhZ2UpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBvZihudWxsKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoZ3JhbW1hckNoZWNrUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoZ3JhbW1hckNoZWNrUmVzcG9uc2U/LmNvcnJlY3Rpb25zPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0cmVlLmNoaWxkcmVuID0gW107XHJcbiAgICAgICAgICBsZXQgbGFzdEl4ID0gMDtcclxuICAgICAgICAgIGdyYW1tYXJDaGVja1Jlc3BvbnNlLmNvcnJlY3Rpb25zLmZvckVhY2goKGNvcnJlY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgd29yZFN0YXJ0SXggPSBjb3JyZWN0aW9uLnNwYW4uc3RhcnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHdvcmRFbmRJeCA9IGNvcnJlY3Rpb24uc3Bhbi5lbmQ7XHJcbiAgICAgICAgICAgIGlmIChsYXN0SXggPCB3b3JkU3RhcnRJeCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVGV4dCA9IHRleHQuc2xpY2UobGFzdEl4LCB3b3JkU3RhcnRJeCk7XHJcbiAgICAgICAgICAgICAgY29uc3QgZXNjYXBlZCA9IEh0bWxIZWxwZXIuZXNjYXBlSHRtbFN0cmluZyhvcmlnaW5hbFRleHQpO1xyXG4gICAgICAgICAgICAgIHRyZWUuY2hpbGRyZW4ucHVzaCh7IHRleHQ6IGVzY2FwZWQsIG9yaWdpbmFsVGV4dCwgdHlwZTogSGlnaGxpZ2h0VHJlZVR5cGUuT1RIRVIsIHJvb3Q6IHRyZWUgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVGV4dCA9IHRleHQuc2xpY2Uod29yZFN0YXJ0SXgsIHdvcmRFbmRJeCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkOiBJSGlnaGxpZ2h0VHJlZSA9IHtcclxuICAgICAgICAgICAgICB0ZXh0OiBIdG1sSGVscGVyLmVzY2FwZUh0bWxTdHJpbmcodGV4dC5zbGljZSh3b3JkU3RhcnRJeCwgd29yZEVuZEl4KSksXHJcbiAgICAgICAgICAgICAgY2xhc3M6IGAke0hpZ2hsaWdodFBhcmFtcy5pbnZhbGlkUGhyYXNlQ2xhc3N9YCxcclxuICAgICAgICAgICAgICBncmFtbWFyTWV0YToge1xyXG4gICAgICAgICAgICAgICAgc3RhcnRJeDogd29yZFN0YXJ0SXgsXHJcbiAgICAgICAgICAgICAgICBlbmRJeDogd29yZEVuZEl4LFxyXG4gICAgICAgICAgICAgICAgcmVwbGFjZW1lbnRzOiBjb3JyZWN0aW9uLnJlcGxhY2VtZW50cy5tYXAoZWwgPT4gZWwudmFsdWUpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5PVEhFUixcclxuICAgICAgICAgICAgICByb290OiB0cmVlLFxyXG4gICAgICAgICAgICAgIG9yaWdpbmFsVGV4dFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyZWUuY2hpbGRyZW4ucHVzaChjaGlsZClcclxuICAgICAgICAgICAgbGFzdEl4ID0gd29yZEVuZEl4O1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAobGFzdEl4ICE9IHRleHQubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbFRleHQgPSB0ZXh0LnNsaWNlKGxhc3RJeCwgdGV4dC5sZW5ndGggLSAxKTtcclxuICAgICAgICAgICAgdHJlZS5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRleHQ6IEh0bWxIZWxwZXIuZXNjYXBlSHRtbFN0cmluZyhvcmlnaW5hbFRleHQpLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogSGlnaGxpZ2h0VHJlZVR5cGUuT1RIRVIsXHJcbiAgICAgICAgICAgICAgICByb290OiB0cmVlLFxyXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxUZXh0XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRyZWUuY2hpbGRyZW4ucHVzaCgpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvc2VydmljZXMvYXBpL3RsZC10cmFuc2xhdGUtdGV4dC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQXNCLE1BQU0sdUJBQXVCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQVczRSxNQUFNLE9BQU8sMEJBQTBCO0lBQ1I7SUFDVjtJQUNBO0lBQ0E7SUFIbkIsWUFBNkIsSUFBZ0IsRUFDMUIsTUFBaUMsRUFDakMsa0JBQXNDLEVBQ3RDLHVCQUE0RDtRQUhsRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQTJCO1FBQ2pDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFxQztJQUMzRSxDQUFDO0lBRUwsa0JBQWtCLENBQUMsTUFBd0M7UUFDekQsTUFBTSxhQUFhLEdBQThCO1lBQy9DLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYztZQUNyQyxPQUFPLEVBQUUs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SUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQzdCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQjt3QkFDRSxJQUFJLEVBQUUsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQzt3QkFDL0MsSUFBSSxFQUFFLGlCQUFpQixDQUFDLEtBQUs7d0JBQzdCLElBQUksRUFBRSxJQUFJO3dCQUNWLFlBQVk7cUJBQ2IsQ0FBQyxDQUFBO2lCQUNMO2dCQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUE7YUFDckI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBcEpVLDBCQUEwQjs0R0FBMUIsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhIZWFkZXJzSGVscGVyLCBIdG1sSGVscGVyLCBUZXJtaW5vbG9neVNlcnZpY2UgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBJVHJhbnNsYXRlUGFyYWdyYXBoUmVxdWVzdFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vbW9kZWxzJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSwgVGxkVHJhbnNsYXRlU3lzdGVtTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgSUNoZWNrR3JhbW1hclJlc3BvbnNlVjIgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hlY2stZ3JhbW1hci1yZXNwb25zZS12Mi5tb2RlbCc7XHJcbmltcG9ydCB7IEhpZ2hsaWdodFBhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9oaWdobGlnaHQtcGFyYW1zLm1vZGVsJztcclxuaW1wb3J0IHsgSGlnaGxpZ2h0VHJlZVR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGlnaGxpZ2h0LXRyZWUtdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7IElIaWdobGlnaHRUcmVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpZ2hsaWdodC10cmVlLm1vZGVsJztcclxuaW1wb3J0IHsgSVRyYW5zbGF0ZVBhcmFncmFwaFBhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXBhcmFtcy5tb2RlbCc7XHJcbmltcG9ydCB7IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZVYyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zbGF0ZS1wYXJhZ3JhcGgtcmVzcG9uc2UtdjIubW9kZWwnO1xyXG5pbXBvcnQgeyBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNsYXRlLXBhcmFncmFwaC1yZXNwb25zZS5tb2RlbCc7XHJcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBEaWN0aW9uYXJ5UmVxdWVzdFBhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9kaWN0aW9uYXJ5LXJlcXVlc3QtcGFyYW1zLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZVRleHRBcGlTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVybWlub2xvZ3lTZXJ2aWNlOiBUZXJtaW5vbG9neVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlOiBUbGRUcmFuc2xhdGVTeXN0ZW1NYW5hZ2VtZW50U2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIHRyYW5zbGF0ZVBhcmFncmFwaChwYXJhbXM6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXF1ZXN0UGFyYW1zKTogT2JzZXJ2YWJsZTxJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXM6IElUcmFuc2xhdGVQYXJhZ3JhcGhQYXJhbXMgPSB7XHJcbiAgICAgIHRleHQ6IFtwYXJhbXMudGV4dF0sXHJcbiAgICAgIHRyZ0xhbmc6IHBhcmFtcy5zeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UsXHJcbiAgICAgIHNyY0xhbmc6IHBhcmFtcy5zeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA/PyBwYXJhbXMuc3lzdGVtLnNvdXJjZUxhbmd1YWdlLFxyXG4gICAgICBkb21haW46IHBhcmFtcy5zeXN0ZW0uZG9tYWluXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGN1cnJlbnRTeXN0ZW1JZCA9IHRoaXMuc3lzdGVtTWFuYWdlbWVudFNlcnZpY2UuZ2V0QWN0aXZlU3lzdGVtT2JqKCkuaWQ7XHJcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmVuZ2luZXNbY3VycmVudFN5c3RlbUlkXT8uc2VsZWN0ZWQ7XHJcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2VDb2xsZWN0aW9ucyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLkxPQ0FMX1NUT1JBR0VfS0VZKTtcclxuXHJcbiAgICBsZXQgY3VycmVudFN5c3RlbUNvbGxlY3Rpb247XHJcblxyXG4gICAgaWYgKGxvY2FsU3RvcmFnZUNvbGxlY3Rpb25zPy5sZW5ndGgpIHtcclxuICAgICAgY3VycmVudFN5c3RlbUNvbGxlY3Rpb24gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZUNvbGxlY3Rpb25zKVtjdXJyZW50U3lzdGVtSWRdID8/ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG5cdFx0XHRyZXF1ZXN0UGFyYW1zLnRlcm1Db2xsZWN0aW9ucyA9IHNlbGVjdGVkLm10Q29sbGVjdGlvbj8uaWQgPyBbc2VsZWN0ZWQubXRDb2xsZWN0aW9uPy5pZF0gOiBbc2VsZWN0ZWQudGVybUlkXTtcclxuXHRcdH0gZWxzZSBpZiAoY3VycmVudFN5c3RlbUNvbGxlY3Rpb24gJiYgcGFyYW1zLnN5c3RlbS5kZXRlY3RlZExhbmd1YWdlKSB7XHJcbiAgICAgIC8vIHdoZW4gbGFuZ3VhZ2UgaXMgZGV0ZWN0ZWQgd2Ugc2hvdWxkIGFsc28gY2hlY2sgaWYgdGhpcyBzeXN0ZW0gd2FzIHVzZWQgYmVmb3JlIGFuZCBpZiB0aGVyZSBjb2xsZWN0aW9uIHNlbGVjdGVkXHJcblx0XHRcdHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmdldENvbGxlY3Rpb25zKCkuc3Vic2NyaWJlKChjb2xsZWN0aW9uKSA9PiB7XHJcblx0XHRcdFx0aWYgKGN1cnJlbnRTeXN0ZW1Db2xsZWN0aW9uID09PSBjb2xsZWN0aW9uW2N1cnJlbnRTeXN0ZW1JZF0/LnNlbGVjdGVkPy5tdENvbGxlY3Rpb24/LmlkKSB7XHJcblx0XHRcdFx0XHRyZXF1ZXN0UGFyYW1zLnRlcm1Db2xsZWN0aW9ucyA9IFtjdXJyZW50U3lzdGVtQ29sbGVjdGlvbl07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcbiAgICBjb25zdCBzb3VyY2VUZXh0ID0gcGFyYW1zLnRleHQ7XHJcbiAgICBjb25zdCBzb3VyY2VUcmVlOiBJSGlnaGxpZ2h0VHJlZSA9IHtcclxuICAgICAgdGV4dDogSHRtbEhlbHBlci5lc2NhcGVIdG1sU3RyaW5nKHNvdXJjZVRleHQpLFxyXG4gICAgICBwYXJhZ3JhcGhJeDogcGFyYW1zLnBhcmFncmFwaEl4LFxyXG4gICAgICB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5QQVJBR1JBUEgsXHJcbiAgICAgIHJvb3Q6IG51bGwsXHJcbiAgICAgIG9yaWdpbmFsVGV4dDogc291cmNlVGV4dFxyXG4gICAgfTtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBBdXRoSGVhZGVyc0hlbHBlci5nZXRBcGlWMkF1dGhIZWFkZXJzKHRoaXMuY29uZmlnLmNvcmVDb25maWcueEFwaUtleSwgdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBJZCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLnRleHRDb25maWcuY2hlY2tTb3VyY2VHcmFtbWFyICYmIHRoaXMuY29uZmlnLnRleHRDb25maWcuZ3JhbW1hckNoZWNrTGFuZ3VhZ2VzLmluY2x1ZGVzKHBhcmFtcy5zeXN0ZW0uc291cmNlTGFuZ3VhZ2UpKSB7XHJcbiAgICAgIHRoaXMuY2hlY2tBbmRBdHRhY2hHcmFtbWFyVG9UcmVlKHBhcmFtcy50ZXh0LCBwYXJhbXMuc3lzdGVtLnNvdXJjZUxhbmd1YWdlLCBzb3VyY2VUcmVlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlVjI+KHRoaXMuY29uZmlnLnRleHRDb25maWcudHJhbnNsYXRpb25VcmwsIHJlcXVlc3RQYXJhbXMsIHsgaGVhZGVycyB9KS5waXBlKFxyXG4gICAgICBtYXAoKHRyYW5zbGF0aW9uUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBjb25zdCBzeXN0ZW1JZCA9IGAke3JlcXVlc3RQYXJhbXMuc3JjTGFuZ30tJHtyZXF1ZXN0UGFyYW1zLnRyZ0xhbmd9LSR7dHJhbnNsYXRpb25SZXNwb25zZS5kb21haW59YDtcclxuICAgICAgICBjb25zdCBvcmlnaW5hbFRyYW5zbGF0aW9uID0gdHJhbnNsYXRpb25SZXNwb25zZS50cmFuc2xhdGlvbnNbMF0udHJhbnNsYXRpb247XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0VHJlZTogSUhpZ2hsaWdodFRyZWUgPSB7XHJcbiAgICAgICAgICB0ZXh0OiBIdG1sSGVscGVyLmVzY2FwZUh0bWxTdHJpbmcob3JpZ2luYWxUcmFuc2xhdGlvbiksXHJcbiAgICAgICAgICBwYXJhZ3JhcGhJeDogcGFyYW1zLnBhcmFncmFwaEl4LFxyXG4gICAgICAgICAgdHlwZTogSGlnaGxpZ2h0VHJlZVR5cGUuUEFSQUdSQVBILFxyXG4gICAgICAgICAgcm9vdDogbnVsbCxcclxuICAgICAgICAgIG9yaWdpbmFsVGV4dDogb3JpZ2luYWxUcmFuc2xhdGlvblxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHNvdXJjZVRyZWUsXHJcbiAgICAgICAgICB0YXJnZXRUcmVlLFxyXG4gICAgICAgICAgc3lzdGVtSWRcclxuICAgICAgICB9O1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNoZWNrR3JhbW1hcih0ZXh0OiBzdHJpbmcsIGxhbmd1YWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElDaGVja0dyYW1tYXJSZXNwb25zZVYyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SUNoZWNrR3JhbW1hclJlc3BvbnNlVjI+KHRoaXMuY29uZmlnLnRleHRDb25maWcuZ3JhbW1hckNoZWNrVXJsLCB7IHRleHQsIGxhbmd1YWdlIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhpcyBtZXRob2Qgd2FzIGltcGxlbWVudGVkIGluIG9sZCBBUEkuIEJ1dCBpdCBpcyBsZWZ0IGhlcmUsIHNpbmNlIHRoZXJlIGlzIHBsYW5zIHRvIGltcGxlbWVudCBhbG9zbyBpbiBjdXJyZW50IEFQSS5cclxuICB1cGRhdGVUcmFuc2xhdGlvbihvcHRpb25zOiBzdHJpbmcsIHN5c3RlbUlEOiBzdHJpbmcsIHRleHQ6IHN0cmluZywgdHJhbnNsYXRpb246IHN0cmluZykge1xyXG4gICAgb3B0aW9uczsgc3lzdGVtSUQ7IHRleHQ7IHRyYW5zbGF0aW9uO1xyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKFwibWV0aG9kIG5vdCBpbXBsZW1lbnRlZCFcIikpO1xyXG4gIH1cclxuXHJcbiAgZGljdGlvbmFyeVRyYW5zbGF0aW9uKHRleHQ6IHN0cmluZywgc3JjQ29kZTogc3RyaW5nLCB0cmdDb2RlOiBzdHJpbmcpOiB7IHVybHM6IHN0cmluZ1tdOyByZXF1ZXN0OiBPYnNlcnZhYmxlPERpY3Rpb25hcnlbXVtdPiB9IHtcclxuXHRcdGNvbnN0IGRvbWFpblVybHM6IHN0cmluZ1tdID0gW107XHJcblx0XHRjb25zdCByZXF1ZXN0czogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuXHJcbiAgICBjb25zdCBwYXJhbXM6IERpY3Rpb25hcnlSZXF1ZXN0UGFyYW1zID0ge1xyXG4gICAgICB0ZXJtOiB0ZXh0LFxyXG4gICAgICBzb3VyY2VMYW5nOiBzcmNDb2RlLFxyXG4gICAgICB0YXJnZXRMYW5nOiB0cmdDb2RlXHJcbiAgICB9XHJcblxyXG5cdFx0dGhpcy5jb25maWcudGV4dENvbmZpZy5kaWN0aW9uYXJ5VXJscy5mb3JFYWNoKCh1cmwpID0+IHtcclxuXHRcdFx0cmVxdWVzdHMucHVzaCh0aGlzLmh0dHAuZ2V0PERpY3Rpb25hcnlbXT4odXJsLCA8YW55PnsgcGFyYW1zIH0pKTtcclxuXHRcdFx0ZG9tYWluVXJscy5wdXNoKHVybC5yZXBsYWNlKC9odHRwcz86XFwvXFwvKFteXFwvXSspLiovLCAnJDEnKSk7XHJcblx0XHR9KTtcclxuXHJcblx0XHRyZXR1cm4geyB1cmxzOiBkb21haW5VcmxzLCByZXF1ZXN0OiBmb3JrSm9pbihyZXF1ZXN0cykgfTtcclxuXHR9XHJcbiAgXHJcbiAgcHJpdmF0ZSBjaGVja0FuZEF0dGFjaEdyYW1tYXJUb1RyZWUodGV4dDogc3RyaW5nLCBsYW5ndWFnZTogc3RyaW5nLCB0cmVlOiBJSGlnaGxpZ2h0VHJlZSkge1xyXG4gICAgdGhpcy5jaGVja0dyYW1tYXIodGV4dCwgbGFuZ3VhZ2UpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBvZihudWxsKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoZ3JhbW1hckNoZWNrUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoZ3JhbW1hckNoZWNrUmVzcG9uc2U/LmNvcnJlY3Rpb25zPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0cmVlLmNoaWxkcmVuID0gW107XHJcbiAgICAgICAgICBsZXQgbGFzdEl4ID0gMDtcclxuICAgICAgICAgIGdyYW1tYXJDaGVja1Jlc3BvbnNlLmNvcnJlY3Rpb25zLmZvckVhY2goKGNvcnJlY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgd29yZFN0YXJ0SXggPSBjb3JyZWN0aW9uLnNwYW4uc3RhcnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHdvcmRFbmRJeCA9IGNvcnJlY3Rpb24uc3Bhbi5lbmQ7XHJcbiAgICAgICAgICAgIGlmIChsYXN0SXggPCB3b3JkU3RhcnRJeCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVGV4dCA9IHRleHQuc2xpY2UobGFzdEl4LCB3b3JkU3RhcnRJeCk7XHJcbiAgICAgICAgICAgICAgY29uc3QgZXNjYXBlZCA9IEh0bWxIZWxwZXIuZXNjYXBlSHRtbFN0cmluZyhvcmlnaW5hbFRleHQpO1xyXG4gICAgICAgICAgICAgIHRyZWUuY2hpbGRyZW4ucHVzaCh7IHRleHQ6IGVzY2FwZWQsIG9yaWdpbmFsVGV4dCwgdHlwZTogSGlnaGxpZ2h0VHJlZVR5cGUuT1RIRVIsIHJvb3Q6IHRyZWUgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVGV4dCA9IHRleHQuc2xpY2Uod29yZFN0YXJ0SXgsIHdvcmRFbmRJeCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkOiBJSGlnaGxpZ2h0VHJlZSA9IHtcclxuICAgICAgICAgICAgICB0ZXh0OiBIdG1sSGVscGVyLmVzY2FwZUh0bWxTdHJpbmcodGV4dC5zbGljZSh3b3JkU3RhcnRJeCwgd29yZEVuZEl4KSksXHJcbiAgICAgICAgICAgICAgY2xhc3M6IGAke0hpZ2hsaWdodFBhcmFtcy5pbnZhbGlkUGhyYXNlQ2xhc3N9YCxcclxuICAgICAgICAgICAgICBncmFtbWFyTWV0YToge1xyXG4gICAgICAgICAgICAgICAgc3RhcnRJeDogd29yZFN0YXJ0SXgsXHJcbiAgICAgICAgICAgICAgICBlbmRJeDogd29yZEVuZEl4LFxyXG4gICAgICAgICAgICAgICAgcmVwbGFjZW1lbnRzOiBjb3JyZWN0aW9uLnJlcGxhY2VtZW50cy5tYXAoZWwgPT4gZWwudmFsdWUpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5PVEhFUixcclxuICAgICAgICAgICAgICByb290OiB0cmVlLFxyXG4gICAgICAgICAgICAgIG9yaWdpbmFsVGV4dFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyZWUuY2hpbGRyZW4ucHVzaChjaGlsZClcclxuICAgICAgICAgICAgbGFzdEl4ID0gd29yZEVuZEl4O1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAobGFzdEl4ICE9IHRleHQubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbFRleHQgPSB0ZXh0LnNsaWNlKGxhc3RJeCwgdGV4dC5sZW5ndGggLSAxKTtcclxuICAgICAgICAgICAgdHJlZS5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRleHQ6IEh0bWxIZWxwZXIuZXNjYXBlSHRtbFN0cmluZyhvcmlnaW5hbFRleHQpLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogSGlnaGxpZ2h0VHJlZVR5cGUuT1RIRVIsXHJcbiAgICAgICAgICAgICAgICByb290OiB0cmVlLFxyXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxUZXh0XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRyZWUuY2hpbGRyZW4ucHVzaCgpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIl19