@touchpoll/tp-survey 0.0.13 → 0.0.15
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/esm2022/lib/component/answer/answer.master/answer.master.component.mjs +4 -2
- package/esm2022/lib/component/answer/answer.ss/answer.ss.component.mjs +3 -3
- package/esm2022/lib/component/answer/container.answer/container.answer.component.mjs +5 -3
- package/esm2022/lib/component/survey.play/survey.play.component.mjs +20 -3
- package/esm2022/lib/component/survey.question.preview/survey.question.preview.component.mjs +20 -4
- package/esm2022/lib/core/tp.survey.core/tp.survey.core.service.mjs +19 -1
- package/esm2022/lib/core/tp.survey.logic/tp.survey.logic.service.mjs +5 -6
- package/esm2022/lib/pipe/multi.lang.object.to.html/multi.lang.object.to.html.pipe.mjs +12 -4
- package/esm2022/lib/tp.survey.interface.mjs +1 -1
- package/esm2022/lib/tp.survey.type.mjs +1 -1
- package/fesm2022/touchpoll-tp-survey.mjs +80 -18
- package/fesm2022/touchpoll-tp-survey.mjs.map +1 -1
- package/lib/component/answer/answer.master/answer.master.component.d.ts +4 -2
- package/lib/component/answer/container.answer/container.answer.component.d.ts +4 -2
- package/lib/component/survey.play/survey.play.component.d.ts +1 -0
- package/lib/component/survey.question.preview/survey.question.preview.component.d.ts +3 -1
- package/lib/core/tp.survey.core/tp.survey.core.service.d.ts +1 -0
- package/lib/core/tp.survey.logic/tp.survey.logic.service.d.ts +2 -2
- package/lib/pipe/multi.lang.object.to.html/multi.lang.object.to.html.pipe.d.ts +2 -1
- package/lib/tp.survey.interface.d.ts +2 -0
- package/lib/tp.survey.type.d.ts +1 -0
- package/package.json +1 -1
|
@@ -94,6 +94,24 @@ export class TpSurveyCoreService {
|
|
|
94
94
|
const answer = this._interview.findAnswerByGuid(guid);
|
|
95
95
|
return answer?.answerIsComplete ?? false;
|
|
96
96
|
}
|
|
97
|
+
guidToTextAnswer(guid, languageId) {
|
|
98
|
+
const answer = this.findAnswerByGuid(guid);
|
|
99
|
+
const question = this.#findQuestionByGuid(guid);
|
|
100
|
+
if (!question || !answer || answer.AnswerValue === -97) {
|
|
101
|
+
return '';
|
|
102
|
+
}
|
|
103
|
+
debugger;
|
|
104
|
+
const questionType = question.QuestionType;
|
|
105
|
+
switch (questionType) {
|
|
106
|
+
case QuestionsType.eqOL: return answer.AnswerValue;
|
|
107
|
+
case QuestionsType.eqSS: {
|
|
108
|
+
const alternative = question.Alternativelist.find(alt => alt.Value === answer.AnswerValue);
|
|
109
|
+
const altText = alternative?.MultiLangCaptions.find(obj => obj.lang === languageId);
|
|
110
|
+
return altText?.CaptionHtml ?? '';
|
|
111
|
+
}
|
|
112
|
+
default: return '';
|
|
113
|
+
}
|
|
114
|
+
}
|
|
97
115
|
#fillOldInterviewData(logicVars, answerList) {
|
|
98
116
|
//пропишем старые логические переменные
|
|
99
117
|
if (Array.isArray(logicVars)) {
|
|
@@ -392,4 +410,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
392
410
|
type: Inject,
|
|
393
411
|
args: [PLATFORM_ID]
|
|
394
412
|
}] }, { type: i1.TpSurveyLogicService }, { type: i2.TpSurveyInterviewService }] });
|
|
395
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAuc3VydmV5LmNvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RwLnN1cnZleS9zcmMvbGliL2NvcmUvdHAuc3VydmV5LmNvcmUvdHAuc3VydmV5LmNvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRWhFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUduQyxPQUFPLEVBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFTOUQsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7SUFDMUMsZ0JBQWdCLEdBQUcsSUFBSSxlQUFlLENBQXFCLElBQUksQ0FBQyxDQUFDO0lBQzFFLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ25DLFlBQVksQ0FBa0I7SUFDOUIsbUJBQW1CLEdBQWtCLEVBQUUsQ0FBQyxDQUFDLHFDQUFxQztJQUNyRSxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLFlBQWtELFVBQWtCLEVBQW1CLE1B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QkFBa0IsRUFBRSxFQUFFO2dCQUN0Qix5QkFBeUIsRUFBRSxFQUFFO2FBQzlCLENBQUE7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFFSCxDQUFDOzhHQXhiVSxtQkFBbUIsa0JBT1YsV0FBVztrSEFQcEIsbUJBQW1CLGNBRmxCLE1BQU07OzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFjLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lEfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7U3VydmV5UXVvdGFzfSBmcm9tICcuLi90cC5zZXJ2ZXkucXVvdGEvdHAuc3VydmV5LnF1b3RhJztcclxuaW1wb3J0IHtUcFN1cnZleUxvZ2ljU2VydmljZX0gZnJvbSAnLi4vdHAuc3VydmV5LmxvZ2ljL3RwLnN1cnZleS5sb2dpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHtpc1BsYXRmb3JtQnJvd3Nlcn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtBbnN3ZXJDaGFuZ2UsIElkYlF1ZXN0aW9uLCBJZGJRdWVzdGlvbmFyeSwgSUludGVydmlld0RhdGEsIElJbnRlcnZpZXdMb2dpY1ZhciwgSVF1ZXN0aW9uQW5zd2VyfSBmcm9tICcuLi8uLi90cC5zdXJ2ZXkuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtUcFN1cnZleUludGVydmlld1NlcnZpY2V9IGZyb20gJy4uL3RwLnN1cnZleS5pbnRlcnZpZXcvdHAuc3VydmV5LmludGVydmlldy5zZXJ2aWNlJztcclxuaW1wb3J0IHtRdWVzdGlvbnNUeXBlLCBSZXN1bHRhdGl2ZVN0YXR1cywgU3VydmV5RXZlbnRzLCBWYWxpZFN0YXR1c30gZnJvbSAnLi4vLi4vdHAuc3VydmV5LmVudW0nO1xyXG5pbXBvcnQge0Fuc3dlcn0gZnJvbSAnLi4vdHAuc3VydmV5LmFuc3dlci90cC5zdXJ2ZXkuYW5zd2VyJztcclxuaW1wb3J0IHtBbnN3ZXJTbFR5cGUsIExvZ2ljT2JqZWN0fSBmcm9tICcuLi8uLi90cC5zdXJ2ZXkudHlwZSc7XHJcbmltcG9ydCB7TUlTU0lOR19WQUxVRX0gZnJvbSAnLi4vLi4vdHAuc3VydmV5LmNvbnN0JztcclxuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbmludGVyZmFjZSBCcm9hZGNhc3RFdmVudCB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgZGF0YT86IGFueTtcclxufVxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcFN1cnZleUNvcmVTZXJ2aWNlIHtcclxuICByZWFkb25seSAjZXZlbnRCdXMgPSBuZXcgU3ViamVjdDxCcm9hZGNhc3RFdmVudD4oKTtcclxuICByZWFkb25seSAjY3VycmVudFF1ZXN0aW9uID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJZGJRdWVzdGlvbiB8IG51bGw+KG51bGwpO1xyXG4gICNzdXJ2ZXlRdW90YXMgPSBuZXcgU3VydmV5UXVvdGFzKCk7XHJcbiAgI3F1ZXN0aW9uYXJ5PzogSWRiUXVlc3Rpb25hcnk7XHJcbiAgI2Rpc3BsYXllZFF1ZXN0aW9uczogQXJyYXk8bnVtYmVyPiA9IFtdOyAvLyDQvdGD0LbQvdC+INC00LvRjyDQvdCw0LLQuNCz0LDRhtC40Lgg0L/QviDQutC90L7Qv9C60LUgYmFja1xyXG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZDogb2JqZWN0LCBwcml2YXRlIHJlYWRvbmx5IF9sb2dpYzogVHBTdXJ2ZXlMb2dpY1NlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgX2ludGVydmlldzogVHBTdXJ2ZXlJbnRlcnZpZXdTZXJ2aWNlKSB7XHJcbiAgICAvLyDQt9Cw0L/Rg9GB0LrQsNC8INC/0YDQvtCy0LXRgNC60YMg0LrQstC+0YIsINC/0L7RgdC70LUg0YHQutGA0YvRgtC40Y8g0LrQsNC20LTQvtCz0L4o0L/QvtGH0YLQuCkg0LLQvtC/0YDQvtGB0LAgKHNlUXVlc3Rpb25IaWRlKVxyXG4gICAgdGhpcy4jZXZlbnRCdXMuYXNPYnNlcnZhYmxlKCkucGlwZShcclxuICAgICBmaWx0ZXIoZXYgPT4gZXYua2V5ID09PSBTdXJ2ZXlFdmVudHMuc2VRdWVzdGlvbkhpZGUgKSxcclxuICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZiksXHJcbiAgICApLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHRoaXMuI3N1cnZleVF1b3Rhcy5maW5kRmlsbGVkUXVvdGFzKHRoaXMuI2N1cnJlbnRRdWVzdGlvbi52YWx1ZT8uUXVlc3Rpb25OdW0gPz8gLTEsIE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX2xvZ2ljLmdldExvZ2ljVmFycygpKSwgdGhpcy5faW50ZXJ2aWV3LmdldEFuc3dlckxpc3QoKSlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0dXBTdXJ2ZXkocXVlc3Rpb25hcnlSYXdEYXRhOiBJZGJRdWVzdGlvbmFyeSwgbG9naWNWYXJzPzogQXJyYXk8SUludGVydmlld0xvZ2ljVmFyPiwgYW5zd2VyTGlzdD86IEFycmF5PElRdWVzdGlvbkFuc3dlcj4sIHF1ZXN0aW9uR3VpZD86IG51bWJlcikge1xyXG4gICAgLy/QtdGB0LvQuCDQsNC90LrQtdGC0Ysg0L3QtdGCLCDQtNC10LvQsNGC0Ywg0L3QtdGH0LXQs9C+LlxyXG4gICAgaWYgKCFxdWVzdGlvbmFyeVJhd0RhdGEpIHtcclxuICAgICAgdGhpcy4jY3VycmVudFF1ZXN0aW9uLm5leHQobnVsbCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLiNxdWVzdGlvbmFyeSA9IHF1ZXN0aW9uYXJ5UmF3RGF0YTtcclxuXHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICAvL9GD0LfQvdCw0LXQvCDQtdGB0YLRjCDQu9C4INCy0L7Qv9GA0L7RgSDQutC+0YLQvtGA0YvQuSDRg9C60LDQt9Cw0LvQuCDQtNC70Y8g0L/QtdGA0LXRhdC+0LTQsCDQv9GA0Lgg0LfQsNC/0L7Qu9C90LXQvdC40Lgg0LrQstC+0YLRi1xyXG4gICAgICBjb25zdCBkZXN0aW5hdGlvblF1ZXN0aW9uID0gdGhpcy4jZmluZFF1ZXN0aW9uQnlHdWlkKHF1ZXN0aW9uYXJ5UmF3RGF0YS5CYXNlUGFyYW1zLlF1b3RhTGltaXREZXN0aW5hdGlvblF1ZXN0aW9uR3VpZCk7XHJcblxyXG4gICAgICAvL9C40L3QuNGG0LjQsNC70LjQt9C40YDRg9C10Lwg0LrQstC+0YLRi1xyXG4gICAgICB0aGlzLiNzdXJ2ZXlRdW90YXMuc2V0UXVvdGFzKHF1ZXN0aW9uYXJ5UmF3RGF0YS5RdW90YXMsIHF1ZXN0aW9uYXJ5UmF3RGF0YS5RdW90YXMyZCwgZGVzdGluYXRpb25RdWVzdGlvbj8uUXVlc3Rpb25HdWlkID8/IC0xLCBkZXN0aW5hdGlvblF1ZXN0aW9uPy5RdWVzdGlvbk51bSA/PyAtMSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy/RgdC+0LfQtNCw0LTQuNC8INC+0YLQstC10YLRiyDQuCDQu9C+0LPQuNGH0LXRgdC60LjQtSDQv9C10YDQtdC80LXQvdC90YvQtVxyXG4gICAgdGhpcy4jaW5pdGlhdGVRdWVzdGlvbnModGhpcy4jcXVlc3Rpb25hcnkuUXVlc3Rpb25zKVxyXG5cclxuICAgIC8vINCc0L7QttC10YIg0LHRi9GC0YwgMiDQstCw0YDQuNCw0L3RgtCwINC30LDQv9GD0YHQutCwINC40L3RgtC10YDQstGM0Y4sIDEt0L3QvtCy0L7QtSDQuNC90YLQtdGA0LLRjNGOLCAyLdC/0LXRgNC10LfQsNC/0YPRgdC6INGB0YLQsNGA0L7Qs9C+INC40L3RgtC10YDQstGM0Y4uINCSINC/0LXRgNCy0L7QvCDRgdC70YPRh9Cw0LUg0L3QsNGH0LDQu9C+INGN0YLQviBsYW5nINC40LvQuCDQv9C10YDQstGL0Lkg0LLQvtC/0YDQvtGBLiDQktC+INCy0YLQvtGA0L7QvCwg0YEg0L/QvtGB0LvQtdC00L3QtdCz0L4g0LLQvtC/0YDQvtGB0LAg0L3QsCDQutC+0YLQvtGA0YvQuSDQvtGC0LLQtdGC0LjQu9C4LlxyXG4gICAgbGV0IHN0YXJ0UXVlc3Rpb25OdW06IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICAgIC8v0LXRgdC70Lgg0LfQsNCz0YDRg9C20LDQtdC8INGA0LDQvdC10LUg0L3QtSDQt9Cw0LrQvtC90YfQtdC90L3QvtC1INC40L3RgtC10YDQstGM0Y4sINC/0YDQvtC00L7Qu9C20LDQtdC8INGBINC80LXRgdGC0LAg0L/QvtGB0LvQtdC00L3QtdCz0L4g0LLQvtC/0YDQvtGB0LAgKNGB0LvRg9GH0LDQuSDQvdC+0LzQtdGAIDIpXHJcbiAgICBpZiAoISFsb2dpY1ZhcnMgJiYgISFhbnN3ZXJMaXN0ICYmICEhcXVlc3Rpb25HdWlkKSB7XHJcbiAgICAgIC8v0LfQsNCz0YDRg9C20LDQtdC8INGB0YLQsNGA0YvQtSDQu9C+0LPQuNGH0LXRgdC60LjQtSDQv9C10YDQtdC80LXQvdC90YvQtSDQuCDQvtGC0LLQtdGC0YtcclxuICAgICAgdGhpcy4jZmlsbE9sZEludGVydmlld0RhdGEobG9naWNWYXJzLCBhbnN3ZXJMaXN0KTtcclxuXHJcbiAgICAgIC8v0LjRidC10Lwg0L3QvtC80LXRgCDQstC+0L/RgNC+0YHQsCwg0LrQvtGC0L7RgNGL0Lkg0LHRi9C7INC/0L7RgdC70LXQtNC90LjQuSDQv9C10YDQtdC0INGB0L7RhdGA0LDQvdC10L3QuNC10LwuXHJcbiAgICAgIGNvbnN0IHF1ZXN0aW9uTGFzdFNhdmUgPSB0aGlzLiNmaW5kUXVlc3Rpb25CeUd1aWQocXVlc3Rpb25HdWlkKTtcclxuXHJcbiAgICAgIC8v0JLQvtC/0YDQvtGBINC80L7Qs9C70Lgg0YPQtNCw0LvQuNGC0YwuINCi0L7Qs9C00LAg0L3QsNGH0L3QtdC8INGB0L3QsNGH0LDQu9CwLlxyXG4gICAgICBpZiAoISFxdWVzdGlvbkxhc3RTYXZlKSB7XHJcbiAgICAgICAgc3RhcnRRdWVzdGlvbk51bSA9IHF1ZXN0aW9uTGFzdFNhdmUuUXVlc3Rpb25OdW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChzdGFydFF1ZXN0aW9uTnVtID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgLy/QrdGC0L4g0L3QvtCy0L7QtSDQuNC90YLQtdGA0LLRjNGOLCDQsdC10Lcg0YDQsNC90LXQtSDRgdC+0YXRgNCw0L3RkdC90L3Ri9GFINC00LDQvdC90YvRhSjRgdC70YPRh9Cw0LkgMSkuINCX0LDQv9GD0YHQutCw0LXQvCDQvtC/0YDQvtGBLCDQv9C10YDQstGL0Lkg0Y3QutGA0LDQvSDRjdGC0L4gTGFuZyDQstC+0L/RgNC+0YEsINC90L4g0LXRgdC70Lgg0LLRi9Cx0L7RgNCwINGP0LfRi9C60LAg0L3QtdGCLCDQv9GA0L7Qv9GD0YHQutCw0LXQvCDQuCDQv9C10YDQtdGF0L7QtNC40Lwg0L3QsCAxLdC5INCy0L7Qv9GA0L7RgVxyXG4gICAgICBzdGFydFF1ZXN0aW9uTnVtID0gdGhpcy4jYWN0aXZlTGFuZ0NvdW50ID4gMSA/IDAgOiB0aGlzLiNuZXh0UXVlc3Rpb25OdW0oKTtcclxuICAgIH1cclxuXHJcbiAgICAvL9C/0L7RiNC70ZHQvCDRgdC+0LHRi9GC0LjQtSDQviDQvdCw0YfQsNC70LUg0L7Qv9GA0L7RgdCwXHJcbiAgICB0aGlzLiNldmVudEJ1cy5uZXh0KHtrZXk6IFN1cnZleUV2ZW50cy5zZVN1cnZleVN0YXJ0LCBkYXRhOiB7cXVlc3Rpb25hcnk6IHRoaXMuI3F1ZXN0aW9uYXJ5fX0pO1xyXG5cclxuICAgIC8v0L/QvtC60LDQt9GL0LLQsNC10Lwg0LLQvtC/0YDQvtGBXHJcbiAgICB0aGlzLiNjaGFuZ2VDdXJyZW50UXVlc3Rpb24odGhpcy4jcXVlc3Rpb25hcnkhLlF1ZXN0aW9uc1tzdGFydFF1ZXN0aW9uTnVtXSk7XHJcbiAgfVxyXG5cclxuICBvbiguLi5rZXk6IEFycmF5PHN0cmluZz4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI2V2ZW50QnVzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXHJcbiAgICAgZmlsdGVyKGV2ZW50ID0+IGtleS5pbmNsdWRlcyhldmVudC5rZXkpKSxcclxuICAgICBtYXAoZXZlbnQgPT4gZXZlbnQuZGF0YSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnb1RvTmV4dFF1ZXN0aW9uKCk6IHZvaWQge1xyXG4gICAgY29uc3QgY3VycmVudFF1ZXN0aW9uID0gdGhpcy4jY3VycmVudFF1ZXN0aW9uLnZhbHVlO1xyXG4gICAgaWYgKCFjdXJyZW50UXVlc3Rpb24pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy/QtdGB0LvQuCDQvtGC0LLQtdGCINC90LAg0YLQtdC60YPRidC40Lkg0LLQvtC/0YDQvtGBINC90LUg0LfQsNC60L7QvdGH0LXQvSwg0LLRi9GF0L7QtNC40LxcclxuICAgIGlmICghdGhpcy5faW50ZXJ2aWV3LnF1ZXN0aW9uSXNDb21wbGV0ZShjdXJyZW50UXVlc3Rpb24uUXVlc3Rpb25HdWlkKSkge1xyXG4gICAgICByZXR1cm4gO1xyXG4gICAgfVxyXG5cclxuICAgIC8v0LXRgdC70Lgg0YPQutCw0LfQsNC9IFBvc3RTY3JpcHQsINCy0YvQv9C+0LvQvdC40Lwg0LXQs9C+XHJcbiAgICBpZiAoISFjdXJyZW50UXVlc3Rpb24uUG9zdFNjcmlwdCkge1xyXG4gICAgICB0aGlzLl9sb2dpYy5leGVjdXRlUG9zdFNjcmlwdChjdXJyZW50UXVlc3Rpb24uUG9zdFNjcmlwdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLiNjaGFuZ2VDdXJyZW50UXVlc3Rpb24odGhpcy4jcXVlc3Rpb25hcnkhLlF1ZXN0aW9uc1t0aGlzLiNuZXh0UXVlc3Rpb25OdW0oKV0pO1xyXG4gIH1cclxuXHJcbiAgZ29Ub0JhY2tRdWVzdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuI2Rpc3BsYXllZFF1ZXN0aW9ucy5wb3AoKTsgLy8g0YPQtNCw0LvQuNC8INC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGC0L7QvCDRh9GC0L4g0L/QvtC60LDQt9GL0LLQsNC70Lgg0Y3RgtC+0YIg0LLQvtC/0YDQvtGBXHJcbiAgICBjb25zdCBwcmV2aW91c1F1ZXN0aW9uTnVtID0gdGhpcy4jZGlzcGxheWVkUXVlc3Rpb25zLnBvcCgpOyAvLyDRg9C30L3QsNC10Lwg0L3QvtC80LXRgCDQstC+0L/RgNC+0YHQsCDQvdCwINC60L7RgtC+0YDRi9C5INC90LDQvCDQvdCw0LTQviDQv9C10YDQtdC50YLQuCwg0Lgg0YPQtNCw0LvQuNC8INC40L3RhNC+0YDQvNCw0YbQuNGOINGH0YLQvi3QsdGLINC90LUg0LTRg9Cx0LvQuNGA0L7QstCw0YLRjFxyXG4gICAgaWYgKCEhcHJldmlvdXNRdWVzdGlvbk51bSkge1xyXG4gICAgICBjb25zdCBwcmV2UXVlc3Rpb24gPSB0aGlzLiNxdWVzdGlvbmFyeT8uUXVlc3Rpb25zW3ByZXZpb3VzUXVlc3Rpb25OdW1dO1xyXG4gICAgICBpZiAoISFwcmV2UXVlc3Rpb24pIHtcclxuICAgICAgICB0aGlzLiNjaGFuZ2VDdXJyZW50UXVlc3Rpb24ocHJldlF1ZXN0aW9uKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcXVlc3Rpb25Jc0NvbXBsZXRlKGd1aWQ6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgYW5zd2VyID0gdGhpcy5faW50ZXJ2aWV3LmZpbmRBbnN3ZXJCeUd1aWQoZ3VpZCk7XHJcbiAgICByZXR1cm4gYW5zd2VyPy5hbnN3ZXJJc0NvbXBsZXRlID8/IGZhbHNlXHJcbiAgfVxyXG5cclxuICAjZmlsbE9sZEludGVydmlld0RhdGEobG9naWNWYXJzOiBBcnJheTxJSW50ZXJ2aWV3TG9naWNWYXI+LCBhbnN3ZXJMaXN0OiBBcnJheTxJUXVlc3Rpb25BbnN3ZXI+KTogdm9pZHtcclxuICAgIC8v0L/RgNC+0L/QuNGI0LXQvCDRgdGC0LDRgNGL0LUg0LvQvtCz0LjRh9C10YHQutC40LUg0L/QtdGA0LXQvNC10L3QvdGL0LVcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGxvZ2ljVmFycykpIHtcclxuICAgICAgbG9naWNWYXJzLmZvckVhY2gobG9naWNWYXJPYmogPT4ge1xyXG4gICAgICAgIHRoaXMuX2xvZ2ljLnNldExvZ2ljVmFsdWUobG9naWNWYXJPYmoubm0sIGxvZ2ljVmFyT2JqLnZsKTtcclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICAvL9C/0YDQvtC/0LjRiNC10Lwg0YHRgtCw0YDRi9C1INC+0YLQstC10YLRi1xyXG4gICAgdGhpcy5faW50ZXJ2aWV3Lm92ZXJyaWRlQW5zd2VycyhhbnN3ZXJMaXN0KTtcclxuXHJcbiAgICAvL9C90YPQttC90L4g0LLQtdGA0L3Rg9GC0Ywg0LLRgNC10LzRjyDQvdCw0YfQsNC70LAg0LjQvdGC0LXRgNCy0YzRjiwg0L7RgtC00LXQu9GM0L3QviDQvtC90L4g0L3QtSDRgdC+0YXRgNCw0L3Rj9C10YLRgdGPLCDQv9C+0Y3RgtC+0LzRgyDQstC+0LfRjNC80ZHQvCDQvNC40L3QuNC80LDQu9GM0L3QvtC1INCy0YDQtdC80Y8g0L3QsNGH0LDQu9CwINC40Lcg0L7RgtCy0LXRgtC+0LJcclxuICAgIC8v0YTQuNC70YzRgtGA0YPQtdC8INCy0YHQtSDQstC+0L/RgNC+0YHRiyDRgyDQutC+0YLQvtGA0YvRhSDQvtC90L4g0YPQutCw0LfQsNC90L4oPjApINC4INGC0YDQsNC90YHRhNC+0YDQvNC40YDRg9C10Lwg0LIg0YfQuNGB0LvQvi5cclxuICAgIGNvbnN0IHN0YXJ0ZWRBdEFycmF5ID0gIGFuc3dlckxpc3QuZmlsdGVyKGFuc3dlciA9PiBhbnN3ZXIuU3RhcnRlZEF0ID4gMCkubWFwKGFuc3dlciA9PiBhbnN3ZXIuU3RhcnRlZEF0KTtcclxuXHJcbiAgICAvL9Cx0LXRgNGR0Lwg0LzQuNC90LjQvNCw0LvRjNC90L7QtVxyXG4gICAgdGhpcy5faW50ZXJ2aWV3LnN0YXJ0ZWRBdCA9IE1hdGgubWluKC4uLnN0YXJ0ZWRBdEFycmF5KTtcclxuICB9XHJcblxyXG4gICNjaGFuZ2VDdXJyZW50UXVlc3Rpb24obmV3UXVlc3Rpb246IElkYlF1ZXN0aW9uKTogdm9pZCB7XHJcbiAgICBjb25zdCBjdXJyZW50UXVlc3Rpb24gPSB0aGlzLiNjdXJyZW50UXVlc3Rpb24udmFsdWU7XHJcbiAgICBjb25zdCBjdXJyZW50VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG5cclxuICAgIGlmICghIWN1cnJlbnRRdWVzdGlvbikge1xyXG4gICAgICAvKlxyXG4gICAgICDQodC+0YXRgNCw0L3QuNC8INCy0YDQtdC80Y8g0L3QsNGH0LDQu9CwINC40L3RgtC10YDQstGM0Y4uINCk0LjQutGB0LjRgNC+0LLQsNGC0Ywg0LHRg9C00LXQvCDQvdC1INGBINGB0LDQvNC+0LPQviDQvdCw0YfQsNC70LAsINCwINGBINC+0YLQstC10YLQsCDQvdCwINC/0LXRgNCy0YvQuSDQstC+0L/RgNC+0YEuXHJcbiAgICAgINCf0L7RgtC+0LzRgyDRh9GC0L4g0L/RgNCw0LrRgtC40LrQsCDRgtCw0LrQsNGPLCDQvtGC0LrRgNGL0YLRjCDQsNC90LrQtdGC0YMg0L3QsCDQv9C70LDQvdGI0LXRgtC1INC4INGF0L7QtNC40YLRjCDQuNGB0LrQsNGC0Ywg0YDQtdGB0L/QvtC90LTQtdC90YLQvtCyINC4INC40Lct0LfQsCDRjdGC0L7Qs9C+INC00LvQuNGC0LXQu9GM0L3QvtGB0YLRjCDQuNC90YLQtdGA0LLRjNGOINC80L7QttC10YIg0LHRi9GC0Ywg0L3QtdGA0LXQu9C10LLQsNC90YLQvdC+LlxyXG4gICAgICAqICovXHJcbiAgICAgIGlmICh0aGlzLl9pbnRlcnZpZXcuc3RhcnRlZEF0ID09PSAwICYmIGN1cnJlbnRRdWVzdGlvbi5RdWVzdGlvbk51bSA+PSAwKSB7XHJcbiAgICAgICAgdGhpcy5faW50ZXJ2aWV3LnN0YXJ0ZWRBdCA9IGN1cnJlbnRUaW1lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL9C90YPQttC90L4g0YHQvtGF0YDQsNC90LjRgtGMIEZpbmlzaGVkQXQg0LIg0L7RgtCy0LXRgtCw0YUg0LTQu9GPINGB0YLQsNGA0L7Qs9C+INCy0L7Qv9GA0L7RgdCwXHJcbiAgICAgIGNvbnN0IGFuc3dlciA9IHRoaXMuX2ludGVydmlldy5maW5kQW5zd2VyQnlHdWlkKGN1cnJlbnRRdWVzdGlvbi5RdWVzdGlvbkd1aWQpO1xyXG4gICAgICBpZiAoISFhbnN3ZXIpIHtcclxuICAgICAgICBhbnN3ZXIuRmluaXNoZWRBdCA9IGN1cnJlbnRUaW1lO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuI2V2ZW50QnVzLm5leHQoe2tleTogU3VydmV5RXZlbnRzLnNlUXVlc3Rpb25IaWRlLCBkYXRhOiBjdXJyZW50UXVlc3Rpb259KTtcclxuICAgIH1cclxuICAgIHRoaXMuI2Rpc3BsYXllZFF1ZXN0aW9ucy5wdXNoKG5ld1F1ZXN0aW9uLlF1ZXN0aW9uTnVtKTtcclxuICAgIHRoaXMuI2N1cnJlbnRRdWVzdGlvbi5uZXh0KG5ld1F1ZXN0aW9uKTtcclxuXHJcbiAgICAvL9C90YPQttC90L4g0YHQvtGF0YDQsNC90LjRgtGMIFN0YXJ0ZWRBdCDQsiDQvtGC0LLQtdGC0LDRhSDQtNC70Y8g0L3QvtCy0L7Qs9C+INCy0L7Qv9GA0L7RgdCwXHJcbiAgICBjb25zdCBhbnN3ZXJOZXcgPSB0aGlzLl9pbnRlcnZpZXcuZmluZEFuc3dlckJ5R3VpZChuZXdRdWVzdGlvbi5RdWVzdGlvbkd1aWQpO1xyXG4gICAgaWYgKCEhYW5zd2VyTmV3KSB7XHJcbiAgICAgIGFuc3dlck5ldy5TdGFydGVkQXQgPSBjdXJyZW50VGltZTtcclxuICAgIH1cclxuICAgIHRoaXMuI2V2ZW50QnVzLm5leHQoe2tleTogU3VydmV5RXZlbnRzLnNlUXVlc3Rpb25TaG93LCBkYXRhOiBuZXdRdWVzdGlvbn0pO1xyXG5cclxuICAgIC8v0LXRgdC70Lgg0L3QvtCy0YvQuSDRjdC60YDQsNC9INGN0YLQviBlbmQg0YLQvtCz0LTQsCDQt9Cw0LLQtdGA0YjQsNC10Lwg0LjQvdGC0LXRgNCy0YzRjlxyXG4gICAgaWYgKG5ld1F1ZXN0aW9uLlF1ZXN0aW9uVHlwZSA9PT0gJ0VORCcpIHtcclxuICAgICAgdGhpcy4jZmluaXNoSW50ZXJ2aWV3KCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8v0LXRgdC70Lgg0Y3RgtC+INC90LXRj9Cy0L3Ri9C5INCy0L7Qv9GA0L7RgSDQuCDRjdGC0L4gc3Mg0LjQu9C4IG1zINCy0L7Qv9GA0L7RgSDRgtC+0LPQtNCwINC/0L7RgdGH0LjRgtCw0LXQvCDQt9C90LDRh9C10L3QuNGPINGDINGN0YLQvtCz0L4g0LLQvtC/0YDQvtGB0LBcclxuICAgIGlmIChuZXdRdWVzdGlvbi5JbXBsaWNpdCkge1xyXG4gICAgICB0aGlzLiNjYWxjdWxhdGVJbXBsaWNpdFF1ZXN0aW9uKG5ld1F1ZXN0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGN1cnJlbnRRdWVzdGlvbiQoKTogT2JzZXJ2YWJsZTxJZGJRdWVzdGlvbiB8IG51bGw+IHtcclxuICAgIHJldHVybiB0aGlzLiNjdXJyZW50UXVlc3Rpb24uYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBmaW5kQW5zd2VyQnlHdWlkKGd1aWQ6IG51bWJlcik6IEFuc3dlciB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5faW50ZXJ2aWV3LmZpbmRBbnN3ZXJCeUd1aWQoZ3VpZCk7XHJcbiAgfVxyXG5cclxuICBzZXRMb2dpY1ZhbHVlKHZhck5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fbG9naWMuc2V0TG9naWNWYWx1ZSh2YXJOYW1lLCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2dpY1ZhcnMoKTogTG9naWNPYmplY3Qge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xvZ2ljLmdldExvZ2ljVmFycygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QW5zd2VyTGlzdCgpOiBBcnJheTxBbnN3ZXI+IHtcclxuICAgIHJldHVybiB0aGlzLl9pbnRlcnZpZXcuZ2V0QW5zd2VyTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQW5zd2VyKGV2ZW50RGF0YTogQW5zd2VyQ2hhbmdlKTogdm9pZCB7XHJcbiAgICBjb25zdCBhbnN3ZXIgPSB0aGlzLl9pbnRlcnZpZXcuZmluZEFuc3dlckJ5R3VpZChldmVudERhdGEuZ3VpZCk7XHJcbiAgICBpZiAoIWFuc3dlcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy/QstC+0L/RgNC+0YHRiyDQutC+0YLQvtGA0YvQtSDQsiDRgdCy0L7QtdC8INGB0L7RgdGC0LDQstC1INC40LzQtdC10YIg0YHQtdC60YbQuNC4LCDRhdGA0LDQvdGP0YIg0L7RgtCy0LXRgtGLINGH0YPRgtGMINC/0L4g0LTRgNGD0LPQvtC80YMsINGC0L7Rh9C90LXQtSDQvtGC0LLQtdGCINC90LAg0LrQsNC20LTRg9GOINGB0LXQutGG0LjRjiDRjdGC0L4g0L7RgtC00LXQu9GM0L3Ri9C5INC+0LHRitC10LrRgiDQsiAgX2ludGVydmlldy5hbnN3ZXJMaXN0XHJcbiAgICAvL9C/0L7RjdGC0L7QvNGDINC+0YLQstC10YIg0LTQu9GPINGC0LDQutC40YUg0YLQuNC/0L7QsiDQstC+0L/RgNC+0YHQvtCyINGN0YLQviBba2V5OiBzdHJpbmddOiBBcnJheTxudW1iZXI+IHwgbnVtYmVyLCDQs9C00LUga2V5KGd1aWQg0YHQtdC60YbQuNC4KSDRjdGC0L4g0L7RgtCy0LXRgiDQvdCwINGB0LXQutGG0LjRjiwg0LXRgdC70Lgga2V5INC90LXRgiwg0YHQtdC60YbQuNGPINC90LUg0LHRi9C70LAg0L/QvtC60LDQt9Cw0L3QsFxyXG4gICAgaWYgKHRoaXMuI2N1cnJlbnRRdWVzdGlvbi52YWx1ZT8uUXVlc3Rpb25UeXBlID09PSBRdWVzdGlvbnNUeXBlLmVxU0wpIHtcclxuICAgICAgY29uc3Qgc2VjdGlvbkxpc3QgPSB0aGlzLiNjdXJyZW50UXVlc3Rpb24udmFsdWU/LlNlY3Rpb25saXN0O1xyXG5cclxuICAgICAgLy/Qv9GA0L7QudC00ZHQvNGB0Y8g0L/QviDQutCw0LbQtNC+0Lkg0YHQtdC60YbQuNC4INC4INC10YHQu9C4INC00LvRjyDQvdC10ZEg0LXRgdGC0Ywg0L7RgtCy0LXRgiwg0LfQsNC/0LjRiNC10LwsINCyINC/0YDQvtGC0LjQstC90L7QvCDRgdC70YPRh9Cw0LUg0LLQvNC10YHRgtC+INC+0YLQstC10YLQsCDRg9C60LDQttC10LwgLTk3KE1JU1NJTkdfVkFMVUUpXHJcbiAgICAgIGlmICghIXNlY3Rpb25MaXN0KSB7XHJcbiAgICAgICAgc2VjdGlvbkxpc3QuZm9yRWFjaChzZWN0aW9uID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNlY3Rpb25JbnRlcnZpZXdBbnN3ZXIgPSAgdGhpcy5faW50ZXJ2aWV3LmZpbmRBbnN3ZXJCeUd1aWQoc2VjdGlvbi5TZWN0aW9uR3VpZCk7XHJcbiAgICAgICAgICBpZiAoIXNlY3Rpb25JbnRlcnZpZXdBbnN3ZXIpe1xyXG4gICAgICAgICAgICByZXR1cm5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnN0IHNlY3Rpb25RdWVzdGlvbkFuc3dlciA9IGV2ZW50RGF0YS5hbnN3ZXIgPyAgKGV2ZW50RGF0YS5hbnN3ZXIgYXMgQW5zd2VyU2xUeXBlKVtzZWN0aW9uLlNlY3Rpb25HdWlkLnRvU3RyaW5nKCldIDogdW5kZWZpbmVkO1xyXG4gICAgICAgICAgc2VjdGlvbkludGVydmlld0Fuc3dlci5BbnN3ZXJWYWx1ZSA9IHNlY3Rpb25RdWVzdGlvbkFuc3dlciA9PT0gdW5kZWZpbmVkID8gTUlTU0lOR19WQUxVRSA6IHNlY3Rpb25RdWVzdGlvbkFuc3dlcjtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICAvL9C+0YLQstC10YIg0YHQsNC80L7Qs9C+INC40YHRhdC+0LTQvdC+0LPQviDQstC+0L/RgNC+0YHQsCDQtNC+0LvQttC10L0g0LHRi9GC0YwgMVxyXG4gICAgICBhbnN3ZXIuQW5zd2VyVmFsdWUgPSAxO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy/QvtGC0LLQtdGCINC90LAg0LLQvtC/0YDQvtGBINGDINC60L7RgtC+0YDQvtCz0L4g0L3QtdGCINGB0LXQutGG0LjQuVxyXG4gICAgICBhbnN3ZXIuQW5zd2VyVmFsdWUgPSBldmVudERhdGEuYW5zd2VyO1xyXG4gICAgfVxyXG5cclxuICAgIC8v0L3QsCDQstC+0L/RgNC+0YEg0L7RgtCy0LXRgtC40LvQuCDRgtC+0LPQtNCwINC60L7Qs9C00LAg0LXRgdGC0Ywg0LLRgdC1INC+0YLQstC10YLRiyDQuCDQstGL0L/QvtC70L3Rj9C10YLRgdGPINC70L7Qs9C40LrQsCDQutC90L7Qv9C60Lgg0LTQsNC70LXQtSjQtdGB0LvQuCDQtdGRINGD0LrQsNC30LDQu9C4KVxyXG4gICAgYW5zd2VyLmFuc3dlcklzQ29tcGxldGUgPSBldmVudERhdGEuaXNDb21wbGV0ZSAmJiB0aGlzLiNuZXh0QnV0dG9uRXhwcmVzc2lvbklzVHJ1ZSgpO1xyXG5cclxuICAgIC8vVmlld2VkQWx0ZXJuYXRpdmVWYWx1ZXMg0LggVmlld2VkU2VjdGlvbkd1aWRzLiDQoi7Qui4g0L7QvdC4IHJlYWRvbmx5INGB0L3QsNGH0LDQu9CwINGD0LTQsNC70LjQvCwg0L/QvtGC0L7QvCDQtNC+0LHQsNCy0LjQvFxyXG4gICAgYW5zd2VyLlZpZXdlZEFsdGVybmF0aXZlVmFsdWVzLmxlbmd0aCA9IDA7XHJcbiAgICBldmVudERhdGEudmlld2VkQWx0ZXJuYXRpdmVWYWx1ZXMuZm9yRWFjaChvYSA9PiBhbnN3ZXIuVmlld2VkQWx0ZXJuYXRpdmVWYWx1ZXMucHVzaChvYSkpO1xyXG5cclxuICAgIGFuc3dlci5WaWV3ZWRTZWN0aW9uR3VpZHMubGVuZ3RoID0gMDtcclxuICAgIGV2ZW50RGF0YS52aWV3ZWRTZWN0aW9uR3VpZHMuZm9yRWFjaChvYSA9PiBhbnN3ZXIuVmlld2VkU2VjdGlvbkd1aWRzLnB1c2gob2EpKTtcclxuXHJcbiAgICBhbnN3ZXIuQWx0ZXJuYXRpdmVTZXF1ZW5jZUNsaWNrcy5sZW5ndGggPSAwO1xyXG4gICAgZXZlbnREYXRhLmFsdGVybmF0aXZlU2VxdWVuY2VDbGlja3MuZm9yRWFjaChvYSA9PiBhbnN3ZXIuQWx0ZXJuYXRpdmVTZXF1ZW5jZUNsaWNrcy5wdXNoKG9hKSk7XHJcblxyXG5cclxuICAgIE9iamVjdC5lbnRyaWVzKGFuc3dlci5BbnN3ZXJBZGRpdGlvbmFsKS5mb3JFYWNoKChba2V5XSkgPT4gZGVsZXRlIGFuc3dlci5BbnN3ZXJBZGRpdGlvbmFsW051bWJlcihrZXkpXSk7XHJcbiAgICBPYmplY3QuZW50cmllcyhldmVudERhdGEuYWRkaXRpb25hbEFuc3dlcnMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4gYW5zd2VyLkFuc3dlckFkZGl0aW9uYWxbTnVtYmVyKGtleSldID0gdmFsdWUpO1xyXG5cclxuICAgIHRoaXMudXBkYXRlTG9naWMoZXZlbnREYXRhLmxvZ2ljVmFycyk7XHJcblxyXG4gICAgdGhpcy4jZXZlbnRCdXMubmV4dCh7a2V5OiBTdXJ2ZXlFdmVudHMuc2VRdWVzdGlvbkFuc3dlcnNDaGFuZ2UsIGRhdGE6IHtxdWVzdGlvbjogdGhpcy4jY3VycmVudFF1ZXN0aW9uLnZhbHVlLCBhbnN3ZXJJc0NvbXBsZXRlOiBhbnN3ZXIuYW5zd2VySXNDb21wbGV0ZX19KTtcclxuXHJcbiAgICAvL9C80L7QttC10YIg0LLQvtC30L3QuNC60L3Rg9GC0Ywg0YHQuNGC0YPQsNGG0LjRjywg0LrQvtCz0LTQsCDQvdC10YIg0L3QuCDQvtC00L3QvtC5INCw0LvRjNGC0LXRgNC90LDRgtC40LLRiyDQuNC70Lgg0YHQtdC60YbQuNC4INC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPLtCyINGN0YLQvtC8INGB0LvRg9GH0LDQtSDQstC+0L/RgNC+0YEg0L/QvtC60LDQt9GL0LLQsNGC0Ywg0L3QtSDQvdGD0LbQvdC+LCDQutCw0Log0L7RgtCy0LXRgiDQt9Cw0L/QuNGB0YvQstCw0LXQvCAwINC4INC/0LXRgNC10YXQvtC00LjQvCDQvdCwINGB0LvQtdC00YPRjtGJ0LjQuVxyXG4gICAgY29uc3QgcXVlc3Rpb24gPSB0aGlzLiNmaW5kUXVlc3Rpb25CeUd1aWQoZXZlbnREYXRhLmd1aWQpO1xyXG4gICAgLy/RgdC40YLRg9Cw0YbQuNGPINC00LvRjyBzcy9tcyDQstC+0L/RgNC+0YHQvtCyLFxyXG4gICAgaWYgKCEhcXVlc3Rpb24gJiYgYW5zd2VyLmFuc3dlcklzQ29tcGxldGUgJiYgKHF1ZXN0aW9uLlF1ZXN0aW9uVHlwZSA9PT0gJ1NTJyB8fCBxdWVzdGlvbi5RdWVzdGlvblR5cGUgPT09ICdNUycpICYmIChldmVudERhdGEudmlld2VkQWx0ZXJuYXRpdmVWYWx1ZXMubGVuZ3RoID09PSAwKSkge1xyXG4gICAgICB0aGlzLmdvVG9OZXh0UXVlc3Rpb24oKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlTG9naWMobG9naWNWYXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdm9pZHtcclxuICAgIE9iamVjdC5lbnRyaWVzKGxvZ2ljVmFycykuZm9yRWFjaCgoW3Zhck5hbWUsIHZhbHVlXSkgPT4ge1xyXG4gICAgICB0aGlzLnNldExvZ2ljVmFsdWUodmFyTmFtZSwgdmFsdWUpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgLy/QstC+0LfQstGA0LDRidCw0LXRgiDQutC+0LvQuNGH0LXRgdGC0LLQviDQsNC60YLQuNCy0L3Ri9GFINGP0LfRi9C60L7QslxyXG4gIGdldCAjYWN0aXZlTGFuZ0NvdW50KCk6IG51bWJlciB7XHJcbiAgICAvL9C10YHQu9C4INCw0L3QutC10YLQsCDQv9C+INC60LDQutC+0Lkt0YLQviDQv9GA0LjRh9C40L3QtSDQvdGDINGD0LrQsNC30LDQvdCwLCDQstC10YDQvdGR0LwgMFxyXG4gICAgcmV0dXJuIHRoaXMuI3F1ZXN0aW9uYXJ5Py5CYXNlUGFyYW1zLkxhbmd1YWdlTGlzdC5maWx0ZXIoIGxhbmdPYmogPT4gbGFuZ09iai5pc0FjdGl2ZSkubGVuZ3RoID8/IDA7XHJcbiAgfVxyXG5cclxuICAvL9Cy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC60L7Qu9C40YfQtdGB0YLQstC+INCy0L7Qv9GA0L7RgdC+0LJcclxuICBnZXQgI3F1ZXN0aW9uc0NvdW50KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy4jcXVlc3Rpb25hcnk/LlF1ZXN0aW9ucy5sZW5ndGggPz8gMDtcclxuICB9XHJcblxyXG4gICNmaW5pc2hJbnRlcnZpZXcoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjdXJyZW50VGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICBsZXQgcmVzdWx0RGlydHk7XHJcbiAgICB0cnkge1xyXG4gICAgICByZXN1bHREaXJ0eSA9IHRoaXMuX2xvZ2ljLmV4ZWN1dGVMb2dpYyh0aGlzLiNxdWVzdGlvbmFyeT8uQmFzZVBhcmFtcy5SZXN1bHRhdGl2ZVNjcmlwdCA/PyAnJyk7XHJcbiAgICB9Y2F0Y2ggKGUpIHtcclxuICAgICAgcmVzdWx0RGlydHkgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpbnRlcnZpZXc6IElJbnRlcnZpZXdEYXRhID0ge1xyXG4gICAgICBMYW5ndWFnZTogMCwgICAgLy90b2RvIGxhbmdcclxuICAgICAgU3BvdElkOiAwLFxyXG4gICAgICBEZXZpY2VJZDogMCxcclxuICAgICAgRGV2aWNlVHlwZTogMCxcclxuICAgICAgUmVzdWx0YXRpdmU6IFJlc3VsdGF0aXZlU3RhdHVzLnJzVW5zZXQsXHJcbiAgICAgIFZhbGlkOiBWYWxpZFN0YXR1cy52c1Vuc2V0LFxyXG4gICAgICBXYXZlOiB0aGlzLiNxdWVzdGlvbmFyeT8uSW5mby5jdXJyZW50X3dhdmUgPz8gMCxcclxuICAgICAgUXVlc3Rpb25hcnlOYW1lOiB0aGlzLiNxdWVzdGlvbmFyeT8uSW5mby5uYW1lID8/ICcnLFxyXG4gICAgICBRdWVzdGlvbmFyeUd1aWQ6IHRoaXMuI3F1ZXN0aW9uYXJ5Py5JbmZvLnF1ZXN0aW9uYXJ5X2d1aWQgPz8gMCxcclxuICAgICAgU3RhcnRlZEF0OiB0aGlzLl9pbnRlcnZpZXcuc3RhcnRlZEF0LFxyXG4gICAgICBGaW5pc2hlZEF0OiBjdXJyZW50VGltZS5nZXRUaW1lKCksXHJcbiAgICAgIFRpbmVab25lQmlhczogY3VycmVudFRpbWUuZ2V0VGltZXpvbmVPZmZzZXQoKSxcclxuICAgICAgUmVzdWx0YXREaXJ0eTogcmVzdWx0RGlydHksXHJcbiAgICAgIEFuc3dlcnM6IHtcclxuICAgICAgICBBbnN2ZXJzTGlzdDogQXJyYXkuZnJvbSh0aGlzLl9pbnRlcnZpZXcuZ2V0QW5zd2VyTGlzdCgpKVxyXG4gICAgICB9LFxyXG4gICAgICBhZGRpdGlvbmFsX2luZm86IHtcclxuICAgICAgICBRdWVzdGlvbmFyeVVwZGF0ZVRpbWVzdGFtcDogbmV3IERhdGUodGhpcy4jcXVlc3Rpb25hcnk/LkluZm8ubGFzdF91cGRhdGVfdGltZXN0YW1wID8/IDApLmdldFRpbWUoKSAsXHJcbiAgICAgIH0sXHJcbiAgICAgIFJlc3VsdFF1b3RhR3VpZHM6IFtdLFxyXG4gICAgICBSZXN1bHRRdW90YTJkR3VpZHM6IFtdLFxyXG4gICAgICBMb2dpY1ZhcnM6IFtdLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBsb2dpY1ZhcnMgPSB0aGlzLl9sb2dpYy5nZXRMb2dpY1ZhcnMoKTtcclxuICAgIE9iamVjdC5lbnRyaWVzKGxvZ2ljVmFycykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiBpbnRlcnZpZXcuTG9naWNWYXJzLnB1c2goe25tOiBrZXksIHZsOiB2YWx1ZX0pKTtcclxuXHJcbiAgICB0aGlzLiNldmVudEJ1cy5uZXh0KHtrZXk6IFN1cnZleUV2ZW50cy5zZVN1cnZleUVuZCwgZGF0YTogaW50ZXJ2aWV3fSk7XHJcbiAgfVxyXG5cclxuICAjbmV4dFF1ZXN0aW9uTnVtKCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBjdXJyZW50UXVlc3Rpb24gPSB0aGlzLiNjdXJyZW50UXVlc3Rpb24udmFsdWU7XHJcbiAgICAvLyDQv9GA0L7QstC10YDQuNC8INC60LLQvtGC0YtcclxuICAgIGNvbnN0IGN1cnJlbnRHdWlkID0gY3VycmVudFF1ZXN0aW9uPy5RdWVzdGlvbkd1aWQgPz8gMDtcclxuICAgIGlmICh0aGlzLiNzdXJ2ZXlRdW90YXMucXVvdGFJc0NvbXBsZXRlZCAmJiAhdGhpcy4jc3VydmV5UXVvdGFzLmd1aWRJc0Rlc3RpbmF0aW9uUXVlc3Rpb24oY3VycmVudEd1aWQpKSB7XHJcbiAgICAgIC8vINGDINC90LDRgSDQtdGB0YLRjCDQt9Cw0L/QvtC70L3QtdC90L3QsNGPINC60LLQvtGC0LAsINC90LDQudC00LXQvCDQstC+0L/RgNC+0YEg0LrQvtGC0L7RgNGL0Lkg0L3Rg9C20L3QviDQv9C+0LrQsNC30LDRgtGMINC/0YDQuCDQt9Cw0L/QvtC70L3QtdC90LjQuCDQutCy0L7RgtGLXHJcbiAgICAgIGNvbnN0IGRlc3RpbmF0aW9uUSA9IHRoaXMuI2ZpbmRRdWVzdGlvbkJ5R3VpZCh0aGlzLiNzdXJ2ZXlRdW90YXMuZGVzdGluYXRpb25RdWVzdGlvbkd1aWQpO1xyXG4gICAgICAvL9C10YHQu9C4INCy0L7Qv9GA0L7RgSDQtdGB0YLRjCjQtdCz0L4g0LzQvtCz0LvQuCDRg9C00LDQu9C40YLRjCDQuNC3INCw0L3QutC10YLRiyksINC/0L7QutCw0LfRi9Cy0LDQtdGCINC10LPQvlxyXG4gICAgICBpZiAoISFkZXN0aW5hdGlvblEpIHtcclxuICAgICAgICByZXR1cm4gZGVzdGluYXRpb25RLlF1ZXN0aW9uTnVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8g0LXRgdC70Lgg0L3QtdGCINC30LDQv9C+0LvQvdC10L3QvdC+0Lkg0LrQstC+0YLRiywg0L/QtdGA0LXRhdC+0LTQuNC8INC90LAg0YHQu9C10LTRg9GO0YnQuNC5INCy0L7Qv9GA0L7RgSwg0LjRidC10Lwg0YHQu9C10LTRg9GO0YnQuNC5INCy0L7Qv9GA0L7RgSDQutC+0YLQvtGA0YvQuSDQvNGLINC80L7QttC10Lwg0L7RgtC+0LHRgNCw0LfQuNGC0YwgKNC00L4g0LvQvtCz0LjQutCwINC80L7QttC10YIg0LfQsNC/0YDQtdGC0LjRgtGMINC/0L7QutCw0Lcg0LLQvtC/0YDQvtGB0LApXHJcbiAgICBsZXQgbmV4dFF1ZXN0aW9uTnVtID0gKGN1cnJlbnRRdWVzdGlvbj8uUXVlc3Rpb25OdW0gPz8gMCkgKyAxO1xyXG5cclxuICAgIC8vINC90L4g0YHQvdCw0YfQsNC70LAg0L/RgNC+0LLQtdGA0LjQvCDQv9C+0YHQu9C1INC70L7Qs9C40LrRg1xyXG4gICAgaWYgKCEhY3VycmVudFF1ZXN0aW9uKSB7XHJcbiAgICAgIGNvbnN0IGRlc3RRID0gY3VycmVudFF1ZXN0aW9uLmxvZ2ljbGlzdC5maW5kKGxvZ09iaiA9PiAobG9nT2JqLkRlc3RpbmF0aW9uUXVlc3Rpb25HdWlkID4gMCkgJiYgdGhpcy5fbG9naWMuZXhlY3V0ZUxvZ2ljKGxvZ09iai5Mb2dpY1RleHQpICk7XHJcbiAgICAgIGlmICghIWRlc3RRKSB7XHJcbiAgICAgICAgY29uc3QgZGVzdFFOdW0gPSB0aGlzLiNmaW5kUXVlc3Rpb25CeUd1aWQoZGVzdFEuRGVzdGluYXRpb25RdWVzdGlvbkd1aWQpPy5RdWVzdGlvbk51bTtcclxuICAgICAgICBpZiAoTnVtYmVyLmlzU2FmZUludGVnZXIoZGVzdFFOdW0pKSB7IC8vINCy0L7Qv9GA0L7RgSDQvNC+0LMg0LHRi9GC0Ywg0YPQtNCw0LvRkdC9LCDQsCDQu9C+0LPQuNC60YMg0L7RgdGC0LDQstC40YLRjFxyXG4gICAgICAgICAgbmV4dFF1ZXN0aW9uTnVtID0gZGVzdFFOdW0hO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vINC+0LHRidC10LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0LLQvtC/0YDQvtGB0L7Qsiwg0YbQuNC60Lsg0LHRg9C00LXRgiDRgdGH0LjRgtCw0YLRjCDQtNC+INGN0YLQvtCz0L4g0LrQvtC70LjRh9C10YHRgtCy0LBcclxuICAgIGNvbnN0IHF1ZXN0aW9uQ291bnQgPSB0aGlzLiNxdWVzdGlvbnNDb3VudDtcclxuICAgIGRvIHtcclxuICAgICAgLy/Qv9C+0YLQtdC90YbQuNCw0LvRjNC90L4g0YHQu9C10LTRg9GO0YnQuNC5INCy0L7Qv9GA0L7RgVxyXG4gICAgICBjb25zdCBxID0gdGhpcy4jcXVlc3Rpb25hcnkhLlF1ZXN0aW9uc1tuZXh0UXVlc3Rpb25OdW1dO1xyXG5cclxuICAgICAgLy/QtdGB0LvQuCDRjdGC0L4g0L/QvtGB0LvQtdC00L3QuNC5INCy0L7Qv9GA0L7RgSDQuNC70Lgg0LXRgdC70Lgg0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyBCZWZvcmVFeHByZXNzaW9uINC4INGN0YLQvtGCINCy0L7Qv9GA0L7RgSDQvdC1IERlc3RpbmF0aW9uUXVvdGEsINC80L7QttC10Lwg0LXQs9C+INC/0L7QutCw0LfQsNGC0YxcclxuICAgICAgaWYgKHEuUXVlc3Rpb25UeXBlID09PSBRdWVzdGlvbnNUeXBlLmVxRU5EIHx8ICh0aGlzLl9sb2dpYy5leGVjdXRlTG9naWMocS5CZWZvcmVFeHByZXNzaW9uKSAmJiAhdGhpcy4jc3VydmV5UXVvdGFzLmd1aWRJc0Rlc3RpbmF0aW9uUXVlc3Rpb24ocS5RdWVzdGlvbkd1aWQpKSApIHtcclxuICAgICAgICByZXR1cm4gbmV4dFF1ZXN0aW9uTnVtO1xyXG4gICAgICB9XHJcbiAgICAgIC8v0LLQvtC/0YDQvtGBINC90LXQu9GM0LfRjyDQv9C+0LrQsNC30YvQstCw0YLRjCwg0YPQstC10LvQuNGH0LjQstCw0LXQvCDRgdGH0ZHRgtGH0LjQuiDRgtC10LrRg9GJ0LXQs9C+INCy0L7Qv9GA0L7RgdCwINC90LAgMVxyXG4gICAgICBuZXh0UXVlc3Rpb25OdW0rKztcclxuICAgIH0gd2hpbGUgKG5leHRRdWVzdGlvbk51bSA8IHF1ZXN0aW9uQ291bnQgLSAxKTsgLy8gZW5kINCy0L7Qv9GA0L7RgSDQtNC+0LvQttC10L0g0LLRgdC10LPQtNCwINCx0YvRgtGMINC/0L7QutCw0LfQsNC9XHJcbiAgICByZXR1cm4gbmV4dFF1ZXN0aW9uTnVtO1xyXG4gIH1cclxuXHJcbiAgI2luaXRpYXRlUXVlc3Rpb25zKHF1ZXN0aW9uTGlzdDogQXJyYXk8SWRiUXVlc3Rpb24+KTogdm9pZHtcclxuICAgIHF1ZXN0aW9uTGlzdC5mb3JFYWNoKHF1ZXN0aW9uID0+IHtcclxuICAgICAgLy/RgdC+0LfQtNCw0ZHQvCDQv9GD0YHRgtC+0Lkg0L7RgtCy0LXRgiDQtNC70Y8g0LLQvtC/0YDQvtGB0LAuXHJcbiAgICAgIGNvbnN0IGFuc3dlciA9IHRoaXMuX2ludGVydmlldy5jcmVhdGVBbnN3ZXIocXVlc3Rpb24uUXVlc3Rpb25HdWlkLCBxdWVzdGlvbi5WZXJzaW9uKTtcclxuXHJcbiAgICAgIC8v0YLQsNC60L7Qs9C+INCx0YvRgtGMINC90LUg0LTQvtC70LbQvdC+LCDRjdGC0L4g0L7RiNC40LHQutCwXHJcbiAgICAgIGlmICghYW5zd2VyKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdhbnN3ZXIgbm90IGZvdW5kJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX2xvZ2ljLnNldExvZ2ljVmFsdWUocXVlc3Rpb24uU3lzTmFtZSwgTUlTU0lOR19WQUxVRSk7IC8vINC/0LXRgNC10LzQtdC90L3QsNGPINGB0LDQvNC+0LPQviDQstC+0L/RgNC+0YHQsFxyXG5cclxuICAgICAgLy/QtNC+0LHQsNCy0LjQvCDQtNC+0L8g0L7RgtCy0LXRgtGLINC4INC70L7Qs9C40LrRgyDQtNC70Y8g0L3QuNGFXHJcbiAgICAgIHF1ZXN0aW9uLkFkZGl0aW9uYWxBbnN3ZXJsaXN0LmZvckVhY2goYWEgPT4ge1xyXG4gICAgICAgIGFuc3dlci5BbnN3ZXJBZGRpdGlvbmFsW2FhLlZhbHVlXSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5fbG9naWMuc2V0TG9naWNWYWx1ZShgJHtxdWVzdGlvbi5TeXNOYW1lfSR7YWEuU3lzTmFtZX1gLCBNSVNTSU5HX1ZBTFVFKTsgLy8g0LvQvtCz0LjQutCwINC00LvRjyDQv9C10YDQtdC80LXQvdC90YvRhSDQtNC+0L8g0L7RgtCy0LXRgtCwXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgLy8g0LXRgdC70Lgg0LIg0YLQtdC60YHRgtC1IHBvc3RTY3JpcHQg0LXRgdGC0Ywg0LfQsNC/0LjRgdGMINGC0LjQv9CwIHNldFZhcigndmFyTmFtZScsICB2YWx1ZSk7ICDQvdGD0LbQvdC+INC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDRgtGMINC/0LXRgNC10LzQtdC90L3Rg9GOIHZhck5hbWUg0LfQvdCw0YfQtdC90LjQtdC8IC05Ny5cclxuICAgICAgaWYgKCEhcXVlc3Rpb24uUG9zdFNjcmlwdCkge1xyXG4gICAgICAgIChxdWVzdGlvbi5Qb3N0U2NyaXB0Lm1hdGNoKC8oXFxic2V0dmFyXFxiKVxcKFsnfFwiXSguKj8pWyd8XCJdL2dpbSkgPz8gW10pLm1hcChzY3JpcHRWYXIgPT4gc2NyaXB0VmFyLm1hdGNoKC9bJ3xcIl0oLispWyd8XCJdL2kpIVsxXSkuZm9yRWFjaCh2YXJOYW1lID0+IHRoaXMuX2xvZ2ljLnNldExvZ2ljVmFsdWUodmFyTmFtZSwgbnVsbCkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyDQtNC70Y8g0JLQvtC/0YDQvtGB0L7QsiBTUy9NUyDQvdGD0LbQvdC+INC/0YDQvtC/0LjRgdCw0YLRjCDQu9C+0LPQuNC60YMg0LDQu9GM0YLQtdGA0L3QsNGC0LjQsiBzeXNuYW1lINCy0L7Qv9GA0L7RgdCwICsgc3lzbmFtZSDQsNC70YzRgtC10YDQvdCw0YLQuNCy0YtcclxuICAgICAgaWYgKHF1ZXN0aW9uLlNlY3Rpb25saXN0Lmxlbmd0aCA8PSAwKSB7Ly8g0LTQu9GPINCS0L7Qv9GA0L7RgdC+0LIgU1MvTVNcclxuICAgICAgICBxdWVzdGlvbi5BbHRlcm5hdGl2ZWxpc3QuZm9yRWFjaChhbHQgPT4gdGhpcy5fbG9naWMuc2V0TG9naWNWYWx1ZShgJHtxdWVzdGlvbi5TeXNOYW1lfSR7YWx0LlN5c05hbWV9YCwgTUlTU0lOR19WQUxVRSkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8v0LTQu9GPINCy0L7Qv9GA0L7RgdC+0LIg0YMg0LrQvtGC0L7RgNGL0YUg0LXRgdGC0Ywg0YHQtdC60YbQuNC4INC/0YDQvtC40L3QuNGG0LjQsNC70LjQt9C40YDRg9C10Lwg0LrQsNC20LTRg9GOINGB0LXQutGG0LjRjlxyXG4gICAgICAgIHF1ZXN0aW9uLlNlY3Rpb25saXN0LmZvckVhY2goc2VjdGlvbiA9PiB7XHJcblxyXG4gICAgICAgICAgLy/RgdC+0LfQtNCw0ZHQvCDQv9GD0YHRgtC+0Lkg0L7RgtCy0LXRgiDQtNC70Y8g0YHQtdC60YbQuNC4LlxyXG4gICAgICAgICAgY29uc3QgYW5zd2VyRm9yU2VjdGlvbiA9IHRoaXMuX2ludGVydmlldy5jcmVhdGVBbnN3ZXIoc2VjdGlvbi5TZWN0aW9uR3VpZCwgMSk7XHJcblxyXG4gICAgICAgICAgLy/RgtCw0LrQvtCz0L4g0LHRi9GC0Ywg0L3QtSDQtNC+0LvQttC90L4sINGN0YLQviDQvtGI0LjQsdC60LBcclxuICAgICAgICAgIGlmICghYW5zd2VyRm9yU2VjdGlvbikge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Fuc3dlciBub3QgZm91bmQnKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyDQtNC70Y8g0JLQvtC/0YDQvtGB0L7QsiBTTCDQvdGD0LbQvdC+INC/0YDQvtC/0LjRgdCw0YLRjCDQu9C+0LPQuNC60YMg0LDQu9GM0YLQtdGA0L3QsNGC0LjQsiDQuCDRgdC10LrRhtC40Lkgc3lzbmFtZSDRgdC10LrRhtC40LggKyBzeXNuYW1lINCw0LvRjNGC0LXRgNC90LDRgtC40LLRi1xyXG4gICAgICAgICAgdGhpcy5fbG9naWMuc2V0TG9naWNWYWx1ZShzZWN0aW9uLlN5c05hbWUsIE1JU1NJTkdfVkFMVUUpOyAvLyDQv9C10YDQtdC80LXQvdC90LDRjyDRgdCw0LzQvtC5INGB0LXQutGG0LjQuFxyXG5cclxuICAgICAgICAgIC8v0LvQvtCz0LjQutCwINCw0LvRjNGC0LXRgNC90LDRgtC40LIgU0wg0LLQvtC/0YDQvtGB0LBcclxuICAgICAgICAgIHF1ZXN0aW9uLkFsdGVybmF0aXZlbGlzdC5mb3JFYWNoKGFsdCA9PiB0aGlzLl9sb2dpYy5zZXRMb2dpY1ZhbHVlKGAke3NlY3Rpb24uU3lzTmFtZX0ke2FsdC5TeXNOYW1lfWAsIE1JU1NJTkdfVkFMVUUpKTtcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgLy/QuNGJ0LXRgiDQstC+0L/RgNC+0YEg0L3QsCBndWlkXHJcbiAgI2ZpbmRRdWVzdGlvbkJ5R3VpZChndWlkOiBudW1iZXIpOiBJZGJRdWVzdGlvbiB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRoaXMuI3F1ZXN0aW9uYXJ5KSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy4jcXVlc3Rpb25hcnkuUXVlc3Rpb25zLmZpbmQocSA9PiBxLlF1ZXN0aW9uR3VpZCA9PT0gZ3VpZCk7XHJcbiAgfVxyXG5cclxuICAjbmV4dEJ1dHRvbkV4cHJlc3Npb25Jc1RydWUoKTogYm9vbGVhbntcclxuICAgIGNvbnN0IGJ1dHRvbk5leHRFeHByZXNzaW9uID0gdGhpcy4jY3VycmVudFF1ZXN0aW9uLnZhbHVlPy5CdG5OZXh0RXhwcmVzc2lvbiA/PyAnJztcclxuICAgIC8v0LXRgdC70Lgg0YHQutGA0LjQv9GC0LAg0LTQu9GPINC60L3QvtC/0LrQuCDQtNCw0LvQtdC1INC90LXRgiwg0LLQtdGA0L3RkdC8IHRydWVcclxuICAgIGlmIChidXR0b25OZXh0RXhwcmVzc2lvbi50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2xvZ2ljLmV4ZWN1dGVMb2dpYyhidXR0b25OZXh0RXhwcmVzc2lvbik7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICNjYWxjdWxhdGVJbXBsaWNpdFF1ZXN0aW9uKHF1ZXN0aW9uOiBJZGJRdWVzdGlvbik6IHZvaWR7XHJcbiAgICBpZiAocXVlc3Rpb24uSW1wbGljaXQgJiYgKHF1ZXN0aW9uLlF1ZXN0aW9uVHlwZSA9PT0gUXVlc3Rpb25zVHlwZS5lcVNTIHx8IHF1ZXN0aW9uLlF1ZXN0aW9uVHlwZSA9PT0gUXVlc3Rpb25zVHlwZS5lcU1TKSApIHtcclxuICAgICAgbGV0IHF1ZXN0aW9uQW5zd2VyOiBudW1iZXIgfCBBcnJheTxudW1iZXI+O1xyXG5cclxuICAgICAgaWYgKHF1ZXN0aW9uLlF1ZXN0aW9uVHlwZSA9PT0gUXVlc3Rpb25zVHlwZS5lcVNTKSB7XHJcbiAgICAgICAgY29uc3QgYWx0ID0gcXVlc3Rpb24uQWx0ZXJuYXRpdmVsaXN0LmZpbmQoYWx0ID0+IHRoaXMuX2xvZ2ljLmV4ZWN1dGVMb2dpYyhhbHQuRW5hYmxlRXhwcmVzc2lvbikpO1xyXG4gICAgICAgIHF1ZXN0aW9uQW5zd2VyID0gISFhbHQgPyBhbHQuVmFsdWUgOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocXVlc3Rpb24uUXVlc3Rpb25UeXBlID09PSBRdWVzdGlvbnNUeXBlLmVxTVMpIHtcclxuICAgICAgICBxdWVzdGlvbkFuc3dlciA9IHF1ZXN0aW9uLkFsdGVybmF0aXZlbGlzdFxyXG4gICAgICAgICAgLmZpbHRlcihhbHQgPT4gdGhpcy5fbG9naWMuZXhlY3V0ZUxvZ2ljKGFsdC5FbmFibGVFeHByZXNzaW9uKSlcclxuICAgICAgICAgIC5tYXAoYWx0ID0+IGFsdC5WYWx1ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGFuc3dlckNoYW5nZTogQW5zd2VyQ2hhbmdlID0ge1xyXG4gICAgICAgIGd1aWQ6IHF1ZXN0aW9uLlF1ZXN0aW9uR3VpZCxcclxuICAgICAgICBpc0NvbXBsZXRlOiB0cnVlLFxyXG4gICAgICAgIGFuc3dlcjogcXVlc3Rpb25BbnN3ZXIhLFxyXG4gICAgICAgIGFkZGl0aW9uYWxBbnN3ZXJzOiB7fSxcclxuICAgICAgICBsb2dpY1ZhcnM6IHt9LFxyXG4gICAgICAgIHZpZXdlZEFsdGVybmF0aXZlVmFsdWVzOiBbXSxcclxuICAgICAgICB2aWV3ZWRTZWN0aW9uR3VpZHM6IFtdLFxyXG4gICAgICAgIGFsdGVybmF0aXZlU2VxdWVuY2VDbGlja3M6IFtdXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy51cGRhdGVBbnN3ZXIoYW5zd2VyQ2hhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
413
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAuc3VydmV5LmNvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RwLnN1cnZleS9zcmMvbGliL2NvcmUvdHAuc3VydmV5LmNvcmUvdHAuc3VydmV5LmNvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRWhFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUduQyxPQUFPLEVBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFTOUQsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7SUFDMUMsZ0JBQWdCLEdBQUcsSUFBSSxlQUFlLENBQXFCLElBQUksQ0FBQyxDQUFDO0lBQzFFLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ25DLFlBQVksQ0FBa0I7SUFDOUIsbUJBQW1CLEdBQWtCLEVBQUUsQ0FBQyxDQUFDLHFDQUFxQztJQUNyRSxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLFlBQWtELFVBQWtCLEVBQW1CLE1BQTRCLEVBQW1CLFVBQW9DO1FBQXhILGVBQVUsR0FBVixVQUFVLENBQVE7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFBbUIsZUFBVSxHQUFWLFVBQVUsQ0FBMEI7UUFDeEssZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUNqQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLFlBQVksQ0FBQyxjQUFjLENBQUUsRUFDckQsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUNwQyxDQUFDLFNBQVMsQ0FBQztZQUNWLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsV0FBVyxJQUFJLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ2hMLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsa0JBQWtDLEVBQUUsU0FBcUMsRUFBRSxVQUFtQyxFQUFFLFlBQXFCO1FBQy9JLGlDQUFpQztRQUNqQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQztRQUV2QyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLHlFQUF5RTtZQUN6RSxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsaUNBQWlDLENBQUMsQ0FBQztZQUV0SCxzQkFBc0I7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLElBQUksQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEssQ0FBQztRQUVELHlDQUF5QztRQUN6QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVwRCxtTUFBbU07UUFDbk0sSUFBSSxnQkFBZ0IsR0FBdUIsU0FBUyxDQUFDO1FBQ3JELHNHQUFzRztRQUN0RyxJQUFJLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEQsaURBQWlEO1lBQ2pELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFFbEQsOERBQThEO1lBQzlELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRWhFLDZDQUE2QztZQUM3QyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN2QixnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLGdCQUFnQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLDJLQUEySztZQUMzSyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdFLENBQUM7UUFFRCxnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBQyxFQUFDLENBQUMsQ0FBQztRQUUvRixtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxZQUFhLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsRUFBRSxDQUFDLEdBQUcsR0FBa0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDeEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDeEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUN4QixDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFDcEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBQ0QsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3RFLE9BQVE7UUFDVixDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxZQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMscURBQXFEO1FBQ3JGLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsOEZBQThGO1FBQzFKLElBQUksQ0FBQyxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDMUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQVk7UUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RCxPQUFPLE1BQU0sRUFBRSxnQkFBZ0IsSUFBSSxLQUFLLENBQUE7SUFDMUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVksRUFBRSxVQUFrQjtRQUMvQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3ZELE9BQU8sRUFBRSxDQUFBO1FBQ1gsQ0FBQztRQUNELFFBQVEsQ0FBQTtRQUNSLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFFM0MsUUFBUSxZQUFZLEVBQUUsQ0FBQztZQUVyQixLQUFLLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDbkQsS0FBSyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDeEIsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDM0YsTUFBTSxPQUFPLEdBQUcsV0FBVyxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBRXBGLE9BQU8sT0FBTyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFDcEMsQ0FBQztZQUNELE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQscUJBQXFCLENBQUMsU0FBb0MsRUFBRSxVQUFrQztRQUM1Rix1Q0FBdUM7UUFDdkMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTVDLHVIQUF1SDtRQUN2SCwyRUFBMkU7UUFDM0UsTUFBTSxjQUFjLEdBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTFHLG1CQUFtQjtRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELHNCQUFzQixDQUFDLFdBQXdCO1FBQzdDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFDcEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV6QyxJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0Qjs7O2dCQUdJO1lBQ0osSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsS0FBSyxDQUFDLElBQUksZUFBZSxDQUFDLFdBQVcsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO1lBQzFDLENBQUM7WUFFRCwwREFBMEQ7WUFDMUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUUsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2IsTUFBTSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7WUFDbEMsQ0FBQztZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEMsd0RBQXdEO1FBQ3hELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hCLFNBQVMsQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO1FBRTNFLG1EQUFtRDtRQUNuRCxJQUFJLFdBQVcsQ0FBQyxZQUFZLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUVELHlGQUF5RjtRQUN6RixJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFlLEVBQUUsS0FBVTtRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUF1QjtRQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPO1FBQ1QsQ0FBQztRQUVELDBKQUEwSjtRQUMxSixtS0FBbUs7UUFDbkssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFlBQVksS0FBSyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxXQUFXLENBQUM7WUFFN0QsMkhBQTJIO1lBQzNILElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNsQixXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUM1QixNQUFNLHNCQUFzQixHQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN0RixJQUFJLENBQUMsc0JBQXNCLEVBQUMsQ0FBQzt3QkFDM0IsT0FBTTtvQkFDUixDQUFDO29CQUNELE1BQU0scUJBQXFCLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUcsU0FBUyxDQUFDLE1BQXVCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQ2pJLHNCQUFzQixDQUFDLFdBQVcsR0FBRyxxQkFBcUIsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUM7Z0JBQ25ILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELDhDQUE4QztZQUM5QyxNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLHVDQUF1QztZQUN2QyxNQUFNLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDeEMsQ0FBQztRQUVELG1HQUFtRztRQUNuRyxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUVyRiwrRkFBK0Y7UUFDL0YsTUFBTSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDMUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV6RixNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNyQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9FLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFHN0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hHLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUVwSCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFDLEVBQUMsQ0FBQyxDQUFDO1FBRTNKLGlMQUFpTDtRQUNqTCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELDhCQUE4QjtRQUM5QixJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksS0FBSyxJQUFJLElBQUksUUFBUSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNwSyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUE4QjtRQUN4QyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDcEMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLElBQUksZ0JBQWdCO1FBQ2xCLHNEQUFzRDtRQUN0RCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxXQUFXLENBQUM7UUFDaEIsSUFBSSxDQUFDO1lBQ0gsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hHLENBQUM7UUFBQSxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1YsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQW1CO1lBQ2hDLFFBQVEsRUFBRSxDQUFDLEVBQUssV0FBVztZQUMzQixNQUFNLEVBQUUsQ0FBQztZQUNULFFBQVEsRUFBRSxDQUFDO1lBQ1gsVUFBVSxFQUFFLENBQUM7WUFDYixXQUFXLEVBQUUsaUJBQWlCLENBQUMsT0FBTztZQUN0QyxLQUFLLEVBQUUsV0FBVyxDQUFDLE9BQU87WUFDMUIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDO1lBQy9DLGVBQWUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRTtZQUNuRCxlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQztZQUM5RCxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTO1lBQ3BDLFVBQVUsRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQ2pDLFlBQVksRUFBRSxXQUFXLENBQUMsaUJBQWlCLEVBQUU7WUFDN0MsYUFBYSxFQUFFLFdBQVc7WUFDMUIsT0FBTyxFQUFFO2dCQUNQLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDekQ7WUFDRCxlQUFlLEVBQUU7Z0JBQ2YsMEJBQTBCLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO2FBQ25HO1lBQ0QsZ0JBQWdCLEVBQUUsRUFBRTtZQUNwQixrQkFBa0IsRUFBRSxFQUFFO1lBQ3RCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztRQUVGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztRQUNwRCxpQkFBaUI7UUFDakIsTUFBTSxXQUFXLEdBQUcsZUFBZSxFQUFFLFlBQVksSUFBSSxDQUFDLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3RHLDBGQUEwRjtZQUMxRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzFGLCtEQUErRDtZQUMvRCxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDO1FBRUQseUpBQXlKO1FBQ3pKLElBQUksZUFBZSxHQUFHLENBQUMsZUFBZSxFQUFFLFdBQVcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFOUQsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFFLENBQUM7WUFDNUksSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1osTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLFdBQVcsQ0FBQztnQkFDdEYsSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyw0Q0FBNEM7b0JBQ2hGLGVBQWUsR0FBRyxRQUFTLENBQUM7Z0JBQzlCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELG9FQUFvRTtRQUNwRSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzNDLEdBQUcsQ0FBQztZQUNGLCtCQUErQjtZQUMvQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBYSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUV4RCx1SEFBdUg7WUFDdkgsSUFBSSxDQUFDLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUcsQ0FBQztnQkFDL0osT0FBTyxlQUFlLENBQUM7WUFDekIsQ0FBQztZQUNELHFFQUFxRTtZQUNyRSxlQUFlLEVBQUUsQ0FBQztRQUNwQixDQUFDLFFBQVEsZUFBZSxHQUFHLGFBQWEsR0FBRyxDQUFDLEVBQUUsQ0FBQyx3Q0FBd0M7UUFDdkYsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVELGtCQUFrQixDQUFDLFlBQWdDO1FBQ2pELFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUIsbUNBQW1DO1lBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRXJGLG1DQUFtQztZQUNuQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7WUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsNEJBQTRCO1lBRXhGLHFDQUFxQztZQUNyQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUN6QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxRQUFRLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLG1DQUFtQztZQUNuSCxDQUFDLENBQUMsQ0FBQztZQUVILGlJQUFpSTtZQUNqSSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzFCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsa0NBQWtDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM5TCxDQUFDO1lBRUQsK0ZBQStGO1lBQy9GLElBQUksUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQSxxQkFBcUI7Z0JBQzFELFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxRQUFRLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3pILENBQUM7aUJBQU0sQ0FBQztnQkFDTixvRUFBb0U7Z0JBQ3BFLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUVyQyxrQ0FBa0M7b0JBQ2xDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFFOUUsbUNBQW1DO29CQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzt3QkFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO29CQUN0QyxDQUFDO29CQUVELG9HQUFvRztvQkFDcEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtvQkFFckYsK0JBQStCO29CQUMvQixRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDeEgsQ0FBQyxDQUFDLENBQUE7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQscUJBQXFCO0lBQ3JCLG1CQUFtQixDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCwyQkFBMkI7UUFDekIsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGlCQUFpQixJQUFJLEVBQUUsQ0FBQztRQUNsRixnREFBZ0Q7UUFDaEQsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN2QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxJQUFJLENBQUM7WUFDSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxRQUFxQjtRQUM5QyxJQUFJLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLFlBQVksS0FBSyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUcsQ0FBQztZQUN6SCxJQUFJLGNBQXNDLENBQUM7WUFFM0MsSUFBSSxRQUFRLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDakQsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2dCQUNqRyxjQUFjLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7WUFFRCxJQUFJLFFBQVEsQ0FBQyxZQUFZLEtBQUssYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNqRCxjQUFjLEdBQUcsUUFBUSxDQUFDLGVBQWU7cUJBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3FCQUM3RCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsQ0FBQztZQUVELE1BQU0sWUFBWSxHQUFpQjtnQkFDakMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxZQUFZO2dCQUMzQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsTUFBTSxFQUFFLGNBQWU7Z0JBQ3ZCLGlCQUFpQixFQUFFLEVBQUU7Z0JBQ3JCLFNBQVMsRUFBRSxFQUFFO2dCQUNiLHVCQUF1QixFQUFFLEVBQUU7Z0JBQzNCLGtCQUFrQixFQUFFLEVBQUU7Z0JBQ3RCLHlCQUF5QixFQUFFLEVBQUU7YUFDOUIsQ0FBQTtZQUNELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUVILENBQUM7OEdBOWNVLG1CQUFtQixrQkFPVixXQUFXO2tIQVBwQixtQkFBbUIsY0FGbEIsTUFBTTs7MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBUWMsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEZXN0cm95UmVmLCBpbmplY3QsIEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtTdXJ2ZXlRdW90YXN9IGZyb20gJy4uL3RwLnNlcnZleS5xdW90YS90cC5zdXJ2ZXkucXVvdGEnO1xyXG5pbXBvcnQge1RwU3VydmV5TG9naWNTZXJ2aWNlfSBmcm9tICcuLi90cC5zdXJ2ZXkubG9naWMvdHAuc3VydmV5LmxvZ2ljLnNlcnZpY2UnO1xyXG5pbXBvcnQge2lzUGxhdGZvcm1Ccm93c2VyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge0Fuc3dlckNoYW5nZSwgSWRiUXVlc3Rpb24sIElkYlF1ZXN0aW9uYXJ5LCBJSW50ZXJ2aWV3RGF0YSwgSUludGVydmlld0xvZ2ljVmFyLCBJUXVlc3Rpb25BbnN3ZXJ9IGZyb20gJy4uLy4uL3RwLnN1cnZleS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1RwU3VydmV5SW50ZXJ2aWV3U2VydmljZX0gZnJvbSAnLi4vdHAuc3VydmV5LmludGVydmlldy90cC5zdXJ2ZXkuaW50ZXJ2aWV3LnNlcnZpY2UnO1xyXG5pbXBvcnQge1F1ZXN0aW9uc1R5cGUsIFJlc3VsdGF0aXZlU3RhdHVzLCBTdXJ2ZXlFdmVudHMsIFZhbGlkU3RhdHVzfSBmcm9tICcuLi8uLi90cC5zdXJ2ZXkuZW51bSc7XHJcbmltcG9ydCB7QW5zd2VyfSBmcm9tICcuLi90cC5zdXJ2ZXkuYW5zd2VyL3RwLnN1cnZleS5hbnN3ZXInO1xyXG5pbXBvcnQge0Fuc3dlclNsVHlwZSwgTG9naWNPYmplY3R9IGZyb20gJy4uLy4uL3RwLnN1cnZleS50eXBlJztcclxuaW1wb3J0IHtNSVNTSU5HX1ZBTFVFfSBmcm9tICcuLi8uLi90cC5zdXJ2ZXkuY29uc3QnO1xyXG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuaW50ZXJmYWNlIEJyb2FkY2FzdEV2ZW50IHtcclxuICBrZXk6IHN0cmluZztcclxuICBkYXRhPzogYW55O1xyXG59XHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRwU3VydmV5Q29yZVNlcnZpY2Uge1xyXG4gIHJlYWRvbmx5ICNldmVudEJ1cyA9IG5ldyBTdWJqZWN0PEJyb2FkY2FzdEV2ZW50PigpO1xyXG4gIHJlYWRvbmx5ICNjdXJyZW50UXVlc3Rpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElkYlF1ZXN0aW9uIHwgbnVsbD4obnVsbCk7XHJcbiAgI3N1cnZleVF1b3RhcyA9IG5ldyBTdXJ2ZXlRdW90YXMoKTtcclxuICAjcXVlc3Rpb25hcnk/OiBJZGJRdWVzdGlvbmFyeTtcclxuICAjZGlzcGxheWVkUXVlc3Rpb25zOiBBcnJheTxudW1iZXI+ID0gW107IC8vINC90YPQttC90L4g0LTQu9GPINC90LDQstC40LPQsNGG0LjQuCDQv9C+INC60L3QvtC/0LrQtSBiYWNrXHJcbiAgcmVhZG9ubHkgI2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkOiBvYmplY3QsIHByaXZhdGUgcmVhZG9ubHkgX2xvZ2ljOiBUcFN1cnZleUxvZ2ljU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBfaW50ZXJ2aWV3OiBUcFN1cnZleUludGVydmlld1NlcnZpY2UpIHtcclxuICAgIC8vINC30LDQv9GD0YHQutCw0Lwg0L/RgNC+0LLQtdGA0LrRgyDQutCy0L7Rgiwg0L/QvtGB0LvQtSDRgdC60YDRi9GC0LjRjyDQutCw0LbQtNC+0LPQvijQv9C+0YfRgtC4KSDQstC+0L/RgNC+0YHQsCAoc2VRdWVzdGlvbkhpZGUpXHJcbiAgICB0aGlzLiNldmVudEJ1cy5hc09ic2VydmFibGUoKS5waXBlKFxyXG4gICAgIGZpbHRlcihldiA9PiBldi5rZXkgPT09IFN1cnZleUV2ZW50cy5zZVF1ZXN0aW9uSGlkZSApLFxyXG4gICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSxcclxuICAgICkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4gdGhpcy4jc3VydmV5UXVvdGFzLmZpbmRGaWxsZWRRdW90YXModGhpcy4jY3VycmVudFF1ZXN0aW9uLnZhbHVlPy5RdWVzdGlvbk51bSA/PyAtMSwgT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fbG9naWMuZ2V0TG9naWNWYXJzKCkpLCB0aGlzLl9pbnRlcnZpZXcuZ2V0QW5zd2VyTGlzdCgpKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXR1cFN1cnZleShxdWVzdGlvbmFyeVJhd0RhdGE6IElkYlF1ZXN0aW9uYXJ5LCBsb2dpY1ZhcnM/OiBBcnJheTxJSW50ZXJ2aWV3TG9naWNWYXI+LCBhbnN3ZXJMaXN0PzogQXJyYXk8SVF1ZXN0aW9uQW5zd2VyPiwgcXVlc3Rpb25HdWlkPzogbnVtYmVyKSB7XHJcbiAgICAvL9C10YHQu9C4INCw0L3QutC10YLRiyDQvdC10YIsINC00LXQu9Cw0YLRjCDQvdC10YfQtdCz0L4uXHJcbiAgICBpZiAoIXF1ZXN0aW9uYXJ5UmF3RGF0YSkge1xyXG4gICAgICB0aGlzLiNjdXJyZW50UXVlc3Rpb24ubmV4dChudWxsKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuI3F1ZXN0aW9uYXJ5ID0gcXVlc3Rpb25hcnlSYXdEYXRhO1xyXG5cclxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgIC8v0YPQt9C90LDQtdC8INC10YHRgtGMINC70Lgg0LLQvtC/0YDQvtGBINC60L7RgtC+0YDRi9C5INGD0LrQsNC30LDQu9C4INC00LvRjyDQv9C10YDQtdGF0L7QtNCwINC/0YDQuCDQt9Cw0L/QvtC70L3QtdC90LjQuCDQutCy0L7RgtGLXHJcbiAgICAgIGNvbnN0IGRlc3RpbmF0aW9uUXVlc3Rpb24gPSB0aGlzLiNmaW5kUXVlc3Rpb25CeUd1aWQocXVlc3Rpb25hcnlSYXdEYXRhLkJhc2VQYXJhbXMuUXVvdGFMaW1pdERlc3RpbmF0aW9uUXVlc3Rpb25HdWlkKTtcclxuXHJcbiAgICAgIC8v0LjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXQvCDQutCy0L7RgtGLXHJcbiAgICAgIHRoaXMuI3N1cnZleVF1b3Rhcy5zZXRRdW90YXMocXVlc3Rpb25hcnlSYXdEYXRhLlF1b3RhcywgcXVlc3Rpb25hcnlSYXdEYXRhLlF1b3RhczJkLCBkZXN0aW5hdGlvblF1ZXN0aW9uPy5RdWVzdGlvbkd1aWQgPz8gLTEsIGRlc3RpbmF0aW9uUXVlc3Rpb24/LlF1ZXN0aW9uTnVtID8/IC0xKTtcclxuICAgIH1cclxuXHJcbiAgICAvL9GB0L7Qt9C00LDQtNC40Lwg0L7RgtCy0LXRgtGLINC4INC70L7Qs9C40YfQtdGB0LrQuNC1INC/0LXRgNC10LzQtdC90L3Ri9C1XHJcbiAgICB0aGlzLiNpbml0aWF0ZVF1ZXN0aW9ucyh0aGlzLiNxdWVzdGlvbmFyeS5RdWVzdGlvbnMpXHJcblxyXG4gICAgLy8g0JzQvtC20LXRgiDQsdGL0YLRjCAyINCy0LDRgNC40LDQvdGC0LAg0LfQsNC/0YPRgdC60LAg0LjQvdGC0LXRgNCy0YzRjiwgMS3QvdC+0LLQvtC1INC40L3RgtC10YDQstGM0Y4sIDIt0L/QtdGA0LXQt9Cw0L/Rg9GB0Log0YHRgtCw0YDQvtCz0L4g0LjQvdGC0LXRgNCy0YzRji4g0JIg0L/QtdGA0LLQvtC8INGB0LvRg9GH0LDQtSDQvdCw0YfQsNC70L4g0Y3RgtC+IGxhbmcg0LjQu9C4INC/0LXRgNCy0YvQuSDQstC+0L/RgNC+0YEuINCS0L4g0LLRgtC+0YDQvtC8LCDRgSDQv9C+0YHQu9C10LTQvdC10LPQviDQstC+0L/RgNC+0YHQsCDQvdCwINC60L7RgtC+0YDRi9C5INC+0YLQstC10YLQuNC70LguXHJcbiAgICBsZXQgc3RhcnRRdWVzdGlvbk51bTogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gICAgLy/QtdGB0LvQuCDQt9Cw0LPRgNGD0LbQsNC10Lwg0YDQsNC90LXQtSDQvdC1INC30LDQutC+0L3Rh9C10L3QvdC+0LUg0LjQvdGC0LXRgNCy0YzRjiwg0L/RgNC+0LTQvtC70LbQsNC10Lwg0YEg0LzQtdGB0YLQsCDQv9C+0YHQu9C10LTQvdC10LPQviDQstC+0L/RgNC+0YHQsCAo0YHQu9GD0YfQsNC5INC90L7QvNC10YAgMilcclxuICAgIGlmICghIWxvZ2ljVmFycyAmJiAhIWFuc3dlckxpc3QgJiYgISFxdWVzdGlvbkd1aWQpIHtcclxuICAgICAgLy/Qt9Cw0LPRgNGD0LbQsNC10Lwg0YHRgtCw0YDRi9C1INC70L7Qs9C40YfQtdGB0LrQuNC1INC/0LXRgNC10LzQtdC90L3Ri9C1INC4INC+0YLQstC10YLRi1xyXG4gICAgICB0aGlzLiNmaWxsT2xkSW50ZXJ2aWV3RGF0YShsb2dpY1ZhcnMsIGFuc3dlckxpc3QpO1xyXG5cclxuICAgICAgLy/QuNGJ0LXQvCDQvdC+0LzQtdGAINCy0L7Qv9GA0L7RgdCwLCDQutC+0YLQvtGA0YvQuSDQsdGL0Lsg0L/QvtGB0LvQtdC00L3QuNC5INC/0LXRgNC10LQg0YHQvtGF0YDQsNC90LXQvdC40LXQvC5cclxuICAgICAgY29uc3QgcXVlc3Rpb25MYXN0U2F2ZSA9IHRoaXMuI2ZpbmRRdWVzdGlvbkJ5R3VpZChxdWVzdGlvbkd1aWQpO1xyXG5cclxuICAgICAgLy/QktC+0L/RgNC+0YEg0LzQvtCz0LvQuCDRg9C00LDQu9C40YLRjC4g0KLQvtCz0LTQsCDQvdCw0YfQvdC10Lwg0YHQvdCw0YfQsNC70LAuXHJcbiAgICAgIGlmICghIXF1ZXN0aW9uTGFzdFNhdmUpIHtcclxuICAgICAgICBzdGFydFF1ZXN0aW9uTnVtID0gcXVlc3Rpb25MYXN0U2F2ZS5RdWVzdGlvbk51bTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHN0YXJ0UXVlc3Rpb25OdW0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAvL9Ct0YLQviDQvdC+0LLQvtC1INC40L3RgtC10YDQstGM0Y4sINCx0LXQtyDRgNCw0L3QtdC1INGB0L7RhdGA0LDQvdGR0L3QvdGL0YUg0LTQsNC90L3Ri9GFKNGB0LvRg9GH0LDQuSAxKS4g0JfQsNC/0YPRgdC60LDQtdC8INC+0L/RgNC+0YEsINC/0LXRgNCy0YvQuSDRjdC60YDQsNC9INGN0YLQviBMYW5nINCy0L7Qv9GA0L7RgSwg0L3QviDQtdGB0LvQuCDQstGL0LHQvtGA0LAg0Y/Qt9GL0LrQsCDQvdC10YIsINC/0YDQvtC/0YPRgdC60LDQtdC8INC4INC/0LXRgNC10YXQvtC00LjQvCDQvdCwIDEt0Lkg0LLQvtC/0YDQvtGBXHJcbiAgICAgIHN0YXJ0UXVlc3Rpb25OdW0gPSB0aGlzLiNhY3RpdmVMYW5nQ291bnQgPiAxID8gMCA6IHRoaXMuI25leHRRdWVzdGlvbk51bSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8v0L/QvtGI0LvRkdC8INGB0L7QsdGL0YLQuNC1INC+INC90LDRh9Cw0LvQtSDQvtC/0YDQvtGB0LBcclxuICAgIHRoaXMuI2V2ZW50QnVzLm5leHQoe2tleTogU3VydmV5RXZlbnRzLnNlU3VydmV5U3RhcnQsIGRhdGE6IHtxdWVzdGlvbmFyeTogdGhpcy4jcXVlc3Rpb25hcnl9fSk7XHJcblxyXG4gICAgLy/Qv9C+0LrQsNC30YvQstCw0LXQvCDQstC+0L/RgNC+0YFcclxuICAgIHRoaXMuI2NoYW5nZUN1cnJlbnRRdWVzdGlvbih0aGlzLiNxdWVzdGlvbmFyeSEuUXVlc3Rpb25zW3N0YXJ0UXVlc3Rpb25OdW1dKTtcclxuICB9XHJcblxyXG4gIG9uKC4uLmtleTogQXJyYXk8c3RyaW5nPik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy4jZXZlbnRCdXMuYXNPYnNlcnZhYmxlKCkucGlwZShcclxuICAgICBmaWx0ZXIoZXZlbnQgPT4ga2V5LmluY2x1ZGVzKGV2ZW50LmtleSkpLFxyXG4gICAgIG1hcChldmVudCA9PiBldmVudC5kYXRhKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdvVG9OZXh0UXVlc3Rpb24oKTogdm9pZCB7XHJcbiAgICBjb25zdCBjdXJyZW50UXVlc3Rpb24gPSB0aGlzLiNjdXJyZW50UXVlc3Rpb24udmFsdWU7XHJcbiAgICBpZiAoIWN1cnJlbnRRdWVzdGlvbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAvL9C10YHQu9C4INC+0YLQstC10YIg0L3QsCDRgtC10LrRg9GJ0LjQuSDQstC+0L/RgNC+0YEg0L3QtSDQt9Cw0LrQvtC90YfQtdC9LCDQstGL0YXQvtC00LjQvFxyXG4gICAgaWYgKCF0aGlzLl9pbnRlcnZpZXcucXVlc3Rpb25Jc0NvbXBsZXRlKGN1cnJlbnRRdWVzdGlvbi5RdWVzdGlvbkd1aWQpKSB7XHJcbiAgICAgIHJldHVybiA7XHJcbiAgICB9XHJcblxyXG4gICAgLy/QtdGB0LvQuCDRg9C60LDQt9Cw0L0gUG9zdFNjcmlwdCwg0LLRi9C/0L7Qu9C90LjQvCDQtdCz0L5cclxuICAgIGlmICghIWN1cnJlbnRRdWVzdGlvbi5Qb3N0U2NyaXB0KSB7XHJcbiAgICAgIHRoaXMuX2xvZ2ljLmV4ZWN1dGVQb3N0U2NyaXB0KGN1cnJlbnRRdWVzdGlvbi5Qb3N0U2NyaXB0KTtcclxuICAgIH1cclxuICAgIHRoaXMuI2NoYW5nZUN1cnJlbnRRdWVzdGlvbih0aGlzLiNxdWVzdGlvbmFyeSEuUXVlc3Rpb25zW3RoaXMuI25leHRRdWVzdGlvbk51bSgpXSk7XHJcbiAgfVxyXG5cclxuICBnb1RvQmFja1F1ZXN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy4jZGlzcGxheWVkUXVlc3Rpb25zLnBvcCgpOyAvLyDRg9C00LDQu9C40Lwg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0YLQvtC8INGH0YLQviDQv9C+0LrQsNC30YvQstCw0LvQuCDRjdGC0L7RgiDQstC+0L/RgNC+0YFcclxuICAgIGNvbnN0IHByZXZpb3VzUXVlc3Rpb25OdW0gPSB0aGlzLiNkaXNwbGF5ZWRRdWVzdGlvbnMucG9wKCk7IC8vINGD0LfQvdCw0LXQvCDQvdC+0LzQtdGAINCy0L7Qv9GA0L7RgdCwINC90LAg0LrQvtGC0L7RgNGL0Lkg0L3QsNC8INC90LDQtNC+INC/0LXRgNC10LnRgtC4LCDQuCDRg9C00LDQu9C40Lwg0LjQvdGE0L7RgNC80LDRhtC40Y4g0YfRgtC+LdCx0Ysg0L3QtSDQtNGD0LHQu9C40YDQvtCy0LDRgtGMXHJcbiAgICBpZiAoISFwcmV2aW91c1F1ZXN0aW9uTnVtKSB7XHJcbiAgICAgIGNvbnN0IHByZXZRdWVzdGlvbiA9IHRoaXMuI3F1ZXN0aW9uYXJ5Py5RdWVzdGlvbnNbcHJldmlvdXNRdWVzdGlvbk51bV07XHJcbiAgICAgIGlmICghIXByZXZRdWVzdGlvbikge1xyXG4gICAgICAgIHRoaXMuI2NoYW5nZUN1cnJlbnRRdWVzdGlvbihwcmV2UXVlc3Rpb24pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBxdWVzdGlvbklzQ29tcGxldGUoZ3VpZDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBhbnN3ZXIgPSB0aGlzLl9pbnRlcnZpZXcuZmluZEFuc3dlckJ5R3VpZChndWlkKTtcclxuICAgIHJldHVybiBhbnN3ZXI/LmFuc3dlcklzQ29tcGxldGUgPz8gZmFsc2VcclxuICB9XHJcbiAgXHJcbiAgZ3VpZFRvVGV4dEFuc3dlcihndWlkOiBudW1iZXIsIGxhbmd1YWdlSWQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBjb25zdCBhbnN3ZXIgPSB0aGlzLmZpbmRBbnN3ZXJCeUd1aWQoZ3VpZCk7XHJcbiAgICBjb25zdCBxdWVzdGlvbiA9IHRoaXMuI2ZpbmRRdWVzdGlvbkJ5R3VpZChndWlkKTtcclxuICAgIGlmICghcXVlc3Rpb24gfHwgIWFuc3dlciB8fCBhbnN3ZXIuQW5zd2VyVmFsdWUgPT09IC05Nykge1xyXG4gICAgICByZXR1cm4gJydcclxuICAgIH1cclxuICAgIGRlYnVnZ2VyXHJcbiAgICBjb25zdCBxdWVzdGlvblR5cGUgPSBxdWVzdGlvbi5RdWVzdGlvblR5cGU7XHJcbiAgICBcclxuICAgIHN3aXRjaCAocXVlc3Rpb25UeXBlKSB7XHJcbiAgICAgIFxyXG4gICAgICBjYXNlIFF1ZXN0aW9uc1R5cGUuZXFPTDogcmV0dXJuIGFuc3dlci5BbnN3ZXJWYWx1ZTtcclxuICAgICAgY2FzZSBRdWVzdGlvbnNUeXBlLmVxU1M6IHtcclxuICAgICAgICBjb25zdCBhbHRlcm5hdGl2ZSA9IHF1ZXN0aW9uLkFsdGVybmF0aXZlbGlzdC5maW5kKGFsdCA9PiBhbHQuVmFsdWUgPT09IGFuc3dlci5BbnN3ZXJWYWx1ZSk7XHJcbiAgICAgICAgY29uc3QgYWx0VGV4dCA9IGFsdGVybmF0aXZlPy5NdWx0aUxhbmdDYXB0aW9ucy5maW5kKG9iaiA9PiBvYmoubGFuZyA9PT0gbGFuZ3VhZ2VJZCk7XHJcblxyXG4gICAgICAgIHJldHVybiBhbHRUZXh0Py5DYXB0aW9uSHRtbCA/PyAnJztcclxuICAgICAgfVxyXG4gICAgICBkZWZhdWx0OiByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjZmlsbE9sZEludGVydmlld0RhdGEobG9naWNWYXJzOiBBcnJheTxJSW50ZXJ2aWV3TG9naWNWYXI+LCBhbnN3ZXJMaXN0OiBBcnJheTxJUXVlc3Rpb25BbnN3ZXI+KTogdm9pZHtcclxuICAgIC8v0L/RgNC+0L/QuNGI0LXQvCDRgdGC0LDRgNGL0LUg0LvQvtCz0LjRh9C10YHQutC40LUg0L/QtdGA0LXQvNC10L3QvdGL0LVcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGxvZ2ljVmFycykpIHtcclxuICAgICAgbG9naWNWYXJzLmZvckVhY2gobG9naWNWYXJPYmogPT4ge1xyXG4gICAgICAgIHRoaXMuX2xvZ2ljLnNldExvZ2ljVmFsdWUobG9naWNWYXJPYmoubm0sIGxvZ2ljVmFyT2JqLnZsKTtcclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICAvL9C/0YDQvtC/0LjRiNC10Lwg0YHRgtCw0YDRi9C1INC+0YLQstC10YLRi1xyXG4gICAgdGhpcy5faW50ZXJ2aWV3Lm92ZXJyaWRlQW5zd2VycyhhbnN3ZXJMaXN0KTtcclxuXHJcbiAgICAvL9C90YPQttC90L4g0LLQtdGA0L3Rg9GC0Ywg0LLRgNC10LzRjyDQvdCw0YfQsNC70LAg0LjQvdGC0LXRgNCy0YzRjiwg0L7RgtC00LXQu9GM0L3QviDQvtC90L4g0L3QtSDRgdC+0YXRgNCw0L3Rj9C10YLRgdGPLCDQv9C+0Y3RgtC+0LzRgyDQstC+0LfRjNC80ZHQvCDQvNC40L3QuNC80LDQu9GM0L3QvtC1INCy0YDQtdC80Y8g0L3QsNGH0LDQu9CwINC40Lcg0L7RgtCy0LXRgtC+0LJcclxuICAgIC8v0YTQuNC70YzRgtGA0YPQtdC8INCy0YHQtSDQstC+0L/RgNC+0YHRiyDRgyDQutC+0YLQvtGA0YvRhSDQvtC90L4g0YPQutCw0LfQsNC90L4oPjApINC4INGC0YDQsNC90YHRhNC+0YDQvNC40YDRg9C10Lwg0LIg0YfQuNGB0LvQvi5cclxuICAgIGNvbnN0IHN0YXJ0ZWRBdEFycmF5ID0gIGFuc3dlckxpc3QuZmlsdGVyKGFuc3dlciA9PiBhbnN3ZXIuU3RhcnRlZEF0ID4gMCkubWFwKGFuc3dlciA9PiBhbnN3ZXIuU3RhcnRlZEF0KTtcclxuXHJcbiAgICAvL9Cx0LXRgNGR0Lwg0LzQuNC90LjQvNCw0LvRjNC90L7QtVxyXG4gICAgdGhpcy5faW50ZXJ2aWV3LnN0YXJ0ZWRBdCA9IE1hdGgubWluKC4uLnN0YXJ0ZWRBdEFycmF5KTtcclxuICB9XHJcblxyXG4gICNjaGFuZ2VDdXJyZW50UXVlc3Rpb24obmV3UXVlc3Rpb246IElkYlF1ZXN0aW9uKTogdm9pZCB7XHJcbiAgICBjb25zdCBjdXJyZW50UXVlc3Rpb24gPSB0aGlzLiNjdXJyZW50UXVlc3Rpb24udmFsdWU7XHJcbiAgICBjb25zdCBjdXJyZW50VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG5cclxuICAgIGlmICghIWN1cnJlbnRRdWVzdGlvbikge1xyXG4gICAgICAvKlxyXG4gICAgICDQodC+0YXRgNCw0L3QuNC8INCy0YDQtdC80Y8g0L3QsNGH0LDQu9CwINC40L3RgtC10YDQstGM0Y4uINCk0LjQutGB0LjRgNC+0LLQsNGC0Ywg0LHRg9C00LXQvCDQvdC1INGBINGB0LDQvNC+0LPQviDQvdCw0YfQsNC70LAsINCwINGBINC+0YLQstC10YLQsCDQvdCwINC/0LXRgNCy0YvQuSDQstC+0L/RgNC+0YEuXHJcbiAgICAgINCf0L7RgtC+0LzRgyDRh9GC0L4g0L/RgNCw0LrRgtC40LrQsCDRgtCw0LrQsNGPLCDQvtGC0LrRgNGL0YLRjCDQsNC90LrQtdGC0YMg0L3QsCDQv9C70LDQvdGI0LXRgtC1INC4INGF0L7QtNC40YLRjCDQuNGB0LrQsNGC0Ywg0YDQtdGB0L/QvtC90LTQtdC90YLQvtCyINC4INC40Lct0LfQsCDRjdGC0L7Qs9C+INC00LvQuNGC0LXQu9GM0L3QvtGB0YLRjCDQuNC90YLQtdGA0LLRjNGOINC80L7QttC10YIg0LHRi9GC0Ywg0L3QtdGA0LXQu9C10LLQsNC90YLQvdC+LlxyXG4gICAgICAqICovXHJcbiAgICAgIGlmICh0aGlzLl9pbnRlcnZpZXcuc3RhcnRlZEF0ID09PSAwICYmIGN1cnJlbnRRdWVzdGlvbi5RdWVzdGlvbk51bSA+PSAwKSB7XHJcbiAgICAgICAgdGhpcy5faW50ZXJ2aWV3LnN0YXJ0ZWRBdCA9IGN1cnJlbnRUaW1lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL9C90YPQttC90L4g0YHQvtGF0YDQsNC90LjRgtGMIEZpbmlzaGVkQXQg0LIg0L7RgtCy0LXRgtCw0YUg0LTQu9GPINGB0YLQsNGA0L7Qs9C+INCy0L7Qv9GA0L7RgdCwXHJcbiAgICAgIGNvbnN0IGFuc3dlciA9IHRoaXMuX2ludGVydmlldy5maW5kQW5zd2VyQnlHdWlkKGN1cnJlbnRRdWVzdGlvbi5RdWVzdGlvbkd1aWQpO1xyXG4gICAgICBpZiAoISFhbnN3ZXIpIHtcclxuICAgICAgICBhbnN3ZXIuRmluaXNoZWRBdCA9IGN1cnJlbnRUaW1lO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuI2V2ZW50QnVzLm5leHQoe2tleTogU3VydmV5RXZlbnRzLnNlUXVlc3Rpb25IaWRlLCBkYXRhOiBjdXJyZW50UXVlc3Rpb259KTtcclxuICAgIH1cclxuICAgIHRoaXMuI2Rpc3BsYXllZFF1ZXN0aW9ucy5wdXNoKG5ld1F1ZXN0aW9uLlF1ZXN0aW9uTnVtKTtcclxuICAgIHRoaXMuI2N1cnJlbnRRdWVzdGlvbi5uZXh0KG5ld1F1ZXN0aW9uKTtcclxuXHJcbiAgICAvL9C90YPQttC90L4g0YHQvtGF0YDQsNC90LjRgtGMIFN0YXJ0ZWRBdCDQsiDQvtGC0LLQtdGC0LDRhSDQtNC70Y8g0L3QvtCy0L7Qs9C+INCy0L7Qv9GA0L7RgdCwXHJcbiAgICBjb25zdCBhbnN3ZXJOZXcgPSB0aGlzLl9pbnRlcnZpZXcuZmluZEFuc3dlckJ5R3VpZChuZXdRdWVzdGlvbi5RdWVzdGlvbkd1aWQpO1xyXG4gICAgaWYgKCEhYW5zd2VyTmV3KSB7XHJcbiAgICAgIGFuc3dlck5ldy5TdGFydGVkQXQgPSBjdXJyZW50VGltZTtcclxuICAgIH1cclxuICAgIHRoaXMuI2V2ZW50QnVzLm5leHQoe2tleTogU3VydmV5RXZlbnRzLnNlUXVlc3Rpb25TaG93LCBkYXRhOiBuZXdRdWVzdGlvbn0pO1xyXG5cclxuICAgIC8v0LXRgdC70Lgg0L3QvtCy0YvQuSDRjdC60YDQsNC9INGN0YLQviBlbmQg0YLQvtCz0LTQsCDQt9Cw0LLQtdGA0YjQsNC10Lwg0LjQvdGC0LXRgNCy0YzRjlxyXG4gICAgaWYgKG5ld1F1ZXN0aW9uLlF1ZXN0aW9uVHlwZSA9PT0gJ0VORCcpIHtcclxuICAgICAgdGhpcy4jZmluaXNoSW50ZXJ2aWV3KCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8v0LXRgdC70Lgg0Y3RgtC+INC90LXRj9Cy0L3Ri9C5INCy0L7Qv9GA0L7RgSDQuCDRjdGC0L4gc3Mg0LjQu9C4IG1zINCy0L7Qv9GA0L7RgSDRgtC+0LPQtNCwINC/0L7RgdGH0LjRgtCw0LXQvCDQt9C90LDRh9C10L3QuNGPINGDINGN0YLQvtCz0L4g0LLQvtC/0YDQvtGB0LBcclxuICAgIGlmIChuZXdRdWVzdGlvbi5JbXBsaWNpdCkge1xyXG4gICAgICB0aGlzLiNjYWxjdWxhdGVJbXBsaWNpdFF1ZXN0aW9uKG5ld1F1ZXN0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGN1cnJlbnRRdWVzdGlvbiQoKTogT2JzZXJ2YWJsZTxJZGJRdWVzdGlvbiB8IG51bGw+IHtcclxuICAgIHJldHVybiB0aGlzLiNjdXJyZW50UXVlc3Rpb24uYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBmaW5kQW5zd2VyQnlHdWlkKGd1aWQ6IG51bWJlcik6IEFuc3dlciB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5faW50ZXJ2aWV3LmZpbmRBbnN3ZXJCeUd1aWQoZ3VpZCk7XHJcbiAgfVxyXG5cclxuICBzZXRMb2dpY1ZhbHVlKHZhck5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fbG9naWMuc2V0TG9naWNWYWx1ZSh2YXJOYW1lLCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2dpY1ZhcnMoKTogTG9naWNPYmplY3Qge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xvZ2ljLmdldExvZ2ljVmFycygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QW5zd2VyTGlzdCgpOiBBcnJheTxBbnN3ZXI+IHtcclxuICAgIHJldHVybiB0aGlzLl9pbnRlcnZpZXcuZ2V0QW5zd2VyTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQW5zd2VyKGV2ZW50RGF0YTogQW5zd2VyQ2hhbmdlKTogdm9pZCB7XHJcbiAgICBjb25zdCBhbnN3ZXIgPSB0aGlzLl9pbnRlcnZpZXcuZmluZEFuc3dlckJ5R3VpZChldmVudERhdGEuZ3VpZCk7XHJcbiAgICBpZiAoIWFuc3dlcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy/QstC+0L/RgNC+0YHRiyDQutC+0YLQvtGA0YvQtSDQsiDRgdCy0L7QtdC8INGB0L7RgdGC0LDQstC1INC40LzQtdC10YIg0YHQtdC60YbQuNC4LCDRhdGA0LDQvdGP0YIg0L7RgtCy0LXRgtGLINGH0YPRgtGMINC/0L4g0LTRgNGD0LPQvtC80YMsINGC0L7Rh9C90LXQtSDQvtGC0LLQtdGCINC90LAg0LrQsNC20LTRg9GOINGB0LXQutGG0LjRjiDRjdGC0L4g0L7RgtC00LXQu9GM0L3Ri9C5INC+0LHRitC10LrRgiDQsiAgX2ludGVydmlldy5hbnN3ZXJMaXN0XHJcbiAgICAvL9C/0L7RjdGC0L7QvNGDINC+0YLQstC10YIg0LTQu9GPINGC0LDQutC40YUg0YLQuNC/0L7QsiDQstC+0L/RgNC+0YHQvtCyINGN0YLQviBba2V5OiBzdHJpbmddOiBBcnJheTxudW1iZXI+IHwgbnVtYmVyLCDQs9C00LUga2V5KGd1aWQg0YHQtdC60YbQuNC4KSDRjdGC0L4g0L7RgtCy0LXRgiDQvdCwINGB0LXQutGG0LjRjiwg0LXRgdC70Lgga2V5INC90LXRgiwg0YHQtdC60YbQuNGPINC90LUg0LHRi9C70LAg0L/QvtC60LDQt9Cw0L3QsFxyXG4gICAgaWYgKHRoaXMuI2N1cnJlbnRRdWVzdGlvbi52YWx1ZT8uUXVlc3Rpb25UeXBlID09PSBRdWVzdGlvbnNUeXBlLmVxU0wpIHtcclxuICAgICAgY29uc3Qgc2VjdGlvbkxpc3QgPSB0aGlzLiNjdXJyZW50UXVlc3Rpb24udmFsdWU/LlNlY3Rpb25saXN0O1xyXG5cclxuICAgICAgLy/Qv9GA0L7QudC00ZHQvNGB0Y8g0L/QviDQutCw0LbQtNC+0Lkg0YHQtdC60YbQuNC4INC4INC10YHQu9C4INC00LvRjyDQvdC10ZEg0LXRgdGC0Ywg0L7RgtCy0LXRgiwg0LfQsNC/0LjRiNC10LwsINCyINC/0YDQvtGC0LjQstC90L7QvCDRgdC70YPRh9Cw0LUg0LLQvNC10YHRgtC+INC+0YLQstC10YLQsCDRg9C60LDQttC10LwgLTk3KE1JU1NJTkdfVkFMVUUpXHJcbiAgICAgIGlmICghIXNlY3Rpb25MaXN0KSB7XHJcbiAgICAgICAgc2VjdGlvbkxpc3QuZm9yRWFjaChzZWN0aW9uID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNlY3Rpb25JbnRlcnZpZXdBbnN3ZXIgPSAgdGhpcy5faW50ZXJ2aWV3LmZpbmRBbnN3ZXJCeUd1aWQoc2VjdGlvbi5TZWN0aW9uR3VpZCk7XHJcbiAgICAgICAgICBpZiAoIXNlY3Rpb25JbnRlcnZpZXdBbnN3ZXIpe1xyXG4gICAgICAgICAgICByZXR1cm5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnN0IHNlY3Rpb25RdWVzdGlvbkFuc3dlciA9IGV2ZW50RGF0YS5hbnN3ZXIgPyAgKGV2ZW50RGF0YS5hbnN3ZXIgYXMgQW5zd2VyU2xUeXBlKVtzZWN0aW9uLlNlY3Rpb25HdWlkLnRvU3RyaW5nKCldIDogdW5kZWZpbmVkO1xyXG4gICAgICAgICAgc2VjdGlvbkludGVydmlld0Fuc3dlci5BbnN3ZXJWYWx1ZSA9IHNlY3Rpb25RdWVzdGlvbkFuc3dlciA9PT0gdW5kZWZpbmVkID8gTUlTU0lOR19WQUxVRSA6IHNlY3Rpb25RdWVzdGlvbkFuc3dlcjtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICAvL9C+0YLQstC10YIg0YHQsNC80L7Qs9C+INC40YHRhdC+0LTQvdC+0LPQviDQstC+0L/RgNC+0YHQsCDQtNC+0LvQttC10L0g0LHRi9GC0YwgMVxyXG4gICAgICBhbnN3ZXIuQW5zd2VyVmFsdWUgPSAxO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy/QvtGC0LLQtdGCINC90LAg0LLQvtC/0YDQvtGBINGDINC60L7RgtC+0YDQvtCz0L4g0L3QtdGCINGB0LXQutGG0LjQuVxyXG4gICAgICBhbnN3ZXIuQW5zd2VyVmFsdWUgPSBldmVudERhdGEuYW5zd2VyO1xyXG4gICAgfVxyXG5cclxuICAgIC8v0L3QsCDQstC+0L/RgNC+0YEg0L7RgtCy0LXRgtC40LvQuCDRgtC+0LPQtNCwINC60L7Qs9C00LAg0LXRgdGC0Ywg0LLRgdC1INC+0YLQstC10YLRiyDQuCDQstGL0L/QvtC70L3Rj9C10YLRgdGPINC70L7Qs9C40LrQsCDQutC90L7Qv9C60Lgg0LTQsNC70LXQtSjQtdGB0LvQuCDQtdGRINGD0LrQsNC30LDQu9C4KVxyXG4gICAgYW5zd2VyLmFuc3dlcklzQ29tcGxldGUgPSBldmVudERhdGEuaXNDb21wbGV0ZSAmJiB0aGlzLiNuZXh0QnV0dG9uRXhwcmVzc2lvbklzVHJ1ZSgpO1xyXG5cclxuICAgIC8vVmlld2VkQWx0ZXJuYXRpdmVWYWx1ZXMg0LggVmlld2VkU2VjdGlvbkd1aWRzLiDQoi7Qui4g0L7QvdC4IHJlYWRvbmx5INGB0L3QsNGH0LDQu9CwINGD0LTQsNC70LjQvCwg0L/QvtGC0L7QvCDQtNC+0LHQsNCy0LjQvFxyXG4gICAgYW5zd2VyLlZpZXdlZEFsdGVybmF0aXZlVmFsdWVzLmxlbmd0aCA9IDA7XHJcbiAgICBldmVudERhdGEudmlld2VkQWx0ZXJuYXRpdmVWYWx1ZXMuZm9yRWFjaChvYSA9PiBhbnN3ZXIuVmlld2VkQWx0ZXJuYXRpdmVWYWx1ZXMucHVzaChvYSkpO1xyXG5cclxuICAgIGFuc3dlci5WaWV3ZWRTZWN0aW9uR3VpZHMubGVuZ3RoID0gMDtcclxuICAgIGV2ZW50RGF0YS52aWV3ZWRTZWN0aW9uR3VpZHMuZm9yRWFjaChvYSA9PiBhbnN3ZXIuVmlld2VkU2VjdGlvbkd1aWRzLnB1c2gob2EpKTtcclxuXHJcbiAgICBhbnN3ZXIuQWx0ZXJuYXRpdmVTZXF1ZW5jZUNsaWNrcy5sZW5ndGggPSAwO1xyXG4gICAgZXZlbnREYXRhLmFsdGVybmF0aXZlU2VxdWVuY2VDbGlja3MuZm9yRWFjaChvYSA9PiBhbnN3ZXIuQWx0ZXJuYXRpdmVTZXF1ZW5jZUNsaWNrcy5wdXNoKG9hKSk7XHJcblxyXG5cclxuICAgIE9iamVjdC5lbnRyaWVzKGFuc3dlci5BbnN3ZXJBZGRpdGlvbmFsKS5mb3JFYWNoKChba2V5XSkgPT4gZGVsZXRlIGFuc3dlci5BbnN3ZXJBZGRpdGlvbmFsW051bWJlcihrZXkpXSk7XHJcbiAgICBPYmplY3QuZW50cmllcyhldmVudERhdGEuYWRkaXRpb25hbEFuc3dlcnMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4gYW5zd2VyLkFuc3dlckFkZGl0aW9uYWxbTnVtYmVyKGtleSldID0gdmFsdWUpO1xyXG5cclxuICAgIHRoaXMudXBkYXRlTG9naWMoZXZlbnREYXRhLmxvZ2ljVmFycyk7XHJcblxyXG4gICAgdGhpcy4jZXZlbnRCdXMubmV4dCh7a2V5OiBTdXJ2ZXlFdmVudHMuc2VRdWVzdGlvbkFuc3dlcnNDaGFuZ2UsIGRhdGE6IHtxdWVzdGlvbjogdGhpcy4jY3VycmVudFF1ZXN0aW9uLnZhbHVlLCBhbnN3ZXJJc0NvbXBsZXRlOiBhbnN3ZXIuYW5zd2VySXNDb21wbGV0ZX19KTtcclxuXHJcbiAgICAvL9C80L7QttC10YIg0LLQvtC30L3QuNC60L3Rg9GC0Ywg0YHQuNGC0YPQsNGG0LjRjywg0LrQvtCz0LTQsCDQvdC10YIg0L3QuCDQvtC00L3QvtC5INCw0LvRjNGC0LXRgNC90LDRgtC40LLRiyDQuNC70Lgg0YHQtdC60YbQuNC4INC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPLtCyINGN0YLQvtC8INGB0LvRg9GH0LDQtSDQstC+0L/RgNC+0YEg0L/QvtC60LDQt9GL0LLQsNGC0Ywg0L3QtSDQvdGD0LbQvdC+LCDQutCw0Log0L7RgtCy0LXRgiDQt9Cw0L/QuNGB0YvQstCw0LXQvCAwINC4INC/0LXRgNC10YXQvtC00LjQvCDQvdCwINGB0LvQtdC00YPRjtGJ0LjQuVxyXG4gICAgY29uc3QgcXVlc3Rpb24gPSB0aGlzLiNmaW5kUXVlc3Rpb25CeUd1aWQoZXZlbnREYXRhLmd1aWQpO1xyXG4gICAgLy/RgdC40YLRg9Cw0YbQuNGPINC00LvRjyBzcy9tcyDQstC+0L/RgNC+0YHQvtCyLFxyXG4gICAgaWYgKCEhcXVlc3Rpb24gJiYgYW5zd2VyLmFuc3dlcklzQ29tcGxldGUgJiYgKHF1ZXN0aW9uLlF1ZXN0aW9uVHlwZSA9PT0gJ1NTJyB8fCBxdWVzdGlvbi5RdWVzdGlvblR5cGUgPT09ICdNUycpICYmIChldmVudERhdGEudmlld2VkQWx0ZXJuYXRpdmVWYWx1ZXMubGVuZ3RoID09PSAwKSkge1xyXG4gICAgICB0aGlzLmdvVG9OZXh0UXVlc3Rpb24oKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlTG9naWMobG9naWNWYXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdm9pZHtcclxuICAgIE9iamVjdC5lbnRyaWVzKGxvZ2ljVmFycykuZm9yRWFjaCgoW3Zhck5hbWUsIHZhbHVlXSkgPT4ge1xyXG4gICAgICB0aGlzLnNldExvZ2ljVmFsdWUodmFyTmFtZSwgdmFsdWUpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgLy/QstC+0LfQstGA0LDRidCw0LXRgiDQutC+0LvQuNGH0LXRgdGC0LLQviDQsNC60YLQuNCy0L3Ri9GFINGP0LfRi9C60L7QslxyXG4gIGdldCAjYWN0aXZlTGFuZ0NvdW50KCk6IG51bWJlciB7XHJcbiAgICAvL9C10YHQu9C4INCw0L3QutC10YLQsCDQv9C+INC60LDQutC+0Lkt0YLQviDQv9GA0LjRh9C40L3QtSDQvdGDINGD0LrQsNC30LDQvdCwLCDQstC10YDQvdGR0LwgMFxyXG4gICAgcmV0dXJuIHRoaXMuI3F1ZXN0aW9uYXJ5Py5CYXNlUGFyYW1zLkxhbmd1YWdlTGlzdC5maWx0ZXIoIGxhbmdPYmogPT4gbGFuZ09iai5pc0FjdGl2ZSkubGVuZ3RoID8/IDA7XHJcbiAgfVxyXG5cclxuICAvL9Cy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC60L7Qu9C40YfQtdGB0YLQstC+INCy0L7Qv9GA0L7RgdC+0LJcclxuICBnZXQgI3F1ZXN0aW9uc0NvdW50KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy4jcXVlc3Rpb25hcnk/LlF1ZXN0aW9ucy5sZW5ndGggPz8gMDtcclxuICB9XHJcblxyXG4gICNmaW5pc2hJbnRlcnZpZXcoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjdXJyZW50VGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICBsZXQgcmVzdWx0RGlydHk7XHJcbiAgICB0cnkge1xyXG4gICAgICByZXN1bHREaXJ0eSA9IHRoaXMuX2xvZ2ljLmV4ZWN1dGVMb2dpYyh0aGlzLiNxdWVzdGlvbmFyeT8uQmFzZVBhcmFtcy5SZXN1bHRhdGl2ZVNjcmlwdCA/PyAnJyk7XHJcbiAgICB9Y2F0Y2ggKGUpIHtcclxuICAgICAgcmVzdWx0RGlydHkgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpbnRlcnZpZXc6IElJbnRlcnZpZXdEYXRhID0ge1xyXG4gICAgICBMYW5ndWFnZTogMCwgICAgLy90b2RvIGxhbmdcclxuICAgICAgU3BvdElkOiAwLFxyXG4gICAgICBEZXZpY2VJZDogMCxcclxuICAgICAgRGV2aWNlVHlwZTogMCxcclxuICAgICAgUmVzdWx0YXRpdmU6IFJlc3VsdGF0aXZlU3RhdHVzLnJzVW5zZXQsXHJcbiAgICAgIFZhbGlkOiBWYWxpZFN0YXR1cy52c1Vuc2V0LFxyXG4gICAgICBXYXZlOiB0aGlzLiNxdWVzdGlvbmFyeT8uSW5mby5jdXJyZW50X3dhdmUgPz8gMCxcclxuICAgICAgUXVlc3Rpb25hcnlOYW1lOiB0aGlzLiNxdWVzdGlvbmFyeT8uSW5mby5uYW1lID8/ICcnLFxyXG4gICAgICBRdWVzdGlvbmFyeUd1aWQ6IHRoaXMuI3F1ZXN0aW9uYXJ5Py5JbmZvLnF1ZXN0aW9uYXJ5X2d1aWQgPz8gMCxcclxuICAgICAgU3RhcnRlZEF0OiB0aGlzLl9pbnRlcnZpZXcuc3RhcnRlZEF0LFxyXG4gICAgICBGaW5pc2hlZEF0OiBjdXJyZW50VGltZS5nZXRUaW1lKCksXHJcbiAgICAgIFRpbmVab25lQmlhczogY3VycmVudFRpbWUuZ2V0VGltZXpvbmVPZmZzZXQoKSxcclxuICAgICAgUmVzdWx0YXREaXJ0eTogcmVzdWx0RGlydHksXHJcbiAgICAgIEFuc3dlcnM6IHtcclxuICAgICAgICBBbnN2ZXJzTGlzdDogQXJyYXkuZnJvbSh0aGlzLl9pbnRlcnZpZXcuZ2V0QW5zd2VyTGlzdCgpKVxyXG4gICAgICB9LFxyXG4gICAgICBhZGRpdGlvbmFsX2luZm86IHtcclxuICAgICAgICBRdWVzdGlvbmFyeVVwZGF0ZVRpbWVzdGFtcDogbmV3IERhdGUodGhpcy4jcXVlc3Rpb25hcnk/LkluZm8ubGFzdF91cGRhdGVfdGltZXN0YW1wID8/IDApLmdldFRpbWUoKSAsXHJcbiAgICAgIH0sXHJcbiAgICAgIFJlc3VsdFF1b3RhR3VpZHM6IFtdLFxyXG4gICAgICBSZXN1bHRRdW90YTJkR3VpZHM6IFtdLFxyXG4gICAgICBMb2dpY1ZhcnM6IFtdLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBsb2dpY1ZhcnMgPSB0aGlzLl9sb2dpYy5nZXRMb2dpY1ZhcnMoKTtcclxuICAgIE9iamVjdC5lbnRyaWVzKGxvZ2ljVmFycykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiBpbnRlcnZpZXcuTG9naWNWYXJzLnB1c2goe25tOiBrZXksIHZsOiB2YWx1ZX0pKTtcclxuXHJcbiAgICB0aGlzLiNldmVudEJ1cy5uZXh0KHtrZXk6IFN1cnZleUV2ZW50cy5zZVN1cnZleUVuZCwgZGF0YTogaW50ZXJ2aWV3fSk7XHJcbiAgfVxyXG5cclxuICAjbmV4dFF1ZXN0aW9uTnVtKCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBjdXJyZW50UXVlc3Rpb24gPSB0aGlzLiNjdXJyZW50UXVlc3Rpb24udmFsdWU7XHJcbiAgICAvLyDQv9GA0L7QstC10YDQuNC8INC60LLQvtGC0YtcclxuICAgIGNvbnN0IGN1cnJlbnRHdWlkID0gY3VycmVudFF1ZXN0aW9uPy5RdWVzdGlvbkd1aWQgPz8gMDtcclxuICAgIGlmICh0aGlzLiNzdXJ2ZXlRdW90YXMucXVvdGFJc0NvbXBsZXRlZCAmJiAhdGhpcy4jc3VydmV5UXVvdGFzLmd1aWRJc0Rlc3RpbmF0aW9uUXVlc3Rpb24oY3VycmVudEd1aWQpKSB7XHJcbiAgICAgIC8vINGDINC90LDRgSDQtdGB0YLRjCDQt9Cw0L/QvtC70L3QtdC90L3QsNGPINC60LLQvtGC0LAsINC90LDQudC00LXQvCDQstC+0L/RgNC+0YEg0LrQvtGC0L7RgNGL0Lkg0L3Rg9C20L3QviDQv9C+0LrQsNC30LDRgtGMINC/0YDQuCDQt9Cw0L/QvtC70L3QtdC90LjQuCDQutCy0L7RgtGLXHJcbiAgICAgIGNvbnN0IGRlc3RpbmF0aW9uUSA9IHRoaXMuI2ZpbmRRdWVzdGlvbkJ5R3VpZCh0aGlzLiNzdXJ2ZXlRdW90YXMuZGVzdGluYXRpb25RdWVzdGlvbkd1aWQpO1xyXG4gICAgICAvL9C10YHQu9C4INCy0L7Qv9GA0L7RgSDQtdGB0YLRjCjQtdCz0L4g0LzQvtCz0LvQuCDRg9C00LDQu9C40YLRjCDQuNC3INCw0L3QutC10YLRiyksINC/0L7QutCw0LfRi9Cy0LDQtdGCINC10LPQvlxyXG4gICAgICBpZiAoISFkZXN0aW5hdGlvblEpIHtcclxuICAgICAgICByZXR1cm4gZGVzdGluYXRpb25RLlF1ZXN0aW9uTnVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8g0LXRgdC70Lgg0L3QtdGCINC30LDQv9C+0LvQvdC10L3QvdC+0Lkg0LrQstC+0YLRiywg0L/QtdGA0LXRhdC+0LTQuNC8INC90LAg0YHQu9C10LTRg9GO0YnQuNC5INCy0L7Qv9GA0L7RgSwg0LjRidC10Lwg0YHQu9C10LTRg9GO0YnQuNC5INCy0L7Qv9GA0L7RgSDQutC+0YLQvtGA0YvQuSDQvNGLINC80L7QttC10Lwg0L7RgtC+0LHRgNCw0LfQuNGC0YwgKNC00L4g0LvQvtCz0LjQutCwINC80L7QttC10YIg0LfQsNC/0YDQtdGC0LjRgtGMINC/0L7QutCw0Lcg0LLQvtC/0YDQvtGB0LApXHJcbiAgICBsZXQgbmV4dFF1ZXN0aW9uTnVtID0gKGN1cnJlbnRRdWVzdGlvbj8uUXVlc3Rpb25OdW0gPz8gMCkgKyAxO1xyXG5cclxuICAgIC8vINC90L4g0YHQvdCw0YfQsNC70LAg0L/RgNC+0LLQtdGA0LjQvCDQv9C+0YHQu9C1INC70L7Qs9C40LrRg1xyXG4gICAgaWYgKCEhY3VycmVudFF1ZXN0aW9uKSB7XHJcbiAgICAgIGNvbnN0IGRlc3RRID0gY3VycmVudFF1ZXN0aW9uLmxvZ2ljbGlzdC5maW5kKGxvZ09iaiA9PiAobG9nT2JqLkRlc3RpbmF0aW9uUXVlc3Rpb25HdWlkID4gMCkgJiYgdGhpcy5fbG9naWMuZXhlY3V0ZUxvZ2ljKGxvZ09iai5Mb2dpY1RleHQpICk7XHJcbiAgICAgIGlmICghIWRlc3RRKSB7XHJcbiAgICAgICAgY29uc3QgZGVzdFFOdW0gPSB0aGlzLiNmaW5kUXVlc3Rpb25CeUd1aWQoZGVzdFEuRGVzdGluYXRpb25RdWVzdGlvbkd1aWQpPy5RdWVzdGlvbk51bTtcclxuICAgICAgICBpZiAoTnVtYmVyLmlzU2FmZUludGVnZXIoZGVzdFFOdW0pKSB7IC8vINCy0L7Qv9GA0L7RgSDQvNC+0LMg0LHRi9GC0Ywg0YPQtNCw0LvRkdC9LCDQsCDQu9C+0LPQuNC60YMg0L7RgdGC0LDQstC40YLRjFxyXG4gICAgICAgICAgbmV4dFF1ZXN0aW9uTnVtID0gZGVzdFFOdW0hO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vINC+0LHRidC10LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0LLQvtC/0YDQvtGB0L7Qsiwg0YbQuNC60Lsg0LHRg9C00LXRgiDRgdGH0LjRgtCw0YLRjCDQtNC+INGN0YLQvtCz0L4g0LrQvtC70LjRh9C10YHRgtCy0LBcclxuICAgIGNvbnN0IHF1ZXN0aW9uQ291bnQgPSB0aGlzLiNxdWVzdGlvbnNDb3VudDtcclxuICAgIGRvIHtcclxuICAgICAgLy/Qv9C+0YLQtdC90YbQuNCw0LvRjNC90L4g0YHQu9C10LTRg9GO0YnQuNC5INCy0L7Qv9GA0L7RgVxyXG4gICAgICBjb25zdCBxID0gdGhpcy4jcXVlc3Rpb25hcnkhLlF1ZXN0aW9uc1tuZXh0UXVlc3Rpb25OdW1dO1xyXG5cclxuICAgICAgLy/QtdGB0LvQuCDRjdGC0L4g0L/QvtGB0LvQtdC00L3QuNC5INCy0L7Qv9GA0L7RgSDQuNC70Lgg0LXRgdC70Lgg0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyBCZWZvcmVFeHByZXNzaW9uINC4INGN0YLQvtGCINCy0L7Qv9GA0L7RgSDQvdC1IERlc3RpbmF0aW9uUXVvdGEsINC80L7QttC10Lwg0LXQs9C+INC/0L7QutCw0LfQsNGC0YxcclxuICAgICAgaWYgKHEuUXVlc3Rpb25UeXBlID09PSBRdWVzdGlvbnNUeXBlLmVxRU5EIHx8ICh0aGlzLl9sb2dpYy5leGVjdXRlTG9naWMocS5CZWZvcmVFeHByZXNzaW9uKSAmJiAhdGhpcy4jc3VydmV5UXVvdGFzLmd1aWRJc0Rlc3RpbmF0aW9uUXVlc3Rpb24ocS5RdWVzdGlvbkd1aWQpKSApIHtcclxuICAgICAgICByZXR1cm4gbmV4dFF1ZXN0aW9uTnVtO1xyXG4gICAgICB9XHJcbiAgICAgIC8v0LLQvtC/0YDQvtGBINC90LXQu9GM0LfRjyDQv9C+0LrQsNC30YvQstCw0YLRjCwg0YPQstC10LvQuNGH0LjQstCw0LXQvCDRgdGH0ZHRgtGH0LjQuiDRgtC10LrRg9GJ0LXQs9C+INCy0L7Qv9GA0L7RgdCwINC90LAgMVxyXG4gICAgICBuZXh0UXVlc3Rpb25OdW0rKztcclxuICAgIH0gd2hpbGUgKG5leHRRdWVzdGlvbk51bSA8IHF1ZXN0aW9uQ291bnQgLSAxKTsgLy8gZW5kINCy0L7Qv9GA0L7RgSDQtNC+0LvQttC10L0g0LLRgdC10LPQtNCwINCx0YvRgtGMINC/0L7QutCw0LfQsNC9XHJcbiAgICByZXR1cm4gbmV4dFF1ZXN0aW9uTnVtO1xyXG4gIH1cclxuXHJcbiAgI2luaXRpYXRlUXVlc3Rpb25zKHF1ZXN0aW9uTGlzdDogQXJyYXk8SWRiUXVlc3Rpb24+KTogdm9pZHtcclxuICAgIHF1ZXN0aW9uTGlzdC5mb3JFYWNoKHF1ZXN0aW9uID0+IHtcclxuICAgICAgLy/RgdC+0LfQtNCw0ZHQvCDQv9GD0YHRgtC+0Lkg0L7RgtCy0LXRgiDQtNC70Y8g0LLQvtC/0YDQvtGB0LAuXHJcbiAgICAgIGNvbnN0IGFuc3dlciA9IHRoaXMuX2ludGVydmlldy5jcmVhdGVBbnN3ZXIocXVlc3Rpb24uUXVlc3Rpb25HdWlkLCBxdWVzdGlvbi5WZXJzaW9uKTtcclxuXHJcbiAgICAgIC8v0YLQsNC60L7Qs9C+INCx0YvRgtGMINC90LUg0LTQvtC70LbQvdC+LCDRjdGC0L4g0L7RiNC40LHQutCwXHJcbiAgICAgIGlmICghYW5zd2VyKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdhbnN3ZXIgbm90IGZvdW5kJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX2xvZ2ljLnNldExvZ2ljVmFsdWUocXVlc3Rpb24uU3lzTmFtZSwgTUlTU0lOR19WQUxVRSk7IC8vINC/0LXRgNC10LzQtdC90L3QsNGPINGB0LDQvNC+0LPQviDQstC+0L/RgNC+0YHQsFxyXG5cclxuICAgICAgLy/QtNC+0LHQsNCy0LjQvCDQtNC+0L8g0L7RgtCy0LXRgtGLINC4INC70L7Qs9C40LrRgyDQtNC70Y8g0L3QuNGFXHJcbiAgICAgIHF1ZXN0aW9uLkFkZGl0aW9uYWxBbnN3ZXJsaXN0LmZvckVhY2goYWEgPT4ge1xyXG4gICAgICAgIGFuc3dlci5BbnN3ZXJBZGRpdGlvbmFsW2FhLlZhbHVlXSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5fbG9naWMuc2V0TG9naWNWYWx1ZShgJHtxdWVzdGlvbi5TeXNOYW1lfSR7YWEuU3lzTmFtZX1gLCBNSVNTSU5HX1ZBTFVFKTsgLy8g0LvQvtCz0LjQutCwINC00LvRjyDQv9C10YDQtdC80LXQvdC90YvRhSDQtNC+0L8g0L7RgtCy0LXRgtCwXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgLy8g0LXRgdC70Lgg0LIg0YLQtdC60YHRgtC1IHBvc3RTY3JpcHQg0LXRgdGC0Ywg0LfQsNC/0LjRgdGMINGC0LjQv9CwIHNldFZhcigndmFyTmFtZScsICB2YWx1ZSk7ICDQvdGD0LbQvdC+INC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDRgtGMINC/0LXRgNC10LzQtdC90L3Rg9GOIHZhck5hbWUg0LfQvdCw0YfQtdC90LjQtdC8IC05Ny5cclxuICAgICAgaWYgKCEhcXVlc3Rpb24uUG9zdFNjcmlwdCkge1xyXG4gICAgICAgIChxdWVzdGlvbi5Qb3N0U2NyaXB0Lm1hdGNoKC8oXFxic2V0dmFyXFxiKVxcKFsnfFwiXSguKj8pWyd8XCJdL2dpbSkgPz8gW10pLm1hcChzY3JpcHRWYXIgPT4gc2NyaXB0VmFyLm1hdGNoKC9bJ3xcIl0oLispWyd8XCJdL2kpIVsxXSkuZm9yRWFjaCh2YXJOYW1lID0+IHRoaXMuX2xvZ2ljLnNldExvZ2ljVmFsdWUodmFyTmFtZSwgbnVsbCkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyDQtNC70Y8g0JLQvtC/0YDQvtGB0L7QsiBTUy9NUyDQvdGD0LbQvdC+INC/0YDQvtC/0LjRgdCw0YLRjCDQu9C+0LPQuNC60YMg0LDQu9GM0YLQtdGA0L3QsNGC0LjQsiBzeXNuYW1lINCy0L7Qv9GA0L7RgdCwICsgc3lzbmFtZSDQsNC70YzRgtC10YDQvdCw0YLQuNCy0YtcclxuICAgICAgaWYgKHF1ZXN0aW9uLlNlY3Rpb25saXN0Lmxlbmd0aCA8PSAwKSB7Ly8g0LTQu9GPINCS0L7Qv9GA0L7RgdC+0LIgU1MvTVNcclxuICAgICAgICBxdWVzdGlvbi5BbHRlcm5hdGl2ZWxpc3QuZm9yRWFjaChhbHQgPT4gdGhpcy5fbG9naWMuc2V0TG9naWNWYWx1ZShgJHtxdWVzdGlvbi5TeXNOYW1lfSR7YWx0LlN5c05hbWV9YCwgTUlTU0lOR19WQUxVRSkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8v0LTQu9GPINCy0L7Qv9GA0L7RgdC+0LIg0YMg0LrQvtGC0L7RgNGL0YUg0LXRgdGC0Ywg0YHQtdC60YbQuNC4INC/0YDQvtC40L3QuNGG0LjQsNC70LjQt9C40YDRg9C10Lwg0LrQsNC20LTRg9GOINGB0LXQutGG0LjRjlxyXG4gICAgICAgIHF1ZXN0aW9uLlNlY3Rpb25saXN0LmZvckVhY2goc2VjdGlvbiA9PiB7XHJcblxyXG4gICAgICAgICAgLy/RgdC+0LfQtNCw0ZHQvCDQv9GD0YHRgtC+0Lkg0L7RgtCy0LXRgiDQtNC70Y8g0YHQtdC60YbQuNC4LlxyXG4gICAgICAgICAgY29uc3QgYW5zd2VyRm9yU2VjdGlvbiA9IHRoaXMuX2ludGVydmlldy5jcmVhdGVBbnN3ZXIoc2VjdGlvbi5TZWN0aW9uR3VpZCwgMSk7XHJcblxyXG4gICAgICAgICAgLy/RgtCw0LrQvtCz0L4g0LHRi9GC0Ywg0L3QtSDQtNC+0LvQttC90L4sINGN0YLQviDQvtGI0LjQsdC60LBcclxuICAgICAgICAgIGlmICghYW5zd2VyRm9yU2VjdGlvbikge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Fuc3dlciBub3QgZm91bmQnKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyDQtNC70Y8g0JLQvtC/0YDQvtGB0L7QsiBTTCDQvdGD0LbQvdC+INC/0YDQvtC/0LjRgdCw0YLRjCDQu9C+0LPQuNC60YMg0LDQu9GM0YLQtdGA0L3QsNGC0LjQsiDQuCDRgdC10LrRhtC40Lkgc3lzbmFtZSDRgdC10LrRhtC40LggKyBzeXNuYW1lINCw0LvRjNGC0LXRgNC90LDRgtC40LLRi1xyXG4gICAgICAgICAgdGhpcy5fbG9naWMuc2V0TG9naWNWYWx1ZShzZWN0aW9uLlN5c05hbWUsIE1JU1NJTkdfVkFMVUUpOyAvLyDQv9C10YDQtdC80LXQvdC90LDRjyDRgdCw0LzQvtC5INGB0LXQutGG0LjQuFxyXG5cclxuICAgICAgICAgIC8v0LvQvtCz0LjQutCwINCw0LvRjNGC0LXRgNC90LDRgtC40LIgU0wg0LLQvtC/0YDQvtGB0LBcclxuICAgICAgICAgIHF1ZXN0aW9uLkFsdGVybmF0aXZlbGlzdC5mb3JFYWNoKGFsdCA9PiB0aGlzLl9sb2dpYy5zZXRMb2dpY1ZhbHVlKGAke3NlY3Rpb24uU3lzTmFtZX0ke2FsdC5TeXNOYW1lfWAsIE1JU1NJTkdfVkFMVUUpKTtcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgLy/QuNGJ0LXRgiDQstC+0L/RgNC+0YEg0L3QsCBndWlkXHJcbiAgI2ZpbmRRdWVzdGlvbkJ5R3VpZChndWlkOiBudW1iZXIpOiBJZGJRdWVzdGlvbiB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRoaXMuI3F1ZXN0aW9uYXJ5KSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy4jcXVlc3Rpb25hcnkuUXVlc3Rpb25zLmZpbmQocSA9PiBxLlF1ZXN0aW9uR3VpZCA9PT0gZ3VpZCk7XHJcbiAgfVxyXG5cclxuICAjbmV4dEJ1dHRvbkV4cHJlc3Npb25Jc1RydWUoKTogYm9vbGVhbntcclxuICAgIGNvbnN0IGJ1dHRvbk5leHRFeHByZXNzaW9uID0gdGhpcy4jY3VycmVudFF1ZXN0aW9uLnZhbHVlPy5CdG5OZXh0RXhwcmVzc2lvbiA/PyAnJztcclxuICAgIC8v0LXRgdC70Lgg0YHQutGA0LjQv9GC0LAg0LTQu9GPINC60L3QvtC/0LrQuCDQtNCw0LvQtdC1INC90LXRgiwg0LLQtdGA0L3RkdC8IHRydWVcclxuICAgIGlmIChidXR0b25OZXh0RXhwcmVzc2lvbi50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2xvZ2ljLmV4ZWN1dGVMb2dpYyhidXR0b25OZXh0RXhwcmVzc2lvbik7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICNjYWxjdWxhdGVJbXBsaWNpdFF1ZXN0aW9uKHF1ZXN0aW9uOiBJZGJRdWVzdGlvbik6IHZvaWR7XHJcbiAgICBpZiAocXVlc3Rpb24uSW1wbGljaXQgJiYgKHF1ZXN0aW9uLlF1ZXN0aW9uVHlwZSA9PT0gUXVlc3Rpb25zVHlwZS5lcVNTIHx8IHF1ZXN0aW9uLlF1ZXN0aW9uVHlwZSA9PT0gUXVlc3Rpb25zVHlwZS5lcU1TKSApIHtcclxuICAgICAgbGV0IHF1ZXN0aW9uQW5zd2VyOiBudW1iZXIgfCBBcnJheTxudW1iZXI+O1xyXG5cclxuICAgICAgaWYgKHF1ZXN0aW9uLlF1ZXN0aW9uVHlwZSA9PT0gUXVlc3Rpb25zVHlwZS5lcVNTKSB7XHJcbiAgICAgICAgY29uc3QgYWx0ID0gcXVlc3Rpb24uQWx0ZXJuYXRpdmVsaXN0LmZpbmQoYWx0ID0+IHRoaXMuX2xvZ2ljLmV4ZWN1dGVMb2dpYyhhbHQuRW5hYmxlRXhwcmVzc2lvbikpO1xyXG4gICAgICAgIHF1ZXN0aW9uQW5zd2VyID0gISFhbHQgPyBhbHQuVmFsdWUgOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocXVlc3Rpb24uUXVlc3Rpb25UeXBlID09PSBRdWVzdGlvbnNUeXBlLmVxTVMpIHtcclxuICAgICAgICBxdWVzdGlvbkFuc3dlciA9IHF1ZXN0aW9uLkFsdGVybmF0aXZlbGlzdFxyXG4gICAgICAgICAgLmZpbHRlcihhbHQgPT4gdGhpcy5fbG9naWMuZXhlY3V0ZUxvZ2ljKGFsdC5FbmFibGVFeHByZXNzaW9uKSlcclxuICAgICAgICAgIC5tYXAoYWx0ID0+IGFsdC5WYWx1ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGFuc3dlckNoYW5nZTogQW5zd2VyQ2hhbmdlID0ge1xyXG4gICAgICAgIGd1aWQ6IHF1ZXN0aW9uLlF1ZXN0aW9uR3VpZCxcclxuICAgICAgICBpc0NvbXBsZXRlOiB0cnVlLFxyXG4gICAgICAgIGFuc3dlcjogcXVlc3Rpb25BbnN3ZXIhLFxyXG4gICAgICAgIGFkZGl0aW9uYWxBbnN3ZXJzOiB7fSxcclxuICAgICAgICBsb2dpY1ZhcnM6IHt9LFxyXG4gICAgICAgIHZpZXdlZEFsdGVybmF0aXZlVmFsdWVzOiBbXSxcclxuICAgICAgICB2aWV3ZWRTZWN0aW9uR3VpZHM6IFtdLFxyXG4gICAgICAgIGFsdGVybmF0aXZlU2VxdWVuY2VDbGlja3M6IFtdXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy51cGRhdGVBbnN3ZXIoYW5zd2VyQ2hhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -14,7 +14,8 @@ export class TpSurveyLogicService {
|
|
|
14
14
|
}
|
|
15
15
|
executeLogic(expression) {
|
|
16
16
|
try {
|
|
17
|
-
|
|
17
|
+
const textExpression = typeof expression !== 'string' ? '' : expression.trim();
|
|
18
|
+
return !textExpression ? true : new Function(`${LOGIC_FUNC_TEXT} return ${textExpression}`).call(this.#vars);
|
|
18
19
|
}
|
|
19
20
|
catch (e) {
|
|
20
21
|
return false;
|
|
@@ -22,10 +23,8 @@ export class TpSurveyLogicService {
|
|
|
22
23
|
}
|
|
23
24
|
executePostScript(expression) {
|
|
24
25
|
try {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
new Function(`${LOGIC_FUNC_TEXT} ${expression}`).call(this.#vars);
|
|
26
|
+
const textExpression = typeof expression !== 'string' ? '' : expression.trim();
|
|
27
|
+
new Function(`${LOGIC_FUNC_TEXT} ${textExpression}`).call(this.#vars);
|
|
29
28
|
}
|
|
30
29
|
catch (e) {
|
|
31
30
|
console.log(e);
|
|
@@ -40,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
40
39
|
providedIn: 'root'
|
|
41
40
|
}]
|
|
42
41
|
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAuc3VydmV5LmxvZ2ljLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cC5zdXJ2ZXkvc3JjL2xpYi9jb3JlL3RwLnN1cnZleS5sb2dpYy90cC5zdXJ2ZXkubG9naWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNdEQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixLQUFLLEdBQWdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZSxFQUFFLEtBQVU7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFtQjtRQUM5QixJQUFJLENBQUM7WUFDSCxNQUFNLGNBQWMsR0FBRyxPQUFPLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQy9FLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUUsSUFBSSxRQUFRLENBQUMsR0FBRyxlQUFlLFdBQVcsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFVBQW1CO1FBQ25DLElBQUksQ0FBQztZQUNILE1BQU0sY0FBYyxHQUFHLE9BQU8sVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDL0UsSUFBSSxRQUFRLENBQUMsR0FBRyxlQUFlLElBQUksY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQzs4R0EvQlUsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TE9HSUNfRlVOQ19URVhUfSBmcm9tICcuLi8uLi90cC5zdXJ2ZXkuY29uc3QnO1xyXG5pbXBvcnQge0xvZ2ljT2JqZWN0fSBmcm9tICcuLi8uLi90cC5zdXJ2ZXkudHlwZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcFN1cnZleUxvZ2ljU2VydmljZSB7XHJcbiAgI3ZhcnM6IExvZ2ljT2JqZWN0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcclxuXHJcbiAgZ2V0IHZhcnMoKTogb2JqZWN0IHtcclxuICAgIHJldHVybiB0aGlzLiN2YXJzO1xyXG4gIH1cclxuXHJcbiAgc2V0TG9naWNWYWx1ZSh2YXJOYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuI3ZhcnNbdmFyTmFtZV0gPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldExvZ2ljVmFycygpOiBMb2dpY09iamVjdHtcclxuICAgIHJldHVybiB7Li4udGhpcy4jdmFyc307XHJcbiAgfVxyXG5cclxuICBleGVjdXRlTG9naWMoZXhwcmVzc2lvbj86IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgdGV4dEV4cHJlc3Npb24gPSB0eXBlb2YgZXhwcmVzc2lvbiAhPT0gJ3N0cmluZycgPyAnJyA6IGV4cHJlc3Npb24udHJpbSgpO1xyXG4gICAgICByZXR1cm4gIXRleHRFeHByZXNzaW9uID8gdHJ1ZSA6ICBuZXcgRnVuY3Rpb24oYCR7TE9HSUNfRlVOQ19URVhUfSByZXR1cm4gJHt0ZXh0RXhwcmVzc2lvbn1gKS5jYWxsKHRoaXMuI3ZhcnMpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleGVjdXRlUG9zdFNjcmlwdChleHByZXNzaW9uPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCB0ZXh0RXhwcmVzc2lvbiA9IHR5cGVvZiBleHByZXNzaW9uICE9PSAnc3RyaW5nJyA/ICcnIDogZXhwcmVzc2lvbi50cmltKCk7XHJcbiAgICAgIG5ldyBGdW5jdGlvbihgJHtMT0dJQ19GVU5DX1RFWFR9ICR7dGV4dEV4cHJlc3Npb259YCkuY2FsbCh0aGlzLiN2YXJzKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -7,7 +7,7 @@ export class MultiLangObjectToHtmlPipe {
|
|
|
7
7
|
this._sanitizer = _sanitizer;
|
|
8
8
|
this._logic = _logic;
|
|
9
9
|
}
|
|
10
|
-
transform(caption, language, logicCaptions) {
|
|
10
|
+
transform(caption, language, logicCaptions, findVariable) {
|
|
11
11
|
//сначала проверим есть ли текст у которого выполняется Expression.
|
|
12
12
|
if (Array.isArray(logicCaptions)) {
|
|
13
13
|
const correctLogicCaption = logicCaptions.find(logicCaption => this._logic.executeLogic(logicCaption.Expression));
|
|
@@ -24,8 +24,16 @@ export class MultiLangObjectToHtmlPipe {
|
|
|
24
24
|
}
|
|
25
25
|
//ищем основной текс с нужным языком
|
|
26
26
|
const langObj = caption.find(capt => capt.lang === language);
|
|
27
|
-
const
|
|
28
|
-
|
|
27
|
+
const dirtyHtmlText = langObj?._SYS_CaptionHTML ?? langObj?.CaptionHtml ?? '';
|
|
28
|
+
const normalizeHtmlText = dirtyHtmlText.replace(/(q_\w{16}_A_\w{3}|q_\w{16}|v_\w{16})/gmi, sysName => {
|
|
29
|
+
const caption = !!findVariable ? findVariable(sysName) : 'unknown';
|
|
30
|
+
const newDiv = document.createElement("div");
|
|
31
|
+
newDiv.innerHTML = caption;
|
|
32
|
+
newDiv.textContent;
|
|
33
|
+
return newDiv.textContent ?? '';
|
|
34
|
+
});
|
|
35
|
+
const res = this._sanitizer.bypassSecurityTrustHtml(normalizeHtmlText);
|
|
36
|
+
return res;
|
|
29
37
|
}
|
|
30
38
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: MultiLangObjectToHtmlPipe, deps: [{ token: i1.DomSanitizer }, { token: i2.TpSurveyLogicService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
31
39
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: MultiLangObjectToHtmlPipe, isStandalone: true, name: "multiLangObjectToHtml" }); }
|
|
@@ -37,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
37
45
|
standalone: true
|
|
38
46
|
}]
|
|
39
47
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i2.TpSurveyLogicService }] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGkubGFuZy5vYmplY3QudG8uaHRtbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHAuc3VydmV5L3NyYy9saWIvcGlwZS9tdWx0aS5sYW5nLm9iamVjdC50by5odG1sL211bHRpLmxhbmcub2JqZWN0LnRvLmh0bWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7OztBQVVsRCxNQUFNLE9BQU8seUJBQXlCO0lBRXBDLFlBQTZCLFVBQXdCLEVBQW1CLE1BQTRCO1FBQXZFLGVBQVUsR0FBVixVQUFVLENBQWM7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7SUFDcEcsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFrQyxFQUFFLFFBQWdCLEVBQUUsYUFBNEMsRUFBRSxZQUFnQztRQUM1SSxtRUFBbUU7UUFDbkUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFDLENBQUM7WUFDaEMsTUFBTSxtQkFBbUIsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDbEgsTUFBTSwwQkFBMEIsR0FBRyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1lBQy9HLE1BQU0sSUFBSSxHQUFJLDBCQUEwQixFQUFFLGdCQUFnQixJQUFJLDBCQUEwQixFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFFNUcsZ0RBQWdEO1lBQ2hELElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQyxDQUFDO2dCQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkQsQ0FBQztRQUNILENBQUM7UUFFRCx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QixPQUFPLEVBQUUsQ0FBQTtRQUNYLENBQUM7UUFFRCxvQ0FBb0M7UUFDcEMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDN0QsTUFBTSxhQUFhLEdBQUksT0FBTyxFQUFFLGdCQUFnQixJQUFJLE9BQU8sRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO1FBRS9FLE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyx5Q0FBeUMsRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNuRyxNQUFNLE9BQU8sR0FBSSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNwRSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDbkIsT0FBTyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUdILE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN2RSxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7OEdBdENVLHlCQUF5Qjs0R0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUpyQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSx1QkFBdUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7SWRiTG9naWNDYXB0aW9uT2JqZWN0LCBJZGJNdWx0aWxhbmdPYmplY3R9IGZyb20gJy4uLy4uL3RwLnN1cnZleS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1RwU3VydmV5TG9naWNTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL3RwLnN1cnZleS5sb2dpYy90cC5zdXJ2ZXkubG9naWMuc2VydmljZSc7XHJcbmltcG9ydCB7VEZpbmRWYXJpYWJsZVZvaWR9IGZyb20gJy4uLy4uL3RwLnN1cnZleS50eXBlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnbXVsdGlMYW5nT2JqZWN0VG9IdG1sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdWx0aUxhbmdPYmplY3RUb0h0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIHJlYWRvbmx5IF9sb2dpYzogVHBTdXJ2ZXlMb2dpY1NlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybShjYXB0aW9uOiBBcnJheTxJZGJNdWx0aWxhbmdPYmplY3Q+LCBsYW5ndWFnZTogbnVtYmVyLCBsb2dpY0NhcHRpb25zPzogQXJyYXk8SWRiTG9naWNDYXB0aW9uT2JqZWN0PiwgZmluZFZhcmlhYmxlPzogVEZpbmRWYXJpYWJsZVZvaWQpOiBTYWZlSHRtbCB7XHJcbiAgICAvL9GB0L3QsNGH0LDQu9CwINC/0YDQvtCy0LXRgNC40Lwg0LXRgdGC0Ywg0LvQuCDRgtC10LrRgdGCINGDINC60L7RgtC+0YDQvtCz0L4g0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyBFeHByZXNzaW9uLlxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkobG9naWNDYXB0aW9ucykpe1xyXG4gICAgICBjb25zdCBjb3JyZWN0TG9naWNDYXB0aW9uID0gbG9naWNDYXB0aW9ucy5maW5kKGxvZ2ljQ2FwdGlvbiA9PiB0aGlzLl9sb2dpYy5leGVjdXRlTG9naWMobG9naWNDYXB0aW9uLkV4cHJlc3Npb24pKTtcclxuICAgICAgY29uc3QgY29ycmVjdExvZ2ljQ2FwdGlvbkxhbmdPYmogPSBjb3JyZWN0TG9naWNDYXB0aW9uPy5NdWx0aUxhbmdDYXB0aW9ucy5maW5kKGNhcHQgPT4gY2FwdC5sYW5nID09PSBsYW5ndWFnZSk7XHJcbiAgICAgIGNvbnN0IHRleHQgID0gY29ycmVjdExvZ2ljQ2FwdGlvbkxhbmdPYmo/Ll9TWVNfQ2FwdGlvbkhUTUwgPz8gY29ycmVjdExvZ2ljQ2FwdGlvbkxhbmdPYmo/LkNhcHRpb25IdG1sID8/ICcnO1xyXG5cclxuICAgICAgLy/QtdGB0LvQuCDQtdGB0YLRjCDRhdC+0YLRjCDQutCw0LrQvtC5LdGC0L4g0YLQtdC60YHRgiAtINC/0L7QutCw0LfRi9Cy0LDQtdC8INC10LPQvlxyXG4gICAgICBpZiAoKHRleHQgPz8gJycpLnRyaW0oKS5sZW5ndGggPiAwKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRleHQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy/QtdGB0LvQuCDQvtGB0L3QvtCy0L7QuSDRgtC10LrRgdGCINC90LUg0YPQutCw0LfQsNC9LCDQstGL0YXQvtC00LjQvFxyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGNhcHRpb24pKSB7XHJcbiAgICAgIHJldHVybiAnJ1xyXG4gICAgfVxyXG5cclxuICAgIC8v0LjRidC10Lwg0L7RgdC90L7QstC90L7QuSDRgtC10LrRgSDRgSDQvdGD0LbQvdGL0Lwg0Y/Qt9GL0LrQvtC8XHJcbiAgICBjb25zdCBsYW5nT2JqID0gY2FwdGlvbi5maW5kKGNhcHQgPT4gY2FwdC5sYW5nID09PSBsYW5ndWFnZSk7XHJcbiAgICBjb25zdCBkaXJ0eUh0bWxUZXh0ICA9IGxhbmdPYmo/Ll9TWVNfQ2FwdGlvbkhUTUwgPz8gbGFuZ09iaj8uQ2FwdGlvbkh0bWwgPz8gJyc7XHJcbiAgICBcclxuICAgIGNvbnN0IG5vcm1hbGl6ZUh0bWxUZXh0ID0gZGlydHlIdG1sVGV4dC5yZXBsYWNlKC8ocV9cXHd7MTZ9X0FfXFx3ezN9fHFfXFx3ezE2fXx2X1xcd3sxNn0pL2dtaSwgc3lzTmFtZSA9PiB7XHJcbiAgICAgIGNvbnN0IGNhcHRpb24gPSAgISFmaW5kVmFyaWFibGUgPyBmaW5kVmFyaWFibGUoc3lzTmFtZSkgOiAndW5rbm93bic7XHJcbiAgICAgIGNvbnN0IG5ld0RpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgICAgIG5ld0Rpdi5pbm5lckhUTUwgPSBjYXB0aW9uO1xyXG4gICAgICBuZXdEaXYudGV4dENvbnRlbnQ7XHJcbiAgICAgIHJldHVybiBuZXdEaXYudGV4dENvbnRlbnQgPz8gJyc7XHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgY29uc3QgcmVzID0gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vcm1hbGl6ZUh0bWxUZXh0KTtcclxuICAgIHJldHVybiByZXM7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAuc3VydmV5LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RwLnN1cnZleS9zcmMvbGliL3RwLnN1cnZleS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWRkaXRpb25hbEFuc3dlciwgQWRkaXRpb25hbEFuc3dlckNhcHRpb25Qb3NpdGlvbiwgQW5zd2VyVCwgTG9naWNPYmplY3QsIFN1cnZleVR5cGV9IGZyb20gJy4vdHAuc3VydmV5LnR5cGUnO1xyXG5pbXBvcnQge0FkZGl0aW9uYWxBbnN3ZXJUeXBlLCBSZXN1bHRhdGl2ZVN0YXR1cywgVmFsaWRTdGF0dXN9IGZyb20gJy4vdHAuc3VydmV5LmVudW0nO1xyXG5pbXBvcnQge0Fuc3dlcn0gZnJvbSAnLi9jb3JlL3RwLnN1cnZleS5hbnN3ZXIvdHAuc3VydmV5LmFuc3dlcic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFuc3dlckNoYW5nZXtcclxuICBndWlkOiBudW1iZXI7XHJcbiAgaXNDb21wbGV0ZTogYm9vbGVhbjtcclxuICBhbnN3ZXI6IEFuc3dlclQ7XHJcbiAgYWRkaXRpb25hbEFuc3dlcnM6IFJlY29yZDxudW1iZXIsIEFkZGl0aW9uYWxBbnN3ZXI+O1xyXG4gIGxvZ2ljVmFyczogTG9naWNPYmplY3Q7XHJcbiAgdmlld2VkQWx0ZXJuYXRpdmVWYWx1ZXM6IEFycmF5PG51bWJlcj47XHJcbiAgdmlld2VkU2VjdGlvbkd1aWRzOiBBcnJheTxudW1iZXI+O1xyXG4gIGFsdGVybmF0aXZlU2VxdWVuY2VDbGlja3M6IEFycmF5PFtudW1iZXIsIG51bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkYkJhc2VQYXJhbXNMYW5ndWFnZSB7XHJcbiAgVmFsdWU6IG51bWJlcjtcclxuICBDYXB0aW9uOiBzdHJpbmc7XHJcbiAgaXNBY3RpdmU6IGJvb2xlYW47XHJcbiAgaWNvbl9zdmdfbmFtZTogc3RyaW5nO1xyXG4gIGJhY2tfYnV0dG9uX2NhcHRpb246IHN0cmluZztcclxuICBuZXh0X2J1dHRvbl9jYXB0aW9uOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiQmFzZVBhcmFtc1JlcG9zaXRvcnlPYmplY3Qge1xyXG4gIE9yaWdpbmFsTmFtZTogc3RyaW5nO1xyXG4gIFF1ZXN0aW9uYXJ5TmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiUXVlc3Rpb25hcnlCYXNlUGFyYW1zIHtcclxuICBSZXN1bHRhdGl2ZVNjcmlwdDogc3RyaW5nO1xyXG4gIFJlc3VsdGF0aXZlU2NyaXB0VXNlcjogc3RyaW5nO1xyXG4gIFF1b3RhTGltaXREZXN0aW5hdGlvblF1ZXN0aW9uR3VpZDogbnVtYmVyO1xyXG4gIExhbmd1YWdlTGlzdDogQXJyYXk8SWRiQmFzZVBhcmFtc0xhbmd1YWdlPjtcclxuICBSZXBvc2l0b3J5TGlzdDogQXJyYXk8SWRiQmFzZVBhcmFtc1JlcG9zaXRvcnlPYmplY3Q+O1xyXG4gIEJhc2VIZWlnaHQ6IG51bWJlcjtcclxuICBCYXNlV2lkdGg6IG51bWJlcjtcclxuICBBbHRlcm5hdGl2ZU1heEFuc3dlcnNDb3VudDogbnVtYmVyO1xyXG4gIEFsdGVybmF0aXZlTWluQW5zd2Vyc0NvdW50OiBudW1iZXI7XHJcbiAgTWluSW50ZXJ2aWV3VGltZTogbnVtYmVyO1xyXG4gIE1pblRpbWVCZXR3ZWVuSW50ZXJ2aWV3OiBudW1iZXI7XHJcbiAgQWx0ZXJuYXRpdmVDb2x1bW5Db3VudDogbnVtYmVyO1xyXG4gIEZvcmNlRGVza3RvcFZpZXc6IGJvb2xlYW47XHJcbiAgU3VydmV5VGhlbWU6IHN0cmluZztcclxuICBCbG9ja1Njcm9sbFRvTmF2aWdhdGlvbjogYm9vbGVhbjtcclxuICBMb2dvOiBBcnJheTxzdHJpbmc+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkYlF1ZXN0aW9uYXJ5SW5mbyB7XHJcbiAgdXBkYXRldGltZXN0YW1wOiBEYXRlO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBxdWVzdGlvbmFyeV9ndWlkOiBudW1iZXI7XHJcbiAgY3VycmVudF93YXZlOiBudW1iZXI7XHJcbiAgc3VydmV5X29wdGlvbnM6IElkYlN1cnZleU9wdGlvbnM7XHJcbiAgbGFzdF91cGRhdGVfdGltZXN0YW1wPzogRGF0ZTtcclxuICByZXBvc2l0b3J5X3BhdGg/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiU3VydmV5T3B0aW9ucyB7XHJcbiAgYXR0ZW1wdF9saW1pdDogbnVtYmVyO1xyXG4gIHJlbG9hZF9hZnRlcl9lbmQ6IGJvb2xlYW47XHJcbiAgc2F2ZV9ub3RfcmVzdWx0OiBib29sZWFuO1xyXG4gIHN0b3BfYWZ0ZXJfcXVvdGFzX2Z1bGw6IGJvb2xlYW47XHJcbiAgYXV0aG9yaXphdGlvbl9mYWNlYm9vazogYm9vbGVhbjtcclxuICBhdXRob3JpemF0aW9uX2luc3RhZ3JhbTogYm9vbGVhbjtcclxuICBhdXRob3JpemF0aW9uX3Bhc3N3b3JkOiBib29sZWFuO1xyXG4gIGF2YWlsYWJsZV9vbl90YWJsZXQ6IGJvb2xlYW47XHJcbiAgYXZhaWxhYmxlX29uX3dlYjogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJNdWx0aWxhbmdPYmplY3Qge1xyXG4gIENhcHRpb25IdG1sOiBzdHJpbmc7XHJcbiAgbGFuZzogbnVtYmVyO1xyXG4gIF9TWVNfQ2FwdGlvbkhUTUw6IHN0cmluZztcclxuICBfU1lTX0NhcHRpb25SVEY6IHN0cmluZztcclxuICBfU1lTX2h0bWxQbGFuVGV4dD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJMb2dpY0NhcHRpb25PYmplY3Qge1xyXG4gIE11bHRpTGFuZ0NhcHRpb25zOiBBcnJheTxJZGJNdWx0aWxhbmdPYmplY3Q+O1xyXG4gIEV4cHJlc3Npb246IHN0cmluZztcclxuICBFeHByZXNzaW9uVXNlcjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkYlRwQmFja0dyb3VuZCB7XHJcbiAgQ1NTc3R5bGU6IHN0cmluZztcclxuICBDb2xvcjogc3RyaW5nO1xyXG4gIEltYWdlOiBzdHJpbmc7XHJcbiAgUG9zSDogc3RyaW5nO1xyXG4gIFBvc1Y6IHN0cmluZztcclxuICBTY2FsZTogc3RyaW5nO1xyXG4gIFBlcmNlbnRTaXplOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiQWx0ZXJuYXRpdmUge1xyXG4gIEVuYWJsZUV4cHJlc3Npb246IHN0cmluZztcclxuICBFbmFibGVFeHByZXNzaW9uVXNlcjogc3RyaW5nO1xyXG4gIE11bHRpTGFuZ0NhcHRpb25zOiBBcnJheTxJZGJNdWx0aWxhbmdPYmplY3Q+O1xyXG4gIFJvdGF0aW9uOiBib29sZWFuO1xyXG4gIFN5c05hbWU6IHN0cmluZztcclxuICBhbGlhczogc3RyaW5nO1xyXG4gIFZhbHVlOiBudW1iZXI7XHJcbiAgR3JvdXBObzogbnVtYmVyO1xyXG4gIEJhY2tHcm91bmQ6IElkYlRwQmFja0dyb3VuZDtcclxuICBQdXNoQmFja2dyb3VuZDogSWRiVHBCYWNrR3JvdW5kIHwgdW5kZWZpbmVkO1xyXG4gIElzTXV0ZTogYm9vbGVhbjtcclxuICBoZWlnaHQ6IG51bWJlcjtcclxuICB3aWR0aDogbnVtYmVyO1xyXG4gIHg6IG51bWJlcjtcclxuICB5OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiTVFTZWN0aW9uSXRlbSB7XHJcbiAgQ2FwdGlvblBvc2l0aW9uOiBzdHJpbmc7XHJcbiAgQWxpYXM6IHN0cmluZztcclxuICBFbmFibGVFeHByZXNzaW9uOiBzdHJpbmc7XHJcbiAgSXNSZXF1aXJlZDogYm9vbGVhbjtcclxuICBJdGVtVHlwZTogbnVtYmVyO1xyXG4gIEl0ZW1WYWx1ZTogbnVtYmVyO1xyXG4gIE11bHRpTGFuZ0NhcHRpb25zOiBBcnJheTxJZGJNdWx0aWxhbmdPYmplY3Q+O1xyXG4gIEFkZGl0aW9uYWxBbnN3ZXJsaXN0OiBBcnJheTxhbnk+O1xyXG4gIE51bWJlck1heFZhbHVlOiBudW1iZXI7XHJcbiAgTnVtYmVyTWluVmFsdWU6IG51bWJlcjtcclxuICBOdW1iZXJPZkRlY2ltYWxQbGFjZXM6IG51bWJlcjtcclxuICBTeXNOYW1lOiBzdHJpbmc7XHJcbiAgV2VpZ2h0OiBudW1iZXI7XHJcbiAgU2VsZWN0Q29tcGFjdFZpZXc6IGJvb2xlYW47XHJcbiAgU2VsZWN0QWx0ZXJuYXRpdmVMaXN0OiBBcnJheTxhbnk+O1xyXG4gIFNlbGVjdENvbENvdW50OiBudW1iZXI7XHJcbiAgU2VsZWN0TWF4QW5zd2Vyc0NvdW50OiBudW1iZXI7XHJcbiAgU2VsZWN0TWluQW5zd2Vyc0NvdW50OiBudW1iZXI7XHJcbiAgVGV4dFJvd3NDb3VudDogbnVtYmVyO1xyXG4gIFRleHRSZWd1bGFyRXhwcmVzc2lvbjogc3RyaW5nO1xyXG4gIFBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgU2VsZWN0QW5zd2VyVmFsdWVzPzogQXJyYXk8YW55PjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJTZWN0aW9uIHtcclxuICBBbGlhczogc3RyaW5nO1xyXG4gIFN5c05hbWU6IHN0cmluZztcclxuICBSb3RhdGlvbjogYm9vbGVhbjtcclxuICBCYWNrR3JvdW5kOiBJZGJUcEJhY2tHcm91bmQ7XHJcbiAgU2VjdGlvbk51bTogbnVtYmVyO1xyXG4gIFNlY3Rpb25HdWlkOiBudW1iZXI7XHJcbiAgUmVxdWlyZUFuc3dlcjogYm9vbGVhbjtcclxuICBNUVNlY3Rpb25JdGVtczogQXJyYXk8SWRiTVFTZWN0aW9uSXRlbT47XHJcbiAgQ2FwdGlvblBvc2l0aW9uOiBzdHJpbmc7XHJcbiAgUmlnaHRCYWNrZ3JvdW5kOiBJZGJUcEJhY2tHcm91bmQ7XHJcbiAgRW5hYmxlRXhwcmVzc2lvbjogc3RyaW5nO1xyXG4gIEVuYWJsZUV4cHJlc3Npb25Vc2VyOiBzdHJpbmc7XHJcbiAgTXVsdGlMYW5nQ2FwdGlvbnM6IEFycmF5PElkYk11bHRpbGFuZ09iamVjdD47XHJcbiAgUmVxdWlyZUFsbEFuc3dlcnM6IGJvb2xlYW47XHJcbiAgTXVsdGlMYW5nUmlnaHRDYXB0aW9uczogQXJyYXk8SWRiTXVsdGlsYW5nT2JqZWN0PjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJMb2dpYyB7XHJcbiAgRGVzdGluYXRpb25RdWVzdGlvbkd1aWQ6IG51bWJlcjtcclxuICBMb2dpY1RleHQ6IHN0cmluZztcclxuICBMb2dpY1RleHRVc2VyOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiUmVnaW9uIHtcclxuICBWYWx1ZTogbnVtYmVyO1xyXG4gIFRleHQ6IHN0cmluZztcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiQWRkaXRpb25hbEFuc3dlciB7XHJcbiAgcmVhZG9ubHkgVmFsdWU6IG51bWJlcjtcclxuICByZWFkb25seSBTeXNOYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgQW5zd2VyVHlwZTogQWRkaXRpb25hbEFuc3dlclR5cGU7XHJcbiAgTXVsdGlMYW5nQ2FwdGlvbnM6IEFycmF5PElkYk11bHRpbGFuZ09iamVjdD47XHJcbiAgSXNSZXF1aXJlZDogYm9vbGVhbjtcclxuICBDYXB0aW9uUG9zaXRpb246IEFkZGl0aW9uYWxBbnN3ZXJDYXB0aW9uUG9zaXRpb247XHJcbiAgRW5hYmxlRXhwcmVzc2lvbjogc3RyaW5nO1xyXG4gIEVuYWJsZUV4cHJlc3Npb25Vc2VyOiBzdHJpbmc7XHJcbiAgVmlzaWJsZUV4cHJlc3Npb246IHN0cmluZztcclxuICBWaXNpYmxlRXhwcmVzc2lvblVzZXI6IHN0cmluZztcclxuICBUZXh0TXVsdGlsaW5lOiBib29sZWFuOyAvLyDQtNC70Y8g0YLQtdC60YHRgtC+0LLQvtCz0L4g0L/QvtC70Y8g0LzQvdC+0LPQvtGB0YLRgNC+0YfQvdGL0Lkg0LrQvtC90YLRgNC+0LtcclxuICBOdW1iZXJNaW5WYWx1ZTogbnVtYmVyIHwgbnVsbDsgIC8vINC00LvRjyDRh9C40YHQu9C+0LLQvtCz0L4g0L/QvtC70Y8g0LzQuNC90LjQvNCw0LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1XHJcbiAgTnVtYmVyTWF4VmFsdWU6IG51bWJlciB8IG51bGw7ICAvLyDQtNC70Y8g0YfQuNGB0LvQvtCy0L7Qs9C+INC/0L7Qu9GPINC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiUXVlc3Rpb24ge1xyXG4gIFF1ZXN0aW9uTnVtOiBudW1iZXI7XHJcbiAgUXVlc3Rpb25HdWlkOiBudW1iZXI7XHJcbiAgTXVsdGlMYW5nQ2FwdGlvbnM6IEFycmF5PElkYk11bHRpbGFuZ09iamVjdD47XHJcbiAgTXVsdGlMYW5nQ2FwdGlvbnNIZWxwZXI6IEFycmF5PElkYk11bHRpbGFuZ09iamVjdD47XHJcbiAgTG9naWNDYXB0aW9uc0xpc3Q6IEFycmF5PElkYkxvZ2ljQ2FwdGlvbk9iamVjdD47XHJcbiAgUXVlc3Rpb25UeXBlOiBzdHJpbmc7XHJcbiAgQWx0ZXJuYXRpdmVsaXN0OiBBcnJheTxJZGJBbHRlcm5hdGl2ZT47XHJcbiAgU2VjdGlvbmxpc3Q6IEFycmF5PElkYlNlY3Rpb24+O1xyXG4gIGxvZ2ljbGlzdDogQXJyYXk8SWRiTG9naWM+O1xyXG4gIFJlZ2lvbkxpc3Q6IEFycmF5PElkYlJlZ2lvbj47XHJcbiAgQWRkaXRpb25hbEFuc3dlcmxpc3Q6IEFycmF5PElkYkFkZGl0aW9uYWxBbnN3ZXI+O1xyXG4gIFF1ZXN0aW9uQmFja2dyb3VuZDogSWRiVHBCYWNrR3JvdW5kO1xyXG4gIFZlcnNpb246IG51bWJlcjtcclxuICBTeXNOYW1lOiBzdHJpbmc7XHJcbiAgU3lzTmFtZUFsaWFzOiBzdHJpbmc7XHJcbiAgQmVmb3JlRXhwcmVzc2lvbjogc3RyaW5nO1xyXG4gIEJlZm9yZUV4cHJlc3Npb25Vc2VyOiBzdHJpbmc7XHJcbiAgUG9zdFNjcmlwdDogc3RyaW5nO1xyXG4gIFBvc3RTY3JpcHRVc2VyOiBzdHJpbmc7XHJcbiAgU2hvd0J0bkJhY2s6IGJvb2xlYW47XHJcbiAgU2hvd0J0bk5leHQ6IGJvb2xlYW47XHJcbiAgQnRuTmV4dEV4cHJlc3Npb246IHN0cmluZztcclxuICBCdG5OZXh0RXhwcmVzc2lvblVzZXI6IHN0cmluZztcclxuICBDYXB0aW9uQWxpYXM6IHN0cmluZztcclxuICBBdWRpb0NvbnRyb2xTZWM6IG51bWJlcjtcclxuICBNaW5BbnN3ZXJUaW1lOiBudW1iZXI7XHJcbiAgVGltZURpc3BsYXk6IG51bWJlcjtcclxuICBJbXBsaWNpdDogYm9vbGVhbjsgLy/QndC10Y/QstC90YvQuSDQstC+0L/RgNC+0YEsINC+0YLQstC10YIg0LHRg9C00LXRgiDQstGL0YfQuNGB0LvRj9GC0YzRgdGPINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4LiAo0L/QvtC60LAg0Y3RgtC+INGC0L7Qu9GM0LrQviDQtNC70Y8gc3MsIG1zKVxyXG5cclxuICAvLyBvbCBxdWVzdGlvblxyXG4gIE9MTWF4Q291bnQ6IG51bWJlcjtcclxuICBPTE1pbkNvdW50OiBudW1iZXI7XHJcbiAgT0xSZWdleHA6IHN0cmluZztcclxuICBPTFR5cGVUZWw6IGJvb2xlYW47XHJcblxyXG4gIC8vIG9kIHF1ZXN0aW9uXHJcbiAgT0RNYXhWYWx1ZTogbnVtYmVyO1xyXG4gIE9ETWluVmFsdWU6IG51bWJlcjtcclxuXHJcbiAgLy8gc3MgbXNcclxuICBBbHRlcm5hdGl2ZUF1dG9TaXplOiBib29sZWFuO1xyXG4gIEFsdGVybmF0aXZlQXV0b0FycmFuZ2U6IGJvb2xlYW47XHJcbiAgQWx0ZXJuYXRpdmVNaW5BbnN3ZXJzQ291bnQ6IG51bWJlcjtcclxuICBBbHRlcm5hdGl2ZU1heEFuc3dlcnNDb3VudDogbnVtYmVyO1xyXG4gIEFsdGVybmF0aXZlQ29sdW1uQ291bnQ6IG51bWJlcjtcclxuICBBbHRlcm5hdGl2ZUhvcml6b250YWxEaXN0YW5jZTogbnVtYmVyO1xyXG4gIEFsdGVybmF0aXZlVmVydGljYWxEaXN0YW5jZTogbnVtYmVyO1xyXG4gIEFsdGVybmF0aXZlTWFyZ2luVG9wOiBudW1iZXI7XHJcbiAgQWx0ZXJuYXRpdmVNYXJnaW5MZWZ0OiBudW1iZXI7XHJcbiAgQWx0ZXJuYXRpdmVIZWlnaHQ6IG51bWJlcjtcclxuICBBbHRlcm5hdGl2ZVdpZHRoOiBudW1iZXI7XHJcbiAgQWx0ZXJuYXRpdmVUYWJsZXRGb250U2l6ZTogbnVtYmVyO1xyXG4gIFRhYmxldFZpZXdBbHRlcm5hdGl2ZUNvbHVtbkNvdW50OiBudW1iZXI7XHJcbiAgTW9iaWxlVmlld0FsdGVybmF0aXZlQ29sdW1uQ291bnQ6IG51bWJlcjtcclxuXHJcbiAgLy8gc2xcclxuICBNdWx0aVNlbGVjdDogYm9vbGVhbjtcclxuICBSZXF1aXJlQWxsQW5zd2VyczogYm9vbGVhbjtcclxuICBTTFNlY3Rpb25NaW5BbnN3ZXJzQ291bnQ6IG51bWJlcjtcclxuICBTTFNlY3Rpb25NYXhBbnN3ZXJzQ291bnQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJRdWVzdGlvbmFyeVF1b3RhIHtcclxuICBxdW90YV9ndWlkOiBudW1iZXI7XHJcbiAgb3Zlcl9saW1pdDogbnVtYmVyO1xyXG4gIGNvdW50X3Jlc3VsdF9pbnRlcnZpZXdfZm9yX3RoaXNfcW91dGE6IG51bWJlcjtcclxuICBsaW1pdDogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBleHByZXNzaW9uOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBJZGJRdWVzdGlvbmFyeVF1b3RhMmRPYmplY3Qge1xyXG4gIHFzOiBBcnJheTx7Z3VpZDogbnVtYmVyOyB2YWx1ZTogbnVtYmVyfT47XHJcbiAgY3F2OiBBcnJheTx7Z3VpZDogbnVtYmVyOyB2YWx1ZTogbnVtYmVyfT4gfCBudWxsO1xyXG4gIHF2ZzogbnVtYmVyO1xyXG4gIGV4cDogc3RyaW5nIHwgbnVsbDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiUXVlc3Rpb25hcnlRdW90YTJkIHtcclxuICB2bHM6IEFycmF5PElkYlF1ZXN0aW9uYXJ5UXVvdGEyZE9iamVjdD47XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGJhc2VfZ3VpZDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkYlF1ZXN0aW9uYXJ5IHtcclxuICBCYXNlUGFyYW1zOiBJZGJRdWVzdGlvbmFyeUJhc2VQYXJhbXM7XHJcbiAgSW5mbzogSWRiUXVlc3Rpb25hcnlJbmZvO1xyXG4gIFF1ZXN0aW9uczogQXJyYXk8SWRiUXVlc3Rpb24+O1xyXG4gIFF1b3RhczogQXJyYXk8SWRiUXVlc3Rpb25hcnlRdW90YT47XHJcbiAgUXVvdGFzMmQ6IEFycmF5PElkYlF1ZXN0aW9uYXJ5UXVvdGEyZE9iamVjdD47XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElRdWVzdGlvbkFuc3dlciB7XHJcbiAgU3RhcnRlZEF0OiBudW1iZXI7XHJcbiAgRmluaXNoZWRBdDogbnVtYmVyO1xyXG4gIFF1ZXN0aW9uR1VJRDogbnVtYmVyO1xyXG4gIFF1ZXN0aW9uVmVyc2lvbjogbnVtYmVyO1xyXG4gIEFuc3dlclZhbHVlOiBhbnk7XHJcbiAgQW5zd2VyQWRkaXRpb25hbDogUmVjb3JkPG51bWJlciwgQWRkaXRpb25hbEFuc3dlcj47XHJcbiAgVmlld2VkQWx0ZXJuYXRpdmVWYWx1ZXM6IEFycmF5PG51bWJlcj47XHJcbiAgVmlld2VkU2VjdGlvbkd1aWRzOiBBcnJheTxudW1iZXI+O1xyXG4gIEFsdGVybmF0aXZlU2VxdWVuY2VDbGlja3M6IEFycmF5PFtudW1iZXIsIG51bWJlcl0+XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUludGVydmlld0F1dG9TYXZlRGF0YXtcclxuICBpbnRlcnZpZXdfYXV0b19zYXZlX2lkOiBzdHJpbmc7XHJcbiAgYW5zd2VyX2xpc3Q/OiBBcnJheTxJUXVlc3Rpb25BbnN3ZXI+O1xyXG4gIGxvZ2ljX3ZhcnM/OiBBcnJheTxJSW50ZXJ2aWV3TG9naWNWYXI+O1xyXG4gIHF1ZXN0aW9uX2d1aWQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUN1cnJlbnRRdWVzdGlvbkFuc3dlciB7XHJcbiAgcXVlc3Rpb24/OiBBbnN3ZXI7XHJcbiAgc2VjdGlvbnM/OiBBcnJheTxBbnN3ZXIgfCB1bmRlZmluZWQ+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElJbnRlcnZpZXdMb2dpY1ZhciB7XHJcbiAgbm06IHN0cmluZzsgICAvL25hbWVcclxuICB2bDogYW55OyAgICAgIC8vdmxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW50ZXJ2aWV3QWRkaXRpb25hbEluZm97XHJcbiAgUXVlc3Rpb25hcnlVcGRhdGVUaW1lc3RhbXA6IG51bWJlciB8IG51bGw7XHJcbiAgc3VydmV5VHlwZT86IFN1cnZleVR5cGU7XHJcbiAgcGhvbmVOdW1iZXI/OiBzdHJpbmc7XHJcbiAgY2F0aUludGVydmlld2VySWQ/OiBzdHJpbmc7XHJcbiAgcmVmZXJyZXI/OiBzdHJpbmc7XHJcbiAgdHJhY2tJZD86IHN0cmluZztcclxuICBpbnRlcnZpZXdBdXRvU2F2ZUlkPzogc3RyaW5nO1xyXG4gIGxhc3RfYXV0b3NhdmVfcXVlc3Rpb25fZ3VpZD86IG51bWJlcjtcclxuICBjbGllbnRJcD86IHN0cmluZztcclxuICBjbGllbnRIZWFkZXJzPzoge1xyXG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xyXG4gIH07XHJcbiAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW50ZXJ2aWV3RGF0YSB7XHJcbiAgTGFuZ3VhZ2U6IG51bWJlcjtcclxuICBTcG90SWQ6IG51bWJlcjtcclxuICBEZXZpY2VJZDogbnVtYmVyO1xyXG4gIERldmljZVR5cGU6IG51bWJlcjtcclxuICBSZXN1bHRhdGl2ZTogUmVzdWx0YXRpdmVTdGF0dXM7XHJcbiAgVmFsaWQ6IFZhbGlkU3RhdHVzO1xyXG4gIFdhdmU6IG51bWJlcjtcclxuICBRdWVzdGlvbmFyeU5hbWU6IHN0cmluZztcclxuICBRdWVzdGlvbmFyeUd1aWQ6IG51bWJlcjtcclxuICBTdGFydGVkQXQ6IG51bWJlcjtcclxuICBGaW5pc2hlZEF0OiBudW1iZXI7XHJcbiAgVGluZVpvbmVCaWFzOiBudW1iZXI7XHJcbiAgUmVzdWx0YXREaXJ0eTogYm9vbGVhbjtcclxuICBBbnN3ZXJzOiB7QW5zdmVyc0xpc3Q6IEFycmF5PGFueT59O1xyXG4gIGFkZGl0aW9uYWxfaW5mbzogSUludGVydmlld0FkZGl0aW9uYWxJbmZvO1xyXG4gIFJlc3VsdFF1b3RhR3VpZHM/OiBBcnJheTx7IGJhc2VfZ3VpZDogbnVtYmVyOyByZXN1bHQ6IGJvb2xlYW4gfT47XHJcbiAgUmVzdWx0UXVvdGEyZEd1aWRzPzogQXJyYXk8YW55PjtcclxuICBMb2dpY1ZhcnM6IEFycmF5PElJbnRlcnZpZXdMb2dpY1Zhcj47XHJcbiAgVW5pcXVlRGV2aWNlVGV4dD86IHN0cmluZztcclxuICBTcG90R3VpZD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW50ZXJ2aWV3UHJvZ3Jlc3NFdmVudERhdGF7XHJcbiAgbG9naWNWYXJzOiBMb2dpY09iamVjdDtcclxuICBhbnN3ZXJMaXN0OiBBcnJheTxBbnN3ZXI+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElJbnRlcnZpZXdQcm9ncmVzc0V2ZW50IHtcclxuICBjdXJyZW50TnVtOiBudW1iZXI7XHJcbiAgcXVlc3Rpb25zQ291bnQ6IG51bWJlcjtcclxuICBxdWVzdGlvbkd1aWQ6IG51bWJlcjtcclxuICBpbnRlcnZpZXdEYXRhOiBJSW50ZXJ2aWV3UHJvZ3Jlc3NFdmVudERhdGFcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIElJbnRlcnZpZXdTdGFydGVkRXZlbnQge1xyXG4gIHF1ZXN0aW9uYXJ5OiBJZGJRdWVzdGlvbmFyeTtcclxufVxyXG4iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAuc3VydmV5LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RwLnN1cnZleS9zcmMvbGliL3RwLnN1cnZleS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWRkaXRpb25hbEFuc3dlciwgQWRkaXRpb25hbEFuc3dlckNhcHRpb25Qb3NpdGlvbiwgQW5zd2VyVCwgTG9naWNPYmplY3QsIFN1cnZleVR5cGV9IGZyb20gJy4vdHAuc3VydmV5LnR5cGUnO1xyXG5pbXBvcnQge0FkZGl0aW9uYWxBbnN3ZXJUeXBlLCBSZXN1bHRhdGl2ZVN0YXR1cywgVmFsaWRTdGF0dXN9IGZyb20gJy4vdHAuc3VydmV5LmVudW0nO1xyXG5pbXBvcnQge0Fuc3dlcn0gZnJvbSAnLi9jb3JlL3RwLnN1cnZleS5hbnN3ZXIvdHAuc3VydmV5LmFuc3dlcic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFuc3dlckNoYW5nZXtcclxuICBndWlkOiBudW1iZXI7XHJcbiAgaXNDb21wbGV0ZTogYm9vbGVhbjtcclxuICBhbnN3ZXI6IEFuc3dlclQ7XHJcbiAgYWRkaXRpb25hbEFuc3dlcnM6IFJlY29yZDxudW1iZXIsIEFkZGl0aW9uYWxBbnN3ZXI+O1xyXG4gIGxvZ2ljVmFyczogTG9naWNPYmplY3Q7XHJcbiAgdmlld2VkQWx0ZXJuYXRpdmVWYWx1ZXM6IEFycmF5PG51bWJlcj47XHJcbiAgdmlld2VkU2VjdGlvbkd1aWRzOiBBcnJheTxudW1iZXI+O1xyXG4gIGFsdGVybmF0aXZlU2VxdWVuY2VDbGlja3M6IEFycmF5PFtudW1iZXIsIG51bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkYkJhc2VQYXJhbXNMYW5ndWFnZSB7XHJcbiAgVmFsdWU6IG51bWJlcjtcclxuICBDYXB0aW9uOiBzdHJpbmc7XHJcbiAgaXNBY3RpdmU6IGJvb2xlYW47XHJcbiAgaWNvbl9zdmdfbmFtZTogc3RyaW5nO1xyXG4gIGJhY2tfYnV0dG9uX2NhcHRpb246IHN0cmluZztcclxuICBuZXh0X2J1dHRvbl9jYXB0aW9uOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiQmFzZVBhcmFtc1JlcG9zaXRvcnlPYmplY3Qge1xyXG4gIE9yaWdpbmFsTmFtZTogc3RyaW5nO1xyXG4gIFF1ZXN0aW9uYXJ5TmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiUXVlc3Rpb25hcnlCYXNlUGFyYW1zIHtcclxuICBSZXN1bHRhdGl2ZVNjcmlwdDogc3RyaW5nO1xyXG4gIFJlc3VsdGF0aXZlU2NyaXB0VXNlcjogc3RyaW5nO1xyXG4gIFF1b3RhTGltaXREZXN0aW5hdGlvblF1ZXN0aW9uR3VpZDogbnVtYmVyO1xyXG4gIExhbmd1YWdlTGlzdDogQXJyYXk8SWRiQmFzZVBhcmFtc0xhbmd1YWdlPjtcclxuICBSZXBvc2l0b3J5TGlzdDogQXJyYXk8SWRiQmFzZVBhcmFtc1JlcG9zaXRvcnlPYmplY3Q+O1xyXG4gIEJhc2VIZWlnaHQ6IG51bWJlcjtcclxuICBCYXNlV2lkdGg6IG51bWJlcjtcclxuICBBbHRlcm5hdGl2ZU1heEFuc3dlcnNDb3VudDogbnVtYmVyO1xyXG4gIEFsdGVybmF0aXZlTWluQW5zd2Vyc0NvdW50OiBudW1iZXI7XHJcbiAgTWluSW50ZXJ2aWV3VGltZTogbnVtYmVyO1xyXG4gIE1pblRpbWVCZXR3ZWVuSW50ZXJ2aWV3OiBudW1iZXI7XHJcbiAgQWx0ZXJuYXRpdmVDb2x1bW5Db3VudDogbnVtYmVyO1xyXG4gIEZvcmNlRGVza3RvcFZpZXc6IGJvb2xlYW47XHJcbiAgU3VydmV5VGhlbWU6IHN0cmluZztcclxuICBCbG9ja1Njcm9sbFRvTmF2aWdhdGlvbjogYm9vbGVhbjtcclxuICBMb2dvOiBBcnJheTxzdHJpbmc+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkYlF1ZXN0aW9uYXJ5SW5mbyB7XHJcbiAgdXBkYXRldGltZXN0YW1wOiBEYXRlO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBxdWVzdGlvbmFyeV9ndWlkOiBudW1iZXI7XHJcbiAgY3VycmVudF93YXZlOiBudW1iZXI7XHJcbiAgc3VydmV5X29wdGlvbnM6IElkYlN1cnZleU9wdGlvbnM7XHJcbiAgbGFzdF91cGRhdGVfdGltZXN0YW1wPzogRGF0ZTtcclxuICByZXBvc2l0b3J5X3BhdGg/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiU3VydmV5T3B0aW9ucyB7XHJcbiAgYXR0ZW1wdF9saW1pdDogbnVtYmVyO1xyXG4gIHJlbG9hZF9hZnRlcl9lbmQ6IGJvb2xlYW47XHJcbiAgc2F2ZV9ub3RfcmVzdWx0OiBib29sZWFuO1xyXG4gIHN0b3BfYWZ0ZXJfcXVvdGFzX2Z1bGw6IGJvb2xlYW47XHJcbiAgYXV0aG9yaXphdGlvbl9mYWNlYm9vazogYm9vbGVhbjtcclxuICBhdXRob3JpemF0aW9uX2luc3RhZ3JhbTogYm9vbGVhbjtcclxuICBhdXRob3JpemF0aW9uX3Bhc3N3b3JkOiBib29sZWFuO1xyXG4gIGF2YWlsYWJsZV9vbl90YWJsZXQ6IGJvb2xlYW47XHJcbiAgYXZhaWxhYmxlX29uX3dlYjogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJNdWx0aWxhbmdPYmplY3Qge1xyXG4gIENhcHRpb25IdG1sOiBzdHJpbmc7XHJcbiAgbGFuZzogbnVtYmVyO1xyXG4gIF9TWVNfQ2FwdGlvbkhUTUw6IHN0cmluZztcclxuICBfU1lTX0NhcHRpb25SVEY6IHN0cmluZztcclxuICBfU1lTX2h0bWxQbGFuVGV4dD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJMb2dpY0NhcHRpb25PYmplY3Qge1xyXG4gIE11bHRpTGFuZ0NhcHRpb25zOiBBcnJheTxJZGJNdWx0aWxhbmdPYmplY3Q+O1xyXG4gIEV4cHJlc3Npb246IHN0cmluZztcclxuICBFeHByZXNzaW9uVXNlcjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkYlRwQmFja0dyb3VuZCB7XHJcbiAgQ1NTc3R5bGU6IHN0cmluZztcclxuICBDb2xvcjogc3RyaW5nO1xyXG4gIEltYWdlOiBzdHJpbmc7XHJcbiAgUG9zSDogc3RyaW5nO1xyXG4gIFBvc1Y6IHN0cmluZztcclxuICBTY2FsZTogc3RyaW5nO1xyXG4gIFBlcmNlbnRTaXplOiBudW1iZXI7XHJcbiAgSW1hZ2VIZWlnaHQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJBbHRlcm5hdGl2ZSB7XHJcbiAgRW5hYmxlRXhwcmVzc2lvbjogc3RyaW5nO1xyXG4gIEVuYWJsZUV4cHJlc3Npb25Vc2VyOiBzdHJpbmc7XHJcbiAgTXVsdGlMYW5nQ2FwdGlvbnM6IEFycmF5PElkYk11bHRpbGFuZ09iamVjdD47XHJcbiAgUm90YXRpb246IGJvb2xlYW47XHJcbiAgU3lzTmFtZTogc3RyaW5nO1xyXG4gIGFsaWFzOiBzdHJpbmc7XHJcbiAgVmFsdWU6IG51bWJlcjtcclxuICBHcm91cE5vOiBudW1iZXI7XHJcbiAgQmFja0dyb3VuZDogSWRiVHBCYWNrR3JvdW5kO1xyXG4gIFB1c2hCYWNrZ3JvdW5kOiBJZGJUcEJhY2tHcm91bmQgfCB1bmRlZmluZWQ7XHJcbiAgSXNNdXRlOiBib29sZWFuO1xyXG4gIGhlaWdodDogbnVtYmVyO1xyXG4gIHdpZHRoOiBudW1iZXI7XHJcbiAgeDogbnVtYmVyO1xyXG4gIHk6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJNUVNlY3Rpb25JdGVtIHtcclxuICBDYXB0aW9uUG9zaXRpb246IHN0cmluZztcclxuICBBbGlhczogc3RyaW5nO1xyXG4gIEVuYWJsZUV4cHJlc3Npb246IHN0cmluZztcclxuICBJc1JlcXVpcmVkOiBib29sZWFuO1xyXG4gIEl0ZW1UeXBlOiBudW1iZXI7XHJcbiAgSXRlbVZhbHVlOiBudW1iZXI7XHJcbiAgTXVsdGlMYW5nQ2FwdGlvbnM6IEFycmF5PElkYk11bHRpbGFuZ09iamVjdD47XHJcbiAgQWRkaXRpb25hbEFuc3dlcmxpc3Q6IEFycmF5PGFueT47XHJcbiAgTnVtYmVyTWF4VmFsdWU6IG51bWJlcjtcclxuICBOdW1iZXJNaW5WYWx1ZTogbnVtYmVyO1xyXG4gIE51bWJlck9mRGVjaW1hbFBsYWNlczogbnVtYmVyO1xyXG4gIFN5c05hbWU6IHN0cmluZztcclxuICBXZWlnaHQ6IG51bWJlcjtcclxuICBTZWxlY3RDb21wYWN0VmlldzogYm9vbGVhbjtcclxuICBTZWxlY3RBbHRlcm5hdGl2ZUxpc3Q6IEFycmF5PGFueT47XHJcbiAgU2VsZWN0Q29sQ291bnQ6IG51bWJlcjtcclxuICBTZWxlY3RNYXhBbnN3ZXJzQ291bnQ6IG51bWJlcjtcclxuICBTZWxlY3RNaW5BbnN3ZXJzQ291bnQ6IG51bWJlcjtcclxuICBUZXh0Um93c0NvdW50OiBudW1iZXI7XHJcbiAgVGV4dFJlZ3VsYXJFeHByZXNzaW9uOiBzdHJpbmc7XHJcbiAgUGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBTZWxlY3RBbnN3ZXJWYWx1ZXM/OiBBcnJheTxhbnk+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkYlNlY3Rpb24ge1xyXG4gIEFsaWFzOiBzdHJpbmc7XHJcbiAgU3lzTmFtZTogc3RyaW5nO1xyXG4gIFJvdGF0aW9uOiBib29sZWFuO1xyXG4gIEJhY2tHcm91bmQ6IElkYlRwQmFja0dyb3VuZDtcclxuICBTZWN0aW9uTnVtOiBudW1iZXI7XHJcbiAgU2VjdGlvbkd1aWQ6IG51bWJlcjtcclxuICBSZXF1aXJlQW5zd2VyOiBib29sZWFuO1xyXG4gIE1RU2VjdGlvbkl0ZW1zOiBBcnJheTxJZGJNUVNlY3Rpb25JdGVtPjtcclxuICBDYXB0aW9uUG9zaXRpb246IHN0cmluZztcclxuICBSaWdodEJhY2tncm91bmQ6IElkYlRwQmFja0dyb3VuZDtcclxuICBFbmFibGVFeHByZXNzaW9uOiBzdHJpbmc7XHJcbiAgRW5hYmxlRXhwcmVzc2lvblVzZXI6IHN0cmluZztcclxuICBNdWx0aUxhbmdDYXB0aW9uczogQXJyYXk8SWRiTXVsdGlsYW5nT2JqZWN0PjtcclxuICBSZXF1aXJlQWxsQW5zd2VyczogYm9vbGVhbjtcclxuICBNdWx0aUxhbmdSaWdodENhcHRpb25zOiBBcnJheTxJZGJNdWx0aWxhbmdPYmplY3Q+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkYkxvZ2ljIHtcclxuICBEZXN0aW5hdGlvblF1ZXN0aW9uR3VpZDogbnVtYmVyO1xyXG4gIExvZ2ljVGV4dDogc3RyaW5nO1xyXG4gIExvZ2ljVGV4dFVzZXI6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJSZWdpb24ge1xyXG4gIFZhbHVlOiBudW1iZXI7XHJcbiAgVGV4dDogc3RyaW5nO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJBZGRpdGlvbmFsQW5zd2VyIHtcclxuICByZWFkb25seSBWYWx1ZTogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IFN5c05hbWU6IHN0cmluZztcclxuICByZWFkb25seSBBbnN3ZXJUeXBlOiBBZGRpdGlvbmFsQW5zd2VyVHlwZTtcclxuICBNdWx0aUxhbmdDYXB0aW9uczogQXJyYXk8SWRiTXVsdGlsYW5nT2JqZWN0PjtcclxuICBJc1JlcXVpcmVkOiBib29sZWFuO1xyXG4gIENhcHRpb25Qb3NpdGlvbjogQWRkaXRpb25hbEFuc3dlckNhcHRpb25Qb3NpdGlvbjtcclxuICBFbmFibGVFeHByZXNzaW9uOiBzdHJpbmc7XHJcbiAgRW5hYmxlRXhwcmVzc2lvblVzZXI6IHN0cmluZztcclxuICBWaXNpYmxlRXhwcmVzc2lvbjogc3RyaW5nO1xyXG4gIFZpc2libGVFeHByZXNzaW9uVXNlcjogc3RyaW5nO1xyXG4gIFRleHRNdWx0aWxpbmU6IGJvb2xlYW47IC8vINC00LvRjyDRgtC10LrRgdGC0L7QstC+0LPQviDQv9C+0LvRjyDQvNC90L7Qs9C+0YHRgtGA0L7Rh9C90YvQuSDQutC+0L3RgtGA0L7Qu1xyXG4gIE51bWJlck1pblZhbHVlOiBudW1iZXIgfCBudWxsOyAgLy8g0LTQu9GPINGH0LjRgdC70L7QstC+0LPQviDQv9C+0LvRjyDQvNC40L3QuNC80LDQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LVcclxuICBOdW1iZXJNYXhWYWx1ZTogbnVtYmVyIHwgbnVsbDsgIC8vINC00LvRjyDRh9C40YHQu9C+0LLQvtCz0L4g0L/QvtC70Y8g0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LVcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJRdWVzdGlvbiB7XHJcbiAgUXVlc3Rpb25OdW06IG51bWJlcjtcclxuICBRdWVzdGlvbkd1aWQ6IG51bWJlcjtcclxuICBNdWx0aUxhbmdDYXB0aW9uczogQXJyYXk8SWRiTXVsdGlsYW5nT2JqZWN0PjtcclxuICBNdWx0aUxhbmdDYXB0aW9uc0hlbHBlcjogQXJyYXk8SWRiTXVsdGlsYW5nT2JqZWN0PjtcclxuICBMb2dpY0NhcHRpb25zTGlzdDogQXJyYXk8SWRiTG9naWNDYXB0aW9uT2JqZWN0PjtcclxuICBRdWVzdGlvblR5cGU6IHN0cmluZztcclxuICBBbHRlcm5hdGl2ZWxpc3Q6IEFycmF5PElkYkFsdGVybmF0aXZlPjtcclxuICBTZWN0aW9ubGlzdDogQXJyYXk8SWRiU2VjdGlvbj47XHJcbiAgbG9naWNsaXN0OiBBcnJheTxJZGJMb2dpYz47XHJcbiAgUmVnaW9uTGlzdDogQXJyYXk8SWRiUmVnaW9uPjtcclxuICBBZGRpdGlvbmFsQW5zd2VybGlzdDogQXJyYXk8SWRiQWRkaXRpb25hbEFuc3dlcj47XHJcbiAgUXVlc3Rpb25CYWNrZ3JvdW5kOiBJZGJUcEJhY2tHcm91bmQ7XHJcbiAgVmVyc2lvbjogbnVtYmVyO1xyXG4gIFN5c05hbWU6IHN0cmluZztcclxuICBTeXNOYW1lQWxpYXM6IHN0cmluZztcclxuICBCZWZvcmVFeHByZXNzaW9uOiBzdHJpbmc7XHJcbiAgQmVmb3JlRXhwcmVzc2lvblVzZXI6IHN0cmluZztcclxuICBQb3N0U2NyaXB0OiBzdHJpbmc7XHJcbiAgUG9zdFNjcmlwdFVzZXI6IHN0cmluZztcclxuICBTaG93QnRuQmFjazogYm9vbGVhbjtcclxuICBTaG93QnRuTmV4dDogYm9vbGVhbjtcclxuICBCdG5OZXh0RXhwcmVzc2lvbjogc3RyaW5nO1xyXG4gIEJ0bk5leHRFeHByZXNzaW9uVXNlcjogc3RyaW5nO1xyXG4gIENhcHRpb25BbGlhczogc3RyaW5nO1xyXG4gIEF1ZGlvQ29udHJvbFNlYzogbnVtYmVyO1xyXG4gIE1pbkFuc3dlclRpbWU6IG51bWJlcjtcclxuICBUaW1lRGlzcGxheTogbnVtYmVyO1xyXG4gIEltcGxpY2l0OiBib29sZWFuOyAvL9Cd0LXRj9Cy0L3Ri9C5INCy0L7Qv9GA0L7RgSwg0L7RgtCy0LXRgiDQsdGD0LTQtdGCINCy0YvRh9C40YHQu9GP0YLRjNGB0Y8g0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LguICjQv9C+0LrQsCDRjdGC0L4g0YLQvtC70YzQutC+INC00LvRjyBzcywgbXMpXHJcblxyXG4gIC8vIG9sIHF1ZXN0aW9uXHJcbiAgT0xNYXhDb3VudDogbnVtYmVyO1xyXG4gIE9MTWluQ291bnQ6IG51bWJlcjtcclxuICBPTFJlZ2V4cDogc3RyaW5nO1xyXG4gIE9MVHlwZVRlbDogYm9vbGVhbjtcclxuXHJcbiAgLy8gb2QgcXVlc3Rpb25cclxuICBPRE1heFZhbHVlOiBudW1iZXI7XHJcbiAgT0RNaW5WYWx1ZTogbnVtYmVyO1xyXG5cclxuICAvLyBzcyBtc1xyXG4gIEFsdGVybmF0aXZlQXV0b1NpemU6IGJvb2xlYW47XHJcbiAgQWx0ZXJuYXRpdmVBdXRvQXJyYW5nZTogYm9vbGVhbjtcclxuICBBbHRlcm5hdGl2ZU1pbkFuc3dlcnNDb3VudDogbnVtYmVyO1xyXG4gIEFsdGVybmF0aXZlTWF4QW5zd2Vyc0NvdW50OiBudW1iZXI7XHJcbiAgQWx0ZXJuYXRpdmVDb2x1bW5Db3VudDogbnVtYmVyO1xyXG4gIEFsdGVybmF0aXZlSG9yaXpvbnRhbERpc3RhbmNlOiBudW1iZXI7XHJcbiAgQWx0ZXJuYXRpdmVWZXJ0aWNhbERpc3RhbmNlOiBudW1iZXI7XHJcbiAgQWx0ZXJuYXRpdmVNYXJnaW5Ub3A6IG51bWJlcjtcclxuICBBbHRlcm5hdGl2ZU1hcmdpbkxlZnQ6IG51bWJlcjtcclxuICBBbHRlcm5hdGl2ZUhlaWdodDogbnVtYmVyO1xyXG4gIEFsdGVybmF0aXZlV2lkdGg6IG51bWJlcjtcclxuICBBbHRlcm5hdGl2ZUJhY2tncm91bmRJbWFnZUhlaWdodDogbnVtYmVyO1xyXG4gIEFsdGVybmF0aXZlVGFibGV0Rm9udFNpemU6IG51bWJlcjtcclxuICBUYWJsZXRWaWV3QWx0ZXJuYXRpdmVDb2x1bW5Db3VudDogbnVtYmVyO1xyXG4gIE1vYmlsZVZpZXdBbHRlcm5hdGl2ZUNvbHVtbkNvdW50OiBudW1iZXI7XHJcblxyXG4gIC8vIHNsXHJcbiAgTXVsdGlTZWxlY3Q6IGJvb2xlYW47XHJcbiAgUmVxdWlyZUFsbEFuc3dlcnM6IGJvb2xlYW47XHJcbiAgU0xTZWN0aW9uTWluQW5zd2Vyc0NvdW50OiBudW1iZXI7XHJcbiAgU0xTZWN0aW9uTWF4QW5zd2Vyc0NvdW50OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiUXVlc3Rpb25hcnlRdW90YSB7XHJcbiAgcXVvdGFfZ3VpZDogbnVtYmVyO1xyXG4gIG92ZXJfbGltaXQ6IG51bWJlcjtcclxuICBjb3VudF9yZXN1bHRfaW50ZXJ2aWV3X2Zvcl90aGlzX3FvdXRhOiBudW1iZXI7XHJcbiAgbGltaXQ6IG51bWJlcjtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZXhwcmVzc2lvbjogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRiUXVlc3Rpb25hcnlRdW90YTJkT2JqZWN0IHtcclxuICBxczogQXJyYXk8e2d1aWQ6IG51bWJlcjsgdmFsdWU6IG51bWJlcn0+O1xyXG4gIGNxdjogQXJyYXk8e2d1aWQ6IG51bWJlcjsgdmFsdWU6IG51bWJlcn0+IHwgbnVsbDtcclxuICBxdmc6IG51bWJlcjtcclxuICBleHA6IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkYlF1ZXN0aW9uYXJ5UXVvdGEyZCB7XHJcbiAgdmxzOiBBcnJheTxJZGJRdWVzdGlvbmFyeVF1b3RhMmRPYmplY3Q+O1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBiYXNlX2d1aWQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZGJRdWVzdGlvbmFyeSB7XHJcbiAgQmFzZVBhcmFtczogSWRiUXVlc3Rpb25hcnlCYXNlUGFyYW1zO1xyXG4gIEluZm86IElkYlF1ZXN0aW9uYXJ5SW5mbztcclxuICBRdWVzdGlvbnM6IEFycmF5PElkYlF1ZXN0aW9uPjtcclxuICBRdW90YXM6IEFycmF5PElkYlF1ZXN0aW9uYXJ5UXVvdGE+O1xyXG4gIFF1b3RhczJkOiBBcnJheTxJZGJRdWVzdGlvbmFyeVF1b3RhMmRPYmplY3Q+O1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUXVlc3Rpb25BbnN3ZXIge1xyXG4gIFN0YXJ0ZWRBdDogbnVtYmVyO1xyXG4gIEZpbmlzaGVkQXQ6IG51bWJlcjtcclxuICBRdWVzdGlvbkdVSUQ6IG51bWJlcjtcclxuICBRdWVzdGlvblZlcnNpb246IG51bWJlcjtcclxuICBBbnN3ZXJWYWx1ZTogYW55O1xyXG4gIEFuc3dlckFkZGl0aW9uYWw6IFJlY29yZDxudW1iZXIsIEFkZGl0aW9uYWxBbnN3ZXI+O1xyXG4gIFZpZXdlZEFsdGVybmF0aXZlVmFsdWVzOiBBcnJheTxudW1iZXI+O1xyXG4gIFZpZXdlZFNlY3Rpb25HdWlkczogQXJyYXk8bnVtYmVyPjtcclxuICBBbHRlcm5hdGl2ZVNlcXVlbmNlQ2xpY2tzOiBBcnJheTxbbnVtYmVyLCBudW1iZXJdPlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElJbnRlcnZpZXdBdXRvU2F2ZURhdGF7XHJcbiAgaW50ZXJ2aWV3X2F1dG9fc2F2ZV9pZDogc3RyaW5nO1xyXG4gIGFuc3dlcl9saXN0PzogQXJyYXk8SVF1ZXN0aW9uQW5zd2VyPjtcclxuICBsb2dpY192YXJzPzogQXJyYXk8SUludGVydmlld0xvZ2ljVmFyPjtcclxuICBxdWVzdGlvbl9ndWlkPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDdXJyZW50UXVlc3Rpb25BbnN3ZXIge1xyXG4gIHF1ZXN0aW9uPzogQW5zd2VyO1xyXG4gIHNlY3Rpb25zPzogQXJyYXk8QW5zd2VyIHwgdW5kZWZpbmVkPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW50ZXJ2aWV3TG9naWNWYXIge1xyXG4gIG5tOiBzdHJpbmc7ICAgLy9uYW1lXHJcbiAgdmw6IGFueTsgICAgICAvL3ZsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUludGVydmlld0FkZGl0aW9uYWxJbmZve1xyXG4gIFF1ZXN0aW9uYXJ5VXBkYXRlVGltZXN0YW1wOiBudW1iZXIgfCBudWxsO1xyXG4gIHN1cnZleVR5cGU/OiBTdXJ2ZXlUeXBlO1xyXG4gIHBob25lTnVtYmVyPzogc3RyaW5nO1xyXG4gIGNhdGlJbnRlcnZpZXdlcklkPzogc3RyaW5nO1xyXG4gIHJlZmVycmVyPzogc3RyaW5nO1xyXG4gIHRyYWNrSWQ/OiBzdHJpbmc7XHJcbiAgaW50ZXJ2aWV3QXV0b1NhdmVJZD86IHN0cmluZztcclxuICBsYXN0X2F1dG9zYXZlX3F1ZXN0aW9uX2d1aWQ/OiBudW1iZXI7XHJcbiAgY2xpZW50SXA/OiBzdHJpbmc7XHJcbiAgY2xpZW50SGVhZGVycz86IHtcclxuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcclxuICB9O1xyXG4gIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUludGVydmlld0RhdGEge1xyXG4gIExhbmd1YWdlOiBudW1iZXI7XHJcbiAgU3BvdElkOiBudW1iZXI7XHJcbiAgRGV2aWNlSWQ6IG51bWJlcjtcclxuICBEZXZpY2VUeXBlOiBudW1iZXI7XHJcbiAgUmVzdWx0YXRpdmU6IFJlc3VsdGF0aXZlU3RhdHVzO1xyXG4gIFZhbGlkOiBWYWxpZFN0YXR1cztcclxuICBXYXZlOiBudW1iZXI7XHJcbiAgUXVlc3Rpb25hcnlOYW1lOiBzdHJpbmc7XHJcbiAgUXVlc3Rpb25hcnlHdWlkOiBudW1iZXI7XHJcbiAgU3RhcnRlZEF0OiBudW1iZXI7XHJcbiAgRmluaXNoZWRBdDogbnVtYmVyO1xyXG4gIFRpbmVab25lQmlhczogbnVtYmVyO1xyXG4gIFJlc3VsdGF0RGlydHk6IGJvb2xlYW47XHJcbiAgQW5zd2Vyczoge0Fuc3ZlcnNMaXN0OiBBcnJheTxhbnk+fTtcclxuICBhZGRpdGlvbmFsX2luZm86IElJbnRlcnZpZXdBZGRpdGlvbmFsSW5mbztcclxuICBSZXN1bHRRdW90YUd1aWRzPzogQXJyYXk8eyBiYXNlX2d1aWQ6IG51bWJlcjsgcmVzdWx0OiBib29sZWFuIH0+O1xyXG4gIFJlc3VsdFF1b3RhMmRHdWlkcz86IEFycmF5PGFueT47XHJcbiAgTG9naWNWYXJzOiBBcnJheTxJSW50ZXJ2aWV3TG9naWNWYXI+O1xyXG4gIFVuaXF1ZURldmljZVRleHQ/OiBzdHJpbmc7XHJcbiAgU3BvdEd1aWQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUludGVydmlld1Byb2dyZXNzRXZlbnREYXRhe1xyXG4gIGxvZ2ljVmFyczogTG9naWNPYmplY3Q7XHJcbiAgYW5zd2VyTGlzdDogQXJyYXk8QW5zd2VyPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW50ZXJ2aWV3UHJvZ3Jlc3NFdmVudCB7XHJcbiAgY3VycmVudE51bTogbnVtYmVyO1xyXG4gIHF1ZXN0aW9uc0NvdW50OiBudW1iZXI7XHJcbiAgcXVlc3Rpb25HdWlkOiBudW1iZXI7XHJcbiAgaW50ZXJ2aWV3RGF0YTogSUludGVydmlld1Byb2dyZXNzRXZlbnREYXRhXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBJSW50ZXJ2aWV3U3RhcnRlZEV2ZW50IHtcclxuICBxdWVzdGlvbmFyeTogSWRiUXVlc3Rpb25hcnk7XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAuc3VydmV5LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90cC5zdXJ2ZXkvc3JjL2xpYi90cC5zdXJ2ZXkudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTWlzc2luZ1ZhbHVlVCA9IC05NztcclxuZXhwb3J0IHR5cGUgVHBTdXJ2ZXlQbGF0Zm9ybSA9ICdicm93c2VyJyB8ICdkZXZpY2UnO1xyXG5leHBvcnQgdHlwZSBUcFN1cnZleVN1cHBvcnRMYW5ndWFnZSA9ICd1aycgfCAnZW4nO1xyXG5leHBvcnQgdHlwZSBOYXZpZ2F0aW9uQnV0dG9uRGlyZWN0aW9uID0gJ2JhY2snIHwgJ25leHQnO1xyXG5leHBvcnQgdHlwZSBBZGRpdGlvbmFsQW5zd2VyID0gbnVtYmVyIHwgc3RyaW5nIHwgYm9vbGVhbiB8IG51bGwgfCBNaXNzaW5nVmFsdWVUO1xyXG5leHBvcnQgdHlwZSBBbnN3ZXJUID0gbnVtYmVyIHwgc3RyaW5nIHwgYm9vbGVhbiB8IG51bGwgfCBNaXNzaW5nVmFsdWVUIHwgQXJyYXk8bnVtYmVyPiB8IEFuc3dlclNsVHlwZTtcclxuZXhwb3J0IHR5cGUgQWRkaXRpb25hbEFuc3dlckNhcHRpb25Qb3NpdGlvbiA9ICdib3R0b20nIHwgJ2xlZnQnIHwgJ3JpZ2h0JyB8ICd0b3AnO1xyXG5leHBvcnQgdHlwZSBBbnN3ZXJTbFR5cGUgPSB7XHJcbiAgW2tleTogc3RyaW5nXTogQXJyYXk8bnVtYmVyPiB8IG51bWJlclxyXG59O1xyXG5leHBvcnQgdHlwZSBTdXJ2ZXlUeXBlID0gJ0NBVEknIHwgJ09OTElORSc7XHJcbmV4cG9ydCB0eXBlIFRwU3VydmV5VGhlbWUgPSAnY3lhbi1vcmFuZ2UtbGlnaHQnIHwgJ2N5YW4tb3JhbmdlLWRhcmsnIHwgJ3Jvc2UtcmVkLWxpZ2h0JyB8ICdyb3NlLXJlZC1kYXJrJyB8ICdhenVyZS1ibHVlLWxpZ2h0JyB8ICdhenVyZS1ibHVlLWRhcmsnO1xyXG5leHBvcnQgdHlwZSBMb2dpY09iamVjdCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAuc3VydmV5LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90cC5zdXJ2ZXkvc3JjL2xpYi90cC5zdXJ2ZXkudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTWlzc2luZ1ZhbHVlVCA9IC05NztcclxuZXhwb3J0IHR5cGUgVHBTdXJ2ZXlQbGF0Zm9ybSA9ICdicm93c2VyJyB8ICdkZXZpY2UnO1xyXG5leHBvcnQgdHlwZSBUcFN1cnZleVN1cHBvcnRMYW5ndWFnZSA9ICd1aycgfCAnZW4nO1xyXG5leHBvcnQgdHlwZSBOYXZpZ2F0aW9uQnV0dG9uRGlyZWN0aW9uID0gJ2JhY2snIHwgJ25leHQnO1xyXG5leHBvcnQgdHlwZSBBZGRpdGlvbmFsQW5zd2VyID0gbnVtYmVyIHwgc3RyaW5nIHwgYm9vbGVhbiB8IG51bGwgfCBNaXNzaW5nVmFsdWVUO1xyXG5leHBvcnQgdHlwZSBBbnN3ZXJUID0gbnVtYmVyIHwgc3RyaW5nIHwgYm9vbGVhbiB8IG51bGwgfCBNaXNzaW5nVmFsdWVUIHwgQXJyYXk8bnVtYmVyPiB8IEFuc3dlclNsVHlwZTtcclxuZXhwb3J0IHR5cGUgQWRkaXRpb25hbEFuc3dlckNhcHRpb25Qb3NpdGlvbiA9ICdib3R0b20nIHwgJ2xlZnQnIHwgJ3JpZ2h0JyB8ICd0b3AnO1xyXG5leHBvcnQgdHlwZSBBbnN3ZXJTbFR5cGUgPSB7XHJcbiAgW2tleTogc3RyaW5nXTogQXJyYXk8bnVtYmVyPiB8IG51bWJlclxyXG59O1xyXG5leHBvcnQgdHlwZSBTdXJ2ZXlUeXBlID0gJ0NBVEknIHwgJ09OTElORSc7XHJcbmV4cG9ydCB0eXBlIFRwU3VydmV5VGhlbWUgPSAnY3lhbi1vcmFuZ2UtbGlnaHQnIHwgJ2N5YW4tb3JhbmdlLWRhcmsnIHwgJ3Jvc2UtcmVkLWxpZ2h0JyB8ICdyb3NlLXJlZC1kYXJrJyB8ICdhenVyZS1ibHVlLWxpZ2h0JyB8ICdhenVyZS1ibHVlLWRhcmsnO1xyXG5leHBvcnQgdHlwZSBMb2dpY09iamVjdCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xyXG5leHBvcnQgdHlwZSBUVGFibGV0S2V5Ym9hcmRWaXNpYmxlU3RhdHVzID0gJ3Nob3cnIHwgJ2hpZGUnXHJcblxyXG5leHBvcnQgdHlwZSBURmluZFZhcmlhYmxlVm9pZCA9IChzeXNOYW1lOiBzdHJpbmcpID0+IHN0cmluZztcclxuIl19
|