@famibee/skynovel 1.64.12 → 1.64.13
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/dist/Reading.js +4 -3
- package/dist/Reading.js.map +1 -1
- package/dist/sn/Reading.d.ts +1 -1
- package/dist/sn/Reading.d.ts.map +1 -1
- package/dist_app/Reading.js +4 -3
- package/dist_app/Reading.js.map +1 -1
- package/dist_app/sn/Reading.d.ts +1 -1
- package/dist_app/sn/Reading.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/Reading.js
CHANGED
|
@@ -444,6 +444,7 @@ class n {
|
|
|
444
444
|
// 〃
|
|
445
445
|
case "enter":
|
|
446
446
|
case "arrowdown":
|
|
447
|
+
if (a.evtMng.isSkipping) break;
|
|
447
448
|
if (!n.isFirstFire()) return;
|
|
448
449
|
break;
|
|
449
450
|
}
|
|
@@ -457,7 +458,7 @@ class n {
|
|
|
457
458
|
const r = n.getEvt2Fnc(s);
|
|
458
459
|
r && (i.stopImmediatePropagation?.(), !(!s.startsWith("dom=") && a.layMng.clickTxtLay()) && r(i));
|
|
459
460
|
}
|
|
460
|
-
get
|
|
461
|
+
get skip_enabled() {
|
|
461
462
|
return a.skip_enabled;
|
|
462
463
|
}
|
|
463
464
|
isWait = !1;
|
|
@@ -616,7 +617,7 @@ class O extends n {
|
|
|
616
617
|
return new O().page(t);
|
|
617
618
|
}
|
|
618
619
|
#i = !0;
|
|
619
|
-
get
|
|
620
|
+
get skip_enabled() {
|
|
620
621
|
return this.#i;
|
|
621
622
|
}
|
|
622
623
|
isWait = !1;
|
|
@@ -725,7 +726,7 @@ class a {
|
|
|
725
726
|
s && this.cancelAutoSkip(), n.rs.fire(t, i);
|
|
726
727
|
}
|
|
727
728
|
static get isSkipping() {
|
|
728
|
-
return n.rs.
|
|
729
|
+
return n.rs.skip_enabled;
|
|
729
730
|
}
|
|
730
731
|
static get isWait() {
|
|
731
732
|
return n.rs.isWait;
|
package/dist/Reading.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reading.js","sources":["../node_modules/@tweenjs/tween.js/dist/tween.esm.js","../src/sn/Reading.ts"],"sourcesContent":["/**\n * The Ease class provides a collection of easing functions for use with tween.js.\n */\nvar Easing = Object.freeze({\n Linear: Object.freeze({\n None: function (amount) {\n return amount;\n },\n In: function (amount) {\n return amount;\n },\n Out: function (amount) {\n return amount;\n },\n InOut: function (amount) {\n return amount;\n },\n }),\n Quadratic: Object.freeze({\n In: function (amount) {\n return amount * amount;\n },\n Out: function (amount) {\n return amount * (2 - amount);\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount;\n }\n return -0.5 * (--amount * (amount - 2) - 1);\n },\n }),\n Cubic: Object.freeze({\n In: function (amount) {\n return amount * amount * amount;\n },\n Out: function (amount) {\n return --amount * amount * amount + 1;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount;\n }\n return 0.5 * ((amount -= 2) * amount * amount + 2);\n },\n }),\n Quartic: Object.freeze({\n In: function (amount) {\n return amount * amount * amount * amount;\n },\n Out: function (amount) {\n return 1 - --amount * amount * amount * amount;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount * amount;\n }\n return -0.5 * ((amount -= 2) * amount * amount * amount - 2);\n },\n }),\n Quintic: Object.freeze({\n In: function (amount) {\n return amount * amount * amount * amount * amount;\n },\n Out: function (amount) {\n return --amount * amount * amount * amount * amount + 1;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount * amount * amount;\n }\n return 0.5 * ((amount -= 2) * amount * amount * amount * amount + 2);\n },\n }),\n Sinusoidal: Object.freeze({\n In: function (amount) {\n return 1 - Math.sin(((1.0 - amount) * Math.PI) / 2);\n },\n Out: function (amount) {\n return Math.sin((amount * Math.PI) / 2);\n },\n InOut: function (amount) {\n return 0.5 * (1 - Math.sin(Math.PI * (0.5 - amount)));\n },\n }),\n Exponential: Object.freeze({\n In: function (amount) {\n return amount === 0 ? 0 : Math.pow(1024, amount - 1);\n },\n Out: function (amount) {\n return amount === 1 ? 1 : 1 - Math.pow(2, -10 * amount);\n },\n InOut: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n if ((amount *= 2) < 1) {\n return 0.5 * Math.pow(1024, amount - 1);\n }\n return 0.5 * (-Math.pow(2, -10 * (amount - 1)) + 2);\n },\n }),\n Circular: Object.freeze({\n In: function (amount) {\n return 1 - Math.sqrt(1 - amount * amount);\n },\n Out: function (amount) {\n return Math.sqrt(1 - --amount * amount);\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return -0.5 * (Math.sqrt(1 - amount * amount) - 1);\n }\n return 0.5 * (Math.sqrt(1 - (amount -= 2) * amount) + 1);\n },\n }),\n Elastic: Object.freeze({\n In: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n return -Math.pow(2, 10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI);\n },\n Out: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n return Math.pow(2, -10 * amount) * Math.sin((amount - 0.1) * 5 * Math.PI) + 1;\n },\n InOut: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n amount *= 2;\n if (amount < 1) {\n return -0.5 * Math.pow(2, 10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI);\n }\n return 0.5 * Math.pow(2, -10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI) + 1;\n },\n }),\n Back: Object.freeze({\n In: function (amount) {\n var s = 1.70158;\n return amount === 1 ? 1 : amount * amount * ((s + 1) * amount - s);\n },\n Out: function (amount) {\n var s = 1.70158;\n return amount === 0 ? 0 : --amount * amount * ((s + 1) * amount + s) + 1;\n },\n InOut: function (amount) {\n var s = 1.70158 * 1.525;\n if ((amount *= 2) < 1) {\n return 0.5 * (amount * amount * ((s + 1) * amount - s));\n }\n return 0.5 * ((amount -= 2) * amount * ((s + 1) * amount + s) + 2);\n },\n }),\n Bounce: Object.freeze({\n In: function (amount) {\n return 1 - Easing.Bounce.Out(1 - amount);\n },\n Out: function (amount) {\n if (amount < 1 / 2.75) {\n return 7.5625 * amount * amount;\n }\n else if (amount < 2 / 2.75) {\n return 7.5625 * (amount -= 1.5 / 2.75) * amount + 0.75;\n }\n else if (amount < 2.5 / 2.75) {\n return 7.5625 * (amount -= 2.25 / 2.75) * amount + 0.9375;\n }\n else {\n return 7.5625 * (amount -= 2.625 / 2.75) * amount + 0.984375;\n }\n },\n InOut: function (amount) {\n if (amount < 0.5) {\n return Easing.Bounce.In(amount * 2) * 0.5;\n }\n return Easing.Bounce.Out(amount * 2 - 1) * 0.5 + 0.5;\n },\n }),\n generatePow: function (power) {\n if (power === void 0) { power = 4; }\n power = power < Number.EPSILON ? Number.EPSILON : power;\n power = power > 10000 ? 10000 : power;\n return {\n In: function (amount) {\n return Math.pow(amount, power);\n },\n Out: function (amount) {\n return 1 - Math.pow((1 - amount), power);\n },\n InOut: function (amount) {\n if (amount < 0.5) {\n return Math.pow((amount * 2), power) / 2;\n }\n return (1 - Math.pow((2 - amount * 2), power)) / 2 + 0.5;\n },\n };\n },\n});\n\nvar now = function () { return performance.now(); };\n\n/**\n * Controlling groups of tweens\n *\n * Using the TWEEN singleton to manage your tweens can cause issues in large apps with many components.\n * In these cases, you may want to create your own smaller groups of tween\n */\nvar Group = /** @class */ (function () {\n function Group() {\n this._tweens = {};\n this._tweensAddedDuringUpdate = {};\n }\n Group.prototype.getAll = function () {\n var _this = this;\n return Object.keys(this._tweens).map(function (tweenId) {\n return _this._tweens[tweenId];\n });\n };\n Group.prototype.removeAll = function () {\n this._tweens = {};\n };\n Group.prototype.add = function (tween) {\n this._tweens[tween.getId()] = tween;\n this._tweensAddedDuringUpdate[tween.getId()] = tween;\n };\n Group.prototype.remove = function (tween) {\n delete this._tweens[tween.getId()];\n delete this._tweensAddedDuringUpdate[tween.getId()];\n };\n Group.prototype.update = function (time, preserve) {\n if (time === void 0) { time = now(); }\n if (preserve === void 0) { preserve = false; }\n var tweenIds = Object.keys(this._tweens);\n if (tweenIds.length === 0) {\n return false;\n }\n // Tweens are updated in \"batches\". If you add a new tween during an\n // update, then the new tween will be updated in the next batch.\n // If you remove a tween during an update, it may or may not be updated.\n // However, if the removed tween was added during the current batch,\n // then it will not be updated.\n while (tweenIds.length > 0) {\n this._tweensAddedDuringUpdate = {};\n for (var i = 0; i < tweenIds.length; i++) {\n var tween = this._tweens[tweenIds[i]];\n var autoStart = !preserve;\n if (tween && tween.update(time, autoStart) === false && !preserve) {\n delete this._tweens[tweenIds[i]];\n }\n }\n tweenIds = Object.keys(this._tweensAddedDuringUpdate);\n }\n return true;\n };\n return Group;\n}());\n\n/**\n *\n */\nvar Interpolation = {\n Linear: function (v, k) {\n var m = v.length - 1;\n var f = m * k;\n var i = Math.floor(f);\n var fn = Interpolation.Utils.Linear;\n if (k < 0) {\n return fn(v[0], v[1], f);\n }\n if (k > 1) {\n return fn(v[m], v[m - 1], m - f);\n }\n return fn(v[i], v[i + 1 > m ? m : i + 1], f - i);\n },\n Bezier: function (v, k) {\n var b = 0;\n var n = v.length - 1;\n var pw = Math.pow;\n var bn = Interpolation.Utils.Bernstein;\n for (var i = 0; i <= n; i++) {\n b += pw(1 - k, n - i) * pw(k, i) * v[i] * bn(n, i);\n }\n return b;\n },\n CatmullRom: function (v, k) {\n var m = v.length - 1;\n var f = m * k;\n var i = Math.floor(f);\n var fn = Interpolation.Utils.CatmullRom;\n if (v[0] === v[m]) {\n if (k < 0) {\n i = Math.floor((f = m * (1 + k)));\n }\n return fn(v[(i - 1 + m) % m], v[i], v[(i + 1) % m], v[(i + 2) % m], f - i);\n }\n else {\n if (k < 0) {\n return v[0] - (fn(v[0], v[0], v[1], v[1], -f) - v[0]);\n }\n if (k > 1) {\n return v[m] - (fn(v[m], v[m], v[m - 1], v[m - 1], f - m) - v[m]);\n }\n return fn(v[i ? i - 1 : 0], v[i], v[m < i + 1 ? m : i + 1], v[m < i + 2 ? m : i + 2], f - i);\n }\n },\n Utils: {\n Linear: function (p0, p1, t) {\n return (p1 - p0) * t + p0;\n },\n Bernstein: function (n, i) {\n var fc = Interpolation.Utils.Factorial;\n return fc(n) / fc(i) / fc(n - i);\n },\n Factorial: (function () {\n var a = [1];\n return function (n) {\n var s = 1;\n if (a[n]) {\n return a[n];\n }\n for (var i = n; i > 1; i--) {\n s *= i;\n }\n a[n] = s;\n return s;\n };\n })(),\n CatmullRom: function (p0, p1, p2, p3, t) {\n var v0 = (p2 - p0) * 0.5;\n var v1 = (p3 - p1) * 0.5;\n var t2 = t * t;\n var t3 = t * t2;\n return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (-3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1;\n },\n },\n};\n\n/**\n * Utils\n */\nvar Sequence = /** @class */ (function () {\n function Sequence() {\n }\n Sequence.nextId = function () {\n return Sequence._nextId++;\n };\n Sequence._nextId = 0;\n return Sequence;\n}());\n\nvar mainGroup = new Group();\n\n/**\n * Tween.js - Licensed under the MIT license\n * https://github.com/tweenjs/tween.js\n * ----------------------------------------------\n *\n * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors.\n * Thank you all, you're awesome!\n */\nvar Tween = /** @class */ (function () {\n function Tween(_object, _group) {\n if (_group === void 0) { _group = mainGroup; }\n this._object = _object;\n this._group = _group;\n this._isPaused = false;\n this._pauseStart = 0;\n this._valuesStart = {};\n this._valuesEnd = {};\n this._valuesStartRepeat = {};\n this._duration = 1000;\n this._isDynamic = false;\n this._initialRepeat = 0;\n this._repeat = 0;\n this._yoyo = false;\n this._isPlaying = false;\n this._reversed = false;\n this._delayTime = 0;\n this._startTime = 0;\n this._easingFunction = Easing.Linear.None;\n this._interpolationFunction = Interpolation.Linear;\n // eslint-disable-next-line\n this._chainedTweens = [];\n this._onStartCallbackFired = false;\n this._onEveryStartCallbackFired = false;\n this._id = Sequence.nextId();\n this._isChainStopped = false;\n this._propertiesAreSetUp = false;\n this._goToEnd = false;\n }\n Tween.prototype.getId = function () {\n return this._id;\n };\n Tween.prototype.isPlaying = function () {\n return this._isPlaying;\n };\n Tween.prototype.isPaused = function () {\n return this._isPaused;\n };\n Tween.prototype.getDuration = function () {\n return this._duration;\n };\n Tween.prototype.to = function (target, duration) {\n if (duration === void 0) { duration = 1000; }\n if (this._isPlaying)\n throw new Error('Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.');\n this._valuesEnd = target;\n this._propertiesAreSetUp = false;\n this._duration = duration < 0 ? 0 : duration;\n return this;\n };\n Tween.prototype.duration = function (duration) {\n if (duration === void 0) { duration = 1000; }\n this._duration = duration < 0 ? 0 : duration;\n return this;\n };\n Tween.prototype.dynamic = function (dynamic) {\n if (dynamic === void 0) { dynamic = false; }\n this._isDynamic = dynamic;\n return this;\n };\n Tween.prototype.start = function (time, overrideStartingValues) {\n if (time === void 0) { time = now(); }\n if (overrideStartingValues === void 0) { overrideStartingValues = false; }\n if (this._isPlaying) {\n return this;\n }\n // eslint-disable-next-line\n this._group && this._group.add(this);\n this._repeat = this._initialRepeat;\n if (this._reversed) {\n // If we were reversed (f.e. using the yoyo feature) then we need to\n // flip the tween direction back to forward.\n this._reversed = false;\n for (var property in this._valuesStartRepeat) {\n this._swapEndStartRepeatValues(property);\n this._valuesStart[property] = this._valuesStartRepeat[property];\n }\n }\n this._isPlaying = true;\n this._isPaused = false;\n this._onStartCallbackFired = false;\n this._onEveryStartCallbackFired = false;\n this._isChainStopped = false;\n this._startTime = time;\n this._startTime += this._delayTime;\n if (!this._propertiesAreSetUp || overrideStartingValues) {\n this._propertiesAreSetUp = true;\n // If dynamic is not enabled, clone the end values instead of using the passed-in end values.\n if (!this._isDynamic) {\n var tmp = {};\n for (var prop in this._valuesEnd)\n tmp[prop] = this._valuesEnd[prop];\n this._valuesEnd = tmp;\n }\n this._setupProperties(this._object, this._valuesStart, this._valuesEnd, this._valuesStartRepeat, overrideStartingValues);\n }\n return this;\n };\n Tween.prototype.startFromCurrentValues = function (time) {\n return this.start(time, true);\n };\n Tween.prototype._setupProperties = function (_object, _valuesStart, _valuesEnd, _valuesStartRepeat, overrideStartingValues) {\n for (var property in _valuesEnd) {\n var startValue = _object[property];\n var startValueIsArray = Array.isArray(startValue);\n var propType = startValueIsArray ? 'array' : typeof startValue;\n var isInterpolationList = !startValueIsArray && Array.isArray(_valuesEnd[property]);\n // If `to()` specifies a property that doesn't exist in the source object,\n // we should not set that property in the object\n if (propType === 'undefined' || propType === 'function') {\n continue;\n }\n // Check if an Array was provided as property value\n if (isInterpolationList) {\n var endValues = _valuesEnd[property];\n if (endValues.length === 0) {\n continue;\n }\n // Handle an array of relative values.\n // Creates a local copy of the Array with the start value at the front\n var temp = [startValue];\n for (var i = 0, l = endValues.length; i < l; i += 1) {\n var value = this._handleRelativeValue(startValue, endValues[i]);\n if (isNaN(value)) {\n isInterpolationList = false;\n console.warn('Found invalid interpolation list. Skipping.');\n break;\n }\n temp.push(value);\n }\n if (isInterpolationList) {\n // if (_valuesStart[property] === undefined) { // handle end values only the first time. NOT NEEDED? setupProperties is now guarded by _propertiesAreSetUp.\n _valuesEnd[property] = temp;\n // }\n }\n }\n // handle the deepness of the values\n if ((propType === 'object' || startValueIsArray) && startValue && !isInterpolationList) {\n _valuesStart[property] = startValueIsArray ? [] : {};\n var nestedObject = startValue;\n for (var prop in nestedObject) {\n _valuesStart[property][prop] = nestedObject[prop];\n }\n // TODO? repeat nested values? And yoyo? And array values?\n _valuesStartRepeat[property] = startValueIsArray ? [] : {};\n var endValues = _valuesEnd[property];\n // If dynamic is not enabled, clone the end values instead of using the passed-in end values.\n if (!this._isDynamic) {\n var tmp = {};\n for (var prop in endValues)\n tmp[prop] = endValues[prop];\n _valuesEnd[property] = endValues = tmp;\n }\n this._setupProperties(nestedObject, _valuesStart[property], endValues, _valuesStartRepeat[property], overrideStartingValues);\n }\n else {\n // Save the starting value, but only once unless override is requested.\n if (typeof _valuesStart[property] === 'undefined' || overrideStartingValues) {\n _valuesStart[property] = startValue;\n }\n if (!startValueIsArray) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _valuesStart[property] *= 1.0; // Ensures we're using numbers, not strings\n }\n if (isInterpolationList) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _valuesStartRepeat[property] = _valuesEnd[property].slice().reverse();\n }\n else {\n _valuesStartRepeat[property] = _valuesStart[property] || 0;\n }\n }\n }\n };\n Tween.prototype.stop = function () {\n if (!this._isChainStopped) {\n this._isChainStopped = true;\n this.stopChainedTweens();\n }\n if (!this._isPlaying) {\n return this;\n }\n // eslint-disable-next-line\n this._group && this._group.remove(this);\n this._isPlaying = false;\n this._isPaused = false;\n if (this._onStopCallback) {\n this._onStopCallback(this._object);\n }\n return this;\n };\n Tween.prototype.end = function () {\n this._goToEnd = true;\n this.update(Infinity);\n return this;\n };\n Tween.prototype.pause = function (time) {\n if (time === void 0) { time = now(); }\n if (this._isPaused || !this._isPlaying) {\n return this;\n }\n this._isPaused = true;\n this._pauseStart = time;\n // eslint-disable-next-line\n this._group && this._group.remove(this);\n return this;\n };\n Tween.prototype.resume = function (time) {\n if (time === void 0) { time = now(); }\n if (!this._isPaused || !this._isPlaying) {\n return this;\n }\n this._isPaused = false;\n this._startTime += time - this._pauseStart;\n this._pauseStart = 0;\n // eslint-disable-next-line\n this._group && this._group.add(this);\n return this;\n };\n Tween.prototype.stopChainedTweens = function () {\n for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) {\n this._chainedTweens[i].stop();\n }\n return this;\n };\n Tween.prototype.group = function (group) {\n if (group === void 0) { group = mainGroup; }\n this._group = group;\n return this;\n };\n Tween.prototype.delay = function (amount) {\n if (amount === void 0) { amount = 0; }\n this._delayTime = amount;\n return this;\n };\n Tween.prototype.repeat = function (times) {\n if (times === void 0) { times = 0; }\n this._initialRepeat = times;\n this._repeat = times;\n return this;\n };\n Tween.prototype.repeatDelay = function (amount) {\n this._repeatDelayTime = amount;\n return this;\n };\n Tween.prototype.yoyo = function (yoyo) {\n if (yoyo === void 0) { yoyo = false; }\n this._yoyo = yoyo;\n return this;\n };\n Tween.prototype.easing = function (easingFunction) {\n if (easingFunction === void 0) { easingFunction = Easing.Linear.None; }\n this._easingFunction = easingFunction;\n return this;\n };\n Tween.prototype.interpolation = function (interpolationFunction) {\n if (interpolationFunction === void 0) { interpolationFunction = Interpolation.Linear; }\n this._interpolationFunction = interpolationFunction;\n return this;\n };\n // eslint-disable-next-line\n Tween.prototype.chain = function () {\n var tweens = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n tweens[_i] = arguments[_i];\n }\n this._chainedTweens = tweens;\n return this;\n };\n Tween.prototype.onStart = function (callback) {\n this._onStartCallback = callback;\n return this;\n };\n Tween.prototype.onEveryStart = function (callback) {\n this._onEveryStartCallback = callback;\n return this;\n };\n Tween.prototype.onUpdate = function (callback) {\n this._onUpdateCallback = callback;\n return this;\n };\n Tween.prototype.onRepeat = function (callback) {\n this._onRepeatCallback = callback;\n return this;\n };\n Tween.prototype.onComplete = function (callback) {\n this._onCompleteCallback = callback;\n return this;\n };\n Tween.prototype.onStop = function (callback) {\n this._onStopCallback = callback;\n return this;\n };\n /**\n * @returns true if the tween is still playing after the update, false\n * otherwise (calling update on a paused tween still returns true because\n * it is still playing, just paused).\n */\n Tween.prototype.update = function (time, autoStart) {\n var _this = this;\n var _a;\n if (time === void 0) { time = now(); }\n if (autoStart === void 0) { autoStart = true; }\n if (this._isPaused)\n return true;\n var property;\n var endTime = this._startTime + this._duration;\n if (!this._goToEnd && !this._isPlaying) {\n if (time > endTime)\n return false;\n if (autoStart)\n this.start(time, true);\n }\n this._goToEnd = false;\n if (time < this._startTime) {\n return true;\n }\n if (this._onStartCallbackFired === false) {\n if (this._onStartCallback) {\n this._onStartCallback(this._object);\n }\n this._onStartCallbackFired = true;\n }\n if (this._onEveryStartCallbackFired === false) {\n if (this._onEveryStartCallback) {\n this._onEveryStartCallback(this._object);\n }\n this._onEveryStartCallbackFired = true;\n }\n var elapsedTime = time - this._startTime;\n var durationAndDelay = this._duration + ((_a = this._repeatDelayTime) !== null && _a !== void 0 ? _a : this._delayTime);\n var totalTime = this._duration + this._repeat * durationAndDelay;\n var calculateElapsedPortion = function () {\n if (_this._duration === 0)\n return 1;\n if (elapsedTime > totalTime) {\n return 1;\n }\n var timesRepeated = Math.trunc(elapsedTime / durationAndDelay);\n var timeIntoCurrentRepeat = elapsedTime - timesRepeated * durationAndDelay;\n // TODO use %?\n // const timeIntoCurrentRepeat = elapsedTime % durationAndDelay\n var portion = Math.min(timeIntoCurrentRepeat / _this._duration, 1);\n if (portion === 0 && elapsedTime === _this._duration) {\n return 1;\n }\n return portion;\n };\n var elapsed = calculateElapsedPortion();\n var value = this._easingFunction(elapsed);\n // properties transformations\n this._updateProperties(this._object, this._valuesStart, this._valuesEnd, value);\n if (this._onUpdateCallback) {\n this._onUpdateCallback(this._object, elapsed);\n }\n if (this._duration === 0 || elapsedTime >= this._duration) {\n if (this._repeat > 0) {\n var completeCount = Math.min(Math.trunc((elapsedTime - this._duration) / durationAndDelay) + 1, this._repeat);\n if (isFinite(this._repeat)) {\n this._repeat -= completeCount;\n }\n // Reassign starting values, restart by making startTime = now\n for (property in this._valuesStartRepeat) {\n if (!this._yoyo && typeof this._valuesEnd[property] === 'string') {\n this._valuesStartRepeat[property] =\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n this._valuesStartRepeat[property] + parseFloat(this._valuesEnd[property]);\n }\n if (this._yoyo) {\n this._swapEndStartRepeatValues(property);\n }\n this._valuesStart[property] = this._valuesStartRepeat[property];\n }\n if (this._yoyo) {\n this._reversed = !this._reversed;\n }\n this._startTime += durationAndDelay * completeCount;\n if (this._onRepeatCallback) {\n this._onRepeatCallback(this._object);\n }\n this._onEveryStartCallbackFired = false;\n return true;\n }\n else {\n if (this._onCompleteCallback) {\n this._onCompleteCallback(this._object);\n }\n for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) {\n // Make the chained tweens start exactly at the time they should,\n // even if the `update()` method was called way past the duration of the tween\n this._chainedTweens[i].start(this._startTime + this._duration, false);\n }\n this._isPlaying = false;\n return false;\n }\n }\n return true;\n };\n Tween.prototype._updateProperties = function (_object, _valuesStart, _valuesEnd, value) {\n for (var property in _valuesEnd) {\n // Don't update properties that do not exist in the source object\n if (_valuesStart[property] === undefined) {\n continue;\n }\n var start = _valuesStart[property] || 0;\n var end = _valuesEnd[property];\n var startIsArray = Array.isArray(_object[property]);\n var endIsArray = Array.isArray(end);\n var isInterpolationList = !startIsArray && endIsArray;\n if (isInterpolationList) {\n _object[property] = this._interpolationFunction(end, value);\n }\n else if (typeof end === 'object' && end) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n this._updateProperties(_object[property], start, end, value);\n }\n else {\n // Parses relative end values with start as base (e.g.: +10, -3)\n end = this._handleRelativeValue(start, end);\n // Protect against non numeric properties.\n if (typeof end === 'number') {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _object[property] = start + (end - start) * value;\n }\n }\n }\n };\n Tween.prototype._handleRelativeValue = function (start, end) {\n if (typeof end !== 'string') {\n return end;\n }\n if (end.charAt(0) === '+' || end.charAt(0) === '-') {\n return start + parseFloat(end);\n }\n return parseFloat(end);\n };\n Tween.prototype._swapEndStartRepeatValues = function (property) {\n var tmp = this._valuesStartRepeat[property];\n var endValue = this._valuesEnd[property];\n if (typeof endValue === 'string') {\n this._valuesStartRepeat[property] = this._valuesStartRepeat[property] + parseFloat(endValue);\n }\n else {\n this._valuesStartRepeat[property] = this._valuesEnd[property];\n }\n this._valuesEnd[property] = tmp;\n };\n return Tween;\n}());\n\nvar VERSION = '23.1.3';\n\n/**\n * Tween.js - Licensed under the MIT license\n * https://github.com/tweenjs/tween.js\n * ----------------------------------------------\n *\n * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors.\n * Thank you all, you're awesome!\n */\nvar nextId = Sequence.nextId;\n/**\n * Controlling groups of tweens\n *\n * Using the TWEEN singleton to manage your tweens can cause issues in large apps with many components.\n * In these cases, you may want to create your own smaller groups of tweens.\n */\nvar TWEEN = mainGroup;\n// This is the best way to export things in a way that's compatible with both ES\n// Modules and CommonJS, without build hacks, and so as not to break the\n// existing API.\n// https://github.com/rollup/rollup/issues/1961#issuecomment-423037881\nvar getAll = TWEEN.getAll.bind(TWEEN);\nvar removeAll = TWEEN.removeAll.bind(TWEEN);\nvar add = TWEEN.add.bind(TWEEN);\nvar remove = TWEEN.remove.bind(TWEEN);\nvar update = TWEEN.update.bind(TWEEN);\nvar exports = {\n Easing: Easing,\n Group: Group,\n Interpolation: Interpolation,\n now: now,\n Sequence: Sequence,\n nextId: nextId,\n Tween: Tween,\n VERSION: VERSION,\n getAll: getAll,\n removeAll: removeAll,\n add: add,\n remove: remove,\n update: update,\n};\n\nexport { Easing, Group, Interpolation, Sequence, Tween, VERSION, add, exports as default, getAll, nextId, now, remove, removeAll, update };\n","/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2025-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport type {TArg, T_HTag} from './Grammar';\nimport type {T_Evt2Fnc, T_HEvt2Fnc, T_Main, T_Mark, T_Variable} from './CmnInterface';\nimport {argChk_Boolean, argChk_Num, CmnLib, EVNM_CLICK, EVNM_KEY} from './CmnLib';\nimport type {Config} from './Config';\nimport type {ScriptIterator} from './ScriptIterator';\nimport type {LayerMng} from './LayerMng';\nimport type {EventMng} from './EventMng';\nimport type {FocusMng} from './FocusMng';\nimport type {SoundMng} from './SoundMng';\nimport {EventListenerCtn} from './EventListenerCtn';\nimport type {T_RP_layGrp} from './GrpLayer';\nimport type {T_RP_layTxt} from './TxtLayer';\n\nimport {Container} from 'pixi.js';\nimport {Tween, remove} from '@tweenjs/tween.js'\n\n\ntype IPageLog = {\n\tkey\t\t: string;\n\tfn\t\t: string;\n\tindex\t: number;\n\tmark\t: T_Mark;\n\tweek\t: boolean;\n}\n\n\nexport class ReadingState {\n\tstatic\t#rs: ReadingState;\n\tstatic\tget rs() {return this.#rs}\n\tconstructor() {ReadingState.#rs = this}\n\n\tstatic\t#hLocalEvt2Fnc\t: T_HEvt2Fnc = {};\n\tstatic\t#hGlobalEvt2Fnc\t: T_HEvt2Fnc = {};\n\tstatic\tsetEvt2Fnc(glb: boolean, key: string, fnc: T_Evt2Fnc) {\n\t\tif (glb)\n\t\t\tthis.#hGlobalEvt2Fnc[key] = fnc;\n\t\telse this.#hLocalEvt2Fnc[key] = fnc;\n\t}\n\tstatic\tgetEvt2Fnc = (key: string): T_Evt2Fnc | undefined => this.#hLocalEvt2Fnc[key] ?? this.#hGlobalEvt2Fnc[key];\n\tstatic\tclear_eventer(rawKeY: string, glb: boolean, key: string) {\n\t\tif (! rawKeY.startsWith('dom=')) return;\n\n\t\tconst e2f = glb ? this.#hGlobalEvt2Fnc[key] : this.#hLocalEvt2Fnc[key];\n\t\tif (e2f) this.getHtmlElmList(rawKeY).el.forEach(v=> v.removeEventListener('click', e2f));\n\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\tif (glb) delete this.#hGlobalEvt2Fnc[key];\n\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\telse\tdelete this.#hLocalEvt2Fnc[key];\n\t}\n\n\tstatic\tpopLocalEvts(): T_HEvt2Fnc {\n\t\tconst ret = this.#hLocalEvt2Fnc;\n\t\tthis.#hLocalEvt2Fnc = {};\n\t\treturn ret;\n\t}\n\tstatic\tpushLocalEvts(h: T_HEvt2Fnc) {this.#hLocalEvt2Fnc = h}\n\n\tstatic\tclear_event(hArg: TArg): boolean {\n\t\tconst glb = argChk_Boolean(hArg, 'global', false);\n\t\tconst h = glb ?this.#hGlobalEvt2Fnc :this.#hLocalEvt2Fnc;\n\t\tfor (const [KeY, e2f] of Object.entries(h)) {\n\t\t\tif (! KeY.startsWith('dom=')) continue;\n\n\t\t\tthis.getHtmlElmList(KeY).el.forEach(v=> v.removeEventListener('click', e2f));\n\t\t}\n\t\tif (glb) this.#hGlobalEvt2Fnc = {}; else this.#hLocalEvt2Fnc = {};\n\n\t\treturn false;\n\t}\n\t\tstatic\tgetHtmlElmList(KeY: string): {el: NodeListOf<HTMLElement>, id: string, sel: string} {\n\t\t\tconst idx = KeY.indexOf(':');\n\t\t\tlet sel = '';\n\t\t\tif (idx >= 0) {\t\t// key='dom=config:#ctrl2val\n\t\t\t\tconst id = KeY.slice(4, idx);\n\t\t\t\tconst frmnm = `const.sn.frm.${id}`;\n\t\t\t\tif (! Reading.val.getVal(`tmp:${frmnm}`, 0)) throw `HTML【${id}】が読み込まれていません`;\n\n\t\t\t\tconst ifrm = <HTMLIFrameElement | null>document.getElementById(id);\n\t\t\t\tif (! ifrm) throw `HTML【${id}】の要素(id=${id})がありません`;\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t\tconst win = ifrm.contentWindow!;\n\t\t\t\tsel = KeY.slice(idx +1);\n\t\t\t\treturn {el: win.document.querySelectorAll(sel), id, sel};\n\t\t\t}\n\n\t\t\tsel = KeY.slice(4);\n\t\t\treturn {el: document.querySelectorAll(sel), id: '', sel};\n\t\t}\n\n\t// 予約イベントの発生待ち\n\tstatic\twaitRsvEvent(glb: boolean, onUserAct?: ()=> void): void {\n\t\tReading.val.saveKidoku();\n\n\t\tif (onUserAct) {\n\t\t\t//hTag.event({key:'click', breakout: fnc});\n\t\t\t//hTag.event({key:'middleclick', breakout: fnc});\n\t\t\t//\thTag.event()は内部で使わず、こうする\n\t\t\tthis.#hLocalEvt2Fnc.click =\n\t\t\tthis.#hLocalEvt2Fnc.enter =\n\t\t\tthis.#hLocalEvt2Fnc.arrowdown =\n\n\t\t\t// hTag.event({key:'downwheel', breakout: fnc});\n\t\t\tthis.#hLocalEvt2Fnc['wheel.y>0'] = ()=> onUserAct();\n\t\t}\n\t\telse {\n\t\t\tdelete this.#hLocalEvt2Fnc.click;\n\t\t\tdelete this.#hLocalEvt2Fnc.enter;\n\t\t\tdelete this.#hLocalEvt2Fnc.arrowdown;\n\t\t\tdelete this.#hLocalEvt2Fnc['wheel.y>0'];\n\t\t}\n\t\tthis.getEvt2Fnc = glb\n\t\t\t? key=> this.#hLocalEvt2Fnc[key]\n\t\t\t\t?? this.#hGlobalEvt2Fnc[key]\n\t\t\t: key=> this.#hLocalEvt2Fnc[key];\n\n\t\tReading.scrItr.noticeWait();\n\t\tif (CmnLib.debugLog) console.log('🎍 wait event... %o', {\n\t\t\tlocal\t: Object.keys(this.#hLocalEvt2Fnc),\n\t\t\tglobal\t: Object.keys(this.#hGlobalEvt2Fnc),\n\t\t});\n\t}\n\n\tstatic\twaitRsvEvent4Paging() {\n\t\tthis.waitRsvEvent(true);\n\n\t\tif (this.aKeysAtPaging.length === 0) {\n\t\t\tthis.getEvt2Fnc = key=>\n\t\t\t\tthis.#hLocalEvt2Fnc[key]\n\t\t\t?? this.#hGlobalEvt2Fnc[key];\n\t\t\treturn;\n\t\t}\n\n\t\tconst hGlb: T_HEvt2Fnc = {};\n\t\tfor (const k of this.aKeysAtPaging) {\n\t\t\tconst v = this.#hGlobalEvt2Fnc[k];\n\t\t\tif (v) hGlb[k] = v;\n\t\t}\n\t\tthis.getEvt2Fnc = key=> this.#hLocalEvt2Fnc[key] ?? hGlb[key];\n\t}\n\n\n\tfire(rawKeY: string, e: Event) {\n\t\t//if (this.#isDbgBreak) return;\n\n\t\t// 予約実行\n\t\tconst key = rawKeY.toLowerCase();\n\t\t// if (CmnLib.debugLog) console.log(`👺 fire<(key:\\`${key}\\` type:${e.type} e:${JSON.stringify(e)})`);\n\n\t\tswitch (key) {\n\t\t\tcase 'click':\n\t\t\tcase 'rightclick':\t// 右クリックメニューに入って出られない\n\t\t\tcase 'middleclick':\t// 〃\n\t\t\tcase 'enter':\n\t\t\tcase 'arrowdown':\n\t\t\t\tif (! ReadingState.isFirstFire()) return;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (key === 'enter') {\n\t\t\tconst em = Reading.fcs.getFocus();\n\t\t\tif (em instanceof Container) {\n\t\t\t\tem.emit(EVNM_CLICK, new PointerEvent(EVNM_CLICK));\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst ke = ReadingState.getEvt2Fnc(key);\n\t\tif (! ke) return;\t\t// 予約されていないイベントなので無視\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t\te.stopImmediatePropagation?.();\n\t\tif (! key.startsWith('dom=') && Reading.layMng.clickTxtLay()) return;\n\n\t\tke(e);\n\t\t//this.hLocalEvt2Fnc = {};\t// ここで消去禁止、Main.resumeByJumpOrCall()が担当\n\t}\n\tget\tisSkipping() {return Reading.skip_enabled}\n\treadonly\tisWait: boolean\t= false;\n\t// イベント複数発生回避(ボタンとステージクリックなど)\n\tstatic\t#wasFired\t= false;\n\tstatic\tisFirstFire(): boolean {\n\t\tif (ReadingState.#wasFired) return false;\n\t\tReadingState.#wasFired = true;\n\t\treturn true;\n\t}\n\tstatic\tresetFired() {ReadingState.#wasFired = false}\n\n\n\tstatic\taPage\t: IPageLog[];\n\tstatic\tlenPage = 0;\n\tstatic\tposPage = 0;\n\tstatic\tstyPaging\t: string;\n\tstatic\treadonly\tINI_STYPAGE = 'color: yellow; text-shadow: 1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000;';\n\n\tstatic\taKeysAtPaging: string[]\t= [];\n\n\tstatic\trecodePage(week = false) {\n\t\tif (! Reading.val.getVal('save:sn.doRecLog')) return;\n\n\t\tconst {fn, idx} = Reading.scrItr.nowScrIdx();\n\t\tconst key = `${idx -1}:`+ fn;\t// 検索時の都合で -1\n\t\tif (this.aPage.findIndex(p=> p.key === key) > -1) return;\t// 保存済\n\n\t\tif (CmnLib.debugLog) console.log(`📜 %crecodePage === week:${week} lenPage:${this.lenPage} len:${this.aPage.length} POP:${this.aPage.at(-1)?.week}`, 'color:#3B0;');\n\n\t\tif (this.aPage.at(-1)?.week) this.aPage.pop();\n\t\tconst {max_len} = Reading.cfg.oCfg.log;\t// 一定数を保つ\n\t\tif (this.aPage.push({key, week,\n\t\t\tfn\t\t: <string>Reading.val.getVal('save:const.sn.scriptFn', fn),\n\t\t\tindex\t: <number>Reading.val.getVal('save:const.sn.scriptIdx', 0),\n\t\t\tmark\t: Reading.scrItr.nowMark(),\n\t\t}) > max_len) this.aPage = this.aPage.slice(-max_len);\n\t\tthis.lenPage = this.aPage.length;\n\n\t\tif (CmnLib.debugLog) {\n\t\t\tconst m = Reading.scrItr.nowMark();\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconsole.log(` %clenPage:${this.lenPage} (base=${(<T_RP_layGrp>m.hPages.base!.fore).sBkFn} 0=${(<T_RP_layGrp>m.hPages['0']!.fore).sBkFn} mes=${/color: \\w+;/.exec((<T_RP_layTxt>m.hPages.mes!.fore).txs.cssText)})%c mark:%o`, 'color:#3B0;', '', m);\n\t\t\tconsole.table(this.aPage);\n\t\t}\n\n\t\tReading.val.setVal_Nochk('sys', 'const.sn.aPageLog', JSON.stringify(this.aPage));\n\t}\n\tstatic\tplaybackPage(saPageLog: string, $styPaging: string) {\n\t\tthis.aPage = <IPageLog[]>JSON.parse(saPageLog);\n\t\tthis.lenPage = this.aPage.length;\n\t\tif (this.posPage >= this.lenPage) this.posPage = this.lenPage -1;\n\t\tthis.styPaging = $styPaging;\n\t}\n\n\tbeginProc() {new ReadingState_proc}\n\tendProc() {new ReadingState_go}\n\n\n\t// タグ処理\n\tl(hArg: TArg): boolean {\n// console.log(`fn:Reading.ts line:218 [l] isKidoku:${Reading.scrItr.isKidoku} isNextKidoku:${Reading.scrItr.isNextKidoku} A:${Reading.auto_enabled} B:${Reading.skip_enabled} C:${Reading.skip_all}`);\n\t\tif (! Reading.tagL_enabled) return false;\n\n\t\tReadingState.recodePage(true);\n\n\t\tif (Reading.auto_enabled) {\t// Aスキップ時\n\t\t\thArg.time = Number(Reading.val.getVal(`sys:sn.auto.msecLineWait${Reading.scrItr.isKidoku ?'_Kidoku' :''}`));\n\t\t\treturn this.wait(hArg);\n\t\t}\n\t\tif (Reading.skip_enabled) {\t// Fスキップ時\n\t\t\tif (! Reading.skip_all && ! Reading.scrItr.isNextKidoku) {\n\t\t\t\tReading.cancelAutoSkip();\t// 未読で停止\n\t\t\t}\n\t\t\telse if ('ps'.includes(String(Reading.val.getVal('sys:sn.skip.mode')))) {\n\t\t\t\thArg.time = 50;\t// 改行待ち=しない\t// 魔法数字、見えるぐらい少し待つ\n\t\t\t\treturn this.wait(hArg);\n\t\t\t}\n\t\t}\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) {\n\t\t\tReading.layMng.breakLine(hArg);\n\t\t\tReading.goTxt();\n\t\t}\n\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\tp(hArg: TArg): boolean {\n// console.log(`fn:Reading.ts line:248 [p] isKidoku:${Reading.scrItr.isKidoku} isNextKidoku:${Reading.scrItr.isNextKidoku} A:${Reading.auto_enabled} B:${Reading.skip_enabled} C:${Reading.skip_all}`);\n\t\tReadingState.recodePage();\n\n\t\tif (Reading.auto_enabled) {\t// Aスキップ時\n\t\t\thArg.time = Number(Reading.val.getVal(`sys:sn.auto.msecPageWait${Reading.scrItr.isKidoku ?'_Kidoku' :''}`));\n\t\t\treturn this.wait(hArg);\n\t\t}\n\t\tif (Reading.skip_enabled) {\t// Fスキップ時\n\t\t\tif (! Reading.skip_all && ! Reading.scrItr.isNextKidoku) {\n\t\t\t\tReading.cancelAutoSkip();\t// 未読で停止\n\t\t\t}\n\t\t\telse if ('s' === String(Reading.val.getVal('sys:sn.skip.mode'))) {\n\t\t\t\thArg.time = 50;\t// 改行待ち=しない\t// 魔法数字、見えるぐらい少し待つ\n\t\t\t\treturn this.wait(hArg);\n\t\t\t}\n\t\t}\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) {\n\t\t\tReading.layMng.breakPage(hArg);\n\t\t\tReading.goTxt();\n\t\t}\n\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\ts(hArg: TArg): boolean {\n\t\tReadingState.recodePage();\n\n\t\tReading.cancelAutoSkip();\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\twait(hArg: TArg): boolean {\n\t\tconst time = argChk_Num(hArg, 'time', NaN);\t// skip時もエラーは出したい\n\t\tif (Reading.skip_enabled) {\t\t// Fスキップ時\n\t\t\tif (! Reading.skip_all && ! Reading.scrItr.isNextKidoku) Reading.cancelAutoSkip();\t// 未読で停止\n\t\t\treturn false;\n\t\t}\n\n\t\tconst tw = new Tween({});\n\t\tconst RPN_WAIT = 'wait';\n\t\tconst fin = ()=> {remove(tw); Reading.notifyEndProc(RPN_WAIT)};\n\t\ttw.to({}, time)\n\t\t.onComplete(fin)\n\t\t.start();\n\n\t\tconst canskip = argChk_Boolean(hArg, 'canskip', true);\n\t\tReading.beginProc(RPN_WAIT, fin, true, canskip ?fin :undefined);\n\t\treturn true;\n\t}\n\tpage(hArg: TArg): boolean {\n\t\tif (! ('clear' in hArg || 'to' in hArg || 'style' in hArg)) throw 'clear,style,to いずれかは必須です';\n\n\t\t// ページ移動状態中に有効にするグローバルイベントを限定\n\t\tconst {key, style} = hArg;\n\t\tif (key) ReadingState.aKeysAtPaging = key.split(',');\n\n\t\tif (style) {\n\t\t\tReadingState.styPaging = style;\n\t\t\tReading.val.setVal_Nochk('save', 'const.sn.styPaging', style);\n\t\t\treturn false;\n\t\t}\n\n\t\tif (argChk_Boolean(hArg, 'clear', false)) {\n\t\t\tReadingState.aPage = [];\n\t\t\tReadingState.lenPage = 0;\n\t\t\tReadingState.posPage = 0;\n\t\t\tReading.val.setVal_Nochk('sys', 'const.sn.aPageLog', '[]');\n\t\t\tReading.val.setVal_Nochk('save', 'const.sn.styPaging', ReadingState.INI_STYPAGE);\n\t\t\treturn false;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\n\tstatic\tdestroy() {\n\t\tthis.#hLocalEvt2Fnc = {};\n\t\tthis.#hGlobalEvt2Fnc = {};\n\t\tthis.aPage = [];\n\t\tthis.lenPage = 0;\n\t\tthis.posPage = 0;\n\t}\n\n}\n\n// go 状態\n//\t通常・タグなどを次々に処理\nclass ReadingState_go extends ReadingState {\n\tconstructor() {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_go', 'color:#3B0;');\n\n\t\tReading.main.resume();\n\t}\n\toverride\tfire(_KeY: string, _e: Event) { /* empty */ }\t// システムボタンなど無効化\n}\n\n// proc 状態\n//\tスクリプト・画像・音声ロードなど\nclass ReadingState_proc extends ReadingState {\n\tconstructor() {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_proc', 'color:#3B0;');\n\t}\n\toverride\tfire(_KeY: string, _e: Event) { /* empty */ }\t// システムボタンなど無効化\n}\n\n// wait 状態\n//\tイベント待ちやクリック待ち\nclass ReadingState_wait4Tag extends ReadingState {\n\tconstructor(hArg: TArg) {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_wait', 'color:#3B0;');\n\n\t\t// Reading.scrItr.noticeBreak(true);\n\n\t\tlet onUserAct = ()=> { /* empty */ };\n\t\tconst glb = argChk_Boolean(hArg, 'global', true);\n\t\tswitch (hArg[':タグ名']) {\n\t\t\tcase 'wait':\treturn;\t// 予約イベント待ち【しない】\n\n\t\t\tcase 's':\n\t\t\t\tReadingState.waitRsvEvent(glb);\t// ユーザーイベントに反応しない\n\t\t\t\treturn;\n\n\t\t\tcase 'p':\n\t\t\t\tonUserAct = ()=> {\n\t\t\t\t\tif (argChk_Boolean(hArg, 'er', false)) Reading.hTag.er(hArg);\n\n\t\t\t\t\tReading.sndMng.clearCache();\n\t\t\t\t\t//scrItr.turnPage();\n\n\t\t\t\t\tnew ReadingState_go;\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tdefault:\t// [wait] 以外は、予約イベント待ちを開始\n\t\t\t\tonUserAct = ()=> new ReadingState_go;\n\t\t}\n// console.log(`fn:Reading.ts ${hArg[':タグ名']} 予約イベント待ちを開始`);\n\t\tReadingState.waitRsvEvent(glb, onUserAct);\n\t}\n\n\toverride\treadonly\tisWait\t= true;\n\n\toverride page(hArg: TArg): boolean {\n\t\tconst ret = super.page(hArg);\t// チェックも兼ねて\n\t\tconst {to} = hArg;\n\t\tif (! to) return ret;\n\t\tif (ReadingState.lenPage < 2) return false;\t// 履歴がたまってない\n\n\t\tswitch (to) {\n\t\t\tcase 'oldest':\n\t\t\t\thArg.to = 'prev';\n\t\t\t\tReadingState.posPage = 1;\tbreak;\n\n\t\t\tcase 'newest':\n\t\t\tcase 'prev':\n\t\t\t\thArg.to = 'prev';\n\t\t\t\tReadingState.posPage = ReadingState.lenPage -1;\tbreak;\n\n\t\t\t// case 'next':\t\t// スルー\n\t\t\tdefault:\treturn false;\t// ダイアログ確認などするとここを通る\n\t\t}\n\n\t\treturn ReadingState_page.go(hArg);\n\t}\n\n}\n\n// page 状態\n//\tページ移動中\nclass ReadingState_page extends ReadingState {\n\tprivate\tconstructor() {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_page', 'color:#3B0;');\n\t\tReading.val.setVal_Nochk('tmp', 'const.sn.isPaging', true);\n\t}\n\tstatic\tgo(hArg: TArg) {return new ReadingState_page().page(hArg)}\n\n\t#isPaging\t= true;\n\toverride\tget\tisSkipping() {return this.#isPaging}\n\n\toverride\treadonly\tisWait\t= false;\n\n\toverride\tbeginProc() {Reading.main.stop()}\n\toverride\tendProc() {Reading.main.resume()}\n\n\t// タグ処理\n\toverride\tl(hArg: TArg): boolean {\n// console.log(`fn:ReadState.ts [l] len:${ReadingState.lenPage} pos:${ReadingState.posPage} isSkipping:${this.#isPaging}`);\n\t\tif (! this.#isPaging) return super.l(hArg);\t// 基底 ReadingState_go 化\n\n\t\t// ページ末尾ならページ移動終了\n\t\tif (ReadingState.posPage === ReadingState.lenPage -1) {\n\t\t\tthis.#exit();\n\t\t\treturn new ReadingState_go().l(hArg);\n\t\t}\n\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) Reading.layMng.breakLine(hArg);\n\n\t\tReading.layMng.setAllStyle2TxtLay(ReadingState.styPaging);\n\t\tReading.goTxt();\n\t\tif (! ReadingState.aPage[ReadingState.posPage]?.week) return false;\n\n\t\tReadingState.waitRsvEvent4Paging();\n\t\treturn true;\n\t}\n\toverride\tp(hArg: TArg): boolean {\n// console.log(`fn:ReadState.ts [p] len:${ReadingState.lenPage} pos:${ReadingState.posPage}`);\n\t\tif (! this.#isPaging) return super.p(hArg);\t// 基底 ReadingState_go 化\n\n\t\t// ページ末尾ならページ移動終了\n\t\tif (ReadingState.posPage === ReadingState.lenPage -1) {\n\t\t\tthis.#exit();\n\t\t\treturn new ReadingState_go().p(hArg);\n\t\t}\n\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) Reading.layMng.breakPage(hArg);\n\n\t\tReading.layMng.setAllStyle2TxtLay(ReadingState.styPaging);\n\t\tReading.goTxt();\n\n\t\tReadingState.waitRsvEvent4Paging();\n\t\treturn true;\n\t}\n\toverride\ts(hArg: TArg): boolean {\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\toverride\twait() {return false}\n\toverride\tpage(hArg: TArg): boolean {\n\t\tconst {to, style, clear} = hArg;\n\t\tif (style || clear) return false;\n\n\t\tif (CmnLib.debugLog) console.log(`📜 %cpage() pos:${ReadingState.posPage}%c len:${ReadingState.lenPage} to:${to}`, 'color:#3B0;', '');\n\t\tswitch (to) {\n\t\t\tcase 'oldest':\n\t\t\t\tif (ReadingState.posPage === 0) return false;\n\t\t\t\tReadingState.posPage = 0;\tbreak;\n\n\t\t\tcase 'prev':\n\t\t\t\tif (ReadingState.posPage === 0) return false;\n\t\t\t\t--ReadingState.posPage;\tbreak;\n\n\t\t\tcase 'next':\n\t\t\t\tif (ReadingState.posPage === ReadingState.lenPage -1) return false;\n\t\t\t\t++ReadingState.posPage;\tbreak;\n\n\t\t\tcase 'newest':\n\t\t\t\tif (ReadingState.posPage === ReadingState.lenPage -1) return false;\n\t\t\t\tReadingState.posPage = ReadingState.lenPage -1;\tbreak;\n\n\t\t\tcase 'exit':\n\t\t\t\tReadingState.posPage = ReadingState.lenPage -1;\tbreak;\n\n\t\t\tcase 'load':\n\t\t\t\tReadingState.lenPage = ReadingState.posPage +1;\n\t\t\t\tReadingState.aPage = ReadingState.aPage.slice(0, ReadingState.lenPage);\n\t\t\t\tthis.#exit();\n\t\t\t\tbreak;\n\n\t\t\tdefault:\tthrow `属性to「${to}」は異常です`;\n\t\t}\n\t\t// ページ移動状態を抜ける\n\t\tif (ReadingState.posPage === ReadingState.lenPage -1) this.#exit();\n\n\t\tconst p = ReadingState.aPage[ReadingState.posPage];\n\t\tif (! p) throw `posPage異常:${ReadingState.posPage}`;\n\t\tconst {fn, index, mark} = p;\n\t\tif (CmnLib.debugLog) {\n\t\t\tconst m = Reading.scrItr.nowMark();\n\t\t\tconst {week} = ReadingState.aPage[ReadingState.posPage] ?? {week: false};\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconsole.log(` -- fn:${fn} i:${index} pos:${ReadingState.posPage} (base=%c${(<T_RP_layGrp>m.hPages.base!.fore).sBkFn}%c 0=%c${(<T_RP_layGrp>m.hPages['0']!.fore).sBkFn}%c mes=%c${/color: \\w+;/.exec((<T_RP_layTxt>m.hPages.mes!.fore).txs.cssText)}%c) week:${week} A:${ReadingState.posPage === ReadingState.lenPage -1}\\n styPaging=%c${ReadingState.styPaging}%c\\n mark:%o`, 'background-color:#3B0; color:#000;', '', 'background-color:#B4F; color:#000;', '', 'color:#B68;', '', ReadingState.styPaging, '', mark);\n\t\t}\n\t\treturn Reading.scrItr.loadFromMark({fn, index}, mark);\n\t}\n\n\t#exit() {\n\t\tReading.val.setVal_Nochk('tmp', 'const.sn.isPaging', false);\n\t\tthis.#isPaging = false;\n\t}\n}\n\n\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class Reading {\n\tstatic\tbeginProc(proc_id: string, onNotify?: ()=> void, endProc = true, onClickSkip?: ()=> void) {\n\t\tif (CmnLib.debugLog) console.log(`📖.beginProc id:%c${proc_id}%c onNotify:${onNotify} endProc:${endProc} onClickSkip:${onClickSkip}`, 'color:#3B0;', '');\n\t\tthis.#clearProc();\n\t\tthis.#procID = proc_id;\n\n\t\t// 通知時コールバック型\n\t\tif (onNotify) {\n\t\t\t// notifyEndProc()を呼べば callBack & EndProc する機能\n\t\t\t// 使用者は、処理終了時に notifyEndProc()を呼ぶ義務がある\n\t\t\tconst {promise, resolve} = Promise.withResolvers<string>();\n\t\t\tvoid promise.then((proc_id: string)=> {\n\t\t\t\tif (CmnLib.debugLog) console.log(`📖.callBack id:%c${proc_id}%c`, 'color:#3B0;', '');\n\t\t\t\tonNotify();\n\t\t\t\tif (endProc) this.endProc(proc_id); else this.#clearProc();\n\t\t\t});\n\t\t\tthis.#rsNotify = resolve;\n\t\t}\n\n\t\t// クリックキャンセル機能\n\t\tif (onClickSkip) {\n\t\t\tconst fnc = ()=> {\n\t\t\t\tthis.cancelAutoSkip();\n\t\t\t\tonClickSkip();\n\t\t\t\tif (endProc) this.endProc(proc_id);\n\t\t\t};\n\t\t\tthis.#elc.add(this.main.cvs, EVNM_CLICK, (e: PointerEvent)=> {\n\t\t\t\te.stopPropagation();\n\t\t\t\tfnc();\n\t\t\t});\n\t\t\tthis.#elc.add(document, EVNM_KEY, (e: KeyboardEvent)=> {\n\t\t\t\tif (e.isComposing) return; // サポートしてない環境でもいける書き方\n\t\t\t\te.stopPropagation();\n\t\t\t\tfnc();\n\t\t\t});\n\t\t\tthis.procWheel4wle(this.#elc, fnc);\n\t\t}\n\n\t\tReadingState.rs.beginProc();\n\t\t// main.stop() は外の責任\n\t}\n\t\tstatic\t#clearProc() {\n\t\t\tthis.#procID = '';\n\t\t\tthis.#rsNotify = ()=> { /* empty */ };\n\t\t\tthis.#elc.clear();\n\t\t}\n\t\tstatic\treadonly\t#elc = new EventListenerCtn;\n\n\tstatic\t#rsNotify\t: (proc_id: string)=> void\t= ()=> { /* empty */ };\n\tstatic\tnotifyEndProc(proc_id: string) {\n\t\tif (CmnLib.debugLog) console.log(`📖.notifyEndProc id:%c${proc_id}%c=${this.#procID === proc_id}`, 'color:#3B0;', '');\n\t\tif (this.#procID !== proc_id) return;\n\n\t\tthis.#rsNotify(proc_id);\n\t}\n\n\tstatic\tendProc(proc_id: string) {\n\t\tif (CmnLib.debugLog) console.log(`📖.endProc id:%c${proc_id}%c=${this.#procID === proc_id}`, 'color:#3B0;', '');\n\t\tif (this.#procID !== proc_id) return;\n\n\t\tReadingState.rs.endProc();\n\t\tthis.#clearProc();\n\t}\n\t\tstatic\t#procID\t= '';\n\t\tstatic\tget procID() {return `RP_${this.scrItr.scriptFn}:${this.scrItr.idxToken}_`}\n\n\n\tstatic\tfire(KeY: string, e: Event, cancelAutoSkip = false) {\n\t\tif (cancelAutoSkip) this.cancelAutoSkip();\n\t\tReadingState.rs.fire(KeY, e);\n\t}\n\n\tstatic\tget\tisSkipping() {return ReadingState.rs.isSkipping}\n\tstatic\tget\tisWait() {return ReadingState.rs.isWait}\t// 予約イベントの発生待ち中か\n\n\n\t\tstatic\ttagL_enabled\t= true;\t\t// 頁末まで一気に読み進むか(l無視)\n\t\tstatic\tskip_all\t\t= false;\t// falseなら既読のみをスキップ\n\t\tstatic\tskip_enabled\t= false;\t// 次の選択肢(/未読)まで進むが有効か\n\t\tstatic\tauto_enabled\t= false;\t// 自動読みすすみモードかどうか\n\n\n\tstatic\tcfg\t\t: Config;\n\tstatic\thTag\t: T_HTag;\n\tstatic\tmain\t: T_Main;\n\tstatic\tval\t\t: T_Variable;\n\tstatic\tscrItr\t: ScriptIterator;\n\tstatic\tlayMng\t: LayerMng;\n\tstatic\tgoTxt = ()=> { /* empty */ };\n\tstatic\tget needGoTxt() {return this.layMng.needGoTxt}\n\tstatic\tevtMng\t: EventMng;\n\tstatic\tsndMng\t: SoundMng;\n\tstatic\tprocWheel4wle\t: (elc: EventListenerCtn, onIntr: ()=> void)=> void;\n\n\tstatic\tfcs\t\t: FocusMng;\n\n\tstatic\tinit(cfg: Config, hTag: T_HTag, main: T_Main, val: T_Variable, scrItr: ScriptIterator, layMng: LayerMng, evtMng: EventMng, sndMng: SoundMng, procWheel4wle: (elc: EventListenerCtn, onIntr: ()=> void)=> void) {\n\t\tthis.cfg = cfg;\n\t\tthis.hTag = hTag;\n\t\tthis.main = main;\n\t\tthis.val = val;\n\t\tthis.scrItr = scrItr;\n\t\tthis.layMng = layMng;\n\t\tthis.goTxt = ()=> layMng.goTxt();\n\t\tthis.evtMng = evtMng;\n\t\tthis.sndMng = sndMng;\n\t\tthis.procWheel4wle = procWheel4wle;\n\n\t\tval.defTmp('sn.tagL.enabled', ()=> this.tagL_enabled);\n\t\tval.defValTrg('tmp:sn.tagL.enabled', (_, v)=> {this.tagL_enabled = String(v) !== 'false'});\n\t\tval.defTmp('sn.skip.all', ()=> this.skip_all);\n\t\tval.defValTrg('tmp:sn.skip.all', (_, v)=> {this.skip_all = String(v) !== 'false'});\n\t\tval.defTmp('sn.skip.enabled', ()=> this.skip_enabled);\n\t\tval.defValTrg('tmp:sn.skip.enabled', (_, v)=> {this.skip_enabled = String(v) !== 'false'});\n\t\tval.defTmp('sn.auto.enabled', ()=> this.auto_enabled);\n\t\tval.defValTrg('tmp:sn.auto.enabled', (_, v)=> {this.auto_enabled = String(v) !== 'false'});\n\n\t\thTag.l\t\t\t= o=> ReadingState.rs.l(o);\t\t// 行末クリック待ち\n\t\thTag.p\t\t\t= o=> ReadingState.rs.p(o);\t\t// 改ページクリック待ち\n\t\thTag.s\t\t\t= o=> ReadingState.rs.s(o);\t\t// 停止する\n\t\thTag.wait\t\t= o=> ReadingState.rs.wait(o);\t\t// ウェイトを入れる\n\t\thTag.waitclick\t= o=> ReadingState.rs.s(o);\t\t// クリックを待つ\n\t\thTag.page\t\t= o=> ReadingState.rs.page(o);\t\t// ページ移動\n\n\t\tnew ReadingState_proc;\n\t\thTag.jump({fn: 'main'});\n\t}\n\tstatic\tsetFcs(fcs: FocusMng) {this.fcs = fcs}\n\n\n\tstatic\tcancelAutoSkip() {\n\t\tif (! this.tagL_enabled) {\t// 頁末まで一気に読み進むか(l無視)\n\t\t\tthis.tagL_enabled = true;\n\t\t\tthis.val.setVal_Nochk('tmp', 'sn.tagL.enabled', true);\n\t\t}\n\n\t\tif (this.skip_enabled) {\t\t// 次の選択肢(/未読)まで進むが有効か\n\t\t\tthis.skip_enabled = false;\n\t\t\tthis.val.setVal_Nochk('tmp', 'sn.skip.enabled', false);\n\t\t}\n\t\tif (this.auto_enabled) {\t\t// 自動読みすすみモードかどうか\n\t\t\tthis.auto_enabled = false;\n\t\t\tthis.val.setVal_Nochk('tmp', 'sn.auto.enabled', false);\n\t\t}\n\t}\n\n}\n"],"names":["Easing","amount","s","power","now","Group","_this","tweenId","tween","time","preserve","tweenIds","i","autoStart","Interpolation","v","k","m","f","fn","p0","p1","t","Sequence","mainGroup","Tween","_object","_group","target","duration","dynamic","overrideStartingValues","property","tmp","prop","_valuesStart","_valuesEnd","_valuesStartRepeat","startValue","startValueIsArray","propType","isInterpolationList","endValues","temp","l","value","nestedObject","numChainedTweens","group","times","yoyo","easingFunction","interpolationFunction","tweens","_i","callback","_a","endTime","elapsedTime","durationAndDelay","totalTime","calculateElapsedPortion","timesRepeated","timeIntoCurrentRepeat","portion","elapsed","completeCount","start","end","startIsArray","endIsArray","endValue","TWEEN","removeAll","remove","update","ReadingState","#rs","#hLocalEvt2Fnc","#hGlobalEvt2Fnc","glb","key","fnc","rawKeY","e2f","ret","h","hArg","argChk_Boolean","KeY","idx","sel","id","frmnm","Reading","ifrm","win","onUserAct","CmnLib","hGlb","e","em","Container","EVNM_CLICK","ke","#wasFired","week","p","max_len","saPageLog","$styPaging","ReadingState_proc","ReadingState_go","ReadingState_wait4Tag","argChk_Num","tw","RPN_WAIT","fin","canskip","style","_KeY","_e","to","ReadingState_page","#isPaging","#exit","clear","index","mark","proc_id","onNotify","endProc","onClickSkip","#clearProc","#procID","promise","resolve","#rsNotify","#elc","EVNM_KEY","EventListenerCtn","cancelAutoSkip","cfg","hTag","main","val","scrItr","layMng","evtMng","sndMng","procWheel4wle","_","o","fcs"],"mappings":";AAGG,IAACA,IAAS,OAAO,OAAO;AAAA,EACvB,QAAQ,OAAO,OAAO;AAAA,IAClB,MAAM,SAAUC,GAAQ;AACpB,aAAOA;AAAA,IACX;AAAA,IACA,IAAI,SAAUA,GAAQ;AAClB,aAAOA;AAAA,IACX;AAAA,IACA,KAAK,SAAUA,GAAQ;AACnB,aAAOA;AAAA,IACX;AAAA,IACA,OAAO,SAAUA,GAAQ;AACrB,aAAOA;AAAA,IACX;AAAA,EACR,CAAK;AAAA,EACD,WAAW,OAAO,OAAO;AAAA,IACrB,IAAI,SAAUA,GAAQ;AAClB,aAAOA,IAASA;AAAA,IACpB;AAAA,IACA,KAAK,SAAUA,GAAQ;AACnB,aAAOA,KAAU,IAAIA;AAAA,IACzB;AAAA,IACA,OAAO,SAAUA,GAAQ;AACrB,cAAKA,KAAU,KAAK,IACT,MAAMA,IAASA,IAEnB,QAAQ,EAAEA,KAAUA,IAAS,KAAK;AAAA,IAC7C;AAAA,EACR,CAAK;AAAA,EACD,OAAO,OAAO,OAAO;AAAA,IACjB,IAAI,SAAUA,GAAQ;AAClB,aAAOA,IAASA,IAASA;AAAA,IAC7B;AAAA,IACA,KAAK,SAAUA,GAAQ;AACnB,aAAO,EAAEA,IAASA,IAASA,IAAS;AAAA,IACxC;AAAA,IACA,OAAO,SAAUA,GAAQ;AACrB,cAAKA,KAAU,KAAK,IACT,MAAMA,IAASA,IAASA,IAE5B,QAAQA,KAAU,KAAKA,IAASA,IAAS;AAAA,IACpD;AAAA,EACR,CAAK;AAAA,EACD,SAAS,OAAO,OAAO;AAAA,IACnB,IAAI,SAAUA,GAAQ;AAClB,aAAOA,IAASA,IAASA,IAASA;AAAA,IACtC;AAAA,IACA,KAAK,SAAUA,GAAQ;AACnB,aAAO,IAAI,EAAEA,IAASA,IAASA,IAASA;AAAA,IAC5C;AAAA,IACA,OAAO,SAAUA,GAAQ;AACrB,cAAKA,KAAU,KAAK,IACT,MAAMA,IAASA,IAASA,IAASA,IAErC,SAASA,KAAU,KAAKA,IAASA,IAASA,IAAS;AAAA,IAC9D;AAAA,EACR,CAAK;AAAA,EACD,SAAS,OAAO,OAAO;AAAA,IACnB,IAAI,SAAUA,GAAQ;AAClB,aAAOA,IAASA,IAASA,IAASA,IAASA;AAAA,IAC/C;AAAA,IACA,KAAK,SAAUA,GAAQ;AACnB,aAAO,EAAEA,IAASA,IAASA,IAASA,IAASA,IAAS;AAAA,IAC1D;AAAA,IACA,OAAO,SAAUA,GAAQ;AACrB,cAAKA,KAAU,KAAK,IACT,MAAMA,IAASA,IAASA,IAASA,IAASA,IAE9C,QAAQA,KAAU,KAAKA,IAASA,IAASA,IAASA,IAAS;AAAA,IACtE;AAAA,EACR,CAAK;AAAA,EACD,YAAY,OAAO,OAAO;AAAA,IACtB,IAAI,SAAUA,GAAQ;AAClB,aAAO,IAAI,KAAK,KAAM,IAAMA,KAAU,KAAK,KAAM,CAAC;AAAA,IACtD;AAAA,IACA,KAAK,SAAUA,GAAQ;AACnB,aAAO,KAAK,IAAKA,IAAS,KAAK,KAAM,CAAC;AAAA,IAC1C;AAAA,IACA,OAAO,SAAUA,GAAQ;AACrB,aAAO,OAAO,IAAI,KAAK,IAAI,KAAK,MAAM,MAAMA,EAAO;AAAA,IACvD;AAAA,EACR,CAAK;AAAA,EACD,aAAa,OAAO,OAAO;AAAA,IACvB,IAAI,SAAUA,GAAQ;AAClB,aAAOA,MAAW,IAAI,IAAI,KAAK,IAAI,MAAMA,IAAS,CAAC;AAAA,IACvD;AAAA,IACA,KAAK,SAAUA,GAAQ;AACnB,aAAOA,MAAW,IAAI,IAAI,IAAI,KAAK,IAAI,GAAG,MAAMA,CAAM;AAAA,IAC1D;AAAA,IACA,OAAO,SAAUA,GAAQ;AACrB,aAAIA,MAAW,IACJ,IAEPA,MAAW,IACJ,KAENA,KAAU,KAAK,IACT,MAAM,KAAK,IAAI,MAAMA,IAAS,CAAC,IAEnC,OAAO,CAAC,KAAK,IAAI,GAAG,OAAOA,IAAS,EAAE,IAAI;AAAA,IACrD;AAAA,EACR,CAAK;AAAA,EACD,UAAU,OAAO,OAAO;AAAA,IACpB,IAAI,SAAUA,GAAQ;AAClB,aAAO,IAAI,KAAK,KAAK,IAAIA,IAASA,CAAM;AAAA,IAC5C;AAAA,IACA,KAAK,SAAUA,GAAQ;AACnB,aAAO,KAAK,KAAK,IAAI,EAAEA,IAASA,CAAM;AAAA,IAC1C;AAAA,IACA,OAAO,SAAUA,GAAQ;AACrB,cAAKA,KAAU,KAAK,IACT,QAAQ,KAAK,KAAK,IAAIA,IAASA,CAAM,IAAI,KAE7C,OAAO,KAAK,KAAK,KAAKA,KAAU,KAAKA,CAAM,IAAI;AAAA,IAC1D;AAAA,EACR,CAAK;AAAA,EACD,SAAS,OAAO,OAAO;AAAA,IACnB,IAAI,SAAUA,GAAQ;AAClB,aAAIA,MAAW,IACJ,IAEPA,MAAW,IACJ,IAEJ,CAAC,KAAK,IAAI,GAAG,MAAMA,IAAS,EAAE,IAAI,KAAK,KAAKA,IAAS,OAAO,IAAI,KAAK,EAAE;AAAA,IAClF;AAAA,IACA,KAAK,SAAUA,GAAQ;AACnB,aAAIA,MAAW,IACJ,IAEPA,MAAW,IACJ,IAEJ,KAAK,IAAI,GAAG,MAAMA,CAAM,IAAI,KAAK,KAAKA,IAAS,OAAO,IAAI,KAAK,EAAE,IAAI;AAAA,IAChF;AAAA,IACA,OAAO,SAAUA,GAAQ;AACrB,aAAIA,MAAW,IACJ,IAEPA,MAAW,IACJ,KAEXA,KAAU,GACNA,IAAS,IACF,OAAO,KAAK,IAAI,GAAG,MAAMA,IAAS,EAAE,IAAI,KAAK,KAAKA,IAAS,OAAO,IAAI,KAAK,EAAE,IAEjF,MAAM,KAAK,IAAI,GAAG,OAAOA,IAAS,EAAE,IAAI,KAAK,KAAKA,IAAS,OAAO,IAAI,KAAK,EAAE,IAAI;AAAA,IAC5F;AAAA,EACR,CAAK;AAAA,EACD,MAAM,OAAO,OAAO;AAAA,IAChB,IAAI,SAAUA,GAAQ;AAClB,UAAIC,IAAI;AACR,aAAOD,MAAW,IAAI,IAAIA,IAASA,MAAWC,IAAI,KAAKD,IAASC;AAAA,IACpE;AAAA,IACA,KAAK,SAAUD,GAAQ;AACnB,UAAIC,IAAI;AACR,aAAOD,MAAW,IAAI,IAAI,EAAEA,IAASA,MAAWC,IAAI,KAAKD,IAASC,KAAK;AAAA,IAC3E;AAAA,IACA,OAAO,SAAUD,GAAQ;AACrB,UAAIC,IAAI;AACR,cAAKD,KAAU,KAAK,IACT,OAAOA,IAASA,MAAWC,IAAI,KAAKD,IAASC,MAEjD,QAAQD,KAAU,KAAKA,MAAWC,IAAI,KAAKD,IAASC,KAAK;AAAA,IACpE;AAAA,EACR,CAAK;AAAA,EACD,QAAQ,OAAO,OAAO;AAAA,IAClB,IAAI,SAAUD,GAAQ;AAClB,aAAO,IAAID,EAAO,OAAO,IAAI,IAAIC,CAAM;AAAA,IAC3C;AAAA,IACA,KAAK,SAAUA,GAAQ;AACnB,aAAIA,IAAS,IAAI,OACN,SAASA,IAASA,IAEpBA,IAAS,IAAI,OACX,UAAUA,KAAU,MAAM,QAAQA,IAAS,OAE7CA,IAAS,MAAM,OACb,UAAUA,KAAU,OAAO,QAAQA,IAAS,SAG5C,UAAUA,KAAU,QAAQ,QAAQA,IAAS;AAAA,IAE5D;AAAA,IACA,OAAO,SAAUA,GAAQ;AACrB,aAAIA,IAAS,MACFD,EAAO,OAAO,GAAGC,IAAS,CAAC,IAAI,MAEnCD,EAAO,OAAO,IAAIC,IAAS,IAAI,CAAC,IAAI,MAAM;AAAA,IACrD;AAAA,EACR,CAAK;AAAA,EACD,aAAa,SAAUE,GAAO;AAC1B,WAAIA,MAAU,WAAUA,IAAQ,IAChCA,IAAQA,IAAQ,OAAO,UAAU,OAAO,UAAUA,GAClDA,IAAQA,IAAQ,MAAQ,MAAQA,GACzB;AAAA,MACH,IAAI,SAAUF,GAAQ;AAClB,eAAO,KAAK,IAAIA,GAAQE,CAAK;AAAA,MACjC;AAAA,MACA,KAAK,SAAUF,GAAQ;AACnB,eAAO,IAAI,KAAK,IAAK,IAAIA,GAASE,CAAK;AAAA,MAC3C;AAAA,MACA,OAAO,SAAUF,GAAQ;AACrB,eAAIA,IAAS,MACF,KAAK,IAAKA,IAAS,GAAIE,CAAK,IAAI,KAEnC,IAAI,KAAK,IAAK,IAAIF,IAAS,GAAIE,CAAK,KAAK,IAAI;AAAA,MACzD;AAAA,IACZ;AAAA,EACI;AACJ,CAAC,GAEGC,IAAM,WAAY;AAAE,SAAO,YAAY,IAAG;AAAI,GAQ9CC;AAAA;AAAA,EAAuB,WAAY;AACnC,aAASA,IAAQ;AACb,WAAK,UAAU,CAAA,GACf,KAAK,2BAA2B,CAAA;AAAA,IACpC;AACA,WAAAA,EAAM,UAAU,SAAS,WAAY;AACjC,UAAIC,IAAQ;AACZ,aAAO,OAAO,KAAK,KAAK,OAAO,EAAE,IAAI,SAAUC,GAAS;AACpD,eAAOD,EAAM,QAAQC,CAAO;AAAA,MAChC,CAAC;AAAA,IACL,GACAF,EAAM,UAAU,YAAY,WAAY;AACpC,WAAK,UAAU,CAAA;AAAA,IACnB,GACAA,EAAM,UAAU,MAAM,SAAUG,GAAO;AACnC,WAAK,QAAQA,EAAM,MAAK,CAAE,IAAIA,GAC9B,KAAK,yBAAyBA,EAAM,MAAK,CAAE,IAAIA;AAAA,IACnD,GACAH,EAAM,UAAU,SAAS,SAAUG,GAAO;AACtC,aAAO,KAAK,QAAQA,EAAM,MAAK,CAAE,GACjC,OAAO,KAAK,yBAAyBA,EAAM,MAAK,CAAE;AAAA,IACtD,GACAH,EAAM,UAAU,SAAS,SAAUI,GAAMC,GAAU;AAC/C,MAAID,MAAS,WAAUA,IAAOL,EAAG,IAC7BM,MAAa,WAAUA,IAAW;AACtC,UAAIC,IAAW,OAAO,KAAK,KAAK,OAAO;AACvC,UAAIA,EAAS,WAAW;AACpB,eAAO;AAOX,aAAOA,EAAS,SAAS,KAAG;AACxB,aAAK,2BAA2B,CAAA;AAChC,iBAASC,IAAI,GAAGA,IAAID,EAAS,QAAQC,KAAK;AACtC,cAAIJ,IAAQ,KAAK,QAAQG,EAASC,CAAC,CAAC,GAChCC,IAAY,CAACH;AACjB,UAAIF,KAASA,EAAM,OAAOC,GAAMI,CAAS,MAAM,MAAS,CAACH,KACrD,OAAO,KAAK,QAAQC,EAASC,CAAC,CAAC;AAAA,QAEvC;AACA,QAAAD,IAAW,OAAO,KAAK,KAAK,wBAAwB;AAAA,MACxD;AACA,aAAO;AAAA,IACX,GACON;AAAA,EACX;GAKIS,IAAgB;AAAA,EAChB,QAAQ,SAAUC,GAAGC,GAAG;AACpB,QAAIC,IAAIF,EAAE,SAAS,GACfG,IAAID,IAAID,GACRJ,IAAI,KAAK,MAAMM,CAAC,GAChBC,IAAKL,EAAc,MAAM;AAC7B,WAAIE,IAAI,IACGG,EAAGJ,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAGG,CAAC,IAEvBF,IAAI,IACGG,EAAGJ,EAAEE,CAAC,GAAGF,EAAEE,IAAI,CAAC,GAAGA,IAAIC,CAAC,IAE5BC,EAAGJ,EAAEH,CAAC,GAAGG,EAAEH,IAAI,IAAIK,IAAIA,IAAIL,IAAI,CAAC,GAAGM,IAAIN,CAAC;AAAA,EACnD;AAAA,EAgCA,OAAO;AAAA,IACH,QAAQ,SAAUQ,GAAIC,GAAIC,GAAG;AACzB,cAAQD,IAAKD,KAAME,IAAIF;AAAA,IAC3B;AAAA,EA0BJ;AACJ,GAKIG;AAAA;AAAA,EAA0B,WAAY;AACtC,aAASA,IAAW;AAAA,IACpB;AACA,WAAAA,EAAS,SAAS,WAAY;AAC1B,aAAOA,EAAS;AAAA,IACpB,GACAA,EAAS,UAAU,GACZA;AAAA,EACX;GAEIC,IAAY,IAAInB,EAAK,GAUrBoB;AAAA;AAAA,EAAuB,WAAY;AACnC,aAASA,EAAMC,GAASC,GAAQ;AAC5B,MAAIA,MAAW,WAAUA,IAASH,IAClC,KAAK,UAAUE,GACf,KAAK,SAASC,GACd,KAAK,YAAY,IACjB,KAAK,cAAc,GACnB,KAAK,eAAe,CAAA,GACpB,KAAK,aAAa,CAAA,GAClB,KAAK,qBAAqB,CAAA,GAC1B,KAAK,YAAY,KACjB,KAAK,aAAa,IAClB,KAAK,iBAAiB,GACtB,KAAK,UAAU,GACf,KAAK,QAAQ,IACb,KAAK,aAAa,IAClB,KAAK,YAAY,IACjB,KAAK,aAAa,GAClB,KAAK,aAAa,GAClB,KAAK,kBAAkB3B,EAAO,OAAO,MACrC,KAAK,yBAAyBc,EAAc,QAE5C,KAAK,iBAAiB,CAAA,GACtB,KAAK,wBAAwB,IAC7B,KAAK,6BAA6B,IAClC,KAAK,MAAMS,EAAS,OAAM,GAC1B,KAAK,kBAAkB,IACvB,KAAK,sBAAsB,IAC3B,KAAK,WAAW;AAAA,IACpB;AACA,WAAAE,EAAM,UAAU,QAAQ,WAAY;AAChC,aAAO,KAAK;AAAA,IAChB,GACAA,EAAM,UAAU,YAAY,WAAY;AACpC,aAAO,KAAK;AAAA,IAChB,GACAA,EAAM,UAAU,WAAW,WAAY;AACnC,aAAO,KAAK;AAAA,IAChB,GACAA,EAAM,UAAU,cAAc,WAAY;AACtC,aAAO,KAAK;AAAA,IAChB,GACAA,EAAM,UAAU,KAAK,SAAUG,GAAQC,GAAU;AAE7C,UADIA,MAAa,WAAUA,IAAW,MAClC,KAAK;AACL,cAAM,IAAI,MAAM,yFAAyF;AAC7G,kBAAK,aAAaD,GAClB,KAAK,sBAAsB,IAC3B,KAAK,YAAYC,IAAW,IAAI,IAAIA,GAC7B;AAAA,IACX,GACAJ,EAAM,UAAU,WAAW,SAAUI,GAAU;AAC3C,aAAIA,MAAa,WAAUA,IAAW,MACtC,KAAK,YAAYA,IAAW,IAAI,IAAIA,GAC7B;AAAA,IACX,GACAJ,EAAM,UAAU,UAAU,SAAUK,GAAS;AACzC,aAAIA,MAAY,WAAUA,IAAU,KACpC,KAAK,aAAaA,GACX;AAAA,IACX,GACAL,EAAM,UAAU,QAAQ,SAAUhB,GAAMsB,GAAwB;AAG5D,UAFItB,MAAS,WAAUA,IAAOL,EAAG,IAC7B2B,MAA2B,WAAUA,IAAyB,KAC9D,KAAK;AACL,eAAO;AAKX,UAFA,KAAK,UAAU,KAAK,OAAO,IAAI,IAAI,GACnC,KAAK,UAAU,KAAK,gBAChB,KAAK,WAAW;AAGhB,aAAK,YAAY;AACjB,iBAASC,KAAY,KAAK;AACtB,eAAK,0BAA0BA,CAAQ,GACvC,KAAK,aAAaA,CAAQ,IAAI,KAAK,mBAAmBA,CAAQ;AAAA,MAEtE;AAQA,UAPA,KAAK,aAAa,IAClB,KAAK,YAAY,IACjB,KAAK,wBAAwB,IAC7B,KAAK,6BAA6B,IAClC,KAAK,kBAAkB,IACvB,KAAK,aAAavB,GAClB,KAAK,cAAc,KAAK,YACpB,CAAC,KAAK,uBAAuBsB,GAAwB;AAGrD,YAFA,KAAK,sBAAsB,IAEvB,CAAC,KAAK,YAAY;AAClB,cAAIE,IAAM,CAAA;AACV,mBAASC,KAAQ,KAAK;AAClB,YAAAD,EAAIC,CAAI,IAAI,KAAK,WAAWA,CAAI;AACpC,eAAK,aAAaD;AAAA,QACtB;AACA,aAAK,iBAAiB,KAAK,SAAS,KAAK,cAAc,KAAK,YAAY,KAAK,oBAAoBF,CAAsB;AAAA,MAC3H;AACA,aAAO;AAAA,IACX,GACAN,EAAM,UAAU,yBAAyB,SAAUhB,GAAM;AACrD,aAAO,KAAK,MAAMA,GAAM,EAAI;AAAA,IAChC,GACAgB,EAAM,UAAU,mBAAmB,SAAUC,GAASS,GAAcC,GAAYC,GAAoBN,GAAwB;AACxH,eAASC,KAAYI,GAAY;AAC7B,YAAIE,IAAaZ,EAAQM,CAAQ,GAC7BO,IAAoB,MAAM,QAAQD,CAAU,GAC5CE,IAAWD,IAAoB,UAAU,OAAOD,GAChDG,IAAsB,CAACF,KAAqB,MAAM,QAAQH,EAAWJ,CAAQ,CAAC;AAGlF,YAAI,EAAAQ,MAAa,eAAeA,MAAa,aAI7C;AAAA,cAAIC,GAAqB;AACrB,gBAAIC,IAAYN,EAAWJ,CAAQ;AACnC,gBAAIU,EAAU,WAAW;AACrB;AAKJ,qBADIC,IAAO,CAACL,CAAU,GACb1B,IAAI,GAAGgC,IAAIF,EAAU,QAAQ9B,IAAIgC,GAAGhC,KAAK,GAAG;AACjD,kBAAIiC,IAAQ,KAAK,qBAAqBP,GAAYI,EAAU9B,CAAC,CAAC;AAC9D,kBAAI,MAAMiC,CAAK,GAAG;AACd,gBAAAJ,IAAsB,IACtB,QAAQ,KAAK,6CAA6C;AAC1D;AAAA,cACJ;AACA,cAAAE,EAAK,KAAKE,CAAK;AAAA,YACnB;AACA,YAAIJ,MAEAL,EAAWJ,CAAQ,IAAIW;AAAA,UAG/B;AAEA,eAAKH,MAAa,YAAYD,MAAsBD,KAAc,CAACG,GAAqB;AACpF,YAAAN,EAAaH,CAAQ,IAAIO,IAAoB,CAAA,IAAK,CAAA;AAClD,gBAAIO,IAAeR;AACnB,qBAASJ,KAAQY;AACb,cAAAX,EAAaH,CAAQ,EAAEE,CAAI,IAAIY,EAAaZ,CAAI;AAGpD,YAAAG,EAAmBL,CAAQ,IAAIO,IAAoB,CAAA,IAAK,CAAA;AACxD,gBAAIG,IAAYN,EAAWJ,CAAQ;AAEnC,gBAAI,CAAC,KAAK,YAAY;AAClB,kBAAIC,IAAM,CAAA;AACV,uBAASC,KAAQQ;AACb,gBAAAT,EAAIC,CAAI,IAAIQ,EAAUR,CAAI;AAC9B,cAAAE,EAAWJ,CAAQ,IAAIU,IAAYT;AAAA,YACvC;AACA,iBAAK,iBAAiBa,GAAcX,EAAaH,CAAQ,GAAGU,GAAWL,EAAmBL,CAAQ,GAAGD,CAAsB;AAAA,UAC/H;AAGI,aAAI,OAAOI,EAAaH,CAAQ,IAAM,OAAeD,OACjDI,EAAaH,CAAQ,IAAIM,IAExBC,MAGDJ,EAAaH,CAAQ,KAAK,IAE1BS,IAGAJ,EAAmBL,CAAQ,IAAII,EAAWJ,CAAQ,EAAE,MAAK,EAAG,QAAO,IAGnEK,EAAmBL,CAAQ,IAAIG,EAAaH,CAAQ,KAAK;AAAA;AAAA,MAGrE;AAAA,IACJ,GACAP,EAAM,UAAU,OAAO,WAAY;AAK/B,aAJK,KAAK,oBACN,KAAK,kBAAkB,IACvB,KAAK,kBAAiB,IAErB,KAAK,cAIV,KAAK,UAAU,KAAK,OAAO,OAAO,IAAI,GACtC,KAAK,aAAa,IAClB,KAAK,YAAY,IACb,KAAK,mBACL,KAAK,gBAAgB,KAAK,OAAO,GAE9B,QATI;AAAA,IAUf,GACAA,EAAM,UAAU,MAAM,WAAY;AAC9B,kBAAK,WAAW,IAChB,KAAK,OAAO,KAAQ,GACb;AAAA,IACX,GACAA,EAAM,UAAU,QAAQ,SAAUhB,GAAM;AAEpC,aADIA,MAAS,WAAUA,IAAOL,EAAG,IAC7B,KAAK,aAAa,CAAC,KAAK,aACjB,QAEX,KAAK,YAAY,IACjB,KAAK,cAAcK,GAEnB,KAAK,UAAU,KAAK,OAAO,OAAO,IAAI,GAC/B;AAAA,IACX,GACAgB,EAAM,UAAU,SAAS,SAAUhB,GAAM;AAErC,aADIA,MAAS,WAAUA,IAAOL,EAAG,IAC7B,CAAC,KAAK,aAAa,CAAC,KAAK,aAClB,QAEX,KAAK,YAAY,IACjB,KAAK,cAAcK,IAAO,KAAK,aAC/B,KAAK,cAAc,GAEnB,KAAK,UAAU,KAAK,OAAO,IAAI,IAAI,GAC5B;AAAA,IACX,GACAgB,EAAM,UAAU,oBAAoB,WAAY;AAC5C,eAASb,IAAI,GAAGmC,IAAmB,KAAK,eAAe,QAAQnC,IAAImC,GAAkBnC;AACjF,aAAK,eAAeA,CAAC,EAAE,KAAI;AAE/B,aAAO;AAAA,IACX,GACAa,EAAM,UAAU,QAAQ,SAAUuB,GAAO;AACrC,aAAIA,MAAU,WAAUA,IAAQxB,IAChC,KAAK,SAASwB,GACP;AAAA,IACX,GACAvB,EAAM,UAAU,QAAQ,SAAUxB,GAAQ;AACtC,aAAIA,MAAW,WAAUA,IAAS,IAClC,KAAK,aAAaA,GACX;AAAA,IACX,GACAwB,EAAM,UAAU,SAAS,SAAUwB,GAAO;AACtC,aAAIA,MAAU,WAAUA,IAAQ,IAChC,KAAK,iBAAiBA,GACtB,KAAK,UAAUA,GACR;AAAA,IACX,GACAxB,EAAM,UAAU,cAAc,SAAUxB,GAAQ;AAC5C,kBAAK,mBAAmBA,GACjB;AAAA,IACX,GACAwB,EAAM,UAAU,OAAO,SAAUyB,GAAM;AACnC,aAAIA,MAAS,WAAUA,IAAO,KAC9B,KAAK,QAAQA,GACN;AAAA,IACX,GACAzB,EAAM,UAAU,SAAS,SAAU0B,GAAgB;AAC/C,aAAIA,MAAmB,WAAUA,IAAiBnD,EAAO,OAAO,OAChE,KAAK,kBAAkBmD,GAChB;AAAA,IACX,GACA1B,EAAM,UAAU,gBAAgB,SAAU2B,GAAuB;AAC7D,aAAIA,MAA0B,WAAUA,IAAwBtC,EAAc,SAC9E,KAAK,yBAAyBsC,GACvB;AAAA,IACX,GAEA3B,EAAM,UAAU,QAAQ,WAAY;AAEhC,eADI4B,IAAS,CAAA,GACJC,IAAK,GAAGA,IAAK,UAAU,QAAQA;AACpC,QAAAD,EAAOC,CAAE,IAAI,UAAUA,CAAE;AAE7B,kBAAK,iBAAiBD,GACf;AAAA,IACX,GACA5B,EAAM,UAAU,UAAU,SAAU8B,GAAU;AAC1C,kBAAK,mBAAmBA,GACjB;AAAA,IACX,GACA9B,EAAM,UAAU,eAAe,SAAU8B,GAAU;AAC/C,kBAAK,wBAAwBA,GACtB;AAAA,IACX,GACA9B,EAAM,UAAU,WAAW,SAAU8B,GAAU;AAC3C,kBAAK,oBAAoBA,GAClB;AAAA,IACX,GACA9B,EAAM,UAAU,WAAW,SAAU8B,GAAU;AAC3C,kBAAK,oBAAoBA,GAClB;AAAA,IACX,GACA9B,EAAM,UAAU,aAAa,SAAU8B,GAAU;AAC7C,kBAAK,sBAAsBA,GACpB;AAAA,IACX,GACA9B,EAAM,UAAU,SAAS,SAAU8B,GAAU;AACzC,kBAAK,kBAAkBA,GAChB;AAAA,IACX,GAMA9B,EAAM,UAAU,SAAS,SAAUhB,GAAMI,GAAW;AAChD,UAAIP,IAAQ,MACRkD;AAGJ,UAFI/C,MAAS,WAAUA,IAAOL,EAAG,IAC7BS,MAAc,WAAUA,IAAY,KACpC,KAAK;AACL,eAAO;AACX,UAAImB,GACAyB,IAAU,KAAK,aAAa,KAAK;AACrC,UAAI,CAAC,KAAK,YAAY,CAAC,KAAK,YAAY;AACpC,YAAIhD,IAAOgD;AACP,iBAAO;AACX,QAAI5C,KACA,KAAK,MAAMJ,GAAM,EAAI;AAAA,MAC7B;AAEA,UADA,KAAK,WAAW,IACZA,IAAO,KAAK;AACZ,eAAO;AAEX,MAAI,KAAK,0BAA0B,OAC3B,KAAK,oBACL,KAAK,iBAAiB,KAAK,OAAO,GAEtC,KAAK,wBAAwB,KAE7B,KAAK,+BAA+B,OAChC,KAAK,yBACL,KAAK,sBAAsB,KAAK,OAAO,GAE3C,KAAK,6BAA6B;AAEtC,UAAIiD,IAAcjD,IAAO,KAAK,YAC1BkD,IAAmB,KAAK,cAAcH,IAAK,KAAK,sBAAsB,QAAQA,MAAO,SAASA,IAAK,KAAK,aACxGI,IAAY,KAAK,YAAY,KAAK,UAAUD,GAC5CE,IAA0B,WAAY;AAGtC,YAFIvD,EAAM,cAAc,KAEpBoD,IAAcE;AACd,iBAAO;AAEX,YAAIE,IAAgB,KAAK,MAAMJ,IAAcC,CAAgB,GACzDI,IAAwBL,IAAcI,IAAgBH,GAGtDK,IAAU,KAAK,IAAID,IAAwBzD,EAAM,WAAW,CAAC;AACjE,eAAI0D,MAAY,KAAKN,MAAgBpD,EAAM,YAChC,IAEJ0D;AAAA,MACX,GACIC,IAAUJ,EAAuB,GACjChB,IAAQ,KAAK,gBAAgBoB,CAAO;AAMxC,UAJA,KAAK,kBAAkB,KAAK,SAAS,KAAK,cAAc,KAAK,YAAYpB,CAAK,GAC1E,KAAK,qBACL,KAAK,kBAAkB,KAAK,SAASoB,CAAO,GAE5C,KAAK,cAAc,KAAKP,KAAe,KAAK;AAC5C,YAAI,KAAK,UAAU,GAAG;AAClB,cAAIQ,IAAgB,KAAK,IAAI,KAAK,OAAOR,IAAc,KAAK,aAAaC,CAAgB,IAAI,GAAG,KAAK,OAAO;AAC5G,UAAI,SAAS,KAAK,OAAO,MACrB,KAAK,WAAWO;AAGpB,eAAKlC,KAAY,KAAK;AAClB,YAAI,CAAC,KAAK,SAAS,OAAO,KAAK,WAAWA,CAAQ,KAAM,aACpD,KAAK,mBAAmBA,CAAQ;AAAA;AAAA,YAG5B,KAAK,mBAAmBA,CAAQ,IAAI,WAAW,KAAK,WAAWA,CAAQ,CAAC,IAE5E,KAAK,SACL,KAAK,0BAA0BA,CAAQ,GAE3C,KAAK,aAAaA,CAAQ,IAAI,KAAK,mBAAmBA,CAAQ;AAElE,iBAAI,KAAK,UACL,KAAK,YAAY,CAAC,KAAK,YAE3B,KAAK,cAAc2B,IAAmBO,GAClC,KAAK,qBACL,KAAK,kBAAkB,KAAK,OAAO,GAEvC,KAAK,6BAA6B,IAC3B;AAAA,QACX,OACK;AACD,UAAI,KAAK,uBACL,KAAK,oBAAoB,KAAK,OAAO;AAEzC,mBAAStD,IAAI,GAAGmC,IAAmB,KAAK,eAAe,QAAQnC,IAAImC,GAAkBnC;AAGjF,iBAAK,eAAeA,CAAC,EAAE,MAAM,KAAK,aAAa,KAAK,WAAW,EAAK;AAExE,sBAAK,aAAa,IACX;AAAA,QACX;AAEJ,aAAO;AAAA,IACX,GACAa,EAAM,UAAU,oBAAoB,SAAUC,GAASS,GAAcC,GAAYS,GAAO;AACpF,eAASb,KAAYI;AAEjB,YAAID,EAAaH,CAAQ,MAAM,QAG/B;AAAA,cAAImC,IAAQhC,EAAaH,CAAQ,KAAK,GAClCoC,IAAMhC,EAAWJ,CAAQ,GACzBqC,IAAe,MAAM,QAAQ3C,EAAQM,CAAQ,CAAC,GAC9CsC,IAAa,MAAM,QAAQF,CAAG,GAC9B3B,IAAsB,CAAC4B,KAAgBC;AAC3C,UAAI7B,IACAf,EAAQM,CAAQ,IAAI,KAAK,uBAAuBoC,GAAKvB,CAAK,IAErD,OAAOuB,KAAQ,YAAYA,IAGhC,KAAK,kBAAkB1C,EAAQM,CAAQ,GAAGmC,GAAOC,GAAKvB,CAAK,KAI3DuB,IAAM,KAAK,qBAAqBD,GAAOC,CAAG,GAEtC,OAAOA,KAAQ,aAGf1C,EAAQM,CAAQ,IAAImC,KAASC,IAAMD,KAAStB;AAAA;AAAA,IAI5D,GACApB,EAAM,UAAU,uBAAuB,SAAU0C,GAAOC,GAAK;AACzD,aAAI,OAAOA,KAAQ,WACRA,IAEPA,EAAI,OAAO,CAAC,MAAM,OAAOA,EAAI,OAAO,CAAC,MAAM,MACpCD,IAAQ,WAAWC,CAAG,IAE1B,WAAWA,CAAG;AAAA,IACzB,GACA3C,EAAM,UAAU,4BAA4B,SAAUO,GAAU;AAC5D,UAAIC,IAAM,KAAK,mBAAmBD,CAAQ,GACtCuC,IAAW,KAAK,WAAWvC,CAAQ;AACvC,MAAI,OAAOuC,KAAa,WACpB,KAAK,mBAAmBvC,CAAQ,IAAI,KAAK,mBAAmBA,CAAQ,IAAI,WAAWuC,CAAQ,IAG3F,KAAK,mBAAmBvC,CAAQ,IAAI,KAAK,WAAWA,CAAQ,GAEhE,KAAK,WAAWA,CAAQ,IAAIC;AAAA,IAChC,GACOR;AAAA,EACX,EAAC;AAAA;AAYYF,EAAS;AAOtB,IAAIiD,IAAQhD;AAKCgD,EAAM,OAAO,KAAKA,CAAK;AACjC,IAACC,IAAYD,EAAM,UAAU,KAAKA,CAAK;AAChCA,EAAM,IAAI,KAAKA,CAAK;AAC3B,IAACE,IAASF,EAAM,OAAO,KAAKA,CAAK,GAChCG,IAASH,EAAM,OAAO,KAAKA,CAAK;ACxzB7B,MAAMI,EAAa;AAAA,EACzB,OAAOC;AAAA,EACP,WAAW,KAAK;AAAC,WAAO,KAAKA;AAAA,EAAG;AAAA,EAChC,cAAc;AAAC,IAAAD,EAAaC,KAAM;AAAA,EAAI;AAAA,EAEtC,OAAOC,KAA8B,CAAA;AAAA,EACrC,OAAOC,KAA+B,CAAA;AAAA,EACtC,OAAO,WAAWC,GAAcC,GAAaC,GAAgB;AAC5D,IAAIF,IACH,KAAKD,GAAgBE,CAAG,IAAIC,IACxB,KAAKJ,GAAeG,CAAG,IAAIC;AAAA,EACjC;AAAA,EACA,OAAO,aAAa,CAACD,MAAuC,KAAKH,GAAeG,CAAG,KAAK,KAAKF,GAAgBE,CAAG;AAAA,EAChH,OAAO,cAAcE,GAAgBH,GAAcC,GAAa;AAC/D,QAAI,CAAEE,EAAO,WAAW,MAAM,EAAG;AAEjC,UAAMC,IAAMJ,IAAM,KAAKD,GAAgBE,CAAG,IAAI,KAAKH,GAAeG,CAAG;AACrE,IAAIG,KAAK,KAAK,eAAeD,CAAM,EAAE,GAAG,QAAQ,CAAApE,MAAIA,EAAE,oBAAoB,SAASqE,CAAG,CAAC,GAEnFJ,IAAK,OAAO,KAAKD,GAAgBE,CAAG,IAEnC,OAAO,KAAKH,GAAeG,CAAG;AAAA,EACpC;AAAA,EAEA,OAAO,eAA2B;AACjC,UAAMI,IAAM,KAAKP;AACjB,gBAAKA,KAAiB,CAAA,GACfO;AAAA,EACR;AAAA,EACA,OAAO,cAAcC,GAAe;AAAC,SAAKR,KAAiBQ;AAAA,EAAC;AAAA,EAE5D,OAAO,YAAYC,GAAqB;AACvC,UAAMP,IAAMQ,EAAeD,GAAM,UAAU,EAAK,GAC1CD,IAAIN,IAAK,KAAKD,KAAiB,KAAKD;AAC1C,eAAW,CAACW,GAAKL,CAAG,KAAK,OAAO,QAAQE,CAAC;AACxC,MAAMG,EAAI,WAAW,MAAM,KAE3B,KAAK,eAAeA,CAAG,EAAE,GAAG,QAAQ,OAAI1E,EAAE,oBAAoB,SAASqE,CAAG,CAAC;AAE5E,WAAIJ,IAAK,KAAKD,KAAkB,CAAA,IAAS,KAAKD,KAAiB,CAAA,GAExD;AAAA,EACR;AAAA,EACC,OAAO,eAAeW,GAAqE;AAC1F,UAAMC,IAAMD,EAAI,QAAQ,GAAG;AAC3B,QAAIE,IAAM;AACV,QAAID,KAAO,GAAG;AACb,YAAME,IAAKH,EAAI,MAAM,GAAGC,CAAG,GACrBG,IAAQ,gBAAgBD,CAAE;AAChC,UAAI,CAAEE,EAAQ,IAAI,OAAO,OAAOD,CAAK,IAAI,CAAC,EAAG,OAAM,QAAQD,CAAE;AAE7D,YAAMG,IAAiC,SAAS,eAAeH,CAAE;AACjE,UAAI,CAAEG,EAAM,OAAM,QAAQH,CAAE,WAAWA,CAAE;AAEzC,YAAMI,IAAMD,EAAK;AACjB,aAAAJ,IAAMF,EAAI,MAAMC,IAAK,CAAC,GACf,EAAC,IAAIM,EAAI,SAAS,iBAAiBL,CAAG,GAAG,IAAAC,GAAI,KAAAD,EAAA;AAAA,IACrD;AAEA,WAAAA,IAAMF,EAAI,MAAM,CAAC,GACV,EAAC,IAAI,SAAS,iBAAiBE,CAAG,GAAG,IAAI,IAAI,KAAAA,EAAA;AAAA,EACrD;AAAA;AAAA,EAGD,OAAO,aAAaX,GAAciB,GAA6B;AAC9D,IAAAH,EAAQ,IAAI,WAAA,GAERG,IAIH,KAAKnB,GAAe,QACpB,KAAKA,GAAe,QACpB,KAAKA,GAAe;AAAA,IAGpB,KAAKA,GAAe,WAAW,IAAI,MAAKmB,EAAA,KAGxC,OAAO,KAAKnB,GAAe,OAC3B,OAAO,KAAKA,GAAe,OAC3B,OAAO,KAAKA,GAAe,WAC3B,OAAO,KAAKA,GAAe,WAAW,IAEvC,KAAK,aAAaE,IACf,CAAAC,MAAM,KAAKH,GAAeG,CAAG,KAC3B,KAAKF,GAAgBE,CAAG,IAC1B,CAAAA,MAAM,KAAKH,GAAeG,CAAG,GAEhCa,EAAQ,OAAO,WAAA,GACXI,EAAO,YAAU,QAAQ,IAAI,uBAAuB;AAAA,MACvD,OAAQ,OAAO,KAAK,KAAKpB,EAAc;AAAA,MACvC,QAAS,OAAO,KAAK,KAAKC,EAAe;AAAA,IAAA,CACzC;AAAA,EACF;AAAA,EAEA,OAAO,sBAAsB;AAG5B,QAFA,KAAK,aAAa,EAAI,GAElB,KAAK,cAAc,WAAW,GAAG;AACpC,WAAK,aAAa,OACjB,KAAKD,GAAeG,CAAG,KACrB,KAAKF,GAAgBE,CAAG;AAC3B;AAAA,IACD;AAEA,UAAMkB,IAAmB,CAAA;AACzB,eAAWnF,KAAK,KAAK,eAAe;AACnC,YAAMD,IAAI,KAAKgE,GAAgB/D,CAAC;AAChC,MAAID,MAAGoF,EAAKnF,CAAC,IAAID;AAAA,IAClB;AACA,SAAK,aAAa,CAAAkE,MAAM,KAAKH,GAAeG,CAAG,KAAKkB,EAAKlB,CAAG;AAAA,EAC7D;AAAA,EAGA,KAAKE,GAAgBiB,GAAU;AAI9B,UAAMnB,IAAME,EAAO,YAAA;AAGnB,YAAQF,GAAA;AAAA,MACP,KAAK;AAAA,MACL,KAAK;AAAA;AAAA,MACL,KAAK;AAAA;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACJ,YAAI,CAAEL,EAAa,cAAe;AAClC;AAAA,IAAA;AAGF,QAAIK,MAAQ,SAAS;AACpB,YAAMoB,IAAKP,EAAQ,IAAI,SAAA;AACvB,UAAIO,aAAcC,GAAW;AAC5B,QAAAD,EAAG,KAAKE,GAAY,IAAI,aAAaA,CAAU,CAAC;AAChD;AAAA,MACD;AAAA,IACD;AAEA,UAAMC,IAAK5B,EAAa,WAAWK,CAAG;AACtC,IAAMuB,MAGNJ,EAAE,2BAAA,GACE,GAAEnB,EAAI,WAAW,MAAM,KAAKa,EAAQ,OAAO,kBAE/CU,EAAGJ,CAAC;AAAA,EAEL;AAAA,EACA,IAAI,aAAa;AAAC,WAAON,EAAQ;AAAA,EAAY;AAAA,EACpC,SAAkB;AAAA;AAAA,EAE3B,OAAOW,KAAY;AAAA,EACnB,OAAO,cAAuB;AAC7B,WAAI7B,EAAa6B,KAAkB,MACnC7B,EAAa6B,KAAY,IAClB;AAAA,EACR;AAAA,EACA,OAAO,aAAa;AAAC,IAAA7B,EAAa6B,KAAY;AAAA,EAAK;AAAA,EAGnD,OAAO;AAAA,EACP,OAAO,UAAU;AAAA,EACjB,OAAO,UAAU;AAAA,EACjB,OAAO;AAAA,EACP,OAAgB,cAAc;AAAA,EAE9B,OAAO,gBAA0B,CAAA;AAAA,EAEjC,OAAO,WAAWC,IAAO,IAAO;AAC/B,QAAI,CAAEZ,EAAQ,IAAI,OAAO,kBAAkB,EAAG;AAE9C,UAAM,EAAC,IAAA3E,GAAI,KAAAuE,EAAA,IAAOI,EAAQ,OAAO,UAAA,GAC3Bb,IAAM,GAAGS,IAAK,CAAC,MAAKvE;AAC1B,QAAI,KAAK,MAAM,UAAU,CAAAwF,MAAIA,EAAE,QAAQ1B,CAAG,IAAI,GAAI;AAElD,IAAIiB,EAAO,YAAU,QAAQ,IAAI,4BAA4BQ,CAAI,YAAY,KAAK,OAAO,QAAQ,KAAK,MAAM,MAAM,QAAQ,KAAK,MAAM,GAAG,EAAE,GAAG,IAAI,IAAI,aAAa,GAE9J,KAAK,MAAM,GAAG,EAAE,GAAG,QAAM,KAAK,MAAM,IAAA;AACxC,UAAM,EAAC,SAAAE,EAAA,IAAWd,EAAQ,IAAI,KAAK;AAQnC,QAPI,KAAK,MAAM,KAAK;AAAA,MAAC,KAAAb;AAAA,MAAK,MAAAyB;AAAA,MACzB,IAAcZ,EAAQ,IAAI,OAAO,0BAA0B3E,CAAE;AAAA,MAC7D,OAAgB2E,EAAQ,IAAI,OAAO,2BAA2B,CAAC;AAAA,MAC/D,MAAOA,EAAQ,OAAO,QAAA;AAAA,IAAQ,CAC9B,IAAIc,MAAS,KAAK,QAAQ,KAAK,MAAM,MAAM,CAACA,CAAO,IACpD,KAAK,UAAU,KAAK,MAAM,QAEtBV,EAAO,UAAU;AACpB,YAAMjF,IAAI6E,EAAQ,OAAO,QAAA;AAEzB,cAAQ,IAAI,gBAAgB,KAAK,OAAO,UAAwB7E,EAAE,OAAO,KAAM,KAAM,KAAK,MAAoBA,EAAE,OAAO,CAAG,EAAG,KAAM,KAAK,QAAQ,cAAc,KAAmBA,EAAE,OAAO,IAAK,KAAM,IAAI,OAAO,CAAC,eAAe,eAAe,IAAIA,CAAC,GACpP,QAAQ,MAAM,KAAK,KAAK;AAAA,IACzB;AAEA,IAAA6E,EAAQ,IAAI,aAAa,OAAO,qBAAqB,KAAK,UAAU,KAAK,KAAK,CAAC;AAAA,EAChF;AAAA,EACA,OAAO,aAAae,GAAmBC,GAAoB;AAC1D,SAAK,QAAoB,KAAK,MAAMD,CAAS,GAC7C,KAAK,UAAU,KAAK,MAAM,QACtB,KAAK,WAAW,KAAK,YAAS,KAAK,UAAU,KAAK,UAAS,IAC/D,KAAK,YAAYC;AAAA,EAClB;AAAA,EAEA,YAAY;AAAC,QAAIC,EAAA;AAAA,EAAiB;AAAA,EAClC,UAAU;AAAC,QAAIC,EAAA;AAAA,EAAe;AAAA;AAAA,EAI9B,EAAEzB,GAAqB;AAEtB,QAAI,CAAEO,EAAQ,aAAc,QAAO;AAInC,QAFAlB,EAAa,WAAW,EAAI,GAExBkB,EAAQ;AACX,aAAAP,EAAK,OAAO,OAAOO,EAAQ,IAAI,OAAO,2BAA2BA,EAAQ,OAAO,WAAU,YAAW,EAAE,EAAE,CAAC,GACnG,KAAK,KAAKP,CAAI;AAEtB,QAAIO,EAAQ;AACX,UAAI,CAAEA,EAAQ,YAAY,CAAEA,EAAQ,OAAO;AAC1C,QAAAA,EAAQ,eAAA;AAAA,eAEA,KAAK,SAAS,OAAOA,EAAQ,IAAI,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAAP,EAAK,OAAO,IACL,KAAK,KAAKA,CAAI;AAAA;AAIvB,WAAIC,EAAeD,GAAM,WAAW,EAAI,MACvCO,EAAQ,OAAO,UAAUP,CAAI,GAC7BO,EAAQ,MAAA,IAGT,IAAImB,EAAsB1B,CAAI,GACvB;AAAA,EACR;AAAA,EACA,EAAEA,GAAqB;AAItB,QAFAX,EAAa,WAAA,GAETkB,EAAQ;AACX,aAAAP,EAAK,OAAO,OAAOO,EAAQ,IAAI,OAAO,2BAA2BA,EAAQ,OAAO,WAAU,YAAW,EAAE,EAAE,CAAC,GACnG,KAAK,KAAKP,CAAI;AAEtB,QAAIO,EAAQ;AACX,UAAI,CAAEA,EAAQ,YAAY,CAAEA,EAAQ,OAAO;AAC1C,QAAAA,EAAQ,eAAA;AAAA,eAEQ,OAAOA,EAAQ,IAAI,OAAO,kBAAkB,CAAC,MAArD;AACR,eAAAP,EAAK,OAAO,IACL,KAAK,KAAKA,CAAI;AAAA;AAIvB,WAAIC,EAAeD,GAAM,WAAW,EAAI,MACvCO,EAAQ,OAAO,UAAUP,CAAI,GAC7BO,EAAQ,MAAA,IAGT,IAAImB,EAAsB1B,CAAI,GACvB;AAAA,EACR;AAAA,EACA,EAAEA,GAAqB;AACtB,WAAAX,EAAa,WAAA,GAEbkB,EAAQ,eAAA,GACR,IAAImB,EAAsB1B,CAAI,GACvB;AAAA,EACR;AAAA,EACA,KAAKA,GAAqB;AACzB,UAAM9E,IAAOyG,EAAW3B,GAAM,QAAQ,GAAG;AACzC,QAAIO,EAAQ;AACX,aAAI,CAAEA,EAAQ,YAAY,CAAEA,EAAQ,OAAO,kBAAsB,eAAA,GAC1D;AAGR,UAAMqB,IAAK,IAAI1F,EAAM,EAAE,GACjB2F,IAAW,QACXC,IAAM,MAAK;AAAC,MAAA3C,EAAOyC,CAAE,GAAGrB,EAAQ,cAAcsB,CAAQ;AAAA,IAAC;AAC7D,IAAAD,EAAG,GAAG,IAAI1G,CAAI,EACb,WAAW4G,CAAG,EACd,MAAA;AAED,UAAMC,IAAU9B,EAAeD,GAAM,WAAW,EAAI;AACpD,WAAAO,EAAQ,UAAUsB,GAAUC,GAAK,IAAMC,IAASD,IAAK,MAAS,GACvD;AAAA,EACR;AAAA,EACA,KAAK9B,GAAqB;AACzB,QAAI,EAAG,WAAWA,KAAQ,QAAQA,KAAQ,WAAWA,GAAO,OAAM;AAGlE,UAAM,EAAC,KAAAN,GAAK,OAAAsC,EAAA,IAAShC;AAGrB,WAFIN,MAAKL,EAAa,gBAAgBK,EAAI,MAAM,GAAG,IAE/CsC,KACH3C,EAAa,YAAY2C,GACzBzB,EAAQ,IAAI,aAAa,QAAQ,sBAAsByB,CAAK,GACrD,OAGJ/B,EAAeD,GAAM,SAAS,EAAK,MACtCX,EAAa,QAAQ,CAAA,GACrBA,EAAa,UAAU,GACvBA,EAAa,UAAU,GACvBkB,EAAQ,IAAI,aAAa,OAAO,qBAAqB,IAAI,GACzDA,EAAQ,IAAI,aAAa,QAAQ,sBAAsBlB,EAAa,WAAW,IACxE;AAAA,EAIT;AAAA,EAGA,OAAO,UAAU;AAChB,SAAKE,KAAiB,CAAA,GACtB,KAAKC,KAAkB,CAAA,GACvB,KAAK,QAAQ,CAAA,GACb,KAAK,UAAU,GACf,KAAK,UAAU;AAAA,EAChB;AAED;AAIA,MAAMiC,UAAwBpC,EAAa;AAAA,EAC1C,cAAc;AACb,UAAA,GACIsB,EAAO,YAAU,QAAQ,IAAI,2BAA2B,aAAa,GAEzEJ,EAAQ,KAAK,OAAA;AAAA,EACd;AAAA,EACS,KAAK0B,GAAcC,GAAW;AAAA,EAAc;AAAA;AACtD;AAIA,MAAMV,UAA0BnC,EAAa;AAAA,EAC5C,cAAc;AACb,UAAA,GACIsB,EAAO,YAAU,QAAQ,IAAI,6BAA6B,aAAa;AAAA,EAC5E;AAAA,EACS,KAAKsB,GAAcC,GAAW;AAAA,EAAc;AAAA;AACtD;AAIA,MAAMR,UAA8BrC,EAAa;AAAA,EAChD,YAAYW,GAAY;AACvB,UAAA,GACIW,EAAO,YAAU,QAAQ,IAAI,6BAA6B,aAAa;AAI3E,QAAID,IAAY,MAAK;AAAA,IAAc;AACnC,UAAMjB,IAAMQ,EAAeD,GAAM,UAAU,EAAI;AAC/C,YAAQA,EAAK,MAAM,GAAA;AAAA,MAClB,KAAK;AAAQ;AAAA;AAAA,MAEb,KAAK;AACJ,QAAAX,EAAa,aAAaI,CAAG;AAC7B;AAAA,MAED,KAAK;AACJ,QAAAiB,IAAY,MAAK;AAChB,UAAIT,EAAeD,GAAM,MAAM,EAAK,KAAGO,EAAQ,KAAK,GAAGP,CAAI,GAE3DO,EAAQ,OAAO,WAAA,GAGf,IAAIkB,EAAA;AAAA,QACL;AACA;AAAA,MAED;AACC,QAAAf,IAAY,MAAK,IAAIe,EAAA;AAAA,IAAA;AAGvB,IAAApC,EAAa,aAAaI,GAAKiB,CAAS;AAAA,EACzC;AAAA,EAEkB,SAAS;AAAA,EAElB,KAAKV,GAAqB;AAClC,UAAMF,IAAM,MAAM,KAAKE,CAAI,GACrB,EAAC,IAAAmC,MAAMnC;AACb,QAAI,CAAEmC,EAAI,QAAOrC;AACjB,QAAIT,EAAa,UAAU,EAAG,QAAO;AAErC,YAAQ8C,GAAA;AAAA,MACP,KAAK;AACJ,QAAAnC,EAAK,KAAK,QACVX,EAAa,UAAU;AAAG;AAAA,MAE3B,KAAK;AAAA,MACL,KAAK;AACJ,QAAAW,EAAK,KAAK,QACVX,EAAa,UAAUA,EAAa,UAAS;AAAG;AAAA;AAAA,MAGjD;AAAS,eAAO;AAAA,IAAA;AAGjB,WAAO+C,EAAkB,GAAGpC,CAAI;AAAA,EACjC;AAED;AAIA,MAAMoC,UAA0B/C,EAAa;AAAA,EACpC,cAAc;AACrB,UAAA,GACIsB,EAAO,YAAU,QAAQ,IAAI,6BAA6B,aAAa,GAC3EJ,EAAQ,IAAI,aAAa,OAAO,qBAAqB,EAAI;AAAA,EAC1D;AAAA,EACA,OAAO,GAAGP,GAAY;AAAC,WAAO,IAAIoC,EAAA,EAAoB,KAAKpC,CAAI;AAAA,EAAC;AAAA,EAEhEqC,KAAY;AAAA,EACZ,IAAa,aAAa;AAAC,WAAO,KAAKA;AAAA,EAAS;AAAA,EAE9B,SAAS;AAAA,EAElB,YAAY;AAAC,IAAA9B,EAAQ,KAAK,KAAA;AAAA,EAAM;AAAA,EAChC,UAAU;AAAC,IAAAA,EAAQ,KAAK,OAAA;AAAA,EAAQ;AAAA;AAAA,EAGhC,EAAEP,GAAqB;AAE/B,WAAM,KAAKqC,KAGPhD,EAAa,YAAYA,EAAa,UAAS,KAClD,KAAKiD,GAAA,GACE,IAAIb,EAAA,EAAkB,EAAEzB,CAAI,MAIhCC,EAAeD,GAAM,WAAW,EAAI,KAAGO,EAAQ,OAAO,UAAUP,CAAI,GAExEO,EAAQ,OAAO,mBAAmBlB,EAAa,SAAS,GACxDkB,EAAQ,MAAA,GACFlB,EAAa,MAAMA,EAAa,OAAO,GAAG,QAEhDA,EAAa,oBAAA,GACN,MAHsD,MAbhC,MAAM,EAAEW,CAAI;AAAA,EAiB1C;AAAA,EACS,EAAEA,GAAqB;AAE/B,WAAM,KAAKqC,KAGPhD,EAAa,YAAYA,EAAa,UAAS,KAClD,KAAKiD,GAAA,GACE,IAAIb,EAAA,EAAkB,EAAEzB,CAAI,MAIhCC,EAAeD,GAAM,WAAW,EAAI,KAAGO,EAAQ,OAAO,UAAUP,CAAI,GAExEO,EAAQ,OAAO,mBAAmBlB,EAAa,SAAS,GACxDkB,EAAQ,MAAA,GAERlB,EAAa,oBAAA,GACN,MAfsB,MAAM,EAAEW,CAAI;AAAA,EAgB1C;AAAA,EACS,EAAEA,GAAqB;AAC/B,eAAI0B,EAAsB1B,CAAI,GACvB;AAAA,EACR;AAAA,EACS,OAAO;AAAC,WAAO;AAAA,EAAK;AAAA,EACpB,KAAKA,GAAqB;AAClC,UAAM,EAAC,IAAAmC,GAAI,OAAAH,GAAO,OAAAO,EAAA,IAASvC;AAC3B,QAAIgC,KAASO,EAAO,QAAO;AAG3B,YADI5B,EAAO,YAAU,QAAQ,IAAI,mBAAmBtB,EAAa,OAAO,UAAUA,EAAa,OAAO,OAAO8C,CAAE,IAAI,eAAe,EAAE,GAC5HA,GAAA;AAAA,MACP,KAAK;AACJ,YAAI9C,EAAa,YAAY,EAAG,QAAO;AACvC,QAAAA,EAAa,UAAU;AAAG;AAAA,MAE3B,KAAK;AACJ,YAAIA,EAAa,YAAY,EAAG,QAAO;AACvC,UAAEA,EAAa;AAAS;AAAA,MAEzB,KAAK;AACJ,YAAIA,EAAa,YAAYA,EAAa,UAAS,EAAG,QAAO;AAC7D,UAAEA,EAAa;AAAS;AAAA,MAEzB,KAAK;AACJ,YAAIA,EAAa,YAAYA,EAAa,UAAS,EAAG,QAAO;AAC7D,QAAAA,EAAa,UAAUA,EAAa,UAAS;AAAG;AAAA,MAEjD,KAAK;AACJ,QAAAA,EAAa,UAAUA,EAAa,UAAS;AAAG;AAAA,MAEjD,KAAK;AACJ,QAAAA,EAAa,UAAUA,EAAa,UAAS,GAC7CA,EAAa,QAAQA,EAAa,MAAM,MAAM,GAAGA,EAAa,OAAO,GACrE,KAAKiD,GAAA;AACL;AAAA,MAED;AAAS,cAAM,QAAQH,CAAE;AAAA,IAAA;AAG1B,IAAI9C,EAAa,YAAYA,EAAa,UAAS,UAAQiD,GAAA;AAE3D,UAAMlB,IAAI/B,EAAa,MAAMA,EAAa,OAAO;AACjD,QAAI,CAAE+B,EAAG,OAAM,aAAa/B,EAAa,OAAO;AAChD,UAAM,EAAC,IAAAzD,GAAI,OAAA4G,GAAO,MAAAC,EAAA,IAAQrB;AAC1B,QAAIT,EAAO,UAAU;AACpB,YAAMjF,IAAI6E,EAAQ,OAAO,QAAA,GACnB,EAAC,MAAAY,MAAQ9B,EAAa,MAAMA,EAAa,OAAO,KAAK,EAAC,MAAM,GAAA;AAElE,cAAQ,IAAI,YAAYzD,CAAE,MAAM4G,CAAK,QAAQnD,EAAa,OAAO,YAA0B3D,EAAE,OAAO,KAAM,KAAM,KAAK,UAAwBA,EAAE,OAAO,CAAG,EAAG,KAAM,KAAK,YAAY,cAAc,KAAmBA,EAAE,OAAO,IAAK,KAAM,IAAI,OAAO,CAAC,YAAYyF,CAAI,MAAM9B,EAAa,YAAYA,EAAa,UAAS,CAAC;AAAA,iBAAoBA,EAAa,SAAS;AAAA,aAAkB,sCAAsC,IAAI,sCAAsC,IAAI,eAAe,IAAIA,EAAa,WAAW,IAAIoD,CAAI;AAAA,IAC9f;AACA,WAAOlC,EAAQ,OAAO,aAAa,EAAC,IAAA3E,GAAI,OAAA4G,EAAA,GAAQC,CAAI;AAAA,EACrD;AAAA,EAEAH,KAAQ;AACP,IAAA/B,EAAQ,IAAI,aAAa,OAAO,qBAAqB,EAAK,GAC1D,KAAK8B,KAAY;AAAA,EAClB;AACD;AAKO,MAAM9B,EAAQ;AAAA,EACpB,OAAO,UAAUmC,GAAiBC,GAAsBC,IAAU,IAAMC,GAAyB;AAMhG,QALIlC,EAAO,YAAU,QAAQ,IAAI,qBAAqB+B,CAAO,eAAeC,CAAQ,YAAYC,CAAO,gBAAgBC,CAAW,IAAI,eAAe,EAAE,GACvJ,KAAKC,GAAA,GACL,KAAKC,KAAUL,GAGXC,GAAU;AAGb,YAAM,EAAC,SAAAK,GAAS,SAAAC,MAAW,QAAQ,cAAA;AACnC,MAAKD,EAAQ,KAAK,CAACN,MAAmB;AACrC,QAAI/B,EAAO,YAAU,QAAQ,IAAI,oBAAoB+B,CAAO,MAAM,eAAe,EAAE,GACnFC,EAAA,GACIC,IAAS,KAAK,QAAQF,CAAO,SAAaI,GAAA;AAAA,MAC/C,CAAC,GACD,KAAKI,KAAYD;AAAA,IAClB;AAGA,QAAIJ,GAAa;AAChB,YAAMlD,IAAM,MAAK;AAChB,aAAK,eAAA,GACLkD,EAAA,GACID,KAAS,KAAK,QAAQF,CAAO;AAAA,MAClC;AACA,WAAKS,GAAK,IAAI,KAAK,KAAK,KAAKnC,GAAY,CAACH,MAAmB;AAC5D,QAAAA,EAAE,gBAAA,GACFlB,EAAA;AAAA,MACD,CAAC,GACD,KAAKwD,GAAK,IAAI,UAAUC,GAAU,CAACvC,MAAoB;AACtD,QAAIA,EAAE,gBACNA,EAAE,gBAAA,GACFlB,EAAA;AAAA,MACD,CAAC,GACD,KAAK,cAAc,KAAKwD,IAAMxD,CAAG;AAAA,IAClC;AAEA,IAAAN,EAAa,GAAG,UAAA;AAAA,EAEjB;AAAA,EACC,OAAOyD,KAAa;AACnB,SAAKC,KAAU,IACf,KAAKG,KAAY,MAAK;AAAA,IAAc,GACpC,KAAKC,GAAK,MAAA;AAAA,EACX;AAAA,EACA,OAAgBA,KAAO,IAAIE,EAAA;AAAA,EAE5B,OAAOH,KAAuC,MAAK;AAAA,EAAc;AAAA,EACjE,OAAO,cAAcR,GAAiB;AAErC,IADI/B,EAAO,YAAU,QAAQ,IAAI,yBAAyB+B,CAAO,MAAM,KAAKK,OAAYL,CAAO,IAAI,eAAe,EAAE,GAChH,KAAKK,OAAYL,KAErB,KAAKQ,GAAUR,CAAO;AAAA,EACvB;AAAA,EAEA,OAAO,QAAQA,GAAiB;AAE/B,IADI/B,EAAO,YAAU,QAAQ,IAAI,mBAAmB+B,CAAO,MAAM,KAAKK,OAAYL,CAAO,IAAI,eAAe,EAAE,GAC1G,KAAKK,OAAYL,MAErBrD,EAAa,GAAG,QAAA,GAChB,KAAKyD,GAAA;AAAA,EACN;AAAA,EACC,OAAOC,KAAU;AAAA,EACjB,WAAW,SAAS;AAAC,WAAO,MAAM,KAAK,OAAO,QAAQ,IAAI,KAAK,OAAO,QAAQ;AAAA,EAAG;AAAA,EAGlF,OAAO,KAAK7C,GAAaW,GAAUyC,IAAiB,IAAO;AAC1D,IAAIA,UAAqB,eAAA,GACzBjE,EAAa,GAAG,KAAKa,GAAKW,CAAC;AAAA,EAC5B;AAAA,EAEA,WAAW,aAAa;AAAC,WAAOxB,EAAa,GAAG;AAAA,EAAU;AAAA,EAC1D,WAAW,SAAS;AAAC,WAAOA,EAAa,GAAG;AAAA,EAAM;AAAA;AAAA,EAGjD,OAAO,eAAe;AAAA;AAAA,EACtB,OAAO,WAAY;AAAA;AAAA,EACnB,OAAO,eAAe;AAAA;AAAA,EACtB,OAAO,eAAe;AAAA;AAAA,EAGvB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO,QAAQ,MAAK;AAAA,EAAc;AAAA,EAClC,WAAW,YAAY;AAAC,WAAO,KAAK,OAAO;AAAA,EAAS;AAAA,EACpD,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,OAAO;AAAA,EAEP,OAAO,KAAKkE,GAAaC,GAAcC,GAAcC,GAAiBC,GAAwBC,GAAkBC,GAAkBC,GAAkBC,GAAkE;AACrN,SAAK,MAAMR,GACX,KAAK,OAAOC,GACZ,KAAK,OAAOC,GACZ,KAAK,MAAMC,GACX,KAAK,SAASC,GACd,KAAK,SAASC,GACd,KAAK,QAAQ,MAAKA,EAAO,MAAA,GACzB,KAAK,SAASC,GACd,KAAK,SAASC,GACd,KAAK,gBAAgBC,GAErBL,EAAI,OAAO,mBAAmB,MAAK,KAAK,YAAY,GACpDA,EAAI,UAAU,uBAAuB,CAACM,GAAGxI,MAAK;AAAC,WAAK,eAAe,OAAOA,CAAC,MAAM;AAAA,IAAO,CAAC,GACzFkI,EAAI,OAAO,eAAe,MAAK,KAAK,QAAQ,GAC5CA,EAAI,UAAU,mBAAmB,CAACM,GAAGxI,MAAK;AAAC,WAAK,WAAW,OAAOA,CAAC,MAAM;AAAA,IAAO,CAAC,GACjFkI,EAAI,OAAO,mBAAmB,MAAK,KAAK,YAAY,GACpDA,EAAI,UAAU,uBAAuB,CAACM,GAAGxI,MAAK;AAAC,WAAK,eAAe,OAAOA,CAAC,MAAM;AAAA,IAAO,CAAC,GACzFkI,EAAI,OAAO,mBAAmB,MAAK,KAAK,YAAY,GACpDA,EAAI,UAAU,uBAAuB,CAACM,GAAGxI,MAAK;AAAC,WAAK,eAAe,OAAOA,CAAC,MAAM;AAAA,IAAO,CAAC,GAEzFgI,EAAK,IAAM,CAAAS,MAAI5E,EAAa,GAAG,EAAE4E,CAAC,GAClCT,EAAK,IAAM,CAAAS,MAAI5E,EAAa,GAAG,EAAE4E,CAAC,GAClCT,EAAK,IAAM,CAAAS,MAAI5E,EAAa,GAAG,EAAE4E,CAAC,GAClCT,EAAK,OAAQ,CAAAS,MAAI5E,EAAa,GAAG,KAAK4E,CAAC,GACvCT,EAAK,YAAY,CAAAS,MAAI5E,EAAa,GAAG,EAAE4E,CAAC,GACxCT,EAAK,OAAQ,CAAAS,MAAI5E,EAAa,GAAG,KAAK4E,CAAC,GAEvC,IAAIzC,EAAA,GACJgC,EAAK,KAAK,EAAC,IAAI,OAAA,CAAO;AAAA,EACvB;AAAA,EACA,OAAO,OAAOU,GAAe;AAAC,SAAK,MAAMA;AAAA,EAAG;AAAA,EAG5C,OAAO,iBAAiB;AACvB,IAAM,KAAK,iBACV,KAAK,eAAe,IACpB,KAAK,IAAI,aAAa,OAAO,mBAAmB,EAAI,IAGjD,KAAK,iBACR,KAAK,eAAe,IACpB,KAAK,IAAI,aAAa,OAAO,mBAAmB,EAAK,IAElD,KAAK,iBACR,KAAK,eAAe,IACpB,KAAK,IAAI,aAAa,OAAO,mBAAmB,EAAK;AAAA,EAEvD;AAED;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"Reading.js","sources":["../node_modules/@tweenjs/tween.js/dist/tween.esm.js","../src/sn/Reading.ts"],"sourcesContent":["/**\n * The Ease class provides a collection of easing functions for use with tween.js.\n */\nvar Easing = Object.freeze({\n Linear: Object.freeze({\n None: function (amount) {\n return amount;\n },\n In: function (amount) {\n return amount;\n },\n Out: function (amount) {\n return amount;\n },\n InOut: function (amount) {\n return amount;\n },\n }),\n Quadratic: Object.freeze({\n In: function (amount) {\n return amount * amount;\n },\n Out: function (amount) {\n return amount * (2 - amount);\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount;\n }\n return -0.5 * (--amount * (amount - 2) - 1);\n },\n }),\n Cubic: Object.freeze({\n In: function (amount) {\n return amount * amount * amount;\n },\n Out: function (amount) {\n return --amount * amount * amount + 1;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount;\n }\n return 0.5 * ((amount -= 2) * amount * amount + 2);\n },\n }),\n Quartic: Object.freeze({\n In: function (amount) {\n return amount * amount * amount * amount;\n },\n Out: function (amount) {\n return 1 - --amount * amount * amount * amount;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount * amount;\n }\n return -0.5 * ((amount -= 2) * amount * amount * amount - 2);\n },\n }),\n Quintic: Object.freeze({\n In: function (amount) {\n return amount * amount * amount * amount * amount;\n },\n Out: function (amount) {\n return --amount * amount * amount * amount * amount + 1;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount * amount * amount;\n }\n return 0.5 * ((amount -= 2) * amount * amount * amount * amount + 2);\n },\n }),\n Sinusoidal: Object.freeze({\n In: function (amount) {\n return 1 - Math.sin(((1.0 - amount) * Math.PI) / 2);\n },\n Out: function (amount) {\n return Math.sin((amount * Math.PI) / 2);\n },\n InOut: function (amount) {\n return 0.5 * (1 - Math.sin(Math.PI * (0.5 - amount)));\n },\n }),\n Exponential: Object.freeze({\n In: function (amount) {\n return amount === 0 ? 0 : Math.pow(1024, amount - 1);\n },\n Out: function (amount) {\n return amount === 1 ? 1 : 1 - Math.pow(2, -10 * amount);\n },\n InOut: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n if ((amount *= 2) < 1) {\n return 0.5 * Math.pow(1024, amount - 1);\n }\n return 0.5 * (-Math.pow(2, -10 * (amount - 1)) + 2);\n },\n }),\n Circular: Object.freeze({\n In: function (amount) {\n return 1 - Math.sqrt(1 - amount * amount);\n },\n Out: function (amount) {\n return Math.sqrt(1 - --amount * amount);\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return -0.5 * (Math.sqrt(1 - amount * amount) - 1);\n }\n return 0.5 * (Math.sqrt(1 - (amount -= 2) * amount) + 1);\n },\n }),\n Elastic: Object.freeze({\n In: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n return -Math.pow(2, 10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI);\n },\n Out: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n return Math.pow(2, -10 * amount) * Math.sin((amount - 0.1) * 5 * Math.PI) + 1;\n },\n InOut: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n amount *= 2;\n if (amount < 1) {\n return -0.5 * Math.pow(2, 10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI);\n }\n return 0.5 * Math.pow(2, -10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI) + 1;\n },\n }),\n Back: Object.freeze({\n In: function (amount) {\n var s = 1.70158;\n return amount === 1 ? 1 : amount * amount * ((s + 1) * amount - s);\n },\n Out: function (amount) {\n var s = 1.70158;\n return amount === 0 ? 0 : --amount * amount * ((s + 1) * amount + s) + 1;\n },\n InOut: function (amount) {\n var s = 1.70158 * 1.525;\n if ((amount *= 2) < 1) {\n return 0.5 * (amount * amount * ((s + 1) * amount - s));\n }\n return 0.5 * ((amount -= 2) * amount * ((s + 1) * amount + s) + 2);\n },\n }),\n Bounce: Object.freeze({\n In: function (amount) {\n return 1 - Easing.Bounce.Out(1 - amount);\n },\n Out: function (amount) {\n if (amount < 1 / 2.75) {\n return 7.5625 * amount * amount;\n }\n else if (amount < 2 / 2.75) {\n return 7.5625 * (amount -= 1.5 / 2.75) * amount + 0.75;\n }\n else if (amount < 2.5 / 2.75) {\n return 7.5625 * (amount -= 2.25 / 2.75) * amount + 0.9375;\n }\n else {\n return 7.5625 * (amount -= 2.625 / 2.75) * amount + 0.984375;\n }\n },\n InOut: function (amount) {\n if (amount < 0.5) {\n return Easing.Bounce.In(amount * 2) * 0.5;\n }\n return Easing.Bounce.Out(amount * 2 - 1) * 0.5 + 0.5;\n },\n }),\n generatePow: function (power) {\n if (power === void 0) { power = 4; }\n power = power < Number.EPSILON ? Number.EPSILON : power;\n power = power > 10000 ? 10000 : power;\n return {\n In: function (amount) {\n return Math.pow(amount, power);\n },\n Out: function (amount) {\n return 1 - Math.pow((1 - amount), power);\n },\n InOut: function (amount) {\n if (amount < 0.5) {\n return Math.pow((amount * 2), power) / 2;\n }\n return (1 - Math.pow((2 - amount * 2), power)) / 2 + 0.5;\n },\n };\n },\n});\n\nvar now = function () { return performance.now(); };\n\n/**\n * Controlling groups of tweens\n *\n * Using the TWEEN singleton to manage your tweens can cause issues in large apps with many components.\n * In these cases, you may want to create your own smaller groups of tween\n */\nvar Group = /** @class */ (function () {\n function Group() {\n this._tweens = {};\n this._tweensAddedDuringUpdate = {};\n }\n Group.prototype.getAll = function () {\n var _this = this;\n return Object.keys(this._tweens).map(function (tweenId) {\n return _this._tweens[tweenId];\n });\n };\n Group.prototype.removeAll = function () {\n this._tweens = {};\n };\n Group.prototype.add = function (tween) {\n this._tweens[tween.getId()] = tween;\n this._tweensAddedDuringUpdate[tween.getId()] = tween;\n };\n Group.prototype.remove = function (tween) {\n delete this._tweens[tween.getId()];\n delete this._tweensAddedDuringUpdate[tween.getId()];\n };\n Group.prototype.update = function (time, preserve) {\n if (time === void 0) { time = now(); }\n if (preserve === void 0) { preserve = false; }\n var tweenIds = Object.keys(this._tweens);\n if (tweenIds.length === 0) {\n return false;\n }\n // Tweens are updated in \"batches\". If you add a new tween during an\n // update, then the new tween will be updated in the next batch.\n // If you remove a tween during an update, it may or may not be updated.\n // However, if the removed tween was added during the current batch,\n // then it will not be updated.\n while (tweenIds.length > 0) {\n this._tweensAddedDuringUpdate = {};\n for (var i = 0; i < tweenIds.length; i++) {\n var tween = this._tweens[tweenIds[i]];\n var autoStart = !preserve;\n if (tween && tween.update(time, autoStart) === false && !preserve) {\n delete this._tweens[tweenIds[i]];\n }\n }\n tweenIds = Object.keys(this._tweensAddedDuringUpdate);\n }\n return true;\n };\n return Group;\n}());\n\n/**\n *\n */\nvar Interpolation = {\n Linear: function (v, k) {\n var m = v.length - 1;\n var f = m * k;\n var i = Math.floor(f);\n var fn = Interpolation.Utils.Linear;\n if (k < 0) {\n return fn(v[0], v[1], f);\n }\n if (k > 1) {\n return fn(v[m], v[m - 1], m - f);\n }\n return fn(v[i], v[i + 1 > m ? m : i + 1], f - i);\n },\n Bezier: function (v, k) {\n var b = 0;\n var n = v.length - 1;\n var pw = Math.pow;\n var bn = Interpolation.Utils.Bernstein;\n for (var i = 0; i <= n; i++) {\n b += pw(1 - k, n - i) * pw(k, i) * v[i] * bn(n, i);\n }\n return b;\n },\n CatmullRom: function (v, k) {\n var m = v.length - 1;\n var f = m * k;\n var i = Math.floor(f);\n var fn = Interpolation.Utils.CatmullRom;\n if (v[0] === v[m]) {\n if (k < 0) {\n i = Math.floor((f = m * (1 + k)));\n }\n return fn(v[(i - 1 + m) % m], v[i], v[(i + 1) % m], v[(i + 2) % m], f - i);\n }\n else {\n if (k < 0) {\n return v[0] - (fn(v[0], v[0], v[1], v[1], -f) - v[0]);\n }\n if (k > 1) {\n return v[m] - (fn(v[m], v[m], v[m - 1], v[m - 1], f - m) - v[m]);\n }\n return fn(v[i ? i - 1 : 0], v[i], v[m < i + 1 ? m : i + 1], v[m < i + 2 ? m : i + 2], f - i);\n }\n },\n Utils: {\n Linear: function (p0, p1, t) {\n return (p1 - p0) * t + p0;\n },\n Bernstein: function (n, i) {\n var fc = Interpolation.Utils.Factorial;\n return fc(n) / fc(i) / fc(n - i);\n },\n Factorial: (function () {\n var a = [1];\n return function (n) {\n var s = 1;\n if (a[n]) {\n return a[n];\n }\n for (var i = n; i > 1; i--) {\n s *= i;\n }\n a[n] = s;\n return s;\n };\n })(),\n CatmullRom: function (p0, p1, p2, p3, t) {\n var v0 = (p2 - p0) * 0.5;\n var v1 = (p3 - p1) * 0.5;\n var t2 = t * t;\n var t3 = t * t2;\n return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (-3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1;\n },\n },\n};\n\n/**\n * Utils\n */\nvar Sequence = /** @class */ (function () {\n function Sequence() {\n }\n Sequence.nextId = function () {\n return Sequence._nextId++;\n };\n Sequence._nextId = 0;\n return Sequence;\n}());\n\nvar mainGroup = new Group();\n\n/**\n * Tween.js - Licensed under the MIT license\n * https://github.com/tweenjs/tween.js\n * ----------------------------------------------\n *\n * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors.\n * Thank you all, you're awesome!\n */\nvar Tween = /** @class */ (function () {\n function Tween(_object, _group) {\n if (_group === void 0) { _group = mainGroup; }\n this._object = _object;\n this._group = _group;\n this._isPaused = false;\n this._pauseStart = 0;\n this._valuesStart = {};\n this._valuesEnd = {};\n this._valuesStartRepeat = {};\n this._duration = 1000;\n this._isDynamic = false;\n this._initialRepeat = 0;\n this._repeat = 0;\n this._yoyo = false;\n this._isPlaying = false;\n this._reversed = false;\n this._delayTime = 0;\n this._startTime = 0;\n this._easingFunction = Easing.Linear.None;\n this._interpolationFunction = Interpolation.Linear;\n // eslint-disable-next-line\n this._chainedTweens = [];\n this._onStartCallbackFired = false;\n this._onEveryStartCallbackFired = false;\n this._id = Sequence.nextId();\n this._isChainStopped = false;\n this._propertiesAreSetUp = false;\n this._goToEnd = false;\n }\n Tween.prototype.getId = function () {\n return this._id;\n };\n Tween.prototype.isPlaying = function () {\n return this._isPlaying;\n };\n Tween.prototype.isPaused = function () {\n return this._isPaused;\n };\n Tween.prototype.getDuration = function () {\n return this._duration;\n };\n Tween.prototype.to = function (target, duration) {\n if (duration === void 0) { duration = 1000; }\n if (this._isPlaying)\n throw new Error('Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.');\n this._valuesEnd = target;\n this._propertiesAreSetUp = false;\n this._duration = duration < 0 ? 0 : duration;\n return this;\n };\n Tween.prototype.duration = function (duration) {\n if (duration === void 0) { duration = 1000; }\n this._duration = duration < 0 ? 0 : duration;\n return this;\n };\n Tween.prototype.dynamic = function (dynamic) {\n if (dynamic === void 0) { dynamic = false; }\n this._isDynamic = dynamic;\n return this;\n };\n Tween.prototype.start = function (time, overrideStartingValues) {\n if (time === void 0) { time = now(); }\n if (overrideStartingValues === void 0) { overrideStartingValues = false; }\n if (this._isPlaying) {\n return this;\n }\n // eslint-disable-next-line\n this._group && this._group.add(this);\n this._repeat = this._initialRepeat;\n if (this._reversed) {\n // If we were reversed (f.e. using the yoyo feature) then we need to\n // flip the tween direction back to forward.\n this._reversed = false;\n for (var property in this._valuesStartRepeat) {\n this._swapEndStartRepeatValues(property);\n this._valuesStart[property] = this._valuesStartRepeat[property];\n }\n }\n this._isPlaying = true;\n this._isPaused = false;\n this._onStartCallbackFired = false;\n this._onEveryStartCallbackFired = false;\n this._isChainStopped = false;\n this._startTime = time;\n this._startTime += this._delayTime;\n if (!this._propertiesAreSetUp || overrideStartingValues) {\n this._propertiesAreSetUp = true;\n // If dynamic is not enabled, clone the end values instead of using the passed-in end values.\n if (!this._isDynamic) {\n var tmp = {};\n for (var prop in this._valuesEnd)\n tmp[prop] = this._valuesEnd[prop];\n this._valuesEnd = tmp;\n }\n this._setupProperties(this._object, this._valuesStart, this._valuesEnd, this._valuesStartRepeat, overrideStartingValues);\n }\n return this;\n };\n Tween.prototype.startFromCurrentValues = function (time) {\n return this.start(time, true);\n };\n Tween.prototype._setupProperties = function (_object, _valuesStart, _valuesEnd, _valuesStartRepeat, overrideStartingValues) {\n for (var property in _valuesEnd) {\n var startValue = _object[property];\n var startValueIsArray = Array.isArray(startValue);\n var propType = startValueIsArray ? 'array' : typeof startValue;\n var isInterpolationList = !startValueIsArray && Array.isArray(_valuesEnd[property]);\n // If `to()` specifies a property that doesn't exist in the source object,\n // we should not set that property in the object\n if (propType === 'undefined' || propType === 'function') {\n continue;\n }\n // Check if an Array was provided as property value\n if (isInterpolationList) {\n var endValues = _valuesEnd[property];\n if (endValues.length === 0) {\n continue;\n }\n // Handle an array of relative values.\n // Creates a local copy of the Array with the start value at the front\n var temp = [startValue];\n for (var i = 0, l = endValues.length; i < l; i += 1) {\n var value = this._handleRelativeValue(startValue, endValues[i]);\n if (isNaN(value)) {\n isInterpolationList = false;\n console.warn('Found invalid interpolation list. Skipping.');\n break;\n }\n temp.push(value);\n }\n if (isInterpolationList) {\n // if (_valuesStart[property] === undefined) { // handle end values only the first time. NOT NEEDED? setupProperties is now guarded by _propertiesAreSetUp.\n _valuesEnd[property] = temp;\n // }\n }\n }\n // handle the deepness of the values\n if ((propType === 'object' || startValueIsArray) && startValue && !isInterpolationList) {\n _valuesStart[property] = startValueIsArray ? [] : {};\n var nestedObject = startValue;\n for (var prop in nestedObject) {\n _valuesStart[property][prop] = nestedObject[prop];\n }\n // TODO? repeat nested values? And yoyo? And array values?\n _valuesStartRepeat[property] = startValueIsArray ? [] : {};\n var endValues = _valuesEnd[property];\n // If dynamic is not enabled, clone the end values instead of using the passed-in end values.\n if (!this._isDynamic) {\n var tmp = {};\n for (var prop in endValues)\n tmp[prop] = endValues[prop];\n _valuesEnd[property] = endValues = tmp;\n }\n this._setupProperties(nestedObject, _valuesStart[property], endValues, _valuesStartRepeat[property], overrideStartingValues);\n }\n else {\n // Save the starting value, but only once unless override is requested.\n if (typeof _valuesStart[property] === 'undefined' || overrideStartingValues) {\n _valuesStart[property] = startValue;\n }\n if (!startValueIsArray) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _valuesStart[property] *= 1.0; // Ensures we're using numbers, not strings\n }\n if (isInterpolationList) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _valuesStartRepeat[property] = _valuesEnd[property].slice().reverse();\n }\n else {\n _valuesStartRepeat[property] = _valuesStart[property] || 0;\n }\n }\n }\n };\n Tween.prototype.stop = function () {\n if (!this._isChainStopped) {\n this._isChainStopped = true;\n this.stopChainedTweens();\n }\n if (!this._isPlaying) {\n return this;\n }\n // eslint-disable-next-line\n this._group && this._group.remove(this);\n this._isPlaying = false;\n this._isPaused = false;\n if (this._onStopCallback) {\n this._onStopCallback(this._object);\n }\n return this;\n };\n Tween.prototype.end = function () {\n this._goToEnd = true;\n this.update(Infinity);\n return this;\n };\n Tween.prototype.pause = function (time) {\n if (time === void 0) { time = now(); }\n if (this._isPaused || !this._isPlaying) {\n return this;\n }\n this._isPaused = true;\n this._pauseStart = time;\n // eslint-disable-next-line\n this._group && this._group.remove(this);\n return this;\n };\n Tween.prototype.resume = function (time) {\n if (time === void 0) { time = now(); }\n if (!this._isPaused || !this._isPlaying) {\n return this;\n }\n this._isPaused = false;\n this._startTime += time - this._pauseStart;\n this._pauseStart = 0;\n // eslint-disable-next-line\n this._group && this._group.add(this);\n return this;\n };\n Tween.prototype.stopChainedTweens = function () {\n for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) {\n this._chainedTweens[i].stop();\n }\n return this;\n };\n Tween.prototype.group = function (group) {\n if (group === void 0) { group = mainGroup; }\n this._group = group;\n return this;\n };\n Tween.prototype.delay = function (amount) {\n if (amount === void 0) { amount = 0; }\n this._delayTime = amount;\n return this;\n };\n Tween.prototype.repeat = function (times) {\n if (times === void 0) { times = 0; }\n this._initialRepeat = times;\n this._repeat = times;\n return this;\n };\n Tween.prototype.repeatDelay = function (amount) {\n this._repeatDelayTime = amount;\n return this;\n };\n Tween.prototype.yoyo = function (yoyo) {\n if (yoyo === void 0) { yoyo = false; }\n this._yoyo = yoyo;\n return this;\n };\n Tween.prototype.easing = function (easingFunction) {\n if (easingFunction === void 0) { easingFunction = Easing.Linear.None; }\n this._easingFunction = easingFunction;\n return this;\n };\n Tween.prototype.interpolation = function (interpolationFunction) {\n if (interpolationFunction === void 0) { interpolationFunction = Interpolation.Linear; }\n this._interpolationFunction = interpolationFunction;\n return this;\n };\n // eslint-disable-next-line\n Tween.prototype.chain = function () {\n var tweens = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n tweens[_i] = arguments[_i];\n }\n this._chainedTweens = tweens;\n return this;\n };\n Tween.prototype.onStart = function (callback) {\n this._onStartCallback = callback;\n return this;\n };\n Tween.prototype.onEveryStart = function (callback) {\n this._onEveryStartCallback = callback;\n return this;\n };\n Tween.prototype.onUpdate = function (callback) {\n this._onUpdateCallback = callback;\n return this;\n };\n Tween.prototype.onRepeat = function (callback) {\n this._onRepeatCallback = callback;\n return this;\n };\n Tween.prototype.onComplete = function (callback) {\n this._onCompleteCallback = callback;\n return this;\n };\n Tween.prototype.onStop = function (callback) {\n this._onStopCallback = callback;\n return this;\n };\n /**\n * @returns true if the tween is still playing after the update, false\n * otherwise (calling update on a paused tween still returns true because\n * it is still playing, just paused).\n */\n Tween.prototype.update = function (time, autoStart) {\n var _this = this;\n var _a;\n if (time === void 0) { time = now(); }\n if (autoStart === void 0) { autoStart = true; }\n if (this._isPaused)\n return true;\n var property;\n var endTime = this._startTime + this._duration;\n if (!this._goToEnd && !this._isPlaying) {\n if (time > endTime)\n return false;\n if (autoStart)\n this.start(time, true);\n }\n this._goToEnd = false;\n if (time < this._startTime) {\n return true;\n }\n if (this._onStartCallbackFired === false) {\n if (this._onStartCallback) {\n this._onStartCallback(this._object);\n }\n this._onStartCallbackFired = true;\n }\n if (this._onEveryStartCallbackFired === false) {\n if (this._onEveryStartCallback) {\n this._onEveryStartCallback(this._object);\n }\n this._onEveryStartCallbackFired = true;\n }\n var elapsedTime = time - this._startTime;\n var durationAndDelay = this._duration + ((_a = this._repeatDelayTime) !== null && _a !== void 0 ? _a : this._delayTime);\n var totalTime = this._duration + this._repeat * durationAndDelay;\n var calculateElapsedPortion = function () {\n if (_this._duration === 0)\n return 1;\n if (elapsedTime > totalTime) {\n return 1;\n }\n var timesRepeated = Math.trunc(elapsedTime / durationAndDelay);\n var timeIntoCurrentRepeat = elapsedTime - timesRepeated * durationAndDelay;\n // TODO use %?\n // const timeIntoCurrentRepeat = elapsedTime % durationAndDelay\n var portion = Math.min(timeIntoCurrentRepeat / _this._duration, 1);\n if (portion === 0 && elapsedTime === _this._duration) {\n return 1;\n }\n return portion;\n };\n var elapsed = calculateElapsedPortion();\n var value = this._easingFunction(elapsed);\n // properties transformations\n this._updateProperties(this._object, this._valuesStart, this._valuesEnd, value);\n if (this._onUpdateCallback) {\n this._onUpdateCallback(this._object, elapsed);\n }\n if (this._duration === 0 || elapsedTime >= this._duration) {\n if (this._repeat > 0) {\n var completeCount = Math.min(Math.trunc((elapsedTime - this._duration) / durationAndDelay) + 1, this._repeat);\n if (isFinite(this._repeat)) {\n this._repeat -= completeCount;\n }\n // Reassign starting values, restart by making startTime = now\n for (property in this._valuesStartRepeat) {\n if (!this._yoyo && typeof this._valuesEnd[property] === 'string') {\n this._valuesStartRepeat[property] =\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n this._valuesStartRepeat[property] + parseFloat(this._valuesEnd[property]);\n }\n if (this._yoyo) {\n this._swapEndStartRepeatValues(property);\n }\n this._valuesStart[property] = this._valuesStartRepeat[property];\n }\n if (this._yoyo) {\n this._reversed = !this._reversed;\n }\n this._startTime += durationAndDelay * completeCount;\n if (this._onRepeatCallback) {\n this._onRepeatCallback(this._object);\n }\n this._onEveryStartCallbackFired = false;\n return true;\n }\n else {\n if (this._onCompleteCallback) {\n this._onCompleteCallback(this._object);\n }\n for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) {\n // Make the chained tweens start exactly at the time they should,\n // even if the `update()` method was called way past the duration of the tween\n this._chainedTweens[i].start(this._startTime + this._duration, false);\n }\n this._isPlaying = false;\n return false;\n }\n }\n return true;\n };\n Tween.prototype._updateProperties = function (_object, _valuesStart, _valuesEnd, value) {\n for (var property in _valuesEnd) {\n // Don't update properties that do not exist in the source object\n if (_valuesStart[property] === undefined) {\n continue;\n }\n var start = _valuesStart[property] || 0;\n var end = _valuesEnd[property];\n var startIsArray = Array.isArray(_object[property]);\n var endIsArray = Array.isArray(end);\n var isInterpolationList = !startIsArray && endIsArray;\n if (isInterpolationList) {\n _object[property] = this._interpolationFunction(end, value);\n }\n else if (typeof end === 'object' && end) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n this._updateProperties(_object[property], start, end, value);\n }\n else {\n // Parses relative end values with start as base (e.g.: +10, -3)\n end = this._handleRelativeValue(start, end);\n // Protect against non numeric properties.\n if (typeof end === 'number') {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _object[property] = start + (end - start) * value;\n }\n }\n }\n };\n Tween.prototype._handleRelativeValue = function (start, end) {\n if (typeof end !== 'string') {\n return end;\n }\n if (end.charAt(0) === '+' || end.charAt(0) === '-') {\n return start + parseFloat(end);\n }\n return parseFloat(end);\n };\n Tween.prototype._swapEndStartRepeatValues = function (property) {\n var tmp = this._valuesStartRepeat[property];\n var endValue = this._valuesEnd[property];\n if (typeof endValue === 'string') {\n this._valuesStartRepeat[property] = this._valuesStartRepeat[property] + parseFloat(endValue);\n }\n else {\n this._valuesStartRepeat[property] = this._valuesEnd[property];\n }\n this._valuesEnd[property] = tmp;\n };\n return Tween;\n}());\n\nvar VERSION = '23.1.3';\n\n/**\n * Tween.js - Licensed under the MIT license\n * https://github.com/tweenjs/tween.js\n * ----------------------------------------------\n *\n * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors.\n * Thank you all, you're awesome!\n */\nvar nextId = Sequence.nextId;\n/**\n * Controlling groups of tweens\n *\n * Using the TWEEN singleton to manage your tweens can cause issues in large apps with many components.\n * In these cases, you may want to create your own smaller groups of tweens.\n */\nvar TWEEN = mainGroup;\n// This is the best way to export things in a way that's compatible with both ES\n// Modules and CommonJS, without build hacks, and so as not to break the\n// existing API.\n// https://github.com/rollup/rollup/issues/1961#issuecomment-423037881\nvar getAll = TWEEN.getAll.bind(TWEEN);\nvar removeAll = TWEEN.removeAll.bind(TWEEN);\nvar add = TWEEN.add.bind(TWEEN);\nvar remove = TWEEN.remove.bind(TWEEN);\nvar update = TWEEN.update.bind(TWEEN);\nvar exports = {\n Easing: Easing,\n Group: Group,\n Interpolation: Interpolation,\n now: now,\n Sequence: Sequence,\n nextId: nextId,\n Tween: Tween,\n VERSION: VERSION,\n getAll: getAll,\n removeAll: removeAll,\n add: add,\n remove: remove,\n update: update,\n};\n\nexport { Easing, Group, Interpolation, Sequence, Tween, VERSION, add, exports as default, getAll, nextId, now, remove, removeAll, update };\n","/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2025-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport type {TArg, T_HTag} from './Grammar';\nimport type {T_Evt2Fnc, T_HEvt2Fnc, T_Main, T_Mark, T_Variable} from './CmnInterface';\nimport {argChk_Boolean, argChk_Num, CmnLib, EVNM_CLICK, EVNM_KEY} from './CmnLib';\nimport type {Config} from './Config';\nimport type {ScriptIterator} from './ScriptIterator';\nimport type {LayerMng} from './LayerMng';\nimport type {EventMng} from './EventMng';\nimport type {FocusMng} from './FocusMng';\nimport type {SoundMng} from './SoundMng';\nimport {EventListenerCtn} from './EventListenerCtn';\nimport type {T_RP_layGrp} from './GrpLayer';\nimport type {T_RP_layTxt} from './TxtLayer';\n\nimport {Container} from 'pixi.js';\nimport {Tween, remove} from '@tweenjs/tween.js'\n\n\ntype IPageLog = {\n\tkey\t\t: string;\n\tfn\t\t: string;\n\tindex\t: number;\n\tmark\t: T_Mark;\n\tweek\t: boolean;\n}\n\n\nexport class ReadingState {\n\tstatic\t#rs: ReadingState;\n\tstatic\tget rs() {return this.#rs}\n\tconstructor() {ReadingState.#rs = this}\n\n\tstatic\t#hLocalEvt2Fnc\t: T_HEvt2Fnc = {};\n\tstatic\t#hGlobalEvt2Fnc\t: T_HEvt2Fnc = {};\n\tstatic\tsetEvt2Fnc(glb: boolean, key: string, fnc: T_Evt2Fnc) {\n\t\tif (glb)\n\t\t\tthis.#hGlobalEvt2Fnc[key] = fnc;\n\t\telse this.#hLocalEvt2Fnc[key] = fnc;\n\t}\n\tstatic\tgetEvt2Fnc = (key: string): T_Evt2Fnc | undefined => this.#hLocalEvt2Fnc[key] ?? this.#hGlobalEvt2Fnc[key];\n\tstatic\tclear_eventer(rawKeY: string, glb: boolean, key: string) {\n\t\tif (! rawKeY.startsWith('dom=')) return;\n\n\t\tconst e2f = glb ? this.#hGlobalEvt2Fnc[key] : this.#hLocalEvt2Fnc[key];\n\t\tif (e2f) this.getHtmlElmList(rawKeY).el.forEach(v=> v.removeEventListener('click', e2f));\n\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\tif (glb) delete this.#hGlobalEvt2Fnc[key];\n\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\telse\tdelete this.#hLocalEvt2Fnc[key];\n\t}\n\n\tstatic\tpopLocalEvts(): T_HEvt2Fnc {\n\t\tconst ret = this.#hLocalEvt2Fnc;\n\t\tthis.#hLocalEvt2Fnc = {};\n\t\treturn ret;\n\t}\n\tstatic\tpushLocalEvts(h: T_HEvt2Fnc) {this.#hLocalEvt2Fnc = h}\n\n\tstatic\tclear_event(hArg: TArg): boolean {\n\t\tconst glb = argChk_Boolean(hArg, 'global', false);\n\t\tconst h = glb ?this.#hGlobalEvt2Fnc :this.#hLocalEvt2Fnc;\n\t\tfor (const [KeY, e2f] of Object.entries(h)) {\n\t\t\tif (! KeY.startsWith('dom=')) continue;\n\n\t\t\tthis.getHtmlElmList(KeY).el.forEach(v=> v.removeEventListener('click', e2f));\n\t\t}\n\t\tif (glb) this.#hGlobalEvt2Fnc = {}; else this.#hLocalEvt2Fnc = {};\n\n\t\treturn false;\n\t}\n\t\tstatic\tgetHtmlElmList(KeY: string): {el: NodeListOf<HTMLElement>, id: string, sel: string} {\n\t\t\tconst idx = KeY.indexOf(':');\n\t\t\tlet sel = '';\n\t\t\tif (idx >= 0) {\t\t// key='dom=config:#ctrl2val\n\t\t\t\tconst id = KeY.slice(4, idx);\n\t\t\t\tconst frmnm = `const.sn.frm.${id}`;\n\t\t\t\tif (! Reading.val.getVal(`tmp:${frmnm}`, 0)) throw `HTML【${id}】が読み込まれていません`;\n\n\t\t\t\tconst ifrm = <HTMLIFrameElement | null>document.getElementById(id);\n\t\t\t\tif (! ifrm) throw `HTML【${id}】の要素(id=${id})がありません`;\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t\tconst win = ifrm.contentWindow!;\n\t\t\t\tsel = KeY.slice(idx +1);\n\t\t\t\treturn {el: win.document.querySelectorAll(sel), id, sel};\n\t\t\t}\n\n\t\t\tsel = KeY.slice(4);\n\t\t\treturn {el: document.querySelectorAll(sel), id: '', sel};\n\t\t}\n\n\t// 予約イベントの発生待ち\n\tstatic\twaitRsvEvent(glb: boolean, onUserAct?: ()=> void): void {\n\t\tReading.val.saveKidoku();\n\n\t\tif (onUserAct) {\n\t\t\t//hTag.event({key:'click', breakout: fnc});\n\t\t\t//hTag.event({key:'middleclick', breakout: fnc});\n\t\t\t//\thTag.event()は内部で使わず、こうする\n\t\t\tthis.#hLocalEvt2Fnc.click =\n\t\t\tthis.#hLocalEvt2Fnc.enter =\n\t\t\tthis.#hLocalEvt2Fnc.arrowdown =\n\n\t\t\t// hTag.event({key:'downwheel', breakout: fnc});\n\t\t\tthis.#hLocalEvt2Fnc['wheel.y>0'] = ()=> onUserAct();\n\t\t}\n\t\telse {\n\t\t\tdelete this.#hLocalEvt2Fnc.click;\n\t\t\tdelete this.#hLocalEvt2Fnc.enter;\n\t\t\tdelete this.#hLocalEvt2Fnc.arrowdown;\n\t\t\tdelete this.#hLocalEvt2Fnc['wheel.y>0'];\n\t\t}\n\t\tthis.getEvt2Fnc = glb\n\t\t\t? key=> this.#hLocalEvt2Fnc[key]\n\t\t\t\t?? this.#hGlobalEvt2Fnc[key]\n\t\t\t: key=> this.#hLocalEvt2Fnc[key];\n\n\t\tReading.scrItr.noticeWait();\n\t\tif (CmnLib.debugLog) console.log('🎍 wait event... %o', {\n\t\t\tlocal\t: Object.keys(this.#hLocalEvt2Fnc),\n\t\t\tglobal\t: Object.keys(this.#hGlobalEvt2Fnc),\n\t\t});\n\t}\n\n\tstatic\twaitRsvEvent4Paging() {\n\t\tthis.waitRsvEvent(true);\n\n\t\tif (this.aKeysAtPaging.length === 0) {\n\t\t\tthis.getEvt2Fnc = key=>\n\t\t\t\tthis.#hLocalEvt2Fnc[key]\n\t\t\t?? this.#hGlobalEvt2Fnc[key];\n\t\t\treturn;\n\t\t}\n\n\t\tconst hGlb: T_HEvt2Fnc = {};\n\t\tfor (const k of this.aKeysAtPaging) {\n\t\t\tconst v = this.#hGlobalEvt2Fnc[k];\n\t\t\tif (v) hGlb[k] = v;\n\t\t}\n\t\tthis.getEvt2Fnc = key=> this.#hLocalEvt2Fnc[key] ?? hGlb[key];\n\t}\n\n\n\tfire(rawKeY: string, e: Event) {\n\t\t//if (this.#isDbgBreak) return;\n\n\t\t// 予約実行\n\t\tconst key = rawKeY.toLowerCase();\n// console.log(`👺 fire<(key:\\`${key}\\` type:${e.type})`);\n\n\t\tswitch (key) {\n\t\t\tcase 'click':\n\t\t\tcase 'rightclick':\t// 右クリックメニューに入って出られない\n\t\t\tcase 'middleclick':\t// 〃\n\t\t\tcase 'enter':\n\t\t\tcase 'arrowdown':\n\t\t\t\tif (Reading.evtMng.isSkipping) break;\n\t\t\t\tif (! ReadingState.isFirstFire()) return;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (key === 'enter') {\n\t\t\tconst em = Reading.fcs.getFocus();\n\t\t\tif (em instanceof Container) {\n\t\t\t\tem.emit(EVNM_CLICK, new PointerEvent(EVNM_CLICK));\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst ke = ReadingState.getEvt2Fnc(key);\n\t\tif (! ke) return;\t\t// 予約されていないイベントなので無視\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t\te.stopImmediatePropagation?.();\n\t\tif (! key.startsWith('dom=') && Reading.layMng.clickTxtLay()) return;\n\n\t\tke(e);\n\t\t//this.hLocalEvt2Fnc = {};\t// ここで消去禁止、Main.resumeByJumpOrCall()が担当\n\t}\n\tget\tskip_enabled() {return Reading.skip_enabled}\n\treadonly\tisWait: boolean\t= false;\n\t// イベント複数発生回避(ボタンとステージクリックなど)\n\tstatic\t#wasFired\t= false;\n\tstatic\tisFirstFire(): boolean {\n\t\tif (ReadingState.#wasFired) return false;\n\t\tReadingState.#wasFired = true;\n\t\treturn true;\n\t}\n\tstatic\tresetFired() {ReadingState.#wasFired = false}\n\n\n\tstatic\taPage\t: IPageLog[];\n\tstatic\tlenPage = 0;\n\tstatic\tposPage = 0;\n\tstatic\tstyPaging\t: string;\n\tstatic\treadonly\tINI_STYPAGE = 'color: yellow; text-shadow: 1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000;';\n\n\tstatic\taKeysAtPaging: string[]\t= [];\n\n\tstatic\trecodePage(week = false) {\n\t\tif (! Reading.val.getVal('save:sn.doRecLog')) return;\n\n\t\tconst {fn, idx} = Reading.scrItr.nowScrIdx();\n\t\tconst key = `${idx -1}:`+ fn;\t// 検索時の都合で -1\n\t\tif (this.aPage.findIndex(p=> p.key === key) > -1) return;\t// 保存済\n\n\t\tif (CmnLib.debugLog) console.log(`📜 %crecodePage === week:${week} lenPage:${this.lenPage} len:${this.aPage.length} POP:${this.aPage.at(-1)?.week}`, 'color:#3B0;');\n\n\t\tif (this.aPage.at(-1)?.week) this.aPage.pop();\n\t\tconst {max_len} = Reading.cfg.oCfg.log;\t// 一定数を保つ\n\t\tif (this.aPage.push({key, week,\n\t\t\tfn\t\t: <string>Reading.val.getVal('save:const.sn.scriptFn', fn),\n\t\t\tindex\t: <number>Reading.val.getVal('save:const.sn.scriptIdx', 0),\n\t\t\tmark\t: Reading.scrItr.nowMark(),\n\t\t}) > max_len) this.aPage = this.aPage.slice(-max_len);\n\t\tthis.lenPage = this.aPage.length;\n\n\t\tif (CmnLib.debugLog) {\n\t\t\tconst m = Reading.scrItr.nowMark();\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconsole.log(` %clenPage:${this.lenPage} (base=${(<T_RP_layGrp>m.hPages.base!.fore).sBkFn} 0=${(<T_RP_layGrp>m.hPages['0']!.fore).sBkFn} mes=${/color: \\w+;/.exec((<T_RP_layTxt>m.hPages.mes!.fore).txs.cssText)})%c mark:%o`, 'color:#3B0;', '', m);\n\t\t\tconsole.table(this.aPage);\n\t\t}\n\n\t\tReading.val.setVal_Nochk('sys', 'const.sn.aPageLog', JSON.stringify(this.aPage));\n\t}\n\tstatic\tplaybackPage(saPageLog: string, $styPaging: string) {\n\t\tthis.aPage = <IPageLog[]>JSON.parse(saPageLog);\n\t\tthis.lenPage = this.aPage.length;\n\t\tif (this.posPage >= this.lenPage) this.posPage = this.lenPage -1;\n\t\tthis.styPaging = $styPaging;\n\t}\n\n\tbeginProc() {new ReadingState_proc}\n\tendProc() {new ReadingState_go}\n\n\n\t// タグ処理\n\tl(hArg: TArg): boolean {\n// console.log(`fn:Reading.ts line:218 [l] isKidoku:${Reading.scrItr.isKidoku} isNextKidoku:${Reading.scrItr.isNextKidoku} A:${Reading.auto_enabled} B:${Reading.skip_enabled} C:${Reading.skip_all}`);\n\t\tif (! Reading.tagL_enabled) return false;\n\n\t\tReadingState.recodePage(true);\n\n\t\tif (Reading.auto_enabled) {\t// Aスキップ時\n\t\t\thArg.time = Number(Reading.val.getVal(`sys:sn.auto.msecLineWait${Reading.scrItr.isKidoku ?'_Kidoku' :''}`));\n\t\t\treturn this.wait(hArg);\n\t\t}\n\t\tif (Reading.skip_enabled) {\t// Fスキップ時\n\t\t\tif (! Reading.skip_all && ! Reading.scrItr.isNextKidoku) {\n\t\t\t\tReading.cancelAutoSkip();\t// 未読で停止\n\t\t\t}\n\t\t\telse if ('ps'.includes(String(Reading.val.getVal('sys:sn.skip.mode')))) {\n\t\t\t\thArg.time = 50;\t// 改行待ち=しない\t// 魔法数字、見えるぐらい少し待つ\n\t\t\t\treturn this.wait(hArg);\n\t\t\t}\n\t\t}\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) {\n\t\t\tReading.layMng.breakLine(hArg);\n\t\t\tReading.goTxt();\n\t\t}\n\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\tp(hArg: TArg): boolean {\n// console.log(`fn:Reading.ts line:248 [p] isKidoku:${Reading.scrItr.isKidoku} isNextKidoku:${Reading.scrItr.isNextKidoku} A:${Reading.auto_enabled} B:${Reading.skip_enabled} C:${Reading.skip_all}`);\n\t\tReadingState.recodePage();\n\n\t\tif (Reading.auto_enabled) {\t// Aスキップ時\n\t\t\thArg.time = Number(Reading.val.getVal(`sys:sn.auto.msecPageWait${Reading.scrItr.isKidoku ?'_Kidoku' :''}`));\n\t\t\treturn this.wait(hArg);\n\t\t}\n\t\tif (Reading.skip_enabled) {\t// Fスキップ時\n\t\t\tif (! Reading.skip_all && ! Reading.scrItr.isNextKidoku) {\n\t\t\t\tReading.cancelAutoSkip();\t// 未読で停止\n\t\t\t}\n\t\t\telse if ('s' === String(Reading.val.getVal('sys:sn.skip.mode'))) {\n\t\t\t\thArg.time = 50;\t// 改行待ち=しない\t// 魔法数字、見えるぐらい少し待つ\n\t\t\t\treturn this.wait(hArg);\n\t\t\t}\n\t\t}\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) {\n\t\t\tReading.layMng.breakPage(hArg);\n\t\t\tReading.goTxt();\n\t\t}\n\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\ts(hArg: TArg): boolean {\n\t\tReadingState.recodePage();\n\n\t\tReading.cancelAutoSkip();\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\twait(hArg: TArg): boolean {\n\t\tconst time = argChk_Num(hArg, 'time', NaN);\t// skip時もエラーは出したい\n\t\tif (Reading.skip_enabled) {\t\t// Fスキップ時\n\t\t\tif (! Reading.skip_all && ! Reading.scrItr.isNextKidoku) Reading.cancelAutoSkip();\t// 未読で停止\n\t\t\treturn false;\n\t\t}\n\n\t\tconst tw = new Tween({});\n\t\tconst RPN_WAIT = 'wait';\n\t\tconst fin = ()=> {remove(tw); Reading.notifyEndProc(RPN_WAIT)};\n\t\ttw.to({}, time)\n\t\t.onComplete(fin)\n\t\t.start();\n\n\t\tconst canskip = argChk_Boolean(hArg, 'canskip', true);\n\t\tReading.beginProc(RPN_WAIT, fin, true, canskip ?fin :undefined);\n\t\treturn true;\n\t}\n\tpage(hArg: TArg): boolean {\n\t\tif (! ('clear' in hArg || 'to' in hArg || 'style' in hArg)) throw 'clear,style,to いずれかは必須です';\n\n\t\t// ページ移動状態中に有効にするグローバルイベントを限定\n\t\tconst {key, style} = hArg;\n\t\tif (key) ReadingState.aKeysAtPaging = key.split(',');\n\n\t\tif (style) {\n\t\t\tReadingState.styPaging = style;\n\t\t\tReading.val.setVal_Nochk('save', 'const.sn.styPaging', style);\n\t\t\treturn false;\n\t\t}\n\n\t\tif (argChk_Boolean(hArg, 'clear', false)) {\n\t\t\tReadingState.aPage = [];\n\t\t\tReadingState.lenPage = 0;\n\t\t\tReadingState.posPage = 0;\n\t\t\tReading.val.setVal_Nochk('sys', 'const.sn.aPageLog', '[]');\n\t\t\tReading.val.setVal_Nochk('save', 'const.sn.styPaging', ReadingState.INI_STYPAGE);\n\t\t\treturn false;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\n\tstatic\tdestroy() {\n\t\tthis.#hLocalEvt2Fnc = {};\n\t\tthis.#hGlobalEvt2Fnc = {};\n\t\tthis.aPage = [];\n\t\tthis.lenPage = 0;\n\t\tthis.posPage = 0;\n\t}\n\n}\n\n// go 状態\n//\t通常・タグなどを次々に処理\nclass ReadingState_go extends ReadingState {\n\tconstructor() {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_go', 'color:#3B0;');\n\n\t\tReading.main.resume();\n\t}\n\toverride\tfire(_KeY: string, _e: Event) { /* empty */ }\t// システムボタンなど無効化\n}\n\n// proc 状態\n//\tスクリプト・画像・音声ロードなど\nclass ReadingState_proc extends ReadingState {\n\tconstructor() {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_proc', 'color:#3B0;');\n\t}\n\toverride\tfire(_KeY: string, _e: Event) { /* empty */ }\t// システムボタンなど無効化\n}\n\n// wait 状態\n//\tイベント待ちやクリック待ち\nclass ReadingState_wait4Tag extends ReadingState {\n\tconstructor(hArg: TArg) {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_wait', 'color:#3B0;');\n\n\t\t// Reading.scrItr.noticeBreak(true);\n\n\t\tlet onUserAct = ()=> { /* empty */ };\n\t\tconst glb = argChk_Boolean(hArg, 'global', true);\n\t\tswitch (hArg[':タグ名']) {\n\t\t\tcase 'wait':\treturn;\t// 予約イベント待ち【しない】\n\n\t\t\tcase 's':\n\t\t\t\tReadingState.waitRsvEvent(glb);\t// ユーザーイベントに反応しない\n\t\t\t\treturn;\n\n\t\t\tcase 'p':\n\t\t\t\tonUserAct = ()=> {\n\t\t\t\t\tif (argChk_Boolean(hArg, 'er', false)) Reading.hTag.er(hArg);\n\n\t\t\t\t\tReading.sndMng.clearCache();\n\t\t\t\t\t//scrItr.turnPage();\n\n\t\t\t\t\tnew ReadingState_go;\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tdefault:\t// [wait] 以外は、予約イベント待ちを開始\n\t\t\t\tonUserAct = ()=> new ReadingState_go;\n\t\t}\n// console.log(`fn:Reading.ts ${hArg[':タグ名']} 予約イベント待ちを開始`);\n\t\tReadingState.waitRsvEvent(glb, onUserAct);\n\t}\n\n\toverride\treadonly\tisWait\t= true;\n\n\toverride page(hArg: TArg): boolean {\n\t\tconst ret = super.page(hArg);\t// チェックも兼ねて\n\t\tconst {to} = hArg;\n\t\tif (! to) return ret;\n\t\tif (ReadingState.lenPage < 2) return false;\t// 履歴がたまってない\n\n\t\tswitch (to) {\n\t\t\tcase 'oldest':\n\t\t\t\thArg.to = 'prev';\n\t\t\t\tReadingState.posPage = 1;\tbreak;\n\n\t\t\tcase 'newest':\n\t\t\tcase 'prev':\n\t\t\t\thArg.to = 'prev';\n\t\t\t\tReadingState.posPage = ReadingState.lenPage -1;\tbreak;\n\n\t\t\t// case 'next':\t\t// スルー\n\t\t\tdefault:\treturn false;\t// ダイアログ確認などするとここを通る\n\t\t}\n\n\t\treturn ReadingState_page.go(hArg);\n\t}\n\n}\n\n// page 状態\n//\tページ移動中\nclass ReadingState_page extends ReadingState {\n\tprivate\tconstructor() {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_page', 'color:#3B0;');\n\t\tReading.val.setVal_Nochk('tmp', 'const.sn.isPaging', true);\n\t}\n\tstatic\tgo(hArg: TArg) {return new ReadingState_page().page(hArg)}\n\n\t#isPaging\t= true;\n\toverride\tget\tskip_enabled() {return this.#isPaging}\n\n\toverride\treadonly\tisWait\t= false;\n\n\toverride\tbeginProc() {Reading.main.stop()}\n\toverride\tendProc() {Reading.main.resume()}\n\n\t// タグ処理\n\toverride\tl(hArg: TArg): boolean {\n// console.log(`fn:ReadState.ts [l] len:${ReadingState.lenPage} pos:${ReadingState.posPage} isSkipping:${this.#isPaging}`);\n\t\tif (! this.#isPaging) return super.l(hArg);\t// 基底 ReadingState_go 化\n\n\t\t// ページ末尾ならページ移動終了\n\t\tif (ReadingState.posPage === ReadingState.lenPage -1) {\n\t\t\tthis.#exit();\n\t\t\treturn new ReadingState_go().l(hArg);\n\t\t}\n\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) Reading.layMng.breakLine(hArg);\n\n\t\tReading.layMng.setAllStyle2TxtLay(ReadingState.styPaging);\n\t\tReading.goTxt();\n\t\tif (! ReadingState.aPage[ReadingState.posPage]?.week) return false;\n\n\t\tReadingState.waitRsvEvent4Paging();\n\t\treturn true;\n\t}\n\toverride\tp(hArg: TArg): boolean {\n// console.log(`fn:ReadState.ts [p] len:${ReadingState.lenPage} pos:${ReadingState.posPage}`);\n\t\tif (! this.#isPaging) return super.p(hArg);\t// 基底 ReadingState_go 化\n\n\t\t// ページ末尾ならページ移動終了\n\t\tif (ReadingState.posPage === ReadingState.lenPage -1) {\n\t\t\tthis.#exit();\n\t\t\treturn new ReadingState_go().p(hArg);\n\t\t}\n\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) Reading.layMng.breakPage(hArg);\n\n\t\tReading.layMng.setAllStyle2TxtLay(ReadingState.styPaging);\n\t\tReading.goTxt();\n\n\t\tReadingState.waitRsvEvent4Paging();\n\t\treturn true;\n\t}\n\toverride\ts(hArg: TArg): boolean {\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\toverride\twait() {return false}\n\toverride\tpage(hArg: TArg): boolean {\n\t\tconst {to, style, clear} = hArg;\n\t\tif (style || clear) return false;\n\n\t\tif (CmnLib.debugLog) console.log(`📜 %cpage() pos:${ReadingState.posPage}%c len:${ReadingState.lenPage} to:${to}`, 'color:#3B0;', '');\n\t\tswitch (to) {\n\t\t\tcase 'oldest':\n\t\t\t\tif (ReadingState.posPage === 0) return false;\n\t\t\t\tReadingState.posPage = 0;\tbreak;\n\n\t\t\tcase 'prev':\n\t\t\t\tif (ReadingState.posPage === 0) return false;\n\t\t\t\t--ReadingState.posPage;\tbreak;\n\n\t\t\tcase 'next':\n\t\t\t\tif (ReadingState.posPage === ReadingState.lenPage -1) return false;\n\t\t\t\t++ReadingState.posPage;\tbreak;\n\n\t\t\tcase 'newest':\n\t\t\t\tif (ReadingState.posPage === ReadingState.lenPage -1) return false;\n\t\t\t\tReadingState.posPage = ReadingState.lenPage -1;\tbreak;\n\n\t\t\tcase 'exit':\n\t\t\t\tReadingState.posPage = ReadingState.lenPage -1;\tbreak;\n\n\t\t\tcase 'load':\n\t\t\t\tReadingState.lenPage = ReadingState.posPage +1;\n\t\t\t\tReadingState.aPage = ReadingState.aPage.slice(0, ReadingState.lenPage);\n\t\t\t\tthis.#exit();\n\t\t\t\tbreak;\n\n\t\t\tdefault:\tthrow `属性to「${to}」は異常です`;\n\t\t}\n\t\t// ページ移動状態を抜ける\n\t\tif (ReadingState.posPage === ReadingState.lenPage -1) this.#exit();\n\n\t\tconst p = ReadingState.aPage[ReadingState.posPage];\n\t\tif (! p) throw `posPage異常:${ReadingState.posPage}`;\n\t\tconst {fn, index, mark} = p;\n\t\tif (CmnLib.debugLog) {\n\t\t\tconst m = Reading.scrItr.nowMark();\n\t\t\tconst {week} = ReadingState.aPage[ReadingState.posPage] ?? {week: false};\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconsole.log(` -- fn:${fn} i:${index} pos:${ReadingState.posPage} (base=%c${(<T_RP_layGrp>m.hPages.base!.fore).sBkFn}%c 0=%c${(<T_RP_layGrp>m.hPages['0']!.fore).sBkFn}%c mes=%c${/color: \\w+;/.exec((<T_RP_layTxt>m.hPages.mes!.fore).txs.cssText)}%c) week:${week} A:${ReadingState.posPage === ReadingState.lenPage -1}\\n styPaging=%c${ReadingState.styPaging}%c\\n mark:%o`, 'background-color:#3B0; color:#000;', '', 'background-color:#B4F; color:#000;', '', 'color:#B68;', '', ReadingState.styPaging, '', mark);\n\t\t}\n\t\treturn Reading.scrItr.loadFromMark({fn, index}, mark);\n\t}\n\n\t#exit() {\n\t\tReading.val.setVal_Nochk('tmp', 'const.sn.isPaging', false);\n\t\tthis.#isPaging = false;\n\t}\n}\n\n\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class Reading {\n\tstatic\tbeginProc(proc_id: string, onNotify?: ()=> void, endProc = true, onClickSkip?: ()=> void) {\n\t\tif (CmnLib.debugLog) console.log(`📖.beginProc id:%c${proc_id}%c onNotify:${onNotify} endProc:${endProc} onClickSkip:${onClickSkip}`, 'color:#3B0;', '');\n\t\tthis.#clearProc();\n\t\tthis.#procID = proc_id;\n\n\t\t// 通知時コールバック型\n\t\tif (onNotify) {\n\t\t\t// notifyEndProc()を呼べば callBack & EndProc する機能\n\t\t\t// 使用者は、処理終了時に notifyEndProc()を呼ぶ義務がある\n\t\t\tconst {promise, resolve} = Promise.withResolvers<string>();\n\t\t\tvoid promise.then((proc_id: string)=> {\n\t\t\t\tif (CmnLib.debugLog) console.log(`📖.callBack id:%c${proc_id}%c`, 'color:#3B0;', '');\n\t\t\t\tonNotify();\n\t\t\t\tif (endProc) this.endProc(proc_id); else this.#clearProc();\n\t\t\t});\n\t\t\tthis.#rsNotify = resolve;\n\t\t}\n\n\t\t// クリックキャンセル機能\n\t\tif (onClickSkip) {\n\t\t\tconst fnc = ()=> {\n\t\t\t\tthis.cancelAutoSkip();\n\t\t\t\tonClickSkip();\n\t\t\t\tif (endProc) this.endProc(proc_id);\n\t\t\t};\n\t\t\tthis.#elc.add(this.main.cvs, EVNM_CLICK, (e: PointerEvent)=> {\n\t\t\t\te.stopPropagation();\n\t\t\t\tfnc();\n\t\t\t});\n\t\t\tthis.#elc.add(document, EVNM_KEY, (e: KeyboardEvent)=> {\n\t\t\t\tif (e.isComposing) return; // サポートしてない環境でもいける書き方\n\t\t\t\te.stopPropagation();\n\t\t\t\tfnc();\n\t\t\t});\n\t\t\tthis.procWheel4wle(this.#elc, fnc);\n\t\t}\n\n\t\tReadingState.rs.beginProc();\n\t\t// main.stop() は外の責任\n\t}\n\t\tstatic\t#clearProc() {\n\t\t\tthis.#procID = '';\n\t\t\tthis.#rsNotify = ()=> { /* empty */ };\n\t\t\tthis.#elc.clear();\n\t\t}\n\t\tstatic\treadonly\t#elc = new EventListenerCtn;\n\n\tstatic\t#rsNotify\t: (proc_id: string)=> void\t= ()=> { /* empty */ };\n\tstatic\tnotifyEndProc(proc_id: string) {\n\t\tif (CmnLib.debugLog) console.log(`📖.notifyEndProc id:%c${proc_id}%c=${this.#procID === proc_id}`, 'color:#3B0;', '');\n\t\tif (this.#procID !== proc_id) return;\n\n\t\tthis.#rsNotify(proc_id);\n\t}\n\n\tstatic\tendProc(proc_id: string) {\n\t\tif (CmnLib.debugLog) console.log(`📖.endProc id:%c${proc_id}%c=${this.#procID === proc_id}`, 'color:#3B0;', '');\n\t\tif (this.#procID !== proc_id) return;\n\n\t\tReadingState.rs.endProc();\n\t\tthis.#clearProc();\n\t}\n\t\tstatic\t#procID\t= '';\n\t\tstatic\tget procID() {return `RP_${this.scrItr.scriptFn}:${this.scrItr.idxToken}_`}\n\n\n\tstatic\tfire(KeY: string, e: Event, cancelAutoSkip = false) {\n\t\tif (cancelAutoSkip) this.cancelAutoSkip();\n\t\tReadingState.rs.fire(KeY, e);\n\t}\n\n\tstatic\tget\tisSkipping() {return ReadingState.rs.skip_enabled}\n\tstatic\tget\tisWait() {return ReadingState.rs.isWait}\t// 予約イベントの発生待ち中か\n\n\n\t\tstatic\ttagL_enabled\t= true;\t\t// 頁末まで一気に読み進むか(l無視)\n\t\tstatic\tskip_all\t\t= false;\t// falseなら既読のみをスキップ\n\t\tstatic\tskip_enabled\t= false;\t// 次の選択肢(/未読)まで進むが有効か\n\t\tstatic\tauto_enabled\t= false;\t// 自動読みすすみモードかどうか\n\n\n\tstatic\tcfg\t\t: Config;\n\tstatic\thTag\t: T_HTag;\n\tstatic\tmain\t: T_Main;\n\tstatic\tval\t\t: T_Variable;\n\tstatic\tscrItr\t: ScriptIterator;\n\tstatic\tlayMng\t: LayerMng;\n\tstatic\tgoTxt = ()=> { /* empty */ };\n\tstatic\tget needGoTxt() {return this.layMng.needGoTxt}\n\tstatic\tevtMng\t: EventMng;\n\tstatic\tsndMng\t: SoundMng;\n\tstatic\tprocWheel4wle\t: (elc: EventListenerCtn, onIntr: ()=> void)=> void;\n\n\tstatic\tfcs\t\t: FocusMng;\n\n\tstatic\tinit(cfg: Config, hTag: T_HTag, main: T_Main, val: T_Variable, scrItr: ScriptIterator, layMng: LayerMng, evtMng: EventMng, sndMng: SoundMng, procWheel4wle: (elc: EventListenerCtn, onIntr: ()=> void)=> void) {\n\t\tthis.cfg = cfg;\n\t\tthis.hTag = hTag;\n\t\tthis.main = main;\n\t\tthis.val = val;\n\t\tthis.scrItr = scrItr;\n\t\tthis.layMng = layMng;\n\t\tthis.goTxt = ()=> layMng.goTxt();\n\t\tthis.evtMng = evtMng;\n\t\tthis.sndMng = sndMng;\n\t\tthis.procWheel4wle = procWheel4wle;\n\n\t\tval.defTmp('sn.tagL.enabled', ()=> this.tagL_enabled);\n\t\tval.defValTrg('tmp:sn.tagL.enabled', (_, v)=> {this.tagL_enabled = String(v) !== 'false'});\n\t\tval.defTmp('sn.skip.all', ()=> this.skip_all);\n\t\tval.defValTrg('tmp:sn.skip.all', (_, v)=> {this.skip_all = String(v) !== 'false'});\n\t\tval.defTmp('sn.skip.enabled', ()=> this.skip_enabled);\n\t\tval.defValTrg('tmp:sn.skip.enabled', (_, v)=> {this.skip_enabled = String(v) !== 'false'});\n\t\tval.defTmp('sn.auto.enabled', ()=> this.auto_enabled);\n\t\tval.defValTrg('tmp:sn.auto.enabled', (_, v)=> {this.auto_enabled = String(v) !== 'false'});\n\n\t\thTag.l\t\t\t= o=> ReadingState.rs.l(o);\t\t// 行末クリック待ち\n\t\thTag.p\t\t\t= o=> ReadingState.rs.p(o);\t\t// 改ページクリック待ち\n\t\thTag.s\t\t\t= o=> ReadingState.rs.s(o);\t\t// 停止する\n\t\thTag.wait\t\t= o=> ReadingState.rs.wait(o);\t\t// ウェイトを入れる\n\t\thTag.waitclick\t= o=> ReadingState.rs.s(o);\t\t// クリックを待つ\n\t\thTag.page\t\t= o=> ReadingState.rs.page(o);\t\t// ページ移動\n\n\t\tnew ReadingState_proc;\n\t\thTag.jump({fn: 'main'});\n\t}\n\tstatic\tsetFcs(fcs: FocusMng) {this.fcs = fcs}\n\n\n\tstatic\tcancelAutoSkip() {\n\t\tif (! this.tagL_enabled) {\t// 頁末まで一気に読み進むか(l無視)\n\t\t\tthis.tagL_enabled = true;\n\t\t\tthis.val.setVal_Nochk('tmp', 'sn.tagL.enabled', true);\n\t\t}\n\n\t\tif (this.skip_enabled) {\t\t// 次の選択肢(/未読)まで進むが有効か\n\t\t\tthis.skip_enabled = false;\n\t\t\tthis.val.setVal_Nochk('tmp', 'sn.skip.enabled', false);\n\t\t}\n\t\tif (this.auto_enabled) {\t\t// 自動読みすすみモードかどうか\n\t\t\tthis.auto_enabled = false;\n\t\t\tthis.val.setVal_Nochk('tmp', 'sn.auto.enabled', false);\n\t\t}\n\t}\n\n}\n"],"names":["Easing","amount","s","power","now","Group","_this","tweenId","tween","time","preserve","tweenIds","i","autoStart","Interpolation","v","k","m","f","fn","p0","p1","t","Sequence","mainGroup","Tween","_object","_group","target","duration","dynamic","overrideStartingValues","property","tmp","prop","_valuesStart","_valuesEnd","_valuesStartRepeat","startValue","startValueIsArray","propType","isInterpolationList","endValues","temp","l","value","nestedObject","numChainedTweens","group","times","yoyo","easingFunction","interpolationFunction","tweens","_i","callback","_a","endTime","elapsedTime","durationAndDelay","totalTime","calculateElapsedPortion","timesRepeated","timeIntoCurrentRepeat","portion","elapsed","completeCount","start","end","startIsArray","endIsArray","endValue","TWEEN","removeAll","remove","update","ReadingState","#rs","#hLocalEvt2Fnc","#hGlobalEvt2Fnc","glb","key","fnc","rawKeY","e2f","ret","h","hArg","argChk_Boolean","KeY","idx","sel","id","frmnm","Reading","ifrm","win","onUserAct","CmnLib","hGlb","e","em","Container","EVNM_CLICK","ke","#wasFired","week","p","max_len","saPageLog","$styPaging","ReadingState_proc","ReadingState_go","ReadingState_wait4Tag","argChk_Num","tw","RPN_WAIT","fin","canskip","style","_KeY","_e","to","ReadingState_page","#isPaging","#exit","clear","index","mark","proc_id","onNotify","endProc","onClickSkip","#clearProc","#procID","promise","resolve","#rsNotify","#elc","EVNM_KEY","EventListenerCtn","cancelAutoSkip","cfg","hTag","main","val","scrItr","layMng","evtMng","sndMng","procWheel4wle","_","o","fcs"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/sn/Reading.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export declare class ReadingState {
|
|
|
32
32
|
static waitRsvEvent(glb: boolean, onUserAct?: () => void): void;
|
|
33
33
|
static waitRsvEvent4Paging(): void;
|
|
34
34
|
fire(rawKeY: string, e: Event): void;
|
|
35
|
-
get
|
|
35
|
+
get skip_enabled(): boolean;
|
|
36
36
|
readonly isWait: boolean;
|
|
37
37
|
static isFirstFire(): boolean;
|
|
38
38
|
static resetFired(): void;
|
package/dist/sn/Reading.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reading.d.ts","sourceRoot":"","sources":["../../../src/sn/Reading.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAEtF,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAQpD,KAAK,QAAQ,GAAG;IACf,GAAG,EAAI,MAAM,CAAC;IACd,EAAE,EAAI,MAAM,CAAC;IACb,KAAK,EAAG,MAAM,CAAC;IACf,IAAI,EAAG,MAAM,CAAC;IACd,IAAI,EAAG,OAAO,CAAC;CACf,CAAA;AAGD,qBAAa,YAAY;;IAExB,MAAM,KAAK,EAAE,iBAAoB;;IAKjC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS;IAK3D,MAAM,CAAC,UAAU,GAAI,KAAK,MAAM,KAAG,SAAS,GAAG,SAAS,CAA0D;IAClH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM;IAW9D,MAAM,CAAC,YAAY,IAAI,UAAU;IAKjC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU;IAElC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAYtC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;QAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC;IAqB3F,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAK,IAAI,GAAG,IAAI;IAgC9D,MAAM,CAAC,mBAAmB;IAmB1B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"Reading.d.ts","sourceRoot":"","sources":["../../../src/sn/Reading.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAEtF,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAQpD,KAAK,QAAQ,GAAG;IACf,GAAG,EAAI,MAAM,CAAC;IACd,EAAE,EAAI,MAAM,CAAC;IACb,KAAK,EAAG,MAAM,CAAC;IACf,IAAI,EAAG,MAAM,CAAC;IACd,IAAI,EAAG,OAAO,CAAC;CACf,CAAA;AAGD,qBAAa,YAAY;;IAExB,MAAM,KAAK,EAAE,iBAAoB;;IAKjC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS;IAK3D,MAAM,CAAC,UAAU,GAAI,KAAK,MAAM,KAAG,SAAS,GAAG,SAAS,CAA0D;IAClH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM;IAW9D,MAAM,CAAC,YAAY,IAAI,UAAU;IAKjC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU;IAElC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAYtC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;QAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC;IAqB3F,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAK,IAAI,GAAG,IAAI;IAgC9D,MAAM,CAAC,mBAAmB;IAmB1B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK;IAoC7B,IAAI,YAAY,YAAgC;IAChD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAS;IAGjC,MAAM,CAAC,WAAW,IAAI,OAAO;IAK7B,MAAM,CAAC,UAAU;IAGjB,MAAM,CAAC,KAAK,EAAG,QAAQ,EAAE,CAAC;IAC1B,MAAM,CAAC,OAAO,SAAK;IACnB,MAAM,CAAC,OAAO,SAAK;IACnB,MAAM,CAAC,SAAS,EAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,QAAQ,CAAC,WAAW,qGAAqG;IAEhI,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAM;IAEpC,MAAM,CAAC,UAAU,CAAC,IAAI,UAAQ;IA2B9B,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAOzD,SAAS;IACT,OAAO;IAIP,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IA4BtB,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IA0BtB,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAOtB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAkBzB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IA0BzB,MAAM,CAAC,OAAO;CAQd;AA+MD,qBAAa,OAAO;;IACnB,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAK,IAAI,EAAE,OAAO,UAAO,EAAE,WAAW,CAAC,EAAE,MAAK,IAAI;IAgD/F,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM;IAOpC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM;IAQ7B,MAAM,KAAK,MAAM,WAAiE;IAGnF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,UAAQ;IAKzD,MAAM,KAAK,UAAU,YAAwC;IAC7D,MAAM,KAAK,MAAM,YAAkC;IAGlD,MAAM,CAAC,YAAY,UAAQ;IAC3B,MAAM,CAAC,QAAQ,UAAU;IACzB,MAAM,CAAC,YAAY,UAAS;IAC5B,MAAM,CAAC,YAAY,UAAS;IAG7B,MAAM,CAAC,GAAG,EAAI,MAAM,CAAC;IACrB,MAAM,CAAC,IAAI,EAAG,MAAM,CAAC;IACrB,MAAM,CAAC,IAAI,EAAG,MAAM,CAAC;IACrB,MAAM,CAAC,GAAG,EAAI,UAAU,CAAC;IACzB,MAAM,CAAC,MAAM,EAAG,cAAc,CAAC;IAC/B,MAAM,CAAC,MAAM,EAAG,QAAQ,CAAC;IACzB,MAAM,CAAC,KAAK,aAAwB;IACpC,MAAM,KAAK,SAAS,YAAiC;IACrD,MAAM,CAAC,MAAM,EAAG,QAAQ,CAAC;IACzB,MAAM,CAAC,MAAM,EAAG,QAAQ,CAAC;IACzB,MAAM,CAAC,aAAa,EAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAK,IAAI,KAAI,IAAI,CAAC;IAEzE,MAAM,CAAC,GAAG,EAAI,QAAQ,CAAC;IAEvB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAK,IAAI,KAAI,IAAI;IA+BpN,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ;IAG3B,MAAM,CAAC,cAAc;CAgBrB"}
|
package/dist_app/Reading.js
CHANGED
|
@@ -444,6 +444,7 @@ class n {
|
|
|
444
444
|
// 〃
|
|
445
445
|
case "enter":
|
|
446
446
|
case "arrowdown":
|
|
447
|
+
if (a.evtMng.isSkipping) break;
|
|
447
448
|
if (!n.isFirstFire()) return;
|
|
448
449
|
break;
|
|
449
450
|
}
|
|
@@ -457,7 +458,7 @@ class n {
|
|
|
457
458
|
const r = n.getEvt2Fnc(s);
|
|
458
459
|
r && (i.stopImmediatePropagation?.(), !(!s.startsWith("dom=") && a.layMng.clickTxtLay()) && r(i));
|
|
459
460
|
}
|
|
460
|
-
get
|
|
461
|
+
get skip_enabled() {
|
|
461
462
|
return a.skip_enabled;
|
|
462
463
|
}
|
|
463
464
|
isWait = !1;
|
|
@@ -616,7 +617,7 @@ class O extends n {
|
|
|
616
617
|
return new O().page(t);
|
|
617
618
|
}
|
|
618
619
|
#i = !0;
|
|
619
|
-
get
|
|
620
|
+
get skip_enabled() {
|
|
620
621
|
return this.#i;
|
|
621
622
|
}
|
|
622
623
|
isWait = !1;
|
|
@@ -725,7 +726,7 @@ class a {
|
|
|
725
726
|
s && this.cancelAutoSkip(), n.rs.fire(t, i);
|
|
726
727
|
}
|
|
727
728
|
static get isSkipping() {
|
|
728
|
-
return n.rs.
|
|
729
|
+
return n.rs.skip_enabled;
|
|
729
730
|
}
|
|
730
731
|
static get isWait() {
|
|
731
732
|
return n.rs.isWait;
|
package/dist_app/Reading.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reading.js","sources":["../node_modules/@tweenjs/tween.js/dist/tween.esm.js","../src/sn/Reading.ts"],"sourcesContent":["/**\n * The Ease class provides a collection of easing functions for use with tween.js.\n */\nvar Easing = Object.freeze({\n Linear: Object.freeze({\n None: function (amount) {\n return amount;\n },\n In: function (amount) {\n return amount;\n },\n Out: function (amount) {\n return amount;\n },\n InOut: function (amount) {\n return amount;\n },\n }),\n Quadratic: Object.freeze({\n In: function (amount) {\n return amount * amount;\n },\n Out: function (amount) {\n return amount * (2 - amount);\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount;\n }\n return -0.5 * (--amount * (amount - 2) - 1);\n },\n }),\n Cubic: Object.freeze({\n In: function (amount) {\n return amount * amount * amount;\n },\n Out: function (amount) {\n return --amount * amount * amount + 1;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount;\n }\n return 0.5 * ((amount -= 2) * amount * amount + 2);\n },\n }),\n Quartic: Object.freeze({\n In: function (amount) {\n return amount * amount * amount * amount;\n },\n Out: function (amount) {\n return 1 - --amount * amount * amount * amount;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount * amount;\n }\n return -0.5 * ((amount -= 2) * amount * amount * amount - 2);\n },\n }),\n Quintic: Object.freeze({\n In: function (amount) {\n return amount * amount * amount * amount * amount;\n },\n Out: function (amount) {\n return --amount * amount * amount * amount * amount + 1;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount * amount * amount;\n }\n return 0.5 * ((amount -= 2) * amount * amount * amount * amount + 2);\n },\n }),\n Sinusoidal: Object.freeze({\n In: function (amount) {\n return 1 - Math.sin(((1.0 - amount) * Math.PI) / 2);\n },\n Out: function (amount) {\n return Math.sin((amount * Math.PI) / 2);\n },\n InOut: function (amount) {\n return 0.5 * (1 - Math.sin(Math.PI * (0.5 - amount)));\n },\n }),\n Exponential: Object.freeze({\n In: function (amount) {\n return amount === 0 ? 0 : Math.pow(1024, amount - 1);\n },\n Out: function (amount) {\n return amount === 1 ? 1 : 1 - Math.pow(2, -10 * amount);\n },\n InOut: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n if ((amount *= 2) < 1) {\n return 0.5 * Math.pow(1024, amount - 1);\n }\n return 0.5 * (-Math.pow(2, -10 * (amount - 1)) + 2);\n },\n }),\n Circular: Object.freeze({\n In: function (amount) {\n return 1 - Math.sqrt(1 - amount * amount);\n },\n Out: function (amount) {\n return Math.sqrt(1 - --amount * amount);\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return -0.5 * (Math.sqrt(1 - amount * amount) - 1);\n }\n return 0.5 * (Math.sqrt(1 - (amount -= 2) * amount) + 1);\n },\n }),\n Elastic: Object.freeze({\n In: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n return -Math.pow(2, 10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI);\n },\n Out: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n return Math.pow(2, -10 * amount) * Math.sin((amount - 0.1) * 5 * Math.PI) + 1;\n },\n InOut: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n amount *= 2;\n if (amount < 1) {\n return -0.5 * Math.pow(2, 10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI);\n }\n return 0.5 * Math.pow(2, -10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI) + 1;\n },\n }),\n Back: Object.freeze({\n In: function (amount) {\n var s = 1.70158;\n return amount === 1 ? 1 : amount * amount * ((s + 1) * amount - s);\n },\n Out: function (amount) {\n var s = 1.70158;\n return amount === 0 ? 0 : --amount * amount * ((s + 1) * amount + s) + 1;\n },\n InOut: function (amount) {\n var s = 1.70158 * 1.525;\n if ((amount *= 2) < 1) {\n return 0.5 * (amount * amount * ((s + 1) * amount - s));\n }\n return 0.5 * ((amount -= 2) * amount * ((s + 1) * amount + s) + 2);\n },\n }),\n Bounce: Object.freeze({\n In: function (amount) {\n return 1 - Easing.Bounce.Out(1 - amount);\n },\n Out: function (amount) {\n if (amount < 1 / 2.75) {\n return 7.5625 * amount * amount;\n }\n else if (amount < 2 / 2.75) {\n return 7.5625 * (amount -= 1.5 / 2.75) * amount + 0.75;\n }\n else if (amount < 2.5 / 2.75) {\n return 7.5625 * (amount -= 2.25 / 2.75) * amount + 0.9375;\n }\n else {\n return 7.5625 * (amount -= 2.625 / 2.75) * amount + 0.984375;\n }\n },\n InOut: function (amount) {\n if (amount < 0.5) {\n return Easing.Bounce.In(amount * 2) * 0.5;\n }\n return Easing.Bounce.Out(amount * 2 - 1) * 0.5 + 0.5;\n },\n }),\n generatePow: function (power) {\n if (power === void 0) { power = 4; }\n power = power < Number.EPSILON ? Number.EPSILON : power;\n power = power > 10000 ? 10000 : power;\n return {\n In: function (amount) {\n return Math.pow(amount, power);\n },\n Out: function (amount) {\n return 1 - Math.pow((1 - amount), power);\n },\n InOut: function (amount) {\n if (amount < 0.5) {\n return Math.pow((amount * 2), power) / 2;\n }\n return (1 - Math.pow((2 - amount * 2), power)) / 2 + 0.5;\n },\n };\n },\n});\n\nvar now = function () { return performance.now(); };\n\n/**\n * Controlling groups of tweens\n *\n * Using the TWEEN singleton to manage your tweens can cause issues in large apps with many components.\n * In these cases, you may want to create your own smaller groups of tween\n */\nvar Group = /** @class */ (function () {\n function Group() {\n this._tweens = {};\n this._tweensAddedDuringUpdate = {};\n }\n Group.prototype.getAll = function () {\n var _this = this;\n return Object.keys(this._tweens).map(function (tweenId) {\n return _this._tweens[tweenId];\n });\n };\n Group.prototype.removeAll = function () {\n this._tweens = {};\n };\n Group.prototype.add = function (tween) {\n this._tweens[tween.getId()] = tween;\n this._tweensAddedDuringUpdate[tween.getId()] = tween;\n };\n Group.prototype.remove = function (tween) {\n delete this._tweens[tween.getId()];\n delete this._tweensAddedDuringUpdate[tween.getId()];\n };\n Group.prototype.update = function (time, preserve) {\n if (time === void 0) { time = now(); }\n if (preserve === void 0) { preserve = false; }\n var tweenIds = Object.keys(this._tweens);\n if (tweenIds.length === 0) {\n return false;\n }\n // Tweens are updated in \"batches\". If you add a new tween during an\n // update, then the new tween will be updated in the next batch.\n // If you remove a tween during an update, it may or may not be updated.\n // However, if the removed tween was added during the current batch,\n // then it will not be updated.\n while (tweenIds.length > 0) {\n this._tweensAddedDuringUpdate = {};\n for (var i = 0; i < tweenIds.length; i++) {\n var tween = this._tweens[tweenIds[i]];\n var autoStart = !preserve;\n if (tween && tween.update(time, autoStart) === false && !preserve) {\n delete this._tweens[tweenIds[i]];\n }\n }\n tweenIds = Object.keys(this._tweensAddedDuringUpdate);\n }\n return true;\n };\n return Group;\n}());\n\n/**\n *\n */\nvar Interpolation = {\n Linear: function (v, k) {\n var m = v.length - 1;\n var f = m * k;\n var i = Math.floor(f);\n var fn = Interpolation.Utils.Linear;\n if (k < 0) {\n return fn(v[0], v[1], f);\n }\n if (k > 1) {\n return fn(v[m], v[m - 1], m - f);\n }\n return fn(v[i], v[i + 1 > m ? m : i + 1], f - i);\n },\n Bezier: function (v, k) {\n var b = 0;\n var n = v.length - 1;\n var pw = Math.pow;\n var bn = Interpolation.Utils.Bernstein;\n for (var i = 0; i <= n; i++) {\n b += pw(1 - k, n - i) * pw(k, i) * v[i] * bn(n, i);\n }\n return b;\n },\n CatmullRom: function (v, k) {\n var m = v.length - 1;\n var f = m * k;\n var i = Math.floor(f);\n var fn = Interpolation.Utils.CatmullRom;\n if (v[0] === v[m]) {\n if (k < 0) {\n i = Math.floor((f = m * (1 + k)));\n }\n return fn(v[(i - 1 + m) % m], v[i], v[(i + 1) % m], v[(i + 2) % m], f - i);\n }\n else {\n if (k < 0) {\n return v[0] - (fn(v[0], v[0], v[1], v[1], -f) - v[0]);\n }\n if (k > 1) {\n return v[m] - (fn(v[m], v[m], v[m - 1], v[m - 1], f - m) - v[m]);\n }\n return fn(v[i ? i - 1 : 0], v[i], v[m < i + 1 ? m : i + 1], v[m < i + 2 ? m : i + 2], f - i);\n }\n },\n Utils: {\n Linear: function (p0, p1, t) {\n return (p1 - p0) * t + p0;\n },\n Bernstein: function (n, i) {\n var fc = Interpolation.Utils.Factorial;\n return fc(n) / fc(i) / fc(n - i);\n },\n Factorial: (function () {\n var a = [1];\n return function (n) {\n var s = 1;\n if (a[n]) {\n return a[n];\n }\n for (var i = n; i > 1; i--) {\n s *= i;\n }\n a[n] = s;\n return s;\n };\n })(),\n CatmullRom: function (p0, p1, p2, p3, t) {\n var v0 = (p2 - p0) * 0.5;\n var v1 = (p3 - p1) * 0.5;\n var t2 = t * t;\n var t3 = t * t2;\n return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (-3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1;\n },\n },\n};\n\n/**\n * Utils\n */\nvar Sequence = /** @class */ (function () {\n function Sequence() {\n }\n Sequence.nextId = function () {\n return Sequence._nextId++;\n };\n Sequence._nextId = 0;\n return Sequence;\n}());\n\nvar mainGroup = new Group();\n\n/**\n * Tween.js - Licensed under the MIT license\n * https://github.com/tweenjs/tween.js\n * ----------------------------------------------\n *\n * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors.\n * Thank you all, you're awesome!\n */\nvar Tween = /** @class */ (function () {\n function Tween(_object, _group) {\n if (_group === void 0) { _group = mainGroup; }\n this._object = _object;\n this._group = _group;\n this._isPaused = false;\n this._pauseStart = 0;\n this._valuesStart = {};\n this._valuesEnd = {};\n this._valuesStartRepeat = {};\n this._duration = 1000;\n this._isDynamic = false;\n this._initialRepeat = 0;\n this._repeat = 0;\n this._yoyo = false;\n this._isPlaying = false;\n this._reversed = false;\n this._delayTime = 0;\n this._startTime = 0;\n this._easingFunction = Easing.Linear.None;\n this._interpolationFunction = Interpolation.Linear;\n // eslint-disable-next-line\n this._chainedTweens = [];\n this._onStartCallbackFired = false;\n this._onEveryStartCallbackFired = false;\n this._id = Sequence.nextId();\n this._isChainStopped = false;\n this._propertiesAreSetUp = false;\n this._goToEnd = false;\n }\n Tween.prototype.getId = function () {\n return this._id;\n };\n Tween.prototype.isPlaying = function () {\n return this._isPlaying;\n };\n Tween.prototype.isPaused = function () {\n return this._isPaused;\n };\n Tween.prototype.getDuration = function () {\n return this._duration;\n };\n Tween.prototype.to = function (target, duration) {\n if (duration === void 0) { duration = 1000; }\n if (this._isPlaying)\n throw new Error('Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.');\n this._valuesEnd = target;\n this._propertiesAreSetUp = false;\n this._duration = duration < 0 ? 0 : duration;\n return this;\n };\n Tween.prototype.duration = function (duration) {\n if (duration === void 0) { duration = 1000; }\n this._duration = duration < 0 ? 0 : duration;\n return this;\n };\n Tween.prototype.dynamic = function (dynamic) {\n if (dynamic === void 0) { dynamic = false; }\n this._isDynamic = dynamic;\n return this;\n };\n Tween.prototype.start = function (time, overrideStartingValues) {\n if (time === void 0) { time = now(); }\n if (overrideStartingValues === void 0) { overrideStartingValues = false; }\n if (this._isPlaying) {\n return this;\n }\n // eslint-disable-next-line\n this._group && this._group.add(this);\n this._repeat = this._initialRepeat;\n if (this._reversed) {\n // If we were reversed (f.e. using the yoyo feature) then we need to\n // flip the tween direction back to forward.\n this._reversed = false;\n for (var property in this._valuesStartRepeat) {\n this._swapEndStartRepeatValues(property);\n this._valuesStart[property] = this._valuesStartRepeat[property];\n }\n }\n this._isPlaying = true;\n this._isPaused = false;\n this._onStartCallbackFired = false;\n this._onEveryStartCallbackFired = false;\n this._isChainStopped = false;\n this._startTime = time;\n this._startTime += this._delayTime;\n if (!this._propertiesAreSetUp || overrideStartingValues) {\n this._propertiesAreSetUp = true;\n // If dynamic is not enabled, clone the end values instead of using the passed-in end values.\n if (!this._isDynamic) {\n var tmp = {};\n for (var prop in this._valuesEnd)\n tmp[prop] = this._valuesEnd[prop];\n this._valuesEnd = tmp;\n }\n this._setupProperties(this._object, this._valuesStart, this._valuesEnd, this._valuesStartRepeat, overrideStartingValues);\n }\n return this;\n };\n Tween.prototype.startFromCurrentValues = function (time) {\n return this.start(time, true);\n };\n Tween.prototype._setupProperties = function (_object, _valuesStart, _valuesEnd, _valuesStartRepeat, overrideStartingValues) {\n for (var property in _valuesEnd) {\n var startValue = _object[property];\n var startValueIsArray = Array.isArray(startValue);\n var propType = startValueIsArray ? 'array' : typeof startValue;\n var isInterpolationList = !startValueIsArray && Array.isArray(_valuesEnd[property]);\n // If `to()` specifies a property that doesn't exist in the source object,\n // we should not set that property in the object\n if (propType === 'undefined' || propType === 'function') {\n continue;\n }\n // Check if an Array was provided as property value\n if (isInterpolationList) {\n var endValues = _valuesEnd[property];\n if (endValues.length === 0) {\n continue;\n }\n // Handle an array of relative values.\n // Creates a local copy of the Array with the start value at the front\n var temp = [startValue];\n for (var i = 0, l = endValues.length; i < l; i += 1) {\n var value = this._handleRelativeValue(startValue, endValues[i]);\n if (isNaN(value)) {\n isInterpolationList = false;\n console.warn('Found invalid interpolation list. Skipping.');\n break;\n }\n temp.push(value);\n }\n if (isInterpolationList) {\n // if (_valuesStart[property] === undefined) { // handle end values only the first time. NOT NEEDED? setupProperties is now guarded by _propertiesAreSetUp.\n _valuesEnd[property] = temp;\n // }\n }\n }\n // handle the deepness of the values\n if ((propType === 'object' || startValueIsArray) && startValue && !isInterpolationList) {\n _valuesStart[property] = startValueIsArray ? [] : {};\n var nestedObject = startValue;\n for (var prop in nestedObject) {\n _valuesStart[property][prop] = nestedObject[prop];\n }\n // TODO? repeat nested values? And yoyo? And array values?\n _valuesStartRepeat[property] = startValueIsArray ? [] : {};\n var endValues = _valuesEnd[property];\n // If dynamic is not enabled, clone the end values instead of using the passed-in end values.\n if (!this._isDynamic) {\n var tmp = {};\n for (var prop in endValues)\n tmp[prop] = endValues[prop];\n _valuesEnd[property] = endValues = tmp;\n }\n this._setupProperties(nestedObject, _valuesStart[property], endValues, _valuesStartRepeat[property], overrideStartingValues);\n }\n else {\n // Save the starting value, but only once unless override is requested.\n if (typeof _valuesStart[property] === 'undefined' || overrideStartingValues) {\n _valuesStart[property] = startValue;\n }\n if (!startValueIsArray) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _valuesStart[property] *= 1.0; // Ensures we're using numbers, not strings\n }\n if (isInterpolationList) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _valuesStartRepeat[property] = _valuesEnd[property].slice().reverse();\n }\n else {\n _valuesStartRepeat[property] = _valuesStart[property] || 0;\n }\n }\n }\n };\n Tween.prototype.stop = function () {\n if (!this._isChainStopped) {\n this._isChainStopped = true;\n this.stopChainedTweens();\n }\n if (!this._isPlaying) {\n return this;\n }\n // eslint-disable-next-line\n this._group && this._group.remove(this);\n this._isPlaying = false;\n this._isPaused = false;\n if (this._onStopCallback) {\n this._onStopCallback(this._object);\n }\n return this;\n };\n Tween.prototype.end = function () {\n this._goToEnd = true;\n this.update(Infinity);\n return this;\n };\n Tween.prototype.pause = function (time) {\n if (time === void 0) { time = now(); }\n if (this._isPaused || !this._isPlaying) {\n return this;\n }\n this._isPaused = true;\n this._pauseStart = time;\n // eslint-disable-next-line\n this._group && this._group.remove(this);\n return this;\n };\n Tween.prototype.resume = function (time) {\n if (time === void 0) { time = now(); }\n if (!this._isPaused || !this._isPlaying) {\n return this;\n }\n this._isPaused = false;\n this._startTime += time - this._pauseStart;\n this._pauseStart = 0;\n // eslint-disable-next-line\n this._group && this._group.add(this);\n return this;\n };\n Tween.prototype.stopChainedTweens = function () {\n for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) {\n this._chainedTweens[i].stop();\n }\n return this;\n };\n Tween.prototype.group = function (group) {\n if (group === void 0) { group = mainGroup; }\n this._group = group;\n return this;\n };\n Tween.prototype.delay = function (amount) {\n if (amount === void 0) { amount = 0; }\n this._delayTime = amount;\n return this;\n };\n Tween.prototype.repeat = function (times) {\n if (times === void 0) { times = 0; }\n this._initialRepeat = times;\n this._repeat = times;\n return this;\n };\n Tween.prototype.repeatDelay = function (amount) {\n this._repeatDelayTime = amount;\n return this;\n };\n Tween.prototype.yoyo = function (yoyo) {\n if (yoyo === void 0) { yoyo = false; }\n this._yoyo = yoyo;\n return this;\n };\n Tween.prototype.easing = function (easingFunction) {\n if (easingFunction === void 0) { easingFunction = Easing.Linear.None; }\n this._easingFunction = easingFunction;\n return this;\n };\n Tween.prototype.interpolation = function (interpolationFunction) {\n if (interpolationFunction === void 0) { interpolationFunction = Interpolation.Linear; }\n this._interpolationFunction = interpolationFunction;\n return this;\n };\n // eslint-disable-next-line\n Tween.prototype.chain = function () {\n var tweens = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n tweens[_i] = arguments[_i];\n }\n this._chainedTweens = tweens;\n return this;\n };\n Tween.prototype.onStart = function (callback) {\n this._onStartCallback = callback;\n return this;\n };\n Tween.prototype.onEveryStart = function (callback) {\n this._onEveryStartCallback = callback;\n return this;\n };\n Tween.prototype.onUpdate = function (callback) {\n this._onUpdateCallback = callback;\n return this;\n };\n Tween.prototype.onRepeat = function (callback) {\n this._onRepeatCallback = callback;\n return this;\n };\n Tween.prototype.onComplete = function (callback) {\n this._onCompleteCallback = callback;\n return this;\n };\n Tween.prototype.onStop = function (callback) {\n this._onStopCallback = callback;\n return this;\n };\n /**\n * @returns true if the tween is still playing after the update, false\n * otherwise (calling update on a paused tween still returns true because\n * it is still playing, just paused).\n */\n Tween.prototype.update = function (time, autoStart) {\n var _this = this;\n var _a;\n if (time === void 0) { time = now(); }\n if (autoStart === void 0) { autoStart = true; }\n if (this._isPaused)\n return true;\n var property;\n var endTime = this._startTime + this._duration;\n if (!this._goToEnd && !this._isPlaying) {\n if (time > endTime)\n return false;\n if (autoStart)\n this.start(time, true);\n }\n this._goToEnd = false;\n if (time < this._startTime) {\n return true;\n }\n if (this._onStartCallbackFired === false) {\n if (this._onStartCallback) {\n this._onStartCallback(this._object);\n }\n this._onStartCallbackFired = true;\n }\n if (this._onEveryStartCallbackFired === false) {\n if (this._onEveryStartCallback) {\n this._onEveryStartCallback(this._object);\n }\n this._onEveryStartCallbackFired = true;\n }\n var elapsedTime = time - this._startTime;\n var durationAndDelay = this._duration + ((_a = this._repeatDelayTime) !== null && _a !== void 0 ? _a : this._delayTime);\n var totalTime = this._duration + this._repeat * durationAndDelay;\n var calculateElapsedPortion = function () {\n if (_this._duration === 0)\n return 1;\n if (elapsedTime > totalTime) {\n return 1;\n }\n var timesRepeated = Math.trunc(elapsedTime / durationAndDelay);\n var timeIntoCurrentRepeat = elapsedTime - timesRepeated * durationAndDelay;\n // TODO use %?\n // const timeIntoCurrentRepeat = elapsedTime % durationAndDelay\n var portion = Math.min(timeIntoCurrentRepeat / _this._duration, 1);\n if (portion === 0 && elapsedTime === _this._duration) {\n return 1;\n }\n return portion;\n };\n var elapsed = calculateElapsedPortion();\n var value = this._easingFunction(elapsed);\n // properties transformations\n this._updateProperties(this._object, this._valuesStart, this._valuesEnd, value);\n if (this._onUpdateCallback) {\n this._onUpdateCallback(this._object, elapsed);\n }\n if (this._duration === 0 || elapsedTime >= this._duration) {\n if (this._repeat > 0) {\n var completeCount = Math.min(Math.trunc((elapsedTime - this._duration) / durationAndDelay) + 1, this._repeat);\n if (isFinite(this._repeat)) {\n this._repeat -= completeCount;\n }\n // Reassign starting values, restart by making startTime = now\n for (property in this._valuesStartRepeat) {\n if (!this._yoyo && typeof this._valuesEnd[property] === 'string') {\n this._valuesStartRepeat[property] =\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n this._valuesStartRepeat[property] + parseFloat(this._valuesEnd[property]);\n }\n if (this._yoyo) {\n this._swapEndStartRepeatValues(property);\n }\n this._valuesStart[property] = this._valuesStartRepeat[property];\n }\n if (this._yoyo) {\n this._reversed = !this._reversed;\n }\n this._startTime += durationAndDelay * completeCount;\n if (this._onRepeatCallback) {\n this._onRepeatCallback(this._object);\n }\n this._onEveryStartCallbackFired = false;\n return true;\n }\n else {\n if (this._onCompleteCallback) {\n this._onCompleteCallback(this._object);\n }\n for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) {\n // Make the chained tweens start exactly at the time they should,\n // even if the `update()` method was called way past the duration of the tween\n this._chainedTweens[i].start(this._startTime + this._duration, false);\n }\n this._isPlaying = false;\n return false;\n }\n }\n return true;\n };\n Tween.prototype._updateProperties = function (_object, _valuesStart, _valuesEnd, value) {\n for (var property in _valuesEnd) {\n // Don't update properties that do not exist in the source object\n if (_valuesStart[property] === undefined) {\n continue;\n }\n var start = _valuesStart[property] || 0;\n var end = _valuesEnd[property];\n var startIsArray = Array.isArray(_object[property]);\n var endIsArray = Array.isArray(end);\n var isInterpolationList = !startIsArray && endIsArray;\n if (isInterpolationList) {\n _object[property] = this._interpolationFunction(end, value);\n }\n else if (typeof end === 'object' && end) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n this._updateProperties(_object[property], start, end, value);\n }\n else {\n // Parses relative end values with start as base (e.g.: +10, -3)\n end = this._handleRelativeValue(start, end);\n // Protect against non numeric properties.\n if (typeof end === 'number') {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _object[property] = start + (end - start) * value;\n }\n }\n }\n };\n Tween.prototype._handleRelativeValue = function (start, end) {\n if (typeof end !== 'string') {\n return end;\n }\n if (end.charAt(0) === '+' || end.charAt(0) === '-') {\n return start + parseFloat(end);\n }\n return parseFloat(end);\n };\n Tween.prototype._swapEndStartRepeatValues = function (property) {\n var tmp = this._valuesStartRepeat[property];\n var endValue = this._valuesEnd[property];\n if (typeof endValue === 'string') {\n this._valuesStartRepeat[property] = this._valuesStartRepeat[property] + parseFloat(endValue);\n }\n else {\n this._valuesStartRepeat[property] = this._valuesEnd[property];\n }\n this._valuesEnd[property] = tmp;\n };\n return Tween;\n}());\n\nvar VERSION = '23.1.3';\n\n/**\n * Tween.js - Licensed under the MIT license\n * https://github.com/tweenjs/tween.js\n * ----------------------------------------------\n *\n * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors.\n * Thank you all, you're awesome!\n */\nvar nextId = Sequence.nextId;\n/**\n * Controlling groups of tweens\n *\n * Using the TWEEN singleton to manage your tweens can cause issues in large apps with many components.\n * In these cases, you may want to create your own smaller groups of tweens.\n */\nvar TWEEN = mainGroup;\n// This is the best way to export things in a way that's compatible with both ES\n// Modules and CommonJS, without build hacks, and so as not to break the\n// existing API.\n// https://github.com/rollup/rollup/issues/1961#issuecomment-423037881\nvar getAll = TWEEN.getAll.bind(TWEEN);\nvar removeAll = TWEEN.removeAll.bind(TWEEN);\nvar add = TWEEN.add.bind(TWEEN);\nvar remove = TWEEN.remove.bind(TWEEN);\nvar update = TWEEN.update.bind(TWEEN);\nvar exports = {\n Easing: Easing,\n Group: Group,\n Interpolation: Interpolation,\n now: now,\n Sequence: Sequence,\n nextId: nextId,\n Tween: Tween,\n VERSION: VERSION,\n getAll: getAll,\n removeAll: removeAll,\n add: add,\n remove: remove,\n update: update,\n};\n\nexport { Easing, Group, Interpolation, Sequence, Tween, VERSION, add, exports as default, getAll, nextId, now, remove, removeAll, update };\n","/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2025-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport type {TArg, T_HTag} from './Grammar';\nimport type {T_Evt2Fnc, T_HEvt2Fnc, T_Main, T_Mark, T_Variable} from './CmnInterface';\nimport {argChk_Boolean, argChk_Num, CmnLib, EVNM_CLICK, EVNM_KEY} from './CmnLib';\nimport type {Config} from './Config';\nimport type {ScriptIterator} from './ScriptIterator';\nimport type {LayerMng} from './LayerMng';\nimport type {EventMng} from './EventMng';\nimport type {FocusMng} from './FocusMng';\nimport type {SoundMng} from './SoundMng';\nimport {EventListenerCtn} from './EventListenerCtn';\nimport type {T_RP_layGrp} from './GrpLayer';\nimport type {T_RP_layTxt} from './TxtLayer';\n\nimport {Container} from 'pixi.js';\nimport {Tween, remove} from '@tweenjs/tween.js'\n\n\ntype IPageLog = {\n\tkey\t\t: string;\n\tfn\t\t: string;\n\tindex\t: number;\n\tmark\t: T_Mark;\n\tweek\t: boolean;\n}\n\n\nexport class ReadingState {\n\tstatic\t#rs: ReadingState;\n\tstatic\tget rs() {return this.#rs}\n\tconstructor() {ReadingState.#rs = this}\n\n\tstatic\t#hLocalEvt2Fnc\t: T_HEvt2Fnc = {};\n\tstatic\t#hGlobalEvt2Fnc\t: T_HEvt2Fnc = {};\n\tstatic\tsetEvt2Fnc(glb: boolean, key: string, fnc: T_Evt2Fnc) {\n\t\tif (glb)\n\t\t\tthis.#hGlobalEvt2Fnc[key] = fnc;\n\t\telse this.#hLocalEvt2Fnc[key] = fnc;\n\t}\n\tstatic\tgetEvt2Fnc = (key: string): T_Evt2Fnc | undefined => this.#hLocalEvt2Fnc[key] ?? this.#hGlobalEvt2Fnc[key];\n\tstatic\tclear_eventer(rawKeY: string, glb: boolean, key: string) {\n\t\tif (! rawKeY.startsWith('dom=')) return;\n\n\t\tconst e2f = glb ? this.#hGlobalEvt2Fnc[key] : this.#hLocalEvt2Fnc[key];\n\t\tif (e2f) this.getHtmlElmList(rawKeY).el.forEach(v=> v.removeEventListener('click', e2f));\n\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\tif (glb) delete this.#hGlobalEvt2Fnc[key];\n\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\telse\tdelete this.#hLocalEvt2Fnc[key];\n\t}\n\n\tstatic\tpopLocalEvts(): T_HEvt2Fnc {\n\t\tconst ret = this.#hLocalEvt2Fnc;\n\t\tthis.#hLocalEvt2Fnc = {};\n\t\treturn ret;\n\t}\n\tstatic\tpushLocalEvts(h: T_HEvt2Fnc) {this.#hLocalEvt2Fnc = h}\n\n\tstatic\tclear_event(hArg: TArg): boolean {\n\t\tconst glb = argChk_Boolean(hArg, 'global', false);\n\t\tconst h = glb ?this.#hGlobalEvt2Fnc :this.#hLocalEvt2Fnc;\n\t\tfor (const [KeY, e2f] of Object.entries(h)) {\n\t\t\tif (! KeY.startsWith('dom=')) continue;\n\n\t\t\tthis.getHtmlElmList(KeY).el.forEach(v=> v.removeEventListener('click', e2f));\n\t\t}\n\t\tif (glb) this.#hGlobalEvt2Fnc = {}; else this.#hLocalEvt2Fnc = {};\n\n\t\treturn false;\n\t}\n\t\tstatic\tgetHtmlElmList(KeY: string): {el: NodeListOf<HTMLElement>, id: string, sel: string} {\n\t\t\tconst idx = KeY.indexOf(':');\n\t\t\tlet sel = '';\n\t\t\tif (idx >= 0) {\t\t// key='dom=config:#ctrl2val\n\t\t\t\tconst id = KeY.slice(4, idx);\n\t\t\t\tconst frmnm = `const.sn.frm.${id}`;\n\t\t\t\tif (! Reading.val.getVal(`tmp:${frmnm}`, 0)) throw `HTML【${id}】が読み込まれていません`;\n\n\t\t\t\tconst ifrm = <HTMLIFrameElement | null>document.getElementById(id);\n\t\t\t\tif (! ifrm) throw `HTML【${id}】の要素(id=${id})がありません`;\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t\tconst win = ifrm.contentWindow!;\n\t\t\t\tsel = KeY.slice(idx +1);\n\t\t\t\treturn {el: win.document.querySelectorAll(sel), id, sel};\n\t\t\t}\n\n\t\t\tsel = KeY.slice(4);\n\t\t\treturn {el: document.querySelectorAll(sel), id: '', sel};\n\t\t}\n\n\t// 予約イベントの発生待ち\n\tstatic\twaitRsvEvent(glb: boolean, onUserAct?: ()=> void): void {\n\t\tReading.val.saveKidoku();\n\n\t\tif (onUserAct) {\n\t\t\t//hTag.event({key:'click', breakout: fnc});\n\t\t\t//hTag.event({key:'middleclick', breakout: fnc});\n\t\t\t//\thTag.event()は内部で使わず、こうする\n\t\t\tthis.#hLocalEvt2Fnc.click =\n\t\t\tthis.#hLocalEvt2Fnc.enter =\n\t\t\tthis.#hLocalEvt2Fnc.arrowdown =\n\n\t\t\t// hTag.event({key:'downwheel', breakout: fnc});\n\t\t\tthis.#hLocalEvt2Fnc['wheel.y>0'] = ()=> onUserAct();\n\t\t}\n\t\telse {\n\t\t\tdelete this.#hLocalEvt2Fnc.click;\n\t\t\tdelete this.#hLocalEvt2Fnc.enter;\n\t\t\tdelete this.#hLocalEvt2Fnc.arrowdown;\n\t\t\tdelete this.#hLocalEvt2Fnc['wheel.y>0'];\n\t\t}\n\t\tthis.getEvt2Fnc = glb\n\t\t\t? key=> this.#hLocalEvt2Fnc[key]\n\t\t\t\t?? this.#hGlobalEvt2Fnc[key]\n\t\t\t: key=> this.#hLocalEvt2Fnc[key];\n\n\t\tReading.scrItr.noticeWait();\n\t\tif (CmnLib.debugLog) console.log('🎍 wait event... %o', {\n\t\t\tlocal\t: Object.keys(this.#hLocalEvt2Fnc),\n\t\t\tglobal\t: Object.keys(this.#hGlobalEvt2Fnc),\n\t\t});\n\t}\n\n\tstatic\twaitRsvEvent4Paging() {\n\t\tthis.waitRsvEvent(true);\n\n\t\tif (this.aKeysAtPaging.length === 0) {\n\t\t\tthis.getEvt2Fnc = key=>\n\t\t\t\tthis.#hLocalEvt2Fnc[key]\n\t\t\t?? this.#hGlobalEvt2Fnc[key];\n\t\t\treturn;\n\t\t}\n\n\t\tconst hGlb: T_HEvt2Fnc = {};\n\t\tfor (const k of this.aKeysAtPaging) {\n\t\t\tconst v = this.#hGlobalEvt2Fnc[k];\n\t\t\tif (v) hGlb[k] = v;\n\t\t}\n\t\tthis.getEvt2Fnc = key=> this.#hLocalEvt2Fnc[key] ?? hGlb[key];\n\t}\n\n\n\tfire(rawKeY: string, e: Event) {\n\t\t//if (this.#isDbgBreak) return;\n\n\t\t// 予約実行\n\t\tconst key = rawKeY.toLowerCase();\n\t\t// if (CmnLib.debugLog) console.log(`👺 fire<(key:\\`${key}\\` type:${e.type} e:${JSON.stringify(e)})`);\n\n\t\tswitch (key) {\n\t\t\tcase 'click':\n\t\t\tcase 'rightclick':\t// 右クリックメニューに入って出られない\n\t\t\tcase 'middleclick':\t// 〃\n\t\t\tcase 'enter':\n\t\t\tcase 'arrowdown':\n\t\t\t\tif (! ReadingState.isFirstFire()) return;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (key === 'enter') {\n\t\t\tconst em = Reading.fcs.getFocus();\n\t\t\tif (em instanceof Container) {\n\t\t\t\tem.emit(EVNM_CLICK, new PointerEvent(EVNM_CLICK));\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst ke = ReadingState.getEvt2Fnc(key);\n\t\tif (! ke) return;\t\t// 予約されていないイベントなので無視\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t\te.stopImmediatePropagation?.();\n\t\tif (! key.startsWith('dom=') && Reading.layMng.clickTxtLay()) return;\n\n\t\tke(e);\n\t\t//this.hLocalEvt2Fnc = {};\t// ここで消去禁止、Main.resumeByJumpOrCall()が担当\n\t}\n\tget\tisSkipping() {return Reading.skip_enabled}\n\treadonly\tisWait: boolean\t= false;\n\t// イベント複数発生回避(ボタンとステージクリックなど)\n\tstatic\t#wasFired\t= false;\n\tstatic\tisFirstFire(): boolean {\n\t\tif (ReadingState.#wasFired) return false;\n\t\tReadingState.#wasFired = true;\n\t\treturn true;\n\t}\n\tstatic\tresetFired() {ReadingState.#wasFired = false}\n\n\n\tstatic\taPage\t: IPageLog[];\n\tstatic\tlenPage = 0;\n\tstatic\tposPage = 0;\n\tstatic\tstyPaging\t: string;\n\tstatic\treadonly\tINI_STYPAGE = 'color: yellow; text-shadow: 1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000;';\n\n\tstatic\taKeysAtPaging: string[]\t= [];\n\n\tstatic\trecodePage(week = false) {\n\t\tif (! Reading.val.getVal('save:sn.doRecLog')) return;\n\n\t\tconst {fn, idx} = Reading.scrItr.nowScrIdx();\n\t\tconst key = `${idx -1}:`+ fn;\t// 検索時の都合で -1\n\t\tif (this.aPage.findIndex(p=> p.key === key) > -1) return;\t// 保存済\n\n\t\tif (CmnLib.debugLog) console.log(`📜 %crecodePage === week:${week} lenPage:${this.lenPage} len:${this.aPage.length} POP:${this.aPage.at(-1)?.week}`, 'color:#3B0;');\n\n\t\tif (this.aPage.at(-1)?.week) this.aPage.pop();\n\t\tconst {max_len} = Reading.cfg.oCfg.log;\t// 一定数を保つ\n\t\tif (this.aPage.push({key, week,\n\t\t\tfn\t\t: <string>Reading.val.getVal('save:const.sn.scriptFn', fn),\n\t\t\tindex\t: <number>Reading.val.getVal('save:const.sn.scriptIdx', 0),\n\t\t\tmark\t: Reading.scrItr.nowMark(),\n\t\t}) > max_len) this.aPage = this.aPage.slice(-max_len);\n\t\tthis.lenPage = this.aPage.length;\n\n\t\tif (CmnLib.debugLog) {\n\t\t\tconst m = Reading.scrItr.nowMark();\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconsole.log(` %clenPage:${this.lenPage} (base=${(<T_RP_layGrp>m.hPages.base!.fore).sBkFn} 0=${(<T_RP_layGrp>m.hPages['0']!.fore).sBkFn} mes=${/color: \\w+;/.exec((<T_RP_layTxt>m.hPages.mes!.fore).txs.cssText)})%c mark:%o`, 'color:#3B0;', '', m);\n\t\t\tconsole.table(this.aPage);\n\t\t}\n\n\t\tReading.val.setVal_Nochk('sys', 'const.sn.aPageLog', JSON.stringify(this.aPage));\n\t}\n\tstatic\tplaybackPage(saPageLog: string, $styPaging: string) {\n\t\tthis.aPage = <IPageLog[]>JSON.parse(saPageLog);\n\t\tthis.lenPage = this.aPage.length;\n\t\tif (this.posPage >= this.lenPage) this.posPage = this.lenPage -1;\n\t\tthis.styPaging = $styPaging;\n\t}\n\n\tbeginProc() {new ReadingState_proc}\n\tendProc() {new ReadingState_go}\n\n\n\t// タグ処理\n\tl(hArg: TArg): boolean {\n// console.log(`fn:Reading.ts line:218 [l] isKidoku:${Reading.scrItr.isKidoku} isNextKidoku:${Reading.scrItr.isNextKidoku} A:${Reading.auto_enabled} B:${Reading.skip_enabled} C:${Reading.skip_all}`);\n\t\tif (! Reading.tagL_enabled) return false;\n\n\t\tReadingState.recodePage(true);\n\n\t\tif (Reading.auto_enabled) {\t// Aスキップ時\n\t\t\thArg.time = Number(Reading.val.getVal(`sys:sn.auto.msecLineWait${Reading.scrItr.isKidoku ?'_Kidoku' :''}`));\n\t\t\treturn this.wait(hArg);\n\t\t}\n\t\tif (Reading.skip_enabled) {\t// Fスキップ時\n\t\t\tif (! Reading.skip_all && ! Reading.scrItr.isNextKidoku) {\n\t\t\t\tReading.cancelAutoSkip();\t// 未読で停止\n\t\t\t}\n\t\t\telse if ('ps'.includes(String(Reading.val.getVal('sys:sn.skip.mode')))) {\n\t\t\t\thArg.time = 50;\t// 改行待ち=しない\t// 魔法数字、見えるぐらい少し待つ\n\t\t\t\treturn this.wait(hArg);\n\t\t\t}\n\t\t}\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) {\n\t\t\tReading.layMng.breakLine(hArg);\n\t\t\tReading.goTxt();\n\t\t}\n\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\tp(hArg: TArg): boolean {\n// console.log(`fn:Reading.ts line:248 [p] isKidoku:${Reading.scrItr.isKidoku} isNextKidoku:${Reading.scrItr.isNextKidoku} A:${Reading.auto_enabled} B:${Reading.skip_enabled} C:${Reading.skip_all}`);\n\t\tReadingState.recodePage();\n\n\t\tif (Reading.auto_enabled) {\t// Aスキップ時\n\t\t\thArg.time = Number(Reading.val.getVal(`sys:sn.auto.msecPageWait${Reading.scrItr.isKidoku ?'_Kidoku' :''}`));\n\t\t\treturn this.wait(hArg);\n\t\t}\n\t\tif (Reading.skip_enabled) {\t// Fスキップ時\n\t\t\tif (! Reading.skip_all && ! Reading.scrItr.isNextKidoku) {\n\t\t\t\tReading.cancelAutoSkip();\t// 未読で停止\n\t\t\t}\n\t\t\telse if ('s' === String(Reading.val.getVal('sys:sn.skip.mode'))) {\n\t\t\t\thArg.time = 50;\t// 改行待ち=しない\t// 魔法数字、見えるぐらい少し待つ\n\t\t\t\treturn this.wait(hArg);\n\t\t\t}\n\t\t}\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) {\n\t\t\tReading.layMng.breakPage(hArg);\n\t\t\tReading.goTxt();\n\t\t}\n\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\ts(hArg: TArg): boolean {\n\t\tReadingState.recodePage();\n\n\t\tReading.cancelAutoSkip();\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\twait(hArg: TArg): boolean {\n\t\tconst time = argChk_Num(hArg, 'time', NaN);\t// skip時もエラーは出したい\n\t\tif (Reading.skip_enabled) {\t\t// Fスキップ時\n\t\t\tif (! Reading.skip_all && ! Reading.scrItr.isNextKidoku) Reading.cancelAutoSkip();\t// 未読で停止\n\t\t\treturn false;\n\t\t}\n\n\t\tconst tw = new Tween({});\n\t\tconst RPN_WAIT = 'wait';\n\t\tconst fin = ()=> {remove(tw); Reading.notifyEndProc(RPN_WAIT)};\n\t\ttw.to({}, time)\n\t\t.onComplete(fin)\n\t\t.start();\n\n\t\tconst canskip = argChk_Boolean(hArg, 'canskip', true);\n\t\tReading.beginProc(RPN_WAIT, fin, true, canskip ?fin :undefined);\n\t\treturn true;\n\t}\n\tpage(hArg: TArg): boolean {\n\t\tif (! ('clear' in hArg || 'to' in hArg || 'style' in hArg)) throw 'clear,style,to いずれかは必須です';\n\n\t\t// ページ移動状態中に有効にするグローバルイベントを限定\n\t\tconst {key, style} = hArg;\n\t\tif (key) ReadingState.aKeysAtPaging = key.split(',');\n\n\t\tif (style) {\n\t\t\tReadingState.styPaging = style;\n\t\t\tReading.val.setVal_Nochk('save', 'const.sn.styPaging', style);\n\t\t\treturn false;\n\t\t}\n\n\t\tif (argChk_Boolean(hArg, 'clear', false)) {\n\t\t\tReadingState.aPage = [];\n\t\t\tReadingState.lenPage = 0;\n\t\t\tReadingState.posPage = 0;\n\t\t\tReading.val.setVal_Nochk('sys', 'const.sn.aPageLog', '[]');\n\t\t\tReading.val.setVal_Nochk('save', 'const.sn.styPaging', ReadingState.INI_STYPAGE);\n\t\t\treturn false;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\n\tstatic\tdestroy() {\n\t\tthis.#hLocalEvt2Fnc = {};\n\t\tthis.#hGlobalEvt2Fnc = {};\n\t\tthis.aPage = [];\n\t\tthis.lenPage = 0;\n\t\tthis.posPage = 0;\n\t}\n\n}\n\n// go 状態\n//\t通常・タグなどを次々に処理\nclass ReadingState_go extends ReadingState {\n\tconstructor() {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_go', 'color:#3B0;');\n\n\t\tReading.main.resume();\n\t}\n\toverride\tfire(_KeY: string, _e: Event) { /* empty */ }\t// システムボタンなど無効化\n}\n\n// proc 状態\n//\tスクリプト・画像・音声ロードなど\nclass ReadingState_proc extends ReadingState {\n\tconstructor() {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_proc', 'color:#3B0;');\n\t}\n\toverride\tfire(_KeY: string, _e: Event) { /* empty */ }\t// システムボタンなど無効化\n}\n\n// wait 状態\n//\tイベント待ちやクリック待ち\nclass ReadingState_wait4Tag extends ReadingState {\n\tconstructor(hArg: TArg) {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_wait', 'color:#3B0;');\n\n\t\t// Reading.scrItr.noticeBreak(true);\n\n\t\tlet onUserAct = ()=> { /* empty */ };\n\t\tconst glb = argChk_Boolean(hArg, 'global', true);\n\t\tswitch (hArg[':タグ名']) {\n\t\t\tcase 'wait':\treturn;\t// 予約イベント待ち【しない】\n\n\t\t\tcase 's':\n\t\t\t\tReadingState.waitRsvEvent(glb);\t// ユーザーイベントに反応しない\n\t\t\t\treturn;\n\n\t\t\tcase 'p':\n\t\t\t\tonUserAct = ()=> {\n\t\t\t\t\tif (argChk_Boolean(hArg, 'er', false)) Reading.hTag.er(hArg);\n\n\t\t\t\t\tReading.sndMng.clearCache();\n\t\t\t\t\t//scrItr.turnPage();\n\n\t\t\t\t\tnew ReadingState_go;\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tdefault:\t// [wait] 以外は、予約イベント待ちを開始\n\t\t\t\tonUserAct = ()=> new ReadingState_go;\n\t\t}\n// console.log(`fn:Reading.ts ${hArg[':タグ名']} 予約イベント待ちを開始`);\n\t\tReadingState.waitRsvEvent(glb, onUserAct);\n\t}\n\n\toverride\treadonly\tisWait\t= true;\n\n\toverride page(hArg: TArg): boolean {\n\t\tconst ret = super.page(hArg);\t// チェックも兼ねて\n\t\tconst {to} = hArg;\n\t\tif (! to) return ret;\n\t\tif (ReadingState.lenPage < 2) return false;\t// 履歴がたまってない\n\n\t\tswitch (to) {\n\t\t\tcase 'oldest':\n\t\t\t\thArg.to = 'prev';\n\t\t\t\tReadingState.posPage = 1;\tbreak;\n\n\t\t\tcase 'newest':\n\t\t\tcase 'prev':\n\t\t\t\thArg.to = 'prev';\n\t\t\t\tReadingState.posPage = ReadingState.lenPage -1;\tbreak;\n\n\t\t\t// case 'next':\t\t// スルー\n\t\t\tdefault:\treturn false;\t// ダイアログ確認などするとここを通る\n\t\t}\n\n\t\treturn ReadingState_page.go(hArg);\n\t}\n\n}\n\n// page 状態\n//\tページ移動中\nclass ReadingState_page extends ReadingState {\n\tprivate\tconstructor() {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_page', 'color:#3B0;');\n\t\tReading.val.setVal_Nochk('tmp', 'const.sn.isPaging', true);\n\t}\n\tstatic\tgo(hArg: TArg) {return new ReadingState_page().page(hArg)}\n\n\t#isPaging\t= true;\n\toverride\tget\tisSkipping() {return this.#isPaging}\n\n\toverride\treadonly\tisWait\t= false;\n\n\toverride\tbeginProc() {Reading.main.stop()}\n\toverride\tendProc() {Reading.main.resume()}\n\n\t// タグ処理\n\toverride\tl(hArg: TArg): boolean {\n// console.log(`fn:ReadState.ts [l] len:${ReadingState.lenPage} pos:${ReadingState.posPage} isSkipping:${this.#isPaging}`);\n\t\tif (! this.#isPaging) return super.l(hArg);\t// 基底 ReadingState_go 化\n\n\t\t// ページ末尾ならページ移動終了\n\t\tif (ReadingState.posPage === ReadingState.lenPage -1) {\n\t\t\tthis.#exit();\n\t\t\treturn new ReadingState_go().l(hArg);\n\t\t}\n\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) Reading.layMng.breakLine(hArg);\n\n\t\tReading.layMng.setAllStyle2TxtLay(ReadingState.styPaging);\n\t\tReading.goTxt();\n\t\tif (! ReadingState.aPage[ReadingState.posPage]?.week) return false;\n\n\t\tReadingState.waitRsvEvent4Paging();\n\t\treturn true;\n\t}\n\toverride\tp(hArg: TArg): boolean {\n// console.log(`fn:ReadState.ts [p] len:${ReadingState.lenPage} pos:${ReadingState.posPage}`);\n\t\tif (! this.#isPaging) return super.p(hArg);\t// 基底 ReadingState_go 化\n\n\t\t// ページ末尾ならページ移動終了\n\t\tif (ReadingState.posPage === ReadingState.lenPage -1) {\n\t\t\tthis.#exit();\n\t\t\treturn new ReadingState_go().p(hArg);\n\t\t}\n\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) Reading.layMng.breakPage(hArg);\n\n\t\tReading.layMng.setAllStyle2TxtLay(ReadingState.styPaging);\n\t\tReading.goTxt();\n\n\t\tReadingState.waitRsvEvent4Paging();\n\t\treturn true;\n\t}\n\toverride\ts(hArg: TArg): boolean {\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\toverride\twait() {return false}\n\toverride\tpage(hArg: TArg): boolean {\n\t\tconst {to, style, clear} = hArg;\n\t\tif (style || clear) return false;\n\n\t\tif (CmnLib.debugLog) console.log(`📜 %cpage() pos:${ReadingState.posPage}%c len:${ReadingState.lenPage} to:${to}`, 'color:#3B0;', '');\n\t\tswitch (to) {\n\t\t\tcase 'oldest':\n\t\t\t\tif (ReadingState.posPage === 0) return false;\n\t\t\t\tReadingState.posPage = 0;\tbreak;\n\n\t\t\tcase 'prev':\n\t\t\t\tif (ReadingState.posPage === 0) return false;\n\t\t\t\t--ReadingState.posPage;\tbreak;\n\n\t\t\tcase 'next':\n\t\t\t\tif (ReadingState.posPage === ReadingState.lenPage -1) return false;\n\t\t\t\t++ReadingState.posPage;\tbreak;\n\n\t\t\tcase 'newest':\n\t\t\t\tif (ReadingState.posPage === ReadingState.lenPage -1) return false;\n\t\t\t\tReadingState.posPage = ReadingState.lenPage -1;\tbreak;\n\n\t\t\tcase 'exit':\n\t\t\t\tReadingState.posPage = ReadingState.lenPage -1;\tbreak;\n\n\t\t\tcase 'load':\n\t\t\t\tReadingState.lenPage = ReadingState.posPage +1;\n\t\t\t\tReadingState.aPage = ReadingState.aPage.slice(0, ReadingState.lenPage);\n\t\t\t\tthis.#exit();\n\t\t\t\tbreak;\n\n\t\t\tdefault:\tthrow `属性to「${to}」は異常です`;\n\t\t}\n\t\t// ページ移動状態を抜ける\n\t\tif (ReadingState.posPage === ReadingState.lenPage -1) this.#exit();\n\n\t\tconst p = ReadingState.aPage[ReadingState.posPage];\n\t\tif (! p) throw `posPage異常:${ReadingState.posPage}`;\n\t\tconst {fn, index, mark} = p;\n\t\tif (CmnLib.debugLog) {\n\t\t\tconst m = Reading.scrItr.nowMark();\n\t\t\tconst {week} = ReadingState.aPage[ReadingState.posPage] ?? {week: false};\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconsole.log(` -- fn:${fn} i:${index} pos:${ReadingState.posPage} (base=%c${(<T_RP_layGrp>m.hPages.base!.fore).sBkFn}%c 0=%c${(<T_RP_layGrp>m.hPages['0']!.fore).sBkFn}%c mes=%c${/color: \\w+;/.exec((<T_RP_layTxt>m.hPages.mes!.fore).txs.cssText)}%c) week:${week} A:${ReadingState.posPage === ReadingState.lenPage -1}\\n styPaging=%c${ReadingState.styPaging}%c\\n mark:%o`, 'background-color:#3B0; color:#000;', '', 'background-color:#B4F; color:#000;', '', 'color:#B68;', '', ReadingState.styPaging, '', mark);\n\t\t}\n\t\treturn Reading.scrItr.loadFromMark({fn, index}, mark);\n\t}\n\n\t#exit() {\n\t\tReading.val.setVal_Nochk('tmp', 'const.sn.isPaging', false);\n\t\tthis.#isPaging = false;\n\t}\n}\n\n\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class Reading {\n\tstatic\tbeginProc(proc_id: string, onNotify?: ()=> void, endProc = true, onClickSkip?: ()=> void) {\n\t\tif (CmnLib.debugLog) console.log(`📖.beginProc id:%c${proc_id}%c onNotify:${onNotify} endProc:${endProc} onClickSkip:${onClickSkip}`, 'color:#3B0;', '');\n\t\tthis.#clearProc();\n\t\tthis.#procID = proc_id;\n\n\t\t// 通知時コールバック型\n\t\tif (onNotify) {\n\t\t\t// notifyEndProc()を呼べば callBack & EndProc する機能\n\t\t\t// 使用者は、処理終了時に notifyEndProc()を呼ぶ義務がある\n\t\t\tconst {promise, resolve} = Promise.withResolvers<string>();\n\t\t\tvoid promise.then((proc_id: string)=> {\n\t\t\t\tif (CmnLib.debugLog) console.log(`📖.callBack id:%c${proc_id}%c`, 'color:#3B0;', '');\n\t\t\t\tonNotify();\n\t\t\t\tif (endProc) this.endProc(proc_id); else this.#clearProc();\n\t\t\t});\n\t\t\tthis.#rsNotify = resolve;\n\t\t}\n\n\t\t// クリックキャンセル機能\n\t\tif (onClickSkip) {\n\t\t\tconst fnc = ()=> {\n\t\t\t\tthis.cancelAutoSkip();\n\t\t\t\tonClickSkip();\n\t\t\t\tif (endProc) this.endProc(proc_id);\n\t\t\t};\n\t\t\tthis.#elc.add(this.main.cvs, EVNM_CLICK, (e: PointerEvent)=> {\n\t\t\t\te.stopPropagation();\n\t\t\t\tfnc();\n\t\t\t});\n\t\t\tthis.#elc.add(document, EVNM_KEY, (e: KeyboardEvent)=> {\n\t\t\t\tif (e.isComposing) return; // サポートしてない環境でもいける書き方\n\t\t\t\te.stopPropagation();\n\t\t\t\tfnc();\n\t\t\t});\n\t\t\tthis.procWheel4wle(this.#elc, fnc);\n\t\t}\n\n\t\tReadingState.rs.beginProc();\n\t\t// main.stop() は外の責任\n\t}\n\t\tstatic\t#clearProc() {\n\t\t\tthis.#procID = '';\n\t\t\tthis.#rsNotify = ()=> { /* empty */ };\n\t\t\tthis.#elc.clear();\n\t\t}\n\t\tstatic\treadonly\t#elc = new EventListenerCtn;\n\n\tstatic\t#rsNotify\t: (proc_id: string)=> void\t= ()=> { /* empty */ };\n\tstatic\tnotifyEndProc(proc_id: string) {\n\t\tif (CmnLib.debugLog) console.log(`📖.notifyEndProc id:%c${proc_id}%c=${this.#procID === proc_id}`, 'color:#3B0;', '');\n\t\tif (this.#procID !== proc_id) return;\n\n\t\tthis.#rsNotify(proc_id);\n\t}\n\n\tstatic\tendProc(proc_id: string) {\n\t\tif (CmnLib.debugLog) console.log(`📖.endProc id:%c${proc_id}%c=${this.#procID === proc_id}`, 'color:#3B0;', '');\n\t\tif (this.#procID !== proc_id) return;\n\n\t\tReadingState.rs.endProc();\n\t\tthis.#clearProc();\n\t}\n\t\tstatic\t#procID\t= '';\n\t\tstatic\tget procID() {return `RP_${this.scrItr.scriptFn}:${this.scrItr.idxToken}_`}\n\n\n\tstatic\tfire(KeY: string, e: Event, cancelAutoSkip = false) {\n\t\tif (cancelAutoSkip) this.cancelAutoSkip();\n\t\tReadingState.rs.fire(KeY, e);\n\t}\n\n\tstatic\tget\tisSkipping() {return ReadingState.rs.isSkipping}\n\tstatic\tget\tisWait() {return ReadingState.rs.isWait}\t// 予約イベントの発生待ち中か\n\n\n\t\tstatic\ttagL_enabled\t= true;\t\t// 頁末まで一気に読み進むか(l無視)\n\t\tstatic\tskip_all\t\t= false;\t// falseなら既読のみをスキップ\n\t\tstatic\tskip_enabled\t= false;\t// 次の選択肢(/未読)まで進むが有効か\n\t\tstatic\tauto_enabled\t= false;\t// 自動読みすすみモードかどうか\n\n\n\tstatic\tcfg\t\t: Config;\n\tstatic\thTag\t: T_HTag;\n\tstatic\tmain\t: T_Main;\n\tstatic\tval\t\t: T_Variable;\n\tstatic\tscrItr\t: ScriptIterator;\n\tstatic\tlayMng\t: LayerMng;\n\tstatic\tgoTxt = ()=> { /* empty */ };\n\tstatic\tget needGoTxt() {return this.layMng.needGoTxt}\n\tstatic\tevtMng\t: EventMng;\n\tstatic\tsndMng\t: SoundMng;\n\tstatic\tprocWheel4wle\t: (elc: EventListenerCtn, onIntr: ()=> void)=> void;\n\n\tstatic\tfcs\t\t: FocusMng;\n\n\tstatic\tinit(cfg: Config, hTag: T_HTag, main: T_Main, val: T_Variable, scrItr: ScriptIterator, layMng: LayerMng, evtMng: EventMng, sndMng: SoundMng, procWheel4wle: (elc: EventListenerCtn, onIntr: ()=> void)=> void) {\n\t\tthis.cfg = cfg;\n\t\tthis.hTag = hTag;\n\t\tthis.main = main;\n\t\tthis.val = val;\n\t\tthis.scrItr = scrItr;\n\t\tthis.layMng = layMng;\n\t\tthis.goTxt = ()=> layMng.goTxt();\n\t\tthis.evtMng = evtMng;\n\t\tthis.sndMng = sndMng;\n\t\tthis.procWheel4wle = procWheel4wle;\n\n\t\tval.defTmp('sn.tagL.enabled', ()=> this.tagL_enabled);\n\t\tval.defValTrg('tmp:sn.tagL.enabled', (_, v)=> {this.tagL_enabled = String(v) !== 'false'});\n\t\tval.defTmp('sn.skip.all', ()=> this.skip_all);\n\t\tval.defValTrg('tmp:sn.skip.all', (_, v)=> {this.skip_all = String(v) !== 'false'});\n\t\tval.defTmp('sn.skip.enabled', ()=> this.skip_enabled);\n\t\tval.defValTrg('tmp:sn.skip.enabled', (_, v)=> {this.skip_enabled = String(v) !== 'false'});\n\t\tval.defTmp('sn.auto.enabled', ()=> this.auto_enabled);\n\t\tval.defValTrg('tmp:sn.auto.enabled', (_, v)=> {this.auto_enabled = String(v) !== 'false'});\n\n\t\thTag.l\t\t\t= o=> ReadingState.rs.l(o);\t\t// 行末クリック待ち\n\t\thTag.p\t\t\t= o=> ReadingState.rs.p(o);\t\t// 改ページクリック待ち\n\t\thTag.s\t\t\t= o=> ReadingState.rs.s(o);\t\t// 停止する\n\t\thTag.wait\t\t= o=> ReadingState.rs.wait(o);\t\t// ウェイトを入れる\n\t\thTag.waitclick\t= o=> ReadingState.rs.s(o);\t\t// クリックを待つ\n\t\thTag.page\t\t= o=> ReadingState.rs.page(o);\t\t// ページ移動\n\n\t\tnew ReadingState_proc;\n\t\thTag.jump({fn: 'main'});\n\t}\n\tstatic\tsetFcs(fcs: FocusMng) {this.fcs = fcs}\n\n\n\tstatic\tcancelAutoSkip() {\n\t\tif (! this.tagL_enabled) {\t// 頁末まで一気に読み進むか(l無視)\n\t\t\tthis.tagL_enabled = true;\n\t\t\tthis.val.setVal_Nochk('tmp', 'sn.tagL.enabled', true);\n\t\t}\n\n\t\tif (this.skip_enabled) {\t\t// 次の選択肢(/未読)まで進むが有効か\n\t\t\tthis.skip_enabled = false;\n\t\t\tthis.val.setVal_Nochk('tmp', 'sn.skip.enabled', false);\n\t\t}\n\t\tif (this.auto_enabled) {\t\t// 自動読みすすみモードかどうか\n\t\t\tthis.auto_enabled = false;\n\t\t\tthis.val.setVal_Nochk('tmp', 'sn.auto.enabled', false);\n\t\t}\n\t}\n\n}\n"],"names":["Easing","amount","s","power","now","Group","_this","tweenId","tween","time","preserve","tweenIds","i","autoStart","Interpolation","v","k","m","f","fn","p0","p1","t","Sequence","mainGroup","Tween","_object","_group","target","duration","dynamic","overrideStartingValues","property","tmp","prop","_valuesStart","_valuesEnd","_valuesStartRepeat","startValue","startValueIsArray","propType","isInterpolationList","endValues","temp","l","value","nestedObject","numChainedTweens","group","times","yoyo","easingFunction","interpolationFunction","tweens","_i","callback","_a","endTime","elapsedTime","durationAndDelay","totalTime","calculateElapsedPortion","timesRepeated","timeIntoCurrentRepeat","portion","elapsed","completeCount","start","end","startIsArray","endIsArray","endValue","TWEEN","removeAll","remove","update","ReadingState","#rs","#hLocalEvt2Fnc","#hGlobalEvt2Fnc","glb","key","fnc","rawKeY","e2f","ret","h","hArg","argChk_Boolean","KeY","idx","sel","id","frmnm","Reading","ifrm","win","onUserAct","CmnLib","hGlb","e","em","Container","EVNM_CLICK","ke","#wasFired","week","p","max_len","saPageLog","$styPaging","ReadingState_proc","ReadingState_go","ReadingState_wait4Tag","argChk_Num","tw","RPN_WAIT","fin","canskip","style","_KeY","_e","to","ReadingState_page","#isPaging","#exit","clear","index","mark","proc_id","onNotify","endProc","onClickSkip","#clearProc","#procID","promise","resolve","#rsNotify","#elc","EVNM_KEY","EventListenerCtn","cancelAutoSkip","cfg","hTag","main","val","scrItr","layMng","evtMng","sndMng","procWheel4wle","_","o","fcs"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"Reading.js","sources":["../node_modules/@tweenjs/tween.js/dist/tween.esm.js","../src/sn/Reading.ts"],"sourcesContent":["/**\n * The Ease class provides a collection of easing functions for use with tween.js.\n */\nvar Easing = Object.freeze({\n Linear: Object.freeze({\n None: function (amount) {\n return amount;\n },\n In: function (amount) {\n return amount;\n },\n Out: function (amount) {\n return amount;\n },\n InOut: function (amount) {\n return amount;\n },\n }),\n Quadratic: Object.freeze({\n In: function (amount) {\n return amount * amount;\n },\n Out: function (amount) {\n return amount * (2 - amount);\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount;\n }\n return -0.5 * (--amount * (amount - 2) - 1);\n },\n }),\n Cubic: Object.freeze({\n In: function (amount) {\n return amount * amount * amount;\n },\n Out: function (amount) {\n return --amount * amount * amount + 1;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount;\n }\n return 0.5 * ((amount -= 2) * amount * amount + 2);\n },\n }),\n Quartic: Object.freeze({\n In: function (amount) {\n return amount * amount * amount * amount;\n },\n Out: function (amount) {\n return 1 - --amount * amount * amount * amount;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount * amount;\n }\n return -0.5 * ((amount -= 2) * amount * amount * amount - 2);\n },\n }),\n Quintic: Object.freeze({\n In: function (amount) {\n return amount * amount * amount * amount * amount;\n },\n Out: function (amount) {\n return --amount * amount * amount * amount * amount + 1;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount * amount * amount;\n }\n return 0.5 * ((amount -= 2) * amount * amount * amount * amount + 2);\n },\n }),\n Sinusoidal: Object.freeze({\n In: function (amount) {\n return 1 - Math.sin(((1.0 - amount) * Math.PI) / 2);\n },\n Out: function (amount) {\n return Math.sin((amount * Math.PI) / 2);\n },\n InOut: function (amount) {\n return 0.5 * (1 - Math.sin(Math.PI * (0.5 - amount)));\n },\n }),\n Exponential: Object.freeze({\n In: function (amount) {\n return amount === 0 ? 0 : Math.pow(1024, amount - 1);\n },\n Out: function (amount) {\n return amount === 1 ? 1 : 1 - Math.pow(2, -10 * amount);\n },\n InOut: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n if ((amount *= 2) < 1) {\n return 0.5 * Math.pow(1024, amount - 1);\n }\n return 0.5 * (-Math.pow(2, -10 * (amount - 1)) + 2);\n },\n }),\n Circular: Object.freeze({\n In: function (amount) {\n return 1 - Math.sqrt(1 - amount * amount);\n },\n Out: function (amount) {\n return Math.sqrt(1 - --amount * amount);\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return -0.5 * (Math.sqrt(1 - amount * amount) - 1);\n }\n return 0.5 * (Math.sqrt(1 - (amount -= 2) * amount) + 1);\n },\n }),\n Elastic: Object.freeze({\n In: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n return -Math.pow(2, 10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI);\n },\n Out: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n return Math.pow(2, -10 * amount) * Math.sin((amount - 0.1) * 5 * Math.PI) + 1;\n },\n InOut: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n amount *= 2;\n if (amount < 1) {\n return -0.5 * Math.pow(2, 10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI);\n }\n return 0.5 * Math.pow(2, -10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI) + 1;\n },\n }),\n Back: Object.freeze({\n In: function (amount) {\n var s = 1.70158;\n return amount === 1 ? 1 : amount * amount * ((s + 1) * amount - s);\n },\n Out: function (amount) {\n var s = 1.70158;\n return amount === 0 ? 0 : --amount * amount * ((s + 1) * amount + s) + 1;\n },\n InOut: function (amount) {\n var s = 1.70158 * 1.525;\n if ((amount *= 2) < 1) {\n return 0.5 * (amount * amount * ((s + 1) * amount - s));\n }\n return 0.5 * ((amount -= 2) * amount * ((s + 1) * amount + s) + 2);\n },\n }),\n Bounce: Object.freeze({\n In: function (amount) {\n return 1 - Easing.Bounce.Out(1 - amount);\n },\n Out: function (amount) {\n if (amount < 1 / 2.75) {\n return 7.5625 * amount * amount;\n }\n else if (amount < 2 / 2.75) {\n return 7.5625 * (amount -= 1.5 / 2.75) * amount + 0.75;\n }\n else if (amount < 2.5 / 2.75) {\n return 7.5625 * (amount -= 2.25 / 2.75) * amount + 0.9375;\n }\n else {\n return 7.5625 * (amount -= 2.625 / 2.75) * amount + 0.984375;\n }\n },\n InOut: function (amount) {\n if (amount < 0.5) {\n return Easing.Bounce.In(amount * 2) * 0.5;\n }\n return Easing.Bounce.Out(amount * 2 - 1) * 0.5 + 0.5;\n },\n }),\n generatePow: function (power) {\n if (power === void 0) { power = 4; }\n power = power < Number.EPSILON ? Number.EPSILON : power;\n power = power > 10000 ? 10000 : power;\n return {\n In: function (amount) {\n return Math.pow(amount, power);\n },\n Out: function (amount) {\n return 1 - Math.pow((1 - amount), power);\n },\n InOut: function (amount) {\n if (amount < 0.5) {\n return Math.pow((amount * 2), power) / 2;\n }\n return (1 - Math.pow((2 - amount * 2), power)) / 2 + 0.5;\n },\n };\n },\n});\n\nvar now = function () { return performance.now(); };\n\n/**\n * Controlling groups of tweens\n *\n * Using the TWEEN singleton to manage your tweens can cause issues in large apps with many components.\n * In these cases, you may want to create your own smaller groups of tween\n */\nvar Group = /** @class */ (function () {\n function Group() {\n this._tweens = {};\n this._tweensAddedDuringUpdate = {};\n }\n Group.prototype.getAll = function () {\n var _this = this;\n return Object.keys(this._tweens).map(function (tweenId) {\n return _this._tweens[tweenId];\n });\n };\n Group.prototype.removeAll = function () {\n this._tweens = {};\n };\n Group.prototype.add = function (tween) {\n this._tweens[tween.getId()] = tween;\n this._tweensAddedDuringUpdate[tween.getId()] = tween;\n };\n Group.prototype.remove = function (tween) {\n delete this._tweens[tween.getId()];\n delete this._tweensAddedDuringUpdate[tween.getId()];\n };\n Group.prototype.update = function (time, preserve) {\n if (time === void 0) { time = now(); }\n if (preserve === void 0) { preserve = false; }\n var tweenIds = Object.keys(this._tweens);\n if (tweenIds.length === 0) {\n return false;\n }\n // Tweens are updated in \"batches\". If you add a new tween during an\n // update, then the new tween will be updated in the next batch.\n // If you remove a tween during an update, it may or may not be updated.\n // However, if the removed tween was added during the current batch,\n // then it will not be updated.\n while (tweenIds.length > 0) {\n this._tweensAddedDuringUpdate = {};\n for (var i = 0; i < tweenIds.length; i++) {\n var tween = this._tweens[tweenIds[i]];\n var autoStart = !preserve;\n if (tween && tween.update(time, autoStart) === false && !preserve) {\n delete this._tweens[tweenIds[i]];\n }\n }\n tweenIds = Object.keys(this._tweensAddedDuringUpdate);\n }\n return true;\n };\n return Group;\n}());\n\n/**\n *\n */\nvar Interpolation = {\n Linear: function (v, k) {\n var m = v.length - 1;\n var f = m * k;\n var i = Math.floor(f);\n var fn = Interpolation.Utils.Linear;\n if (k < 0) {\n return fn(v[0], v[1], f);\n }\n if (k > 1) {\n return fn(v[m], v[m - 1], m - f);\n }\n return fn(v[i], v[i + 1 > m ? m : i + 1], f - i);\n },\n Bezier: function (v, k) {\n var b = 0;\n var n = v.length - 1;\n var pw = Math.pow;\n var bn = Interpolation.Utils.Bernstein;\n for (var i = 0; i <= n; i++) {\n b += pw(1 - k, n - i) * pw(k, i) * v[i] * bn(n, i);\n }\n return b;\n },\n CatmullRom: function (v, k) {\n var m = v.length - 1;\n var f = m * k;\n var i = Math.floor(f);\n var fn = Interpolation.Utils.CatmullRom;\n if (v[0] === v[m]) {\n if (k < 0) {\n i = Math.floor((f = m * (1 + k)));\n }\n return fn(v[(i - 1 + m) % m], v[i], v[(i + 1) % m], v[(i + 2) % m], f - i);\n }\n else {\n if (k < 0) {\n return v[0] - (fn(v[0], v[0], v[1], v[1], -f) - v[0]);\n }\n if (k > 1) {\n return v[m] - (fn(v[m], v[m], v[m - 1], v[m - 1], f - m) - v[m]);\n }\n return fn(v[i ? i - 1 : 0], v[i], v[m < i + 1 ? m : i + 1], v[m < i + 2 ? m : i + 2], f - i);\n }\n },\n Utils: {\n Linear: function (p0, p1, t) {\n return (p1 - p0) * t + p0;\n },\n Bernstein: function (n, i) {\n var fc = Interpolation.Utils.Factorial;\n return fc(n) / fc(i) / fc(n - i);\n },\n Factorial: (function () {\n var a = [1];\n return function (n) {\n var s = 1;\n if (a[n]) {\n return a[n];\n }\n for (var i = n; i > 1; i--) {\n s *= i;\n }\n a[n] = s;\n return s;\n };\n })(),\n CatmullRom: function (p0, p1, p2, p3, t) {\n var v0 = (p2 - p0) * 0.5;\n var v1 = (p3 - p1) * 0.5;\n var t2 = t * t;\n var t3 = t * t2;\n return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (-3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1;\n },\n },\n};\n\n/**\n * Utils\n */\nvar Sequence = /** @class */ (function () {\n function Sequence() {\n }\n Sequence.nextId = function () {\n return Sequence._nextId++;\n };\n Sequence._nextId = 0;\n return Sequence;\n}());\n\nvar mainGroup = new Group();\n\n/**\n * Tween.js - Licensed under the MIT license\n * https://github.com/tweenjs/tween.js\n * ----------------------------------------------\n *\n * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors.\n * Thank you all, you're awesome!\n */\nvar Tween = /** @class */ (function () {\n function Tween(_object, _group) {\n if (_group === void 0) { _group = mainGroup; }\n this._object = _object;\n this._group = _group;\n this._isPaused = false;\n this._pauseStart = 0;\n this._valuesStart = {};\n this._valuesEnd = {};\n this._valuesStartRepeat = {};\n this._duration = 1000;\n this._isDynamic = false;\n this._initialRepeat = 0;\n this._repeat = 0;\n this._yoyo = false;\n this._isPlaying = false;\n this._reversed = false;\n this._delayTime = 0;\n this._startTime = 0;\n this._easingFunction = Easing.Linear.None;\n this._interpolationFunction = Interpolation.Linear;\n // eslint-disable-next-line\n this._chainedTweens = [];\n this._onStartCallbackFired = false;\n this._onEveryStartCallbackFired = false;\n this._id = Sequence.nextId();\n this._isChainStopped = false;\n this._propertiesAreSetUp = false;\n this._goToEnd = false;\n }\n Tween.prototype.getId = function () {\n return this._id;\n };\n Tween.prototype.isPlaying = function () {\n return this._isPlaying;\n };\n Tween.prototype.isPaused = function () {\n return this._isPaused;\n };\n Tween.prototype.getDuration = function () {\n return this._duration;\n };\n Tween.prototype.to = function (target, duration) {\n if (duration === void 0) { duration = 1000; }\n if (this._isPlaying)\n throw new Error('Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.');\n this._valuesEnd = target;\n this._propertiesAreSetUp = false;\n this._duration = duration < 0 ? 0 : duration;\n return this;\n };\n Tween.prototype.duration = function (duration) {\n if (duration === void 0) { duration = 1000; }\n this._duration = duration < 0 ? 0 : duration;\n return this;\n };\n Tween.prototype.dynamic = function (dynamic) {\n if (dynamic === void 0) { dynamic = false; }\n this._isDynamic = dynamic;\n return this;\n };\n Tween.prototype.start = function (time, overrideStartingValues) {\n if (time === void 0) { time = now(); }\n if (overrideStartingValues === void 0) { overrideStartingValues = false; }\n if (this._isPlaying) {\n return this;\n }\n // eslint-disable-next-line\n this._group && this._group.add(this);\n this._repeat = this._initialRepeat;\n if (this._reversed) {\n // If we were reversed (f.e. using the yoyo feature) then we need to\n // flip the tween direction back to forward.\n this._reversed = false;\n for (var property in this._valuesStartRepeat) {\n this._swapEndStartRepeatValues(property);\n this._valuesStart[property] = this._valuesStartRepeat[property];\n }\n }\n this._isPlaying = true;\n this._isPaused = false;\n this._onStartCallbackFired = false;\n this._onEveryStartCallbackFired = false;\n this._isChainStopped = false;\n this._startTime = time;\n this._startTime += this._delayTime;\n if (!this._propertiesAreSetUp || overrideStartingValues) {\n this._propertiesAreSetUp = true;\n // If dynamic is not enabled, clone the end values instead of using the passed-in end values.\n if (!this._isDynamic) {\n var tmp = {};\n for (var prop in this._valuesEnd)\n tmp[prop] = this._valuesEnd[prop];\n this._valuesEnd = tmp;\n }\n this._setupProperties(this._object, this._valuesStart, this._valuesEnd, this._valuesStartRepeat, overrideStartingValues);\n }\n return this;\n };\n Tween.prototype.startFromCurrentValues = function (time) {\n return this.start(time, true);\n };\n Tween.prototype._setupProperties = function (_object, _valuesStart, _valuesEnd, _valuesStartRepeat, overrideStartingValues) {\n for (var property in _valuesEnd) {\n var startValue = _object[property];\n var startValueIsArray = Array.isArray(startValue);\n var propType = startValueIsArray ? 'array' : typeof startValue;\n var isInterpolationList = !startValueIsArray && Array.isArray(_valuesEnd[property]);\n // If `to()` specifies a property that doesn't exist in the source object,\n // we should not set that property in the object\n if (propType === 'undefined' || propType === 'function') {\n continue;\n }\n // Check if an Array was provided as property value\n if (isInterpolationList) {\n var endValues = _valuesEnd[property];\n if (endValues.length === 0) {\n continue;\n }\n // Handle an array of relative values.\n // Creates a local copy of the Array with the start value at the front\n var temp = [startValue];\n for (var i = 0, l = endValues.length; i < l; i += 1) {\n var value = this._handleRelativeValue(startValue, endValues[i]);\n if (isNaN(value)) {\n isInterpolationList = false;\n console.warn('Found invalid interpolation list. Skipping.');\n break;\n }\n temp.push(value);\n }\n if (isInterpolationList) {\n // if (_valuesStart[property] === undefined) { // handle end values only the first time. NOT NEEDED? setupProperties is now guarded by _propertiesAreSetUp.\n _valuesEnd[property] = temp;\n // }\n }\n }\n // handle the deepness of the values\n if ((propType === 'object' || startValueIsArray) && startValue && !isInterpolationList) {\n _valuesStart[property] = startValueIsArray ? [] : {};\n var nestedObject = startValue;\n for (var prop in nestedObject) {\n _valuesStart[property][prop] = nestedObject[prop];\n }\n // TODO? repeat nested values? And yoyo? And array values?\n _valuesStartRepeat[property] = startValueIsArray ? [] : {};\n var endValues = _valuesEnd[property];\n // If dynamic is not enabled, clone the end values instead of using the passed-in end values.\n if (!this._isDynamic) {\n var tmp = {};\n for (var prop in endValues)\n tmp[prop] = endValues[prop];\n _valuesEnd[property] = endValues = tmp;\n }\n this._setupProperties(nestedObject, _valuesStart[property], endValues, _valuesStartRepeat[property], overrideStartingValues);\n }\n else {\n // Save the starting value, but only once unless override is requested.\n if (typeof _valuesStart[property] === 'undefined' || overrideStartingValues) {\n _valuesStart[property] = startValue;\n }\n if (!startValueIsArray) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _valuesStart[property] *= 1.0; // Ensures we're using numbers, not strings\n }\n if (isInterpolationList) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _valuesStartRepeat[property] = _valuesEnd[property].slice().reverse();\n }\n else {\n _valuesStartRepeat[property] = _valuesStart[property] || 0;\n }\n }\n }\n };\n Tween.prototype.stop = function () {\n if (!this._isChainStopped) {\n this._isChainStopped = true;\n this.stopChainedTweens();\n }\n if (!this._isPlaying) {\n return this;\n }\n // eslint-disable-next-line\n this._group && this._group.remove(this);\n this._isPlaying = false;\n this._isPaused = false;\n if (this._onStopCallback) {\n this._onStopCallback(this._object);\n }\n return this;\n };\n Tween.prototype.end = function () {\n this._goToEnd = true;\n this.update(Infinity);\n return this;\n };\n Tween.prototype.pause = function (time) {\n if (time === void 0) { time = now(); }\n if (this._isPaused || !this._isPlaying) {\n return this;\n }\n this._isPaused = true;\n this._pauseStart = time;\n // eslint-disable-next-line\n this._group && this._group.remove(this);\n return this;\n };\n Tween.prototype.resume = function (time) {\n if (time === void 0) { time = now(); }\n if (!this._isPaused || !this._isPlaying) {\n return this;\n }\n this._isPaused = false;\n this._startTime += time - this._pauseStart;\n this._pauseStart = 0;\n // eslint-disable-next-line\n this._group && this._group.add(this);\n return this;\n };\n Tween.prototype.stopChainedTweens = function () {\n for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) {\n this._chainedTweens[i].stop();\n }\n return this;\n };\n Tween.prototype.group = function (group) {\n if (group === void 0) { group = mainGroup; }\n this._group = group;\n return this;\n };\n Tween.prototype.delay = function (amount) {\n if (amount === void 0) { amount = 0; }\n this._delayTime = amount;\n return this;\n };\n Tween.prototype.repeat = function (times) {\n if (times === void 0) { times = 0; }\n this._initialRepeat = times;\n this._repeat = times;\n return this;\n };\n Tween.prototype.repeatDelay = function (amount) {\n this._repeatDelayTime = amount;\n return this;\n };\n Tween.prototype.yoyo = function (yoyo) {\n if (yoyo === void 0) { yoyo = false; }\n this._yoyo = yoyo;\n return this;\n };\n Tween.prototype.easing = function (easingFunction) {\n if (easingFunction === void 0) { easingFunction = Easing.Linear.None; }\n this._easingFunction = easingFunction;\n return this;\n };\n Tween.prototype.interpolation = function (interpolationFunction) {\n if (interpolationFunction === void 0) { interpolationFunction = Interpolation.Linear; }\n this._interpolationFunction = interpolationFunction;\n return this;\n };\n // eslint-disable-next-line\n Tween.prototype.chain = function () {\n var tweens = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n tweens[_i] = arguments[_i];\n }\n this._chainedTweens = tweens;\n return this;\n };\n Tween.prototype.onStart = function (callback) {\n this._onStartCallback = callback;\n return this;\n };\n Tween.prototype.onEveryStart = function (callback) {\n this._onEveryStartCallback = callback;\n return this;\n };\n Tween.prototype.onUpdate = function (callback) {\n this._onUpdateCallback = callback;\n return this;\n };\n Tween.prototype.onRepeat = function (callback) {\n this._onRepeatCallback = callback;\n return this;\n };\n Tween.prototype.onComplete = function (callback) {\n this._onCompleteCallback = callback;\n return this;\n };\n Tween.prototype.onStop = function (callback) {\n this._onStopCallback = callback;\n return this;\n };\n /**\n * @returns true if the tween is still playing after the update, false\n * otherwise (calling update on a paused tween still returns true because\n * it is still playing, just paused).\n */\n Tween.prototype.update = function (time, autoStart) {\n var _this = this;\n var _a;\n if (time === void 0) { time = now(); }\n if (autoStart === void 0) { autoStart = true; }\n if (this._isPaused)\n return true;\n var property;\n var endTime = this._startTime + this._duration;\n if (!this._goToEnd && !this._isPlaying) {\n if (time > endTime)\n return false;\n if (autoStart)\n this.start(time, true);\n }\n this._goToEnd = false;\n if (time < this._startTime) {\n return true;\n }\n if (this._onStartCallbackFired === false) {\n if (this._onStartCallback) {\n this._onStartCallback(this._object);\n }\n this._onStartCallbackFired = true;\n }\n if (this._onEveryStartCallbackFired === false) {\n if (this._onEveryStartCallback) {\n this._onEveryStartCallback(this._object);\n }\n this._onEveryStartCallbackFired = true;\n }\n var elapsedTime = time - this._startTime;\n var durationAndDelay = this._duration + ((_a = this._repeatDelayTime) !== null && _a !== void 0 ? _a : this._delayTime);\n var totalTime = this._duration + this._repeat * durationAndDelay;\n var calculateElapsedPortion = function () {\n if (_this._duration === 0)\n return 1;\n if (elapsedTime > totalTime) {\n return 1;\n }\n var timesRepeated = Math.trunc(elapsedTime / durationAndDelay);\n var timeIntoCurrentRepeat = elapsedTime - timesRepeated * durationAndDelay;\n // TODO use %?\n // const timeIntoCurrentRepeat = elapsedTime % durationAndDelay\n var portion = Math.min(timeIntoCurrentRepeat / _this._duration, 1);\n if (portion === 0 && elapsedTime === _this._duration) {\n return 1;\n }\n return portion;\n };\n var elapsed = calculateElapsedPortion();\n var value = this._easingFunction(elapsed);\n // properties transformations\n this._updateProperties(this._object, this._valuesStart, this._valuesEnd, value);\n if (this._onUpdateCallback) {\n this._onUpdateCallback(this._object, elapsed);\n }\n if (this._duration === 0 || elapsedTime >= this._duration) {\n if (this._repeat > 0) {\n var completeCount = Math.min(Math.trunc((elapsedTime - this._duration) / durationAndDelay) + 1, this._repeat);\n if (isFinite(this._repeat)) {\n this._repeat -= completeCount;\n }\n // Reassign starting values, restart by making startTime = now\n for (property in this._valuesStartRepeat) {\n if (!this._yoyo && typeof this._valuesEnd[property] === 'string') {\n this._valuesStartRepeat[property] =\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n this._valuesStartRepeat[property] + parseFloat(this._valuesEnd[property]);\n }\n if (this._yoyo) {\n this._swapEndStartRepeatValues(property);\n }\n this._valuesStart[property] = this._valuesStartRepeat[property];\n }\n if (this._yoyo) {\n this._reversed = !this._reversed;\n }\n this._startTime += durationAndDelay * completeCount;\n if (this._onRepeatCallback) {\n this._onRepeatCallback(this._object);\n }\n this._onEveryStartCallbackFired = false;\n return true;\n }\n else {\n if (this._onCompleteCallback) {\n this._onCompleteCallback(this._object);\n }\n for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) {\n // Make the chained tweens start exactly at the time they should,\n // even if the `update()` method was called way past the duration of the tween\n this._chainedTweens[i].start(this._startTime + this._duration, false);\n }\n this._isPlaying = false;\n return false;\n }\n }\n return true;\n };\n Tween.prototype._updateProperties = function (_object, _valuesStart, _valuesEnd, value) {\n for (var property in _valuesEnd) {\n // Don't update properties that do not exist in the source object\n if (_valuesStart[property] === undefined) {\n continue;\n }\n var start = _valuesStart[property] || 0;\n var end = _valuesEnd[property];\n var startIsArray = Array.isArray(_object[property]);\n var endIsArray = Array.isArray(end);\n var isInterpolationList = !startIsArray && endIsArray;\n if (isInterpolationList) {\n _object[property] = this._interpolationFunction(end, value);\n }\n else if (typeof end === 'object' && end) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n this._updateProperties(_object[property], start, end, value);\n }\n else {\n // Parses relative end values with start as base (e.g.: +10, -3)\n end = this._handleRelativeValue(start, end);\n // Protect against non numeric properties.\n if (typeof end === 'number') {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _object[property] = start + (end - start) * value;\n }\n }\n }\n };\n Tween.prototype._handleRelativeValue = function (start, end) {\n if (typeof end !== 'string') {\n return end;\n }\n if (end.charAt(0) === '+' || end.charAt(0) === '-') {\n return start + parseFloat(end);\n }\n return parseFloat(end);\n };\n Tween.prototype._swapEndStartRepeatValues = function (property) {\n var tmp = this._valuesStartRepeat[property];\n var endValue = this._valuesEnd[property];\n if (typeof endValue === 'string') {\n this._valuesStartRepeat[property] = this._valuesStartRepeat[property] + parseFloat(endValue);\n }\n else {\n this._valuesStartRepeat[property] = this._valuesEnd[property];\n }\n this._valuesEnd[property] = tmp;\n };\n return Tween;\n}());\n\nvar VERSION = '23.1.3';\n\n/**\n * Tween.js - Licensed under the MIT license\n * https://github.com/tweenjs/tween.js\n * ----------------------------------------------\n *\n * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors.\n * Thank you all, you're awesome!\n */\nvar nextId = Sequence.nextId;\n/**\n * Controlling groups of tweens\n *\n * Using the TWEEN singleton to manage your tweens can cause issues in large apps with many components.\n * In these cases, you may want to create your own smaller groups of tweens.\n */\nvar TWEEN = mainGroup;\n// This is the best way to export things in a way that's compatible with both ES\n// Modules and CommonJS, without build hacks, and so as not to break the\n// existing API.\n// https://github.com/rollup/rollup/issues/1961#issuecomment-423037881\nvar getAll = TWEEN.getAll.bind(TWEEN);\nvar removeAll = TWEEN.removeAll.bind(TWEEN);\nvar add = TWEEN.add.bind(TWEEN);\nvar remove = TWEEN.remove.bind(TWEEN);\nvar update = TWEEN.update.bind(TWEEN);\nvar exports = {\n Easing: Easing,\n Group: Group,\n Interpolation: Interpolation,\n now: now,\n Sequence: Sequence,\n nextId: nextId,\n Tween: Tween,\n VERSION: VERSION,\n getAll: getAll,\n removeAll: removeAll,\n add: add,\n remove: remove,\n update: update,\n};\n\nexport { Easing, Group, Interpolation, Sequence, Tween, VERSION, add, exports as default, getAll, nextId, now, remove, removeAll, update };\n","/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2025-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport type {TArg, T_HTag} from './Grammar';\nimport type {T_Evt2Fnc, T_HEvt2Fnc, T_Main, T_Mark, T_Variable} from './CmnInterface';\nimport {argChk_Boolean, argChk_Num, CmnLib, EVNM_CLICK, EVNM_KEY} from './CmnLib';\nimport type {Config} from './Config';\nimport type {ScriptIterator} from './ScriptIterator';\nimport type {LayerMng} from './LayerMng';\nimport type {EventMng} from './EventMng';\nimport type {FocusMng} from './FocusMng';\nimport type {SoundMng} from './SoundMng';\nimport {EventListenerCtn} from './EventListenerCtn';\nimport type {T_RP_layGrp} from './GrpLayer';\nimport type {T_RP_layTxt} from './TxtLayer';\n\nimport {Container} from 'pixi.js';\nimport {Tween, remove} from '@tweenjs/tween.js'\n\n\ntype IPageLog = {\n\tkey\t\t: string;\n\tfn\t\t: string;\n\tindex\t: number;\n\tmark\t: T_Mark;\n\tweek\t: boolean;\n}\n\n\nexport class ReadingState {\n\tstatic\t#rs: ReadingState;\n\tstatic\tget rs() {return this.#rs}\n\tconstructor() {ReadingState.#rs = this}\n\n\tstatic\t#hLocalEvt2Fnc\t: T_HEvt2Fnc = {};\n\tstatic\t#hGlobalEvt2Fnc\t: T_HEvt2Fnc = {};\n\tstatic\tsetEvt2Fnc(glb: boolean, key: string, fnc: T_Evt2Fnc) {\n\t\tif (glb)\n\t\t\tthis.#hGlobalEvt2Fnc[key] = fnc;\n\t\telse this.#hLocalEvt2Fnc[key] = fnc;\n\t}\n\tstatic\tgetEvt2Fnc = (key: string): T_Evt2Fnc | undefined => this.#hLocalEvt2Fnc[key] ?? this.#hGlobalEvt2Fnc[key];\n\tstatic\tclear_eventer(rawKeY: string, glb: boolean, key: string) {\n\t\tif (! rawKeY.startsWith('dom=')) return;\n\n\t\tconst e2f = glb ? this.#hGlobalEvt2Fnc[key] : this.#hLocalEvt2Fnc[key];\n\t\tif (e2f) this.getHtmlElmList(rawKeY).el.forEach(v=> v.removeEventListener('click', e2f));\n\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\tif (glb) delete this.#hGlobalEvt2Fnc[key];\n\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\telse\tdelete this.#hLocalEvt2Fnc[key];\n\t}\n\n\tstatic\tpopLocalEvts(): T_HEvt2Fnc {\n\t\tconst ret = this.#hLocalEvt2Fnc;\n\t\tthis.#hLocalEvt2Fnc = {};\n\t\treturn ret;\n\t}\n\tstatic\tpushLocalEvts(h: T_HEvt2Fnc) {this.#hLocalEvt2Fnc = h}\n\n\tstatic\tclear_event(hArg: TArg): boolean {\n\t\tconst glb = argChk_Boolean(hArg, 'global', false);\n\t\tconst h = glb ?this.#hGlobalEvt2Fnc :this.#hLocalEvt2Fnc;\n\t\tfor (const [KeY, e2f] of Object.entries(h)) {\n\t\t\tif (! KeY.startsWith('dom=')) continue;\n\n\t\t\tthis.getHtmlElmList(KeY).el.forEach(v=> v.removeEventListener('click', e2f));\n\t\t}\n\t\tif (glb) this.#hGlobalEvt2Fnc = {}; else this.#hLocalEvt2Fnc = {};\n\n\t\treturn false;\n\t}\n\t\tstatic\tgetHtmlElmList(KeY: string): {el: NodeListOf<HTMLElement>, id: string, sel: string} {\n\t\t\tconst idx = KeY.indexOf(':');\n\t\t\tlet sel = '';\n\t\t\tif (idx >= 0) {\t\t// key='dom=config:#ctrl2val\n\t\t\t\tconst id = KeY.slice(4, idx);\n\t\t\t\tconst frmnm = `const.sn.frm.${id}`;\n\t\t\t\tif (! Reading.val.getVal(`tmp:${frmnm}`, 0)) throw `HTML【${id}】が読み込まれていません`;\n\n\t\t\t\tconst ifrm = <HTMLIFrameElement | null>document.getElementById(id);\n\t\t\t\tif (! ifrm) throw `HTML【${id}】の要素(id=${id})がありません`;\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t\tconst win = ifrm.contentWindow!;\n\t\t\t\tsel = KeY.slice(idx +1);\n\t\t\t\treturn {el: win.document.querySelectorAll(sel), id, sel};\n\t\t\t}\n\n\t\t\tsel = KeY.slice(4);\n\t\t\treturn {el: document.querySelectorAll(sel), id: '', sel};\n\t\t}\n\n\t// 予約イベントの発生待ち\n\tstatic\twaitRsvEvent(glb: boolean, onUserAct?: ()=> void): void {\n\t\tReading.val.saveKidoku();\n\n\t\tif (onUserAct) {\n\t\t\t//hTag.event({key:'click', breakout: fnc});\n\t\t\t//hTag.event({key:'middleclick', breakout: fnc});\n\t\t\t//\thTag.event()は内部で使わず、こうする\n\t\t\tthis.#hLocalEvt2Fnc.click =\n\t\t\tthis.#hLocalEvt2Fnc.enter =\n\t\t\tthis.#hLocalEvt2Fnc.arrowdown =\n\n\t\t\t// hTag.event({key:'downwheel', breakout: fnc});\n\t\t\tthis.#hLocalEvt2Fnc['wheel.y>0'] = ()=> onUserAct();\n\t\t}\n\t\telse {\n\t\t\tdelete this.#hLocalEvt2Fnc.click;\n\t\t\tdelete this.#hLocalEvt2Fnc.enter;\n\t\t\tdelete this.#hLocalEvt2Fnc.arrowdown;\n\t\t\tdelete this.#hLocalEvt2Fnc['wheel.y>0'];\n\t\t}\n\t\tthis.getEvt2Fnc = glb\n\t\t\t? key=> this.#hLocalEvt2Fnc[key]\n\t\t\t\t?? this.#hGlobalEvt2Fnc[key]\n\t\t\t: key=> this.#hLocalEvt2Fnc[key];\n\n\t\tReading.scrItr.noticeWait();\n\t\tif (CmnLib.debugLog) console.log('🎍 wait event... %o', {\n\t\t\tlocal\t: Object.keys(this.#hLocalEvt2Fnc),\n\t\t\tglobal\t: Object.keys(this.#hGlobalEvt2Fnc),\n\t\t});\n\t}\n\n\tstatic\twaitRsvEvent4Paging() {\n\t\tthis.waitRsvEvent(true);\n\n\t\tif (this.aKeysAtPaging.length === 0) {\n\t\t\tthis.getEvt2Fnc = key=>\n\t\t\t\tthis.#hLocalEvt2Fnc[key]\n\t\t\t?? this.#hGlobalEvt2Fnc[key];\n\t\t\treturn;\n\t\t}\n\n\t\tconst hGlb: T_HEvt2Fnc = {};\n\t\tfor (const k of this.aKeysAtPaging) {\n\t\t\tconst v = this.#hGlobalEvt2Fnc[k];\n\t\t\tif (v) hGlb[k] = v;\n\t\t}\n\t\tthis.getEvt2Fnc = key=> this.#hLocalEvt2Fnc[key] ?? hGlb[key];\n\t}\n\n\n\tfire(rawKeY: string, e: Event) {\n\t\t//if (this.#isDbgBreak) return;\n\n\t\t// 予約実行\n\t\tconst key = rawKeY.toLowerCase();\n// console.log(`👺 fire<(key:\\`${key}\\` type:${e.type})`);\n\n\t\tswitch (key) {\n\t\t\tcase 'click':\n\t\t\tcase 'rightclick':\t// 右クリックメニューに入って出られない\n\t\t\tcase 'middleclick':\t// 〃\n\t\t\tcase 'enter':\n\t\t\tcase 'arrowdown':\n\t\t\t\tif (Reading.evtMng.isSkipping) break;\n\t\t\t\tif (! ReadingState.isFirstFire()) return;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (key === 'enter') {\n\t\t\tconst em = Reading.fcs.getFocus();\n\t\t\tif (em instanceof Container) {\n\t\t\t\tem.emit(EVNM_CLICK, new PointerEvent(EVNM_CLICK));\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst ke = ReadingState.getEvt2Fnc(key);\n\t\tif (! ke) return;\t\t// 予約されていないイベントなので無視\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t\te.stopImmediatePropagation?.();\n\t\tif (! key.startsWith('dom=') && Reading.layMng.clickTxtLay()) return;\n\n\t\tke(e);\n\t\t//this.hLocalEvt2Fnc = {};\t// ここで消去禁止、Main.resumeByJumpOrCall()が担当\n\t}\n\tget\tskip_enabled() {return Reading.skip_enabled}\n\treadonly\tisWait: boolean\t= false;\n\t// イベント複数発生回避(ボタンとステージクリックなど)\n\tstatic\t#wasFired\t= false;\n\tstatic\tisFirstFire(): boolean {\n\t\tif (ReadingState.#wasFired) return false;\n\t\tReadingState.#wasFired = true;\n\t\treturn true;\n\t}\n\tstatic\tresetFired() {ReadingState.#wasFired = false}\n\n\n\tstatic\taPage\t: IPageLog[];\n\tstatic\tlenPage = 0;\n\tstatic\tposPage = 0;\n\tstatic\tstyPaging\t: string;\n\tstatic\treadonly\tINI_STYPAGE = 'color: yellow; text-shadow: 1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000;';\n\n\tstatic\taKeysAtPaging: string[]\t= [];\n\n\tstatic\trecodePage(week = false) {\n\t\tif (! Reading.val.getVal('save:sn.doRecLog')) return;\n\n\t\tconst {fn, idx} = Reading.scrItr.nowScrIdx();\n\t\tconst key = `${idx -1}:`+ fn;\t// 検索時の都合で -1\n\t\tif (this.aPage.findIndex(p=> p.key === key) > -1) return;\t// 保存済\n\n\t\tif (CmnLib.debugLog) console.log(`📜 %crecodePage === week:${week} lenPage:${this.lenPage} len:${this.aPage.length} POP:${this.aPage.at(-1)?.week}`, 'color:#3B0;');\n\n\t\tif (this.aPage.at(-1)?.week) this.aPage.pop();\n\t\tconst {max_len} = Reading.cfg.oCfg.log;\t// 一定数を保つ\n\t\tif (this.aPage.push({key, week,\n\t\t\tfn\t\t: <string>Reading.val.getVal('save:const.sn.scriptFn', fn),\n\t\t\tindex\t: <number>Reading.val.getVal('save:const.sn.scriptIdx', 0),\n\t\t\tmark\t: Reading.scrItr.nowMark(),\n\t\t}) > max_len) this.aPage = this.aPage.slice(-max_len);\n\t\tthis.lenPage = this.aPage.length;\n\n\t\tif (CmnLib.debugLog) {\n\t\t\tconst m = Reading.scrItr.nowMark();\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconsole.log(` %clenPage:${this.lenPage} (base=${(<T_RP_layGrp>m.hPages.base!.fore).sBkFn} 0=${(<T_RP_layGrp>m.hPages['0']!.fore).sBkFn} mes=${/color: \\w+;/.exec((<T_RP_layTxt>m.hPages.mes!.fore).txs.cssText)})%c mark:%o`, 'color:#3B0;', '', m);\n\t\t\tconsole.table(this.aPage);\n\t\t}\n\n\t\tReading.val.setVal_Nochk('sys', 'const.sn.aPageLog', JSON.stringify(this.aPage));\n\t}\n\tstatic\tplaybackPage(saPageLog: string, $styPaging: string) {\n\t\tthis.aPage = <IPageLog[]>JSON.parse(saPageLog);\n\t\tthis.lenPage = this.aPage.length;\n\t\tif (this.posPage >= this.lenPage) this.posPage = this.lenPage -1;\n\t\tthis.styPaging = $styPaging;\n\t}\n\n\tbeginProc() {new ReadingState_proc}\n\tendProc() {new ReadingState_go}\n\n\n\t// タグ処理\n\tl(hArg: TArg): boolean {\n// console.log(`fn:Reading.ts line:218 [l] isKidoku:${Reading.scrItr.isKidoku} isNextKidoku:${Reading.scrItr.isNextKidoku} A:${Reading.auto_enabled} B:${Reading.skip_enabled} C:${Reading.skip_all}`);\n\t\tif (! Reading.tagL_enabled) return false;\n\n\t\tReadingState.recodePage(true);\n\n\t\tif (Reading.auto_enabled) {\t// Aスキップ時\n\t\t\thArg.time = Number(Reading.val.getVal(`sys:sn.auto.msecLineWait${Reading.scrItr.isKidoku ?'_Kidoku' :''}`));\n\t\t\treturn this.wait(hArg);\n\t\t}\n\t\tif (Reading.skip_enabled) {\t// Fスキップ時\n\t\t\tif (! Reading.skip_all && ! Reading.scrItr.isNextKidoku) {\n\t\t\t\tReading.cancelAutoSkip();\t// 未読で停止\n\t\t\t}\n\t\t\telse if ('ps'.includes(String(Reading.val.getVal('sys:sn.skip.mode')))) {\n\t\t\t\thArg.time = 50;\t// 改行待ち=しない\t// 魔法数字、見えるぐらい少し待つ\n\t\t\t\treturn this.wait(hArg);\n\t\t\t}\n\t\t}\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) {\n\t\t\tReading.layMng.breakLine(hArg);\n\t\t\tReading.goTxt();\n\t\t}\n\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\tp(hArg: TArg): boolean {\n// console.log(`fn:Reading.ts line:248 [p] isKidoku:${Reading.scrItr.isKidoku} isNextKidoku:${Reading.scrItr.isNextKidoku} A:${Reading.auto_enabled} B:${Reading.skip_enabled} C:${Reading.skip_all}`);\n\t\tReadingState.recodePage();\n\n\t\tif (Reading.auto_enabled) {\t// Aスキップ時\n\t\t\thArg.time = Number(Reading.val.getVal(`sys:sn.auto.msecPageWait${Reading.scrItr.isKidoku ?'_Kidoku' :''}`));\n\t\t\treturn this.wait(hArg);\n\t\t}\n\t\tif (Reading.skip_enabled) {\t// Fスキップ時\n\t\t\tif (! Reading.skip_all && ! Reading.scrItr.isNextKidoku) {\n\t\t\t\tReading.cancelAutoSkip();\t// 未読で停止\n\t\t\t}\n\t\t\telse if ('s' === String(Reading.val.getVal('sys:sn.skip.mode'))) {\n\t\t\t\thArg.time = 50;\t// 改行待ち=しない\t// 魔法数字、見えるぐらい少し待つ\n\t\t\t\treturn this.wait(hArg);\n\t\t\t}\n\t\t}\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) {\n\t\t\tReading.layMng.breakPage(hArg);\n\t\t\tReading.goTxt();\n\t\t}\n\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\ts(hArg: TArg): boolean {\n\t\tReadingState.recodePage();\n\n\t\tReading.cancelAutoSkip();\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\twait(hArg: TArg): boolean {\n\t\tconst time = argChk_Num(hArg, 'time', NaN);\t// skip時もエラーは出したい\n\t\tif (Reading.skip_enabled) {\t\t// Fスキップ時\n\t\t\tif (! Reading.skip_all && ! Reading.scrItr.isNextKidoku) Reading.cancelAutoSkip();\t// 未読で停止\n\t\t\treturn false;\n\t\t}\n\n\t\tconst tw = new Tween({});\n\t\tconst RPN_WAIT = 'wait';\n\t\tconst fin = ()=> {remove(tw); Reading.notifyEndProc(RPN_WAIT)};\n\t\ttw.to({}, time)\n\t\t.onComplete(fin)\n\t\t.start();\n\n\t\tconst canskip = argChk_Boolean(hArg, 'canskip', true);\n\t\tReading.beginProc(RPN_WAIT, fin, true, canskip ?fin :undefined);\n\t\treturn true;\n\t}\n\tpage(hArg: TArg): boolean {\n\t\tif (! ('clear' in hArg || 'to' in hArg || 'style' in hArg)) throw 'clear,style,to いずれかは必須です';\n\n\t\t// ページ移動状態中に有効にするグローバルイベントを限定\n\t\tconst {key, style} = hArg;\n\t\tif (key) ReadingState.aKeysAtPaging = key.split(',');\n\n\t\tif (style) {\n\t\t\tReadingState.styPaging = style;\n\t\t\tReading.val.setVal_Nochk('save', 'const.sn.styPaging', style);\n\t\t\treturn false;\n\t\t}\n\n\t\tif (argChk_Boolean(hArg, 'clear', false)) {\n\t\t\tReadingState.aPage = [];\n\t\t\tReadingState.lenPage = 0;\n\t\t\tReadingState.posPage = 0;\n\t\t\tReading.val.setVal_Nochk('sys', 'const.sn.aPageLog', '[]');\n\t\t\tReading.val.setVal_Nochk('save', 'const.sn.styPaging', ReadingState.INI_STYPAGE);\n\t\t\treturn false;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\n\tstatic\tdestroy() {\n\t\tthis.#hLocalEvt2Fnc = {};\n\t\tthis.#hGlobalEvt2Fnc = {};\n\t\tthis.aPage = [];\n\t\tthis.lenPage = 0;\n\t\tthis.posPage = 0;\n\t}\n\n}\n\n// go 状態\n//\t通常・タグなどを次々に処理\nclass ReadingState_go extends ReadingState {\n\tconstructor() {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_go', 'color:#3B0;');\n\n\t\tReading.main.resume();\n\t}\n\toverride\tfire(_KeY: string, _e: Event) { /* empty */ }\t// システムボタンなど無効化\n}\n\n// proc 状態\n//\tスクリプト・画像・音声ロードなど\nclass ReadingState_proc extends ReadingState {\n\tconstructor() {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_proc', 'color:#3B0;');\n\t}\n\toverride\tfire(_KeY: string, _e: Event) { /* empty */ }\t// システムボタンなど無効化\n}\n\n// wait 状態\n//\tイベント待ちやクリック待ち\nclass ReadingState_wait4Tag extends ReadingState {\n\tconstructor(hArg: TArg) {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_wait', 'color:#3B0;');\n\n\t\t// Reading.scrItr.noticeBreak(true);\n\n\t\tlet onUserAct = ()=> { /* empty */ };\n\t\tconst glb = argChk_Boolean(hArg, 'global', true);\n\t\tswitch (hArg[':タグ名']) {\n\t\t\tcase 'wait':\treturn;\t// 予約イベント待ち【しない】\n\n\t\t\tcase 's':\n\t\t\t\tReadingState.waitRsvEvent(glb);\t// ユーザーイベントに反応しない\n\t\t\t\treturn;\n\n\t\t\tcase 'p':\n\t\t\t\tonUserAct = ()=> {\n\t\t\t\t\tif (argChk_Boolean(hArg, 'er', false)) Reading.hTag.er(hArg);\n\n\t\t\t\t\tReading.sndMng.clearCache();\n\t\t\t\t\t//scrItr.turnPage();\n\n\t\t\t\t\tnew ReadingState_go;\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tdefault:\t// [wait] 以外は、予約イベント待ちを開始\n\t\t\t\tonUserAct = ()=> new ReadingState_go;\n\t\t}\n// console.log(`fn:Reading.ts ${hArg[':タグ名']} 予約イベント待ちを開始`);\n\t\tReadingState.waitRsvEvent(glb, onUserAct);\n\t}\n\n\toverride\treadonly\tisWait\t= true;\n\n\toverride page(hArg: TArg): boolean {\n\t\tconst ret = super.page(hArg);\t// チェックも兼ねて\n\t\tconst {to} = hArg;\n\t\tif (! to) return ret;\n\t\tif (ReadingState.lenPage < 2) return false;\t// 履歴がたまってない\n\n\t\tswitch (to) {\n\t\t\tcase 'oldest':\n\t\t\t\thArg.to = 'prev';\n\t\t\t\tReadingState.posPage = 1;\tbreak;\n\n\t\t\tcase 'newest':\n\t\t\tcase 'prev':\n\t\t\t\thArg.to = 'prev';\n\t\t\t\tReadingState.posPage = ReadingState.lenPage -1;\tbreak;\n\n\t\t\t// case 'next':\t\t// スルー\n\t\t\tdefault:\treturn false;\t// ダイアログ確認などするとここを通る\n\t\t}\n\n\t\treturn ReadingState_page.go(hArg);\n\t}\n\n}\n\n// page 状態\n//\tページ移動中\nclass ReadingState_page extends ReadingState {\n\tprivate\tconstructor() {\n\t\tsuper();\n\t\tif (CmnLib.debugLog) console.log('📖 => %cReadingState_page', 'color:#3B0;');\n\t\tReading.val.setVal_Nochk('tmp', 'const.sn.isPaging', true);\n\t}\n\tstatic\tgo(hArg: TArg) {return new ReadingState_page().page(hArg)}\n\n\t#isPaging\t= true;\n\toverride\tget\tskip_enabled() {return this.#isPaging}\n\n\toverride\treadonly\tisWait\t= false;\n\n\toverride\tbeginProc() {Reading.main.stop()}\n\toverride\tendProc() {Reading.main.resume()}\n\n\t// タグ処理\n\toverride\tl(hArg: TArg): boolean {\n// console.log(`fn:ReadState.ts [l] len:${ReadingState.lenPage} pos:${ReadingState.posPage} isSkipping:${this.#isPaging}`);\n\t\tif (! this.#isPaging) return super.l(hArg);\t// 基底 ReadingState_go 化\n\n\t\t// ページ末尾ならページ移動終了\n\t\tif (ReadingState.posPage === ReadingState.lenPage -1) {\n\t\t\tthis.#exit();\n\t\t\treturn new ReadingState_go().l(hArg);\n\t\t}\n\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) Reading.layMng.breakLine(hArg);\n\n\t\tReading.layMng.setAllStyle2TxtLay(ReadingState.styPaging);\n\t\tReading.goTxt();\n\t\tif (! ReadingState.aPage[ReadingState.posPage]?.week) return false;\n\n\t\tReadingState.waitRsvEvent4Paging();\n\t\treturn true;\n\t}\n\toverride\tp(hArg: TArg): boolean {\n// console.log(`fn:ReadState.ts [p] len:${ReadingState.lenPage} pos:${ReadingState.posPage}`);\n\t\tif (! this.#isPaging) return super.p(hArg);\t// 基底 ReadingState_go 化\n\n\t\t// ページ末尾ならページ移動終了\n\t\tif (ReadingState.posPage === ReadingState.lenPage -1) {\n\t\t\tthis.#exit();\n\t\t\treturn new ReadingState_go().p(hArg);\n\t\t}\n\n\t\t// クリック待ちを表示\n\t\tif (argChk_Boolean(hArg, 'visible', true)) Reading.layMng.breakPage(hArg);\n\n\t\tReading.layMng.setAllStyle2TxtLay(ReadingState.styPaging);\n\t\tReading.goTxt();\n\n\t\tReadingState.waitRsvEvent4Paging();\n\t\treturn true;\n\t}\n\toverride\ts(hArg: TArg): boolean {\n\t\tnew ReadingState_wait4Tag(hArg);\n\t\treturn true;\n\t}\n\toverride\twait() {return false}\n\toverride\tpage(hArg: TArg): boolean {\n\t\tconst {to, style, clear} = hArg;\n\t\tif (style || clear) return false;\n\n\t\tif (CmnLib.debugLog) console.log(`📜 %cpage() pos:${ReadingState.posPage}%c len:${ReadingState.lenPage} to:${to}`, 'color:#3B0;', '');\n\t\tswitch (to) {\n\t\t\tcase 'oldest':\n\t\t\t\tif (ReadingState.posPage === 0) return false;\n\t\t\t\tReadingState.posPage = 0;\tbreak;\n\n\t\t\tcase 'prev':\n\t\t\t\tif (ReadingState.posPage === 0) return false;\n\t\t\t\t--ReadingState.posPage;\tbreak;\n\n\t\t\tcase 'next':\n\t\t\t\tif (ReadingState.posPage === ReadingState.lenPage -1) return false;\n\t\t\t\t++ReadingState.posPage;\tbreak;\n\n\t\t\tcase 'newest':\n\t\t\t\tif (ReadingState.posPage === ReadingState.lenPage -1) return false;\n\t\t\t\tReadingState.posPage = ReadingState.lenPage -1;\tbreak;\n\n\t\t\tcase 'exit':\n\t\t\t\tReadingState.posPage = ReadingState.lenPage -1;\tbreak;\n\n\t\t\tcase 'load':\n\t\t\t\tReadingState.lenPage = ReadingState.posPage +1;\n\t\t\t\tReadingState.aPage = ReadingState.aPage.slice(0, ReadingState.lenPage);\n\t\t\t\tthis.#exit();\n\t\t\t\tbreak;\n\n\t\t\tdefault:\tthrow `属性to「${to}」は異常です`;\n\t\t}\n\t\t// ページ移動状態を抜ける\n\t\tif (ReadingState.posPage === ReadingState.lenPage -1) this.#exit();\n\n\t\tconst p = ReadingState.aPage[ReadingState.posPage];\n\t\tif (! p) throw `posPage異常:${ReadingState.posPage}`;\n\t\tconst {fn, index, mark} = p;\n\t\tif (CmnLib.debugLog) {\n\t\t\tconst m = Reading.scrItr.nowMark();\n\t\t\tconst {week} = ReadingState.aPage[ReadingState.posPage] ?? {week: false};\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconsole.log(` -- fn:${fn} i:${index} pos:${ReadingState.posPage} (base=%c${(<T_RP_layGrp>m.hPages.base!.fore).sBkFn}%c 0=%c${(<T_RP_layGrp>m.hPages['0']!.fore).sBkFn}%c mes=%c${/color: \\w+;/.exec((<T_RP_layTxt>m.hPages.mes!.fore).txs.cssText)}%c) week:${week} A:${ReadingState.posPage === ReadingState.lenPage -1}\\n styPaging=%c${ReadingState.styPaging}%c\\n mark:%o`, 'background-color:#3B0; color:#000;', '', 'background-color:#B4F; color:#000;', '', 'color:#B68;', '', ReadingState.styPaging, '', mark);\n\t\t}\n\t\treturn Reading.scrItr.loadFromMark({fn, index}, mark);\n\t}\n\n\t#exit() {\n\t\tReading.val.setVal_Nochk('tmp', 'const.sn.isPaging', false);\n\t\tthis.#isPaging = false;\n\t}\n}\n\n\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class Reading {\n\tstatic\tbeginProc(proc_id: string, onNotify?: ()=> void, endProc = true, onClickSkip?: ()=> void) {\n\t\tif (CmnLib.debugLog) console.log(`📖.beginProc id:%c${proc_id}%c onNotify:${onNotify} endProc:${endProc} onClickSkip:${onClickSkip}`, 'color:#3B0;', '');\n\t\tthis.#clearProc();\n\t\tthis.#procID = proc_id;\n\n\t\t// 通知時コールバック型\n\t\tif (onNotify) {\n\t\t\t// notifyEndProc()を呼べば callBack & EndProc する機能\n\t\t\t// 使用者は、処理終了時に notifyEndProc()を呼ぶ義務がある\n\t\t\tconst {promise, resolve} = Promise.withResolvers<string>();\n\t\t\tvoid promise.then((proc_id: string)=> {\n\t\t\t\tif (CmnLib.debugLog) console.log(`📖.callBack id:%c${proc_id}%c`, 'color:#3B0;', '');\n\t\t\t\tonNotify();\n\t\t\t\tif (endProc) this.endProc(proc_id); else this.#clearProc();\n\t\t\t});\n\t\t\tthis.#rsNotify = resolve;\n\t\t}\n\n\t\t// クリックキャンセル機能\n\t\tif (onClickSkip) {\n\t\t\tconst fnc = ()=> {\n\t\t\t\tthis.cancelAutoSkip();\n\t\t\t\tonClickSkip();\n\t\t\t\tif (endProc) this.endProc(proc_id);\n\t\t\t};\n\t\t\tthis.#elc.add(this.main.cvs, EVNM_CLICK, (e: PointerEvent)=> {\n\t\t\t\te.stopPropagation();\n\t\t\t\tfnc();\n\t\t\t});\n\t\t\tthis.#elc.add(document, EVNM_KEY, (e: KeyboardEvent)=> {\n\t\t\t\tif (e.isComposing) return; // サポートしてない環境でもいける書き方\n\t\t\t\te.stopPropagation();\n\t\t\t\tfnc();\n\t\t\t});\n\t\t\tthis.procWheel4wle(this.#elc, fnc);\n\t\t}\n\n\t\tReadingState.rs.beginProc();\n\t\t// main.stop() は外の責任\n\t}\n\t\tstatic\t#clearProc() {\n\t\t\tthis.#procID = '';\n\t\t\tthis.#rsNotify = ()=> { /* empty */ };\n\t\t\tthis.#elc.clear();\n\t\t}\n\t\tstatic\treadonly\t#elc = new EventListenerCtn;\n\n\tstatic\t#rsNotify\t: (proc_id: string)=> void\t= ()=> { /* empty */ };\n\tstatic\tnotifyEndProc(proc_id: string) {\n\t\tif (CmnLib.debugLog) console.log(`📖.notifyEndProc id:%c${proc_id}%c=${this.#procID === proc_id}`, 'color:#3B0;', '');\n\t\tif (this.#procID !== proc_id) return;\n\n\t\tthis.#rsNotify(proc_id);\n\t}\n\n\tstatic\tendProc(proc_id: string) {\n\t\tif (CmnLib.debugLog) console.log(`📖.endProc id:%c${proc_id}%c=${this.#procID === proc_id}`, 'color:#3B0;', '');\n\t\tif (this.#procID !== proc_id) return;\n\n\t\tReadingState.rs.endProc();\n\t\tthis.#clearProc();\n\t}\n\t\tstatic\t#procID\t= '';\n\t\tstatic\tget procID() {return `RP_${this.scrItr.scriptFn}:${this.scrItr.idxToken}_`}\n\n\n\tstatic\tfire(KeY: string, e: Event, cancelAutoSkip = false) {\n\t\tif (cancelAutoSkip) this.cancelAutoSkip();\n\t\tReadingState.rs.fire(KeY, e);\n\t}\n\n\tstatic\tget\tisSkipping() {return ReadingState.rs.skip_enabled}\n\tstatic\tget\tisWait() {return ReadingState.rs.isWait}\t// 予約イベントの発生待ち中か\n\n\n\t\tstatic\ttagL_enabled\t= true;\t\t// 頁末まで一気に読み進むか(l無視)\n\t\tstatic\tskip_all\t\t= false;\t// falseなら既読のみをスキップ\n\t\tstatic\tskip_enabled\t= false;\t// 次の選択肢(/未読)まで進むが有効か\n\t\tstatic\tauto_enabled\t= false;\t// 自動読みすすみモードかどうか\n\n\n\tstatic\tcfg\t\t: Config;\n\tstatic\thTag\t: T_HTag;\n\tstatic\tmain\t: T_Main;\n\tstatic\tval\t\t: T_Variable;\n\tstatic\tscrItr\t: ScriptIterator;\n\tstatic\tlayMng\t: LayerMng;\n\tstatic\tgoTxt = ()=> { /* empty */ };\n\tstatic\tget needGoTxt() {return this.layMng.needGoTxt}\n\tstatic\tevtMng\t: EventMng;\n\tstatic\tsndMng\t: SoundMng;\n\tstatic\tprocWheel4wle\t: (elc: EventListenerCtn, onIntr: ()=> void)=> void;\n\n\tstatic\tfcs\t\t: FocusMng;\n\n\tstatic\tinit(cfg: Config, hTag: T_HTag, main: T_Main, val: T_Variable, scrItr: ScriptIterator, layMng: LayerMng, evtMng: EventMng, sndMng: SoundMng, procWheel4wle: (elc: EventListenerCtn, onIntr: ()=> void)=> void) {\n\t\tthis.cfg = cfg;\n\t\tthis.hTag = hTag;\n\t\tthis.main = main;\n\t\tthis.val = val;\n\t\tthis.scrItr = scrItr;\n\t\tthis.layMng = layMng;\n\t\tthis.goTxt = ()=> layMng.goTxt();\n\t\tthis.evtMng = evtMng;\n\t\tthis.sndMng = sndMng;\n\t\tthis.procWheel4wle = procWheel4wle;\n\n\t\tval.defTmp('sn.tagL.enabled', ()=> this.tagL_enabled);\n\t\tval.defValTrg('tmp:sn.tagL.enabled', (_, v)=> {this.tagL_enabled = String(v) !== 'false'});\n\t\tval.defTmp('sn.skip.all', ()=> this.skip_all);\n\t\tval.defValTrg('tmp:sn.skip.all', (_, v)=> {this.skip_all = String(v) !== 'false'});\n\t\tval.defTmp('sn.skip.enabled', ()=> this.skip_enabled);\n\t\tval.defValTrg('tmp:sn.skip.enabled', (_, v)=> {this.skip_enabled = String(v) !== 'false'});\n\t\tval.defTmp('sn.auto.enabled', ()=> this.auto_enabled);\n\t\tval.defValTrg('tmp:sn.auto.enabled', (_, v)=> {this.auto_enabled = String(v) !== 'false'});\n\n\t\thTag.l\t\t\t= o=> ReadingState.rs.l(o);\t\t// 行末クリック待ち\n\t\thTag.p\t\t\t= o=> ReadingState.rs.p(o);\t\t// 改ページクリック待ち\n\t\thTag.s\t\t\t= o=> ReadingState.rs.s(o);\t\t// 停止する\n\t\thTag.wait\t\t= o=> ReadingState.rs.wait(o);\t\t// ウェイトを入れる\n\t\thTag.waitclick\t= o=> ReadingState.rs.s(o);\t\t// クリックを待つ\n\t\thTag.page\t\t= o=> ReadingState.rs.page(o);\t\t// ページ移動\n\n\t\tnew ReadingState_proc;\n\t\thTag.jump({fn: 'main'});\n\t}\n\tstatic\tsetFcs(fcs: FocusMng) {this.fcs = fcs}\n\n\n\tstatic\tcancelAutoSkip() {\n\t\tif (! this.tagL_enabled) {\t// 頁末まで一気に読み進むか(l無視)\n\t\t\tthis.tagL_enabled = true;\n\t\t\tthis.val.setVal_Nochk('tmp', 'sn.tagL.enabled', true);\n\t\t}\n\n\t\tif (this.skip_enabled) {\t\t// 次の選択肢(/未読)まで進むが有効か\n\t\t\tthis.skip_enabled = false;\n\t\t\tthis.val.setVal_Nochk('tmp', 'sn.skip.enabled', false);\n\t\t}\n\t\tif (this.auto_enabled) {\t\t// 自動読みすすみモードかどうか\n\t\t\tthis.auto_enabled = false;\n\t\t\tthis.val.setVal_Nochk('tmp', 'sn.auto.enabled', false);\n\t\t}\n\t}\n\n}\n"],"names":["Easing","amount","s","power","now","Group","_this","tweenId","tween","time","preserve","tweenIds","i","autoStart","Interpolation","v","k","m","f","fn","p0","p1","t","Sequence","mainGroup","Tween","_object","_group","target","duration","dynamic","overrideStartingValues","property","tmp","prop","_valuesStart","_valuesEnd","_valuesStartRepeat","startValue","startValueIsArray","propType","isInterpolationList","endValues","temp","l","value","nestedObject","numChainedTweens","group","times","yoyo","easingFunction","interpolationFunction","tweens","_i","callback","_a","endTime","elapsedTime","durationAndDelay","totalTime","calculateElapsedPortion","timesRepeated","timeIntoCurrentRepeat","portion","elapsed","completeCount","start","end","startIsArray","endIsArray","endValue","TWEEN","removeAll","remove","update","ReadingState","#rs","#hLocalEvt2Fnc","#hGlobalEvt2Fnc","glb","key","fnc","rawKeY","e2f","ret","h","hArg","argChk_Boolean","KeY","idx","sel","id","frmnm","Reading","ifrm","win","onUserAct","CmnLib","hGlb","e","em","Container","EVNM_CLICK","ke","#wasFired","week","p","max_len","saPageLog","$styPaging","ReadingState_proc","ReadingState_go","ReadingState_wait4Tag","argChk_Num","tw","RPN_WAIT","fin","canskip","style","_KeY","_e","to","ReadingState_page","#isPaging","#exit","clear","index","mark","proc_id","onNotify","endProc","onClickSkip","#clearProc","#procID","promise","resolve","#rsNotify","#elc","EVNM_KEY","EventListenerCtn","cancelAutoSkip","cfg","hTag","main","val","scrItr","layMng","evtMng","sndMng","procWheel4wle","_","o","fcs"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist_app/sn/Reading.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export declare class ReadingState {
|
|
|
32
32
|
static waitRsvEvent(glb: boolean, onUserAct?: () => void): void;
|
|
33
33
|
static waitRsvEvent4Paging(): void;
|
|
34
34
|
fire(rawKeY: string, e: Event): void;
|
|
35
|
-
get
|
|
35
|
+
get skip_enabled(): boolean;
|
|
36
36
|
readonly isWait: boolean;
|
|
37
37
|
static isFirstFire(): boolean;
|
|
38
38
|
static resetFired(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reading.d.ts","sourceRoot":"","sources":["../../../src/sn/Reading.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAEtF,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAQpD,KAAK,QAAQ,GAAG;IACf,GAAG,EAAI,MAAM,CAAC;IACd,EAAE,EAAI,MAAM,CAAC;IACb,KAAK,EAAG,MAAM,CAAC;IACf,IAAI,EAAG,MAAM,CAAC;IACd,IAAI,EAAG,OAAO,CAAC;CACf,CAAA;AAGD,qBAAa,YAAY;;IAExB,MAAM,KAAK,EAAE,iBAAoB;;IAKjC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS;IAK3D,MAAM,CAAC,UAAU,GAAI,KAAK,MAAM,KAAG,SAAS,GAAG,SAAS,CAA0D;IAClH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM;IAW9D,MAAM,CAAC,YAAY,IAAI,UAAU;IAKjC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU;IAElC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAYtC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;QAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC;IAqB3F,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAK,IAAI,GAAG,IAAI;IAgC9D,MAAM,CAAC,mBAAmB;IAmB1B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"Reading.d.ts","sourceRoot":"","sources":["../../../src/sn/Reading.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAEtF,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAQpD,KAAK,QAAQ,GAAG;IACf,GAAG,EAAI,MAAM,CAAC;IACd,EAAE,EAAI,MAAM,CAAC;IACb,KAAK,EAAG,MAAM,CAAC;IACf,IAAI,EAAG,MAAM,CAAC;IACd,IAAI,EAAG,OAAO,CAAC;CACf,CAAA;AAGD,qBAAa,YAAY;;IAExB,MAAM,KAAK,EAAE,iBAAoB;;IAKjC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS;IAK3D,MAAM,CAAC,UAAU,GAAI,KAAK,MAAM,KAAG,SAAS,GAAG,SAAS,CAA0D;IAClH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM;IAW9D,MAAM,CAAC,YAAY,IAAI,UAAU;IAKjC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU;IAElC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAYtC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;QAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC;IAqB3F,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAK,IAAI,GAAG,IAAI;IAgC9D,MAAM,CAAC,mBAAmB;IAmB1B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK;IAoC7B,IAAI,YAAY,YAAgC;IAChD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAS;IAGjC,MAAM,CAAC,WAAW,IAAI,OAAO;IAK7B,MAAM,CAAC,UAAU;IAGjB,MAAM,CAAC,KAAK,EAAG,QAAQ,EAAE,CAAC;IAC1B,MAAM,CAAC,OAAO,SAAK;IACnB,MAAM,CAAC,OAAO,SAAK;IACnB,MAAM,CAAC,SAAS,EAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,QAAQ,CAAC,WAAW,qGAAqG;IAEhI,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAM;IAEpC,MAAM,CAAC,UAAU,CAAC,IAAI,UAAQ;IA2B9B,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAOzD,SAAS;IACT,OAAO;IAIP,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IA4BtB,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IA0BtB,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAOtB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAkBzB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IA0BzB,MAAM,CAAC,OAAO;CAQd;AA+MD,qBAAa,OAAO;;IACnB,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAK,IAAI,EAAE,OAAO,UAAO,EAAE,WAAW,CAAC,EAAE,MAAK,IAAI;IAgD/F,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM;IAOpC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM;IAQ7B,MAAM,KAAK,MAAM,WAAiE;IAGnF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,UAAQ;IAKzD,MAAM,KAAK,UAAU,YAAwC;IAC7D,MAAM,KAAK,MAAM,YAAkC;IAGlD,MAAM,CAAC,YAAY,UAAQ;IAC3B,MAAM,CAAC,QAAQ,UAAU;IACzB,MAAM,CAAC,YAAY,UAAS;IAC5B,MAAM,CAAC,YAAY,UAAS;IAG7B,MAAM,CAAC,GAAG,EAAI,MAAM,CAAC;IACrB,MAAM,CAAC,IAAI,EAAG,MAAM,CAAC;IACrB,MAAM,CAAC,IAAI,EAAG,MAAM,CAAC;IACrB,MAAM,CAAC,GAAG,EAAI,UAAU,CAAC;IACzB,MAAM,CAAC,MAAM,EAAG,cAAc,CAAC;IAC/B,MAAM,CAAC,MAAM,EAAG,QAAQ,CAAC;IACzB,MAAM,CAAC,KAAK,aAAwB;IACpC,MAAM,KAAK,SAAS,YAAiC;IACrD,MAAM,CAAC,MAAM,EAAG,QAAQ,CAAC;IACzB,MAAM,CAAC,MAAM,EAAG,QAAQ,CAAC;IACzB,MAAM,CAAC,aAAa,EAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAK,IAAI,KAAI,IAAI,CAAC;IAEzE,MAAM,CAAC,GAAG,EAAI,QAAQ,CAAC;IAEvB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAK,IAAI,KAAI,IAAI;IA+BpN,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ;IAG3B,MAAM,CAAC,cAAc;CAgBrB"}
|