@ngutil/aria 0.0.72 → 0.0.74
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/gestures/gesture-drag.mjs +4 -3
- package/esm2022/gestures/gesture-event.mjs +1 -2
- package/esm2022/gestures/gesture-longtap.mjs +3 -2
- package/esm2022/gestures/gesture-tap.mjs +4 -3
- package/esm2022/gestures/gesture.mjs +2 -3
- package/esm2022/gestures/gesture.service.mjs +4 -4
- package/fesm2022/ngutil-aria.mjs +12 -11
- package/fesm2022/ngutil-aria.mjs.map +1 -1
- package/gestures/gesture-drag.d.ts +8 -7
- package/gestures/gesture-event.d.ts +1 -7
- package/gestures/gesture-longtap.d.ts +6 -5
- package/gestures/gesture-tap.d.ts +6 -6
- package/gestures/gesture.d.ts +11 -3
- package/gestures/gesture.service.d.ts +3 -4
- package/package.json +3 -3
|
@@ -2,7 +2,8 @@ import { map, tap } from "rxjs";
|
|
|
2
2
|
import { Gesture } from "./gesture";
|
|
3
3
|
export class GestureDragImpl extends Gesture {
|
|
4
4
|
constructor(options) {
|
|
5
|
-
super(
|
|
5
|
+
super({ includeScrollDistance: true, ...options });
|
|
6
|
+
this.type = "gesture-drag";
|
|
6
7
|
if (this.horizontal == null && this.vertical == null) {
|
|
7
8
|
this.horizontal = true;
|
|
8
9
|
this.vertical = true;
|
|
@@ -25,7 +26,7 @@ export class GestureDragImpl extends Gesture {
|
|
|
25
26
|
: this.horizontal
|
|
26
27
|
? updateHorizontalOnly
|
|
27
28
|
: updateVerticalOnly;
|
|
28
|
-
return super.handle(events).pipe(tap(updater));
|
|
29
|
+
return super.handle(events).pipe(tap((updater)));
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
function updateVerticalOnly(event) {
|
|
@@ -77,4 +78,4 @@ export function gestureDrag(options) {
|
|
|
77
78
|
export const GestureDarg = gestureDrag();
|
|
78
79
|
export const GestureDargHorizontal = gestureDrag({ horizontal: true, vertical: false });
|
|
79
80
|
export const GestureDargVertical = gestureDrag({ horizontal: false, vertical: true });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS1kcmFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXJpYS9zcmMvZ2VzdHVyZXMvZ2VzdHVyZS1kcmFnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBTTNDLE9BQU8sRUFBRSxPQUFPLEVBQXVDLE1BQU0sV0FBVyxDQUFBO0FBU3hFLE1BQU0sT0FBTyxlQUFpRSxTQUFRLE9BQVU7SUFLNUYsWUFBWSxPQUE0QjtRQUNwQyxLQUFLLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBTDdDLFNBQUksR0FBRyxjQUFjLENBQUE7UUFPMUIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ3hCLENBQUM7SUFDTCxDQUFDO0lBRVEsT0FBTyxDQUFDLE1BQWlDO1FBQzlDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDZCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ2xFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLG1DQUEyQixDQUFDLGlDQUF5QixDQUFBO1lBQ2pGLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxD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QUFDO0lBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN0QixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQTRCO0lBQ3BELE9BQU8sSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDdkMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxXQUFXLEVBQUUsQ0FBQTtBQUN4QyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0FBQ3ZGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHRhcCB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgTXV0YWJsZSB9IGZyb20gXCJ1dGlsaXR5LXR5cGVzXCJcblxuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiQG5ndXRpbC9zdHlsZVwiXG5cbmltcG9ydCB7IEdlc3R1cmUsIEdlc3R1cmVDYXB0dXJlU3RhdGUsIEdlc3R1cmVPcHRpb25zIH0gZnJvbSBcIi4vZ2VzdHVyZVwiXG5pbXBvcnQgeyBHZXN0dXJlRGV0YWlsIH0gZnJvbSBcIi4vZ2VzdHVyZS1ldmVudFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VzdHVyZURyYWdEZXRhaWwgZXh0ZW5kcyBHZXN0dXJlRGV0YWlsIHtcbiAgICBtb3ZlQnk6IFBvc2l0aW9uXG59XG5cbmV4cG9ydCB0eXBlIEdlc3R1cmVEcmFnT3B0aW9ucyA9IEdlc3R1cmVPcHRpb25zPEdlc3R1cmVEcmFnSW1wbD5cblxuZXhwb3J0IGNsYXNzIEdlc3R1cmVEcmFnSW1wbDxUIGV4dGVuZHMgR2VzdHVyZURyYWdEZXRhaWwgPSBHZXN0dXJlRHJhZ0RldGFpbD4gZXh0ZW5kcyBHZXN0dXJlPFQ+IHtcbiAgICByZWFkb25seSB0eXBlID0gXCJnZXN0dXJlLWRyYWdcIlxuICAgIHJlYWRvbmx5IGhvcml6b250YWw/OiBib29sZWFuXG4gICAgcmVhZG9ubHkgdmVydGljYWw/OiBib29sZWFuXG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zPzogR2VzdHVyZURyYWdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHsgaW5jbHVkZVNjcm9sbERpc3RhbmNlOiB0cnVlLCAuLi5vcHRpb25zIH0pXG5cbiAgICAgICAgaWYgKHRoaXMuaG9yaXpvbnRhbCA9PSBudWxsICYmIHRoaXMudmVydGljYWwgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsID0gdHJ1ZVxuICAgICAgICAgICAgdGhpcy52ZXJ0aWNhbCA9IHRydWVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNhcHR1cmUoZXZlbnRzOiBPYnNlcnZhYmxlPEdlc3R1cmVEZXRhaWw+KTogT2JzZXJ2YWJsZTxHZXN0dXJlQ2FwdHVyZVN0YXRlPiB7XG4gICAgICAgIHJldHVybiBldmVudHMucGlwZShcbiAgICAgICAgICAgIG1hcChzdGF0ZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKHN0YXRlLnBvaW50ZXJzWzBdLmRpc3RhbmNlLngpID4gdGhpcy5kaXN0YW5jZUluY2x1c2lvbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ob3Jpem9udGFsID8gR2VzdHVyZUNhcHR1cmVTdGF0ZS5NYXliZSA6IEdlc3R1cmVDYXB0dXJlU3RhdGUuU2tpcFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyhzdGF0ZS5wb2ludGVyc1swXS5kaXN0YW5jZS55KSA+IHRoaXMuZGlzdGFuY2VJbmNsdXNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmVydGljYWwgPyBHZXN0dXJlQ2FwdHVyZVN0YXRlLk1heWJlIDogR2VzdHVyZUNhcHR1cmVTdGF0ZS5Ta2lwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBHZXN0dXJlQ2FwdHVyZVN0YXRlLlBlbmRpbmdcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBvdmVycmlkZSBoYW5kbGUoZXZlbnRzOiBPYnNlcnZhYmxlPEdlc3R1cmVEZXRhaWw+KSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZXIgPVxuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsICYmIHRoaXMudmVydGljYWxcbiAgICAgICAgICAgICAgICA/IHVwZGF0ZUFueURpcmVjdGlvblxuICAgICAgICAgICAgICAgIDogdGhpcy5ob3Jpem9udGFsXG4gICAgICAgICAgICAgICAgICA/IHVwZGF0ZUhvcml6b250YWxPbmx5XG4gICAgICAgICAgICAgICAgICA6IHVwZGF0ZVZlcnRpY2FsT25seVxuXG4gICAgICAgIHJldHVybiBzdXBlci5oYW5kbGUoZXZlbnRzKS5waXBlKHRhcCh1cGRhdGVyPFQ+KSlcbiAgICB9XG59XG5cbnR5cGUgVXBkYXRlckZuID0gKGV2ZW50OiBNdXRhYmxlPEdlc3R1cmVEcmFnRGV0YWlsPikgPT4gdm9pZFxuXG5mdW5jdGlvbiB1cGRhdGVWZXJ0aWNhbE9ubHk8VCBleHRlbmRzIEdlc3R1cmVEcmFnRGV0YWlsPihldmVudDogTXV0YWJsZTxUPikge1xuICAgIGNvbnN0IHBvaW50ZXIgPSBldmVudC5wb2ludGVyc1swXVxuICAgIHBvaW50ZXIuZGlzdGFuY2UueCA9IDBcbiAgICBwb2ludGVyLmRpcmVjdGlvbi54ID0gMFxuICAgIHBvaW50ZXIuY3VycmVudC54ID0gcG9pbnRlci5zdGFydC54XG4gICAgdXBkYXRlRXZlbnQoZXZlbnQsIHVwZGF0ZUJ5U2Nyb2xsRGlzdGFuY2VWZXJ0aWNhbClcbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9yaXpvbnRhbE9ubHk8VCBleHRlbmRzIEdlc3R1cmVEcmFnRGV0YWlsPihldmVudDogTXV0YWJsZTxUPikge1xuICAgIGNvbnN0IHBvaW50ZXIgPSBldmVudC5wb2ludGVyc1swXVxuICAgIHBvaW50ZXIuZGlzdGFuY2UueSA9IDBcbiAgICBwb2ludGVyLmRpcmVjdGlvbi55ID0gMFxuICAgIHBvaW50ZXIuY3VycmVudC55ID0gcG9pbnRlci5zdGFydC55XG4gICAgdXBkYXRlRXZlbnQoZXZlbnQsIHVwZGF0ZUJ5U2Nyb2xsRGlzdGFuY2VIb3Jpem9udGFsKVxufVxuXG5mdW5jdGlvbiB1cGRhdGVBbnlEaXJlY3Rpb248VCBleHRlbmRzIEdlc3R1cmVEcmFnRGV0YWlsPihldmVudDogTXV0YWJsZTxUPikge1xuICAgIHVwZGF0ZUV2ZW50KGV2ZW50LCB1cGRhdGVCeVNjcm9sbERpc3RhbmNlQm90aClcbn1cblxuZnVuY3Rpb24gdXBkYXRlRXZlbnQ8VCBleHRlbmRzIEdlc3R1cmVEcmFnRGV0YWlsPihldmVudDogTXV0YWJsZTxUPiwgc2Nyb2xsVXBkYXRlOiBVcGRhdGVyRm4pIHtcbiAgICBldmVudC5tb3ZlQnkgPSB7IC4uLmV2ZW50LnBvaW50ZXJzWzBdLmRpc3RhbmNlIH1cbiAgICBzY3JvbGxVcGRhdGUoZXZlbnQpXG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUJ5U2Nyb2xsRGlzdGFuY2VWZXJ0aWNhbDxUIGV4dGVuZHMgR2VzdHVyZURyYWdEZXRhaWw+KGV2ZW50OiBNdXRhYmxlPFQ+KSB7XG4gICAgY29uc3Qgc2QgPSBldmVudC5zY3JvbGxEaXN0YW5jZVxuICAgIGlmIChzZCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVyblxuICAgIH1cbiAgICBldmVudC5tb3ZlQnkueSArPSBzZC55XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUJ5U2Nyb2xsRGlzdGFuY2VIb3Jpem9udGFsPFQgZXh0ZW5kcyBHZXN0dXJlRHJhZ0RldGFpbD4oZXZlbnQ6IE11dGFibGU8VD4pIHtcbiAgICBjb25zdCBzZCA9IGV2ZW50LnNjcm9sbERpc3RhbmNlXG4gICAgaWYgKHNkID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGV2ZW50Lm1vdmVCeS54ICs9IHNkLnhcbn1cblxuZnVuY3Rpb24gdXBkYXRlQnlTY3JvbGxEaXN0YW5jZUJvdGg8VCBleHRlbmRzIEdlc3R1cmVEcmFnRGV0YWlsPihldmVudDogTXV0YWJsZTxUPikge1xuICAgIGNvbnN0IHNkID0gZXZlbnQuc2Nyb2xsRGlzdGFuY2VcbiAgICBpZiAoc2QgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm5cbiAgICB9XG4gICAgZXZlbnQubW92ZUJ5LnggKz0gc2QueFxuICAgIGV2ZW50Lm1vdmVCeS55ICs9IHNkLnlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlc3R1cmVEcmFnKG9wdGlvbnM/OiBHZXN0dXJlRHJhZ09wdGlvbnMpIHtcbiAgICByZXR1cm4gbmV3IEdlc3R1cmVEcmFnSW1wbChvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgR2VzdHVyZURhcmcgPSBnZXN0dXJlRHJhZygpXG5leHBvcnQgY29uc3QgR2VzdHVyZURhcmdIb3Jpem9udGFsID0gZ2VzdHVyZURyYWcoeyBob3Jpem9udGFsOiB0cnVlLCB2ZXJ0aWNhbDogZmFsc2UgfSlcbmV4cG9ydCBjb25zdCBHZXN0dXJlRGFyZ1ZlcnRpY2FsID0gZ2VzdHVyZURyYWcoeyBob3Jpem9udGFsOiBmYWxzZSwgdmVydGljYWw6IHRydWUgfSlcbiJdfQ==
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
const PHANTOM = Symbol("phantom");
|
|
2
1
|
export const Listeners = {
|
|
3
2
|
mousedown: {
|
|
4
3
|
pointerType: "mouse" /* GesturePointerType.Mouse */,
|
|
@@ -42,4 +41,4 @@ export const Listeners = {
|
|
|
42
41
|
// options: { capture: true, passive: false }
|
|
43
42
|
// }
|
|
44
43
|
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FyaWEvc3JjL2dlc3R1cmVzL2dlc3R1cmUtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMENBLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBNkM7SUFDL0QsU0FBUyxFQUFFO1FBQ1AsV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyxrQ0FBb0I7UUFDekIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsU0FBUyxFQUFFO1FBQ1AsV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyxvQ0FBcUI7UUFDMUIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsT0FBTyxFQUFFO1FBQ0wsV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyw4QkFBa0I7UUFDdkIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyxrQ0FBb0I7UUFDekIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsU0FBUyxFQUFFO1FBQ1AsV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyxvQ0FBcUI7UUFDMUIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsUUFBUSxFQUFFO1FBQ04sV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyw4QkFBa0I7UUFDdkIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsV0FBVyxFQUFFO1FBQ1QsV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyw4QkFBa0I7UUFDdkIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsSUFBSTtJQUNKLGlCQUFpQjtJQUNqQiw2Q0FBNkM7SUFDN0MsaUNBQWlDO0lBQ2pDLGlEQUFpRDtJQUNqRCxJQUFJO0NBQ0UsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSBcIkBuZ3V0aWwvc3R5bGVcIlxuXG5leHBvcnQgaW50ZXJmYWNlIEdlc3R1cmVEZXRhaWwge1xuICAgIHJlYWRvbmx5IG9yaWdpbjogR2VzdHVyZU9yaWdpblxuICAgIHJlYWRvbmx5IHRhcmdldDogSFRNTEVsZW1lbnRcbiAgICByZWFkb25seSBwb2ludGVyVHlwZTogR2VzdHVyZVBvaW50ZXJUeXBlXG4gICAgcmVhZG9ubHkgcGhhc2U6IEdlc3R1cmVQaGFzZVxuICAgIHJlYWRvbmx5IHBvaW50ZXJzOiBSZWFkb25seUFycmF5PEdlc3R1cmVQb2ludGVyPlxuICAgIHJlYWRvbmx5IHRpbWVTdGFtcDogbnVtYmVyXG4gICAgcmVhZG9ubHkgZWxhcHNlZDogbnVtYmVyXG4gICAgcmVhZG9ubHkgc2Nyb2xsRGlzdGFuY2U/OiBQb3NpdGlvblxufVxuXG5leHBvcnQgdHlwZSBQb2ludGVyc1Bvc2l0aW9uID0gUmVhZG9ubHlBcnJheTxSZWFkb25seTxQb3NpdGlvbj4+XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VzdHVyZVBvaW50ZXIge1xuICAgIHJlYWRvbmx5IHN0YXJ0OiBQb3NpdGlvblxuICAgIHJlYWRvbmx5IGN1cnJlbnQ6IFBvc2l0aW9uXG4gICAgcmVhZG9ubHkgZW5kPzogUG9zaXRpb25cbiAgICByZWFkb25seSBkaXN0YW5jZTogUG9zaXRpb25cbiAgICByZWFkb25seSBkaXJlY3Rpb246IHsgeDogLTEgfCAwIHwgMTsgeTogLTEgfCAwIHwgMSB9XG59XG5cbmV4cG9ydCB0eXBlIEdlc3R1cmVPcmlnaW4gPSBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudFxuXG5leHBvcnQgY29uc3QgZW51bSBHZXN0dXJlUG9pbnRlclR5cGUge1xuICAgIE1vdXNlID0gXCJtb3VzZVwiLFxuICAgIFRvdWNoID0gXCJ0b3VjaFwiXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIEdlc3R1cmVQaGFzZSB7XG4gICAgU3RhcnQgPSBcInN0YXJ0XCIsXG4gICAgTW92aW5nID0gXCJtb3ZpbmdcIixcbiAgICBFbmQgPSBcImVuZFwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VzdHVyZUxpc3RlbmVyQ29uZmlnIHtcbiAgICBvcHRpb25zPzogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnNcbiAgICBwb2ludGVyVHlwZTogR2VzdHVyZVBvaW50ZXJUeXBlXG4gICAgcGhhc2U6IEdlc3R1cmVQaGFzZVxufVxuXG5leHBvcnQgY29uc3QgTGlzdGVuZXJzOiB7IFtrZXk6IHN0cmluZ106IEdlc3R1cmVMaXN0ZW5lckNvbmZpZyB9ID0ge1xuICAgIG1vdXNlZG93bjoge1xuICAgICAgICBwb2ludGVyVHlwZTogR2VzdHVyZVBvaW50ZXJUeXBlLk1vdXNlLFxuICAgICAgICBwaGFzZTogR2VzdHVyZVBoYXNlLlN0YXJ0LFxuICAgICAgICBvcHRpb25zOiB7IGNhcHR1cmU6IHRydWUsIHBhc3NpdmU6IGZhbHNlIH1cbiAgICB9LFxuICAgIG1vdXNlbW92ZToge1xuICAgICAgICBwb2ludGVyVHlwZTogR2VzdHVyZVBvaW50ZXJUeXBlLk1vdXNlLFxuICAgICAgICBwaGFzZTogR2VzdHVyZVBoYXNlLk1vdmluZyxcbiAgICAgICAgb3B0aW9uczogeyBjYXB0dXJlOiB0cnVlLCBwYXNzaXZlOiBmYWxzZSB9XG4gICAgfSxcbiAgICBtb3VzZXVwOiB7XG4gICAgICAgIHBvaW50ZXJUeXBlOiBHZXN0dXJlUG9pbnRlclR5cGUuTW91c2UsXG4gICAgICAgIHBoYXNlOiBHZXN0dXJlUGhhc2UuRW5kLFxuICAgICAgICBvcHRpb25zOiB7IGNhcHR1cmU6IHRydWUsIHBhc3NpdmU6IGZhbHNlIH1cbiAgICB9LFxuICAgIHRvdWNoc3RhcnQ6IHtcbiAgICAgICAgcG9pbnRlclR5cGU6IEdlc3R1cmVQb2ludGVyVHlwZS5Ub3VjaCxcbiAgICAgICAgcGhhc2U6IEdlc3R1cmVQaGFzZS5TdGFydCxcbiAgICAgICAgb3B0aW9uczogeyBjYXB0dXJlOiB0cnVlLCBwYXNzaXZlOiBmYWxzZSB9XG4gICAgfSxcbiAgICB0b3VjaG1vdmU6IHtcbiAgICAgICAgcG9pbnRlclR5cGU6IEdlc3R1cmVQb2ludGVyVHlwZS5Ub3VjaCxcbiAgICAgICAgcGhhc2U6IEdlc3R1cmVQaGFzZS5Nb3ZpbmcsXG4gICAgICAgIG9wdGlvbnM6IHsgY2FwdHVyZTogdHJ1ZSwgcGFzc2l2ZTogZmFsc2UgfVxuICAgIH0sXG4gICAgdG91Y2hlbmQ6IHtcbiAgICAgICAgcG9pbnRlclR5cGU6IEdlc3R1cmVQb2ludGVyVHlwZS5Ub3VjaCxcbiAgICAgICAgcGhhc2U6IEdlc3R1cmVQaGFzZS5FbmQsXG4gICAgICAgIG9wdGlvbnM6IHsgY2FwdHVyZTogdHJ1ZSwgcGFzc2l2ZTogZmFsc2UgfVxuICAgIH0sXG4gICAgdG91Y2hjYW5jZWw6IHtcbiAgICAgICAgcG9pbnRlclR5cGU6IEdlc3R1cmVQb2ludGVyVHlwZS5Ub3VjaCxcbiAgICAgICAgcGhhc2U6IEdlc3R1cmVQaGFzZS5FbmQsXG4gICAgICAgIG9wdGlvbnM6IHsgY2FwdHVyZTogdHJ1ZSwgcGFzc2l2ZTogZmFsc2UgfVxuICAgIH1cbiAgICAvLyAsXG4gICAgLy8gY29udGV4dG1lbnU6IHtcbiAgICAvLyAgICAgcG9pbnRlclR5cGU6IEdlc3R1cmVQb2ludGVyVHlwZS5Nb3VzZSxcbiAgICAvLyAgICAgcGhhc2U6IEdlc3R1cmVQaGFzZS5TdGFydCxcbiAgICAvLyAgICAgb3B0aW9uczogeyBjYXB0dXJlOiB0cnVlLCBwYXNzaXZlOiBmYWxzZSB9XG4gICAgLy8gfVxufSBhcyBjb25zdFxuIl19
|
|
@@ -2,7 +2,8 @@ import { combineLatest, filter, map, startWith, timer } from "rxjs";
|
|
|
2
2
|
import { Gesture } from "./gesture";
|
|
3
3
|
export class GestureLongTapImpl extends Gesture {
|
|
4
4
|
constructor(options) {
|
|
5
|
-
super(
|
|
5
|
+
super({ pointerTypes: ["touch" /* GesturePointerType.Touch */], ...options });
|
|
6
|
+
this.type = "gesture-longtap";
|
|
6
7
|
}
|
|
7
8
|
capture(events) {
|
|
8
9
|
return combineLatest({ timeWithin: timer(this.timeWithin).pipe(startWith(null)), event: events }).pipe(map(({ timeWithin, event }) => {
|
|
@@ -30,4 +31,4 @@ export function gestureLongTap(options) {
|
|
|
30
31
|
return new GestureLongTapImpl(options);
|
|
31
32
|
}
|
|
32
33
|
export const GestureLongTap = gestureLongTap();
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS1sb25ndGFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXJpYS9zcmMvZ2VzdHVyZXMvZ2VzdHVyZS1sb25ndGFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRS9FLE9BQU8sRUFBRSxPQUFPLEVBQXVDLE1BQU0sV0FBVyxDQUFBO0FBTXhFLE1BQU0sT0FBTyxrQkFBMEUsU0FBUSxPQUFVO0lBRXJHLFlBQVksT0FBK0I7UUFDdkMsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLHdDQUEwQixFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUYxRCxTQUFJLEdBQUcsaUJBQWlCLENBQUE7SUFHakMsQ0FBQztJQUVRLE9BQU8sQ0FBQyxNQUFpQztRQUM5QyxPQUFPLGFBQWEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2xHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDMUIsSUFBSSxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEMsd0NBQStCO1lBQ25DLENBQUM7WUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLLGlDQUFxQixJQUFJLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN0RSx3Q0FBK0I7WUFDbkMsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFBO1lBRTNDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNqRywrQ0FBK0M7Z0JBQy9DLE9BQU8sVUFBVSxLQUFLLElBQUksQ0FBQyxDQUFDLHFDQUE2QixDQUFDLG9DQUE0QixDQUFBO1lBQzFGLENBQUM7aUJBQU0sQ0FBQztnQkFDSix3Q0FBK0I7WUFDbkMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUE7SUFDTCxDQUFDO0lBRVEsTUFBTSxDQUFDLE1BQWlDO1FBQzdDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FDZixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLHFDQUF1QixJQUFJLEtBQUssQ0FBQyxLQUFLLGlDQUFxQixDQUFDLENBQUMsQ0FDdkcsQ0FBQTtJQUNMLENBQUM7Q0FDSjtBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBK0I7SUFDMUQsT0FBTyxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsY0FBYyxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoLCB0aW1lciB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgR2VzdHVyZSwgR2VzdHVyZUNhcHR1cmVTdGF0ZSwgR2VzdHVyZU9wdGlvbnMgfSBmcm9tIFwiLi9nZXN0dXJlXCJcbmltcG9ydCB7IEdlc3R1cmVEZXRhaWwsIEdlc3R1cmVQaGFzZSwgR2VzdHVyZVBvaW50ZXJUeXBlIH0gZnJvbSBcIi4vZ2VzdHVyZS1ldmVudFwiXG5cbmV4cG9ydCB0eXBlIEdlc3R1cmVMb25nVGFwRGV0YWlsID0gR2VzdHVyZURldGFpbFxuZXhwb3J0IHR5cGUgR2VzdHVyZUxvbmdUYXBPcHRpb25zID0gR2VzdHVyZU9wdGlvbnM8R2VzdHVyZUxvbmdUYXBJbXBsPlxuXG5leHBvcnQgY2xhc3MgR2VzdHVyZUxvbmdUYXBJbXBsPFQgZXh0ZW5kcyBHZXN0dXJlTG9uZ1RhcERldGFpbCA9IEdlc3R1cmVMb25nVGFwRGV0YWlsPiBleHRlbmRzIEdlc3R1cmU8VD4ge1xuICAgIHJlYWRvbmx5IHR5cGUgPSBcImdlc3R1cmUtbG9uZ3RhcFwiXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucz86IEdlc3R1cmVMb25nVGFwT3B0aW9ucykge1xuICAgICAgICBzdXBlcih7IHBvaW50ZXJUeXBlczogW0dlc3R1cmVQb2ludGVyVHlwZS5Ub3VjaF0sIC4uLm9wdGlvbnMgfSlcbiAgICB9XG5cbiAgICBvdmVycmlkZSBjYXB0dXJlKGV2ZW50czogT2JzZXJ2YWJsZTxHZXN0dXJlRGV0YWlsPik6IE9ic2VydmFibGU8R2VzdHVyZUNhcHR1cmVTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh7IHRpbWVXaXRoaW46IHRpbWVyKHRoaXMudGltZVdpdGhpbikucGlwZShzdGFydFdpdGgobnVsbCkpLCBldmVudDogZXZlbnRzIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHsgdGltZVdpdGhpbiwgZXZlbnQgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5lbGFwc2VkID4gdGhpcy50aW1lV2l0aGluKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBHZXN0dXJlQ2FwdHVyZVN0YXRlLlNraXBcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQucGhhc2UgPT09IEdlc3R1cmVQaGFzZS5FbmQgJiYgZXZlbnQuZWxhcHNlZCA+IHRoaXMudGltZVdpdGhpbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2VzdHVyZUNhcHR1cmVTdGF0ZS5Ta2lwXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBldmVudC5wb2ludGVyc1swXS5kaXN0YW5jZVxuXG4gICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlLngpIDwgdGhpcy5kaXN0YW5jZUluY2x1c2lvbiAmJiBNYXRoLmFicyhkaXN0YW5jZS55KSA8IHRoaXMuZGlzdGFuY2VJbmNsdXNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gbWF5YmUgaXMgb2sgZXZlbnQucGhhc2UgPT09IEdlc3R1cmVQaGFzZS5FbmRcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRpbWVXaXRoaW4gIT09IG51bGwgPyBHZXN0dXJlQ2FwdHVyZVN0YXRlLkluc3RhbnQgOiBHZXN0dXJlQ2FwdHVyZVN0YXRlLlBlbmRpbmdcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2VzdHVyZUNhcHR1cmVTdGF0ZS5Ta2lwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGhhbmRsZShldmVudHM6IE9ic2VydmFibGU8R2VzdHVyZURldGFpbD4pIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmhhbmRsZShcbiAgICAgICAgICAgIGV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudC5waGFzZSA9PT0gR2VzdHVyZVBoYXNlLlN0YXJ0IHx8IGV2ZW50LnBoYXNlID09PSBHZXN0dXJlUGhhc2UuRW5kKSlcbiAgICAgICAgKVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlc3R1cmVMb25nVGFwKG9wdGlvbnM/OiBHZXN0dXJlTG9uZ1RhcE9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmV3IEdlc3R1cmVMb25nVGFwSW1wbChvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgR2VzdHVyZUxvbmdUYXAgPSBnZXN0dXJlTG9uZ1RhcCgpXG4iXX0=
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { filter, map } from "rxjs";
|
|
2
2
|
import { Gesture } from "./gesture";
|
|
3
3
|
export class GestureTapImpl extends Gesture {
|
|
4
|
-
constructor(
|
|
5
|
-
super(
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.type = "gesture-tap";
|
|
6
7
|
}
|
|
7
8
|
capture(events) {
|
|
8
9
|
return events.pipe(map(event => {
|
|
@@ -33,4 +34,4 @@ export function gestureTap(options) {
|
|
|
33
34
|
return new GestureTapImpl(options);
|
|
34
35
|
}
|
|
35
36
|
export const GestureTap = gestureTap();
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS10YXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hcmlhL3NyYy9nZXN0dXJlcy9nZXN0dXJlLXRhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQTtBQUU5QyxPQUFPLEVBQUUsT0FBTyxFQUF1QyxNQUFNLFdBQVcsQ0FBQTtBQU14RSxNQUFNLE9BQU8sY0FBOEQsU0FBUSxPQUFVO0lBQTdGOztRQUNhLFNBQUksR0FBRyxhQUFhLENBQUE7SUE4QmpDLENBQUM7SUE1QlksT0FBTyxDQUFDLE1BQWlDO1FBQzlDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDZCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtZQUMzQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDakcsT0FBTztnQkFDUCwwQ0FBMEM7Z0JBQzFDLGdHQUFnRztnQkFDaEcsNkNBQTZDO2dCQUM3QyxlQUFlO2dCQUNmLDBDQUEwQztnQkFDMUMsUUFBUTtnQkFDUixXQUFXO2dCQUNYLHlDQUF5QztnQkFDekMsSUFBSTtnQkFDSixPQUFPLEtBQUssQ0FBQyxLQUFLLGlDQUFxQixDQUFDLENBQUMscUNBQTZCLENBQUMsb0NBQTRCLENBQUE7WUFDdkcsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLHdDQUErQjtZQUNuQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQTtJQUNMLENBQUM7SUFFUSxNQUFNLENBQUMsTUFBaUM7UUFDN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUsscUNBQXVCLElBQUksS0FBSyxDQUFDLEtBQUssaUNBQXFCLENBQUMsQ0FBQyxDQUN2RyxDQUFBO0lBQ0wsQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxPQUEyQjtJQUNsRCxPQUFPLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3RDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsVUFBVSxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgR2VzdHVyZSwgR2VzdHVyZUNhcHR1cmVTdGF0ZSwgR2VzdHVyZU9wdGlvbnMgfSBmcm9tIFwiLi9nZXN0dXJlXCJcbmltcG9ydCB7IEdlc3R1cmVEZXRhaWwsIEdlc3R1cmVQaGFzZSB9IGZyb20gXCIuL2dlc3R1cmUtZXZlbnRcIlxuXG5leHBvcnQgdHlwZSBHZXN0dXJlVGFwRGV0YWlsID0gR2VzdHVyZURldGFpbFxuZXhwb3J0IHR5cGUgR2VzdHVyZVRhcE9wdGlvbnMgPSBHZXN0dXJlT3B0aW9uczxHZXN0dXJlVGFwSW1wbD5cblxuZXhwb3J0IGNsYXNzIEdlc3R1cmVUYXBJbXBsPFQgZXh0ZW5kcyBHZXN0dXJlVGFwRGV0YWlsID0gR2VzdHVyZVRhcERldGFpbD4gZXh0ZW5kcyBHZXN0dXJlPFQ+IHtcbiAgICByZWFkb25seSB0eXBlID0gXCJnZXN0dXJlLXRhcFwiXG5cbiAgICBvdmVycmlkZSBjYXB0dXJlKGV2ZW50czogT2JzZXJ2YWJsZTxHZXN0dXJlRGV0YWlsPik6IE9ic2VydmFibGU8R2VzdHVyZUNhcHR1cmVTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gZXZlbnRzLnBpcGUoXG4gICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZXZlbnQucG9pbnRlcnNbMF0uZGlzdGFuY2VcbiAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2UueCkgPCB0aGlzLmRpc3RhbmNlSW5jbHVzaW9uICYmIE1hdGguYWJzKGRpc3RhbmNlLnkpIDwgdGhpcy5kaXN0YW5jZUluY2x1c2lvbikge1xuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIChldmVudC5waGFzZSA9PT0gR2VzdHVyZVBoYXNlLkVuZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gZXZlbnQub3JpZ2luLnRhcmdldCB8fCBldmVudC50YXJnZXQuY29udGFpbnMoZXZlbnQub3JpZ2luLnRhcmdldCkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICByZXR1cm4gR2VzdHVyZUNhcHR1cmVTdGF0ZS5JbnN0YW50XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHJldHVybiBHZXN0dXJlQ2FwdHVyZVN0YXRlLlNraXBcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIHJldHVybiBHZXN0dXJlQ2FwdHVyZVN0YXRlLlBlbmRpbmdcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQucGhhc2UgPT09IEdlc3R1cmVQaGFzZS5FbmQgPyBHZXN0dXJlQ2FwdHVyZVN0YXRlLkluc3RhbnQgOiBHZXN0dXJlQ2FwdHVyZVN0YXRlLlBlbmRpbmdcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2VzdHVyZUNhcHR1cmVTdGF0ZS5Ta2lwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGhhbmRsZShldmVudHM6IE9ic2VydmFibGU8R2VzdHVyZURldGFpbD4pIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmhhbmRsZShcbiAgICAgICAgICAgIGV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudC5waGFzZSA9PT0gR2VzdHVyZVBoYXNlLlN0YXJ0IHx8IGV2ZW50LnBoYXNlID09PSBHZXN0dXJlUGhhc2UuRW5kKSlcbiAgICAgICAgKVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlc3R1cmVUYXAob3B0aW9ucz86IEdlc3R1cmVUYXBPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyBHZXN0dXJlVGFwSW1wbChvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgR2VzdHVyZVRhcCA9IGdlc3R1cmVUYXAoKVxuIl19
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Listeners } from "./gesture-event";
|
|
2
2
|
export class Gesture {
|
|
3
|
-
constructor(
|
|
4
|
-
this.name = name;
|
|
3
|
+
constructor(options) {
|
|
5
4
|
/**
|
|
6
5
|
* Gestures that depends on move distance, like drag, use this option
|
|
7
6
|
*/
|
|
@@ -64,4 +63,4 @@ export class Gesture {
|
|
|
64
63
|
(event.origin instanceof MouseEvent && this.mouseButtons.includes(event.origin.button))));
|
|
65
64
|
}
|
|
66
65
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FyaWEvc3JjL2dlc3R1cmVzL2dlc3R1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFxQyxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQXNCOUUsTUFBTSxPQUFnQixPQUFPO0lBOEN6QixZQUFZLE9BQXlCO1FBeENyQzs7V0FFRztRQUNNLHNCQUFpQixHQUFHLEVBQUUsQ0FBQTtRQUUvQjs7V0FFRztRQUNNLGVBQVUsR0FBRyxHQUFHLENBQUE7UUFFekI7O1dBRUc7UUFDTSxhQUFRLEdBQUcsQ0FBQyxDQUFBO1FBRXJCOztXQUVHO1FBQ00sMEJBQXFCLEdBQVksS0FBSyxDQUFBO1FBRS9DOztXQUVHO1FBQ00saUJBQVksR0FBOEIsZ0ZBQW9ELENBQUE7UUFFdkc7O1dBRUc7UUFDTSxpQkFBWSxHQUFXLENBQUMsQ0FBQTtRQUVqQzs7V0FFRztRQUNNLGlCQUFZLEdBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFRdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO0lBQy9HLENBQUM7SUFVRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxNQUFpQztRQUNwQyxPQUFPLE1BQWdDLENBQUE7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsS0FBb0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxLQUFvQjtRQUNoQyxPQUFPLENBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztZQUM3QyxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVcsQ0FBQztZQUNuRCxDQUFDLEtBQUssQ0FBQyxXQUFXLDJDQUE2QjtnQkFDM0MsQ0FBQyxLQUFLLENBQUMsTUFBTSxZQUFZLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FDL0YsQ0FBQTtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IEZ1bmN0aW9uS2V5cywgTXV0YWJsZSB9IGZyb20gXCJ1dGlsaXR5LXR5cGVzXCJcblxuaW1wb3J0IHsgR2VzdHVyZURldGFpbCwgR2VzdHVyZVBvaW50ZXJUeXBlLCBMaXN0ZW5lcnMgfSBmcm9tIFwiLi9nZXN0dXJlLWV2ZW50XCJcblxuZXhwb3J0IGNvbnN0IGVudW0gR2VzdHVyZUNhcHR1cmVTdGF0ZSB7XG4gICAgLy8gVW5jaGVja2VkXG4gICAgVW5jaGVja2VkID0gMCxcbiAgICAvLyBQZW5kaW5nIHN0YXRlXG4gICAgUGVuZGluZyA9IDEsXG4gICAgLy8gU2tpcCBjYXB0dXJlXG4gICAgU2tpcCA9IDIsXG4gICAgLy8gRGV0ZXJtaW5lIGJ5IHByaW9yaXR5XG4gICAgTWF5YmUgPSAzLFxuICAgIC8vIEluc3Rhbmx0eSB0ZXJtaW5hdGUgY2FwdHVyZSwgYW5kIGZpcmUgZXZlbnRcbiAgICBJbnN0YW50ID0gNFxufVxuXG50eXBlIF9HZXN0dXJlT3B0aW9ucyA9IFBhcnRpYWw8T21pdDxHZXN0dXJlPGFueT4sIFwib3JpZ2luVHlwZXNcIiB8IFwidHlwZVwiIHwgRnVuY3Rpb25LZXlzPEdlc3R1cmU8YW55Pj4+PlxuZXhwb3J0IHR5cGUgR2VzdHVyZU9wdGlvbnM8VCBleHRlbmRzIG9iamVjdD4gPSBQYXJ0aWFsPE9taXQ8VCwga2V5b2YgR2VzdHVyZTxhbnk+IHwgRnVuY3Rpb25LZXlzPFQ+Pj4gJiBfR2VzdHVyZU9wdGlvbnNcblxuZXhwb3J0IHR5cGUgR2VzdHVyZUV2ZW50PEcgZXh0ZW5kcyBHZXN0dXJlPiA9IEcgZXh0ZW5kcyBHZXN0dXJlPGluZmVyIEU+ICYgeyB0eXBlOiBpbmZlciBUIH1cbiAgICA/IEN1c3RvbUV2ZW50PEU+ICYgeyB0eXBlOiBUIH1cbiAgICA6IG5ldmVyXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHZXN0dXJlPFQgZXh0ZW5kcyBHZXN0dXJlRGV0YWlsID0gR2VzdHVyZURldGFpbD4ge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBnZXN0dXJlXG4gICAgICovXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgdHlwZTogc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBHZXN0dXJlcyB0aGF0IGRlcGVuZHMgb24gbW92ZSBkaXN0YW5jZSwgbGlrZSBkcmFnLCB1c2UgdGhpcyBvcHRpb25cbiAgICAgKi9cbiAgICByZWFkb25seSBkaXN0YW5jZUluY2x1c2lvbiA9IDEwXG5cbiAgICAvKipcbiAgICAgKiBHZXN0dXJlcyB0aGV0IGRlcGVuZG5zbyBvbiB0aW1lIGZyYW1lLCBsaWtlIGxvbmd0YXAsIHVzZSB0aGlzIG9wdGlvblxuICAgICAqL1xuICAgIHJlYWRvbmx5IHRpbWVXaXRoaW4gPSAzMDBcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcmlvcml0eSBvZiB0aGUgZ2VzdHVyZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHByaW9yaXR5ID0gMFxuXG4gICAgLyoqXG4gICAgICogU2hvdWxkIHRoZSBnZXN0dXJlIGluY2x1ZGUgdGhlIHNjcm9sbCBkaXN0YW5jZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGluY2x1ZGVTY3JvbGxEaXN0YW5jZTogYm9vbGVhbiA9IGZhbHNlXG5cbiAgICAvKipcbiAgICAgKiBUaGUgcG9pbnRlciB0eXBlcyBvZiB0aGUgZ2VzdHVyZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBvaW50ZXJUeXBlczogQXJyYXk8R2VzdHVyZVBvaW50ZXJUeXBlPiA9IFtHZXN0dXJlUG9pbnRlclR5cGUuTW91c2UsIEdlc3R1cmVQb2ludGVyVHlwZS5Ub3VjaF1cblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgcG9pbnRlcnMgb2YgdGhlIGdlc3R1cmUgY2FuIGhhbmRsZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBvaW50ZXJDb3VudDogbnVtYmVyID0gMVxuXG4gICAgLyoqXG4gICAgICogVGhlIG1vdXNlIGJ1dHRvbnMgb2YgdGhlIGdlc3R1cmUgKDEgPSBsZWZ0LCAyID0gbWlkZGxlLCAzID0gcmlnaHQpXG4gICAgICovXG4gICAgcmVhZG9ubHkgbW91c2VCdXR0b25zOiBBcnJheTxudW1iZXI+ID0gWzBdXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZXZlbnQgdHlwZXMgb2YgdGhlIGdlc3R1cmUgY2FuIGhhbmRsZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9yaWdpblR5cGVzOiBBcnJheTxzdHJpbmc+XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zPzogX0dlc3R1cmVPcHRpb25zKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgb3B0aW9ucylcbiAgICAgICAgdGhpcy5vcmlnaW5UeXBlcyA9IE9iamVjdC5rZXlzKExpc3RlbmVycykuZmlsdGVyKHYgPT4gdGhpcy5wb2ludGVyVHlwZXMuaW5jbHVkZXMoTGlzdGVuZXJzW3ZdLnBvaW50ZXJUeXBlKSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUZXN0IGlmIHRoZSBnZXN0dXJlIHNob3VsZCBiZSBjYXB0dXJlZC5cbiAgICAgKiBUaGUgZ2l2ZW4gZXZlbnRzIGlzIGZpbHRlcmRlIGJ5IHtAc2VlIEdlc3R1cmUjc2hvdWxkQ2FwdHVyZX1cbiAgICAgKiAhIGltcG9ydGFudCwgZG9udCByZWx5IG9uIHRoaXMgb2JqZWN0IHN0YXRlLCBiZWNhdXNlIG5vdCBhbHdheXMgY3JlYXRlIGEgbmV3IG9iamVjdFxuICAgICAqIEBwYXJhbSBldmVudHMgZXZlbnRzIHRvIGNoZWNrXG4gICAgICovXG4gICAgYWJzdHJhY3QgY2FwdHVyZShldmVudHM6IE9ic2VydmFibGU8R2VzdHVyZURldGFpbD4pOiBPYnNlcnZhYmxlPEdlc3R1cmVDYXB0dXJlU3RhdGU+XG5cbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm0gaW5wdXQgZXZlbnQsIHRvIGdlc3R1cmUgZXZlbnQuXG4gICAgICogVGhlIGdpdmVuIGV2ZW50cyBpcyBmaWx0ZXJkZSBieSB7QHNlZSBHZXN0dXJlI2lzUmVsZXZhbnRFdmVudH1cbiAgICAgKiAhIGltcG9ydGFudCwgZG9udCByZWx5IG9uIHRoaXMgb2JqZWN0IHN0YXRlLCBiZWNhdXNlIG5vdCBhbHdheXMgY3JlYXRlIGEgbmV3IG9iamVjdFxuICAgICAqIEBwYXJhbSBldmVudHMgZXZlbnRzIHRvIHRyYW5zZm9ybSBvciBmaWx0ZXIgb3IgbGVhdmUgYXMgaXNcbiAgICAgKi9cbiAgICBoYW5kbGUoZXZlbnRzOiBPYnNlcnZhYmxlPEdlc3R1cmVEZXRhaWw+KTogT2JzZXJ2YWJsZTxNdXRhYmxlPFQ+PiB7XG4gICAgICAgIHJldHVybiBldmVudHMgYXMgT2JzZXJ2YWJsZTxNdXRhYmxlPFQ+PlxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3VsZCB0aGlzIGdlc3R1cmUgY2FwdHVyZSB0aGUgZXZlbnQ/XG4gICAgICogQHBhcmFtIGV2ZW50IGV2ZW50IHRvIGNoZWNrXG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgZ2VzdHVyZSBzaG91bGQgY2FwdHVyZSB0aGUgZXZlbnQsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIHNob3VsZENhcHR1cmUoZXZlbnQ6IEdlc3R1cmVEZXRhaWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNSZWxldmFudEV2ZW50KGV2ZW50KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRlc3QgaWYgdGhlIGV2ZW50IGlzIHJlbGV2YW50IHRvIHRoZSBnZXN0dXJlLlxuICAgICAqIFRoZSBldmVudCBpcyByZWxldmFudCBpZlxuICAgICAqIEBwYXJhbSBldmVudCBldmVudCB0byBjaGVja1xuICAgICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGV2ZW50IGlzIHJlbGV2YW50LCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBpc1JlbGV2YW50RXZlbnQoZXZlbnQ6IEdlc3R1cmVEZXRhaWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucG9pbnRlclR5cGVzLmluY2x1ZGVzKGV2ZW50LnBvaW50ZXJUeXBlKSAmJlxuICAgICAgICAgICAgdGhpcy5wb2ludGVyQ291bnQgPT09IGV2ZW50LnBvaW50ZXJzLmxlbmd0aCAmJlxuICAgICAgICAgICAgdGhpcy5vcmlnaW5UeXBlcy5pbmNsdWRlcyhldmVudC5vcmlnaW4udHlwZSBhcyBhbnkpICYmXG4gICAgICAgICAgICAoZXZlbnQucG9pbnRlclR5cGUgIT09IEdlc3R1cmVQb2ludGVyVHlwZS5Nb3VzZSB8fFxuICAgICAgICAgICAgICAgIChldmVudC5vcmlnaW4gaW5zdGFuY2VvZiBNb3VzZUV2ZW50ICYmIHRoaXMubW91c2VCdXR0b25zLmluY2x1ZGVzKGV2ZW50Lm9yaWdpbi5idXR0b24pKSlcbiAgICAgICAgKVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -119,7 +119,7 @@ export class GestureService {
|
|
|
119
119
|
);
|
|
120
120
|
return selectGesture.pipe(switchMap(({ events, gesture }) => gesture
|
|
121
121
|
.handle(eventStream.pipe(startWith(...events), filter(gesture.isRelevantEvent.bind(gesture))))
|
|
122
|
-
.pipe(takeWhile(v => v.phase !== "end" /* GesturePhase.End */, true), tap(detail => dispatchEvent(new CustomEvent(gesture.
|
|
122
|
+
.pipe(takeWhile(v => v.phase !== "end" /* GesturePhase.End */, true), tap(detail => dispatchEvent(new CustomEvent(gesture.type, { detail, bubbles: true, cancelable: true })))
|
|
123
123
|
// finalize(() => console.log("GESTURE FINALIZE")),
|
|
124
124
|
)),
|
|
125
125
|
// finalize(() => console.log("FINALIZE RESULT")),
|
|
@@ -136,8 +136,8 @@ export class GestureService {
|
|
|
136
136
|
const element = coerceElement(el);
|
|
137
137
|
const next = dst.next.bind(dst);
|
|
138
138
|
for (const gesture of gestures) {
|
|
139
|
-
element[ADD_EVENT_LISTENER](gesture.
|
|
140
|
-
dst.add(element[REMOVE_EVENT_LISTENER].bind(element, gesture.
|
|
139
|
+
element[ADD_EVENT_LISTENER](gesture.type, next);
|
|
140
|
+
dst.add(element[REMOVE_EVENT_LISTENER].bind(element, gesture.type, next));
|
|
141
141
|
}
|
|
142
142
|
dst.add(this.#watch(element, ...gestures).subscribe());
|
|
143
143
|
}));
|
|
@@ -279,4 +279,4 @@ function updatePointers(state) {
|
|
|
279
279
|
function direction(prev, curr) {
|
|
280
280
|
return curr > prev ? 1 : curr < prev ? -1 : 0;
|
|
281
281
|
}
|
|
282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXJpYS9zcmMvZ2VzdHVyZXMvZ2VzdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFL0QsT0FBTyxFQUNILGFBQWEsRUFDYixPQUFPLEVBQ1AsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsSUFBSSxFQUNKLEtBQUssRUFDTCxTQUFTLEVBQ1QsT0FBTyxFQUVQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxFQUNOLE1BQU0sTUFBTSxDQUFBO0FBSWIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWdCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUloRyxPQUFPLEVBT0gsU0FBUyxFQUNaLE1BQU0saUJBQWlCLENBQUE7O0FBRXhCLE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUE7QUFDOUQsTUFBTSxxQkFBcUIsR0FBRyxlQUFlLENBQUMscUJBQXFCLENBQUMsQ0FBQTtBQUNwRSxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUE7QUFvQ3ZELE1BQU0sdUJBQXVCLEdBQTRCLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFBO0FBRzFFLE1BQU0sT0FBTyxjQUFjO0lBQ2QsS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN0QixTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxD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QUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIlxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIlxuXG5pbXBvcnQge1xuICAgIGNvbWJpbmVMYXRlc3QsXG4gICAgY29ubmVjdCxcbiAgICBkZWJvdW5jZVRpbWUsXG4gICAgZmlsdGVyLFxuICAgIGZpbmFsaXplLFxuICAgIG1hcCxcbiAgICBtZXJnZSxcbiAgICBPYnNlcnZhYmxlLFxuICAgIHNjYW4sXG4gICAgc2hhcmUsXG4gICAgc3RhcnRXaXRoLFxuICAgIFN1YmplY3QsXG4gICAgU3Vic2NyaWJlcixcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZVdoaWxlLFxuICAgIHRhcFxufSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IE11dGFibGUgfSBmcm9tIFwidXRpbGl0eS10eXBlc1wiXG5cbmltcG9ydCB7IF9fem9uZV9zeW1ib2xfXywgY29lcmNlRWxlbWVudCwgRWxlbWVudElucHV0LCBpc0ZhbHN5LCBpc1RydXRoeSB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gXCJAbmd1dGlsL3N0eWxlXCJcblxuaW1wb3J0IHsgR2VzdHVyZSwgR2VzdHVyZUNhcHR1cmVTdGF0ZSB9IGZyb20gXCIuL2dlc3R1cmVcIlxuaW1wb3J0IHtcbiAgICBHZXN0dXJlRGV0YWlsLFxuICAgIEdlc3R1cmVFdmVudCxcbiAgICBHZXN0dXJlTGlzdGVuZXJDb25maWcsXG4gICAgR2VzdHVyZU9yaWdpbixcbiAgICBHZXN0dXJlUGhhc2UsXG4gICAgR2VzdHVyZVBvaW50ZXJUeXBlLFxuICAgIExpc3RlbmVyc1xufSBmcm9tIFwiLi9nZXN0dXJlLWV2ZW50XCJcblxuY29uc3QgQUREX0VWRU5UX0xJU1RFTkVSID0gX196b25lX3N5bWJvbF9fKFwiYWRkRXZlbnRMaXN0ZW5lclwiKVxuY29uc3QgUkVNT1ZFX0VWRU5UX0xJU1RFTkVSID0gX196b25lX3N5bWJvbF9fKFwicmVtb3ZlRXZlbnRMaXN0ZW5lclwiKVxuY29uc3QgRElTUEFUQ0hfRVZFTlQgPSBfX3pvbmVfc3ltYm9sX18oXCJkaXNwYXRjaEV2ZW50XCIpXG5cbnR5cGUgR2VzdHVyZXNUb0V2ZW50c1R5cGU8VCBleHRlbmRzIEFycmF5PEdlc3R1cmU+PiA9XG4gICAgVCBleHRlbmRzIEFycmF5PGluZmVyIEc+ID8gKEcgZXh0ZW5kcyBHZXN0dXJlPGluZmVyIEU+ID8gRSA6IG5ldmVyKSA6IG5ldmVyXG5cbnR5cGUgR2VzdHVyZUV2ZW50RGlzY3JpbWluYXRvcjxUPiA9IFQgZXh0ZW5kcyB7IHR5cGU6IGluZmVyIE4gfSA/IHsgdHlwZTogTiB9ICYgVCA6IG5ldmVyXG5cbmV4cG9ydCB0eXBlIEdlc3R1cmVXYXRjaFJldHVybnM8VCBleHRlbmRzIEFycmF5PEdlc3R1cmU+PiA9IE9ic2VydmFibGU8XG4gICAgR2VzdHVyZUV2ZW50RGlzY3JpbWluYXRvcjxHZXN0dXJlc1RvRXZlbnRzVHlwZTxUPj5cbj5cblxuZXhwb3J0IHR5cGUgR2VzdHVyZUxpc3RlblJldHVybnM8VCBleHRlbmRzIEFycmF5PEdlc3R1cmU+PiA9IE9ic2VydmFibGU8R2VzdHVyZUV2ZW50PEdlc3R1cmVzVG9FdmVudHNUeXBlPFQ+Pj5cblxuaW50ZXJmYWNlIEJlZ2luU3RhdGUge1xuICAgIGRldGFpbDogR2VzdHVyZURldGFpbFxuICAgIGdlc3R1cmVzOiBNYXA8R2VzdHVyZSwgR2VzdHVyZUNhcHR1cmVTdGF0ZT5cbiAgICBpbmNsdWRlU2Nyb2xsRGlzdGFuY2U6IGJvb2xlYW5cbn1cblxuaW50ZXJmYWNlIENhcHR1cmVTdGF0ZSB7XG4gICAgZXZlbnRzOiBHZXN0dXJlRGV0YWlsW11cbiAgICBnZXN0dXJlczogQmVnaW5TdGF0ZVtcImdlc3R1cmVzXCJdXG4gICAgaW5jbHVkZVNjcm9sbERpc3RhbmNlOiBCZWdpblN0YXRlW1wiaW5jbHVkZVNjcm9sbERpc3RhbmNlXCJdXG59XG5cbmludGVyZmFjZSBDYXB0dXJlU2VsZWN0U3RhdGUge1xuICAgIGV2ZW50czogR2VzdHVyZURldGFpbFtdXG4gICAgZ2VzdHVyZT86IEdlc3R1cmVcbiAgICB3YXRjaGVycz86IEFycmF5PFdhdGNoZXI+XG59XG5cbmludGVyZmFjZSBXYXRjaGVyIHtcbiAgICByZWFkb25seSBlbDogSFRNTEVsZW1lbnRcbiAgICByZWFkb25seSBnZXN0dXJlOiBHZXN0dXJlXG59XG5cbmNvbnN0IFNDUk9MTF9MSVNURU5FUl9PUFRJT05TOiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA9IHsgcGFzc2l2ZTogdHJ1ZSB9XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcbmV4cG9ydCBjbGFzcyBHZXN0dXJlU2VydmljZSB7XG4gICAgcmVhZG9ubHkgI3pvbmUgPSBpbmplY3QoTmdab25lKVxuICAgIHJlYWRvbmx5ICNkb2N1bWVudCA9IGluamVjdChET0NVTUVOVClcblxuICAgICN3YXRjaGVyczogV2F0Y2hlcltdID0gW11cbiAgICByZWFkb25seSAjdHJpZ2dlciA9IG5ldyBTdWJqZWN0PEdlc3R1cmVEZXRhaWw+KClcblxuICAgIHJlYWRvbmx5ICNtb3Zpbmc6IE9ic2VydmFibGU8R2VzdHVyZURldGFpbD4gPSBtZXJnZShcbiAgICAgICAgLi4uT2JqZWN0LmtleXMoTGlzdGVuZXJzKVxuICAgICAgICAgICAgLmZpbHRlcihuYW1lID0+IExpc3RlbmVyc1tuYW1lXS5waGFzZSA9PT0gR2VzdHVyZVBoYXNlLk1vdmluZylcbiAgICAgICAgICAgIC5tYXAobmFtZSA9PiB0aGlzLiNsaXN0ZW4obmFtZSwgTGlzdGVuZXJzW25hbWVdKSlcbiAgICApLnBpcGUoc2hhcmUoKSlcblxuICAgIHJlYWRvbmx5ICNlbmQ6IE9ic2VydmFibGU8R2VzdHVyZURldGFpbD4gPSBtZXJnZShcbiAgICAgICAgLi4uT2JqZWN0LmtleXMoTGlzdGVuZXJzKVxuICAgICAgICAgICAgLmZpbHRlcihuYW1lID0+IExpc3RlbmVyc1tuYW1lXS5waGFzZSA9PT0gR2VzdHVyZVBoYXNlLkVuZClcbiAgICAgICAgICAgIC5tYXAobmFtZSA9PiB0aGlzLiNsaXN0ZW4obmFtZSwgTGlzdGVuZXJzW25hbWVdKSlcbiAgICApLnBpcGUoc2hhcmUoKSlcblxuICAgIHJlYWRvbmx5ICNldmVudFN0cmVhbSA9IG1lcmdlKHRoaXMuI21vdmluZywgdGhpcy4jZW5kKS5waXBlKHNoYXJlKCkpXG5cbiAgICByZWFkb25seSAjYmVnaW4gPSBuZXcgT2JzZXJ2YWJsZSgoZHN0OiBTdWJzY3JpYmVyPEJlZ2luU3RhdGU+KSA9PiB7XG4gICAgICAgIGxldCBwb2ludGVyVHlwZTogR2VzdHVyZVBvaW50ZXJUeXBlIHwgdW5kZWZpbmVkXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuI3RyaWdnZXJcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwb2ludGVyVHlwZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyVHlwZSA9IGV2ZW50LnBvaW50ZXJUeXBlXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQucG9pbnRlclR5cGUgPT09IHBvaW50ZXJUeXBlXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY29ubmVjdChldmVudHMgPT5cbiAgICAgICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyByZXNldCBwb2ludGVyVHlwZSBvbiBlbmQsIGFmdGVyIDIwMG1zLCBiZWNhdXNlIHRvdWNoZW5kIGlzIG1heWJlIGZvbGxvd2VkIGJ5IGEgbW91c2UgZXZlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuI2VuZC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXJUeXBlID0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuI2VuYWJsZVRvdWNoQWN0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIC8vIFNlbGVjdCBhY3RpdmUgd2F0Y2hlcnNcbiAgICAgICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVQb2ludGVycyhldmVudClcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC50YXJnZXRcbiAgICAgICAgICAgICAgICAgICAgbGV0IGluY2x1ZGVTY3JvbGxEaXN0YW5jZSA9IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdlc3R1cmVzID0gdGhpcy4jd2F0Y2hlcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHsgZ2VzdHVyZSwgZWwgfSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VzdHVyZS5zaG91bGRDYXB0dXJlKGV2ZW50KSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZWwgPT09IGV2ZW50VGFyZ2V0IHx8IChcImNvbnRhaW5zXCIgaW4gZWwgJiYgZWwuY29udGFpbnMoZXZlbnRUYXJnZXQpKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdlc3R1cmVzLCB7IGdlc3R1cmUgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWdlc3R1cmVzLmhhcyhnZXN0dXJlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZVNjcm9sbERpc3RhbmNlID0gaW5jbHVkZVNjcm9sbERpc3RhbmNlIHx8IGdlc3R1cmUuaW5jbHVkZVNjcm9sbERpc3RhbmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXN0dXJlcy5zZXQoZ2VzdHVyZSwgR2VzdHVyZUNhcHR1cmVTdGF0ZS5VbmNoZWNrZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdlc3R1cmVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgTWFwKCkgYXMgQmVnaW5TdGF0ZVtcImdlc3R1cmVzXCJdXG4gICAgICAgICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgZGV0YWlsOiBldmVudCwgZ2VzdHVyZXMsIGluY2x1ZGVTY3JvbGxEaXN0YW5jZSB9IHNhdGlzZmllcyBCZWdpblN0YXRlXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKCh7IGdlc3R1cmVzIH0pID0+IGdlc3R1cmVzLnNpemUgPiAwKSxcbiAgICAgICAgICAgICAgICB0YXAodGhpcy4jZGlzYWJsZVRvdWNoQWN0aW9uKVxuICAgICAgICAgICAgICAgIC8vIGZpbmFsaXplKCgpID0+IGNvbnNvbGUubG9nKFwiRklOQUxJWkUgQkVHSU5cIikpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGRzdClcbiAgICB9KVxuXG4gICAgcmVhZG9ubHkgI2dlc3R1cmUgPSB0aGlzLiNiZWdpbi5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHsgZGV0YWlsOiBzdGFydEV2ZW50LCBnZXN0dXJlcywgaW5jbHVkZVNjcm9sbERpc3RhbmNlIH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ZXJUeXBlID0gc3RhcnRFdmVudC5wb2ludGVyVHlwZVxuICAgICAgICAgICAgY29uc3Qgc3RhcnRBdCA9IHN0YXJ0RXZlbnQub3JpZ2luLnRpbWVTdGFtcFxuICAgICAgICAgICAgY29uc3QgZGlzcGF0Y2hFdmVudCA9IHN0YXJ0RXZlbnQudGFyZ2V0W0RJU1BBVENIX0VWRU5UXS5iaW5kKHN0YXJ0RXZlbnQudGFyZ2V0KVxuXG4gICAgICAgICAgICBjb25zdCBldmVudFN0cmVhbUluaXQgPSB0aGlzLiNldmVudFN0cmVhbS5waXBlKFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChzdGFydEV2ZW50KSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQucG9pbnRlclR5cGUgPT09IHBvaW50ZXJUeXBlKVxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBjb25zdCBldmVudFN0cmVhbVNvdXJjZSA9ICFpbmNsdWRlU2Nyb2xsRGlzdGFuY2VcbiAgICAgICAgICAgICAgICA/IGV2ZW50U3RyZWFtSW5pdFxuICAgICAgICAgICAgICAgIDogY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnRTdHJlYW1Jbml0LFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuI3Njcm9sbERpc3RhbmNlKHN0YXJ0RXZlbnQudGFyZ2V0KS5waXBlKHN0YXJ0V2l0aCh7IHg6IDAsIHk6IDAgfSkpXG4gICAgICAgICAgICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgIG1hcCgoW3NyYywgZGlzdGFuY2VdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDsoc3JjIGFzIE11dGFibGU8R2VzdHVyZURldGFpbD4pLnNjcm9sbERpc3RhbmNlID0gZGlzdGFuY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNyY1xuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGNvbnN0IGV2ZW50U3RyZWFtID0gZXZlbnRTdHJlYW1Tb3VyY2UucGlwZShcbiAgICAgICAgICAgICAgICBzY2FuKFxuICAgICAgICAgICAgICAgICAgICAoc3RhdGUsIGN1cnIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQb2ludGVycyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uY3VycixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGFwc2VkOiBjdXJyLm9yaWdpbi50aW1lU3RhbXAgLSBzdGFydEF0IVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0RXZlbnRcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRha2VXaGlsZShldmVudCA9PiBldmVudC5waGFzZSAhPT0gR2VzdHVyZVBoYXNlLkVuZCwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgLy8gZmluYWxpemUoKCkgPT4gY29uc29sZS5sb2coXCJGSU5BTElaRSBXQVRDSFwiKSksXG4gICAgICAgICAgICAgICAgc2hhcmUoKVxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBjb25zdCBjYXB0dXJlU3RhdGUgPSBldmVudFN0cmVhbS5waXBlKFxuICAgICAgICAgICAgICAgIGNvbm5lY3Qoc3JjID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhdGU6IENhcHR1cmVTdGF0ZSA9IHsgZXZlbnRzOiBbXSwgZ2VzdHVyZXMsIGluY2x1ZGVTY3JvbGxEaXN0YW5jZSB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYy5waXBlKHRhcChldmVudCA9PiBzdGF0ZS5ldmVudHMucHVzaChldmVudCkpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLkFycmF5LmZyb20oZ2VzdHVyZXMua2V5cygpKS5tYXAoZ2VzdHVyZSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlc3R1cmUuY2FwdHVyZShzcmMucGlwZShmaWx0ZXIoZ2VzdHVyZS5zaG91bGRDYXB0dXJlLmJpbmQoZ2VzdHVyZSkpKSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVdoaWxlKHJlc3VsdCA9PiByZXN1bHQgIT09IEdlc3R1cmVDYXB0dXJlU3RhdGUuU2tpcCwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcChyZXN1bHQgPT4gZ2VzdHVyZXMuc2V0KGdlc3R1cmUsIHJlc3VsdCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApLnBpcGUobWFwKCgpID0+IHN0YXRlKSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC8vICxmaW5hbGl6ZSgoKSA9PiBjb25zb2xlLmxvZyhcIkZJTkFMSVpFIENBUFRVUkVcIikpXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdEdlc3R1cmUgPSBjYXB0dXJlU3RhdGUucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoc3RhdGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJ0aXRpb25zOiB7IFtrIGluIEdlc3R1cmVDYXB0dXJlU3RhdGVdPzogR2VzdHVyZVtdIH0gPSB7fVxuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW2dlc3R1cmUsIGNhcHR1cmVTdGF0ZV0gb2Ygc3RhdGUuZ2VzdHVyZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcnRpdGlvbiA9IChwYXJ0aXRpb25zW2NhcHR1cmVTdGF0ZV0gPz89IFtdKVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uLnB1c2goZ2VzdHVyZSlcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwYXJ0aXRpb25zW0dlc3R1cmVDYXB0dXJlU3RhdGUuSW5zdGFudF0gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXN0dXJlOiBwYXJ0aXRpb25zW0dlc3R1cmVDYXB0dXJlU3RhdGUuSW5zdGFudF0uc29ydChzb3J0QnlQcmlwb3JpdHkpWzBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50czogc3RhdGUuZXZlbnRzXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIENhcHR1cmVTZWxlY3RTdGF0ZVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gd2hpbGUgbm90IGFsbCBnZXN0dXJlcyByZXR1cm4gZnJvbSBHZXN0dXJlLmNhcHR1cmVcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnRpdGlvbnNbR2VzdHVyZUNhcHR1cmVTdGF0ZS5VbmNoZWNrZWRdICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyB3aGlsZSBoYXMgcGVuZGluZywgdGhlIGNhcHR1cmUgaXMgY29udGludWVkXG4gICAgICAgICAgICAgICAgICAgIGlmIChwYXJ0aXRpb25zW0dlc3R1cmVDYXB0dXJlU3RhdGUuUGVuZGluZ10gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIG5vIHBlbmRpZyAmIGhhcyBtYXliZVxuICAgICAgICAgICAgICAgICAgICBpZiAocGFydGl0aW9uc1tHZXN0dXJlQ2FwdHVyZVN0YXRlLk1heWJlXSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlc3R1cmU6IHBhcnRpdGlvbnNbR2VzdHVyZUNhcHR1cmVTdGF0ZS5NYXliZV0uc29ydChzb3J0QnlQcmlwb3JpdHkpWzBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50czogc3RhdGUuZXZlbnRzXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIENhcHR1cmVTZWxlY3RTdGF0ZVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbm8gcGVuZGluZyAmIG5vIG1heWJlICYgbm8gdGVybWluYXRlXG4gICAgICAgICAgICAgICAgICAgIC8vIHNvLCBub3RoaWduIG1hdGNoZWRcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgZXZlbnRzOiBzdGF0ZS5ldmVudHMgfSBhcyBDYXB0dXJlU2VsZWN0U3RhdGVcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlV2hpbGUoaXNGYWxzeSwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKGlzVHJ1dGh5KSxcbiAgICAgICAgICAgICAgICB0YWtlV2hpbGUodiA9PiB2IS5nZXN0dXJlICE9IG51bGwsIGZhbHNlKVxuICAgICAgICAgICAgICAgIC8vIGZpbmFsaXplKCgpID0+IGNvbnNvbGUubG9nKFwiRklOQUxJWkUgU0VMRUNUXCIpKVxuICAgICAgICAgICAgKSBhcyBPYnNlcnZhYmxlPFJlcXVpcmVkPENhcHR1cmVTZWxlY3RTdGF0ZT4+XG5cbiAgICAgICAgICAgIHJldHVybiBzZWxlY3RHZXN0dXJlLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCh7IGV2ZW50cywgZ2VzdHVyZSB9KSA9PlxuICAgICAgICAgICAgICAgICAgICBnZXN0dXJlXG4gICAgICAgICAgICAgICAgICAgICAgICAuaGFuZGxlKGV2ZW50U3RyZWFtLnBpcGUoc3RhcnRXaXRoKC4uLmV2ZW50cyksIGZpbHRlcihnZXN0dXJlLmlzUmVsZXZhbnRFdmVudC5iaW5kKGdlc3R1cmUpKSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlV2hpbGUodiA9PiB2LnBoYXNlICE9PSBHZXN0dXJlUGhhc2UuRW5kLCB0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXAoZGV0YWlsID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoZ2VzdHVyZS5uYW1lLCB7IGRldGFpbCwgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZpbmFsaXplKCgpID0+IGNvbnNvbGUubG9nKFwiR0VTVFVSRSBGSU5BTElaRVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAvLyBmaW5hbGl6ZSgoKSA9PiBjb25zb2xlLmxvZyhcIkZJTkFMSVpFIFJFU1VMVFwiKSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUodGhpcy4jZW5hYmxlVG91Y2hBY3Rpb24pXG4gICAgICAgICAgICApXG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZSgpXG4gICAgKVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IHRyaWdnZXJzID0gbWVyZ2UoXG4gICAgICAgICAgICAuLi5PYmplY3Qua2V5cyhMaXN0ZW5lcnMpXG4gICAgICAgICAgICAgICAgLmZpbHRlcihuYW1lID0+IExpc3RlbmVyc1tuYW1lXS5waGFzZSA9PT0gR2VzdHVyZVBoYXNlLlN0YXJ0KVxuICAgICAgICAgICAgICAgIC5tYXAobmFtZSA9PiB0aGlzLiNsaXN0ZW4obmFtZSwgTGlzdGVuZXJzW25hbWVdKSlcbiAgICAgICAgKVxuICAgICAgICB0cmlnZ2Vycy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUodGhpcy4jdHJpZ2dlcilcbiAgICB9XG5cbiAgICBsaXN0ZW48VCBleHRlbmRzIEFycmF5PEdlc3R1cmU+PihlbDogRWxlbWVudElucHV0LCAuLi5nZXN0dXJlczogVCk6IEdlc3R1cmVMaXN0ZW5SZXR1cm5zPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChkc3Q6IFN1YnNjcmliZXI8R2VzdHVyZURldGFpbD4pID0+XG4gICAgICAgICAgICB0aGlzLiN6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gY29lcmNlRWxlbWVudChlbClcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0ID0gZHN0Lm5leHQuYmluZChkc3QpXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBnZXN0dXJlIG9mIGdlc3R1cmVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRbQUREX0VWRU5UX0xJU1RFTkVSXShnZXN0dXJlLm5hbWUgYXMgYW55LCBuZXh0KVxuICAgICAgICAgICAgICAgICAgICBkc3QuYWRkKGVsZW1lbnRbUkVNT1ZFX0VWRU5UX0xJU1RFTkVSXS5iaW5kKGVsZW1lbnQsIGdlc3R1cmUubmFtZSBhcyBhbnksIG5leHQgYXMgYW55KSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZHN0LmFkZCh0aGlzLiN3YXRjaChlbGVtZW50LCAuLi5nZXN0dXJlcykuc3Vic2NyaWJlKCkpXG4gICAgICAgICAgICB9KVxuICAgICAgICApIGFzIGFueVxuICAgIH1cblxuICAgICN3YXRjaDxUIGV4dGVuZHMgQXJyYXk8R2VzdHVyZT4+KGVsOiBFbGVtZW50SW5wdXQsIC4uLmdlc3R1cmVzOiBUKTogR2VzdHVyZVdhdGNoUmV0dXJuczxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZHN0OiBTdWJzY3JpYmVyPEdlc3R1cmVEZXRhaWw+KSA9PlxuICAgICAgICAgICAgdGhpcy4jem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGNvZXJjZUVsZW1lbnQoZWwpXG4gICAgICAgICAgICAgICAgY29uc3Qgd2F0Y2hlcnMgPSBnZXN0dXJlcy5tYXAoZ2VzdHVyZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGdlc3R1cmUsIGVsOiBlbGVtZW50IH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHRoaXMuI2FkZCh3YXRjaGVycylcbiAgICAgICAgICAgICAgICBkc3QuYWRkKHRoaXMuI2dlc3R1cmUuc3Vic2NyaWJlKGRzdCkpXG4gICAgICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4jcmVtb3ZlKHdhdGNoZXJzKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICkgYXMgYW55XG4gICAgfVxuXG4gICAgI2FkZCh3YXRjaGVyczogV2F0Y2hlcltdKSB7XG4gICAgICAgIHRoaXMuI3dhdGNoZXJzID0gdGhpcy4jd2F0Y2hlcnMuY29uY2F0KHdhdGNoZXJzKVxuICAgIH1cblxuICAgICNyZW1vdmUod2F0Y2hlcnM6IFdhdGNoZXJbXSkge1xuICAgICAgICB0aGlzLiN3YXRjaGVycyA9IHRoaXMuI3dhdGNoZXJzLmZpbHRlcih2ID0+ICF3YXRjaGVycy5pbmNsdWRlcyh2KSlcbiAgICB9XG5cbiAgICAjbGlzdGVuKG5hbWU6IHN0cmluZywgY29uZmlnOiBHZXN0dXJlTGlzdGVuZXJDb25maWcpIHtcbiAgICAgICAgY29uc3QgeyBwaGFzZSwgcG9pbnRlclR5cGUsIG9wdGlvbnMgfSA9IGNvbmZpZ1xuXG4gICAgICAgIGNvbnN0IHRvUmVzdWx0ID1cbiAgICAgICAgICAgIHBoYXNlID09PSBHZXN0dXJlUGhhc2UuU3RhcnRcbiAgICAgICAgICAgICAgICA/IChvcmlnaW46IEdlc3R1cmVPcmlnaW4pID0+XG4gICAgICAgICAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwaGFzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlclR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogb3JpZ2luLnRhcmdldCBhcyBIVE1MRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgIH0pIGFzIEdlc3R1cmVEZXRhaWxcbiAgICAgICAgICAgICAgICA6IChvcmlnaW46IEdlc3R1cmVPcmlnaW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAob3JpZ2luLmNhbmNlbGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgb3JpZ2luLCBwaGFzZSwgcG9pbnRlclR5cGUgfSBhcyBHZXN0dXJlRGV0YWlsXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChkc3Q6IFN1YnNjcmliZXI8R2VzdHVyZURldGFpbD4pID0+XG4gICAgICAgICAgICB0aGlzLiN6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBsaXN0ZW5lciA9IChvcmlnaW46IEdlc3R1cmVPcmlnaW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9yaWdpbi5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkc3QubmV4dCh0b1Jlc3VsdChvcmlnaW4pKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiYWRkRXZlbnRMaXN0ZW5lclwiLCBuYW1lKVxuICAgICAgICAgICAgICAgIHRoaXMuI2RvY3VtZW50W0FERF9FVkVOVF9MSVNURU5FUl0obmFtZSBhcyBrZXlvZiBEb2N1bWVudEV2ZW50TWFwLCBsaXN0ZW5lciBhcyBhbnksIG9wdGlvbnMpXG4gICAgICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJyZW1vdmVFdmVudExpc3RlbmVyXCIsIG5hbWUpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI2RvY3VtZW50W1JFTU9WRV9FVkVOVF9MSVNURU5FUl0obmFtZSBhcyBrZXlvZiBEb2N1bWVudEV2ZW50TWFwLCBsaXN0ZW5lciBhcyBhbnksIG9wdGlvbnMpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cblxuICAgICNzY3JvbGxEaXN0YW5jZShlbGVtZW50OiBFbGVtZW50KTogT2JzZXJ2YWJsZTxQb3NpdGlvbj4ge1xuICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgICAgICAgIGxldCB4ID0gMFxuICAgICAgICAgICAgbGV0IHkgPSAwXG4gICAgICAgICAgICBsZXQgcCA9IGVsZW1lbnRcbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgICB4ICs9IHAuc2Nyb2xsTGVmdCA/PyAwXG4gICAgICAgICAgICAgICAgeSArPSBwLnNjcm9sbFRvcCA/PyAwXG4gICAgICAgICAgICAgICAgcCA9IHAucGFyZW50Tm9kZSBhcyBFbGVtZW50XG4gICAgICAgICAgICB9IHdoaWxlIChwICE9IG51bGwpXG4gICAgICAgICAgICByZXR1cm4geyB4LCB5IH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZHN0OiBTdWJzY3JpYmVyPFBvc2l0aW9uPikgPT5cbiAgICAgICAgICAgIHRoaXMuI3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluaXRpYWwgPSBzY3JvbGxQb3NpdGlvbigpXG4gICAgICAgICAgICAgICAgY29uc3QgbGlzdGVuZXIgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSBzY3JvbGxQb3NpdGlvbigpXG4gICAgICAgICAgICAgICAgICAgIGRzdC5uZXh0KHsgeDogY3VycmVudC54IC0gaW5pdGlhbC54LCB5OiBjdXJyZW50LnkgLSBpbml0aWFsLnkgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy4jZG9jdW1lbnRbQUREX0VWRU5UX0xJU1RFTkVSXShcInNjcm9sbFwiLCBsaXN0ZW5lciwgU0NST0xMX0xJU1RFTkVSX09QVElPTlMpXG4gICAgICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4jZG9jdW1lbnRbUkVNT1ZFX0VWRU5UX0xJU1RFTkVSXShcInNjcm9sbFwiLCBsaXN0ZW5lciwgU0NST0xMX0xJU1RFTkVSX09QVElPTlMpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cblxuICAgICNsYXN0VG91Y2hBY3Rpb24/OiBzdHJpbmdcbiAgICAjZGlzYWJsZVRvdWNoQWN0aW9uID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGhpcy4jbGFzdFRvdWNoQWN0aW9uID09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuI2xhc3RUb3VjaEFjdGlvbiA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuI2RvY3VtZW50LmJvZHkpLnRvdWNoQWN0aW9uXG4gICAgICAgICAgICB0aGlzLiNkb2N1bWVudC5ib2R5LnN0eWxlLnRvdWNoQWN0aW9uID0gXCJub25lXCJcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNlbmFibGVUb3VjaEFjdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRoaXMuI2xhc3RUb3VjaEFjdGlvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLiNkb2N1bWVudC5ib2R5LnN0eWxlLnRvdWNoQWN0aW9uID0gdGhpcy4jbGFzdFRvdWNoQWN0aW9uXG4gICAgICAgICAgICB0aGlzLiNsYXN0VG91Y2hBY3Rpb24gPSB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gc29ydEJ5UHJpcG9yaXR5KGE6IEdlc3R1cmUsIGI6IEdlc3R1cmUpIHtcbiAgICByZXR1cm4gYi5wcmlvcml0eSAtIGEucHJpb3JpdHlcbn1cblxuZnVuY3Rpb24gcG9pbnRlcnNGcm9tRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogUG9zaXRpb25bXSB7XG4gICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHg6IGV2ZW50LmNsaWVudFgsXG4gICAgICAgICAgICAgICAgeTogZXZlbnQuY2xpZW50WVxuICAgICAgICAgICAgfVxuICAgICAgICBdXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oZXZlbnQudG91Y2hlcykubWFwKHQgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgeDogdC5jbGllbnRYLCB5OiB0LmNsaWVudFkgfVxuICAgICAgICB9KVxuICAgIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlUG9pbnRlcnMoc3RhdGU6IE11dGFibGU8R2VzdHVyZURldGFpbD4pOiBHZXN0dXJlRGV0YWlsIHtcbiAgICBpZiAoc3RhdGUucGhhc2UgPT09IEdlc3R1cmVQaGFzZS5TdGFydCkge1xuICAgICAgICBzdGF0ZS5wb2ludGVycyA9IHBvaW50ZXJzRnJvbUV2ZW50KHN0YXRlLm9yaWdpbikubWFwKHYgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnQ6IHYsIGN1cnJlbnQ6IHYsIGRpc3RhbmNlOiB7IHg6IDAsIHk6IDAgfSwgZGlyZWN0aW9uOiB7IHg6IDAsIHk6IDAgfSB9XG4gICAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChzdGF0ZS5wb2ludGVycykge1xuICAgICAgICBjb25zdCBwb2ludGVycyA9IHBvaW50ZXJzRnJvbUV2ZW50KHN0YXRlLm9yaWdpbilcbiAgICAgICAgaWYgKHBvaW50ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlXG4gICAgICAgIH1cblxuICAgICAgICBzdGF0ZS5wb2ludGVycyA9IHN0YXRlLnBvaW50ZXJzLm1hcCgodiwgaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcCA9IHBvaW50ZXJzW2ldXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHN0YXJ0OiB2LnN0YXJ0LFxuICAgICAgICAgICAgICAgIGN1cnJlbnQ6IHAsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2U6IHsgeDogcC54IC0gdi5zdGFydC54LCB5OiBwLnkgLSB2LnN0YXJ0LnkgfSxcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb246IHsgeDogZGlyZWN0aW9uKHYuc3RhcnQueCwgcC54KSwgeTogZGlyZWN0aW9uKHYuc3RhcnQueSwgcC55KSB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlXG59XG5cbmZ1bmN0aW9uIGRpcmVjdGlvbihwcmV2OiBudW1iZXIsIGN1cnI6IG51bWJlcik6IC0xIHwgMCB8IDEge1xuICAgIHJldHVybiBjdXJyID4gcHJldiA/IDEgOiBjdXJyIDwgcHJldiA/IC0xIDogMFxufVxuIl19
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXJpYS9zcmMvZ2VzdHVyZXMvZ2VzdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFL0QsT0FBTyxFQUNILGFBQWEsRUFDYixPQUFPLEVBQ1AsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsSUFBSSxFQUNKLEtBQUssRUFDTCxTQUFTLEVBQ1QsT0FBTyxFQUVQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxFQUNOLE1BQU0sTUFBTSxDQUFBO0FBSWIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWdCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUloRyxPQUFPLEVBTUgsU0FBUyxFQUNaLE1BQU0saUJBQWlCLENBQUE7O0FBRXhCLE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUE7QUFDOUQsTUFBTSxxQkFBcUIsR0FBRyxlQUFlLENBQUMscUJBQXFCLENBQUMsQ0FBQTtBQUNwRSxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUE7QUFvQ3ZELE1BQU0sdUJBQXVCLEdBQTRCLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFBO0FBRzFFLE1BQU0sT0FBTyxjQUFjO0lBQ2QsS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN0QixTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxD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QUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIlxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIlxuXG5pbXBvcnQge1xuICAgIGNvbWJpbmVMYXRlc3QsXG4gICAgY29ubmVjdCxcbiAgICBkZWJvdW5jZVRpbWUsXG4gICAgZmlsdGVyLFxuICAgIGZpbmFsaXplLFxuICAgIG1hcCxcbiAgICBtZXJnZSxcbiAgICBPYnNlcnZhYmxlLFxuICAgIHNjYW4sXG4gICAgc2hhcmUsXG4gICAgc3RhcnRXaXRoLFxuICAgIFN1YmplY3QsXG4gICAgU3Vic2NyaWJlcixcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZVdoaWxlLFxuICAgIHRhcFxufSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IE11dGFibGUgfSBmcm9tIFwidXRpbGl0eS10eXBlc1wiXG5cbmltcG9ydCB7IF9fem9uZV9zeW1ib2xfXywgY29lcmNlRWxlbWVudCwgRWxlbWVudElucHV0LCBpc0ZhbHN5LCBpc1RydXRoeSB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gXCJAbmd1dGlsL3N0eWxlXCJcblxuaW1wb3J0IHsgR2VzdHVyZSwgR2VzdHVyZUNhcHR1cmVTdGF0ZSwgR2VzdHVyZUV2ZW50IH0gZnJvbSBcIi4vZ2VzdHVyZVwiXG5pbXBvcnQge1xuICAgIEdlc3R1cmVEZXRhaWwsXG4gICAgR2VzdHVyZUxpc3RlbmVyQ29uZmlnLFxuICAgIEdlc3R1cmVPcmlnaW4sXG4gICAgR2VzdHVyZVBoYXNlLFxuICAgIEdlc3R1cmVQb2ludGVyVHlwZSxcbiAgICBMaXN0ZW5lcnNcbn0gZnJvbSBcIi4vZ2VzdHVyZS1ldmVudFwiXG5cbmNvbnN0IEFERF9FVkVOVF9MSVNURU5FUiA9IF9fem9uZV9zeW1ib2xfXyhcImFkZEV2ZW50TGlzdGVuZXJcIilcbmNvbnN0IFJFTU9WRV9FVkVOVF9MSVNURU5FUiA9IF9fem9uZV9zeW1ib2xfXyhcInJlbW92ZUV2ZW50TGlzdGVuZXJcIilcbmNvbnN0IERJU1BBVENIX0VWRU5UID0gX196b25lX3N5bWJvbF9fKFwiZGlzcGF0Y2hFdmVudFwiKVxuXG50eXBlIEdlc3R1cmVzVG9FdmVudHNUeXBlPFQgZXh0ZW5kcyBBcnJheTxHZXN0dXJlPj4gPVxuICAgIFQgZXh0ZW5kcyBBcnJheTxpbmZlciBHPiA/IChHIGV4dGVuZHMgR2VzdHVyZSA/IEdlc3R1cmVFdmVudDxHPiA6IG5ldmVyKSA6IG5ldmVyXG5cbnR5cGUgR2VzdHVyZUV2ZW50RGlzY3JpbWluYXRvcjxUPiA9IFQgZXh0ZW5kcyB7IHR5cGU6IGluZmVyIE4gfSA/IHsgdHlwZTogTiB9ICYgVCA6IG5ldmVyXG5cbmV4cG9ydCB0eXBlIEdlc3R1cmVXYXRjaFJldHVybnM8VCBleHRlbmRzIEFycmF5PEdlc3R1cmU+PiA9IE9ic2VydmFibGU8XG4gICAgR2VzdHVyZUV2ZW50RGlzY3JpbWluYXRvcjxHZXN0dXJlc1RvRXZlbnRzVHlwZTxUPj5cbj5cblxuZXhwb3J0IHR5cGUgR2VzdHVyZUxpc3RlblJldHVybnM8VCBleHRlbmRzIEFycmF5PEdlc3R1cmU+PiA9IE9ic2VydmFibGU8R2VzdHVyZXNUb0V2ZW50c1R5cGU8VD4+XG5cbmludGVyZmFjZSBCZWdpblN0YXRlIHtcbiAgICBkZXRhaWw6IEdlc3R1cmVEZXRhaWxcbiAgICBnZXN0dXJlczogTWFwPEdlc3R1cmUsIEdlc3R1cmVDYXB0dXJlU3RhdGU+XG4gICAgaW5jbHVkZVNjcm9sbERpc3RhbmNlOiBib29sZWFuXG59XG5cbmludGVyZmFjZSBDYXB0dXJlU3RhdGUge1xuICAgIGV2ZW50czogR2VzdHVyZURldGFpbFtdXG4gICAgZ2VzdHVyZXM6IEJlZ2luU3RhdGVbXCJnZXN0dXJlc1wiXVxuICAgIGluY2x1ZGVTY3JvbGxEaXN0YW5jZTogQmVnaW5TdGF0ZVtcImluY2x1ZGVTY3JvbGxEaXN0YW5jZVwiXVxufVxuXG5pbnRlcmZhY2UgQ2FwdHVyZVNlbGVjdFN0YXRlIHtcbiAgICBldmVudHM6IEdlc3R1cmVEZXRhaWxbXVxuICAgIGdlc3R1cmU/OiBHZXN0dXJlXG4gICAgd2F0Y2hlcnM/OiBBcnJheTxXYXRjaGVyPlxufVxuXG5pbnRlcmZhY2UgV2F0Y2hlciB7XG4gICAgcmVhZG9ubHkgZWw6IEhUTUxFbGVtZW50XG4gICAgcmVhZG9ubHkgZ2VzdHVyZTogR2VzdHVyZVxufVxuXG5jb25zdCBTQ1JPTExfTElTVEVORVJfT1BUSU9OUzogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7IHBhc3NpdmU6IHRydWUgfVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46IFwicm9vdFwiIH0pXG5leHBvcnQgY2xhc3MgR2VzdHVyZVNlcnZpY2Uge1xuICAgIHJlYWRvbmx5ICN6b25lID0gaW5qZWN0KE5nWm9uZSlcbiAgICByZWFkb25seSAjZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpXG5cbiAgICAjd2F0Y2hlcnM6IFdhdGNoZXJbXSA9IFtdXG4gICAgcmVhZG9ubHkgI3RyaWdnZXIgPSBuZXcgU3ViamVjdDxHZXN0dXJlRGV0YWlsPigpXG5cbiAgICByZWFkb25seSAjbW92aW5nOiBPYnNlcnZhYmxlPEdlc3R1cmVEZXRhaWw+ID0gbWVyZ2UoXG4gICAgICAgIC4uLk9iamVjdC5rZXlzKExpc3RlbmVycylcbiAgICAgICAgICAgIC5maWx0ZXIobmFtZSA9PiBMaXN0ZW5lcnNbbmFtZV0ucGhhc2UgPT09IEdlc3R1cmVQaGFzZS5Nb3ZpbmcpXG4gICAgICAgICAgICAubWFwKG5hbWUgPT4gdGhpcy4jbGlzdGVuKG5hbWUsIExpc3RlbmVyc1tuYW1lXSkpXG4gICAgKS5waXBlKHNoYXJlKCkpXG5cbiAgICByZWFkb25seSAjZW5kOiBPYnNlcnZhYmxlPEdlc3R1cmVEZXRhaWw+ID0gbWVyZ2UoXG4gICAgICAgIC4uLk9iamVjdC5rZXlzKExpc3RlbmVycylcbiAgICAgICAgICAgIC5maWx0ZXIobmFtZSA9PiBMaXN0ZW5lcnNbbmFtZV0ucGhhc2UgPT09IEdlc3R1cmVQaGFzZS5FbmQpXG4gICAgICAgICAgICAubWFwKG5hbWUgPT4gdGhpcy4jbGlzdGVuKG5hbWUsIExpc3RlbmVyc1tuYW1lXSkpXG4gICAgKS5waXBlKHNoYXJlKCkpXG5cbiAgICByZWFkb25seSAjZXZlbnRTdHJlYW0gPSBtZXJnZSh0aGlzLiNtb3ZpbmcsIHRoaXMuI2VuZCkucGlwZShzaGFyZSgpKVxuXG4gICAgcmVhZG9ubHkgI2JlZ2luID0gbmV3IE9ic2VydmFibGUoKGRzdDogU3Vic2NyaWJlcjxCZWdpblN0YXRlPikgPT4ge1xuICAgICAgICBsZXQgcG9pbnRlclR5cGU6IEdlc3R1cmVQb2ludGVyVHlwZSB8IHVuZGVmaW5lZFxuXG4gICAgICAgIHJldHVybiB0aGlzLiN0cmlnZ2VyXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocG9pbnRlclR5cGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlclR5cGUgPSBldmVudC5wb2ludGVyVHlwZVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50LnBvaW50ZXJUeXBlID09PSBwb2ludGVyVHlwZVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNvbm5lY3QoZXZlbnRzID0+XG4gICAgICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVzZXQgcG9pbnRlclR5cGUgb24gZW5kLCBhZnRlciAyMDBtcywgYmVjYXVzZSB0b3VjaGVuZCBpcyBtYXliZSBmb2xsb3dlZCBieSBhIG1vdXNlIGV2ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNlbmQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyVHlwZSA9IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNlbmFibGVUb3VjaEFjdGlvbigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAvLyBTZWxlY3QgYWN0aXZlIHdhdGNoZXJzXG4gICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlUG9pbnRlcnMoZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV2ZW50VGFyZ2V0ID0gZXZlbnQudGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgIGxldCBpbmNsdWRlU2Nyb2xsRGlzdGFuY2UgPSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBnZXN0dXJlcyA9IHRoaXMuI3dhdGNoZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh7IGdlc3R1cmUsIGVsIH0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlc3R1cmUuc2hvdWxkQ2FwdHVyZShldmVudCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVsID09PSBldmVudFRhcmdldCB8fCAoXCJjb250YWluc1wiIGluIGVsICYmIGVsLmNvbnRhaW5zKGV2ZW50VGFyZ2V0KSkpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZXN0dXJlcywgeyBnZXN0dXJlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFnZXN0dXJlcy5oYXMoZ2VzdHVyZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVTY3JvbGxEaXN0YW5jZSA9IGluY2x1ZGVTY3JvbGxEaXN0YW5jZSB8fCBnZXN0dXJlLmluY2x1ZGVTY3JvbGxEaXN0YW5jZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VzdHVyZXMuc2V0KGdlc3R1cmUsIEdlc3R1cmVDYXB0dXJlU3RhdGUuVW5jaGVja2VkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXN0dXJlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IE1hcCgpIGFzIEJlZ2luU3RhdGVbXCJnZXN0dXJlc1wiXVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRldGFpbDogZXZlbnQsIGdlc3R1cmVzLCBpbmNsdWRlU2Nyb2xsRGlzdGFuY2UgfSBzYXRpc2ZpZXMgQmVnaW5TdGF0ZVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoeyBnZXN0dXJlcyB9KSA9PiBnZXN0dXJlcy5zaXplID4gMCksXG4gICAgICAgICAgICAgICAgdGFwKHRoaXMuI2Rpc2FibGVUb3VjaEFjdGlvbilcbiAgICAgICAgICAgICAgICAvLyBmaW5hbGl6ZSgoKSA9PiBjb25zb2xlLmxvZyhcIkZJTkFMSVpFIEJFR0lOXCIpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShkc3QpXG4gICAgfSlcblxuICAgIHJlYWRvbmx5ICNnZXN0dXJlID0gdGhpcy4jYmVnaW4ucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh7IGRldGFpbDogc3RhcnRFdmVudCwgZ2VzdHVyZXMsIGluY2x1ZGVTY3JvbGxEaXN0YW5jZSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwb2ludGVyVHlwZSA9IHN0YXJ0RXZlbnQucG9pbnRlclR5cGVcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0QXQgPSBzdGFydEV2ZW50Lm9yaWdpbi50aW1lU3RhbXBcbiAgICAgICAgICAgIGNvbnN0IGRpc3BhdGNoRXZlbnQgPSBzdGFydEV2ZW50LnRhcmdldFtESVNQQVRDSF9FVkVOVF0uYmluZChzdGFydEV2ZW50LnRhcmdldClcblxuICAgICAgICAgICAgY29uc3QgZXZlbnRTdHJlYW1Jbml0ID0gdGhpcy4jZXZlbnRTdHJlYW0ucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgoc3RhcnRFdmVudCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50LnBvaW50ZXJUeXBlID09PSBwb2ludGVyVHlwZSlcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgY29uc3QgZXZlbnRTdHJlYW1Tb3VyY2UgPSAhaW5jbHVkZVNjcm9sbERpc3RhbmNlXG4gICAgICAgICAgICAgICAgPyBldmVudFN0cmVhbUluaXRcbiAgICAgICAgICAgICAgICA6IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50U3RyZWFtSW5pdCxcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNzY3JvbGxEaXN0YW5jZShzdGFydEV2ZW50LnRhcmdldCkucGlwZShzdGFydFdpdGgoeyB4OiAwLCB5OiAwIH0pKVxuICAgICAgICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICBtYXAoKFtzcmMsIGRpc3RhbmNlXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICA7KHNyYyBhcyBNdXRhYmxlPEdlc3R1cmVEZXRhaWw+KS5zY3JvbGxEaXN0YW5jZSA9IGRpc3RhbmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzcmNcbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBjb25zdCBldmVudFN0cmVhbSA9IGV2ZW50U3RyZWFtU291cmNlLnBpcGUoXG4gICAgICAgICAgICAgICAgc2NhbihcbiAgICAgICAgICAgICAgICAgICAgKHN0YXRlLCBjdXJyKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUG9pbnRlcnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmN1cnIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxhcHNlZDogY3Vyci5vcmlnaW4udGltZVN0YW1wIC0gc3RhcnRBdCFcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFydEV2ZW50XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlV2hpbGUoZXZlbnQgPT4gZXZlbnQucGhhc2UgIT09IEdlc3R1cmVQaGFzZS5FbmQsIHRydWUpLFxuICAgICAgICAgICAgICAgIC8vIGZpbmFsaXplKCgpID0+IGNvbnNvbGUubG9nKFwiRklOQUxJWkUgV0FUQ0hcIikpLFxuICAgICAgICAgICAgICAgIHNoYXJlKClcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgY29uc3QgY2FwdHVyZVN0YXRlID0gZXZlbnRTdHJlYW0ucGlwZShcbiAgICAgICAgICAgICAgICBjb25uZWN0KHNyYyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXRlOiBDYXB0dXJlU3RhdGUgPSB7IGV2ZW50czogW10sIGdlc3R1cmVzLCBpbmNsdWRlU2Nyb2xsRGlzdGFuY2UgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmMucGlwZSh0YXAoZXZlbnQgPT4gc3RhdGUuZXZlbnRzLnB1c2goZXZlbnQpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5BcnJheS5mcm9tKGdlc3R1cmVzLmtleXMoKSkubWFwKGdlc3R1cmUgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXN0dXJlLmNhcHR1cmUoc3JjLnBpcGUoZmlsdGVyKGdlc3R1cmUuc2hvdWxkQ2FwdHVyZS5iaW5kKGdlc3R1cmUpKSkpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2VXaGlsZShyZXN1bHQgPT4gcmVzdWx0ICE9PSBHZXN0dXJlQ2FwdHVyZVN0YXRlLlNraXAsIHRydWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXAocmVzdWx0ID0+IGdlc3R1cmVzLnNldChnZXN0dXJlLCByZXN1bHQpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKS5waXBlKG1hcCgoKSA9PiBzdGF0ZSkpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAvLyAsZmluYWxpemUoKCkgPT4gY29uc29sZS5sb2coXCJGSU5BTElaRSBDQVBUVVJFXCIpKVxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RHZXN0dXJlID0gY2FwdHVyZVN0YXRlLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHN0YXRlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFydGl0aW9uczogeyBbayBpbiBHZXN0dXJlQ2FwdHVyZVN0YXRlXT86IEdlc3R1cmVbXSB9ID0ge31cblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtnZXN0dXJlLCBjYXB0dXJlU3RhdGVdIG9mIHN0YXRlLmdlc3R1cmVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJ0aXRpb24gPSAocGFydGl0aW9uc1tjYXB0dXJlU3RhdGVdID8/PSBbXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbi5wdXNoKGdlc3R1cmUpXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAocGFydGl0aW9uc1tHZXN0dXJlQ2FwdHVyZVN0YXRlLkluc3RhbnRdICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VzdHVyZTogcGFydGl0aW9uc1tHZXN0dXJlQ2FwdHVyZVN0YXRlLkluc3RhbnRdLnNvcnQoc29ydEJ5UHJpcG9yaXR5KVswXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudHM6IHN0YXRlLmV2ZW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBDYXB0dXJlU2VsZWN0U3RhdGVcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHdoaWxlIG5vdCBhbGwgZ2VzdHVyZXMgcmV0dXJuIGZyb20gR2VzdHVyZS5jYXB0dXJlXG4gICAgICAgICAgICAgICAgICAgIGlmIChwYXJ0aXRpb25zW0dlc3R1cmVDYXB0dXJlU3RhdGUuVW5jaGVja2VkXSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gd2hpbGUgaGFzIHBlbmRpbmcsIHRoZSBjYXB0dXJlIGlzIGNvbnRpbnVlZFxuICAgICAgICAgICAgICAgICAgICBpZiAocGFydGl0aW9uc1tHZXN0dXJlQ2FwdHVyZVN0YXRlLlBlbmRpbmddICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBubyBwZW5kaWcgJiBoYXMgbWF5YmVcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnRpdGlvbnNbR2VzdHVyZUNhcHR1cmVTdGF0ZS5NYXliZV0gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXN0dXJlOiBwYXJ0aXRpb25zW0dlc3R1cmVDYXB0dXJlU3RhdGUuTWF5YmVdLnNvcnQoc29ydEJ5UHJpcG9yaXR5KVswXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudHM6IHN0YXRlLmV2ZW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBDYXB0dXJlU2VsZWN0U3RhdGVcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIG5vIHBlbmRpbmcgJiBubyBtYXliZSAmIG5vIHRlcm1pbmF0ZVxuICAgICAgICAgICAgICAgICAgICAvLyBzbywgbm90aGlnbiBtYXRjaGVkXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGV2ZW50czogc3RhdGUuZXZlbnRzIH0gYXMgQ2FwdHVyZVNlbGVjdFN0YXRlXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVdoaWxlKGlzRmFsc3ksIHRydWUpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihpc1RydXRoeSksXG4gICAgICAgICAgICAgICAgdGFrZVdoaWxlKHYgPT4gdiEuZ2VzdHVyZSAhPSBudWxsLCBmYWxzZSlcbiAgICAgICAgICAgICAgICAvLyBmaW5hbGl6ZSgoKSA9PiBjb25zb2xlLmxvZyhcIkZJTkFMSVpFIFNFTEVDVFwiKSlcbiAgICAgICAgICAgICkgYXMgT2JzZXJ2YWJsZTxSZXF1aXJlZDxDYXB0dXJlU2VsZWN0U3RhdGU+PlxuXG4gICAgICAgICAgICByZXR1cm4gc2VsZWN0R2VzdHVyZS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoeyBldmVudHMsIGdlc3R1cmUgfSkgPT5cbiAgICAgICAgICAgICAgICAgICAgZ2VzdHVyZVxuICAgICAgICAgICAgICAgICAgICAgICAgLmhhbmRsZShldmVudFN0cmVhbS5waXBlKHN0YXJ0V2l0aCguLi5ldmVudHMpLCBmaWx0ZXIoZ2VzdHVyZS5pc1JlbGV2YW50RXZlbnQuYmluZChnZXN0dXJlKSkpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVdoaWxlKHYgPT4gdi5waGFzZSAhPT0gR2VzdHVyZVBoYXNlLkVuZCwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFwKGRldGFpbCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KGdlc3R1cmUudHlwZSwgeyBkZXRhaWwsIGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmaW5hbGl6ZSgoKSA9PiBjb25zb2xlLmxvZyhcIkdFU1RVUkUgRklOQUxJWkVcIikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgLy8gZmluYWxpemUoKCkgPT4gY29uc29sZS5sb2coXCJGSU5BTElaRSBSRVNVTFRcIikpLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKHRoaXMuI2VuYWJsZVRvdWNoQWN0aW9uKVxuICAgICAgICAgICAgKVxuICAgICAgICB9KSxcbiAgICAgICAgc2hhcmUoKVxuICAgIClcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCB0cmlnZ2VycyA9IG1lcmdlKFxuICAgICAgICAgICAgLi4uT2JqZWN0LmtleXMoTGlzdGVuZXJzKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIobmFtZSA9PiBMaXN0ZW5lcnNbbmFtZV0ucGhhc2UgPT09IEdlc3R1cmVQaGFzZS5TdGFydClcbiAgICAgICAgICAgICAgICAubWFwKG5hbWUgPT4gdGhpcy4jbGlzdGVuKG5hbWUsIExpc3RlbmVyc1tuYW1lXSkpXG4gICAgICAgIClcbiAgICAgICAgdHJpZ2dlcnMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKHRoaXMuI3RyaWdnZXIpXG4gICAgfVxuXG4gICAgbGlzdGVuPFQgZXh0ZW5kcyBBcnJheTxHZXN0dXJlPj4oZWw6IEVsZW1lbnRJbnB1dCwgLi4uZ2VzdHVyZXM6IFQpOiBHZXN0dXJlTGlzdGVuUmV0dXJuczxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZHN0OiBTdWJzY3JpYmVyPEdlc3R1cmVEZXRhaWw+KSA9PlxuICAgICAgICAgICAgdGhpcy4jem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGNvZXJjZUVsZW1lbnQoZWwpXG4gICAgICAgICAgICAgICAgY29uc3QgbmV4dCA9IGRzdC5uZXh0LmJpbmQoZHN0KVxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZ2VzdHVyZSBvZiBnZXN0dXJlcykge1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50W0FERF9FVkVOVF9MSVNURU5FUl0oZ2VzdHVyZS50eXBlIGFzIGFueSwgbmV4dClcbiAgICAgICAgICAgICAgICAgICAgZHN0LmFkZChlbGVtZW50W1JFTU9WRV9FVkVOVF9MSVNURU5FUl0uYmluZChlbGVtZW50LCBnZXN0dXJlLnR5cGUgYXMgYW55LCBuZXh0IGFzIGFueSkpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRzdC5hZGQodGhpcy4jd2F0Y2goZWxlbWVudCwgLi4uZ2VzdHVyZXMpLnN1YnNjcmliZSgpKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSBhcyBhbnlcbiAgICB9XG5cbiAgICAjd2F0Y2g8VCBleHRlbmRzIEFycmF5PEdlc3R1cmU+PihlbDogRWxlbWVudElucHV0LCAuLi5nZXN0dXJlczogVCk6IEdlc3R1cmVXYXRjaFJldHVybnM8VD4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRzdDogU3Vic2NyaWJlcjxHZXN0dXJlRGV0YWlsPikgPT5cbiAgICAgICAgICAgIHRoaXMuI3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBjb2VyY2VFbGVtZW50KGVsKVxuICAgICAgICAgICAgICAgIGNvbnN0IHdhdGNoZXJzID0gZ2VzdHVyZXMubWFwKGdlc3R1cmUgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBnZXN0dXJlLCBlbDogZWxlbWVudCB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB0aGlzLiNhZGQod2F0Y2hlcnMpXG4gICAgICAgICAgICAgICAgZHN0LmFkZCh0aGlzLiNnZXN0dXJlLnN1YnNjcmliZShkc3QpKVxuICAgICAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI3JlbW92ZSh3YXRjaGVycylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApIGFzIGFueVxuICAgIH1cblxuICAgICNhZGQod2F0Y2hlcnM6IFdhdGNoZXJbXSkge1xuICAgICAgICB0aGlzLiN3YXRjaGVycyA9IHRoaXMuI3dhdGNoZXJzLmNvbmNhdCh3YXRjaGVycylcbiAgICB9XG5cbiAgICAjcmVtb3ZlKHdhdGNoZXJzOiBXYXRjaGVyW10pIHtcbiAgICAgICAgdGhpcy4jd2F0Y2hlcnMgPSB0aGlzLiN3YXRjaGVycy5maWx0ZXIodiA9PiAhd2F0Y2hlcnMuaW5jbHVkZXModikpXG4gICAgfVxuXG4gICAgI2xpc3RlbihuYW1lOiBzdHJpbmcsIGNvbmZpZzogR2VzdHVyZUxpc3RlbmVyQ29uZmlnKSB7XG4gICAgICAgIGNvbnN0IHsgcGhhc2UsIHBvaW50ZXJUeXBlLCBvcHRpb25zIH0gPSBjb25maWdcblxuICAgICAgICBjb25zdCB0b1Jlc3VsdCA9XG4gICAgICAgICAgICBwaGFzZSA9PT0gR2VzdHVyZVBoYXNlLlN0YXJ0XG4gICAgICAgICAgICAgICAgPyAob3JpZ2luOiBHZXN0dXJlT3JpZ2luKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGhhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXJUeXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IG9yaWdpbi50YXJnZXQgYXMgSFRNTEVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICB9KSBhcyBHZXN0dXJlRGV0YWlsXG4gICAgICAgICAgICAgICAgOiAob3JpZ2luOiBHZXN0dXJlT3JpZ2luKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKG9yaWdpbi5jYW5jZWxhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbi5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IG9yaWdpbiwgcGhhc2UsIHBvaW50ZXJUeXBlIH0gYXMgR2VzdHVyZURldGFpbFxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZHN0OiBTdWJzY3JpYmVyPEdlc3R1cmVEZXRhaWw+KSA9PlxuICAgICAgICAgICAgdGhpcy4jem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGlzdGVuZXIgPSAob3JpZ2luOiBHZXN0dXJlT3JpZ2luKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcmlnaW4uZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZHN0Lm5leHQodG9SZXN1bHQob3JpZ2luKSlcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcImFkZEV2ZW50TGlzdGVuZXJcIiwgbmFtZSlcbiAgICAgICAgICAgICAgICB0aGlzLiNkb2N1bWVudFtBRERfRVZFTlRfTElTVEVORVJdKG5hbWUgYXMga2V5b2YgRG9jdW1lbnRFdmVudE1hcCwgbGlzdGVuZXIgYXMgYW55LCBvcHRpb25zKVxuICAgICAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwicmVtb3ZlRXZlbnRMaXN0ZW5lclwiLCBuYW1lKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLiNkb2N1bWVudFtSRU1PVkVfRVZFTlRfTElTVEVORVJdKG5hbWUgYXMga2V5b2YgRG9jdW1lbnRFdmVudE1hcCwgbGlzdGVuZXIgYXMgYW55LCBvcHRpb25zKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG5cbiAgICAjc2Nyb2xsRGlzdGFuY2UoZWxlbWVudDogRWxlbWVudCk6IE9ic2VydmFibGU8UG9zaXRpb24+IHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICBsZXQgeCA9IDBcbiAgICAgICAgICAgIGxldCB5ID0gMFxuICAgICAgICAgICAgbGV0IHAgPSBlbGVtZW50XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgeCArPSBwLnNjcm9sbExlZnQgPz8gMFxuICAgICAgICAgICAgICAgIHkgKz0gcC5zY3JvbGxUb3AgPz8gMFxuICAgICAgICAgICAgICAgIHAgPSBwLnBhcmVudE5vZGUgYXMgRWxlbWVudFxuICAgICAgICAgICAgfSB3aGlsZSAocCAhPSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIHsgeCwgeSB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRzdDogU3Vic2NyaWJlcjxQb3NpdGlvbj4pID0+XG4gICAgICAgICAgICB0aGlzLiN6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbml0aWFsID0gc2Nyb2xsUG9zaXRpb24oKVxuICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50ID0gc2Nyb2xsUG9zaXRpb24oKVxuICAgICAgICAgICAgICAgICAgICBkc3QubmV4dCh7IHg6IGN1cnJlbnQueCAtIGluaXRpYWwueCwgeTogY3VycmVudC55IC0gaW5pdGlhbC55IH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuI2RvY3VtZW50W0FERF9FVkVOVF9MSVNURU5FUl0oXCJzY3JvbGxcIiwgbGlzdGVuZXIsIFNDUk9MTF9MSVNURU5FUl9PUFRJT05TKVxuICAgICAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI2RvY3VtZW50W1JFTU9WRV9FVkVOVF9MSVNURU5FUl0oXCJzY3JvbGxcIiwgbGlzdGVuZXIsIFNDUk9MTF9MSVNURU5FUl9PUFRJT05TKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG5cbiAgICAjbGFzdFRvdWNoQWN0aW9uPzogc3RyaW5nXG4gICAgI2Rpc2FibGVUb3VjaEFjdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRoaXMuI2xhc3RUb3VjaEFjdGlvbiA9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLiNsYXN0VG91Y2hBY3Rpb24gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLiNkb2N1bWVudC5ib2R5KS50b3VjaEFjdGlvblxuICAgICAgICAgICAgdGhpcy4jZG9jdW1lbnQuYm9keS5zdHlsZS50b3VjaEFjdGlvbiA9IFwibm9uZVwiXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjZW5hYmxlVG91Y2hBY3Rpb24gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0aGlzLiNsYXN0VG91Y2hBY3Rpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy4jZG9jdW1lbnQuYm9keS5zdHlsZS50b3VjaEFjdGlvbiA9IHRoaXMuI2xhc3RUb3VjaEFjdGlvblxuICAgICAgICAgICAgdGhpcy4jbGFzdFRvdWNoQWN0aW9uID0gdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIHNvcnRCeVByaXBvcml0eShhOiBHZXN0dXJlLCBiOiBHZXN0dXJlKSB7XG4gICAgcmV0dXJuIGIucHJpb3JpdHkgLSBhLnByaW9yaXR5XG59XG5cbmZ1bmN0aW9uIHBvaW50ZXJzRnJvbUV2ZW50KGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IFBvc2l0aW9uW10ge1xuICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB4OiBldmVudC5jbGllbnRYLFxuICAgICAgICAgICAgICAgIHk6IGV2ZW50LmNsaWVudFlcbiAgICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKGV2ZW50LnRvdWNoZXMpLm1hcCh0ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7IHg6IHQuY2xpZW50WCwgeTogdC5jbGllbnRZIH1cbiAgICAgICAgfSlcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVBvaW50ZXJzKHN0YXRlOiBNdXRhYmxlPEdlc3R1cmVEZXRhaWw+KTogR2VzdHVyZURldGFpbCB7XG4gICAgaWYgKHN0YXRlLnBoYXNlID09PSBHZXN0dXJlUGhhc2UuU3RhcnQpIHtcbiAgICAgICAgc3RhdGUucG9pbnRlcnMgPSBwb2ludGVyc0Zyb21FdmVudChzdGF0ZS5vcmlnaW4pLm1hcCh2ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0OiB2LCBjdXJyZW50OiB2LCBkaXN0YW5jZTogeyB4OiAwLCB5OiAwIH0sIGRpcmVjdGlvbjogeyB4OiAwLCB5OiAwIH0gfVxuICAgICAgICB9KVxuICAgIH0gZWxzZSBpZiAoc3RhdGUucG9pbnRlcnMpIHtcbiAgICAgICAgY29uc3QgcG9pbnRlcnMgPSBwb2ludGVyc0Zyb21FdmVudChzdGF0ZS5vcmlnaW4pXG4gICAgICAgIGlmIChwb2ludGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBzdGF0ZVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGUucG9pbnRlcnMgPSBzdGF0ZS5wb2ludGVycy5tYXAoKHYsIGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHAgPSBwb2ludGVyc1tpXVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzdGFydDogdi5zdGFydCxcbiAgICAgICAgICAgICAgICBjdXJyZW50OiBwLFxuICAgICAgICAgICAgICAgIGRpc3RhbmNlOiB7IHg6IHAueCAtIHYuc3RhcnQueCwgeTogcC55IC0gdi5zdGFydC55IH0sXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uOiB7IHg6IGRpcmVjdGlvbih2LnN0YXJ0LngsIHAueCksIHk6IGRpcmVjdGlvbih2LnN0YXJ0LnksIHAueSkgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZVxufVxuXG5mdW5jdGlvbiBkaXJlY3Rpb24ocHJldjogbnVtYmVyLCBjdXJyOiBudW1iZXIpOiAtMSB8IDAgfCAxIHtcbiAgICByZXR1cm4gY3VyciA+IHByZXYgPyAxIDogY3VyciA8IHByZXYgPyAtMSA6IDBcbn1cbiJdfQ==
|
package/fesm2022/ngutil-aria.mjs
CHANGED
|
@@ -356,7 +356,6 @@ function eventToKeystroke(event) {
|
|
|
356
356
|
};
|
|
357
357
|
}
|
|
358
358
|
|
|
359
|
-
const PHANTOM = Symbol("phantom");
|
|
360
359
|
const Listeners = {
|
|
361
360
|
mousedown: {
|
|
362
361
|
pointerType: "mouse" /* GesturePointerType.Mouse */,
|
|
@@ -402,8 +401,7 @@ const Listeners = {
|
|
|
402
401
|
};
|
|
403
402
|
|
|
404
403
|
class Gesture {
|
|
405
|
-
constructor(
|
|
406
|
-
this.name = name;
|
|
404
|
+
constructor(options) {
|
|
407
405
|
/**
|
|
408
406
|
* Gestures that depends on move distance, like drag, use this option
|
|
409
407
|
*/
|
|
@@ -469,7 +467,8 @@ class Gesture {
|
|
|
469
467
|
|
|
470
468
|
class GestureDragImpl extends Gesture {
|
|
471
469
|
constructor(options) {
|
|
472
|
-
super(
|
|
470
|
+
super({ includeScrollDistance: true, ...options });
|
|
471
|
+
this.type = "gesture-drag";
|
|
473
472
|
if (this.horizontal == null && this.vertical == null) {
|
|
474
473
|
this.horizontal = true;
|
|
475
474
|
this.vertical = true;
|
|
@@ -492,7 +491,7 @@ class GestureDragImpl extends Gesture {
|
|
|
492
491
|
: this.horizontal
|
|
493
492
|
? updateHorizontalOnly
|
|
494
493
|
: updateVerticalOnly;
|
|
495
|
-
return super.handle(events).pipe(tap(updater));
|
|
494
|
+
return super.handle(events).pipe(tap((updater)));
|
|
496
495
|
}
|
|
497
496
|
}
|
|
498
497
|
function updateVerticalOnly(event) {
|
|
@@ -547,7 +546,8 @@ const GestureDargVertical = gestureDrag({ horizontal: false, vertical: true });
|
|
|
547
546
|
|
|
548
547
|
class GestureLongTapImpl extends Gesture {
|
|
549
548
|
constructor(options) {
|
|
550
|
-
super(
|
|
549
|
+
super({ pointerTypes: ["touch" /* GesturePointerType.Touch */], ...options });
|
|
550
|
+
this.type = "gesture-longtap";
|
|
551
551
|
}
|
|
552
552
|
capture(events) {
|
|
553
553
|
return combineLatest({ timeWithin: timer(this.timeWithin).pipe(startWith(null)), event: events }).pipe(map(({ timeWithin, event }) => {
|
|
@@ -577,8 +577,9 @@ function gestureLongTap(options) {
|
|
|
577
577
|
const GestureLongTap = gestureLongTap();
|
|
578
578
|
|
|
579
579
|
class GestureTapImpl extends Gesture {
|
|
580
|
-
constructor(
|
|
581
|
-
super(
|
|
580
|
+
constructor() {
|
|
581
|
+
super(...arguments);
|
|
582
|
+
this.type = "gesture-tap";
|
|
582
583
|
}
|
|
583
584
|
capture(events) {
|
|
584
585
|
return events.pipe(map(event => {
|
|
@@ -724,7 +725,7 @@ class GestureService {
|
|
|
724
725
|
);
|
|
725
726
|
return selectGesture.pipe(switchMap(({ events, gesture }) => gesture
|
|
726
727
|
.handle(eventStream.pipe(startWith(...events), filter(gesture.isRelevantEvent.bind(gesture))))
|
|
727
|
-
.pipe(takeWhile(v => v.phase !== "end" /* GesturePhase.End */, true), tap(detail => dispatchEvent(new CustomEvent(gesture.
|
|
728
|
+
.pipe(takeWhile(v => v.phase !== "end" /* GesturePhase.End */, true), tap(detail => dispatchEvent(new CustomEvent(gesture.type, { detail, bubbles: true, cancelable: true })))
|
|
728
729
|
// finalize(() => console.log("GESTURE FINALIZE")),
|
|
729
730
|
)),
|
|
730
731
|
// finalize(() => console.log("FINALIZE RESULT")),
|
|
@@ -741,8 +742,8 @@ class GestureService {
|
|
|
741
742
|
const element = coerceElement(el);
|
|
742
743
|
const next = dst.next.bind(dst);
|
|
743
744
|
for (const gesture of gestures) {
|
|
744
|
-
element[ADD_EVENT_LISTENER](gesture.
|
|
745
|
-
dst.add(element[REMOVE_EVENT_LISTENER].bind(element, gesture.
|
|
745
|
+
element[ADD_EVENT_LISTENER](gesture.type, next);
|
|
746
|
+
dst.add(element[REMOVE_EVENT_LISTENER].bind(element, gesture.type, next));
|
|
746
747
|
}
|
|
747
748
|
dst.add(this.#watch(element, ...gestures).subscribe());
|
|
748
749
|
}));
|