fantasy-ngzorro 2.2.37 → 2.2.38
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/bundles/fantasy-ngzorro.umd.js +313 -222
- package/bundles/fantasy-ngzorro.umd.js.map +1 -1
- package/bundles/fantasy-ngzorro.umd.min.js +1 -1
- package/bundles/fantasy-ngzorro.umd.min.js.map +1 -1
- package/esm2015/hd-table/hd-table.component.js +234 -196
- package/esm2015/utils/hd-table-scroll.util.js +3 -2
- package/esm5/hd-table/hd-table.component.js +312 -222
- package/esm5/utils/hd-table-scroll.util.js +3 -2
- package/fantasy-ngzorro.metadata.json +1 -1
- package/fesm2015/fantasy-ngzorro.js +235 -196
- package/fesm2015/fantasy-ngzorro.js.map +1 -1
- package/fesm5/fantasy-ngzorro.js +313 -222
- package/fesm5/fantasy-ngzorro.js.map +1 -1
- package/hd-table/hd-table.component.d.ts +24 -21
- package/package.json +2 -2
- package/utils/hd-table-scroll.util.d.ts +4 -1
|
@@ -165,7 +165,8 @@ export function getTableScrollXViewportWidth(nzTable, hostClass = "hd-table-cont
|
|
|
165
165
|
return getTableViewportWidth(nzTable, hostClass);
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
168
|
-
* 无数据或列宽未超出容器时不启用横向 scroll
|
|
168
|
+
* 无数据或列宽未超出容器时不启用横向 scroll(表宽 100%、table-layout: auto)。
|
|
169
|
+
* auto 布局下单元格 max-width 不生效,固定宽列会被均摊撑开;需要锁宽的场景见 hd-table 的横向布局。
|
|
169
170
|
* @param {?} nzTable
|
|
170
171
|
* @param {?} hasData
|
|
171
172
|
* @param {?=} colWidth
|
|
@@ -274,4 +275,4 @@ export function bindNzTableHeaderBodyScrollSync(nzTable) {
|
|
|
274
275
|
body.removeEventListener("scroll", onScroll);
|
|
275
276
|
});
|
|
276
277
|
}
|
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUtc2Nyb2xsLnV0aWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mYW50YXN5LW5nem9ycm8vIiwic291cmNlcyI6WyJ1dGlscy9oZC10YWJsZS1zY3JvbGwudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUEseUNBR0M7OztJQUZDLGdDQUFXOztJQUNYLGdDQUFXOzs7TUFHUCx1QkFBdUIsR0FBRyxHQUFHOzs7Ozs7QUFFbkMsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxPQUF5QixFQUN6QixTQUFTLEdBQUcsb0JBQW9CO0lBRWhDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7UUFDekMsT0FBTyxDQUFDLENBQUM7S0FDVjs7VUFDSyxTQUFTLEdBQUcsbUJBQUEsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBZTs7VUFDakUsVUFBVSxHQUFHLG1CQUFBLFNBQVMsQ0FBQyxhQUFhLENBQ3hDLGlCQUFpQixDQUNsQixFQUFlO0lBQ2hCLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1FBQzVDLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQztLQUMvQjs7VUFDSyxPQUFPLEdBQUcsbUJBQUEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFlO0lBQ3RFLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQztLQUM1Qjs7VUFDSyxJQUFJLEdBQUcsbUJBQUEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLEVBQWU7SUFDOUQsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUU7UUFDaEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0tBQ3pCO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDOzs7OztBQUVELFNBQVMsT0FBTyxDQUFDLEtBQWE7SUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7O1VBQ0ssTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDN0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUMzQyxDQUFDOzs7Ozs7QUFHRCxTQUFTLDBCQUEwQixDQUFDLE9BQW9COztVQUNoRCxLQUFLLEdBQUcsbUJBQUEsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBZTtJQUNwRCxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDbEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO0lBQzlCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUN0QixLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7SUFDbEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO0lBQ2xDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQztJQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7VUFDM0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxXQUFXO0lBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQzs7Ozs7O0FBR0QsU0FBUyw2QkFBNkIsQ0FBQyxTQUFzQjs7VUFDckQsR0FBRyxHQUFHLG1CQUFBLEtBQUssQ0FBQyxJQUFJLENBQ3BCLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUN6RCxFQUFpQjtJQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtRQUNmLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7O1FBQ0csR0FBRyxHQUFHLENBQUM7O1FBQ1AsV0FBVyxHQUFHLEtBQUs7SUFDdkIsR0FBRyxDQUFDLE9BQU87Ozs7SUFBQyxDQUFDLEVBQUUsRUFBRSxFQUFFOztjQUNYLFFBQVEsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ2hCLEdBQUcsSUFBSSxRQUFRLENBQUM7WUFDaEIsT0FBTztTQUNSO1FBQ0QsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNuQixHQUFHLElBQUksRUFBRSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsV0FBVyxJQUFJLHVCQUF1QixDQUFDO0lBQ3JFLENBQUMsRUFBQyxDQUFDO0lBQ0gsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQy9CLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQXlCO0lBQzVELElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7UUFDekMsT0FBTyxDQUFDLENBQUM7S0FDVjs7VUFDSyxTQUFTLEdBQUcsbUJBQUEsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBZTs7VUFDakUsTUFBTSxHQUFHLG1CQUFBLEtBQUssQ0FBQyxJQUFJLENBQ3ZCLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FDeEIsMkZBQTJGLENBQzVGLENBQ0YsRUFBaUI7O1FBRWQsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNOzs7OztJQUNyQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLEdBQ3pELENBQUMsQ0FDRjs7VUFFSyxhQUFhLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDO0lBQ3BELGdEQUFnRDtJQUNoRCxJQUFJLGFBQWEsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGFBQWEsRUFBRTs7Y0FDeEMsV0FBVyxHQUFHLG1CQUFBLFNBQVMsQ0FBQyxhQUFhLENBQ3pDLHlCQUF5QixDQUMxQixFQUFlOztjQUNWLFNBQVMsR0FBRyxtQkFBQSxTQUFTLENBQUMsYUFBYSxDQUN2Qyx1QkFBdUIsQ0FDeEIsRUFBZTtRQUNoQixJQUFJLFdBQVcsRUFBRTtZQUNmLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsSUFBSSxTQUFTLEVBQUU7WUFDYixHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUM1RDtRQUNELEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0tBQy9EO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDOzs7Ozs7Ozs7QUFPRCxNQUFNLFVBQVUsNEJBQTRCLENBQzFDLE9BQXlCLEVBQ3pCLFNBQVMsR0FBRyxvQkFBb0I7SUFFaEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtRQUN6QyxPQUFPLENBQUMsQ0FBQztLQUNWOztVQUNLLFNBQVMsR0FBRyxtQkFBQSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFlOztVQUNqRSxVQUFVLEdBQ2QsQ0FBQyxtQkFBQSxTQUFTLENBQUMsYUFBYSxDQUN0Qiw0Q0FBNEMsQ0FDN0MsRUFBZSxDQUFDO1FBQ2pCLENBQUMsbUJBQUEsU0FBUyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFlLENBQUM7SUFDN0QsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUU7UUFDNUMsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDO0tBQy9CO0lBQ0QsT0FBTyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDbkQsQ0FBQzs7Ozs7Ozs7QUFHRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLE9BQXlCLEVBQ3pCLE9BQWdCLEVBQ2hCLFFBQWlCO0lBRWpCLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixPQUFPLElBQUksQ0FBQztLQUNiOztVQUNLLEtBQUssR0FDVCxRQUFRLElBQUksSUFBSSxJQUFJLFFBQVEsR0FBRyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxRQUFRO1FBQ1YsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztJQUNuQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7UUFDZCxPQUFPLElBQUksQ0FBQztLQUNiOztVQUNLLGFBQWEsR0FBRyw0QkFBNEIsQ0FBQyxPQUFPLENBQUM7SUFDM0QsSUFBSSxhQUFhLEdBQUcsQ0FBQyxFQUFFO1FBQ3JCLHdCQUF3QjtRQUN4QixPQUFPLEtBQUssR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7S0FDMUU7SUFDRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxFQUFFLEVBQUU7UUFDbkUsT0FBTyxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQ3ZDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDOzs7Ozs7QUFHRCxNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLE9BQXlCO0lBRXpCLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7S0FDckM7O1VBQ0ssRUFBRSxHQUFHLG1CQUFBLE9BQU8sRUFBTzs7UUFDckIsTUFBTSxHQUFHLENBQUMsbUJBQUEsRUFBRSxDQUFDLHdCQUF3QixFQUFlLENBQUMsSUFBSSxJQUFJOztRQUM3RCxJQUFJLEdBQ04sQ0FBQyxtQkFBQSxFQUFFLENBQUMseUJBQXlCLEVBQWUsQ0FBQztRQUM3QyxDQUFDLG1CQUFBLEVBQUUsQ0FBQyxzQkFBc0IsRUFBZSxDQUFDO1FBQzFDLElBQUk7O1VBQ0EsSUFBSSxHQUNSLEVBQUUsQ0FBQyxnQkFBZ0I7UUFDbkIsQ0FBQyxtQkFBQSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFlLENBQUM7SUFDcEQsSUFBSSxJQUFJLEVBQUU7UUFDUixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxHQUFHLG1CQUFBLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsRUFBZSxDQUFDO1NBQ2pFO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULElBQUk7Z0JBQ0YsQ0FBQyxtQkFBQSxJQUFJLENBQUMsYUFBYSxDQUNqQiw0Q0FBNEMsQ0FDN0MsRUFBZSxDQUFDO29CQUNqQixDQUFDLG1CQUFBLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsRUFBZSxDQUFDLENBQUM7U0FDMUQ7S0FDRjtJQUNELE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDMUIsQ0FBQzs7Ozs7O0FBR0QsTUFBTSxVQUFVLCtCQUErQixDQUM3QyxPQUF5Qjs7VUFFbkIsR0FBRyxHQUFHLHdCQUF3QixDQUFDLE9BQU8sQ0FBQztJQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUU7UUFDNUIsT0FBTztLQUNSO0lBQ0QsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNqRCxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztLQUM3QztBQUNILENBQUM7Ozs7Ozs7QUFNRCxNQUFNLFVBQVUsK0JBQStCLENBQzdDLE9BQXlCOztVQUVuQixHQUFHLEdBQUcsd0JBQXdCLENBQUMsT0FBTyxDQUFDO0lBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiOztVQUNLLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTTs7VUFDbkIsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJOztVQUNmLFFBQVE7OztJQUFHLEdBQUcsRUFBRTtRQUNwQixJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6QyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDckM7SUFDSCxDQUFDLENBQUE7SUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLFFBQVEsRUFBRSxDQUFDO0lBQ1g7OztJQUFPLEdBQUcsRUFBRTtRQUNWLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE56VGFibGVDb21wb25lbnQgfSBmcm9tIFwibmctem9ycm8tYW50ZC90YWJsZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhkVGFibGVTY3JvbGxDb25maWcge1xuICB4Pzogc3RyaW5nO1xuICB5Pzogc3RyaW5nO1xufVxuXG5jb25zdCBERUZBVUxUX0ZMVUlEX0NPTF9XSURUSCA9IDE1MDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRhYmxlVmlld3BvcnRXaWR0aChcbiAgbnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCxcbiAgaG9zdENsYXNzID0gXCJoZC10YWJsZS1jb250YWluZXJcIixcbik6IG51bWJlciB7XG4gIGlmICghbnpUYWJsZSB8fCAhbnpUYWJsZS50YWJsZU1haW5FbGVtZW50KSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgdGFibGVNYWluID0gbnpUYWJsZS50YWJsZU1haW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IHNjcm9sbEJvZHkgPSB0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcbiAgICBcIi5hbnQtdGFibGUtYm9keVwiLFxuICApIGFzIEhUTUxFbGVtZW50O1xuICBpZiAoc2Nyb2xsQm9keSAmJiBzY3JvbGxCb2R5LmNsaWVudFdpZHRoID4gMCkge1xuICAgIHJldHVybiBzY3JvbGxCb2R5LmNsaWVudFdpZHRoO1xuICB9XG4gIGNvbnN0IHdyYXBwZXIgPSB0YWJsZU1haW4uY2xvc2VzdChcIi5hbnQtdGFibGUtd3JhcHBlclwiKSBhcyBIVE1MRWxlbWVudDtcbiAgaWYgKHdyYXBwZXIgJiYgd3JhcHBlci5jbGllbnRXaWR0aCA+IDApIHtcbiAgICByZXR1cm4gd3JhcHBlci5jbGllbnRXaWR0aDtcbiAgfVxuICBjb25zdCBob3N0ID0gdGFibGVNYWluLmNsb3Nlc3QoYC4ke2hvc3RDbGFzc31gKSBhcyBIVE1MRWxlbWVudDtcbiAgaWYgKGhvc3QgJiYgaG9zdC5jbGllbnRXaWR0aCA+IDApIHtcbiAgICByZXR1cm4gaG9zdC5jbGllbnRXaWR0aDtcbiAgfVxuICByZXR1cm4gMDtcbn1cblxuZnVuY3Rpb24gcGFyc2VQeCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KFN0cmluZyh2YWx1ZSkucmVwbGFjZSgvcHgvaSwgXCJcIiksIDEwKTtcbiAgcmV0dXJuIE51bWJlci5pc05hTihwYXJzZWQpID8gMCA6IHBhcnNlZDtcbn1cblxuLyoqIOWFi+mahuihqOWktC/ooajkvZPmtYvph4/mnKrooqsgc2Nyb2xsIOWOi+e8qeWJjeeahOiHqueEtuWIl+WuvSAqL1xuZnVuY3Rpb24gbWVhc3VyZUVsZW1lbnROYXR1cmFsV2lkdGgoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICBjb25zdCBjbG9uZSA9IGVsZW1lbnQuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xuICBjbG9uZS5zdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIjtcbiAgY2xvbmUuc3R5bGUubGVmdCA9IFwiLTk5OTk5cHhcIjtcbiAgY2xvbmUuc3R5bGUudG9wID0gXCIwXCI7XG4gIGNsb25lLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuICBjbG9uZS5zdHlsZS53aWR0aCA9IFwibWF4LWNvbnRlbnRcIjtcbiAgY2xvbmUuc3R5bGUudGFibGVMYXlvdXQgPSBcImF1dG9cIjtcbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjbG9uZSk7XG4gIGNvbnN0IHdpZHRoID0gY2xvbmUuc2Nyb2xsV2lkdGg7XG4gIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoY2xvbmUpO1xuICByZXR1cm4gd2lkdGg7XG59XG5cbi8qKiDmsYfmgLvooajlpLQgdGgg5LiK5aOw5piO55qE5YiX5a6977yIc3R5bGUud2lkdGggLyBueldpZHRo77yJICovXG5mdW5jdGlvbiBtZWFzdXJlSGVhZGVyRGVjbGFyZWRDb2xXaWR0aCh0YWJsZU1haW46IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgY29uc3QgdGhzID0gQXJyYXkuZnJvbShcbiAgICB0YWJsZU1haW4ucXVlcnlTZWxlY3RvckFsbChcIi5hbnQtdGFibGUtdGhlYWQgPiB0ciA+IHRoXCIpLFxuICApIGFzIEhUTUxFbGVtZW50W107XG4gIGlmICghdGhzLmxlbmd0aCkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGxldCBzdW0gPSAwO1xuICBsZXQgaGFzRmx1aWRDb2wgPSBmYWxzZTtcbiAgdGhzLmZvckVhY2goKHRoKSA9PiB7XG4gICAgY29uc3QgZGVjbGFyZWQgPSBwYXJzZVB4KHRoLnN0eWxlLndpZHRoKTtcbiAgICBpZiAoZGVjbGFyZWQgPiAwKSB7XG4gICAgICBzdW0gKz0gZGVjbGFyZWQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGhhc0ZsdWlkQ29sID0gdHJ1ZTtcbiAgICBzdW0gKz0gdGguc2Nyb2xsV2lkdGggfHwgdGgub2Zmc2V0V2lkdGggfHwgREVGQVVMVF9GTFVJRF9DT0xfV0lEVEg7XG4gIH0pO1xuICByZXR1cm4gaGFzRmx1aWRDb2wgPyAwIDogc3VtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZVRhYmxlQ29sV2lkdGgobnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCk6IG51bWJlciB7XG4gIGlmICghbnpUYWJsZSB8fCAhbnpUYWJsZS50YWJsZU1haW5FbGVtZW50KSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgdGFibGVNYWluID0gbnpUYWJsZS50YWJsZU1haW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IHRhYmxlcyA9IEFycmF5LmZyb20oXG4gICAgdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBcIi5hbnQtdGFibGUtaGVhZGVyIHRhYmxlLCAuYW50LXRhYmxlLWJvZHkgdGFibGUsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyIHRhYmxlXCIsXG4gICAgKSxcbiAgKSBhcyBIVE1MRWxlbWVudFtdO1xuXG4gIGxldCBtYXggPSB0YWJsZXMucmVkdWNlKFxuICAgICh3aWR0aCwgdGFibGUpID0+IE1hdGgubWF4KHdpZHRoLCB0YWJsZS5zY3JvbGxXaWR0aCB8fCAwKSxcbiAgICAwLFxuICApO1xuXG4gIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBnZXRUYWJsZVZpZXdwb3J0V2lkdGgobnpUYWJsZSk7XG4gIC8vIOacquW8gOWQryBzY3JvbGwueCDml7booajmoLzkvJrooqvljovov5vlrrnlmajvvIxzY3JvbGxXaWR0aCDkuI3lj6/pnaDvvIzpnIDmtYvoh6rnhLbliJflrr1cbiAgaWYgKHZpZXdwb3J0V2lkdGggPD0gMCB8fCBtYXggPD0gdmlld3BvcnRXaWR0aCkge1xuICAgIGNvbnN0IGhlYWRlclRhYmxlID0gdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcIi5hbnQtdGFibGUtaGVhZGVyIHRhYmxlXCIsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBib2R5VGFibGUgPSB0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiLmFudC10YWJsZS1ib2R5IHRhYmxlXCIsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoaGVhZGVyVGFibGUpIHtcbiAgICAgIG1heCA9IE1hdGgubWF4KG1heCwgbWVhc3VyZUVsZW1lbnROYXR1cmFsV2lkdGgoaGVhZGVyVGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGJvZHlUYWJsZSkge1xuICAgICAgbWF4ID0gTWF0aC5tYXgobWF4LCBtZWFzdXJlRWxlbWVudE5hdHVyYWxXaWR0aChib2R5VGFibGUpKTtcbiAgICB9XG4gICAgbWF4ID0gTWF0aC5tYXgobWF4LCBtZWFzdXJlSGVhZGVyRGVjbGFyZWRDb2xXaWR0aCh0YWJsZU1haW4pKTtcbiAgfVxuXG4gIHJldHVybiBtYXg7XG59XG5cbi8qKlxuICog55So5LqO5Yik5pat5piv5ZCm6ZyA6KaBIHNjcm9sbC54IOeahOinhuWPo+WuveOAglxuICog5pyJ57q15ZCR5rua5Yqo5p2h5pe2IGNsaWVudFdpZHRoIOS8muWwkeS4gOaIqu+8jOiLpeebtOaOpeaLv+WOu+avlOWIl+Wuve+8jOS8muOAjOerlua7muadoeWvvOiHtOivr+W8gOaoqua7muOAje+8m1xuICog6L+Z6YeM55SoIG9mZnNldFdpZHRo77yI5ZCr5rua5Yqo5p2h5qe977yJ5L2c5Li65bGP5bmV5Y+v5bGV56S65a695bqm44CCXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZVNjcm9sbFhWaWV3cG9ydFdpZHRoKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuICBob3N0Q2xhc3MgPSBcImhkLXRhYmxlLWNvbnRhaW5lclwiLFxuKTogbnVtYmVyIHtcbiAgaWYgKCFuelRhYmxlIHx8ICFuelRhYmxlLnRhYmxlTWFpbkVsZW1lbnQpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBjb25zdCB0YWJsZU1haW4gPSBuelRhYmxlLnRhYmxlTWFpbkVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgY29uc3Qgc2Nyb2xsQm9keSA9XG4gICAgKHRhYmxlTWFpbi5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQuYW50LXRhYmxlLWJvZHlcIixcbiAgICApIGFzIEhUTUxFbGVtZW50KSB8fFxuICAgICh0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcIi5hbnQtdGFibGUtYm9keVwiKSBhcyBIVE1MRWxlbWVudCk7XG4gIGlmIChzY3JvbGxCb2R5ICYmIHNjcm9sbEJvZHkub2Zmc2V0V2lkdGggPiAwKSB7XG4gICAgcmV0dXJuIHNjcm9sbEJvZHkub2Zmc2V0V2lkdGg7XG4gIH1cbiAgcmV0dXJuIGdldFRhYmxlVmlld3BvcnRXaWR0aChuelRhYmxlLCBob3N0Q2xhc3MpO1xufVxuXG4vKiog5peg5pWw5o2u5oiW5YiX5a695pyq6LaF5Ye65a655Zmo5pe25LiN5ZCv55So5qiq5ZCRIHNjcm9sbO+8iGZsdWlk77ya6KGo5a69IDEwMCXvvIzli77pgIkv5bqP5Y+35YiX55SxIENTUyDplIHlrr3vvIkgKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXV0b1RhYmxlU2Nyb2xsKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuICBoYXNEYXRhOiBib29sZWFuLFxuICBjb2xXaWR0aD86IG51bWJlcixcbik6IEhkVGFibGVTY3JvbGxDb25maWcgfCBudWxsIHtcbiAgaWYgKCFoYXNEYXRhKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgd2lkdGggPVxuICAgIGNvbFdpZHRoICE9IG51bGwgJiYgY29sV2lkdGggPiAwXG4gICAgICA/IGNvbFdpZHRoXG4gICAgICA6IG1lYXN1cmVUYWJsZUNvbFdpZHRoKG56VGFibGUpO1xuICBpZiAod2lkdGggPD0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBnZXRUYWJsZVNjcm9sbFhWaWV3cG9ydFdpZHRoKG56VGFibGUpO1xuICBpZiAodmlld3BvcnRXaWR0aCA+IDApIHtcbiAgICAvLyDlhYHorrggMXB4IOivr+W3ru+8jOmBv+WFjeS6muWDj+e0oOWvvOiHtOivr+W8gOaoqua7mlxuICAgIHJldHVybiB3aWR0aCA+IHZpZXdwb3J0V2lkdGggKyAxID8geyB4OiBgJHtNYXRoLmNlaWwod2lkdGgpfXB4YCB9IDogbnVsbDtcbiAgfVxuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3aWR0aCA+IHdpbmRvdy5pbm5lcldpZHRoIC0gMzIpIHtcbiAgICByZXR1cm4geyB4OiBgJHtNYXRoLmNlaWwod2lkdGgpfXB4YCB9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKiog5Y+WIG5nLXpvcnJvIOWIhuS9k+ihqOWktCAvIOihqOS9k+a7muWKqOWuueWZqO+8iOWQq+iZmuaLn+a7muWKqO+8iSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE56VGFibGVTY3JvbGxFbGVtZW50cyhcbiAgbnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCxcbik6IHsgaGVhZGVyOiBIVE1MRWxlbWVudCB8IG51bGw7IGJvZHk6IEhUTUxFbGVtZW50IHwgbnVsbCB9IHtcbiAgaWYgKCFuelRhYmxlKSB7XG4gICAgcmV0dXJuIHsgaGVhZGVyOiBudWxsLCBib2R5OiBudWxsIH07XG4gIH1cbiAgY29uc3QgbnogPSBuelRhYmxlIGFzIGFueTtcbiAgbGV0IGhlYWRlciA9IChuei50YWJsZUhlYWRlck5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpIHx8IG51bGw7XG4gIGxldCBib2R5ID1cbiAgICAobnoubWl4VGFibGVCb2R5TmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHxcbiAgICAobnoudGFibGVCb2R5TmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHxcbiAgICBudWxsO1xuICBjb25zdCBtYWluID1cbiAgICBuei50YWJsZU1haW5FbGVtZW50ICYmXG4gICAgKG56LnRhYmxlTWFpbkVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gIGlmIChtYWluKSB7XG4gICAgaWYgKCFoZWFkZXIpIHtcbiAgICAgIGhlYWRlciA9IG1haW4ucXVlcnlTZWxlY3RvcihcIi5hbnQtdGFibGUtaGVhZGVyXCIpIGFzIEhUTUxFbGVtZW50O1xuICAgIH1cbiAgICBpZiAoIWJvZHkpIHtcbiAgICAgIGJvZHkgPVxuICAgICAgICAobWFpbi5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgIFwiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0LmFudC10YWJsZS1ib2R5XCIsXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnQpIHx8XG4gICAgICAgIChtYWluLnF1ZXJ5U2VsZWN0b3IoXCIuYW50LXRhYmxlLWJvZHlcIikgYXMgSFRNTEVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBoZWFkZXIsIGJvZHkgfTtcbn1cblxuLyoqIOS4gOasoeaAp+aKiuihqOS9kyBzY3JvbGxMZWZ0IOWQjOatpeWIsOihqOWktCAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN5bmNOelRhYmxlSGVhZGVyQm9keVNjcm9sbExlZnQoXG4gIG56VGFibGU6IE56VGFibGVDb21wb25lbnQsXG4pOiB2b2lkIHtcbiAgY29uc3QgZWxzID0gZ2V0TnpUYWJsZVNjcm9sbEVsZW1lbnRzKG56VGFibGUpO1xuICBpZiAoIWVscy5oZWFkZXIgfHwgIWVscy5ib2R5KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChlbHMuaGVhZGVyLnNjcm9sbExlZnQgIT09IGVscy5ib2R5LnNjcm9sbExlZnQpIHtcbiAgICBlbHMuaGVhZGVyLnNjcm9sbExlZnQgPSBlbHMuYm9keS5zY3JvbGxMZWZ0O1xuICB9XG59XG5cbi8qKlxuICog55uR5ZCs6KGo5L2T5qiq5ZCR5rua5Yqo5bm25ZCM5q2l6KGo5aS044CCXG4gKiDov5Tlm54gdW5iaW5k77ybRE9NIOacquWwsee7quaXtui/lOWbniBudWxs77yI6LCD55So5pa55Y+v6YeN6K+V77yJ44CCXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kTnpUYWJsZUhlYWRlckJvZHlTY3JvbGxTeW5jKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuKTogKCgpID0+IHZvaWQpIHwgbnVsbCB7XG4gIGNvbnN0IGVscyA9IGdldE56VGFibGVTY3JvbGxFbGVtZW50cyhuelRhYmxlKTtcbiAgaWYgKCFlbHMuaGVhZGVyIHx8ICFlbHMuYm9keSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGhlYWRlciA9IGVscy5oZWFkZXI7XG4gIGNvbnN0IGJvZHkgPSBlbHMuYm9keTtcbiAgY29uc3Qgb25TY3JvbGwgPSAoKSA9PiB7XG4gICAgaWYgKGhlYWRlci5zY3JvbGxMZWZ0ICE9PSBib2R5LnNjcm9sbExlZnQpIHtcbiAgICAgIGhlYWRlci5zY3JvbGxMZWZ0ID0gYm9keS5zY3JvbGxMZWZ0O1xuICAgIH1cbiAgfTtcbiAgYm9keS5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIG9uU2Nyb2xsKTtcbiAgb25TY3JvbGwoKTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgb25TY3JvbGwpO1xuICB9O1xufVxuIl19
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUtc2Nyb2xsLnV0aWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mYW50YXN5LW5nem9ycm8vIiwic291cmNlcyI6WyJ1dGlscy9oZC10YWJsZS1zY3JvbGwudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUEseUNBR0M7OztJQUZDLGdDQUFXOztJQUNYLGdDQUFXOzs7TUFHUCx1QkFBdUIsR0FBRyxHQUFHOzs7Ozs7QUFFbkMsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxPQUF5QixFQUN6QixTQUFTLEdBQUcsb0JBQW9CO0lBRWhDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7UUFDekMsT0FBTyxDQUFDLENBQUM7S0FDVjs7VUFDSyxTQUFTLEdBQUcsbUJBQUEsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBZTs7VUFDakUsVUFBVSxHQUFHLG1CQUFBLFNBQVMsQ0FBQyxhQUFhLENBQ3hDLGlCQUFpQixDQUNsQixFQUFlO0lBQ2hCLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1FBQzVDLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQztLQUMvQjs7VUFDSyxPQUFPLEdBQUcsbUJBQUEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFlO0lBQ3RFLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQztLQUM1Qjs7VUFDSyxJQUFJLEdBQUcsbUJBQUEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLEVBQWU7SUFDOUQsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUU7UUFDaEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0tBQ3pCO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDOzs7OztB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QUU7UUFDakQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7S0FDN0M7QUFDSCxDQUFDOzs7Ozs7O0FBTUQsTUFBTSxVQUFVLCtCQUErQixDQUM3QyxPQUF5Qjs7VUFFbkIsR0FBRyxHQUFHLHdCQUF3QixDQUFDLE9BQU8sQ0FBQztJQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUU7UUFDNUIsT0FBTyxJQUFJLENBQUM7S0FDYjs7VUFDSyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU07O1VBQ25CLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSTs7VUFDZixRQUFROzs7SUFBRyxHQUFHLEVBQUU7UUFDcEIsSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDekMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQyxDQUFBO0lBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQyxRQUFRLEVBQUUsQ0FBQztJQUNYOzs7SUFBTyxHQUFHLEVBQUU7UUFDVixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUMsRUFBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOelRhYmxlQ29tcG9uZW50IH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvdGFibGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBIZFRhYmxlU2Nyb2xsQ29uZmlnIHtcbiAgeD86IHN0cmluZztcbiAgeT86IHN0cmluZztcbn1cblxuY29uc3QgREVGQVVMVF9GTFVJRF9DT0xfV0lEVEggPSAxNTA7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZVZpZXdwb3J0V2lkdGgoXG4gIG56VGFibGU6IE56VGFibGVDb21wb25lbnQsXG4gIGhvc3RDbGFzcyA9IFwiaGQtdGFibGUtY29udGFpbmVyXCIsXG4pOiBudW1iZXIge1xuICBpZiAoIW56VGFibGUgfHwgIW56VGFibGUudGFibGVNYWluRWxlbWVudCkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGNvbnN0IHRhYmxlTWFpbiA9IG56VGFibGUudGFibGVNYWluRWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICBjb25zdCBzY3JvbGxCb2R5ID0gdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3IoXG4gICAgXCIuYW50LXRhYmxlLWJvZHlcIixcbiAgKSBhcyBIVE1MRWxlbWVudDtcbiAgaWYgKHNjcm9sbEJvZHkgJiYgc2Nyb2xsQm9keS5jbGllbnRXaWR0aCA+IDApIHtcbiAgICByZXR1cm4gc2Nyb2xsQm9keS5jbGllbnRXaWR0aDtcbiAgfVxuICBjb25zdCB3cmFwcGVyID0gdGFibGVNYWluLmNsb3Nlc3QoXCIuYW50LXRhYmxlLXdyYXBwZXJcIikgYXMgSFRNTEVsZW1lbnQ7XG4gIGlmICh3cmFwcGVyICYmIHdyYXBwZXIuY2xpZW50V2lkdGggPiAwKSB7XG4gICAgcmV0dXJuIHdyYXBwZXIuY2xpZW50V2lkdGg7XG4gIH1cbiAgY29uc3QgaG9zdCA9IHRhYmxlTWFpbi5jbG9zZXN0KGAuJHtob3N0Q2xhc3N9YCkgYXMgSFRNTEVsZW1lbnQ7XG4gIGlmIChob3N0ICYmIGhvc3QuY2xpZW50V2lkdGggPiAwKSB7XG4gICAgcmV0dXJuIGhvc3QuY2xpZW50V2lkdGg7XG4gIH1cbiAgcmV0dXJuIDA7XG59XG5cbmZ1bmN0aW9uIHBhcnNlUHgodmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gIGlmICghdmFsdWUpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBjb25zdCBwYXJzZWQgPSBwYXJzZUludChTdHJpbmcodmFsdWUpLnJlcGxhY2UoL3B4L2ksIFwiXCIpLCAxMCk7XG4gIHJldHVybiBOdW1iZXIuaXNOYU4ocGFyc2VkKSA/IDAgOiBwYXJzZWQ7XG59XG5cbi8qKiDlhYvpmobooajlpLQv6KGo5L2T5rWL6YeP5pyq6KKrIHNjcm9sbCDljovnvKnliY3nmoToh6rnhLbliJflrr0gKi9cbmZ1bmN0aW9uIG1lYXN1cmVFbGVtZW50TmF0dXJhbFdpZHRoKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgY29uc3QgY2xvbmUgPSBlbGVtZW50LmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRWxlbWVudDtcbiAgY2xvbmUuc3R5bGUucG9zaXRpb24gPSBcImFic29sdXRlXCI7XG4gIGNsb25lLnN0eWxlLmxlZnQgPSBcIi05OTk5OXB4XCI7XG4gIGNsb25lLnN0eWxlLnRvcCA9IFwiMFwiO1xuICBjbG9uZS5zdHlsZS52aXNpYmlsaXR5ID0gXCJoaWRkZW5cIjtcbiAgY2xvbmUuc3R5bGUud2lkdGggPSBcIm1heC1jb250ZW50XCI7XG4gIGNsb25lLnN0eWxlLnRhYmxlTGF5b3V0ID0gXCJhdXRvXCI7XG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2xvbmUpO1xuICBjb25zdCB3aWR0aCA9IGNsb25lLnNjcm9sbFdpZHRoO1xuICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGNsb25lKTtcbiAgcmV0dXJuIHdpZHRoO1xufVxuXG4vKiog5rGH5oC76KGo5aS0IHRoIOS4iuWjsOaYjueahOWIl+Wuve+8iHN0eWxlLndpZHRoIC8gbnpXaWR0aO+8iSAqL1xuZnVuY3Rpb24gbWVhc3VyZUhlYWRlckRlY2xhcmVkQ29sV2lkdGgodGFibGVNYWluOiBIVE1MRWxlbWVudCk6IG51bWJlciB7XG4gIGNvbnN0IHRocyA9IEFycmF5LmZyb20oXG4gICAgdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3JBbGwoXCIuYW50LXRhYmxlLXRoZWFkID4gdHIgPiB0aFwiKSxcbiAgKSBhcyBIVE1MRWxlbWVudFtdO1xuICBpZiAoIXRocy5sZW5ndGgpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBsZXQgc3VtID0gMDtcbiAgbGV0IGhhc0ZsdWlkQ29sID0gZmFsc2U7XG4gIHRocy5mb3JFYWNoKCh0aCkgPT4ge1xuICAgIGNvbnN0IGRlY2xhcmVkID0gcGFyc2VQeCh0aC5zdHlsZS53aWR0aCk7XG4gICAgaWYgKGRlY2xhcmVkID4gMCkge1xuICAgICAgc3VtICs9IGRlY2xhcmVkO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBoYXNGbHVpZENvbCA9IHRydWU7XG4gICAgc3VtICs9IHRoLnNjcm9sbFdpZHRoIHx8IHRoLm9mZnNldFdpZHRoIHx8IERFRkFVTFRfRkxVSURfQ09MX1dJRFRIO1xuICB9KTtcbiAgcmV0dXJuIGhhc0ZsdWlkQ29sID8gMCA6IHN1bTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lYXN1cmVUYWJsZUNvbFdpZHRoKG56VGFibGU6IE56VGFibGVDb21wb25lbnQpOiBudW1iZXIge1xuICBpZiAoIW56VGFibGUgfHwgIW56VGFibGUudGFibGVNYWluRWxlbWVudCkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGNvbnN0IHRhYmxlTWFpbiA9IG56VGFibGUudGFibGVNYWluRWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICBjb25zdCB0YWJsZXMgPSBBcnJheS5mcm9tKFxuICAgIHRhYmxlTWFpbi5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgXCIuYW50LXRhYmxlLWhlYWRlciB0YWJsZSwgLmFudC10YWJsZS1ib2R5IHRhYmxlLCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlciB0YWJsZVwiLFxuICAgICksXG4gICkgYXMgSFRNTEVsZW1lbnRbXTtcblxuICBsZXQgbWF4ID0gdGFibGVzLnJlZHVjZShcbiAgICAod2lkdGgsIHRhYmxlKSA9PiBNYXRoLm1heCh3aWR0aCwgdGFibGUuc2Nyb2xsV2lkdGggfHwgMCksXG4gICAgMCxcbiAgKTtcblxuICBjb25zdCB2aWV3cG9ydFdpZHRoID0gZ2V0VGFibGVWaWV3cG9ydFdpZHRoKG56VGFibGUpO1xuICAvLyDmnKrlvIDlkK8gc2Nyb2xsLngg5pe26KGo5qC85Lya6KKr5Y6L6L+b5a655Zmo77yMc2Nyb2xsV2lkdGgg5LiN5Y+v6Z2g77yM6ZyA5rWL6Ieq54S25YiX5a69XG4gIGlmICh2aWV3cG9ydFdpZHRoIDw9IDAgfHwgbWF4IDw9IHZpZXdwb3J0V2lkdGgpIHtcbiAgICBjb25zdCBoZWFkZXJUYWJsZSA9IHRhYmxlTWFpbi5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCIuYW50LXRhYmxlLWhlYWRlciB0YWJsZVwiLFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgYm9keVRhYmxlID0gdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcIi5hbnQtdGFibGUtYm9keSB0YWJsZVwiLFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKGhlYWRlclRhYmxlKSB7XG4gICAgICBtYXggPSBNYXRoLm1heChtYXgsIG1lYXN1cmVFbGVtZW50TmF0dXJhbFdpZHRoKGhlYWRlclRhYmxlKSk7XG4gICAgfVxuICAgIGlmIChib2R5VGFibGUpIHtcbiAgICAgIG1heCA9IE1hdGgubWF4KG1heCwgbWVhc3VyZUVsZW1lbnROYXR1cmFsV2lkdGgoYm9keVRhYmxlKSk7XG4gICAgfVxuICAgIG1heCA9IE1hdGgubWF4KG1heCwgbWVhc3VyZUhlYWRlckRlY2xhcmVkQ29sV2lkdGgodGFibGVNYWluKSk7XG4gIH1cblxuICByZXR1cm4gbWF4O1xufVxuXG4vKipcbiAqIOeUqOS6juWIpOaWreaYr+WQpumcgOimgSBzY3JvbGwueCDnmoTop4blj6Plrr3jgIJcbiAqIOaciee6teWQkea7muWKqOadoeaXtiBjbGllbnRXaWR0aCDkvJrlsJHkuIDmiKrvvIzoi6Xnm7TmjqXmi7/ljrvmr5TliJflrr3vvIzkvJrjgIznq5bmu5rmnaHlr7zoh7Tor6/lvIDmqKrmu5rjgI3vvJtcbiAqIOi/memHjOeUqCBvZmZzZXRXaWR0aO+8iOWQq+a7muWKqOadoeanve+8ieS9nOS4uuWxj+W5leWPr+WxleekuuWuveW6puOAglxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGFibGVTY3JvbGxYVmlld3BvcnRXaWR0aChcbiAgbnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCxcbiAgaG9zdENsYXNzID0gXCJoZC10YWJsZS1jb250YWluZXJcIixcbik6IG51bWJlciB7XG4gIGlmICghbnpUYWJsZSB8fCAhbnpUYWJsZS50YWJsZU1haW5FbGVtZW50KSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgdGFibGVNYWluID0gbnpUYWJsZS50YWJsZU1haW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IHNjcm9sbEJvZHkgPVxuICAgICh0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0LmFudC10YWJsZS1ib2R5XCIsXG4gICAgKSBhcyBIVE1MRWxlbWVudCkgfHxcbiAgICAodGFibGVNYWluLnF1ZXJ5U2VsZWN0b3IoXCIuYW50LXRhYmxlLWJvZHlcIikgYXMgSFRNTEVsZW1lbnQpO1xuICBpZiAoc2Nyb2xsQm9keSAmJiBzY3JvbGxCb2R5Lm9mZnNldFdpZHRoID4gMCkge1xuICAgIHJldHVybiBzY3JvbGxCb2R5Lm9mZnNldFdpZHRoO1xuICB9XG4gIHJldHVybiBnZXRUYWJsZVZpZXdwb3J0V2lkdGgobnpUYWJsZSwgaG9zdENsYXNzKTtcbn1cblxuLyoqXG4gKiDml6DmlbDmja7miJbliJflrr3mnKrotoXlh7rlrrnlmajml7bkuI3lkK/nlKjmqKrlkJEgc2Nyb2xs77yI6KGo5a69IDEwMCXjgIF0YWJsZS1sYXlvdXQ6IGF1dG/vvInjgIJcbiAqIGF1dG8g5biD5bGA5LiL5Y2V5YWD5qC8IG1heC13aWR0aCDkuI3nlJ/mlYjvvIzlm7rlrprlrr3liJfkvJrooqvlnYfmkYrmkpHlvIDvvJvpnIDopoHplIHlrr3nmoTlnLrmma/op4EgaGQtdGFibGUg55qE5qiq5ZCR5biD5bGA44CCXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXV0b1RhYmxlU2Nyb2xsKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuICBoYXNEYXRhOiBib29sZWFuLFxuICBjb2xXaWR0aD86IG51bWJlcixcbik6IEhkVGFibGVTY3JvbGxDb25maWcgfCBudWxsIHtcbiAgaWYgKCFoYXNEYXRhKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgd2lkdGggPVxuICAgIGNvbFdpZHRoICE9IG51bGwgJiYgY29sV2lkdGggPiAwXG4gICAgICA/IGNvbFdpZHRoXG4gICAgICA6IG1lYXN1cmVUYWJsZUNvbFdpZHRoKG56VGFibGUpO1xuICBpZiAod2lkdGggPD0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBnZXRUYWJsZVNjcm9sbFhWaWV3cG9ydFdpZHRoKG56VGFibGUpO1xuICBpZiAodmlld3BvcnRXaWR0aCA+IDApIHtcbiAgICAvLyDlhYHorrggMXB4IOivr+W3ru+8jOmBv+WFjeS6muWDj+e0oOWvvOiHtOivr+W8gOaoqua7mlxuICAgIHJldHVybiB3aWR0aCA+IHZpZXdwb3J0V2lkdGggKyAxID8geyB4OiBgJHtNYXRoLmNlaWwod2lkdGgpfXB4YCB9IDogbnVsbDtcbiAgfVxuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3aWR0aCA+IHdpbmRvdy5pbm5lcldpZHRoIC0gMzIpIHtcbiAgICByZXR1cm4geyB4OiBgJHtNYXRoLmNlaWwod2lkdGgpfXB4YCB9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKiog5Y+WIG5nLXpvcnJvIOWIhuS9k+ihqOWktCAvIOihqOS9k+a7muWKqOWuueWZqO+8iOWQq+iZmuaLn+a7muWKqO+8iSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE56VGFibGVTY3JvbGxFbGVtZW50cyhcbiAgbnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCxcbik6IHsgaGVhZGVyOiBIVE1MRWxlbWVudCB8IG51bGw7IGJvZHk6IEhUTUxFbGVtZW50IHwgbnVsbCB9IHtcbiAgaWYgKCFuelRhYmxlKSB7XG4gICAgcmV0dXJuIHsgaGVhZGVyOiBudWxsLCBib2R5OiBudWxsIH07XG4gIH1cbiAgY29uc3QgbnogPSBuelRhYmxlIGFzIGFueTtcbiAgbGV0IGhlYWRlciA9IChuei50YWJsZUhlYWRlck5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpIHx8IG51bGw7XG4gIGxldCBib2R5ID1cbiAgICAobnoubWl4VGFibGVCb2R5TmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHxcbiAgICAobnoudGFibGVCb2R5TmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHxcbiAgICBudWxsO1xuICBjb25zdCBtYWluID1cbiAgICBuei50YWJsZU1haW5FbGVtZW50ICYmXG4gICAgKG56LnRhYmxlTWFpbkVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gIGlmIChtYWluKSB7XG4gICAgaWYgKCFoZWFkZXIpIHtcbiAgICAgIGhlYWRlciA9IG1haW4ucXVlcnlTZWxlY3RvcihcIi5hbnQtdGFibGUtaGVhZGVyXCIpIGFzIEhUTUxFbGVtZW50O1xuICAgIH1cbiAgICBpZiAoIWJvZHkpIHtcbiAgICAgIGJvZHkgPVxuICAgICAgICAobWFpbi5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgIFwiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0LmFudC10YWJsZS1ib2R5XCIsXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnQpIHx8XG4gICAgICAgIChtYWluLnF1ZXJ5U2VsZWN0b3IoXCIuYW50LXRhYmxlLWJvZHlcIikgYXMgSFRNTEVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBoZWFkZXIsIGJvZHkgfTtcbn1cblxuLyoqIOS4gOasoeaAp+aKiuihqOS9kyBzY3JvbGxMZWZ0IOWQjOatpeWIsOihqOWktCAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN5bmNOelRhYmxlSGVhZGVyQm9keVNjcm9sbExlZnQoXG4gIG56VGFibGU6IE56VGFibGVDb21wb25lbnQsXG4pOiB2b2lkIHtcbiAgY29uc3QgZWxzID0gZ2V0TnpUYWJsZVNjcm9sbEVsZW1lbnRzKG56VGFibGUpO1xuICBpZiAoIWVscy5oZWFkZXIgfHwgIWVscy5ib2R5KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChlbHMuaGVhZGVyLnNjcm9sbExlZnQgIT09IGVscy5ib2R5LnNjcm9sbExlZnQpIHtcbiAgICBlbHMuaGVhZGVyLnNjcm9sbExlZnQgPSBlbHMuYm9keS5zY3JvbGxMZWZ0O1xuICB9XG59XG5cbi8qKlxuICog55uR5ZCs6KGo5L2T5qiq5ZCR5rua5Yqo5bm25ZCM5q2l6KGo5aS044CCXG4gKiDov5Tlm54gdW5iaW5k77ybRE9NIOacquWwsee7quaXtui/lOWbniBudWxs77yI6LCD55So5pa55Y+v6YeN6K+V77yJ44CCXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kTnpUYWJsZUhlYWRlckJvZHlTY3JvbGxTeW5jKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuKTogKCgpID0+IHZvaWQpIHwgbnVsbCB7XG4gIGNvbnN0IGVscyA9IGdldE56VGFibGVTY3JvbGxFbGVtZW50cyhuelRhYmxlKTtcbiAgaWYgKCFlbHMuaGVhZGVyIHx8ICFlbHMuYm9keSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGhlYWRlciA9IGVscy5oZWFkZXI7XG4gIGNvbnN0IGJvZHkgPSBlbHMuYm9keTtcbiAgY29uc3Qgb25TY3JvbGwgPSAoKSA9PiB7XG4gICAgaWYgKGhlYWRlci5zY3JvbGxMZWZ0ICE9PSBib2R5LnNjcm9sbExlZnQpIHtcbiAgICAgIGhlYWRlci5zY3JvbGxMZWZ0ID0gYm9keS5zY3JvbGxMZWZ0O1xuICAgIH1cbiAgfTtcbiAgYm9keS5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIG9uU2Nyb2xsKTtcbiAgb25TY3JvbGwoKTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgb25TY3JvbGwpO1xuICB9O1xufVxuIl19
|