@tilde-nlp/ngx-translate 2.0.3-deepl-1 → 2.0.3-deepl-3
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/services/tld-alert.service.mjs +7 -3
- package/esm2020/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.mjs +3 -3
- package/esm2020/lib/modules/tld-text/services/api/tld-translate-text-api.service.mjs +58 -56
- package/esm2020/lib/modules/tld-text/services/tld-translate-text.service.mjs +13 -2
- package/esm2020/lib/tld-translate.component.mjs +27 -9
- package/fesm2015/tilde-nlp-ngx-translate.mjs +103 -69
- package/fesm2015/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/fesm2020/tilde-nlp-ngx-translate.mjs +102 -68
- package/fesm2020/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/lib/modules/tld-common/services/tld-alert.service.d.ts +2 -1
- package/lib/modules/tld-text/services/tld-translate-text.service.d.ts +2 -0
- package/lib/tld-translate.component.d.ts +2 -0
- package/package.json +1 -1
- package/src/assets/webcomponent/tld-translate.js +1 -1
- package/tilde-nlp-ngx-translate-2.0.3-deepl-3.tgz +0 -0
- package/tilde-nlp-ngx-translate-2.0.3-deepl-1.tgz +0 -0
|
@@ -49,6 +49,9 @@ export class TldAlertService {
|
|
|
49
49
|
warning(text, params) {
|
|
50
50
|
this.emit(NotificationMessageType.WARNING, text, null, params);
|
|
51
51
|
}
|
|
52
|
+
deleteMessage(type, text, params) {
|
|
53
|
+
this.emit(type, text, null, params, true);
|
|
54
|
+
}
|
|
52
55
|
unhandeledError(error, params) {
|
|
53
56
|
if (error) {
|
|
54
57
|
const errorKey = this.findErrorKey(error);
|
|
@@ -106,7 +109,7 @@ export class TldAlertService {
|
|
|
106
109
|
}
|
|
107
110
|
return this.errorKey + (errorKey ?? this.defaultErrorKey);
|
|
108
111
|
}
|
|
109
|
-
emit(type, text, error, params) {
|
|
112
|
+
emit(type, text, error, params, deleteMsg) {
|
|
110
113
|
// if there is no title for this text, text will be shown as title
|
|
111
114
|
const title = this.findPostfix(text, this.titlePostFix) ?? text;
|
|
112
115
|
const message = {
|
|
@@ -114,7 +117,8 @@ export class TldAlertService {
|
|
|
114
117
|
title,
|
|
115
118
|
type,
|
|
116
119
|
localizationParams: { ...this.defaultParams, ...params },
|
|
117
|
-
support: this.config.coreConfig.contactSupport ? this.findPostfix(text, this.supportPostFix) : null
|
|
120
|
+
support: this.config.coreConfig.contactSupport ? this.findPostfix(text, this.supportPostFix) : null,
|
|
121
|
+
delete: deleteMsg
|
|
118
122
|
};
|
|
119
123
|
if (error) {
|
|
120
124
|
message.error = error;
|
|
@@ -144,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
144
148
|
providedIn: 'root'
|
|
145
149
|
}]
|
|
146
150
|
}], ctorParameters: function () { return [{ type: i1.TldTranslateConfigService }]; } });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLWFsZXJ0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtY29tbW9uL3NlcnZpY2VzL3RsZC1hbGVydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF1Qix1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQU12RSxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUE2QixNQUFpQztRQUFqQyxXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUV0RCxtQkFBYyxHQUFpQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBU3BELG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxTQUFTLENBQUM7UUFDckIsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLDRCQUF1QixHQUFHLENBQUMsNEJBQTRCLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xHLHlFQUF5RTtRQUN4RCxpQkFBWSxHQUFHLFFBQVEsQ0FBQztRQUN6QyxnSEFBZ0g7UUFDL0YsbUJBQWMsR0FBRyxVQUFVLENBQUM7SUFsQnFCLENBQUM7SUFJbkUsSUFBSSxhQUFhO1FBQ2YsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZO1lBQzFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZO1NBQ2xELENBQUM7SUFDSixDQUFD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QUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ1Qsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZEO1lBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNqQyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdkQsT0FBTyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xFLENBQUM7OzRHQXJKVSxlQUFlO2dIQUFmLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uTWVzc2FnZSwgTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGF2YWlsYWJsZUxhbmd1YWdlcyB9IGZyb20gJy4uLy4uLy4uL2kxOG4vYXZhaWxhYmxlLWxhbmd1YWdlcyc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3RsZC10cmFuc2xhdGUtY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkQWxlcnRTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UpIHsgfVxyXG5cclxuICBwcml2YXRlIG1lc3NhZ2VTdWJqZWN0OiBTdWJqZWN0PE5vdGlmaWNhdGlvbk1lc3NhZ2U+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgZ2V0IGRlZmF1bHRQYXJhbXMoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlbWFpbDogdGhpcy5jb25maWcuY29yZUNvbmZpZy5zdXBwb3J0RW1haWwsXHJcbiAgICAgIHJlZ2lzdGVyTGluazogdGhpcy5jb25maWcuY29yZUNvbmZpZy5yZWdpc3RlckxpbmtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRFcnJvcktleSA9IFwiRVJST1JfREVGQVVMVFwiO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JLZXkgPSBcIkVSUk9SUy5cIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IG51bWVyaWNFcnJvcktleVByZWZpeCA9IFwiRV9cIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yVHJhbnNsYXRpb25TdWJLZXlzID0gW1wiRklMRV9UUkFOU0xBVElPTl9TVUJTVEFUVVNcIiwgXCJGSUxFX1VQTE9BRFwiLCBcIkFVRElPXCJdO1xyXG4gIC8vIGlmIG1lc3NhZ2Uga2V5IGhhcyBrZXkgd2l0aCB0aGlzIHBvc3RmaXgsIG1lc3NhZ2Ugc2hvdWxkIGJlIHdpdGggdGl0bGVcclxuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlUG9zdEZpeCA9IFwiX1RJVExFXCI7XHJcbiAgLy8gaWYgbWVzc2FnZSBrZXkgaGFzIGtleSB3aXRoIHRoaXMgcG9zdGZpeCwgbWVzc2FnZSBzaG91bGQgYmUgd2l0aCBzdXBwb3J0IGluZm8sIGl0IGlzIGNvbmZpZ3VyZWQgYW5kIHR1cm5lZCBvblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgc3VwcG9ydFBvc3RGaXggPSBcIl9TVVBQT1JUXCI7XHJcblxyXG4gIGRlZmF1bHRFcnJvcihlcnJvcj86IGFueSkge1xyXG5cclxuICAgIGlmIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgIH1cclxuICAgIHRoaXMuZXJyb3IoYCR7dGhpcy5lcnJvcktleX0ke3RoaXMuZGVmYXVsdEVycm9yS2V5fWAsIGVycm9yLCB0aGlzLmRlZmF1bHRQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWVzc2FnZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGJhc2ljKHRleHQ6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XHJcbiAgICB0aGlzLmVtaXQoTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuQkFTSUMsIHRleHQsIG51bGwsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBpbmZvKHRleHQ6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XHJcbiAgICB0aGlzLmVtaXQoTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuSU5GTywgdGV4dCwgbnVsbCwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHN1Y2Nlc3ModGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIHRoaXMuZW1pdChOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5TVUNDRVNTLCB0ZXh0LCBudWxsLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZXJyb3IodGV4dDogc3RyaW5nLCBlcnJvcjogYW55LCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgdGhpcy5lbWl0KE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLkVSUk9SLCB0ZXh0LCBlcnJvciwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHdhcm5pbmcodGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIHRoaXMuZW1pdChOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5XQVJOSU5HLCB0ZXh0LCBudWxsLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgdW5oYW5kZWxlZEVycm9yKGVycm9yOiBhbnksIHBhcmFtcz86IGFueSkge1xyXG4gICAgaWYgKGVycm9yKSB7XHJcbiAgICAgIGNvbnN0IGVycm9yS2V5ID0gdGhpcy5maW5kRXJyb3JLZXkoZXJyb3IpO1xyXG5cclxuICAgICAgaWYgKGVycm9yS2V5KSB7XHJcbiAgICAgICAgdGhpcy5lcnJvcihlcnJvcktleSwgZXJyb3IsIHBhcmFtcyA/PyB0aGlzLmRlZmF1bHRQYXJhbXMpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5kZWZhdWx0RXJyb3IoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgZmluZEVycm9yVGl0bGVBbmRMb2NhbGl6YXRpb25LZXkoZXJyb3I6IHVua25vd24pOiB7IHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcgfSB7XHJcbiAgICBjb25zdCBlcnJvckRlc2NyaXB0aW9uS2V5ID0gdGhpcy5maW5kRXJyb3JLZXkoZXJyb3IpO1xyXG4gICAgbGV0IGVycm9yVGl0bGVLZXkgPSBudWxsO1xyXG5cclxuICAgIGlmIChlcnJvckRlc2NyaXB0aW9uS2V5KSB7XHJcbiAgICAgIGVycm9yVGl0bGVLZXkgPSB0aGlzLmZpbmRQb3N0Zml4KGVycm9yRGVzY3JpcHRpb25LZXksIHRoaXMudGl0bGVQb3N0Rml4KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkZXNjcmlwdGlvbjogZXJyb3JEZXNjcmlwdGlvbktleSxcclxuICAgICAgdGl0bGU6IGVycm9yVGl0bGVLZXlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZEVycm9yS2V5KGVycm9yOiBhbnkpIHtcclxuICAgIGlmICghZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGVycm9yS2V5ID0gbnVsbDtcclxuICAgIGNvbnN0IGVycm9yVHJhbnNsYXRpb25zID0gYXZhaWxhYmxlTGFuZ3VhZ2VzLmVuLkVSUk9SUztcclxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIGVycm9yVHJhbnNsYXRpb25zW3RoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3Iuc3RhdHVzXSkge1xyXG4gICAgICBlcnJvcktleSA9IHRoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3Iuc3RhdHVzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuRXJyb3JDb2RlXSkge1xyXG4gICAgICBlcnJvcktleSA9IGVycm9yLkVycm9yQ29kZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVycm9yVHJhbnNsYXRpb25zW3RoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3IuRXJyb3JDb2RlXSkge1xyXG4gICAgICBlcnJvcktleSA9IHRoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3IuRXJyb3JDb2RlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuZXJyb3I/LkVycm9yQ29kZV0pIHtcclxuICAgICAgZXJyb3JLZXkgPSBlcnJvci5lcnJvcj8uRXJyb3JDb2RlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuZXJyb3JdKSB7XHJcbiAgICAgIGVycm9yS2V5ID0gZXJyb3IuZXJyb3I7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChlcnJvclRyYW5zbGF0aW9uc1t0aGlzLm51bWVyaWNFcnJvcktleVByZWZpeCArIGVycm9yLmVycm9yPy5FcnJvckNvZGVdKSB7XHJcbiAgICAgIGVycm9yS2V5ID0gdGhpcy5udW1lcmljRXJyb3JLZXlQcmVmaXggKyBlcnJvci5lcnJvcj8uRXJyb3JDb2RlXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFlcnJvcktleSkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZXJyb3JUcmFuc2xhdGlvblN1YktleXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb25zdCBzdWJLZXkgPSB0aGlzLmVycm9yVHJhbnNsYXRpb25TdWJLZXlzW2ldO1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBlcnJvclRyYW5zbGF0aW9uc1tzdWJLZXldO1xyXG4gICAgICAgIGlmIChlbGVtZW50W2Vycm9yLkVycm9yQ29kZV0pIHtcclxuICAgICAgICAgIGVycm9yS2V5ID0gYCR7c3ViS2V5fS4ke2Vycm9yLkVycm9yQ29kZX1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5lcnJvcktleSArIChlcnJvcktleSA/PyB0aGlzLmRlZmF1bHRFcnJvcktleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXQodHlwZTogTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUsIHRleHQ6IHN0cmluZywgZXJyb3I6IGFueSwgcGFyYW1zPzogYW55KSB7XHJcbiAgICAvLyBpZiB0aGVyZSBpcyBubyB0aXRsZSBmb3IgdGhpcyB0ZXh0LCB0ZXh0IHdpbGwgYmUgc2hvd24gYXMgdGl0bGVcclxuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5maW5kUG9zdGZpeCh0ZXh0LCB0aGlzLnRpdGxlUG9zdEZpeCkgPz8gdGV4dDtcclxuICAgIGNvbnN0IG1lc3NhZ2U6IE5vdGlmaWNhdGlvbk1lc3NhZ2UgPSB7XHJcbiAgICAgIGJvZHk6IHRleHQgPT09IHRpdGxlID8gbnVsbCA6IHRleHQsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICB0eXBlLFxyXG4gICAgICBsb2NhbGl6YXRpb25QYXJhbXM6IHsgLi4udGhpcy5kZWZhdWx0UGFyYW1zLCAuLi5wYXJhbXMgfSxcclxuICAgICAgc3VwcG9ydDogdGhpcy5jb25maWcuY29yZUNvbmZpZy5jb250YWN0U3VwcG9ydCA/IHRoaXMuZmluZFBvc3RmaXgodGV4dCwgdGhpcy5zdXBwb3J0UG9zdEZpeCkgOiBudWxsXHJcbiAgICB9O1xyXG4gICAgaWYgKGVycm9yKSB7XHJcbiAgICAgIG1lc3NhZ2UuZXJyb3IgPSBlcnJvcjtcclxuICAgIH1cclxuICAgIHRoaXMubWVzc2FnZVN1YmplY3QubmV4dChtZXNzYWdlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZFBvc3RmaXgodGV4dDogc3RyaW5nLCBwb3N0Zml4OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHBhcnRzID0gdGV4dC5zcGxpdChcIi5cIik7XHJcbiAgICBsZXQgbG9jYWxpemF0aW9uT2JqZWN0ID0gYXZhaWxhYmxlTGFuZ3VhZ2VzLmVuO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoaSA+IDApIHtcclxuICAgICAgICBsb2NhbGl6YXRpb25PYmplY3QgPSBsb2NhbGl6YXRpb25PYmplY3RbcGFydHNbaSAtIDFdXTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWxvY2FsaXphdGlvbk9iamVjdFtwYXJ0c1tpXV0pIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3Qga2V5V2l0aFRpdGxlID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV0gKyBwb3N0Zml4O1xyXG4gICAgcmV0dXJuIGxvY2FsaXphdGlvbk9iamVjdFtrZXlXaXRoVGl0bGVdID8gdGV4dCArIHBvc3RmaXggOiBudWxsO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLWFsZXJ0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtY29tbW9uL3NlcnZpY2VzL3RsZC1hbGVydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF1Qix1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQU12RSxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUE2QixNQUFpQztRQUFqQyxXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUV0RCxtQkFBYyxHQUFpQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBU3BELG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxTQUFTLENBQUM7UUFDckIsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLDRCQUF1QixHQUFHLENBQUMsNEJBQTRCLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xHLHlFQUF5RTtRQUN4RCxpQkFBWSxHQUFHLFFBQVEsQ0FBQztRQUN6QyxnSEFBZ0g7UUFDL0YsbUJBQWMsR0FBRyxVQUFVLENBQUM7SUFsQnFCLENBQUM7SUFJbkUsSUFBSSxhQUFhO1FBQ2YsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZO1lBQzFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZO1NBQ2xELENBQUM7SUFDSixDQUFD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TyxXQUFXLENBQUMsSUFBWSxFQUFFLE9BQWU7UUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztRQUMvQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ1Qsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZEO1lBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNqQyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdkQsT0FBTyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xFLENBQUM7OzRHQTFKVSxlQUFlO2dIQUFmLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uTWVzc2FnZSwgTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGF2YWlsYWJsZUxhbmd1YWdlcyB9IGZyb20gJy4uLy4uLy4uL2kxOG4vYXZhaWxhYmxlLWxhbmd1YWdlcyc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3RsZC10cmFuc2xhdGUtY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkQWxlcnRTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UpIHsgfVxyXG5cclxuICBwcml2YXRlIG1lc3NhZ2VTdWJqZWN0OiBTdWJqZWN0PE5vdGlmaWNhdGlvbk1lc3NhZ2U+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgZ2V0IGRlZmF1bHRQYXJhbXMoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlbWFpbDogdGhpcy5jb25maWcuY29yZUNvbmZpZy5zdXBwb3J0RW1haWwsXHJcbiAgICAgIHJlZ2lzdGVyTGluazogdGhpcy5jb25maWcuY29yZUNvbmZpZy5yZWdpc3RlckxpbmtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRFcnJvcktleSA9IFwiRVJST1JfREVGQVVMVFwiO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JLZXkgPSBcIkVSUk9SUy5cIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IG51bWVyaWNFcnJvcktleVByZWZpeCA9IFwiRV9cIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yVHJhbnNsYXRpb25TdWJLZXlzID0gW1wiRklMRV9UUkFOU0xBVElPTl9TVUJTVEFUVVNcIiwgXCJGSUxFX1VQTE9BRFwiLCBcIkFVRElPXCJdO1xyXG4gIC8vIGlmIG1lc3NhZ2Uga2V5IGhhcyBrZXkgd2l0aCB0aGlzIHBvc3RmaXgsIG1lc3NhZ2Ugc2hvdWxkIGJlIHdpdGggdGl0bGVcclxuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlUG9zdEZpeCA9IFwiX1RJVExFXCI7XHJcbiAgLy8gaWYgbWVzc2FnZSBrZXkgaGFzIGtleSB3aXRoIHRoaXMgcG9zdGZpeCwgbWVzc2FnZSBzaG91bGQgYmUgd2l0aCBzdXBwb3J0IGluZm8sIGl0IGlzIGNvbmZpZ3VyZWQgYW5kIHR1cm5lZCBvblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgc3VwcG9ydFBvc3RGaXggPSBcIl9TVVBQT1JUXCI7XHJcblxyXG4gIGRlZmF1bHRFcnJvcihlcnJvcj86IGFueSkge1xyXG5cclxuICAgIGlmIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgIH1cclxuICAgIHRoaXMuZXJyb3IoYCR7dGhpcy5lcnJvcktleX0ke3RoaXMuZGVmYXVsdEVycm9yS2V5fWAsIGVycm9yLCB0aGlzLmRlZmF1bHRQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWVzc2FnZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGJhc2ljKHRleHQ6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XHJcbiAgICB0aGlzLmVtaXQoTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuQkFTSUMsIHRleHQsIG51bGwsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBpbmZvKHRleHQ6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XHJcbiAgICB0aGlzLmVtaXQoTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuSU5GTywgdGV4dCwgbnVsbCwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHN1Y2Nlc3ModGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIHRoaXMuZW1pdChOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5TVUNDRVNTLCB0ZXh0LCBudWxsLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZXJyb3IodGV4dDogc3RyaW5nLCBlcnJvcjogYW55LCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgdGhpcy5lbWl0KE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLkVSUk9SLCB0ZXh0LCBlcnJvciwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHdhcm5pbmcodGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIHRoaXMuZW1pdChOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5XQVJOSU5HLCB0ZXh0LCBudWxsLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlTWVzc2FnZSh0eXBlOiBOb3RpZmljYXRpb25NZXNzYWdlVHlwZSwgdGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuZW1pdCh0eXBlLCB0ZXh0LCBudWxsLCBwYXJhbXMsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgdW5oYW5kZWxlZEVycm9yKGVycm9yOiBhbnksIHBhcmFtcz86IGFueSkge1xyXG4gICAgaWYgKGVycm9yKSB7XHJcbiAgICAgIGNvbnN0IGVycm9yS2V5ID0gdGhpcy5maW5kRXJyb3JLZXkoZXJyb3IpO1xyXG5cclxuICAgICAgaWYgKGVycm9yS2V5KSB7XHJcbiAgICAgICAgdGhpcy5lcnJvcihlcnJvcktleSwgZXJyb3IsIHBhcmFtcyA/PyB0aGlzLmRlZmF1bHRQYXJhbXMpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5kZWZhdWx0RXJyb3IoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgZmluZEVycm9yVGl0bGVBbmRMb2NhbGl6YXRpb25LZXkoZXJyb3I6IHVua25vd24pOiB7IHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcgfSB7XHJcbiAgICBjb25zdCBlcnJvckRlc2NyaXB0aW9uS2V5ID0gdGhpcy5maW5kRXJyb3JLZXkoZXJyb3IpO1xyXG4gICAgbGV0IGVycm9yVGl0bGVLZXkgPSBudWxsO1xyXG5cclxuICAgIGlmIChlcnJvckRlc2NyaXB0aW9uS2V5KSB7XHJcbiAgICAgIGVycm9yVGl0bGVLZXkgPSB0aGlzLmZpbmRQb3N0Zml4KGVycm9yRGVzY3JpcHRpb25LZXksIHRoaXMudGl0bGVQb3N0Rml4KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkZXNjcmlwdGlvbjogZXJyb3JEZXNjcmlwdGlvbktleSxcclxuICAgICAgdGl0bGU6IGVycm9yVGl0bGVLZXlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZEVycm9yS2V5KGVycm9yOiBhbnkpIHtcclxuICAgIGlmICghZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGVycm9yS2V5ID0gbnVsbDtcclxuICAgIGNvbnN0IGVycm9yVHJhbnNsYXRpb25zID0gYXZhaWxhYmxlTGFuZ3VhZ2VzLmVuLkVSUk9SUztcclxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIGVycm9yVHJhbnNsYXRpb25zW3RoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3Iuc3RhdHVzXSkge1xyXG4gICAgICBlcnJvcktleSA9IHRoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3Iuc3RhdHVzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuRXJyb3JDb2RlXSkge1xyXG4gICAgICBlcnJvcktleSA9IGVycm9yLkVycm9yQ29kZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVycm9yVHJhbnNsYXRpb25zW3RoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3IuRXJyb3JDb2RlXSkge1xyXG4gICAgICBlcnJvcktleSA9IHRoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3IuRXJyb3JDb2RlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuZXJyb3I/LkVycm9yQ29kZV0pIHtcclxuICAgICAgZXJyb3JLZXkgPSBlcnJvci5lcnJvcj8uRXJyb3JDb2RlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuZXJyb3JdKSB7XHJcbiAgICAgIGVycm9yS2V5ID0gZXJyb3IuZXJyb3I7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChlcnJvclRyYW5zbGF0aW9uc1t0aGlzLm51bWVyaWNFcnJvcktleVByZWZpeCArIGVycm9yLmVycm9yPy5FcnJvckNvZGVdKSB7XHJcbiAgICAgIGVycm9yS2V5ID0gdGhpcy5udW1lcmljRXJyb3JLZXlQcmVmaXggKyBlcnJvci5lcnJvcj8uRXJyb3JDb2RlXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFlcnJvcktleSkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZXJyb3JUcmFuc2xhdGlvblN1YktleXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb25zdCBzdWJLZXkgPSB0aGlzLmVycm9yVHJhbnNsYXRpb25TdWJLZXlzW2ldO1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBlcnJvclRyYW5zbGF0aW9uc1tzdWJLZXldO1xyXG4gICAgICAgIGlmIChlbGVtZW50W2Vycm9yLkVycm9yQ29kZV0pIHtcclxuICAgICAgICAgIGVycm9yS2V5ID0gYCR7c3ViS2V5fS4ke2Vycm9yLkVycm9yQ29kZX1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5lcnJvcktleSArIChlcnJvcktleSA/PyB0aGlzLmRlZmF1bHRFcnJvcktleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXQodHlwZTogTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUsIHRleHQ6IHN0cmluZywgZXJyb3I6IGFueSwgcGFyYW1zPzogYW55LCBkZWxldGVNc2c/OiBib29sZWFuKSB7XHJcbiAgICAvLyBpZiB0aGVyZSBpcyBubyB0aXRsZSBmb3IgdGhpcyB0ZXh0LCB0ZXh0IHdpbGwgYmUgc2hvd24gYXMgdGl0bGVcclxuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5maW5kUG9zdGZpeCh0ZXh0LCB0aGlzLnRpdGxlUG9zdEZpeCkgPz8gdGV4dDtcclxuICAgIGNvbnN0IG1lc3NhZ2U6IE5vdGlmaWNhdGlvbk1lc3NhZ2UgPSB7XHJcbiAgICAgIGJvZHk6IHRleHQgPT09IHRpdGxlID8gbnVsbCA6IHRleHQsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICB0eXBlLFxyXG4gICAgICBsb2NhbGl6YXRpb25QYXJhbXM6IHsgLi4udGhpcy5kZWZhdWx0UGFyYW1zLCAuLi5wYXJhbXMgfSxcclxuICAgICAgc3VwcG9ydDogdGhpcy5jb25maWcuY29yZUNvbmZpZy5jb250YWN0U3VwcG9ydCA/IHRoaXMuZmluZFBvc3RmaXgodGV4dCwgdGhpcy5zdXBwb3J0UG9zdEZpeCkgOiBudWxsLFxyXG4gICAgICBkZWxldGU6IGRlbGV0ZU1zZ1xyXG4gICAgfTtcclxuICAgIGlmIChlcnJvcikge1xyXG4gICAgICBtZXNzYWdlLmVycm9yID0gZXJyb3I7XHJcbiAgICB9XHJcbiAgICB0aGlzLm1lc3NhZ2VTdWJqZWN0Lm5leHQobWVzc2FnZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRQb3N0Zml4KHRleHQ6IHN0cmluZywgcG9zdGZpeDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBwYXJ0cyA9IHRleHQuc3BsaXQoXCIuXCIpO1xyXG4gICAgbGV0IGxvY2FsaXphdGlvbk9iamVjdCA9IGF2YWlsYWJsZUxhbmd1YWdlcy5lbjtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGkgPiAwKSB7XHJcbiAgICAgICAgbG9jYWxpemF0aW9uT2JqZWN0ID0gbG9jYWxpemF0aW9uT2JqZWN0W3BhcnRzW2kgLSAxXV07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFsb2NhbGl6YXRpb25PYmplY3RbcGFydHNbaV1dKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGtleVdpdGhUaXRsZSA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdICsgcG9zdGZpeDtcclxuICAgIHJldHVybiBsb2NhbGl6YXRpb25PYmplY3Rba2V5V2l0aFRpdGxlXSA/IHRleHQgKyBwb3N0Zml4IDogbnVsbDtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
|
|
@@ -87,10 +87,10 @@ export class HighlightTreeComponent {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
HighlightTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HighlightTreeComponent, deps: [{ token: i1.TldHighlightService }], target: i0.ɵɵFactoryTarget.Component });
|
|
90
|
-
HighlightTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HighlightTreeComponent, selector: "tld-highlight-tree", inputs: { tree: "tree", isSource: "isSource", correctionsEnabled: "correctionsEnabled", highlight: "highlight", gramCheck: "gramCheck", selectSentence: "selectSentence" }, outputs: { onReplace: "onReplace" }, ngImport: i0, template: "<ng-template #highlightTree let-tree=\"tree\">\r\n <ng-container *ngIf=\"!tree.children\">\r\n <ng-container *ngIf=\"tree.text\">\r\n <ng-container *ngIf=\"tree.grammarMeta && gramCheck\">\r\n <mat-menu #menu=\"matMenu\" class=\"grammar-check-menu\">\r\n <div class=\"title\">\r\n {{'GRAMMAR_CHECK_MENU.TITLE' | translate}}\r\n </div>\r\n <div *ngFor=\"let replacement of tree.grammarMeta.replacements\">\r\n <button mat-button color=\"accent\" (click)=\"replace(tree, replacement)\">\r\n {{replacement}}\r\n </button>\r\n </div>\r\n </mat-menu>\r\n <span #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"{{tree.class}}\"\r\n [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\" (click)=\"gramCheckMenu(tree, menuTrigger)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"!(tree.grammarMeta && gramCheck)\">\r\n <span class=\"{{tree.class}}\" [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!tree.text\">\r\n <br>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"tree.children\">\r\n <span [ngClass]=\"{'selected-sentence': isSelectedSentence(tree)}\" class=\"highlight-tree-child-wrapper {{tree.class}}\"\r\n (mouseenter)=\"mouseEnter($event)\" (mouseleave)=\"mouseLeave($event)\" (click)=\"parentClick(tree)\">\r\n <ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\">\r\n </ng-template>\r\n </ng-template>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div
|
|
90
|
+
HighlightTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HighlightTreeComponent, selector: "tld-highlight-tree", inputs: { tree: "tree", isSource: "isSource", correctionsEnabled: "correctionsEnabled", highlight: "highlight", gramCheck: "gramCheck", selectSentence: "selectSentence" }, outputs: { onReplace: "onReplace" }, ngImport: i0, template: "<ng-template #highlightTree let-tree=\"tree\">\r\n <ng-container *ngIf=\"!tree.children\">\r\n <ng-container *ngIf=\"tree.text\">\r\n <ng-container *ngIf=\"tree.grammarMeta && gramCheck\">\r\n <mat-menu #menu=\"matMenu\" class=\"grammar-check-menu\">\r\n <div class=\"title\">\r\n {{'GRAMMAR_CHECK_MENU.TITLE' | translate}}\r\n </div>\r\n <div *ngFor=\"let replacement of tree.grammarMeta.replacements\">\r\n <button mat-button color=\"accent\" (click)=\"replace(tree, replacement)\">\r\n {{replacement}}\r\n </button>\r\n </div>\r\n </mat-menu>\r\n <span #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"{{tree.class}}\"\r\n [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\" (click)=\"gramCheckMenu(tree, menuTrigger)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"!(tree.grammarMeta && gramCheck)\">\r\n <span class=\"{{tree.class}}\" [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!tree.text\">\r\n <br>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"tree.children\">\r\n <span [ngClass]=\"{'selected-sentence': isSelectedSentence(tree)}\" class=\"highlight-tree-child-wrapper {{tree.class}}\"\r\n (mouseenter)=\"mouseEnter($event)\" (mouseleave)=\"mouseLeave($event)\" (click)=\"parentClick(tree)\">\r\n <ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\">\r\n </ng-template>\r\n </ng-template>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div>\r\n", styles: ["span{white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
91
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HighlightTreeComponent, decorators: [{
|
|
92
92
|
type: Component,
|
|
93
|
-
args: [{ selector: 'tld-highlight-tree', template: "<ng-template #highlightTree let-tree=\"tree\">\r\n <ng-container *ngIf=\"!tree.children\">\r\n <ng-container *ngIf=\"tree.text\">\r\n <ng-container *ngIf=\"tree.grammarMeta && gramCheck\">\r\n <mat-menu #menu=\"matMenu\" class=\"grammar-check-menu\">\r\n <div class=\"title\">\r\n {{'GRAMMAR_CHECK_MENU.TITLE' | translate}}\r\n </div>\r\n <div *ngFor=\"let replacement of tree.grammarMeta.replacements\">\r\n <button mat-button color=\"accent\" (click)=\"replace(tree, replacement)\">\r\n {{replacement}}\r\n </button>\r\n </div>\r\n </mat-menu>\r\n <span #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"{{tree.class}}\"\r\n [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\" (click)=\"gramCheckMenu(tree, menuTrigger)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"!(tree.grammarMeta && gramCheck)\">\r\n <span class=\"{{tree.class}}\" [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!tree.text\">\r\n <br>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"tree.children\">\r\n <span [ngClass]=\"{'selected-sentence': isSelectedSentence(tree)}\" class=\"highlight-tree-child-wrapper {{tree.class}}\"\r\n (mouseenter)=\"mouseEnter($event)\" (mouseleave)=\"mouseLeave($event)\" (click)=\"parentClick(tree)\">\r\n <ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\">\r\n </ng-template>\r\n </ng-template>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div
|
|
93
|
+
args: [{ selector: 'tld-highlight-tree', template: "<ng-template #highlightTree let-tree=\"tree\">\r\n <ng-container *ngIf=\"!tree.children\">\r\n <ng-container *ngIf=\"tree.text\">\r\n <ng-container *ngIf=\"tree.grammarMeta && gramCheck\">\r\n <mat-menu #menu=\"matMenu\" class=\"grammar-check-menu\">\r\n <div class=\"title\">\r\n {{'GRAMMAR_CHECK_MENU.TITLE' | translate}}\r\n </div>\r\n <div *ngFor=\"let replacement of tree.grammarMeta.replacements\">\r\n <button mat-button color=\"accent\" (click)=\"replace(tree, replacement)\">\r\n {{replacement}}\r\n </button>\r\n </div>\r\n </mat-menu>\r\n <span #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"{{tree.class}}\"\r\n [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\" (click)=\"gramCheckMenu(tree, menuTrigger)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"!(tree.grammarMeta && gramCheck)\">\r\n <span class=\"{{tree.class}}\" [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!tree.text\">\r\n <br>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"tree.children\">\r\n <span [ngClass]=\"{'selected-sentence': isSelectedSentence(tree)}\" class=\"highlight-tree-child-wrapper {{tree.class}}\"\r\n (mouseenter)=\"mouseEnter($event)\" (mouseleave)=\"mouseLeave($event)\" (click)=\"parentClick(tree)\">\r\n <ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\">\r\n </ng-template>\r\n </ng-template>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div>\r\n", styles: ["span{white-space:pre-wrap}\n"] }]
|
|
94
94
|
}], ctorParameters: function () { return [{ type: i1.TldHighlightService }]; }, propDecorators: { tree: [{
|
|
95
95
|
type: Input
|
|
96
96
|
}], isSource: [{
|
|
@@ -106,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
106
106
|
}], onReplace: [{
|
|
107
107
|
type: Output
|
|
108
108
|
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvY29tcG9uZW50cy9oaWdobGlnaHQtdHJlZS9oaWdobGlnaHQtdHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL2hpZ2hsaWdodC10cmVlL2hpZ2hsaWdodC10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7OztBQVEzRSxNQUFNLE9BQU8sc0JBQXNCO0lBVWpDLFlBQTZCLGdCQUFxQztRQUFyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBTnpELHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUlsQyxjQUFTLEdBQTJDLElBQUksWUFBWSxFQUFFLENBQUM7SUFFWCxDQUFDO0lBRXZFLFVBQVUsQ0FBQyxLQUFpQjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBaUI7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQW9C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eEQsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDekQ7aUJBQ0k7Z0JBQ0gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQzNELE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQzVEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBWTtRQUN6QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ25DLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN4RCxJQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFBQztnQkFDMUQsT0FBTyxNQUFNLENBQUM7YUFDZjtZQUNELE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzttSEE1RlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsMlFDYm5DLHN5RUEyQ007MkZEOUJPLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7MEdBTXJCLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgVGxkSGlnaGxpZ2h0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJR3JhbW1hckNoZWNrUmVwbGFjZW1lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JhbW1hci1jaGVjay1yZXBsYWNlbWVudC5tb2RlbCc7XHJcbmltcG9ydCB7IEhpZ2hsaWdodFBhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9oaWdobGlnaHQtcGFyYW1zLm1vZGVsJztcclxuaW1wb3J0IHsgSGlnaGxpZ2h0VHJlZVR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGlnaGxpZ2h0LXRyZWUtdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7IElIaWdobGlnaHRUcmVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpZ2hsaWdodC10cmVlLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLWhpZ2hsaWdodC10cmVlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGlnaGxpZ2h0LXRyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hpZ2hsaWdodC10cmVlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodFRyZWVDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSB0cmVlOiBJSGlnaGxpZ2h0VHJlZTtcclxuICBASW5wdXQoKSBpc1NvdXJjZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjb3JyZWN0aW9uc0VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGhpZ2hsaWdodDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBncmFtQ2hlY2s6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2VsZWN0U2VudGVuY2U6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIG9uUmVwbGFjZTogRXZlbnRFbWl0dGVyPElHcmFtbWFyQ2hlY2tSZXBsYWNlbWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaGlnaGxpZ2h0U2VydmljZTogVGxkSGlnaGxpZ2h0U2VydmljZSkgeyB9XHJcblxyXG4gIG1vdXNlRW50ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMub25Nb3VzZUV2ZW50KGV2ZW50LCB0aGlzLmlzU291cmNlLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIG1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMub25Nb3VzZUV2ZW50KGV2ZW50LCB0aGlzLmlzU291cmNlLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBncmFtQ2hlY2tNZW51KHRyZWU6IElIaWdobGlnaHRUcmVlLCBtZW51VHJpZ2dlcj86IE1hdE1lbnVUcmlnZ2VyKSB7XHJcbiAgICBpZiAodHJlZS5ncmFtbWFyTWV0YSAmJiB0aGlzLmdyYW1DaGVjaykge1xyXG4gICAgICBtZW51VHJpZ2dlci5vcGVuTWVudSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVwbGFjZSh0cmVlOiBJSGlnaGxpZ2h0VHJlZSwgcmVwbGFjZW1lbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5vblJlcGxhY2UubmV4dCh7XHJcbiAgICAgIGVuZEl4OiB0cmVlLmdyYW1tYXJNZXRhLmVuZEl4LFxyXG4gICAgICBwYXJhZ3JhcGhJeDogdHJlZS5wYXJhZ3JhcGhJeCA/PyB0cmVlLnJvb3Q/LnBhcmFncmFwaEl4LFxyXG4gICAgICByZXBsYWNlbWVudDogcmVwbGFjZW1lbnQsXHJcbiAgICAgIHN0YXJ0SXg6IHRyZWUuZ3JhbW1hck1ldGEuc3RhcnRJeFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwYXJlbnRDbGljayh0cmVlOiBJSGlnaGxpZ2h0VHJlZSkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0U2VudGVuY2UgJiYgdHJlZS50eXBlID09PSBIaWdobGlnaHRUcmVlVHlwZS5TRU5URU5DRSkge1xyXG4gICAgICB0aGlzLmhpZ2hsaWdodFNlcnZpY2UuY2hhbmdlU2VsZWN0ZWRUYXJnZXRTZW50ZW5jZSh7IHBhcmFncmFwaEl4OiB0cmVlLnBhcmFncmFwaEl4ID8/IHRyZWUucm9vdD8ucGFyYWdyYXBoSXgsIHNlbnRlbmNlSXg6IE51bWJlcih0cmVlLmVsZW1lbnRJZCkgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1NlbGVjdGVkU2VudGVuY2UodHJlZTogSUhpZ2hsaWdodFRyZWUpIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdFNlbnRlbmNlICYmIHRyZWUudHlwZSA9PT0gSGlnaGxpZ2h0VHJlZVR5cGUuU0VOVEVOQ0VcclxuICAgICAgJiYgdGhpcy5oaWdobGlnaHRTZXJ2aWNlLnNlbGVjdGVkVGFyZ2V0U2VudGVuY2U/LnBhcmFncmFwaEl4ID09PSAodHJlZS5wYXJhZ3JhcGhJeCA/PyB0cmVlLnJvb3Q/LnBhcmFncmFwaEl4KVxyXG4gICAgICAmJiB0aGlzLmhpZ2hsaWdodFNlcnZpY2Uuc2VsZWN0ZWRUYXJnZXRTZW50ZW5jZS5zZW50ZW5jZUl4LnRvU3RyaW5nKCkgPT09IHRyZWUuZWxlbWVudElkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbk1vdXNlRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQsIGlzU291cmNlOiBib29sZWFuLCBpc01vdXNlRW50ZXI6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgRWxlbWVudDtcclxuICAgIGxldCBlbGVtZW50V2l0aFNpYmxpbmdzID0gW2VsZW1lbnRdO1xyXG5cclxuICAgIGlmICh0aGlzLmhpZ2hsaWdodCkge1xyXG4gICAgICBsZXQgc2libGluZ1BhcmVudENsYXNzOiBzdHJpbmc7XHJcbiAgICAgIGlmIChpc1NvdXJjZSkge1xyXG4gICAgICAgIHNpYmxpbmdQYXJlbnRDbGFzcyA9IEhpZ2hsaWdodFBhcmFtcy50YXJnZXRIaWdobGlnaHRDbGFzcztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBzaWJsaW5nUGFyZW50Q2xhc3MgPSBIaWdobGlnaHRQYXJhbXMuc291cmNlSGlnaGxpZ2h0Q2xhc3M7XHJcbiAgICAgIH1cclxuICAgICAgZWxlbWVudC5jbGFzc0xpc3QuZm9yRWFjaCgoY2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAoY2xhc3NOYW1lLmluY2x1ZGVzKEhpZ2hsaWdodFBhcmFtcy5zaWJsaW5nQ2xhc3MpKSB7XHJcbiAgICAgICAgICBjb25zdCBxdWVyeVNlbGVjdG9yID0gYC4ke3NpYmxpbmdQYXJlbnRDbGFzc30gLiR7Y2xhc3NOYW1lLnJlcGxhY2UoSGlnaGxpZ2h0UGFyYW1zLnNpYmxpbmdDbGFzcywgSGlnaGxpZ2h0UGFyYW1zLndvcmRDbGFzcyl9YDtcclxuICAgICAgICAgIGVsZW1lbnRXaXRoU2libGluZ3MgPSBlbGVtZW50V2l0aFNpYmxpbmdzLmNvbmNhdChBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocXVlcnlTZWxlY3RvcikpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGVsZW1lbnRXaXRoU2libGluZ3MuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAvLyBuZWNlc3NhcnkgdG8gaGlnaGxpZ2h0IGFsc28gc2libGluZyBzZW50ZW5jZSwgbm90IG9ubHkgc2libGluZy5cclxuICAgICAgbGV0IHBhcmVudCA9IHRoaXMuZmluZFdvcmRQYXJlbnRTZW50ZW5jZShlbGVtZW50KTtcclxuXHJcbiAgICAgIGlmIChpc01vdXNlRW50ZXIpIHtcclxuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoSGlnaGxpZ2h0UGFyYW1zLmhvdmVyZWRDbGFzc05hbWUpO1xyXG4gICAgICAgIHBhcmVudD8uY2xhc3NMaXN0LmFkZChIaWdobGlnaHRQYXJhbXMuaG92ZXJlZENsYXNzTmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKEhpZ2hsaWdodFBhcmFtcy5ob3ZlcmVkQ2xhc3NOYW1lKTtcclxuICAgICAgICBwYXJlbnQ/LmNsYXNzTGlzdC5yZW1vdmUoSGlnaGxpZ2h0UGFyYW1zLmhvdmVyZWRDbGFzc05hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZFdvcmRQYXJlbnRTZW50ZW5jZShlbGVtZW50OiBhbnkpe1xyXG4gICAgY29uc3QgbWF4RGlzdGFuY2VUb1BhcmVudCA9IDI7XHJcbiAgICBsZXQgcGFyZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1heERpc3RhbmNlVG9QYXJlbnQ7IGluZGV4KyspIHtcclxuICAgICAgaWYocGFyZW50LmNsYXNzTGlzdC5jb250YWlucyhIaWdobGlnaHRQYXJhbXMuc2VudGVuY2VDbGFzcykpe1xyXG4gICAgICAgIHJldHVybiBwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNoaWdobGlnaHRUcmVlIGxldC10cmVlPVwidHJlZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0cmVlLmNoaWxkcmVuXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyZWUudGV4dFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJlZS5ncmFtbWFyTWV0YSAmJiBncmFtQ2hlY2tcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cImdyYW1tYXItY2hlY2stbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eydHUkFNTUFSX0NIRUNLX01FTlUuVElUTEUnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByZXBsYWNlbWVudCBvZiB0cmVlLmdyYW1tYXJNZXRhLnJlcGxhY2VtZW50c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwicmVwbGFjZSh0cmVlLCByZXBsYWNlbWVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwbGFjZW1lbnR9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAjbWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJ7e3RyZWUuY2xhc3N9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJ0cmVlLnRleHRcIiAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyKCRldmVudClcIiAoY2xpY2spPVwiZ3JhbUNoZWNrTWVudSh0cmVlLCBtZW51VHJpZ2dlcilcIlxyXG4gICAgICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm1vdXNlTGVhdmUoJGV2ZW50KVwiPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISh0cmVlLmdyYW1tYXJNZXRhICYmIGdyYW1DaGVjaylcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwie3t0cmVlLmNsYXNzfX1cIiBbaW5uZXJIVE1MXT1cInRyZWUudGV4dFwiIChtb3VzZWVudGVyKT1cIm1vdXNlRW50ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZSgkZXZlbnQpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRyZWUudGV4dFwiPlxyXG4gICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmVlLmNoaWxkcmVuXCI+XHJcbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydzZWxlY3RlZC1zZW50ZW5jZSc6IGlzU2VsZWN0ZWRTZW50ZW5jZSh0cmVlKX1cIiBjbGFzcz1cImhpZ2hsaWdodC10cmVlLWNoaWxkLXdyYXBwZXIge3t0cmVlLmNsYXNzfX1cIlxyXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyKCRldmVudClcIiAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlKCRldmVudClcIiAoY2xpY2spPVwicGFyZW50Q2xpY2sodHJlZSlcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1jaGlsZCBbbmdGb3JPZl09XCJ0cmVlLmNoaWxkcmVuXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGlnaGxpZ2h0VHJlZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHRyZWU6IGNoaWxkIH1cIj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuXHJcbjxkaXYgKm5nSWY9XCJ0cmVlXCIgY2xhc3M9XCJ0bGQtaGlnaGxpZ2h0LXRyZWVcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoaWdobGlnaHRUcmVlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgdHJlZTogdHJlZSB9XCI+PC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+Il19
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvY29tcG9uZW50cy9oaWdobGlnaHQtdHJlZS9oaWdobGlnaHQtdHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL2hpZ2hsaWdodC10cmVlL2hpZ2hsaWdodC10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7OztBQVEzRSxNQUFNLE9BQU8sc0JBQXNCO0lBVWpDLFlBQTZCLGdCQUFxQztRQUFyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBTnpELHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUlsQyxjQUFTLEdBQTJDLElBQUksWUFBWSxFQUFFLENBQUM7SUFFWCxDQUFDO0lBRXZFLFVBQVUsQ0FBQyxLQUFpQjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBaUI7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQW9C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eEQsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDekQ7aUJBQ0k7Z0JBQ0gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQzNELE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQzVEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBWTtRQUN6QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ25DLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN4RCxJQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFBQztnQkFDMUQsT0FBTyxNQUFNLENBQUM7YUFDZjtZQUNELE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzttSEE1RlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsMlFDYm5DLDB5RUE0Q0E7MkZEL0JhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7MEdBTXJCLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgVGxkSGlnaGxpZ2h0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJR3JhbW1hckNoZWNrUmVwbGFjZW1lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JhbW1hci1jaGVjay1yZXBsYWNlbWVudC5tb2RlbCc7XHJcbmltcG9ydCB7IEhpZ2hsaWdodFBhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9oaWdobGlnaHQtcGFyYW1zLm1vZGVsJztcclxuaW1wb3J0IHsgSGlnaGxpZ2h0VHJlZVR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGlnaGxpZ2h0LXRyZWUtdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7IElIaWdobGlnaHRUcmVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpZ2hsaWdodC10cmVlLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLWhpZ2hsaWdodC10cmVlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGlnaGxpZ2h0LXRyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hpZ2hsaWdodC10cmVlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodFRyZWVDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSB0cmVlOiBJSGlnaGxpZ2h0VHJlZTtcclxuICBASW5wdXQoKSBpc1NvdXJjZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjb3JyZWN0aW9uc0VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGhpZ2hsaWdodDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBncmFtQ2hlY2s6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2VsZWN0U2VudGVuY2U6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIG9uUmVwbGFjZTogRXZlbnRFbWl0dGVyPElHcmFtbWFyQ2hlY2tSZXBsYWNlbWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaGlnaGxpZ2h0U2VydmljZTogVGxkSGlnaGxpZ2h0U2VydmljZSkgeyB9XHJcblxyXG4gIG1vdXNlRW50ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMub25Nb3VzZUV2ZW50KGV2ZW50LCB0aGlzLmlzU291cmNlLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIG1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMub25Nb3VzZUV2ZW50KGV2ZW50LCB0aGlzLmlzU291cmNlLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBncmFtQ2hlY2tNZW51KHRyZWU6IElIaWdobGlnaHRUcmVlLCBtZW51VHJpZ2dlcj86IE1hdE1lbnVUcmlnZ2VyKSB7XHJcbiAgICBpZiAodHJlZS5ncmFtbWFyTWV0YSAmJiB0aGlzLmdyYW1DaGVjaykge1xyXG4gICAgICBtZW51VHJpZ2dlci5vcGVuTWVudSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVwbGFjZSh0cmVlOiBJSGlnaGxpZ2h0VHJlZSwgcmVwbGFjZW1lbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5vblJlcGxhY2UubmV4dCh7XHJcbiAgICAgIGVuZEl4OiB0cmVlLmdyYW1tYXJNZXRhLmVuZEl4LFxyXG4gICAgICBwYXJhZ3JhcGhJeDogdHJlZS5wYXJhZ3JhcGhJeCA/PyB0cmVlLnJvb3Q/LnBhcmFncmFwaEl4LFxyXG4gICAgICByZXBsYWNlbWVudDogcmVwbGFjZW1lbnQsXHJcbiAgICAgIHN0YXJ0SXg6IHRyZWUuZ3JhbW1hck1ldGEuc3RhcnRJeFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwYXJlbnRDbGljayh0cmVlOiBJSGlnaGxpZ2h0VHJlZSkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0U2VudGVuY2UgJiYgdHJlZS50eXBlID09PSBIaWdobGlnaHRUcmVlVHlwZS5TRU5URU5DRSkge1xyXG4gICAgICB0aGlzLmhpZ2hsaWdodFNlcnZpY2UuY2hhbmdlU2VsZWN0ZWRUYXJnZXRTZW50ZW5jZSh7IHBhcmFncmFwaEl4OiB0cmVlLnBhcmFncmFwaEl4ID8/IHRyZWUucm9vdD8ucGFyYWdyYXBoSXgsIHNlbnRlbmNlSXg6IE51bWJlcih0cmVlLmVsZW1lbnRJZCkgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1NlbGVjdGVkU2VudGVuY2UodHJlZTogSUhpZ2hsaWdodFRyZWUpIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdFNlbnRlbmNlICYmIHRyZWUudHlwZSA9PT0gSGlnaGxpZ2h0VHJlZVR5cGUuU0VOVEVOQ0VcclxuICAgICAgJiYgdGhpcy5oaWdobGlnaHRTZXJ2aWNlLnNlbGVjdGVkVGFyZ2V0U2VudGVuY2U/LnBhcmFncmFwaEl4ID09PSAodHJlZS5wYXJhZ3JhcGhJeCA/PyB0cmVlLnJvb3Q/LnBhcmFncmFwaEl4KVxyXG4gICAgICAmJiB0aGlzLmhpZ2hsaWdodFNlcnZpY2Uuc2VsZWN0ZWRUYXJnZXRTZW50ZW5jZS5zZW50ZW5jZUl4LnRvU3RyaW5nKCkgPT09IHRyZWUuZWxlbWVudElkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbk1vdXNlRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQsIGlzU291cmNlOiBib29sZWFuLCBpc01vdXNlRW50ZXI6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgRWxlbWVudDtcclxuICAgIGxldCBlbGVtZW50V2l0aFNpYmxpbmdzID0gW2VsZW1lbnRdO1xyXG5cclxuICAgIGlmICh0aGlzLmhpZ2hsaWdodCkge1xyXG4gICAgICBsZXQgc2libGluZ1BhcmVudENsYXNzOiBzdHJpbmc7XHJcbiAgICAgIGlmIChpc1NvdXJjZSkge1xyXG4gICAgICAgIHNpYmxpbmdQYXJlbnRDbGFzcyA9IEhpZ2hsaWdodFBhcmFtcy50YXJnZXRIaWdobGlnaHRDbGFzcztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBzaWJsaW5nUGFyZW50Q2xhc3MgPSBIaWdobGlnaHRQYXJhbXMuc291cmNlSGlnaGxpZ2h0Q2xhc3M7XHJcbiAgICAgIH1cclxuICAgICAgZWxlbWVudC5jbGFzc0xpc3QuZm9yRWFjaCgoY2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAoY2xhc3NOYW1lLmluY2x1ZGVzKEhpZ2hsaWdodFBhcmFtcy5zaWJsaW5nQ2xhc3MpKSB7XHJcbiAgICAgICAgICBjb25zdCBxdWVyeVNlbGVjdG9yID0gYC4ke3NpYmxpbmdQYXJlbnRDbGFzc30gLiR7Y2xhc3NOYW1lLnJlcGxhY2UoSGlnaGxpZ2h0UGFyYW1zLnNpYmxpbmdDbGFzcywgSGlnaGxpZ2h0UGFyYW1zLndvcmRDbGFzcyl9YDtcclxuICAgICAgICAgIGVsZW1lbnRXaXRoU2libGluZ3MgPSBlbGVtZW50V2l0aFNpYmxpbmdzLmNvbmNhdChBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocXVlcnlTZWxlY3RvcikpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGVsZW1lbnRXaXRoU2libGluZ3MuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAvLyBuZWNlc3NhcnkgdG8gaGlnaGxpZ2h0IGFsc28gc2libGluZyBzZW50ZW5jZSwgbm90IG9ubHkgc2libGluZy5cclxuICAgICAgbGV0IHBhcmVudCA9IHRoaXMuZmluZFdvcmRQYXJlbnRTZW50ZW5jZShlbGVtZW50KTtcclxuXHJcbiAgICAgIGlmIChpc01vdXNlRW50ZXIpIHtcclxuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoSGlnaGxpZ2h0UGFyYW1zLmhvdmVyZWRDbGFzc05hbWUpO1xyXG4gICAgICAgIHBhcmVudD8uY2xhc3NMaXN0LmFkZChIaWdobGlnaHRQYXJhbXMuaG92ZXJlZENsYXNzTmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKEhpZ2hsaWdodFBhcmFtcy5ob3ZlcmVkQ2xhc3NOYW1lKTtcclxuICAgICAgICBwYXJlbnQ/LmNsYXNzTGlzdC5yZW1vdmUoSGlnaGxpZ2h0UGFyYW1zLmhvdmVyZWRDbGFzc05hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZFdvcmRQYXJlbnRTZW50ZW5jZShlbGVtZW50OiBhbnkpe1xyXG4gICAgY29uc3QgbWF4RGlzdGFuY2VUb1BhcmVudCA9IDI7XHJcbiAgICBsZXQgcGFyZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1heERpc3RhbmNlVG9QYXJlbnQ7IGluZGV4KyspIHtcclxuICAgICAgaWYocGFyZW50LmNsYXNzTGlzdC5jb250YWlucyhIaWdobGlnaHRQYXJhbXMuc2VudGVuY2VDbGFzcykpe1xyXG4gICAgICAgIHJldHVybiBwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNoaWdobGlnaHRUcmVlIGxldC10cmVlPVwidHJlZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0cmVlLmNoaWxkcmVuXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyZWUudGV4dFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJlZS5ncmFtbWFyTWV0YSAmJiBncmFtQ2hlY2tcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cImdyYW1tYXItY2hlY2stbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eydHUkFNTUFSX0NIRUNLX01FTlUuVElUTEUnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByZXBsYWNlbWVudCBvZiB0cmVlLmdyYW1tYXJNZXRhLnJlcGxhY2VtZW50c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwicmVwbGFjZSh0cmVlLCByZXBsYWNlbWVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwbGFjZW1lbnR9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAjbWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJ7e3RyZWUuY2xhc3N9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJ0cmVlLnRleHRcIiAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyKCRldmVudClcIiAoY2xpY2spPVwiZ3JhbUNoZWNrTWVudSh0cmVlLCBtZW51VHJpZ2dlcilcIlxyXG4gICAgICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm1vdXNlTGVhdmUoJGV2ZW50KVwiPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISh0cmVlLmdyYW1tYXJNZXRhICYmIGdyYW1DaGVjaylcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwie3t0cmVlLmNsYXNzfX1cIiBbaW5uZXJIVE1MXT1cInRyZWUudGV4dFwiIChtb3VzZWVudGVyKT1cIm1vdXNlRW50ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZSgkZXZlbnQpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRyZWUudGV4dFwiPlxyXG4gICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmVlLmNoaWxkcmVuXCI+XHJcbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydzZWxlY3RlZC1zZW50ZW5jZSc6IGlzU2VsZWN0ZWRTZW50ZW5jZSh0cmVlKX1cIiBjbGFzcz1cImhpZ2hsaWdodC10cmVlLWNoaWxkLXdyYXBwZXIge3t0cmVlLmNsYXNzfX1cIlxyXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyKCRldmVudClcIiAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlKCRldmVudClcIiAoY2xpY2spPVwicGFyZW50Q2xpY2sodHJlZSlcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1jaGlsZCBbbmdGb3JPZl09XCJ0cmVlLmNoaWxkcmVuXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGlnaGxpZ2h0VHJlZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHRyZWU6IGNoaWxkIH1cIj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuXHJcbjxkaXYgKm5nSWY9XCJ0cmVlXCIgY2xhc3M9XCJ0bGQtaGlnaGxpZ2h0LXRyZWVcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoaWdobGlnaHRUcmVlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgdHJlZTogdHJlZSB9XCI+PC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -78,8 +78,10 @@ export class TldTranslateTextApiService {
|
|
|
78
78
|
getSentence(text, sentenceRanges, wordRanges, paragraphIx) {
|
|
79
79
|
const tree = { text: text, children: [], paragraphIx, type: HighlightTreeType.PARAGRAPH, root: null, originalText: text };
|
|
80
80
|
const words = [];
|
|
81
|
-
let wordRangeIx = -1;
|
|
82
81
|
let lastProcessedCharIx = 0;
|
|
82
|
+
const wordRangesWithIndex = wordRanges.map((range, ix) => {
|
|
83
|
+
return { range, ix };
|
|
84
|
+
});
|
|
83
85
|
sentenceRanges.forEach((sentenceRange, sentenceIx) => {
|
|
84
86
|
const sentenceString = this.getSentenceFromRange(sentenceRange, text);
|
|
85
87
|
tree.children[sentenceIx] = {
|
|
@@ -92,69 +94,69 @@ export class TldTranslateTextApiService {
|
|
|
92
94
|
};
|
|
93
95
|
const sentenceStartIx = sentenceRange[0];
|
|
94
96
|
const sentenceEndIx = sentenceStartIx + sentenceRange[1];
|
|
97
|
+
const filteredWordRangesWithIndex = wordRangesWithIndex.filter((rangeWithIndex) => {
|
|
98
|
+
const wordStartIx = rangeWithIndex.range[0];
|
|
99
|
+
// on purpose, check only start index, because sometimes end index is not correct and aligned with sentences.
|
|
100
|
+
return wordStartIx >= sentenceStartIx && wordStartIx <= sentenceEndIx;
|
|
101
|
+
});
|
|
95
102
|
let multipleWordWrapper;
|
|
96
|
-
|
|
97
|
-
const
|
|
98
|
-
const
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
// not a word.
|
|
107
|
-
const escaped = Common.escapeHtmlString(originalText);
|
|
108
|
-
tree.children[sentenceIx].children.push({
|
|
109
|
-
text: escaped,
|
|
110
|
-
type: HighlightTreeType.OTHER,
|
|
111
|
-
root: tree,
|
|
112
|
-
originalText
|
|
113
|
-
});
|
|
114
|
-
lastProcessedCharIx = wordStartIx;
|
|
115
|
-
}
|
|
116
|
-
const originalText = text.slice(wordStartIx, wordEndIx);
|
|
103
|
+
filteredWordRangesWithIndex.forEach((rangeWithIndex) => {
|
|
104
|
+
const wordRange = rangeWithIndex.range;
|
|
105
|
+
const wordStartIx = wordRange[0];
|
|
106
|
+
const wordEndIx = wordRange[1];
|
|
107
|
+
const nextWordStartIx = wordRanges[rangeWithIndex.ix + 1]?.[0];
|
|
108
|
+
if (lastProcessedCharIx < wordStartIx) {
|
|
109
|
+
// words are not together anymore.
|
|
110
|
+
multipleWordWrapper = null;
|
|
111
|
+
const originalText = text.slice(lastProcessedCharIx, wordStartIx);
|
|
112
|
+
// not a word.
|
|
117
113
|
const escaped = Common.escapeHtmlString(originalText);
|
|
118
|
-
|
|
119
|
-
const word = {
|
|
114
|
+
tree.children[sentenceIx].children.push({
|
|
120
115
|
text: escaped,
|
|
121
|
-
|
|
122
|
-
elementId: elementId,
|
|
123
|
-
type: originalText === "-" ? HighlightTreeType.HYPEN : HighlightTreeType.WORD,
|
|
116
|
+
type: HighlightTreeType.OTHER,
|
|
124
117
|
root: tree,
|
|
125
118
|
originalText
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
multipleWordWrapper
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
119
|
+
});
|
|
120
|
+
lastProcessedCharIx = wordStartIx;
|
|
121
|
+
}
|
|
122
|
+
const originalText = text.slice(wordStartIx, wordEndIx);
|
|
123
|
+
const escaped = Common.escapeHtmlString(originalText);
|
|
124
|
+
const elementId = `${paragraphIx}-${sentenceIx}-${rangeWithIndex.ix}`;
|
|
125
|
+
const word = {
|
|
126
|
+
text: escaped,
|
|
127
|
+
class: `${HighlightParams.wordClass} ${HighlightParams.wordClass}-${elementId}`,
|
|
128
|
+
elementId: elementId,
|
|
129
|
+
type: originalText === "-" ? HighlightTreeType.HYPEN : HighlightTreeType.WORD,
|
|
130
|
+
root: tree,
|
|
131
|
+
originalText
|
|
132
|
+
};
|
|
133
|
+
if (word.type === HighlightTreeType.HYPEN) {
|
|
134
|
+
multipleWordWrapper = null;
|
|
135
|
+
}
|
|
136
|
+
else if (wordEndIx === nextWordStartIx) {
|
|
137
|
+
if (!multipleWordWrapper) {
|
|
138
|
+
multipleWordWrapper = {
|
|
139
|
+
originalText: "",
|
|
140
|
+
root: tree,
|
|
141
|
+
text: "",
|
|
142
|
+
type: HighlightTreeType.WORD_WRAPPER,
|
|
143
|
+
children: [],
|
|
144
|
+
class: HighlightParams.multipleWordWrapper
|
|
145
|
+
};
|
|
146
|
+
tree.children[sentenceIx].children.push(multipleWordWrapper);
|
|
150
147
|
}
|
|
151
|
-
|
|
152
|
-
|
|
148
|
+
}
|
|
149
|
+
if (multipleWordWrapper) {
|
|
150
|
+
multipleWordWrapper.originalText += originalText;
|
|
151
|
+
multipleWordWrapper.text += escaped;
|
|
152
|
+
multipleWordWrapper.children.push(word);
|
|
153
153
|
}
|
|
154
154
|
else {
|
|
155
|
-
|
|
155
|
+
tree.children[sentenceIx].children.push(word);
|
|
156
156
|
}
|
|
157
|
-
|
|
157
|
+
words.push(word);
|
|
158
|
+
lastProcessedCharIx = wordEndIx;
|
|
159
|
+
});
|
|
158
160
|
});
|
|
159
161
|
return { tree, words };
|
|
160
162
|
}
|
|
@@ -184,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
184
186
|
providedIn: 'root'
|
|
185
187
|
}]
|
|
186
188
|
}], ctorParameters: function () { return [{ type: i1.TldTermCollectionsService }, { type: i2.HttpClient }, { type: i3.TldTranslateConfigService }, { type: i3.TldAlertService }]; } });
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvc2VydmljZXMvYXBpL3RsZC10cmFuc2xhdGUtdGV4dC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFpRSxNQUFNLDRCQUE0QixDQUFDO0FBSW5ILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7QUFRM0UsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxZQUE2QixpQkFBNEMsRUFDdEQsSUFBZ0IsRUFDaEIsTUFBaUMsRUFDakMsTUFBdUI7UUFIYixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTJCO1FBQ3RELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7SUFBSSxDQUFDO0lBRS9DLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxRQUFnQixFQUFFLElBQVksRUFBRSxXQUFtQjtRQUNwRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRztZQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFL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Q0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sR0FBRyxHQUFHLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sWUFBWSxDQUFDLGFBQXlCLEVBQUUsV0FBNkIsRUFBRSxXQUE2QjtRQUMxRyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDOUIsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDN0MsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRTdDLElBQUksVUFBVSxJQUFJLFVBQVUsRUFBRTtnQkFDNUIsVUFBVSxDQUFDLEtBQUssSUFBSSxJQUFJLGVBQWUsQ0FBQyxZQUFZLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMvRSxVQUFVLENBQUMsS0FBSyxJQUFJLElBQUksZUFBZSxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDaEY7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7O3VIQTFMVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb21tb24sIElUbGRUcmFuc2xhdGVUZXh0QXBpU2VydmljZSwgSVRyYW5zbGF0ZVBhcmFncmFwaFJlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZEFsZXJ0U2VydmljZSwgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUbGRUZXJtQ29sbGVjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLXRlcm0vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJR2V0U2VudGVuY2VWMVJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2V0LXNlbnRlbmNlLXYxLXJlc3BvbnNlLm1vZGVsJztcclxuaW1wb3J0IHsgSGlnaGxpZ2h0UGFyYW1zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpZ2hsaWdodC1wYXJhbXMubW9kZWwnO1xyXG5pbXBvcnQgeyBIaWdobGlnaHRUcmVlVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9oaWdobGlnaHQtdHJlZS10eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgSUhpZ2hsaWdodFRyZWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGlnaGxpZ2h0LXRyZWUubW9kZWwnO1xyXG5pbXBvcnQgeyBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2VWMSB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXJlc3BvbnNlLXYxLm1vZGVsJztcclxuaW1wb3J0IHsgSVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zbGF0ZS1wYXJhZ3JhcGgtcmVzcG9uc2UubW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVHJhbnNsYXRlVGV4dEFwaVNlcnZpY2UgaW1wbGVtZW50cyBJVGxkVHJhbnNsYXRlVGV4dEFwaVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbGxlY3Rpb25TZXJ2aWNlOiBUbGRUZXJtQ29sbGVjdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0czogVGxkQWxlcnRTZXJ2aWNlKSB7IH1cclxuXHJcbiAgdXBkYXRlVHJhbnNsYXRpb24ob3B0aW9uczogc3RyaW5nLCBzeXN0ZW1JRDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIHRyYW5zbGF0aW9uOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLnRleHRDb25maWcudXBkYXRlVHJhbnNsYXRpb25Vcmw7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gQ29tbW9uLmdldEF1dGhIZWFkZXJzKHRoaXMuY29uZmlnKTtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHtcclxuICAgICAgYXBwSUQ6IHRoaXMuY29uZmlnLmNvcmVDb25maWcuYXBwSWQsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIHN5c3RlbUlELFxyXG4gICAgICB0ZXh0LFxyXG4gICAgICB0cmFuc2xhdGlvblxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgcGFyYW1zLCB7IGhlYWRlcnMgfSk7XHJcbiAgfVxyXG5cclxuICBkaWN0aW9uYXJ5VHJhbnNsYXRpb24odGV4dDogc3RyaW5nLCBzcmNDb2RlOiBzdHJpbmcsIHRyZ0NvZGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgYXV0aEhlYWRlcnMgPSBDb21tb24uZ2V0QXV0aEhlYWRlcnModGhpcy5jb25maWcpO1xyXG4gICAgLy8gVE9ETy4gQ3JlYXRlIHR5cGUgZm9yIHBhcmFtcy5cclxuICAgIGNvbnN0IHBhcmFtczogYW55ID0ge1xyXG4gICAgICB3b3JkOiB0ZXh0LFxyXG4gICAgICBzb3VyY2VMYW5ndWFnZTogc3JjQ29kZSxcclxuICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IHRyZ0NvZGVcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5jb25maWcudGV4dENvbmZpZy5kaWN0aW9uYXJ5VXJsLCB7IGhlYWRlcnM6IGF1dGhIZWFkZXJzLCBwYXJhbXM6IHBhcmFtcyB9KVxyXG4gIH1cclxuXHJcbiAgdHJhbnNsYXRlUGFyYWdyYXBoKHJlcXVlc3RQYXJhbXM6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXF1ZXN0UGFyYW1zKTogT2JzZXJ2YWJsZTxJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBDb21tb24uZ2V0QXV0aEhlYWRlcnModGhpcy5jb25maWcpO1xyXG4gICAgLy8gVE9ETy4gQ3JlYXRlIHR5cGUgZm9yIHBhcmFtcy5cclxuICAgIGNvbnN0IHBhcmFtczogYW55ID0ge1xyXG4gICAgICBhcHBJRDogdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBJZCxcclxuICAgICAgb3B0aW9uczogXCJ3aWRnZXQ9dGV4dCxhbGlnbm1lbnQsbWFya1NlbnRlbmNlc1wiLFxyXG4gICAgICBzeXN0ZW1JRDogcmVxdWVzdFBhcmFtcy5zeXN0ZW0uaWQsXHJcbiAgICAgIHRleHQ6IHJlcXVlc3RQYXJhbXMudGV4dCxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWRDb2xsZWN0aW9uSWQgPSB0aGlzLmNvbGxlY3Rpb25TZXJ2aWNlLnNlbGVjdGVkSWRGb3JUcmFuc2xhdGlvbigpO1xyXG4gICAgaWYgKHNlbGVjdGVkQ29sbGVjdGlvbklkKSB7XHJcbiAgICAgIHBhcmFtcy5vcHRpb25zICs9IGAsdGVybUNvcnB1c0lkPSR7c2VsZWN0ZWRDb2xsZWN0aW9uSWR9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2VWMT4odGhpcy5jb25maWc/LnRleHRDb25maWc/LnRyYW5zbGF0aW9uVXJsLCB7IGhlYWRlcnM6IGhlYWRlcnMsIHBhcmFtczogcGFyYW1zIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZVYxKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLkVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgdGhpcy5hbGVydHMudW5oYW5kZWxlZEVycm9yKHJlc3BvbnNlLkVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgICB0aHJvdyByZXNwb25zZS5FcnJvck1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZCA9IHRoaXMuY29udmVydFBhcmFncmFwaFJlc3BvbnNlKHJlcXVlc3RQYXJhbXMsIHJlc3BvbnNlKTtcclxuICAgICAgICByZXR1cm4gY29udmVydGVkO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGNvbnZlcnRQYXJhZ3JhcGhSZXNwb25zZShyZXF1ZXN0OiBJVHJhbnNsYXRlUGFyYWdyYXBoUmVxdWVzdFBhcmFtcywgcmVzcG9uc2U6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZVYxKTogSVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlIHtcclxuICAgIGlmICh0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmhpZ2hsaWdodCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVIaWdobGlnaHRUcmVlcyhyZXF1ZXN0LnRleHQsIHJlc3BvbnNlLCByZXF1ZXN0LnBhcmFncmFwaEl4KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHNvdXJjZVRyZWU6IHsgdGV4dDogcmVxdWVzdC50ZXh0LCBwYXJhZ3JhcGhJeDogcmVxdWVzdC5wYXJhZ3JhcGhJeCwgdHlwZTogSGlnaGxpZ2h0VHJlZVR5cGUuUEFSQUdSQVBILCByb290OiBudWxsLCBvcmlnaW5hbFRleHQ6IHJlcXVlc3QudGV4dCB9LFxyXG4gICAgICAgIHRhcmdldFRyZWU6IHsgdGV4dDogcmVzcG9uc2UudHJhbnNsYXRpb24sIHBhcmFncmFwaEl4OiByZXF1ZXN0LnBhcmFncmFwaEl4LCB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5QQVJBR1JBUEgsIHJvb3Q6IG51bGwsIG9yaWdpbmFsVGV4dDogcmVzcG9uc2UudHJhbnNsYXRpb24gfVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVIaWdobGlnaHRUcmVlcyhzb3VyY2VUZXh0OiBzdHJpbmcsIHJlc3BvbnNlOiBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2VWMSwgcGFyYWdyYXBoSXg6IG51bWJlcik6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZSB7XHJcbiAgICBjb25zdCB0YXJnZXRUcmVlID0gdGhpcy5nZXRTZW50ZW5jZShyZXNwb25zZS50cmFuc2xhdGlvbiwgcmVzcG9uc2UudHJhbnNsYXRpb25TZW50ZW5jZVJhbmdlcywgcmVzcG9uc2UudGFyZ2V0V29yZFJhbmdlcywgcGFyYWdyYXBoSXgpO1xyXG4gICAgY29uc3Qgc291cmNlVHJlZSA9IHRoaXMuZ2V0U2VudGVuY2Uoc291cmNlVGV4dCwgcmVzcG9uc2Uub3JpZ2luYWxTZW50ZW5jZVJhbmdlcywgcmVzcG9uc2Uuc291cmNlV29yZFJhbmdlcywgcGFyYWdyYXBoSXgpO1xyXG4gICAgdGhpcy5maW5kU2libGluZ3MocmVzcG9uc2Uud29yZEFsaWdubWVudCwgc291cmNlVHJlZS53b3JkcywgdGFyZ2V0VHJlZS53b3Jkcyk7XHJcbiAgICByZXR1cm4geyBzb3VyY2VUcmVlOiBzb3VyY2VUcmVlLnRyZWUsIHRhcmdldFRyZWU6IHRhcmdldFRyZWUudHJlZSB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTZW50ZW5jZSh0ZXh0OiBzdHJpbmcsIHNlbnRlbmNlUmFuZ2VzOiBudW1iZXJbXVtdLCB3b3JkUmFuZ2VzOiBudW1iZXJbXVtdLCBwYXJhZ3JhcGhJeDogbnVtYmVyKTogSUdldFNlbnRlbmNlVjFSZXNwb25zZU1vZGVsIHtcclxuICAgIGNvbnN0IHRyZWU6IElIaWdobGlnaHRUcmVlID0geyB0ZXh0OiB0ZXh0LCBjaGlsZHJlbjogW10sIHBhcmFncmFwaEl4LCB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5QQVJBR1JBUEgsIHJvb3Q6IG51bGwsIG9yaWdpbmFsVGV4dDogdGV4dCB9O1xyXG4gICAgY29uc3Qgd29yZHM6IElIaWdobGlnaHRUcmVlW10gPSBbXTtcclxuICAgIGxldCB3b3JkUmFuZ2VJeCA9IC0xO1xyXG4gICAgbGV0IGxhc3RQcm9jZXNzZWRDaGFySXggPSAwO1xyXG5cclxuICAgIHNlbnRlbmNlUmFuZ2VzLmZvckVhY2goKHNlbnRlbmNlUmFuZ2UsIHNlbnRlbmNlSXgpID0+IHtcclxuICAgICAgY29uc3Qgc2VudGVuY2VTdHJpbmcgPSB0aGlzLmdldFNlbnRlbmNlRnJvbVJhbmdlKHNlbnRlbmNlUmFuZ2UsIHRleHQpO1xyXG4gICAgICB0cmVlLmNoaWxkcmVuW3NlbnRlbmNlSXhdID0ge1xyXG4gICAgICAgIHRleHQ6IHNlbnRlbmNlU3RyaW5nLCBjaGlsZHJlbjogW10sXHJcbiAgICAgICAgY2xhc3M6IGAke0hpZ2hsaWdodFBhcmFtcy5zZW50ZW5jZUNsYXNzfSAke0hpZ2hsaWdodFBhcmFtcy5zZW50ZW5jZUNsYXNzfS0ke3BhcmFncmFwaEl4fS0ke3NlbnRlbmNlSXh9YCxcclxuICAgICAgICBlbGVtZW50SWQ6IHNlbnRlbmNlSXgudG9TdHJpbmcoKSxcclxuICAgICAgICB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5TRU5URU5DRSxcclxuICAgICAgICByb290OiB0cmVlLFxyXG4gICAgICAgIG9yaWdpbmFsVGV4dDogc2VudGVuY2VTdHJpbmdcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGNvbnN0IHNlbnRlbmNlU3RhcnRJeCA9IHNlbnRlbmNlUmFuZ2VbMF07XHJcbiAgICAgIGNvbnN0IHNlbnRlbmNlRW5kSXggPSBzZW50ZW5jZVN0YXJ0SXggKyBzZW50ZW5jZVJhbmdlWzFdO1xyXG5cclxuICAgICAgbGV0IG11bHRpcGxlV29yZFdyYXBwZXI6IElIaWdobGlnaHRUcmVlO1xyXG4gICAgICBmb3IgKGxldCB3b3JkSXggPSB3b3JkUmFuZ2VJeCArIDE7IHdvcmRJeCA8IHdvcmRSYW5nZXMubGVuZ3RoOyB3b3JkSXgrKykge1xyXG4gICAgICAgIGNvbnN0IHdvcmRTdGFydEl4ID0gd29yZFJhbmdlc1t3b3JkSXhdWzBdO1xyXG4gICAgICAgIGNvbnN0IHdvcmRFbmRJeCA9IHdvcmRSYW5nZXNbd29yZEl4XVsxXTtcclxuICAgICAgICBjb25zdCBuZXh0V29yZFN0YXJ0SXggPSB3b3JkUmFuZ2VzW3dvcmRJeCArIDFdPy5bMF07XHJcblxyXG4gICAgICAgIGlmICh3b3JkU3RhcnRJeCA+PSBzZW50ZW5jZVN0YXJ0SXggJiYgd29yZEVuZEl4IDw9IHNlbnRlbmNlRW5kSXgpIHtcclxuICAgICAgICAgIHdvcmRSYW5nZUl4ID0gd29yZEl4O1xyXG4gICAgICAgICAgaWYgKGxhc3RQcm9jZXNzZWRDaGFySXggPCB3b3JkU3RhcnRJeCkge1xyXG4gICAgICAgICAgICAvLyB3b3JkcyBhcmUgbm90IHRvZ2V0aGVyIGFueW1vcmUuXHJcbiAgICAgICAgICAgIG11bHRpcGxlV29yZFdyYXBwZXIgPSBudWxsO1xyXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbFRleHQgPSB0ZXh0LnNsaWNlKGxhc3RQcm9jZXNzZWRDaGFySXgsIHdvcmRTdGFydEl4KTtcclxuICAgICAgICAgICAgLy8gbm90IGEgd29yZC5cclxuICAgICAgICAgICAgY29uc3QgZXNjYXBlZCA9IENvbW1vbi5lc2NhcGVIdG1sU3RyaW5nKG9yaWdpbmFsVGV4dCk7XHJcbiAgICAgICAgICAgIHRyZWUuY2hpbGRyZW5bc2VudGVuY2VJeF0uY2hpbGRyZW4ucHVzaCh7XHJcbiAgICAgICAgICAgICAgdGV4dDogZXNjYXBlZCxcclxuICAgICAgICAgICAgICB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5PVEhFUixcclxuICAgICAgICAgICAgICByb290OiB0cmVlLFxyXG4gICAgICAgICAgICAgIG9yaWdpbmFsVGV4dFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgbGFzdFByb2Nlc3NlZENoYXJJeCA9IHdvcmRTdGFydEl4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3Qgb3JpZ2luYWxUZXh0ID0gdGV4dC5zbGljZSh3b3JkU3RhcnRJeCwgd29yZEVuZEl4KTtcclxuICAgICAgICAgIGNvbnN0IGVzY2FwZWQgPSBDb21tb24uZXNjYXBlSHRtbFN0cmluZyhvcmlnaW5hbFRleHQpO1xyXG4gICAgICAgICAgY29uc3QgZWxlbWVudElkID0gYCR7cGFyYWdyYXBoSXh9LSR7c2VudGVuY2VJeH0tJHt3b3JkSXh9YDtcclxuICAgICAgICAgIGNvbnN0IHdvcmQ6IElIaWdobGlnaHRUcmVlID0ge1xyXG4gICAgICAgICAgICB0ZXh0OiBlc2NhcGVkLFxyXG4gICAgICAgICAgICBjbGFzczogYCR7SGlnaGxpZ2h0UGFyYW1zLndvcmRDbGFzc30gJHtIaWdobGlnaHRQYXJhbXMud29yZENsYXNzfS0ke2VsZW1lbnRJZH1gLFxyXG4gICAgICAgICAgICBlbGVtZW50SWQ6IGVsZW1lbnRJZCxcclxuICAgICAgICAgICAgdHlwZTogb3JpZ2luYWxUZXh0ID09PSBcIi1cIiA/IEhpZ2hsaWdodFRyZWVUeXBlLkhZUEVOIDogSGlnaGxpZ2h0VHJlZVR5cGUuV09SRCxcclxuICAgICAgICAgICAgcm9vdDogdHJlZSxcclxuICAgICAgICAgICAgb3JpZ2luYWxUZXh0XHJcbiAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgIGlmICh3b3JkLnR5cGUgPT09IEhpZ2hsaWdodFRyZWVUeXBlLkhZUEVOKSB7XHJcbiAgICAgICAgICAgIG11bHRpcGxlV29yZFdyYXBwZXIgPSBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZiAod29yZEVuZEl4ID09PSBuZXh0V29yZFN0YXJ0SXgpIHtcclxuICAgICAgICAgICAgaWYgKCFtdWx0aXBsZVdvcmRXcmFwcGVyKSB7XHJcbiAgICAgICAgICAgICAgbXVsdGlwbGVXb3JkV3JhcHBlciA9IHtcclxuICAgICAgICAgICAgICAgIG9yaWdpbmFsVGV4dDogXCJcIixcclxuICAgICAgICAgICAgICAgIHJvb3Q6IHRyZWUsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogSGlnaGxpZ2h0VHJlZVR5cGUuV09SRF9XUkFQUEVSLFxyXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxyXG4gICAgICAgICAgICAgICAgY2xhc3M6IEhpZ2hsaWdodFBhcmFtcy5tdWx0aXBsZVdvcmRXcmFwcGVyXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRyZWUuY2hpbGRyZW5bc2VudGVuY2VJeF0uY2hpbGRyZW4ucHVzaChtdWx0aXBsZVdvcmRXcmFwcGVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKG11bHRpcGxlV29yZFdyYXBwZXIpIHtcclxuICAgICAgICAgICAgbXVsdGlwbGVXb3JkV3JhcHBlci5vcmlnaW5hbFRleHQgKz0gb3JpZ2luYWxUZXh0O1xyXG4gICAgICAgICAgICBtdWx0aXBsZVdvcmRXcmFwcGVyLnRleHQgKz0gZXNjYXBlZDtcclxuICAgICAgICAgICAgbXVsdGlwbGVXb3JkV3JhcHBlci5jaGlsZHJlbi5wdXNoKHdvcmQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRyZWUuY2hpbGRyZW5bc2VudGVuY2VJeF0uY2hpbGRyZW4ucHVzaCh3b3JkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHdvcmRzLnB1c2god29yZCk7XHJcbiAgICAgICAgICBsYXN0UHJvY2Vzc2VkQ2hhckl4ID0gd29yZEVuZEl4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiB7IHRyZWUsIHdvcmRzIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNlbnRlbmNlRnJvbVJhbmdlKHJhbmdlOiBudW1iZXJbXSwgdGV4dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHN0YXJ0ID0gcmFuZ2VbMF0gPT0gMCA/IHJhbmdlWzBdIDogcmFuZ2VbMF0gKyAxO1xyXG4gICAgY29uc3QgZW5kID0gc3RhcnQgKyByYW5nZVsxXTtcclxuICAgIHJldHVybiB0ZXh0LnNsaWNlKHN0YXJ0LCBlbmQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kU2libGluZ3Mod29yZEFsaWdubWVudDogbnVtYmVyW11bXSwgc291cmNlV29yZHM6IElIaWdobGlnaHRUcmVlW10sIHRhcmdldFdvcmRzOiBJSGlnaGxpZ2h0VHJlZVtdKSB7XHJcbiAgICB3b3JkQWxpZ25tZW50LmZvckVhY2goKHJhbmdlKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNvdXJjZVdvcmRJeCA9IHJhbmdlWzBdO1xyXG4gICAgICBjb25zdCB0YXJnZXRXb3JkSXggPSByYW5nZVsxXTtcclxuICAgICAgY29uc3Qgc291cmNlV29yZCA9IHNvdXJjZVdvcmRzW3NvdXJjZVdvcmRJeF07XHJcbiAgICAgIGNvbnN0IHRhcmdldFdvcmQgPSB0YXJnZXRXb3Jkc1t0YXJnZXRXb3JkSXhdO1xyXG5cclxuICAgICAgaWYgKHNvdXJjZVdvcmQgJiYgdGFyZ2V0V29yZCkge1xyXG4gICAgICAgIHNvdXJjZVdvcmQuY2xhc3MgKz0gYCAke0hpZ2hsaWdodFBhcmFtcy5zaWJsaW5nQ2xhc3N9LSR7dGFyZ2V0V29yZC5lbGVtZW50SWR9YDtcclxuICAgICAgICB0YXJnZXRXb3JkLmNsYXNzICs9IGAgJHtIaWdobGlnaHRQYXJhbXMuc2libGluZ0NsYXNzfS0ke3NvdXJjZVdvcmQuZWxlbWVudElkfWA7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvc2VydmljZXMvYXBpL3RsZC10cmFuc2xhdGUtdGV4dC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFpRSxNQUFNLDRCQUE0QixDQUFDO0FBSW5ILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7QUFRM0UsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxZQUE2QixpQkFBNEMsRUFDdEQsSUFBZ0IsRUFDaEIsTUFBaUMsRUFDakMsTUFBdUI7UUFIYixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTJCO1FBQ3RELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7SUFBSSxDQUFDO0lBRS9DLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxRQUFnQixFQUFFLElBQVksRUFBRSxXQUFtQjtRQUNwRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRztZQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFL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QUFDOzt1SEE5TFUsMEJBQTBCOzJIQUExQiwwQkFBMEIsY0FGekIsTUFBTTsyRkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29tbW9uLCBJVGxkVHJhbnNsYXRlVGV4dEFwaVNlcnZpY2UsIElUcmFuc2xhdGVQYXJhZ3JhcGhSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWNvbW1vbi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUbGRBbGVydFNlcnZpY2UsIFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVGxkVGVybUNvbGxlY3Rpb25zU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC10ZXJtL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgSUdldFNlbnRlbmNlVjFSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dldC1zZW50ZW5jZS12MS1yZXNwb25zZS5tb2RlbCc7XHJcbmltcG9ydCB7IEhpZ2hsaWdodFBhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9oaWdobGlnaHQtcGFyYW1zLm1vZGVsJztcclxuaW1wb3J0IHsgSGlnaGxpZ2h0VHJlZVR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGlnaGxpZ2h0LXRyZWUtdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7IElIaWdobGlnaHRUcmVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpZ2hsaWdodC10cmVlLm1vZGVsJztcclxuaW1wb3J0IHsgSVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlVjEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNsYXRlLXBhcmFncmFwaC1yZXNwb25zZS12MS5tb2RlbCc7XHJcbmltcG9ydCB7IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXJlc3BvbnNlLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZVRleHRBcGlTZXJ2aWNlIGltcGxlbWVudHMgSVRsZFRyYW5zbGF0ZVRleHRBcGlTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb2xsZWN0aW9uU2VydmljZTogVGxkVGVybUNvbGxlY3Rpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHM6IFRsZEFsZXJ0U2VydmljZSkgeyB9XHJcblxyXG4gIHVwZGF0ZVRyYW5zbGF0aW9uKG9wdGlvbnM6IHN0cmluZywgc3lzdGVtSUQ6IHN0cmluZywgdGV4dDogc3RyaW5nLCB0cmFuc2xhdGlvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnVwZGF0ZVRyYW5zbGF0aW9uVXJsO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IENvbW1vbi5nZXRBdXRoSGVhZGVycyh0aGlzLmNvbmZpZyk7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIGFwcElEOiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmFwcElkLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBzeXN0ZW1JRCxcclxuICAgICAgdGV4dCxcclxuICAgICAgdHJhbnNsYXRpb25cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIHBhcmFtcywgeyBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgZGljdGlvbmFyeVRyYW5zbGF0aW9uKHRleHQ6IHN0cmluZywgc3JjQ29kZTogc3RyaW5nLCB0cmdDb2RlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGF1dGhIZWFkZXJzID0gQ29tbW9uLmdldEF1dGhIZWFkZXJzKHRoaXMuY29uZmlnKTtcclxuICAgIC8vIFRPRE8uIENyZWF0ZSB0eXBlIGZvciBwYXJhbXMuXHJcbiAgICBjb25zdCBwYXJhbXM6IGFueSA9IHtcclxuICAgICAgd29yZDogdGV4dCxcclxuICAgICAgc291cmNlTGFuZ3VhZ2U6IHNyY0NvZGUsXHJcbiAgICAgIHRhcmdldExhbmd1YWdlOiB0cmdDb2RlXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuY29uZmlnLnRleHRDb25maWcuZGljdGlvbmFyeVVybCwgeyBoZWFkZXJzOiBhdXRoSGVhZGVycywgcGFyYW1zOiBwYXJhbXMgfSlcclxuICB9XHJcblxyXG4gIHRyYW5zbGF0ZVBhcmFncmFwaChyZXF1ZXN0UGFyYW1zOiBJVHJhbnNsYXRlUGFyYWdyYXBoUmVxdWVzdFBhcmFtcyk6IE9ic2VydmFibGU8SVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gQ29tbW9uLmdldEF1dGhIZWFkZXJzKHRoaXMuY29uZmlnKTtcclxuICAgIC8vIFRPRE8uIENyZWF0ZSB0eXBlIGZvciBwYXJhbXMuXHJcbiAgICBjb25zdCBwYXJhbXM6IGFueSA9IHtcclxuICAgICAgYXBwSUQ6IHRoaXMuY29uZmlnLmNvcmVDb25maWcuYXBwSWQsXHJcbiAgICAgIG9wdGlvbnM6IFwid2lkZ2V0PXRleHQsYWxpZ25tZW50LG1hcmtTZW50ZW5jZXNcIixcclxuICAgICAgc3lzdGVtSUQ6IHJlcXVlc3RQYXJhbXMuc3lzdGVtLmlkLFxyXG4gICAgICB0ZXh0OiByZXF1ZXN0UGFyYW1zLnRleHQsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHNlbGVjdGVkQ29sbGVjdGlvbklkID0gdGhpcy5jb2xsZWN0aW9uU2VydmljZS5zZWxlY3RlZElkRm9yVHJhbnNsYXRpb24oKTtcclxuICAgIGlmIChzZWxlY3RlZENvbGxlY3Rpb25JZCkge1xyXG4gICAgICBwYXJhbXMub3B0aW9ucyArPSBgLHRlcm1Db3JwdXNJZD0ke3NlbGVjdGVkQ29sbGVjdGlvbklkfWA7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlVjE+KHRoaXMuY29uZmlnPy50ZXh0Q29uZmlnPy50cmFuc2xhdGlvblVybCwgeyBoZWFkZXJzOiBoZWFkZXJzLCBwYXJhbXM6IHBhcmFtcyB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2VWMSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNwb25zZS5FcnJvck1lc3NhZ2UpIHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRzLnVuaGFuZGVsZWRFcnJvcihyZXNwb25zZS5FcnJvck1lc3NhZ2UpO1xyXG4gICAgICAgICAgdGhyb3cgcmVzcG9uc2UuRXJyb3JNZXNzYWdlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBjb252ZXJ0ZWQgPSB0aGlzLmNvbnZlcnRQYXJhZ3JhcGhSZXNwb25zZShyZXF1ZXN0UGFyYW1zLCByZXNwb25zZSk7XHJcbiAgICAgICAgcmV0dXJuIGNvbnZlcnRlZDtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0UGFyYWdyYXBoUmVzcG9uc2UocmVxdWVzdDogSVRyYW5zbGF0ZVBhcmFncmFwaFJlcXVlc3RQYXJhbXMsIHJlc3BvbnNlOiBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2VWMSk6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZSB7XHJcbiAgICBpZiAodGhpcy5jb25maWcudGV4dENvbmZpZy5oaWdobGlnaHQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlSGlnaGxpZ2h0VHJlZXMocmVxdWVzdC50ZXh0LCByZXNwb25zZSwgcmVxdWVzdC5wYXJhZ3JhcGhJeCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBzb3VyY2VUcmVlOiB7IHRleHQ6IHJlcXVlc3QudGV4dCwgcGFyYWdyYXBoSXg6IHJlcXVlc3QucGFyYWdyYXBoSXgsIHR5cGU6IEhpZ2hsaWdodFRyZWVUeXBlLlBBUkFHUkFQSCwgcm9vdDogbnVsbCwgb3JpZ2luYWxUZXh0OiByZXF1ZXN0LnRleHQgfSxcclxuICAgICAgICB0YXJnZXRUcmVlOiB7IHRleHQ6IHJlc3BvbnNlLnRyYW5zbGF0aW9uLCBwYXJhZ3JhcGhJeDogcmVxdWVzdC5wYXJhZ3JhcGhJeCwgdHlwZTogSGlnaGxpZ2h0VHJlZVR5cGUuUEFSQUdSQVBILCByb290OiBudWxsLCBvcmlnaW5hbFRleHQ6IHJlc3BvbnNlLnRyYW5zbGF0aW9uIH1cclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlSGlnaGxpZ2h0VHJlZXMoc291cmNlVGV4dDogc3RyaW5nLCByZXNwb25zZTogSVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlVjEsIHBhcmFncmFwaEl4OiBudW1iZXIpOiBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2Uge1xyXG4gICAgY29uc3QgdGFyZ2V0VHJlZSA9IHRoaXMuZ2V0U2VudGVuY2UocmVzcG9uc2UudHJhbnNsYXRpb24sIHJlc3BvbnNlLnRyYW5zbGF0aW9uU2VudGVuY2VSYW5nZXMsIHJlc3BvbnNlLnRhcmdldFdvcmRSYW5nZXMsIHBhcmFncmFwaEl4KTtcclxuICAgIGNvbnN0IHNvdXJjZVRyZWUgPSB0aGlzLmdldFNlbnRlbmNlKHNvdXJjZVRleHQsIHJlc3BvbnNlLm9yaWdpbmFsU2VudGVuY2VSYW5nZXMsIHJlc3BvbnNlLnNvdXJjZVdvcmRSYW5nZXMsIHBhcmFncmFwaEl4KTtcclxuICAgIHRoaXMuZmluZFNpYmxpbmdzKHJlc3BvbnNlLndvcmRBbGlnbm1lbnQsIHNvdXJjZVRyZWUud29yZHMsIHRhcmdldFRyZWUud29yZHMpO1xyXG4gICAgcmV0dXJuIHsgc291cmNlVHJlZTogc291cmNlVHJlZS50cmVlLCB0YXJnZXRUcmVlOiB0YXJnZXRUcmVlLnRyZWUgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2VudGVuY2UodGV4dDogc3RyaW5nLCBzZW50ZW5jZVJhbmdlczogbnVtYmVyW11bXSwgd29yZFJhbmdlczogbnVtYmVyW11bXSwgcGFyYWdyYXBoSXg6IG51bWJlcik6IElHZXRTZW50ZW5jZVYxUmVzcG9uc2VNb2RlbCB7XHJcbiAgICBjb25zdCB0cmVlOiBJSGlnaGxpZ2h0VHJlZSA9IHsgdGV4dDogdGV4dCwgY2hpbGRyZW46IFtdLCBwYXJhZ3JhcGhJeCwgdHlwZTogSGlnaGxpZ2h0VHJlZVR5cGUuUEFSQUdSQVBILCByb290OiBudWxsLCBvcmlnaW5hbFRleHQ6IHRleHQgfTtcclxuICAgIGNvbnN0IHdvcmRzOiBJSGlnaGxpZ2h0VHJlZVtdID0gW107XHJcbiAgICBsZXQgbGFzdFByb2Nlc3NlZENoYXJJeCA9IDA7XHJcblxyXG4gICAgY29uc3Qgd29yZFJhbmdlc1dpdGhJbmRleCA9IHdvcmRSYW5nZXMubWFwKChyYW5nZSwgaXgpID0+IHtcclxuICAgICAgcmV0dXJuIHtyYW5nZSwgaXh9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgc2VudGVuY2VSYW5nZXMuZm9yRWFjaCgoc2VudGVuY2VSYW5nZSwgc2VudGVuY2VJeCkgPT4ge1xyXG4gICAgICBjb25zdCBzZW50ZW5jZVN0cmluZyA9IHRoaXMuZ2V0U2VudGVuY2VGcm9tUmFuZ2Uoc2VudGVuY2VSYW5nZSwgdGV4dCk7XHJcbiAgICAgIHRyZWUuY2hpbGRyZW5bc2VudGVuY2VJeF0gPSB7XHJcbiAgICAgICAgdGV4dDogc2VudGVuY2VTdHJpbmcsIGNoaWxkcmVuOiBbXSxcclxuICAgICAgICBjbGFzczogYCR7SGlnaGxpZ2h0UGFyYW1zLnNlbnRlbmNlQ2xhc3N9ICR7SGlnaGxpZ2h0UGFyYW1zLnNlbnRlbmNlQ2xhc3N9LSR7cGFyYWdyYXBoSXh9LSR7c2VudGVuY2VJeH1gLFxyXG4gICAgICAgIGVsZW1lbnRJZDogc2VudGVuY2VJeC50b1N0cmluZygpLFxyXG4gICAgICAgIHR5cGU6IEhpZ2hsaWdodFRyZWVUeXBlLlNFTlRFTkNFLFxyXG4gICAgICAgIHJvb3Q6IHRyZWUsXHJcbiAgICAgICAgb3JpZ2luYWxUZXh0OiBzZW50ZW5jZVN0cmluZ1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29uc3Qgc2VudGVuY2VTdGFydEl4ID0gc2VudGVuY2VSYW5nZVswXTtcclxuICAgICAgY29uc3Qgc2VudGVuY2VFbmRJeCA9IHNlbnRlbmNlU3RhcnRJeCArIHNlbnRlbmNlUmFuZ2VbMV07XHJcbiAgICAgIGNvbnN0IGZpbHRlcmVkV29yZFJhbmdlc1dpdGhJbmRleCA9IHdvcmRSYW5nZXNXaXRoSW5kZXguZmlsdGVyKChyYW5nZVdpdGhJbmRleCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHdvcmRTdGFydEl4ID0gcmFuZ2VXaXRoSW5kZXgucmFuZ2VbMF07XHJcbiAgICAgICAgLy8gb24gcHVycG9zZSwgY2hlY2sgb25seSBzdGFydCBpbmRleCwgYmVjYXVzZSBzb21ldGltZXMgZW5kIGluZGV4IGlzIG5vdCBjb3JyZWN0IGFuZCBhbGlnbmVkIHdpdGggc2VudGVuY2VzLlxyXG4gICAgICAgIHJldHVybiB3b3JkU3RhcnRJeCA+PSBzZW50ZW5jZVN0YXJ0SXggJiYgd29yZFN0YXJ0SXggPD0gc2VudGVuY2VFbmRJeDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBsZXQgbXVsdGlwbGVXb3JkV3JhcHBlcjogSUhpZ2hsaWdodFRyZWU7XHJcbiAgICAgIGZpbHRlcmVkV29yZFJhbmdlc1dpdGhJbmRleC5mb3JFYWNoKChyYW5nZVdpdGhJbmRleCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHdvcmRSYW5nZSA9IHJhbmdlV2l0aEluZGV4LnJhbmdlO1xyXG4gICAgICAgIGNvbnN0IHdvcmRTdGFydEl4ID0gd29yZFJhbmdlWzBdO1xyXG4gICAgICAgIGNvbnN0IHdvcmRFbmRJeCA9IHdvcmRSYW5nZVsxXTtcclxuICAgICAgICBjb25zdCBuZXh0V29yZFN0YXJ0SXggPSB3b3JkUmFuZ2VzW3JhbmdlV2l0aEluZGV4Lml4ICsgMV0/LlswXTtcclxuXHJcblxyXG4gICAgICAgIGlmIChsYXN0UHJvY2Vzc2VkQ2hhckl4IDwgd29yZFN0YXJ0SXgpIHtcclxuICAgICAgICAgIC8vIHdvcmRzIGFyZSBub3QgdG9nZXRoZXIgYW55bW9yZS5cclxuICAgICAgICAgIG11bHRpcGxlV29yZFdyYXBwZXIgPSBudWxsO1xyXG4gICAgICAgICAgY29uc3Qgb3JpZ2luYWxUZXh0ID0gdGV4dC5zbGljZShsYXN0UHJvY2Vzc2VkQ2hhckl4LCB3b3JkU3RhcnRJeCk7XHJcbiAgICAgICAgICAvLyBub3QgYSB3b3JkLlxyXG4gICAgICAgICAgY29uc3QgZXNjYXBlZCA9IENvbW1vbi5lc2NhcGVIdG1sU3RyaW5nKG9yaWdpbmFsVGV4dCk7XHJcbiAgICAgICAgICB0cmVlLmNoaWxkcmVuW3NlbnRlbmNlSXhdLmNoaWxkcmVuLnB1c2goe1xyXG4gICAgICAgICAgICB0ZXh0OiBlc2NhcGVkLFxyXG4gICAgICAgICAgICB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5PVEhFUixcclxuICAgICAgICAgICAgcm9vdDogdHJlZSxcclxuICAgICAgICAgICAgb3JpZ2luYWxUZXh0XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGxhc3RQcm9jZXNzZWRDaGFySXggPSB3b3JkU3RhcnRJeDtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxUZXh0ID0gdGV4dC5zbGljZSh3b3JkU3RhcnRJeCwgd29yZEVuZEl4KTtcclxuICAgICAgICBjb25zdCBlc2NhcGVkID0gQ29tbW9uLmVzY2FwZUh0bWxTdHJpbmcob3JpZ2luYWxUZXh0KTtcclxuICAgICAgICBjb25zdCBlbGVtZW50SWQgPSBgJHtwYXJhZ3JhcGhJeH0tJHtzZW50ZW5jZUl4fS0ke3JhbmdlV2l0aEluZGV4Lml4fWA7XHJcbiAgICAgICAgY29uc3Qgd29yZDogSUhpZ2hsaWdodFRyZWUgPSB7XHJcbiAgICAgICAgICB0ZXh0OiBlc2NhcGVkLFxyXG4gICAgICAgICAgY2xhc3M6IGAke0hpZ2hsaWdodFBhcmFtcy53b3JkQ2xhc3N9ICR7SGlnaGxpZ2h0UGFyYW1zLndvcmRDbGFzc30tJHtlbGVtZW50SWR9YCxcclxuICAgICAgICAgIGVsZW1lbnRJZDogZWxlbWVudElkLFxyXG4gICAgICAgICAgdHlwZTogb3JpZ2luYWxUZXh0ID09PSBcIi1cIiA/IEhpZ2hsaWdodFRyZWVUeXBlLkhZUEVOIDogSGlnaGxpZ2h0VHJlZVR5cGUuV09SRCxcclxuICAgICAgICAgIHJvb3Q6IHRyZWUsXHJcbiAgICAgICAgICBvcmlnaW5hbFRleHRcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBpZiAod29yZC50eXBlID09PSBIaWdobGlnaHRUcmVlVHlwZS5IWVBFTikge1xyXG4gICAgICAgICAgbXVsdGlwbGVXb3JkV3JhcHBlciA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHdvcmRFbmRJeCA9PT0gbmV4dFdvcmRTdGFydEl4KSB7XHJcbiAgICAgICAgICBpZiAoIW11bHRpcGxlV29yZFdyYXBwZXIpIHtcclxuICAgICAgICAgICAgbXVsdGlwbGVXb3JkV3JhcHBlciA9IHtcclxuICAgICAgICAgICAgICBvcmlnaW5hbFRleHQ6IFwiXCIsXHJcbiAgICAgICAgICAgICAgcm9vdDogdHJlZSxcclxuICAgICAgICAgICAgICB0ZXh0OiBcIlwiLFxyXG4gICAgICAgICAgICAgIHR5cGU6IEhpZ2hsaWdodFRyZWVUeXBlLldPUkRfV1JBUFBFUixcclxuICAgICAgICAgICAgICBjaGlsZHJlbjogW10sXHJcbiAgICAgICAgICAgICAgY2xhc3M6IEhpZ2hsaWdodFBhcmFtcy5tdWx0aXBsZVdvcmRXcmFwcGVyXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJlZS5jaGlsZHJlbltzZW50ZW5jZUl4XS5jaGlsZHJlbi5wdXNoKG11bHRpcGxlV29yZFdyYXBwZXIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobXVsdGlwbGVXb3JkV3JhcHBlcikge1xyXG4gICAgICAgICAgbXVsdGlwbGVXb3JkV3JhcHBlci5vcmlnaW5hbFRleHQgKz0gb3JpZ2luYWxUZXh0O1xyXG4gICAgICAgICAgbXVsdGlwbGVXb3JkV3JhcHBlci50ZXh0ICs9IGVzY2FwZWQ7XHJcbiAgICAgICAgICBtdWx0aXBsZVdvcmRXcmFwcGVyLmNoaWxkcmVuLnB1c2god29yZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdHJlZS5jaGlsZHJlbltzZW50ZW5jZUl4XS5jaGlsZHJlbi5wdXNoKHdvcmQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB3b3Jkcy5wdXNoKHdvcmQpO1xyXG4gICAgICAgIGxhc3RQcm9jZXNzZWRDaGFySXggPSB3b3JkRW5kSXg7XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIHsgdHJlZSwgd29yZHMgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2VudGVuY2VGcm9tUmFuZ2UocmFuZ2U6IG51bWJlcltdLCB0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc3RhcnQgPSByYW5nZVswXSA9PSAwID8gcmFuZ2VbMF0gOiByYW5nZVswXSArIDE7XHJcbiAgICBjb25zdCBlbmQgPSBzdGFydCArIHJhbmdlWzFdO1xyXG4gICAgcmV0dXJuIHRleHQuc2xpY2Uoc3RhcnQsIGVuZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRTaWJsaW5ncyh3b3JkQWxpZ25tZW50OiBudW1iZXJbXVtdLCBzb3VyY2VXb3JkczogSUhpZ2hsaWdodFRyZWVbXSwgdGFyZ2V0V29yZHM6IElIaWdobGlnaHRUcmVlW10pIHtcclxuICAgIHdvcmRBbGlnbm1lbnQuZm9yRWFjaCgocmFuZ2UpID0+IHtcclxuICAgICAgY29uc3Qgc291cmNlV29yZEl4ID0gcmFuZ2VbMF07XHJcbiAgICAgIGNvbnN0IHRhcmdldFdvcmRJeCA9IHJhbmdlWzFdO1xyXG4gICAgICBjb25zdCBzb3VyY2VXb3JkID0gc291cmNlV29yZHNbc291cmNlV29yZEl4XTtcclxuICAgICAgY29uc3QgdGFyZ2V0V29yZCA9IHRhcmdldFdvcmRzW3RhcmdldFdvcmRJeF07XHJcblxyXG4gICAgICBpZiAoc291cmNlV29yZCAmJiB0YXJnZXRXb3JkKSB7XHJcbiAgICAgICAgc291cmNlV29yZC5jbGFzcyArPSBgICR7SGlnaGxpZ2h0UGFyYW1zLnNpYmxpbmdDbGFzc30tJHt0YXJnZXRXb3JkLmVsZW1lbnRJZH1gO1xyXG4gICAgICAgIHRhcmdldFdvcmQuY2xhc3MgKz0gYCAke0hpZ2hsaWdodFBhcmFtcy5zaWJsaW5nQ2xhc3N9LSR7c291cmNlV29yZC5lbGVtZW50SWR9YDtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19
|