{"version":3,"file":"tinygesture-BNFvbqtA.js","sources":["../../../../../shared/node_modules/tinygesture/dist/TinyGesture.js"],"sourcesContent":["class TinyGesture {\n constructor(element, options) {\n this.element = element;\n this.touch1 = null;\n this.touch2 = null;\n this.touchStartX = null;\n this.touchStartY = null;\n this.touchEndX = null;\n this.touchEndY = null;\n this.touchMove1 = null;\n this.touchMove2 = null;\n this.touchMoveX = null;\n this.touchMoveY = null;\n this.velocityX = null;\n this.velocityY = null;\n this.longPressTimer = null;\n this.doubleTapTimer = null;\n this.doubleTapWaiting = false;\n this.thresholdX = 0;\n this.thresholdY = 0;\n this.disregardVelocityThresholdX = 0;\n this.disregardVelocityThresholdY = 0;\n this.swipingHorizontal = false;\n this.swipingVertical = false;\n this.swipingDirection = null;\n this.swipedHorizontal = false;\n this.swipedVertical = false;\n this.originalDistance = null;\n this.newDistance = null;\n this.scale = null;\n this.originalAngle = null;\n this.newAngle = null;\n this.rotation = null;\n this.handlers = {\n panstart: [],\n panmove: [],\n panend: [],\n swipeleft: [],\n swiperight: [],\n swipeup: [],\n swipedown: [],\n tap: [],\n doubletap: [],\n longpress: [],\n pinch: [],\n pinchend: [],\n rotate: [],\n rotateend: [],\n };\n this._onTouchStart = this.onTouchStart.bind(this);\n this._onTouchMove = this.onTouchMove.bind(this);\n this._onTouchEnd = this.onTouchEnd.bind(this);\n this.opts = Object.assign({}, TinyGesture.defaults, options);\n this.element.addEventListener('touchstart', this._onTouchStart, passiveIfSupported);\n this.element.addEventListener('touchmove', this._onTouchMove, passiveIfSupported);\n this.element.addEventListener('touchend', this._onTouchEnd, passiveIfSupported);\n if (this.opts.mouseSupport && !('ontouchstart' in window)) {\n this.element.addEventListener('mousedown', this._onTouchStart, passiveIfSupported);\n document.addEventListener('mousemove', this._onTouchMove, passiveIfSupported);\n document.addEventListener('mouseup', this._onTouchEnd, passiveIfSupported);\n }\n }\n destroy() {\n var _a, _b;\n this.element.removeEventListener('touchstart', this._onTouchStart);\n this.element.removeEventListener('touchmove', this._onTouchMove);\n this.element.removeEventListener('touchend', this._onTouchEnd);\n this.element.removeEventListener('mousedown', this._onTouchStart);\n document.removeEventListener('mousemove', this._onTouchMove);\n document.removeEventListener('mouseup', this._onTouchEnd);\n clearTimeout((_a = this.longPressTimer) !== null && _a !== void 0 ? _a : undefined);\n clearTimeout((_b = this.doubleTapTimer) !== null && _b !== void 0 ? _b : undefined);\n }\n on(type, fn) {\n if (this.handlers[type]) {\n this.handlers[type].push(fn);\n return {\n type,\n fn,\n cancel: () => this.off(type, fn),\n };\n }\n }\n off(type, fn) {\n if (this.handlers[type]) {\n const idx = this.handlers[type].indexOf(fn);\n if (idx !== -1) {\n this.handlers[type].splice(idx, 1);\n }\n }\n }\n fire(type, event) {\n for (let i = 0; i < this.handlers[type].length; i++) {\n this.handlers[type][i](event);\n }\n }\n onTouchStart(event) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;\n let didTouch1 = false;\n let didTouch2 = false;\n if (event.type !== 'mousedown') {\n if (!this.touch1) {\n this.touch1 = event.changedTouches[0];\n didTouch1 = true;\n }\n if (((didTouch1 && event.changedTouches.length > 1) || !didTouch1) && !this.touch2) {\n this.touch2 =\n [...event.changedTouches].find((touch) => { var _a; return touch.identifier !== ((_a = this.touch1) === null || _a === void 0 ? void 0 : _a.identifier); }) ||\n null;\n this.originalDistance = Math.sqrt(Math.pow(((_b = (_a = this.touch2) === null || _a === void 0 ? void 0 : _a.screenX) !== null && _b !== void 0 ? _b : 0) - ((_f = (_d = (_c = this.touchMove1) === null || _c === void 0 ? void 0 : _c.screenX) !== null && _d !== void 0 ? _d : (_e = this.touch1) === null || _e === void 0 ? void 0 : _e.screenX) !== null && _f !== void 0 ? _f : 0), 2) +\n Math.pow(((_h = (_g = this.touch2) === null || _g === void 0 ? void 0 : _g.screenY) !== null && _h !== void 0 ? _h : 0) - ((_m = (_k = (_j = this.touchMove1) === null || _j === void 0 ? void 0 : _j.screenY) !== null && _k !== void 0 ? _k : (_l = this.touch1) === null || _l === void 0 ? void 0 : _l.screenY) !== null && _m !== void 0 ? _m : 0), 2));\n this.originalAngle =\n Math.atan2(((_p = (_o = this.touch2) === null || _o === void 0 ? void 0 : _o.screenY) !== null && _p !== void 0 ? _p : 0) - ((_t = (_r = (_q = this.touchMove1) === null || _q === void 0 ? void 0 : _q.screenY) !== null && _r !== void 0 ? _r : (_s = this.touch1) === null || _s === void 0 ? void 0 : _s.screenY) !== null && _t !== void 0 ? _t : 0), ((_v = (_u = this.touch2) === null || _u === void 0 ? void 0 : _u.screenX) !== null && _v !== void 0 ? _v : 0) - ((_z = (_x = (_w = this.touchMove1) === null || _w === void 0 ? void 0 : _w.screenX) !== null && _x !== void 0 ? _x : (_y = this.touch1) === null || _y === void 0 ? void 0 : _y.screenX) !== null && _z !== void 0 ? _z : 0)) /\n (Math.PI / 180);\n return;\n }\n if (!didTouch1 && !didTouch2) {\n return;\n }\n }\n if (didTouch1 || event.type === 'mousedown') {\n this.thresholdX = this.opts.threshold('x', this);\n this.thresholdY = this.opts.threshold('y', this);\n this.disregardVelocityThresholdX = this.opts.disregardVelocityThreshold('x', this);\n this.disregardVelocityThresholdY = this.opts.disregardVelocityThreshold('y', this);\n this.touchStartX = event.type === 'mousedown' ? event.screenX : ((_0 = this.touch1) === null || _0 === void 0 ? void 0 : _0.screenX) || 0;\n this.touchStartY = event.type === 'mousedown' ? event.screenY : ((_1 = this.touch1) === null || _1 === void 0 ? void 0 : _1.screenY) || 0;\n this.touchMoveX = null;\n this.touchMoveY = null;\n this.touchEndX = null;\n this.touchEndY = null;\n this.swipingDirection = null;\n this.longPressTimer = setTimeout(() => this.fire('longpress', event), this.opts.longPressTime);\n this.scale = 1;\n this.rotation = 0;\n this.fire('panstart', event);\n }\n }\n onTouchMove(event) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n if (event.type === 'mousemove' && (!this.touchStartX || this.touchEndX !== null)) {\n return;\n }\n let touch1 = undefined;\n let touch2 = undefined;\n if (event.type !== 'mousemove') {\n touch1 = [...event.changedTouches].find((touch) => { var _a; return touch.identifier === ((_a = this.touch1) === null || _a === void 0 ? void 0 : _a.identifier); });\n this.touchMove1 = touch1 || this.touchMove1;\n touch2 = [...event.changedTouches].find((touch) => { var _a; return touch.identifier === ((_a = this.touch2) === null || _a === void 0 ? void 0 : _a.identifier); });\n this.touchMove2 = touch2 || this.touchMove2;\n }\n if (event.type === 'mousemove' || touch1) {\n const touchMoveX = (event.type === 'mousemove' ? event.screenX : (_a = touch1 === null || touch1 === void 0 ? void 0 : touch1.screenX) !== null && _a !== void 0 ? _a : 0) - ((_b = this.touchStartX) !== null && _b !== void 0 ? _b : 0);\n this.velocityX = touchMoveX - ((_c = this.touchMoveX) !== null && _c !== void 0 ? _c : 0);\n this.touchMoveX = touchMoveX;\n const touchMoveY = (event.type === 'mousemove' ? event.screenY : (_d = touch1 === null || touch1 === void 0 ? void 0 : touch1.screenY) !== null && _d !== void 0 ? _d : 0) - ((_e = this.touchStartY) !== null && _e !== void 0 ? _e : 0);\n this.velocityY = touchMoveY - ((_f = this.touchMoveY) !== null && _f !== void 0 ? _f : 0);\n this.touchMoveY = touchMoveY;\n const absTouchMoveX = Math.abs(this.touchMoveX);\n const absTouchMoveY = Math.abs(this.touchMoveY);\n this.swipingHorizontal = absTouchMoveX > this.thresholdX;\n this.swipingVertical = absTouchMoveY > this.thresholdY;\n this.swipingDirection =\n absTouchMoveX > absTouchMoveY\n ? this.swipingHorizontal\n ? 'horizontal'\n : 'pre-horizontal'\n : this.swipingVertical\n ? 'vertical'\n : 'pre-vertical';\n if (Math.max(absTouchMoveX, absTouchMoveY) > this.opts.pressThreshold) {\n clearTimeout((_g = this.longPressTimer) !== null && _g !== void 0 ? _g : undefined);\n }\n this.fire('panmove', event);\n }\n if (event.type !== 'mousemove' && this.touchMove1 != null && this.touchMove2 != null) {\n this.newDistance = Math.sqrt(Math.pow(this.touchMove2.screenX - this.touchMove1.screenX, 2) +\n Math.pow(this.touchMove2.screenY - this.touchMove1.screenY, 2));\n this.scale = this.newDistance / ((_h = this.originalDistance) !== null && _h !== void 0 ? _h : 0);\n this.fire('pinch', event);\n this.newAngle =\n Math.atan2(((_j = this.touchMove2.screenY) !== null && _j !== void 0 ? _j : 0) - ((_k = this.touchMove1.screenY) !== null && _k !== void 0 ? _k : 0), ((_l = this.touchMove2.screenX) !== null && _l !== void 0 ? _l : 0) - ((_m = this.touchMove1.screenX) !== null && _m !== void 0 ? _m : 0)) /\n (Math.PI / 180);\n this.rotation = this.newAngle - ((_o = this.originalAngle) !== null && _o !== void 0 ? _o : 0);\n this.fire('rotate', event);\n }\n }\n onTouchEnd(event) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n let touch1 = undefined;\n if (event.type !== 'mouseup') {\n touch1 = [...event.changedTouches].find((touch) => { var _a; return touch.identifier === ((_a = this.touch1) === null || _a === void 0 ? void 0 : _a.identifier); });\n if (![...event.touches].find((touch) => { var _a; return touch.identifier === ((_a = this.touch1) === null || _a === void 0 ? void 0 : _a.identifier); })) {\n this.touch1 = null;\n this.touchMove1 = null;\n }\n if (![...event.touches].find((touch) => { var _a; return touch.identifier === ((_a = this.touch2) === null || _a === void 0 ? void 0 : _a.identifier); })) {\n this.touch2 = null;\n this.touchMove2 = null;\n }\n }\n if (event.type === 'mouseup' && (!this.touchStartX || this.touchEndX !== null)) {\n return;\n }\n if (event.type === 'mouseup' || touch1) {\n this.touchEndX = event.type === 'mouseup' ? event.screenX : (_a = touch1 === null || touch1 === void 0 ? void 0 : touch1.screenX) !== null && _a !== void 0 ? _a : 0;\n this.touchEndY = event.type === 'mouseup' ? event.screenY : (_b = touch1 === null || touch1 === void 0 ? void 0 : touch1.screenY) !== null && _b !== void 0 ? _b : 0;\n this.fire('panend', event);\n clearTimeout((_c = this.longPressTimer) !== null && _c !== void 0 ? _c : undefined);\n const x = this.touchEndX - ((_d = this.touchStartX) !== null && _d !== void 0 ? _d : 0);\n const absX = Math.abs(x);\n const y = this.touchEndY - ((_e = this.touchStartY) !== null && _e !== void 0 ? _e : 0);\n const absY = Math.abs(y);\n const distance = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));\n const absDistance = Math.abs(distance);\n const diagonal = absY / absX;\n if (absX > this.thresholdX ||\n absY > this.thresholdY ||\n (this.opts.diagonalSwipes && (absDistance > this.thresholdX || absDistance > this.thresholdY))) {\n this.swipedHorizontal = absX > this.thresholdX || (this.opts.diagonalSwipes && absDistance > this.thresholdX);\n this.swipedVertical = absY > this.thresholdY || (this.opts.diagonalSwipes && absDistance > this.thresholdY);\n if (!this.opts.diagonalSwipes ||\n diagonal < Math.tan(((45 - this.opts.diagonalLimit) * Math.PI) / 180) ||\n diagonal > Math.tan(((45 + this.opts.diagonalLimit) * Math.PI) / 180)) {\n if (absX >= absY) {\n this.swipedVertical = false;\n }\n if (absY > absX) {\n this.swipedHorizontal = false;\n }\n }\n if (this.swipedHorizontal) {\n if (x < 0) {\n if (((_f = this.velocityX) !== null && _f !== void 0 ? _f : 0) < -this.opts.velocityThreshold || distance < -this.disregardVelocityThresholdX) {\n this.fire('swipeleft', event);\n }\n }\n else {\n if (((_g = this.velocityX) !== null && _g !== void 0 ? _g : 0) > this.opts.velocityThreshold || distance > this.disregardVelocityThresholdX) {\n this.fire('swiperight', event);\n }\n }\n }\n if (this.swipedVertical) {\n if (y < 0) {\n if (((_h = this.velocityY) !== null && _h !== void 0 ? _h : 0) < -this.opts.velocityThreshold || distance < -this.disregardVelocityThresholdY) {\n this.fire('swipeup', event);\n }\n }\n else {\n if (((_j = this.velocityY) !== null && _j !== void 0 ? _j : 0) > this.opts.velocityThreshold || distance > this.disregardVelocityThresholdY) {\n this.fire('swipedown', event);\n }\n }\n }\n }\n else if (absX < this.opts.pressThreshold && absY < this.opts.pressThreshold) {\n if (this.doubleTapWaiting) {\n this.doubleTapWaiting = false;\n clearTimeout((_k = this.doubleTapTimer) !== null && _k !== void 0 ? _k : undefined);\n this.fire('doubletap', event);\n }\n else {\n this.doubleTapWaiting = true;\n this.doubleTapTimer = setTimeout(() => (this.doubleTapWaiting = false), this.opts.doubleTapTime);\n this.fire('tap', event);\n }\n }\n }\n if (!this.touch1 && !this.touch2) {\n this.fire('pinchend', event);\n this.fire('rotateend', event);\n this.originalDistance = null;\n this.newDistance = null;\n this.scale = null;\n this.originalAngle = null;\n this.newAngle = null;\n this.rotation = null;\n }\n }\n}\nTinyGesture.defaults = {\n threshold: (type, _self) => Math.max(25, Math.floor(0.15 *\n (type === 'x'\n ? window.innerWidth || document.body.clientWidth\n : window.innerHeight || document.body.clientHeight))),\n velocityThreshold: 10,\n disregardVelocityThreshold: (type, self) => Math.floor(0.5 * (type === 'x' ? self.element.clientWidth : self.element.clientHeight)),\n pressThreshold: 8,\n diagonalSwipes: false,\n diagonalLimit: 15,\n longPressTime: 500,\n doubleTapTime: 300,\n mouseSupport: true,\n};\nexport default TinyGesture;\nlet passiveIfSupported = false;\ntry {\n window.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n get: function () {\n passiveIfSupported = { passive: true };\n },\n }));\n}\ncatch (err) { }\n//# sourceMappingURL=TinyGesture.js.map"],"names":["TinyGesture","element","options","passiveIfSupported","_a","_b","type","fn","idx","event","i","_c","_d","_e","_f","_g","_h","_j","_k","_l","_m","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","_0","_1","didTouch1","didTouch2","touch","touch1","touch2","touchMoveX","touchMoveY","absTouchMoveX","absTouchMoveY","x","absX","y","absY","distance","absDistance","diagonal","_self","self"],"mappings":"AAAA,MAAMA,CAAY,CACd,YAAYC,EAASC,EAAS,CAC1B,KAAK,QAAUD,EACf,KAAK,OAAS,KACd,KAAK,OAAS,KACd,KAAK,YAAc,KACnB,KAAK,YAAc,KACnB,KAAK,UAAY,KACjB,KAAK,UAAY,KACjB,KAAK,WAAa,KAClB,KAAK,WAAa,KAClB,KAAK,WAAa,KAClB,KAAK,WAAa,KAClB,KAAK,UAAY,KACjB,KAAK,UAAY,KACjB,KAAK,eAAiB,KACtB,KAAK,eAAiB,KACtB,KAAK,iBAAmB,GACxB,KAAK,WAAa,EAClB,KAAK,WAAa,EAClB,KAAK,4BAA8B,EACnC,KAAK,4BAA8B,EACnC,KAAK,kBAAoB,GACzB,KAAK,gBAAkB,GACvB,KAAK,iBAAmB,KACxB,KAAK,iBAAmB,GACxB,KAAK,eAAiB,GACtB,KAAK,iBAAmB,KACxB,KAAK,YAAc,KACnB,KAAK,MAAQ,KACb,KAAK,cAAgB,KACrB,KAAK,SAAW,KAChB,KAAK,SAAW,KAChB,KAAK,SAAW,CACZ,SAAU,CAAE,EACZ,QAAS,CAAE,EACX,OAAQ,CAAE,EACV,UAAW,CAAE,EACb,WAAY,CAAE,EACd,QAAS,CAAE,EACX,UAAW,CAAE,EACb,IAAK,CAAE,EACP,UAAW,CAAE,EACb,UAAW,CAAE,EACb,MAAO,CAAE,EACT,SAAU,CAAE,EACZ,OAAQ,CAAE,EACV,UAAW,CAAE,CAChB,EACD,KAAK,cAAgB,KAAK,aAAa,KAAK,IAAI,EAChD,KAAK,aAAe,KAAK,YAAY,KAAK,IAAI,EAC9C,KAAK,YAAc,KAAK,WAAW,KAAK,IAAI,EAC5C,KAAK,KAAO,OAAO,OAAO,CAAA,EAAID,EAAY,SAAUE,CAAO,EAC3D,KAAK,QAAQ,iBAAiB,aAAc,KAAK,cAAeC,CAAkB,EAClF,KAAK,QAAQ,iBAAiB,YAAa,KAAK,aAAcA,CAAkB,EAChF,KAAK,QAAQ,iBAAiB,WAAY,KAAK,YAAaA,CAAkB,EAC1E,KAAK,KAAK,cAAgB,EAAE,iBAAkB,UAC9C,KAAK,QAAQ,iBAAiB,YAAa,KAAK,cAAeA,CAAkB,EACjF,SAAS,iBAAiB,YAAa,KAAK,aAAcA,CAAkB,EAC5E,SAAS,iBAAiB,UAAW,KAAK,YAAaA,CAAkB,EAErF,CACI,SAAU,CACN,IAAIC,EAAIC,EACR,KAAK,QAAQ,oBAAoB,aAAc,KAAK,aAAa,EACjE,KAAK,QAAQ,oBAAoB,YAAa,KAAK,YAAY,EAC/D,KAAK,QAAQ,oBAAoB,WAAY,KAAK,WAAW,EAC7D,KAAK,QAAQ,oBAAoB,YAAa,KAAK,aAAa,EAChE,SAAS,oBAAoB,YAAa,KAAK,YAAY,EAC3D,SAAS,oBAAoB,UAAW,KAAK,WAAW,EACxD,cAAcD,EAAK,KAAK,kBAAoB,MAAQA,IAAO,OAASA,EAAK,MAAS,EAClF,cAAcC,EAAK,KAAK,kBAAoB,MAAQA,IAAO,OAASA,EAAK,MAAS,CAC1F,CACI,GAAGC,EAAMC,EAAI,CACT,GAAI,KAAK,SAASD,CAAI,EAClB,YAAK,SAASA,CAAI,EAAE,KAAKC,CAAE,EACpB,CACH,KAAAD,EACA,GAAAC,EACA,OAAQ,IAAM,KAAK,IAAID,EAAMC,CAAE,CAClC,CAEb,CACI,IAAID,EAAMC,EAAI,CACV,GAAI,KAAK,SAASD,CAAI,EAAG,CACrB,MAAME,EAAM,KAAK,SAASF,CAAI,EAAE,QAAQC,CAAE,EACtCC,IAAQ,IACR,KAAK,SAASF,CAAI,EAAE,OAAOE,EAAK,CAAC,CAEjD,CACA,CACI,KAAKF,EAAMG,EAAO,CACd,QAASC,EAAI,EAAGA,EAAI,KAAK,SAASJ,CAAI,EAAE,OAAQI,IAC5C,KAAK,SAASJ,CAAI,EAAEI,CAAC,EAAED,CAAK,CAExC,CACI,aAAaA,EAAO,CAChB,IAAIL,EAAIC,EAAIM,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EACxG,IAAIC,EAAY,GACZC,EAAY,GAChB,GAAI3B,EAAM,OAAS,YAAa,CAK5B,GAJK,KAAK,SACN,KAAK,OAASA,EAAM,eAAe,CAAC,EACpC0B,EAAY,KAEVA,GAAa1B,EAAM,eAAe,OAAS,GAAM,CAAC0B,IAAc,CAAC,KAAK,OAAQ,CAChF,KAAK,OACD,CAAC,GAAG1B,EAAM,cAAc,EAAE,KAAM4B,GAAU,CAAE,IAAIjC,EAAI,OAAOiC,EAAM,eAAiBjC,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAY,CAAE,GACtJ,KACR,KAAK,iBAAmB,KAAK,KAAK,KAAK,MAAMC,GAAMD,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQC,IAAO,OAASA,EAAK,KAAOS,GAAMF,GAAMD,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQC,IAAO,OAASA,GAAMC,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQC,IAAO,OAASA,EAAK,GAAI,CAAC,EACxX,KAAK,MAAME,GAAMD,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQC,IAAO,OAASA,EAAK,KAAOI,GAAMF,GAAMD,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQC,IAAO,OAASA,GAAMC,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQC,IAAO,OAASA,EAAK,GAAI,CAAC,CAAC,EAC/V,KAAK,cACD,KAAK,QAAQE,GAAMD,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQC,IAAO,OAASA,EAAK,KAAOI,GAAMF,GAAMD,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQC,IAAO,OAASA,GAAMC,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQC,IAAO,OAASA,EAAK,KAAME,GAAMD,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQC,IAAO,OAASA,EAAK,KAAOI,GAAMF,GAAMD,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQC,IAAO,OAASA,GAAMC,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQC,IAAO,OAASA,EAAK,EAAE,GACpqB,KAAK,GAAK,KACnB,MAChB,CACY,GAAI,CAACG,GAAa,CAACC,EACf,MAEhB,EACYD,GAAa1B,EAAM,OAAS,eAC5B,KAAK,WAAa,KAAK,KAAK,UAAU,IAAK,IAAI,EAC/C,KAAK,WAAa,KAAK,KAAK,UAAU,IAAK,IAAI,EAC/C,KAAK,4BAA8B,KAAK,KAAK,2BAA2B,IAAK,IAAI,EACjF,KAAK,4BAA8B,KAAK,KAAK,2BAA2B,IAAK,IAAI,EACjF,KAAK,YAAcA,EAAM,OAAS,YAAcA,EAAM,UAAYwB,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,UAAY,EACxI,KAAK,YAAcxB,EAAM,OAAS,YAAcA,EAAM,UAAYyB,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,UAAY,EACxI,KAAK,WAAa,KAClB,KAAK,WAAa,KAClB,KAAK,UAAY,KACjB,KAAK,UAAY,KACjB,KAAK,iBAAmB,KACxB,KAAK,eAAiB,WAAW,IAAM,KAAK,KAAK,YAAazB,CAAK,EAAG,KAAK,KAAK,aAAa,EAC7F,KAAK,MAAQ,EACb,KAAK,SAAW,EAChB,KAAK,KAAK,WAAYA,CAAK,EAEvC,CACI,YAAYA,EAAO,CACf,IAAIL,EAAIC,EAAIM,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EACpD,GAAIZ,EAAM,OAAS,cAAgB,CAAC,KAAK,aAAe,KAAK,YAAc,MACvE,OAEJ,IAAI6B,EACAC,EAOJ,GANI9B,EAAM,OAAS,cACf6B,EAAS,CAAC,GAAG7B,EAAM,cAAc,EAAE,KAAM4B,GAAU,CAAE,IAAIjC,EAAI,OAAOiC,EAAM,eAAiBjC,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAY,CAAE,EACnK,KAAK,WAAakC,GAAU,KAAK,WACjCC,EAAS,CAAC,GAAG9B,EAAM,cAAc,EAAE,KAAM4B,GAAU,CAAE,IAAIjC,EAAI,OAAOiC,EAAM,eAAiBjC,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAY,CAAE,EACnK,KAAK,WAAamC,GAAU,KAAK,YAEjC9B,EAAM,OAAS,aAAe6B,EAAQ,CACtC,MAAME,GAAc/B,EAAM,OAAS,YAAcA,EAAM,SAAWL,EAAKkC,GAAW,KAA4B,OAASA,EAAO,WAAa,MAAQlC,IAAO,OAASA,EAAK,KAAOC,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAASA,EAAK,GACvO,KAAK,UAAYmC,IAAe7B,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAASA,EAAK,GACvF,KAAK,WAAa6B,EAClB,MAAMC,GAAchC,EAAM,OAAS,YAAcA,EAAM,SAAWG,EAAK0B,GAAW,KAA4B,OAASA,EAAO,WAAa,MAAQ1B,IAAO,OAASA,EAAK,KAAOC,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAASA,EAAK,GACvO,KAAK,UAAY4B,IAAe3B,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAASA,EAAK,GACvF,KAAK,WAAa2B,EAClB,MAAMC,EAAgB,KAAK,IAAI,KAAK,UAAU,EACxCC,EAAgB,KAAK,IAAI,KAAK,UAAU,EAC9C,KAAK,kBAAoBD,EAAgB,KAAK,WAC9C,KAAK,gBAAkBC,EAAgB,KAAK,WAC5C,KAAK,iBACDD,EAAgBC,EACV,KAAK,kBACD,aACA,iBACJ,KAAK,gBACD,WACA,eACV,KAAK,IAAID,EAAeC,CAAa,EAAI,KAAK,KAAK,gBACnD,cAAc5B,EAAK,KAAK,kBAAoB,MAAQA,IAAO,OAASA,EAAK,MAAS,EAEtF,KAAK,KAAK,UAAWN,CAAK,CACtC,CACYA,EAAM,OAAS,aAAe,KAAK,YAAc,MAAQ,KAAK,YAAc,OAC5E,KAAK,YAAc,KAAK,KAAK,KAAK,IAAI,KAAK,WAAW,QAAU,KAAK,WAAW,QAAS,CAAC,EACtF,KAAK,IAAI,KAAK,WAAW,QAAU,KAAK,WAAW,QAAS,CAAC,CAAC,EAClE,KAAK,MAAQ,KAAK,cAAgBO,EAAK,KAAK,oBAAsB,MAAQA,IAAO,OAASA,EAAK,GAC/F,KAAK,KAAK,QAASP,CAAK,EACxB,KAAK,SACD,KAAK,QAAQQ,EAAK,KAAK,WAAW,WAAa,MAAQA,IAAO,OAASA,EAAK,KAAOC,EAAK,KAAK,WAAW,WAAa,MAAQA,IAAO,OAASA,EAAK,KAAMC,EAAK,KAAK,WAAW,WAAa,MAAQA,IAAO,OAASA,EAAK,KAAOC,EAAK,KAAK,WAAW,WAAa,MAAQA,IAAO,OAASA,EAAK,EAAE,GAC1R,KAAK,GAAK,KACnB,KAAK,SAAW,KAAK,WAAaC,EAAK,KAAK,iBAAmB,MAAQA,IAAO,OAASA,EAAK,GAC5F,KAAK,KAAK,SAAUZ,CAAK,EAErC,CACI,WAAWA,EAAO,CACd,IAAIL,EAAIC,EAAIM,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EACxC,IAAIoB,EAYJ,GAXI7B,EAAM,OAAS,YACf6B,EAAS,CAAC,GAAG7B,EAAM,cAAc,EAAE,KAAM4B,GAAU,CAAE,IAAIjC,EAAI,OAAOiC,EAAM,eAAiBjC,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAY,CAAE,EAC9J,CAAC,GAAGK,EAAM,OAAO,EAAE,KAAM4B,GAAU,CAAE,IAAIjC,EAAI,OAAOiC,EAAM,eAAiBjC,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAc,CAAA,IACpJ,KAAK,OAAS,KACd,KAAK,WAAa,MAEjB,CAAC,GAAGK,EAAM,OAAO,EAAE,KAAM4B,GAAU,CAAE,IAAIjC,EAAI,OAAOiC,EAAM,eAAiBjC,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,WAAc,CAAA,IACpJ,KAAK,OAAS,KACd,KAAK,WAAa,OAGtB,EAAAK,EAAM,OAAS,YAAc,CAAC,KAAK,aAAe,KAAK,YAAc,OAGzE,IAAIA,EAAM,OAAS,WAAa6B,EAAQ,CACpC,KAAK,UAAY7B,EAAM,OAAS,UAAYA,EAAM,SAAWL,EAAKkC,GAAW,KAA4B,OAASA,EAAO,WAAa,MAAQlC,IAAO,OAASA,EAAK,EACnK,KAAK,UAAYK,EAAM,OAAS,UAAYA,EAAM,SAAWJ,EAAKiC,GAAW,KAA4B,OAASA,EAAO,WAAa,MAAQjC,IAAO,OAASA,EAAK,EACnK,KAAK,KAAK,SAAUI,CAAK,EACzB,cAAcE,EAAK,KAAK,kBAAoB,MAAQA,IAAO,OAASA,EAAK,MAAS,EAClF,MAAMiC,EAAI,KAAK,YAAchC,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAASA,EAAK,GAC/EiC,EAAO,KAAK,IAAID,CAAC,EACjBE,EAAI,KAAK,YAAcjC,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAASA,EAAK,GAC/EkC,EAAO,KAAK,IAAID,CAAC,EACjBE,EAAW,KAAK,KAAK,KAAK,IAAIJ,EAAG,CAAC,EAAI,KAAK,IAAIE,EAAG,CAAC,CAAC,EACpDG,EAAc,KAAK,IAAID,CAAQ,EAC/BE,EAAWH,EAAOF,EACpBA,EAAO,KAAK,YACZE,EAAO,KAAK,YACX,KAAK,KAAK,iBAAmBE,EAAc,KAAK,YAAcA,EAAc,KAAK,aAClF,KAAK,iBAAmBJ,EAAO,KAAK,YAAe,KAAK,KAAK,gBAAkBI,EAAc,KAAK,WAClG,KAAK,eAAiBF,EAAO,KAAK,YAAe,KAAK,KAAK,gBAAkBE,EAAc,KAAK,YAC5F,CAAC,KAAK,KAAK,gBACXC,EAAW,KAAK,KAAM,GAAK,KAAK,KAAK,eAAiB,KAAK,GAAM,GAAG,GACpEA,EAAW,KAAK,KAAM,GAAK,KAAK,KAAK,eAAiB,KAAK,GAAM,GAAG,KAChEL,GAAQE,IACR,KAAK,eAAiB,IAEtBA,EAAOF,IACP,KAAK,iBAAmB,KAG5B,KAAK,mBACDD,EAAI,KACE9B,EAAK,KAAK,aAAe,MAAQA,IAAO,OAASA,EAAK,GAAK,CAAC,KAAK,KAAK,mBAAqBkC,EAAW,CAAC,KAAK,8BAC9G,KAAK,KAAK,YAAavC,CAAK,KAI1BM,EAAK,KAAK,aAAe,MAAQA,IAAO,OAASA,EAAK,GAAK,KAAK,KAAK,mBAAqBiC,EAAW,KAAK,8BAC5G,KAAK,KAAK,aAAcvC,CAAK,GAIrC,KAAK,iBACDqC,EAAI,KACE9B,EAAK,KAAK,aAAe,MAAQA,IAAO,OAASA,EAAK,GAAK,CAAC,KAAK,KAAK,mBAAqBgC,EAAW,CAAC,KAAK,8BAC9G,KAAK,KAAK,UAAWvC,CAAK,KAIxBQ,EAAK,KAAK,aAAe,MAAQA,IAAO,OAASA,EAAK,GAAK,KAAK,KAAK,mBAAqB+B,EAAW,KAAK,8BAC5G,KAAK,KAAK,YAAavC,CAAK,IAKnCoC,EAAO,KAAK,KAAK,gBAAkBE,EAAO,KAAK,KAAK,iBACrD,KAAK,kBACL,KAAK,iBAAmB,GACxB,cAAc7B,EAAK,KAAK,kBAAoB,MAAQA,IAAO,OAASA,EAAK,MAAS,EAClF,KAAK,KAAK,YAAaT,CAAK,IAG5B,KAAK,iBAAmB,GACxB,KAAK,eAAiB,WAAW,IAAO,KAAK,iBAAmB,GAAQ,KAAK,KAAK,aAAa,EAC/F,KAAK,KAAK,MAAOA,CAAK,GAG1C,CACY,CAAC,KAAK,QAAU,CAAC,KAAK,SACtB,KAAK,KAAK,WAAYA,CAAK,EAC3B,KAAK,KAAK,YAAaA,CAAK,EAC5B,KAAK,iBAAmB,KACxB,KAAK,YAAc,KACnB,KAAK,MAAQ,KACb,KAAK,cAAgB,KACrB,KAAK,SAAW,KAChB,KAAK,SAAW,MAE5B,CACA,CACAT,EAAY,SAAW,CACnB,UAAW,CAACM,EAAM6C,IAAU,KAAK,IAAI,GAAI,KAAK,MAAM,KAC/C7C,IAAS,IACJ,OAAO,YAAc,SAAS,KAAK,YACnC,OAAO,aAAe,SAAS,KAAK,aAAa,CAAC,EAC5D,kBAAmB,GACnB,2BAA4B,CAACA,EAAM8C,IAAS,KAAK,MAAM,IAAO9C,IAAS,IAAM8C,EAAK,QAAQ,YAAcA,EAAK,QAAQ,aAAa,EAClI,eAAgB,EAChB,eAAgB,GAChB,cAAe,GACf,cAAe,IACf,cAAe,IACf,aAAc,EAClB,EAEA,IAAIjD,EAAqB,GACzB,GAAI,CACA,OAAO,iBAAiB,OAAQ,KAAM,OAAO,eAAe,CAAE,EAAE,UAAW,CACvE,IAAK,UAAY,CACbA,EAAqB,CAAE,QAAS,EAAM,CACzC,CACT,CAAK,CAAC,CACN,MACY,CAAA","x_google_ignoreList":[0]}