wacom 15.2.0 → 15.2.1
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.
|
@@ -300,6 +300,9 @@ export class CoreService {
|
|
|
300
300
|
to[each] = from[each];
|
|
301
301
|
}
|
|
302
302
|
else {
|
|
303
|
+
if (typeof to[each] !== 'object') {
|
|
304
|
+
to[each] = {};
|
|
305
|
+
}
|
|
303
306
|
this.copy(from[each], to[each]);
|
|
304
307
|
}
|
|
305
308
|
}
|
|
@@ -316,4 +319,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
|
|
|
316
319
|
type: Inject,
|
|
317
320
|
args: [PLATFORM_ID]
|
|
318
321
|
}] }]; } });
|
|
319
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2Fjb20vc3JjL2xpYi9zZXJ2aWNlcy9jb3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU9uRCxNQUFNLE9BQU8sV0FBVztJQVd2QixZQUF5QyxVQUFrQjtRQUFsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBVjNELFFBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUE0Ti9CLGdCQUFXLEdBQU8sRUFBRSxDQUFDO1FBc0I3QixTQUFTO1FBQ0QsT0FBRSxHQUFPLEVBQUUsQ0FBQztRQWNaLFNBQUksR0FBTyxFQUFFLENBQUM7UUEwQnRCLFVBQVU7UUFDRixjQUFTLEdBQU8sRUFBRSxDQUFDO1FBbUJuQixXQUFNLEdBQU8sRUFBRSxDQUFDO1FBcFN4QixJQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHO2dCQUNuQixPQUFPLEVBQUMsR0FBRSxFQUFFLEdBQUMsQ0FBQztnQkFDZCxPQUFPLEVBQUMsR0FBRSxFQUFFLEdBQUMsQ0FBQztnQkFDZCxVQUFVLEVBQUMsR0FBRSxFQUFFLEdBQUMsQ0FBQztnQkFDakIsS0FBSyxFQUFDLEdBQUUsRUFBRSxHQUFDLENBQUM7YUFDWixDQUFDO1lBRUYsSUFBSSxDQUFDLFFBQVEsR0FBRztnQkFDZixnQkFBZ0IsRUFBRSxHQUFFLEVBQUUsR0FBQyxDQUFDO2dCQUN4QixnQkFBZ0IsRUFBRSxHQUFFLEVBQUUsR0FBQyxDQUFDO2dCQUN4QixtQkFBbUIsRUFBRSxHQUFFLEVBQUUsR0FBQyxD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QUFLLENBQUMsRUFBRTtZQUM3QixPQUFPO1NBQ1A7UUFFRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM5QixLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN0QjthQUFNO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDMUI7UUFFRCxJQUFJLENBQUMsR0FBRSxFQUFFO1lBQ1IsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQzlCLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQzNCO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLElBQVEsRUFBRSxFQUFNO1FBQ3BCLEtBQUksTUFBTSxJQUFJLElBQUksSUFBSSxFQUFFO1lBQ3ZCLElBQ0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLFFBQVEsRUFDN0I7Z0JBQ0QsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN0QjtpQkFBTTtnQkFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUNoQztTQUNEO0lBQ0YsQ0FBQzs7d0dBblZVLFdBQVcsa0JBV0gsV0FBVzs0R0FYbkIsV0FBVyxjQUZYLE1BQU07MkZBRU4sV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEI7OzBCQVlhLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuZGVjbGFyZSB2YXIgY29yZG92YTphbnk7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlU2VydmljZSB7XHJcblx0c3NyID0gaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpO1xyXG5cclxuXHRsb2NhbFN0b3JhZ2U6YW55OyAvLyA9IGxvY2FsU3RvcmFnZTtcclxuXHJcblx0ZG9jdW1lbnQ6YW55OyAvLyA9IGRvY3VtZW50O1xyXG5cclxuXHR3aW5kb3c6YW55OyAvLyA9IHdpbmRvdztcclxuXHJcblx0bmF2aWdhdG9yOmFueTsgLy8gPSBuYXZpZ2F0b3I7XHJcblxyXG5cdGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDpib29sZWFuKSB7XHJcblx0XHRpZihpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpe1xyXG5cdFx0XHR0aGlzLmxvY2FsU3RvcmFnZSA9IHtcclxuXHRcdFx0XHRnZXRJdGVtOigpPT57fSxcclxuXHRcdFx0XHRzZXRJdGVtOigpPT57fSxcclxuXHRcdFx0XHRyZW1vdmVJdGVtOigpPT57fSxcclxuXHRcdFx0XHRjbGVhcjooKT0+e31cclxuXHRcdFx0fTtcclxuXHJcblx0XHRcdHRoaXMuZG9jdW1lbnQgPSB7XHJcblx0XHRcdFx0cXVlcnlTZWxlY3RvckFsbDogKCk9Pnt9LFxyXG5cdFx0XHRcdGFkZEV2ZW50TGlzdGVuZXI6ICgpPT57fSxcclxuXHRcdFx0XHRyZW1vdmVFdmVudExpc3RlbmVyOiAoKT0+e30sXHJcblx0XHRcdFx0ZG9jdW1lbnRFbGVtZW50OiB7fSxcclxuXHRcdFx0XHRib2R5OiB7fSxcclxuXHRcdFx0fTtcclxuXHJcblx0XHRcdHRoaXMud2luZG93ID0ge1xyXG5cdFx0XHRcdGxvY2F0aW9uOiB7XHJcblx0XHRcdFx0XHRob3N0OiAnJ1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0YWRkRXZlbnRMaXN0ZW5lcjogKCk9Pnt9LFxyXG5cdFx0XHRcdHJlbW92ZUV2ZW50TGlzdGVuZXI6ICgpPT57fSxcclxuXHRcdFx0XHRzZXRUaW1lb3V0OiAoKT0+e31cclxuXHRcdFx0fTs7XHJcblxyXG5cdFx0XHR0aGlzLm5hdmlnYXRvciA9IHtcclxuXHRcdFx0XHR1c2VyQWdlbnQ6ICcnLFxyXG5cdFx0XHRcdHBsYXRmb3JtOiAnJ1xyXG5cdFx0XHR9O1xyXG5cdFx0fWVsc2V7XHJcblx0XHRcdHRoaXMubG9jYWxTdG9yYWdlID0gbG9jYWxTdG9yYWdlO1xyXG5cclxuXHRcdFx0dGhpcy5kb2N1bWVudCA9IGRvY3VtZW50O1xyXG5cclxuXHRcdFx0dGhpcy53aW5kb3cgPSB3aW5kb3c7XHJcblxyXG5cdFx0XHR0aGlzLm5hdmlnYXRvciA9IG5hdmlnYXRvcjtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmhvc3QgPSB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0LnRvTG93ZXJDYXNlKCk7XHJcblxyXG5cdFx0Y29uc3QgdXNlckFnZW50ID0gdGhpcy5uYXZpZ2F0b3IudXNlckFnZW50IHx8IHRoaXMubmF2aWdhdG9yLnZlbmRvciB8fCB0aGlzLndpbmRvdy5vcGVyYTtcclxuXHJcblx0XHRpZiAoL3dpbmRvd3MgcGhvbmUvaS50ZXN0KHVzZXJBZ2VudCkpIHtcclxuXHRcdFx0dGhpcy5kZXZpY2UgPSBcIndpbmRvd3NcIjtcclxuXHRcdH0gZWxzZSBpZiAoL2FuZHJvaWQvaS50ZXN0KHVzZXJBZ2VudCkpIHtcclxuXHRcdFx0dGhpcy5kZXZpY2UgPSBcImFuZHJvaWRcIjtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5pb3MoKSkge1xyXG5cdFx0XHR0aGlzLmRldmljZSA9IFwiaW9zXCI7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmRldmljZSA9IFwid2ViXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5zZXRfdmVyc2lvbigpO1xyXG5cdH1cclxuXHJcblx0aG9zdDphbnk7XHJcblxyXG5cdGRldmljZTphbnk7XHJcblxyXG5cdHZlcnNpb246YW55O1xyXG5cclxuXHRzZXRfdmVyc2lvbih2ZXJzaW9uPScxLjAuMCcpIHtcclxuXHRcdHRoaXMudmVyc2lvbiA9IHZlcnNpb247XHJcblxyXG5cdFx0dGhpcy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdkZXZpY2VyZWFkeScsICgpID0+IHtcclxuXHRcdFx0dGhpcy5kb25lKCdtb2JpbGUnKTtcclxuXHJcblx0XHRcdGlmIChjb3Jkb3ZhLmdldEFwcFZlcnNpb24pIHtcclxuXHRcdFx0XHRjb3Jkb3ZhLmdldEFwcFZlcnNpb24uZ2V0VmVyc2lvbk51bWJlcigodmVyc2lvbjpzdHJpbmcpPT57XHJcblx0XHRcdFx0XHR0aGlzLnZlcnNpb24gPSB2ZXJzaW9uO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGlvcygpIHtcclxuXHRcdHJldHVybiBbXHJcblx0XHRcdCdpUGFkIFNpbXVsYXRvcicsXHJcblx0XHRcdCdpUGhvbmUgU2ltdWxhdG9yJyxcclxuXHRcdFx0J2lQb2QgU2ltdWxhdG9yJyxcclxuXHRcdFx0J2lQYWQnLFxyXG5cdFx0XHQnaVBob25lJyxcclxuXHRcdFx0J2lQb2QnXHJcblx0XHRdLmluY2x1ZGVzKHRoaXMubmF2aWdhdG9yLnBsYXRmb3JtKVxyXG5cdFx0Ly8gaVBhZCBvbiBpT1MgMTMgZGV0ZWN0aW9uXHJcblx0XHR8fCAodGhpcy5uYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKFwiTWFjXCIpICYmIFwib250b3VjaGVuZFwiIGluIGRvY3VtZW50KVxyXG5cdH1cclxuXHQvKlxyXG5cdCpcdFBpcGVzXHJcblx0Ki9cclxuXHRcdG90YShvYmo6IGFueSwgaG9sZGVyPzpib29sZWFuKTogYW55IHtcclxuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkob2JqKSkgcmV0dXJuIG9iajtcclxuXHJcblx0XHRcdGlmICh0eXBlb2Ygb2JqICE9ICdvYmplY3QnKSByZXR1cm4gW107XHJcblxyXG5cdFx0XHRsZXQgYXJyID0gW107XHJcblxyXG5cdFx0XHRmb3IgKGNvbnN0IGVhY2ggaW4gb2JqKSB7XHJcblx0XHRcdFx0aWYgKG9ialtlYWNoXSl7XHJcblx0XHRcdFx0XHRpZiAoaG9sZGVyKSB7XHJcblx0XHRcdFx0XHRcdGFyci5wdXNoKGVhY2gpO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0YXJyLnB1c2gob2JqW2VhY2hdKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHJldHVybiBhcnI7XHJcblx0XHR9XHJcblx0LypcclxuXHQqXHRTdXBwb3J0aXZlXHJcblx0Ki9cclxuXHRcdGlkczJpZCguLi5hcmdzOmFueVtdKSB7XHJcblx0XHRcdGFyZ3Muc29ydCggKGEsIGIpID0+IHtcclxuXHRcdFx0XHRpZiAoTnVtYmVyKGEudG9TdHJpbmcoKS5zdWJzdHJpbmcoMCwgOCkpID4gTnVtYmVyKGIudG9TdHJpbmcoKS5zdWJzdHJpbmcoMCwgOCkpKXtcclxuXHRcdFx0XHRcdHJldHVybiAxO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gLTE7XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdFx0cmV0dXJuIGFyZ3Muam9pbigpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHBhcmFsbGVsKGFycjogYW55W10sIGNhbGxiYWNrOigpPT52b2lkKXtcclxuXHRcdFx0bGV0IGNvdW50ZXIgPSBhcnIubGVuZ3RoO1xyXG5cclxuXHRcdFx0aWYoY291bnRlcj09PTApIHJldHVybiBjYWxsYmFjaygpO1xyXG5cclxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRhcnJbaV0oZnVuY3Rpb24oKXtcclxuXHRcdFx0XHRcdGlmKC0tY291bnRlcj09PTApIGNhbGxiYWNrKCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRwcml2YXRlIHNlcmlhbF9wcm9jZXNzKGk6bnVtYmVyLCBhcnI6YW55W10sIGNhbGxiYWNrOigpPT52b2lkKXtcclxuXHRcdFx0aWYoaT49YXJyLmxlbmd0aCkgcmV0dXJuIGNhbGxiYWNrKCk7XHJcblxyXG5cdFx0XHRhcnJbaV0oKCk9PntcclxuXHRcdFx0XHR0aGlzLnNlcmlhbF9wcm9jZXNzKCsraSwgYXJyLCBjYWxsYmFjayk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cclxuXHRcdHNlcmlhbChhcnI6YW55W10sIGNhbGxiYWNrOigpPT52b2lkKXtcclxuXHRcdFx0dGhpcy5zZXJpYWxfcHJvY2VzcygwLCBhcnIsIGNhbGxiYWNrKTtcclxuXHRcdH1cclxuXHJcblx0XHRlYWNoKGFyck9yT2JqOmFueSwgZnVuYzphbnksIGNhbGxiYWNrOigpPT52b2lkLCBpc1NlcmlhbD1mYWxzZSl7XHJcblx0XHRcdGlmKHR5cGVvZiBjYWxsYmFjayA9PSAnYm9vbGVhbicpe1xyXG5cdFx0XHRcdGlzU2VyaWFsID0gY2FsbGJhY2s7XHJcblxyXG5cdFx0XHRcdGNhbGxiYWNrID0gKCk9Pnt9O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShhcnJPck9iaikpIHtcclxuXHRcdFx0XHRsZXQgY291bnRlciA9IGFyck9yT2JqLmxlbmd0aDtcclxuXHRcdFx0XHRpZihjb3VudGVyPT09MCkgcmV0dXJuIGNhbGxiYWNrKCk7XHJcblx0XHRcdFx0aWYoaXNTZXJpYWwpe1xyXG5cdFx0XHRcdFx0bGV0IHNlcmlhbEFyciA9IFtdO1xyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnJPck9iai5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0XHRzZXJpYWxBcnIucHVzaChmdW5jdGlvbihuZXh0OigpPT52b2lkKXtcclxuXHRcdFx0XHRcdFx0XHRmdW5jKGFyck9yT2JqW2ldLCBmdW5jdGlvbigpe1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcclxuXHRcdFx0XHRcdFx0XHRcdGVsc2UgbmV4dCgpO1xyXG5cdFx0XHRcdFx0XHRcdH0sIGkpO1xyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMuc2VyaWFsX3Byb2Nlc3MoMCwgc2VyaWFsQXJyLCBjYWxsYmFjayk7XHJcblx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFyck9yT2JqLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdGZ1bmMoYXJyT3JPYmpbaV0sIGZ1bmN0aW9uKCl7XHJcblx0XHRcdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcclxuXHRcdFx0XHRcdFx0fSwgaSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGVsc2UgaWYodHlwZW9mIGFyck9yT2JqID09ICdvYmplY3QnKSB7XHJcblx0XHRcdFx0aWYgKGlzU2VyaWFsKSB7XHJcblx0XHRcdFx0XHRsZXQgc2VyaWFsQXJyID0gW107XHJcblx0XHRcdFx0XHRsZXQgYXJyOmFueSA9IFtdO1xyXG5cdFx0XHRcdFx0Zm9yKGxldCBlYWNoIGluIGFyck9yT2JqKXtcclxuXHRcdFx0XHRcdFx0YXJyLnB1c2goe1xyXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBhcnJPck9ialtlYWNoXSxcclxuXHRcdFx0XHRcdFx0XHRlYWNoOiBlYWNoXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0bGV0IGNvdW50ZXIgPSBhcnIubGVuZ3RoO1xyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0c2VyaWFsQXJyLnB1c2goZnVuY3Rpb24obmV4dDooKT0+dm9pZCl7XHJcblx0XHRcdFx0XHRcdFx0ZnVuYyhhcnJbaV0uZWFjaCwgYXJyW2ldLnZhbHVlLCBmdW5jdGlvbigpe1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcclxuXHRcdFx0XHRcdFx0XHRcdGVsc2UgbmV4dCgpO1xyXG5cdFx0XHRcdFx0XHRcdH0sIGkpO1xyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMuc2VyaWFsX3Byb2Nlc3MoMCwgc2VyaWFsQXJyLCBjYWxsYmFjayk7XHJcblx0XHRcdFx0fSBlbHNle1xyXG5cdFx0XHRcdFx0bGV0IGNvdW50ZXIgPSAxO1xyXG5cdFx0XHRcdFx0Zm9yKGxldCBlYWNoIGluIGFyck9yT2JqKXtcclxuXHRcdFx0XHRcdFx0Y291bnRlcisrO1xyXG5cdFx0XHRcdFx0XHRmdW5jKGVhY2gsIGFyck9yT2JqW2VhY2hdLCBmdW5jdGlvbigpe1xyXG5cdFx0XHRcdFx0XHRcdGlmKC0tY291bnRlcj09PTApIGNhbGxiYWNrKCk7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gZWxzZSBjYWxsYmFjaygpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHByaXZhdGUgX2FmdGVyV2hpbGU6YW55ID0ge307XHJcblxyXG5cdFx0YWZ0ZXJXaGlsZShkb2M6YW55LCBjYjooKT0+dm9pZCwgdGltZT0xMDAwKXtcclxuXHRcdFx0aWYodHlwZW9mIGRvYyA9PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0XHRjYiA9IGRvYztcclxuXHJcblx0XHRcdFx0ZG9jID0gJ2NvbW1vbic7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmKHR5cGVvZiBkb2MgPT0gJ3N0cmluZycpe1xyXG5cdFx0XHRcdGlmKCF0aGlzLl9hZnRlcldoaWxlW2RvY10pIHRoaXMuX2FmdGVyV2hpbGVbZG9jXT17fTtcclxuXHJcblx0XHRcdFx0ZG9jID0gdGhpcy5fYWZ0ZXJXaGlsZVtkb2NdO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZih0eXBlb2YgY2IgPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdGltZSA9PSAnbnVtYmVyJyl7XHJcblx0XHRcdFx0Y2xlYXJUaW1lb3V0KGRvYy5fX3VwZGF0ZVRpbWVvdXQpO1xyXG5cclxuXHRcdFx0XHRkb2MuX191cGRhdGVUaW1lb3V0ID0gc2V0VGltZW91dChjYiwgdGltZSk7XHJcblx0XHRcdH1cclxuXHRcdH07XHJcblxyXG5cdFx0Ly8gU2lnbmFsXHJcblx0XHRwcml2YXRlIGNiOmFueSA9IHt9O1xyXG5cclxuXHRcdGVtaXQoc2lnbmFsOnN0cmluZywgZG9jOmFueT17fSl7XHJcblx0XHRcdGlmICghdGhpcy5jYltzaWduYWxdKSB7XHJcblx0XHRcdFx0dGhpcy5jYltzaWduYWxdID0ge307XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGZvciAobGV0IGVhY2ggaW4gdGhpcy5jYltzaWduYWxdKXtcclxuXHRcdFx0XHRpZih0eXBlb2YgdGhpcy5jYltzaWduYWxdW2VhY2hdID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdFx0dGhpcy5jYltzaWduYWxdW2VhY2hdKGRvYyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0cHJpdmF0ZSBfaWRzOmFueSA9IHt9O1xyXG5cclxuXHRcdG9uKHNpZ25hbDpzdHJpbmcsIGNiOmFueSk6YW55IHtcclxuXHRcdFx0aWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bGV0IGlkID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSkgKyAxO1xyXG5cclxuXHRcdFx0aWYgKHRoaXMuX2lkc1tpZF0pIHtcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5vbihzaWduYWwsIGNiKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGhpcy5faWRzW2lkXT10cnVlO1xyXG5cclxuXHRcdFx0aWYgKCF0aGlzLmNiW3NpZ25hbF0pIHtcclxuXHRcdFx0XHR0aGlzLmNiW3NpZ25hbF0gPSB7fTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGhpcy5jYltzaWduYWxdW2lkXSA9IGNiO1xyXG5cclxuXHRcdFx0cmV0dXJuICgpPT57XHJcblx0XHRcdFx0dGhpcy5jYltzaWduYWxdW2lkXSA9IG51bGw7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyBPbiBEb25lXHJcblx0XHRwcml2YXRlIGRvbmVfbmV4dDphbnkgPSB7fTtcclxuXHJcblx0XHRkb25lKHNpZ25hbDpzdHJpbmcsIGRvYzphbnkgPSB0cnVlKSB7XHJcblx0XHRcdHRoaXMuZG9uZV9uZXh0W3NpZ25hbF0gPSBkb2M7XHJcblx0XHR9O1xyXG5cclxuXHRcdHJlYWR5KHNpZ25hbDpzdHJpbmcpe1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5kb25lX25leHRbc2lnbmFsXTtcclxuXHRcdH07XHJcblxyXG5cdFx0bmV4dChzaWduYWw6c3RyaW5nLCBjYjoobWVzc2FnZTphbnkpPT52b2lkKSB7XHJcblx0XHRcdGlmICh0aGlzLmRvbmVfbmV4dFtzaWduYWxdKSBjYih0aGlzLmRvbmVfbmV4dFtzaWduYWxdKTtcclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0c2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRcdFx0dGhpcy5uZXh0KHNpZ25hbCwgY2IpO1xyXG5cdFx0XHRcdH0sIDEwMCk7XHJcblx0XHRcdH1cclxuXHRcdH07XHJcblxyXG5cdFx0cHJpdmF0ZSBsb2NrZWQ6YW55ID0ge307XHJcblxyXG5cdFx0bG9jayh3aGljaDphbnksIGZ1bmM6YW55KXtcclxuXHRcdFx0aWYgKHR5cGVvZiB3aGljaCA9PT0gJ29iamVjdCcgJiYgd2hpY2guX19sb2NrZWQpIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH0gZWxzZSBpZih0aGlzLmxvY2tlZFt3aGljaF0pIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmICh0eXBlb2Ygd2hpY2ggPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdFx0d2hpY2guX19sb2NrZWQgPSB0cnVlO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMubG9ja2VkW3doaWNoXSA9IHRydWU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGZ1bmMoKCk9PntcclxuXHRcdFx0XHRpZiAodHlwZW9mIHdoaWNoID09PSAnb2JqZWN0Jykge1xyXG5cdFx0XHRcdFx0d2hpY2guX19sb2NrZWQgPSBmYWxzZTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5sb2NrZWRbd2hpY2hdID0gZmFsc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcblx0XHRjb3B5KGZyb206YW55LCB0bzphbnkpIHtcclxuXHRcdFx0Zm9yKGNvbnN0IGVhY2ggaW4gZnJvbSkge1xyXG5cdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdEFycmF5LmlzQXJyYXkoZnJvbVtlYWNoXSkgfHxcclxuXHRcdFx0XHRcdHR5cGVvZiBmcm9tW2VhY2hdICE9PSAnb2JqZWN0J1xyXG5cdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0dG9bZWFjaF0gPSBmcm9tW2VhY2hdO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmNvcHkoZnJvbVtlYWNoXSwgdG9bZWFjaF0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdC8qIEVuZCBvZiBDb3JlKi9cclxufVxyXG4iXX0=
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2Fjb20vc3JjL2xpYi9zZXJ2aWNlcy9jb3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU9uRCxNQUFNLE9BQU8sV0FBVztJQVd2QixZQUF5QyxVQUFrQjtRQUFsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBVjNELFFBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUE0Ti9CLGdCQUFXLEdBQU8sRUFBRSxDQUFDO1FBc0I3QixTQUFTO1FBQ0QsT0FBRSxHQUFPLEVBQUUsQ0FBQztRQWNaLFNBQUksR0FBTyxFQUFFLENBQUM7UUEwQnRCLFVBQVU7UUFDRixjQUFTLEdBQU8sRUFBRSxDQUFDO1FBbUJuQixXQUFNLEdBQU8sRUFBRSxDQUFDO1FBcFN4QixJQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHO2dCQUNuQixPQUFPLEVBQUMsR0FBRSxFQUFFLEdBQUMsQ0FBQztnQkFDZCxPQUFPLEVBQUMsR0FBRSxFQUFFLEdBQUMsQ0FBQztnQkFDZCxVQUFVLEVBQUMsR0FBRSxFQUFFLEdBQUMsQ0FBQztnQkFDakIsS0FBSyxFQUFDLEdBQUUsRUFBRSxHQUFDLENBQUM7YUFDWixDQUFDO1lBRUYsSUFBSSxDQUFDLFFBQVEsR0FBRztnQkFDZixnQkFBZ0IsRUFBRSxHQUFFLEVBQUUsR0FBQyxDQUFDO2dCQUN4QixnQkFBZ0IsRUFBRSxHQUFFLEVBQUUsR0FBQyxDQUFDO2dCQUN4QixtQkFBbUIsRUFBRSxHQUFFLEVBQUUsR0FBQyxD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QkFDbEI7OzBCQVlhLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuZGVjbGFyZSB2YXIgY29yZG92YTphbnk7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlU2VydmljZSB7XHJcblx0c3NyID0gaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpO1xyXG5cclxuXHRsb2NhbFN0b3JhZ2U6YW55OyAvLyA9IGxvY2FsU3RvcmFnZTtcclxuXHJcblx0ZG9jdW1lbnQ6YW55OyAvLyA9IGRvY3VtZW50O1xyXG5cclxuXHR3aW5kb3c6YW55OyAvLyA9IHdpbmRvdztcclxuXHJcblx0bmF2aWdhdG9yOmFueTsgLy8gPSBuYXZpZ2F0b3I7XHJcblxyXG5cdGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDpib29sZWFuKSB7XHJcblx0XHRpZihpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpe1xyXG5cdFx0XHR0aGlzLmxvY2FsU3RvcmFnZSA9IHtcclxuXHRcdFx0XHRnZXRJdGVtOigpPT57fSxcclxuXHRcdFx0XHRzZXRJdGVtOigpPT57fSxcclxuXHRcdFx0XHRyZW1vdmVJdGVtOigpPT57fSxcclxuXHRcdFx0XHRjbGVhcjooKT0+e31cclxuXHRcdFx0fTtcclxuXHJcblx0XHRcdHRoaXMuZG9jdW1lbnQgPSB7XHJcblx0XHRcdFx0cXVlcnlTZWxlY3RvckFsbDogKCk9Pnt9LFxyXG5cdFx0XHRcdGFkZEV2ZW50TGlzdGVuZXI6ICgpPT57fSxcclxuXHRcdFx0XHRyZW1vdmVFdmVudExpc3RlbmVyOiAoKT0+e30sXHJcblx0XHRcdFx0ZG9jdW1lbnRFbGVtZW50OiB7fSxcclxuXHRcdFx0XHRib2R5OiB7fSxcclxuXHRcdFx0fTtcclxuXHJcblx0XHRcdHRoaXMud2luZG93ID0ge1xyXG5cdFx0XHRcdGxvY2F0aW9uOiB7XHJcblx0XHRcdFx0XHRob3N0OiAnJ1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0YWRkRXZlbnRMaXN0ZW5lcjogKCk9Pnt9LFxyXG5cdFx0XHRcdHJlbW92ZUV2ZW50TGlzdGVuZXI6ICgpPT57fSxcclxuXHRcdFx0XHRzZXRUaW1lb3V0OiAoKT0+e31cclxuXHRcdFx0fTs7XHJcblxyXG5cdFx0XHR0aGlzLm5hdmlnYXRvciA9IHtcclxuXHRcdFx0XHR1c2VyQWdlbnQ6ICcnLFxyXG5cdFx0XHRcdHBsYXRmb3JtOiAnJ1xyXG5cdFx0XHR9O1xyXG5cdFx0fWVsc2V7XHJcblx0XHRcdHRoaXMubG9jYWxTdG9yYWdlID0gbG9jYWxTdG9yYWdlO1xyXG5cclxuXHRcdFx0dGhpcy5kb2N1bWVudCA9IGRvY3VtZW50O1xyXG5cclxuXHRcdFx0dGhpcy53aW5kb3cgPSB3aW5kb3c7XHJcblxyXG5cdFx0XHR0aGlzLm5hdmlnYXRvciA9IG5hdmlnYXRvcjtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmhvc3QgPSB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0LnRvTG93ZXJDYXNlKCk7XHJcblxyXG5cdFx0Y29uc3QgdXNlckFnZW50ID0gdGhpcy5uYXZpZ2F0b3IudXNlckFnZW50IHx8IHRoaXMubmF2aWdhdG9yLnZlbmRvciB8fCB0aGlzLndpbmRvdy5vcGVyYTtcclxuXHJcblx0XHRpZiAoL3dpbmRvd3MgcGhvbmUvaS50ZXN0KHVzZXJBZ2VudCkpIHtcclxuXHRcdFx0dGhpcy5kZXZpY2UgPSBcIndpbmRvd3NcIjtcclxuXHRcdH0gZWxzZSBpZiAoL2FuZHJvaWQvaS50ZXN0KHVzZXJBZ2VudCkpIHtcclxuXHRcdFx0dGhpcy5kZXZpY2UgPSBcImFuZHJvaWRcIjtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5pb3MoKSkge1xyXG5cdFx0XHR0aGlzLmRldmljZSA9IFwiaW9zXCI7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmRldmljZSA9IFwid2ViXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5zZXRfdmVyc2lvbigpO1xyXG5cdH1cclxuXHJcblx0aG9zdDphbnk7XHJcblxyXG5cdGRldmljZTphbnk7XHJcblxyXG5cdHZlcnNpb246YW55O1xyXG5cclxuXHRzZXRfdmVyc2lvbih2ZXJzaW9uPScxLjAuMCcpIHtcclxuXHRcdHRoaXMudmVyc2lvbiA9IHZlcnNpb247XHJcblxyXG5cdFx0dGhpcy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdkZXZpY2VyZWFkeScsICgpID0+IHtcclxuXHRcdFx0dGhpcy5kb25lKCdtb2JpbGUnKTtcclxuXHJcblx0XHRcdGlmIChjb3Jkb3ZhLmdldEFwcFZlcnNpb24pIHtcclxuXHRcdFx0XHRjb3Jkb3ZhLmdldEFwcFZlcnNpb24uZ2V0VmVyc2lvbk51bWJlcigodmVyc2lvbjpzdHJpbmcpPT57XHJcblx0XHRcdFx0XHR0aGlzLnZlcnNpb24gPSB2ZXJzaW9uO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGlvcygpIHtcclxuXHRcdHJldHVybiBbXHJcblx0XHRcdCdpUGFkIFNpbXVsYXRvcicsXHJcblx0XHRcdCdpUGhvbmUgU2ltdWxhdG9yJyxcclxuXHRcdFx0J2lQb2QgU2ltdWxhdG9yJyxcclxuXHRcdFx0J2lQYWQnLFxyXG5cdFx0XHQnaVBob25lJyxcclxuXHRcdFx0J2lQb2QnXHJcblx0XHRdLmluY2x1ZGVzKHRoaXMubmF2aWdhdG9yLnBsYXRmb3JtKVxyXG5cdFx0Ly8gaVBhZCBvbiBpT1MgMTMgZGV0ZWN0aW9uXHJcblx0XHR8fCAodGhpcy5uYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKFwiTWFjXCIpICYmIFwib250b3VjaGVuZFwiIGluIGRvY3VtZW50KVxyXG5cdH1cclxuXHQvKlxyXG5cdCpcdFBpcGVzXHJcblx0Ki9cclxuXHRcdG90YShvYmo6IGFueSwgaG9sZGVyPzpib29sZWFuKTogYW55IHtcclxuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkob2JqKSkgcmV0dXJuIG9iajtcclxuXHJcblx0XHRcdGlmICh0eXBlb2Ygb2JqICE9ICdvYmplY3QnKSByZXR1cm4gW107XHJcblxyXG5cdFx0XHRsZXQgYXJyID0gW107XHJcblxyXG5cdFx0XHRmb3IgKGNvbnN0IGVhY2ggaW4gb2JqKSB7XHJcblx0XHRcdFx0aWYgKG9ialtlYWNoXSl7XHJcblx0XHRcdFx0XHRpZiAoaG9sZGVyKSB7XHJcblx0XHRcdFx0XHRcdGFyci5wdXNoKGVhY2gpO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0YXJyLnB1c2gob2JqW2VhY2hdKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHJldHVybiBhcnI7XHJcblx0XHR9XHJcblx0LypcclxuXHQqXHRTdXBwb3J0aXZlXHJcblx0Ki9cclxuXHRcdGlkczJpZCguLi5hcmdzOmFueVtdKSB7XHJcblx0XHRcdGFyZ3Muc29ydCggKGEsIGIpID0+IHtcclxuXHRcdFx0XHRpZiAoTnVtYmVyKGEudG9TdHJpbmcoKS5zdWJzdHJpbmcoMCwgOCkpID4gTnVtYmVyKGIudG9TdHJpbmcoKS5zdWJzdHJpbmcoMCwgOCkpKXtcclxuXHRcdFx0XHRcdHJldHVybiAxO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gLTE7XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdFx0cmV0dXJuIGFyZ3Muam9pbigpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHBhcmFsbGVsKGFycjogYW55W10sIGNhbGxiYWNrOigpPT52b2lkKXtcclxuXHRcdFx0bGV0IGNvdW50ZXIgPSBhcnIubGVuZ3RoO1xyXG5cclxuXHRcdFx0aWYoY291bnRlcj09PTApIHJldHVybiBjYWxsYmFjaygpO1xyXG5cclxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRhcnJbaV0oZnVuY3Rpb24oKXtcclxuXHRcdFx0XHRcdGlmKC0tY291bnRlcj09PTApIGNhbGxiYWNrKCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRwcml2YXRlIHNlcmlhbF9wcm9jZXNzKGk6bnVtYmVyLCBhcnI6YW55W10sIGNhbGxiYWNrOigpPT52b2lkKXtcclxuXHRcdFx0aWYoaT49YXJyLmxlbmd0aCkgcmV0dXJuIGNhbGxiYWNrKCk7XHJcblxyXG5cdFx0XHRhcnJbaV0oKCk9PntcclxuXHRcdFx0XHR0aGlzLnNlcmlhbF9wcm9jZXNzKCsraSwgYXJyLCBjYWxsYmFjayk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cclxuXHRcdHNlcmlhbChhcnI6YW55W10sIGNhbGxiYWNrOigpPT52b2lkKXtcclxuXHRcdFx0dGhpcy5zZXJpYWxfcHJvY2VzcygwLCBhcnIsIGNhbGxiYWNrKTtcclxuXHRcdH1cclxuXHJcblx0XHRlYWNoKGFyck9yT2JqOmFueSwgZnVuYzphbnksIGNhbGxiYWNrOigpPT52b2lkLCBpc1NlcmlhbD1mYWxzZSl7XHJcblx0XHRcdGlmKHR5cGVvZiBjYWxsYmFjayA9PSAnYm9vbGVhbicpe1xyXG5cdFx0XHRcdGlzU2VyaWFsID0gY2FsbGJhY2s7XHJcblxyXG5cdFx0XHRcdGNhbGxiYWNrID0gKCk9Pnt9O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShhcnJPck9iaikpIHtcclxuXHRcdFx0XHRsZXQgY291bnRlciA9IGFyck9yT2JqLmxlbmd0aDtcclxuXHRcdFx0XHRpZihjb3VudGVyPT09MCkgcmV0dXJuIGNhbGxiYWNrKCk7XHJcblx0XHRcdFx0aWYoaXNTZXJpYWwpe1xyXG5cdFx0XHRcdFx0bGV0IHNlcmlhbEFyciA9IFtdO1xyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnJPck9iai5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0XHRzZXJpYWxBcnIucHVzaChmdW5jdGlvbihuZXh0OigpPT52b2lkKXtcclxuXHRcdFx0XHRcdFx0XHRmdW5jKGFyck9yT2JqW2ldLCBmdW5jdGlvbigpe1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcclxuXHRcdFx0XHRcdFx0XHRcdGVsc2UgbmV4dCgpO1xyXG5cdFx0XHRcdFx0XHRcdH0sIGkpO1xyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMuc2VyaWFsX3Byb2Nlc3MoMCwgc2VyaWFsQXJyLCBjYWxsYmFjayk7XHJcblx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFyck9yT2JqLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdGZ1bmMoYXJyT3JPYmpbaV0sIGZ1bmN0aW9uKCl7XHJcblx0XHRcdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcclxuXHRcdFx0XHRcdFx0fSwgaSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGVsc2UgaWYodHlwZW9mIGFyck9yT2JqID09ICdvYmplY3QnKSB7XHJcblx0XHRcdFx0aWYgKGlzU2VyaWFsKSB7XHJcblx0XHRcdFx0XHRsZXQgc2VyaWFsQXJyID0gW107XHJcblx0XHRcdFx0XHRsZXQgYXJyOmFueSA9IFtdO1xyXG5cdFx0XHRcdFx0Zm9yKGxldCBlYWNoIGluIGFyck9yT2JqKXtcclxuXHRcdFx0XHRcdFx0YXJyLnB1c2goe1xyXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBhcnJPck9ialtlYWNoXSxcclxuXHRcdFx0XHRcdFx0XHRlYWNoOiBlYWNoXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0bGV0IGNvdW50ZXIgPSBhcnIubGVuZ3RoO1xyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0c2VyaWFsQXJyLnB1c2goZnVuY3Rpb24obmV4dDooKT0+dm9pZCl7XHJcblx0XHRcdFx0XHRcdFx0ZnVuYyhhcnJbaV0uZWFjaCwgYXJyW2ldLnZhbHVlLCBmdW5jdGlvbigpe1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcclxuXHRcdFx0XHRcdFx0XHRcdGVsc2UgbmV4dCgpO1xyXG5cdFx0XHRcdFx0XHRcdH0sIGkpO1xyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMuc2VyaWFsX3Byb2Nlc3MoMCwgc2VyaWFsQXJyLCBjYWxsYmFjayk7XHJcblx0XHRcdFx0fSBlbHNle1xyXG5cdFx0XHRcdFx0bGV0IGNvdW50ZXIgPSAxO1xyXG5cdFx0XHRcdFx0Zm9yKGxldCBlYWNoIGluIGFyck9yT2JqKXtcclxuXHRcdFx0XHRcdFx0Y291bnRlcisrO1xyXG5cdFx0XHRcdFx0XHRmdW5jKGVhY2gsIGFyck9yT2JqW2VhY2hdLCBmdW5jdGlvbigpe1xyXG5cdFx0XHRcdFx0XHRcdGlmKC0tY291bnRlcj09PTApIGNhbGxiYWNrKCk7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gZWxzZSBjYWxsYmFjaygpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHByaXZhdGUgX2FmdGVyV2hpbGU6YW55ID0ge307XHJcblxyXG5cdFx0YWZ0ZXJXaGlsZShkb2M6YW55LCBjYjooKT0+dm9pZCwgdGltZT0xMDAwKXtcclxuXHRcdFx0aWYodHlwZW9mIGRvYyA9PSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0XHRjYiA9IGRvYztcclxuXHJcblx0XHRcdFx0ZG9jID0gJ2NvbW1vbic7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmKHR5cGVvZiBkb2MgPT0gJ3N0cmluZycpe1xyXG5cdFx0XHRcdGlmKCF0aGlzLl9hZnRlcldoaWxlW2RvY10pIHRoaXMuX2FmdGVyV2hpbGVbZG9jXT17fTtcclxuXHJcblx0XHRcdFx0ZG9jID0gdGhpcy5fYWZ0ZXJXaGlsZVtkb2NdO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZih0eXBlb2YgY2IgPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdGltZSA9PSAnbnVtYmVyJyl7XHJcblx0XHRcdFx0Y2xlYXJUaW1lb3V0KGRvYy5fX3VwZGF0ZVRpbWVvdXQpO1xyXG5cclxuXHRcdFx0XHRkb2MuX191cGRhdGVUaW1lb3V0ID0gc2V0VGltZW91dChjYiwgdGltZSk7XHJcblx0XHRcdH1cclxuXHRcdH07XHJcblxyXG5cdFx0Ly8gU2lnbmFsXHJcblx0XHRwcml2YXRlIGNiOmFueSA9IHt9O1xyXG5cclxuXHRcdGVtaXQoc2lnbmFsOnN0cmluZywgZG9jOmFueT17fSl7XHJcblx0XHRcdGlmICghdGhpcy5jYltzaWduYWxdKSB7XHJcblx0XHRcdFx0dGhpcy5jYltzaWduYWxdID0ge307XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGZvciAobGV0IGVhY2ggaW4gdGhpcy5jYltzaWduYWxdKXtcclxuXHRcdFx0XHRpZih0eXBlb2YgdGhpcy5jYltzaWduYWxdW2VhY2hdID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdFx0dGhpcy5jYltzaWduYWxdW2VhY2hdKGRvYyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0cHJpdmF0ZSBfaWRzOmFueSA9IHt9O1xyXG5cclxuXHRcdG9uKHNpZ25hbDpzdHJpbmcsIGNiOmFueSk6YW55IHtcclxuXHRcdFx0aWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bGV0IGlkID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSkgKyAxO1xyXG5cclxuXHRcdFx0aWYgKHRoaXMuX2lkc1tpZF0pIHtcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5vbihzaWduYWwsIGNiKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGhpcy5faWRzW2lkXT10cnVlO1xyXG5cclxuXHRcdFx0aWYgKCF0aGlzLmNiW3NpZ25hbF0pIHtcclxuXHRcdFx0XHR0aGlzLmNiW3NpZ25hbF0gPSB7fTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGhpcy5jYltzaWduYWxdW2lkXSA9IGNiO1xyXG5cclxuXHRcdFx0cmV0dXJuICgpPT57XHJcblx0XHRcdFx0dGhpcy5jYltzaWduYWxdW2lkXSA9IG51bGw7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyBPbiBEb25lXHJcblx0XHRwcml2YXRlIGRvbmVfbmV4dDphbnkgPSB7fTtcclxuXHJcblx0XHRkb25lKHNpZ25hbDpzdHJpbmcsIGRvYzphbnkgPSB0cnVlKSB7XHJcblx0XHRcdHRoaXMuZG9uZV9uZXh0W3NpZ25hbF0gPSBkb2M7XHJcblx0XHR9O1xyXG5cclxuXHRcdHJlYWR5KHNpZ25hbDpzdHJpbmcpe1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5kb25lX25leHRbc2lnbmFsXTtcclxuXHRcdH07XHJcblxyXG5cdFx0bmV4dChzaWduYWw6c3RyaW5nLCBjYjoobWVzc2FnZTphbnkpPT52b2lkKSB7XHJcblx0XHRcdGlmICh0aGlzLmRvbmVfbmV4dFtzaWduYWxdKSBjYih0aGlzLmRvbmVfbmV4dFtzaWduYWxdKTtcclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0c2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRcdFx0dGhpcy5uZXh0KHNpZ25hbCwgY2IpO1xyXG5cdFx0XHRcdH0sIDEwMCk7XHJcblx0XHRcdH1cclxuXHRcdH07XHJcblxyXG5cdFx0cHJpdmF0ZSBsb2NrZWQ6YW55ID0ge307XHJcblxyXG5cdFx0bG9jayh3aGljaDphbnksIGZ1bmM6YW55KXtcclxuXHRcdFx0aWYgKHR5cGVvZiB3aGljaCA9PT0gJ29iamVjdCcgJiYgd2hpY2guX19sb2NrZWQpIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH0gZWxzZSBpZih0aGlzLmxvY2tlZFt3aGljaF0pIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmICh0eXBlb2Ygd2hpY2ggPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdFx0d2hpY2guX19sb2NrZWQgPSB0cnVlO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMubG9ja2VkW3doaWNoXSA9IHRydWU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGZ1bmMoKCk9PntcclxuXHRcdFx0XHRpZiAodHlwZW9mIHdoaWNoID09PSAnb2JqZWN0Jykge1xyXG5cdFx0XHRcdFx0d2hpY2guX19sb2NrZWQgPSBmYWxzZTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5sb2NrZWRbd2hpY2hdID0gZmFsc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcblx0XHRjb3B5KGZyb206YW55LCB0bzphbnkpIHtcclxuXHRcdFx0Zm9yKGNvbnN0IGVhY2ggaW4gZnJvbSkge1xyXG5cdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdEFycmF5LmlzQXJyYXkoZnJvbVtlYWNoXSkgfHxcclxuXHRcdFx0XHRcdHR5cGVvZiBmcm9tW2VhY2hdICE9PSAnb2JqZWN0J1xyXG5cdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0dG9bZWFjaF0gPSBmcm9tW2VhY2hdO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRpZiAodHlwZW9mIHRvW2VhY2hdICE9PSAnb2JqZWN0Jykge1xyXG5cdFx0XHRcdFx0XHR0b1tlYWNoXSA9IHt9O1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdHRoaXMuY29weShmcm9tW2VhY2hdLCB0b1tlYWNoXSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0LyogRW5kIG9mIENvcmUqL1xyXG59XHJcbiJdfQ==
|