diff --git a/README.md b/README.md
index 36b515c..09184f7 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,8 @@
![Teaser](assets/teaser.gif)
Some examples from this [Video source](https://www.youtube.com/watch?v=eRjUmsB9lMk)
+For more examples and the current progress see [#visualizeYouTube playlist](https://youtube.com/playlist?list=PLl4gbkccaJWkY4CXwfhImgY-AmR9UvWH0)
+
![Logo](assets/logo128.png)
_The logo was designed by a 3 year old girl._
@@ -9,7 +11,10 @@ YouTube pose dream is a Chrome AI extension to visualize videos. (Soon also avai
When you're old enough, you may remember [Winamp](http://www.winamp.com/). There is the possibility to visualize music.
However, this extension makes similar with videos. The human pose in the video is used as input for the visualization.
-In the process, the existing video is transformed into a psychedelic work of art. But this depends on the video you are watching.
+In the process, the existing video is transformed into a psychedelic work of art. But this depends on the video you are watching.
+
+The goal of this project is for anyone, with or without programming experience, to be able to visualize YouTube.
+In addition, animations should be interchangeable between users.
Pose estimation is done with [TensorFlow.js](https://www.tensorflow.org/js)
Particle animation is done with [Proton](https://github.com/drawcall/Proton)
@@ -21,8 +26,10 @@ This project is a [Google Chrome](https://www.google.com/intl/en/chrome/) browse
2. [Features](#Features)
1. [Fun with lines](#showPoseDetection)
1. [Skeleton](#skeleton)
- 2. [Puppets player](#puppetPlayer)
- 3. [Spider web](#spiderWeb)
+ 2. [Skeleton three times](#skeleton3times)
+ 3. [Skeleton five times](#skeleton5times)
+ 4. [Puppets player](#puppetPlayer)
+ 5. [Spider web](#spiderWeb)
2. [Replace head with image](#img)
1. [Cat](#cat)
2. [Smiley](#smiley)
@@ -97,6 +104,16 @@ This is TensorFlow.js in action.
Use: `all keypoints`
![pose detection](assets/skeleton.png)
+
+### Skeleton 3 times
+Use: `all keypoints`
+![skeleton3times](assets/skeleton3Times.png)
+
+
+### Skeleton 5 times
+Use: `all keypoints`
+![skeleton5times](assets/skeleton5Times.png)
+
### Puppets player
Use: `left_wrist, right_wrist, left_shoulder, right_shoulder, left_ankle, right_ankle, nose`
@@ -289,7 +306,6 @@ The following is still on the TODO list:
- It should be possible to deactivate the extension. Currently, you must do this in `chrome://extensions`
- Fill settings page with content (default animation, disable extension, language settings etc.)
- Publish to Chrome extension store.
-- Check size changes during video playback.
- Clean up code.
- Add support for [three.proton](https://github.com/drawcall/three.proton/) to enable 3D particles.
- Check content.js video event listener, - sometimes you have to reload the page to start pose dream.
diff --git a/assets/playerPopup.png b/assets/playerPopup.png
index 03f33d1..38c7ff8 100644
Binary files a/assets/playerPopup.png and b/assets/playerPopup.png differ
diff --git a/assets/popup.png b/assets/popup.png
index e30c5e7..5f9bfb5 100644
Binary files a/assets/popup.png and b/assets/popup.png differ
diff --git a/assets/skeleton3Times.png b/assets/skeleton3Times.png
new file mode 100644
index 0000000..4e8b477
Binary files /dev/null and b/assets/skeleton3Times.png differ
diff --git a/assets/skeleton5Times.png b/assets/skeleton5Times.png
new file mode 100644
index 0000000..00dab09
Binary files /dev/null and b/assets/skeleton5Times.png differ
diff --git a/dist/content.css b/dist/content.css
index f434873..a34502d 100644
--- a/dist/content.css
+++ b/dist/content.css
@@ -1,7 +1,8 @@
.posedream-video-popup{
display: none;
position: absolute;
- overflow: hidden;
+ overflow:scroll;
+ overflow-x:hidden;
border-radius: 2px;
background: rgba(28,28,28,0.9);
text-shadow: 0 0 2px rgba(0,0,0,0.5);
@@ -10,7 +11,7 @@
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
- width: 250px; height: 600px; right: 160px; bottom: 60px; z-index: 71
+ width: 250px; height: 600px; right: 160px; bottom: 70px; z-index: 71
}
.pdVideoButton {
diff --git a/dist/content.js b/dist/content.js
index 130247c..d467b55 100644
--- a/dist/content.js
+++ b/dist/content.js
@@ -85941,11 +85941,25 @@ var img = new Image();
* @type {string}
*/
-var currentAnimation = "skeleton";
+var currentAnimation = "skeleton5Times"; // used for random switch
+
+var allAnimationIDs = ["skeleton", "skeleton3Times", "skeleton5Times", "puppetsPlayer", "spiderWeb", "imgCat", "imgSmiley", // "imgSun",
+// "imgMonkey",
+// "imgAnonymous",
+"particleHandsBall", "particle2BalHead", // "particleRightHandLine",
+"particleNoseGravity", "particleNoseSupernova", "particleHandsTrackFromBorder", "particleUpperBodyGlow", "particleGlowPainting", "particlePainting", "particlePaintRandomDrift", "particleCometThrower", "particleBodyGlow", "particleBurningMan"];
+var randomSwitchSec = 10; // sec between animation switch
+
+var randomSwitchIntervalID = null; // skeleton settings
+
+var skeletonLineSize = 1;
var ctx;
var webGLtx;
var canvas;
-var canvasGL; // Proton stuff (particles)
+var canvasGL; // for resize. initial size of video.
+
+var wVideo;
+var hVideo; // Proton stuff (particles)
var proton;
var protonEmitterArray = [];
@@ -86041,26 +86055,40 @@ new MutationObserver(function () {
function onUrlChange() {
if (!location.href.includes("watch")) {
clearInterval(intervalVideoPlayId);
+ clearRandomSwitchInterval();
}
}
/**
* Get message from popup.js and update content
- * We have 3 kinds of messages for the animation request
+ * We have 3 kinds of messages for the animation request. And some that don't fit the scheme
* - skeleton: show skeleton
* - img: replace head with image
* - particle: show particle
+ * - puppetsPlayer, spiderWeb
*/
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
+ if (randomSwitchIntervalID) {
+ clearInterval(randomSwitchIntervalID);
+ }
+
setNewAnimation(request.animation);
});
+/**
+ * Switch and prepare current animation.
+ * @param animationId new animation ID
+ */
function setNewAnimation(animationId) {
clearWebGL();
if (animationId === "skeleton") {
currentAnimation = "skeleton";
+ } else if (animationId === "skeleton3Times") {
+ currentAnimation = "skeleton3Times";
+ } else if (animationId === "skeleton5Times") {
+ currentAnimation = "skeleton5Times";
} else if (animationId === "puppetsPlayer") {
currentAnimation = "puppetsPlayer";
} else if (animationId === "spiderWeb") {
@@ -86243,7 +86271,7 @@ function initParticles() {
x: canvas.width / 2,
y: canvas.height / 2
};
- attractionBehaviour = new _protonEngine.default.Attraction(nosePosition, 10, 100);
+ attractionBehaviour = new _protonEngine.default.Attraction(nosePosition, 10, 1000);
protonEmitterArray[0].addBehaviour(attractionBehaviour, new _protonEngine.default.Color('random'));
protonEmitterArray[0].addBehaviour(new _protonEngine.default.Scale(_protonEngine.default.getSpan(.1, .7)));
protonEmitterArray[0].p.x = canvas.width / 2;
@@ -86436,6 +86464,13 @@ function initParticles() {
startParticleInit = false;
}
+/**
+ * Help function to create particle system with image for 'cometThrower'
+ *
+ * @param emitterIndex index of the emitter
+ * @param image image to use for this emiter
+ */
+
function createEmitterCometThrower(emitterIndex, image) {
protonEmitterArray[emitterIndex] = new _protonEngine.default.Emitter();
@@ -86453,6 +86488,16 @@ function createEmitterCometThrower(emitterIndex, image) {
proton.addEmitter(protonEmitterArray[emitterIndex]);
protonEmitterArray[emitterIndex].emit();
}
+/**
+ * Help function to create particle system with different angel and colors for 'pointDrawRandomDrift'
+ *
+ * @param emitterIndex index of the emitter
+ * @param colorT
+ * @param colorE
+ * @param angle angle for the emission of the particle
+ * @param image particle image to use
+ */
+
function createEmitterPointDrawRandomDrift(emitterIndex, colorT, colorE, angle, image) {
protonEmitterArray[emitterIndex] = new _protonEngine.default.Emitter();
@@ -86472,6 +86517,16 @@ function createEmitterPointDrawRandomDrift(emitterIndex, colorT, colorE, angle,
protonEmitterArray[emitterIndex].emit();
proton.addEmitter(protonEmitterArray[emitterIndex]);
}
+/**
+ * Help function to create particle system with different angel and colors for 'pointDraw'
+ *
+ * @param emitterIndex
+ * @param colorT
+ * @param colorE
+ * @param angle
+ * @param image
+ */
+
function createEmitterPointDraw(emitterIndex, colorT, colorE, angle, image) {
protonEmitterArray[emitterIndex] = new _protonEngine.default.Emitter();
@@ -86490,6 +86545,16 @@ function createEmitterPointDraw(emitterIndex, colorT, colorE, angle, image) {
protonEmitterArray[emitterIndex].emit();
proton.addEmitter(protonEmitterArray[emitterIndex]);
}
+/**
+ * Help function to create particle system with different angel and colors for 'pointGlow'
+ *
+ * @param emitterIndex
+ * @param colorT
+ * @param colorE
+ * @param angle
+ * @param image
+ */
+
function createEmitterPointGlow(emitterIndex, colorT, colorE, angle, image) {
protonEmitterArray[emitterIndex] = new _protonEngine.default.Emitter();
@@ -86508,6 +86573,15 @@ function createEmitterPointGlow(emitterIndex, colorT, colorE, angle, image) {
protonEmitterArray[emitterIndex].emit();
proton.addEmitter(protonEmitterArray[emitterIndex]);
}
+/**
+ * Help function to create particle system with different angel and colors for 'drawGlow'
+ * @param emitterIndex
+ * @param colorT
+ * @param colorE
+ * @param angle
+ * @param image
+ */
+
function createEmitterDrawGlow(emitterIndex, colorT, colorE, angle, image) {
protonEmitterArray[emitterIndex] = new _protonEngine.default.Emitter();
@@ -86550,7 +86624,7 @@ function createEmitter(x, y, angle, color, handPos, emitterIndex) {
protonEmitterArray[emitterIndex].addInitialize(new _protonEngine.default.V(new _protonEngine.default.Span(0.5, 1), new _protonEngine.default.Span(90, 10, true), 'polar'));
protonEmitterArray[emitterIndex].addBehaviour(new _protonEngine.default.Alpha(1, 0));
protonEmitterArray[emitterIndex].addBehaviour(new _protonEngine.default.Color(color));
- protonEmitterArray[emitterIndex].addBehaviour(new _protonEngine.default.Attraction(handPos, 10, 500));
+ protonEmitterArray[emitterIndex].addBehaviour(new _protonEngine.default.Attraction(handPos, 10, 1500));
protonEmitterArray[emitterIndex].addBehaviour(new _protonEngine.default.CrossZone(new _protonEngine.default.RectZone(0, 0, canvas.width, canvas.height), 'cross'));
protonEmitterArray[emitterIndex].p.x = x;
protonEmitterArray[emitterIndex].p.y = y;
@@ -86820,6 +86894,8 @@ function loadImage() {
mainVideo.addEventListener('loadeddata', function (event) {
+ wVideo = mainVideo.clientWidth;
+ hVideo = mainVideo.clientHeight;
var animControlsButton = document.getElementsByClassName("ytp-right-controls");
if (document.getElementById("posedream-popup-btn") === null) {
@@ -86847,71 +86923,87 @@ mainVideo.addEventListener('loadeddata', function (event) {
};
}
+ initVideoPlayerPopup();
+});
+/**
+ * Add popup to video player
+ */
+
+function initVideoPlayerPopup() {
var div = document.createElement('div');
div.className = 'posedream-video-popup';
- div.innerHTML = "\n Fun with lines\n\n \n \n \n\n \nReplace head with image\n\n \n \n \n \n \n\n \nShow particle animation\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n ";
+ div.innerHTML = "\n
\n\n\n
\n
\n
Skeleton size 1px
\n\n
\n Fun with lines\n\n \n \n \n \n \n\n \nReplace head with image\n\n \n \n \n \n \n\n \nShow particle animation\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n ";
var html5VideoPlayer = document.getElementsByClassName("html5-video-player");
html5VideoPlayer[0].appendChild(div);
+}
- mainVideo.onplaying = function () {
- if (document.getElementById("canvasdummy") === null) {
- canvas = document.createElement('canvas'); // creates new canvas element
+mainVideo.oncanplay = function (event) {
+ console.log('Video can start, but not sure it will play through.');
+};
- canvas.id = 'canvasdummy'; // gives canvas id
+mainVideo.onplaying = function (event) {
+ if (document.getElementById("canvasdummy") === null) {
+ canvas = document.createElement('canvas'); // creates new canvas element
- if (mainVideo.length !== 0) {
- canvas.height = mainVideo.clientHeight; //get original canvas height
+ canvas.id = 'canvasdummy'; // gives canvas id
- canvas.width = mainVideo.clientWidth; // get original canvas width
- } else {
- canvas.height = 600;
- canvas.width = 600;
- }
+ if (mainVideo.length !== 0) {
+ canvas.height = mainVideo.clientHeight; //get original canvas height
- var videoContainerDIV = document.getElementsByClassName("html5-video-container")[0];
- videoContainerDIV.appendChild(canvas); // adds the canvas to the body element
-
- setCanvasStyle(canvas);
- ctx = canvas.getContext('2d');
+ canvas.width = mainVideo.clientWidth; // get original canvas width
+ } else {
+ canvas.height = 600;
+ canvas.width = 600;
}
- if (document.getElementById("canvasdummyGL") === null) {
- canvasGL = document.createElement('canvas'); // creates new canvas element
+ var videoContainerDIV = document.getElementsByClassName("html5-video-container")[0];
+ videoContainerDIV.appendChild(canvas); // adds the canvas to the body element
- canvasGL.id = 'canvasdummyGL'; // gives canvas id
+ setCanvasStyle(canvas);
+ ctx = canvas.getContext('2d');
+ }
- if (mainVideo.length !== 0) {
- canvasGL.height = mainVideo.clientHeight; //get original canvas height
+ if (document.getElementById("canvasdummyGL") === null) {
+ canvasGL = document.createElement('canvas'); // creates new canvas element
- canvasGL.width = mainVideo.clientWidth; // get original canvas width
- } else {
- canvasGL.height = 600;
- canvasGL.width = 600;
- }
+ canvasGL.id = 'canvasdummyGL'; // gives canvas id
- var _videoContainerDIV = document.getElementsByClassName("html5-video-container")[0];
+ if (mainVideo.length !== 0) {
+ canvasGL.height = mainVideo.clientHeight; //get original canvas height
- _videoContainerDIV.appendChild(canvasGL); // adds the canvas to the body element
+ canvasGL.width = mainVideo.clientWidth; // get original canvas width
+ } else {
+ canvasGL.height = 600;
+ canvasGL.width = 600;
+ }
+ var _videoContainerDIV = document.getElementsByClassName("html5-video-container")[0];
- setCanvasStyle(canvasGL);
- webGLtx = canvasGL.getContext("experimental-webgl");
- }
+ _videoContainerDIV.appendChild(canvasGL); // adds the canvas to the body element
- if (isParticleInit === false) {
- isParticleInit = true;
- initParticles();
- }
- resizeObserver.observe(mainVideo);
- createDetectorInterval(); // only call tick once.
+ setCanvasStyle(canvasGL);
+ webGLtx = canvasGL.getContext("experimental-webgl");
+ }
+
+ if (isParticleInit === false) {
+ isParticleInit = true;
+ initParticles();
+ }
+
+ resizeObserver.observe(mainVideo);
+ createDetectorInterval(); // only call tick once.
+
+ if (startTick === false) {
+ startTick = true;
+ tick();
+ }
+};
+/**
+ * Create interval to detect poses
+ * CHECKME: use requestAnimationFrame
+ */
- if (startTick === false) {
- startTick = true;
- tick();
- }
- };
-});
function createDetectorInterval() {
intervalVideoPlayId = setInterval(function () {
@@ -86922,30 +87014,66 @@ function createDetectorInterval() {
}
poseDetector.estimatePoses(mainVideo).then(function (pose) {
+ if (mainVideo.paused) {
+ return;
+ }
+
if (pose !== undefined && pose[0] !== undefined && pose[0].keypoints !== undefined) {
+ var canvasPoseCoordinates = transformKeypointsForRender(pose[0].keypoints);
+
if (currentAnimation === "skeleton") {
ctx.clearRect(0, 0, canvas.width, canvas.height);
- drawKeyPoints(pose[0].keypoints);
- drawSkeleton(pose[0].keypoints);
+ drawKeyPoints(canvasPoseCoordinates);
+ drawSkeleton(canvasPoseCoordinates);
+ }
+
+ if (currentAnimation === "skeleton3Times") {
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
+ drawKeyPoints(canvasPoseCoordinates);
+ drawSkeleton(canvasPoseCoordinates);
+ canvasPoseCoordinates = transformKeypointsForRender(pose[0].keypoints, 0.5, 0.5);
+ drawKeyPoints(canvasPoseCoordinates);
+ drawSkeleton(canvasPoseCoordinates);
+ canvasPoseCoordinates = transformKeypointsForRender(pose[0].keypoints, 1.5, 1.5);
+ drawKeyPoints(canvasPoseCoordinates);
+ drawSkeleton(canvasPoseCoordinates);
+ }
+
+ if (currentAnimation === "skeleton5Times") {
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
+ drawKeyPoints(canvasPoseCoordinates);
+ drawSkeleton(canvasPoseCoordinates);
+ canvasPoseCoordinates = transformKeypointsForRender(pose[0].keypoints, 0.5, 0.5);
+ drawKeyPoints(canvasPoseCoordinates);
+ drawSkeleton(canvasPoseCoordinates);
+ canvasPoseCoordinates = transformKeypointsForRender(pose[0].keypoints, 0.5, 0.5, canvas.width / 2, canvas.height / 2);
+ drawKeyPoints(canvasPoseCoordinates);
+ drawSkeleton(canvasPoseCoordinates);
+ canvasPoseCoordinates = transformKeypointsForRender(pose[0].keypoints, 0.5, 0.5, canvas.width / 2);
+ drawKeyPoints(canvasPoseCoordinates);
+ drawSkeleton(canvasPoseCoordinates);
+ canvasPoseCoordinates = transformKeypointsForRender(pose[0].keypoints, 0.5, 0.5, 0, canvas.height / 2);
+ drawKeyPoints(canvasPoseCoordinates);
+ drawSkeleton(canvasPoseCoordinates);
}
if (currentAnimation === "puppetsPlayer") {
ctx.clearRect(0, 0, canvas.width, canvas.height);
- drawPuppets(pose[0].keypoints);
+ drawPuppets(canvasPoseCoordinates);
}
if (currentAnimation === "spiderWeb") {
ctx.clearRect(0, 0, canvas.width, canvas.height);
- drawSpiderWeb(pose[0].keypoints);
+ drawSpiderWeb(canvasPoseCoordinates);
}
if (currentAnimation === "img") {
ctx.clearRect(0, 0, canvas.width, canvas.height);
- drawImage(pose[0].keypoints);
+ drawImage(canvasPoseCoordinates);
}
if (currentAnimation === "particle") {
- updateParticles(pose[0].keypoints);
+ updateParticles(canvasPoseCoordinates);
}
}
});
@@ -86953,10 +87081,63 @@ function createDetectorInterval() {
}
}, 100);
}
+/**
+ * Transformer for the detector keypoints
+ * This allows you to move and scale the keypoints before drawing them.
+ *
+ * @param keypoints original keypoints from detector
+ * @param scaleX scale in x direction
+ * @param scaleY scale in y direction
+ * @param shiftX shift in x direction
+ * @param shiftY shift in y direction
+ * @returns {*[]} new array with transformed keypoints
+ */
+
+
+function transformKeypointsForRender(keypoints) {
+ var scaleX = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
+ var scaleY = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
+ var shiftX = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
+ var shiftY = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
+ var canvasCoordinates = [];
+
+ var _iterator = _createForOfIteratorHelper(keypoints),
+ _step;
+
+ try {
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
+ var kp = _step.value;
+ var x = kp.x,
+ y = kp.y,
+ score = kp.score;
+ canvasCoordinates.push({
+ x: scaleX * canvas.width * x / wVideo + shiftX,
+ y: scaleY * canvas.height * y / hVideo + shiftY,
+ score: score
+ });
+ }
+ } catch (err) {
+ _iterator.e(err);
+ } finally {
+ _iterator.f();
+ }
+
+ return canvasCoordinates;
+}
+/**
+ * Event to disable the detection interval
+ */
+
mainVideo.onpause = function () {
clearInterval(intervalVideoPlayId);
};
+/**
+ * Helper function to style the canvas.
+ * We have one canvas for 'normal' paintings and another for WebGL
+ * @param tmpCanvas
+ */
+
function setCanvasStyle(tmpCanvas) {
tmpCanvas.style.position = "absolute";
@@ -86965,6 +87146,12 @@ function setCanvasStyle(tmpCanvas) {
tmpCanvas.style.left = mainVideo.style.cssText.split("; ")[2].split(": ")[1];
tmpCanvas.style.bottom = "0px";
}
+/**
+ * Check resize event for video.
+ *
+ * @type {ResizeObserver}
+ */
+
var resizeObserver = new ResizeObserver(function (entries) {
if (intervalVideoPlayId !== undefined) {
@@ -86976,8 +87163,7 @@ var resizeObserver = new ResizeObserver(function (entries) {
canvas.width = entries[0].target.clientWidth;
canvas.height = entries[0].target.clientHeight;
ctx.width = entries[0].target.clientWidth;
- ctx.height = entries[0].target.clientHeight; // canvasGL.style.left = mainVideo.style.cssText.split("; ")[2].split(": ")[1]
-
+ ctx.height = entries[0].target.clientHeight;
setCanvasStyle(canvasGL);
canvasGL.width = entries[0].target.clientWidth;
canvasGL.height = entries[0].target.clientHeight;
@@ -86986,6 +87172,11 @@ var resizeObserver = new ResizeObserver(function (entries) {
initParticles();
createDetectorInterval();
});
+/**
+ * Draw image at nose keypoint
+ *
+ * @param keypoints
+ */
function drawImage(keypoints) {
if (keypoints !== undefined) {
@@ -86995,30 +87186,40 @@ function drawImage(keypoints) {
ctx.drawImage(img, keypoints[2].x - imgArray[usedImageArrayIndex].rightEyeToLeft * ratio, keypoints[2].y - imgArray[usedImageArrayIndex].rightEyeToTop * ratio, imgArray[usedImageArrayIndex].imgWidth * ratio, imgArray[usedImageArrayIndex].imgHeight * ratio);
}
}
+/**
+ * Draw cicle at every keypoint from detector
+ * @param keypoints
+ */
+
function drawKeyPoints(keypoints) {
- var _iterator = _createForOfIteratorHelper(keypoints),
- _step;
+ var _iterator2 = _createForOfIteratorHelper(keypoints),
+ _step2;
try {
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
- var keypoint = _step.value;
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
+ var keypoint = _step2.value;
ctx.beginPath();
- ctx.arc(keypoint.x, keypoint.y, 2, 0, 2 * Math.PI);
+ ctx.arc(keypoint.x, keypoint.y, 2 * skeletonLineSize, 0, 2 * Math.PI);
ctx.fillStyle = 'blue';
ctx.fill();
}
} catch (err) {
- _iterator.e(err);
+ _iterator2.e(err);
} finally {
- _iterator.f();
+ _iterator2.f();
}
}
+/**
+ * Draw lines between all keypoints in the order
+ * @param keypoints
+ */
+
function drawSkeleton(keypoints) {
ctx.fillStyle = 'white';
ctx.strokeStyle = 'red';
- ctx.lineWidth = 1;
+ ctx.lineWidth = skeletonLineSize;
poseDetection.util.getAdjacentPairs(poseDetection.SupportedModels.MoveNet).forEach(function (_ref) {
var _ref2 = _slicedToArray(_ref, 2),
i = _ref2[0],
@@ -87039,6 +87240,11 @@ function drawSkeleton(keypoints) {
}
});
}
+/**
+ * Draw lines from top to some keypoints
+ * @param keypoints
+ */
+
function drawPuppets(keypoints) {
ctx.fillStyle = 'white';
@@ -87052,6 +87258,14 @@ function drawPuppets(keypoints) {
drawLine(keypoints[15].x, keypoints[15].y, keypoints[15].x, 0);
drawLine(keypoints[16].x, keypoints[16].y, keypoints[16].x, 0);
}
+/**
+ * Helper function to draw line
+ * @param startX
+ * @param startY
+ * @param endX
+ * @param endY
+ */
+
function drawLine(startX, startY, endX, endY) {
ctx.beginPath();
@@ -87059,6 +87273,11 @@ function drawLine(startX, startY, endX, endY) {
ctx.lineTo(endX, endY);
ctx.stroke();
}
+/**
+ * Draw lines from the border to all keypoints from the detector
+ * @param keypoints
+ */
+
function drawSpiderWeb(keypoints) {
ctx.fillStyle = 'white';
@@ -87088,6 +87307,7 @@ function drawSpiderWeb(keypoints) {
document.addEventListener('changeVisualizationFromPlayer', function (e) {
+ clearRandomSwitchInterval();
setNewAnimation(e.detail.animationID);
});
/**
@@ -87105,5 +87325,39 @@ document.addEventListener('displayPoseDreamPopup', function (e) {
showPlayerPopup = !showPlayerPopup;
});
+/**
+ * Event to change the random interval from popup
+ */
+
+document.addEventListener('changeRandomInterval', function (e) {
+ document.getElementById("randomButton").innerText = "Random " + e.detail.interval + "s";
+ randomSwitchSec = e.detail.interval;
+});
+
+function clearRandomSwitchInterval() {
+ if (randomSwitchIntervalID) {
+ clearInterval(randomSwitchIntervalID);
+ }
+}
+/**
+ * Event to start the random animation
+ */
+
+
+document.addEventListener('runRandomAnimation', function (e) {
+ clearRandomSwitchInterval();
+ randomSwitchIntervalID = setInterval(function () {
+ var rndNum = Math.floor(Math.random() * allAnimationIDs.length) + 1;
+ setNewAnimation(allAnimationIDs[rndNum]);
+ }, 1000 * randomSwitchSec);
+});
+/**
+ * Event to change the line size for all skeleton animations
+ */
+
+document.addEventListener('changeSizeSkeleton', function (e) {
+ document.getElementById("changeSizeSkeletonText").innerText = "Skeleton size " + e.detail.interval + "px";
+ skeletonLineSize = e.detail.interval;
+});
},{"regenerator-runtime/runtime":"QVnC","@tensorflow-models/pose-detection":"CoLD","@tensorflow/tfjs-backend-webgl":"gNVZ","proton-engine":"l8qd"}]},{},["pILq"], null)
//# sourceMappingURL=/content.js.map
\ No newline at end of file
diff --git a/dist/content.js.map b/dist/content.js.map
index 6a93e46..d3e82d2 100644
--- a/dist/content.js.map
+++ b/dist/content.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../node_modules/regenerator-runtime/runtime.js","../node_modules/@mediapipe/pose/pose.js","../../src/backends/backend.ts","../src/util_base.ts","../src/environment.ts","C:/Users/bliss/AppData/Roaming/npm/node_modules/parcel-bundler/node_modules/process/browser.js","../src/global_util.ts","../src/kernel_names.ts","../src/kernel_registry.ts","../node_modules/long/src/long.js","../src/hash_util.ts","../src/util.ts","../src/profiler.ts","../src/tape.ts","../src/tensor_format.ts","../src/tensor.ts","../src/types.ts","../src/tensor_util.ts","../src/engine.ts","../src/device_util.ts","../src/flags.ts","../src/tensor_util_env.ts","../../src/ops/operation.ts","../../src/ops/complex.ts","../../src/ops/tensor_ops_util.ts","../../src/ops/tensor.ts","../../src/io/types.ts","C:/Users/bliss/AppData/Roaming/npm/node_modules/parcel-bundler/node_modules/base64-js/index.js","C:/Users/bliss/AppData/Roaming/npm/node_modules/parcel-bundler/node_modules/ieee754/index.js","C:/Users/bliss/AppData/Roaming/npm/node_modules/parcel-bundler/node_modules/isarray/index.js","C:/Users/bliss/AppData/Roaming/npm/node_modules/parcel-bundler/node_modules/buffer/index.js","../../src/io/io_utils.ts","../../src/io/router_registry.ts","../../src/io/indexed_db.ts","../../src/io/local_storage.ts","../../src/io/model_management.ts","../../src/platforms/platform_browser.ts","../../src/platforms/platform_node.ts","../../src/ops/buffer.ts","../../src/ops/cast.ts","../../src/ops/clone.ts","../../src/ops/print.ts","../src/base_side_effects.ts","../../src/io/browser_files.ts","../../src/io/progress.ts","../../src/io/weights_loader.ts","../../src/io/http.ts","../../src/io/passthrough.ts","../../src/io/io.ts","../../src/ops/mat_mul.ts","../../src/ops/one_hot.ts","../../src/ops/transpose.ts","../../src/ops/confusion_matrix.ts","../src/math.ts","../../src/ops/tensor3d.ts","../../src/ops/browser.ts","../../src/ops/gather_nd_util.ts","../../src/ops/scatter_nd_util.ts","../../src/ops/slice_util.ts","../src/serialization.ts","../src/test_util.ts","../src/version.ts","../src/globals.ts","../../src/ops/add.ts","../../src/ops/floorDiv.ts","../../src/ops/div.ts","../../src/ops/mul.ts","../../src/ops/abs.ts","../../src/ops/acos.ts","../../src/ops/acosh.ts","../../src/ops/add_n.ts","../../src/ops/all.ts","../../src/ops/any.ts","../../src/ops/arg_max.ts","../../src/ops/arg_min.ts","../../src/ops/asin.ts","../../src/ops/asinh.ts","../../src/ops/atan.ts","../../src/ops/atan2.ts","../../src/ops/atanh.ts","../../src/ops/conv_util.ts","../../src/ops/reshape.ts","../../src/ops/avg_pool.ts","../../src/ops/avg_pool_3d.ts","../../src/ops/concat.ts","../../src/ops/sigmoid.ts","../../src/ops/slice.ts","../../src/ops/tanh.ts","../../src/ops/basic_lstm_cell.ts","../../src/ops/batch_to_space_nd.ts","../../src/ops/batchnorm_util.ts","../../src/ops/batchnorm.ts","../../src/ops/batchnorm2d.ts","../../src/ops/batchnorm3d.ts","../../src/ops/batchnorm4d.ts","../../src/ops/bincount.ts","../../src/ops/broadcast_to.ts","../../src/ops/ceil.ts","../../src/ops/clip_by_value.ts","../../src/ops/concat_1d.ts","../../src/ops/concat_2d.ts","../../src/ops/concat_3d.ts","../../src/ops/concat_4d.ts","../../src/ops/conv2d.ts","../../src/ops/conv1d.ts","../../src/ops/conv2d_backprop_input.ts","../../src/ops/conv2d_transpose.ts","../../src/ops/conv3d.ts","../../src/ops/conv3d_backprop_input.ts","../../src/ops/conv3d_transpose.ts","../../src/ops/cos.ts","../../src/ops/cosh.ts","../../src/ops/cumsum.ts","../../src/ops/dense_bincount.ts","../../src/ops/depth_to_space.ts","../../src/ops/depthwise_conv2d.ts","../../src/ops/diag.ts","../../src/ops/dilation2d.ts","../../src/ops/broadcast_util.ts","../../src/ops/equal.ts","../../src/ops/where.ts","../../src/ops/zeros_like.ts","../../src/ops/div_no_nan.ts","../../src/ops/dot.ts","../../src/ops/einsum.ts","../../src/ops/elu.ts","../../src/ops/erf.ts","../../src/ops/exp.ts","../../src/ops/expand_dims.ts","../../src/ops/expm1.ts","../../src/ops/tile.ts","../../src/ops/eye.ts","../../src/ops/fill.ts","../../src/ops/floor.ts","../../src/ops/gather.ts","../../src/ops/greater.ts","../../src/ops/greater_equal.ts","../../src/ops/imag.ts","../../src/ops/is_finite.ts","../../src/ops/is_inf.ts","../../src/ops/is_nan.ts","../../src/ops/leaky_relu.ts","../../src/ops/less.ts","../../src/ops/less_equal.ts","../../src/ops/linspace.ts","../../src/ops/local_response_normalization.ts","../../src/ops/log.ts","../../src/ops/log1p.ts","../src/gradients.ts","../../src/ops/neg.ts","../../src/ops/softplus.ts","../../src/ops/log_sigmoid.ts","../../src/ops/max.ts","../../src/ops/sub.ts","../../src/ops/sum.ts","../../src/ops/log_softmax.ts","../../src/ops/axis_util.ts","../../src/ops/log_sum_exp.ts","../../src/ops/logical_and.ts","../../src/ops/logical_not.ts","../../src/ops/logical_or.ts","../../src/ops/logical_xor.ts","../../src/ops/max_pool.ts","../../src/ops/max_pool_3d.ts","../../src/ops/max_pool_with_argmax.ts","../../src/ops/maximum.ts","../../src/ops/mean.ts","../../src/ops/zeros.ts","../../src/ops/ones.ts","../../src/ops/meshgrid.ts","../../src/ops/min.ts","../../src/ops/minimum.ts","../../src/ops/mirror_pad.ts","../../src/ops/mod.ts","../../src/ops/square.ts","../../src/ops/moments.ts","../../src/ops/multi_rnn_cell.ts","../../src/ops/multinomial.ts","../../src/ops/not_equal.ts","../../src/ops/ones_like.ts","../../src/ops/outer_product.ts","../../src/ops/pad.ts","../../src/ops/pad1d.ts","../../src/ops/pad2d.ts","../../src/ops/pad3d.ts","../../src/ops/pad4d.ts","../../src/ops/space_to_batch_nd.ts","../../src/ops/pool.ts","../../src/ops/pow.ts","../../src/ops/prelu.ts","../../src/ops/prod.ts","../../src/ops/rand.ts","../node_modules/seedrandom/lib/alea.js","../node_modules/seedrandom/lib/xor128.js","../node_modules/seedrandom/lib/xorwow.js","../node_modules/seedrandom/lib/xorshift7.js","../node_modules/seedrandom/lib/xor4096.js","../node_modules/seedrandom/lib/tychei.js","../node_modules/seedrandom/seedrandom.js","../node_modules/seedrandom/index.js","../../src/ops/rand_util.ts","../../src/ops/random_gamma.ts","../../src/ops/random_normal.ts","../../src/ops/random_uniform.ts","../../src/ops/range.ts","../../src/ops/real.ts","../../src/ops/reciprocal.ts","../../src/ops/relu.ts","../../src/ops/relu6.ts","../../src/ops/reverse.ts","../../src/ops/reverse_1d.ts","../../src/ops/reverse_2d.ts","../../src/ops/reverse_3d.ts","../../src/ops/reverse_4d.ts","../../src/ops/round.ts","../../src/ops/rsqrt.ts","../../src/ops/scalar.ts","../../src/ops/selu.ts","../../src/ops/separable_conv2d.ts","../../src/ops/setdiff1d_async.ts","../../src/ops/sign.ts","../../src/ops/sin.ts","../../src/ops/sinh.ts","../../src/ops/slice1d.ts","../../src/ops/slice2d.ts","../../src/ops/slice3d.ts","../../src/ops/slice4d.ts","../../src/ops/softmax.ts","../../../src/ops/spectral/fft.ts","../../../src/ops/spectral/ifft.ts","../../../src/ops/spectral/irfft.ts","../../src/ops/split.ts","../../../src/ops/spectral/rfft.ts","../../src/ops/sqrt.ts","../../src/ops/squared_difference.ts","../../src/ops/squeeze.ts","../../src/ops/stack.ts","../../src/ops/step.ts","../../src/ops/strided_slice.ts","../../src/ops/tan.ts","../../src/ops/tensor1d.ts","../../src/ops/tensor2d.ts","../../src/ops/tensor4d.ts","../../src/ops/tensor5d.ts","../../src/ops/tensor6d.ts","../../src/ops/topk.ts","../../src/ops/truncated_normal.ts","../../src/ops/unique.ts","../../src/ops/unsorted_segment_sum.ts","../../src/ops/unstack.ts","../../src/ops/variable.ts","../../src/backends/where_impl.ts","../../src/ops/where_async.ts","../../src/ops/boolean_mask.ts","../../src/ops/norm.ts","../../src/ops/moving_average.ts","../../src/ops/scatter_nd.ts","../../src/ops/sparse_to_dense_util.ts","../../src/ops/sparse_to_dense.ts","../../src/ops/gather_nd.ts","../../src/ops/dropout_util.ts","../../src/ops/dropout.ts","../../src/ops/signal_ops_util.ts","../../src/ops/in_top_k.ts","../../src/ops/conv2d_backprop_filter.ts","../../src/ops/fused_util.ts","../../../src/ops/fused/conv2d.ts","../../src/ops/depthwise_conv2d_native_backprop_filter.ts","../../src/ops/depthwise_conv2d_native_backprop_input.ts","../../../src/ops/fused/depthwise_conv2d.ts","../../../src/ops/fused/mat_mul.ts","../../src/ops/fused_ops.ts","../../../src/ops/signal/hamming_window.ts","../../../src/ops/signal/hann_window.ts","../../../src/ops/signal/frame.ts","../../../src/ops/signal/stft.ts","../../../src/ops/image/crop_and_resize.ts","../../../src/ops/image/flip_left_right.ts","../../../src/ops/image/rotate_with_offset.ts","../../src/ops/nonmax_util.ts","../../../src/ops/image/non_max_suppression.ts","../../src/backends/non_max_suppression_util.ts","../../src/backends/non_max_suppression_impl.ts","../../../src/ops/image/non_max_suppression_async.ts","../../../src/ops/image/non_max_suppression_with_score.ts","../../../src/ops/image/non_max_suppression_with_score_async.ts","../../../src/ops/image/non_max_suppression_padded.ts","../../../src/ops/image/non_max_suppression_padded_async.ts","../../../src/ops/image/resize_bilinear.ts","../../../src/ops/image/resize_nearest_neighbor.ts","../../../src/ops/image/threshold.ts","../../../src/ops/image/transform.ts","../../../src/ops/linalg/band_part.ts","../../../src/ops/linalg/gram_schmidt.ts","../../../src/ops/linalg/qr.ts","../../src/ops/loss_ops_utils.ts","../../../src/ops/losses/compute_weighted_loss.ts","../../../src/ops/losses/absolute_difference.ts","../../../src/ops/losses/cosine_distance.ts","../../../src/ops/losses/hinge_loss.ts","../../../src/ops/losses/huber_loss.ts","../../../src/ops/losses/log_loss.ts","../../../src/ops/losses/mean_squared_error.ts","../../../src/ops/losses/sigmoid_cross_entropy.ts","../../../src/ops/losses/softmax_cross_entropy.ts","../../../src/ops/sparse/sparse_fill_empty_rows.ts","../../../src/ops/sparse/sparse_reshape.ts","../../../src/ops/sparse/sparse_segment_mean.ts","../../../src/ops/sparse/sparse_segment_sum.ts","../../../src/ops/string/string_n_grams.ts","../../../src/ops/string/string_split.ts","../../../src/ops/string/string_to_hash_bucket_fast.ts","../../src/ops/ops.ts","../../src/optimizers/optimizer.ts","../../src/optimizers/adadelta_optimizer.ts","../../src/optimizers/adagrad_optimizer.ts","../../src/optimizers/adam_optimizer.ts","../../src/optimizers/adamax_optimizer.ts","../../src/optimizers/sgd_optimizer.ts","../../src/optimizers/momentum_optimizer.ts","../../src/optimizers/rmsprop_optimizer.ts","../../src/optimizers/optimizer_constructors.ts","../src/train.ts","../src/browser_util.ts","../../src/ops/concat_util.ts","../../src/ops/reduce_util.ts","../../src/ops/rotate_util.ts","../../src/ops/array_ops_util.ts","../../src/ops/selu_util.ts","../../src/ops/erf_util.ts","../src/log.ts","../../src/backends/complex_util.ts","../../src/backends/einsum_util.ts","../../src/ops/split_util.ts","../../src/ops/segment_util.ts","../../src/backends/backend_util.ts","../../src/backends/kernel_impls.ts","../src/base.ts","../src/index.ts","../../src/data/compiled_api.ts","../../../src/operations/custom_op/register.ts","../../../src/operations/executors/utils.ts","../../../src/operations/op_list/arithmetic.ts","../../../src/operations/op_list/basic_math.ts","../../../src/operations/op_list/control.ts","../../../src/operations/op_list/convolution.ts","../../../src/operations/op_list/creation.ts","../../../src/operations/op_list/dynamic.ts","../../../src/operations/op_list/evaluation.ts","../../../src/operations/op_list/graph.ts","../../../src/operations/op_list/hash_table.ts","../../../src/operations/op_list/image.ts","../../../src/operations/op_list/logical.ts","../../../src/operations/op_list/matrices.ts","../../../src/operations/op_list/normalization.ts","../../../src/operations/op_list/reduction.ts","../../../src/operations/op_list/slice_join.ts","../../../src/operations/op_list/sparse.ts","../../../src/operations/op_list/spectral.ts","../../../src/operations/op_list/string.ts","../../../src/operations/op_list/transformation.ts","../../src/operations/operation_mapper.ts","../../../src/operations/custom_op/node_value_impl.ts","../../src/ops/ops_for_converter.ts","../../../src/operations/executors/arithmetic_executor.ts","../../../src/operations/executors/basic_math_executor.ts","../../src/executor/tensor_utils.ts","../../src/executor/tensor_array.ts","../../src/executor/tensor_list.ts","../../../src/operations/executors/control_executor.ts","../../../src/operations/executors/convolution_executor.ts","../../../src/operations/executors/creation_executor.ts","../../../src/operations/executors/dynamic_executor.ts","../../../src/operations/executors/evaluation_executor.ts","../../../src/operations/executors/graph_executor.ts","../../src/executor/hash_table.ts","../../../src/operations/executors/hash_table_executor.ts","../../../src/operations/executors/image_executor.ts","../../../src/operations/executors/logical_executor.ts","../../../src/operations/executors/matrices_executor.ts","../../../src/operations/executors/normalization_executor.ts","../../../src/operations/executors/reduction_executor.ts","../../../src/operations/executors/slice_join_executor.ts","../../../src/operations/executors/sparse_executor.ts","../../../src/operations/executors/spectral_executor.ts","../../../src/operations/executors/string_executor.ts","../../../src/operations/executors/transformation_executor.ts","../../src/operations/operation_executor.ts","../../src/executor/execution_context.ts","../../src/executor/model_analysis.ts","../../src/executor/graph_executor.ts","../../src/executor/resource_manager.ts","../../src/executor/graph_model.ts","../node_modules/@tensorflow-models/pose-detection/dist/pose-detection.esm.js","../src/canvas_util.ts","../src/tex_util.ts","../src/webgl_util.ts","../src/flags_webgl.ts","../src/glsl_version.ts","../src/shader_compiler_util.ts","../src/decode_matrix_gpu.ts","../src/decode_matrix_packed_gpu.ts","../src/encode_float_gpu.ts","../src/encode_float_packed_gpu.ts","../src/encode_matrix_gpu.ts","../src/encode_matrix_packed_gpu.ts","../src/gpgpu_util.ts","../src/gpgpu_context.ts","../src/shader_compiler.ts","../src/gpgpu_math.ts","../src/cpu_util.ts","../../src/kernels/Abs.ts","../../src/utils/binary_impl.ts","../../src/kernels/Complex.ts","../../src/utils/zeros_impl.ts","../../src/kernels/Identity.ts","../../src/kernels/Real.ts","../../src/kernels/Cast.ts","../../src/utils/binary_utils.ts","../../src/kernels/Add.ts","../../src/kernels/Bincount_impl.ts","../../src/utils/unary_impl.ts","../../src/utils/unary_utils.ts","../../src/kernels/Ceil.ts","../../src/kernels/Concat_impl.ts","../../src/kernels/Equal.ts","../../src/kernels/Exp.ts","../../src/kernels/Expm1.ts","../../src/kernels/Floor.ts","../../src/kernels/GatherNd_Impl.ts","../../src/kernels/GatherV2_impl.ts","../../src/kernels/Greater.ts","../../src/kernels/GreaterEqual.ts","../../src/kernels/Less.ts","../../src/kernels/LessEqual.ts","../../src/kernels/LinSpace_impl.ts","../../src/kernels/Log.ts","../../src/kernels/Max_impl.ts","../../src/kernels/Maximum.ts","../../src/kernels/Minimum.ts","../../src/kernels/Multiply.ts","../../src/kernels/Neg.ts","../../src/kernels/NotEqual.ts","../../src/kernels/Transpose_impl.ts","../../src/kernels/Transpose.ts","../../src/kernels/Prod.ts","../../src/kernels/Range_impl.ts","../../src/kernels/Rsqrt.ts","../../src/kernels/Slice.ts","../../src/kernels/SparseFillEmptyRows_impl.ts","../../src/kernels/SparseReshape_impl.ts","../../src/kernels/SparseSegmentReduction_impl.ts","../../src/kernels/SquaredDifference.ts","../../src/kernels/StridedSlice_impl.ts","../../src/kernels/StringNGrams_impl.ts","../../src/kernels/StringSplit_impl.ts","../../src/kernels/StringToHashBucketFast_impl.ts","../../src/kernels/Sub.ts","../../src/kernels/Tile_impl.ts","../../src/kernels/TopK_impl.ts","../../src/kernels/Unique_impl.ts","../src/shared.ts","../../src/kernel_utils/shared.ts","../src/packing_util.ts","../src/pack_gpu.ts","../src/reshape_packed_gpu.ts","../src/texture_manager.ts","../src/unaryop_gpu.ts","../src/unaryop_packed_gpu.ts","../src/unpack_gpu.ts","../src/backend_webgl.ts","../src/webgl.ts","../src/binaryop_gpu.ts","../src/binaryop_packed_gpu.ts","../../src/kernels/LeakyRelu.ts","../../src/kernels/Prelu.ts","../../src/kernel_utils/kernel_funcs_utils.ts","../src/mulmat_packed_gpu.ts","../src/binaryop_complex_gpu.ts","../../src/kernel_utils/reshape.ts","../../src/kernels/Reshape.ts","../src/mean_gpu.ts","../src/reduce_gpu.ts","../../src/kernel_utils/reduce.ts","../src/transpose_gpu.ts","../src/transpose_packed_gpu.ts","../../src/kernels/Sum_impl.ts","../../src/kernels/Sum.ts","../../src/kernels/BatchMatMul_impl.ts","../../src/kernels/_FusedMatMul.ts","../../src/kernels/Acos.ts","../../src/kernels/Acosh.ts","../src/addn_gpu.ts","../src/addn_packed_gpu.ts","../../src/kernels/AddN.ts","../../src/kernels/All.ts","../../src/kernels/Any.ts","../src/argminmax_gpu.ts","../src/argminmax_packed_gpu.ts","../../src/kernel_utils/arg_min_max.ts","../../src/kernels/ArgMax.ts","../../src/kernels/ArgMin.ts","../../src/kernels/Asin.ts","../../src/kernels/Asinh.ts","../../src/kernels/Atan.ts","../../src/kernels/Atan2.ts","../../src/kernels/Atanh.ts","../src/pool_gpu.ts","../../src/kernels/AvgPool.ts","../../src/kernels/AvgPool3D.ts","../src/avg_pool_backprop_gpu.ts","../../src/kernels/AvgPool3DGrad.ts","../../src/kernels/AvgPoolGrad.ts","../../src/kernels/BatchMatMul.ts","../src/batchnorm_gpu.ts","../src/batchnorm_packed_gpu.ts","../../src/kernels/BatchNorm.ts","../src/slice_gpu.ts","../src/slice_packed_gpu.ts","../../src/kernels/BatchToSpaceND.ts","../../src/kernels/Bincount.ts","../../src/kernel_utils/int.ts","../src/clip_gpu.ts","../src/clip_packed_gpu.ts","../../src/kernels/ClipByValue.ts","../src/complex_abs_gpu.ts","../../src/kernels/ComplexAbs.ts","../src/concat_gpu.ts","../src/concat_packed_gpu.ts","../../src/kernels/Imag.ts","../../src/kernels/Concat.ts","../src/conv_gpu.ts","../src/im2col_packed_gpu.ts","../../src/kernels/Conv2D_impl.ts","../../src/kernels/Conv2D.ts","../src/conv_backprop_gpu.ts","../../src/kernels/Conv2DBackpropFilter.ts","../../src/kernels/Conv2DBackpropInput.ts","../../src/kernels/Conv3D.ts","../../src/kernels/Conv3DBackpropFilterV2.ts","../../src/kernels/Conv3DBackpropInputV2.ts","../../src/kernels/Cos.ts","../../src/kernels/Cosh.ts","../src/crop_and_resize_gpu.ts","../../src/kernels/CropAndResize.ts","../src/cumsum_gpu.ts","../../src/kernels/Cumsum.ts","../../src/kernels/DenseBincount.ts","../src/depth_to_space_gpu.ts","../../src/kernels/DepthToSpace.ts","../src/conv_gpu_depthwise.ts","../src/conv_packed_gpu_depthwise.ts","../../src/kernels/DepthwiseConv2dNative.ts","../src/conv_backprop_gpu_depthwise.ts","../../src/kernels/DepthwiseConv2dNativeBackpropFilter.ts","../../src/kernels/DepthwiseConv2dNativeBackpropInput.ts","../src/diag_gpu.ts","../../src/kernels/Diag.ts","../src/dilation_gpu.ts","../../src/kernels/Dilation2D.ts","../../src/kernels/Einsum.ts","../../src/kernels/Elu.ts","../../src/kernels/EluGrad.ts","../../src/kernels/Erf.ts","../../src/kernels/ExpandDims.ts","../src/fft_gpu.ts","../../src/kernels/FFT_impl.ts","../../src/kernels/FFT.ts","../src/fill_gpu.ts","../../src/kernels/Fill.ts","../src/flip_left_right_gpu.ts","../../src/kernels/FlipLeftRight.ts","../../src/kernels/FloorDiv.ts","../../../src/kernels/FromPixels_utils/from_pixels_gpu.ts","../../../src/kernels/FromPixels_utils/from_pixels_packed_gpu.ts","../../src/kernels/FromPixels.ts","../../src/kernels/FusedConv2D.ts","../../src/kernels/FusedDepthwiseConv2D.ts","../src/gather_nd_gpu.ts","../../src/kernels/GatherNd.ts","../src/gather_gpu.ts","../../src/kernels/GatherV2.ts","../../src/kernels/IFFT.ts","../../src/kernels/IsFinite.ts","../../src/kernels/IsInf.ts","../../src/kernels/IsNaN.ts","../../src/kernels/LinSpace.ts","../../src/kernels/Log1p.ts","../../src/kernels/LogicalAnd.ts","../../src/kernels/LogicalNot.ts","../../src/kernels/LogicalOr.ts","../src/lrn_gpu.ts","../src/lrn_packed_gpu.ts","../../src/kernels/LRN.ts","../src/lrn_grad_gpu.ts","../../src/kernels/LRNGrad.ts","../../src/kernels/Max.ts","../../src/kernels/MaxPool.ts","../../src/kernels/MaxPool3D.ts","../src/max_pool_backprop_gpu.ts","../../src/kernels/MaxPool3DGrad.ts","../../src/kernels/MaxPoolGrad.ts","../../src/kernels/MaxPoolWithArgmax_impl.ts","../../src/kernels/MaxPoolWithArgmax.ts","../../src/kernels/Mean_impl.ts","../../src/kernels/Mean.ts","../../src/kernels/Min.ts","../src/mirror_pad_gpu.ts","../src/mirror_pad_packed_gpu.ts","../../src/kernels/MirrorPad.ts","../../src/kernels/Mod.ts","../src/multinomial_gpu.ts","../../src/kernels/RealDiv.ts","../../src/kernels/Softmax.ts","../../src/kernels/Multinomial.ts","../../src/kernels/NonMaxSuppressionV3.ts","../../src/kernels/NonMaxSuppressionV4.ts","../../src/kernels/NonMaxSuppressionV5.ts","../src/onehot_gpu.ts","../../src/kernels/OneHot.ts","../../src/kernels/ZerosLike.ts","../../src/kernels/OnesLike.ts","../../src/kernels/Pack.ts","../src/pad_gpu.ts","../src/pad_packed_gpu.ts","../../src/kernels/PadV2.ts","../../src/kernels/Pow.ts","../../src/kernels/Range.ts","../../src/kernels/Reciprocal.ts","../../src/kernels/Relu.ts","../../src/kernels/Relu6.ts","../src/resize_bilinear_gpu.ts","../src/resize_bilinear_packed_gpu.ts","../../src/kernels/ResizeBilinear.ts","../src/resize_bilinear_backprop_gpu.ts","../../src/kernels/ResizeBilinearGrad.ts","../src/resize_nearest_neighbor_gpu.ts","../src/resize_nearest_neighbor_packed_gpu.ts","../../src/kernels/ResizeNearestNeighbor.ts","../src/resize_nearest_neighbor_backprop_gpu.ts","../../src/kernels/ResizeNearestNeighborGrad.ts","../src/reverse_gpu.ts","../src/reverse_packed_gpu.ts","../../src/kernels/Reverse.ts","../src/rotate_gpu.ts","../../src/kernels/RotateWithOffset.ts","../../src/kernels/Round.ts","../src/scatter_gpu.ts","../../src/kernels/ScatterNd.ts","../src/select_gpu.ts","../../src/kernels/Select.ts","../../src/kernels/Selu.ts","../../src/kernels/Sigmoid.ts","../../src/kernels/Sign.ts","../../src/kernels/Sin.ts","../../src/kernels/Sinh.ts","../../src/kernels/Softplus.ts","../../src/kernels/SpaceToBatchND.ts","../../src/kernels/SparseFillEmptyRows.ts","../../src/kernels/SparseReshape.ts","../../src/kernels/SparseSegmentMean.ts","../../src/kernels/SparseSegmentSum.ts","../../src/kernels/SparseToDense.ts","../../src/kernels/SplitV.ts","../../src/kernels/Sqrt.ts","../../src/kernels/Square.ts","../../src/kernels/Step.ts","../src/strided_slice_gpu.ts","../../src/kernels/StridedSlice.ts","../../src/kernels/StringNGrams.ts","../../src/kernels/StringSplit.ts","../../src/kernels/StringToHashBucketFast.ts","../../src/kernels/Tan.ts","../../src/kernels/Tanh.ts","../src/tile_gpu.ts","../../src/kernels/Tile.ts","../src/top_k_gpu.ts","../../src/kernels/TopK.ts","../src/transform_gpu.ts","../../src/kernels/Transform.ts","../../src/kernels/Unique.ts","../../src/kernels/Unpack.ts","../src/segment_gpu.ts","../../src/kernels/UnsortedSegmentSum.ts","../src/register_all_kernels.ts","../src/math/MathUtil.js","../src/math/Span.js","../src/utils/WebGLUtil.js","../src/utils/DomUtil.js","../src/utils/ImgUtil.js","../src/utils/Util.js","../src/utils/Puid.js","../src/core/Pool.js","../src/debug/Stats.js","../src/events/EventDispatcher.js","../src/math/Integration.js","../src/core/Proton.js","../src/utils/Rgb.js","../src/math/ease.js","../src/math/Vector2D.js","../src/core/Particle.js","../src/utils/ColorUtil.js","../src/math/Polar2D.js","../src/math/Mat3.js","../src/math/ArraySpan.js","../src/math/Rectangle.js","../src/initialize/Rate.js","../src/initialize/Initialize.js","../src/initialize/Life.js","../src/zone/Zone.js","../src/zone/PointZone.js","../src/initialize/Position.js","../src/initialize/Velocity.js","../src/initialize/Mass.js","../src/initialize/Radius.js","../src/initialize/Body.js","../src/behaviour/Behaviour.js","../src/behaviour/Force.js","../src/behaviour/Attraction.js","../src/behaviour/RandomDrift.js","../src/behaviour/Gravity.js","../src/behaviour/Collision.js","../src/behaviour/CrossZone.js","../src/behaviour/Alpha.js","../src/behaviour/Scale.js","../src/behaviour/Rotate.js","../src/behaviour/Color.js","../src/behaviour/Cyclone.js","../src/behaviour/Repulsion.js","../src/behaviour/GravityWell.js","../src/initialize/InitializeUtil.js","../src/emitter/Emitter.js","../src/emitter/BehaviourEmitter.js","../src/emitter/FollowEmitter.js","../src/render/BaseRenderer.js","../src/render/CanvasRenderer.js","../src/render/DomRenderer.js","../src/render/EaselRenderer.js","../src/render/PixelRenderer.js","../src/render/PixiRenderer.js","../src/utils/MStack.js","../src/render/WebGLRenderer.js","../src/render/CustomRenderer.js","../src/zone/LineZone.js","../src/zone/CircleZone.js","../src/zone/RectZone.js","../src/zone/ImageZone.js","../src/debug/Debug.js","../src/index.js","content.js"],"names":["process","module","exports","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","setTimeout","e","clearTimeout","runTimeout","fun","call","runClearTimeout","marker","queue","draining","currentQueue","queueIndex","cleanUpNextTick","length","concat","drainQueue","timeout","len","run","nextTick","args","Array","arguments","i","push","Item","array","prototype","apply","title","env","argv","version","versions","noop","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","O","t","Object","setPrototypeOf","__proto__","hasOwnProperty","R","constructor","create","C","assign","n","r","E","Promise","o","s","h","next","a","throw","done","value","then","A","label","sent","trys","ops","return","Symbol","iterator","TypeError","pop","z","I","B","left","right","middle","N","V","K","L","runtime","enableSmoothing","modelType","D","width","height","selfieMode","poseSolution","locateFile","solutionPath","replace","setOptions","modelComplexity","smoothLandmarks","onResults","image","poseLandmarks","poses","translateOutput","poseWorldLandmarks","keypoints","map","x","y","score","visibility","keypoints3D","estimatePoses","flipHorizontal","send","dispose","close","reset","initialize","j","q","shape","H","Math","PI","floor","U","fromPixels","X","assert","Y","inputResolution","keepAspectRatio","u","c","xCenter","yCenter","rotation","p","top","bottom","l","imageTensor","cos","sin","transform","padding","W","currentTime","G","alpha","initialized","storedValue","asinh","rawValue","applyWithAlpha","hasLastRawValue","lastRawValue","Q","frequency","minCutOff","beta","thresholdCutOff","thresholdBeta","derivateCutOff","getAlpha","dx","lastTimestamp","trunc","abs","Z","config","initializeFiltersIfEmpty","minAllowedObjectScale","slice","xFilters","yFilters","zFilters","$","J","window","lowPassFilter","lastValue","lastValueScale","duration","distance","f","velocityScale","unshift","windowSize","tt","disableValueScaling","et","it","velocityFilter","keypointsFilter","oneEuroFilter","nt","scale","offset","rt","rotationVectorStartKeypointIndex","rotationVectorEndKeypointIndex","locationData","relativeKeypoints","sqrt","rotationVectorTargetAngle","rotationVectorTargetAngleDegree","atan2","ot","st","predict","boxes","scores","at","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","min","max","relativeBoundingBox","xMin","yMin","xMax","yMax","ht","nonMaxSuppressionAsync","filter","indexOf","lt","m","g","v","w","k","b","M","S","T","P","_","F","buffer","kernelSize","get","minConfidenceToRefine","ut","reverseOutputOrder","boxCoordOffset","xScale","yScale","applyExponentialOnBoxSize","hScale","wScale","numBoxes","numKeypoints","keypointCoordOffset","numValuesPerKeypoint","sigmoidScore","scoreClippingThresh","ct","d","data","minScoreThresh","numCoords","pt","flipVertically","ind","ft","size","numLandmarks","inputImageWidth","inputImageHeight","exp","normalizeZ","dt","rotationDegree","shiftX","shiftY","squareLong","squareShort","scaleX","scaleY","mt","visibilityFilters","yt","reduceBoxesInLowestlayer","interpolatedScaleAspectRatio","featureMapHeight","featureMapWidth","numLayers","minScale","maxScale","inputSizeHeight","inputSizeWidth","anchorOffsetX","anchorOffsetY","strides","aspectRatios","fixedAnchorSize","gt","detectorModelUrl","landmarkModelUrl","vt","maxPoses","xt","ignoreClasses","numClasses","wt","kt","bt","Mt","St","Tt","Pt","_t","Ft","Ot","Rt","detectorModel","landmarkModel","regionOfInterest","anchors","reduceBoxesInLowestLayer","ceil","anchorTensor","timestamp","detectPose","poseDetectionToRoi","poseLandmarksByRoi","actualLandmarks","auxiliaryLandmarks","poseScore","poseLandmarkFiltering","actualLandmarksFiltered","auxiliaryLandmarksFiltered","poseLandmarksToRoi","forEach","visibilitySmoothingFilterActual","visibilitySmoothingFilterAuxiliary","landmarksSmoothingFilterActual","landmarksSmoothingFilterAuxiliary","ignoreRotation","Ct","all","fromTFHub","Et","At","zt","maxTracks","maxAge","keypointTrackerParams","keypointConfidenceThreshold","minNumberOfKeypoints","keypointFalloff","tracks","minSimilarity","nextID","filterOldTracks","computeSimilarity","assignTracks","updateTracks","getTracks","getTrackIDs","Set","id","from","keys","createTrack","splice","sort","nextTrackID","box","remove","includes","It","iou","Bt","keypointThreshold","minNumKeyoints","oks","area","pow","Nt","BlazePose","reduce","PoseNet","MoveNet","Keypoint","BoundingBox","Vt","freeze","getKeypointIndexBySide","getAdjacentPairs","getKeypointIndexByName","Kt","Lt","Dt","jt","qt","Ht","trackerParams","Ut","left_hip","right_hip","left_shoulder","right_shoulder","Xt","Yt","minPoseScore","multiPoseMaxDimension","enableTracking","trackerType","trackerConfig","Wt","Gt","moveNetModel","modelInputResolution","keypointIndexByName","multiPoseModel","keypointFilter","cropRegionFilterYMin","cropRegionFilterXMin","cropRegionFilterYMax","cropRegionFilterXMax","tracker","keypointFilterMap","Map","runSinglePersonPoseModel","execute","dataSync","runMultiPersonPoseModel","estimateSinglePose","estimateMultiplePoses","cropRegion","cropAndResize","filterCropRegion","round","resizeBilinear","has","set","delete","resetFilters","Qt","modelUrl","Zt","architecture","outputStride","multiplier","$t","Jt","MobileNetV1","ResNet50","te","ee","ie","ne","re","scoreThreshold","nmsRadius","oe","se","ae","priorityQueue","numberOfElements","getElementValue","enqueue","swim","dequeue","exchange","sink","empty","less","getValueAt","he","le","ue","ce","heatmapY","heatmapX","pe","some","fe","de","me","ye","ge","ve","xe","we","ke","part","be","Me","Se","Te","valueOf","Pe","toTensor","_e","Float32Array","Fe","Oe","Re","Ce","Ee","posenetModel","inputs","Ae","quantBytes","ze","Ie","keypointsToNormalizedKeypoints","Be","SINGLEPOSE_LIGHTNING","SINGLEPOSE_THUNDER","MULTIPOSE_LIGHTNING","MathUtil","num","this","Infinity","random","center","isInt","randomAToB","toString","digits","Span","isArray","Util","getRandFromArray","randomFloating","undefined","pan","getValue","initValue","tx","ty","angleInRadians","sx","sy","a00","a01","a02","a10","a11","a12","a20","a21","a22","b00","b01","b02","b10","b11","b12","b20","b21","b22","position","dom","document","createElement","style","opacity","resize","marginLeft","marginTop","div","rotate","willChange","css3","key","val","bkey","charAt","toUpperCase","substr","imgsCache","canvasCache","canvasId","context","rect","drawImage","imagedata","getImageData","clearRect","img","callback","param","src","Image","onload","target","canvas","WebGLUtil","DomUtil","createCanvas","getContext","defaults","arr","obj","ignore","bind","particle","conf","hasProp","copy","props","prop","getSpanValue","ImgUtil","destroy","source","idsMap","Puid","type","uid","getIdFromCache","_index","_cache","isBody","isInner","Pool","params","__puid","getId","cache","createOrClone","getCache","total","classApply","clone","count","Stats","body","add","emitter","getEmitter","renderer","getRenderer","str","proton","emitters","emitSpeed","getEmitterPos","initializes","concatArr","behaviours","getCreatedNumber","getCount","pool","container","innerHTML","cssText","join","addEventListener","_this","bg","color","parentNode","appendChild","emitterIndex","renderers","rendererIndex","result","cpool","EventDispatcher","listener","_listeners","removeEventListener","handler","dispatchEvent","hasEventListener","removeAllEventListeners","Integration","particles","time","damping","eulerIntegrate","sleep","old","multiplyScalar","mass","clear","Proton","render","init","index","parent","EMITTER_ADDED","EMITTER_REMOVED","_fps","PROTON_UPDATE","USE_CLOCK","Date","getTime","now","elapsed","amendChangeTabsBug","emittersUpdate","DEFAULT_INTERVAL","PROTON_UPDATE_AFTER","_interval","update","destroyAll","destroyOther","getAllParticles","fps","integrationType","stats","EULER","integrator","MEASURE","RK2","PARTICLE_CREATED","PARTICLE_UPDATE","PARTICLE_SLEEP","PARTICLE_DEAD","Rgb","PI_2","ease","easeLinear","Vector2D","addVectors","subVectors","divideScalar","distanceToSquared","tha","dy","Particle","N180_PI","life","age","dead","sprite","energy","radius","easing","rgb","emptyObject","removeAllBehaviours","applyBehaviours","applyBehaviour","behaviour","parents","addBehaviour","emptyArray","setProp","hex16","substring","parseInt","rbg","Polar2D","getX","getY","Mat3","mat3","mat","mat1","mat2","vec","ArraySpan","_arr","randomColor","toArray","Rectangle","Rate","startTime","nextTime","timePan","numPan","numpan","timepan","setSpanValue","Initialize","Life","lifePan","Zone","vector","crossType","alert","PointZone","error","Position","zone","getPosition","Velocity","rpan","thapan","rPan","thaPan","vr","polar2d","normalizeVelocity","PI_180","Mass","massPan","Radius","oldRadius","Body","imageTarget","Behaviour","getEasing","force","removeBehaviour","Force","fx","fy","normalizeForce","calculate","Attraction","targetPosition","normalizeValue","radiusSq","attractionForce","lengthSq","sub","normalize","RandomDrift","driftX","driftY","delay","panFoce","addXY","Gravity","Collision","collisionPool","delta","overlap","totalMass","averageMass1","averageMass2","newPool","otherParticle","CrossZone","crossing","Alpha","same","alphaA","alphaB","Scale","scaleA","scaleB","Rotate","rotationA","rotationB","getDirection","influence","Color","createArraySpan","colorA","ColorUtil","hexToRgb","colorB","CHANGING","Cyclone","angle","span","String","toLowerCase","setAngleAndForce","cangle","cyclone","gradient","getGradient","Repulsion","GravityWell","centerPoint","distanceVec","factor","distanceSq","bindEmitter","setVectorVal","degreeTransform","Emitter","totalTime","stoped","emitTime","isNaN","rate","oldStoped","oldEmitTime","oldTotalTime","initAll","rest","initializer","emitting","integrate","dispatch","expire","event","bindEvent","createParticle","setupParticle","addBehaviours","stop","removeAllInitializers","removeEmitter","BehaviourEmitter","selfBehaviours","FollowEmitter","mousemoveHandler","_this2","mousemove","mousedownHandler","mousedown","mouseupHandler","mouseup","mouseTarget","_allowEmitting","layerX","layerY","offsetX","offsetY","babelHelpers.get","initEventHandler","BaseRenderer","thinkness","stroke","_protonUpdateHandler","onProtonUpdate","_protonUpdateAfterHandler","onProtonUpdateAfter","_emitterAddedHandler","onEmitterAdded","_emitterRemovedHandler","onEmitterRemoved","_particleCreatedHandler","onParticleCreated","_particleUpdateHandler","onParticleUpdate","_particleDeadHandler","onParticleDead","element","circleConf","isCircle","initHandler","CanvasRenderer","addImg2Body","drawCircle","bufContext","createBuffer","globalAlpha","globalCompositeOperation","fillStyle","rgbToHex","fillRect","save","translate","restore","beginPath","arc","strokeStyle","lineWidth","closePath","fill","bufferCache","DomRenderer","bodyReady","transform3d","backgroundColor","removeChild","babelHelpers.typeof","createCircle","createSprite","createDiv","borderRadius","borderColor","borderWidth","url","backgroundImage","createBody","EaselRenderer","addChild","graphics","regX","regY","createjs","Graphics","beginStroke","beginFill","Shape","PixelRenderer","rectangle","imageData","createImageData","putImageData","setPixel","elementwidth","PIXIClass","PixiRenderer","PIXI","Sprite","createFromImage","fromImage","blendMode","setColor","tint","getHex16FromParticle","anchor","endFill","setPIXI","MStack","mats","multiply","umat","smat","mstack","gl","viewport","circleCanvasURL","texturebuffers","blendEquation","blendFunc","fs","shader","createShader","FRAGMENT_SHADER","VERTEX_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","fragmentShader","getShader","getFragmentShader","vertexShader","getVertexShader","sprogram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","useProgram","vpa","getAttribLocation","tca","enableVertexAttribArray","tMatUniform","getUniformLocation","samplerUniform","useTex","uniform1i","idx","unitIBuffer","bindBuffer","ELEMENT_ARRAY_BUFFER","bufferData","Uint16Array","STATIC_DRAW","ids","unitI33","stripBuffer","raidus","circleCanvasRadius","toDataURL","_w","_h","_width","_height","_scaleX","_scaleY","createTexture","texture","vcBuffer","tcBuffer","ARRAY_BUFFER","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","LINEAR","TEXTURE_MIN_FILTER","LINEAR_MIPMAP_NEAREST","generateMipmap","textureLoaded","textureWidth","textureHeight","tmat","imat","oldScale","drawImg2Canvas","updateMatrix","uniform3f","uniformMatrix3fv","vertexAttribPointer","FLOAT","drawElements","TRIANGLES","UNSIGNED_SHORT","moveOriginMatrix","translationMatrix","angel","rotationMatrix","scaleMatrix","matrix","inverse","WebGLRenderer","antialias","stencil","depth","initVar","setMaxRadius","initShaders","initBuffers","FUNC_ADD","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","enable","BLEND","CustomRenderer","LineZone","x1","y1","dot","xxyy","tha2","oldx","oldy","maxx","minx","maxy","miny","direction","rangeOut","getDistance","getSymmetric","x2","y2","getLength","CircleZone","PIx2","randomRadius","distanceTo","RectZone","vectors","setVectors","length1","length2","getBound","negate","ImageZone","func","getStyle","moveTo","lineTo","drawRect","Vector","Polar","getSpan","Init","RD","WebGlRenderer","Debug","mainVideo","getElementsByClassName","intervalVideoPlayId","detector","poseDetection","createDetector","SupportedModels","movenet","console","log","currentAnimation","ctx","webGLtx","canvasGL","protonEmitterArray","particlesEffectType","attractionBehaviour","attractionBehaviours","nosePosition","leftHandPosition","rightHandPosition","isParticleInit","rendererGL","startParticleInit","startTick","showPlayerPopup","usedImageArrayIndex","imgArray","lastUrl","location","href","MutationObserver","onUrlChange","observe","subtree","childList","clearInterval","chrome","onMessage","request","sender","sendResponse","setNewAnimation","animation","animationId","clearWebGL","loadImage","initParticles","startsWith","addInitialize","particleImage","getURL","addEmitter","particleImage2","tryWebGLRendererInit","createImageEmitter","addRenderer","easeInSine","createEmitter","createEmitterPointGlow","createEmitterDrawGlow","createEmitterPointDraw","createEmitterPointDrawRandomDrift","imageComet1","createEmitterCometThrower","imageComet2","colorT","colorE","removeOtherRenderer","handPos","color1","color2","updateParticles","leftRightWristUpdate","tick","requestAnimationFrame","removeAllParticles","DEPTH_BUFFER_BIT","COLOR_BUFFER_BIT","STENCIL_BUFFER_BIT","animControlsButton","getElementById","button","className","dataset","onclick","CustomEvent","detail","animationID","insertBefore","childNodes","playerImage","imgTag","html5VideoPlayer","onplaying","clientHeight","clientWidth","videoContainerDIV","setCanvasStyle","resizeObserver","createDetectorInterval","setInterval","poseDetector","pose","drawKeyPoints","drawSkeleton","drawPuppets","drawSpiderWeb","onpause","tmpCanvas","split","ResizeObserver","entries","spaceBetweenRightLeftEye","ratio","pixelsBetweenEyes","rightEyeToLeft","rightEyeToTop","imgWidth","imgHeight","keypoint","util","kp1","kp2","score1","score2","drawLine","startX","startY","endX","endY","playerPopup","display"],"mappings":";;;;;;;A6DAA;AAEA;AACA,MAAM,OAAO,GAAG,OAAhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A7DHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AClFA;;;;;;;;;;;;;;;;AAoBO,MAAM,eAAe,GAAG,IAAxB;;AACA,MAAM,eAAe,GAAG,IAAxB;AAuBP;;;;AACM,MAAO,WAAP,CAAkB;AAItB,EAAA,WAAA,CAAoB,OAApB,EAAoD,SAApD,EAAwE;AAApD,SAAA,OAAA,GAAA,OAAA;AAAgC,SAAA,SAAA,GAAA,SAAA;AAH5C,SAAA,IAAA,GAAO,IAAI,OAAJ,EAAP;AACA,SAAA,YAAA,GAAe,CAAf;AAEoE;;AAE5E,EAAA,GAAG,CAAC,MAAD,EAAe;AAChB,QAAI,CAAC,KAAK,IAAL,CAAU,GAAV,CAAc,MAAd,CAAL,EAA4B;AAC1B,WAAK,SAAL,CAAe,QAAf,CAAwB,KAAK,OAA7B,EAAsC,MAAtC;AACD;;AACD,WAAO,KAAK,IAAL,CA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;AAMM,SAAU,qBAAV,CACF,qBADE,EAC6B,cAD7B,EACmD;AACvD,QAAM,OAAO,GAAG,oBAAoB,CAAC,qBAAD,CAApC;AACA,EAAA,OAAO,CAAC,OAAR,CAAgB,YAAY,IAAG;AAC7B,UAAM,eAAe,GACjB,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,YAAlB,EAAgC;AAAC,MAAA,WAAW,EAAE;AAAd,KAAhC,CADJ;AAEA,IAAA,cAAc,CAAC,eAAD,CAAd;AACD,GAJD;AAKD;;AAED,SAAS,OAAT,CAAiB,UAAjB,EAAqC,WAArC,EAAwD;AACtD,SAAO,GAAG,WAAW,IAAI,UAAU,EAAnC;AACD;;ACtND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACzxCA;;;;;;AAlBA;;;;;;;;;;;;;;;;AAgBA;AACA;AAEA;AACA,MAAM,IAAI,GACN;AACC,WAAmB,CAAC,OAApB,IAA+B,WAFpC;;AAIM,SAAU,SAAV,CAAoB,GAApB,EAA+B;AACnC,SAAO,IAAI,CAAC,UAAL,CAAgB,GAAhB,EAAqB,IAArB,EAA2B,EAA3B,CAAP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B,EACuC,KADvC,EACuD;AAC3D,QAAM,aAAa,GAAG,iCAAW,MAAX,EAAmB,KAAnB,CAAtB;AACA,SAAO,iCAAW,MAAX,EAAmB,KAAnB,EAA0B,aAA1B,EAAyC,KAAzC,CAAP;AACD;;;;;;;;;ACxDD;;;;;;;;;;;;;;;;;AAiBA;;AAEA;;;AAGO,MAAM,oBAAoB,GAA8B;AAC7D,aAAW,CADkD;AAE7D,aAAW,CAFkD;AAG7D,WAAS,CAHoD;AAI7D,YAAU,CAJmD;AAK7D,WAAS,CALoD;AAM7D,UAAQ,CANqD;AAO7D,eAAa;AAPgD,CAAxD;;;ACtBP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AC5uDA;;AACA;;AAGA;;AAEA;;AAvBA;;;;;;;;;;;;;;;;;AAyBA;AACA,MAAM,uBAAuB,GAAG,CAAhC;AAEA;;;;;;;;;;;;;;;;;;AAiBO,eAAe,aAAf,CACH,OADG,EACoC,KADpC,EACuD;AAE5D;AACA,QAAM,KAAK,GAA2B,EAAtC;AACA,QAAM,YAAY,GAA+B,EAAjD;AAEA,QAAM,KAAK,GAAa,KAAK,CAAC,OAAN,CAAc,OAAd,IACpB,OAAO,CAAC,GAAR,CA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,mBAAG;AAAC,EAAA;AAAD,CAAH,CAAb;;;;ACvDP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC3CA;;AAEA;;;;;;AAnBA;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzCP;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAaA;;;;AAEA;;AACA;;AACA;;AACA;;AASA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAkBA;;AACA;;AACA;;AAQA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAaA;;AACA;;AACA;;AACA;;AAQA;;AACA;;AACA;;;;;;AAzTA;;;;;;;;;;;;;;;;AAiBA;AAyMA,MAAM,QAAQ,GAAG;AACf,EAAA,GAAG,EAAH,QADe;AAEf,EAAA,IAAI,EAAJ,UAFe;AAGf,EAAA,IAAI,EAAJ,UAHe;AAIf,EAAA,KAAK,EAAL;AAJe,CAAjB;;AAaA,MAAM,MAAM,GAAG;AACb,EAAA,aAAa,EAAb,6BADa;AAEb,EAAA,UAAU,EAAV,uBAFa;AAGb,EAAA,KAAK,EAAL,YAHa;AAIb,EAAA,IAAI,EAAJ;AAJa,CAAf,EAOA;;;AAcA,MAAM,KAAK,GAAG;AACZ,EAAA,aAAa,EAAb,8BADY;AAEZ,EAAA,qBAAqB,EAArB,8CAFY;AAGZ,EAAA,cAAc,EAAd,+BAHY;AAIZ,EAAA,gBAAgB,EAAhB,oCAJY;AAKZ,EAAA,aAAa,EAAb,8BALY;AAMZ,EAAA,iBAAiB,EAAjB,sCANY;AAOZ,EAAA,sBAAsB,EAAtB,iDAPY;AAQZ,EAAA,0BAA0B,EAA1B,0DARY;AASZ,EAAA,+BAA+B,EAA/B,qEATY;AAUZ,EAAA,uBAAuB,EAAvB,mDAVY;AAWZ,EAAA,4BAA4B,EAA5B,8DAXY;AAYZ,EAAA,SAAS,EAAT,oBAZY;AAaZ,EAAA,SAAS,EAAT;AAbY,CAAd,EAgBA;;;AAIA,MAAM,MAAM,GAAG;AACb,EAAA,QAAQ,EAAR,mBADa;AAEb,EAAA,WAAW,EAAX,yBAFa;AAGb,EAAA,EAAE,EAAF;AAHa,CAAf,EAMA;;;AAUA,MAAM,MAAM,GAAG;AACb,EAAA,kBAAkB,EAAlB,uCADa;AAEb,EAAA,mBAAmB,EAAnB,0CAFa;AAGb,EAAA,cAAc,EAAd,+BAHa;AAIb,EAAA,SAAS,EAAT,qBAJa;AAKb,EAAA,SAAS,EAAT,qBALa;AAMb,EAAA,OAAO,EAAP,iBANa;AAOb,EAAA,gBAAgB,EAAhB,oCAPa;AAQb,EAAA,mBAAmB,EAAnB,0CARa;AASb,EAAA,mBAAmB,EAAnB;AATa,CAAf;;AAgBA,MAAM,MAAM,GAAG;AACb,EAAA,mBAAmB,EAAnB,2CADa;AAEb,EAAA,aAAa,EAAb,6BAFa;AAGb,EAAA,iBAAiB,EAAjB,sCAHa;AAIb,EAAA,gBAAgB,EAAhB;AAJa,CAAf;;AAUA;AACA,MAAM,MAAM,GAAG;AACb,EAAA,YAAY,EAAZ,4BADa;AAEb,EAAA,WAAW,EAAX,yBAFa;AAGb,EAAA,sBAAsB,EAAtB;AAHa,CAAf,EAMA;;;;;;;;;;;AChTA;;AACA;;AACA;;AACA;;AApBA;;;;;;;;;;;;;;;;;AAwCA;AACM,MAAgB,SAAhB,SAAkC,2BAAlC,CAA8C;AAGlD;;;;;;;;;;;;;;AAcA,EAAA,QAAQ,CAAC,CAAD,EAAkB,UAAU,GAAG,KAA/B,EAAsC,OAAtC,EAA0D;AAEhE,UAAM;AAAC,MAAA,KAAD;AAAQ,MAAA;AAAR,QAAiB,KAAK,gBAAL,CAAsB,CAAtB,EAAyB,OAAzB,CAAvB;;AAEA,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,YAAM,SAAS,GACX,OAAO,CAAC,GAAR,CAAY,CAAC,KAAK;AAAC,QAAA,IAAI,EAAE,CAAC,CAAC,IAAT;AAAe,QAAA,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAH;AAA5B,OAAL,CAAb,CADJ;AAEA,WAAK,cAAL,CAAoB,SAApB;AACD,KAJD,MAIO;AACL,WAAK,cAAL,CAAoB,KAApB;AACD,KAV+D,CAYhE;;;AACA,0BAAQ,KAAR;;AAEA,QAAI,UAAJ,EAAgB;AACd,aAAO,KAAP;AACD,KAFD,MAEO;AACL,MAAA,KAAK,CAAC,OAAN;AACA,aAAO,IAAP;AACD;AACF;AAED;;;;;AAGc,MAAV,UAAU,GAAA;AACZ,QAAI,KAAK,WAAL,IAAoB,IAAxB,EAA8B;AAC5B,WAAK,WAAL,GAAmB,CAAnB;AACD;;AACD,WAAO,KAAK,WAAZ;AACD;;AAES,EAAA,mBAAmB,GAAA;AAC3B,SAAK,WAAL,GAAmB,KAAK,UAAL,GAAkB,CAArC;AACD;AAED;;;;;;;;;;;;;;;AAaA,EAAA,gBAAgB,CAAC,CAAD,EAAkB,OAAlB,EAAsC;AAEpD,WAAO,8BAAc,CAAd,EAAiB,OAAjB,CAAP;AACD;AAYD;;;;;AAGA,EAAA,OAAO,GAAA;AACL,QAAI,KAAK,WAAL,IAAoB,IAAxB,EAA8B;AAC5B,4BAAQ,KAAK,WAAb;AACD;AACF;;AAEmB,QAAd,cAAc,GAAA;AAClB,QAAI,KAAK,WAAL,IAAoB,IAAxB,EAA8B;AAC5B,WAAK,WAAL,GAAmB,CAAnB;AACD;;AACD,WAAO;AACL,MAAA,IAAI,EAAE,MADD;AAEL;AACA,MAAA,MAAM,EAAE,iBAAO,KAAK,WAAZ,EAAyB,OAAzB;AAHH,KAAP;AAKD;;AAEe,QAAV,UAAU,GAAA;AACd,UAAM,IAAI,KAAJ,CAAU,yDAAV,CAAN;AACD;;AAEe,QAAV,UAAU,CAAC,YAAD,EAA4B;AAC1C,UAAM,IAAI,KAAJ,CACF,2DAAA,GACA,GAAG,KAAK,YAAL,EAAmB,EAFpB,CAAN;AAGD;AAED;;;;;;;;;AAOiC,QAAjB,iBAAiB,CAAC,YAAD,EAA4B;AAE3D,SAAK,WAAL,GAAmB,CAAC,MAAM,YAAY,CAAC,CAAD,CAAZ,CAAgB,MAAhB,CAAuB,IAAvB,EAAP,EAAsC,CAAtC,CAAnB;AACA,WAAO,YAAY,CAAC,KAAb,CAAmB,CAAnB,CAAP;AACD;;AA3HiD;;;AA8HpD,MAAM,CAAC,cAAP,CAAsB,SAAtB,EAAiC,MAAM,CAAC,WAAxC,EAAqD;AACnD,EAAA,KAAK,EAAG,QAAD,IAAwB;AAC7B,WAAO,QAAQ,CAAC,QAAT,IAAqB,IAArB,IAA6B,QAAQ,CAAC,gBAAT,IAA6B,IAA1D,IACH,QAAQ,CAAC,cAAT,IAA2B,IAD/B;AAED;AAJkD,CAArD;;;;;;;;;ACtJA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AA5BA;;;;;;;;;;;;;;;;;AA8BA;AACM,MAAO,iBAAP,SAAiC,oBAAjC,CAA0C;AAM9C,EAAA,WAAA,CACc,YADd,EAC8C,GAD9C,EAEc,OAAA,GAAkB,IAFhC,EAEoC;AAClC;AAFY,SAAA,YAAA,GAAA,YAAA;AAAgC,SAAA,GAAA,GAAA,GAAA;AAChC,SAAA,OAAA,GAAA,OAAA;AALN,SAAA,gBAAA,GAAwC,EAAxC;AACA,SAAA,kBAAA,GAA0C,EAA1C;;AAON,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,WAAK,OAAL,GAAe,eAAO,OAAP,CAAe,OAAf,EAAf;AACD;AACF;;AAED,EAAA,cAAc,CAAC,iBAAD,EAAkD;AAC9D,UAAM,aAAa,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IAClB,iBAAiB,CAAC,GAAlB,CAAsB,IAAI,IAAI,IAAI,CAAC,IAAnC,CADkB,GAElB,MAAM,CAAC,IAAP,CAAY,iBAAZ,CAFJ;AAIA,IAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,IAAD,EAAO,CAAP,KAAY;AAChC,YAAM,KAAK,GAAG,eAAO,mBAAP,CAA2B,IAA3B,CAAd;AACA,YAAM,SAAS,GAAG,KAAlB;;AACA,UAAI,KAAK,gBAAL,CAAsB,CAAtB,KAA4B,IAAhC,EAAsC;AACpC,aAAK,gBAAL,CAAsB,CAAtB,IAA2B;AACzB,UAAA,YAAY,EAAE,GAAG,IAAI,aADI;AAEzB,UAAA,QAAQ,EAAE,mBAAK,MAAM,2BAAU,KAAV,EAAiB,QAAjB,CAA0B,SAA1B,CAAX;AAFe,SAA3B;AAID;;AACD,UAAI,KAAK,kBAAL,CAAwB,CAAxB,KAA8B,IAAlC,EAAwC;AACtC,aAAK,kBAAL,CAAwB,CAAxB,IAA6B;AAC3B,UAAA,YAAY,EAAE,GAAG,IAAI,YADM;AAE3B,UAAA,QAAQ,EAAE,mBAAK,MAAM,2BAAU,KAAV,EAAiB,QAAjB,CAA0B,SAA1B,CAAX;AAFiB,SAA7B;AAID;;AAED,YAAM,QAAQ,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IACb,iBAAiB,CAAC,CAAD,CAAjB,CAAqB,MADR,GAEb,iBAAiB,CAAC,IAAD,CAFrB;;AAGA,UAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB;AACD;;AAED,YAAM,eAAe,GAAG,KAAK,gBAAL,CAAsB,CAAtB,EAAyB,QAAjD;AACA,YAAM,iBAAiB,GAAG,KAAK,kBAAL,CAAwB,CAAxB,EAA2B,QAArD;AAEA,yBAAK,MAAK;AACR,cAAM,kBAAkB,GACpB,cAAI,cAAI,eAAJ,EAAqB,KAAK,GAA1B,CAAJ,EACI,cAAI,oBAAO,QAAP,CAAJ,EAAsB,IAAI,KAAK,GAA/B,CADJ,CADJ;AAIA,cAAM,OAAO,GACT,cAAI,cAAI,eAAK,cAAI,iBAAJ,EAAuB,KAAK,OAA5B,CAAL,CAAJ,EACI,eAAK,cAAI,eAAJ,EAAqB,KAAK,OAA1B,CAAL,CADJ,CAAJ,EAEI,QAFJ,CADJ;AAKA,cAAM,oBAAoB,GACtB,cAAI,cAAI,iBAAJ,EAAuB,KAAK,GAA5B,CAAJ,EACI,cAAI,oBAAO,OAAP,CAAJ,EAAqB,IAAI,KAAK,GAA9B,CADJ,CADJ;AAIA,QAAA,eAAe,CAAC,MAAhB,CAAuB,kBAAvB;AACA,QAAA,iBAAiB,CAAC,MAAlB,CAAyB,oBAAzB;AAEA,cAAM,QAAQ,GAAG,cAAI,cAAI,OAAJ,EAAa,CAAC,KAAK,YAAnB,CAAJ,EAAsC,KAAtC,CAAjB;AACA,QAAA,KAAK,CAAC,MAAN,CAAa,QAAb;AACD,OAnBD;AAoBD,KA9CD;AA+CA,SAAK,mBAAL;AACD;;AAED,EAAA,OAAO,GAAA;AACL,QAAI,KAAK,kBAAL,IAA2B,IAA/B,EAAqC;AACnC,4BAAQ,KAAK,gBAAL,CAAsB,GAAtB,CAA0B,CAAC,IAAI,CAAC,CAAC,QAAjC,CAAR;AACA,4BAAQ,KAAK,kBAAL,CAAwB,GAAxB,CAA4B,CAAC,IAAI,CAAC,CAAC,QAAnC,CAAR;AACD;AACF;;AAEe,QAAV,UAAU,GAAA;AACd;AACA,UAAM,SAAS,GACX,CAAC,GAAG,KAAK,gBAAT,EAA2B,GAAG,KAAK,kBAAnC,CADJ;AAEA,WAAO,CAAC,MAAM,KAAK,cAAL,EAAP,EAA8B,MAA9B,CACH,SAAS,CAAC,GAAV,CAAc,CAAC,KAAK;AAAC,MAAA,IAAI,EAAE,CAAC,CAAC,YAAT;AAAuB,MAAA,MAAM,EAAE,CAAC,CAAC;AAAjC,KAAL,CAAf,CADG,CAAP;AAED;;AAEe,QAAV,UAAU,CAAC,YAAD,EAA4B;AAC1C,IAAA,YAAY,GAAG,MAAM,KAAK,iBAAL,CAAuB,YAAvB,CAArB;AACA,UAAM,aAAa,GAAG,YAAY,CAAC,MAAb,GAAsB,CAA5C;AACA,UAAM,SAAS,GAAG,KAAlB;AACA,SAAK,gBAAL,GACI,YAAY,CAAC,KAAb,CAAmB,CAAnB,EAAsB,aAAtB,EAAqC,GAArC,CAAyC,CAAC,KAAK;AACJ,MAAA,YAAY,EAAE,CAAC,CAAC,IADZ;AAEJ,MAAA,QAAQ,EAAE,CAAC,CAAC,MAAF,CAAS,QAAT,CACN,SADM;AAFN,KAAL,CAA1C,CADJ;AAMA,SAAK,kBAAL,GACI,YAAY,CAAC,KAAb,CAAmB,aAAnB,EAAkC,aAAa,GAAG,CAAlD,EACK,GADL,CACS,CAAC,KAAK;AACJ,MAAA,YAAY,EAAE,CAAC,CAAC,IADZ;AAEJ,MAAA,QAAQ,EAAE,CAAC,CAAC,MAAF,CAAS,QAAT,CAAkB,SAAlB;AAFN,KAAL,CADV,CADJ;AAMD;;AAED,EAAA,SAAS,GAAA;AACP,WAAO;AACL,sBAAgB,KAAK,YADhB;AAEL,aAAO,KAAK,GAFP;AAGL,iBAAW,KAAK;AAHX,KAAP;AAKD;AAED;;;AACiB,SAAV,UAAU,CACb,GADa,EACoB,MADpB,EACsC;AACrD,WAAO,IAAI,GAAJ,CAAQ,MAAM,CAAC,cAAD,CAAd,EAAgC,MAAM,CAAC,KAAD,CAAtC,EAA+C,MAAM,CAAC,SAAD,CAArD,CAAP;AACD;;AApH6C;AAC9C;;;;AACO,iBAAA,CAAA,SAAA,GAAY,UAAZ,EAAyB;;AAoHlC,kCAAc,iBAAd;;;;;;;;;ACpIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AA5BA;;;;;;;;;;;;;;;;;AA8BA;AACM,MAAO,gBAAP,SAAgC,oBAAhC,CAAyC;AAM7C,EAAA,WAAA,CACc,YADd,EAC4C,uBAAA,GAA0B,GADtE,EACyE;AACvE;AADY,SAAA,YAAA,GAAA,YAAA;AAA8B,SAAA,uBAAA,GAAA,uBAAA;AAHpC,SAAA,gBAAA,GAAwC,EAAxC;AAKP;;AAED,EAAA,cAAc,CAAC,iBAAD,EAAkD;AAC9D,UAAM,aAAa,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IAClB,iBAAiB,CAAC,GAAlB,CAAsB,IAAI,IAAI,IAAI,CAAC,IAAnC,CADkB,GAElB,MAAM,CAAC,IAAP,CAAY,iBAAZ,CAFJ;AAIA,IAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,IAAD,EAAO,CAAP,KAAY;AAChC,YAAM,KAAK,GAAG,eAAO,mBAAP,CAA2B,IAA3B,CAAd;;AACA,UAAI,KAAK,gBAAL,CAAsB,CAAtB,KAA4B,IAAhC,EAAsC;AACpC,cAAM,SAAS,GAAG,KAAlB;AACA,aAAK,gBAAL,CAAsB,CAAtB,IAA2B;AACzB,UAAA,YAAY,EAAE,GAAG,IAAI,cADI;AAEzB,UAAA,QAAQ,EAAE,mBACN,MAAM,gBAAK,KAAK,CAAC,KAAX,EAAkB,KAAK,uBAAvB,EACK,QADL,CACc,SADd,CADA;AAFe,SAA3B;AAMD;;AAED,YAAM,QAAQ,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IACb,iBAAiB,CAAC,CAAD,CAAjB,CAAqB,MADR,GAEb,iBAAiB,CAAC,IAAD,CAFrB;;AAGA,UAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB;AACD;;AAED,YAAM,eAAe,GAAG,KAAK,gBAAL,CAAsB,CAAtB,EAAyB,QAAjD;AAEA,yBAAK,MAAK;AACR,cAAM,kBAAkB,GAAG,cAAI,eAAJ,EAAqB,oBAAO,QAAP,CAArB,CAA3B;AACA,QAAA,eAAe,CAAC,MAAhB,CAAuB,kBAAvB;AAEA,cAAM,QAAQ,GAAG,cACb,cAAI,cAAI,QAAJ,EACI,gBAAK,cAAI,kBAAJ,EAAwB,eAAO,OAAP,CAAe,OAAf,EAAxB,CAAL,CADJ,CAAJ,EAEI,CAAC,KAAK,YAFV,CADa,EAIb,KAJa,CAAjB;AAKA,QAAA,KAAK,CAAC,MAAN,CAAa,QAAb;AACD,OAVD;AAWD,KAhCD;AAiCA,SAAK,mBAAL;AACD;;AAED,EAAA,OAAO,GAAA;AACL,QAAI,KAAK,gBAAL,IAAyB,IAA7B,EAAmC;AACjC,4BAAQ,KAAK,gBAAL,CAAsB,GAAtB,CAA0B,CAAC,IAAI,CAAC,CAAC,QAAjC,CAAR;AACD;AACF;;AAEe,QAAV,UAAU,GAAA;AACd;AACA,WAAO,CAAC,MAAM,KAAK,cAAL,EAAP,EAA8B,MAA9B,CAAqC,KAAK,gBAAL,CAAsB,GAAtB,CACxC,CAAC,KAAK;AAAC,MAAA,IAAI,EAAE,CAAC,CAAC,YAAT;AAAuB,MAAA,MAAM,EAAE,CAAC,CAAC;AAAjC,KAAL,CADuC,CAArC,CAAP;AAED;;AAEe,QAAV,UAAU,CAAC,YAAD,EAA4B;AAC1C,IAAA,YAAY,GAAG,MAAM,KAAK,iBAAL,CAAuB,YAAvB,CAArB;AACA,UAAM,SAAS,GAAG,KAAlB;AACA,SAAK,gBAAL,GAAwB,YAAY,CAAC,GAAb,CACpB,CAAC,KAAK;AAAC,MAAA,YAAY,EAAE,CAAC,CAAC,IAAjB;AAAuB,MAAA,QAAQ,EAAE,CAAC,CAAC,MAAF,CAAS,QAAT,CAAkB,SAAlB;AAAjC,KAAL,CADmB,CAAxB;AAED;;AAED,EAAA,SAAS,GAAA;AACP,WAAO;AACL,sBAAgB,KAAK,YADhB;AAEL,iCAA2B,KAAK;AAF3B,KAAP;AAID;AAED;;;AACiB,SAAV,UAAU,CACb,GADa,EACoB,MADpB,EACsC;AACrD,WAAO,IAAI,GAAJ,CAAQ,MAAM,CAAC,cAAD,CAAd,EAAgC,MAAM,CAAC,yBAAD,CAAtC,CAAP;AACD;;AAlF4C;AAC7C;;;;AACO,gBAAA,CAAA,SAAA,GAAY,SAAZ,EAAwB;;AAkFjC,kCAAc,gBAAd;;;;;;;;;AClGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAhCA;;;;;;;;;;;;;;;;AAkCM,MAAO,aAAP,SAA6B,oBAA7B,CAAsC;AAS1C,EAAA,WAAA,CACc,YADd,EAC8C,KAD9C,EAEc,KAFd,EAEuC,OAAA,GAAkB,IAFzD,EAE6D;AAC3D;AAFY,SAAA,YAAA,GAAA,YAAA;AAAgC,SAAA,KAAA,GAAA,KAAA;AAChC,SAAA,KAAA,GAAA,KAAA;AAAyB,SAAA,OAAA,GAAA,OAAA;AAL/B,SAAA,sBAAA,GAA8C,EAA9C;AACA,SAAA,uBAAA,GAA+C,EAA/C;AAMN,uBAAK,MAAK;AACR;AACA,WAAK,QAAL,GAAgB,oBAAO,KAAP,EAAc,QAAd,EAAhB;AACA,WAAK,QAAL,GAAgB,oBAAO,KAAP,EAAc,QAAd,EAAhB;AACD,KAJD;;AAMA,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,WAAK,OAAL,GAAe,eAAO,OAAP,CAAe,OAAf,EAAf;AACD;AACF;;AAED,EAAA,cAAc,CAAC,iBAAD,EAAkD;AAC9D,UAAM,QAAQ,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IACb,iBAAiB,CAAC,GAAlB,CAAsB,CAAC,IAAI,CAAC,CAAC,IAA7B,CADa,GAEb,MAAM,CAAC,IAAP,CAAY,iBAAZ,CAFJ;AAGA,uBAAK,MAAK;AACR,YAAM,gBAAgB,GAAG,cAAI,CAAJ,EAAO,KAAK,QAAZ,CAAzB;AACA,YAAM,gBAAgB,GAAG,cAAI,CAAJ,EAAO,KAAK,QAAZ,CAAzB;AAEA,MAAA,QAAQ,CAAC,OAAT,CAAiB,CAAC,IAAD,EAAO,CAAP,KAAY;AAC3B,cAAM,KAAK,GAAG,eAAO,mBAAP,CAA2B,IAA3B,CAAd;AACA,cAAM,SAAS,GAAG,KAAlB;;AACA,YAAI,KAAK,sBAAL,CAA4B,CAA5B,KAAkC,IAAtC,EAA4C;AAC1C,eAAK,sBAAL,CAA4B,CAA5B,IAAiC;AAC/B,YAAA,YAAY,EAAE,GAAG,IAAI,IADU;AAE/B,YAAA,QAAQ,EAAE,mBAAK,MAAM,2BAAU,KAAV,EAAiB,QAAjB,CAA0B,SAA1B,CAAX;AAFqB,WAAjC;AAID;;AACD,YAAI,KAAK,uBAAL,CAA6B,CAA7B,KAAmC,IAAvC,EAA6C;AAC3C,eAAK,uBAAL,CAA6B,CAA7B,IAAkC;AAChC,YAAA,YAAY,EAAE,GAAG,IAAI,IADW;AAEhC,YAAA,QAAQ,EAAE,mBAAK,MAAM,2BAAU,KAAV,EAAiB,QAAjB,CAA0B,SAA1B,CAAX;AAFsB,WAAlC;AAID;;AAED,cAAM,QAAQ,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IACb,iBAAiB,CAAC,CAAD,CAAjB,CAAqB,MADR,GAEb,iBAAiB,CAAC,IAAD,CAFrB;;AAGA,YAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB;AACD;;AAED,cAAM,WAAW,GAAG,KAAK,sBAAL,CAA4B,CAA5B,EAA+B,QAAnD;AACA,cAAM,YAAY,GAAG,KAAK,uBAAL,CAA6B,CAA7B,EAAgC,QAArD;AAEA,cAAM,cAAc,GAChB,cAAI,cAAI,WAAJ,EAAiB,KAAK,KAAtB,CAAJ,EAAkC,cAAI,QAAJ,EAAc,IAAI,KAAK,KAAvB,CAAlC,CADJ;AAEA,cAAM,eAAe,GACjB,cAAI,cAAI,YAAJ,EAAkB,KAAK,KAAvB,CAAJ,EACI,cAAI,oBAAO,QAAP,CAAJ,EAAsB,IAAI,KAAK,KAA/B,CADJ,CADJ;AAIA,cAAM,wBAAwB,GAAG,cAAI,cAAJ,EAAoB,gBAApB,CAAjC;AACA,cAAM,yBAAyB,GAC3B,cAAI,eAAJ,EAAqB,gBAArB,CADJ;AAGA,QAAA,WAAW,CAAC,MAAZ,CAAmB,cAAnB;AACA,QAAA,YAAY,CAAC,MAAb,CAAoB,eAApB;AAEA,cAAM,QAAQ,GACV,cAAI,cAAI,cAAI,wBAAJ,EACI,cAAI,gBAAK,yBAAL,CAAJ,EAAqC,KAAK,OAA1C,CADJ,CAAJ,EAEI,CAAC,KAAK,YAFV,CAAJ,EAGI,KAHJ,CADJ;AAKA,QAAA,KAAK,CAAC,MAAN,CAAa,QAAb;AACD,OA7CD;AA+CA,WAAK,QAAL,CAAc,MAAd,CAAqB,cAAI,KAAK,QAAT,EAAmB,KAAK,KAAxB,CAArB;AACA,WAAK,QAAL,CAAc,MAAd,CAAqB,cAAI,KAAK,QAAT,EAAmB,KAAK,KAAxB,CAArB;AACD,KArDD;AAsDA,SAAK,mBAAL;AACD;;AAED,EAAA,OAAO,GAAA;AACL,SAAK,QAAL,CAAc,OAAd;AACA,SAAK,QAAL,CAAc,OAAd;;AAEA,QAAI,KAAK,sBAAL,IAA+B,IAAnC,EAAyC;AACvC,4BAAQ,KAAK,sBAAL,CAA4B,GAA5B,CAAgC,CAAC,IAAI,CAAC,CAAC,QAAvC,CAAR;AACD;;AACD,QAAI,KAAK,uBAAL,IAAgC,IAApC,EAA0C;AACxC,4BAAQ,KAAK,uBAAL,CAA6B,GAA7B,CAAiC,CAAC,IAAI,CAAC,CAAC,QAAxC,CAAR;AACD;AACF;;AAEe,QAAV,UAAU,GAAA;AACd;AACA,UAAM,SAAS,GACX,CAAC,GAAG,KAAK,sBAAT,EAAiC,GAAG,KAAK,uBAAzC,CADJ;AAEA,WAAO,CAAC,MAAM,KAAK,cAAL,EAAP,EAA8B,MAA9B,CACH,SAAS,CAAC,GAAV,CAAc,CAAC,KAAK;AAAC,MAAA,IAAI,EAAE,CAAC,CAAC,YAAT;AAAuB,MAAA,MAAM,EAAE,CAAC,CAAC;AAAjC,KAAL,CAAf,CADG,CAAP;AAED;;AAEe,QAAV,UAAU,CAAC,YAAD,EAA4B;AAC1C,IAAA,YAAY,GAAG,MAAM,KAAK,iBAAL,CAAuB,YAAvB,CAArB;AACA,uBAAK,MAAK;AACR,WAAK,QAAL,CAAc,MAAd,CAAqB,cAAI,KAAK,KAAT,EAAgB,KAAK,WAAL,GAAmB,CAAnC,CAArB;AACA,WAAK,QAAL,CAAc,MAAd,CAAqB,cAAI,KAAK,KAAT,EAAgB,KAAK,WAAL,GAAmB,CAAnC,CAArB;AACD,KAHD;AAKA,UAAM,aAAa,GAAG,YAAY,CAAC,MAAb,GAAsB,CAA5C;AACA,UAAM,SAAS,GAAG,KAAlB;AACA,SAAK,sBAAL,GACI,YAAY,CAAC,KAAb,CAAmB,CAAnB,EAAsB,aAAtB,EAAqC,GAArC,CAAyC,CAAC,KAAK;AACJ,MAAA,YAAY,EAAE,CAAC,CAAC,IADZ;AAEJ,MAAA,QAAQ,EAAE,CAAC,CAAC,MAAF,CAAS,QAAT,CACN,SADM;AAFN,KAAL,CAA1C,CADJ;AAMA,SAAK,uBAAL,GACI,YAAY,CAAC,KAAb,CAAmB,aAAnB,EAAkC,aAAa,GAAG,CAAlD,EACK,GADL,CACS,CAAC,KAAK;AACJ,MAAA,YAAY,EAAE,CAAC,CAAC,IADZ;AAEJ,MAAA,QAAQ,EAAE,CAAC,CAAC,MAAF,CAAS,QAAT,CAAkB,SAAlB;AAFN,KAAL,CADV,CADJ;AAMD;;AAED,EAAA,SAAS,GAAA;AACP,WAAO;AACL,sBAAgB,KAAK,YADhB;AAEL,eAAS,KAAK,KAFT;AAGL,eAAS,KAAK,KAHT;AAIL,iBAAW,KAAK;AAJX,KAAP;AAMD;AAED;;;AACiB,SAAV,UAAU,CACb,GADa,EACoB,MADpB,EACsC;AACrD,WAAO,IAAI,GAAJ,CACH,MAAM,CAAC,cAAD,CADH,EACqB,MAAM,CAAC,OAAD,CAD3B,EACsC,MAAM,CAAC,OAAD,CAD5C,EAEH,MAAM,CAAC,SAAD,CAFH,CAAP;AAGD;;AA/IyC;AAC1C;;;;AACO,aAAA,CAAA,SAAA,GAAY,MAAZ,EAAqB;;AA+I9B,kCAAc,aAAd;;;;;;;;;AClKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AA/BA;;;;;;;;;;;;;;;;AAiCM,MAAO,eAAP,SAA+B,oBAA/B,CAAwC;AAS5C,EAAA,WAAA,CACc,YADd,EAC8C,KAD9C,EAEc,KAFd,EAEuC,OAAA,GAAkB,IAFzD,EAGc,KAAA,GAAQ,GAHtB,EAGyB;AACvB;AAHY,SAAA,YAAA,GAAA,YAAA;AAAgC,SAAA,KAAA,GAAA,KAAA;AAChC,SAAA,KAAA,GAAA,KAAA;AAAyB,SAAA,OAAA,GAAA,OAAA;AACzB,SAAA,KAAA,GAAA,KAAA;AANN,SAAA,sBAAA,GAA8C,EAA9C;AACA,SAAA,0BAAA,GAAkD,EAAlD;AAQN,uBAAK,MAAK;AACR,WAAK,SAAL,GAAiB,oBAAO,CAAP,EAAU,QAAV,EAAjB;AACA,WAAK,QAAL,GAAgB,oBAAO,KAAP,EAAc,QAAd,EAAhB;AACD,KAHD;;AAKA,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,WAAK,OAAL,GAAe,eAAO,OAAP,CAAe,OAAf,EAAf;AACD;AACF;;AAED,EAAA,cAAc,CAAC,iBAAD,EAAkD;AAC9D,UAAM,aAAa,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IAClB,iBAAiB,CAAC,GAAlB,CAAsB,IAAI,IAAI,IAAI,CAAC,IAAnC,CADkB,GAElB,MAAM,CAAC,IAAP,CAAY,iBAAZ,CAFJ;AAIA,uBAAK,MAAK;AACR,YAAM,gBAAgB,GAAG,cAAI,CAAJ,EAAO,KAAK,QAAZ,CAAzB;AACA,YAAM,EAAE,GACJ,cAAI,CAAC,KAAK,YAAV,EAAwB,cAAI,cAAI,KAAK,SAAT,EAAoB,KAAK,KAAzB,CAAJ,EAAqC,CAArC,CAAxB,CADJ;AAGA,MAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,IAAD,EAAO,CAAP,KAAY;AAChC,cAAM,KAAK,GAAG,eAAO,mBAAP,CAA2B,IAA3B,CAAd;AACA,cAAM,SAAS,GAAG,KAAlB;;AACA,YAAI,KAAK,sBAAL,CAA4B,CAA5B,KAAkC,IAAtC,EAA4C;AAC1C,eAAK,sBAAL,CAA4B,CAA5B,IAAiC;AAC/B,YAAA,YAAY,EAAE,GAAG,IAAI,IADU;AAE/B,YAAA,QAAQ,EAAE,2BAAU,KAAV,EAAiB,QAAjB,CAA0B,SAA1B;AAFqB,WAAjC;AAID;;AACD,YAAI,KAAK,0BAAL,CAAgC,CAAhC,KAAsC,IAA1C,EAAgD;AAC9C,eAAK,0BAAL,CAAgC,CAAhC,IAAqC;AACnC,YAAA,YAAY,EAAE,GAAG,IAAI,IADc;AAEnC,YAAA,QAAQ,EAAE,2BAAU,KAAV,EAAiB,QAAjB,CAA0B,SAA1B;AAFyB,WAArC;AAID;;AAED,cAAM,QAAQ,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IACb,iBAAiB,CAAC,CAAD,CAAjB,CAAqB,MADR,GAEb,iBAAiB,CAAC,IAAD,CAFrB;;AAGA,YAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB;AACD;;AAED,cAAM,WAAW,GAAG,KAAK,sBAAL,CAA4B,CAA5B,EAA+B,QAAnD;AACA,cAAM,eAAe,GAAG,KAAK,0BAAL,CAAgC,CAAhC,EAAmC,QAA3D;AAEA,cAAM,cAAc,GAChB,cAAI,cAAI,WAAJ,EAAiB,KAAK,KAAtB,CAAJ,EAAkC,cAAI,QAAJ,EAAc,IAAI,KAAK,KAAvB,CAAlC,CADJ;AAGA,cAAM,GAAG,GAAG,cAAI,eAAJ,EAAqB,KAAK,KAA1B,CAAZ;AACA,cAAM,GAAG,GAAG,cAAI,QAAJ,CAAZ;AAEA,cAAM,kBAAkB,GAAG,sBAAQ,GAAR,EAAa,GAAb,CAA3B;AAEA,QAAA,WAAW,CAAC,MAAZ,CAAmB,cAAnB;AACA,QAAA,eAAe,CAAC,MAAhB,CAAuB,kBAAvB;AAEA,cAAM,QAAQ,GACV,cAAI,cAAI,cAAI,EAAJ,EAAQ,gBAAR,CAAJ,EACI,cAAI,cAAJ,EAAoB,cAAI,kBAAJ,EAAwB,KAAK,OAA7B,CAApB,CADJ,CAAJ,EAEI,KAFJ,CADJ;AAKA,QAAA,KAAK,CAAC,MAAN,CAAa,QAAb;AACD,OA3CD;AA6CA,WAAK,SAAL,CAAe,MAAf,CAAsB,cAAI,KAAK,SAAT,EAAoB,CAApB,CAAtB;AACA,WAAK,QAAL,CAAc,MAAd,CAAqB,cAAI,KAAK,QAAT,EAAmB,KAAK,KAAxB,CAArB;AACD,KApDD;AAqDA,SAAK,mBAAL;AACD;;AAED,EAAA,OAAO,GAAA;AACL,SAAK,QAAL,CAAc,OAAd;AACA,SAAK,SAAL,CAAe,OAAf;;AAEA,QAAI,KAAK,sBAAL,IAA+B,IAAnC,EAAyC;AACvC,4BAAQ,KAAK,sBAAL,CAA4B,GAA5B,CAAgC,CAAC,IAAI,CAAC,CAAC,QAAvC,CAAR;AACD;;AACD,QAAI,KAAK,0BAAL,IAAmC,IAAvC,EAA6C;AAC3C,4BAAQ,KAAK,0BAAL,CAAgC,GAAhC,CAAoC,CAAC,IAAI,CAAC,CAAC,QAA3C,CAAR;AACD;AACF;;AAEe,QAAV,UAAU,GAAA;AACd,UAAM,IAAI,KAAJ,CAAU,iDAAV,CAAN;AACD;;AAEe,QAAV,UAAU,CAAC,YAAD,EAA4B;AAC1C,UAAM,IAAI,KAAJ,CAAU,iDAAV,CAAN;AACD;;AAED,EAAA,SAAS,GAAA;AACP,WAAO;AACL,sBAAgB,KAAK,YADhB;AAEL,eAAS,KAAK,KAFT;AAGL,eAAS,KAAK,KAHT;AAIL,iBAAW,KAAK,OAJX;AAKL,eAAS,KAAK;AALT,KAAP;AAOD;AAED;;;AACiB,SAAV,UAAU,CACb,GADa,EACoB,MADpB,EACsC;AACrD,WAAO,IAAI,GAAJ,CACH,MAAM,CAAC,cAAD,CADH,EACqB,MAAM,CAAC,OAAD,CAD3B,EACsC,MAAM,CAAC,OAAD,CAD5C,EAEH,MAAM,CAAC,SAAD,CAFH,EAEgB,MAAM,CAAC,OAAD,CAFtB,CAAP;AAGD;;AA1H2C;AAC5C;;;;AACO,eAAA,CAAA,SAAA,GAAY,QAAZ,EAAuB;;AA0HhC,kCAAc,eAAd;;;;;;;;;AC5IA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AA1BA;;;;;;;;;;;;;;;;;AA4BA;AACM,MAAO,YAAP,SAA4B,oBAA5B,CAAqC;AAKzC,EAAA,WAAA,CAAsB,YAAtB,EAA0C;AACxC;AADoB,SAAA,YAAA,GAAA,YAAA;AAEpB,SAAK,eAAL,CAAqB,YAArB;AACD;;AAED,EAAA,cAAc,CAAC,iBAAD,EAAgD;AAC5D,UAAM,QAAQ,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IACb,iBAAiB,CAAC,GAAlB,CAAsB,CAAC,IAAI,CAAC,CAAC,IAA7B,CADa,GAEb,MAAM,CAAC,IAAP,CAAY,iBAAZ,CAFJ;AAGA,IAAA,QAAQ,CAAC,OAAT,CAAiB,CAAC,IAAD,EAAO,CAAP,KAAY;AAC3B,YAAM,QAAQ,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IACb,iBAAiB,CAAC,CAAD,CAAjB,CAAqB,MADR,GAEb,iBAAiB,CAAC,IAAD,CAFrB;;AAGA,UAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB;AACD;;AACD,YAAM,KAAK,GAAG,eAAO,mBAAP,CAA2B,IAA3B,CAAd;AACA,yBAAK,MAAK;AACR,cAAM,QAAQ,GAAG,cAAI,cAAI,KAAK,CAAT,EAAY,QAAZ,CAAJ,EAA2B,KAA3B,CAAjB;AACA,QAAA,KAAK,CAAC,MAAN,CAAa,QAAb;AACD,OAHD;AAID,KAZD;AAaA,SAAK,mBAAL;AACD;AAED;;;;;AAGA,EAAA,eAAe,CAAC,YAAD,EAAqB;AAClC,SAAK,YAAL,GAAoB,YAApB;;AACA,QAAI,KAAK,CAAL,IAAU,IAAd,EAAoB;AAClB,WAAK,CAAL,CAAO,OAAP;AACD;;AACD,SAAK,CAAL,GAAS,mBAAK,oBAAO,CAAC,YAAR,CAAL,CAAT;AACD;;AAED,EAAA,OAAO,GAAA;AACL,SAAK,CAAL,CAAO,OAAP;AACD;;AAEe,QAAV,UAAU,GAAA;AACd,WAAO,CAAC,MAAM,KAAK,cAAL,EAAP,CAAP;AACD;;AAEe,QAAV,UAAU,CAAC,YAAD,EAA4B;AAC1C,IAAA,YAAY,GAAG,MAAM,KAAK,iBAAL,CAAuB,YAAvB,CAArB;;AACA,QAAI,YAAY,CAAC,MAAb,KAAwB,CAA5B,EAA+B;AAC7B,YAAM,IAAI,KAAJ,CAAU,+CAAV,CAAN;AACD;AACF;;AAED,EAAA,SAAS,GAAA;AACP,WAAO;AAAC,sBAAgB,KAAK;AAAtB,KAAP;AACD;AAED;;;AACiB,SAAV,UAAU,CACb,GADa,EACoB,MADpB,EACsC;AACrD,WAAO,IAAI,GAAJ,CAAQ,MAAM,CAAC,cAAD,CAAd,CAAP;AACD;;AAhEwC;AACzC;;;;AACO,YAAA,CAAA,SAAA,GAAY,KAAZ,EAAoB;;AAgE7B,kCAAc,YAAd;;;;;;;;;AC9EA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AA5BA;;;;;;;;;;;;;;;;;AA8BA;AACM,MAAO,iBAAP,SAAiC,2BAAjC,CAA6C;AAMjD,EAAA,WAAA,CACc,YADd,EAC4C,QAD5C,EAEY,WAAA,GAAc,KAF1B,EAE+B;AAC7B,UAAM,YAAN;AAFY,SAAA,YAAA,GAAA,YAAA;AAA8B,SAAA,QAAA,GAAA,QAAA;AAChC,SAAA,WAAA,GAAA,WAAA;AAJJ,SAAA,aAAA,GAAqC,EAArC;AAMN,SAAK,CAAL,GAAS,oBAAO,KAAK,QAAZ,CAAT;AACD;;AAED,EAAA,cAAc,CAAC,iBAAD,EAAkD;AAC9D,UAAM,aAAa,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IAClB,iBAAiB,CAAC,GAAlB,CAAsB,IAAI,IAAI,IAAI,CAAC,IAAnC,CADkB,GAElB,MAAM,CAAC,IAAP,CAAY,iBAAZ,CAFJ;AAIA,IAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,IAAD,EAAO,CAAP,KAAY;AAChC,YAAM,KAAK,GAAG,eAAO,mBAAP,CAA2B,IAA3B,CAAd;;AACA,UAAI,KAAK,aAAL,CAAmB,CAAnB,KAAyB,IAA7B,EAAmC;AACjC,cAAM,SAAS,GAAG,KAAlB;AACA,aAAK,aAAL,CAAmB,CAAnB,IAAwB;AACtB,UAAA,YAAY,EAAE,GAAG,IAAI,WADC;AAEtB,UAAA,QAAQ,EAAE,mBAAK,MAAM,2BAAU,KAAV,EAAiB,QAAjB,CAA0B,SAA1B,CAAX;AAFY,SAAxB;AAID;;AAED,YAAM,YAAY,GAAG,KAAK,aAAL,CAAmB,CAAnB,EAAsB,QAA3C;AACA,YAAM,QAAQ,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IACb,iBAAiB,CAAC,CAAD,CAAjB,CAAqB,MADR,GAEb,iBAAiB,CAAC,IAAD,CAFrB;;AAGA,UAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB;AACD;;AAED,yBAAK,MAAK;AACR,YAAI,QAAJ;AACA,cAAM,eAAe,GAAG,cAAI,cAAI,KAAK,CAAT,EAAY,YAAZ,CAAJ,EAA+B,QAA/B,CAAxB;;AACA,YAAI,KAAK,WAAT,EAAsB;AACpB,UAAA,QAAQ,GAAG,cACP,cAAI,KAAK,CAAT,EAAY,cAAI,QAAJ,EAAc,cAAI,eAAJ,EAAqB,KAAK,CAA1B,CAAd,CAAZ,CADO,EACmD,KADnD,CAAX;AAED,SAHD,MAGO;AACL,UAAA,QAAQ,GAAG,cAAI,cAAI,KAAK,CAAT,EAAY,eAAZ,CAAJ,EAAkC,KAAlC,CAAX;AACD;;AACD,QAAA,YAAY,CAAC,MAAb,CAAoB,eAApB;AACA,QAAA,KAAK,CAAC,MAAN,CAAa,QAAb;AACD,OAXD;AAYD,KA9BD;AA+BA,SAAK,mBAAL;AACD;;AAED,EAAA,OAAO,GAAA;AACL,SAAK,CAAL,CAAO,OAAP;;AACA,QAAI,KAAK,aAAL,IAAsB,IAA1B,EAAgC;AAC9B,4BAAQ,KAAK,aAAL,CAAmB,GAAnB,CAAuB,CAAC,IAAI,CAAC,CAAC,QAA9B,CAAR;AACD;AACF;AAED;;;;;;;AAKA,EAAA,WAAW,CAAC,QAAD,EAAiB;AAC1B,SAAK,QAAL,GAAgB,QAAhB;AACD;;AAEe,QAAV,UAAU,GAAA;AACd;AACA,WAAO,CAAC,MAAM,KAAK,cAAL,EAAP,EAA8B,MAA9B,CAAqC,KAAK,aAAL,CAAmB,GAAnB,CACxC,CAAC,KAAK;AAAC,MAAA,IAAI,EAAE,CAAC,CAAC,YAAT;AAAuB,MAAA,MAAM,EAAE,CAAC,CAAC;AAAjC,KAAL,CADuC,CAArC,CAAP;AAED;;AAEe,QAAV,UAAU,CAAC,YAAD,EAA4B;AAC1C,IAAA,YAAY,GAAG,MAAM,KAAK,iBAAL,CAAuB,YAAvB,CAArB;AACA,UAAM,SAAS,GAAG,KAAlB;AACA,SAAK,aAAL,GAAqB,YAAY,CAAC,GAAb,CACjB,CAAC,KAAK;AAAC,MAAA,YAAY,EAAE,CAAC,CAAC,IAAjB;AAAuB,MAAA,QAAQ,EAAE,CAAC,CAAC,MAAF,CAAS,QAAT,CAAkB,SAAlB;AAAjC,KAAL,CADgB,CAArB;AAED;;AAED,EAAA,SAAS,GAAA;AACP,WAAO;AACL,sBAAgB,KAAK,YADhB;AAEL,kBAAY,KAAK,QAFZ;AAGL,qBAAe,KAAK;AAHf,KAAP;AAKD;AAED;;;AACiB,SAAV,UAAU,CACb,GADa,EACoB,MADpB,EACsC;AACrD,WAAO,IAAI,GAAJ,CACH,MAAM,CAAC,cAAD,CADH,EACqB,MAAM,CAAC,UAAD,CAD3B,EACyC,MAAM,CAAC,aAAD,CAD/C,CAAP;AAED;;AA9FgD;AACjD;;;;AACO,iBAAA,CAAA,SAAA,GAAY,UAAZ,EAAyB;;AA8FlC,kCAAc,iBAAd;;;;;;;;;AC9GA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AA7BA;;;;;;;;;;;;;;;;;AA+BA;AACM,MAAO,gBAAP,SAAgC,oBAAhC,CAAyC;AAS7C,EAAA,WAAA,CACc,YADd,EAC8C,KAAA,GAAQ,GADtD,EAEc,QAAA,GAAW,GAFzB,EAEwC,OAAA,GAAkB,IAF1D,EAGI,QAAQ,GAAG,KAHf,EAGoB;AAClB;AAHY,SAAA,YAAA,GAAA,YAAA;AAAgC,SAAA,KAAA,GAAA,KAAA;AAChC,SAAA,QAAA,GAAA,QAAA;AAA0B,SAAA,OAAA,GAAA,OAAA;AANhC,SAAA,sBAAA,GAA8C,EAA9C;AACA,SAAA,kBAAA,GAA0C,EAA1C;AACA,SAAA,oBAAA,GAA4C,EAA5C;AAQN,SAAK,QAAL,GAAgB,QAAhB;;AAEA,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,WAAK,OAAL,GAAe,eAAO,OAAP,CAAe,OAAf,EAAf;AACD;;AACD,QAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,YAAM,IAAI,KAAJ,CAAU,oDAAV,CAAN;AACD;AACF;;AAED,EAAA,cAAc,CAAC,iBAAD,EAAgD;AAC5D,UAAM,aAAa,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IAClB,iBAAiB,CAAC,GAAlB,CAAsB,IAAI,IAAI,IAAI,CAAC,IAAnC,CADkB,GAElB,MAAM,CAAC,IAAP,CAAY,iBAAZ,CAFJ;AAIA,IAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,IAAD,EAAO,CAAP,KAAY;AAChC,YAAM,KAAK,GAAG,eAAO,mBAAP,CAA2B,IAA3B,CAAd;AACA,YAAM,SAAS,GAAG,KAAlB;;AACA,UAAI,KAAK,sBAAL,CAA4B,CAA5B,KAAkC,IAAtC,EAA4C;AAC1C,aAAK,sBAAL,CAA4B,CAA5B,IAAiC;AAC/B,UAAA,YAAY,EAAE,GAAG,IAAI,MADU;AAE/B,UAAA,QAAQ,EAAE,mBAAK,MAAM,2BAAU,KAAV,EAAiB,QAAjB,CAA0B,SAA1B,CAAX;AAFqB,SAAjC;AAID;;AACD,UAAI,KAAK,kBAAL,CAAwB,CAAxB,KAA8B,IAAlC,EAAwC;AACtC,aAAK,kBAAL,CAAwB,CAAxB,IAA6B;AAC3B,UAAA,YAAY,EAAE,GAAG,IAAI,WADM;AAE3B,UAAA,QAAQ,EAAE,mBAAK,MAAM,2BAAU,KAAV,EAAiB,QAAjB,CAA0B,SAA1B,CAAX;AAFiB,SAA7B;AAID;;AACD,UAAI,KAAK,oBAAL,CAA0B,CAA1B,KAAgC,IAAhC,IAAwC,KAAK,QAAjD,EAA2D;AACzD,aAAK,oBAAL,CAA0B,CAA1B,IAA+B;AAC7B,UAAA,YAAY,EAAE,GAAG,IAAI,KADQ;AAE7B,UAAA,QAAQ,EAAE,mBAAK,MAAM,2BAAU,KAAV,EAAiB,QAAjB,CAA0B,SAA1B,CAAX;AAFmB,SAA/B;AAID;;AAED,YAAM,QAAQ,GAAG,KAAK,CAAC,OAAN,CAAc,iBAAd,IACb,iBAAiB,CAAC,CAAD,CAAjB,CAAqB,MADR,GAEb,iBAAiB,CAAC,IAAD,CAFrB;;AAGA,UAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB;AACD;;AAED,YAAM,qBAAqB,GAAG,KAAK,sBAAL,CAA4B,CAA5B,EAA+B,QAA7D;AACA,YAAM,kBAAkB,GAAG,KAAK,kBAAL,CAAwB,CAAxB,EAA2B,QAAtD;AACA,yBAAK,MAAK;AACR,cAAM,wBAAwB,GAC1B,cAAI,cAAI,qBAAJ,EAA2B,KAAK,KAAhC,CAAJ,EACI,cAAI,oBAAO,QAAP,CAAJ,EAAsB,IAAI,KAAK,KAA/B,CADJ,CADJ;;AAIA,YAAI,KAAK,QAAT,EAAmB;AACjB,gBAAM,mBAAmB,GAAG,KAAK,oBAAL,CAA0B,CAA1B,EAA6B,QAAzD,CADiB,CAEjB;;AACA,gBAAM,sBAAsB,GACxB,cAAI,cAAI,mBAAJ,EAAyB,KAAK,KAA9B,CAAJ,EACI,cAAI,QAAJ,EAAc,IAAI,KAAK,KAAvB,CADJ,CADJ;AAIA,gBAAM,gBAAgB,GAClB,cAAI,cAAI,QAAJ,EAAc,KAAK,YAAnB,CAAJ,EACI,gBACI,cAAI,wBAAJ,EACI,cAAI,oBAAO,sBAAP,CAAJ,EAAoC,KAAK,OAAzC,CADJ,CADJ,CADJ,CADJ;AAKA,gBAAM,qBAAqB,GACvB,cAAI,cAAI,kBAAJ,EAAwB,KAAK,QAA7B,CAAJ,EAA4C,gBAA5C,CADJ;AAGA,UAAA,qBAAqB,CAAC,MAAtB,CAA6B,wBAA7B;AACA,UAAA,mBAAmB,CAAC,MAApB,CAA2B,sBAA3B;AACA,UAAA,kBAAkB,CAAC,MAAnB,CAA0B,qBAA1B;AAEA,gBAAM,QAAQ,GAAG,cAAI,KAAJ,EAAW,qBAAX,CAAjB;AACA,UAAA,KAAK,CAAC,MAAN,CAAa,QAAb;AACD,SArBD,MAqBO;AACL;AACA,gBAAM,wBAAwB,GAC1B,cAAI,cAAI,qBAAJ,EAA2B,KAAK,KAAhC,CAAJ,EACI,cAAI,oBAAO,QAAP,CAAJ,EAAsB,IAAI,KAAK,KAA/B,CADJ,CADJ;AAIA,gBAAM,qBAAqB,GACvB,cAAI,cAAI,kBAAJ,EAAwB,KAAK,QAA7B,CAAJ,EACI,cAAI,cAAI,QAAJ,EAAc,KAAK,YAAnB,CAAJ,EACI,gBAAK,cAAI,wBAAJ,EAA8B,KAAK,OAAnC,CAAL,CADJ,CADJ,CADJ;AAKA,UAAA,qBAAqB,CAAC,MAAtB,CAA6B,wBAA7B;AACA,UAAA,kBAAkB,CAAC,MAAnB,CAA0B,qBAA1B;AAEA,gBAAM,QAAQ,GAAG,cAAI,KAAJ,EAAW,qBAAX,CAAjB;AACA,UAAA,KAAK,CAAC,MAAN,CAAa,QAAb;AACD;AACF,OA3CD;AA4CD,KA3ED;AA4EA,SAAK,mBAAL;AACD;;AAED,EAAA,OAAO,GAAA;AACL,QAAI,KAAK,sBAAL,IAA+B,IAAnC,EAAyC;AACvC,4BAAQ,KAAK,sBAAL,CAA4B,GAA5B,CAAgC,CAAC,IAAI,CAAC,CAAC,QAAvC,CAAR;AACD;;AACD,QAAI,KAAK,oBAAL,IAA6B,IAA7B,IAAqC,KAAK,QAA9C,EAAwD;AACtD,4BAAQ,KAAK,oBAAL,CAA0B,GAA1B,CAA8B,CAAC,IAAI,CAAC,CAAC,QAArC,CAAR;AACD;;AACD,QAAI,KAAK,kBAAL,IAA2B,IAA/B,EAAqC;AACnC,4BAAQ,KAAK,kBAAL,CAAwB,GAAxB,CAA4B,CAAC,IAAI,CAAC,CAAC,QAAnC,CAAR;AACD;AACF;;AAEe,QAAV,UAAU,GAAA;AACd;AACA,UAAM,SAAS,GACX,CAAC,GAAG,KAAK,sBAAT,EAAiC,GAAG,KAAK,kBAAzC,CADJ;;AAEA,QAAI,KAAK,QAAT,EAAmB;AACjB,MAAA,SAAS,CAAC,IAAV,CAAe,GAAG,KAAK,oBAAvB;AACD;;AACD,WAAO,CAAC,MAAM,KAAK,cAAL,EAAP,EAA8B,MAA9B,CACH,SAAS,CAAC,GAAV,CAAc,CAAC,KAAK;AAAC,MAAA,IAAI,EAAE,CAAC,CAAC,YAAT;AAAuB,MAAA,MAAM,EAAE,CAAC,CAAC;AAAjC,KAAL,CAAf,CADG,CAAP;AAED;;AAEe,QAAV,UAAU,CAAC,YAAD,EAA4B;AAC1C,IAAA,YAAY,GAAG,MAAM,KAAK,iBAAL,CAAuB,YAAvB,CAArB;AACA,UAAM,aAAa,GACf,KAAK,QAAL,GAAgB,YAAY,CAAC,MAAb,GAAsB,CAAtC,GAA0C,YAAY,CAAC,MAAb,GAAsB,CADpE;AAEA,UAAM,SAAS,GAAG,KAAlB;AACA,SAAK,sBAAL,GACI,YAAY,CAAC,KAAb,CAAmB,CAAnB,EAAsB,aAAtB,EAAqC,GAArC,CAAyC,CAAC,KAAK;AACJ,MAAA,YAAY,EAAE,CAAC,CAAC,IADZ;AAEJ,MAAA,QAAQ,EAAE,CAAC,CAAC,MAAF,CAAS,QAAT,CACN,SADM;AAFN,KAAL,CAA1C,CADJ;AAMA,SAAK,kBAAL,GACI,YAAY,CAAC,KAAb,CAAmB,aAAnB,EAAkC,aAAa,GAAG,CAAlD,EACK,GADL,CACS,CAAC,KAAK;AACJ,MAAA,YAAY,EAAE,CAAC,CAAC,IADZ;AAEJ,MAAA,QAAQ,EAAE,CAAC,CAAC,MAAF,CAAS,QAAT,CAAkB,SAAlB;AAFN,KAAL,CADV,CADJ;;AAMA,QAAI,KAAK,QAAT,EAAmB;AACjB,WAAK,oBAAL,GACI,YAAY,CAAC,KAAb,CAAmB,aAAa,GAAG,CAAnC,EAAsC,aAAa,GAAG,CAAtD,EACK,GADL,CACS,CAAC,KAAK;AACJ,QAAA,YAAY,EAAE,CAAC,CAAC,IADZ;AAEJ,QAAA,QAAQ,EAAE,CAAC,CAAC,MAAF,CAAS,QAAT,CAAkB,SAAlB;AAFN,OAAL,CADV,CADJ;AAMD;AACF;;AAED,EAAA,SAAS,GAAA;AACP,WAAO;AACL,sBAAgB,KAAK,YADhB;AAEL,eAAS,KAAK,KAFT;AAGL,kBAAY,KAAK,QAHZ;AAIL,iBAAW,KAAK,OAJX;AAKL,kBAAY,KAAK;AALZ,KAAP;AAOD;AAED;;;AACiB,SAAV,UAAU,CACb,GADa,EACoB,MADpB,EACsC;AACrD,WAAO,IAAI,GAAJ,CACH,MAAM,CAAC,cAAD,CADH,EACqB,MAAM,CAAC,OAAD,CAD3B,EACsC,MAAM,CAAC,UAAD,CAD5C,EAEH,MAAM,CAAC,SAAD,CAFH,EAEgB,MAAM,CAAC,UAAD,CAFtB,CAAP;AAGD;;AA/K4C;AAC7C;;;;AACO,gBAAA,CAAA,SAAA,GAAY,SAAZ,EAAwB;;AA+KjC,kCAAc,gBAAd;;;;;;;;;AChMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAvBA;;;;;;;;;;;;;;;;AAyBM,MAAO,qBAAP,CAA4B;AAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCU,SAAH,GAAG,CAAC,YAAD,EAAqB;AAC7B,WAAO,IAAI,2BAAJ,CAAiB,YAAjB,CAAP;AACD;AAED;;;;;;;;;;;;;;;;;AAee,SAAR,QAAQ,CAAC,YAAD,EAAuB,QAAvB,EAAyC,WAAW,GAAG,KAAvD,EAA4D;AAEzE,WAAO,IAAI,qCAAJ,CAAsB,YAAtB,EAAoC,QAApC,EAA8C,WAA9C,CAAP;AACD;AAED;;;;;;;;;;;;;;;;;;;;;;AAoBc,SAAP,OAAO,CACV,YADU,EACY,KAAK,GAAG,EADpB,EACwB,QAAQ,GAAG,GADnC,EACwC,OAAA,GAAkB,IAD1D,EAEV,QAAQ,GAAG,KAFD,EAEM;AAClB,WAAO,IAAI,mCAAJ,CACH,YADG,EACW,KADX,EACkB,QADlB,EAC4B,OAD5B,EACqC,QADrC,CAAP;AAED;AAED;;;;;;;;;;;;;;AAYW,SAAJ,IAAI,CACP,YAAY,GAAG,KADR,EACe,KAAK,GAAG,GADvB,EAC4B,KAAK,GAAG,KADpC,EAEP,OAAA,GAAkB,IAFX,EAEe;AACxB,WAAO,IAAI,6BAAJ,CAAkB,YAAlB,EAAgC,KAAhC,EAAuC,KAAvC,EAA8C,OAA9C,CAAP;AACD;AAED;;;;;;;;;;;;;;AAYe,SAAR,QAAQ,CAAC,YAAY,GAAG,IAAhB,EAAsB,GAAG,GAAG,GAA5B,EAAiC,OAAA,GAAkB,IAAnD,EAAuD;AAEpE,WAAO,IAAI,qCAAJ,CAAsB,YAAtB,EAAoC,GAApC,EAAyC,OAAzC,CAAP;AACD;AAED;;;;;;;;;;;;;;;AAaa,SAAN,MAAM,CACT,YAAY,GAAG,KADN,EACa,KAAK,GAAG,GADrB,EAC0B,KAAK,GAAG,KADlC,EACyC,OAAA,GAAkB,IAD3D,EAET,KAAK,GAAG,GAFC,EAEE;AACb,WAAO,IAAI,iCAAJ,CAAoB,YAApB,EAAkC,KAAlC,EAAyC,KAAzC,EAAgD,OAAhD,EAAyD,KAAzD,CAAP;AACD;AAED;;;;;;;;;;;;;;;;;;AAgBc,SAAP,OAAO,CAAC,YAAD,EAAuB,uBAAuB,GAAG,GAAjD,EAAoD;AAEhE,WAAO,IAAI,mCAAJ,CAAqB,YAArB,EAAmC,uBAAnC,CAAP;AACD;;AAlK+B;;;;;;;;;;;ACPlC;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAzBA;;;;;;;;;;;;;;;;AAiBA;AAUA;AACA,CAAC,qCAAD,EAAoB,2BAApB,EAAkC,qCAAlC,EAAqD,mCAArD,EACC,mCADD,EACmB,iCADnB,EACoC,6BADpC;AAGO,MAAM,KAAK,GAAG;AACnB,EAAA,GAAG,EAAE,8CAAsB,GADR;AAEnB,EAAA,QAAQ,EAAE,8CAAsB,QAFb;AAGnB,EAAA,QAAQ,EAAE,8CAAsB,QAHb;AAInB,EAAA,OAAO,EAAE,8CAAsB,OAJZ;AAKnB,EAAA,OAAO,EAAE,8CAAsB,OALZ;AAMnB,EAAA,MAAM,EAAE,8CAAsB,MANX;AAOnB,EAAA,IAAI,EAAE,8CAAsB;AAPT,CAAd;;;;;;;;;;AC/BP;;;;;;;;;;;;;;;;AAiBA,MAAM,aAAa,GAAa,CAAC,MAAK;AACpC,MAAI,OAAO,qBAAP,KAAiC,WAArC,EAAkD;AAChD,WAAO,qBAAP;AACD,GAFD,MAEO,IAAI,OAAO,YAAP,KAAwB,WAA5B,EAAyC;AAC9C,WAAO,YAAP;AACD;;AACD,SAAQ,CAAD,IAAiB,CAAC,EAAzB,CANoC,CAMN;AAC/B,CAP+B,GAAhC;AASA;;;;;;;;;;;;AAUA,SAAS,SAAT,GAAkB;AAChB,SAAO,IAAI,OAAJ,CAAkB,OAAO,IAAI,aAAa,CAAC,MAAM,OAAO,EAAd,CAA1C,CAAP;AACD;;;;;;;;;;ACrBD;;;;;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,sBAAV,CAAiC,MAAjC,EAAqD,IAArD,EAAiE;AACrE,QAAM,IAAI,GAAG,MAAM,CAAC,CAAD,CAAN,CAAU,MAAvB;AACA,EAAA,MAAM,CAAC,OAAP,CAAe,CAAC,KAAD,EAAQ,CAAR,KAAa;AAC1B,IAAA,IAAI,CAAC,MAAL,CACI,KAAK,CAAC,MAAN,KAAiB,IADrB,EAEI,MACI,kBAAkB,IAAI,sBAAsB,CAAC,qBAA7C,GACA,4BAA4B,IAAI,GAJxC;AAKD,GAND;AAQA,EAAA,IAAI,CAAC,MAAL,CACI,IAAI,IAAI,CAAR,IAAa,IAAI,GAAG,IADxB,EAEI,MAAM,kBAAkB,IAAI,iCAAiC,IAAI,GAAG,CAAC,GAFzE;AAIA,QAAM,UAAU,GAAG,MAAM,CAAC,CAAD,CAAzB;AACA,EAAA,MAAM,CAAC,OAAP,CAAe,CAAC,KAAD,EAAQ,CAAR,KAAa;AAC1B,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAApB,EAA0B,CAAC,EAA3B,EAA+B;AAC7B,MAAA,IAAI,CAAC,MAAL,CACK,CAAC,KAAK,IAAP,IAAiB,KAAK,CAAC,CAAD,CAAL,KAAa,UAAU,CAAC,CAAD,CAD5C,EAEI,MAAM,kBAAkB,IAAI,uBAAuB,CAAC,MAAM,KAAK,IAAzD,GACF,yCAAyC,UAAU,IADjD,GAEF,mCAAmC,CAAC,GAJ5C;AAKD;AACF,GARD;AASD;;AAEK,SAAU,eAAV,CAA0B,MAA1B,EAA8C,IAA9C,EAA0D;AAC9D,QAAM,WAAW,GAAG,MAAM,CAAC,CAAD,CAAN,CAAU,KAAV,EAApB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,IAAA,WAAW,CAAC,IAAD,CAAX,IAAqB,MAAM,CAAC,CAAD,CAAN,CAAU,IAAV,CAArB;AACD;;AACD,SAAO,WAAP;AACD;;;;;;;;;;AC9BD;;AArBA;;;;;;;;;;;;;;;;;AAiBA;;;;AAMO,MAAM,qBAAqB,GAAG,EAA9B;;;AASD,SAAU,wBAAV,CAAmC,MAAnC,EAAiD;AACrD,MAAI,MAAM,IAAI,qBAAd,EAAqC;AACnC,WAAO,MAAP;AACD;;AACD,SAAO,0BAAe,MAAf,EAAuB,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,IAAL,CAAU,MAAV,CAAX,CAAvB,CAAP;AACD;;;;;;;;;ACrCD;;;;;;;;;;;;;;;;AAiBA;AACM,SAAU,cAAV,CACF,MADE,EAC+B,WAD/B,EAEF,UAFE,EAEgB;AACpB,QAAM,OAAO,GACT,UAAU,IAAI,OAAO,MAAP,KAAkB,QAAlB,GAA6B,MAA7B,GAAsC,MAAM,CAAC,CAAD,CAAhD,CADd;AAEA,QAAM,OAAO,GACT,WAAW,IAAI,OAAO,MAAP,KAAkB,QAAlB,GAA6B,MAA7B,GAAsC,MAAM,CAAC,CAAD,CAAhD,CADf;AAEA,SAAO,CAAC,OAAD,EAAU,OAAV,CAAP;AACD;;;;;;;;;;;;;AC1BD;;;;;;;;;;;;;;;;;AAiBA;;;;;;;;AAQM,SAAU,WAAV,CACF,UADE,EACoB,UADpB,EAC0C,IAD1C,EAEF,YAAY,GAAG,IAFb,EAEiB;AACrB,MAAI,QAAQ,GAAa,EAAzB;;AACA,MAAI,YAAJ,EAAkB;AAChB,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAT,CAAgB,UAAU,CAAC,KAAX,CAAiB,CAAjB,CAAhB,CAAX;AACA,IAAA,QAAQ,CAAC,IAAT,CAAc,UAAU,CAAC,CAAD,CAAV,GAAgB,IAA9B;AACA,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAT,CAAgB,UAAU,CAAC,KAAX,CAAiB,CAAjB,CAAhB,CAAX;AACD,GAJD,MAIO;AACL,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAT,CAAgB,UAAU,CAAC,CAAD,CAA1B,CAAX;AACA,UAAM,aAAa,GAAG,UAAU,CAAC,MAAjC;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,aAApB,EAAmC,EAAE,CAArC,EAAwC;AACtC,MAAA,QAAQ,GACJ,QAAQ,CAAC,MAAT,CAAgB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAL,CAAV,GAAoB,UAAU,CAAC,CAAD,CAA/B,EAAoC,UAAU,CAAC,CAAD,CAA9C,CAAhB,CADJ;AAED;;AACD,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAT,CAAgB,UAAU,CAAC,KAAX,CAAiB,aAAa,GAAG,CAAjC,CAAhB,CAAX;AACD;;AACD,SAAO,QAAP;AACD;AAED;;;;;;;;;;;AASM,SAAU,WAAV,CACF,YADE,EACoB,cADpB,EAEF,YAAY,GAAG,IAFb,EAEiB;AACrB,QAAM,QAAQ,GAAG,EAAjB;;AACA,MAAI,YAAJ,EAAkB;AAChB,IAAA,QAAQ,CAAC,IAAT,CAAc,cAAd;;AACA,SAAK,IAAI,CAAC,GAAG,cAAc,GAAG,CAA9B,EAAiC,CAAC,GAAG,YAArC,EAAmD,EAAE,CAArD,EAAwD;AACtD,UAAI,CAAC,IAAI,IAAI,cAAb,EAA6B;AAC3B,QAAA,QAAQ,CAAC,IAAT,CAAc,CAAd;AACA,QAAA,QAAQ,CAAC,IAAT,CAAc,CAAC,IAAI,cAAc,GAAG,CAArB,CAAf;AACD,OAHD,MAGO;AACL,QAAA,QAAQ,CAAC,IAAT,CAAc,CAAd;AACD;AACF;AACF,GAVD,MAUO;AACL,UAAM,mBAAmB,GAAG,EAA5B;AACA,UAAM,kBAAkB,GAAG,EAA3B;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAApB,EAAkC,EAAE,CAApC,EAAuC;AACrC,UAAI,CAAC,IAAI,cAAc,GAAG,CAAjB,GAAqB,CAA1B,IAA+B,CAAC,GAAG,CAAJ,KAAU,CAA7C,EAAgD;AAC9C,QAAA,kBAAkB,CAAC,IAAnB,CAAwB,CAAxB;AACD,OAFD,MAEO;AACL,QAAA,mBAAmB,CAAC,IAApB,CAAyB,CAAzB;AACD;AACF;;AACD,IAAA,QAAQ,CAAC,IAAT,CAAc,GAAG,mBAAjB;AACA,IAAA,QAAQ,CAAC,IAAT,CAAc,CAAd;AACA,IAAA,QAAQ,CAAC,IAAT,CAAc,GAAG,kBAAjB;AACD;;AACD,SAAO,QAAP;AACD;AAED;;;;;;;;;;;AASM,SAAU,mBAAV,CACF,UADE,EACoB,UADpB,EAC0C,IAD1C,EAEF,YAAY,GAAG,IAFb,EAEiB;AACrB,QAAM,gBAAgB,GAAG,EAAzB;;AAEA,MAAI,YAAJ,EAAkB;AAChB,IAAA,gBAAgB,CAAC,IAAjB,CAAsB,UAAU,CAAC,CAAD,CAAV,GAAgB,IAAtC;AACD,GAFD,MAEO;AACL,IAAA,gBAAgB,CAAC,IAAjB,CAAsB,UAAU,CAAC,CAAD,CAAV,GAAgB,IAAtC;AACD;;AAED,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,UAAU,CAAC,MAA/B,EAAuC,EAAE,CAAzC,EAA4C;AAC1C,QAAI,CAAC,IAAI,UAAU,CAAC,MAApB,EAA4B;AAC1B,UAAI,YAAJ,EAAkB;AAChB,QAAA,gBAAgB,CAAC,IAAjB,CAAsB,UAAU,CAAC,CAAC,GAAG,CAAL,CAAV,GAAoB,UAAU,CAAC,CAAD,CAApD;AACD,OAFD,MAEO;AACL,QAAA,gBAAgB,CAAC,IAAjB,CAAsB,UAAU,CAAC,CAAD,CAAV,GAAgB,UAAU,CAAC,CAAC,GAAG,CAAL,CAAhD;AACD;AACF,KAND,MAMO;AACL,MAAA,gBAAgB,CAAC,IAAjB,CAAsB,UAAU,CAAC,CAAD,CAAhC;AACD;AACF;;AAED,SAAO,gBAAP;AACD;AAED;;;;;;AAIM,SAAU,mBAAV,CACF,KADE,EACiB,UADjB,EACmC;AACvC,QAAM,gBAAgB,GAAG,CAAC,CAAD,CAAzB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,UAApB,EAAgC,EAAE,CAAlC,EAAqC;AACnC,IAAA,gBAAgB,CAAC,IAAjB,CAAsB,KAAK,CAAC,CAAD,CAAL,CAAS,CAAT,CAAtB;AACD;;AACD,SAAO,gBAAP;AACD;AAED;;;;;;;;;;;;;AAWM,SAAU,YAAV,CACF,cADE,EACwB,KADxB,EAC2C,UAD3C,EAC6D;AACjE,QAAM,SAAS,GAAG,cAAc,CAAC,KAAf,CAAqB,CAArB,EAAwB,CAAxB,CAAlB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,UAApB,EAAgC,EAAE,CAAlC,EAAqC;AACnC,IAAA,SAAS,CAAC,IAAV,CAAe,cAAc,CAAC,CAAC,GAAG,CAAL,CAAd,GAAwB,KAAK,CAAC,CAAD,CAAL,CAAS,CAAT,CAAxB,GAAsC,KAAK,CAAC,CAAD,CAAL,CAAS,CAAT,CAArD;AACD;;AAED,SAAO,SAAP;AACD;;;;;;;;;ACxJD;;;;;;;;;;;;;;;;AAiBO,MAAM,eAAe,GAAG,iCAAxB;;AACA,MAAM,UAAU,GAAG,iCAAnB;;;;;;;;;;AClBP;;;;;;;;;;;;;;;;AAiBO,MAAM,KAAK,GAAG,SAAd;;AACA,MAAM,MAAM,GAAG,WAAf;;AACA,MAAM,MAAM,GAAG,CAAC,WAAhB;;AACA,MAAM,MAAM,GAAG,WAAf;;AACA,MAAM,MAAM,GAAG,CAAC,WAAhB;;AACA,MAAM,MAAM,GAAG,WAAf;;;;;;;;;;;ACLP;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,IAAV,CAAe,GAAG,GAAlB,EAAgC;AACpC,MAAI,CAAC,wBAAM,OAAN,CAAc,SAAd,CAAL,EAA+B;AAC7B,IAAA,OAAO,CAAC,IAAR,CAAa,GAAG,GAAhB;AACD;AACF;;AAEK,SAAU,GAAV,CAAc,GAAG,GAAjB,EAA+B;AACnC,MAAI,CAAC,wBAAM,OAAN,CAAc,SAAd,CAAL,EAA+B;AAC7B,IAAA,OAAO,CAAC,GAAR,CAAY,GAAG,GAAf;AACD;AACF;;;;;;;;;;;;;;;;AC7BD;;;;;;;;;;;;;;;;;AAkBA;;;;;;;;;;;;;;AAcM,SAAU,sBAAV,CACF,IADE,EACkB,IADlB,EACoC;AACxC,MAAI,IAAI,CAAC,MAAL,KAAgB,IAAI,CAAC,MAAzB,EAAiC;AAC/B,UAAM,IAAI,KAAJ,CACF,+DAAA,GACA,GAAG,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,MAAM,GAFlC,CAAN;AAGD;;AACD,QAAM,MAAM,GAAG,IAAI,YAAJ,CAAiB,IAAI,CAAC,MAAL,GAAc,CAA/B,CAAf;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,IAAI,CAAxC,EAA2C;AACzC,IAAA,MAAM,CAAC,CAAD,CAAN,GAAY,IAAI,CAAC,CAAC,GAAG,CAAL,CAAhB;AACA,IAAA,MAAM,CAAC,CAAC,GAAG,CAAL,CAAN,GAAgB,IAAI,CAAC,CAAC,GAAG,CAAL,CAApB;AACD;;AACD,SAAO,MAAP;AACD;AAED;;;;;;;;;;;;;;;;AAcM,SAAU,sBAAV,CAAiC,OAAjC,EAAsD;AAE1D,QAAM,IAAI,GAAG,IAAI,YAAJ,CAAiB,OAAO,CAAC,MAAR,GAAiB,CAAlC,CAAb;AACA,QAAM,IAAI,GAAG,IAAI,YAAJ,CAAiB,OAAO,CAAC,MAAR,GAAiB,CAAlC,CAAb;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,CAAC,MAA5B,EAAoC,CAAC,IAAI,CAAzC,EAA4C;AAC1C,IAAA,IAAI,CAAC,CAAC,GAAG,CAAL,CAAJ,GAAc,OAAO,CAAC,CAAD,CAArB;AACA,IAAA,IAAI,CAAC,CAAC,GAAG,CAAL,CAAJ,GAAc,OAAO,CAAC,CAAC,GAAG,CAAL,CAArB;AACD;;AACD,SAAO;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,GAAP;AACD;AAED;;;;;;AAIM,SAAU,oBAAV,CAA+B,OAA/B,EAAoD;AAExD,QAAM,GAAG,GAAG,IAAI,CAAC,IAAL,CAAU,OAAO,CAAC,MAAR,GAAiB,CAA3B,CAAZ;AACA,QAAM,IAAI,GAAG,IAAI,YAAJ,CAAiB,GAAjB,CAAb;AACA,QAAM,IAAI,GAAG,IAAI,YAAJ,CAAiB,GAAjB,CAAb;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,CAAC,MAA5B,EAAoC,CAAC,IAAI,CAAzC,EAA4C;AAC1C,IAAA,IAAI,CAAC,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,CAAf,CAAD,CAAJ,GAA0B,OAAO,CAAC,CAAD,CAAjC;AACA,IAAA,IAAI,CAAC,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,CAAf,CAAD,CAAJ,GAA0B,OAAO,CAAC,CAAC,GAAG,CAAL,CAAjC;AACD;;AACD,SAAO;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,GAAP;AACD;AAED;;;;;;AAIM,SAAU,mBAAV,CAA8B,OAA9B,EAAmD;AAEvD,QAAM,GAAG,GAAG,IAAI,CAAC,KAAL,CAAW,OAAO,CAAC,MAAR,GAAiB,CAA5B,CAAZ;AACA,QAAM,IAAI,GAAG,IAAI,YAAJ,CAAiB,GAAjB,CAAb;AACA,QAAM,IAAI,GAAG,IAAI,YAAJ,CAAiB,GAAjB,CAAb;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,CAAC,MAA5B,EAAoC,CAAC,IAAI,CAAzC,EAA4C;AAC1C,IAAA,IAAI,CAAC,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,CAAf,CAAD,CAAJ,GAA0B,OAAO,CAAC,CAAD,CAAjC;AACA,IAAA,IAAI,CAAC,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,CAAf,CAAD,CAAJ,GAA0B,OAAO,CAAC,CAAC,GAAG,CAAL,CAAjC;AACD;;AACD,SAAO;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,GAAP;AACD;AAED;;;;;;;AAKM,SAAU,mBAAV,CACF,OADE,EACqB,KADrB,EACkC;AACtC,QAAM,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,CAAT,CAApB;AACA,QAAM,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,CAAR,GAAY,CAAb,CAApB;AACA,SAAO;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,GAAP;AACD;AAED;;;;;;;;AAMM,SAAU,kBAAV,CACF,IADE,EACgB,IADhB,EAC8B,IAD9B,EAC4C,KAD5C,EACyD;AAC7D,EAAA,IAAI,CAAC,KAAK,GAAG,CAAT,CAAJ,GAAkB,IAAlB;AACA,EAAA,IAAI,CAAC,KAAK,GAAG,CAAR,GAAY,CAAb,CAAJ,GAAsB,IAAtB;AACD;AAED;;;;;AAGM,SAAU,SAAV,CACF,CADE,EACS,OADT,EACyB;AAC7B,QAAM,IAAI,GAAG,IAAI,YAAJ,CAAiB,CAAC,GAAG,CAArB,CAAb;AACA,QAAM,IAAI,GAAG,IAAI,YAAJ,CAAiB,CAAC,GAAG,CAArB,CAAb;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAAI,CAAC,IAAL,CAAU,CAAC,GAAG,CAAd,CAApB,EAAsC,CAAC,EAAvC,EAA2C;AACzC,UAAM,CAAC,GAAG,CAAC,OAAO,GAAG,CAAH,GAAO,CAAC,CAAhB,IAAqB,IAAI,CAAC,EAA1B,IAAgC,CAAC,GAAG,CAApC,CAAV;AACA,IAAA,IAAI,CAAC,CAAD,CAAJ,GAAU,IAAI,CAAC,GAAL,CAAS,CAAT,CAAV;AACA,IAAA,IAAI,CAAC,CAAD,CAAJ,GAAU,IAAI,CAAC,GAAL,CAAS,CAAT,CAAV;AACD;;AACD,SAAO;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,GAAP;AACD;AAED;;;;;AAGM,SAAU,QAAV,CACF,CADE,EACS,CADT,EACoB,OADpB,EACoC;AACxC,QAAM,CAAC,GAAG,CAAC,OAAO,GAAG,CAAH,GAAO,CAAC,CAAhB,IAAqB,IAAI,CAAC,EAA1B,IAAgC,CAAC,GAAG,CAApC,CAAV;AACA,QAAM,IAAI,GAAG,IAAI,CAAC,GAAL,CAAS,CAAT,CAAb;AACA,QAAM,IAAI,GAAG,IAAI,CAAC,GAAL,CAAS,CAAT,CAAb;AACA,SAAO;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,GAAP;AACD;;;;;;;;;;;;;ACjID;;AAvBA;;;;;;;;;;;;;;;;AAyBA,MAAM,KAAK,GAAG,IAAd;AACA,MAAM,WAAW,GAAG,KAApB;AACA,MAAM,KAAK,GAAG,GAAd;AACA,MAAM,QAAQ,GAAG,KAAjB;AAEA;;;;;;;;;;;;;;AAaM,SAAU,oBAAV,CAA+B,QAA/B,EAAiD,UAAjD,EAAmE;AAKvE,EAAA,QAAQ,GAAG,QAAQ,CAAC,OAAT,CAAiB,KAAjB,EAAwB,EAAxB,CAAX,CALuE,CAK9B;;AACzC,QAAM,SAAS,GACX,CAAC,QAAQ,CAAC,MAAT,GAAkB,QAAQ,CAAC,OAAT,CAAiB,WAAjB,EAA8B,EAA9B,EAAkC,MAArD,IACA,KAAK,CAAC,MAFV;;AAGA,MAAI,SAAS,GAAG,CAAhB,EAAmB;AACjB,UAAM,IAAI,KAAJ,CAAU,+CAAV,CAAN;AACD,GAFD,MAEO,IAAI,SAAS,GAAG,CAAhB,EAAmB;AACxB,UAAM,IAAI,KAAJ,CAAU,6CAA6C,KAAK,KAA5D,CAAN;AACD;;AACD,QAAM,CAAC,WAAD,EAAc,YAAd,IAA8B,QAAQ,CAAC,KAAT,CAAe,KAAf,CAApC;AACA,yBACI,WAAW,CAAC,OAAZ,CAAoB,QAApB,MAAkC,CAAC,CADvC,EAEI,MAAM,2BAA2B,QAAQ,0BAF7C;AAGA,QAAM,UAAU,GAAG,WAAW,CAAC,KAAZ,CAAkB,KAAlB,CAAnB;AACA,QAAM,SAAS,GAAG,UAAU,CAAC,MAA7B;;AACA,MAAI,UAAU,KAAK,SAAnB,EAA8B;AAC5B,UAAM,IAAI,KAAJ,CACF,YAAY,SAAS,4BAA4B,UAAU,EADzD,CAAN;AAED;;AACD,MAAI,SAAS,GAAG,CAAhB,EAAmB;AACjB,UAAM,IAAI,KAAJ,CACF,+DADE,CAAN;AAED;;AAED,QAAM,OAAO,GAAa,EAA1B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAAY,CAAC,MAAjC,EAAyC,EAAE,CAA3C,EAA8C;AAC5C,UAAM,OAAO,GAAG,YAAY,CAAC,CAAD,CAA5B;;AACA,QAAI,CAAC,UAAU,CAAC,IAAX,CAAgB,SAAS,IAAI,SAAS,CAAC,OAAV,CAAkB,OAAlB,MAA+B,CAAC,CAA7D,CAAL,EAAsE;AACpE,YAAM,IAAI,KAAJ,CACF,uCAAuC,OAAO,GAA9C,GACA,sCAFE,CAAN;AAGD;;AACD,QAAI,OAAO,CAAC,OAAR,CAAgB,OAAhB,MAA6B,CAAC,CAAlC,EAAqC;AACnC,MAAA,OAAO,CAAC,IAAR,CAAa,OAAb;AACD;AACF;;AACD,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,WAAW,CAAC,MAAhC,EAAwC,EAAE,CAA1C,EAA6C;AAC3C,UAAM,OAAO,GAAG,WAAW,CAAC,CAAD,CAA3B;;AACA,QAAI,OAAO,CAAC,OAAR,CAAgB,OAAhB,MAA6B,CAAC,CAA9B,IAAmC,OAAO,KAAK,KAAnD,EAA0D;AACxD,MAAA,OAAO,CAAC,IAAR,CAAa,OAAb;AACD;AACF;;AAED,QAAM,MAAM,GAAe,IAAI,KAAJ,CAAoB,UAAU,CAAC,MAA/B,CAA3B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAApB,EAA+B,EAAE,CAAjC,EAAoC;AAClC,QAAI,IAAI,GAAJ,CAAQ,UAAU,CAAC,CAAD,CAAV,CAAc,KAAd,CAAoB,EAApB,CAAR,EAAiC,IAAjC,KAA0C,UAAU,CAAC,CAAD,CAAV,CAAc,MAA5D,EAAoE;AAClE,YAAM,IAAI,KAAJ,CACF,2CAA2C,UAAU,CAAC,CAAD,CAAG,IAAxD,GACA,6DAFE,CAAN;AAGD;;AACD,IAAA,MAAM,CAAC,CAAD,CAAN,GAAY,EAAZ;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,UAAU,CAAC,CAAD,CAAV,CAAc,MAAlC,EAA0C,EAAE,CAA5C,EAA+C;AAC7C,MAAA,MAAM,CAAC,CAAD,CAAN,CAAU,IAAV,CAAe,OAAO,CAAC,OAAR,CAAgB,UAAU,CAAC,CAAD,CAAV,CAAc,CAAd,CAAhB,CAAf;AACD;AACF;;AAED,QAAM,OAAO,GAAG,OAAO,CAAC,MAAxB,CA7DuE,CA6D9B;;AACzC,QAAM,UAAU,GAAG,YAAY,CAAC,MAAhC,CA9DuE,CA8D9B;;AACzC,QAAM,UAAU,GAAa,EAA7B,CA/DuE,CA+D9B;;AACzC,OAAK,IAAI,CAAC,GAAG,UAAb,EAAyB,CAAC,GAAG,OAA7B,EAAsC,EAAE,CAAxC,EAA2C;AACzC,IAAA,UAAU,CAAC,IAAX,CAAgB,CAAhB;AACD;;AACD,SAAO;AAAC,IAAA,OAAD;AAAU,IAAA,UAAV;AAAsB,IAAA;AAAtB,GAAP;AACD;AAED;;;;;;;;;;;;;AAWM,SAAU,oBAAV,CAA+B,KAA/B,EAA8C,MAA9C,EAA8D;AAElE,MAAI,kBAAkB,GAAa,IAAI,KAAJ,CAAkB,KAAlB,CAAnC;AACA,EAAA,kBAAkB,CAAC,IAAnB,CAAwB,CAAC,CAAzB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,EAAE,CAArC,EAAwC;AACtC,IAAA,kBAAkB,CAAC,MAAM,CAAC,CAAD,CAAP,CAAlB,GAAgC,CAAhC;AACD;;AACD,QAAM,UAAU,GAAa,EAA7B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAApB,EAA2B,EAAE,CAA7B,EAAgC;AAC9B,QAAI,kBAAkB,CAAC,CAAD,CAAlB,KAA0B,CAAC,CAA/B,EAAkC;AAChC,MAAA,UAAU,CAAC,IAAX,CAAgB,CAAhB;AACD;AACF;;AACD,EAAA,kBAAkB,GAAG,kBAAkB,CAAC,MAAnB,CAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAtC,CAArB;AACA,SAAO;AAAC,IAAA,kBAAD;AAAqB,IAAA;AAArB,GAAP;AACD;AAED;;;;;;AAIM,SAAU,mBAAV,CACF,KADE,EACa,MADb,EACiC,OADjC,EACkD;AACtD,QAAM,QAAQ,GAAa,IAAI,KAAJ,CAAkB,KAAlB,CAA3B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,CAAC,MAA5B,EAAoC,EAAE,CAAtC,EAAyC;AACvC,UAAM,KAAK,GAAa,OAAO,CAAC,CAAD,CAAP,CAAW,KAAnC;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,CAAD,CAAN,CAAU,MAA9B,EAAsC,EAAE,CAAxC,EAA2C;AACzC,UAAI,QAAQ,CAAC,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAD,CAAR,KAA2B,SAA/B,EAA0C;AACxC,QAAA,QAAQ,CAAC,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAD,CAAR,GAAyB,KAAK,CAAC,CAAD,CAA9B;AACD,OAFD,MAEO;AACL,+BACI,QAAQ,CAAC,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAD,CAAR,KAA2B,KAAK,CAAC,CAAD,CADpC,EAEI,MAAM,sBAAsB,QAAQ,CAAC,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAD,CAAc,YAAY,CAAC,GAAzD,GACF,mBAAmB,IAAI,CAAC,SAAL,CAAe,KAAf,CAAqB,IADtC,GAEF,qBAAqB,KAAK,CAAC,CAAD,CAAG,EAJrC;AAKD;AACF;AACF;AACF;AAED;;;;;;;;;;;;;;;;;AAeM,SAAU,oBAAV,CAA+B,UAA/B,EAAqD,MAArD,EAAuE;AAE3E,QAAM,IAAI,GAAa,UAAvB;AACA,QAAM,KAAK,GAAe,EAA1B;AACA,MAAI,MAAM,GAAG,CAAb;;AACA,MAAI,UAAU,CAAC,MAAX,KAAsB,CAA1B,EAA6B;AAC3B;AACA,IAAA,IAAI,CAAC,IAAL,CAAU,CAAC,CAAX;AACD;;AACD,EAAA,MAAM,GAAG,UAAU,CAAC,MAAX,GAAoB,CAA7B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAApB,EAA4B,EAAE,CAA9B,EAAiC;AAC/B,IAAA,KAAK,CAAC,IAAN,CAAW,EAAX;AACD;;AACD,QAAM,mBAAmB,GAAa,EAAtC;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAAI,CAAC,MAAzB,EAAiC,EAAE,CAAnC,EAAsC;AACpC,UAAM,SAAS,GAAG,IAAI,CAAC,CAAD,CAAtB;AACA,UAAM,WAAW,GAAG,gBAAgB,CAAC,MAAD,EAAS,SAAT,CAApC;;AACA,SAAK,MAAM,SAAX,IAAwB,WAAxB,EAAqC;AACnC,UAAI,mBAAmB,CAAC,OAApB,CAA4B,SAA5B,MAA2C,CAAC,CAAhD,EAAmD;AACjD,QAAA,KAAK,CAAC,CAAD,CAAL,CAAS,IAAT,CAAc,SAAd;AACA,QAAA,mBAAmB,CAAC,IAApB,CAAyB,SAAzB;AACD;AACF;AACF;;AACD,SAAO;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,GAAP;AACD;AAED;;;AACM,SAAU,qBAAV,CAAgC,IAAhC,EAA8C;AAClD,SAAO,IAAI,CAAC,KAAL,CAAW,CAAC,GAAD,EAAc,KAAd,KAAgC,GAAG,KAAK,KAAnD,CAAP;AACD;;AAED,SAAS,gBAAT,CAA0B,MAA1B,EAA8C,GAA9C,EAAyD;AACvD,QAAM,WAAW,GAAa,EAA9B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,EAAE,CAArC,EAAwC;AACtC,QAAI,MAAM,CAAC,CAAD,CAAN,CAAU,MAAV,KAAqB,CAArB,IAA0B,MAAM,CAAC,CAAD,CAAN,CAAU,OAAV,CAAkB,GAAlB,MAA2B,CAAC,CAAtD,IAA2D,GAAG,KAAK,CAAC,CAAxE,EAA2E;AACzE,MAAA,WAAW,CAAC,IAAZ,CAAiB,CAAjB;AACD;AACF;;AACD,SAAO,WAAP;AACD;;;;;;;;;ACzMD;;AAEA;;;;;AAKM,SAAU,gBAAV,CACF,CADE,EACoB,eADpB,EAEF,IAAI,GAAG,CAFL,EAEM;AACV,MAAI,UAAU,GAAG,EAAjB;;AACA,MAAI,OAAQ,eAAR,KAA6B,QAAjC,EAA2C;AACzC,sBACI,CAAC,CAAC,KAAF,CAAQ,IAAR,IAAgB,eAAhB,KAAoC,CADxC,EAEI,MAAM,+CAFV;AAGA,IAAA,UAAU,GACN,IAAI,KAAJ,CAAU,eAAV,EAA2B,IAA3B,CAAgC,CAAC,CAAC,KAAF,CAAQ,IAAR,IAAgB,eAAhD,CADJ;AAED,GAND,MAMO;AACL,UAAM,SAAS,GAAG,eAAe,CAAC,MAAhB,CAAuB,CAAC,KAAD,EAAQ,KAAR,KAAiB;AACxD,UAAI,KAAK,KAAK,CAAC,CAAf,EAAkB;AAChB,QAAA,KAAK,IAAI,CAAT;AACD;;AACD,aAAO,KAAP;AACD,KALiB,EAKf,CALe,CAAlB;AAMA,sBACI,SAAS,IAAI,CADjB,EAEI,MAAM,yDAFV;AAGA,UAAM,QAAQ,GAAG,eAAe,CAAC,OAAhB,CAAwB,CAAC,CAAzB,CAAjB,CAVK,CAWL;AACA;;AACA,QAAI,QAAQ,KAAK,CAAC,CAAlB,EAAqB;AACnB,YAAM,KAAK,GAAG,eAAe,CAAC,MAAhB,CAAuB,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,GAAG,CAAJ,GAAQ,CAAC,GAAG,CAAZ,GAAgB,CAAjD,CAAd;AACA,MAAA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAAC,CAAC,KAAF,CAAQ,IAAR,IAAgB,KAA5C;AACD;;AACD,sBACI,CAAC,CAAC,KAAF,CAAQ,IAAR,MAAkB,eAAe,CAAC,MAAhB,CAAuB,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,GAAG,CAArC,CADtB,EAEI,MAAM,6DAFV;AAGA,IAAA,UAAU,GAAG,eAAb;AACD;;AAED,SAAO,UAAP;AACD;;;;;;;;;;;ACzCD;;AAEA;;AApBA;;;;;;;;;;;;;;;;AA6BM,SAAU,6BAAV,CACF,MADE,EACc,WADd,EACiC;AACrC,MAAI,IAAI,GAAG,KAAX;AACA,MAAI,GAAJ;;AAEA,MAAI,MAAM,IAAI,kCAAd,EAAqC;AACnC,IAAA,GAAG,GAAG,MAAN;AACA,IAAA,IAAI,GAAG,IAAP;AACD,GAHD,MAGO;AACL,IAAA,GAAG,GAAG,0BAAe,MAAf,EAAuB,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,IAAL,CAAU,MAAV,CAAX,CAAvB,CAAN;AACD;;AAED,SAAO,CAAC,IAAR,EAAc;AACZ,QAAI,GAAG,GAAG,WAAN,IAAqB,GAAG,KAAK,MAAjC,EAAyC;AACvC,MAAA,IAAI,GAAG,IAAP;AACD,KAFD,MAEO;AACL,MAAA,GAAG,GAAG,0BAAe,MAAf,EAAuB,GAAG,GAAG,CAA7B,CAAN;AACD;AACF;;AACD,SAAO,GAAP;AACD;;AAEK,SAAU,eAAV,CACF,MADE,EACgB,IADhB,EAC8B,WAD9B,EACiD;AACrD,QAAM,QAAQ,GAAG,EAAjB;AACA,QAAM,IAAI,GAAG,MAAM,CAAC,MAApB;;AACA,OAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,GAAG,IAAxB,EAA8B,GAAG,EAAjC,EAAqC;AACnC,QAAI,GAAG,KAAK,IAAZ,EAAkB;AAChB,MAAA,QAAQ,CAAC,IAAT,CAAc,MAAM,CAAC,GAAD,CAApB;AACD,KAFD,MAEO;AACL,MAAA,QAAQ,CAAC,IAAT,CAAc,WAAd;AACD;AACF;;AACD,SAAO,QAAP;AACD;;AAUK,SAAU,wBAAV,CACF,CADE,EACa,OADb,EACkC,IADlC,EAEF,SAFE,EAEe;AACnB,QAAM,WAAW,GAAG,OAAO,CAAC,KAAR,CAAc,MAAlC;AACA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;;AAEA,MAAI,SAAS,KAAK,CAAlB,EAAqB;AACnB,QAAI,SAAS,GAAG,CAAC,WAAb,IAA4B,SAAS,GAAG,WAA5C,EAAyD;AACvD,YAAM,IAAI,KAAJ,CAAU,sCAAsC,WAAW,KAC7D,WAAW,cAAc,SAAS,EADhC,CAAN;AAED;AACF;;AAED,MAAI,SAAS,GAAG,CAAhB,EAAmB;AACjB,IAAA,SAAS,IAAI,WAAb;AACD;;AAED,MAAI,SAAS,GAAG,KAAhB,EAAuB;AACrB,UAAM,IAAI,KAAJ,CAAU,cAAc,SAAS;MACrC,KAAK,IADD,CAAN;AAED;;AAED,MAAI,IAAI,GAAG,SAAX,EAAsB;AACpB,UAAM,IAAI,KAAJ,CAAU,cACZ,SAAS,yCAAyC,IAAI,IADpD,CAAN;AAED;;AAED,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAApB,EAA+B,EAAE,CAAjC,EAAoC;AAClC,QAAI,CAAC,CAAC,KAAF,CAAQ,CAAR,MAAe,OAAO,CAAC,KAAR,CAAc,CAAd,CAAnB,EAAqC;AACnC,YAAM,IAAI,KAAJ,CACF,WAAW,CAAC,MAAM,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAU,qCACxB,CAAC,MAAM,OAAO,CAAC,KAAR,CAAc,CAAd,CAAgB,GAFzB,CAAN;AAGD;AACF;;AACD,QAAM,OAAO,GAAG,CAAC,CAAC,KAAF,CAAQ,IAAR,CAAhB;AAEA,QAAM,WAAW,GAAa,EAA9B;AACA,MAAI,SAAS,GAAG,CAAhB;AACA,MAAI,SAAS,GAAG,CAAhB;AACA,MAAI,SAAS,GAAG,CAAhB;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAApB,EAA+B,EAAE,CAAjC,EAAoC;AAClC,IAAA,WAAW,CAAC,IAAZ,CAAiB,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAjB;AACA,IAAA,SAAS,IAAI,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAb;AACD;;AAED,OAAK,IAAI,CAAC,GAAG,SAAb,EAAwB,CAAC,GAAG,IAA5B,EAAkC,CAAC,EAAnC,EAAuC;AACrC,IAAA,WAAW,CAAC,IAAZ,CAAiB,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAjB;AACA,IAAA,SAAS,IAAI,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAb;AACD;;AAED,OAAK,IAAI,CAAC,GAAG,SAAb,EAAwB,CAAC,GAAG,WAA5B,EAAyC,CAAC,EAA1C,EAA8C;AAC5C,IAAA,WAAW,CAAC,IAAZ,CAAiB,OAAO,CAAC,KAAR,CAAc,CAAd,CAAjB;AACD;;AAED,OAAK,IAAI,CAAC,GAAG,IAAI,GAAG,CAApB,EAAuB,CAAC,GAAG,KAA3B,EAAkC,CAAC,EAAnC,EAAuC;AACrC,IAAA,WAAW,CAAC,IAAZ,CAAiB,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAjB;AACA,IAAA,SAAS,IAAI,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAb;AACD;;AAED,SAAO;AAAC,IAAA,SAAD;AAAY,IAAA,SAAZ;AAAuB,IAAA,SAAvB;AAAkC,IAAA,OAAlC;AAA2C,IAAA;AAA3C,GAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;ACrHD;;AAGA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAZA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;;;AAGA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;;;;;;;AA7CA;;;;;;;;;;;;;;;;AAmBA;AA6BM,SAAU,sBAAV,CAAiC,IAAjC,EAAmD;AACvD,MAAI;AACF;AACA,WAAO,IAAI,CAAC,GAAL,CAAS,GAAG,IAAI,wBAAa,GAAb,CAAhB,CAAP;AACD,GAHD,CAGE,OAAO,GAAP,EAAY;AACZ,UAAM,IAAI,KAAJ,CACF,4DAA4D,GAAG,EAD7D,CAAN;AAED;AACF;;AAEK,SAAU,sBAAV,CAAiC,OAAjC,EAAkD;AACtD,SAAO,OAAO,CAAC,GAAR,CAAY,CAAC,IAAI,wBAAa,CAAb,CAAjB,CAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3CD;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACaA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAGA;;AAMA;;AAGA;;;;AACA;;;;AAgBA;;;;AAGA;;AAGA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;AChFA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;ACpBA;;;;;;;;;;;;;;;;;;AA6BA;AACA,IAAY,QAAZ;;;AAAA,CAAA,UAAY,QAAZ,EAAoB;AAClB,EAAA,QAAA,CAAA,QAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,GAAA,EAAA,CAAA,GAAA,aAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,eAAA,CAAA,GAAA,GAAA,CAAA,GAAA,eAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,eAAA,CAAA,GAAA,GAAA,CAAA,GAAA,eAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,kBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,kBAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,eAAA,CAAA,GAAA,GAAA,CAAA,GAAA,eAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,eAAA,CAAA,GAAA,GAAA,CAAA,GAAA,eAAA;AACA,EAAA,QAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAA;AACD,CA9BD,EAAY,QAAQ,wBAAR,QAAQ,GAAA,EAAA,CAApB;;AAyRM,IAAW,QAAX;;;AAAN,CAAA,UAAiB,QAAjB,EAAyB;AACvB;AACA,MAAY,uBAAZ;;AAAA,GAAA,UAAY,uBAAZ,EAAmC;AAAE,IAAA,uBAAA,CAAA,uBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAA;AAAc,IAAA,uBAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAA;AAAU,IAAA,uBAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAA;AAAS,GAAtE,EAAY,uBAAuB,GAAvB,QAAA,CAAA,uBAAA,KAAA,QAAA,CAAA,uBAAA,GAAuB,EAAvB,CAAZ;AACD,CAHD,EAAiB,QAAQ,wBAAR,QAAQ,GAAA,EAAA,CAAzB;;;;;;;;;;;ACtTA;;;;;;;;;;;;;;;;AAmBA,MAAM,UAAU,GAA8B,EAA9C;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBM,SAAU,UAAV,CAAqB,IAArB,EAAmC,MAAnC,EAAqD;AACzD,QAAM,QAAQ,GAAa;AACzB,IAAA,QAAQ,EAAE,IADe;AAEzB,IAAA,QAAQ,EAAE,QAFe;AAGzB,IAAA,MAAM,EAAE,EAHiB;AAIzB,IAAA,KAAK,EAAE,EAJkB;AAKzB,IAAA,cAAc,EAAE;AALS,GAA3B;AAQA,EAAA,UAAU,CAAC,IAAD,CAAV,GAAmB,QAAnB;AACD;AAED;;;;;;;;;AAOM,SAAU,eAAV,CAA0B,IAA1B,EAAsC;AAC1C,SAAO,UAAU,CAAC,IAAD,CAAjB;AACD;AAED;;;;;;;;;AAOM,SAAU,YAAV,CAAuB,IAAvB,EAAmC;AACvC,SAAO,UAAU,CAAC,IAAD,CAAjB;AACD;;;;;;;;;;;;;;;;AC9DD;;AAjBA;;;;;;;;;;;;;;;;AAwBM,SAAU,aAAV,CACF,SADE,EACiB,IADjB,EAC6B,SAD7B,EAEF,OAFE,EAEyB,eAFzB,EAE0D;AAC9D,QAAM,UAAU,GAAG,IAAI,CAAC,WAAL,CAAiB,SAAjB,CAAnB;;AACA,MAAI,UAAU,IAAI,UAAU,CAAC,eAAX,KAA+B,SAAjD,EAA4D;AAC1D,UAAM,KAAK,GAAG,UAAU,CAAC,eAAzB;AACA,UAAM,GAAG,GAAG,UAAU,CAAC,aAAX,KAA6B,CAA7B,GACR,SADQ,GAEP,UAAU,CAAC,aAAX,KAA6B,SAA7B,GAAyC,KAAK,GAAG,CAAjD,GACyC,UAAU,CAAC,aAHzD;;AAIA,QAAI,UAAU,CAAC,IAAX,KAAoB,QAAxB,EAAkC;AAChC,aAAO,SAAS,CACZ,IAAI,CAAC,UAAL,CAAgB,UAAU,CAAC,eAA3B,CADY,EACiC,SADjC,EAC4C,OAD5C,EAEZ,eAFY,CAAhB;AAGD;;AACD,QAAI,UAAU,CAAC,IAAX,KAAoB,SAAxB,EAAmC;AACjC,YAAM,MAAM,GAAG,IAAI,CAAC,UAAL,CAAgB,KAAhB,CAAsB,KAAtB,EAA6B,GAA7B,CAAf;AAEA,aAAO,MAAM,CAAC,GAAP,CACH,IAAI,IAAI,SAAS,CAAC,IAAD,EAAO,SAAP,EAAkB,OAAlB,EAA2B,eAA3B,CADd,CAAP;AAED;;AACD,UAAM,MAAM,GAAG,SAAS,CACpB,IAAI,CAAC,UAAL,CAAgB,KAAhB,CAAsB,KAAtB,EAA6B,CAA7B,CADoB,EACa,SADb,EACwB,OADxB,EACiC,eADjC,CAAxB;AAEA,UAAM,IAAI,GAAG,MAAM,CAAC,QAAP,EAAb;AACA,WAAO,UAAU,CAAC,IAAX,KAAoB,QAApB,GACH,IAAI,CAAC,CAAD,CADD,GAEH,eAAK,aAAL,CAAmB,MAAM,CAAC,KAA1B,EAAiC,IAAjC,CAFJ;AAGD;;AACD,QAAM,SAAS,GAAG,IAAI,CAAC,UAAL,CAAgB,SAAhB,CAAlB;AACA,SAAO,SAAS,IAAI,SAAS,CAAC,KAA9B;AACD;AAED;;;;;;;;;AAOM,SAAU,SAAV,CACF,IADE,EACY,UADZ,EACyC,OADzC,EAEF,eAFE,EAE+B;AACnC,QAAM,CAAC,QAAD,EAAW,KAAX,IAAoB,aAAa,CAAC,IAAD,CAAvC;;AAEA,MAAI,eAAe,IAAI,IAAvB,EAA6B;AAC3B,UAAM,MAAM,GAAG,eAAe,CAAC,wBAAhB,CAAyC,QAAzC,CAAf;;AACA,QAAI,MAAM,IAAI,IAAd,EAAoB;AAClB,aAAO,MAAP;AACD;AACF;;AAED,QAAM,SAAS,GAAG,OAAO,CAAC,iBAAR,CAA0B,IAA1B,CAA+B,SAAS,IAAG;AAC3D,WAAO,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,QAAD,EAAW,SAAX,CAAzB,CAAnB;AACD,GAFiB,CAAlB;AAIA,SAAO,SAAS,KAAK,SAAd,GACH,UAAU,CAAC,wBAAwB,CAAC,QAAD,EAAW,SAAX,CAAzB,CAAV,CAA0D,KAA1D,CADG,GAEH,SAFJ;AAGD;AAED;;;;;;;AAKM,SAAU,4BAAV,CACF,IADE,EACY,UADZ,EAEF,OAFE,EAEuB;AAC3B,SAAO,UAAU,CAAC,wBAAwB,CAAC,IAAD,EAAO,OAAO,CAAC,gBAAf,CAAzB,CAAjB;AACD;AAED;;;;;;;;;;AAQM,SAAU,mBAAV,CACF,SADE,EACiB,OADjB,EAC2C;AAC/C,QAAM,CAAC,QAAD,EAAW,KAAX,EAAkB,UAAlB,IAAgC,aAAa,CAAC,SAAD,CAAnD;AAEA,SAAO,CACL,wBAAwB,CAAC,QAAD,EAAW,OAAO,IAAI,OAAO,CAAC,gBAA9B,CADnB,EAEL,KAFK,EAEE,UAFF,CAAP;AAID;;AAED,SAAS,wBAAT,CAAkC,IAAlC,EAAgD,SAAhD,EAAkE;AAChE,SAAO,CAAC,CAAC,SAAF,GAAc,GAAG,IAAI,IAAI,SAAS,EAAlC,GAAuC,IAA9C;AACD;;AAEK,SAAU,aAAV,CAAwB,IAAxB,EAAoC;AACxC,QAAM,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,GAAX,CAAd;;AACA,MAAI,KAAK,CAAC,MAAN,KAAiB,CAArB,EAAwB;AACtB,WAAO,CAAC,IAAD,EAAO,CAAP,EAAU,SAAV,CAAP;AACD;;AAED,QAAM,QAAQ,GAAG,KAAK,CAAC,CAAD,CAAtB;AACA,QAAM,UAAU,GAAG,KAAK,CAAC,MAAN,KAAiB,CAAjB,GAAqB,KAAK,CAAC,CAAD,CAA1B,GAAgC,SAAnD;AACA,QAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAN,GAAe,CAAhB,CAAN,CAApB;AACA,SAAO,CAAC,QAAD,EAAW,KAAX,EAAkB,UAAlB,CAAP;AACD;;AAEK,SAAU,KAAV,CAAgB,GAAhB,EAA+B,IAA/B,EAA2C;AAC/C,QAAM,GAAG,GAAG,EAAZ;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAAG,CAAC,MAAxB,EAAgC,CAAC,IAAI,IAArC,EAA2C;AACzC,IAAA,GAAG,CAAC,IAAJ,CAAS,GAAG,CAAC,KAAJ,CAAU,CAAV,EAAa,CAAC,GAAG,IAAjB,CAAT;AACD;;AACD,SAAO,GAAP;AACD;;AACK,SAAU,UAAV,CACF,IADE,EACU,SADV,EAEF,OAFE,EAEuB;AAC3B,MAAI,GAAG,GAAG,aAAa,CAAC,KAAD,EAAQ,IAAR,EAAc,SAAd,EAAyB,OAAzB,CAAvB;;AACA,MAAI,GAAG,KAAK,UAAZ,EAAwB;AACtB;AACA,IAAA,GAAG,GAAG,aAAa,CAAC,kBAAD,EAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CAAnB;AACA,UAAM,eAAe,GAEjB,CAAC,CAAC,CAAD,EAAI,CAAJ,CAAD,EAAS,CAAC,CAAD,EAAI,CAAJ,CAAT,EAAiB,CAAC,CAAD,EAAI,CAAJ,CAAjB,EAAyB,CAAC,CAAD,EAAI,CAAJ,CAAzB,CAFJ;;AAGA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,CAApB,EAAuB,CAAC,EAAxB,EAA4B;AAC1B,MAAA,eAAe,CAAC,CAAD,CAAf,CAAmB,CAAnB,IAAyB,GAAgB,CAAC,CAAC,GAAG,CAAL,CAAzC;AACA,MAAA,eAAe,CAAC,CAAD,CAAf,CAAmB,CAAnB,IAAyB,GAAgB,CAAC,CAAC,GAAG,CAAJ,GAAQ,CAAT,CAAzC;AACD;;AACD,WAAO,eAAP;AACD;;AACD,SAAO,GAAP;AACD;AAED;;;;;;;;;;;AASM,SAAU,WAAV,CAAsB,MAAtB,EAAoC;AACxC,SAAO,MAAM,CAAC,IAAP,GAAc,MAAd,GAAuB,qBAAM,MAAN,CAA9B;AACD;;;;;;;;;ACtKD;;;;;;;;;;;;;;;;AAmBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAD8B,EAY9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAZ8B,EAuB9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,WAAO,CAApB;AAAuB,YAAQ,SAA/B;AAA0C,YAAQ;AAAlD,GAAD;AAHZ,CAvB8B,EA4B9B;AACE,cAAY,SADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO,EACkE;AACvE,cAAU,aAD6D;AAEvE,YAAQ,YAF+D;AAGvE,YAAQ,QAH+D;AAIvE,oBAAgB;AAJuD,GADlE;AAPX,CA5B8B,EA4C9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CA5C8B,EAuD9B;AACE,cAAY,SADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAvD8B,EAkE9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAlE8B,EA6E9B;AACE,cAAY,UADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CA7E8B,EAwF9B;AACE,cAAY,UADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAxF8B,EAmG9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAnG8B,EA8G9B;AACE,cAAY,SADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CA9G8B,EAyH9B;AACE,cAAY,SADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAzH8B,EAoI9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CApI8B,EA+I9B;AACE,cAAY,mBADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CA/I8B,EA0J9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CA1J8B,EAqK9B;AACE,cAAY,UADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AACR,cAAU,GADF;AAER,YAAQ,OAFA;AAGR,YAAQ,OAHA;AAIR,oBAAgB;AAJR,GAAD;AAPX,CArK8B,CAAzB;;;;;;;;;;ACjBP;;;;;;;;;;;;;;;;AAiBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAD8B,EAW9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAX8B,EAqB9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CArB8B,EA+B9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA/B8B,EAyC9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAzC8B,EAoD9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CApD8B,EA8D9B;AACE,cAAY,aADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AARX,CA9D8B,EA0E9B;AACE,cAAY,SADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CA1E8B,EAqF9B;AACE,cAAY,YADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CArF8B,EA+F9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA/F8B,EAyG9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAzG8B,EAmH9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAnH8B,EA6H9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA7H8B,EAuI9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAvI8B,EAiJ9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAjJ8B,EA2J9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO,EACkE;AACvE,cAAU,MAD6D;AAEvE,YAAQ,YAF+D;AAGvE,YAAQ,OAH+D;AAIvE,oBAAgB;AAJuD,GADlE;AANX,CA3J8B,EA0K9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA1K8B,EAoL9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO,EACkE;AACvE,cAAU,MAD6D;AAEvE,YAAQ,YAF+D;AAGvE,YAAQ,OAH+D;AAIvE,oBAAgB;AAJuD,GADlE;AANX,CApL8B,EAmM9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAnM8B,EA8M9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA9M8B,EAwN9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAxN8B,EAkO9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAlO8B,EA4O9B;AACE,cAAY,SADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA5O8B,EAsP9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAtP8B,EAgQ9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAhQ8B,EA0Q9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA1Q8B,EAoR9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CApR8B,EA8R9B;AACE,cAAY,QADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA9R8B,EAwS9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAxS8B,EAkT9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAlT8B,EA4T9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA5T8B,EAsU9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAtU8B,EAgV9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAhV8B,EA0V9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA1V8B,EAoW9B;AACE,cAAY,YADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CApW8B,EA8W9B;AACE,cAAY,UADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA9W8B,EAwX9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAxX8B,EAkY9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAlY8B,EA4Y9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA5Y8B,EAsZ9B;AACE,cAAY,KADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAtZ8B,EAga9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CACP;AACE,cAAU,WADZ;AAEE,YAAQ,UAFV;AAGE,YAAQ,MAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GAPO;AAPX,CAha8B,EAib9B;AACE,cAAY,WADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AACE,cAAU,OADZ;AAEE,YAAQ,OAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GAPO;AANX,CAjb8B,EAic9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CAAC;AACR,cAAU,GADF;AAER,YAAQ,OAFA;AAGR,YAAQ,OAHA;AAIR,oBAAgB;AAJR,GAAD;AANX,CAjc8B,CAAzB;;;;;;;;;ACDA,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,iBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,gBAArB;AAAuC,YAAQ;AAA/C,GAFQ,CAHZ;AAOE,WACI,CAAC;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAAD;AARN,CAD8B,EAW9B;AACE,cAAY,UADd;AAEE,cAAY,SAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAAD;AAHZ,CAX8B,EAgB9B;AACE,cAAY,QADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ;AAHZ,CAhB8B,EAwB9B;AACE,cAAY,OADd;AAEE,cAAY,SAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,WAAO,CAApB;AAAuB,YAAQ,SAA/B;AAA0C,YAAQ;AAAlD,GAAD;AAHZ,CAxB8B,EA6B9B;AACE,cAAY,OADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO,EAEP;AAAC,cAAU,YAAX;AAAyB,YAAQ,WAAjC;AAA8C,YAAQ;AAAtD,GAFO,EAGP;AAAC,cAAU,aAAX;AAA0B,YAAQ,YAAlC;AAAgD,YAAQ;AAAxD,GAHO;AANX,CA7B8B,EAyC9B;AACE,cAAY,MADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAzC8B,EAmD9B;AACE,cAAY,eADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CAnD8B,EA6D9B;AACE,cAAY,eADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,OAAX;AAAoB,YAAQ,OAA5B;AAAqC,YAAQ;AAA7C,GADO,EAEP;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAFO,EAGP;AAAC,cAAU,cAAX;AAA2B,YAAQ,aAAnC;AAAkD,YAAQ;AAA1D,GAHO,EAIP;AAAC,cAAU,kBAAX;AAA+B,YAAQ,gBAAvC;AAAyD,YAAQ;AAAjE,GAJO,EAKP;AACE,cAAU,0BADZ;AAEE,YAAQ,wBAFV;AAGE,YAAQ;AAHV,GALO,EAUP;AAAC,cAAU,mBAAX;AAAgC,YAAQ,MAAxC;AAAgD,YAAQ;AAAxD,GAVO;AANX,CA7D8B,EAgF9B;AACE,cAAY,oBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAJQ,CAHZ;AASE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AATX,CAhF8B,EA6F9B;AACE,cAAY,mBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAHQ,CAHZ;AAQE,WAAS,CAAC;AACR,cAAU,OADF;AAER,YAAQ,OAFA;AAGR,YAAQ,OAHA;AAIR,oBAAgB;AAJR,GAAD;AARX,CA7F8B,EA4G9B;AACE,cAAY,qBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,OAAX;AAAoB,YAAQ,OAA5B;AAAqC,YAAQ;AAA7C,GADO,EAEP;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAFO;AARX,CA5G8B,EAyH9B;AACE,cAAY,sBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAJQ,CAHZ;AASE,WAAS,CAAC;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ;AAAzC,GAAD;AATX,CAzH8B,EAoI9B;AACE,cAAY,qBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,OAAX;AAAoB,YAAQ,OAA5B;AAAqC,YAAQ;AAA7C,GADO,EACgD;AACrD,cAAU,uBAD2C;AAErD,YAAQ,qBAF6C;AAGrD,YAAQ,OAH6C;AAIrD,oBAAgB;AAJqC,GADhD;AAPX,CApI8B,EAoJ9B;AACE,cAAY,oBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAJQ,CAHZ;AASE,WAAS,CAAC;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ;AAAzC,GAAD;AATX,CApJ8B,EA+J9B;AACE,cAAY,mBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ;AAHZ,CA/J8B,EAuK9B;AACE,cAAY,oBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GAAD;AAHZ,CAvK8B,EA4K9B;AACE,cAAY,aADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,WAAO,CAApB;AAAuB,YAAQ,MAA/B;AAAuC,YAAQ;AAA/C,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,aAAX;AAA0B,YAAQ,YAAlC;AAAgD,YAAQ;AAAxD,GADO,EAEP;AAAC,cAAU,aAAX;AAA0B,YAAQ,YAAlC;AAAgD,YAAQ;AAAxD,GAFO;AAPX,CA5K8B,EAwL9B;AACE,cAAY,IADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,WAAO,CAApB;AAAuB,YAAQ,MAA/B;AAAuC,YAAQ;AAA/C,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,aAAX;AAA0B,YAAQ,YAAlC;AAAgD,YAAQ;AAAxD,GADO,EAEP;AAAC,cAAU,aAAX;AAA0B,YAAQ,YAAlC;AAAgD,YAAQ;AAAxD,GAFO;AAPX,CAxL8B,EAoM9B;AACE,cAAY,gBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,WAAO,CAApB;AAAuB,YAAQ,MAA/B;AAAuC,YAAQ;AAA/C,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,MAAX;AAAmB,YAAQ,MAA3B;AAAmC,YAAQ;AAA3C,GADO,EAEP;AAAC,cAAU,MAAX;AAAmB,YAAQ,MAA3B;AAAmC,YAAQ;AAA3C,GAFO;AANX,CApM8B,EA+M9B;AACE,cAAY,OADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,WAAO,CAApB;AAAuB,YAAQ,MAA/B;AAAuC,YAAQ;AAA/C,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,MAAX;AAAmB,YAAQ,MAA3B;AAAmC,YAAQ;AAA3C,GADO,EAEP;AAAC,cAAU,MAAX;AAAmB,YAAQ,MAA3B;AAAmC,YAAQ;AAA3C,GAFO;AANX,CA/M8B,EA0N9B;AACE,cAAY,mBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAHQ,CAHZ;AAQE,WACI,CAAC;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAAD;AATN,CA1N8B,EAqO9B;AACE,cAAY,qBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,aAArB;AAAoC,YAAQ;AAA5C,GAJQ,CAHZ;AASE,WACI,CAAC;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAAD;AAVN,CArO8B,EAiP9B;AACE,cAAY,kBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAHQ,CAHZ;AAQE,WACI,CAAC;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAAD;AATN,CAjP8B,EA4P9B;AACE,cAAY,mBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAHQ,CAHZ;AAQE,WACI,CAAC;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAAD;AATN,CA5P8B,EAuQ9B;AACE,cAAY,mBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAHQ,CAHZ;AAQE,WACI,CAAC;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAAD;AATN,CAvQ8B,EAkR9B;AACE,cAAY,mBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,aAArB;AAAoC,YAAQ;AAA5C,GAFQ,CAHZ;AAOE,WACI,CAAC;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAAD;AARN,CAlR8B,EA4R9B;AACE,cAAY,sBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAFQ,CAHZ;AAOE,WACI,CAAC;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAAD;AARN,CA5R8B,EAsS9B;AACE,cAAY,iBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GADO,EAEP;AAAC,cAAU,cAAX;AAA2B,YAAQ,aAAnC;AAAkD,YAAQ;AAA1D,GAFO;AAPX,CAtS8B,EAkT9B;AACE,cAAY,iBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAHQ,CAHZ;AAQE,WACI,CAAC;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAAD;AATN,CAlT8B,EA6T9B;AACE,cAAY,kBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GADO,EAEP;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAFO;AANX,CA7T8B,EAwU9B;AACE,cAAY,mBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAFQ,CAHZ;AAOE,WACI,CAAC;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAAD;AARN,CAxU8B,EAkV9B;AACE,cAAY,oBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GADO;AAPX,CAlV8B,CAAzB;;;;;;;;;;AClBP;;;;;;;;;;;;;;;;AAmBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,SADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GADO,EAEP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAFO,EAEiD;AACtD,cAAU,aAD4C;AAEtD,YAAQ,YAF8C;AAGtD,YAAQ,QAH8C;AAItD,oBAAgB;AAJsC,GAFjD,EAQP;AAAC,cAAU,OAAX;AAAoB,YAAQ,YAA5B;AAA0C,YAAQ;AAAlD,GARO,EASP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GATO;AANX,CAD8B,EAmB9B;AACE,cAAY,SADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GADO,EAEP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAFO,EAEiD;AACtD,cAAU,aAD4C;AAEtD,YAAQ,YAF8C;AAGtD,YAAQ,QAH8C;AAItD,oBAAgB;AAJsC,GAFjD,EAQP;AAAC,cAAU,OAAX;AAAoB,YAAQ,YAA5B;AAA0C,YAAQ;AAAlD,GARO,EAQwD;AAC7D,cAAU,mBADmD;AAE7D,YAAQ,kBAFqD;AAG7D,YAAQ,UAHqD;AAI7D,oBAAgB,EAJ6C;AAK7D,oBAAgB;AAL6C,GARxD,EAeP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GAfO;AANX,CAnB8B,EA2C9B;AACE,cAAY,mBADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GADO,EAEP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAFO,EAGP;AAAC,cAAU,OAAX;AAAoB,YAAQ,YAA5B;AAA0C,YAAQ;AAAlD,GAHO,EAGwD;AAC7D,cAAU,wBADmD;AAE7D,YAAQ,qBAFqD;AAG7D,YAAQ;AAHqD,GAHxD,EAQP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GARO;AANX,CA3C8B,EA4D9B;AACE,cAAY,WADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GADO,EAEP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAFO,EAEiD;AACtD,cAAU,aAD4C;AAEtD,YAAQ,YAF8C;AAGtD,YAAQ,QAH8C;AAItD,oBAAgB;AAJsC,GAFjD,EAQP;AAAC,cAAU,OAAX;AAAoB,YAAQ,YAA5B;AAA0C,YAAQ;AAAlD,GARO,EASP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GATO;AANX,CA5D8B,EA8E9B;AACE,cAAY,WADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GADO,EAEP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAFO,EAEiD;AACtD,cAAU,aAD4C;AAEtD,YAAQ,YAF8C;AAGtD,YAAQ,QAH8C;AAItD,oBAAgB;AAJsC,GAFjD,EAQP;AAAC,cAAU,OAAX;AAAoB,YAAQ,YAA5B;AAA0C,YAAQ;AAAlD,GARO,EASP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GATO;AANX,CA9E8B,EAgG9B;AACE,cAAY,QADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,QAAX;AAAqB,YAAQ,QAA7B;AAAuC,YAAQ;AAA/C,GADO,EAEP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAFO,EAEiD;AACtD,cAAU,aAD4C;AAEtD,YAAQ,YAF8C;AAGtD,YAAQ,QAH8C;AAItD,oBAAgB;AAJsC,GAFjD,EAQP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GARO,EAQkE;AACvE,cAAU,UAD6D;AAEvE,YAAQ,UAF+D;AAGvE,YAAQ,QAH+D;AAIvE,oBAAgB;AAJuD,GARlE;AAPX,CAhG8B,EAuH9B;AACE,cAAY,QADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO,EAEP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GAFO,EAGP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAHO,EAIP;AAAC,cAAU,eAAX;AAA4B,YAAQ,eAApC;AAAqD,YAAQ;AAA7D,GAJO,EAI+D;AACpE,cAAU,aAD0D;AAEpE,YAAQ,YAF4D;AAGpE,YAAQ,QAH4D;AAIpE,oBAAgB;AAJoD,GAJ/D,EAUP;AACE,cAAU,mBADZ;AAEE,YAAQ,kBAFV;AAGE,YAAQ,UAHV;AAIE,oBAAgB;AAJlB,GAVO,EAgBP;AAAC,cAAU,WAAX;AAAwB,YAAQ,WAAhC;AAA6C,YAAQ;AAArD,GAhBO;AAPX,CAvH8B,EAiJ9B;AACE,cAAY,cADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,IAAA,GAAG,EAAE,CAAlB;AAAqB,YAAQ,MAA7B;AAAqC,YAAQ;AAA7C,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,UAAX;AAAuB,YAAQ,SAA/B;AAA0C,YAAQ;AAAlD,GADO,EAEP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GAFO,EAGP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GAHO,EAIP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAJO,EAIiD;AACtD,cAAU,mBAD4C;AAEtD,YAAQ,kBAF8C;AAGtD,YAAQ,UAH8C;AAItD,oBAAgB;AAJsC,GAJjD,EAUP;AACE,cAAU,kBADZ;AAEE,YAAQ,eAFV;AAGE,YAAQ,MAHV;AAIE,oBAAgB;AAJlB,GAVO,EAgBP;AACE,cAAU,aADZ;AAEE,YAAQ,YAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAhBO,EAsBP;AACE,cAAU,WADZ;AAEE,YAAQ,WAFV;AAGE,YAAQ,UAHV;AAIE,oBAAgB,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV;AAJlB,GAtBO,EA4BP;AACE,cAAU,WADZ;AAEE,YAAQ,UAFV;AAGE,YAAQ,UAHV;AAIE,oBAAgB;AAJlB,GA5BO,EAkCP;AACE,cAAU,SADZ;AAEE,YAAQ,SAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAlCO,EAwCP;AACE,cAAU,iBADZ;AAEE,YAAQ,gBAFV;AAGE,YAAQ;AAHV,GAxCO;AARX,CAjJ8B,EAwM9B;AACE,cAAY,qBADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,aAArB;AAAoC,YAAQ;AAA5C,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GADO,EAEP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAFO,EAEiD;AACtD,cAAU,aAD4C;AAEtD,YAAQ,YAF8C;AAGtD,YAAQ,QAH8C;AAItD,oBAAgB;AAJsC,GAFjD,EAQP;AACE,cAAU,mBADZ;AAEE,YAAQ,kBAFV;AAGE,YAAQ,UAHV;AAIE,oBAAgB;AAJlB,GARO,EAcP;AACE,cAAU,WADZ;AAEE,YAAQ,WAFV;AAGE,YAAQ,UAHV;AAIE,oBAAgB;AAJlB,GAdO;AARX,CAxM8B,EAsO9B;AACE,cAAY,iBADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GADO,EAEP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAFO,EAEiD;AACtD,cAAU,aAD4C;AAEtD,YAAQ,YAF8C;AAGtD,YAAQ,QAH8C;AAItD,oBAAgB;AAJsC,GAFjD,EAQP;AACE,cAAU,mBADZ;AAEE,YAAQ,kBAFV;AAGE,YAAQ,UAHV;AAIE,oBAAgB;AAJlB,GARO,EAcP;AAAC,cAAU,WAAX;AAAwB,YAAQ,WAAhC;AAA6C,YAAQ;AAArD,GAdO;AAPX,CAtO8B,EA8P9B;AACE,cAAY,uBADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GADO,EAEP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAFO,EAEiD;AACtD,cAAU,aAD4C;AAEtD,YAAQ,YAF8C;AAGtD,YAAQ,QAH8C;AAItD,oBAAgB;AAJsC,GAFjD,EAQP;AACE,cAAU,mBADZ;AAEE,YAAQ,kBAFV;AAGE,YAAQ,UAHV;AAIE,oBAAgB;AAJlB,GARO,EAcP;AAAC,cAAU,WAAX;AAAwB,YAAQ,WAAhC;AAA6C,YAAQ;AAArD,GAdO;AAPX,CA9P8B,EAsR9B;AACE,cAAY,4BADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,IAAA,GAAG,EAAE,CAAlB;AAAqB,YAAQ,MAA7B;AAAqC,YAAQ;AAA7C,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,UAAX;AAAuB,YAAQ,SAA/B;AAA0C,YAAQ;AAAlD,GADO,EAEP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GAFO,EAGP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GAHO,EAIP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAJO,EAIiD;AACtD,cAAU,aAD4C;AAEtD,YAAQ,YAF8C;AAGtD,YAAQ,QAH8C;AAItD,oBAAgB;AAJsC,GAJjD,EAUP;AACE,cAAU,WADZ;AAEE,YAAQ,WAFV;AAGE,YAAQ,UAHV;AAIE,oBAAgB,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV;AAJlB,GAVO,EAgBP;AACE,cAAU,WADZ;AAEE,YAAQ,UAFV;AAGE,YAAQ,UAHV;AAIE,oBAAgB;AAJlB,GAhBO,EAsBP;AACE,cAAU,mBADZ;AAEE,YAAQ,kBAFV;AAGE,YAAQ,UAHV;AAIE,oBAAgB;AAJlB,GAtBO;AARX,CAtR8B,EA4T9B;AACE,cAAY,QADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GADO,EAEP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAFO,EAEiD;AACtD,cAAU,aAD4C;AAEtD,YAAQ,YAF8C;AAGtD,YAAQ,QAH8C;AAItD,oBAAgB;AAJsC,GAFjD,EAQP;AAAC,cAAU,WAAX;AAAwB,YAAQ,WAAhC;AAA6C,YAAQ;AAArD,GARO;AAPX,CA5T8B,EA8U9B;AACE,cAAY,YADd;AAEE,cAAY,aAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GADO,EAEP;AAAC,cAAU,OAAX;AAAoB,YAAQ,WAA5B;AAAyC,YAAQ;AAAjD,GAFO,EAGP;AAAC,cAAU,SAAX;AAAsB,YAAQ,KAA9B;AAAqC,YAAQ;AAA7C,GAHO;AAPX,CA9U8B,CAAzB;;;;;;;;;;ACjBP;;;;;;;;;;;;;;;;AAiBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,MADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ;AAAzC,GAAD;AAPX,CAD8B,EAU9B;AACE,cAAY,UADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,KAArB;AAA4B,YAAQ;AAApC,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AARX,CAV8B,EAsB9B;AACE,cAAY,QADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ,QAAxC;AAAkD,oBAAgB;AAAlE,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,UAArB;AAAiC,YAAQ,QAAzC;AAAmD,oBAAgB;AAAnE,GAJQ,CAHZ;AASE,WAAS,CACP;AACE,cAAU,MADZ;AAEE,YAAQ,MAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GAPO;AATX,CAtB8B,EAyC9B;AACE,cAAY,MADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,CAHZ;AAME,WAAS,CAAC;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ;AAAzC,GAAD;AANX,CAzC8B,EAiD9B;AACE,cAAY,UADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CAAC;AAAC,cAAU,OAAX;AAAoB,YAAQ,OAA5B;AAAqC,YAAQ;AAA7C,GAAD;AANX,CAjD8B,EAyD9B;AACE,cAAY,eADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,CAHZ;AAME,WAAS,CACP;AACE,cAAU,QADZ;AAEE,YAAQ,QAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AACE,cAAU,QADZ;AAEE,YAAQ,QAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAPO,EAaP;AAAC,cAAU,OAAX;AAAoB,YAAQ,OAA5B;AAAqC,YAAQ;AAA7C,GAbO,EAcP;AAAC,cAAU,MAAX;AAAmB,YAAQ,MAA3B;AAAmC,YAAQ,QAA3C;AAAqD,oBAAgB;AAArE,GAdO,EAckE;AACvE,cAAU,OAD6D;AAEvE,YAAQ,OAF+D;AAGvE,YAAQ,QAH+D;AAIvE,oBAAgB,CAJuD;AAKvE,oBAAgB;AALuD,GAdlE,EAqBP;AAAC,cAAU,GAAX;AAAgB,YAAQ,GAAxB;AAA6B,YAAQ,QAArC;AAA+C,oBAAgB;AAA/D,GArBO;AANX,CAzD8B,EAuF9B;AACE,cAAY,OADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ,QAArC;AAA+C,oBAAgB;AAA/D,GAHQ,CAHZ;AAQE,WAAS,CAAC;AAAC,cAAU,MAAX;AAAmB,YAAQ,OAA3B;AAAoC,YAAQ;AAA5C,GAAD;AARX,CAvF8B,EAiG9B;AACE,cAAY,iBADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,CAHZ;AAME,WAAS,CACP;AACE,cAAU,OADZ;AAEE,YAAQ,MAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AACE,cAAU,QADZ;AAEE,YAAQ,QAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAPO,EAaP;AAAC,cAAU,MAAX;AAAmB,YAAQ,MAA3B;AAAmC,YAAQ;AAA3C,GAbO,EAa+C;AACpD,cAAU,OAD0C;AAEpD,YAAQ,OAF4C;AAGpD,YAAQ,QAH4C;AAIpD,oBAAgB,CAJoC;AAKpD,oBAAgB;AALoC,GAb/C,EAoBP;AAAC,cAAU,OAAX;AAAoB,YAAQ,OAA5B;AAAqC,YAAQ;AAA7C,GApBO,EAqBP;AAAC,cAAU,GAAX;AAAgB,YAAQ,GAAxB;AAA6B,YAAQ,QAArC;AAA+C,oBAAgB;AAA/D,GArBO;AANX,CAjG8B,EA+H9B;AACE,cAAY,OADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,CAHZ;AAME,WAAS,CAAC;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ;AAAzC,GAAD;AANX,CA/H8B,EAuI9B;AACE,cAAY,WADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CAAC;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ;AAAzC,GAAD;AANX,CAvI8B,EA+I9B;AACE,cAAY,aADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,YAArB;AAAmC,YAAQ;AAA3C,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,MAAX;AAAmB,YAAQ,MAA3B;AAAmC,YAAQ;AAA3C,GADO,EAEP;AAAC,cAAU,OAAX;AAAoB,YAAQ,OAA5B;AAAqC,YAAQ;AAA7C,GAFO,EAGP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ;AAAzC,GAHO,EAIP;AAAC,cAAU,cAAX;AAA2B,YAAQ,cAAnC;AAAmD,YAAQ;AAA3D,GAJO;AAPX,CA/I8B,CAAzB;;;;;;;;;;ACjBP;;;;;;;;;;;;;;;;AAiBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,qBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAJQ;AAHZ,CAD8B,EAW9B;AACE,cAAY,qBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAJQ,EAKR;AAAC,aAAS,CAAV;AAAa,YAAQ,gBAArB;AAAuC,YAAQ;AAA/C,GALQ;AAHZ,CAX8B,EAsB9B;AACE,cAAY,qBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAJQ,EAKR;AAAC,aAAS,CAAV;AAAa,YAAQ,gBAArB;AAAuC,YAAQ;AAA/C,GALQ,CAHZ;AAUE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO,EACkE;AACvE,cAAU,aAD6D;AAEvE,YAAQ,WAF+D;AAGvE,YAAQ,OAH+D;AAIvE,oBAAgB;AAJuD,GADlE,EAOP;AACE,cAAU,wBADZ;AAEE,YAAQ,oBAFV;AAGE,YAAQ;AAHV,GAPO;AAVX,CAtB8B,EA8C9B;AACE,cAAY,qBADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAJQ,EAKR;AAAC,aAAS,CAAV;AAAa,YAAQ,gBAArB;AAAuC,YAAQ;AAA/C,GALQ,EAMR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GANQ;AAHZ,CA9C8B,EA0D9B;AACE,cAAY,OADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,WAArB;AAAkC,YAAQ;AAA1C,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA1D8B,EAoE9B;AACE,cAAY,UADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AACR,cAAU,GADF;AAER,YAAQ,OAFA;AAGR,YAAQ,OAHA;AAIR,oBAAgB;AAJR,GAAD;AAPX,CApE8B,CAAzB;;;;;;;;;;ACjBP;;;;;;;;;;;;;;;;AAiBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,QADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AAAC,cAAU,QAAX;AAAqB,YAAQ,QAA7B;AAAuC,YAAQ;AAA/C,GAAD;AAPX,CAD8B,EAU9B;AACE,cAAY,QADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ;AAHZ,CAV8B,EAiB9B;AACE,cAAY,UADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ;AAHZ,CAjB8B,CAAzB;;;;;;;;;;ACjBP;;;;;;;;;;;;;;;;AAiBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,wBADd;AAEE,cAAY,OAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,OAAX;AAAoB,YAAQ,OAA5B;AAAqC,YAAQ;AAA7C,GADO,EAEP;AAAC,cAAU,OAAX;AAAoB,YAAQ,OAA5B;AAAqC,YAAQ;AAA7C,GAFO;AANX,CAD8B,EAY9B;AACE,cAAY,aADd;AAEE,cAAY,OAFd;AAGE,WAAS,CACP;AAAC,cAAU,OAAX;AAAoB,YAAQ,OAA5B;AAAqC,YAAQ;AAA7C,GADO,EAEP;AAAC,cAAU,OAAX;AAAoB,YAAQ,OAA5B;AAAqC,YAAQ;AAA7C,GAFO;AAHX,CAZ8B,EAoB9B;AAAC,cAAY,OAAb;AAAsB,cAAY;AAAlC,CApB8B,EAoBc;AAC1C,cAAY,UAD8B;AAE1C,cAAY,OAF8B;AAG1C,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAAD;AAHgC,CApBd,EAyB9B;AACE,cAAY,WADd;AAEE,cAAY,OAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,WAAO,CAApB;AAAuB,YAAQ,GAA/B;AAAoC,YAAQ;AAA5C,GAAD;AAHZ,CAzB8B,EA8B9B;AACE,cAAY,UADd;AAEE,cAAY,OAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAAD;AAHZ,CA9B8B,EAmC9B;AACE,cAAY,MADd;AAEE,cAAY,OAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAAD;AAHZ,CAnC8B,EAwC9B;AACE,cAAY,MADd;AAEE,cAAY,OAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAAD;AAHZ,CAxC8B,EA6C9B;AACE,cAAY,OADd;AAEE,cAAY,OAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAAD;AAHZ,CA7C8B,EAkD9B;AACE,cAAY,QADd;AAEE,cAAY,OAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,WAAO,CAApB;AAAuB,YAAQ,GAA/B;AAAoC,YAAQ;AAA5C,GAAD;AAHZ,CAlD8B,EAuD9B;AACE,cAAY,OADd;AAEE,cAAY,OAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GADO,EACqD;AAC1D,cAAU,SADgD;AAE1D,YAAQ,QAFkD;AAG1D,YAAQ,QAHkD;AAI1D,oBAAgB;AAJ0C,GADrD,EAOP;AACE,cAAU,WADZ;AAEE,YAAQ,WAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAPO;AAPX,CAvD8B,EA6E9B;AAAC,cAAY,MAAb;AAAqB,cAAY,OAAjC;AAA0C,YAAU;AAApD,CA7E8B,EA6E2B;AACvD,cAAY,cAD2C;AAEvD,cAAY,OAF2C;AAGvD,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAAD;AAH6C,CA7E3B,EAkF9B;AACE,cAAY,yBADd;AAEE,cAAY,OAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,KAAX;AAAkB,YAAQ,KAA1B;AAAiC,YAAQ;AAAzC,GADO,EAEP;AAAC,cAAU,KAAX;AAAkB,YAAQ,KAA1B;AAAiC,YAAQ;AAAzC,GAFO;AANX,CAlF8B,CAAzB;;;;;;;;;ACDA,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,WADd;AAEE,cAAY,YAFd;AAGE,YAAU,EAHZ;AAIE,WAAS,CACP;AAAC,cAAU,aAAX;AAA0B,YAAQ,YAAlC;AAAgD,YAAQ;AAAxD,GADO,EAEP;AACE,cAAU,uBADZ;AAEE,YAAQ,oBAFV;AAGE,YAAQ;AAHV,GAFO,EAOP;AAAC,cAAU,WAAX;AAAwB,YAAQ,UAAhC;AAA4C,YAAQ;AAApD,GAPO,EAQP;AAAC,cAAU,aAAX;AAA0B,YAAQ,YAAlC;AAAgD,YAAQ;AAAxD,GARO;AAJX,CAD8B,EAgB9B;AACE,cAAY,aADd;AAEE,cAAY,YAFd;AAGE,YAAU,EAHZ;AAIE,WAAS,CACP;AAAC,cAAU,aAAX;AAA0B,YAAQ,YAAlC;AAAgD,YAAQ;AAAxD,GADO,EAEP;AACE,cAAU,uBADZ;AAEE,YAAQ,oBAFV;AAGE,YAAQ;AAHV,GAFO,EAOP;AAAC,cAAU,WAAX;AAAwB,YAAQ,UAAhC;AAA4C,YAAQ;AAApD,GAPO,EAQP;AAAC,cAAU,aAAX;AAA0B,YAAQ,YAAlC;AAAgD,YAAQ;AAAxD,GARO;AAJX,CAhB8B,EA+B9B;AACE,cAAY,mBADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,aAArB;AAAoC,YAAQ;AAA5C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,KAAX;AAAkB,YAAQ,KAA1B;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO,EACkE;AACvE,cAAU,MAD6D;AAEvE,YAAQ,MAF+D;AAGvE,YAAQ,OAH+D;AAIvE,oBAAgB;AAJuD,GADlE;AARX,CA/B8B,EAgD9B;AACE,cAAY,qBADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,aAArB;AAAoC,YAAQ;AAA5C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,KAAX;AAAkB,YAAQ,KAA1B;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO,EACkE;AACvE,cAAU,MAD6D;AAEvE,YAAQ,MAF+D;AAGvE,YAAQ,OAH+D;AAIvE,oBAAgB;AAJuD,GADlE;AARX,CAhD8B,EAiE9B;AACE,cAAY,iBADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,aAArB;AAAoC,YAAQ;AAA5C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,KAAX;AAAkB,YAAQ,KAA1B;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO,EACkE;AACvE,cAAU,MAD6D;AAEvE,YAAQ,MAF+D;AAGvE,YAAQ,OAH+D;AAIvE,oBAAgB;AAJuD,GADlE;AARX,CAjE8B,EAkF9B;AACE,cAAY,mBADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,aAArB;AAAoC,YAAQ;AAA5C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,KAAX;AAAkB,YAAQ,KAA1B;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO,EACkE;AACvE,cAAU,MAD6D;AAEvE,YAAQ,MAF+D;AAGvE,YAAQ,OAH+D;AAIvE,oBAAgB;AAJuD,GADlE;AARX,CAlF8B,EAmG9B;AACE,cAAY,iBADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,aAArB;AAAoC,YAAQ;AAA5C,GADQ;AAHZ,CAnG8B,EA0G9B;AACE,cAAY,mBADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,aAArB;AAAoC,YAAQ;AAA5C,GADQ;AAHZ,CA1G8B,CAAzB;;;;;;;;;;AChBP;;;;;;;;;;;;;;;;AAiBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,gBADd;AAEE,cAAY,OAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GADO,EAC8D;AACnE,cAAU,oBADyD;AAEnE,YAAQ,kBAF2D;AAGnE,YAAQ;AAH2D,GAD9D,EAMP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GANO;AAPX,CAD8B,EAiB9B;AACE,cAAY,uBADd;AAEE,cAAY,OAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GADO,EAC8D;AACnE,cAAU,oBADyD;AAEnE,YAAQ,kBAF2D;AAGnE,YAAQ;AAH2D,GAD9D,EAMP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GANO;AAPX,CAjB8B,EAiC9B;AACE,cAAY,eADd;AAEE,cAAY,OAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,UAArB;AAAiC,YAAQ;AAAzC,GAJQ,CAHZ;AASE,WAAS,CACP;AAAC,cAAU,QAAX;AAAqB,YAAQ,QAA7B;AAAuC,YAAQ;AAA/C,GADO,EACmD;AACxD,cAAU,qBAD8C;AAExD,YAAQ,oBAFgD;AAGxD,YAAQ;AAHgD,GADnD;AATX,CAjC8B,CAAzB;;;;;;;;;;ACjBP;;;;;;;;;;;;;;;;AAiBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,OADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAD8B,EAY9B;AACE,cAAY,UADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAZ8B,EAuB9B;AACE,cAAY,SADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAvB8B,EAkC9B;AACE,cAAY,cADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAlC8B,EA6C9B;AACE,cAAY,MADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CA7C8B,EAwD9B;AACE,cAAY,WADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAxD8B,EAmE9B;AACE,cAAY,YADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAnE8B,EA8E9B;AACE,cAAY,YADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AANX,CA9E8B,EAwF9B;AACE,cAAY,WADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CAxF8B,EAmG9B;AACE,cAAY,QADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,WAArB;AAAkC,YAAQ;AAA1C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AARX,CAnG8B,EA+G9B;AACE,cAAY,UADd;AAEE,cAAY,SAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,WAArB;AAAkC,YAAQ;AAA1C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAHQ,CAHZ;AAQE,WAAS,CAAC;AACR,cAAU,GADF;AAER,YAAQ,OAFA;AAGR,YAAQ,OAHA;AAIR,oBAAgB;AAJR,GAAD;AARX,CA/G8B,CAAzB;;;;;;;;;;ACnBP;;;;;;;;;;;;;;;;AAmBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,cADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,IAAA,GAAG,EAAE,CAAlB;AAAqB,YAAQ,MAA7B;AAAqC,YAAQ;AAA7C,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,UAAX;AAAuB,YAAQ,SAA/B;AAA0C,YAAQ;AAAlD,GADO,EACsD;AAC3D,cAAU,WADiD;AAE3D,YAAQ,UAFmD;AAG3D,YAAQ,UAHmD;AAI3D,oBAAgB;AAJ2C,GADtD,EAOP;AACE,cAAU,SADZ;AAEE,YAAQ,SAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAPO,EAaP;AACE,cAAU,aADZ;AAEE,YAAQ,YAFV;AAGE,YAAQ,MAHV;AAIE,oBAAgB;AAJlB,GAbO,EAmBP;AACE,cAAU,aADZ;AAEE,YAAQ,YAFV;AAGE,YAAQ,MAHV;AAIE,oBAAgB;AAJlB,GAnBO,EAyBP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GAzBO;AARX,CAD8B,EAqC9B;AACE,cAAY,QADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AACE,cAAU,aADZ;AAEE,YAAQ,YAFV;AAGE,YAAQ,MAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AACE,cAAU,aADZ;AAEE,YAAQ,YAFV;AAGE,YAAQ,MAHV;AAIE,oBAAgB;AAJlB,GAPO,EAaP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GAbO;AAPX,CArC8B,EA4D9B;AACE,cAAY,aADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AACE,cAAU,OADZ;AAEE,YAAQ,YAFV;AAGE,YAAQ,MAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AACE,cAAU,OADZ;AAEE,YAAQ,YAFV;AAGE,YAAQ,MAHV;AAIE,oBAAgB;AAJlB,GAPO,EAaP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GAbO;AAPX,CA5D8B,EAmF9B;AACE,cAAY,eADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CACP;AACE,cAAU,OADZ;AAEE,YAAQ,YAFV;AAGE,YAAQ,MAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AACE,cAAU,OADZ;AAEE,YAAQ,YAFV;AAGE,YAAQ,MAHV;AAIE,oBAAgB;AAJlB,GAPO,EAaP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GAbO;AAPX,CAnF8B,EA0G9B;AACE,cAAY,WADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AAPX,CA1G8B,EAqH9B;AACE,cAAY,QADd;AAEE,cAAY,UAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,WAAO,CAApB;AAAuB,YAAQ,SAA/B;AAA0C,YAAQ;AAAlD,GAAD,CAHZ;AAIE,WAAS,CACP;AAAC,cAAU,UAAX;AAAuB,YAAQ,UAA/B;AAA2C,YAAQ;AAAnD,GADO,EAEP;AAAC,cAAU,GAAX;AAAgB,YAAQ,GAAxB;AAA6B,YAAQ,QAArC;AAA+C,oBAAgB;AAA/D,GAFO,EAGP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ;AAAzC,GAHO;AAJX,CArH8B,CAAzB;;;;;;;;;;ACjBP;;;;;;;;;;;;;;;;AAiBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,gBADd;AAEE,cAAY,eAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAJQ,EAKR;AAAC,aAAS,CAAV;AAAa,YAAQ,UAArB;AAAiC,YAAQ;AAAzC,GALQ,CAHZ;AAUE,WAAS,CACP;AACE,cAAU,SADZ;AAEE,YAAQ,SAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AACE,cAAU,aADZ;AAEE,YAAQ,YAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAPO;AAVX,CAD8B,EA0B9B;AACE,cAAY,kBADd;AAEE,cAAY,eAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAJQ,EAKR;AAAC,aAAS,CAAV;AAAa,YAAQ,UAArB;AAAiC,YAAQ;AAAzC,GALQ,CAHZ;AAUE,WAAS,CACP;AACE,cAAU,SADZ;AAEE,YAAQ,SAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AACE,cAAU,aADZ;AAEE,YAAQ,YAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAPO;AAVX,CA1B8B,EAmD9B;AACE,cAAY,kBADd;AAEE,cAAY,eAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAJQ,EAKR;AAAC,aAAS,CAAV;AAAa,YAAQ,UAArB;AAAiC,YAAQ;AAAzC,GALQ,CAHZ;AAUE,WAAS,CACP;AACE,cAAU,SADZ;AAEE,YAAQ,SAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AACE,cAAU,aADZ;AAEE,YAAQ,YAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAPO;AAVX,CAnD8B,EA4E9B;AACE,cAAY,KADd;AAEE,cAAY,eAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AACE,cAAU,cADZ;AAEE,YAAQ,QAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AAAC,cAAU,MAAX;AAAmB,YAAQ,MAA3B;AAAmC,YAAQ,QAA3C;AAAqD,oBAAgB;AAArE,GAPO,EAQP;AACE,cAAU,OADZ;AAEE,YAAQ,OAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GARO,EAcP;AACE,cAAU,MADZ;AAEE,YAAQ,MAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAdO;AANX,CA5E8B,EAwG9B;AACE,cAAY,SADd;AAEE,cAAY,eAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAAD;AAHZ,CAxG8B,EA6G9B;AACE,cAAY,YADd;AAEE,cAAY,eAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAAD;AAHZ,CA7G8B,EAkH9B;AACE,cAAY,eADd;AAEE,cAAY,eAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,aAArB;AAAoC,YAAQ;AAA5C,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAJQ,CAHZ;AASE,WAAS,CAAC;AACR,cAAU,kBADF;AAER,YAAQ,iBAFA;AAGR,YAAQ,MAHA;AAIR,oBAAgB,IAJR;AAKR,oBAAgB;AALR,GAAD;AATX,CAlH8B,CAAzB;;;;;;;;;;ACjBP;;;;;;;;;;;;;;;;AAiBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,UADd;AAEE,cAAY,WAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAHQ;AAHZ,CAD8B,EAU9B;AACE,cAAY,eADd;AAEE,cAAY,WAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAHQ,CAHZ;AAQE,WACI,CAAC;AAAC,cAAU,eAAX;AAA4B,YAAQ,cAApC;AAAoD,YAAQ;AAA5D,GAAD;AATN,CAV8B,EAqB9B;AACE,cAAY,KADd;AAEE,cAAY,WAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AAAC,cAAU,WAAX;AAAwB,YAAQ,UAAhC;AAA4C,YAAQ;AAApD,GAAD;AAPX,CArB8B,EA8B9B;AACE,cAAY,MADd;AAEE,cAAY,WAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AAAC,cAAU,WAAX;AAAwB,YAAQ,UAAhC;AAA4C,YAAQ;AAApD,GAAD;AAPX,CA9B8B,EAuC9B;AACE,cAAY,KADd;AAEE,cAAY,WAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AAAC,cAAU,WAAX;AAAwB,YAAQ,UAAhC;AAA4C,YAAQ;AAApD,GAAD;AAPX,CAvC8B,EAgD9B;AACE,cAAY,KADd;AAEE,cAAY,WAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AAAC,cAAU,WAAX;AAAwB,YAAQ,UAAhC;AAA4C,YAAQ;AAApD,GAAD;AAPX,CAhD8B,EAyD9B;AACE,cAAY,KADd;AAEE,cAAY,WAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AAAC,cAAU,WAAX;AAAwB,YAAQ,UAAhC;AAA4C,YAAQ;AAApD,GAAD;AAPX,CAzD8B,EAkE9B;AACE,cAAY,KADd;AAEE,cAAY,WAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AAAC,cAAU,WAAX;AAAwB,YAAQ,UAAhC;AAA4C,YAAQ;AAApD,GAAD;AAPX,CAlE8B,EA2E9B;AACE,cAAY,QADd;AAEE,cAAY,WAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ;AAHZ,CA3E8B,EAmF9B;AACE,cAAY,QADd;AAEE,cAAY,WAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ;AAHZ,CAnF8B,EA2F9B;AACE,cAAY,MADd;AAEE,cAAY,WAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AAAC,cAAU,WAAX;AAAwB,YAAQ,UAAhC;AAA4C,YAAQ;AAApD,GAAD;AAPX,CA3F8B,EAoG9B;AACE,cAAY,QADd;AAEE,cAAY,WAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,WAAX;AAAwB,YAAQ,WAAhC;AAA6C,YAAQ;AAArD,GADO,EAEP;AAAC,cAAU,SAAX;AAAsB,YAAQ,SAA9B;AAAyC,YAAQ;AAAjD,GAFO;AAPX,CApG8B,CAAzB;;;;;;;;;;ACjBP;;;;;;;;;;;;;;;;AAiBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,UADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,WAAO,CAAC,CAArB;AAAwB,YAAQ,SAAhC;AAA2C,YAAQ;AAAnD,GADQ,EAER;AAAC,aAAS,CAAC,CAAX;AAAc,YAAQ,MAAtB;AAA8B,YAAQ;AAAtC,GAFQ,CAHZ;AAOE,WACI,CAAC;AAAC,cAAU,GAAX;AAAgB,YAAQ,GAAxB;AAA6B,YAAQ,QAArC;AAA+C,oBAAgB;AAA/D,GAAD;AARN,CAD8B,EAW9B;AACE,cAAY,QADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,WAAO,CAApB;AAAuB,YAAQ,SAA/B;AAA0C,YAAQ;AAAlD,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AAAC,cAAU,GAAX;AAAgB,YAAQ,GAAxB;AAA6B,YAAQ,QAArC;AAA+C,oBAAgB;AAA/D,GAAD;AAPX,CAX8B,EAqB9B;AACE,cAAY,UADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ,QAArC;AAA+C,oBAAgB;AAA/D,GAHQ,CAHZ;AAQE,WAAS,CAAC;AACR,cAAU,YADF;AAER,YAAQ,WAFA;AAGR,YAAQ,QAHA;AAIR,oBAAgB;AAJR,GAAD;AARX,CArB8B,EAoC9B;AACE,cAAY,QADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AACR,cAAU,kBADF;AAER,YAAQ,iBAFA;AAGR,YAAQ,MAHA;AAIR,oBAAgB;AAJR,GAAD;AAPX,CApC8B,EAkD9B;AACE,cAAY,SADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ;AAHZ,CAlD8B,EA0D9B;AACE,cAAY,WADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ;AAHZ,CA1D8B,EAkE9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAHQ;AAHZ,CAlE8B,EA2E9B;AACE,cAAY,cADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,KAArB;AAA4B,YAAQ;AAApC,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAJQ,CAHZ;AASE,WAAS,CACP;AACE,cAAU,YADZ;AAEE,YAAQ,WAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AACE,cAAU,UADZ;AAEE,YAAQ,SAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAPO,EAaP;AACE,cAAU,eADZ;AAEE,YAAQ,aAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAbO,EAmBP;AACE,cAAU,eADZ;AAEE,YAAQ,cAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAnBO,EAyBP;AACE,cAAU,kBADZ;AAEE,YAAQ,gBAFV;AAGE,YAAQ,QAHV;AAIE,oBAAgB;AAJlB,GAzBO;AATX,CA3E8B,EAqH9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,WAAO,CAApB;AAAuB,YAAQ,SAA/B;AAA0C,YAAQ;AAAlD,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,MAAX;AAAmB,YAAQ,MAA3B;AAAmC,YAAQ,QAA3C;AAAqD,oBAAgB;AAArE,GADO;AANX,CArH8B,EA+H9B;AACE,cAAY,QADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,MAAX;AAAmB,YAAQ,MAA3B;AAAmC,YAAQ,QAA3C;AAAqD,oBAAgB;AAArE,GADO,EACkE;AACvE,cAAU,KAD6D;AAEvE,YAAQ,KAF+D;AAGvE,YAAQ,QAH+D;AAIvE,oBAAgB,CAJuD;AAKvE,oBAAgB;AALuD,GADlE;AANX,CA/H8B,EA+I9B;AACE,cAAY,MADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ;AAHZ,CA/I8B,EAuJ9B;AACE,cAAY,OADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ,QAArC;AAA+C,oBAAgB;AAA/D,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AACR,cAAU,WADF;AAER,YAAQ,iBAFA;AAGR,YAAQ,QAHA;AAIR,oBAAgB;AAJR,GAAD;AAPX,CAvJ8B,EAqK9B;AACE,cAAY,QADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,iBAArB;AAAwC,YAAQ;AAAhD,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ,QAArC;AAA+C,oBAAgB;AAA/D,GAHQ;AAHZ,CArK8B,EA8K9B;AACE,cAAY,WADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAHQ;AAHZ,CA9K8B,EAuL9B;AACE,cAAY,UADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ;AAHZ,CAvL8B,EA+L9B;AACE,cAAY,eADd;AAEE,cAAY,YAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,eAArB;AAAsC,YAAQ;AAA9C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,aAArB;AAAoC,YAAQ;AAA5C,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAJQ,CAHZ;AASE,WAAS,CAAC;AACR,cAAU,kBADF;AAER,YAAQ,iBAFA;AAGR,YAAQ,MAHA;AAIR,oBAAgB,KAJR;AAKR,oBAAgB;AALR,GAAD;AATX,CA/L8B,CAAzB;;;;;;;;;;ACnBP;;;;;;;;;;;;;;;;AAmBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,qBADd;AAEE,cAAY,QAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,QAArB;AAA+B,YAAQ;AAAvC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,YAArB;AAAmC,YAAQ;AAA3C,GAHQ,EAIR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GAJQ;AAHZ,CAD8B,EAW9B;AACE,cAAY,eADd;AAEE,cAAY,QAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,cAArB;AAAqC,YAAQ;AAA7C,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,YAArB;AAAmC,YAAQ;AAA3C,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,UAArB;AAAiC,YAAQ;AAAzC,GAHQ,CAHZ;AAQE,WAAS,CACP;AAAC,cAAU,GAAX;AAAgB,YAAQ,OAAxB;AAAiC,YAAQ,OAAzC;AAAkD,oBAAgB;AAAlE,GADO;AARX,CAX8B,EAuB9B;AACE,cAAY,mBADd;AAEE,cAAY,QAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,YAArB;AAAmC,YAAQ;AAA3C,GAHQ;AAHZ,CAvB8B,EAgC9B;AACE,cAAY,kBADd;AAEE,cAAY,QAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,YAArB;AAAmC,YAAQ;AAA3C,GAHQ;AAHZ,CAhC8B,CAAzB;;;;;;;;;;ACjBP;;;;;;;;;;;;;;;;AAiBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,KADd;AAEE,cAAY,UAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAAD;AAHZ,CAD8B,EAM9B;AACE,cAAY,MADd;AAEE,cAAY,UAFd;AAGE,YAAU,CAAC;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GAAD;AAHZ,CAN8B,EAW9B;AACE,cAAY,MADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EACqC;AAC3C,aAAS,CADkC;AAE3C,YAAQ,YAFmC;AAG3C,YAAQ,QAHmC;AAI3C,oBAAgB;AAJ2B,GADrC;AAHZ,CAX8B,EAuB9B;AACE,cAAY,OADd;AAEE,cAAY,UAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EACqC;AAC3C,aAAS,CADkC;AAE3C,YAAQ,YAFmC;AAG3C,YAAQ,QAHmC;AAI3C,oBAAgB;AAJ2B,GADrC;AAHZ,CAvB8B,CAAzB;;;;;;;;;;ACnBP;;;;;;;;;;;;;;;;AAmBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,cADd;AAEE,cAAY,QAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,YAArB;AAAmC,YAAQ;AAA3C,GAFQ,CAHZ;AAOE,WAAS,CACP;AAAC,cAAU,WAAX;AAAwB,YAAQ,WAAhC;AAA6C,YAAQ;AAArD,GADO,EAEP;AAAC,cAAU,cAAX;AAA2B,YAAQ,aAAnC;AAAkD,YAAQ;AAA1D,GAFO,EAGP;AAAC,cAAU,UAAX;AAAuB,YAAQ,SAA/B;AAA0C,YAAQ;AAAlD,GAHO,EAIP;AAAC,cAAU,WAAX;AAAwB,YAAQ,UAAhC;AAA4C,YAAQ;AAApD,GAJO,EAKP;AAAC,cAAU,WAAX;AAAwB,YAAQ,UAAhC;AAA4C,YAAQ;AAApD,GALO,EAKwD;AAC7D,cAAU,0BADmD;AAE7D,YAAQ,wBAFqD;AAG7D,YAAQ;AAHqD,GALxD,CAPX;AAkBE,aAAW,CAAC,QAAD,EAAW,eAAX;AAlBb,CAD8B,EAqB9B;AACE,cAAY,aADd;AAEE,cAAY,QAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,WAArB;AAAkC,YAAQ;AAA1C,GAFQ,CAHZ;AAOE,WAAS,CAAC;AAAC,cAAU,YAAX;AAAyB,YAAQ,WAAjC;AAA8C,YAAQ;AAAtD,GAAD,CAPX;AAQE,aAAW,CAAC,SAAD,EAAY,QAAZ,EAAsB,OAAtB;AARb,CArB8B,EA+B9B;AACE,cAAY,wBADd;AAEE,cAAY,QAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GADQ,CAHZ;AAME,WAAS,CAAC;AAAC,cAAU,aAAX;AAA0B,YAAQ,YAAlC;AAAgD,YAAQ;AAAxD,GAAD;AANX,CA/B8B,CAAzB;;;;;;;;;;ACjBP;;;;;;;;;;;;;;;;AAiBO,MAAM,IAAI,GAAe,CAC9B;AACE,cAAY,MADd;AAEE,cAAY,gBAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AACE,cAAU,MADZ;AAEE,YAAQ,QAFV;AAGE,YAAQ,OAHV;AAIE,oBAAgB;AAJlB,GADO,EAOP;AAAC,cAAU,MAAX;AAAmB,YAAQ,OAA3B;AAAoC,YAAQ;AAA5C,GAPO;AANX,CAD8B,EAiB9B;AACE,cAAY,YADd;AAEE,cAAY,gBAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,MAArB;AAA6B,YAAQ;AAArC,GAFQ;AAHZ,CAjB8B,EAyB9B;AACE,cAAY,WADd;AAEE,cAAY,gBAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AAAC,cAAU,MAAX;AAAmB,YAAQ,MAA3B;AAAmC,YAAQ;AAA3C,GAAD;AAPX,CAzB8B,EAkC9B;AACE,cAAY,KADd;AAEE,cAAY,gBAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ,CAHZ;AAOE,WAAS,CAAC;AACR,cAAU,gBADF;AAER,YAAQ,eAFA;AAGR,YAAQ,QAHA;AAIR,oBAAgB;AAJR,GAAD;AAPX,CAlC8B,EAgD9B;AACE,cAAY,OADd;AAEE,cAAY,gBAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,SAArB;AAAgC,YAAQ;AAAxC,GAFQ,EAE6C;AACnD,aAAS,CAD0C;AAEnD,YAAQ,eAF2C;AAGnD,YAAQ,QAH2C;AAInD,oBAAgB;AAJmC,GAF7C;AAHZ,CAhD8B,EA6D9B;AACE,cAAY,SADd;AAEE,cAAY,gBAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ;AAHZ,CA7D8B,EAqE9B;AACE,cAAY,SADd;AAEE,cAAY,gBAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CAAC;AACR,cAAU,MADF;AAER,wBAAoB,cAFZ;AAGR,YAAQ,MAHA;AAIR,YAAQ;AAJA,GAAD;AANX,CArE8B,EAkF9B;AACE,cAAY,gBADd;AAEE,cAAY,gBAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,YAArB;AAAmC,YAAQ;AAA3C,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,UAArB;AAAiC,YAAQ;AAAzC,GAHQ;AAHZ,CAlF8B,EA2F9B;AACE,cAAY,gBADd;AAEE,cAAY,gBAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,YAArB;AAAmC,YAAQ;AAA3C,GAFQ,EAGR;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAHQ;AAHZ,CA3F8B,EAoG9B;AACE,cAAY,cADd;AAEE,cAAY,gBAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,CAHZ;AAME,WAAS,CACP;AAAC,cAAU,YAAX;AAAyB,YAAQ,WAAjC;AAA8C,YAAQ;AAAtD,GADO,EAEP;AAAC,cAAU,aAAX;AAA0B,YAAQ,YAAlC;AAAgD,YAAQ;AAAxD,GAFO;AANX,CApG8B,EA+G9B;AACE,cAAY,aADd;AAEE,cAAY,gBAFd;AAGE,YAAU,CACR;AAAC,aAAS,CAAV;AAAa,YAAQ,GAArB;AAA0B,YAAQ;AAAlC,GADQ,EAER;AAAC,aAAS,CAAV;AAAa,YAAQ,OAArB;AAA8B,YAAQ;AAAtC,GAFQ,CAHZ;AAOE,WAAS;AAPX,CA/G8B,CAAzB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFP;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAzCA;;;;;;;;;;;;;;;;AA4CM,MAAO,eAAP,CAAsB;AAK1B;AAC0B,aAAR,QAAQ,GAAA;AACxB,WAAO,KAAK,SAAL,KAAmB,KAAK,SAAL,GAAiB,IAAI,IAAJ,EAApC,CAAP;AACD,GARyB,CAU1B;;;AACA,EAAA,WAAA,GAAA;AACE,UAAM,GAAG,GAAG,CACV,UADU,EACE,SADF,EACa,OADb,EACsB,WADtB,EACmC,QADnC,EAC6C,OAD7C,EAEV,UAFU,EAEE,KAFF,EAES,SAFT,EAEoB,KAFpB,EAE2B,OAF3B,EAEoC,QAFpC,EAE8C,aAF9C,EAGV,SAHU,EAGC,SAHD,EAGY,MAHZ,EAGoB,QAHpB,EAG8B,MAH9B,EAGsC,cAHtC,CAAZ;AAKA,UAAM,WAAW,GAAe,GAAG,MAAH,CAAU,GAAG,GAAG,CAAC,GAAJ,CAAQ,EAAE,IAAI,EAAE,CAAC,IAAjB,CAAb,CAAhC;AAEA,SAAK,SAAL,GAAiB,WAAW,CAAC,MAAZ,CACb,CAAC,GAAD,EAAM,MAAN,KAA0B;AACxB,MAAA,GAAG,CAAC,MAAM,CAAC,QAAR,CAAH,GAAuB,MAAvB;AACA,aAAO,GAAP;AACD,KAJY,EAKb,EALa,CAAjB;AAMD,GAzByB,CA2B1B;AACA;;;AACA,EAAA,cAAc,CACV,KADU,EAEV,SAAA,GAAsC,EAF5B,EAE8B;AAC1C,UAAM,OAAO,GAAG,KAAK,CAAC,IAAtB;AACA,UAAM,YAAY,GAAW,EAA7B;AACA,UAAM,OAAO,GAAW,EAAxB;AACA,UAAM,SAAS,GAAW,EAA1B;AACA,UAAM,KAAK,GAAG,OAAO,CAAC,MAAR,CAAsC,CAAC,GAAD,EAAM,IAAN,KAAc;AAChE,MAAA,GAAG,CAAC,IAAI,CAAC,IAAN,CAAH,GAAiB,KAAK,OAAL,CAAa,IAAb,CAAjB;;AACA,UAAI,IAAI,CAAC,EAAL,CAAQ,UAAR,CAAmB,aAAnB,CAAJ,EAAuC;AACrC,QAAA,YAAY,CAAC,IAAb,CAAkB,GAAG,CAAC,IAAI,CAAC,IAAN,CAArB;AACD,OAFD,MAEO,IAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB;AAC9B,QAAA,OAAO,CAAC,IAAR,CAAa,GAAG,CAAC,IAAI,CAAC,IAAN,CAAhB;AACD,OAFM,MAEA,IAAI,IAAI,CAAC,KAAL,IAAc,IAAd,IAAsB,IAAI,CAAC,KAAL,CAAW,MAAX,KAAsB,CAAhD,EAAmD;AACxD,QAAA,SAAS,CAAC,IAAV,CAAe,GAAG,CAAC,IAAI,CAAC,IAAN,CAAlB;AACD;;AACD,aAAO,GAAP;AACD,KAVa,EAUX,EAVW,CAAd;AAYA,QAAI,MAAM,GAAW,EAArB;AACA,UAAM,OAAO,GAAW,EAAxB;AACA,QAAI,kBAAkB,GAA4B,EAAlD;AACA,QAAI,mBAAmB,GAA4B,EAAnD;;AACA,QAAI,SAAS,IAAI,IAAjB,EAAuB;AACrB,MAAA,kBAAkB,GAAG,KAAK,mBAAL,CAAyB,SAAS,CAAC,MAAnC,CAArB;AACA,MAAA,mBAAmB,GAAG,KAAK,mBAAL,CAAyB,SAAS,CAAC,OAAnC,CAAtB;AACD;;AACD,UAAM,QAAQ,GAAG,MAAM,CAAC,IAAP,CAAY,KAAZ,CAAjB;AACA,IAAA,QAAQ,CAAC,OAAT,CAAiB,GAAG,IAAG;AACrB,YAAM,IAAI,GAAG,KAAK,CAAC,GAAD,CAAlB;AACA,MAAA,IAAI,CAAC,UAAL,CAAgB,OAAhB,CAAwB,CAAC,IAAD,EAAO,KAAP,KAAgB;AACtC,cAAM,CAAC,QAAD,GAAa,UAAb,IAA2B,gCAAoB,IAApB,CAAjC;AACA,cAAM,SAAS,GAAG,KAAK,CAAC,QAAD,CAAvB;;AACA,YAAI,SAAS,CAAC,OAAV,IAAqB,IAAzB,EAA+B;AAC7B,gBAAM,WAAW,GAAG,SAAS,CAAC,OAAV,CAAkB,OAAlB,CAA0B,UAA1B,CAApB;;AACA,cAAI,WAAW,KAAK,CAAC,CAArB,EAAwB;AACtB,kBAAM,SAAS,GAAG,GAAG,QAAQ,IAAI,WAAW,EAA5C,CADsB,CAEtB;;AACA,YAAA,IAAI,CAAC,UAAL,CAAgB,KAAhB,IAAyB,SAAzB;AACD;AACF;;AACD,QAAA,IAAI,CAAC,MAAL,CAAY,IAAZ,CAAiB,SAAjB;AACA,QAAA,SAAS,CAAC,QAAV,CAAmB,IAAnB,CAAwB,IAAxB;AACD,OAbD;AAcD,KAhBD,EA1B0C,CA4C1C;AACA;;AACA,QAAI,MAAM,CAAC,IAAP,CAAY,mBAAZ,EAAiC,MAAjC,KAA4C,CAAhD,EAAmD;AACjD,MAAA,QAAQ,CAAC,OAAT,CAAiB,GAAG,IAAG;AACrB,cAAM,IAAI,GAAG,KAAK,CAAC,GAAD,CAAlB;;AACA,YAAI,IAAI,CAAC,QAAL,CAAc,MAAd,KAAyB,CAA7B,EAAgC;AAC9B,UAAA,OAAO,CAAC,IAAR,CAAa,IAAb;AACD;AACF,OALD;AAMD,KAPD,MAOO;AACL,MAAA,MAAM,CAAC,IAAP,CAAY,mBAAZ,EAAiC,OAAjC,CAAyC,IAAI,IAAG;AAC9C,cAAM,CAAC,QAAD,IAAe,gCAAoB,IAApB,CAArB;AACA,cAAM,IAAI,GAAG,KAAK,CAAC,QAAD,CAAlB;;AACA,YAAI,IAAI,IAAI,IAAZ,EAAkB;AAChB,UAAA,IAAI,CAAC,YAAL,GAAoB,mBAAmB,CAAC,IAAD,CAAvC;AACA,UAAA,OAAO,CAAC,IAAR,CAAa,IAAb;AACD;AACF,OAPD;AAQD;;AAED,QAAI,MAAM,CAAC,IAAP,CAAY,kBAAZ,EAAgC,MAAhC,GAAyC,CAA7C,EAAgD;AAC9C,MAAA,MAAM,CAAC,IAAP,CAAY,kBAAZ,EAAgC,OAAhC,CAAwC,IAAI,IAAG;AAC7C,cAAM,CAAC,QAAD,IAAe,gCAAoB,IAApB,CAArB;AACA,cAAM,IAAI,GAAG,KAAK,CAAC,QAAD,CAAlB;;AACA,YAAI,IAAJ,EAAU;AACR,UAAA,IAAI,CAAC,YAAL,GAAoB,kBAAkB,CAAC,IAAD,CAAtC;AACA,UAAA,MAAM,CAAC,IAAP,CAAY,IAAZ;AACD;AACF,OAPD;AAQD,KATD,MASO;AACL,MAAA,MAAM,GAAG,YAAT;AACD;;AAED,QAAI,SAAS,GAAG,EAAhB;;AACA,QAAI,KAAK,CAAC,OAAN,IAAiB,IAAjB,IAAyB,KAAK,CAAC,OAAN,CAAc,QAAd,IAA0B,IAAvD,EAA6D;AAC3D,MAAA,SAAS,GAAG,KAAK,CAAC,OAAN,CAAc,QAAd,CAAuB,MAAvB,CAA8B,CAAC,SAAD,EAAY,IAAZ,KAAoB;AAC5D,QAAA,SAAS,CAAC,IAAI,CAAC,SAAL,CAAe,IAAhB,CAAT,GAAiC,KAAK,WAAL,CAAiB,IAAjB,CAAjC;AACA,eAAO,SAAP;AACD,OAHW,EAGT,EAHS,CAAZ;AAID;;AAED,UAAM,MAAM,GACR;AAAC,MAAA,KAAD;AAAQ,MAAA,MAAR;AAAgB,MAAA,OAAhB;AAAyB,MAAA,OAAzB;AAAkC,MAAA,YAAlC;AAAgD,MAAA,SAAhD;AAA2D,MAAA;AAA3D,KADJ;;AAGA,QAAI,SAAS,CAAC,MAAV,GAAmB,CAAvB,EAA0B;AACxB,MAAA,MAAM,CAAC,SAAP,GAAmB,SAAnB;AACD;;AAED,WAAO,MAAP;AACD;;AAEO,EAAA,mBAAmB,CAAC,OAAD,EAA+C;AACxE,WAAO,MAAM,CAAC,IAAP,CAAY,OAAO,IAAI,EAAvB,EACF,MADE,CAC8B,CAAC,IAAD,EAAO,IAAP,KAAe;AAC9C,MAAA,IAAI,CAAC,OAAO,CAAC,IAAD,CAAP,CAAc,IAAf,CAAJ,GAA2B,IAA3B;AACA,aAAO,IAAP;AACD,KAJE,EAIA,EAJA,CAAP;AAKD;;AAEO,EAAA,OAAO,CAAC,IAAD,EAA0B;AACvC;AACA;AACA,UAAM,MAAM,GACR,+BAAgB,IAAI,CAAC,EAArB,KAA4B,KAAK,SAAL,CAAe,IAAI,CAAC,EAApB,CAA5B,IAAuD,EAD3D;;AAEA,QAAI,IAAI,CAAC,IAAL,IAAa,IAAjB,EAAuB;AACrB,MAAA,IAAI,CAAC,IAAL,GAAY,EAAZ;AACD;;AAED,UAAM,OAAO,GAAS;AACpB,MAAA,IAAI,EAAE,IAAI,CAAC,IADS;AAEpB,MAAA,EAAE,EAAE,IAAI,CAAC,EAFW;AAGpB,MAAA,QAAQ,EAAE,MAAM,CAAC,QAHG;AAIpB,MAAA,UAAU,EACN,CAAC,IAAI,CAAC,KAAL,IACA,EADD,EACK,GADL,CACS,KAAK,IAAI,KAAK,CAAC,UAAN,CAAiB,GAAjB,IAAwB,KAAK,CAAC,MAAN,CAAa,CAAb,CAAxB,GAA0C,KAD5D,CALgB;AAOpB,MAAA,MAAM,EAAE,EAPY;AAQpB,MAAA,QAAQ,EAAE,EARU;AASpB,MAAA,WAAW,EAAE,EATO;AAUpB,MAAA,UAAU,EAAE,EAVQ;AAWpB,MAAA,QAAQ,EAAE,IAAI,CAAC,IAXK;AAYpB,MAAA,OAAO,EAAE,MAAM,CAAC;AAZI,KAAtB;;AAeA,QAAI,MAAM,CAAC,MAAP,IAAiB,IAArB,EAA2B;AACzB,MAAA,OAAO,CAAC,WAAR,GACI,MAAM,CAAC,MAAP,CAAc,MAAd,CACI,CAAC,GAAD,EAAM,KAAN,KAAe;AACb,QAAA,GAAG,CAAC,KAAK,CAAC,IAAP,CAAH,GAAkB;AAChB,UAAA,IAAI,EAAE,KAAK,CAAC,IADI;AAEhB,UAAA,eAAe,EAAE,KAAK,CAAC,KAFP;AAGhB,UAAA,aAAa,EAAE,KAAK,CAAC;AAHL,SAAlB;AAKA,eAAO,GAAP;AACD,OARL,EASI,EATJ,CADJ;AAWD;;AACD,QAAI,MAAM,CAAC,KAAP,IAAgB,IAApB,EAA0B;AACxB,MAAA,OAAO,CAAC,UAAR,GACI,MAAM,CAAC,KAAP,CAAa,MAAb,CAAiD,CAAC,GAAD,EAAM,KAAN,KAAe;AAC9D,cAAM,IAAI,GAAG,KAAK,CAAC,IAAnB;AACA,YAAI,KAAK,GAAG,SAAZ;;AACA,gBAAQ,KAAK,CAAC,IAAd;AACE,eAAK,QAAL;AACE,YAAA,KAAK,GAAG,cAAc,CAClB,IAAI,CAAC,IADa,EACP,KAAK,CAAC,MADC,EACO,KAAK,CAAC,YADb,CAAtB;;AAGA,gBAAI,KAAK,KAAK,SAAV,IAAuB,CAAC,CAAC,KAAK,CAAC,gBAAnC,EAAqD;AACnD,cAAA,KAAK,GAAG,cAAc,CAClB,IAAI,CAAC,IADa,EACP,KAAK,CAAC,gBADC,EAElB,KAAK,CAAC,YAFY,CAAtB;AAGD;;AACD;;AACF,eAAK,UAAL;AACE,YAAA,KAAK,GAAG,mBAAmB,CACvB,IAAI,CAAC,IADkB,EACZ,KAAK,CAAC,MADM,EACE,KAAK,CAAC,YADR,CAA3B;;AAGA,gBAAI,KAAK,KAAK,SAAV,IAAuB,CAAC,CAAC,KAAK,CAAC,gBAAnC,EAAqD;AACnD,cAAA,KAAK,GAAG,mBAAmB,CACvB,IAAI,CAAC,IADkB,EACZ,KAAK,CAAC,gBADM,EAEvB,KAAK,CAAC,YAFiB,CAA3B;AAGD;;AACD;;AACF,eAAK,QAAL;AACE,YAAA,KAAK,GAAG,cAAc,CAClB,IAAI,CAAC,IADa,EACP,KAAK,CAAC,MADC,EAEjB,KAAK,CAAC,YAAN,IAAsB,CAFL,CAAtB;;AAGA,gBAAI,KAAK,KAAK,SAAV,IAAuB,CAAC,CAAC,KAAK,CAAC,gBAAnC,EAAqD;AACnD,cAAA,KAAK,GAAG,cAAc,CAClB,IAAI,CAAC,IADa,EACP,KAAK,CAAC,gBADC,EAElB,KAAK,CAAC,YAFY,CAAtB;AAGD;;AACD;;AACF,eAAK,UAAL;AACE,YAAA,KAAK,GAAG,oBAAoB,CACxB,IAAI,CAAC,IADmB,EACb,KAAK,CAAC,MADO,EACC,KAAK,CAAC,YADP,CAA5B;;AAEA,gBAAI,KAAK,KAAK,SAAV,IAAuB,CAAC,CAAC,KAAK,CAAC,gBAAnC,EAAqD;AACnD,cAAA,KAAK,GAAG,oBAAoB,CACxB,IAAI,CAAC,IADmB,EACb,KAAK,CAAC,gBADO,EAExB,KAAK,CAAC,YAFkB,CAA5B;AAGD;;AACD;;AACF,eAAK,MAAL;AACE,YAAA,KAAK,GAAG,YAAY,CAChB,IAAI,CAAC,IADW,EACL,KAAK,CAAC,MADD,EACS,KAAK,CAAC,YADf,CAApB;;AAEA,gBAAI,KAAK,KAAK,SAAV,IAAuB,CAAC,CAAC,KAAK,CAAC,gBAAnC,EAAqD;AACnD,cAAA,KAAK,GAAG,YAAY,CAChB,IAAI,CAAC,IADW,EACL,KAAK,CAAC,gBADD,EAEhB,KAAK,CAAC,YAFU,CAApB;AAGD;;AACD;;AACF,eAAK,QAAL;AACE,YAAA,KAAK,GAAG,iBAAiB,CACrB,IAAI,CAAC,IADgB,EACV,KAAK,CAAC,MADI,EACI,KAAK,CAAC,YADV,CAAzB;;AAEA,gBAAI,KAAK,KAAK,SAAV,IAAuB,CAAC,CAAC,KAAK,CAAC,gBAAnC,EAAqD;AACnD,cAAA,KAAK,GAAG,iBAAiB,CACrB,IAAI,CAAC,IADgB,EACV,KAAK,CAAC,gBADI,EAErB,KAAK,CAAC,YAFe,CAAzB;AAGD;;AACD;;AACF,eAAK,OAAL;AACE,YAAA,KAAK,GAAG,mBAAmB,CACvB,IAAI,CAAC,IADkB,EACZ,KAAK,CAAC,MADM,EACE,KAAK,CAAC,YADR,CAA3B;;AAEA,gBAAI,KAAK,KAAK,SAAV,IAAuB,CAAC,CAAC,KAAK,CAAC,gBAAnC,EAAqD;AACnD,cAAA,KAAK,GAAG,mBAAmB,CACvB,IAAI,CAAC,IADkB,EACZ,KAAK,CAAC,gBADM,EAEvB,KAAK,CAAC,YAFiB,CAA3B;AAGD;;AACD;;AACF,eAAK,SAAL;AACE,YAAA,KAAK,GAAG,wBAAwB,CAC5B,IAAI,CAAC,IADuB,EACjB,KAAK,CAAC,MADW,EACH,KAAK,CAAC,YADH,CAAhC;;AAEA,gBAAI,KAAK,KAAK,SAAV,IAAuB,CAAC,CAAC,KAAK,CAAC,gBAAnC,EAAqD;AACnD,cAAA,KAAK,GAAG,wBAAwB,CAC5B,IAAI,CAAC,IADuB,EACjB,KAAK,CAAC,gBADW,EAE5B,KAAK,CAAC,YAFsB,CAAhC;AAGD;;AACD;;AACF,eAAK,OAAL;AACE,YAAA,KAAK,GAAG,aAAa,CACjB,IAAI,CAAC,IADY,EACN,KAAK,CAAC,MADA,EACQ,KAAK,CAAC,YADd,CAArB;;AAEA,gBAAI,KAAK,KAAK,SAAV,IAAuB,CAAC,CAAC,KAAK,CAAC,gBAAnC,EAAqD;AACnD,cAAA,KAAK,GAAG,aAAa,CACjB,IAAI,CAAC,IADY,EACN,KAAK,CAAC,gBADA,EAEjB,KAAK,CAAC,YAFW,CAArB;AAGD;;AACD;;AACF,eAAK,SAAL;AACE,YAAA,KAAK,GAAG,kBAAkB,CACtB,IAAI,CAAC,IADiB,EACX,KAAK,CAAC,MADK,EACG,KAAK,CAAC,YADT,CAA1B;;AAEA,gBAAI,KAAK,KAAK,SAAV,IAAuB,CAAC,CAAC,KAAK,CAAC,gBAAnC,EAAqD;AACnD,cAAA,KAAK,GAAG,kBAAkB,CACtB,IAAI,CAAC,IADiB,EACX,KAAK,CAAC,gBADK,EAEtB,KAAK,CAAC,YAFgB,CAA1B;AAGD;;AACD;;AACF,eAAK,MAAL;AACE,YAAA,KAAK,GAAG,YAAY,CAChB,IAAI,CAAC,IADW,EACL,KAAK,CAAC,MADD,EACS,KAAK,CAAC,YADf,CAApB;;AAEA,gBAAI,KAAK,KAAK,SAAV,IAAuB,CAAC,CAAC,KAAK,CAAC,gBAAnC,EAAqD;AACnD,cAAA,KAAK,GAAG,YAAY,CAChB,IAAI,CAAC,IADW,EACL,KAAK,CAAC,gBADD,EAEhB,KAAK,CAAC,YAFU,CAApB;AAGD;;AACD;;AACF,eAAK,QAAL;AACA,eAAK,SAAL;AACE;;AACF;AACE,kBAAM,IAAI,KAAJ,CACF,2BAA2B,KAAK,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,EADtD,CAAN;AA3GJ;;AA8GA,QAAA,GAAG,CAAC,KAAK,CAAC,IAAP,CAAH,GAAkB;AAAC,UAAA,KAAD;AAAQ,UAAA;AAAR,SAAlB;AACA,eAAO,GAAP;AACD,OAnHD,EAmHG,EAnHH,CADJ;AAqHD;;AACD,WAAO,OAAP;AACD,GAnSyB,CAqS1B;;;AACQ,EAAA,WAAW,CAAC,WAAD,EAAqC;AACtD,UAAM,OAAO,GAAG,WAAW,CAAC,OAA5B;AACA,UAAM,YAAY,GAAW,EAA7B;AACA,UAAM,OAAO,GAAW,EAAxB;AACA,QAAI,KAAK,GAA0B,EAAnC;;AACA,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,MAAA,KAAK,GAAG,OAAO,CAAC,MAAR,CAAsC,CAAC,GAAD,EAAM,IAAN,KAAc;AAC1D,QAAA,GAAG,CAAC,IAAI,CAAC,IAAN,CAAH,GAAiB,KAAK,OAAL,CAAa,IAAb,CAAjB;;AACA,YAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB;AACvB,UAAA,OAAO,CAAC,IAAR,CAAa,GAAG,CAAC,IAAI,CAAC,IAAN,CAAhB;AACD;;AACD,eAAO,GAAP;AACD,OANO,EAML,EANK,CAAR;AAOD;;AACD,UAAM,MAAM,GAAW,EAAvB;AACA,UAAM,OAAO,GAAW,EAAxB;AAEA,IAAA,WAAW,CAAC,SAAZ,CAAsB,QAAtB,CAA+B,OAA/B,CAAuC,GAAG,IAAG;AAC3C,YAAM,CAAC,QAAD,IAAe,gCAAoB,GAAG,CAAC,IAAxB,CAArB;AACA,YAAM,IAAI,GAAS;AACjB,QAAA,IAAI,EAAE,QADW;AAEjB,QAAA,EAAE,EAAE,aAFa;AAGjB,QAAA,MAAM,EAAE,EAHS;AAIjB,QAAA,UAAU,EAAE,EAJK;AAKjB,QAAA,QAAQ,EAAE,OALO;AAMjB,QAAA,WAAW,EAAE,EANI;AAOjB,QAAA,UAAU,EAAE;AAAC,UAAA,KAAK,EAAE;AAAC,YAAA,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,IAAL,CAAvB;AAAmC,YAAA,IAAI,EAAE;AAAzC;AAAR,SAPK;AAQjB,QAAA,QAAQ,EAAE;AARO,OAAnB;AAUA,MAAA,IAAI,CAAC,YAAL,GAAoB,GAAG,CAAC,IAAxB;AACA,MAAA,MAAM,CAAC,IAAP,CAAY,IAAZ;AACA,MAAA,KAAK,CAAC,QAAD,CAAL,GAAkB,IAAlB;AACD,KAfD;AAiBA,UAAM,QAAQ,GAAG,MAAM,CAAC,IAAP,CAAY,KAAZ,CAAjB;AACA,IAAA,QAAQ,CAAC,OAAT,CAAiB,GAAG,IAAG;AACrB,YAAM,IAAI,GAAG,KAAK,CAAC,GAAD,CAAlB;AACA,MAAA,IAAI,CAAC,UAAL,CAAgB,OAAhB,CAAwB,CAAC,IAAD,EAAO,KAAP,KAAgB;AACtC,cAAM,CAAC,QAAD,GAAa,UAAb,IAA2B,gCAAoB,IAApB,CAAjC;AACA,cAAM,SAAS,GAAG,KAAK,CAAC,QAAD,CAAvB;;AACA,YAAI,SAAS,CAAC,OAAV,IAAqB,IAAzB,EAA+B;AAC7B,gBAAM,WAAW,GAAG,SAAS,CAAC,OAAV,CAAkB,OAAlB,CAA0B,UAA1B,CAApB;;AACA,cAAI,WAAW,KAAK,CAAC,CAArB,EAAwB;AACtB,kBAAM,SAAS,GAAG,GAAG,QAAQ,IAAI,WAAW,EAA5C,CADsB,CAEtB;;AACA,YAAA,IAAI,CAAC,UAAL,CAAgB,KAAhB,IAAyB,SAAzB;AACD;AACF;;AACD,QAAA,IAAI,CAAC,MAAL,CAAY,IAAZ,CAAiB,SAAjB;AACA,QAAA,SAAS,CAAC,QAAV,CAAmB,IAAnB,CAAwB,IAAxB;AACD,OAbD;AAcD,KAhBD;AAkBA,UAAM,aAAa,GAAG,WAAW,CAAC,GAAlC;AAEA,IAAA,WAAW,CAAC,SAAZ,CAAsB,SAAtB,CAAgC,OAAhC,CAAwC,MAAM,IAAG;AAC/C,YAAM,CAAC,QAAD,EAAW,KAAX,IAAoB,gCAAoB,aAAa,CAAC,MAAM,CAAC,IAAR,CAAjC,CAA1B;AACA,YAAM,IAAI,GAAG,KAAK,CAAC,QAAD,CAAlB;;AACA,UAAI,IAAI,IAAI,IAAZ,EAAkB;AAChB,QAAA,IAAI,CAAC,aAAL,GAAqB,KAArB;AACA,QAAA,OAAO,CAAC,IAAR,CAAa,IAAb;AACD;AACF,KAPD;AASA,UAAM,SAAS,GAAG,KAAK,kBAAL,CAAwB,WAAxB,CAAlB;AACA,WAAO;AAAC,MAAA,KAAD;AAAQ,MAAA,MAAR;AAAgB,MAAA,OAAhB;AAAyB,MAAA,OAAzB;AAAkC,MAAA,YAAlC;AAAgD,MAAA;AAAhD,KAAP;AACD;;AAEO,EAAA,kBAAkB,CAAC,WAAD,EAAqC;AAE7D,WAAO;AACL,MAAA,UAAU,EAAE,WAAW,CAAC,SAAZ,CAAsB,IAD7B;AAEL,MAAA,MAAM,EAAE,WAAW,CAAC,SAAZ,CAAsB,QAAtB,CAA+B,MAA/B,CACJ,CAAC,GAAD,EAAM,GAAN,KAAa;AACX,QAAA,GAAG,CAAC,GAAG,CAAC,IAAL,CAAH,GAAgB,KAAK,kBAAL,CAAwB,GAAxB,CAAhB;AACA,eAAO,GAAP;AACD,OAJG,EAKJ,EALI,CAFH;AAQL,MAAA,OAAO,EAAE,WAAW,CAAC,SAAZ,CAAsB,SAAtB,CAAgC,MAAhC,CACL,CAAC,GAAD,EAAM,GAAN,KAAa;AACX,QAAA,GAAG,CAAC,GAAG,CAAC,IAAL,CAAH,GAAgB,KAAK,kBAAL,CAAwB,GAAxB,EAA6B,WAAW,CAAC,GAAzC,CAAhB;AACA,eAAO,GAAP;AACD,OAJI,EAKL,EALK;AARJ,KAAP;AAeD;;AAEO,EAAA,kBAAkB,CACtB,GADsB,EAEtB,OAFsB,EAEW;AACnC,QAAI,IAAI,GAAG,GAAG,CAAC,IAAf;;AACA,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,MAAA,IAAI,GAAG,OAAO,CAAC,IAAD,CAAd;AACD;;AACD,WAAO;AAAC,MAAA,IAAD;AAAO,MAAA,KAAK,EAAE,GAAG,CAAC;AAAlB,KAAP;AACD;;AArYyB;;;;AAwYtB,SAAU,YAAV,CAAuB,IAAvB,EAAmC;AACvC,QAAM,MAAM,GAAG,qBAAM,MAArB;;AACA,MAAI,OAAO,MAAM,CAAC,IAAd,KAAuB,WAA3B,EAAwC;AACtC,WAAO,MAAM,CAAC,IAAP,CAAY,IAAZ,CAAP;AACD,GAFD,MAEO,IAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AACxC,WAAO,IAAI,MAAJ,CAAW,IAAX,EAAiB,QAAjB,EAA2B,QAA3B,EAAP;AACD,GAFM,MAEA;AACL,UAAM,IAAI,KAAJ,CACF,kDACA,qCAFE,CAAN;AAGD;AACF;;AAEK,SAAU,gBAAV,CAA2B,CAA3B,EAAyC,QAAzC,EAA0D;AAC9D,QAAM,KAAK,GACP,KAAK,CAAC,OAAN,CAAc,CAAd,IAAmB,MAAM,CAAC,YAAP,CAAoB,KAApB,CAA0B,IAA1B,EAAgC,CAAhC,CAAnB,GAAwD,YAAY,CAAC,CAAD,CADxE;AAEA,SAAO,QAAQ,GAAG,KAAH,GAAW,KAAK,CAAC,WAAN,EAA1B;AACD;;AAEK,SAAU,cAAV,CACF,KADE,EAC6C,IAD7C,EAC2D,GAD3D,EAEF,QAAQ,GAAG,KAFT,EAEc;AAClB,QAAM,KAAK,GAAG,KAAK,CAAC,IAAD,CAAnB;;AACA,MAAI,KAAK,IAAI,IAAb,EAAmB;AACjB,WAAO,gBAAgB,CAAC,KAAK,CAAC,CAAP,EAAU,QAAV,CAAvB;AACD;;AACD,SAAO,GAAP;AACD;;AAEK,SAAU,YAAV,CACF,KADE,EAC6C,IAD7C,EAEF,GAFE,EAEU;AACd,QAAM,KAAK,GAAG,KAAK,CAAC,IAAD,CAAnB;AACA,SAAO,KAAK,GAAG,KAAK,CAAC,CAAT,GAAa,GAAzB;AACD;;AAEK,SAAU,cAAV,CACF,KADE,EAC6C,IAD7C,EAEF,GAFE,EAES;AACb,QAAM,KAAK,GAAG,KAAK,CAAC,IAAD,CAAL,IAAe,EAA7B;AACA,QAAM,KAAK,GACP,KAAK,CAAC,GAAD,CAAL,IAAc,IAAd,GAAqB,KAAK,CAAC,GAAD,CAA1B,GAAmC,KAAK,CAAC,GAAD,CAAL,IAAc,IAAd,GAAqB,KAAK,CAAC,GAAD,CAA1B,GAAkC,GADzE;AAEA,SAAQ,OAAO,KAAP,KAAiB,QAAlB,GAA8B,KAA9B,GAAsC,QAAQ,CAAC,KAAD,EAAQ,EAAR,CAArD;AACD;;AAEK,SAAU,eAAV,CAA0B,KAA1B,EAA2D;AAC/D,MAAI,OAAQ,KAAR,KAAmB,QAAvB,EAAiC;AAC/B;AACA,IAAA,KAAK,GAAG,UAAU,CAAC,QAAX,CAAoB,KAApB,CAAR;AACD;;AACD,UAAQ,KAAR;AACE,SAAK,UAAU,CAAC,QAAX,CAAoB,QAAzB;AACE,aAAO,SAAP;;AACF,SAAK,UAAU,CAAC,QAAX,CAAoB,QAAzB;AACA,SAAK,UAAU,CAAC,QAAX,CAAoB,QAAzB;AACA,SAAK,UAAU,CAAC,QAAX,CAAoB,OAAzB;AACA,SAAK,UAAU,CAAC,QAAX,CAAoB,QAAzB;AACE,aAAO,OAAP;;AACF,SAAK,UAAU,CAAC,QAAX,CAAoB,OAAzB;AACE,aAAO,MAAP;;AACF,SAAK,UAAU,CAAC,QAAX,CAAoB,SAAzB;AACE,aAAO,SAAP;;AACF,SAAK,UAAU,CAAC,QAAX,CAAoB,SAAzB;AACE,aAAO,QAAP;;AACF;AACE;AACA;AACA,aAAO,IAAP;AAjBJ;AAmBD;;AAEK,SAAU,YAAV,CACF,KADE,EAC6C,IAD7C,EAEF,GAFE,EAES;AACb,QAAM,KAAK,GAAG,KAAK,CAAC,IAAD,CAAnB;;AACA,MAAI,KAAK,IAAI,KAAK,CAAC,IAAnB,EAAyB;AACvB,WAAO,KAAK,CAAC,IAAN,CAAW,IAAlB;AACD;;AACD,SAAO,GAAP;AACD;;AAEK,SAAU,aAAV,CACF,KADE,EAC6C,IAD7C,EAEF,GAFE,EAEW;AACf,QAAM,KAAK,GAAG,KAAK,CAAC,IAAD,CAAnB;;AACA,MAAI,KAAK,IAAI,KAAK,CAAC,IAAnB,EAAyB;AACvB,WAAO,eAAe,CAAC,KAAK,CAAC,IAAP,CAAtB;AACD;;AACD,SAAO,GAAP;AACD;;AAEK,SAAU,kBAAV,CACF,KADE,EAC6C,IAD7C,EAEF,GAFE,EAEa;AACjB,QAAM,KAAK,GAAG,KAAK,CAAC,IAAD,CAAnB;;AACA,MAAI,KAAK,IAAI,KAAK,CAAC,IAAf,IAAuB,KAAK,CAAC,IAAN,CAAW,IAAtC,EAA4C;AAC1C,WAAO,KAAK,CAAC,IAAN,CAAW,IAAX,CAAgB,GAAhB,CAAoB,CAAC,IAAI,eAAe,CAAC,CAAD,CAAxC,CAAP;AACD;;AACD,SAAO,GAAP;AACD;;AAEK,SAAU,qBAAV,CAAgC,KAAhC,EAA8D;AAElE,MAAI,KAAK,CAAC,WAAV,EAAuB;AACrB,WAAO,SAAP;AACD;;AACD,MAAI,KAAK,CAAC,GAAN,IAAa,IAAjB,EAAuB;AACrB,WAAO,KAAK,CAAC,GAAN,CAAU,GAAV,CACH,GAAG,IACE,OAAO,GAAG,CAAC,IAAX,KAAoB,QAArB,GAAiC,GAAG,CAAC,IAArC,GAA4C,QAAQ,CAAC,GAAG,CAAC,IAAL,EAAW,EAAX,CAFrD,CAAP;AAGD;;AACD,SAAO,EAAP;AACD;;AAEK,SAAU,mBAAV,CACF,KADE,EAC6C,IAD7C,EAEF,GAFE,EAEY;AAChB,QAAM,KAAK,GAAG,KAAK,CAAC,IAAD,CAAnB;;AACA,MAAI,KAAK,IAAI,KAAK,CAAC,KAAnB,EAA0B;AACxB,WAAO,qBAAqB,CAAC,KAAK,CAAC,KAAP,CAA5B;AACD;;AACD,SAAO,GAAP;AACD;;AAEK,SAAU,oBAAV,CACF,KADE,EAC6C,IAD7C,EAEF,GAFE,EAEW;AACf,QAAM,KAAK,GAAG,KAAK,CAAC,IAAD,CAAnB;;AACA,MAAI,KAAJ,EAAW;AACT,WAAO,CAAC,CAAC,KAAK,CAAC,IAAN,CAAW,CAAX,IAAgB,KAAK,CAAC,IAAN,CAAW,CAAX,CAAa,MAA7B,GAAsC,KAAK,CAAC,IAAN,CAAW,CAAjD,GACsC,KAAK,CAAC,IAAN,CAAW,CADlD,KAEA,EAFD,EAGF,GAHE,CAGE,CAAC,IAAK,OAAO,CAAP,KAAa,QAAd,GAA0B,CAA1B,GAA8B,QAAQ,CAAC,CAAD,EAAI,EAAJ,CAH7C,CAAP;AAID;;AACD,SAAO,GAAP;AACD;;AAEK,SAAU,mBAAV,CACF,KADE,EAC6C,IAD7C,EAC2D,GAD3D,EAEF,QAAQ,GAAG,KAFT,EAEc;AAClB,QAAM,KAAK,GAAG,KAAK,CAAC,IAAD,CAAnB;;AACA,MAAI,KAAK,IAAI,KAAK,CAAC,IAAf,IAAuB,KAAK,CAAC,IAAN,CAAW,CAAtC,EAAyC;AACvC,WAAO,KAAK,CAAC,IAAN,CAAW,CAAX,CAAa,GAAb,CAAkB,CAAD,IAAM;AAC5B,aAAO,gBAAgB,CAAC,CAAD,EAAI,QAAJ,CAAvB;AACD,KAFM,CAAP;AAGD;;AACD,SAAO,GAAP;AACD;;AAEK,SAAU,wBAAV,CACF,KADE,EAC6C,IAD7C,EAEF,GAFE,EAEa;AACjB,QAAM,KAAK,GAAG,KAAK,CAAC,IAAD,CAAnB;;AACA,MAAI,KAAK,IAAI,KAAK,CAAC,IAAf,IAAuB,KAAK,CAAC,IAAN,CAAW,KAAtC,EAA6C;AAC3C,WAAO,KAAK,CAAC,IAAN,CAAW,KAAX,CAAiB,GAAjB,CAAsB,CAAD,IAAM;AAChC,aAAO,qBAAqB,CAAC,CAAD,CAA5B;AACD,KAFM,CAAP;AAGD;;AACD,SAAO,GAAP;AACD;;AAEK,SAAU,iBAAV,CACF,KADE,EAC6C,IAD7C,EAEF,GAFE,EAEY;AAChB,QAAM,KAAK,GAAG,KAAK,CAAC,IAAD,CAAnB;;AACA,MAAI,KAAK,IAAI,KAAK,CAAC,IAAf,IAAuB,KAAK,CAAC,IAAN,CAAW,CAAtC,EAAyC;AACvC,WAAO,KAAK,CAAC,IAAN,CAAW,CAAlB;AACD;;AACD,SAAO,GAAP;AACD;;;;;;;;;ACxkBD;;AACA;;AAtBA;;;;;;;;;;;;;;;;;AAyBA;;;AAGM,MAAO,aAAP,CAAoB;AAGxB,EAAA,WAAA,CACY,IADZ,EACgC,SADhC,EAEY,OAFZ,EAEqC;AADzB,SAAA,IAAA,GAAA,IAAA;AAAoB,SAAA,SAAA,GAAA,SAAA;AACpB,SAAA,OAAA,GAAA,OAAA;AAJI,SAAA,MAAA,GAAmB,EAAnB;AACA,SAAA,KAAA,GAAoC,EAApC;AAId,SAAK,MAAL,GAAc,IAAI,CAAC,UAAL,CAAgB,GAAhB,CAAoB,IAAI,IAAI,KAAK,QAAL,CAAc,IAAd,CAA5B,CAAd;;AACA,QAAI,IAAI,CAAC,QAAL,IAAiB,IAArB,EAA2B;AACzB,WAAK,KAAL,GAAa,MAAM,CAAC,IAAP,CAAY,IAAI,CAAC,QAAjB,EACK,MADL,CACY,CAAC,KAAD,EAAoC,GAApC,KAA2C;AACjD,QAAA,KAAK,CAAC,GAAD,CAAL,GAAa,KAAK,OAAL,CAAa,GAAb,CAAb;AACA,eAAO,KAAP;AACD,OAJL,EAIO,EAJP,CAAb;AAKD;AACF;AAED;;;;;;AAIQ,EAAA,QAAQ,CAAC,IAAD,EAAa;AAC3B,WAAO,sBAAU,IAAV,EAAgB,KAAK,SAArB,EAAgC,KAAK,OAArC,CAAP;AACD;AAED;;;;;;AAIQ,EAAA,OAAO,CAAC,IAAD,EAAe,YAAf,EAAuC;AACpD,UAAM,KAAK,GAAG,KAAK,IAAL,CAAU,QAAV,CAAmB,IAAnB,CAAd;;AACA,QAAI,KAAK,CAAC,MAAN,IAAgB,IAApB,EAA0B;AACxB,aAAO,sBAAU,IAAV,EAAgB,KAAK,SAArB,EAAgC,KAAK,OAArC,CAAP;AACD;;AACD,QAAI,KAAK,CAAC,CAAN,IAAW,IAAX,IAAmB,KAAK,CAAC,CAAN,IAAW,IAAlC,EAAwC;AACtC,aAAO,sCAAe,KAAK,IAAL,CAAU,QAAzB,EAAmC,IAAnC,EAAyC,YAAzC,CAAP;AACD;;AACD,QAAI,KAAK,CAAC,CAAN,IAAW,IAAf,EAAqB;AACnB,aAAO,sCAAe,KAAK,IAAL,CAAU,QAAzB,EAAmC,IAAnC,EAAyC,YAAzC,CAAP;AACD;;AACD,QAAI,KAAK,CAAC,CAAN,IAAW,IAAf,EAAqB;AACnB,aAAO,oCAAa,KAAK,IAAL,CAAU,QAAvB,EAAiC,IAAjC,EAAuC,YAAvC,CAAP;AACD;;AACD,QAAI,KAAK,CAAC,KAAN,IAAe,IAAnB,EAAyB;AACvB,aAAO,2CACH,KAAK,IAAL,CAAU,QADP,EACiB,IADjB,EACuB,YADvB,CAAP;AAED;;AACD,QAAI,KAAK,CAAC,IAAN,IAAc,IAAlB,EAAwB;AACtB,aAAO,qCAAc,KAAK,IAAL,CAAU,QAAxB,EAAkC,IAAlC,EAAwC,YAAxC,CAAP;AACD;;AACD,QAAI,KAAK,CAAC,IAAN,IAAc,IAAlB,EAAwB;AACtB,UAAI,KAAK,CAAC,IAAN,CAAW,CAAX,IAAgB,IAAhB,IAAwB,KAAK,CAAC,IAAN,CAAW,CAAX,IAAgB,IAA5C,EAAkD;AAChD,eAAO,4CACH,KAAK,IAAL,CAAU,QADP,EACiB,IADjB,EACuB,YADvB,CAAP;AAED;;AACD,UAAI,KAAK,CAAC,IAAN,CAAW,CAAX,IAAgB,IAApB,EAA0B;AACxB,eAAO,2CACH,KAAK,IAAL,CAAU,QADP,EACiB,IADjB,EACuB,YADvB,CAAP;AAED;;AACD,UAAI,KAAK,CAAC,IAAN,CAAW,KAAX,IAAoB,IAAxB,EAA8B;AAC5B,eAAO,gDACH,KAAK,IAAL,CAAU,QADP,EACiB,IADjB,EACuB,YADvB,CAAP;AAED;;AACD,UAAI,KAAK,CAAC,IAAN,CAAW,CAAX,IAAgB,IAApB,EAA0B;AACxB,eAAO,yCACH,KAAK,IAAL,CAAU,QADP,EACiB,IADjB,EACuB,YADvB,CAAP;AAED;;AACD,UAAI,KAAK,CAAC,IAAN,CAAW,IAAX,IAAmB,IAAvB,EAA6B;AAC3B,eAAO,0CACH,KAAK,IAAL,CAAU,QADP,EACiB,IADjB,EACuB,YADvB,CAAP;AAED;AACF;;AAED,WAAO,YAAP;AACD;;AAzEuB;;;;;;;;;;ACN1B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;ACHA;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,SAAL;AACA,SAAK,OAAL;AACA,SAAK,KAAL;AAAY;AACV,eAAO,CAAC,KAAK,CAAC,GAAN,CACH,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADG,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,MAAL;AAAa;AACX,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADI,CAAD,CAAP;AAED;;AACD,SAAK,UAAL;AACA,SAAK,KAAL;AACE,aAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;;AAGF,SAAK,KAAL;AACE,aAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;;AAGF,SAAK,SAAL;AACA,SAAK,KAAL;AAAY;AACV,eAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,UAAL;AAAiB;AACf,eAAO,CAAC,KAAK,CAAC,QAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,UAAL;AAAiB;AACf,eAAO,CAAC,KAAK,CAAC,QAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,KAAL;AAAY;AACV,eAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,SAAL;AAAgB;AACd,eAAO,CAAC,KAAK,CAAC,OAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,SAAL;AAAgB;AACd,eAAO,CAAC,KAAK,CAAC,OAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,KAAL;AAAY;AACV,eAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,mBAAL;AAA0B;AACxB,eAAO,CAAC,KAAK,CAAC,iBAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AA/DJ;AAiED,CApEE;;;AAsEA,MAAM,QAAQ,GAAG,YAAjB;;;;;;;;;;AC9EP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,KAAL;AACA,SAAK,YAAL;AACE,aAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,OAAL;AACE,aAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,OAAL;AACE,aAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,OAAL;AACE,aAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;;AAGF,SAAK,OAAL;AACE,aAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,SAAL;AACE,aAAO,CAAC,KAAK,CAAC,OAAN,CACJ,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADI,EAEJ,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAFI,CAAD,CAAP;;AAGF,SAAK,KAAL;AACE,aAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,KAAL;AACE,aAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,KAAL;AACE,aAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,KAAL;AACE,aAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,OAAL;AAAc;AACZ,eAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,OAAL;AACE,aAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,KAAL;AACE,aAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,OAAL;AAAc;AACZ,eAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAGF,SAAK,KAAL;AACE,aAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,YAAL;AAAmB;AACjB,eAAO,CAAC,KAAK,CAAC,UAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,OAAL;AAAc;AACZ,eAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,SAAL;AACE,aAAO,CAAC,KAAK,CAAC,OAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,KAAL;AACE,aAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,MAAL;AAAa;AACX,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,MAAL;AAAa;AACX,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,UAAL;AAAiB;AACf,eAAO,CAAC,KAAK,CAAC,QAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,MAAL;AAAa;AACX,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,QAAL;AAAe;AACb,eAAO,CAAC,KAAK,CAAC,MAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,MAAL;AAAa;AACX,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,KAAL;AACE,aAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,aAAL;AACE,aAAO,CAAC,KAAK,CAAC,WAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CAFI,EAGJ,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CAHI,CAAD,CAAP;;AAKF,SAAK,OAAL;AACE,aAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;;AAEF,SAAK,OAAL;AACE,aAAO,CAAC,KAAK,CAAC,KAAN,CACJ,sBAAU,IAAI,CAAC,UAAL,CAAgB,CAAhB,CAAV,EAA8B,SAA9B,EAAyC,OAAzC,CADI,CAAD,CAAP;;AAEF,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAFI,CAAD,CAAP;;AAGF,SAAK,WAAL;AACE,aAAO,CAAC,KAAK,CAAC,SAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAFI,CAAD,CAAP;;AAGF,SAAK,OAAL;AACE,aAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAFI,CAAD,CAAP;;AAGF,SAAK,OAAL;AACE,aAAO,CAAC,KAAK,CAAC,KAAN,CACJ,sBAAU,IAAI,CAAC,UAAL,CAAgB,CAAhB,CAAV,EAA8B,SAA9B,EAAyC,OAAzC,CADI,CAAD,CAAP;;AAEF;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AApJJ;AAsJD,CAzJE;;;AA2JA,MAAM,QAAQ,GAAG,YAAjB;;;;;;;;;;;;;AC/JP;;AAtBA;;;;;;;;;;;;;;;;;AAgBA;;;;;;AAQA;;;;;;;AAOM,SAAU,mCAAV,CACF,MADE,EACuB,MADvB,EAEF,kBAAkB,GAAG,EAFnB,EAEqB;AACzB;AACA,MAAI,OAAO,MAAP,KAAkB,QAAlB,IAA8B,OAAO,MAAP,KAAkB,QAApD,EAA8D;AAC5D;AACD;;AACD,iBAAK,MAAL,CACI,MAAM,CAAC,MAAP,KAAkB,MAAM,CAAC,MAD7B,EAEI,MAAM,kBAAkB,GAAG,WAAW,MAAM,QAAQ,MAAM,aAF9D;;AAGA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,UAAM,IAAI,GAAG,MAAM,CAAC,CAAD,CAAnB;AACA,UAAM,IAAI,GAAG,MAAM,CAAC,CAAD,CAAnB;;AACA,mBAAK,MAAL,CACI,IAAI,GAAG,CAAP,IAAY,IAAI,GAAG,CAAnB,IAAwB,IAAI,KAAK,IADrC,EAEI,MACI,kBAAkB,GAAG,WAAW,MAAM,QAAQ,MAAM,aAH5D;AAID;AACF;;AAEK,SAAU,gBAAV,CAA2B,YAA3B,EAAwD;AAC5D,MAAI,OAAO,YAAP,KAAwB,QAAxB,IAAoC,YAAY,CAAC,IAAb,CAAkB,GAAG,IAAI,GAAG,GAAG,CAA/B,CAAxC,EAA2E;AACzE,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD;AACD;;;;;;;;;AAOM,SAAU,iBAAV,CACF,gBADE,EACiC,OADjC,EAEF,YAFE,EAE2B;AAC/B,MAAI,YAAY,GAAG,iBAAiB,CAAC,gBAAD,EAAmB,YAAnB,CAApC;AACA,QAAM,mBAAmB,GAAG,CAAC,gBAAgB,CAAC,YAAD,CAA7C;;AACA,MAAI,mBAAmB,IAAI,OAAO,CAAC,MAAR,KAAmB,CAA9C,EAAiD;AAC/C,UAAM,IAAI,KAAJ,CACF,8CAAA,GACA,yCAAyC,YAAY,EAFnD,CAAN;AAGD;;AACD,MAAI,mBAAJ,EAAyB;AACvB,IAAA,OAAO,CAAC,OAAR,CAAgB,MAAM,IAAG;AACvB,MAAA,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAR,EAAe,YAAf,CAAhC;AACD,KAFD;AAGD;;AACD,MAAI,CAAC,gBAAgB,CAAC,YAAD,CAArB,EAAqC;AACnC,UAAM,IAAI,KAAJ,CAAU,mCAAmC,YAAY,EAAzD,CAAN;AACD;;AACD,SAAO,YAAP;AACD;;AAEK,SAAU,iBAAV,CACF,aADE,EAC8B,aAD9B,EAC4D;AAEhE,MAAI,OAAO,aAAP,KAAyB,QAA7B,EAAuC;AACrC,WAAO,aAAP;AACD;;AACD,MAAI,OAAO,aAAP,KAAyB,QAA7B,EAAuC;AACrC,WAAO,aAAP;AACD;;AAED,MAAI,aAAa,CAAC,MAAd,KAAyB,aAAa,CAAC,MAA3C,EAAmD;AACjD,UAAM,IAAI,KAAJ,CAAU,oCAAoC,aAAa,QAC7D,aAAa,EADX,CAAN;AAED;;AAED,QAAM,MAAM,GAAa,EAAzB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,aAAa,CAAC,MAAlC,EAA0C,EAAE,CAA5C,EAA+C;AAC7C,UAAM,IAAI,GAAG,aAAa,CAAC,CAAD,CAA1B;AACA,UAAM,IAAI,GAAG,aAAa,CAAC,CAAD,CAA1B;;AACA,QAAI,IAAI,IAAI,CAAR,IAAa,IAAI,IAAI,CAArB,IAA0B,IAAI,KAAK,IAAvC,EAA6C;AAC3C,YAAM,IAAI,KAAJ,CAAU,oCAAoC,aAAa,QAC7D,aAAa,EADX,CAAN;AAED;;AACD,IAAA,MAAM,CAAC,CAAD,CAAN,GAAY,IAAI,IAAI,CAAR,GAAY,IAAZ,GAAmB,IAA/B;AACD;;AACD,SAAO,MAAP;AACD;;;;;;;;;AC/FD;;AAEA;;AAnBA;;;;;;;;;;;;;;;;;AA2BA;;;;AAIM,MAAO,WAAP,CAAkB;AAItB,EAAA,WAAA,CACa,IADb,EACoC,KADpC,EAC6D,OAD7D,EAEY,YAFZ,EAE6C,sBAF7C,EAGa,WAHb,EAG4C,cAH5C,EAGmE;AAFtD,SAAA,IAAA,GAAA,IAAA;AAAuB,SAAA,KAAA,GAAA,KAAA;AAAyB,SAAA,OAAA,GAAA,OAAA;AACjD,SAAA,YAAA,GAAA,YAAA;AAAiC,SAAA,sBAAA,GAAA,sBAAA;AAChC,SAAA,WAAA,GAAA,WAAA;AAA+B,SAAA,cAAA,GAAA,cAAA;AANpC,SAAA,OAAA,GAA6B,EAA7B;AACA,SAAA,OAAA,GAAU,KAAV;AAMN,SAAK,QAAL,GAAgB,sBAAO,CAAP,CAAhB;AACA,wBAAK,KAAK,QAAV;AACD;;AAEK,MAAF,EAAE,GAAA;AACJ,WAAO,KAAK,QAAL,CAAc,EAArB;AACD;;AAES,MAAN,MAAM,GAAA;AACR,WAAO,KAAK,OAAZ;AACD;AAED;;;;;AAGA,EAAA,aAAa,CAAC,OAAD,EAAsB;AACjC,SAAK,OAAL,CAAa,OAAb,CAAqB,MAAM,IAAG;AAC5B,UAAI,OAAO,IAAI,IAAX,IAAmB,CAAC,OAAO,CAAC,GAAR,CAAY,MAAM,CAAC,MAAP,CAAc,EAA1B,CAAxB,EAAuD;AACrD,QAAA,MAAM,CAAC,MAAP,CAAc,OAAd;AACD;AACF,KAJD;AAKA,SAAK,OAAL,GAAe,EAAf;AACA,SAAK,OAAL,GAAe,IAAf;AACA,SAAK,QAAL,CAAc,OAAd;AACD;;AAED,EAAA,IAAI,GAAA;AACF,WAAO,KAAK,OAAL,CAAa,MAApB;AACD;AAED;;;;;;AAIA,EAAA,IAAI,CAAC,KAAD,EAAc;AAChB,QAAI,KAAK,OAAT,EAAkB;AAChB,YAAM,IAAI,KAAJ,CAAU,eAAe,KAAK,IAAI,2BAAlC,CAAN;AACD;;AAED,QAAI,KAAK,GAAG,CAAR,IAAa,KAAK,IAAI,KAAK,IAAL,EAA1B,EAAuC;AACrC,YAAM,IAAI,KAAJ,CAAU,4BAA4B,KAAK,wBAC7C,KAAK,IAAL,EAAW,EADT,CAAN;AAED;;AAED,UAAM,eAAe,GAAG,KAAK,OAAL,CAAa,KAAb,CAAxB;;AACA,QAAI,eAAe,CAAC,OAApB,EAA6B;AAC3B,YAAM,IAAI,KAAJ,CACF,eAAe,KAAK,IAAI,0BACpB,KAAK,sDADT,GAEA,kDAHE,CAAN;AAID;;AAED,QAAI,KAAK,cAAT,EAAyB;AACvB,MAAA,eAAe,CAAC,OAAhB,GAA0B,IAA1B;AACD;;AAED,IAAA,eAAe,CAAC,IAAhB,GAAuB,IAAvB;AACA,WAAO,eAAe,CAAC,MAAvB;AACD;AAED;;;;;AAGA,EAAA,QAAQ,CAAC,OAAD,EAAkB;AACxB,WAAO,OAAO,CAAC,GAAR,CAAY,KAAK,IAAI,KAAK,IAAL,CAAU,KAAV,CAArB,CAAP;AACD;AAED;;;;;;;AAKA,EAAA,KAAK,CAAC,KAAD,EAAgB,MAAhB,EAA8B;AACjC,QAAI,KAAK,OAAT,EAAkB;AAChB,YAAM,IAAI,KAAJ,CAAU,eAAe,KAAK,IAAI,2BAAlC,CAAN;AACD;;AAED,QAAI,KAAK,GAAG,CAAR,IAAa,CAAC,KAAK,WAAN,IAAqB,KAAK,IAAI,KAAK,OAApD,EAA6D;AAC3D,YAAM,IAAI,KAAJ,CAAU,2BACZ,KAAK,8CAA8C,KAAK,OAAO,EAD7D,CAAN;AAED;;AAED,UAAM,CAAC,GAAG,KAAK,OAAL,CAAa,KAAb,KAAuB,EAAjC;;AAEA,QAAI,MAAM,CAAC,KAAP,KAAiB,KAAK,KAA1B,EAAiC;AAC/B,YAAM,IAAI,KAAJ,CAAU,eACZ,KAAK,IAAI,0CAA0C,KAAK;uCAExD,MAAM,CAAC,KAAK,8BAA8B,KAAK,KAAK,GAHlD,CAAN;AAID,KAjBgC,CAmBjC;;;AACA,QAAI,KAAK,IAAL,OAAgB,CAAhB,KACC,KAAK,YAAL,IAAqB,IAArB,IAA6B,KAAK,YAAL,CAAkB,MAAlB,KAA6B,CAD3D,CAAJ,EACmE;AACjE,WAAK,YAAL,GAAoB,MAAM,CAAC,KAA3B;AACD;;AAED,2DACI,KAAK,YADT,EACuB,MAAM,CAAC,KAD9B,EAEI,eAAe,KAAK,IAAI,0CACpB,KAAK,GAHb;;AAKA,QAAI,CAAC,CAAC,IAAN,EAAY;AACV,YAAM,IAAI,KAAJ,CACF,eAAe,KAAK,IAAI,0CACpB,KAAK,qCAFP,CAAN;AAGD;;AAED,QAAI,CAAC,CAAC,OAAN,EAAe;AACb,YAAM,IAAI,KAAJ,CACF,eAAe,KAAK,IAAI,0CACpB,KAAK,wCAFP,CAAN;AAGD;;AAED,IAAA,CAAC,CAAC,MAAF,GAAW,MAAX;AACA,wBAAK,MAAL;AACA,IAAA,CAAC,CAAC,OAAF,GAAY,IAAZ;AAEA,SAAK,OAAL,CAAa,KAAb,IAAsB,CAAtB;AACD;AAED;;;;;AAGA,EAAA,SAAS,CAAC,OAAD,EAAoB,OAApB,EAAqC;AAC5C,QAAI,OAAO,CAAC,MAAR,KAAmB,OAAO,CAAC,MAA/B,EAAuC;AACrC,YAAM,IAAI,KAAJ,CACF,eAAe,KAAK,IAAI,qCAAxB,GACA,2BACI,OAAO,CAAC,MAAM,qCACd,OAAO,CAAC,MAAM,GAJhB,CAAN;AAKD;;AAED,IAAA,OAAO,CAAC,OAAR,CAAgB,CAAC,CAAD,EAAI,KAAJ,KAAc,KAAK,KAAL,CAAW,CAAX,EAAc,OAAO,CAAC,KAAD,CAArB,CAA9B;AACD;AAED;;;;;;;;;;AAQA,EAAA,MAAM,CAAC,OAAD,EAAqB,KAArB,EAAqC;AACzC,QAAI,CAAC,CAAC,KAAF,IAAW,KAAK,KAAK,KAAK,KAA9B,EAAqC;AACnC,YAAM,IAAI,KAAJ,CAAU,wBACZ,KAAK,KAAK,+BAA+B,KAAK,EAD5C,CAAN;AAED;;AAED,QAAI,CAAC,OAAL,EAAc;AACZ,MAAA,OAAO,GAAG,EAAV;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,IAAL,EAApB,EAAiC,CAAC,EAAlC,EAAsC;AACpC,QAAA,OAAO,CAAC,IAAR,CAAa,CAAb;AACD;AACF,KALD,MAKO;AACL,MAAA,OAAO,GAAG,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,KAAK,IAAL,EAAjB,CAAV;AACD;;AAED,QAAI,OAAO,CAAC,MAAR,KAAmB,CAAvB,EAA0B;AACxB,aAAO,sBAAO,EAAP,EAAW,CAAC,CAAD,EAAI,MAAJ,CAAW,KAAK,YAAhB,CAAX,CAAP;AACD,KAjBwC,CAmBzC;AACA;;;AACA,UAAM,OAAO,GAAG,KAAK,QAAL,CAAc,OAAd,CAAhB;AAEA,2DACI,KAAK,YADT,EACuB,OAAO,CAAC,CAAD,CAAP,CAAW,KADlC,EACyC,8BADzC;AAGA,WAAO,qBAAM,OAAN,EAAe,CAAf,CAAP;AACD;AAED;;;;;AAGA,EAAA,MAAM,CAAC,KAAD,EAAiB;AACrB,QAAI,CAAC,CAAC,KAAF,IAAW,KAAK,KAAK,KAAK,KAA9B,EAAqC;AACnC,YAAM,IAAI,KAAJ,CAAU,wBACZ,KAAK,KAAK,+BAA+B,KAAK,EAD5C,CAAN;AAED;;AAED,QAAI,KAAK,IAAL,OAAgB,CAApB,EAAuB;AACrB,aAAO,sBAAO,EAAP,EAAW,CAAC,CAAD,EAAI,MAAJ,CAAW,KAAK,YAAhB,CAAX,CAAP;AACD;;AAED,UAAM,OAAO,GAAG,EAAhB;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,IAAL,EAApB,EAAiC,CAAC,EAAlC,EAAsC;AACpC,MAAA,OAAO,CAAC,IAAR,CAAa,CAAb;AACD,KAboB,CAcrB;;;AACA,UAAM,OAAO,GAAG,KAAK,QAAL,CAAc,OAAd,CAAhB;AAEA,2DACI,KAAK,YADT,EACuB,OAAO,CAAC,CAAD,CAAP,CAAW,KADlC,EAEI,mDACI,KAAK,YAAY,4BAA4B,OAAO,CAAC,CAAD,CAAP,CAAW,KAAK,GAHrE;AAKA,WAAO,sBAAO,OAAP,EAAgB,CAAhB,CAAP;AACD;AAED;;;;;;;;AAMA,EAAA,OAAO,CAAC,OAAD,EAAoB,MAApB,EAAkC;AACvC,QAAI,MAAM,CAAC,KAAP,KAAiB,KAAK,KAA1B,EAAiC;AAC/B,YAAM,IAAI,KAAJ,CAAU,wBACZ,KAAK,KAAK,yBAAyB,MAAM,CAAC,KAAK,EAD7C,CAAN;AAED;;AAED,QAAI,OAAO,CAAC,MAAR,KAAmB,MAAM,CAAC,KAAP,CAAa,CAAb,CAAvB,EAAwC;AACtC,YAAM,IAAI,KAAJ,CAAU,sDACZ,OAAO,CAAC,MAAM,QAAQ,MAAM,CAAC,KAAP,CAAa,CAAb,CAAe,EADnC,CAAN;AAED;;AAED,UAAM,QAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,GAAG,OAAZ,CAAjB;;AAEA,QAAI,CAAC,KAAK,WAAN,IAAqB,QAAQ,IAAI,KAAK,OAA1C,EAAmD;AACjD,YAAM,IAAI,KAAJ,CACF,mCAAmC,QAAQ,SAAS,KAAK,OAAO,GAD9D,CAAN;AAED;;AAED,SAAK,SAAL,CAAe,OAAf,EAAwB,uBAAQ,MAAR,EAAgB,CAAhB,CAAxB;AACD;AAED;;;;;;;;AAMA,EAAA,KAAK,CAAC,MAAD,EAAmB,MAAnB,EAAiC;AACpC,QAAI,MAAM,CAAC,KAAP,KAAiB,KAAK,KAA1B,EAAiC;AAC/B,YAAM,IAAI,KAAJ,CAAU,wBACZ,KAAK,KAAK,yBAAyB,MAAM,CAAC,KAAK,EAD7C,CAAN;AAED;;AACD,QAAI,WAAW,GAAG,CAAlB;AACA,UAAM,iBAAiB,GAAG,MAAM,CAAC,GAAP,CAAW,GAAG,IAAG;AACzC,MAAA,WAAW,IAAI,GAAf;AACA,aAAO,WAAP;AACD,KAHyB,CAA1B;;AAKA,QAAI,WAAW,KAAK,MAAM,CAAC,KAAP,CAAa,CAAb,CAApB,EAAqC;AACnC,YAAM,IAAI,KAAJ,CAAU;;UAEZ,WAAW,4BAA4B,MAAM,CAAC,KAAK,EAFjD,CAAN;AAGD;;AAED,QAAI,CAAC,KAAK,WAAN,IAAqB,MAAM,CAAC,MAAP,KAAkB,KAAK,OAAhD,EAAyD;AACvD,YAAM,IAAI,KAAJ,CACF,2DACI,KAAK,OAAO,QAAQ,MAAM,CAAC,MAAM,KADrC,GAEA,6DAHE,CAAN;AAID;;AAED,UAAM,aAAa,GAAG,WAAW,KAAK,CAAhB,GAAoB,CAApB,GAAwB,MAAM,CAAC,IAAP,GAAc,WAA5D;AACA,UAAM,OAAO,GAAa,EAA1B;AACA,wBAAK,MAAK;AACR,MAAA,MAAM,GAAG,uBAAQ,MAAR,EAAgB,CAAC,CAAD,EAAI,WAAJ,EAAiB,aAAjB,CAAhB,CAAT;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,EAAE,CAArC,EAAwC;AACtC,cAAM,cAAc,GAAI,CAAC,KAAK,CAAP,GAAY,CAAZ,GAAgB,iBAAiB,CAAC,CAAC,GAAG,CAAL,CAAxD;AACA,cAAM,OAAO,GAAG,CAAC,CAAD,EAAI,cAAJ,EAAoB,CAApB,CAAhB;AACA,cAAM,KAAK,GAAG,CAAC,CAAD,EAAI,MAAM,CAAC,CAAD,CAAV,EAAe,aAAf,CAAd;AACA,QAAA,OAAO,CAAC,CAAD,CAAP,GAAa,uBAAQ,qBAAM,MAAN,EAAc,OAAd,EAAuB,KAAvB,CAAR,EAAuC,KAAK,YAA5C,CAAb;AACD;;AACD,aAAO,OAAP;AACD,KATD;AAUA,UAAM,OAAO,GAAG,EAAhB;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,MAAA,OAAO,CAAC,CAAD,CAAP,GAAa,CAAb;AACD;;AACD,SAAK,SAAL,CAAe,OAAf,EAAwB,OAAxB;AACD;;AA3RqB;;;;;;;;;;;;;;;ACdxB;;AAEA;;AAnBA;;;;;;;;;;;;;;;;;AAqBA;;;;;;;;;;;;;;AAeM,MAAO,UAAP,CAAiB;AAOrB;;;;;;;;;AASA,EAAA,WAAA,CACa,OADb,EACyC,YADzC,EAEa,YAFb,EAEqC,cAAc,GAAG,CAAC,CAFvD,EAEwD;AAD3C,SAAA,OAAA,GAAA,OAAA;AAA4B,SAAA,YAAA,GAAA,YAAA;AAC5B,SAAA,YAAA,GAAA,YAAA;;AACX,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,MAAA,OAAO,CAAC,OAAR,CAAgB,MAAM,IAAG;AACvB,YAAI,YAAY,KAAK,MAAM,CAAC,KAA5B,EAAmC;AACjC,gBAAM,IAAI,KAAJ,CAAU,mCACZ,YAAY,uBAAuB,MAAM,CAAC,KAAK,EAD7C,CAAN;AAED;;AACD,+DACI,YADJ,EACkB,MAAM,CAAC,KADzB,EACgC,6BADhC;AAGA,4BAAK,MAAL;AACD,OATD;AAUD;;AACD,SAAK,QAAL,GAAgB,sBAAO,CAAP,CAAhB;AACA,SAAK,cAAL,GAAsB,cAAtB;AACA,wBAAK,KAAK,QAAV;AACD;;AA9BK,MAAF,EAAE,GAAA;AACJ,WAAO,KAAK,QAAL,CAAc,EAArB;AACD;AA8BD;;;;;AAGA,EAAA,IAAI,GAAA;AACF,WAAO,IAAI,UAAJ,CACH,CAAC,GAAG,KAAK,OAAT,CADG,EACgB,KAAK,YADrB,EACmC,KAAK,YADxC,CAAP;AAED;AAED;;;;;AAGA,EAAA,aAAa,CAAC,OAAD,EAAsB;AACjC,SAAK,OAAL,CAAa,OAAb,CAAqB,MAAM,IAAG;AAC5B,UAAI,OAAO,IAAI,IAAX,IAAmB,CAAC,OAAO,CAAC,GAAR,CAAY,MAAM,CAAC,EAAnB,CAAxB,EAAgD;AAC9C,QAAA,MAAM,CAAC,OAAP;AACD;AACF,KAJD;AAKA,SAAK,OAAL,CAAa,MAAb,GAAsB,CAAtB;AACA,SAAK,QAAL,CAAc,OAAd;AACD;AACD;;;;;AAGA,EAAA,IAAI,GAAA;AACF,WAAO,KAAK,OAAL,CAAa,MAApB;AACD;AAED;;;;;;;;;AAOA,EAAA,KAAK,CAAC,YAAD,EAAyB,YAAzB,EAAiD,WAAW,GAAG,CAAC,CAAhE,EAAiE;AAEpE,QAAI,YAAY,KAAK,KAAK,YAA1B,EAAwC;AACtC,YAAM,IAAI,KAAJ,CAAU,mCACZ,YAAY,uBAAuB,KAAK,YAAY,EADlD,CAAN;AAED;;AACD,QAAI,WAAW,KAAK,CAAC,CAAjB,IAAsB,KAAK,OAAL,CAAa,MAAb,KAAwB,WAAlD,EAA+D;AAC7D,YAAM,IAAI,KAAJ,CAAU,kCACZ,WAAW,iCACX,KAAK,OAAL,CAAa,MAAM,YAFjB,CAAN;AAGD;;AACD,2DACI,YADJ,EACkB,KAAK,YADvB,EACqC,6BADrC;AAEA,UAAM,kBAAkB,GACpB,qCAAkB,KAAK,YAAvB,EAAqC,KAAK,OAA1C,EAAmD,YAAnD,CADJ;AAEA,WAAO,oBAAK,MAAK;AACf,YAAM,eAAe,GACjB,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAM,IAAI,uBAAQ,MAAR,EAAgB,kBAAhB,CAA3B,CADJ;AAEA,aAAO,qBAAM,eAAN,EAAuB,CAAvB,CAAP;AACD,KAJM,CAAP;AAKD;AAED;;;;;;;AAKA,EAAA,OAAO,CAAC,YAAD,EAAyB,YAAzB,EAA+C;AACpD,QAAI,YAAY,KAAK,KAAK,YAA1B,EAAwC;AACtC,YAAM,IAAI,KAAJ,CAAU,mCACZ,YAAY,uBAAuB,KAAK,YAAY,EADlD,CAAN;AAED;;AAED,QAAI,KAAK,IAAL,OAAgB,CAApB,EAAuB;AACrB,YAAM,IAAI,KAAJ,CAAU,mCAAV,CAAN;AACD;;AACD,UAAM,kBAAkB,GACpB,qCAAkB,KAAK,YAAvB,EAAqC,KAAK,OAA1C,EAAmD,YAAnD,CADJ;AAEA,UAAM,MAAM,GAAG,KAAK,OAAL,CAAa,GAAb,EAAf;AAEA,2DACI,MAAM,CAAC,KADX,EACkB,YADlB,EACgC,6BADhC;AAGA,WAAO,uBAAQ,MAAR,EAAgB,kBAAhB,CAAP;AACD;AAED;;;;;;AAIA,EAAA,QAAQ,CAAC,MAAD,EAAe;AACrB,QAAI,MAAM,CAAC,KAAP,KAAiB,KAAK,YAA1B,EAAwC;AACtC,YAAM,IAAI,KAAJ,CAAU,mCACZ,MAAM,CAAC,KAAK,uBAAuB,KAAK,YAAY,EADlD,CAAN;AAED;;AAED,2DACI,MAAM,CAAC,KADX,EACkB,KAAK,YADvB,EACqC,6BADrC;;AAGA,QAAI,KAAK,cAAL,KAAwB,KAAK,IAAL,EAA5B,EAAyC;AACvC,YAAM,IAAI,KAAJ,CAAU,0CAAV,CAAN;AACD;;AACD,wBAAK,MAAL;AACA,SAAK,OAAL,CAAa,IAAb,CAAkB,MAAlB;AACD;AAED;;;;;;AAIA,EAAA,MAAM,CAAC,IAAD,EAAa;AACjB,QAAI,IAAI,GAAG,CAAX,EAAc;AACZ,YAAM,IAAI,KAAJ,CACF,0DAA0D,IAAI,EAD5D,CAAN;AAED;;AAED,QAAI,KAAK,cAAL,KAAwB,CAAC,CAAzB,IAA8B,IAAI,GAAG,KAAK,cAA9C,EAA8D;AAC5D,YAAM,IAAI,KAAJ,CAAU,+BACZ,IAAI,6BAA6B,KAAK,cAAc,GADlD,CAAN;AAED;;AACD,SAAK,OAAL,CAAa,MAAb,GAAsB,IAAtB;AACD;AAED;;;;;;;;AAMA,EAAA,OAAO,CAAC,YAAD,EAAuB,YAAvB,EAA+C,YAA/C,EAAqE;AAE1E,QAAI,YAAY,KAAK,KAAK,YAA1B,EAAwC;AACtC,YAAM,IAAI,KAAJ,CAAU,mCACZ,YAAY,uBAAuB,KAAK,YAAY,EADlD,CAAN;AAED;;AACD,QAAI,YAAY,GAAG,CAAf,IAAoB,YAAY,GAAG,KAAK,OAAL,CAAa,MAApD,EAA4D;AAC1D,YAAM,IAAI,KAAJ,CAAU,4BACZ,YAAY,mBAAmB,KAAK,OAAL,CAAa,MAAM,YADhD,CAAN;AAED;;AAED,QAAI,KAAK,OAAL,CAAa,YAAb,KAA8B,IAAlC,EAAwC;AACtC,YAAM,IAAI,KAAJ,CAAU,oBAAoB,YAAY,WAA1C,CAAN;AACD;;AAED,2DACI,KAAK,OAAL,CAAa,YAAb,EAA2B,KAD/B,EACsC,YADtC,EAEI,6BAFJ;AAGA,UAAM,kBAAkB,GACpB,qCAAkB,KAAK,YAAvB,EAAqC,KAAK,OAA1C,EAAmD,YAAnD,CADJ;AAEA,WAAO,uBAAQ,KAAK,OAAL,CAAa,YAAb,CAAR,EAAoC,kBAApC,CAAP;AACD;AAED;;;;;;;AAKA,EAAA,OAAO,CAAC,YAAD,EAAuB,MAAvB,EAAqC;AAC1C,QAAI,MAAM,CAAC,KAAP,KAAiB,KAAK,YAA1B,EAAwC;AACtC,YAAM,IAAI,KAAJ,CAAU,mCACZ,MAAM,CAAC,KAAK,uBAAuB,KAAK,YAAY,EADlD,CAAN;AAED;;AAED,QAAI,YAAY,GAAG,CAAf,IACA,KAAK,cAAL,KAAwB,CAAC,CAAzB,IAA8B,YAAY,IAAI,KAAK,cADvD,EACuE;AACrE,YAAM,IAAI,KAAJ,CAAU,yBACZ,YAAY,uBAAuB,KAAK,cAAc,YADpD,CAAN;AAED;;AAED,2DACI,KAAK,YADT,EACuB,MAAM,CAAC,KAD9B,EACqC,6BADrC;AAEA,wBAAK,MAAL;AACA,SAAK,OAAL,CAAa,YAAb,IAA6B,MAA7B;AACD;AAED;;;;;;;;;AAOA,EAAA,MAAM,CAAC,OAAD,EAAoB,YAApB,EAA4C,YAA5C,EAAkE;AAEtE,QAAI,YAAY,KAAK,KAAK,YAA1B,EAAwC;AACtC,YAAM,IAAI,KAAJ,CAAU,mCACZ,YAAY,uBAAuB,KAAK,YAAY,EADlD,CAAN;AAED;;AAED,2DACI,KAAK,YADT,EACuB,YADvB,EACqC,6BADrC,EAPsE,CAUtE;AACA;;AACA,IAAA,OAAO,GAAG,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,KAAK,IAAL,EAAjB,CAAV;AACA,UAAM,kBAAkB,GACpB,qCAAkB,KAAK,YAAvB,EAAqC,KAAK,OAA1C,EAAmD,YAAnD,CADJ;;AAEA,QAAI,OAAO,CAAC,MAAR,KAAmB,CAAvB,EAA0B;AACxB,aAAO,sBAAO,EAAP,EAAW,CAAC,CAAD,EAAI,MAAJ,CAAW,kBAAX,CAAX,CAAP;AACD;;AAED,WAAO,oBAAK,MAAK;AACf,YAAM,OAAO,GACT,OAAO,CAAC,GAAR,CAAY,CAAC,IAAI,uBAAQ,KAAK,OAAL,CAAa,CAAb,CAAR,EAAyB,kBAAzB,CAAjB,CADJ;AAEA,aAAO,qBAAM,OAAN,EAAe,CAAf,CAAP;AACD,KAJM,CAAP;AAKD;AAED;;;;;;;AAKA,EAAA,MAAM,CAAC,YAAD,EAAyB,YAAzB,EAA+C;AACnD,QAAI,CAAC,CAAC,YAAF,IAAkB,YAAY,KAAK,KAAK,YAA5C,EAA0D;AACxD,YAAM,IAAI,KAAJ,CAAU,uBACZ,KAAK,YAAY,+BAA+B,YAAY,EAD1D,CAAN;AAED;;AAED,2DACI,KAAK,YADT,EACuB,YADvB,EACqC,6BADrC;AAEA,UAAM,kBAAkB,GACpB,qCAAkB,KAAK,YAAvB,EAAqC,KAAK,OAA1C,EAAmD,YAAnD,CADJ;;AAGA,QAAI,KAAK,IAAL,OAAgB,CAApB,EAAuB;AACrB,aAAO,sBAAO,EAAP,EAAW,CAAC,CAAD,EAAI,MAAJ,CAAW,kBAAX,CAAX,CAAP;AACD;;AACD,WAAO,oBAAK,MAAK;AACf,YAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,CAAC,IAAI,uBAAQ,CAAR,EAAW,kBAAX,CAAtB,CAAhB;AACA,aAAO,sBAAO,OAAP,EAAgB,CAAhB,CAAP;AACD,KAHM,CAAP;AAID;;AArQoB;AAwQvB;;;;;;;;;AAKM,SAAU,UAAV,CACF,MADE,EACc,YADd,EACsC,YADtC,EAC4D;AAChE,QAAM,KAAK,GAAG,MAAM,CAAC,KAArB;;AACA,MAAI,MAAM,CAAC,KAAP,CAAa,MAAb,GAAsB,CAA1B,EAA6B;AAC3B,UAAM,IAAI,KAAJ,CACF,oDAAoD,MAAM,CAAC,KAAK,EAD9D,CAAN;AAED;;AACD,MAAI,MAAM,CAAC,KAAP,KAAiB,YAArB,EAAmC;AACjC,UAAM,IAAI,KAAJ,CAAU,mCACZ,MAAM,CAAC,KAAK,uBAAuB,YAAY,EAD7C,CAAN;AAED;;AACD,QAAM,kBAAkB,GAAG,MAAM,CAAC,KAAP,CAAa,KAAb,CAAmB,CAAnB,CAA3B;AACA,yDACI,kBADJ,EACwB,YADxB,EACsC,6BADtC;AAEA,QAAM,UAAU,GAAa,uBAAQ,MAAR,CAA7B;AACA,SAAO,IAAI,UAAJ,CAAe,UAAf,EAA2B,YAA3B,EAAyC,KAAzC,CAAP;AACD;AAED;;;;;;;;AAMM,SAAU,OAAV,CACF,YADE,EACsB,YADtB,EAC8C,WAD9C,EACiE;AACrE,SAAO,IAAI,UAAJ,CAAe,EAAf,EAAmB,YAAnB,EAAiC,YAAjC,EAA+C,WAA/C,CAAP;AACD;AAED;;;;;;;;;AAOM,SAAU,OAAV,CACF,MADE,EACc,OADd,EACiC,YADjC,EAEF,WAFE,EAEkB;AACtB,MAAI,OAAO,CAAC,MAAR,KAAmB,MAAM,CAAC,KAAP,CAAa,CAAb,CAAvB,EAAwC;AACtC,UAAM,IAAI,KAAJ,CAAU,sDACZ,OAAO,CAAC,MAAM,QAAQ,MAAM,CAAC,KAAP,CAAa,CAAb,CAAe,EADnC,CAAN;AAED;;AAED,QAAM,QAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,GAAG,OAAZ,CAAjB;;AAEA,MAAI,WAAW,IAAI,IAAf,IAAuB,WAAW,KAAK,CAAC,CAAxC,IAA6C,QAAQ,IAAI,WAA7D,EAA0E;AACxE,UAAM,IAAI,KAAJ,CACF,mCAAmC,QAAQ,SAAS,WAAW,GAD7D,CAAN;AAED;;AAED,QAAM,IAAI,GAAG,IAAI,UAAJ,CAAe,EAAf,EAAmB,YAAnB,EAAiC,MAAM,CAAC,KAAxC,EAA+C,WAA/C,CAAb;AACA,QAAM,OAAO,GAAG,uBAAQ,MAAR,EAAgB,CAAhB,CAAhB;AACA,EAAA,OAAO,CAAC,OAAR,CAAgB,CAAC,KAAD,EAAQ,KAAR,KAAiB;AAC/B,IAAA,IAAI,CAAC,OAAL,CAAa,KAAb,EAAoB,OAAO,CAAC,KAAD,CAA3B;AACD,GAFD;AAGA,SAAO,IAAP;AACD;AAED;;;;;;;;;AAOM,SAAU,KAAV,CACF,MADE,EACc,MADd,EACgC,YADhC,EACsD;AAC1D,MAAI,WAAW,GAAG,CAAlB;AACA,QAAM,iBAAiB,GAAG,MAAM,CAAC,GAAP,CAAW,GAAG,IAAG;AACzC,IAAA,WAAW,IAAI,GAAf;AACA,WAAO,WAAP;AACD,GAHyB,CAA1B;;AAKA,MAAI,WAAW,KAAK,MAAM,CAAC,KAAP,CAAa,CAAb,CAApB,EAAqC;AACnC,UAAM,IAAI,KAAJ,CAAU;;UAEV,WAAW,4BAA4B,MAAM,CAAC,KAAK,EAFnD,CAAN;AAGD;;AAED,QAAM,oBAAoB,GAAG,MAAM,CAAC,KAAP,CAAa,KAAb,CAAmB,CAAnB,CAA7B;AACA,QAAM,kBAAkB,GACpB,qCAAkB,oBAAlB,EAAwC,YAAxC,CADJ;AAEA,QAAM,aAAa,GAAG,WAAW,KAAK,CAAhB,GAAoB,CAApB,GAAwB,MAAM,CAAC,IAAP,GAAc,WAA5D;AACA,QAAM,OAAO,GAAa,oBAAK,MAAK;AAClC,UAAM,OAAO,GAAG,EAAhB;AACA,IAAA,MAAM,GAAG,uBAAQ,MAAR,EAAgB,CAAC,CAAD,EAAI,WAAJ,EAAiB,aAAjB,CAAhB,CAAT;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,EAAE,CAArC,EAAwC;AACtC,YAAM,cAAc,GAAI,CAAC,KAAK,CAAP,GAAY,CAAZ,GAAgB,iBAAiB,CAAC,CAAC,GAAG,CAAL,CAAxD;AACA,YAAM,OAAO,GAAG,CAAC,CAAD,EAAI,cAAJ,EAAoB,CAApB,CAAhB;AACA,YAAM,KAAK,GAAG,CAAC,CAAD,EAAI,MAAM,CAAC,CAAD,CAAV,EAAe,aAAf,CAAd;AACA,MAAA,OAAO,CAAC,CAAD,CAAP,GAAa,uBACT,qBAAM,MAAN,EAAc,OAAd,EAAuB,KAAvB,CADS,EACsB,kBADtB,CAAb;AAED;;AACD,IAAA,MAAM,CAAC,OAAP;AACA,WAAO,OAAP;AACD,GAZyB,CAA1B;AAcA,QAAM,IAAI,GAAG,IAAI,UAAJ,CAAe,EAAf,EAAmB,YAAnB,EAAiC,MAAM,CAAC,KAAxC,EAA+C,MAAM,CAAC,MAAtD,CAAb;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,CAAC,MAA5B,EAAoC,CAAC,EAArC,EAAyC;AACvC,IAAA,IAAI,CAAC,OAAL,CAAa,CAAb,EAAgB,OAAO,CAAC,CAAD,CAAvB;AACD;;AACD,SAAO,IAAP;AACD;;;;;;;;;ACxYD;;AAIA;;AACA;;AAGA;;AAzBA;;;;;;;;;;;;;;;;AA2BO,MAAM,SAAS,GAA4B,OAC9C,IAD8C,EAClC,SADkC,EAE9C,OAF8C,KAEE;AAClD,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,IAAL;AACA,SAAK,aAAL;AAAoB;AAClB,cAAM,QAAQ,GACV,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CADJ;AAEA,cAAM,QAAQ,GACV,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CADJ;AAEA,cAAM,IAAI,GAAG,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAAb;AACA,cAAM,IAAI,GAAG,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAAb;AACA,cAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAL,EAAxB;;AACA,YAAI,SAAS,CAAC,CAAD,CAAb,EAAkB;AAChB,iBAAO,OAAO,CAAC,WAAR,CAAoB,QAApB,EAA8B,oBAA9B,CACH,IADG,EACG,OAAO,CAAC,cADX,EAC2B,OAAO,CAAC,aADnC,CAAP;AAED,SAHD,MAGO;AACL,iBAAO,OAAO,CAAC,WAAR,CAAoB,QAApB,EAA8B,oBAA9B,CACH,IADG,EACG,OAAO,CAAC,cADX,EAC2B,OAAO,CAAC,aADnC,CAAP;AAED;AACF;;AACD,SAAK,OAAL;AACA,SAAK,gBAAL;AAAuB;AACrB,cAAM,QAAQ,GACV,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,QAAQ,GACV,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,IAAI,GAAG,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAAb,CALqB,CAOrB;;AACA,cAAM,UAAU,GACX,MAAM,OAAO,CAAC,WAAR,CAAoB,QAApB,EAA8B,oBAA9B,CACH,IADG,EACG,OAAO,CAAC,cADX,EAC2B,OAAO,CAAC,aADnC,CADX;AAGA,cAAM,MAAM,GAAG,IAAI,CAAC,GAAL,CAAS,MAAM,IAAI,MAAM,CAAC,EAA1B,CAAf;AACA,YAAI,SAAS,GAAG,MAAM,UAAU,CAAC,CAAD,CAAV,CAAc,IAAd,EAAtB,CAZqB,CAarB;;AACA,QAAA,UAAU,CAAC,OAAX,CAAmB,MAAM,IAAG;AAC1B,cAAI,CAAC,MAAM,CAAC,IAAR,IAAgB,MAAM,CAAC,OAAP,CAAe,MAAM,CAAC,EAAtB,MAA8B,CAAC,CAAnD,EAAsD;AACpD,YAAA,MAAM,CAAC,OAAP;AACD;AACF,SAJD;AAMA,YAAI,MAAM,GAAa,IAAvB;;AAEA,eAAO,SAAS,CAAC,CAAD,CAAhB,EAAqB;AACnB;AACA,gBAAM,UAAU,GAAG,MAAnB,CAFmB,CAGnB;;AACA,UAAA,MAAM,GAAG,MAAM,OAAO,CAAC,WAAR,CAAoB,QAApB,EAA8B,oBAA9B,CACX,MADW,EACH,OAAO,CAAC,cADL,EACqB,OAAO,CAAC,aAD7B,CAAf;AAEA,gBAAM,SAAS,GAAG,MAAM,CAAC,GAAP,CAAW,MAAM,IAAI,MAAM,CAAC,EAA5B,CAAlB,CANmB,CAQnB;AACA;;AACA,UAAA,UAAU,CAAC,OAAX,CAAmB,MAAM,IAAG;AAC1B,gBAAI,CAAC,MAAM,CAAC,IAAR,IAAgB,MAAM,CAAC,OAAP,CAAe,MAAM,CAAC,EAAtB,MAA8B,CAAC,CAA/C,IACA,SAAS,CAAC,OAAV,CAAkB,MAAM,CAAC,EAAzB,MAAiC,CAAC,CADtC,EACyC;AACvC,cAAA,MAAM,CAAC,OAAP;AACD;AACF,WALD,EAVmB,CAiBnB;;AACA,gBAAM,UAAU,GACX,MAAM,OAAO,CAAC,WAAR,CAAoB,QAApB,EAA8B,oBAA9B,CACH,MADG,EACK,OAAO,CAAC,cADb,EAC6B,OAAO,CAAC,aADrC,CADX;AAGA,UAAA,SAAS,GAAG,MAAM,UAAU,CAAC,CAAD,CAAV,CAAc,IAAd,EAAlB,CArBmB,CAsBnB;;AACA,UAAA,UAAU,CAAC,OAAX,CAAmB,MAAM,IAAG;AAC1B,gBAAI,CAAC,MAAM,CAAC,IAAR,IAAgB,MAAM,CAAC,OAAP,CAAe,MAAM,CAAC,EAAtB,MAA8B,CAAC,CAA/C,IACA,SAAS,CAAC,OAAV,CAAkB,MAAM,CAAC,EAAzB,MAAiC,CAAC,CADtC,EACyC;AACvC,cAAA,MAAM,CAAC,OAAP;AACD;AACF,WALD;AAMD;;AACD,eAAO,MAAP;AACD;;AACD,SAAK,UAAL;AAAiB;AACf,cAAM,IAAI,GAAG,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAAb;AACA,eAAO,CAAC,wBAAY,IAAZ,CAAD,CAAP;AACD;;AACD,SAAK,QAAL;AAAe;AACb,cAAM,IAAI,GAAG,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAAb;AACA,YAAI,IAAI,GAAG,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAAX;;AACA,YAAI,CAAC,IAAI,CAAC,IAAV,EAAgB;AACd,UAAA,IAAI,GAAG,wBAAY,IAAZ,CAAP;AACD,SALY,CAMb;;;AACA,eAAO,CAAC,MAAM,IAAI,CAAC,IAAL,EAAP,EAAoB,CAApB,IAAyB,CAAC,SAAD,EAAY,IAAZ,CAAzB,GAA6C,CAAC,IAAD,EAAO,SAAP,CAApD;AACD;;AACD,SAAK,OAAL;AAAc;AACZ,cAAM,SAAS,GAAG,IAAI,CAAC,UAAL,CAAgB,IAAhB,CACd,IAAI,IAAI,sBAAU,IAAV,EAAgB,SAAhB,EAA2B,OAA3B,MAAwC,SADlC,CAAlB;;AAEA,YAAI,SAAJ,EAAe;AACb,gBAAM,IAAI,GAAG,sBAAU,SAAV,EAAqB,SAArB,EAAgC,OAAhC,CAAb;AACA,iBAAO,CAAC,wBAAY,IAAZ,CAAD,CAAP;AACD;;AACD,eAAO,SAAP;AACD;;AACD,SAAK,OAAL;AAAc;AACZ,cAAM,OAAO,GACT,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADJ;AAEA,cAAM,IAAI,GAAG,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAAb;AACA,QAAA,OAAO,CAAC,UAAR,CAAmB,OAAnB;AACA,eAAO,CAAC,wBAAY,IAAZ,CAAD,CAAP;AACD;;AACD,SAAK,MAAL;AAAa;AACX,cAAM,IAAI,GAAG,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAAb;AACA,QAAA,OAAO,CAAC,SAAR;AACA,eAAO,CAAC,wBAAY,IAAZ,CAAD,CAAP;AACD;;AACD,SAAK,eAAL;AAAsB;AACpB,cAAM,IAAI,GAAG,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAAb;AACA,QAAA,OAAO,CAAC,aAAR;AACA,eAAO,CAAC,wBAAY,IAAZ,CAAD,CAAP;AACD;;AACD,SAAK,eAAL;AAAsB;AACpB,cAAM,IAAI,GAAG,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAAb;AACA,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,WAAW,GACb,0BAAc,aAAd,EAA6B,IAA7B,EAAmC,SAAnC,EAA8C,OAA9C,CADJ;AAEA,cAAM,cAAc,GAChB,0BAAc,gBAAd,EAAgC,IAAhC,EAAsC,SAAtC,EAAiD,OAAjD,CADJ;AAEA,cAAM,sBAAsB,GACxB,0BAAc,wBAAd,EAAwC,IAAxC,EAA8C,SAA9C,EAAyD,OAAzD,CADJ;AAGA,cAAM,IAAI,GAAG,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAAb;AACA,cAAM,WAAW,GAAG,IAAI,yBAAJ,CAChB,IADgB,EACV,KADU,EACH,IADG,EACG,YADH,EACiB,sBADjB,EACyC,WADzC,EAEhB,cAFgB,CAApB;AAGA,QAAA,OAAO,CAAC,cAAR,CAAuB,WAAvB;AACA,eAAO,CAAC,WAAW,CAAC,QAAb,EAAuB,sBAAO,GAAP,CAAvB,CAAP;AACD;;AACD,SAAK,oBAAL;AAA2B;AACzB,cAAM,EAAE,GACJ,0BAAc,eAAd,EAA+B,IAA/B,EAAqC,SAArC,EAAgD,OAAhD,CADJ;AAEA,cAAM,KAAK,GAAG,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAAd;AACA,cAAM,WAAW,GACb,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,gBAAgB,GAAG,OAAO,CAAC,cAAR,CAAuB,EAAE,CAAC,EAA1B,CAAzB;AACA,QAAA,gBAAgB,CAAC,KAAjB,CAAuB,KAAvB,EAA8B,WAA9B;AACA,eAAO,CAAC,gBAAgB,CAAC,QAAlB,CAAP;AACD;;AACD,SAAK,mBAAL;AAA0B;AACxB,cAAM,MAAM,GACR,0BAAc,eAAd,EAA+B,IAA/B,EAAqC,SAArC,EAAgD,OAAhD,CADJ;AAEA,cAAM,SAAS,GACX,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,eAAe,GAAG,OAAO,CAAC,cAAR,CAAuB,MAAM,CAAC,EAA9B,CAAxB;AACA,eAAO,CAAC,eAAe,CAAC,IAAhB,CAAqB,SAArB,CAAD,CAAP;AACD;;AACD,SAAK,qBAAL;AAA4B;AAC1B,cAAM,QAAQ,GACV,0BAAc,eAAd,EAA+B,IAA/B,EAAqC,SAArC,EAAgD,OAAhD,CADJ;AAEA,cAAM,aAAa,GACf,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,WAAW,GACb,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,iBAAiB,GAAG,OAAO,CAAC,cAAR,CAAuB,QAAQ,CAAC,EAAhC,CAA1B;AACA,eAAO,CAAC,iBAAiB,CAAC,MAAlB,CAAyB,aAAzB,EAAwC,WAAxC,CAAD,CAAP;AACD;;AACD,SAAK,sBAAL;AAA6B;AAC3B,cAAM,SAAS,GACX,0BAAc,eAAd,EAA+B,IAA/B,EAAqC,SAArC,EAAgD,OAAhD,CADJ;AAEA,cAAM,cAAc,GAChB,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,aAAa,GACf,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,kBAAkB,GAAG,OAAO,CAAC,cAAR,CAAuB,SAAS,CAAC,EAAjC,CAA3B;AACA,QAAA,kBAAkB,CAAC,OAAnB,CAA2B,cAA3B,EAA2C,aAA3C;AACA,eAAO,CAAC,kBAAkB,CAAC,QAApB,CAAP;AACD;;AACD,SAAK,qBAAL;AAA4B;AAC1B,cAAM,QAAQ,GACV,0BAAc,eAAd,EAA+B,IAA/B,EAAqC,SAArC,EAAgD,OAAhD,CADJ;AAEA,cAAM,iBAAiB,GAAG,OAAO,CAAC,cAAR,CAAuB,QAAQ,CAAC,EAAhC,CAA1B;AACA,cAAM,WAAW,GACb,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,eAAO,CAAC,iBAAiB,CAAC,MAAlB,CAAyB,WAAzB,CAAD,CAAP;AACD;;AACD,SAAK,oBAAL;AAA2B;AACzB,cAAM,OAAO,GACT,0BAAc,eAAd,EAA+B,IAA/B,EAAqC,SAArC,EAAgD,OAAhD,CADJ;AAEA,cAAM,WAAW,GACb,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,gBAAgB,GAAG,OAAO,CAAC,cAAR,CAAuB,OAAO,CAAC,EAA/B,CAAzB;AACA,QAAA,gBAAgB,CAAC,KAAjB,CAAuB,OAAvB,EAAgC,WAAhC;AACA,eAAO,CAAC,gBAAgB,CAAC,QAAlB,CAAP;AACD;;AACD,SAAK,mBAAL;AAA0B;AACxB,cAAM,MAAM,GACR,0BAAc,eAAd,EAA+B,IAA/B,EAAqC,SAArC,EAAgD,OAAhD,CADJ;AAEA,cAAM,eAAe,GAAG,OAAO,CAAC,cAAR,CAAuB,MAAM,CAAC,EAA9B,CAAxB;AACA,eAAO,CAAC,sBAAO,eAAe,CAAC,IAAhB,EAAP,EAA+B,OAA/B,CAAD,CAAP;AACD;;AACD,SAAK,oBAAL;AAA2B;AACzB,cAAM,OAAO,GACT,0BAAc,eAAd,EAA+B,IAA/B,EAAqC,SAArC,EAAgD,OAAhD,CADJ;AAEA,cAAM,gBAAgB,GAAG,OAAO,CAAC,cAAR,CAAuB,OAAO,CAAC,EAA/B,CAAzB;AACA,QAAA,gBAAgB,CAAC,aAAjB;AACA,eAAO,CAAC,gBAAgB,CAAC,QAAlB,CAAP;AACD;;AACD,SAAK,mBAAL;AAA0B;AACxB,cAAM,QAAQ,GACV,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,KAAK,GAAG,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAAd;AACA,cAAM,WAAW,GACb,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,UAAU,GAAG,OAAO,CAAC,aAAR,CAAsB,QAAQ,CAAC,EAA/B,CAAnB;AACA,QAAA,UAAU,CAAC,OAAX,CAAmB,KAAnB,EAA0B,WAA1B;AACA,eAAO,CAAC,UAAU,CAAC,QAAZ,CAAP;AACD;;AACD,SAAK,mBAAL;AAA0B;AACxB,cAAM,QAAQ,GACV,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,SAAS,GACX,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAGA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,UAAU,GAAG,OAAO,CAAC,aAAR,CAAsB,QAAQ,CAAC,EAA/B,CAAnB;AACA,eAAO,CAAC,UAAU,CAAC,OAAX,CAAmB,SAAnB,EAA8B,YAA9B,EAA4C,YAA5C,CAAD,CAAP;AACD;;AACD,SAAK,qBAAL;AACA,SAAK,mBAAL;AAA0B;AACxB,cAAM,cAAc,GAChB,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,aAAa,GACf,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,WAAW,GACb,0BAAc,aAAd,EAA6B,IAA7B,EAAmC,SAAnC,EAA8C,OAA9C,CADJ;AAEA,cAAM,UAAU,GACZ,0BAAQ,aAAR,EAAuB,cAAvB,EAAuC,YAAvC,EAAqD,WAArD,CADJ;AAEA,QAAA,OAAO,CAAC,aAAR,CAAsB,UAAtB;AACA,eAAO,CAAC,UAAU,CAAC,QAAZ,CAAP;AACD;;AACD,SAAK,mBAAL;AACA,SAAK,iBAAL;AAAwB;AACtB,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,YAAI,gBAAJ;;AAEA,YAAI,IAAI,CAAC,EAAL,KAAY,mBAAhB,EAAqC;AACnC,UAAA,gBAAgB,GAAG,aAAnB;AACD,SAFD,MAEO;AACL,UAAA,gBAAgB,GAAG,gBAAnB;AACD;;AAED,cAAM,WAAW,GACb,0BAAc,gBAAd,EAAgC,IAAhC,EAAsC,SAAtC,EAAiD,OAAjD,CADJ;AAGA,cAAM,UAAU,GAAG,0BAAQ,YAAR,EAAsB,YAAtB,EAAoC,WAApC,CAAnB;AACA,QAAA,OAAO,CAAC,aAAR,CAAsB,UAAtB;AACA,eAAO,CAAC,UAAU,CAAC,QAAZ,CAAP;AACD;;AACD,SAAK,kBAAL;AAAyB;AACvB,cAAM,QAAQ,GACV,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,aAAa,GACf,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,UAAU,GAAG,OAAO,CAAC,aAAR,CAAsB,QAAQ,CAAC,EAA/B,CAAnB;AACA,eAAO,CAAC,UAAU,CAAC,MAAX,CAAkB,aAAlB,EAAiC,YAAjC,EAA+C,YAA/C,CAAD,CAAP;AACD;;AACD,SAAK,iBAAL;AAAwB;AACtB,cAAM,QAAQ,GACV,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,WAAW,GACb,0BAAc,aAAd,EAA6B,IAA7B,EAAmC,SAAnC,EAA8C,OAA9C,CADJ;AAEA,cAAM,UAAU,GAAG,OAAO,CAAC,aAAR,CAAsB,QAAQ,CAAC,EAA/B,CAAnB;AACA,eAAO,CAAC,UAAU,CAAC,KAAX,CAAiB,YAAjB,EAA+B,YAA/B,EAA6C,WAA7C,CAAD,CAAP;AACD;;AACD,SAAK,sBAAL;AAA6B;AAC3B,cAAM,MAAM,GACR,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,UAAU,GAAG,6BAAW,MAAX,EAAmB,YAAnB,EAAiC,YAAjC,CAAnB;AACA,QAAA,OAAO,CAAC,aAAR,CAAsB,UAAtB;AACA,eAAO,CAAC,UAAU,CAAC,QAAZ,CAAP;AACD;;AACD,SAAK,kBAAL;AAAyB;AACvB,cAAM,QAAQ,GACV,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,UAAU,GAAG,OAAO,CAAC,aAAR,CAAsB,QAAQ,CAAC,EAA/B,CAAnB;AACA,cAAM,WAAW,GACb,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,eAAO,CAAC,UAAU,CAAC,MAAX,CAAkB,WAAlB,EAA+B,YAA/B,CAAD,CAAP;AACD;;AACD,SAAK,oBAAL;AAA2B;AACzB,cAAM,QAAQ,GACV,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,WAAW,GACb,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,UAAU,GAAG,OAAO,CAAC,aAAR,CAAsB,QAAQ,CAAC,EAA/B,CAAnB;AACA,QAAA,UAAU,CAAC,QAAX,CAAoB,WAApB;AACA,eAAO,CAAC,UAAU,CAAC,QAAZ,CAAP;AACD;;AACD,SAAK,mBAAL;AAA0B;AACxB,cAAM,QAAQ,GACV,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,UAAU,GAAG,OAAO,CAAC,aAAR,CAAsB,QAAQ,CAAC,EAA/B,CAAnB;AACA,eAAO,CAAC,UAAU,CAAC,OAAX,CAAmB,YAAnB,EAAiC,YAAjC,CAAD,CAAP;AACD;;AACD,SAAK,iBAAL;AAAwB;AACtB,cAAM,WAAW,GACb,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAGA,cAAM,UAAU,GAAG,wBAAM,WAAN,EAAmB,OAAnB,EAA4B,YAA5B,CAAnB;AACA,QAAA,OAAO,CAAC,aAAR,CAAsB,UAAtB;AACA,eAAO,CAAC,UAAU,CAAC,QAAZ,CAAP;AACD;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AAnVJ;AAqVD,CAxVM;;;AA0VA,MAAM,QAAQ,GAAG,SAAjB;;;;;;;;;;AClWP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASA,SAAS,2BAAT,CACI,IADJ,EACgB,SADhB,EAC4C,OAD5C,EACqE;AACnE,QAAM,CAAC,OAAD,EAAU,cAAV,IACD,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADL;AAGA,QAAM,SAAS,GAAG,OAAO,KAAK,SAA9B;AACA,QAAM,SAAS,GAAG,CAAC,SAAnB;AACA,QAAM,OAAO,GAAG,cAAc,KAAK,OAAnC;AACA,QAAM,WAAW,GAAG,OAAO,KAAK,gBAAhC;AAEA,QAAM,OAAO,GACR,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADL;;AAEA,MAAI,SAAJ,EAAe;AACb,QAAI,OAAO,IAAI,OAAO,KAAK,CAA3B,EAA8B;AAC5B,YAAM,IAAI,KAAJ,CACF,4DACA,gDAFE,CAAN;AAGD;;AACD,QAAI,CAAC,OAAD,IAAY,SAAZ,IAAyB,OAAO,KAAK,CAAzC,EAA4C;AAC1C,YAAM,IAAI,KAAJ,CACF,4DACA,2BAFE,CAAN;AAGD;AACF;;AACD,MAAI,WAAJ,EAAiB;AACf,UAAM,IAAI,KAAJ,CACF,sEADE,CAAN;AAED;;AACD,QAAM,MAAM,GAAG,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CAAf;AACA,QAAM,GAAG,GAAG,uBAAW,IAAX,EAAiB,SAAjB,EAA4B,OAA5B,CAAZ;AACA,QAAM,UAAU,GACX,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,EACI,WADJ,EADL;AAGA,QAAM,SAAS,GACX,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADJ;AAEA,MAAI,CAAC,OAAD,EAAU,QAAV,IACA,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;;AAEA,MAAI,SAAJ,EAAe;AACb,IAAA,QAAQ,GAAG,OAAX;AACA,IAAA,OAAO,GAAG,SAAV;AACD;;AACD,QAAM,cAAc,GAChB,0BAAc,gBAAd,EAAgC,IAAhC,EAAsC,SAAtC,EAAiD,OAAjD,CADJ;AAGA,SAAO;AACL,IAAA,MADK;AAEL,IAAA,GAFK;AAGL,IAAA,UAHK;AAIL,IAAA,SAJK;AAKL,IAAA,OALK;AAML,IAAA,QANK;AAOL,IAAA,cAPK;AAQL,IAAA;AARK,GAAP;AAUD;;AAEM,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,QAAL;AAAe;AACb,cAAM,MAAM,GACR,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,GAAG,GAAG,0BAAc,KAAd,EAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CAAZ;AACA,cAAM,UAAU,GACX,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,EACI,WADJ,EADL;AAGA,cAAM,QAAQ,GACV,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,MAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAFI,EAGJ,MAHI,EAGI,GAHJ,EAG6B,UAH7B,EAIJ,QAJI,CAAD,CAAP;AAKD;;AACD,SAAK,QAAL;AAAe;AACb,cAAM,MAAM,GACR,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,GAAG,GAAG,uBAAW,IAAX,EAAiB,SAAjB,EAA4B,OAA5B,CAAZ;AACA,cAAM,UAAU,GACX,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,EACI,WADJ,EADL;AAGA,cAAM,SAAS,GACX,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,MAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAGJ,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAHI,EAIJ,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,MAAM,CAAC,CAAD,CAAlB,CAJI,EAIoB,GAJpB,EAKJ,UALI,EAK2B,CAAC,SAAS,CAAC,CAAD,CAAV,EAAe,SAAS,CAAC,CAAD,CAAxB,CAL3B,CAAD,CAAP;AAMD;;AACD,SAAK,cAAL;AAAqB;AACnB,cAAM;AACJ,UAAA,MADI;AAEJ,UAAA,GAFI;AAGJ,UAAA,UAHI;AAIJ,UAAA,SAJI;AAKJ,UAAA,OALI;AAMJ,UAAA,QANI;AAOJ,UAAA,cAPI;AAQJ,UAAA;AARI,YASF,2BAA2B,CAAC,IAAD,EAAO,SAAP,EAAkB,OAAlB,CAT/B;AAWA,eAAO,CAAC,KAAK,CAAC,KAAN,CAAY,MAAZ,CAAmB;AACzB,UAAA,CAAC,EAAE,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADsB;AAGzB,UAAA,MAAM,EAAE,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAHiB;AAKzB,UAAA,OAAO,EAAE,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,MAAM,CAAC,CAAD,CAAlB,CALgB;AAMzB,UAAA,GAAG,EAAE,GANoB;AAOzB,UAAA,UAAU,EAAE,UAPa;AAQzB,UAAA,SAAS,EAAE,CAAC,SAAS,CAAC,CAAD,CAAV,EAAe,SAAS,CAAC,CAAD,CAAxB,CARc;AASzB,UAAA,IAAI,EAAE,OATmB;AAUzB,UAAA,UAAU,EAAE,cAVa;AAWzB,UAAA,sBAAsB,EAAE,QAXC;AAYzB,UAAA;AAZyB,SAAnB,CAAD,CAAP;AAcD;;AAED,SAAK,4BAAL;AAAmC;AACjC,cAAM;AACJ,UAAA,MADI;AAEJ,UAAA,GAFI;AAGJ,UAAA,UAHI;AAIJ,UAAA,SAJI;AAKJ,UAAA,OALI;AAMJ,UAAA,QANI;AAOJ,UAAA,cAPI;AAQJ,UAAA;AARI,YASF,2BAA2B,CAAC,IAAD,EAAO,SAAP,EAAkB,OAAlB,CAT/B;AAWA,eAAO,CAAC,KAAK,CAAC,KAAN,CAAY,eAAZ,CAA4B;AAClC,UAAA,CAAC,EAAE,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAD+B;AAGlC,UAAA,MAAM,EAAE,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAH0B;AAKlC,UAAA,OAAO,EAAE,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,MAAM,CAAC,CAAD,CAAlB,CALyB;AAMlC,UAAA,GAAG,EAAE,GAN6B;AAOlC,UAAA,UAAU,EAAE,UAPsB;AAQlC,UAAA,SAAS,EAAE,CAAC,SAAS,CAAC,CAAD,CAAV,EAAe,SAAS,CAAC,CAAD,CAAxB,CARuB;AASlC,UAAA,IAAI,EAAE,OAT4B;AAUlC,UAAA,UAAU,EAAE,cAVsB;AAWlC,UAAA,sBAAsB,EAAE,QAXU;AAYlC,UAAA;AAZkC,SAA5B,CAAD,CAAP;AAcD;;AACD,SAAK,qBAAL;AACA,SAAK,iBAAL;AAAwB;AACtB,cAAM,KAAK,GAAG,0BACI,aADJ,EACmB,IADnB,EACyB,SADzB,EAEI,OAFJ,CAAd;AAIA,cAAM,MAAM,GACR,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,GAAG,GAAG,uBAAW,IAAX,EAAiB,SAAjB,EAA4B,OAA5B,CAAZ;AACA,eAAO,CAAC,KAAK,CAAC,eAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAGJ,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAHI,EAIJ,KAJI,EAIG,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,MAAM,CAAC,CAAD,CAAlB,CAJH,EAI2B,GAJ3B,CAAD,CAAP;AAKD;;AACD,SAAK,uBAAL;AACA,SAAK,iBAAL;AAAwB;AACtB,cAAM,MAAM,GACR,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,GAAG,GAAG,uBAAW,IAAX,EAAiB,SAAjB,EAA4B,OAA5B,CAAZ;AACA,cAAM,SAAS,GACX,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADJ;AAEA,cAAM,UAAU,GACX,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,EACI,WADJ,EADL;AAIA,eAAO,CAAC,KAAK,CAAC,eAAN,CACJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADI,EAGJ,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAHI,EAIJ,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,MAAM,CAAC,CAAD,CAAlB,CAJI,EAIoB,GAJpB,EAKJ,UALI,EAK2B,CAAC,SAAS,CAAC,CAAD,CAAV,EAAe,SAAS,CAAC,CAAD,CAAxB,CAL3B,CAAD,CAAP;AAMD;;AACD,SAAK,QAAL;AAAe;AACb,cAAM,MAAM,GACR,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,GAAG,GAAG,0BAAc,KAAd,EAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CAAZ;AACA,cAAM,UAAU,GACX,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,EACI,WADJ,EADL;AAGA,cAAM,SAAS,GACX,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,MAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAGJ,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAHI,EAKJ,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,MAAM,CAAC,CAAD,CAAlB,EAAuB,MAAM,CAAC,CAAD,CAA7B,CALI,EAK+B,GAL/B,EAMJ,UANI,EAOJ,CAAC,SAAS,CAAC,CAAD,CAAV,EAAe,SAAS,CAAC,CAAD,CAAxB,EAA6B,SAAS,CAAC,CAAD,CAAtC,CAPI,CAAD,CAAP;AAQD;;AACD,SAAK,SAAL;AAAgB;AACd,cAAM,MAAM,GACR,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,GAAG,GAAG,0BAAc,KAAd,EAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CAAZ;AACA,cAAM,UAAU,GACZ,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CADJ;AAGA,eAAO,CAAC,KAAK,CAAC,OAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAGJ,CAAC,UAAU,CAAC,CAAD,CAAX,EAAgB,UAAU,CAAC,CAAD,CAA1B,CAHI,EAG4B,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,MAAM,CAAC,CAAD,CAAlB,CAH5B,EAIJ,GAJI,CAAD,CAAP;AAKD;;AACD,SAAK,SAAL;AAAgB;AACd,cAAM,MAAM,GACR,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,GAAG,GAAG,0BAAc,KAAd,EAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CAAZ;AACA,cAAM,UAAU,GACZ,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CADJ;AAGA,eAAO,CAAC,KAAK,CAAC,OAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAGJ,CAAC,UAAU,CAAC,CAAD,CAAX,EAAgB,UAAU,CAAC,CAAD,CAA1B,CAHI,EAG4B,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,MAAM,CAAC,CAAD,CAAlB,CAH5B,EAIJ,GAJI,CAAD,CAAP;AAKD;;AACD,SAAK,mBAAL;AAA0B;AACxB,cAAM,MAAM,GACR,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,GAAG,GAAG,0BAAc,KAAd,EAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CAAZ;AACA,cAAM,UAAU,GACZ,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CADJ;AAEA,cAAM,mBAAmB,GACrB,0BAAc,qBAAd,EAAqC,IAArC,EAA2C,SAA3C,EAAsD,OAAtD,CADJ;AAGA,cAAM;AAAC,UAAA,MAAD;AAAS,UAAA;AAAT,YAAoB,KAAK,CAAC,iBAAN,CACtB,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADsB,EAEtB,CAAC,UAAU,CAAC,CAAD,CAAX,EAAgB,UAAU,CAAC,CAAD,CAA1B,CAFsB,EAEU,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,MAAM,CAAC,CAAD,CAAlB,CAFV,EAGtB,GAHsB,EAGG,mBAHH,CAA1B;AAIA,eAAO,CAAC,MAAD,EAAS,OAAT,CAAP;AACD;;AACD,SAAK,WAAL;AAAkB;AAChB,cAAM,MAAM,GACR,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,GAAG,GAAG,0BAAc,KAAd,EAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CAAZ;AACA,cAAM,UAAU,GACZ,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CADJ;AAGA,eAAO,CAAC,KAAK,CAAC,SAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,CAAC,UAAU,CAAC,CAAD,CAAX,EAAgB,UAAU,CAAC,CAAD,CAA1B,EAA+B,UAAU,CAAC,CAAD,CAAzC,CAFI,EAGJ,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,MAAM,CAAC,CAAD,CAAlB,EAAuB,MAAM,CAAC,CAAD,CAA7B,CAHI,EAG+B,GAH/B,CAAD,CAAP;AAID;;AAED,SAAK,WAAL;AAAkB;AAChB,cAAM,MAAM,GACR,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,GAAG,GAAG,0BAAc,KAAd,EAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CAAZ;AACA,cAAM,UAAU,GACZ,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CADJ;AAGA,eAAO,CAAC,KAAK,CAAC,SAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,CAAC,UAAU,CAAC,CAAD,CAAX,EAAgB,UAAU,CAAC,CAAD,CAA1B,EAA+B,UAAU,CAAC,CAAD,CAAzC,CAFI,EAGJ,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,MAAM,CAAC,CAAD,CAAlB,EAAuB,MAAM,CAAC,CAAD,CAA7B,CAHI,EAG+B,GAH/B,CAAD,CAAP;AAID;;AAED,SAAK,YAAL;AAAmB;AACjB,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,GAAG,GAAG,0BAAc,KAAd,EAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CAAZ;AACA,cAAM,SAAS,GACX,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADJ,CAJiB,CAOjB;;AACA,cAAM,YAAY,GAAG,OAAO,CAAC,CAAD,CAA5B;AACA,cAAM,WAAW,GAAG,OAAO,CAAC,CAAD,CAA3B,CATiB,CAWjB;;AACA,cAAM,cAAc,GAAG,SAAS,CAAC,CAAD,CAAhC;AACA,cAAM,aAAa,GAAG,SAAS,CAAC,CAAD,CAA/B;AAEA,eAAO,CAAC,KAAK,CAAC,UAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAGJ,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAHI,EAIJ,CAAC,YAAD,EAAe,WAAf,CAJI,EAIyB,GAJzB,EAKJ,CAAC,cAAD,EAAiB,aAAjB,CALI,EAK6B;AAAO;AALpC,SAAD,CAAP;AAMD;;AAED;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AArOJ;AAuOD,CA1OE;;;AA4OA,MAAM,QAAQ,GAAG,aAAjB;;;;;;;;;;AC5SP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,MAAL;AAAa;AACX,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,IAAN,CAAW,KAAX,EAAkB,KAAlB,EAAyB,KAAzB,CAAD,CAAP;AACD;;AACD,SAAK,UAAL;AAAiB;AACf,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,GAAG,GAAG,0BAAc,KAAd,EAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CAAZ;AACA,eAAO,CAAC,KAAK,CAAC,QAAN,CAAe,KAAf,EAAsB,IAAtB,EAA4B,GAA5B,CAAD,CAAP;AACD;;AACD,SAAK,aAAL;AAAoB;AAClB,cAAM,MAAM,GACR,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,UAAU,GACZ,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CADJ;AAEA,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,WAAN,CAAkB,MAAlB,EAA0B,UAA1B,EAAsC,IAAtC,CAAD,CAAP;AACD;;AACD,SAAK,QAAL;AAAe;AACb,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,QAAQ,GACV,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,MAAN,CAAa,OAAb,EAAsB,KAAtB,EAA6B,OAA7B,EAAsC,QAAtC,CAAD,CAAP;AACD;;AACD,SAAK,MAAL;AAAa;AACX,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADI,EAEJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,UAAL;AAAiB;AACf,eAAO,CAAC,KAAK,CAAC,QAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,eAAL;AAAsB;AACpB,eAAO,CAAC,KAAK,CAAC,aAAN,EACJ;AACA,kCAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAFI,EAGJ,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAHI,EAIJ,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAJI,EAKJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CALI,CAAD,CAAP;AAMD;;AACD,SAAK,OAAL;AAAc;AACZ,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,KAAN,CACJ,KADI,EACG,IADH,EACS,IADT,EAEJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAFI,CAAD,CAAP;AAID;;AACD,SAAK,iBAAL;AAAwB;AACtB,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,MAAM,GACR,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,eAAN,CACJ,KADI,EACG,IADH,EACS,MADT,EAEJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAFI,EAIJ,IAJI,CAAD,CAAP;AAKD;;AACD,SAAK,OAAL;AAAc;AACZ,eAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADI,EAEJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,WAAL;AAAkB;AAChB,eAAO,CAAC,KAAK,CAAC,SAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AA5FJ;AA8FD,CAjGE;;;AAmGA,MAAM,QAAQ,GAAG,UAAjB;;;;;;;;;;AC3GP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASA,SAAS,SAAT,CACI,IADJ,EACgB,SADhB,EAC4C,OAD5C,EACqE;AACnE,QAAM,KAAK,GAAG,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAAd;AACA,QAAM,MAAM,GAAG,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAAf;AACA,QAAM,aAAa,GACf,0BAAc,eAAd,EAA+B,IAA/B,EAAqC,SAArC,EAAgD,OAAhD,CADJ;AAEA,QAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,QAAM,cAAc,GAChB,0BAAc,gBAAd,EAAgC,IAAhC,EAAsC,SAAtC,EAAiD,OAAjD,CADJ;AAEA,QAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAGA,SAAO;AACL,IAAA,KADK;AAEL,IAAA,MAFK;AAGL,IAAA,aAHK;AAIL,IAAA,YAJK;AAKL,IAAA,cALK;AAML,IAAA;AANK,GAAP;AAQD;;AAEM,MAAM,SAAS,GAA4B,OAC9C,IAD8C,EAClC,SADkC,EAE9C,OAF8C,KAEE;AAClD,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,qBAAL;AAA4B;AAC1B,cAAM;AACJ,UAAA,KADI;AAEJ,UAAA,MAFI;AAGJ,UAAA,aAHI;AAIJ,UAAA,YAJI;AAKJ,UAAA,cALI;AAMJ,UAAA;AANI,YAOF,SAAS,CAAC,IAAD,EAAO,SAAP,EAAkB,OAAlB,CAPb;AASA,cAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAN,CAAY,+BAAZ,CACjB,KADiB,EACE,MADF,EACsB,aADtB,EACqC,YADrC,EAEjB,cAFiB,EAED,YAFC,CAArB;AAIA,eAAO,CAAC,MAAM,CAAC,eAAR,EAAyB,MAAM,CAAC,cAAhC,CAAP;AACD;;AACD,SAAK,qBAAL;AAA4B;AAC1B,cAAM;AAAC,UAAA,KAAD;AAAQ,UAAA,MAAR;AAAgB,UAAA,aAAhB;AAA+B,UAAA,YAA/B;AAA6C,UAAA;AAA7C,YACF,SAAS,CAAC,IAAD,EAAO,SAAP,EAAkB,OAAlB,CADb;AAGA,cAAM,kBAAkB,GACpB,0BAAc,oBAAd,EAAoC,IAApC,EAA0C,SAA1C,EAAqD,OAArD,CADJ;AAIA,cAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAN,CAAY,4BAAZ,CACjB,KADiB,EACE,MADF,EACsB,aADtB,EACqC,YADrC,EAEjB,cAFiB,EAED,kBAFC,CAArB;AAIA,eAAO,CAAC,MAAM,CAAC,eAAR,EAAyB,MAAM,CAAC,YAAhC,CAAP;AACD;;AACD,SAAK,qBAAL;AACA,SAAK,qBAAL;AAA4B;AAC1B,cAAM;AAAC,UAAA,KAAD;AAAQ,UAAA,MAAR;AAAgB,UAAA,aAAhB;AAA+B,UAAA,YAA/B;AAA6C,UAAA;AAA7C,YACF,SAAS,CAAC,IAAD,EAAO,SAAP,EAAkB,OAAlB,CADb;AAGA,eAAO,CAAC,MAAM,KAAK,CAAC,KAAN,CAAY,sBAAZ,CACV,KADU,EACS,MADT,EAC6B,aAD7B,EAC4C,YAD5C,EAEV,cAFU,CAAP,CAAP;AAGD;;AACD,SAAK,OAAL;AAAc;AACZ,cAAM,SAAS,GAAG,KAAK,CAAC,IAAN,CACb,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADa,EAEd,MAFc,CAAlB;AAGA,cAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,UAAN,CAAiB,SAAjB,CAAP,CAAf;AACA,QAAA,SAAS,CAAC,OAAV;AACA,eAAO,MAAP;AACD;;AACD,SAAK,UAAL;AAAiB;AACf,eAAO,KAAK,CAAC,cAAN,CACH,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADG,EAEH,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFG,CAAP;AAGD;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AAtDJ;AAwDD,CA3DM;;;AA6DA,MAAM,QAAQ,GAAG,SAAjB;;;;;;;;;;AC5FP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EAAyC,OAAzC,KACe;AACT,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,QAAL;AAAe;AACb,cAAM,CAAC,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAV;AACA,cAAM,CAAC,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAV;AACA,cAAM,MAAM,GACR,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,MAAM,GAAG,KAAK,CAAC,IAAN,CAAW,CAAX,EAAc,CAAd,EAAiB,MAAjB,CAAf;AACA,eAAO,CAAC,MAAM,CAAC,MAAR,EAAgB,MAAM,CAAC,OAAvB,CAAP;AACD;;AACD,SAAK,QAAL;AAAe;AACb,cAAM,CAAC,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAV;AACA,cAAM,MAAM,GAAG,KAAK,CAAC,MAAN,CAAa,CAAb,CAAf;AACA,eAAO,CAAC,MAAM,CAAC,MAAR,EAAgB,MAAM,CAAC,OAAvB,CAAP;AACD;;AACD,SAAK,UAAL;AAAiB;AACf,cAAM,CAAC,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAV;AACA,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,MAAM,GAAG,KAAK,CAAC,MAAN,CAAa,CAAb,EAAgB,IAAhB,CAAf;AACA,eAAO,CAAC,MAAM,CAAC,MAAR,EAAgB,MAAM,CAAC,OAAvB,CAAP;AACD;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AAtBJ;AAwBD,CA3BF;;;AA6BA,MAAM,QAAQ,GAAG,YAAjB;;;;;;;;;;ACrCP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,OAAL;AAAc;AACZ,eAAO,SAAS,CAAC,IAAI,CAAC,IAAN,CAAhB;AACD;;AACD,SAAK,wBAAL;AACE,YAAM,GAAG,GACL,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,aAAO,CAAC,sBAAU,IAAI,CAAC,IAAf,EAAqB,SAArB,EAAgC,OAAhC,KAA4C,GAA7C,CAAP;;AACF,SAAK,aAAL;AACE,aAAO,CAAC,sBAAU,IAAI,CAAC,IAAf,EAAqB,SAArB,EAAgC,OAAhC,CAAD,CAAP;;AACF,SAAK,UAAL;AACA,SAAK,cAAL;AACA,SAAK,yBAAL;AAAgC;AAAG;AACjC,cAAM,IAAI,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAb;AACA,eAAO,CAAC,wBAAY,IAAZ,CAAD,CAAP;AACD;;AACD,SAAK,WAAL;AACE,aAAQ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,EACH,GADG,CACE,CAAD,IAAe,wBAAY,CAAZ,CADhB,CAAR;;AAEF,SAAK,UAAL;AACE,YAAM,QAAQ,GACT,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADL;AAEA,aAAO,CAAC,wBAAY,QAAZ,CAAD,CAAP;;AACF,SAAK,OAAL;AACE,aAAO,CAAC,KAAK,CAAC,QAAN,CACH,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,EAAwD,KADrD,EAEJ,OAFI,CAAD,CAAP;;AAGF,SAAK,QAAL;AACE,aAAQ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,EACH,GADG,CACE,CAAD,IAAe,KAAK,CAAC,QAAN,CAAe,CAAC,CAAC,KAAjB,CADhB,CAAR;;AAEF,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,MAAN,CACH,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,EAAwD,IADrD,EAEJ,OAFI,CAAD,CAAP;;AAGF,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,MAAN,CACH,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,EAAwD,IADrD,EAEJ,OAFI,CAAD,CAAP;;AAGF,SAAK,MAAL;AACE,aAAO,CAAC,KAAK,CAAC,MAAN,CAAa,CAAb,CAAD,CAAP;;AACF,SAAK,OAAL;AACE,YAAM,KAAK,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAd;AACA,YAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,YAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,YAAM,SAAS,GACX,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADJ;AAEA,MAAA,OAAO,CAAC,IAAR,CACI,0CACA,2DAFJ;AAGA,MAAA,OAAO,CAAC,GAAR,CAAY,OAAZ;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAAI,CAAC,MAAzB,EAAiC,CAAC,EAAlC,EAAsC;AACpC,QAAA,OAAO,CAAC,GAAR,CAAY,KAAK,CAAC,SAAN,CAAgB,KAAhB,CAAsB,IAAtB,CAA2B,IAAI,CAAC,CAAD,CAAJ,CAAQ,QAAR,EAA3B,EACK,KADL,CACW,CADX,EACc,SADd,CAAZ;AAED;;AACD,aAAO,CAAC,KAAD,CAAP;;AAEF;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AA3DJ;AA6DD,CAhEE;;;AAkEA,MAAM,QAAQ,GAAG,OAAjB;;;;;;;;;;AC7EP;;AAEA;;;;;;AAlBA;;;;;;;;;;;;;;;;AAiBA;;AAGA;;;AAGM,MAAO,SAAP,CAAgB;AAUpB;;;;;;AAMA,EAAA,WAAA,CAAqB,QAArB,EAAkD,UAAlD,EAAsE;AAAjD,SAAA,QAAA,GAAA,QAAA;AAA6B,SAAA,UAAA,GAAA,UAAA;AAChD,SAAK,MAAL,GAAc,sBAAO,CAAP,CAAd,CADoE,CAEpE;;AACA,SAAK,SAAL,GAAiB,IAAI,GAAJ,EAAjB;AAEA,wBAAK,KAAK,MAAV;AACD;;AAhBK,MAAF,EAAE,GAAA;AACJ,WAAO,KAAK,MAAL,CAAY,EAAnB;AACD;AAgBD;;;;;AAGA,EAAA,aAAa,GAAA;AACX,SAAK,SAAL,CAAe,OAAf,CAAuB,KAAK,IAAI,KAAK,CAAC,OAAN,EAAhC;AACA,SAAK,SAAL,CAAe,KAAf;AACA,SAAK,MAAL,CAAY,OAAZ;AACD;AAED;;;;;AAGA,EAAA,IAAI,GAAA;AACF,WAAO,KAAK,SAAL,CAAe,IAAtB;AACD;AAED;;;;;AAGA,EAAA,UAAU,GAAA;AACR,WAAO,KAAK,CAAC,MAAN,CAAa,KAAK,IAAL,EAAb,EAA0B,OAA1B,CAAP;AACD;AAED;;;;;;;AAKY,QAAN,MAAM,CAAC,IAAD,EAAe,MAAf,EAA6B;AACvC,SAAK,sBAAL,CAA4B,IAA5B,EAAkC,MAAlC,EADuC,CAGvC;AACA;;AACA,UAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAL,EAApB,CALuC,CAOvC;;AACA,SAAK,SAAL,CAAe,OAAf,CAAuB,KAAK,IAAI,KAAK,CAAC,OAAN,EAAhC;AACA,SAAK,SAAL,CAAe,KAAf;AAEA,WAAO,oBAAK,MAAK;AACf,YAAM,OAAO,GAAG,uBAAQ,MAAR,CAAhB;AAEA,YAAM,UAAU,GAAG,KAAK,CAAC,MAAzB;AACA,YAAM,YAAY,GAAG,OAAO,CAAC,MAA7B;;AAEA,qBAAK,MAAL,CACI,UAAU,KAAK,YADnB,EAEI,MAAM,iDAAA,GACF,GAAG,UAAU,6BAA6B,YAAY,GADpD,GAEF,WAJR;;AAMA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,UAApB,EAAgC,CAAC,EAAjC,EAAqC;AACnC,cAAM,GAAG,GAAG,KAAK,CAAC,CAAD,CAAjB;AACA,cAAM,KAAK,GAAG,OAAO,CAAC,CAAD,CAArB;AAEA,4BAAK,KAAL;AACA,aAAK,SAAL,CAAe,GAAf,CAAmB,GAAnB,EAAwB,KAAxB;AACD;;AAED,aAAO,KAAK,MAAZ;AACD,KArBM,CAAP;AAsBD;AAED;;;;;;;;;;;;;;;;;AAeU,QAAJ,IAAI,CAAC,IAAD,EAAe,YAAf,EAAmC;AAC3C,SAAK,sBAAL,CAA4B,IAA5B,EAAkC,YAAlC;AAEA,UAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAL,EAApB;AAEA,WAAO,oBAAK,MAAK;AACf,YAAM,MAAM,GAAa,EAAzB;;AAEA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AACrC,cAAM,GAAG,GAAG,KAAK,CAAC,CAAD,CAAjB;AAEA,cAAM,KAAK,GAAG,KAAK,eAAL,CAAqB,GAArB,EAA0B,YAA1B,CAAd;AACA,QAAA,MAAM,CAAC,IAAP,CAAY,KAAZ;AACD;;AAED,aAAO,qBAAM,MAAN,CAAP;AACD,KAXM,CAAP;AAYD,GAvHmB,CAyHpB;;;AACQ,EAAA,eAAe,CAAC,GAAD,EAAW,YAAX,EAA+B;AACpD,UAAM,MAAM,GAAG,KAAK,SAAL,CAAe,GAAf,CAAmB,GAAnB,CAAf;AAEA,WAAO,MAAM,IAAI,IAAV,GAAiB,MAAjB,GAA0B,YAAjC;AACD;;AAEO,EAAA,sBAAsB,CAAC,GAAD,EAAc,KAAd,EAA2B;AACvD,QAAI,GAAG,CAAC,KAAJ,KAAc,KAAK,QAAvB,EAAiC;AAC/B,YAAM,IAAI,KAAJ,CACF,oBAAoB,KAAK,QAAQ,YAAjC,GACA,GAAG,GAAG,CAAC,KAAK,EAFV,CAAN;AAGD;;AAED,QAAI,KAAK,CAAC,KAAN,KAAgB,KAAK,UAAzB,EAAqC;AACnC,YAAM,IAAI,KAAJ,CACF,sBAAsB,KAAK,UAAU,YAArC,GACA,GAAG,KAAK,CAAC,KAAK,EAFZ,CAAN;AAGD;AACF;;AA5ImB;;;;;;;;;;;ACFtB;;AAIA;;AAzBA;;;;;;;;;;;;;;;;AA2BO,MAAM,SAAS,GAA4B,OAC9C,IAD8C,EAClC,SADkC,EACN,OADM,EAE9C,eAF8C,KAES;AACzD,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,WAAL;AACA,SAAK,aAAL;AAAoB;AAClB,cAAM,QAAQ,GACV,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADJ;AAEA,cAAM,UAAU,GACZ,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CADJ;AAGA,cAAM,SAAS,GAAG,IAAI,qBAAJ,CAAc,QAAd,EAAwB,UAAxB,CAAlB;AACA,QAAA,eAAe,CAAC,YAAhB,CAA6B,IAAI,CAAC,IAAlC,EAAwC,SAAxC;AACA,eAAO,CAAC,SAAS,CAAC,MAAX,CAAP;AACD;;AACD,SAAK,mBAAL;AACA,SAAK,qBAAL;AAA4B;AAC1B,cAAM,MAAM,GAAG,0BACI,aADJ,EACmB,IADnB,EACyB,SADzB,EACoC,OADpC,EAEI,eAFJ,CAAf;AAGA,cAAM,IAAI,GAAG,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAAb;AACA,cAAM,MAAM,GACR,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAGA,cAAM,SAAS,GAAG,eAAe,CAAC,gBAAhB,CAAiC,MAAM,CAAC,EAAxC,CAAlB;AAEA,eAAO,CAAC,MAAM,SAAS,CAAC,MAAV,CAAiB,IAAjB,EAAuB,MAAvB,CAAP,CAAP;AACD;;AACD,SAAK,iBAAL;AACA,SAAK,mBAAL;AAA0B;AACxB,cAAM,MAAM,GAAG,0BACI,aADJ,EACmB,IADnB,EACyB,SADzB,EACoC,OADpC,EAEI,eAFJ,CAAf;AAGA,cAAM,IAAI,GAAG,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAAb;AACA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAGA,cAAM,SAAS,GAAG,eAAe,CAAC,gBAAhB,CAAiC,MAAM,CAAC,EAAxC,CAAlB;AACA,eAAO,CAAC,MAAM,SAAS,CAAC,IAAV,CAAe,IAAf,EAAqB,YAArB,CAAP,CAAP;AACD;;AACD,SAAK,iBAAL;AACA,SAAK,mBAAL;AAA0B;AACxB,cAAM,MAAM,GAAG,0BACI,aADJ,EACmB,IADnB,EACyB,SADzB,EACoC,OADpC,EAEI,eAFJ,CAAf;AAIA,cAAM,SAAS,GAAG,eAAe,CAAC,gBAAhB,CAAiC,MAAM,CAAC,EAAxC,CAAlB;AACA,eAAO,CAAC,SAAS,CAAC,UAAV,EAAD,CAAP;AACD;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AA/CJ;AAiDD,CApDM;;;AAsDA,MAAM,QAAQ,GAAG,YAAjB;;;;;;;;;;AC9DP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,gBAAL;AAAuB;AACrB,cAAM,MAAM,GACR,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAGA,cAAM,gBAAgB,GAClB,0BAAc,kBAAd,EAAkC,IAAlC,EAAwC,SAAxC,EAAmD,OAAnD,CADJ;AAGA,eAAO,CAAC,KAAK,CAAC,KAAN,CAAY,cAAZ,CACJ,MADI,EAC2B,CAAC,IAAI,CAAC,CAAD,CAAL,EAAU,IAAI,CAAC,CAAD,CAAd,CAD3B,EAC+C,YAD/C,EAEJ,gBAFI,CAAD,CAAP;AAGD;;AACD,SAAK,uBAAL;AAA8B;AAC5B,cAAM,MAAM,GACR,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAGA,cAAM,gBAAgB,GAClB,0BAAc,kBAAd,EAAkC,IAAlC,EAAwC,SAAxC,EAAmD,OAAnD,CADJ;AAGA,eAAO,CAAC,KAAK,CAAC,KAAN,CAAY,qBAAZ,CACJ,MADI,EAC2B,CAAC,IAAI,CAAC,CAAD,CAAL,EAAU,IAAI,CAAC,CAAD,CAAd,CAD3B,EAC+C,YAD/C,EAEJ,gBAFI,CAAD,CAAP;AAGD;;AACD,SAAK,eAAL;AAAsB;AACpB,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,MAAM,GACR,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,QAAQ,GACV,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADJ;AAEA,cAAM,MAAM,GACR,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,kBAAkB,GACpB,0BAAc,oBAAd,EAAoC,IAApC,EAA0C,SAA1C,EAAqD,OAArD,CADJ;AAGA,eAAO,CAAC,KAAK,CAAC,KAAN,CAAY,aAAZ,CACJ,KADI,EACe,KADf,EACkC,MADlC,EAEJ,QAFI,EAE0B,MAF1B,EAGJ,kBAHI,CAAD,CAAP;AAID;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AAnDJ;AAqDD,CAxDE;;;AA0DA,MAAM,QAAQ,GAAG,OAAjB;;;;;;;;;;AClEP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,OAAL;AAAc;AACZ,eAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,UAAL;AAAiB;AACf,eAAO,CAAC,KAAK,CAAC,QAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,SAAL;AAAgB;AACd,eAAO,CAAC,KAAK,CAAC,OAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,cAAL;AAAqB;AACnB,eAAO,CAAC,KAAK,CAAC,YAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,MAAL;AAAa;AACX,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,WAAL;AAAkB;AAChB,eAAO,CAAC,KAAK,CAAC,SAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,YAAL;AAAmB;AACjB,eAAO,CAAC,KAAK,CAAC,UAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,YAAL;AAAmB;AACjB,eAAO,CAAC,KAAK,CAAC,UAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,WAAL;AAAkB;AAChB,eAAO,CAAC,KAAK,CAAC,SAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,QAAL;AACA,SAAK,UAAL;AAAiB;AACf,eAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,EAGJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAHI,CAAD,CAAP;AAID;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AArDJ;AAuDD,CA1DE;;;AA4DA,MAAM,QAAQ,GAAG,SAAjB;;;;;;;;;;ACpEP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,aAAL;AACA,SAAK,eAAL;AACA,SAAK,QAAL;AACE,aAAO,CAAC,KAAK,CAAC,MAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFI,EAGJ,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CAHI,EAIJ,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CAJI,CAAD,CAAP;;AAOF,SAAK,QAAL;AACE,aAAO,CAAC,KAAK,CAAC,MAAN,CACJ,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADI,EAEJ,GAAG,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CAFC,CAAD,CAAP;;AAKF,SAAK,WAAL;AACE,aAAO,CAAC,KAAK,CAAC,SAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAFI,CAAD,CAAP;;AAIF,SAAK,cAAL;AACE,YAAM,CAAC,OAAD,EAAU,cAAV,IACD,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADL;AAGA,YAAM,SAAS,GAAG,OAAO,KAAK,SAA9B;AACA,YAAM,OAAO,GAAG,cAAc,KAAK,OAAnC;AAEA,YAAM,OAAO,GACR,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADL;AAEA,YAAM,cAAc,GAChB,0BAAc,gBAAd,EAAgC,IAAhC,EAAsC,SAAtC,EAAiD,OAAjD,CADJ;;AAIA,UAAI,SAAJ,EAAe;AACb,YAAI,OAAO,IAAI,OAAO,KAAK,CAA3B,EAA8B;AAC5B,gBAAM,IAAI,KAAJ,CACF,uDACA,kCAFE,CAAN;AAGD;;AACD,YAAI,CAAC,OAAD,IAAY,OAAO,KAAK,CAA5B,EAA+B;AAC7B,gBAAM,IAAI,KAAJ,CACF,+DADE,CAAN;AAED;AACF;;AACD,YAAM,CAAC,OAAD,EAAU,QAAV,IACF,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,aAAO,CAAC,KAAK,CAAC,KAAN,CAAY,MAAZ,CAAmB;AACzB,QAAA,CAAC,EAAE,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADsB;AAEzB,QAAA,CAAC,EAAE,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAFsB;AAGzB,QAAA,UAAU,EAAE,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CAHa;AAKzB,QAAA,UAAU,EAAE,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CALa;AAOzB,QAAA,IAAI,EAAE,OAPmB;AAQzB,QAAA,UAAU,EAAE,cARa;AASzB,QAAA,sBAAsB,EAAE,QATC;AAUzB,QAAA;AAVyB,OAAnB,CAAD,CAAP;;AAaF;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AA9DJ;AAgED,CAnEE;;;AAqEA,MAAM,QAAQ,GAAG,UAAjB;;;;;;;;;;AC7EP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,gBAAL;AACA,SAAK,kBAAL;AAAyB;AACvB,eAAO,CAAC,KAAK,CAAC,SAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAFI,EAGJ,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CAHI,EAIJ,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAJI,EAKJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CALI,EAMJ,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CANI,CAAD,CAAP;AAOD;;AACD,SAAK,kBAAL;AAAyB;AACvB,eAAO,CAAC,KAAK,CAAC,SAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAFI,EAGJ,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CAHI,EAIJ,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAJI,EAKJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CALI,EAMJ,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CANI,CAAD,CAAP;AAOD;;AACD,SAAK,KAAL;AAAY;AACV,eAAO,CAAC,KAAK,CAAC,0BAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAGJ,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAHI,EAIJ,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAJI,EAKJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CALI,EAMJ,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CANI,CAAD,CAAP;AAOD;;AACD,SAAK,SAAL;AAAgB;AACd,eAAO,CAAC,KAAK,CAAC,OAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,YAAL;AAAmB;AACjB,eAAO,CAAC,KAAK,CAAC,UAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,eAAL;AAAsB;AACpB,eAAO,CAAC,KAAK,CAAC,aAAN,CACJ,0BAAc,eAAd,EAA+B,IAA/B,EAAqC,SAArC,EAAgD,OAAhD,CADI,EAGJ,0BAAc,aAAd,EAA6B,IAA7B,EAAmC,SAAnC,EAA8C,OAA9C,CAHI,EAIJ,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CAJI,EAMJ,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CANI,CAAD,CAAP;AAQD;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AAhDJ;AAkDD,CArDE;;;AAuDA,MAAM,QAAQ,GAAG,eAAjB;;;;;;;;;;AC/DP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,KAAL;AAAY;AACV,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,QAAQ,GACV,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,EAEJ,QAFI,CAAD,CAAP;AAGD;;AACD,SAAK,MAAL;AAAa;AACX,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,QAAQ,GACV,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,EAEJ,QAFI,CAAD,CAAP;AAGD;;AACD,SAAK,KAAL;AAAY;AACV,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,QAAQ,GACV,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,EAEJ,QAFI,CAAD,CAAP;AAGD;;AACD,SAAK,KAAL;AAAY;AACV,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,QAAQ,GACV,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,EAEJ,QAFI,CAAD,CAAP;AAGD;;AACD,SAAK,KAAL;AAAY;AACV,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,QAAQ,GACV,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,EAEJ,QAFI,CAAD,CAAP;AAGD;;AACD,SAAK,KAAL;AAAY;AACV,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,QAAQ,GACV,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,EAEJ,QAFI,CAAD,CAAP;AAGD;;AACD,SAAK,QAAL;AAAe;AACb,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,MAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,CAAD,CAAP;AAED;;AACD,SAAK,QAAL;AAAe;AACb,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,MAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,CAAD,CAAP;AAED;;AACD,SAAK,MAAL;AAAa;AACX,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,QAAQ,GACV,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,EAEJ,QAFI,CAAD,CAAP;AAGD;;AACD,SAAK,QAAL;AAAe;AACb,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,SAAS,GACX,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADJ;AAEA,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,MAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,EAEJ,SAFI,EAEO,OAFP,CAAD,CAAP;AAGD;;AACD,SAAK,UAAL;AACE,YAAM,CAAC,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAV;AACA,YAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,YAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAGA,aAAO,CAAC,KAAK,CAAC,QAAN,CAAe,CAAf,EAAkB,OAAlB,EAA2B,IAA3B,CAAD,CAAP;;AACF,SAAK,eAAL;AAAsB;AACpB,cAAM,CAAC,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAV;AAEA,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAGA,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAGA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAIA,eAAO,CAAC,KAAK,CAAC,aAAN,CAAoB,CAApB,EAAuB,OAAvB,EAAgC,IAAhC,EAAsC,YAAtC,CAAD,CAAP;AACD;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AA/GJ;AAiHD,CApHE;;;AAsHA,MAAM,QAAQ,GAAG,WAAjB;;;;;;;;;;AChIP;;AAEA;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,UAAL;AACA,SAAK,QAAL;AAAe;AACb,cAAM,CAAC,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAV;AACA,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,YAAI,MAAM,GACN,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,QAAA,MAAM,GAAG,MAAM,CAAC,KAAP,CAAa,CAAb,EAAgB,CAAhB,CAAT;AACA,eAAO,CAAC,KAAK,CAAC,MAAN,CAAa,MAAb,EAAqB,IAArB,CAAD,CAAP;AACD;;AACD,SAAK,QAAL;AAAe;AACb,cAAM,KAAK,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAd;AACA,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,MAAN,CAAa,KAAb,EAAoB,KAAK,CAAC,IAAN,CAAW,OAAX,EAAoB,OAApB,CAApB,EAAkD,CAAlD,CAAD,CAAP;AACD;;AACD,SAAK,UAAL;AAAiB;AACf,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,SAAS,GACX,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADJ;AAEA,cAAM,KAAK,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAd;AACA,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,MAAN,CACJ,KADI,EACG,KAAK,CAAC,IAAN,CAAW,OAAX,EAAoB,OAApB,CADH,EACiC,IADjC,EACuC,SADvC,CAAD,CAAP;AAED;;AACD,SAAK,SAAL;AAAgB;AACd,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,IAAI,GAAG,EAAb;;AACA,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAAI,CAAC,MAAzB,EAAiC,CAAC,EAAlC,EAAsC;AACpC,cAAI,IAAI,CAAC,CAAD,CAAR,EAAa;AACX,YAAA,IAAI,CAAC,IAAL,CAAU,CAAV;AACD;AACF;;AACD,cAAM,KAAK,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAd;AACA,eAAO,CAAC,KAAK,CAAC,OAAN,CAAc,KAAd,EAAqB,IAArB,CAAD,CAAP;AACD;;AACD,SAAK,WAAL;AAAkB;AAChB,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,KAAK,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAd;AACA,eAAO,CAAC,KAAK,CAAC,OAAN,CAAc,KAAd,EAAqB,IAArB,CAAD,CAAP;AACD;;AACD,SAAK,OAAL;AAAc;AACZ;AACA,cAAM,KAAK,GAAG,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAAd,CAFY,CAGZ;;AACA,cAAM,IAAI,GAAG,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAAb;AACA,eAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,KADpD,EAEJ,IAFI,CAAD,CAAP;AAGD;;AACD,SAAK,cAAL;AAAqB;AACnB,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,cAAM,GAAG,GACL,0BAAc,KAAd,EAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CADJ;AAEA,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,SAAS,GACX,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADJ;AAEA,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,WAAW,GACb,0BAAc,aAAd,EAA6B,IAA7B,EAAmC,SAAnC,EAA8C,OAA9C,CADJ;AAEA,cAAM,cAAc,GAChB,0BAAc,gBAAd,EAAgC,IAAhC,EAAsC,SAAtC,EAAiD,OAAjD,CADJ;AAGA,cAAM,MAAM,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAf;AAEA,eAAO,CAAC,KAAK,CAAC,YAAN,CACJ,MADI,EACI,KADJ,EACW,GADX,EACgB,OADhB,EACyB,SADzB,EACoC,OADpC,EAC6C,YAD7C,EAEJ,WAFI,EAES,cAFT,CAAD,CAAP;AAGD;;AACD,SAAK,MAAL;AAAa;AACX,eAAO,oBAAK,MAAK;AACf,gBAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,gBAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ,CAHe,CAKf;AACA;;AACA,gBAAM,KAAK,GAAG,OAAO,CAAC,CAAD,CAAP,CAAW,KAAzB;AACA,gBAAM,aAAa,GAAG,KAAK,CAAC,OAAN,CAAc,OAAO,CAAC,CAAD,CAArB,EAA0B,KAAhD;AACA,gBAAM,MAAM,GAAG,OAAO,CAAC,GAAR,CAAY,MAAM,IAAG;AAClC,kBAAM,SAAS,GAAG,eAAK,WAAL,CAAiB,MAAM,CAAC,KAAxB,EAA+B,KAA/B,CAAlB;;AACA,gBAAI,CAAC,SAAD,IACA,CAAC,eAAK,WAAL,CACG,KAAK,CAAC,OAAN,CAAc,MAAd,EAAsB,KADzB,EACgC,aADhC,CADL,EAEqD;AACnD,oBAAM,IAAI,KAAJ,CAAU,wCAAV,CAAN;AACD;;AACD,mBAAO,SAAS,GAAG,MAAH,GAAY,KAAK,CAAC,OAAN,CAAc,MAAd,EAAsB,KAAtB,CAA5B;AACD,WARc,CAAf;AASA,iBAAO,CAAC,KAAK,CAAC,KAAN,CAAY,MAAZ,EAAoB,IAApB,CAAD,CAAP;AACD,SAnBM,CAAP;AAoBD;;AACD,SAAK,QAAL;AAAe;AACb,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,MAAM,GACR,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,eAAO,KAAK,CAAC,OAAN,CAAc,MAAd,EAAsB,IAAtB,CAAP;AACD;;AACD,SAAK,MAAL;AAAa;AACX,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,CAAD,CAAP;AAED;;AACD,SAAK,OAAL;AACA,SAAK,QAAL;AAAe;AACb,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,cAAM,eAAe,GACjB,0BAAc,iBAAd,EAAiC,IAAjC,EAAuC,SAAvC,EAAkD,OAAlD,CADJ;AAIA,cAAM,MAAM,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAf;AAEA,eAAO,KAAK,CAAC,KAAN,CAAY,MAAZ,EAAoB,eAApB,EAAqC,IAArC,CAAP;AACD;;AACD,SAAK,WAAL;AAAkB;AAChB,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,cAAM,MAAM,GACR,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADJ;AAEA,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,SAAN,CAAgB,OAAhB,EAAyB,MAAzB,EAAiC,KAAjC,CAAD,CAAP;AACD;;AACD,SAAK,UAAL;AAAiB;AACf,cAAM,CAAC,GAAG,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAV;AACA,cAAM,OAAO,GACT,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,QAAN,CAAe,CAAf,EAAkB,OAAlB,CAAD,CAAP;AACD;;AACD,SAAK,eAAL;AAAsB;AACpB,cAAM,OAAO,GACT,0BAAc,eAAd,EAA+B,IAA/B,EAAqC,SAArC,EAAgD,OAAhD,CADJ;AAGA,cAAM,KAAK,GACP,0BAAc,aAAd,EAA6B,IAA7B,EAAmC,SAAnC,EAA8C,OAA9C,CADJ;AAGA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,cAAM,YAAY,GACd,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,aAAN,CACJ,OADI,EACK,YADL,EACmB,KADnB,EAEJ,YAAY,CAAC,KAAb,KAAuB,YAAY,CAAC,KAApC,GACI,YADJ,GAEI,KAAK,CAAC,IAAN,CAAW,YAAX,EAAyB,YAAY,CAAC,KAAtC,CAJA,CAAD,CAAP;AAKD;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AA/JJ;AAiKD,CApKE;;;AAsKA,MAAM,QAAQ,GAAG,YAAjB;;;;;;;;;;AC9KP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,qBAAL;AAA4B;AAC1B,cAAM;AACJ,UAAA,aADI;AAEJ,UAAA,YAFI;AAGJ,UAAA,iBAHI;AAIJ,UAAA;AAJI,YAMF,KAAK,CAAC,MAAN,CAAa,mBAAb,CACI,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADJ,EAGI,0BAAc,QAAd,EAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CAHJ,EAII,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CAJJ,EAMI,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CANJ,CANJ;AAcA,eAAO,CACL,aADK,EACU,YADV,EACwB,iBADxB,EAC2C,eAD3C,CAAP;AAGD;;AACD,SAAK,eAAL;AAAsB;AACpB,cAAM;AAAC,UAAA,aAAD;AAAgB,UAAA;AAAhB,YAA+B,KAAK,CAAC,MAAN,CAAa,aAAb,CACjC,0BAAc,cAAd,EAA8B,IAA9B,EAAoC,SAApC,EAA+C,OAA/C,CADiC,EAGjC,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CAHiC,EAIjC,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CAJiC,CAArC;AAKA,eAAO,CAAC,aAAD,EAAgB,WAAhB,CAAP;AACD;;AACD,SAAK,mBAAL;AAA0B;AACxB,cAAM,UAAU,GAAG,KAAK,CAAC,MAAN,CAAa,iBAAb,CACf,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADe,EAEf,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CAFe,EAGf,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CAHe,CAAnB;AAKA,eAAO,CAAC,UAAD,CAAP;AACD;;AACD,SAAK,kBAAL;AAAyB;AACvB,cAAM,UAAU,GAAG,KAAK,CAAC,MAAN,CAAa,gBAAb,CACf,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADe,EAEf,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CAFe,EAGf,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CAHe,CAAnB;AAKA,eAAO,CAAC,UAAD,CAAP;AACD;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AA7CJ;AA+CD,CAlDE;;;AAoDA,MAAM,QAAQ,GAAG,QAAjB;;;;;;;;;;AC5DP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EAAyC,OAAzC,KACe;AACT,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,KAAL;AAAY;AACV,eAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,MAAL;AAAa;AACX,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,MAAL;AAAa;AACX,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD,SAAK,OAAL;AAAc;AACZ,eAAO,CAAC,KAAK,CAAC,KAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,CAAD,CAAP;AAED;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AAlBJ;AAoBD,CAvBF;;;AAyBA,MAAM,QAAQ,GAAG,UAAjB;;;;;;;;;;ACjCP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,cAAL;AAAqB;AACnB,cAAM;AAAC,UAAA,MAAD;AAAS,UAAA;AAAT,YAAyB,KAAK,CAAC,MAAN,CAAa,YAAb,CAC3B,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAD2B,EAE3B,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CAF2B,EAG3B,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CAH2B,EAI3B,0BAAc,aAAd,EAA6B,IAA7B,EAAmC,SAAnC,EAA8C,OAA9C,CAJ2B,EAM3B,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CAN2B,EAO3B,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CAP2B,EAQ3B,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CAR2B,EAS3B,0BACI,wBADJ,EAC8B,IAD9B,EACoC,SADpC,EAC+C,OAD/C,CAT2B,CAA/B;AAYA,eAAO,CAAC,MAAD,EAAS,YAAT,CAAP;AACD;;AACD,SAAK,aAAL;AAAoB;AAClB,cAAM;AAAC,UAAA,OAAD;AAAU,UAAA,MAAV;AAAkB,UAAA;AAAlB,YAA2B,KAAK,CAAC,MAAN,CAAa,WAAb,CAC7B,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAD6B,EAE7B,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CAF6B,EAG7B,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CAH6B,CAAjC;AAIA,eAAO,CAAC,OAAD,EAAU,MAAV,EAAkB,KAAlB,CAAP;AACD;;AACD,SAAK,wBAAL;AAA+B;AAC7B,cAAM,MAAM,GAAG,KAAK,CAAC,MAAN,CAAa,sBAAb,CACX,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADW,EAEX,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CAFW,CAAf;AAGA,eAAO,CAAC,MAAD,CAAP;AACD;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AA9BJ;AAgCD,CAnCE;;;AAqCA,MAAM,QAAQ,GAAG,QAAjB;;;;;;;;;;AC7CP;;AAMA;;;;;;AAzBA;;;;;;;;;;;;;;;;AAkBA;AASO,MAAM,SAAS,GAClB,CAAC,IAAD,EAAa,SAAb,EACC,OADD,KACwC;AACtC,UAAQ,IAAI,CAAC,EAAb;AACE,SAAK,MAAL;AAAa;AACX,eAAO,CAAC,KAAK,CAAC,IAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAFI,CAAD,CAAP;AAID;;AACD,SAAK,YAAL;AAAmB;AACjB,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,UAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,CAAD,CAAP;AAED;;AACD,SAAK,SAAL;AAAgB;AACd,cAAM,IAAI,GACN,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,OAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EACoD,IADpD,CAAD,CAAP;AAED;;AAED,SAAK,SAAL;AAAgB;AACd,eAAO,CAAC,KAAK,CAAC,OAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAFI,CAAD,CAAP;AAGD;;AACD,SAAK,WAAL;AAAkB;AAChB,eAAO,CAAC,KAAK,CAAC,SAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CAFI,EAIJ,0BAAc,MAAd,EAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CAJI,CAAD,CAAP;AAMD;;AACD,SAAK,OAAL;AACA,SAAK,KAAL;AAAY;AACV,eAAO,CAAC,KAAK,CAAC,GAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,SAAd,EAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CAFI,EAIJ,0BAAc,eAAd,EAA+B,IAA/B,EAAqC,SAArC,EAAgD,OAAhD,CAJI,CAAD,CAAP;AAMD;;AACD,SAAK,gBAAL;AAAuB;AACrB,cAAM,UAAU,GACZ,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CADJ;AAEA,cAAM,QAAQ,GACV,0BAAc,UAAd,EAA0B,IAA1B,EAAgC,SAAhC,EAA2C,OAA3C,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,cAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,UAFI,EAEQ,QAFR,CAAD,CAAP;AAGD;;AACD,SAAK,gBAAL;AAAuB;AACrB,cAAM,UAAU,GACZ,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,CADJ;AAEA,cAAM,KAAK,GACP,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CADJ;AAEA,eAAO,CAAC,KAAK,CAAC,cAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,UAFI,EAEQ,KAFR,CAAD,CAAP;AAGD;;AACD,SAAK,cAAL;AAAqB;AACnB,cAAM,SAAS,GACX,0BAAc,WAAd,EAA2B,IAA3B,EAAiC,SAAjC,EAA4C,OAA5C,CADJ;AAEA,cAAM,UAAU,GACX,0BAAc,YAAd,EAA4B,IAA5B,EAAkC,SAAlC,EAA6C,OAA7C,EACQ,WADR,EADL;AAIA,eAAO,CAAC,KAAK,CAAC,YAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,SAFI,EAEO,UAFP,CAAD,CAAP;AAGD;;AACD,SAAK,aAAL;AAAoB;AAClB,eAAO,CAAC,KAAK,CAAC,WAAN,CACJ,0BAAc,GAAd,EAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CADI,EAEJ,0BAAc,OAAd,EAAuB,IAAvB,EAA6B,SAA7B,EAAwC,OAAxC,CAFI,CAAD,CAAP;AAGD;;AACD;AACE,YAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AA7EJ;AA+ED,CAlFE;;;AAoFA,MAAM,QAAQ,GAAG,gBAAjB;;;;;;;;;;AC9FP;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AA3CA;;;;;;;;;;;;;;;;;AA8CA;;;;;;;AAOM,SAAU,SAAV,CACF,IADE,EACU,SADV,EACsC,OADtC,EAEF,eAFE,EAE+B;AACnC,QAAM,KAAK,GACP,CAAC,CAAC,IAAD,EAAa,SAAb,EAAyC,OAAzC,KAAsE;AACrE,YAAQ,IAAI,CAAC,QAAb;AACE,WAAK,YAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CACH,MAAM,UAAU,CAAC,SAAX,CAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CADH,CAAP;;AAEF,WAAK,YAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CACH,MAAM,SAAS,CAAC,SAAV,CAAoB,IAApB,EAA0B,SAA1B,EAAqC,OAArC,CADH,CAAP;;AAEF,WAAK,SAAL;AACE,eAAO,OAAO,CAAC,SAAR,CAAkB,IAAlB,EAAwB,SAAxB,EAAmC,OAAnC,CAAP;;AACF,WAAK,aAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CACH,MAAM,WAAW,CAAC,SAAZ,CAAsB,IAAtB,EAA4B,SAA5B,EAAuC,OAAvC,CADH,CAAP;;AAEF,WAAK,UAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CAAS,MAAM,QAAQ,CAAC,SAAT,CAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAf,CAAP;;AACF,WAAK,SAAL;AACE,eAAO,OAAO,CAAC,SAAR,CAAkB,IAAlB,EAAwB,SAAxB,EAAmC,OAAnC,CAAP;;AACF,WAAK,YAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CACH,MAAM,UAAU,CAAC,SAAX,CAAqB,IAArB,EAA2B,SAA3B,EAAsC,OAAtC,CADH,CAAP;;AAEF,WAAK,OAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CAAS,MAAM,KAAK,CAAC,SAAN,CAAgB,IAAhB,EAAsB,SAAtB,EAAiC,OAAjC,CAAf,CAAP;;AACF,WAAK,OAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CAAS,MAAM,KAAK,CAAC,SAAN,CAAgB,IAAhB,EAAsB,SAAtB,EAAiC,OAAjC,CAAf,CAAP;;AACF,WAAK,SAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CAAS,MAAM,OAAO,CAAC,SAAR,CAAkB,IAAlB,EAAwB,SAAxB,EAAmC,OAAnC,CAAf,CAAP;;AACF,WAAK,UAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CAAS,MAAM,QAAQ,CAAC,SAAT,CAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAf,CAAP;;AACF,WAAK,eAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CACH,MAAM,aAAa,CAAC,SAAd,CAAwB,IAAxB,EAA8B,SAA9B,EAAyC,OAAzC,CADH,CAAP;;AAEF,WAAK,WAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CACH,MAAM,SAAS,CAAC,SAAV,CAAoB,IAApB,EAA0B,SAA1B,EAAqC,OAArC,CADH,CAAP;;AAEF,WAAK,YAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CACH,MAAM,SAAS,CAAC,SAAV,CAAoB,IAApB,EAA0B,SAA1B,EAAqC,OAArC,CADH,CAAP;;AAEF,WAAK,QAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CAAS,MAAM,MAAM,CAAC,SAAP,CAAiB,IAAjB,EAAuB,SAAvB,EAAkC,OAAlC,CAAf,CAAP;;AACF,WAAK,UAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CAAS,MAAM,QAAQ,CAAC,SAAT,CAAmB,IAAnB,EAAyB,SAAzB,EAAoC,OAApC,CAAf,CAAP;;AACF,WAAK,QAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CAAS,MAAM,MAAM,CAAC,SAAP,CAAiB,IAAjB,EAAuB,SAAvB,EAAkC,OAAlC,CAAf,CAAP;;AACF,WAAK,gBAAL;AACE,eAAO,GAAG,CAAC,IAAJ,CACH,MAAM,cAAc,CAAC,SAAf,CAAyB,IAAzB,EAA+B,SAA/B,EAA0C,OAA1C,CADH,CAAP;;AAEF,WAAK,YAAL;AACE,eAAO,SAAS,CAAC,SAAV,CACH,IADG,EACG,SADH,EACc,OADd,EACuB,eADvB,CAAP;;AAEF,WAAK,QAAL;AACE,cAAM,QAAQ,GAAG,+BAAgB,IAAI,CAAC,EAArB,CAAjB;;AACA,YAAI,QAAQ,IAAI,QAAQ,CAAC,cAAzB,EAAyC;AACvC,iBAAO,QAAQ,CAAC,cAAT,CACH,IAAI,8BAAJ,CAAkB,IAAlB,EAAwB,SAAxB,EAAmC,OAAnC,CADG,CAAP;AAED,SAHD,MAGO;AACL,gBAAM,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,qBAArB,CAAf;AACD;;AACH;AACE,cAAM,SAAS,CACX,eAAe,IAAI,CAAC,EAAE,sBAAtB,GACA,4DADA,GAEA,uDAHW,CAAf;AAzDJ;AA8DD,GA/DD,EA+DG,IA/DH,EA+DS,SA/DT,EA+DoB,OA/DpB,CADJ;;AAiEA,MAAI,GAAG,CAAC,IAAJ,CAAS,SAAT,CAAmB,KAAnB,CAAJ,EAA+B;AAC7B,WAAQ,KAA6B,CAAC,IAA9B,CAAoC,IAAD,IAAU,GAAG,MAAH,CAAU,IAAV,CAA7C,CAAR;AACD;;AACD,SAAO,GAAG,MAAH,CAAU,KAAV,CAAP;AACD;;;;;;;;;AC9FD;;;;;;;;;AASM,MAAO,gBAAP,CAAuB;AAM3B,EAAA,WAAA,CACa,SAAA,GAA6B,EAD1C,EAEa,cAAA,GAAiC,EAF9C,EAGa,aAAA,GAA+B,EAH5C,EAIa,WAAA,GAAiD,EAJ9D,EAIgE;AAHnD,SAAA,SAAA,GAAA,SAAA;AACA,SAAA,cAAA,GAAA,cAAA;AACA,SAAA,aAAA,GAAA,aAAA;AACA,SAAA,WAAA,GAAA,WAAA;AATL,SAAA,WAAA,GAAc;AAAC,MAAA,EAAE,EAAE,CAAL;AAAQ,MAAA,SAAS,EAAE,EAAnB;AAAuB,MAAA,WAAW,EAAE;AAApC,KAAd;AACA,SAAA,QAAA,GAAmC,CAAC,KAAK,WAAN,CAAnC;AACA,SAAA,MAAA,GAAS,CAAT;AAQN,SAAK,yBAAL;AACD;;AAEO,EAAA,QAAQ,CAAC,EAAD,EAAa,SAAb,EAA8B;AAC5C,WAAO;AAAC,MAAA,EAAD;AAAK,MAAA,SAAL;AAAgB,MAAA,WAAW,EAAE;AAA7B,KAAP;AACD;AAED;;;;;;;AAKkB,MAAd,cAAc,CAAC,QAAD,EAAiC;AACjD,QAAI,KAAK,QAAL,KAAkB,QAAtB,EAAgC;AAC9B,WAAK,QAAL,GAAgB,QAAhB;AACA,WAAK,yBAAL;AACD;AACF;;AAEiB,MAAd,cAAc,GAAA;AAChB,WAAO,KAAK,QAAZ;AACD;AAED;;;;;AAGoB,MAAhB,gBAAgB,GAAA;AAClB,WAAO,KAAK,kBAAL,CAAwB,CAAxB,CAAP;AACD;AAED;;;;;;AAIqB,MAAjB,iBAAiB,GAAA;AACnB,WAAO,KAAK,kBAAZ;AACD;;AAEO,EAAA,yBAAyB,GAAA;AAC/B,UAAM,KAAK,GAAG,EAAd;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,QAAL,CAAc,MAAd,GAAuB,CAA3C,EAA8C,CAAC,EAA/C,EAAmD;AACjD,YAAM,QAAQ,GAAG,KAAK,QAAL,CAAc,KAAd,CAAoB,CAApB,EAAuB,KAAK,QAAL,CAAc,MAAd,GAAuB,CAA9C,CAAjB;AACA,MAAA,KAAK,CAAC,IAAN,CAAW,KAAK,oBAAL,CAA0B,QAA1B,CAAX;AACD;;AACD,IAAA,KAAK,CAAC,IAAN,CAAW,EAAX;AACA,SAAK,kBAAL,GAA0B,KAA1B;AACD;;AAEO,EAAA,oBAAoB,CAAC,QAAD,EAAiC;AAC3D,WAAO,QAAQ,GACX,QAAQ,CACH,GADL,CAEQ,OAAO,IAAK,OAAO,CAAC,EAAR,KAAe,CAAf,IAAoB,OAAO,CAAC,WAAR,KAAwB,CAA7C,GACP,EADO,GAEP,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,EAJvD,EAKK,IALL,CAKU,GALV,CADW,GAOX,EAPJ;AAQD;AAED;;;;;;AAIA,EAAA,UAAU,CAAC,OAAD,EAAgB;AACxB,QAAI,KAAK,QAAT,EAAmB;AACjB,WAAK,MAAL;AACA,WAAK,QAAL,GAAgB,KAAK,QAAL,CAAc,KAAd,EAAhB;AACA,WAAK,QAAL,CAAc,IAAd,CAAmB,KAAK,QAAL,CAAc,KAAK,MAAnB,EAA2B,OAA3B,CAAnB;;AACA,WAAK,kBAAL,CAAwB,OAAxB,CAAgC,KAAK,oBAAL,CAA0B,KAAK,QAA/B,CAAhC;AACD;AACF;AAED;;;;;;AAIA,EAAA,SAAS,GAAA;AACP,QAAI,KAAK,QAAL,IAAiB,KAAK,QAAL,CAAc,MAAd,GAAuB,CAA5C,EAA+C;AAC7C,WAAK,QAAL,GAAgB,KAAK,QAAL,CAAc,KAAd,EAAhB;AACA,WAAK,QAAL,CAAc,MAAd,CAAqB,CAAC,CAAtB;AACA,WAAK,iBAAL,CAAuB,KAAvB;AACD,KAJD,MAIO;AACL,YAAM,IAAI,KAAJ,CAAU,yCAAV,CAAN;AACD;AACF;AAED;;;;;;AAIA,EAAA,aAAa,GAAA;AACX,QAAI,KAAK,QAAL,IAAiB,KAAK,QAAL,CAAc,MAAd,GAAuB,CAA5C,EAA+C;AAC7C,WAAK,QAAL,GAAgB,KAAK,QAAL,CAAc,KAAd,EAAhB;AACA,WAAK,MAAL;AACA,YAAM,OAAO,GACT,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAK,QAAL,CAAc,KAAK,QAAL,CAAc,MAAd,GAAuB,CAArC,CAAlB,CADJ;AAEA,MAAA,OAAO,CAAC,WAAR,IAAuB,CAAvB;AACA,MAAA,OAAO,CAAC,EAAR,GAAa,KAAK,MAAlB;AACA,WAAK,QAAL,CAAc,MAAd,CAAqB,CAAC,CAAtB,EAAyB,CAAzB,EAA4B,OAA5B;;AACA,WAAK,kBAAL,CAAwB,MAAxB,CACI,CADJ,EACO,CADP,EACU,KAAK,oBAAL,CAA0B,KAAK,QAA/B,CADV;AAED,KAVD,MAUO;AACL,YAAM,IAAI,KAAJ,CAAU,uDAAV,CAAN;AACD;AACF;;AAED,EAAA,SAAS,CAAC,IAAD,EAAa;AACpB,WAAO,KAAK,SAAL,CAAe,IAAf,CAAP;AACD;;AAED,EAAA,cAAc,CAAC,WAAD,EAAyB;AACrC,SAAK,cAAL,CAAoB,WAAW,CAAC,EAAhC,IAAsC,WAAtC;AACD;;AAED,EAAA,cAAc,CAAC,EAAD,EAAW;AACvB,WAAO,KAAK,cAAL,CAAoB,EAApB,CAAP;AACD;;AAED,EAAA,aAAa,CAAC,UAAD,EAAuB;AAClC,SAAK,aAAL,CAAmB,UAAU,CAAC,EAA9B,IAAoC,UAApC;AACD;;AAED,EAAA,aAAa,CAAC,EAAD,EAAW;AACtB,WAAO,KAAK,aAAL,CAAmB,EAAnB,CAAP;AACD;;AAED,EAAA,OAAO,CAAC,OAAD,EAAqB;AAC1B,SAAK,MAAM,GAAX,IAAkB,KAAK,cAAvB,EAAuC;AACrC,WAAK,cAAL,CAAoB,GAApB,EAAyB,aAAzB,CAAuC,OAAvC;AACD;;AAED,SAAK,MAAM,GAAX,IAAkB,KAAK,aAAvB,EAAsC;AACpC,WAAK,aAAL,CAAmB,GAAnB,EAAwB,aAAxB,CAAsC,OAAtC;AACD;AACF;;AAjJ0B;;;;;;;;;;;;;;;ACpB7B;;AApBA;;;;;;;;;;;;;;;;;AAgCA;;;;;;;;AAQM,SAAU,oBAAV,CACF,MADE,EACsB,OADtB,EACuC,SADvC,EAEF,SAFE,EAEgB;AACpB,QAAM,SAAS,GAAG,IAAI,GAAJ,EAAlB;AACA,QAAM,aAAa,GAAa,EAAhC;AACA,MAAI,WAAW,GAAS,IAAxB;AACA,MAAI,UAAU,GAAa,IAA3B,CAJoB,CAMpB;AACA;;AACA,QAAM,IAAI,GAAG,IAAI,GAAJ,EAAb;AACA,QAAM,cAAc,GAChB,MAAM,CAAC,IAAP,CAAY,MAAZ,EAAoB,GAApB,CAAwB,IAAI,IAAI,0BAAc,IAAd,EAAoB,CAApB,CAAhC,CADJ;AAGA,MAAI,aAAa,GAAa,EAA9B;;AACA,MAAI,SAAS,IAAI,IAAjB,EAAuB;AACrB,IAAA,aAAa,GAAG,SAAS,CAAC,GAAV,CAAc,IAAI,IAAI,0BAAc,IAAI,CAAC,IAAnB,EAAyB,CAAzB,CAAtB,CAAhB;AACD;;AAED,QAAM,QAAQ,GAAG,CAAC,GAAG,OAAJ,CAAjB;;AACA,SAAO,QAAQ,CAAC,MAAT,GAAkB,CAAzB,EAA4B;AAC1B,UAAM,IAAI,GAAG,QAAQ,CAAC,GAAT,EAAb;;AACA,QAAI,aAAa,CAAC,IAAD,CAAb,IAAuB,cAAc,CAAC,IAAD,CAArC,IAA+C,WAAW,CAAC,IAAD,CAA9D,EAAsE;AACpE,UAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,QAAA,WAAW,GAAG,IAAd;AACA,QAAA,UAAU,GAAG,WAAW,CAAC,QAAZ,CAAqB,GAArB,CAAyB,KAAK,IAAI,KAAK,CAAC,IAAxC,EACK,MADL,CACY,IAAI,IAAI,SAAS,CAAC,GAAV,CAAc,IAAd,CADpB,CAAb;AAED;AACF;;AACD,IAAA,SAAS,CAAC,GAAV,CAAc,IAAI,CAAC,IAAnB,EAT0B,CAW1B;;AACA,QAAI,SAAS,CAAC,IAAI,CAAC,IAAN,CAAT,IAAwB,IAA5B,EAAkC;AAChC;AACD,KAdyB,CAe1B;;;AACA,QAAI,cAAc,CAAC,OAAf,CAAuB,IAAI,CAAC,IAA5B,MAAsC,CAAC,CAA3C,EAA8C;AAC5C;AACD,KAlByB,CAmB1B;;;AACA,QAAI,aAAa,CAAC,OAAd,CAAsB,IAAI,CAAC,IAA3B,MAAqC,CAAC,CAA1C,EAA6C;AAC3C;AACD;;AACD,QAAI,IAAI,CAAC,MAAL,CAAY,MAAZ,KAAuB,CAA3B,EAA8B;AAC5B,MAAA,aAAa,CAAC,IAAd,CAAmB,IAAI,CAAC,IAAxB;AACA;AACD;;AACD,IAAA,IAAI,CAAC,MAAL,CAAY,OAAZ,CAAoB,KAAK,IAAG;AAC1B;AACA,UAAI,IAAI,CAAC,GAAL,CAAS,KAAK,CAAC,IAAf,CAAJ,EAA0B;AACxB;AACD;;AACD,MAAA,IAAI,CAAC,GAAL,CAAS,KAAK,CAAC,IAAf;AACA,MAAA,QAAQ,CAAC,IAAT,CAAc,KAAd;AACD,KAPD;AAQD;;AACD,SAAO;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA,SAAlB;AAA6B,IAAA,aAA7B;AAA4C,IAAA,WAA5C;AAAyD,IAAA;AAAzD,GAAP;AACD;AAED;;;;;;AAIM,SAAU,0BAAV,CACF,KADE,EACY,SADZ,EAEF,aAFE,EAE0B;AAC9B,QAAM;AAAC,IAAA,SAAD;AAAY,IAAA;AAAZ,MAAsB,aAA5B;AACA,QAAM,QAAQ,GAAW,EAAzB;AACA,QAAM,UAAU,GAAG,MAAM,CAAC,IAAP,CAAY,MAAZ,EACK,GADL,CACS,IAAI,IAAI,0BAAc,IAAd,EAAoB,CAApB,CADjB,EAEK,GAFL,CAES,IAAI,IAAI,KAAK,CAAC,KAAN,CAAY,IAAZ,CAFjB,CAAnB;AAGA,QAAM,SAAS,GAAG,KAAK,CAAC,SAAxB;AAEA,EAAA,UAAU,CAAC,OAAX,CAAmB,KAAK,IAAG;AACzB,QAAI,SAAS,CAAC,GAAV,CAAc,KAAK,CAAC,IAApB,CAAJ,EAA+B;AAC7B,MAAA,QAAQ,CAAC,IAAT,CAAc,KAAd;AACD;AACF,GAJD;AAKA,EAAA,KAAK,CAAC,OAAN,CAAc,OAAd,CAAsB,MAAM,IAAG;AAC7B,QAAI,SAAS,CAAC,GAAV,CAAc,MAAM,CAAC,IAArB,CAAJ,EAAgC;AAC9B,MAAA,QAAQ,CAAC,IAAT,CAAc,MAAd;AACD;AACF,GAJD;;AAKA,MAAI,SAAS,IAAI,IAAjB,EAAuB;AACrB,IAAA,SAAS,CAAC,OAAV,CAAkB,IAAI,IAAG;AACvB,UAAI,SAAS,CAAC,GAAV,CAAc,IAAI,CAAC,IAAnB,CAAJ,EAA8B;AAC5B,QAAA,QAAQ,CAAC,IAAT,CAAc,IAAd;AACD;AACF,KAJD;AAKD;;AACD,QAAM,IAAI,GAAG,IAAI,GAAJ,EAAb;AACA,QAAM,YAAY,GAAW,EAA7B;;AACA,SAAO,QAAQ,CAAC,MAAT,GAAkB,CAAzB,EAA4B;AAC1B,UAAM,IAAI,GAAG,QAAQ,CAAC,GAAT,EAAb;AACA,IAAA,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,IAAd;;AACA,QAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAN,CAAd,EAA2B;AACzB,MAAA,YAAY,CAAC,IAAb,CAAkB,IAAlB;AACD;;AACD,IAAA,IAAI,CAAC,QAAL,CAAc,OAAd,CAAsB,KAAK,IAAG;AAC5B,UAAI,CAAC,IAAI,CAAC,GAAL,CAAS,KAAK,CAAC,IAAf,CAAD,IAAyB,SAAS,CAAC,GAAV,CAAc,KAAK,CAAC,IAApB,CAAzB,IACA,KAAK,CAAC,MAAN,CAAa,KAAb,CAAmB,KAAK,IAAI,IAAI,CAAC,GAAL,CAAS,KAAK,CAAC,IAAf,CAA5B,CADJ,EACuD;AACrD,QAAA,QAAQ,CAAC,IAAT,CAAc,KAAd;AACD;AACF,KALD;AAMD;;AACD,SAAO,YAAP;AACD;;AAED,MAAM,gBAAgB,GAAG,CACvB,QADuB,EACb,OADa,EACJ,OADI,EACK,MADL,EACa,eADb,EAC8B,aAD9B,EAEvB,gBAFuB,EAEL,IAFK,EAEC,OAFD,CAAzB;AAIA,MAAM,iBAAiB,GAAG,CACxB,qBADwB,EACD,qBADC,EACsB,qBADtB,EAC6C,OAD7C,CAA1B;AAGA,MAAM,cAAc,GAAG,CACrB,WADqB,EACR,aADQ,EACO,mBADP,EAC4B,qBAD5B,EAErB,iBAFqB,EAEF,mBAFE,EAEmB,iBAFnB,EAEsC,mBAFtC,CAAvB;;AAKM,SAAU,aAAV,CAAwB,IAAxB,EAAkC;AACtC,SAAO,gBAAgB,CAAC,OAAjB,CAAyB,IAAI,CAAC,EAA9B,KAAqC,CAA5C;AACD;;AAEK,SAAU,cAAV,CAAyB,IAAzB,EAAmC;AACvC,SAAO,iBAAiB,CAAC,OAAlB,CAA0B,IAAI,CAAC,EAA/B,KAAsC,CAA7C;AACD;;AAEK,SAAU,WAAV,CAAsB,IAAtB,EAAgC;AACpC,SAAO,cAAc,CAAC,OAAf,CAAuB,IAAI,CAAC,EAA5B,KAAmC,CAA1C;AACD;;;;;;;;;ACzJD;;AAIA;;AACA;;AAGA;;AACA;;AA1BA;;;;;;;;;;;;;;;;AAmCM,MAAO,aAAP,CAAoB;AAuFxB;;;;;;;;AAQA,EAAA,WAAA,CAAoB,KAApB,EAA0C,MAA1C,EAAgE;AAA5C,SAAA,KAAA,GAAA,KAAA;AAAsB,SAAA,MAAA,GAAA,MAAA;AA9FlC,SAAA,WAAA,GAAmC,IAAI,GAAJ,EAAnC;AACA,SAAA,UAAA,GAA8B,EAA9B;AAMA,SAAA,SAAA,GAAY,GAAZ;AACA,SAAA,UAAA,GAAqC,EAArC;AACA,SAAA,oBAAA,GAA0D,EAA1D;AAsFN,SAAK,QAAL,GAAgB,KAAK,CAAC,OAAtB;AACA,SAAK,OAAL,GAAe,KAAK,CAAC,MAArB;AACA,SAAK,UAAL,GAAkB,KAAK,CAAC,SAAxB;AACA,SAAK,UAAL,GAAkB,KAAK,CAAC,SAAxB;AACA,SAAK,UAAL,GAAkB,KAAK,CAAC,SAAxB,CAL8D,CAM9D;;AACA,QAAI,KAAK,CAAC,SAAN,IAAmB,IAAvB,EAA6B;AAC3B,MAAA,MAAM,CAAC,IAAP,CAAY,KAAK,CAAC,SAAlB,EAA6B,OAA7B,CAAqC,IAAI,IAAG;AAC1C,aAAK,oBAAL,CAA0B,IAA1B,IACI,IAAI,aAAJ,CAAkB,KAAK,CAAC,SAAN,CAAgB,IAAhB,CAAlB,EAAyC,IAAzC,CADJ;AAED,OAHD;AAID;AACF;;AA/FY,MAAT,SAAS,GAAA;AACX,WAAO,KAAK,MAAL,GAAc,KAAK,MAAL,CAAY,SAA1B,GAAsC,KAAK,UAAlD;AACD;;AAEsB,MAAnB,mBAAmB,GAAA;AACrB,WAAO,KAAK,MAAL,GAAc,KAAK,MAAL,CAAY,mBAA1B,GACc,KAAK,oBAD1B;AAED;;AAEY,MAAT,SAAS,GAAA;AACX,WAAO,KAAK,MAAL,GAAc,KAAK,MAAL,CAAY,SAA1B,GAAsC,KAAK,UAAlD;AACD;;AAEY,MAAT,SAAS,CAAC,SAAD,EAA2B;AACtC,UAAM,SAAS,GAAG,MAAM,CAAC,IAAP,CAAY,SAAZ,EAAuB,GAAvB,CACd,GAAG,IAAI,SAAS,CAAC,GAAD,CAAT,CAAe,GAAf,CAAmB,MAAM,IAAI,MAAM,CAAC,EAApC,CADO,CAAlB;AAEA,SAAK,UAAL,GAAkB,GAAG,MAAH,CAAU,GAAG,SAAb,CAAlB;AACA,SAAK,UAAL,GAAkB,SAAlB;AACD;AAED;;;;;;AAImB,MAAf,eAAe,CAAC,eAAD,EAAiC;AAClD,SAAK,gBAAL,GAAwB,eAAxB;AACD;;AAES,MAAN,MAAM,GAAA;AACR,WAAO,KAAK,OAAL,CAAa,GAAb,CAAiB,IAAI,IAAG;AAC7B,aAAO;AACL,QAAA,IAAI,EAAE,IAAI,CAAC,IADN;AAEL,QAAA,KAAK,EAAE,IAAI,CAAC,UAAL,CAAgB,OAAhB,IACH,IAAI,CAAC,UAAL,CAAgB,OAAhB,EAAyB,KADtB,GAEH,SAJC;AAKL,QAAA,KAAK,EAAE,IAAI,CAAC,UAAL,CAAgB,OAAhB,IACH,IAAI,CAAC,UAAL,CAAgB,OAAhB,EAAyB,KADtB,GAEH;AAPC,OAAP;AASD,KAVM,CAAP;AAWD;;AAEU,MAAP,OAAO,GAAA;AACT,WAAO,KAAK,QAAL,CAAc,GAAd,CAAkB,IAAI,IAAG;AAC9B,aAAO;AACL,QAAA,IAAI,EAAE,IAAI,CAAC,IADN;AAEL,QAAA,KAAK,EAAE,IAAI,CAAC,UAAL,CAAgB,OAAhB,IACH,IAAI,CAAC,UAAL,CAAgB,OAAhB,EAAyB,KADtB,GAEH,SAJC;AAKL,QAAA,KAAK,EAAE,IAAI,CAAC,UAAL,CAAgB,OAAhB,IACH,IAAI,CAAC,UAAL,CAAgB,OAAhB,EAAyB,KADtB,GAEH;AAPC,OAAP;AASD,KAVM,CAAP;AAWD;;AAEa,MAAV,UAAU,GAAA;AACZ,WAAO,KAAK,OAAL,CAAa,GAAb,CAAiB,IAAI,IAAI,IAAI,CAAC,YAAL,IAAqB,IAAI,CAAC,IAAnD,CAAP;AACD;;AAEc,MAAX,WAAW,GAAA;AACb,WAAO,KAAK,QAAL,CAAc,GAAd,CAAmB,IAAD,IAAS;AAChC,YAAM,IAAI,GAAG,IAAI,CAAC,YAAL,IAAqB,IAAI,CAAC,IAAvC;AACA,aAAO,IAAI,CAAC,aAAL,GAAsB,GAAG,IAAI,IAAI,IAAI,CAAC,aAAa,EAAnD,GAAyD,IAAhE;AACD,KAHM,CAAP;AAID;;AAEY,MAAT,SAAS,GAAA;AACX,WAAO,MAAM,CAAC,IAAP,CAAY,KAAK,UAAjB,EAA6B,MAA7B,CAAoC,CAAC,GAAD,EAAM,GAAN,KAAa;AACtD,MAAA,GAAG,CAAC,GAAD,CAAH,GAAW,KAAK,UAAL,CAAgB,GAAhB,EAAqB,SAAhC;AACA,aAAO,GAAP;AACD,KAHM,EAGJ,EAHI,CAAP;AAID;;AAyBO,EAAA,iBAAiB,CAAC,MAAD,EAAiB,OAAjB,EAAgC;AACvD,UAAM,YAAY,GAAG,MAAM,CAAC,GAAP,CAAW,IAAI,IAAI,IAAI,CAAC,IAAxB,EAA8B,IAA9B,EAArB;AACA,UAAM,aAAa,GAAG,OAAO,CAAC,GAAR,CAAY,IAAI,IAAI,IAAI,CAAC,IAAzB,EAA+B,IAA/B,EAAtB;AACA,WAAO,YAAY,CAAC,IAAb,CAAkB,KAAK,SAAvB,IAAoC,IAApC,GACH,aAAa,CAAC,IAAd,CAAmB,KAAK,SAAxB,CADJ;AAED;AAED;;;;;;AAIQ,EAAA,OAAO,CAAC,MAAD,EAAyB,OAAzB,EAAwC;AACrD,UAAM,aAAa,GACf,0CAAqB,MAArB,EAA6B,OAA7B,EAAsC,KAAK,SAA3C,EAAsD,KAAK,UAA3D,CADJ;AAEA,UAAM;AAAC,MAAA,aAAD;AAAgB,MAAA,WAAhB;AAA6B,MAAA;AAA7B,QAA2C,aAAjD;;AACA,QAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,YAAM,IAAI,KAAJ,CACF,qCAAqC,WAAW,CAAC,IAAI,eAArD,GACA,mBAAmB,WAAW,CAAC,EAAE,gBADjC,GAEA,4DAFA,GAGA,oCAAoC,UAAU,GAJ5C,CAAN;AAKD;;AAED,QAAI,aAAa,CAAC,MAAd,GAAuB,CAA3B,EAA8B;AAC5B,YAAM,QAAQ,GAAG,OAAO,CAAC,GAAR,CAAY,CAAC,IAAI,CAAC,CAAC,IAAnB,CAAjB;AACA,YAAM,OAAO,GAAG,MAAM,CAAC,IAAP,CAAY,MAAZ,CAAhB;AACA,YAAM,IAAI,KAAJ,CACF,+BAA+B,QAAQ,6BAAvC,GACA,IAAI,OAAO,qCAAqC,aAAa,GAF3D,CAAN;AAGD;;AAED,WAAO,gDACH,KAAK,KADF,EACS,KAAK,SADd,EACyB,aADzB,CAAP;AAED;AAED;;;;;;;;;;;AASA,EAAA,OAAO,CAAC,MAAD,EAAyB,OAAzB,EAA2C;AAChD,IAAA,MAAM,GAAG,KAAK,SAAL,CAAe,MAAf,CAAT;AACA,UAAM,KAAK,GAAG,MAAM,CAAC,IAAP,CAAY,MAAZ,EAAoB,IAApB,EAAd;AACA,SAAK,WAAL,CAAiB,MAAjB;AACA,SAAK,sBAAL,CAA4B,MAA5B;AACA,IAAA,OAAO,GAAG,KAAK,UAAL,CAAgB,OAAhB,CAAV;AACA,SAAK,YAAL,CAAkB,OAAlB;AACA,UAAM,UAAU,GACZ,KAAK,CAAC,GAAN,CAAU,IAAI,IAAI,KAAK,KAAL,CAAW,KAAX,CAAiB,0BAAc,IAAd,EAAoB,CAApB,CAAjB,CAAlB,CADJ;AAEA,UAAM,eAAe,GAAG,OAAO,CAAC,GAAR,CAAY,IAAI,IAAI,0BAAc,IAAd,EAAoB,CAApB,CAApB,CAAxB;AACA,QAAI,WAAW,GAAG,eAAe,CAAC,GAAhB,CAAoB,IAAI,IAAI,KAAK,KAAL,CAAW,KAAX,CAAiB,IAAjB,CAA5B,CAAlB,CAVgD,CAYhD;;AACA,QAAI,WAAW,CAAC,MAAZ,KAAuB,CAA3B,EAA8B;AAC5B,MAAA,WAAW,GAAG,KAAK,QAAnB;AACD;;AAED,UAAM,cAAc,GAAG,KAAK,iBAAL,CAAuB,UAAvB,EAAmC,WAAnC,CAAvB,CAjBgD,CAmBhD;;AACA,QAAI,YAAY,GAAG,KAAK,WAAL,CAAiB,GAAjB,CAAqB,cAArB,CAAnB;;AACA,QAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,MAAA,YAAY,GAAG,KAAK,OAAL,CAAa,MAAb,EAAqB,WAArB,CAAf;AACA,WAAK,WAAL,CAAiB,GAAjB,CAAqB,cAArB,EAAqC,YAArC;AACD;;AAED,UAAM,cAAc,GAAmB,EAAvC;AACA,UAAM,aAAa,GAAkB,EAArC;AAEA,WAAO,oBAAK,MAAK;AACf,YAAM,OAAO,GAAG,IAAI,mCAAJ,CACZ,KAAK,SADO,EACI,cADJ,EACoB,aADpB,EAEZ,KAAK,mBAFO,CAAhB;AAGA,YAAM,UAAU,GAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAwB,KAAK,SAA7B,CAAhB;AAEA,MAAA,MAAM,CAAC,IAAP,CAAY,MAAZ,EAAoB,OAApB,CAA4B,IAAI,IAAG;AACjC,cAAM,CAAC,QAAD,EAAW,KAAX,IAAoB,0BAAc,IAAd,CAA1B;AACA,cAAM,OAAO,GAAa,EAA1B;AACA,QAAA,OAAO,CAAC,KAAD,CAAP,GAAiB,MAAM,CAAC,IAAD,CAAvB;AACA,QAAA,UAAU,CAAC,QAAD,CAAV,GAAuB,OAAvB;AACD,OALD;AAOA,YAAM,aAAa,GAAG,KAAK,kBAAL,CAAwB,UAAxB,CAAtB;AACA,YAAM,+BAA+B,GAA4B,EAAjE;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAAY,CAAC,MAAjC,EAAyC,CAAC,EAA1C,EAA8C;AAC5C,cAAM,IAAI,GAAG,YAAY,CAAC,CAAD,CAAzB;;AACA,YAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAN,CAAf,EAA4B;AAC1B,gBAAM,OAAO,GACT,mCAAU,IAAV,EAAgB,UAAhB,EAA4B,OAA5B,EAAqC,KAAK,gBAA1C,CADJ;;AAGA,cAAI,eAAK,SAAL,CAAe,OAAf,CAAJ,EAA6B;AAC3B,kBAAM,IAAI,KAAJ,CACF,4BAA4B,IAAI,CAAC,EAAE,wBAAnC,GACA,0CAFE,CAAN;AAGD;;AACD,UAAA,UAAU,CAAC,IAAI,CAAC,IAAN,CAAV,GAAwB,OAAxB;AACA,eAAK,sBAAL,CACI,IAAI,CAAC,IADT,EACe,IADf,EACqB,UADrB,EACiC,OADjC,EAC0C,aAD1C,EAEI,eAFJ,EAEqB,+BAFrB;AAGD;AACF,OA/Bc,CAgCf;;;AACA,UAAI,KAAK,MAAL,IAAe,IAAnB,EAAyB;AACvB,QAAA,OAAO,CAAC,OAAR,CAAgB,aAAhB;AACD;;AACD,aAAO,OAAO,CAAC,GAAR,CAAY,IAAI,IAAI,sBAAU,IAAV,EAAgB,UAAhB,EAA4B,OAA5B,CAApB,CAAP;AACD,KArCM,CAAP;AAsCD;;AAEO,EAAA,kBAAkB,CAAC,SAAD,EAA2B;AACnD,UAAM,GAAG,GAAG,GAAG,MAAH,CAAU,KAAV,CACR,EADQ,EAER,MAAM,CAAC,IAAP,CAAY,SAAZ,EACK,GADL,CACS,GAAG,IAAI,SAAS,CAAC,GAAD,CADzB,EAEK,GAFL,CAES,OAAO,IAAI,OAAO,CAAC,GAAR,CAAY,MAAM,IAAI,MAAM,CAAC,EAA7B,CAFpB,CAFQ,CAAZ;AAKA,WAAO,IAAI,GAAJ,CAAQ,GAAR,CAAP;AACD;;AACO,EAAA,sBAAsB,CAC1B,QAD0B,EACR,IADQ,EACI,SADJ,EAE1B,OAF0B,EAEC,aAFD,EAG1B,WAH0B,EAI1B,+BAJ0B,EAI8B;AAC1D;AACA;AACA,QAAI,IAAI,CAAC,QAAL,KAAkB,SAAlB,IAA+B,WAAW,CAAC,OAAZ,CAAoB,QAApB,MAAkC,CAAC,CAAtE,EAAyE;AACvE;AACD;;AAED,IAAA,SAAS,CAAC,QAAD,CAAT,CAAoB,OAApB,CAA4B,MAAM,IAAG;AACnC,UAAI,MAAM,IAAI,IAAd,EAAoB;AAClB,QAAA,+BAA+B,CAAC,MAAM,CAAC,EAAR,CAA/B,GACI,CAAC,+BAA+B,CAAC,MAAM,CAAC,EAAR,CAA/B,IAA8C,CAA/C,IACA,IAAI,CAAC,QAAL,CAAc,MAFlB;AAGD;AACF,KAND;AAOA,IAAA,IAAI,CAAC,MAAL,CAAY,OAAZ,CAAoB,KAAK,IAAG;AAC1B;AACA;AACA,UAAI,KAAK,CAAC,QAAN,KAAmB,SAAvB,EAAkC;AAChC,cAAM,OAAO,GACT,yCAA6B,KAAK,CAAC,IAAnC,EAAyC,SAAzC,EAAoD,OAApD,CADJ;;AAEA,YAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,UAAA,OAAO,CAAC,OAAR,CAAgB,MAAM,IAAG;AACvB,gBAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAlB,IAA0B,CAAC,aAAa,CAAC,GAAd,CAAkB,MAAM,CAAC,EAAzB,CAA/B,EAA6D;AAC3D,oBAAM,KAAK,GAAG,+BAA+B,CAAC,MAAM,CAAC,EAAR,CAA7C;;AACA,kBAAI,KAAK,KAAK,CAAd,EAAiB;AACf,gBAAA,MAAM,CAAC,OAAP;AACA,uBAAO,+BAA+B,CAAC,MAAM,CAAC,EAAR,CAAtC;AACD,eAHD,MAGO,IAAI,KAAK,IAAI,IAAb,EAAmB;AACxB;AACA;AACA,gBAAA,+BAA+B,CAAC,MAAM,CAAC,EAAR,CAA/B;AACD;AACF;AACF,WAZD;AAaD;AACF;AACF,KAtBD;AAuBD;AAED;;;;;;;;;;;AASkB,QAAZ,YAAY,CAAC,MAAD,EAAyB,OAAzB,EAA2C;AAE3D,WAAO,KAAK,aAAL,CAAmB,MAAnB,EAA2B,OAA3B,CAAP;AACD;AAED;;;;;;;;;;;;;;;;AAc2B,QAAb,aAAa,CACvB,MADuB,EACC,OADD,EACqB,mBAAmB,GAAG,KAD3C,EAEvB,cAAA,GAAiC,EAFV,EAGvB,aAAA,GAA+B,EAHR,EAGU;AACnC,QAAI,CAAC,mBAAL,EAA0B;AACxB,MAAA,MAAM,GAAG,KAAK,SAAL,CAAe,MAAf,CAAT;AACA,WAAK,WAAL,CAAiB,MAAjB;AACA,WAAK,sBAAL,CAA4B,MAA5B;AACA,MAAA,OAAO,GAAG,KAAK,UAAL,CAAgB,OAAhB,CAAV;AACA,WAAK,YAAL,CAAkB,OAAlB;AACD;;AAED,UAAM,OAAO,GAAG,IAAI,mCAAJ,CACZ,KAAK,SADO,EACI,cADJ,EACoB,aADpB,EAEZ,KAAK,mBAFO,CAAhB,CATmC,CAanC;AACA;AACA;;AACA,UAAM,SAAS,GAAG,MAAM,KAAK,sBAAL,CACpB,MADoB,EACZ,OADY,EACH,OADG,EACM,mBADN,CAAxB;AAEA,UAAM,OAAO,GAAG,OAAO,CAAC,GAAR,CAAY,IAAI,IAAI,sBAAU,IAAV,EAAgB,SAAhB,EAA2B,OAA3B,CAApB,CAAhB,CAlBmC,CAoBnC;;AACA,UAAM,SAAS,GAAG,OAAO,CAAC,GAAR,CAAY,CAAC,IAAI,CAAC,CAAC,EAAnB,CAAlB;AACA,UAAM,QAAQ,GAAG,MAAM,CAAC,IAAP,CAAY,MAAZ,EAAoB,GAApB,CAAwB,IAAI,IAAI,MAAM,CAAC,IAAD,CAAN,CAAa,EAA7C,CAAjB;AACA,UAAM,OAAO,GACT,IAAI,GAAJ,CAAgB,CAAC,GAAG,SAAJ,EAAe,GAAG,QAAlB,EAA4B,GAAG,KAAK,SAApC,CAAhB,CADJ;AAEA,IAAA,MAAM,CAAC,IAAP,CAAY,SAAZ,EAAuB,OAAvB,CAA+B,GAAG,IAAG;AACnC,YAAM,WAAW,GAAG,SAAS,CAAC,GAAD,CAA7B;AACA,MAAA,WAAW,CAAC,OAAZ,CAAoB,MAAM,IAAG;AAC3B,YAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAlB,IAA0B,CAAC,MAAM,CAAC,UAAlC,IACA,CAAC,OAAO,CAAC,GAAR,CAAY,MAAM,CAAC,EAAnB,CADL,EAC6B;AAC3B,UAAA,MAAM,CAAC,OAAP;AACD;AACF,OALD;AAMD,KARD,EAzBmC,CAkCnC;;AACA,QAAI,KAAK,MAAL,IAAe,IAAnB,EAAyB;AACvB,MAAA,OAAO,CAAC,OAAR,CAAgB,OAAhB;AACD;;AAED,WAAO,OAAP;AACD;;AAEyB,QAApB,oBAAoB,CACtB,MADsB,EACJ,cADI,EAEtB,aAFsB,EAEM;AAC9B,UAAM,YAAY,GAAG,MAAM,CAAC,MAAP,CAAc,CAAC,GAAD,EAAM,MAAN,EAAc,KAAd,KAAuB;AACxD,MAAA,GAAG,CAAC,KAAK,MAAL,CAAY,KAAZ,EAAmB,IAApB,CAAH,GAA+B,MAA/B;AACA,aAAO,GAAP;AACD,KAHoB,EAGlB,EAHkB,CAArB;AAKA,WAAO,KAAK,aAAL,CACH,YADG,EACW,KAAK,WADhB,EAC6B,IAD7B,EACmC,cADnC,EACmD,aADnD,CAAP;AAED;AACD;;;;;;;;;;;;;AAWoC,QAAtB,sBAAsB,CAChC,MADgC,EACR,OADQ,EACmB,WADnB,EAEhC,mBAFgC,EAEH;AAC/B,UAAM,KAAK,GAAG,MAAM,CAAC,IAAP,CAAY,MAAZ,CAAd;AACA,UAAM,UAAU,GACZ,KAAK,CAAC,GAAN,CAAU,IAAI,IAAI,KAAK,KAAL,CAAW,KAAX,CAAiB,0BAAc,IAAd,EAAoB,CAApB,CAAjB,CAAlB,CADJ;AAEA,UAAM,eAAe,GAAG,WAAW,CAAC,GAAZ,CAAgB,IAAI,IAAI,0BAAc,IAAd,EAAoB,CAApB,CAAxB,CAAxB;AACA,QAAI,WAAW,GAAG,eAAe,CAAC,GAAhB,CAAoB,IAAI,IAAI,KAAK,KAAL,CAAW,KAAX,CAAiB,IAAjB,CAA5B,CAAlB,CAL+B,CAO/B;;AACA,QAAI,WAAW,CAAC,MAAZ,KAAuB,CAA3B,EAA8B;AAC5B,MAAA,WAAW,GAAG,KAAK,QAAnB;AACD;;AAED,UAAM;AAAC,MAAA,SAAD;AAAY,MAAA,aAAZ;AAA2B,MAAA,WAA3B;AAAwC,MAAA;AAAxC,QACF,0CACI,MADJ,EACY,WADZ,EACyB,KAAK,SAD9B,EACyC,KAAK,UAD9C,CADJ,CAZ+B,CAgB/B;;AACA,UAAM,KAAK,GAAuB,CAChC,GAAG,UAD6B,EACjB,GAAG,KAAK,KAAL,CAAW,OADG,EACM,IAAI,KAAK,UAAL,IAAmB,EAAvB,CADN,EAEhC,GAFgC,CAE5B,IAAI,IAAG;AACX,aAAO;AAAC,QAAA,IAAD;AAAO,QAAA,QAAQ,EAAE,OAAO,CAAC;AAAzB,OAAP;AACD,KAJiC,CAAlC;AAKA,UAAM,UAAU,GAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAwB,KAAK,SAA7B,CAAhB;AACA,IAAA,MAAM,CAAC,IAAP,CAAY,MAAZ,EAAoB,OAApB,CAA4B,IAAI,IAAG;AACjC,YAAM,CAAC,QAAD,EAAW,KAAX,IAAoB,0BAAc,IAAd,CAA1B;AACA,YAAM,OAAO,GAAa,EAA1B;AACA,MAAA,OAAO,CAAC,KAAD,CAAP,GAAiB,MAAM,CAAC,IAAD,CAAvB;AACA,MAAA,UAAU,CAAC,QAAD,CAAV,GAAuB,OAAvB;AACD,KALD;AAMA,UAAM,+BAA+B,GAA4B,EAAjE;AACA,UAAM,aAAa,GAAG,KAAK,kBAAL,CAAwB,UAAxB,CAAtB;AACA,UAAM,KAAK,GAA6B,EAAxC;;AACA,WAAO,KAAK,CAAC,MAAN,GAAe,CAAtB,EAAyB;AACvB,YAAM,QAAQ,GAAG,KAAK,YAAL,CACb,UADa,EACD,KADC,EACM,OADN,EACe,UADf,EAC2B,KAD3B,EACkC,aADlC,EAEb,eAFa,EAEI,+BAFJ,EAEqC,SAFrC,CAAjB;AAGA,YAAM,OAAO,CAAC,GAAR,CAAY,QAAZ,CAAN;AACD;;AACD,QAAI,WAAW,IAAI,IAAf,IAAuB,CAAC,mBAA5B,EAAiD;AAC/C,MAAA,OAAO,CAAC,IAAR,CACI,mEAAA,GACA,gEAFJ;AAGD;;AACD,UAAM,cAAc,GAChB,WAAW,CACN,MADL,CAEQ,IAAI,IAAI,CAAC,mCAAc,IAAd,CAAD,IACJ,CAAC,sBAAU,IAAI,CAAC,IAAf,EAAqB,UAArB,EAAiC,OAAjC,CAHb,EAIK,GAJL,CAIS,IAAI,IAAI,IAAI,CAAC,IAJtB,CADJ;;AAMA,QAAI,cAAc,CAAC,MAAf,GAAwB,CAA5B,EAA+B;AAC7B,UAAI,cAAc,GAAG,EAArB;;AACA,UAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,QAAA,cAAc,GACV,+DAAA,GACA,2BAA2B,UAAU,GAFzC;AAGD;;AACD,YAAM,IAAI,KAAJ,CACF,+BAA+B,cAAc,sBAA7C,GACA,WAAW,KAAK,8CADhB,GAEA,IAAI,aAAa,MAAM,cAAc,EAHnC,CAAN;AAID;;AACD,WAAO,UAAP;AACD;;AAEO,EAAA,YAAY,CAChB,UADgB,EACI,KADJ,EAC+B,OAD/B,EAEhB,SAFgB,EAEY,KAFZ,EAGhB,aAHgB,EAGY,WAHZ,EAIhB,+BAJgB,EAKhB,SALgB,EAKM;AACxB,UAAM,QAAQ,GAA6B,EAA3C;;AACA,WAAO,KAAK,CAAC,MAAN,GAAe,CAAtB,EAAyB;AACvB,YAAM,IAAI,GAAG,KAAK,CAAC,GAAN,EAAb;AACA,MAAA,OAAO,CAAC,cAAR,GAAyB,IAAI,CAAC,QAA9B;AACA,UAAI,QAAQ,GAAG,EAAf,CAHuB,CAIvB;AACA;AACA;;AACA,UAAI,IAAI,CAAC,IAAL,CAAU,EAAV,KAAiB,OAAjB,IACA,0BAAc,YAAd,EAA4B,IAAI,CAAC,IAAjC,EAAuC,SAAvC,EAAkD,OAAlD,CADJ,EACgE;AAC9D,SAAC,QAAD,IAAa,gCAAoB,IAAI,CAAC,IAAL,CAAU,IAA9B,EAAoC,OAApC,CAAb;AACD,OAVsB,CAYvB;AACA;;;AACA,UAAI,SAAS,CAAC,IAAI,CAAC,IAAL,CAAU,IAAX,CAAT,IAA6B,IAAjC,EAAuC;AACrC,cAAM,OAAO,GACT,mCAAU,IAAI,CAAC,IAAf,EAAqB,SAArB,EAAgC,OAAhC,EAAyC,KAAK,gBAA9C,CADJ;;AAEA,YAAI,CAAC,QAAL,EAAe;AACb,WAAC,QAAD,IAAa,gCAAoB,IAAI,CAAC,IAAL,CAAU,IAA9B,EAAoC,OAApC,CAAb;AACD;;AACD,cAAM,cAAc,GAAG,OAAO,CAAC,cAA/B;;AACA,YAAI,eAAK,SAAL,CAAe,OAAf,CAAJ,EAA6B;AAC3B,UAAA,QAAQ,CAAC,IAAT,CAAe,OAA6B,CAAC,IAA9B,CAAmC,CAAC,IAAG;AACpD,YAAA,SAAS,CAAC,QAAD,CAAT,GAAsB,CAAtB;AACA,YAAA,OAAO,CAAC,cAAR,GAAyB,cAAzB;AACA,iBAAK,sBAAL,CACI,QADJ,EACc,IAAI,CAAC,IADnB,EACyB,SADzB,EACoC,OADpC,EAC6C,aAD7C,EAEI,WAFJ,EAEiB,+BAFjB;AAGA,iBAAK,iBAAL,CACI,IAAI,CAAC,IADT,EACe,KADf,EACsB,OADtB,EAC+B,SAD/B,EAC0C,KAD1C,EACiD,SADjD;AAEA,mBAAO,CAAP;AACD,WATc,CAAf;AAUD,SAXD,MAWO;AACL,UAAA,SAAS,CAAC,QAAD,CAAT,GAAsB,OAAtB;AACA,eAAK,sBAAL,CACI,QADJ,EACc,IAAI,CAAC,IADnB,EACyB,SADzB,EACoC,OADpC,EAC6C,aAD7C,EAEI,WAFJ,EAEiB,+BAFjB;AAGA,eAAK,iBAAL,CACI,IAAI,CAAC,IADT,EACe,KADf,EACsB,OADtB,EAC+B,SAD/B,EAC0C,KAD1C,EACiD,SADjD;AAED;AACF,OA1BD,MA0BO;AACL,aAAK,iBAAL,CACI,IAAI,CAAC,IADT,EACe,KADf,EACsB,OADtB,EAC+B,SAD/B,EAC0C,KAD1C,EACiD,SADjD;AAED;AACF;;AACD,WAAO,QAAP;AACD;;AAEO,EAAA,iBAAiB,CACrB,IADqB,EACT,KADS,EACkB,OADlB,EAErB,SAFqB,EAEO,KAFP,EAGrB,SAHqB,EAGC;AACxB,IAAA,IAAI,CAAC,QAAL,CAAc,OAAd,CAAuB,SAAD,IAAc;AAClC,YAAM,CAAC,QAAD,IAAe,gCAAoB,SAAS,CAAC,IAA9B,EAAoC,OAApC,CAArB;;AACA,UAAI,KAAK,CAAC,QAAD,CAAL,IAAmB,CAAC,SAAS,CAAC,GAAV,CAAc,SAAS,CAAC,IAAxB,CAAxB,EAAuD;AACrD;AACD,OAJiC,CAKlC;;;AACA,UAAI,SAAS,CAAC,EAAV,KAAiB,OAArB,EAA8B;AAC5B,YAAI,SAAS,CAAC,UAAV,CAAqB,IAArB,CAA0B,IAAI,IAAG;AAC/B,iBAAO,CAAC,CAAC,sBAAU,IAAV,EAAgB,SAAhB,EAA2B,OAA3B,CAAT;AACD,SAFD,CAAJ,EAEQ;AACN,UAAA,KAAK,CAAC,QAAD,CAAL,GAAkB,IAAlB;AACA,UAAA,KAAK,CAAC,IAAN,CAAW;AAAC,YAAA,QAAQ,EAAE,OAAO,CAAC,cAAnB;AAAmC,YAAA,IAAI,EAAE;AAAzC,WAAX;AACD;AACF,OAPD,MAOQ;AACJ,YAAI,SAAS,CAAC,UAAV,CAAqB,KAArB,CAA2B,IAAI,IAAG;AAChC,iBAAO,CAAC,CAAC,sBAAU,IAAV,EAAgB,SAAhB,EAA2B,OAA3B,CAAT;AACD,SAFD,CAAJ,EAEQ;AACV,UAAA,KAAK,CAAC,QAAD,CAAL,GAAkB,IAAlB;AACA,UAAA,KAAK,CAAC,IAAN,CAAW;AAAC,YAAA,QAAQ,EAAE,OAAO,CAAC,cAAnB;AAAmC,YAAA,IAAI,EAAE;AAAzC,WAAX;AACD;AACF,KApBD;AAqBD;AAED;;;;;AAGA,EAAA,OAAO,GAAA;AACL,IAAA,MAAM,CAAC,IAAP,CAAY,KAAK,SAAjB,EACK,OADL,CAEQ,GAAG,IAAI,KAAK,SAAL,CAAe,GAAf,EAAoB,OAApB,CAA4B,MAAM,IAAI,MAAM,CAAC,OAAP,EAAtC,CAFf;AAGD;;AAEO,EAAA,sBAAsB,CAAC,MAAD,EAAuB;AACnD,IAAA,MAAM,CAAC,IAAP,CAAY,MAAZ,EAAoB,OAApB,CAA4B,IAAI,IAAG;AACjC,YAAM,KAAK,GAAG,MAAM,CAAC,IAAD,CAApB;AACA,YAAM,CAAC,QAAD,IAAe,0BAAc,IAAd,CAArB;AACA,YAAM,IAAI,GAAG,KAAK,KAAL,CAAW,KAAX,CAAiB,QAAjB,CAAb;;AACA,UAAI,IAAI,CAAC,UAAL,CAAgB,OAAhB,KAA4B,IAAI,CAAC,UAAL,CAAgB,OAAhB,EAAyB,KAAzD,EAAgE;AAC9D,cAAM,KAAK,GAAG,IAAI,CAAC,UAAL,CAAgB,OAAhB,EAAyB,KAAvC;AACA,cAAM,KAAK,GAAG,KAAK,CAAC,MAAN,KAAiB,KAAK,CAAC,KAAN,CAAY,MAA7B,IACV,KAAK,CAAC,KAAN,CAAY,KAAZ,CACI,CAAC,GAAD,EAAM,KAAN,KAAgB,KAAK,CAAC,KAAD,CAAL,KAAiB,CAAC,CAAlB,IAAuB,KAAK,CAAC,KAAD,CAAL,KAAiB,GAD5D,CADJ;;AAGA,uBAAK,MAAL,CACI,KADJ,EAEI,MAAM,sBAAsB,IAAI,CAAC,IAAI,iBAA/B,GACF,gCAAgC,KAAK,aADnC,GAEF,IAAI,KAAK,CAAC,KAAK,GAJvB;AAKD;;AACD,UAAI,IAAI,CAAC,UAAL,CAAgB,OAAhB,KAA4B,IAAI,CAAC,UAAL,CAAgB,OAAhB,EAAyB,KAAzD,EAAgE;AAC9D,uBAAK,MAAL,CACI,KAAK,CAAC,KAAN,KAAgB,IAAI,CAAC,UAAL,CAAgB,OAAhB,EAAyB,KAD7C,EAEI,MAAM,sBAAsB,IAAI,CAAC,IAAI,iBAA/B,GACF,8BADE,GAEF,GAAG,IAAI,CAAC,UAAL,CAAgB,OAAhB,EAAyB,KAAK,aAAa,KAAK,CAAC,KAAK,EAJjE;AAKD;AACF,KAtBD;AAuBD;;AAEO,EAAA,SAAS,CAAC,MAAD,EAAuB;AACtC,UAAM,MAAM,GAAmB,EAA/B;;AACA,SAAK,MAAM,SAAX,IAAwB,MAAxB,EAAgC;AAC9B,UAAI,KAAK,UAAL,IAAmB,IAAnB,IAA2B,KAAK,UAAL,CAAgB,MAAhB,IAA0B,IAArD,IACA,KAAK,UAAL,CAAgB,MAAhB,CAAuB,SAAvB,KAAqC,IADzC,EAC+C;AAC7C,cAAM,MAAM,GAAG,KAAK,UAAL,CAAgB,MAAhB,CAAuB,SAAvB,CAAf;AACA,QAAA,MAAM,CAAC,MAAM,CAAC,IAAR,CAAN,GAAsB,MAAM,CAAC,SAAD,CAA5B;AACD,OAJD,MAIO;AACL,QAAA,MAAM,CAAC,SAAD,CAAN,GAAoB,MAAM,CAAC,SAAD,CAA1B;AACD;AACF;;AACD,WAAO,MAAP;AACD;;AAEO,EAAA,WAAW,CAAC,MAAD,EAAuB;AACxC,UAAM,UAAU,GAAG,MAAM,CAAC,IAAP,CAAY,MAAZ,EAAoB,MAApB,CAA2B,IAAI,IAAG;AACnD,YAAM,CAAC,QAAD,IAAa,0BAAc,IAAd,CAAnB;AACA,aAAO,KAAK,KAAL,CAAW,KAAX,CAAiB,QAAjB,KAA8B,IAArC;AACD,KAHkB,CAAnB;;AAIA,QAAI,UAAU,CAAC,MAAX,GAAoB,CAAxB,EAA2B;AACzB,YAAM,IAAI,KAAJ,CACF,+CAAA,GACA,UAAU,UAAU,8BAFlB,CAAN;AAGD;AACF;;AAEO,EAAA,UAAU,CAAC,OAAD,EAAkB;AAClC,WAAO,OAAO,CAAC,GAAR,CAAY,IAAI,IAAG;AACxB,UAAI,KAAK,UAAL,IAAmB,IAAnB,IAA2B,KAAK,UAAL,CAAgB,OAAhB,IAA2B,IAAtD,IACA,KAAK,UAAL,CAAgB,OAAhB,CAAwB,IAAxB,KAAiC,IADrC,EAC2C;AACzC,cAAM,MAAM,GAAG,KAAK,UAAL,CAAgB,OAAhB,CAAwB,IAAxB,CAAf;AACA,eAAO,MAAM,CAAC,IAAd;AACD;;AACD,aAAO,IAAP;AACD,KAPM,EAOJ,EAPI,CAAP;AAQD;;AAEO,EAAA,YAAY,CAAC,OAAD,EAAkB;AACpC,IAAA,OAAO,CAAC,OAAR,CAAgB,IAAI,IAAG;AACrB,YAAM,CAAC,cAAD,IAAmB,0BAAc,IAAd,CAAzB;;AACA,UAAI,CAAC,KAAK,KAAL,CAAW,KAAX,CAAiB,cAAjB,CAAL,EAAuC;AACrC,cAAM,IAAI,KAAJ,CAAU,eAAe,IAAI,6BAA7B,CAAN;AACD;AACF,KALD;AAMD;;AAplBuB;;;;;;;;;;;AChB1B;;;AAGM,MAAO,eAAP,CAAsB;AAC1B,EAAA,WAAA,CACa,qBAAA,GAAwC,EADrD,EAEa,YAAA,GAA6B,EAF1C,EAE4C;AAD/B,SAAA,qBAAA,GAAA,qBAAA;AACA,SAAA,YAAA,GAAA,YAAA;AAAmC;AAEhD;;;;;;;;;;;AASA,EAAA,YAAY,CAAC,IAAD,EAAe,SAAf,EAAmC;AAC7C,SAAK,qBAAL,CAA2B,IAA3B,IAAmC,SAAS,CAAC,MAA7C;AACA,SAAK,YAAL,CAAkB,SAAS,CAAC,EAA5B,IAAkC,SAAlC;AACD;AAED;;;;;;;AAKA,EAAA,wBAAwB,CAAC,IAAD,EAAa;AACnC,WAAO,KAAK,qBAAL,CAA2B,IAA3B,CAAP;AACD;AAED;;;;;;AAIA,EAAA,gBAAgB,CAAC,EAAD,EAAW;AACzB,WAAO,KAAK,YAAL,CAAkB,EAAlB,CAAP;AACD;AAED;;;;;AAGA,EAAA,OAAO,GAAA;AACL,SAAK,MAAM,GAAX,IAAkB,KAAK,YAAvB,EAAqC;AACnC,WAAK,YAAL,CAAkB,GAAlB,EAAuB,aAAvB;AACA,aAAO,KAAK,YAAL,CAAkB,GAAlB,CAAP;AACD;;AAED,SAAK,MAAM,IAAX,IAAmB,KAAK,qBAAxB,EAA+C;AAC7C,WAAK,qBAAL,CAA2B,IAA3B,EAAiC,OAAjC;AACA,aAAO,KAAK,qBAAL,CAA2B,IAA3B,CAAP;AACD;AACF;;AAjDyB;;;;;;;;;;;;ACL5B;;AAIA;;AAEA;;AACA;;AAxBA;;;;;;;;;;;;;;;;AA0BO,MAAM,kBAAkB,GAAG,mBAA3B;;AACA,MAAM,kBAAkB,GAAG,YAA3B;AACP;;;;;;;;;;;;;AAUM,MAAO,UAAP,CAAiB;AA0CrB;;;;;;;;;AASA,EAAA,WAAA,CACY,QADZ,EAEY,WAAA,GAA8B,EAF1C,EAE4C;AADhC,SAAA,QAAA,GAAA,QAAA;AACA,SAAA,WAAA,GAAA,WAAA;AAnDJ,SAAA,OAAA,GAAU,KAAV;;AAoDN,QAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,WAAK,WAAL,GAAmB,EAAnB;AACD;;AACD,SAAK,eAAL,GAAuB,IAAI,iCAAJ,EAAvB;AACD,GA1DoB,CASrB;;;AACgB,MAAZ,YAAY,GAAA;AACd,WAAO,KAAK,OAAZ;AACD;;AAEa,MAAV,UAAU,GAAA;AACZ,WAAO,KAAK,QAAL,CAAc,UAArB;AACD;;AAEc,MAAX,WAAW,GAAA;AACb,WAAO,KAAK,QAAL,CAAc,WAArB;AACD;;AAES,MAAN,MAAM,GAAA;AACR,WAAO,KAAK,QAAL,CAAc,MAArB;AACD;;AAEU,MAAP,OAAO,GAAA;AACT,WAAO,KAAK,QAAL,CAAc,OAArB;AACD;;AAEU,MAAP,OAAO,GAAA;AACT,WAAO,KAAK,QAAL,CAAc,SAArB;AACD;;AAEW,MAAR,QAAQ,GAAA;AACV,WAAO,KAAK,SAAL,CAAe,mBAAtB;AACD;;AAEiB,MAAd,cAAc,GAAA;AAChB,WAAO,KAAK,SAAZ;AACD;;AAoBO,EAAA,aAAa,GAAA;AACnB,UAAM,IAAI,GAAG,KAAK,QAAlB;;AACA,QAAK,IAAqB,CAAC,IAAtB,IAA8B,IAAnC,EAAyC;AACvC;AACA,WAAK,OAAL,GAAe,IAAf;AACD,KAHD,MAGO,IAAI,KAAK,WAAL,CAAiB,WAAjB,IAAgC,IAApC,EAA0C;AAC/C,WAAK,OAAL,GAAe,aAAG,kBAAH,CAAsB,IAAtB,EAAsC,KAAK,WAA3C,CAAf;AACD,KAFM,MAEA;AACL,YAAM,QAAQ,GAAG,aAAG,eAAH,CAAmB,IAAnB,EAAmC,KAAK,WAAxC,CAAjB;;AACA,UAAI,QAAQ,CAAC,MAAT,KAAoB,CAAxB,EAA2B;AACzB;AACA;AACA,QAAA,QAAQ,CAAC,IAAT,CAAc,aAAG,kBAAH,CAAsB,IAAtB,EAAsC,KAAK,WAA3C,CAAd;AACD,OAJD,MAIO,IAAI,QAAQ,CAAC,MAAT,GAAkB,CAAtB,EAAyB;AAC9B,cAAM,IAAI,KAAJ,CACF,wBAAwB,QAAQ,CAAC,MAAM,sBAAvC,GACA,QAAQ,CAAC,IAAD,CAAM,GAFZ,CAAN;AAGD;;AACD,WAAK,OAAL,GAAe,QAAQ,CAAC,CAAD,CAAvB;AACD;AACF;AAED;;;;;;AAIU,QAAJ,IAAI,GAAA;AACR,SAAK,aAAL;;AACA,QAAI,KAAK,OAAL,CAAa,IAAb,IAAqB,IAAzB,EAA+B;AAC7B,YAAM,IAAI,KAAJ,CACF,sEACA,8CAFE,CAAN;AAGD;;AACD,UAAM,SAAS,GAAG,MAAM,KAAK,OAAL,CAAa,IAAb,EAAxB;AAEA,WAAO,KAAK,QAAL,CAAc,SAAd,CAAP;AACD;AAED;;;;;;;;AAMA,EAAA,QAAQ,CAAC,SAAD,EAA6B;AACnC,SAAK,SAAL,GAAiB,SAAjB;AACA,UAAM,KAAK,GAAG,KAAK,SAAL,CAAe,aAA7B;AAEA,QAAI,SAAJ;;AACA,QAAI,KAAK,SAAL,CAAe,mBAAf,IAAsC,IAAtC,IACA,KAAK,SAAL,CAAe,mBAAf,CAAmC,SAAnC,IAAgD,IADpD,EAC0D;AACxD,MAAA,SAAS,GAAI;AACR,WAAK,SAAL,CAAe,mBAAf,CAA2C,SADhD;AAGD,KALD,MAKO;AACL,MAAA,SAAS,GAAG,KAAK,SAAL,CAAe,SAA3B;AACD;;AACD,SAAK,SAAL,GAAiB,SAAjB;AAEA,SAAK,OAAL,GAAe,GAAG,KAAK,CAAC,QAAN,CAAe,QAAQ,IAAI,KAAK,CAAC,QAAN,CAAe,WAAW,EAAvE;;AACA,UAAM,SAAS,GACX,aAAG,aAAH,CAAiB,KAAK,SAAL,CAAe,UAAhC,EAA4C,KAAK,SAAL,CAAe,WAA3D,CADJ;;AAEA,SAAK,QAAL,GAAgB,IAAI,6BAAJ,CACZ,kCAAgB,QAAhB,CAAyB,cAAzB,CAAwC,KAAxC,EAA+C,KAAK,SAApD,CADY,CAAhB;AAEA,SAAK,QAAL,CAAc,SAAd,GAA0B,KAAK,4BAAL,CAAkC,SAAlC,CAA1B,CApBmC,CAqBnC;AACA;;AACA,SAAK,QAAL,CAAc,eAAd,GAAgC,KAAK,eAArC;;AAEA,QAAI,SAAS,CAAC,gBAAV,IAA8B,IAA9B,IACC,SAAS,CAAC,gBAAV,CAAoD,IAApD,IAA4D,IADjE,EACuE;AACrE,YAAM,WAAW,GACb,kCAAgB,QAAhB,CAAyB,cAAzB,CAAwC,SAAS,CAAC,gBAAlD,CADJ;;AAEA,WAAK,WAAL,GAAmB,IAAI,6BAAJ,CAAkB,WAAlB,CAAnB;AACA,WAAK,WAAL,CAAiB,SAAjB,GAA6B,KAAK,QAAL,CAAc,SAA3C,CAJqE,CAKrE;AACA;AACA;;AACA,WAAK,WAAL,CAAiB,eAAjB,GAAmC,KAAK,eAAxC;AACA,WAAK,WAAL,CAAiB,YAAjB,CAA8B,EAA9B,EAAkC,EAAlC;AACD;;AAED,WAAO,IAAP;AACD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CU,QAAJ,IAAI,CAAC,YAAD,EAAoC,MAApC,EAA0D;AAElE,QAAI,OAAO,YAAP,KAAwB,QAA5B,EAAsC;AACpC,YAAM,QAAQ,GAAG,aAAG,eAAH,CAAmB,YAAnB,CAAjB;;AACA,UAAI,QAAQ,CAAC,MAAT,KAAoB,CAAxB,EAA2B;AACzB,cAAM,IAAI,KAAJ,CACF,0CAA0C,YAAY,GADpD,CAAN;AAED,OAHD,MAGO,IAAI,QAAQ,CAAC,MAAT,GAAkB,CAAtB,EAAyB;AAC9B,cAAM,IAAI,KAAJ,CACF,wBAAwB,QAAQ,CAAC,MAAM,sBAAvC,GACA,QAAQ,YAAY,GAFlB,CAAN;AAGD;;AACD,MAAA,YAAY,GAAG,QAAQ,CAAC,CAAD,CAAvB;AACD;;AACD,QAAI,YAAY,CAAC,IAAb,IAAqB,IAAzB,EAA+B;AAC7B,YAAM,IAAI,KAAJ,CACF,4DACA,sDAFE,CAAN;AAGD;;AAED,WAAO,YAAY,CAAC,IAAb,CAAkB,KAAK,SAAvB,CAAP;AACD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,EAAA,OAAO,CAAC,MAAD,EAAyC,MAAzC,EAAoE;AAEzE,WAAO,KAAK,OAAL,CAAa,MAAb,EAAqB,KAAK,WAA1B,CAAP;AACD;;AAEO,EAAA,eAAe,CAAC,MAAD,EACe;AACpC,QAAI,EAAE,MAAM,YAAY,gBAApB,KAA+B,CAAC,KAAK,CAAC,OAAN,CAAc,MAAd,CAApC,EAA2D;AACzD;AACA,aAAO,MAAP;AACD;;AACD,IAAA,MAAM,GAAG,KAAK,CAAC,OAAN,CAAc,MAAd,IAAwB,MAAxB,GAAiC,CAAC,MAAD,CAA1C;;AACA,QAAI,MAAM,CAAC,MAAP,KAAkB,KAAK,UAAL,CAAgB,MAAtC,EAA8C;AAC5C,YAAM,IAAI,KAAJ,CACF,iCACA,uBAAuB,KAAK,UAAL,CAAgB,MAAM,iBAD7C,GAEA,mBAAmB,MAAM,CAAC,MAAM,iBAH9B,CAAN;AAID;;AACD,WAAO,KAAK,UAAL,CAAgB,MAAhB,CAAuB,CAAC,GAAD,EAAM,SAAN,EAAiB,CAAjB,KAAsB;AAClD,MAAA,GAAG,CAAC,SAAD,CAAH,GAAkB,MAAmB,CAAC,CAAD,CAArC;AACA,aAAO,GAAP;AACD,KAHM,EAGJ,EAHI,CAAP;AAID;;AAEO,EAAA,gBAAgB,CAAC,OAAD,EAAyB;AAC/C,IAAA,OAAO,GAAG,OAAO,IAAI,KAAK,WAA1B;AACA,WAAO,CAAC,KAAK,CAAC,OAAN,CAAc,OAAd,CAAD,GAA0B,CAAC,OAAD,CAA1B,GAAsC,OAA7C;AACD;AAED;;;;;;;;;;;;;;;;;;AAgBA,EAAA,OAAO,CAAC,MAAD,EAAyC,OAAzC,EAAkE;AAEvE,IAAA,MAAM,GAAG,KAAK,eAAL,CAAqB,MAArB,CAAT;AACA,IAAA,OAAO,GAAG,KAAK,gBAAL,CAAsB,OAAtB,CAAV;AACA,UAAM,MAAM,GAAG,KAAK,QAAL,CAAc,OAAd,CAAsB,MAAtB,EAA8B,OAA9B,CAAf;AACA,WAAO,MAAM,CAAC,MAAP,GAAgB,CAAhB,GAAoB,MAApB,GAA6B,MAAM,CAAC,CAAD,CAA1C;AACD;AACD;;;;;;;;;;;;;;;;;;AAgBkB,QAAZ,YAAY,CACd,MADc,EAEd,OAFc,EAEW;AAC3B,IAAA,MAAM,GAAG,KAAK,eAAL,CAAqB,MAArB,CAAT;AACA,IAAA,OAAO,GAAG,KAAK,gBAAL,CAAsB,OAAtB,CAAV;AACA,UAAM,MAAM,GAAG,MAAM,KAAK,QAAL,CAAc,YAAd,CAA2B,MAA3B,EAAmC,OAAnC,CAArB;AACA,WAAO,MAAM,CAAC,MAAP,GAAgB,CAAhB,GAAoB,MAApB,GAA6B,MAAM,CAAC,CAAD,CAA1C;AACD;;AAEO,EAAA,4BAA4B,CAAC,GAAD,EAAoB;AACtD,WAAO,MAAM,CAAC,IAAP,CAAY,GAAZ,EAAiB,MAAjB,CAAwB,CAAC,MAAD,EAA0B,GAA1B,KAAiC;AAC9D,MAAA,MAAM,CAAC,GAAD,CAAN,GAAc,CAAC,GAAG,CAAC,GAAD,CAAJ,CAAd;AACA,aAAO,MAAP;AACD,KAHM,EAGJ,EAHI,CAAP;AAID;AAED;;;;;;;AAKA,EAAA,OAAO,GAAA;AACL,SAAK,QAAL,CAAc,OAAd;;AAEA,QAAI,KAAK,WAAT,EAAsB;AACpB,WAAK,WAAL,CAAiB,OAAjB;AACD;;AAED,SAAK,eAAL,CAAqB,OAArB;AACD;;AA3VoB;AA8VvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BO,eAAe,cAAf,CACH,QADG,EAEH,OAAA,GAA0B,EAFvB,EAEyB;AAC9B,MAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB,UAAM,IAAI,KAAJ,CACF,uEACA,sCAFE,CAAN;AAGD;;AACD,MAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,IAAA,OAAO,GAAG,EAAV;AACD;;AAED,MAAI,OAAO,CAAC,SAAZ,EAAuB;AACrB,QAAK,QAAyB,CAAC,IAA1B,IAAkC,IAAvC,EAA6C;AAC3C,UAAI,CAAE,QAAmB,CAAC,QAApB,CAA6B,GAA7B,CAAN,EAAyC;AACvC,QAAA,QAAQ,GAAI,QAAmB,GAAG,GAAlC;AACD;;AACD,MAAA,QAAQ,GAAG,GAAG,QAAQ,GAAG,kBAAkB,GAAG,kBAAkB,EAAhE;AACD;AACF;;AACD,QAAM,KAAK,GAAG,IAAI,UAAJ,CAAe,QAAf,EAAyB,OAAzB,CAAd;AACA,QAAM,KAAK,CAAC,IAAN,EAAN;AACA,SAAO,KAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AtDzaD;;AACA;;AAEA;;;;;;;;;;AuDHA;;AAAuC;;AAA4D;;AAhBnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkc,IAAIC,CAAC,GAAC,UAASC,CAAT,EAAWnD,CAAX,EAAa;AAAC,SAAM,CAACkD,CAAC,GAACE,MAAM,CAACC,cAAP,IAAuB;AAACC,IAAAA,SAAS,EAAC;AAAX,eAAyBlC,KAAzB,IAAgC,UAAS+B,CAAT,EAAWnD,CAAX,EAAa;AAACmD,IAAAA,CAAC,CAACG,SAAF,GAAYtD,CAAZ;AAAc,GAAnF,IAAqF,UAASmD,CAAT,EAAWnD,CAAX,EAAa;AAAC,SAAI,IAAIsB,CAAR,IAAatB,CAAb,EAAeA,CAAC,CAACuD,cAAF,CAAiBjC,CAAjB,MAAsB6B,CAAC,CAAC7B,CAAD,CAAD,GAAKtB,CAAC,CAACsB,CAAD,CAA5B;AAAiC,GAAtJ,EAAwJ6B,CAAxJ,EAA0JnD,CAA1J,CAAN;AAAmK,CAAvL;;AAAwL,SAASwD,CAAT,CAAWL,CAAX,EAAanD,CAAb,EAAe;AAAC,WAASsB,CAAT,GAAY;AAAC,SAAKmC,WAAL,GAAiBN,CAAjB;AAAmB;;AAAAD,EAAAA,CAAC,CAACC,CAAD,EAAGnD,CAAH,CAAD,EAAOmD,CAAC,CAACzB,SAAF,GAAY,SAAO1B,CAAP,GAASoD,MAAM,CAACM,MAAP,CAAc1D,CAAd,CAAT,IAA2BsB,CAAC,CAACI,SAAF,GAAY1B,CAAC,CAAC0B,SAAd,EAAwB,IAAIJ,CAAJ,EAAnD,CAAnB;AAA6E;;AAAA,IAAIqC,CAAC,GAAC,YAAU;AAAC,SAAM,CAACA,CAAC,GAACP,MAAM,CAACQ,MAAP,IAAe,UAAST,CAAT,EAAW;AAAC,SAAI,IAAInD,CAAJ,EAAMsB,CAAC,GAAC,CAAR,EAAUuC,CAAC,GAACxC,SAAS,CAACT,MAA1B,EAAiCU,CAAC,GAACuC,CAAnC,EAAqCvC,CAAC,EAAtC,EAAyC,KAAI,IAAIwC,CAAR,IAAa9D,CAAC,GAACqB,SAAS,CAACC,CAAD,CAAxB,EAA4B8B,MAAM,CAAC1B,SAAP,CAAiB6B,cAAjB,CAAgCnD,IAAhC,CAAqCJ,CAArC,EAAuC8D,CAAvC,MAA4CX,CAAC,CAACW,CAAD,CAAD,GAAK9D,CAAC,CAAC8D,CAAD,CAAlD;;AAAuD,WAAOX,CAAP;AAAS,GAAnK,EAAqKxB,KAArK,CAA2K,IAA3K,EAAgLN,SAAhL,CAAN;AAAiM,CAAlN;;AAAmN,SAAS0C,CAAT,CAAWZ,CAAX,EAAanD,CAAb,EAAesB,CAAf,EAAiBuC,CAAjB,EAAmB;AAAC,SAAO,KAAIvC,CAAC,KAAGA,CAAC,GAAC0C,OAAL,CAAL,EAAqB,UAASF,CAAT,EAAWG,CAAX,EAAa;AAAC,aAASC,CAAT,CAAWf,CAAX,EAAa;AAAC,UAAG;AAACgB,QAAAA,CAAC,CAACN,CAAC,CAACO,IAAF,CAAOjB,CAAP,CAAD,CAAD;AAAa,OAAjB,CAAiB,OAAMA,CAAN,EAAQ;AAACc,QAAAA,CAAC,CAACd,CAAD,CAAD;AAAK;AAAC;;AAAA,aAASkB,CAAT,CAAWlB,CAAX,EAAa;AAAC,UAAG;AAACgB,QAAAA,CAAC,CAACN,CAAC,CAACS,KAAF,CAAQnB,CAAR,CAAD,CAAD;AAAc,OAAlB,CAAkB,OAAMA,CAAN,EAAQ;AAACc,QAAAA,CAAC,CAACd,CAAD,CAAD;AAAK;AAAC;;AAAA,aAASgB,CAAT,CAAWhB,CAAX,EAAa;AAAC,UAAInD,CAAJ;AAAMmD,MAAAA,CAAC,CAACoB,IAAF,GAAOT,CAAC,CAACX,CAAC,CAACqB,KAAH,CAAR,GAAkB,CAACxE,CAAC,GAACmD,CAAC,CAACqB,KAAJ,EAAUxE,CAAC,YAAYsB,CAAb,GAAetB,CAAf,GAAiB,IAAIsB,CAAJ,CAAO,UAAS6B,CAAT,EAAW;AAACA,QAAAA,CAAC,CAACnD,CAAD,CAAD;AAAK,OAAxB,CAA5B,EAAwDyE,IAAxD,CAA6DP,CAA7D,EAA+DG,CAA/D,CAAlB;AAAoF;;AAAAF,IAAAA,CAAC,CAAC,CAACN,CAAC,GAACA,CAAC,CAAClC,KAAF,CAAQwB,CAAR,EAAUnD,CAAC,IAAE,EAAb,CAAH,EAAqBoE,IAArB,EAAD,CAAD;AAA+B,GAAvQ,CAAP;AAAiR;;AAAA,SAASM,CAAT,CAAWvB,CAAX,EAAanD,CAAb,EAAe;AAAC,MAAIsB,CAAJ;AAAA,MAAMuC,CAAN;AAAA,MAAQC,CAAR;AAAA,MAAUG,CAAV;AAAA,MAAYC,CAAC,GAAC;AAACS,IAAAA,KAAK,EAAC,CAAP;AAASC,IAAAA,IAAI,EAAC,YAAU;AAAC,UAAG,IAAEd,CAAC,CAAC,CAAD,CAAN,EAAU,MAAMA,CAAC,CAAC,CAAD,CAAP;AAAW,aAAOA,CAAC,CAAC,CAAD,CAAR;AAAY,KAA1D;AAA2De,IAAAA,IAAI,EAAC,EAAhE;AAAmEC,IAAAA,GAAG,EAAC;AAAvE,GAAd;AAAyF,SAAOb,CAAC,GAAC;AAACG,IAAAA,IAAI,EAACC,CAAC,CAAC,CAAD,CAAP;AAAWC,IAAAA,KAAK,EAACD,CAAC,CAAC,CAAD,CAAlB;AAAsBU,IAAAA,MAAM,EAACV,CAAC,CAAC,CAAD;AAA9B,GAAF,EAAqC,cAAY,OAAOW,MAAnB,KAA4Bf,CAAC,CAACe,MAAM,CAACC,QAAR,CAAD,GAAmB,YAAU;AAAC,WAAO,IAAP;AAAY,GAAtE,CAArC,EAA6GhB,CAApH;;AAAsH,WAASI,CAAT,CAAWJ,CAAX,EAAa;AAAC,WAAO,UAASI,CAAT,EAAW;AAAC,aAAO,UAASJ,CAAT,EAAW;AAAC,YAAG3C,CAAH,EAAK,MAAM,IAAI4D,SAAJ,CAAc,iCAAd,CAAN;;AAAuD,eAAKhB,CAAL,GAAQ,IAAG;AAAC,cAAG5C,CAAC,GAAC,CAAF,EAAIuC,CAAC,KAAGC,CAAC,GAAC,IAAEG,CAAC,CAAC,CAAD,CAAH,GAAOJ,CAAC,CAACkB,MAAT,GAAgBd,CAAC,CAAC,CAAD,CAAD,GAAKJ,CAAC,CAACS,KAAF,KAAU,CAACR,CAAC,GAACD,CAAC,CAACkB,MAAL,KAAcjB,CAAC,CAAC1D,IAAF,CAAOyD,CAAP,CAAd,EAAwB,CAAlC,CAAL,GAA0CA,CAAC,CAACO,IAAjE,CAAD,IAAyE,CAAC,CAACN,CAAC,GAACA,CAAC,CAAC1D,IAAF,CAAOyD,CAAP,EAASI,CAAC,CAAC,CAAD,CAAV,CAAH,EAAmBM,IAApG,EAAyG,OAAOT,CAAP;;AAAS,kBAAOD,CAAC,GAAC,CAAF,EAAIC,CAAC,KAAGG,CAAC,GAAC,CAAC,IAAEA,CAAC,CAAC,CAAD,CAAJ,EAAQH,CAAC,CAACU,KAAV,CAAL,CAAL,EAA4BP,CAAC,CAAC,CAAD,CAApC;AAAyC,iBAAK,CAAL;AAAO,iBAAK,CAAL;AAAOH,cAAAA,CAAC,GAACG,CAAF;AAAI;;AAAM,iBAAK,CAAL;AAAO,qBAAOC,CAAC,CAACS,KAAF,IAAU;AAACH,gBAAAA,KAAK,EAACP,CAAC,CAAC,CAAD,CAAR;AAAYM,gBAAAA,IAAI,EAAC,CAAC;AAAlB,eAAjB;;AAAsC,iBAAK,CAAL;AAAOL,cAAAA,CAAC,CAACS,KAAF,IAAUd,CAAC,GAACI,CAAC,CAAC,CAAD,CAAb,EAAiBA,CAAC,GAAC,CAAC,CAAD,CAAnB;AAAuB;;AAAS,iBAAK,CAAL;AAAOA,cAAAA,CAAC,GAACC,CAAC,CAACY,GAAF,CAAMK,GAAN,EAAF,EAAcjB,CAAC,CAACW,IAAF,CAAOM,GAAP,EAAd;AAA2B;;AAAS;AAAQ,kBAAG,EAAErB,CAAC,GAACI,CAAC,CAACW,IAAJ,EAAS,CAACf,CAAC,GAACA,CAAC,CAAClD,MAAF,GAAS,CAAT,IAAYkD,CAAC,CAACA,CAAC,CAAClD,MAAF,GAAS,CAAV,CAAhB,KAA+B,MAAIqD,CAAC,CAAC,CAAD,CAAL,IAAU,MAAIA,CAAC,CAAC,CAAD,CAAzD,CAAH,EAAiE;AAACC,gBAAAA,CAAC,GAAC,CAAF;AAAI;AAAS;;AAAA,kBAAG,MAAID,CAAC,CAAC,CAAD,CAAL,KAAW,CAACH,CAAD,IAAIG,CAAC,CAAC,CAAD,CAAD,GAAKH,CAAC,CAAC,CAAD,CAAN,IAAWG,CAAC,CAAC,CAAD,CAAD,GAAKH,CAAC,CAAC,CAAD,CAAhC,CAAH,EAAwC;AAACI,gBAAAA,CAAC,CAACS,KAAF,GAAQV,CAAC,CAAC,CAAD,CAAT;AAAa;AAAM;;AAAA,kBAAG,MAAIA,CAAC,CAAC,CAAD,CAAL,IAAUC,CAAC,CAACS,KAAF,GAAQb,CAAC,CAAC,CAAD,CAAtB,EAA0B;AAACI,gBAAAA,CAAC,CAACS,KAAF,GAAQb,CAAC,CAAC,CAAD,CAAT,EAAaA,CAAC,GAACG,CAAf;AAAiB;AAAM;;AAAA,kBAAGH,CAAC,IAAEI,CAAC,CAACS,KAAF,GAAQb,CAAC,CAAC,CAAD,CAAf,EAAmB;AAACI,gBAAAA,CAAC,CAACS,KAAF,GAAQb,CAAC,CAAC,CAAD,CAAT,EAAaI,CAAC,CAACY,GAAF,CAAMvD,IAAN,CAAW0C,CAAX,CAAb;AAA2B;AAAM;;AAAAH,cAAAA,CAAC,CAAC,CAAD,CAAD,IAAMI,CAAC,CAACY,GAAF,CAAMK,GAAN,EAAN,EAAkBjB,CAAC,CAACW,IAAF,CAAOM,GAAP,EAAlB;AAA+B;AAAzd;;AAAkelB,UAAAA,CAAC,GAACjE,CAAC,CAACI,IAAF,CAAO+C,CAAP,EAASe,CAAT,CAAF;AAAc,SAAtmB,CAAsmB,OAAMf,CAAN,EAAQ;AAACc,UAAAA,CAAC,GAAC,CAAC,CAAD,EAAGd,CAAH,CAAF,EAAQU,CAAC,GAAC,CAAV;AAAY,SAA3nB,SAAkoB;AAACvC,UAAAA,CAAC,GAACwC,CAAC,GAAC,CAAJ;AAAM;;AAAA,YAAG,IAAEG,CAAC,CAAC,CAAD,CAAN,EAAU,MAAMA,CAAC,CAAC,CAAD,CAAP;AAAW,eAAM;AAACO,UAAAA,KAAK,EAACP,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAN,GAAU,KAAK,CAAtB;AAAwBM,UAAAA,IAAI,EAAC,CAAC;AAA9B,SAAN;AAAuC,OAArxB,CAAsxB,CAACN,CAAD,EAAGI,CAAH,CAAtxB,CAAP;AAAoyB,KAAvzB;AAAwzB;AAAC;;AAAA,IAAIe,CAAC,GAAC,CAAC,MAAD,EAAQ,UAAR,EAAmB,WAAnB,EAA+B,UAA/B,EAA0C,WAA1C,EAAsD,eAAtD,EAAsE,gBAAtE,EAAuF,YAAvF,EAAoG,aAApG,EAAkH,YAAlH,EAA+H,aAA/H,EAA6I,UAA7I,EAAwJ,WAAxJ,EAAoK,WAApK,EAAgL,YAAhL,EAA6L,YAA7L,EAA0M,aAA1M,CAAN;AAAA,IAA+NC,CAAC,GAAC,CAAC,MAAD,EAAQ,gBAAR,EAAyB,UAAzB,EAAoC,gBAApC,EAAqD,iBAArD,EAAuE,WAAvE,EAAmF,iBAAnF,EAAqG,UAArG,EAAgH,WAAhH,EAA4H,YAA5H,EAAyI,aAAzI,EAAuJ,eAAvJ,EAAuK,gBAAvK,EAAwL,YAAxL,EAAqM,aAArM,EAAmN,YAAnN,EAAgO,aAAhO,EAA8O,YAA9O,EAA2P,aAA3P,EAAyQ,YAAzQ,EAAsR,aAAtR,EAAoS,YAApS,EAAiT,aAAjT,EAA+T,UAA/T,EAA0U,WAA1U,EAAsV,WAAtV,EAAkW,YAAlW,EAA+W,YAA/W,EAA4X,aAA5X,EAA0Y,WAA1Y,EAAsZ,YAAtZ,EAAma,iBAAna,EAAqb,kBAArb,CAAjO;AAAA,IAA0qBC,CAAC,GAAC;AAACC,EAAAA,IAAI,EAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,EAAX,EAAc,EAAd,EAAiB,EAAjB,EAAoB,EAApB,EAAuB,EAAvB,EAA0B,EAA1B,EAA6B,EAA7B,EAAgC,EAAhC,EAAmC,EAAnC,EAAsC,EAAtC,EAAyC,EAAzC,CAAN;AAAmDC,EAAAA,KAAK,EAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,EAAT,EAAY,EAAZ,EAAe,EAAf,EAAkB,EAAlB,EAAqB,EAArB,EAAwB,EAAxB,EAA2B,EAA3B,EAA8B,EAA9B,EAAiC,EAAjC,EAAoC,EAApC,EAAuC,EAAvC,EAA0C,EAA1C,CAAzD;AAAuGC,EAAAA,MAAM,EAAC,CAAC,CAAD;AAA9G,CAA5qB;AAAA,IAA+xBC,CAAC,GAAC;AAACH,EAAAA,IAAI,EAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT,EAAW,EAAX,EAAc,EAAd,EAAiB,EAAjB,CAAN;AAA2BC,EAAAA,KAAK,EAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,EAAT,EAAY,EAAZ,EAAe,EAAf,EAAkB,EAAlB,CAAjC;AAAuDC,EAAAA,MAAM,EAAC,CAAC,CAAD;AAA9D,CAAjyB;AAAA,IAAo2BE,CAAC,GAAC,CAAC,CAAC,CAAD,EAAG,CAAH,CAAD,EAAO,CAAC,CAAD,EAAG,CAAH,CAAP,EAAa,CAAC,CAAD,EAAG,CAAH,CAAb,EAAmB,CAAC,CAAD,EAAG,CAAH,CAAnB,EAAyB,CAAC,CAAD,EAAG,CAAH,CAAzB,EAA+B,CAAC,CAAD,EAAG,CAAH,CAA/B,EAAqC,CAAC,CAAD,EAAG,EAAH,CAArC,EAA4C,CAAC,CAAD,EAAG,CAAH,CAA5C,EAAkD,CAAC,CAAD,EAAG,EAAH,CAAlD,EAAyD,CAAC,CAAD,EAAG,CAAH,CAAzD,EAA+D,CAAC,CAAD,EAAG,EAAH,CAA/D,EAAsE,CAAC,EAAD,EAAI,EAAJ,CAAtE,EAA8E,CAAC,EAAD,EAAI,EAAJ,CAA9E,EAAsF,CAAC,EAAD,EAAI,EAAJ,CAAtF,EAA8F,CAAC,EAAD,EAAI,EAAJ,CAA9F,EAAsG,CAAC,EAAD,EAAI,EAAJ,CAAtG,CAAt2B;AAAA,IAAq9BC,CAAC,GAAC,CAAC,CAAC,CAAD,EAAG,CAAH,CAAD,EAAO,CAAC,CAAD,EAAG,CAAH,CAAP,EAAa,CAAC,CAAD,EAAG,CAAH,CAAb,EAAmB,CAAC,CAAD,EAAG,CAAH,CAAnB,EAAyB,CAAC,CAAD,EAAG,CAAH,CAAzB,EAA+B,CAAC,CAAD,EAAG,CAAH,CAA/B,EAAqC,CAAC,CAAD,EAAG,CAAH,CAArC,EAA2C,CAAC,CAAD,EAAG,CAAH,CAA3C,EAAiD,CAAC,CAAD,EAAG,EAAH,CAAjD,EAAwD,CAAC,EAAD,EAAI,EAAJ,CAAxD,EAAgE,CAAC,EAAD,EAAI,EAAJ,CAAhE,EAAwE,CAAC,EAAD,EAAI,EAAJ,CAAxE,EAAgF,CAAC,EAAD,EAAI,EAAJ,CAAhF,EAAwF,CAAC,EAAD,EAAI,EAAJ,CAAxF,EAAgG,CAAC,EAAD,EAAI,EAAJ,CAAhG,EAAwG,CAAC,EAAD,EAAI,EAAJ,CAAxG,EAAgH,CAAC,EAAD,EAAI,EAAJ,CAAhH,EAAwH,CAAC,EAAD,EAAI,EAAJ,CAAxH,EAAgI,CAAC,EAAD,EAAI,EAAJ,CAAhI,EAAwI,CAAC,EAAD,EAAI,EAAJ,CAAxI,EAAgJ,CAAC,EAAD,EAAI,EAAJ,CAAhJ,EAAwJ,CAAC,EAAD,EAAI,EAAJ,CAAxJ,EAAgK,CAAC,EAAD,EAAI,EAAJ,CAAhK,EAAwK,CAAC,EAAD,EAAI,EAAJ,CAAxK,EAAgL,CAAC,EAAD,EAAI,EAAJ,CAAhL,EAAwL,CAAC,EAAD,EAAI,EAAJ,CAAxL,EAAgM,CAAC,EAAD,EAAI,EAAJ,CAAhM,EAAwM,CAAC,EAAD,EAAI,EAAJ,CAAxM,EAAgN,CAAC,EAAD,EAAI,EAAJ,CAAhN,EAAwN,CAAC,EAAD,EAAI,EAAJ,CAAxN,EAAgO,CAAC,EAAD,EAAI,EAAJ,CAAhO,EAAwO,CAAC,EAAD,EAAI,EAAJ,CAAxO,EAAgP,CAAC,EAAD,EAAI,EAAJ,CAAhP,EAAwP,CAAC,EAAD,EAAI,EAAJ,CAAxP,EAAgQ,CAAC,EAAD,EAAI,EAAJ,CAAhQ,EAAwQ,CAAC,EAAD,EAAI,EAAJ,CAAxQ,CAAv9B;AAAA,IAAwuCC,CAAC,GAAC;AAACC,EAAAA,OAAO,EAAC,WAAT;AAAqBC,EAAAA,eAAe,EAAC,CAAC,CAAtC;AAAwCC,EAAAA,SAAS,EAAC;AAAlD,CAA1uC;;AAAoyC,IAAIC,CAAC,GAAC,YAAU;AAAC,WAASjG,CAAT,CAAWA,CAAX,EAAa;AAAC,QAAIsB,CAAJ;AAAA,QAAMuC,CAAC,GAAC,IAAR;;AAAa,YAAO,KAAKqC,KAAL,GAAW,CAAX,EAAa,KAAKC,MAAL,GAAY,CAAzB,EAA2B,KAAKC,UAAL,GAAgB,CAAC,CAA5C,EAA8C,KAAKC,YAAL,GAAkB,IAAIlD,UAAJ,CAAM;AAACmD,MAAAA,UAAU,EAAC,UAASnD,CAAT,EAAW7B,CAAX,EAAa;AAAC,eAAOtB,CAAC,CAACuG,YAAF,GAAevG,CAAC,CAACuG,YAAF,CAAeC,OAAf,CAAuB,MAAvB,EAA8B,EAA9B,IAAkC,GAAlC,GAAsCrD,CAArD,GAAuD7B,CAAC,GAAC,GAAF,GAAM6B,CAApE;AAAsE;AAAhG,KAAN,CAAhE,EAAyKnD,CAAC,CAACgG,SAAlL;AAA6L,WAAI,MAAJ;AAAW1E,QAAAA,CAAC,GAAC,CAAF;AAAI;;AAAM,WAAI,OAAJ;AAAYA,QAAAA,CAAC,GAAC,CAAF;AAAI;;AAAM,WAAI,MAAJ;AAAW;AAAQA,QAAAA,CAAC,GAAC,CAAF;AAA3P;;AAA+P,SAAK+E,YAAL,CAAkBI,UAAlB,CAA6B;AAACC,MAAAA,eAAe,EAACpF,CAAjB;AAAmBqF,MAAAA,eAAe,EAAC3G,CAAC,CAAC+F,eAAF,IAAmB,CAAC,CAAvD;AAAyDK,MAAAA,UAAU,EAAC,KAAKA;AAAzE,KAA7B,GAAmH,KAAKC,YAAL,CAAkBO,SAAlB,CAA6B,UAASzD,CAAT,EAAW;AAACU,MAAAA,CAAC,CAACsC,MAAF,GAAShD,CAAC,CAAC0D,KAAF,CAAQV,MAAjB,EAAwBtC,CAAC,CAACqC,KAAF,GAAQ/C,CAAC,CAAC0D,KAAF,CAAQX,KAAxC,EAA8C,QAAM/C,CAAC,CAAC2D,aAAR,GAAsBjD,CAAC,CAACkD,KAAF,GAAQ,EAA9B,GAAiClD,CAAC,CAACkD,KAAF,GAAQ,CAAClD,CAAC,CAACmD,eAAF,CAAkB7D,CAAC,CAAC2D,aAApB,EAAkC3D,CAAC,CAAC8D,kBAApC,CAAD,CAAvF;AAAiJ,KAA1L,CAAnH;AAAgT;;AAAA,SAAOjH,CAAC,CAAC0B,SAAF,CAAYsF,eAAZ,GAA4B,UAAS7D,CAAT,EAAWnD,CAAX,EAAa;AAAC,QAAIsB,CAAC,GAAC,IAAN;AAAA,QAAWuC,CAAC,GAAC;AAACqD,MAAAA,SAAS,EAAC/D,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAWnD,CAAX,EAAa;AAAC,eAAM;AAACoH,UAAAA,CAAC,EAACjE,CAAC,CAACiE,CAAF,GAAI9F,CAAC,CAAC4E,KAAT;AAAemB,UAAAA,CAAC,EAAClE,CAAC,CAACkE,CAAF,GAAI/F,CAAC,CAAC6E,MAAvB;AAA8Bf,UAAAA,CAAC,EAACjC,CAAC,CAACiC,CAAlC;AAAoCkC,UAAAA,KAAK,EAACnE,CAAC,CAACoE,UAA5C;AAAuD3E,UAAAA,IAAI,EAACyC,CAAC,CAACrF,CAAD;AAA7D,SAAN;AAAwE,OAA7F;AAAX,KAAb;AAAyH,WAAO,QAAMA,CAAN,KAAU6D,CAAC,CAAC2D,WAAF,GAAcxH,CAAC,CAACmH,GAAF,CAAO,UAAShE,CAAT,EAAWnD,CAAX,EAAa;AAAC,aAAM;AAACoH,QAAAA,CAAC,EAACjE,CAAC,CAACiE,CAAL;AAAOC,QAAAA,CAAC,EAAClE,CAAC,CAACkE,CAAX;AAAajC,QAAAA,CAAC,EAACjC,CAAC,CAACiC,CAAjB;AAAmBkC,QAAAA,KAAK,EAACnE,CAAC,CAACoE,UAA3B;AAAsC3E,QAAAA,IAAI,EAACyC,CAAC,CAACrF,CAAD;AAA5C,OAAN;AAAuD,KAA5E,CAAxB,GAAwG6D,CAA/G;AAAiH,GAApR,EAAqR7D,CAAC,CAAC0B,SAAF,CAAY+F,aAAZ,GAA0B,UAAStE,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,WAAOyC,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,aAAOW,CAAC,CAAC,IAAD,EAAO,UAASb,CAAT,EAAW;AAAC,gBAAOA,CAAC,CAACc,KAAT;AAAgB,eAAK,CAAL;AAAO,mBAAO3E,CAAC,IAAEA,CAAC,CAAC0H,cAAL,IAAqB1H,CAAC,CAAC0H,cAAF,KAAmB,KAAKtB,UAA7C,KAA0D,KAAKA,UAAL,GAAgBpG,CAAC,CAAC0H,cAAlB,EAAiC,KAAKrB,YAAL,CAAkBI,UAAlB,CAA6B;AAACL,cAAAA,UAAU,EAAC,KAAKA;AAAjB,aAA7B,CAA3F,GAAuJ,CAAC,CAAD,EAAG,KAAKC,YAAL,CAAkBsB,IAAlB,CAAuB;AAACd,cAAAA,KAAK,EAAC1D;AAAP,aAAvB,EAAiC7B,CAAjC,CAAH,CAA9J;;AAAsM,eAAK,CAAL;AAAO,mBAAOuC,CAAC,CAACe,IAAF,IAAS,CAAC,CAAD,EAAG,KAAKmC,KAAR,CAAhB;AAApO;AAAoQ,OAAvR,CAAR;AAAkS,KAAlU,CAAR;AAA6U,GAA5oB,EAA6oB/G,CAAC,CAAC0B,SAAF,CAAYkG,OAAZ,GAAoB,YAAU;AAAC,SAAKvB,YAAL,CAAkBwB,KAAlB;AAA0B,GAAtsB,EAAusB7H,CAAC,CAAC0B,SAAF,CAAYoG,KAAZ,GAAkB,YAAU;AAAC,SAAKzB,YAAL,CAAkByB,KAAlB;AAA0B,GAA9vB,EAA+vB9H,CAAC,CAAC0B,SAAF,CAAYqG,UAAZ,GAAuB,YAAU;AAAC,WAAO,KAAK1B,YAAL,CAAkB0B,UAAlB,EAAP;AAAsC,GAAv0B,EAAw0B/H,CAA/0B;AAAi1B,CAAt6C,EAAN;;AAA+6C,SAASgI,CAAT,CAAW7E,CAAX,EAAa;AAAC,SAAOY,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,QAAI/D,CAAJ,EAAMsB,CAAN;AAAQ,WAAOoD,CAAC,CAAC,IAAD,EAAO,UAASb,CAAT,EAAW;AAAC,cAAOA,CAAC,CAACc,KAAT;AAAgB,aAAK,CAAL;AAAO,iBAAO3E,CAAC,GAAC,UAASmD,CAAT,EAAW;AAAC,gBAAG,QAAMA,CAAT,EAAW,OAAOQ,CAAC,CAAC,EAAD,EAAIkC,CAAJ,CAAR;AAAe,gBAAI7F,CAAC,GAAC2D,CAAC,CAAC,EAAD,EAAIR,CAAJ,CAAP;AAAc,mBAAOnD,CAAC,CAAC8F,OAAF,GAAU,WAAV,EAAsB,QAAM9F,CAAC,CAAC+F,eAAR,KAA0B/F,CAAC,CAAC+F,eAAF,GAAkBF,CAAC,CAACE,eAA9C,CAAtB,EAAqF,QAAM/F,CAAC,CAACgG,SAAR,KAAoBhG,CAAC,CAACgG,SAAF,GAAYH,CAAC,CAACG,SAAlC,CAArF,EAAkIhG,CAAzI;AAA2I,WAA/L,CAAgMmD,CAAhM,CAAF,EAAqM,CAAC,CAAD,EAAG,CAAC7B,CAAC,GAAC,IAAI2E,CAAJ,CAAMjG,CAAN,CAAH,EAAa+H,UAAb,EAAH,CAA5M;;AAA0O,aAAK,CAAL;AAAO,iBAAOlE,CAAC,CAACe,IAAF,IAAS,CAAC,CAAD,EAAGtD,CAAH,CAAhB;AAAxQ;AAA+R,KAAlT,CAAR;AAA6T,GAArW,CAAR;AAAgX;;AAAA,SAAS2G,CAAT,CAAW9E,CAAX,EAAa;AAAC,SAAOA,CAAC,YAAY7B,gBAAb,GAAe;AAAC6E,IAAAA,MAAM,EAAChD,CAAC,CAAC+E,KAAF,CAAQ,CAAR,CAAR;AAAmBhC,IAAAA,KAAK,EAAC/C,CAAC,CAAC+E,KAAF,CAAQ,CAAR;AAAzB,GAAf,GAAoD;AAAC/B,IAAAA,MAAM,EAAChD,CAAC,CAACgD,MAAV;AAAiBD,IAAAA,KAAK,EAAC/C,CAAC,CAAC+C;AAAzB,GAA3D;AAA2F;;AAAA,SAASiC,CAAT,CAAWhF,CAAX,EAAa;AAAC,SAAOA,CAAC,GAAC,IAAEiF,IAAI,CAACC,EAAP,GAAUD,IAAI,CAACE,KAAL,CAAW,CAACnF,CAAC,GAACiF,IAAI,CAACC,EAAR,KAAa,IAAED,IAAI,CAACC,EAApB,CAAX,CAAnB;AAAuD;;AAAA,SAASE,CAAT,CAAWpF,CAAX,EAAa;AAAC,SAAOA,CAAC,YAAY7B,gBAAb,GAAe6B,CAAf,GAAiBU,kBAAE2E,UAAF,CAAarF,CAAb,CAAxB;AAAwC;;AAAA,SAASsF,CAAT,CAAWtF,CAAX,EAAanD,CAAb,EAAe;AAAC8D,iBAAE4E,MAAF,CAAS,MAAIvF,CAAC,CAAC+C,KAAf,EAAsB,YAAU;AAAC,WAAOlG,CAAC,GAAC,qBAAT;AAA+B,GAAhE,GAAmE8D,eAAE4E,MAAF,CAAS,MAAIvF,CAAC,CAACgD,MAAf,EAAuB,YAAU;AAAC,WAAOnG,CAAC,GAAC,sBAAT;AAAgC,GAAlE,CAAnE;AAAwI;;AAAA,SAAS2I,CAAT,CAAWxF,CAAX,EAAanD,CAAb,EAAesB,CAAf,EAAiB;AAAC,MAAIuC,CAAC,GAAC7D,CAAC,CAAC4I,eAAR;AAAA,MAAwB9E,CAAC,GAAC9D,CAAC,CAAC6I,eAA5B;AAAA,MAA4CC,CAAC,GAACb,CAAC,CAAC9E,CAAD,CAA/C;AAAA,MAAmD4F,CAAC,GAAC,UAAS5F,CAAT,EAAWnD,CAAX,EAAa;AAAC,WAAOA,CAAC,GAAC;AAACgJ,MAAAA,OAAO,EAAChJ,CAAC,CAACgJ,OAAF,GAAU7F,CAAC,CAAC+C,KAArB;AAA2B+C,MAAAA,OAAO,EAACjJ,CAAC,CAACiJ,OAAF,GAAU9F,CAAC,CAACgD,MAA/C;AAAsDD,MAAAA,KAAK,EAAClG,CAAC,CAACkG,KAAF,GAAQ/C,CAAC,CAAC+C,KAAtE;AAA4EC,MAAAA,MAAM,EAACnG,CAAC,CAACmG,MAAF,GAAShD,CAAC,CAACgD,MAA9F;AAAqG+C,MAAAA,QAAQ,EAAClJ,CAAC,CAACkJ;AAAhH,KAAD,GAA2H;AAACF,MAAAA,OAAO,EAAC,KAAG7F,CAAC,CAAC+C,KAAd;AAAoB+C,MAAAA,OAAO,EAAC,KAAG9F,CAAC,CAACgD,MAAjC;AAAwCD,MAAAA,KAAK,EAAC/C,CAAC,CAAC+C,KAAhD;AAAsDC,MAAAA,MAAM,EAAChD,CAAC,CAACgD,MAA/D;AAAsE+C,MAAAA,QAAQ,EAAC;AAA/E,KAAnI;AAAqN,GAAnO,CAAoOJ,CAApO,EAAsOxH,CAAtO,CAArD;AAAA,MAA8R6H,CAAC,GAAC,UAAShG,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,QAAG,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,CAAC,CAAhB,GAAmB,CAACA,CAAvB,EAAyB,OAAM;AAAC8H,MAAAA,GAAG,EAAC,CAAL;AAAO7D,MAAAA,IAAI,EAAC,CAAZ;AAAcC,MAAAA,KAAK,EAAC,CAApB;AAAsB6D,MAAAA,MAAM,EAAC;AAA7B,KAAN;AAAsC,QAAIxF,CAAC,GAAC7D,CAAC,CAACmG,MAAR;AAAA,QAAerC,CAAC,GAAC9D,CAAC,CAACkG,KAAnB;AAAyBuC,IAAAA,CAAC,CAACzI,CAAD,EAAG,YAAH,CAAD,EAAkByI,CAAC,CAACtF,CAAD,EAAG,KAAH,CAAnB;AAA6B,QAAIc,CAAJ;AAAA,QAAMC,CAAN;AAAA,QAAQG,CAAC,GAACR,CAAC,GAACC,CAAZ;AAAA,QAAcK,CAAC,GAAChB,CAAC,CAACgD,MAAF,GAAShD,CAAC,CAAC+C,KAA3B;AAAA,QAAiCoD,CAAC,GAAC,CAAnC;AAAA,QAAqCR,CAAC,GAAC,CAAvC;AAAyC,WAAOzE,CAAC,GAACF,CAAF,IAAKF,CAAC,GAACd,CAAC,CAAC+C,KAAJ,EAAUhC,CAAC,GAACf,CAAC,CAAC+C,KAAF,GAAQ7B,CAApB,EAAsByE,CAAC,GAAC,CAAC,IAAE3E,CAAC,GAACE,CAAL,IAAQ,CAArC,KAAyCJ,CAAC,GAACd,CAAC,CAACgD,MAAF,GAAS9B,CAAX,EAAaH,CAAC,GAACf,CAAC,CAACgD,MAAjB,EAAwBmD,CAAC,GAAC,CAAC,IAAEjF,CAAC,GAACF,CAAL,IAAQ,CAA3E,GAA8EhB,CAAC,CAAC+C,KAAF,GAAQjC,CAAtF,EAAwFd,CAAC,CAACgD,MAAF,GAASjC,CAAjG,EAAmG;AAACkF,MAAAA,GAAG,EAACN,CAAL;AAAOvD,MAAAA,IAAI,EAAC+D,CAAZ;AAAc9D,MAAAA,KAAK,EAAC8D,CAApB;AAAsBD,MAAAA,MAAM,EAACP;AAA7B,KAA1G;AAA0I,GAAxT,CAAyTC,CAAzT,EAA2TlF,CAA3T,EAA6TC,CAA7T,CAAhS;;AAAgmB,SAAM;AAACyF,IAAAA,WAAW,EAAC,oBAAG,YAAU;AAAC,UAAIvJ,CAAC,GAACuI,CAAC,CAACpF,CAAD,CAAP;AAAA,UAAW7B,CAAC,GAAC,wBAAE,UAAS6B,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAeuC,CAAf,EAAiB;AAAC4E,QAAAA,CAAC,CAAC5E,CAAD,EAAG,iBAAH,CAAD;AAAuB,YAAIC,CAAC,GAAC,IAAE9D,CAAC,CAACkG,KAAV;AAAA,YAAgBjC,CAAC,GAAC,IAAEjE,CAAC,CAACmG,MAAtB;AAAA,YAA6BjC,CAAC,GAACf,CAAC,CAAC6F,OAAjC;AAAA,YAAyC3E,CAAC,GAAClB,CAAC,CAAC8F,OAA7C;AAAA,YAAqD9E,CAAC,GAACiE,IAAI,CAACoB,GAAL,CAASrG,CAAC,CAAC+F,QAAX,CAAvD;AAAA,YAA4EI,CAAC,GAAClB,IAAI,CAACqB,GAAL,CAAStG,CAAC,CAAC+F,QAAX,CAA9E;AAAA,YAAmGJ,CAAC,GAACxH,CAAC,GAAC,CAAC,CAAF,GAAI,CAA1G;AAAA,YAA4GyH,CAAC,GAAC5F,CAAC,CAAC+C,KAAhH;AAAA,YAAsHiD,CAAC,GAAChG,CAAC,CAACgD,MAA1H;AAAiI,eAAM,CAAC,IAAEtC,CAAC,CAACqC,KAAJ,GAAU6C,CAAV,GAAY5E,CAAZ,GAAc2E,CAAd,GAAgBhF,CAAhB,GAAkB9D,CAAC,CAACkG,KAArB,EAA2B,IAAErC,CAAC,CAACsC,MAAJ,GAAW,CAACgD,CAAZ,GAAcG,CAAd,GAAgBxF,CAAhB,GAAkB9D,CAAC,CAACkG,KAA/C,EAAqD,CAAC,CAAC,EAAD,GAAI6C,CAAJ,GAAM5E,CAAN,GAAQ2E,CAAR,GAAU,KAAGK,CAAH,GAAKG,CAAf,GAAiBpF,CAAlB,IAAqBJ,CAArB,GAAuB9D,CAAC,CAACkG,KAA9E,EAAoF,IAAErC,CAAC,CAACqC,KAAJ,GAAU6C,CAAV,GAAYO,CAAZ,GAAcR,CAAd,GAAgB7E,CAAhB,GAAkBjE,CAAC,CAACmG,MAAxG,EAA+G,IAAEtC,CAAC,CAACsC,MAAJ,GAAWgD,CAAX,GAAahF,CAAb,GAAeF,CAAf,GAAiBjE,CAAC,CAACmG,MAAlI,EAAyI,CAAC,CAAC,EAAD,GAAIgD,CAAJ,GAAMhF,CAAN,GAAQ,KAAG4E,CAAH,GAAKO,CAAL,GAAOR,CAAf,GAAiBzE,CAAlB,IAAqBJ,CAArB,GAAuBjE,CAAC,CAACmG,MAAlK,EAAyK,CAAzK,EAA2K,CAA3K,CAAN;AAAoL,OAA9V,CAA+V4C,CAA/V,EAAiWD,CAAjW,EAAmW,CAAC,CAApW,EAAsWjF,CAAtW,CAAF,EAA2W,CAAC,CAAD,EAAG,CAAH,CAA3W,CAAb;AAA+X,aAAOQ,gBAAEqF,SAAF,CAAY,0BAAE,oBAAE1J,CAAF,EAAI,SAAJ,CAAF,CAAZ,EAA8BsB,CAA9B,EAAgC,UAAhC,EAA2C,SAA3C,EAAqD,CAArD,EAAuD,CAACuC,CAAC,CAACsC,MAAH,EAAUtC,CAAC,CAACqC,KAAZ,CAAvD,CAAP;AAAkF,KAA/d,CAAb;AAA+eyD,IAAAA,OAAO,EAACR;AAAvf,GAAN;AAAggB;;AAAA,SAASS,CAAT,CAAWzG,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,QAAMA,CAAC,CAAC0G,WAAxB;AAAoC;;AAAA,IAAIC,CAAC,GAAC,YAAU;AAAC,WAAS3G,CAAT,CAAWA,CAAX,EAAa;AAAC,SAAK4G,KAAL,GAAW5G,CAAX,EAAa,KAAK6G,WAAL,GAAiB,CAAC,CAA/B;AAAiC;;AAAA,SAAO7G,CAAC,CAACzB,SAAF,CAAYC,KAAZ,GAAkB,UAASwB,CAAT,EAAWnD,CAAX,EAAa;AAAC,QAAIsB,CAAJ;AAAM,WAAO,KAAK0I,WAAL,GAAiB1I,CAAC,GAAC,QAAMtB,CAAN,GAAQ,KAAKiK,WAAL,GAAiB,KAAKF,KAAL,IAAY5G,CAAC,GAAC,KAAK8G,WAAnB,CAAzB,GAAyD,KAAKA,WAAL,GAAiB,KAAKF,KAAL,GAAW/J,CAAX,GAAaoI,IAAI,CAAC8B,KAAL,CAAW,CAAC/G,CAAC,GAAC,KAAK8G,WAAR,IAAqBjK,CAAhC,CAA1G,IAA8IsB,CAAC,GAAC6B,CAAF,EAAI,KAAK6G,WAAL,GAAiB,CAAC,CAApK,GAAuK,KAAKG,QAAL,GAAchH,CAArL,EAAuL,KAAK8G,WAAL,GAAiB3I,CAAxM,EAA0MA,CAAjN;AAAmN,GAAzP,EAA0P6B,CAAC,CAACzB,SAAF,CAAY0I,cAAZ,GAA2B,UAASjH,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,WAAO,KAAKyI,KAAL,GAAW/J,CAAX,EAAa,KAAK2B,KAAL,CAAWwB,CAAX,EAAa7B,CAAb,CAApB;AAAoC,GAAzU,EAA0U6B,CAAC,CAACzB,SAAF,CAAY2I,eAAZ,GAA4B,YAAU;AAAC,WAAO,KAAKL,WAAZ;AAAwB,GAAzY,EAA0Y7G,CAAC,CAACzB,SAAF,CAAY4I,YAAZ,GAAyB,YAAU;AAAC,WAAO,KAAKH,QAAZ;AAAqB,GAAnc,EAAochH,CAAC,CAACzB,SAAF,CAAYoG,KAAZ,GAAkB,YAAU;AAAC,SAAKkC,WAAL,GAAiB,CAAC,CAAlB;AAAoB,GAArf,EAAsf7G,CAA7f;AAA+f,CAAzjB,EAAN;AAAA,IAAkkBoH,CAAC,GAAC,YAAU;AAAC,WAASpH,CAAT,CAAWA,CAAX,EAAa;AAAC,SAAKqH,SAAL,GAAerH,CAAC,CAACqH,SAAjB,EAA2B,KAAKC,SAAL,GAAetH,CAAC,CAACsH,SAA5C,EAAsD,KAAKC,IAAL,GAAUvH,CAAC,CAACuH,IAAlE,EAAuE,KAAKC,eAAL,GAAqBxH,CAAC,CAACwH,eAA9F,EAA8G,KAAKC,aAAL,GAAmBzH,CAAC,CAACyH,aAAnI,EAAiJ,KAAKC,cAAL,GAAoB1H,CAAC,CAAC0H,cAAvK,EAAsL,KAAKzD,CAAL,GAAO,IAAI0C,CAAJ,CAAM,KAAKgB,QAAL,CAAc,KAAKL,SAAnB,CAAN,CAA7L,EAAkO,KAAKM,EAAL,GAAQ,IAAIjB,CAAJ,CAAM,KAAKgB,QAAL,CAAc,KAAKD,cAAnB,CAAN,CAA1O,EAAoR,KAAKG,aAAL,GAAmB,CAAvS;AAAyS;;AAAA,SAAO7H,CAAC,CAACzB,SAAF,CAAYC,KAAZ,GAAkB,UAASwB,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,QAAG,QAAM6B,CAAT,EAAW,OAAOA,CAAP;AAAS,QAAIU,CAAC,GAACuE,IAAI,CAAC6C,KAAL,CAAWjL,CAAX,CAAN;AAAoB,QAAG,KAAKgL,aAAL,IAAoBnH,CAAvB,EAAyB,OAAOV,CAAP;AAAS,UAAI,KAAK6H,aAAT,IAAwB,MAAInH,CAA5B,KAAgC,KAAK2G,SAAL,GAAe,KAAG,QAAM3G,CAAC,GAAC,KAAKmH,aAAb,CAAH,CAA/C,GAAgF,KAAKA,aAAL,GAAmBnH,CAAnG;AAAqG,QAAIC,CAAC,GAAC,KAAKsD,CAAL,CAAOiD,eAAP,KAAyB,CAAClH,CAAC,GAAC,KAAKiE,CAAL,CAAOkD,YAAP,EAAH,IAA0BhJ,CAA1B,GAA4B,KAAKkJ,SAA1D,GAAoE,CAA1E;AAAA,QAA4EvG,CAAC,GAAC,KAAK8G,EAAL,CAAQX,cAAR,CAAuBtG,CAAvB,EAAyB,KAAKgH,QAAL,CAAc,KAAKD,cAAnB,CAAzB,CAA9E;AAAA,QAA2I3G,CAAC,GAAC,KAAKuG,SAAL,GAAe,KAAKC,IAAL,GAAUtC,IAAI,CAAC8C,GAAL,CAASjH,CAAT,CAAtK;AAAA,QAAkLI,CAAC,GAAC,QAAM,KAAKsG,eAAX,GAA2B,KAAKA,eAAL,GAAqB,KAAKC,aAAL,GAAmBxC,IAAI,CAAC8C,GAAL,CAASjH,CAAT,CAAnE,GAA+E,IAAnQ;AAAwQ,WAAO,KAAKmD,CAAL,CAAOgD,cAAP,CAAsBjH,CAAtB,EAAwB,KAAK2H,QAAL,CAAc5G,CAAd,CAAxB,EAAyCG,CAAzC,CAAP;AAAmD,GAA5gB,EAA6gBlB,CAAC,CAACzB,SAAF,CAAYoJ,QAAZ,GAAqB,UAAS3H,CAAT,EAAW;AAAC,WAAO,KAAG,IAAE,KAAKqH,SAAL,IAAgB,IAAEpC,IAAI,CAACC,EAAP,GAAUlF,CAA1B,CAAL,CAAP;AAA0C,GAAxlB,EAAylBA,CAAhmB;AAAkmB,CAAp6B,EAApkB;AAAA,IAA2+CgI,CAAC,GAAC,YAAU;AAAC,WAAShI,CAAT,CAAWA,CAAX,EAAa;AAAC,SAAKiI,MAAL,GAAYjI,CAAZ;AAAc;;AAAA,SAAOA,CAAC,CAACzB,SAAF,CAAYC,KAAZ,GAAkB,UAASwB,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,QAAIuC,CAAC,GAAC,IAAN;AAAW,QAAG,QAAMV,CAAT,EAAW,OAAO,KAAK2E,KAAL,IAAa,IAApB;AAAyB,SAAKuD,wBAAL,CAA8BlI,CAA9B;AAAiC,QAAIW,CAAC,GAAC,CAAN;;AAAQ,QAAG,QAAM,KAAKsH,MAAL,CAAYE,qBAArB,EAA2C;AAAC,UAAGhK,CAAC,GAAC,KAAK8J,MAAL,CAAYE,qBAAjB,EAAuC,OAAOnI,CAAC,CAACoI,KAAF,EAAP;AAAiBzH,MAAAA,CAAC,GAAC,IAAExC,CAAJ;AAAM;;AAAA,WAAO6B,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW7B,CAAX,EAAa;AAAC,UAAI2C,CAAC,GAACN,CAAC,CAAC,EAAD,EAAIR,CAAJ,EAAM;AAACiE,QAAAA,CAAC,EAACvD,CAAC,CAAC2H,QAAF,CAAWlK,CAAX,EAAcK,KAAd,CAAoBwB,CAAC,CAACiE,CAAtB,EAAwBpH,CAAxB,EAA0B8D,CAA1B,CAAH;AAAgCuD,QAAAA,CAAC,EAACxD,CAAC,CAAC4H,QAAF,CAAWnK,CAAX,EAAcK,KAAd,CAAoBwB,CAAC,CAACkE,CAAtB,EAAwBrH,CAAxB,EAA0B8D,CAA1B;AAAlC,OAAN,CAAP;AAA8E,aAAO,QAAMX,CAAC,CAACiC,CAAR,KAAYnB,CAAC,CAACmB,CAAF,GAAIvB,CAAC,CAAC6H,QAAF,CAAWpK,CAAX,EAAcK,KAAd,CAAoBwB,CAAC,CAACiC,CAAtB,EAAwBpF,CAAxB,EAA0B8D,CAA1B,CAAhB,GAA8CG,CAArD;AAAuD,KAA1J,CAAP;AAAoK,GAAxY,EAAyYd,CAAC,CAACzB,SAAF,CAAYoG,KAAZ,GAAkB,YAAU;AAAC,SAAK0D,QAAL,GAAc,IAAd,EAAmB,KAAKC,QAAL,GAAc,IAAjC,EAAsC,KAAKC,QAAL,GAAc,IAApD;AAAyD,GAA/d,EAAgevI,CAAC,CAACzB,SAAF,CAAY2J,wBAAZ,GAAqC,UAASlI,CAAT,EAAW;AAAC,QAAInD,CAAC,GAAC,IAAN;AAAW,YAAM,KAAKwL,QAAX,IAAqB,KAAKA,QAAL,CAAc5K,MAAd,KAAuBuC,CAAC,CAACvC,MAA9C,KAAuD,KAAK4K,QAAL,GAAcrI,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,aAAO,IAAIoH,CAAJ,CAAMvK,CAAC,CAACoL,MAAR,CAAP;AAAuB,KAA1C,CAAd,EAA2D,KAAKK,QAAL,GAActI,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,aAAO,IAAIoH,CAAJ,CAAMvK,CAAC,CAACoL,MAAR,CAAP;AAAuB,KAA1C,CAAzE,EAAsH,KAAKM,QAAL,GAAcvI,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,aAAO,IAAIoH,CAAJ,CAAMvK,CAAC,CAACoL,MAAR,CAAP;AAAuB,KAA1C,CAA3L;AAAyO,GAArwB,EAAswBjI,CAA7wB;AAA+wB,CAAtzB,EAA7+C;;AAAsyE,SAASwI,CAAT,CAAWxI,CAAX,EAAanD,CAAb,EAAe;AAAC,SAAOmD,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,QAAI7B,CAAC,GAACqC,CAAC,CAAC,EAAD,EAAIR,CAAJ,EAAM;AAACiE,MAAAA,CAAC,EAACjE,CAAC,CAACiE,CAAF,GAAIpH,CAAC,CAACkG,KAAT;AAAemB,MAAAA,CAAC,EAAClE,CAAC,CAACkE,CAAF,GAAIrH,CAAC,CAACmG;AAAvB,KAAN,CAAP;AAA6C,WAAO,QAAMhD,CAAC,CAACiC,CAAR,KAAYjC,CAAC,CAACiC,CAAF,GAAIjC,CAAC,CAACiC,CAAF,GAAIpF,CAAC,CAACkG,KAAtB,GAA6B5E,CAApC;AAAsC,GAAtG,CAAP;AAAgH;;AAAA,IAAIsK,CAAC,GAAC,YAAU;AAAC,WAASzI,CAAT,CAAWA,CAAX,EAAa;AAAC,SAAKiI,MAAL,GAAYjI,CAAZ,EAAc,KAAK0I,MAAL,GAAY,EAA1B,EAA6B,KAAKC,aAAL,GAAmB,IAAIhC,CAAJ,CAAM,CAAN,CAAhD,EAAyD,KAAKiC,SAAL,GAAe,CAAxE,EAA0E,KAAKC,cAAL,GAAoB,CAA9F,EAAgG,KAAKhB,aAAL,GAAmB,CAAC,CAApH;AAAsH;;AAAA,SAAO7H,CAAC,CAACzB,SAAF,CAAYC,KAAZ,GAAkB,UAASwB,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,QAAG,QAAM6B,CAAT,EAAW,OAAOA,CAAP;AAAS,QAAIU,CAAJ;AAAA,QAAMC,CAAC,GAACsE,IAAI,CAAC6C,KAAL,CAAWjL,CAAX,CAAR;AAAsB,QAAG,KAAKgL,aAAL,IAAoBlH,CAAvB,EAAyB,OAAOX,CAAP;AAAS,QAAG,CAAC,CAAD,KAAK,KAAK6H,aAAb,EAA2BnH,CAAC,GAAC,CAAF,CAA3B,KAAmC;AAAC,WAAI,IAAII,CAAC,GAACd,CAAC,GAAC7B,CAAF,GAAI,KAAKyK,SAAL,GAAe,KAAKC,cAA9B,EAA6C9H,CAAC,GAACJ,CAAC,GAAC,KAAKkH,aAAtD,EAAoE3G,CAAC,GAACJ,CAAtE,EAAwEE,CAAC,GAACD,CAA1E,EAA4EoF,CAAC,GAAC,CAAC,IAAE,KAAKuC,MAAL,CAAYjL,MAAf,KAAwB,MAAI,EAA5B,CAA9E,EAA8GkI,CAAC,GAAC,CAAhH,EAAkHC,CAAC,GAAC,KAAK8C,MAA7H,EAAoI/C,CAAC,GAACC,CAAC,CAACnI,MAAxI,EAA+IkI,CAAC,EAAhJ,EAAmJ;AAAC,YAAIK,CAAC,GAACJ,CAAC,CAACD,CAAD,CAAP;AAAW,YAAG3E,CAAC,GAACgF,CAAC,CAAC8C,QAAJ,GAAa3C,CAAhB,EAAkB;AAAMjF,QAAAA,CAAC,IAAE8E,CAAC,CAAC+C,QAAL,EAAc/H,CAAC,IAAEgF,CAAC,CAAC8C,QAAnB;AAA4B;;AAAA,UAAIE,CAAC,GAAC9H,CAAC,IAAE,OAAKF,CAAP,CAAP;AAAiBN,MAAAA,CAAC,GAAC,IAAE,KAAG,IAAE,KAAKuH,MAAL,CAAYgB,aAAZ,GAA0BhE,IAAI,CAAC8C,GAAL,CAASiB,CAAT,CAA/B,CAAJ,EAAgD,KAAKN,MAAL,CAAYQ,OAAZ,CAAoB;AAACH,QAAAA,QAAQ,EAACjI,CAAV;AAAYgI,QAAAA,QAAQ,EAAC/H;AAArB,OAApB,CAAhD,EAA6F,KAAK2H,MAAL,CAAYjL,MAAZ,GAAmB,KAAKwK,MAAL,CAAYkB,UAA/B,IAA2C,KAAKT,MAAL,CAAY1G,GAAZ,EAAxI;AAA0J;AAAA,WAAO,KAAK4G,SAAL,GAAe5I,CAAf,EAAiB,KAAK6I,cAAL,GAAoB1K,CAArC,EAAuC,KAAK0J,aAAL,GAAmBlH,CAA1D,EAA4D,KAAKgI,aAAL,CAAmB1B,cAAnB,CAAkCjH,CAAlC,EAAoCU,CAApC,CAAnE;AAA0G,GAA1nB,EAA2nBV,CAAloB;AAAooB,CAAnxB,EAAN;AAAA,IAA4xBoJ,EAAE,GAAC,YAAU;AAAC,WAASpJ,CAAT,CAAWA,CAAX,EAAa;AAAC,SAAKiI,MAAL,GAAYjI,CAAZ;AAAc;;AAAA,SAAOA,CAAC,CAACzB,SAAF,CAAYC,KAAZ,GAAkB,UAASwB,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,QAAIuC,CAAC,GAAC,IAAN;AAAW,QAAG,QAAMV,CAAT,EAAW,OAAO,KAAK2E,KAAL,IAAa,IAApB;AAAyB,QAAIhE,CAAC,GAAC,CAAN;;AAAQ,QAAG,CAAC,KAAKsH,MAAL,CAAYoB,mBAAhB,EAAoC;AAAC,UAAGlL,CAAC,GAAC,KAAK8J,MAAL,CAAYE,qBAAjB,EAAuC,OAAOnI,CAAC,CAACoI,KAAF,EAAP;AAAiBzH,MAAAA,CAAC,GAAC,IAAExC,CAAJ;AAAM;;AAAA,WAAO,KAAK+J,wBAAL,CAA8BlI,CAA9B,GAAiCA,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW7B,CAAX,EAAa;AAAC,UAAI2C,CAAC,GAACN,CAAC,CAAC,EAAD,EAAIR,CAAJ,EAAM;AAACiE,QAAAA,CAAC,EAACvD,CAAC,CAAC2H,QAAF,CAAWlK,CAAX,EAAcK,KAAd,CAAoBwB,CAAC,CAACiE,CAAtB,EAAwBpH,CAAxB,EAA0B8D,CAA1B,CAAH;AAAgCuD,QAAAA,CAAC,EAACxD,CAAC,CAAC4H,QAAF,CAAWnK,CAAX,EAAcK,KAAd,CAAoBwB,CAAC,CAACkE,CAAtB,EAAwBrH,CAAxB,EAA0B8D,CAA1B;AAAlC,OAAN,CAAP;AAA8E,aAAO,QAAMX,CAAC,CAACiC,CAAR,KAAYnB,CAAC,CAACmB,CAAF,GAAIvB,CAAC,CAAC6H,QAAF,CAAWpK,CAAX,EAAcK,KAAd,CAAoBwB,CAAC,CAACiC,CAAtB,EAAwBpF,CAAxB,EAA0B8D,CAA1B,CAAhB,GAA8CG,CAArD;AAAuD,KAA1J,CAAxC;AAAqM,GAAjY,EAAkYd,CAAC,CAACzB,SAAF,CAAYoG,KAAZ,GAAkB,YAAU;AAAC,SAAK0D,QAAL,GAAc,IAAd,EAAmB,KAAKC,QAAL,GAAc,IAAjC,EAAsC,KAAKC,QAAL,GAAc,IAApD;AAAyD,GAAxd,EAAydvI,CAAC,CAACzB,SAAF,CAAY2J,wBAAZ,GAAqC,UAASlI,CAAT,EAAW;AAAC,QAAInD,CAAC,GAAC,IAAN;AAAW,YAAM,KAAKwL,QAAX,IAAqB,KAAKA,QAAL,CAAc5K,MAAd,KAAuBuC,CAAC,CAACvC,MAA9C,KAAuD,KAAK4K,QAAL,GAAcrI,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,aAAO,IAAIyI,CAAJ,CAAM5L,CAAC,CAACoL,MAAR,CAAP;AAAuB,KAA1C,CAAd,EAA2D,KAAKK,QAAL,GAActI,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,aAAO,IAAIyI,CAAJ,CAAM5L,CAAC,CAACoL,MAAR,CAAP;AAAuB,KAA1C,CAAzE,EAAsH,KAAKM,QAAL,GAAcvI,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,aAAO,IAAIyI,CAAJ,CAAM5L,CAAC,CAACoL,MAAR,CAAP;AAAuB,KAA1C,CAA3L;AAAyO,GAA9vB,EAA+vBjI,CAAtwB;AAAwwB,CAA/yB,EAA/xB;;AAAilD,SAASsJ,EAAT,CAAYtJ,CAAZ,EAAcnD,CAAd,EAAgB;AAAC,SAAOmD,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,QAAI7B,CAAC,GAACqC,CAAC,CAAC,EAAD,EAAIR,CAAJ,EAAM;AAACiE,MAAAA,CAAC,EAACjE,CAAC,CAACiE,CAAF,GAAIpH,CAAC,CAACkG,KAAT;AAAemB,MAAAA,CAAC,EAAClE,CAAC,CAACkE,CAAF,GAAIrH,CAAC,CAACmG;AAAvB,KAAN,CAAP;AAA6C,WAAO,QAAMhD,CAAC,CAACiC,CAAR,KAAY9D,CAAC,CAAC8D,CAAF,GAAIjC,CAAC,CAACiC,CAAF,GAAIpF,CAAC,CAACkG,KAAtB,GAA6B5E,CAApC;AAAsC,GAAtG,CAAP;AAAgH;;AAAA,IAAIoL,EAAE,GAAC,YAAU;AAAC,WAASvJ,CAAT,CAAWA,CAAX,EAAa;AAAC,QAAG,QAAMA,CAAC,CAACwJ,cAAX,EAA0B,KAAKC,eAAL,GAAqB,IAAIL,EAAJ,CAAOpJ,CAAC,CAACwJ,cAAT,CAArB,CAA1B,KAA4E;AAAC,UAAG,QAAMxJ,CAAC,CAAC0J,aAAX,EAAyB,MAAM,IAAIhN,KAAJ,CAAU,+DAA6DsD,CAA7D,GAA+D,GAAzE,CAAN;AAAoF,WAAKyJ,eAAL,GAAqB,IAAIzB,CAAJ,CAAMhI,CAAC,CAAC0J,aAAR,CAArB;AAA4C;AAAC;;AAAA,SAAO1J,CAAC,CAACzB,SAAF,CAAYC,KAAZ,GAAkB,UAASwB,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAeuC,CAAf,EAAiBC,CAAjB,EAAmB;AAAC,QAAG,KAAK,CAAL,KAASD,CAAT,KAAaA,CAAC,GAAC,CAAC,CAAhB,GAAmB,QAAMV,CAA5B,EAA8B,OAAO,KAAKyJ,eAAL,CAAqB9E,KAArB,IAA6B,IAApC;AAAyC,QAAI7D,CAAC,GAAC,QAAMH,CAAN,GAAQ,UAASX,CAAT,EAAWnD,CAAX,EAAa;AAAC,aAAM,CAACmD,CAAC,CAAC+C,KAAF,GAAQlG,CAAC,CAACkG,KAAV,GAAgB/C,CAAC,CAACgD,MAAF,GAASnG,CAAC,CAACmG,MAA5B,IAAoC,CAA1C;AAA4C,KAA1D,CAA2DrC,CAA3D,EAA6DxC,CAA7D,CAAR,GAAwE,CAA9E;AAAA,QAAgF4C,CAAC,GAACL,CAAC,GAAC4I,EAAE,CAACtJ,CAAD,EAAG7B,CAAH,CAAH,GAAS6B,CAA5F;AAAA,QAA8FkB,CAAC,GAAC,KAAKuI,eAAL,CAAqBjL,KAArB,CAA2BuC,CAA3B,EAA6BlE,CAA7B,EAA+BiE,CAA/B,CAAhG;AAAkI,WAAOJ,CAAC,GAAC8H,CAAC,CAACtH,CAAD,EAAG/C,CAAH,CAAF,GAAQ+C,CAAhB;AAAkB,GAAjQ,EAAkQlB,CAAzQ;AAA2Q,CAA3gB,EAAP;;AAAqhB,SAAS2J,EAAT,CAAY3J,CAAZ,EAAcnD,CAAd,EAAgB;AAAC,MAAIsB,CAAC,GAAC,UAAS6B,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAeuC,CAAf,EAAiB;AAAC,QAAIC,CAAC,GAAC9D,CAAC,GAACmD,CAAR;AAAA,QAAUc,CAAC,GAACJ,CAAC,GAACvC,CAAd;AAAgB,QAAG,MAAIwC,CAAP,EAAS,MAAM,IAAIjE,KAAJ,CAAU,mCAAiCsD,CAAjC,GAAmC,sBAA7C,CAAN;AAA2E,QAAIe,CAAC,GAACD,CAAC,GAACH,CAAR;AAAU,WAAM;AAACiJ,MAAAA,KAAK,EAAC7I,CAAP;AAAS8I,MAAAA,MAAM,EAAC1L,CAAC,GAAC6B,CAAC,GAACe;AAApB,KAAN;AAA6B,GAA7J,CAA8J,CAA9J,EAAgK,GAAhK,EAAoKlE,CAAC,CAAC,CAAD,CAArK,EAAyKA,CAAC,CAAC,CAAD,CAA1K,CAAN;;AAAqL,SAAO,oBAAG,YAAU;AAAC,WAAO,mBAAE,mBAAEmD,CAAF,EAAI7B,CAAC,CAACyL,KAAN,CAAF,EAAezL,CAAC,CAAC0L,MAAjB,CAAP;AAAgC,GAA9C,CAAP;AAAwD;;AAAA,SAASC,EAAT,CAAY9J,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkB;AAAC,MAAIuC,CAAC,GAACvC,CAAC,CAAC4L,gCAAR;AAAA,MAAyCpJ,CAAC,GAACxC,CAAC,CAAC6L,8BAA7C;AAAA,MAA4ElJ,CAAC,GAACd,CAAC,CAACiK,YAAhF;AAAA,MAA6FlJ,CAAC,GAACD,CAAC,CAACoJ,iBAAF,CAAoBxJ,CAApB,EAAuBuD,CAAvB,GAAyBpH,CAAC,CAACkG,KAA1H;AAAA,MAAgI7B,CAAC,GAACJ,CAAC,CAACoJ,iBAAF,CAAoBxJ,CAApB,EAAuBwD,CAAvB,GAAyBrH,CAAC,CAACmG,MAA7J;AAAA,MAAoKhC,CAAC,GAACF,CAAC,CAACoJ,iBAAF,CAAoBvJ,CAApB,EAAuBsD,CAAvB,GAAyBpH,CAAC,CAACkG,KAAjM;AAAA,MAAuMoD,CAAC,GAACrF,CAAC,CAACoJ,iBAAF,CAAoBvJ,CAApB,EAAuBuD,CAAvB,GAAyBrH,CAAC,CAACmG,MAApO;AAAA,MAA2O2C,CAAC,GAAC,IAAEV,IAAI,CAACkF,IAAL,CAAU,CAACnJ,CAAC,GAACD,CAAH,KAAOC,CAAC,GAACD,CAAT,IAAY,CAACoF,CAAC,GAACjF,CAAH,KAAOiF,CAAC,GAACjF,CAAT,CAAtB,CAA/O;AAAA,MAAkR0E,CAAC,GAAC,UAAS5F,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,QAAIuC,CAAJ;AAAA,QAAMC,CAAC,GAACX,CAAC,CAACiK,YAAV;AAAA,QAAuBnJ,CAAC,GAAC3C,CAAC,CAAC4L,gCAA3B;AAAA,QAA4DhJ,CAAC,GAAC5C,CAAC,CAAC6L,8BAAhE;AAA+FtJ,IAAAA,CAAC,GAACvC,CAAC,CAACiM,yBAAF,GAA4BjM,CAAC,CAACiM,yBAA9B,GAAwDnF,IAAI,CAACC,EAAL,GAAQ/G,CAAC,CAACkM,+BAAV,GAA0C,GAApG;AAAwG,QAAInJ,CAAC,GAACP,CAAC,CAACuJ,iBAAF,CAAoBpJ,CAApB,EAAuBmD,CAAvB,GAAyBpH,CAAC,CAACkG,KAAjC;AAAA,QAAuC/B,CAAC,GAACL,CAAC,CAACuJ,iBAAF,CAAoBpJ,CAApB,EAAuBoD,CAAvB,GAAyBrH,CAAC,CAACmG,MAApE;AAAA,QAA2EmD,CAAC,GAACxF,CAAC,CAACuJ,iBAAF,CAAoBnJ,CAApB,EAAuBkD,CAAvB,GAAyBpH,CAAC,CAACkG,KAAxG;AAAA,QAA8G4C,CAAC,GAAChF,CAAC,CAACuJ,iBAAF,CAAoBnJ,CAApB,EAAuBmD,CAAvB,GAAyBrH,CAAC,CAACmG,MAA3I;AAAkJ,WAAOgC,CAAC,CAACtE,CAAC,GAACuE,IAAI,CAACqF,KAAL,CAAW,EAAE3E,CAAC,GAAC3E,CAAJ,CAAX,EAAkBmF,CAAC,GAACjF,CAApB,CAAH,CAAR;AAAmC,GAA5Y,CAA6YlB,CAA7Y,EAA+YnD,CAA/Y,EAAiZsB,CAAjZ,CAApR;;AAAwqB,SAAM;AAAC0H,IAAAA,OAAO,EAAC9E,CAAC,GAAClE,CAAC,CAACkG,KAAb;AAAmB+C,IAAAA,OAAO,EAAC5E,CAAC,GAACrE,CAAC,CAACmG,MAA/B;AAAsCD,IAAAA,KAAK,EAAC4C,CAAC,GAAC9I,CAAC,CAACkG,KAAhD;AAAsDC,IAAAA,MAAM,EAAC2C,CAAC,GAAC9I,CAAC,CAACmG,MAAjE;AAAwE+C,IAAAA,QAAQ,EAACH;AAAjF,GAAN;AAA0F;;AAAA,SAAS2E,EAAT,CAAYvK,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoB;AAAC,SAAO,MAAIA,CAAJ,GAAM,MAAIV,CAAC,GAACnD,CAAN,CAAN,GAAemD,CAAC,GAAC,CAACnD,CAAC,GAACmD,CAAH,IAAM7B,CAAN,IAASuC,CAAC,GAAC,CAAX,CAAxB;AAAsC;;AAAA,SAAS8J,EAAT,CAAYxK,CAAZ,EAAcnD,CAAd,EAAgB;AAAC,SAAO,oBAAG,YAAU;AAAC,QAAIsB,CAAC,GAAC,UAAS6B,CAAT,EAAW;AAAC,aAAO,oBAAG,YAAU;AAAC,YAAInD,CAAC,GAAC,qBAAEmD,CAAF,EAAI,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,CAAJ,EAAY,CAAC,CAAD,EAAG,CAAC,CAAJ,EAAM,CAAN,CAAZ,CAAN;AAA4B,eAAM,CAAC,uBAAEnD,CAAF,CAAD,EAAM,qBAAEmD,CAAF,EAAI,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,CAAJ,EAAY,CAAC,CAAD,EAAG,CAAC,CAAJ,EAAM,CAAC,CAAP,CAAZ,CAAN,CAAN;AAAoC,OAA9E,CAAP;AAAwF,KAApG,CAAqGnD,CAAC,CAAC4N,OAAF,CAAUzK,CAAV,CAArG,CAAN;AAAA,QAAyHU,CAAC,GAACvC,CAAC,CAAC,CAAD,CAA5H;AAAA,QAAgIwC,CAAC,GAACxC,CAAC,CAAC,CAAD,CAAnI;;AAAuI,WAAM;AAACuM,MAAAA,KAAK,EAAC,uBAAE/J,CAAF,CAAP;AAAYgK,MAAAA,MAAM,EAAC,uBAAEjK,CAAF;AAAnB,KAAN;AAA+B,GAApL,CAAP;AAA8L;;AAAA,SAASkK,EAAT,CAAY5K,CAAZ,EAAc;AAAC,OAAI,IAAInD,CAAC,GAAC;AAACoN,IAAAA,YAAY,EAAC;AAACC,MAAAA,iBAAiB,EAAC;AAAnB;AAAd,GAAN,EAA4C/L,CAAC,GAAC0M,MAAM,CAACC,gBAArD,EAAsEpK,CAAC,GAACmK,MAAM,CAACE,gBAA/E,EAAgGpK,CAAC,GAACkK,MAAM,CAACC,gBAAzG,EAA0HhK,CAAC,GAAC+J,MAAM,CAACE,gBAAnI,EAAoJhK,CAAC,GAAC,CAA1J,EAA4JA,CAAC,GAACf,CAAC,CAACvC,MAAhK,EAAuK,EAAEsD,CAAzK,EAA2K;AAAC,QAAIG,CAAC,GAAClB,CAAC,CAACe,CAAD,CAAP;AAAW5C,IAAAA,CAAC,GAAC8G,IAAI,CAAC+F,GAAL,CAAS7M,CAAT,EAAW+C,CAAC,CAAC+C,CAAb,CAAF,EAAkBvD,CAAC,GAACuE,IAAI,CAACgG,GAAL,CAASvK,CAAT,EAAWQ,CAAC,CAAC+C,CAAb,CAApB,EAAoCtD,CAAC,GAACsE,IAAI,CAAC+F,GAAL,CAASrK,CAAT,EAAWO,CAAC,CAACgD,CAAb,CAAtC,EAAsDpD,CAAC,GAACmE,IAAI,CAACgG,GAAL,CAASnK,CAAT,EAAWI,CAAC,CAACgD,CAAb,CAAxD,EAAwErH,CAAC,CAACoN,YAAF,CAAeC,iBAAf,CAAiC9L,IAAjC,CAAsC;AAAC6F,MAAAA,CAAC,EAAC/C,CAAC,CAAC+C,CAAL;AAAOC,MAAAA,CAAC,EAAChD,CAAC,CAACgD;AAAX,KAAtC,CAAxE;AAA6H;;AAAA,SAAOrH,CAAC,CAACoN,YAAF,CAAeiB,mBAAf,GAAmC;AAACC,IAAAA,IAAI,EAAChN,CAAN;AAAQiN,IAAAA,IAAI,EAACzK,CAAb;AAAe0K,IAAAA,IAAI,EAAC3K,CAApB;AAAsB4K,IAAAA,IAAI,EAACxK,CAA3B;AAA6BiC,IAAAA,KAAK,EAACrC,CAAC,GAACvC,CAArC;AAAuC6E,IAAAA,MAAM,EAAClC,CAAC,GAACH;AAAhD,GAAnC,EAAsF9D,CAA7F;AAA+F;;AAAA,SAAS0O,EAAT,CAAYvL,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoB;AAAC,SAAOE,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,QAAID,CAAJ,EAAMG,CAAN,EAAQE,CAAR,EAAUmF,CAAV,EAAYR,CAAZ;AAAc,WAAOpE,CAAC,CAAC,IAAD,EAAO,UAASqE,CAAT,EAAW;AAAC,cAAOA,CAAC,CAACpE,KAAT;AAAgB,aAAK,CAAL;AAAO,iBAAOb,CAAC,GAAC,wBAAEX,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,mBAAM,CAACA,CAAC,CAACiK,YAAF,CAAeiB,mBAAf,CAAmCE,IAApC,EAAyCpL,CAAC,CAACiK,YAAF,CAAeiB,mBAAf,CAAmCC,IAA5E,EAAiFnL,CAAC,CAACiK,YAAF,CAAeiB,mBAAf,CAAmCI,IAApH,EAAyHtL,CAAC,CAACiK,YAAF,CAAeiB,mBAAf,CAAmCG,IAA5J,CAAN;AAAwK,WAA3L,CAAF,CAAF,EAAmMvK,CAAC,GAAC,wBAAEd,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,mBAAOA,CAAC,CAACmE,KAAF,CAAQ,CAAR,CAAP;AAAkB,WAArC,CAAF,CAArM,EAAgP,CAAC,CAAD,EAAGjD,gBAAEsK,sBAAF,CAAyB7K,CAAzB,EAA2BG,CAA3B,EAA6BjE,CAA7B,EAA+BsB,CAA/B,EAAiCuC,CAAjC,CAAH,CAAvP;;AAA+R,aAAK,CAAL;AAAO,iBAAM,CAAC,CAAD,EAAG,CAACM,CAAC,GAAC4E,CAAC,CAACnE,IAAF,EAAH,EAAanD,KAAb,EAAH,CAAN;;AAA+B,aAAK,CAAL;AAAO,iBAAO6H,CAAC,GAACP,CAAC,CAACnE,IAAF,EAAF,EAAWkE,CAAC,GAAC3F,CAAC,CAACyL,MAAF,CAAU,UAASzL,CAAT,EAAWnD,CAAX,EAAa;AAAC,mBAAOsJ,CAAC,CAACuF,OAAF,CAAU7O,CAAV,IAAa,CAAC,CAArB;AAAuB,WAA/C,CAAb,EAA+D,uBAAE,CAAC8D,CAAD,EAAGG,CAAH,EAAKE,CAAL,CAAF,CAA/D,EAA0E,CAAC,CAAD,EAAG2E,CAAH,CAAjF;AAAnW;AAA2b,KAA9c,CAAR;AAAyd,GAAvgB,CAAR;AAAkhB;;AAAA,SAASgG,EAAT,CAAY3L,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkB;AAAC,SAAOyC,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,QAAIF,CAAJ,EAAMC,CAAN,EAAQG,CAAR,EAAUC,CAAV,EAAYG,CAAZ,EAAcF,CAAd,EAAgBmF,CAAhB,EAAkBR,CAAlB,EAAoBC,CAApB,EAAsBI,CAAtB,EAAwBgD,CAAxB,EAA0B4C,CAA1B,EAA4B1H,CAA5B,EAA8B2H,CAA9B,EAAgCC,CAAhC,EAAkC7H,CAAlC,EAAoC8H,CAApC,EAAsCC,CAAtC,EAAwCC,CAAxC,EAA0CC,CAA1C,EAA4CC,CAA5C,EAA8CC,CAA9C,EAAgDC,CAAhD,EAAkDC,CAAlD;;AAAoD,WAAO/K,CAAC,CAAC,IAAD,EAAO,UAASgL,CAAT,EAAW;AAAC,cAAOA,CAAC,CAAC/K,KAAT;AAAgB,aAAK,CAAL;AAAO,cAAGd,CAAC,GAAC,uBAAE7D,CAAF,EAAI,CAAC,CAAD,CAAJ,CAAF,EAAW8D,CAAC,GAACD,CAAC,CAACqE,KAAf,EAAqBjE,CAAC,GAACH,CAAC,CAAC,CAAD,CAAxB,EAA4BI,CAAC,GAACJ,CAAC,CAAC,CAAD,CAA/B,EAAmCO,CAAC,GAACP,CAAC,CAAC,CAAD,CAAtC,EAA0CX,CAAC,CAACvC,MAAF,KAAWyD,CAAxD,EAA0D,MAAM,IAAIxE,KAAJ,CAAU,4GAA0GsD,CAAC,CAACvC,MAA5G,GAAmH,oBAAnH,GAAwIyD,CAAlJ,CAAN;AAA2J,iBAAOF,CAAC,GAAC,EAAF,EAAK,CAAC,CAAD,EAAGN,CAAC,CAAC8L,MAAF,EAAH,CAAZ;;AAA2B,aAAK,CAAL;AAAO,eAAIrG,CAAC,GAACoG,CAAC,CAAC9K,IAAF,EAAF,EAAWkE,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAAC3F,CAAC,CAACvC,MAAvB,EAA8BkI,CAAC,EAA/B,EAAkC,IAAGC,CAAC,GAAC5F,CAAC,CAAC2F,CAAD,CAAH,EAAOK,CAAC,GAACxF,CAAC,CAAC,EAAD,EAAIoF,CAAJ,CAAV,EAAiB5E,CAAC,CAAC5C,IAAF,CAAO4H,CAAP,CAAjB,EAA2BgD,CAAC,GAAC/D,IAAI,CAAC6C,KAAL,CAAW9B,CAAC,CAAC/B,CAAF,GAAIlD,CAAf,CAA7B,EAA+C6K,CAAC,GAAC3G,IAAI,CAAC6C,KAAL,CAAW9B,CAAC,CAAC9B,CAAF,GAAIpD,CAAf,CAAjD,EAAmE,EAAEkI,CAAC,GAAC,CAAF,IAAKA,CAAC,IAAEjI,CAAR,IAAW6K,CAAC,GAAC,CAAb,IAAgB5C,CAAC,IAAElI,CAArB,CAAtE,EAA8F;AAAC,iBAAIoD,CAAC,GAACe,IAAI,CAAC6C,KAAL,CAAW,CAAC3J,CAAC,CAACsO,UAAF,GAAa,CAAd,IAAiB,CAA5B,CAAF,EAAiCZ,CAAC,GAAC5G,IAAI,CAACgG,GAAL,CAAS,CAAT,EAAWjC,CAAC,GAAC9E,CAAb,CAAnC,EAAmD4H,CAAC,GAAC7G,IAAI,CAAC+F,GAAL,CAASjK,CAAT,EAAWiI,CAAC,GAAC9E,CAAF,GAAI,CAAf,CAArD,EAAuED,CAAC,GAACgB,IAAI,CAACgG,GAAL,CAAS,CAAT,EAAWW,CAAC,GAAC1H,CAAb,CAAzE,EAAyF6H,CAAC,GAAC9G,IAAI,CAAC+F,GAAL,CAASlK,CAAT,EAAW8K,CAAC,GAAC1H,CAAF,GAAI,CAAf,CAA3F,EAA6G8H,CAAC,GAAC,CAA/G,EAAiHC,CAAC,GAAC,CAAnH,EAAqHC,CAAC,GAAC,CAAvH,EAAyHC,CAAC,GAAC,CAA3H,EAA6HC,CAAC,GAACnI,CAAnI,EAAqImI,CAAC,GAACL,CAAvI,EAAyI,EAAEK,CAA3I,EAA6I,KAAIC,CAAC,GAACR,CAAN,EAAQQ,CAAC,GAACP,CAAV,EAAY,EAAEO,CAAd,EAAgBC,CAAC,GAACnG,CAAC,CAACuG,GAAF,CAAMN,CAAN,EAAQC,CAAR,EAAU1G,CAAV,CAAF,EAAeqG,CAAC,IAAEM,CAAlB,EAAoBH,CAAC,GAAClH,IAAI,CAACgG,GAAL,CAASkB,CAAT,EAAWG,CAAX,CAAtB,EAAoCL,CAAC,IAAEI,CAAC,GAACC,CAAzC,EAA2CJ,CAAC,IAAEE,CAAC,GAACE,CAAhD;;AAAkDH,YAAAA,CAAC,IAAEhO,CAAC,CAACwO,qBAAL,IAA4BX,CAAC,GAAC,CAA9B,KAAkChG,CAAC,CAAC/B,CAAF,GAAIgI,CAAC,GAAClL,CAAF,GAAIiL,CAAR,EAAUhG,CAAC,CAAC9B,CAAF,GAAIgI,CAAC,GAACpL,CAAF,GAAIkL,CAApD;AAAuD;;AAAA,iBAAOtL,CAAC,CAAC+D,OAAF,IAAY,CAAC,CAAD,EAAGzD,CAAH,CAAnB;AAArpB;AAA+qB,KAAlsB,CAAR;AAA6sB,GAAjyB,CAAR;AAA4yB;;AAAA,SAAS4L,EAAT,CAAY5M,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkB;AAAC,SAAOyC,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,QAAIF,CAAJ,EAAMC,CAAN,EAAQI,CAAR,EAAUG,CAAV,EAAYF,CAAZ;AAAc,WAAOO,CAAC,CAAC,IAAD,EAAO,UAAS4E,CAAT,EAAW;AAAC,cAAOA,CAAC,CAAC3E,KAAT;AAAgB,aAAK,CAAL;AAAO,iBAAOd,CAAC,GAACV,CAAC,CAAC,CAAD,CAAH,EAAOW,CAAC,GAACX,CAAC,CAAC,CAAD,CAAV,EAAce,CAAC,GAAC,UAASf,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,mBAAO,oBAAG,YAAU;AAAC,kBAAIuC,CAAJ,EAAMC,CAAN,EAAQG,CAAR,EAAUC,CAAV;AAAY5C,cAAAA,CAAC,CAAC0O,kBAAF,IAAsBlM,CAAC,GAAC,uBAAE,qBAAEX,CAAF,EAAI,CAAC,CAAD,EAAG7B,CAAC,CAAC2O,cAAF,GAAiB,CAApB,CAAJ,EAA2B,CAAC,CAAC,CAAF,EAAI,CAAJ,CAA3B,CAAF,CAAF,EAAwCpM,CAAC,GAAC,uBAAE,qBAAEV,CAAF,EAAI,CAAC,CAAD,EAAG7B,CAAC,CAAC2O,cAAF,GAAiB,CAApB,CAAJ,EAA2B,CAAC,CAAC,CAAF,EAAI,CAAJ,CAA3B,CAAF,CAA1C,EAAgF/L,CAAC,GAAC,uBAAE,qBAAEf,CAAF,EAAI,CAAC,CAAD,EAAG7B,CAAC,CAAC2O,cAAF,GAAiB,CAApB,CAAJ,EAA2B,CAAC,CAAC,CAAF,EAAI,CAAJ,CAA3B,CAAF,CAAlF,EAAwHhM,CAAC,GAAC,uBAAE,qBAAEd,CAAF,EAAI,CAAC,CAAD,EAAG7B,CAAC,CAAC2O,cAAF,GAAiB,CAApB,CAAJ,EAA2B,CAAC,CAAC,CAAF,EAAI,CAAJ,CAA3B,CAAF,CAAhJ,KAAwLpM,CAAC,GAAC,uBAAE,qBAAEV,CAAF,EAAI,CAAC,CAAD,EAAG7B,CAAC,CAAC2O,cAAF,GAAiB,CAApB,CAAJ,EAA2B,CAAC,CAAC,CAAF,EAAI,CAAJ,CAA3B,CAAF,CAAF,EAAwCnM,CAAC,GAAC,uBAAE,qBAAEX,CAAF,EAAI,CAAC,CAAD,EAAG7B,CAAC,CAAC2O,cAAF,GAAiB,CAApB,CAAJ,EAA2B,CAAC,CAAC,CAAF,EAAI,CAAJ,CAA3B,CAAF,CAA1C,EAAgFhM,CAAC,GAAC,uBAAE,qBAAEd,CAAF,EAAI,CAAC,CAAD,EAAG7B,CAAC,CAAC2O,cAAF,GAAiB,CAApB,CAAJ,EAA2B,CAAC,CAAC,CAAF,EAAI,CAAJ,CAA3B,CAAF,CAAlF,EAAwH/L,CAAC,GAAC,uBAAE,qBAAEf,CAAF,EAAI,CAAC,CAAD,EAAG7B,CAAC,CAAC2O,cAAF,GAAiB,CAApB,CAAJ,EAA2B,CAAC,CAAC,CAAF,EAAI,CAAJ,CAA3B,CAAF,CAAlT,GAAyVnM,CAAC,GAAC,mBAAE,mBAAE,mBAAEA,CAAF,EAAIxC,CAAC,CAAC4O,MAAN,CAAF,EAAgBlQ,CAAC,CAACkP,CAAlB,CAAF,EAAuBlP,CAAC,CAACoH,CAAzB,CAA3V,EAAuXvD,CAAC,GAAC,mBAAE,mBAAE,mBAAEA,CAAF,EAAIvC,CAAC,CAAC6O,MAAN,CAAF,EAAgBnQ,CAAC,CAACmE,CAAlB,CAAF,EAAuBnE,CAAC,CAACqH,CAAzB,CAAzX,EAAqZ/F,CAAC,CAAC8O,yBAAF,IAA6BnM,CAAC,GAAC,mBAAE,mBAAE,mBAAEA,CAAF,EAAI3C,CAAC,CAAC+O,MAAN,CAAF,CAAF,EAAmBrQ,CAAC,CAACmE,CAArB,CAAF,EAA0BD,CAAC,GAAC,mBAAE,mBAAE,mBAAEA,CAAF,EAAI5C,CAAC,CAACgP,MAAN,CAAF,CAAF,EAAmBtQ,CAAC,CAACkP,CAArB,CAAzD,KAAmFjL,CAAC,GAAC,mBAAE,mBAAEA,CAAF,EAAI3C,CAAC,CAAC+O,MAAN,CAAF,EAAgBrQ,CAAC,CAACmE,CAAlB,CAAF,EAAuBD,CAAC,GAAC,mBAAE,mBAAEA,CAAF,EAAI5C,CAAC,CAACgP,MAAN,CAAF,EAAgBtQ,CAAC,CAACmE,CAAlB,CAA5G,CAArZ;AAAuhB,kBAAIE,CAAC,GAAC,mBAAER,CAAF,EAAI,mBAAEI,CAAF,EAAI,CAAJ,CAAJ,CAAN;AAAA,kBAAkBE,CAAC,GAAC,mBAAEL,CAAF,EAAI,mBAAEI,CAAF,EAAI,CAAJ,CAAJ,CAApB;AAAA,kBAAgCoF,CAAC,GAAC,mBAAEzF,CAAF,EAAI,mBAAEI,CAAF,EAAI,CAAJ,CAAJ,CAAlC;AAAA,kBAA8CkI,CAAC,GAAC,mBAAErI,CAAF,EAAI,mBAAEI,CAAF,EAAI,CAAJ,CAAJ,CAAhD;AAAA,kBAA4D6K,CAAC,GAAC,sBAAE,CAAC,uBAAE1K,CAAF,EAAI,CAAC/C,CAAC,CAACiP,QAAH,EAAY,CAAZ,CAAJ,CAAD,EAAqB,uBAAEpM,CAAF,EAAI,CAAC7C,CAAC,CAACiP,QAAH,EAAY,CAAZ,CAAJ,CAArB,EAAyC,uBAAEjH,CAAF,EAAI,CAAChI,CAAC,CAACiP,QAAH,EAAY,CAAZ,CAAJ,CAAzC,EAA6D,uBAAEpE,CAAF,EAAI,CAAC7K,CAAC,CAACiP,QAAH,EAAY,CAAZ,CAAJ,CAA7D,CAAF,EAAoF,CAApF,CAA9D;AAAqJ,kBAAGjP,CAAC,CAACkP,YAAL,EAAkB,KAAI,IAAInJ,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC/F,CAAC,CAACkP,YAAhB,EAA6B,EAAEnJ,CAA/B,EAAiC;AAAC,oBAAI+H,CAAC,GAAC9N,CAAC,CAACmP,mBAAF,GAAsBpJ,CAAC,GAAC/F,CAAC,CAACoP,oBAAhC;AAAA,oBAAqDrB,CAAC,GAAC,KAAK,CAA5D;AAAA,oBAA8DC,CAAC,GAAC,KAAK,CAArE;AAAuEhO,gBAAAA,CAAC,CAAC0O,kBAAF,IAAsBX,CAAC,GAAC,uBAAE,qBAAElM,CAAF,EAAI,CAAC,CAAD,EAAGiM,CAAH,CAAJ,EAAU,CAAC,CAAC,CAAF,EAAI,CAAJ,CAAV,CAAF,CAAF,EAAuBE,CAAC,GAAC,uBAAE,qBAAEnM,CAAF,EAAI,CAAC,CAAD,EAAGiM,CAAC,GAAC,CAAL,CAAJ,EAAY,CAAC,CAAC,CAAF,EAAI,CAAJ,CAAZ,CAAF,CAA/C,KAAwEE,CAAC,GAAC,uBAAE,qBAAEnM,CAAF,EAAI,CAAC,CAAD,EAAGiM,CAAH,CAAJ,EAAU,CAAC,CAAC,CAAF,EAAI,CAAJ,CAAV,CAAF,CAAF,EAAuBC,CAAC,GAAC,uBAAE,qBAAElM,CAAF,EAAI,CAAC,CAAD,EAAGiM,CAAC,GAAC,CAAL,CAAJ,EAAY,CAAC,CAAC,CAAF,EAAI,CAAJ,CAAZ,CAAF,CAAjG;AAAyH,oBAAIG,CAAC,GAAC,mBAAE,mBAAE,mBAAEF,CAAF,EAAI/N,CAAC,CAAC4O,MAAN,CAAF,EAAgBlQ,CAAC,CAACkP,CAAlB,CAAF,EAAuBlP,CAAC,CAACoH,CAAzB,CAAN;AAAA,oBAAkCoI,CAAC,GAAC,mBAAE,mBAAE,mBAAEF,CAAF,EAAIhO,CAAC,CAAC6O,MAAN,CAAF,EAAgBnQ,CAAC,CAACmE,CAAlB,CAAF,EAAuBnE,CAAC,CAACqH,CAAzB,CAApC;AAAgE0H,gBAAAA,CAAC,GAAC,sBAAE,CAACA,CAAD,EAAG,uBAAEQ,CAAF,EAAI,CAACjO,CAAC,CAACiP,QAAH,EAAY,CAAZ,CAAJ,CAAH,EAAuB,uBAAEf,CAAF,EAAI,CAAClO,CAAC,CAACiP,QAAH,EAAY,CAAZ,CAAJ,CAAvB,CAAF,EAA8C,CAA9C,CAAF;AAAmD;AAAA,qBAAOxB,CAAP;AAAS,aAAtjC,CAAP;AAAgkC,WAAhlC,CAAilCjL,CAAjlC,EAAmlC9D,CAAnlC,EAAqlCsB,CAArlC,CAAhB,EAAwmC+C,CAAC,GAAC,oBAAG,YAAU;AAAC,gBAAIlB,CAAC,GAACU,CAAN;AAAQ,mBAAOvC,CAAC,CAACqP,YAAF,IAAgB,QAAMrP,CAAC,CAACsP,mBAAR,KAA8BzN,CAAC,GAAC,2BAAEU,CAAF,EAAI,CAACvC,CAAC,CAACsP,mBAAP,EAA2BtP,CAAC,CAACsP,mBAA7B,CAAhC,GAAmFzN,CAAC,GAAC,uBAAEA,CAAF,CAArG,IAA2GA,CAAlH;AAAoH,WAA1I,CAA1mC,EAAuvC,CAAC,CAAD,EAAG0N,EAAE,CAAC3M,CAAD,EAAGG,CAAH,EAAK/C,CAAL,CAAL,CAA9vC;;AAA4wC,aAAK,CAAL;AAAO,iBAAO6C,CAAC,GAACmF,CAAC,CAAC1E,IAAF,EAAF,EAAW,uBAAE,CAACV,CAAD,EAAGG,CAAH,CAAF,CAAX,EAAoB,CAAC,CAAD,EAAGF,CAAH,CAA3B;AAA1yC;AAA40C,KAA/1C,CAAR;AAA02C,GAAx5C,CAAR;AAAm6C;;AAAA,SAAS0M,EAAT,CAAY1N,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkB;AAAC,SAAOyC,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,QAAIF,CAAJ,EAAMC,CAAN,EAAQG,CAAR,EAAUC,CAAV,EAAYG,CAAZ,EAAcF,CAAd,EAAgBmF,CAAhB,EAAkBR,CAAlB,EAAoBC,CAApB,EAAsBI,CAAtB,EAAwBgD,CAAxB,EAA0B2E,CAA1B;AAA4B,WAAOpM,CAAC,CAAC,IAAD,EAAO,UAASqK,CAAT,EAAW;AAAC,cAAOA,CAAC,CAACpK,KAAT;AAAgB,aAAK,CAAL;AAAO,iBAAOd,CAAC,GAAC,EAAF,EAAK,CAAC,CAAD,EAAGV,CAAC,CAAC4N,IAAF,EAAH,CAAZ;;AAAyB,aAAK,CAAL;AAAO,iBAAOjN,CAAC,GAACiL,CAAC,CAACnK,IAAF,EAAF,EAAW,CAAC,CAAD,EAAG5E,CAAC,CAAC+Q,IAAF,EAAH,CAAlB;;AAA+B,aAAK,CAAL;AAAO,eAAI9M,CAAC,GAAC8K,CAAC,CAACnK,IAAF,EAAF,EAAWV,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAAC5C,CAAC,CAACiP,QAAvB,EAAgC,EAAErM,CAAlC,EAAoC,IAAG,EAAE,QAAM5C,CAAC,CAAC0P,cAAR,IAAwB/M,CAAC,CAACC,CAAD,CAAD,GAAK5C,CAAC,CAAC0P,cAA/B,KAAgD3M,CAAC,GAACH,CAAC,GAAC5C,CAAC,CAAC2P,SAAN,EAAgB9M,CAAC,GAAC+M,EAAE,CAACpN,CAAC,CAACO,CAAC,GAAC,CAAH,CAAF,EAAQP,CAAC,CAACO,CAAC,GAAC,CAAH,CAAT,EAAeP,CAAC,CAACO,CAAC,GAAC,CAAH,CAAhB,EAAsBP,CAAC,CAACO,CAAC,GAAC,CAAH,CAAvB,EAA6BJ,CAAC,CAACC,CAAD,CAA9B,EAAkC5C,CAAC,CAAC6P,cAApC,EAAmDjN,CAAnD,CAApB,EAA0E,CAACoF,CAAC,GAACnF,CAAC,CAACiJ,YAAF,CAAeiB,mBAAlB,EAAuCnI,KAAvC,GAA6C,CAA7C,IAAgDoD,CAAC,CAACnD,MAAF,GAAS,CAAnL,CAAF,CAAH,EAA4L;AAAC,gBAAG7E,CAAC,CAACkP,YAAF,GAAe,CAAlB,EAAoB,KAAI,CAAC1H,CAAC,GAAC3E,CAAC,CAACiJ,YAAL,EAAmBC,iBAAnB,GAAqC,EAArC,EAAwCtE,CAAC,GAACzH,CAAC,CAACkP,YAAF,GAAelP,CAAC,CAACoP,oBAA3D,EAAgFvH,CAAC,GAAC,CAAtF,EAAwFA,CAAC,GAACJ,CAA1F,EAA4FI,CAAC,IAAE7H,CAAC,CAACoP,oBAAjG,EAAsHvE,CAAC,GAAC9H,CAAC,GAAC/C,CAAC,CAACmP,mBAAJ,GAAwBtH,CAA1B,EAA4B2H,CAAC,GAAC;AAAC1J,cAAAA,CAAC,EAACtD,CAAC,CAACqI,CAAC,GAAC,CAAH,CAAJ;AAAU9E,cAAAA,CAAC,EAAC/F,CAAC,CAAC6P,cAAF,GAAiB,IAAErN,CAAC,CAACqI,CAAC,GAAC,CAAH,CAApB,GAA0BrI,CAAC,CAACqI,CAAC,GAAC,CAAH;AAAvC,aAA9B,EAA4ErD,CAAC,CAACuE,iBAAF,CAAoB9L,IAApB,CAAyBuP,CAAzB,CAA5E;AAAwGjN,YAAAA,CAAC,CAACtC,IAAF,CAAO4C,CAAP;AAAU;;AAAA,iBAAM,CAAC,CAAD,EAAGN,CAAH,CAAN;AAA1jB;AAAukB,KAA1lB,CAAR;AAAqmB,GAAjqB,CAAR;AAA4qB;;AAAA,SAASqN,EAAT,CAAY/N,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoBC,CAApB,EAAsBG,CAAtB,EAAwBC,CAAxB,EAA0B;AAAC,SAAM;AAACoD,IAAAA,KAAK,EAAC,CAACxD,CAAD,CAAP;AAAWsN,IAAAA,GAAG,EAAClN,CAAf;AAAiBkJ,IAAAA,YAAY,EAAC;AAACiB,MAAAA,mBAAmB,EAAC;AAACC,QAAAA,IAAI,EAACtO,CAAN;AAAQuO,QAAAA,IAAI,EAACtK,CAAC,GAAC,IAAE3C,CAAH,GAAK6B,CAAnB;AAAqBqL,QAAAA,IAAI,EAAC3K,CAA1B;AAA4B4K,QAAAA,IAAI,EAACxK,CAAC,GAAC,IAAEd,CAAH,GAAK7B,CAAvC;AAAyC4E,QAAAA,KAAK,EAACrC,CAAC,GAAC7D,CAAjD;AAAmDmG,QAAAA,MAAM,EAAC7E,CAAC,GAAC6B;AAA5D;AAArB;AAA9B,GAAN;AAA0H;;AAAA,SAASkO,EAAT,CAAYlO,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoB;AAAC,SAAO,KAAK,CAAL,KAASvC,CAAT,KAAaA,CAAC,GAAC,CAAC,CAAhB,GAAmB,KAAK,CAAL,KAASuC,CAAT,KAAaA,CAAC,GAAC,CAAC,CAAhB,CAAnB,EAAsCE,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,QAAID,CAAJ,EAAMG,CAAN,EAAQC,CAAR,EAAUG,CAAV,EAAYF,CAAZ,EAAcmF,CAAd,EAAgBR,CAAhB,EAAkBC,CAAlB;AAAoB,WAAOrE,CAAC,CAAC,IAAD,EAAO,UAASyE,CAAT,EAAW;AAAC,cAAOA,CAAC,CAACxE,KAAT;AAAgB,aAAK,CAAL;AAAO,iBAAOb,CAAC,GAACX,CAAC,CAACmO,IAAJ,EAASrN,CAAC,GAACH,CAAC,GAAC9D,CAAC,CAACuR,YAAf,EAA4B,CAAC,CAAD,EAAGpO,CAAC,CAAC4N,IAAF,EAAH,CAAnC;;AAAgD,aAAK,CAAL;AAAO,eAAI7M,CAAC,GAACiF,CAAC,CAACvE,IAAF,EAAF,EAAWP,CAAC,GAAC,EAAb,EAAgBF,CAAC,GAAC,CAAtB,EAAwBA,CAAC,GAACnE,CAAC,CAACuR,YAA5B,EAAyC,EAAEpN,CAA3C,EAA6CmF,CAAC,GAACnF,CAAC,GAACF,CAAJ,EAAM,CAAC8E,CAAC,GAAC;AAAC3B,YAAAA,CAAC,EAAC,CAAH;AAAKC,YAAAA,CAAC,EAAC;AAAP,WAAH,EAAcD,CAAd,GAAgB9F,CAAC,GAACtB,CAAC,CAACwR,eAAF,GAAkBtN,CAAC,CAACoF,CAAD,CAApB,GAAwBpF,CAAC,CAACoF,CAAD,CAAhD,EAAoDrF,CAAC,GAAC,CAAF,KAAM8E,CAAC,CAAC1B,CAAF,GAAIxD,CAAC,GAAC7D,CAAC,CAACyR,gBAAF,GAAmBvN,CAAC,CAACoF,CAAC,GAAC,CAAH,CAArB,GAA2BpF,CAAC,CAACoF,CAAC,GAAC,CAAH,CAAvC,CAApD,EAAkGrF,CAAC,GAAC,CAAF,KAAM8E,CAAC,CAAC3D,CAAF,GAAIlB,CAAC,CAACoF,CAAC,GAAC,CAAH,CAAX,CAAlG,EAAoHrF,CAAC,GAAC,CAAF,KAAM8E,CAAC,CAACzB,KAAF,IAAS6E,CAAC,GAACjI,CAAC,CAACoF,CAAC,GAAC,CAAH,CAAH,EAAS,KAAG,IAAElB,IAAI,CAACsJ,GAAL,CAAS,CAACvF,CAAV,CAAL,CAAlB,CAAN,CAApH,EAAiK9H,CAAC,CAAC9C,IAAF,CAAOwH,CAAP,CAAjK;;AAA2K,eAAID,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACzE,CAAC,CAACzD,MAAZ,EAAmB,EAAEkI,CAArB,EAAuB,CAACC,CAAC,GAAC1E,CAAC,CAACyE,CAAD,CAAJ,EAAS1B,CAAT,GAAW2B,CAAC,CAAC3B,CAAF,GAAIpH,CAAC,CAACwR,eAAjB,EAAiCzI,CAAC,CAAC1B,CAAF,GAAI0B,CAAC,CAAC1B,CAAF,GAAIrH,CAAC,CAACyR,gBAA3C,EAA4D1I,CAAC,CAAC3D,CAAF,GAAI2D,CAAC,CAAC3D,CAAF,GAAIpF,CAAC,CAACwR,eAAN,IAAuBxR,CAAC,CAAC2R,UAAF,IAAc,CAArC,CAAhE;;AAAwG,iBAAM,CAAC,CAAD,EAAGtN,CAAH,CAAN;AAAra;;AAAib,UAAI8H,CAAJ;AAAM,KAA1c,CAAR;AAAqd,GAAzgB,CAA9C;AAA0jB;;AAAA,SAASyF,EAAT,CAAYzO,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkB;AAAC,MAAIuC,CAAC,GAACV,CAAC,CAAC+C,KAAR;AAAA,MAAcpC,CAAC,GAACX,CAAC,CAACgD,MAAlB;AAAA,MAAyBlC,CAAC,GAACd,CAAC,CAAC+F,QAA7B;AAAsC,MAAG,QAAM5H,CAAC,CAAC4H,QAAR,IAAkB,QAAM5H,CAAC,CAACuQ,cAA1B,KAA2C5N,CAAC,GAAC,UAASd,CAAT,EAAWnD,CAAX,EAAa;AAAC,YAAMA,CAAC,CAACkJ,QAAR,GAAiB/F,CAAC,IAAEnD,CAAC,CAACkJ,QAAtB,GAA+B,QAAMlJ,CAAC,CAAC6R,cAAR,KAAyB1O,CAAC,IAAEiF,IAAI,CAACC,EAAL,GAAQrI,CAAC,CAAC6R,cAAV,GAAyB,GAArD,CAA/B;AAAyF,WAAO1J,CAAC,CAAChF,CAAD,CAAR;AAAY,GAAnH,CAAoHc,CAApH,EAAsH3C,CAAtH,CAA7C,GAAuK,MAAI2C,CAA9K,EAAgLd,CAAC,CAAC6F,OAAF,GAAU7F,CAAC,CAAC6F,OAAF,GAAUnF,CAAC,GAACvC,CAAC,CAACwQ,MAAxB,EAA+B3O,CAAC,CAAC8F,OAAF,GAAU9F,CAAC,CAAC8F,OAAF,GAAUnF,CAAC,GAACxC,CAAC,CAACyQ,MAAvD,CAAhL,KAAkP;AAAC,QAAI7N,CAAC,GAAC,CAAClE,CAAC,CAACkG,KAAF,GAAQrC,CAAR,GAAUvC,CAAC,CAACwQ,MAAZ,GAAmB1J,IAAI,CAACoB,GAAL,CAASvF,CAAT,CAAnB,GAA+BjE,CAAC,CAACmG,MAAF,GAASrC,CAAT,GAAWxC,CAAC,CAACyQ,MAAb,GAAoB3J,IAAI,CAACqB,GAAL,CAASxF,CAAT,CAApD,IAAiEjE,CAAC,CAACkG,KAAzE;AAAA,QAA+E7B,CAAC,GAAC,CAACrE,CAAC,CAACkG,KAAF,GAAQrC,CAAR,GAAUvC,CAAC,CAACwQ,MAAZ,GAAmB1J,IAAI,CAACqB,GAAL,CAASxF,CAAT,CAAnB,GAA+BjE,CAAC,CAACmG,MAAF,GAASrC,CAAT,GAAWxC,CAAC,CAACyQ,MAAb,GAAoB3J,IAAI,CAACoB,GAAL,CAASvF,CAAT,CAApD,IAAiEjE,CAAC,CAACmG,MAApJ;AAA2JhD,IAAAA,CAAC,CAAC6F,OAAF,GAAU7F,CAAC,CAAC6F,OAAF,GAAU9E,CAApB,EAAsBf,CAAC,CAAC8F,OAAF,GAAU9F,CAAC,CAAC8F,OAAF,GAAU5E,CAA1C;AAA4C;;AAAA,MAAG/C,CAAC,CAAC0Q,UAAL,EAAgB;AAAC,QAAI7N,CAAC,GAACiE,IAAI,CAACgG,GAAL,CAASvK,CAAC,GAAC7D,CAAC,CAACkG,KAAb,EAAmBpC,CAAC,GAAC9D,CAAC,CAACmG,MAAvB,CAAN;AAAqCtC,IAAAA,CAAC,GAACM,CAAC,GAACnE,CAAC,CAACkG,KAAN,EAAYpC,CAAC,GAACK,CAAC,GAACnE,CAAC,CAACmG,MAAlB;AAAyB,GAA/E,MAAoF,IAAG7E,CAAC,CAAC2Q,WAAL,EAAiB;AAAC,QAAI3I,CAAC,GAAClB,IAAI,CAAC+F,GAAL,CAAStK,CAAC,GAAC7D,CAAC,CAACkG,KAAb,EAAmBpC,CAAC,GAAC9D,CAAC,CAACmG,MAAvB,CAAN;AAAqCtC,IAAAA,CAAC,GAACyF,CAAC,GAACtJ,CAAC,CAACkG,KAAN,EAAYpC,CAAC,GAACwF,CAAC,GAACtJ,CAAC,CAACmG,MAAlB;AAAyB;;AAAA,SAAOhD,CAAC,CAAC+C,KAAF,GAAQrC,CAAC,GAACvC,CAAC,CAAC4Q,MAAZ,EAAmB/O,CAAC,CAACgD,MAAF,GAASrC,CAAC,GAACxC,CAAC,CAAC6Q,MAAhC,EAAuChP,CAA9C;AAAgD;;AAAA,IAAIiP,EAAE,GAAC,YAAU;AAAC,WAASjP,CAAT,CAAWA,CAAX,EAAa;AAAC,SAAK4G,KAAL,GAAW5G,CAAC,CAAC4G,KAAb;AAAmB;;AAAA,SAAO5G,CAAC,CAACzB,SAAF,CAAYC,KAAZ,GAAkB,UAASwB,CAAT,EAAW;AAAC,QAAInD,CAAC,GAAC,IAAN;AAAW,QAAG,QAAMmD,CAAT,EAAW,OAAO,KAAKkP,iBAAL,GAAuB,IAAvB,EAA4B,IAAnC;AAAwC,YAAM,KAAKA,iBAAX,IAA8B,KAAKA,iBAAL,CAAuBzR,MAAvB,KAAgCuC,CAAC,CAACvC,MAAhE,KAAyE,KAAKyR,iBAAL,GAAuBlP,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,aAAO,IAAI2G,CAAJ,CAAM9J,CAAC,CAAC+J,KAAR,CAAP;AAAsB,KAAzC,CAAhG;;AAA6I,SAAI,IAAIzI,CAAC,GAAC,EAAN,EAASuC,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACV,CAAC,CAACvC,MAArB,EAA4B,EAAEiD,CAA9B,EAAgC;AAAC,UAAIC,CAAC,GAACX,CAAC,CAACU,CAAD,CAAP;AAAA,UAAWI,CAAC,GAACN,CAAC,CAAC,EAAD,EAAIG,CAAJ,CAAd;AAAqBG,MAAAA,CAAC,CAACqD,KAAF,GAAQ,KAAK+K,iBAAL,CAAuBxO,CAAvB,EAA0BlC,KAA1B,CAAgCmC,CAAC,CAACwD,KAAlC,CAAR,EAAiDhG,CAAC,CAACC,IAAF,CAAO0C,CAAP,CAAjD;AAA2D;;AAAA,WAAO3C,CAAP;AAAS,GAAnW,EAAoW6B,CAA3W;AAA6W,CAAzZ,EAAP;AAAA,IAAmamP,EAAE,GAAC;AAACC,EAAAA,wBAAwB,EAAC,CAAC,CAA3B;AAA6BC,EAAAA,4BAA4B,EAAC,CAA1D;AAA4DC,EAAAA,gBAAgB,EAAC,EAA7E;AAAgFC,EAAAA,eAAe,EAAC,EAAhG;AAAmGC,EAAAA,SAAS,EAAC,CAA7G;AAA+GC,EAAAA,QAAQ,EAAC,QAAxH;AAAiIC,EAAAA,QAAQ,EAAC,GAA1I;AAA8IC,EAAAA,eAAe,EAAC,GAA9J;AAAkKC,EAAAA,cAAc,EAAC,GAAjL;AAAqLC,EAAAA,aAAa,EAAC,EAAnM;AAAsMC,EAAAA,aAAa,EAAC,EAApN;AAAuNC,EAAAA,OAAO,EAAC,CAAC,CAAD,EAAG,EAAH,EAAM,EAAN,EAAS,EAAT,EAAY,EAAZ,CAA/N;AAA+OC,EAAAA,YAAY,EAAC,CAAC,CAAD,CAA5P;AAAgQC,EAAAA,eAAe,EAAC,CAAC;AAAjR,CAAta;AAAA,IAA0rBC,EAAE,GAAC;AAACvN,EAAAA,OAAO,EAAC,MAAT;AAAgBE,EAAAA,SAAS,EAAC,MAA1B;AAAiCD,EAAAA,eAAe,EAAC,CAAC,CAAlD;AAAoDuN,EAAAA,gBAAgB,EAAC,sEAArE;AAA4IC,EAAAA,gBAAgB,EAAC;AAA7J,CAA7rB;AAAA,IAAu6BC,EAAE,GAAC;AAACC,EAAAA,QAAQ,EAAC,CAAV;AAAY/L,EAAAA,cAAc,EAAC,CAAC;AAA5B,CAA16B;AAAA,IAAy8BgM,EAAE,GAAC;AAACtD,EAAAA,yBAAyB,EAAC,CAAC,CAA5B;AAA8Be,EAAAA,cAAc,EAAC,CAAC,CAA9C;AAAgDwC,EAAAA,aAAa,EAAC,EAA9D;AAAiEC,EAAAA,UAAU,EAAC,CAA5E;AAA8ErD,EAAAA,QAAQ,EAAC,IAAvF;AAA4FU,EAAAA,SAAS,EAAC,EAAtG;AAAyGhB,EAAAA,cAAc,EAAC,CAAxH;AAA0HQ,EAAAA,mBAAmB,EAAC,CAA9I;AAAgJD,EAAAA,YAAY,EAAC,CAA7J;AAA+JE,EAAAA,oBAAoB,EAAC,CAApL;AAAsLC,EAAAA,YAAY,EAAC,CAAC,CAApM;AAAsMC,EAAAA,mBAAmB,EAAC,GAA1N;AAA8NZ,EAAAA,kBAAkB,EAAC,CAAC,CAAlP;AAAoPE,EAAAA,MAAM,EAAC,GAA3P;AAA+PC,EAAAA,MAAM,EAAC,GAAtQ;AAA0QE,EAAAA,MAAM,EAAC,GAAjR;AAAqRC,EAAAA,MAAM,EAAC,GAA5R;AAAgSU,EAAAA,cAAc,EAAC;AAA/S,CAA58B;AAAA,IAA+vC6C,EAAE,GAAC,CAAC,CAAnwC;AAAA,IAAqwCC,EAAE,GAAC,EAAxwC;AAAA,IAA2wCC,EAAE,GAAC;AAACjC,EAAAA,MAAM,EAAC,CAAR;AAAUC,EAAAA,MAAM,EAAC,CAAjB;AAAmBG,EAAAA,MAAM,EAAC,IAA1B;AAA+BC,EAAAA,MAAM,EAAC,IAAtC;AAA2CH,EAAAA,UAAU,EAAC,CAAC;AAAvD,CAA9wC;AAAA,IAAw0CgC,EAAE,GAAC;AAACpL,EAAAA,eAAe,EAAC;AAAC1C,IAAAA,KAAK,EAAC,GAAP;AAAWC,IAAAA,MAAM,EAAC;AAAlB,GAAjB;AAAwC0C,EAAAA,eAAe,EAAC,CAAC;AAAzD,CAA30C;AAAA,IAAu4CoL,EAAE,GAAC;AAACrL,EAAAA,eAAe,EAAC;AAAC1C,IAAAA,KAAK,EAAC,GAAP;AAAWC,IAAAA,MAAM,EAAC;AAAlB,GAAjB;AAAwC0C,EAAAA,eAAe,EAAC,CAAC;AAAzD,CAA14C;AAAA,IAAs8CqL,EAAE,GAAC;AAAC3C,EAAAA,YAAY,EAAC,EAAd;AAAiBC,EAAAA,eAAe,EAAC,GAAjC;AAAqCC,EAAAA,gBAAgB,EAAC;AAAtD,CAAz8C;AAAA,IAAogD0C,EAAE,GAAC;AAACvE,EAAAA,UAAU,EAAC,CAAZ;AAAcE,EAAAA,qBAAqB,EAAC;AAApC,CAAvgD;AAAA,IAA+iDsE,EAAE,GAAC;AAACrK,EAAAA,KAAK,EAAC;AAAP,CAAljD;AAAA,IAA6jDsK,EAAE,GAAC;AAACxH,EAAAA,aAAa,EAAC;AAACrC,IAAAA,SAAS,EAAC,EAAX;AAAcC,IAAAA,SAAS,EAAC,GAAxB;AAA4BC,IAAAA,IAAI,EAAC,EAAjC;AAAoCG,IAAAA,cAAc,EAAC,CAAnD;AAAqDS,IAAAA,qBAAqB,EAAC;AAA3E;AAAf,CAAhkD;AAAA,IAAiqDgJ,EAAE,GAAC;AAACzH,EAAAA,aAAa,EAAC;AAACrC,IAAAA,SAAS,EAAC,EAAX;AAAcC,IAAAA,SAAS,EAAC,GAAxB;AAA4BC,IAAAA,IAAI,EAAC,EAAjC;AAAoCG,IAAAA,cAAc,EAAC,CAAnD;AAAqDS,IAAAA,qBAAqB,EAAC;AAA3E;AAAf,CAApqD;;AAAqwD,IAAIiJ,EAAE,GAAC,YAAU;AAAC,WAASpR,CAAT,CAAWA,CAAX,EAAanD,CAAb,EAAesB,CAAf,EAAiBuC,CAAjB,EAAmB;AAAC,SAAK2Q,aAAL,GAAmBrR,CAAnB,EAAqB,KAAKsR,aAAL,GAAmBzU,CAAxC,EAA0C,KAAK+F,eAAL,GAAqBzE,CAA/D,EAAiE,KAAK0E,SAAL,GAAenC,CAAhF,EAAkF,KAAK6Q,gBAAL,GAAsB,IAAxG,EAA6G,KAAKC,OAAL,GAAa,UAASxR,CAAT,EAAW;AAAC,WAAI,IAAInD,CAAC,GAAC,EAAN,EAASsB,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAAC6B,CAAC,CAACwP,SAArB,GAAgC;AAAC,aAAI,IAAI9O,CAAC,GAAC,EAAN,EAASC,CAAC,GAAC,EAAX,EAAcG,CAAC,GAAC,EAAhB,EAAmBC,CAAC,GAAC,EAArB,EAAwBG,CAAC,GAAC/C,CAA9B,EAAgC+C,CAAC,GAAClB,CAAC,CAAC+P,OAAF,CAAUtS,MAAZ,IAAoBuC,CAAC,CAAC+P,OAAF,CAAU7O,CAAV,MAAelB,CAAC,CAAC+P,OAAF,CAAU5R,CAAV,CAAnE,GAAiF;AAAC,cAAI6C,CAAC,GAACuJ,EAAE,CAACvK,CAAC,CAACyP,QAAH,EAAYzP,CAAC,CAAC0P,QAAd,EAAuBxO,CAAvB,EAAyBlB,CAAC,CAAC+P,OAAF,CAAUtS,MAAnC,CAAR;AAAmD,cAAG,MAAIyD,CAAJ,IAAOlB,CAAC,CAACyR,wBAAZ,EAAqC3Q,CAAC,CAAC1C,IAAF,CAAO,CAAP,GAAU0C,CAAC,CAAC1C,IAAF,CAAO,CAAP,CAAV,EAAoB0C,CAAC,CAAC1C,IAAF,CAAO,EAAP,CAApB,EAA+B2C,CAAC,CAAC3C,IAAF,CAAO,EAAP,CAA/B,EAA0C2C,CAAC,CAAC3C,IAAF,CAAO4C,CAAP,CAA1C,EAAoDD,CAAC,CAAC3C,IAAF,CAAO4C,CAAP,CAApD,CAArC,KAAuG;AAAC,iBAAI,IAAImF,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACnG,CAAC,CAACgQ,YAAF,CAAevS,MAA7B,EAAoC,EAAE0I,CAAtC,EAAwCrF,CAAC,CAAC1C,IAAF,CAAO4B,CAAC,CAACgQ,YAAF,CAAe7J,CAAf,CAAP,GAA0BpF,CAAC,CAAC3C,IAAF,CAAO4C,CAAP,CAA1B;;AAAoC,gBAAGhB,CAAC,CAACqP,4BAAF,GAA+B,CAAlC,EAAoC;AAAC,kBAAI1J,CAAC,GAACzE,CAAC,KAAGlB,CAAC,CAAC+P,OAAF,CAAUtS,MAAV,GAAiB,CAArB,GAAuB,CAAvB,GAAyB8M,EAAE,CAACvK,CAAC,CAACyP,QAAH,EAAYzP,CAAC,CAAC0P,QAAd,EAAuBxO,CAAC,GAAC,CAAzB,EAA2BlB,CAAC,CAAC+P,OAAF,CAAUtS,MAArC,CAAjC;AAA8EsD,cAAAA,CAAC,CAAC3C,IAAF,CAAO6G,IAAI,CAACkF,IAAL,CAAUnJ,CAAC,GAAC2E,CAAZ,CAAP,GAAuB7E,CAAC,CAAC1C,IAAF,CAAO4B,CAAC,CAACqP,4BAAT,CAAvB;AAA8D;AAAC;AAAAnO,UAAAA,CAAC;AAAG;;AAAA,aAAI,IAAI0E,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC9E,CAAC,CAACrD,MAAhB,EAAuB,EAAEmI,CAAzB,EAA2B;AAAC,cAAII,CAAC,GAACf,IAAI,CAACkF,IAAL,CAAUrJ,CAAC,CAAC8E,CAAD,CAAX,CAAN;AAAsBlF,UAAAA,CAAC,CAACtC,IAAF,CAAO2C,CAAC,CAAC6E,CAAD,CAAD,GAAKI,CAAZ,GAAerF,CAAC,CAACvC,IAAF,CAAO2C,CAAC,CAAC6E,CAAD,CAAD,GAAKI,CAAZ,CAAf;AAA8B;;AAAA,YAAIgD,CAAC,GAAC,CAAN;AAAA,YAAQ2E,CAAC,GAAC,CAAV;AAAY,YAAG3N,CAAC,CAACsP,gBAAF,CAAmB7R,MAAnB,GAA0B,CAA7B,EAA+BuL,CAAC,GAAChJ,CAAC,CAACsP,gBAAF,CAAmBnR,CAAnB,CAAF,EAAwBwP,CAAC,GAAC3N,CAAC,CAACuP,eAAF,CAAkBpR,CAAlB,CAA1B,CAA/B,KAAkF;AAAC,cAAIyN,CAAC,GAAC5L,CAAC,CAAC+P,OAAF,CAAU5R,CAAV,CAAN;AAAmB6K,UAAAA,CAAC,GAAC/D,IAAI,CAACyM,IAAL,CAAU1R,CAAC,CAAC2P,eAAF,GAAkB/D,CAA5B,CAAF,EAAiC+B,CAAC,GAAC1I,IAAI,CAACyM,IAAL,CAAU1R,CAAC,CAAC4P,cAAF,GAAiBhE,CAA3B,CAAnC;AAAiE;;AAAA,aAAI,IAAI1H,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC8E,CAAd,EAAgB,EAAE9E,CAAlB,EAAoB,KAAI,IAAI2H,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC8B,CAAd,EAAgB,EAAE9B,CAAlB,EAAoB,KAAI,IAAIC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACpL,CAAC,CAACjD,MAAhB,EAAuB,EAAEqO,CAAzB,EAA2B;AAAC,cAAI7H,CAAC,GAAC;AAAC4B,YAAAA,OAAO,EAAC,CAACgG,CAAC,GAAC7L,CAAC,CAAC6P,aAAL,IAAoBlC,CAA7B;AAA+B7H,YAAAA,OAAO,EAAC,CAAC5B,CAAC,GAAClE,CAAC,CAAC8P,aAAL,IAAoB9G,CAA3D;AAA6DjG,YAAAA,KAAK,EAAC,CAAnE;AAAqEC,YAAAA,MAAM,EAAC;AAA5E,WAAN;AAAqFhD,UAAAA,CAAC,CAACiQ,eAAF,IAAmBhM,CAAC,CAAClB,KAAF,GAAQ,CAAR,EAAUkB,CAAC,CAACjB,MAAF,GAAS,CAAtC,KAA0CiB,CAAC,CAAClB,KAAF,GAAQpC,CAAC,CAACmL,CAAD,CAAT,EAAa7H,CAAC,CAACjB,MAAF,GAAStC,CAAC,CAACoL,CAAD,CAAjE,GAAsEjP,CAAC,CAACuB,IAAF,CAAO6F,CAAP,CAAtE;AAAgF;;AAAA9F,QAAAA,CAAC,GAAC+C,CAAF;AAAI;;AAAA,aAAOrE,CAAP;AAAS,KAArhC,CAAshCsS,EAAthC,CAA1H;AAAopC,QAAIxO,CAAC,GAAC,wBAAE,KAAK6Q,OAAL,CAAaxN,GAAb,CAAkB,UAAShE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAAC+C,KAAT;AAAe,KAA7C,CAAF,CAAN;AAAA,QAAyDjC,CAAC,GAAC,wBAAE,KAAK0Q,OAAL,CAAaxN,GAAb,CAAkB,UAAShE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACgD,MAAT;AAAgB,KAA9C,CAAF,CAA3D;AAAA,QAA+GjC,CAAC,GAAC,wBAAE,KAAKyQ,OAAL,CAAaxN,GAAb,CAAkB,UAAShE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAAC6F,OAAT;AAAiB,KAA/C,CAAF,CAAjH;AAAA,QAAsK3E,CAAC,GAAC,wBAAE,KAAKsQ,OAAL,CAAaxN,GAAb,CAAkB,UAAShE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAAC8F,OAAT;AAAiB,KAA/C,CAAF,CAAxK;AAA6N,SAAK6L,YAAL,GAAkB;AAAC1N,MAAAA,CAAC,EAAClD,CAAH;AAAKmD,MAAAA,CAAC,EAAChD,CAAP;AAAS6K,MAAAA,CAAC,EAACpL,CAAX;AAAaK,MAAAA,CAAC,EAACF;AAAf,KAAlB;AAAoC;;AAAA,SAAOd,CAAC,CAACzB,SAAF,CAAY+F,aAAZ,GAA0B,UAAStE,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,WAAOyC,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,UAAIF,CAAJ,EAAMC,CAAN,EAAQI,CAAR,EAAUG,CAAV,EAAYF,CAAZ,EAAc2E,CAAd,EAAgBC,CAAhB,EAAkBI,CAAlB,EAAoBgD,CAApB,EAAsB2E,CAAtB,EAAwB/B,CAAxB,EAA0B1H,CAA1B,EAA4B2H,CAA5B,EAA8BC,CAA9B,EAAgC7H,CAAhC;AAAkC,aAAO1C,CAAC,CAAC,IAAD,EAAO,UAASwK,CAAT,EAAW;AAAC,gBAAOA,CAAC,CAACvK,KAAT;AAAgB,eAAK,CAAL;AAAO,mBAAOd,CAAC,GAAC,UAASV,CAAT,EAAW;AAAC,kBAAInD,CAAJ;AAAM,kBAAG,QAAM,CAACA,CAAC,GAAC,QAAMmD,CAAN,GAAQqQ,EAAR,GAAW7P,CAAC,CAAC,EAAD,EAAIR,CAAJ,CAAf,EAAuBsQ,QAA7B,KAAwCzT,CAAC,CAACyT,QAAF,GAAW,CAAnD,GAAsDzT,CAAC,CAACyT,QAAF,IAAY,CAArE,EAAuE,MAAM,IAAI5T,KAAJ,CAAU,sBAAoBG,CAAC,CAACyT,QAAtB,GAA+B,kBAAzC,CAAN;AAAmE,kBAAGzT,CAAC,CAACyT,QAAF,GAAW,CAAd,EAAgB,MAAM,IAAI5T,KAAJ,CAAU,wEAAV,CAAN;AAA0F,qBAAOG,CAAP;AAAS,aAA/Q,CAAgRA,CAAhR,CAAF,EAAqR,QAAMmD,CAAN,IAAS,KAAK2E,KAAL,IAAa,CAAC,CAAD,EAAG,EAAH,CAAtB,KAA+B,KAAK2L,QAAL,GAAc5P,CAAC,CAAC4P,QAAhB,EAAyB,KAAKsB,SAAL,GAAe,QAAMzT,CAAN,GAAQ,MAAIA,CAAZ,GAAcsI,CAAC,CAACzG,CAAD,CAAD,GAAK,MAAIA,CAAC,CAAC0G,WAAX,GAAuB,IAA7E,EAAkF/F,CAAC,GAACmE,CAAC,CAAC9E,CAAD,CAArF,EAAyFe,CAAC,GAAC,oBAAG,YAAU;AAAC,qBAAO,oBAAEqE,CAAC,CAACpF,CAAD,CAAH,EAAO,SAAP,CAAP;AAAyB,aAAvC,CAA3F,EAAqI,SAAOkB,CAAC,GAAC,KAAKqQ,gBAAd,IAAgC,CAAC,CAAD,EAAG,CAAH,CAAhC,GAAsC,CAAC,CAAD,EAAG,KAAKM,UAAL,CAAgB9Q,CAAhB,CAAH,CAA1M,CAA5R;;AAA8f,eAAK,CAAL;AAAO,gBAAG,MAAI,CAACC,CAAC,GAAC+K,CAAC,CAACtK,IAAF,EAAH,EAAahE,MAApB,EAA2B,OAAO,KAAKkH,KAAL,IAAa5D,CAAC,CAAC0D,OAAF,EAAb,EAAyB,CAAC,CAAD,EAAG,EAAH,CAAhC;AAAuCkB,YAAAA,CAAC,GAAC3E,CAAC,CAAC,CAAD,CAAH,EAAOE,CAAC,GAAC,KAAK4Q,kBAAL,CAAwBnM,CAAxB,EAA0BhF,CAA1B,CAAT,EAAsCoL,CAAC,CAACvK,KAAF,GAAQ,CAA9C;;AAAgD,eAAK,CAAL;AAAO,mBAAM,CAAC,CAAD,EAAG,KAAKuQ,kBAAL,CAAwB7Q,CAAxB,EAA0BH,CAA1B,CAAH,CAAN;;AAAuC,eAAK,CAAL;AAAO,mBAAO6E,CAAC,GAACmG,CAAC,CAACtK,IAAF,EAAF,EAAWV,CAAC,CAAC0D,OAAF,EAAX,EAAuB,QAAMmB,CAAN,IAAS,KAAKjB,KAAL,IAAa,CAAC,CAAD,EAAG,EAAH,CAAtB,KAA+BqB,CAAC,GAACJ,CAAC,CAACoM,eAAJ,EAAoBhJ,CAAC,GAACpD,CAAC,CAACqM,kBAAxB,EAA2CtE,CAAC,GAAC/H,CAAC,CAACsM,SAA/C,EAAyDtG,CAAC,GAAC,KAAKuG,qBAAL,CAA2BnM,CAA3B,EAA6BgD,CAA7B,EAA+BrI,CAA/B,CAA3D,EAA6FuD,CAAC,GAAC0H,CAAC,CAACwG,uBAAjG,EAAyHvG,CAAC,GAACD,CAAC,CAACyG,0BAA7H,EAAwJvG,CAAC,GAAC,KAAKwG,kBAAL,CAAwBzG,CAAxB,EAA0BlL,CAA1B,CAA1J,EAAuL,KAAK4Q,gBAAL,GAAsBzF,CAA7M,EAA+M,SAAO7H,CAAC,GAAC,QAAMC,CAAN,GAAQoF,EAAE,CAACpF,CAAD,EAAGvD,CAAH,CAAV,GAAgB,IAAzB,KAAgCsD,CAAC,CAACsO,OAAF,CAAW,UAASvS,CAAT,EAAWnD,CAAX,EAAa;AAACmD,cAAAA,CAAC,CAACP,IAAF,GAAOyC,CAAC,CAACrF,CAAD,CAAR;AAAY,aAArC,CAA/O,EAAuR,CAAC,CAAD,EAAG,CAAC;AAACsH,cAAAA,KAAK,EAACwJ,CAAP;AAAS5J,cAAAA,SAAS,EAACE;AAAnB,aAAD,CAAH,CAAtT,CAA9B;AAAnsB;AAAqjC,OAAxkC,CAAR;AAAmlC,KAArpC,CAAR;AAAgqC,GAA1sC,EAA2sCjE,CAAC,CAACzB,SAAF,CAAYkG,OAAZ,GAAoB,YAAU;AAAC,SAAK4M,aAAL,CAAmB5M,OAAnB,IAA6B,KAAK6M,aAAL,CAAmB7M,OAAnB,EAA7B,EAA0D,uBAAE,CAAC,KAAKkN,YAAL,CAAkB1N,CAAnB,EAAqB,KAAK0N,YAAL,CAAkBzN,CAAvC,EAAyC,KAAKyN,YAAL,CAAkB5F,CAA3D,EAA6D,KAAK4F,YAAL,CAAkB3Q,CAA/E,CAAF,CAA1D;AAA+I,GAAz3C,EAA03ChB,CAAC,CAACzB,SAAF,CAAYoG,KAAZ,GAAkB,YAAU;AAAC,SAAK4M,gBAAL,GAAsB,IAAtB,EAA2B,KAAKiB,+BAAL,GAAqC,IAAhE,EAAqE,KAAKC,kCAAL,GAAwC,IAA7G,EAAkH,KAAKC,8BAAL,GAAoC,IAAtJ,EAA2J,KAAKC,iCAAL,GAAuC,IAAlM;AAAuM,GAA9lD,EAA+lD3S,CAAC,CAACzB,SAAF,CAAYsT,UAAZ,GAAuB,UAAS7R,CAAT,EAAW;AAAC,WAAOY,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,UAAI/D,CAAJ,EAAMsB,CAAN,EAAQuC,CAAR,EAAUC,CAAV,EAAYG,CAAZ,EAAcC,CAAd,EAAgBG,CAAhB,EAAkBF,CAAlB,EAAoBmF,CAApB;AAAsB,aAAO5E,CAAC,CAAC,IAAD,EAAO,UAASoE,CAAT,EAAW;AAAC,gBAAOA,CAAC,CAACnE,KAAT;AAAgB,eAAK,CAAL;AAAO,mBAAO3E,CAAC,GAAC2I,CAAC,CAACxF,CAAD,EAAG6Q,EAAH,CAAH,EAAU1S,CAAC,GAACtB,CAAC,CAACuJ,WAAd,EAA0B1F,CAAC,GAAC7D,CAAC,CAAC2J,OAA9B,EAAsC7F,CAAC,GAACgJ,EAAE,CAACxL,CAAD,EAAG,CAAC,CAAC,CAAF,EAAI,CAAJ,CAAH,CAA1C,EAAqD2C,CAAC,GAAC0J,EAAE,CAAC7J,CAAD,EAAG,KAAK0Q,aAAR,CAAzD,EAAgFtQ,CAAC,GAACD,CAAC,CAAC4J,KAApF,EAA0F,CAAC,CAAD,EAAGkC,EAAE,CAAC,CAAC1L,CAAC,GAACJ,CAAC,CAAC6J,MAAL,EAAY5J,CAAZ,CAAD,EAAgB,KAAK4Q,YAArB,EAAkCpB,EAAlC,CAAL,CAAjG;;AAA6I,eAAK,CAAL;AAAO,mBAAM,CAAC,CAAD,EAAGhF,EAAE,CAAC5F,CAAC,CAAClE,IAAF,EAAD,EAAU,KAAK6O,QAAf,EAAwBK,EAAxB,EAA2BD,EAA3B,CAAL,CAAN;;AAA2C,eAAK,CAAL;AAAO,mBAAO1P,CAAC,GAAC2E,CAAC,CAAClE,IAAF,EAAF,EAAW0E,CAAC,GAAC,UAASnG,CAAT,EAAWnD,CAAX,EAAa;AAAC,mBAAK,CAAL,KAASmD,CAAT,KAAaA,CAAC,GAAC,EAAf;;AAAmB,mBAAI,IAAI7B,CAAC,GAACtB,CAAC,CAACuF,IAAR,EAAa1B,CAAC,GAAC7D,CAAC,CAACoJ,GAAjB,EAAqBtF,CAAC,GAAC9D,CAAC,CAACuF,IAAF,GAAOvF,CAAC,CAACwF,KAAhC,EAAsCvB,CAAC,GAACjE,CAAC,CAACoJ,GAAF,GAAMpJ,CAAC,CAACqJ,MAAhD,EAAuDnF,CAAC,GAAC,CAA7D,EAA+DA,CAAC,GAACf,CAAC,CAACvC,MAAnE,EAA0EsD,CAAC,EAA3E,EAA8E;AAAC,oBAAIG,CAAC,GAAClB,CAAC,CAACe,CAAD,CAAP;AAAA,oBAAWC,CAAC,GAACE,CAAC,CAAC+I,YAAF,CAAeiB,mBAA5B;AAAA,oBAAgD/E,CAAC,GAAC,CAACnF,CAAC,CAACmK,IAAF,GAAOhN,CAAR,KAAY,IAAEwC,CAAd,CAAlD;AAAA,oBAAmEgF,CAAC,GAAC,CAAC3E,CAAC,CAACoK,IAAF,GAAO1K,CAAR,KAAY,IAAEI,CAAd,CAArE;AAAA,oBAAsF8E,CAAC,GAAC5E,CAAC,CAAC+B,KAAF,IAAS,IAAEpC,CAAX,CAAxF;AAAA,oBAAsGqF,CAAC,GAAChF,CAAC,CAACgC,MAAF,IAAU,IAAElC,CAAZ,CAAxG;AAAuHE,gBAAAA,CAAC,CAACmK,IAAF,GAAOhF,CAAP,EAASnF,CAAC,CAACoK,IAAF,GAAOzF,CAAhB,EAAkB3E,CAAC,CAAC+B,KAAF,GAAQ6C,CAA1B,EAA4B5E,CAAC,CAACgC,MAAF,GAASgD,CAArC;;AAAuC,qBAAI,IAAIgD,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC9H,CAAC,CAAC+I,YAAF,CAAeC,iBAAf,CAAiCzM,MAA/C,EAAsD,EAAEuL,CAAxD,EAA0D;AAAC,sBAAI2E,CAAC,GAACzM,CAAC,CAAC+I,YAAF,CAAeC,iBAAf,CAAiClB,CAAjC,CAAN;AAAA,sBAA0C4C,CAAC,GAAC,CAAC+B,CAAC,CAAC1J,CAAF,GAAI9F,CAAL,KAAS,IAAEwC,CAAX,CAA5C;AAAA,sBAA0DuD,CAAC,GAAC,CAACyJ,CAAC,CAACzJ,CAAF,GAAIxD,CAAL,KAAS,IAAEI,CAAX,CAA5D;AAA0E6M,kBAAAA,CAAC,CAAC1J,CAAF,GAAI2H,CAAJ,EAAM+B,CAAC,CAACzJ,CAAF,GAAIA,CAAV;AAAY;AAAC;;AAAA,qBAAOlE,CAAP;AAAS,aAAza,CAA0agB,CAA1a,EAA4aN,CAA5a,CAAb,EAA4b,uBAAE,CAACvC,CAAD,EAAGwC,CAAH,EAAKO,CAAL,EAAOH,CAAP,CAAF,CAA5b,EAAyc,CAAC,CAAD,EAAGoF,CAAH,CAAhd;AAA7N;AAAorB,OAAvsB,CAAR;AAAktB,KAAxwB,CAAR;AAAmxB,GAAr5E,EAAs5EnG,CAAC,CAACzB,SAAF,CAAYuT,kBAAZ,GAA+B,UAAS9R,CAAT,EAAWnD,CAAX,EAAa;AAAC,WAAO,GAAE,CAAF,EAAI4R,EAAE,CAAC3E,EAAE,CAAC9J,CAAD,EAAGnD,CAAH,EAAK;AAACmN,MAAAA,8BAA8B,EAAC,CAAhC;AAAkCD,MAAAA,gCAAgC,EAAC,CAAnE;AAAqEM,MAAAA,+BAA+B,EAAC;AAArG,KAAL,CAAH,EAAkHxN,CAAlH,EAAoH+T,EAApH,CAAb;AAAqI,GAAxkF,EAAykF5Q,CAAC,CAACzB,SAAF,CAAYwT,kBAAZ,GAA+B,UAAS/R,CAAT,EAAWnD,CAAX,EAAa;AAAC,WAAO+D,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,UAAIzC,CAAJ,EAAMuC,CAAN,EAAQC,CAAR,EAAUG,CAAV,EAAYC,CAAZ,EAAcG,CAAd,EAAgBF,CAAhB,EAAkBmF,CAAlB,EAAoBR,CAApB,EAAsBC,CAAtB,EAAwBI,CAAxB,EAA0BgD,CAA1B,EAA4B2E,CAA5B,EAA8BzJ,CAA9B;AAAgC,aAAO3C,CAAC,CAAC,IAAD,EAAO,UAASsK,CAAT,EAAW;AAAC,gBAAOA,CAAC,CAACrK,KAAT;AAAgB,eAAK,CAAL;AAAO,oBAAOrD,CAAC,GAACqH,CAAC,CAAC3I,CAAD,EAAGiU,EAAH,EAAM9Q,CAAN,CAAH,EAAYU,CAAC,GAACvC,CAAC,CAACiI,WAAhB,EAA4BzF,CAAC,GAACxC,CAAC,CAACqI,OAAhC,EAAwC1F,CAAC,GAAC6I,EAAE,CAACjJ,CAAD,EAAG,CAAC,CAAD,EAAG,CAAH,CAAH,CAA5C,EAAsDK,CAAC,GAAC,KAAKuQ,aAAL,CAAmB7G,OAAnB,CAA2B3J,CAA3B,CAAxD,EAAsF,KAAK+B,SAAlG;AAA6G,mBAAI,MAAJ;AAAW3B,gBAAAA,CAAC,GAACH,CAAC,CAAC,CAAD,CAAH,EAAOC,CAAC,GAACD,CAAC,CAAC,CAAD,CAAV,EAAcoF,CAAC,GAACpF,CAAC,CAAC,CAAD,CAAjB;AAAqB;;AAAM,mBAAI,MAAJ;AAAWG,gBAAAA,CAAC,GAACH,CAAC,CAAC,CAAD,CAAH,EAAOC,CAAC,GAACD,CAAC,CAAC,CAAD,CAAV,EAAcoF,CAAC,GAACpF,CAAC,CAAC,CAAD,CAAjB;AAAqB;;AAAM,mBAAI,OAAJ;AAAYG,gBAAAA,CAAC,GAACH,CAAC,CAAC,CAAD,CAAH,EAAOC,CAAC,GAACD,CAAC,CAAC,CAAD,CAAV,EAAcoF,CAAC,GAACpF,CAAC,CAAC,CAAD,CAAjB;AAAqB;;AAAM;AAAQ,sBAAM,IAAIrE,KAAJ,CAAU,2DAAyD,KAAKmG,SAAxE,CAAN;AAAxO;;AAAiU,mBAAM,CAAC,CAAD,EAAG7B,CAAC,CAAC4M,IAAF,EAAH,CAAN;;AAAmB,eAAK,CAAL;AAAO,mBAAM,CAACjI,CAAC,GAACkG,CAAC,CAACpK,IAAF,GAAS,CAAT,CAAH,IAAgB,EAAhB,IAAoB,uBAAEV,CAAF,GAAK,uBAAE,CAACL,CAAD,EAAGI,CAAH,CAAF,CAAL,EAAc,CAAC,CAAD,EAAG,IAAH,CAAlC,IAA4C,CAAC,CAAD,EAAGoN,EAAE,CAAChN,CAAD,EAAG6P,EAAH,CAAL,CAAlD;;AAA+D,eAAK,CAAL;AAAO,mBAAM,CAAC,CAAD,EAAGpF,EAAE,CAACE,CAAC,CAACpK,IAAF,EAAD,EAAU0E,CAAV,EAAY6K,EAAZ,CAAL,CAAN;;AAA4B,eAAK,CAAL;AAAO,mBAAOpL,CAAC,GAACiG,CAAC,CAACpK,IAAF,EAAF,EAAWuE,CAAC,GAAC,UAAShG,CAAT,EAAWnD,CAAX,EAAa;AAAC,kBAAIsB,CAAC,GAACtB,CAAC,CAACuF,IAAR;AAAA,kBAAa1B,CAAC,GAAC7D,CAAC,CAACoJ,GAAjB;AAAA,kBAAqBtF,CAAC,GAAC9D,CAAC,CAACuF,IAAF,GAAOvF,CAAC,CAACwF,KAAhC;AAAA,kBAAsCvB,CAAC,GAACjE,CAAC,CAACoJ,GAAF,GAAMpJ,CAAC,CAACqJ,MAAhD;AAAuD,qBAAOlG,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,uBAAOQ,CAAC,CAAC,EAAD,EAAIR,CAAJ,EAAM;AAACiE,kBAAAA,CAAC,EAAC,CAACjE,CAAC,CAACiE,CAAF,GAAI9F,CAAL,KAAS,IAAEwC,CAAX,CAAH;AAAiBuD,kBAAAA,CAAC,EAAC,CAAClE,CAAC,CAACkE,CAAF,GAAIxD,CAAL,KAAS,IAAEI,CAAX,CAAnB;AAAiCmB,kBAAAA,CAAC,EAACjC,CAAC,CAACiC,CAAF,IAAK,IAAEtB,CAAP;AAAnC,iBAAN,CAAR;AAA6D,eAAhF,CAAP;AAA0F,aAA/J,CAAgKiF,CAAhK,EAAkKjF,CAAlK,CAAb,EAAkLqI,CAAC,GAAC,UAAShJ,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,mBAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC;AAACyU,gBAAAA,cAAc,EAAC,CAAC;AAAjB,eAAf;;AAAoC,mBAAI,IAAIlS,CAAC,GAAC,EAAN,EAASC,CAAC,GAAC,CAAX,EAAaG,CAAC,GAACd,CAAnB,EAAqBW,CAAC,GAACG,CAAC,CAACrD,MAAzB,EAAgCkD,CAAC,EAAjC,EAAoC;AAAC,oBAAII,CAAC,GAACD,CAAC,CAACH,CAAD,CAAP;AAAA,oBAAWO,CAAC,GAACH,CAAC,CAACkD,CAAF,GAAI,EAAjB;AAAA,oBAAoBjD,CAAC,GAACD,CAAC,CAACmD,CAAF,GAAI,EAA1B;AAAA,oBAA6BiC,CAAC,GAAChI,CAAC,CAACyU,cAAF,GAAiB,CAAjB,GAAmB/V,CAAC,CAACkJ,QAApD;AAAA,oBAA6DJ,CAAC,GAACV,IAAI,CAACoB,GAAL,CAASF,CAAT,IAAYjF,CAAZ,GAAc+D,IAAI,CAACqB,GAAL,CAASH,CAAT,IAAYnF,CAAzF;AAAA,oBAA2F4E,CAAC,GAACX,IAAI,CAACqB,GAAL,CAASH,CAAT,IAAYjF,CAAZ,GAAc+D,IAAI,CAACoB,GAAL,CAASF,CAAT,IAAYnF,CAAvH;AAAyH2E,gBAAAA,CAAC,GAACA,CAAC,GAAC9I,CAAC,CAACkG,KAAJ,GAAUlG,CAAC,CAACgJ,OAAd,EAAsBD,CAAC,GAACA,CAAC,GAAC/I,CAAC,CAACmG,MAAJ,GAAWnG,CAAC,CAACiJ,OAArC;AAA6C,oBAAIE,CAAC,GAACjF,CAAC,CAACkB,CAAF,GAAIpF,CAAC,CAACkG,KAAZ;AAAA,oBAAkBiG,CAAC,GAACxI,CAAC,CAAC,EAAD,EAAIO,CAAJ,CAArB;AAA4BiI,gBAAAA,CAAC,CAAC/E,CAAF,GAAI0B,CAAJ,EAAMqD,CAAC,CAAC9E,CAAF,GAAI0B,CAAV,EAAYoD,CAAC,CAAC/G,CAAF,GAAI+D,CAAhB,EAAkBtF,CAAC,CAACtC,IAAF,CAAO4K,CAAP,CAAlB;AAA4B;;AAAA,qBAAOtI,CAAP;AAAS,aAAhU,CAAiUsF,CAAjU,EAAmUhG,CAAnU,CAApL,EAA0f2N,CAAC,GAAC3E,CAAC,CAACZ,KAAF,CAAQ,CAAR,EAAU,EAAV,CAA5f,EAA0gBlE,CAAC,GAAC8E,CAAC,CAACZ,KAAF,CAAQ,EAAR,EAAW,EAAX,CAA5gB,EAA2hB,uBAAErH,CAAF,CAA3hB,EAAgiB,uBAAE,CAACL,CAAD,EAAGI,CAAH,CAAF,CAAhiB,EAAyiB,CAAC,CAAD,EAAG;AAACkR,cAAAA,eAAe,EAACrE,CAAjB;AAAmBsE,cAAAA,kBAAkB,EAAC/N,CAAtC;AAAwCgO,cAAAA,SAAS,EAACvM;AAAlD,aAAH,CAAhjB;AAA3d;AAAqkC,OAAxlC,CAAR;AAAmmC,KAAnqC,CAAR;AAA8qC,GAApyH,EAAqyH3F,CAAC,CAACzB,SAAF,CAAY+T,kBAAZ,GAA+B,UAAStS,CAAT,EAAWnD,CAAX,EAAa;AAAC,WAAO4R,EAAE,CAAC3E,EAAE,CAACc,EAAE,CAAC5K,CAAD,CAAH,EAAOnD,CAAP,EAAS;AAACkN,MAAAA,gCAAgC,EAAC,CAAlC;AAAoCC,MAAAA,8BAA8B,EAAC,CAAnE;AAAqEK,MAAAA,+BAA+B,EAAC;AAArG,KAAT,CAAH,EAAsHxN,CAAtH,EAAwH+T,EAAxH,CAAT;AAAqI,GAAv9H,EAAw9H5Q,CAAC,CAACzB,SAAF,CAAY4T,qBAAZ,GAAkC,UAASnS,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,QAAIuC,CAAJ,EAAMC,CAAN;;AAAQ,QAAG,QAAM,KAAKiR,SAAX,IAAsB,KAAKhP,eAA9B,EAA8C;AAAC,UAAI9B,CAAC,GAACgJ,EAAE,CAACc,EAAE,CAAC/N,CAAD,CAAH,EAAOsB,CAAP,EAAS;AAAC6L,QAAAA,8BAA8B,EAAC,CAAhC;AAAkCD,QAAAA,gCAAgC,EAAC,CAAnE;AAAqEM,QAAAA,+BAA+B,EAAC;AAArG,OAAT,CAAR;AAA2H,cAAM,KAAKmI,+BAAX,KAA6C,KAAKA,+BAAL,GAAqC,IAAIvD,EAAJ,CAAOgC,EAAP,CAAlF,GAA8FvQ,CAAC,GAAC,KAAK8R,+BAAL,CAAqChU,KAArC,CAA2CwB,CAA3C,CAAhG,EAA8I,QAAM,KAAKyS,kCAAX,KAAgD,KAAKA,kCAAL,GAAwC,IAAIxD,EAAJ,CAAOgC,EAAP,CAAxF,CAA9I,EAAkPtQ,CAAC,GAAC,KAAK8R,kCAAL,CAAwCjU,KAAxC,CAA8C3B,CAA9C,CAApP,EAAqS,QAAM,KAAK6V,8BAAX,KAA4C,KAAKA,8BAAL,GAAoC,IAAInJ,EAAJ,CAAO2H,EAAP,CAAhF,CAArS,EAAiYxQ,CAAC,GAAC,KAAKgS,8BAAL,CAAoClU,KAApC,CAA0CkC,CAA1C,EAA4C,KAAKkR,SAAjD,EAA2DzT,CAA3D,EAA6D,CAAC,CAA9D,EAAgE2C,CAAhE,CAAnY,EAAsc,QAAM,KAAK6R,iCAAX,KAA+C,KAAKA,iCAAL,GAAuC,IAAIpJ,EAAJ,CAAO4H,EAAP,CAAtF,CAAtc,EAAwiBxQ,CAAC,GAAC,KAAKgS,iCAAL,CAAuCnU,KAAvC,CAA6CmC,CAA7C,EAA+C,KAAKiR,SAApD,EAA8DzT,CAA9D,EAAgE,CAAC,CAAjE,EAAmE2C,CAAnE,CAA1iB;AAAgnB,KAA1xB,MAA+xBJ,CAAC,GAACV,CAAF,EAAIW,CAAC,GAAC9D,CAAN;;AAAQ,WAAM;AAACuV,MAAAA,uBAAuB,EAAC1R,CAAzB;AAA2B2R,MAAAA,0BAA0B,EAAC1R;AAAtD,KAAN;AAA+D,GAAx3J,EAAy3JX,CAAh4J;AAAk4J,CAAtzM,EAAP;;AAAg0M,SAAS6S,EAAT,CAAY7S,CAAZ,EAAc;AAAC,SAAOY,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,QAAIzC,CAAJ,EAAMuC,CAAN,EAAQC,CAAR,EAAUG,CAAV,EAAYC,CAAZ,EAAcG,CAAd;AAAgB,WAAOK,CAAC,CAAC,IAAD,EAAO,UAASP,CAAT,EAAW;AAAC,cAAOA,CAAC,CAACQ,KAAT;AAAgB,aAAK,CAAL;AAAO,iBAAOrD,CAAC,GAAC,UAAS6B,CAAT,EAAW;AAAC,gBAAInD,CAAC,GAAC2D,CAAC,CAAC,EAAD,EAAI,QAAMR,CAAN,GAAQkQ,EAAR,GAAWlQ,CAAf,CAAP;AAAyB,gBAAG,QAAMnD,CAAC,CAAC+F,eAAR,KAA0B/F,CAAC,CAAC+F,eAAF,GAAkBsN,EAAE,CAACtN,eAA/C,GAAgE,QAAM/F,CAAC,CAACgG,SAAR,KAAoBhG,CAAC,CAACgG,SAAF,GAAYqN,EAAE,CAACrN,SAAnC,CAAhE,EAA8G,QAAMhG,CAAC,CAACsT,gBAAR,KAA2BtT,CAAC,CAACsT,gBAAF,GAAmBD,EAAE,CAACC,gBAAjD,CAA9G,EAAiL,QAAMtT,CAAC,CAACuT,gBAA5L,EAA6M,QAAOvT,CAAC,CAACgG,SAAT;AAAoB,mBAAI,MAAJ;AAAWhG,gBAAAA,CAAC,CAACuT,gBAAF,GAAmB,2EAAnB;AAA+F;;AAAM,mBAAI,OAAJ;AAAYvT,gBAAAA,CAAC,CAACuT,gBAAF,GAAmB,4EAAnB;AAAgG;;AAAM,mBAAI,MAAJ;AAAW;AAAQvT,gBAAAA,CAAC,CAACuT,gBAAF,GAAmB,2EAAnB;AAAzQ;AAAwW,mBAAOvT,CAAP;AAAS,WAAnmB,CAAomBmD,CAApmB,CAAF,EAAymBU,CAAC,GAACvC,CAAC,CAACgS,gBAAF,CAAmBzE,OAAnB,CAA2B,mBAA3B,IAAgD,CAAC,CAA5pB,EAA8pB/K,CAAC,GAACxC,CAAC,CAACiS,gBAAF,CAAmB1E,OAAnB,CAA2B,mBAA3B,IAAgD,CAAC,CAAjtB,EAAmtB,CAAC,CAAD,EAAG7K,OAAO,CAACiS,GAAR,CAAY,CAAC,mCAAE3U,CAAC,CAACgS,gBAAJ,EAAqB;AAAC4C,YAAAA,SAAS,EAACrS;AAAX,WAArB,CAAD,EAAqC,mCAAEvC,CAAC,CAACiS,gBAAJ,EAAqB;AAAC2C,YAAAA,SAAS,EAACpS;AAAX,WAArB,CAArC,CAAZ,CAAH,CAA1tB;;AAAqzB,aAAK,CAAL;AAAO,iBAAOG,CAAC,GAACE,CAAC,CAACS,IAAF,EAAF,EAAWV,CAAC,GAACD,CAAC,CAAC,CAAD,CAAd,EAAkBI,CAAC,GAACJ,CAAC,CAAC,CAAD,CAArB,EAAyB,CAAC,CAAD,EAAG,IAAIsQ,EAAJ,CAAOrQ,CAAP,EAASG,CAAT,EAAW/C,CAAC,CAACyE,eAAb,EAA6BzE,CAAC,CAAC0E,SAA/B,CAAH,CAAhC;AAAn1B;AAAk6B,KAAr7B,CAAR;AAAg8B,GAAh/B,CAAR;AAA2/B;;AAAA,IAAImQ,EAAJ;AAAA,IAAOC,EAAP;AAAA,IAAUC,EAAE,GAAC,YAAU;AAAC,WAASlT,CAAT,CAAWA,CAAX,EAAa;AAAC,KAAC,UAASA,CAAT,EAAW;AAAC,UAAGA,CAAC,CAACmT,SAAF,GAAY,CAAf,EAAiB,MAAM,IAAIzW,KAAJ,CAAU,gEAA8DsD,CAAC,CAACmT,SAA1E,CAAN;AAA2F,UAAGnT,CAAC,CAACoT,MAAF,IAAU,CAAb,EAAe,MAAM,IAAI1W,KAAJ,CAAU,2DAAyDsD,CAAC,CAACoT,MAArE,CAAN;;AAAmF,UAAG,KAAK,CAAL,KAASpT,CAAC,CAACqT,qBAAd,EAAoC;AAAC,YAAGrT,CAAC,CAACqT,qBAAF,CAAwBC,2BAAxB,GAAoD,CAApD,IAAuDtT,CAAC,CAACqT,qBAAF,CAAwBC,2BAAxB,GAAoD,CAA9G,EAAgH,MAAM,IAAI5W,KAAJ,CAAU,2FAAyFsD,CAAC,CAACqT,qBAAF,CAAwBC,2BAA3H,CAAN;AAA8J,YAAGtT,CAAC,CAACqT,qBAAF,CAAwBE,oBAAxB,GAA6C,CAAhD,EAAkD,MAAM,IAAI7W,KAAJ,CAAU,2EAAyEsD,CAAC,CAACqT,qBAAF,CAAwBE,oBAA3G,CAAN;;AAAuI,aAAI,IAAI1W,CAAC,GAAC,CAAN,EAAQsB,CAAC,GAAC6B,CAAC,CAACqT,qBAAF,CAAwBG,eAAtC,EAAsD3W,CAAC,GAACsB,CAAC,CAACV,MAA1D,EAAiEZ,CAAC,EAAlE,EAAqE;AAAC,cAAI6D,CAAC,GAACvC,CAAC,CAACtB,CAAD,CAAP;AAAW,cAAG6D,CAAC,IAAE,CAAN,EAAQ,MAAM,IAAIhE,KAAJ,CAAU,gFAA8EgE,CAAxF,CAAN;AAAiG;AAAC;AAAC,KAAl4B,CAAm4BV,CAAn4B,CAAD,EAAu4B,KAAKyT,MAAL,GAAY,EAAn5B,EAAs5B,KAAKN,SAAL,GAAenT,CAAC,CAACmT,SAAv6B,EAAi7B,KAAKC,MAAL,GAAY,MAAIpT,CAAC,CAACoT,MAAn8B,EAA08B,KAAKM,aAAL,GAAmB1T,CAAC,CAAC0T,aAA/9B,EAA6+B,KAAKC,MAAL,GAAY,CAAz/B;AAA2/B;;AAAA,SAAO3T,CAAC,CAACzB,SAAF,CAAYC,KAAZ,GAAkB,UAASwB,CAAT,EAAWnD,CAAX,EAAa;AAAC,SAAK+W,eAAL,CAAqB/W,CAArB;AAAwB,QAAIsB,CAAC,GAAC,KAAK0V,iBAAL,CAAuB7T,CAAvB,CAAN;AAAgC,WAAO,KAAK8T,YAAL,CAAkB9T,CAAlB,EAAoB7B,CAApB,EAAsBtB,CAAtB,GAAyB,KAAKkX,YAAL,CAAkBlX,CAAlB,CAAzB,EAA8CmD,CAArD;AAAuD,GAA/I,EAAgJA,CAAC,CAACzB,SAAF,CAAYyV,SAAZ,GAAsB,YAAU;AAAC,WAAO,KAAKP,MAAL,CAAYrL,KAAZ,EAAP;AAA2B,GAA5M,EAA6MpI,CAAC,CAACzB,SAAF,CAAY0V,WAAZ,GAAwB,YAAU;AAAC,WAAO,IAAIC,GAAJ,CAAQ,KAAKT,MAAL,CAAYzP,GAAZ,CAAiB,UAAShE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACmU,EAAT;AAAY,KAAzC,CAAR,CAAP;AAA4D,GAA5S,EAA6SnU,CAAC,CAACzB,SAAF,CAAYqV,eAAZ,GAA4B,UAAS5T,CAAT,EAAW;AAAC,QAAInD,CAAC,GAAC,IAAN;AAAW,SAAK4W,MAAL,GAAY,KAAKA,MAAL,CAAYhI,MAAZ,CAAoB,UAAStN,CAAT,EAAW;AAAC,aAAO6B,CAAC,GAAC7B,CAAC,CAAC0J,aAAJ,IAAmBhL,CAAC,CAACuW,MAA5B;AAAmC,KAAnE,CAAZ;AAAkF,GAAlb,EAAmbpT,CAAC,CAACzB,SAAF,CAAYuV,YAAZ,GAAyB,UAAS9T,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,SAAI,IAAIuC,CAAC,GAACzC,KAAK,CAACmW,IAAN,CAAWnW,KAAK,CAACpB,CAAC,CAAC,CAAD,CAAD,CAAKY,MAAN,CAAL,CAAmB4W,IAAnB,EAAX,CAAN,EAA4C1T,CAAC,GAAC,EAA9C,EAAiDG,CAAC,GAAC,CAAnD,EAAqDC,CAAC,GAAC9C,KAAK,CAACmW,IAAN,CAAWnW,KAAK,CAAC+B,CAAC,CAACvC,MAAH,CAAL,CAAgB4W,IAAhB,EAAX,CAA3D,EAA8FvT,CAAC,GAACC,CAAC,CAACtD,MAAlG,EAAyGqD,CAAC,EAA1G,EAA6G;AAAC,UAAII,CAAC,GAACH,CAAC,CAACD,CAAD,CAAP;;AAAW,UAAG,MAAIJ,CAAC,CAACjD,MAAT,EAAgB;AAAC,aAAI,IAAIuD,CAAC,GAAC,CAAC,CAAP,EAASmF,CAAC,GAAC,CAAC,CAAZ,EAAcR,CAAC,GAAC,CAAhB,EAAkBC,CAAC,GAAClF,CAAxB,EAA0BiF,CAAC,GAACC,CAAC,CAACnI,MAA9B,EAAqCkI,CAAC,EAAtC,EAAyC;AAAC,cAAIK,CAAC,GAACJ,CAAC,CAACD,CAAD,CAAP;AAAA,cAAWqD,CAAC,GAACnM,CAAC,CAACqE,CAAD,CAAD,CAAK8E,CAAL,CAAb;AAAqBgD,UAAAA,CAAC,IAAE,KAAK0K,aAAR,IAAuB1K,CAAC,GAAC7C,CAAzB,KAA6BnF,CAAC,GAACgF,CAAF,EAAIG,CAAC,GAAC6C,CAAnC;AAAsC;;AAAA,YAAGhI,CAAC,IAAE,CAAN,EAAQ;AAAC,cAAI2M,CAAC,GAAC,KAAK8F,MAAL,CAAYzS,CAAZ,CAAN;AAAqB2M,UAAAA,CAAC,GAAC1N,MAAM,CAACQ,MAAP,CAAckN,CAAd,EAAgB,KAAK2G,WAAL,CAAiBtU,CAAC,CAACkB,CAAD,CAAlB,EAAsB/C,CAAtB,EAAwBwP,CAAC,CAACwG,EAA1B,CAAhB,CAAF,EAAiDnU,CAAC,CAACkB,CAAD,CAAD,CAAKiT,EAAL,GAAQxG,CAAC,CAACwG,EAA3D;AAA8D,cAAIvI,CAAC,GAAClL,CAAC,CAACgL,OAAF,CAAU1K,CAAV,CAAN;AAAmBN,UAAAA,CAAC,CAAC6T,MAAF,CAAS3I,CAAT,EAAW,CAAX;AAAc,SAA7H,MAAkIjL,CAAC,CAACvC,IAAF,CAAO8C,CAAP;AAAU,OAAlQ,MAAuQP,CAAC,CAACvC,IAAF,CAAO8C,CAAP;AAAU;;AAAA,SAAI,IAAIgD,CAAC,GAAC,CAAN,EAAQ2H,CAAC,GAAClL,CAAd,EAAgBuD,CAAC,GAAC2H,CAAC,CAACpO,MAApB,EAA2ByG,CAAC,EAA5B,EAA+B;AAAChD,MAAAA,CAAC,GAAC2K,CAAC,CAAC3H,CAAD,CAAH;AAAO,UAAI4H,CAAC,GAAC,KAAKwI,WAAL,CAAiBtU,CAAC,CAACkB,CAAD,CAAlB,EAAsB/C,CAAtB,CAAN;AAA+B,WAAKsV,MAAL,CAAYrV,IAAZ,CAAiB0N,CAAjB,GAAoB9L,CAAC,CAACkB,CAAD,CAAD,CAAKiT,EAAL,GAAQrI,CAAC,CAACqI,EAA9B;AAAiC;AAAC,GAA98B,EAA+8BnU,CAAC,CAACzB,SAAF,CAAYwV,YAAZ,GAAyB,UAAS/T,CAAT,EAAW;AAAC,SAAKyT,MAAL,CAAYe,IAAZ,CAAkB,UAASxU,CAAT,EAAWnD,CAAX,EAAa;AAAC,aAAOA,CAAC,CAACgL,aAAF,GAAgB7H,CAAC,CAAC6H,aAAzB;AAAuC,KAAvE,GAA0E,KAAK4L,MAAL,GAAY,KAAKA,MAAL,CAAYrL,KAAZ,CAAkB,CAAlB,EAAoB,KAAK+K,SAAzB,CAAtF;AAA0H,GAA9mC,EAA+mCnT,CAAC,CAACzB,SAAF,CAAY+V,WAAZ,GAAwB,UAAStU,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,QAAIuC,CAAC,GAAC;AAACyT,MAAAA,EAAE,EAAChW,CAAC,IAAE,KAAKsW,WAAL,EAAP;AAA0B5M,MAAAA,aAAa,EAAChL,CAAxC;AAA0CkH,MAAAA,SAAS,EAAC/D,CAAC,CAAC+D,SAAF,CAAYqE,KAAZ,GAAoBpE,GAApB,CAAyB,UAAShE,CAAT,EAAW;AAAC,eAAOQ,CAAC,CAAC,EAAD,EAAIR,CAAJ,CAAR;AAAe,OAApD;AAApD,KAAN;AAAkH,WAAO,KAAK,CAAL,KAASA,CAAC,CAAC0U,GAAX,KAAiBhU,CAAC,CAACgU,GAAF,GAAMlU,CAAC,CAAC,EAAD,EAAIR,CAAC,CAAC0U,GAAN,CAAxB,GAAoChU,CAA3C;AAA6C,GAAtzC,EAAuzCV,CAAC,CAACzB,SAAF,CAAYkW,WAAZ,GAAwB,YAAU;AAAC,QAAIzU,CAAC,GAAC,KAAK2T,MAAX;AAAkB,WAAO,KAAKA,MAAL,IAAa,CAAb,EAAe3T,CAAtB;AAAwB,GAAp4C,EAAq4CA,CAAC,CAACzB,SAAF,CAAYoW,MAAZ,GAAmB,YAAU;AAAC,SAAI,IAAI3U,CAAC,GAAC,EAAN,EAASnD,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACqB,SAAS,CAACT,MAA7B,EAAoCZ,CAAC,EAArC,EAAwCmD,CAAC,CAACnD,CAAD,CAAD,GAAKqB,SAAS,CAACrB,CAAD,CAAd;;AAAkB,SAAK4W,MAAL,GAAY,KAAKA,MAAL,CAAYhI,MAAZ,CAAoB,UAAS5O,CAAT,EAAW;AAAC,aAAM,CAACmD,CAAC,CAAC4U,QAAF,CAAW/X,CAAC,CAACsX,EAAb,CAAP;AAAwB,KAAxD,CAAZ;AAAuE,GAApiD,EAAqiDnU,CAAC,CAACzB,SAAF,CAAYoG,KAAZ,GAAkB,YAAU;AAAC,SAAK8O,MAAL,GAAY,EAAZ;AAAe,GAAjlD,EAAklDzT,CAAzlD;AAA2lD,CAA/mF,EAAb;AAAA,IAA+nF6U,EAAE,GAAC,UAAS7U,CAAT,EAAW;AAAC,WAASnD,CAAT,CAAWA,CAAX,EAAa;AAAC,WAAOmD,CAAC,CAAC/C,IAAF,CAAO,IAAP,EAAYJ,CAAZ,KAAgB,IAAvB;AAA4B;;AAAA,SAAOwD,CAAC,CAACxD,CAAD,EAAGmD,CAAH,CAAD,EAAOnD,CAAC,CAAC0B,SAAF,CAAYsV,iBAAZ,GAA8B,UAAS7T,CAAT,EAAW;AAAC,QAAInD,CAAC,GAAC,IAAN;AAAW,WAAO,MAAImD,CAAC,CAACvC,MAAN,IAAc,MAAI,KAAKgW,MAAL,CAAYhW,MAA9B,GAAqC,CAAC,EAAD,CAArC,GAA0CuC,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,aAAOnD,CAAC,CAAC4W,MAAF,CAASzP,GAAT,CAAc,UAAS7F,CAAT,EAAW;AAAC,eAAOtB,CAAC,CAACiY,GAAF,CAAM9U,CAAN,EAAQ7B,CAAR,CAAP;AAAkB,OAA5C,CAAP;AAAsD,KAAzE,CAAjD;AAA6H,GAAzL,EAA0LtB,CAAC,CAAC0B,SAAF,CAAYuW,GAAZ,GAAgB,UAAS9U,CAAT,EAAWnD,CAAX,EAAa;AAAC,QAAIsB,CAAC,GAAC8G,IAAI,CAACgG,GAAL,CAASjL,CAAC,CAAC0U,GAAF,CAAMvJ,IAAf,EAAoBtO,CAAC,CAAC6X,GAAF,CAAMvJ,IAA1B,CAAN;AAAA,QAAsCzK,CAAC,GAACuE,IAAI,CAACgG,GAAL,CAASjL,CAAC,CAAC0U,GAAF,CAAMtJ,IAAf,EAAoBvO,CAAC,CAAC6X,GAAF,CAAMtJ,IAA1B,CAAxC;AAAA,QAAwEzK,CAAC,GAACsE,IAAI,CAAC+F,GAAL,CAAShL,CAAC,CAAC0U,GAAF,CAAMrJ,IAAf,EAAoBxO,CAAC,CAAC6X,GAAF,CAAMrJ,IAA1B,CAA1E;AAAA,QAA0GvK,CAAC,GAACmE,IAAI,CAAC+F,GAAL,CAAShL,CAAC,CAAC0U,GAAF,CAAMpJ,IAAf,EAAoBzO,CAAC,CAAC6X,GAAF,CAAMpJ,IAA1B,CAA5G;AAA4I,QAAGnN,CAAC,IAAEwC,CAAH,IAAMD,CAAC,IAAEI,CAAZ,EAAc,OAAO,CAAP;AAAS,QAAIC,CAAC,GAAC,CAACJ,CAAC,GAACxC,CAAH,KAAO2C,CAAC,GAACJ,CAAT,CAAN;AAAkB,WAAOK,CAAC,IAAEf,CAAC,CAAC0U,GAAF,CAAM3R,KAAN,GAAY/C,CAAC,CAAC0U,GAAF,CAAM1R,MAAlB,GAAyBnG,CAAC,CAAC6X,GAAF,CAAM3R,KAAN,GAAYlG,CAAC,CAAC6X,GAAF,CAAM1R,MAA3C,GAAkDjC,CAApD,CAAR;AAA+D,GAA5c,EAA6clE,CAApd;AAAsd,CAA5gB,CAA6gBqW,EAA7gB,CAAloF;AAAA,IAAmpG6B,EAAE,GAAC,UAAS/U,CAAT,EAAW;AAAC,WAASnD,CAAT,CAAWA,CAAX,EAAa;AAAC,QAAIsB,CAAC,GAAC6B,CAAC,CAAC/C,IAAF,CAAO,IAAP,EAAYJ,CAAZ,KAAgB,IAAtB;AAA2B,WAAOsB,CAAC,CAAC6W,iBAAF,GAAoBnY,CAAC,CAACwW,qBAAF,CAAwBC,2BAA5C,EAAwEnV,CAAC,CAACqV,eAAF,GAAkB3W,CAAC,CAACwW,qBAAF,CAAwBG,eAAlH,EAAkIrV,CAAC,CAAC8W,cAAF,GAAiBpY,CAAC,CAACwW,qBAAF,CAAwBE,oBAA3K,EAAgMpV,CAAvM;AAAyM;;AAAA,SAAOkC,CAAC,CAACxD,CAAD,EAAGmD,CAAH,CAAD,EAAOnD,CAAC,CAAC0B,SAAF,CAAYsV,iBAAZ,GAA8B,UAAS7T,CAAT,EAAW;AAAC,QAAG,MAAIA,CAAC,CAACvC,MAAN,IAAc,MAAI,KAAKgW,MAAL,CAAYhW,MAAjC,EAAwC,OAAM,CAAC,EAAD,CAAN;;AAAW,SAAI,IAAIZ,CAAC,GAAC,EAAN,EAASsB,CAAC,GAAC,CAAX,EAAauC,CAAC,GAACV,CAAnB,EAAqB7B,CAAC,GAACuC,CAAC,CAACjD,MAAzB,EAAgCU,CAAC,EAAjC,EAAoC;AAAC,WAAI,IAAIwC,CAAC,GAACD,CAAC,CAACvC,CAAD,CAAP,EAAW2C,CAAC,GAAC,EAAb,EAAgBC,CAAC,GAAC,CAAlB,EAAoBG,CAAC,GAAC,KAAKuS,MAA/B,EAAsC1S,CAAC,GAACG,CAAC,CAACzD,MAA1C,EAAiDsD,CAAC,EAAlD,EAAqD;AAAC,YAAIC,CAAC,GAACE,CAAC,CAACH,CAAD,CAAP;AAAWD,QAAAA,CAAC,CAAC1C,IAAF,CAAO,KAAK8W,GAAL,CAASvU,CAAT,EAAWK,CAAX,CAAP;AAAsB;;AAAAnE,MAAAA,CAAC,CAACuB,IAAF,CAAO0C,CAAP;AAAU;;AAAA,WAAOjE,CAAP;AAAS,GAAnP,EAAoPA,CAAC,CAAC0B,SAAF,CAAY2W,GAAZ,GAAgB,UAASlV,CAAT,EAAWnD,CAAX,EAAa;AAAC,SAAI,IAAIsB,CAAC,GAAC,KAAKgX,IAAL,CAAUtY,CAAC,CAACkH,SAAZ,IAAuB,IAA7B,EAAkCrD,CAAC,GAAC,CAApC,EAAsCC,CAAC,GAAC,CAAxC,EAA0CG,CAAC,GAAC,CAAhD,EAAkDA,CAAC,GAACd,CAAC,CAAC+D,SAAF,CAAYtG,MAAhE,EAAuE,EAAEqD,CAAzE,EAA2E;AAAC,UAAIC,CAAC,GAACf,CAAC,CAAC+D,SAAF,CAAYjD,CAAZ,CAAN;AAAA,UAAqBI,CAAC,GAACrE,CAAC,CAACkH,SAAF,CAAYjD,CAAZ,CAAvB;;AAAsC,UAAG,EAAEC,CAAC,CAACoD,KAAF,GAAQ,KAAK6Q,iBAAb,IAAgC9T,CAAC,CAACiD,KAAF,GAAQ,KAAK6Q,iBAA/C,CAAH,EAAqE;AAACrU,QAAAA,CAAC,IAAE,CAAH;AAAK,YAAIK,CAAC,GAACiE,IAAI,CAACmQ,GAAL,CAASrU,CAAC,CAACkD,CAAF,GAAI/C,CAAC,CAAC+C,CAAf,EAAiB,CAAjB,IAAoBgB,IAAI,CAACmQ,GAAL,CAASrU,CAAC,CAACmD,CAAF,GAAIhD,CAAC,CAACgD,CAAf,EAAiB,CAAjB,CAA1B;AAAA,YAA8CiC,CAAC,GAAC,IAAE,KAAKqN,eAAL,CAAqB1S,CAArB,CAAlD;AAA0EJ,QAAAA,CAAC,IAAEuE,IAAI,CAACsJ,GAAL,CAAS,CAAC,CAAD,GAAGvN,CAAH,IAAM,IAAE7C,CAAF,GAAI8G,IAAI,CAACmQ,GAAL,CAASjP,CAAT,EAAW,CAAX,CAAV,CAAT,CAAH;AAAsC;AAAC;;AAAA,WAAOxF,CAAC,GAAC,KAAKsU,cAAP,GAAsB,CAAtB,GAAwBvU,CAAC,GAACC,CAAjC;AAAmC,GAAnmB,EAAomB9D,CAAC,CAAC0B,SAAF,CAAY4W,IAAZ,GAAiB,UAASnV,CAAT,EAAW;AAAC,QAAInD,CAAC,GAAC,IAAN;AAAA,QAAWsB,CAAC,GAAC6B,CAAC,CAACyL,MAAF,CAAU,UAASzL,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACmE,KAAF,GAAQtH,CAAC,CAACmY,iBAAjB;AAAmC,KAAzD,CAAb;AAAA,QAAyEtU,CAAC,GAACuE,IAAI,CAAC+F,GAAL,CAASxM,KAAT,CAAeyG,IAAf,EAAoB,CAAC,CAAD,EAAIvH,MAAJ,CAAWS,CAAC,CAAC6F,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACiE,CAAT;AAAW,KAA9B,CAAX,CAApB,CAA3E;AAAA,QAA6ItD,CAAC,GAACsE,IAAI,CAACgG,GAAL,CAASzM,KAAT,CAAeyG,IAAf,EAAoB,CAAC,CAAD,EAAIvH,MAAJ,CAAWS,CAAC,CAAC6F,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACiE,CAAT;AAAW,KAA9B,CAAX,CAApB,CAA/I;AAAA,QAAiNnD,CAAC,GAACmE,IAAI,CAAC+F,GAAL,CAASxM,KAAT,CAAeyG,IAAf,EAAoB,CAAC,CAAD,EAAIvH,MAAJ,CAAWS,CAAC,CAAC6F,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACkE,CAAT;AAAW,KAA9B,CAAX,CAApB,CAAnN;AAAqR,WAAM,CAACvD,CAAC,GAACD,CAAH,KAAOuE,IAAI,CAACgG,GAAL,CAASzM,KAAT,CAAeyG,IAAf,EAAoB,CAAC,CAAD,EAAIvH,MAAJ,CAAWS,CAAC,CAAC6F,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,aAAOA,CAAC,CAACkE,CAAT;AAAW,KAA9B,CAAX,CAApB,IAAkEpD,CAAzE,CAAN;AAAkF,GAAx+B,EAAy+BjE,CAAh/B;AAAk/B,CAAhvC,CAAivCqW,EAAjvC,CAAtpG;;;;;AAA24I,SAASmC,EAAT,CAAYrV,CAAZ,EAAc;AAAC,UAAOA,CAAP;AAAU,SAAKiT,EAAE,CAACqC,SAAR;AAAkB,aAAOpT,CAAC,CAACqT,MAAF,CAAU,UAASvV,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,eAAO6B,CAAC,CAACnD,CAAD,CAAD,GAAKsB,CAAL,EAAO6B,CAAd;AAAgB,OAA1C,EAA4C,EAA5C,CAAP;;AAAuD,SAAKiT,EAAE,CAACuC,OAAR;AAAgB,SAAKvC,EAAE,CAACwC,OAAR;AAAgB,aAAOxT,CAAC,CAACsT,MAAF,CAAU,UAASvV,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,eAAO6B,CAAC,CAACnD,CAAD,CAAD,GAAKsB,CAAL,EAAO6B,CAAd;AAAgB,OAA1C,EAA4C,EAA5C,CAAP;;AAAuD;AAAQ,YAAM,IAAItD,KAAJ,CAAU,WAASsD,CAAT,GAAW,oBAArB,CAAN;AAAlL;AAAoO;;AAAA,CAAC,UAASA,CAAT,EAAW;AAACA,EAAAA,CAAC,CAAC0V,QAAF,GAAW,UAAX,EAAsB1V,CAAC,CAAC2V,WAAF,GAAc,aAApC;AAAkD,CAA9D,CAA+D3C,EAAE,2BAAGA,EAAE,GAAC,EAAN,CAAjE,CAAD,EAA6E,UAAShT,CAAT,EAAW;AAACA,EAAAA,CAAC,CAACyV,OAAF,GAAU,SAAV,EAAoBzV,CAAC,CAACsV,SAAF,GAAY,WAAhC,EAA4CtV,CAAC,CAACwV,OAAF,GAAU,SAAtD;AAAgE,CAA5E,CAA6EvC,EAAE,+BAAGA,EAAE,GAAC,EAAN,CAA/E,CAA7E;AAAuK,IAAI2C,EAAE,GAAC3V,MAAM,CAAC4V,MAAP,CAAc;AAAC1V,EAAAA,SAAS,EAAC,IAAX;AAAgB2V,EAAAA,sBAAsB,EAAC,UAAS9V,CAAT,EAAW;AAAC,YAAOA,CAAP;AAAU,WAAKiT,EAAE,CAACqC,SAAR;AAAkB,eAAOnT,CAAP;;AAAS,WAAK8Q,EAAE,CAACuC,OAAR;AAAgB,WAAKvC,EAAE,CAACwC,OAAR;AAAgB,eAAOlT,CAAP;;AAAS;AAAQ,cAAM,IAAI7F,KAAJ,CAAU,WAASsD,CAAT,GAAW,oBAArB,CAAN;AAAtF;AAAwI,GAA3L;AAA4L+V,EAAAA,gBAAgB,EAAC,UAAS/V,CAAT,EAAW;AAAC,YAAOA,CAAP;AAAU,WAAKiT,EAAE,CAACqC,SAAR;AAAkB,eAAO7S,CAAP;;AAAS,WAAKwQ,EAAE,CAACuC,OAAR;AAAgB,WAAKvC,EAAE,CAACwC,OAAR;AAAgB,eAAOjT,CAAP;;AAAS;AAAQ,cAAM,IAAI9F,KAAJ,CAAU,WAASsD,CAAT,GAAW,oBAArB,CAAN;AAAtF;AAAwI,GAAjW;AAAkWgW,EAAAA,sBAAsB,EAACX;AAAzX,CAAd,CAAP;AAAA,IAAmZY,EAAE,GAAC,CAAC,sBAAD,EAAwB,oBAAxB,EAA6C,qBAA7C,CAAtZ;AAAA,IAA0dC,EAAE,GAAC;AAACrT,EAAAA,SAAS,EAAC,sBAAX;AAAkCD,EAAAA,eAAe,EAAC,CAAC;AAAnD,CAA7d;AAAA,IAAmhBuT,EAAE,GAAC,EAAthB;AAAA,IAAyhBC,EAAE,GAAC;AAAC/O,EAAAA,SAAS,EAAC,EAAX;AAAcC,EAAAA,SAAS,EAAC,GAAxB;AAA4BC,EAAAA,IAAI,EAAC,GAAjC;AAAqCG,EAAAA,cAAc,EAAC,GAApD;AAAwDF,EAAAA,eAAe,EAAC,EAAxE;AAA2EC,EAAAA,aAAa,EAAC;AAAzF,CAA5hB;AAAA,IAAwnB4O,EAAE,GAAC;AAAClD,EAAAA,SAAS,EAAC,EAAX;AAAcC,EAAAA,MAAM,EAAC,GAArB;AAAyBM,EAAAA,aAAa,EAAC,EAAvC;AAA0CL,EAAAA,qBAAqB,EAAC;AAACC,IAAAA,2BAA2B,EAAC,EAA7B;AAAgCE,IAAAA,eAAe,EAAC,CAAC,IAAD,EAAM,IAAN,EAAW,IAAX,EAAgB,IAAhB,EAAqB,IAArB,EAA0B,IAA1B,EAA+B,IAA/B,EAAoC,IAApC,EAAyC,IAAzC,EAA8C,IAA9C,EAAmD,IAAnD,EAAwD,IAAxD,EAA6D,IAA7D,EAAkE,IAAlE,EAAuE,IAAvE,EAA4E,IAA5E,EAAiF,IAAjF,CAAhD;AAAuID,IAAAA,oBAAoB,EAAC;AAA5J;AAAhE,CAA3nB;AAAA,IAA21B+C,EAAE,GAAC;AAACnD,EAAAA,SAAS,EAAC,EAAX;AAAcC,EAAAA,MAAM,EAAC,GAArB;AAAyBM,EAAAA,aAAa,EAAC,GAAvC;AAA2C6C,EAAAA,aAAa,EAAC;AAAzD,CAA91B;;;AAA25B,SAASC,EAAT,CAAYxW,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoB;AAAC,OAAI,IAAIC,CAAC,GAAC,EAAN,EAASG,CAAC,GAAC,CAAX,EAAaC,CAAC,GAACkB,CAAnB,EAAqBnB,CAAC,GAACC,CAAC,CAACtD,MAAzB,EAAgCqD,CAAC,EAAjC,EAAoC;AAAC,QAAII,CAAC,GAACH,CAAC,CAACD,CAAD,CAAP;AAAWH,IAAAA,CAAC,CAACO,CAAD,CAAD,GAAK,CAACrE,CAAC,CAACsB,CAAC,CAAC+C,CAAD,CAAF,CAAD,CAAQgD,CAAR,GAAUxD,CAAC,CAACsC,MAAb,EAAoBnG,CAAC,CAACsB,CAAC,CAAC+C,CAAD,CAAF,CAAD,CAAQ+C,CAAR,GAAUvD,CAAC,CAACqC,KAAhC,CAAL;AAA4C;;AAAA,MAAG,UAAS/C,CAAT,EAAWnD,CAAX,EAAa;AAAC,WAAM,CAACmD,CAAC,CAACnD,CAAC,CAAC4Z,QAAH,CAAD,CAActS,KAAd,GAAoB,EAApB,IAAwBnE,CAAC,CAACnD,CAAC,CAAC6Z,SAAH,CAAD,CAAevS,KAAf,GAAqB,EAA9C,MAAoDnE,CAAC,CAACnD,CAAC,CAAC8Z,aAAH,CAAD,CAAmBxS,KAAnB,GAAyB,EAAzB,IAA6BnE,CAAC,CAACnD,CAAC,CAAC+Z,cAAH,CAAD,CAAoBzS,KAApB,GAA0B,EAA3G,CAAN;AAAqH,GAAnI,CAAoItH,CAApI,EAAsIsB,CAAtI,CAAH,EAA4I;AAAC,QAAI6C,CAAC,GAAC,CAACL,CAAC,CAAC8V,QAAF,CAAW,CAAX,IAAc9V,CAAC,CAAC+V,SAAF,CAAY,CAAZ,CAAf,IAA+B,CAArC;AAAA,QAAuCvQ,CAAC,GAAC,CAACxF,CAAC,CAAC8V,QAAF,CAAW,CAAX,IAAc9V,CAAC,CAAC+V,SAAF,CAAY,CAAZ,CAAf,IAA+B,CAAxE;AAAA,QAA0E/Q,CAAC,GAAC,UAAS3F,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAeuC,CAAf,EAAiBC,CAAjB,EAAmB;AAAC,WAAI,IAAIG,CAAC,GAAC,CAAC,eAAD,EAAiB,gBAAjB,EAAkC,UAAlC,EAA6C,WAA7C,CAAN,EAAgEC,CAAC,GAAC,CAAlE,EAAoEG,CAAC,GAAC,CAAtE,EAAwEF,CAAC,GAAC,CAA9E,EAAgFA,CAAC,GAACF,CAAC,CAACrD,MAApF,EAA2FuD,CAAC,EAA5F,EAA+F;AAAC,SAACgI,CAAC,GAAC/D,IAAI,CAAC8C,GAAL,CAASrH,CAAC,GAACvC,CAAC,CAAC2C,CAAC,CAACE,CAAD,CAAF,CAAD,CAAQ,CAAR,CAAX,CAAH,IAA2BD,CAA3B,KAA+BA,CAAC,GAACiI,CAAjC,GAAoC,CAAC2E,CAAC,GAAC1I,IAAI,CAAC8C,GAAL,CAASpH,CAAC,GAACxC,CAAC,CAAC2C,CAAC,CAACE,CAAD,CAAF,CAAD,CAAQ,CAAR,CAAX,CAAH,IAA2BE,CAA3B,KAA+BA,CAAC,GAACyM,CAAjC,CAApC;AAAwE;;AAAA,WAAI,IAAIxH,CAAC,GAAC,CAAN,EAAQR,CAAC,GAAC,CAAV,EAAYC,CAAC,GAAC,CAAd,EAAgBI,CAAC,GAAC/F,MAAM,CAACoU,IAAP,CAAYlW,CAAZ,CAAtB,EAAqCyH,CAAC,GAACI,CAAC,CAACvI,MAAzC,EAAgDmI,CAAC,EAAjD,EAAoD;AAAC,YAAIoD,CAAJ;AAAA,YAAM2E,CAAN;AAAA,YAAQ/B,CAAC,GAAC5F,CAAC,CAACJ,CAAD,CAAX;AAAe,YAAG,EAAE5F,CAAC,CAACnD,CAAC,CAAC+O,CAAD,CAAF,CAAD,CAAQzH,KAAR,GAAc,EAAhB,CAAH,EAAuB,CAAC6E,CAAC,GAAC/D,IAAI,CAAC8C,GAAL,CAASrH,CAAC,GAACvC,CAAC,CAACyN,CAAD,CAAD,CAAK,CAAL,CAAX,CAAH,IAAwBzF,CAAxB,KAA4BA,CAAC,GAAC6C,CAA9B,GAAiC,CAAC2E,CAAC,GAAC1I,IAAI,CAAC8C,GAAL,CAASpH,CAAC,GAACxC,CAAC,CAACyN,CAAD,CAAD,CAAK,CAAL,CAAX,CAAH,IAAwBjG,CAAxB,KAA4BA,CAAC,GAACgI,CAA9B,CAAjC;AAAkE;;AAAA,aAAM,CAAC5M,CAAD,EAAGG,CAAH,EAAKiF,CAAL,EAAOR,CAAP,CAAN;AAAgB,KAAzW,CAA0W9I,CAA1W,EAA4WsB,CAA5W,EAA8WwC,CAA9W,EAAgXK,CAAhX,EAAkXmF,CAAlX,CAA5E;AAAA,QAAicP,CAAC,GAACD,CAAC,CAAC,CAAD,CAApc;AAAA,QAAwcK,CAAC,GAACL,CAAC,CAAC,CAAD,CAA3c;AAAA,QAA+cqD,CAAC,GAACrD,CAAC,CAAC,CAAD,CAAld;AAAA,QAAsdgI,CAAC,GAAChI,CAAC,CAAC,CAAD,CAAzd;AAAA,QAA6diG,CAAC,GAAC3G,IAAI,CAACgG,GAAL,CAAS,MAAIjF,CAAb,EAAe,MAAIJ,CAAnB,EAAqB,MAAIoD,CAAzB,EAA2B,MAAI2E,CAA/B,CAA/d;AAAA,QAAigBzJ,CAAC,GAAC,CAAClD,CAAC,IAAE4K,CAAC,GAAC3G,IAAI,CAAC+F,GAAL,CAASY,CAAT,EAAW3G,IAAI,CAACgG,GAAL,CAAS9E,CAAT,EAAWzF,CAAC,CAACqC,KAAF,GAAQoD,CAAnB,EAAqBnF,CAArB,EAAuBN,CAAC,CAACsC,MAAF,GAAShC,CAAhC,CAAX,CAAJ,CAAF,EAAsDmF,CAAC,GAACyF,CAAxD,CAAngB;;AAA8jB,QAAGA,CAAC,GAAC3G,IAAI,CAACgG,GAAL,CAASvK,CAAC,CAACqC,KAAX,EAAiBrC,CAAC,CAACsC,MAAnB,IAA2B,CAAhC,EAAkC,OAAO6T,EAAE,CAAC,QAAM7W,CAAP,EAASU,CAAT,CAAT;AAAqB,QAAImL,CAAC,GAAC,IAAED,CAAR;AAAU,WAAM;AAACR,MAAAA,IAAI,EAAClH,CAAC,CAAC,CAAD,CAAD,GAAKxD,CAAC,CAACsC,MAAb;AAAoBmI,MAAAA,IAAI,EAACjH,CAAC,CAAC,CAAD,CAAD,GAAKxD,CAAC,CAACqC,KAAhC;AAAsCuI,MAAAA,IAAI,EAAC,CAACpH,CAAC,CAAC,CAAD,CAAD,GAAK2H,CAAN,IAASnL,CAAC,CAACsC,MAAtD;AAA6DqI,MAAAA,IAAI,EAAC,CAACnH,CAAC,CAAC,CAAD,CAAD,GAAK2H,CAAN,IAASnL,CAAC,CAACqC,KAA7E;AAAmFC,MAAAA,MAAM,EAAC,CAACkB,CAAC,CAAC,CAAD,CAAD,GAAK2H,CAAN,IAASnL,CAAC,CAACsC,MAAX,GAAkBkB,CAAC,CAAC,CAAD,CAAD,GAAKxD,CAAC,CAACsC,MAAnH;AAA0HD,MAAAA,KAAK,EAAC,CAACmB,CAAC,CAAC,CAAD,CAAD,GAAK2H,CAAN,IAASnL,CAAC,CAACqC,KAAX,GAAiBmB,CAAC,CAAC,CAAD,CAAD,GAAKxD,CAAC,CAACqC;AAAxJ,KAAN;AAAqK;;AAAA,SAAO8T,EAAE,CAAC,QAAM7W,CAAP,EAASU,CAAT,CAAT;AAAqB;;AAAA,SAASmW,EAAT,CAAY7W,CAAZ,EAAcnD,CAAd,EAAgB;AAAC,MAAIsB,CAAJ,EAAMuC,CAAN,EAAQC,CAAR,EAAUG,CAAV;AAAY,SAAOd,CAAC,GAACnD,CAAC,CAACkG,KAAF,GAAQlG,CAAC,CAACmG,MAAV,IAAkB7E,CAAC,GAAC,CAAF,EAAIuC,CAAC,GAAC7D,CAAC,CAACmG,MAAF,GAASnG,CAAC,CAACkG,KAAjB,EAAuBpC,CAAC,GAAC,CAAzB,EAA2BG,CAAC,GAAC,CAACjE,CAAC,CAACkG,KAAF,GAAQ,CAAR,GAAUlG,CAAC,CAACmG,MAAF,GAAS,CAApB,IAAuBnG,CAAC,CAACkG,KAAxE,KAAgF5E,CAAC,GAACtB,CAAC,CAACkG,KAAF,GAAQlG,CAAC,CAACmG,MAAZ,EAAmBtC,CAAC,GAAC,CAArB,EAAuBC,CAAC,GAAC,CAAC9D,CAAC,CAACmG,MAAF,GAAS,CAAT,GAAWnG,CAAC,CAACkG,KAAF,GAAQ,CAApB,IAAuBlG,CAAC,CAACmG,MAAlD,EAAyDlC,CAAC,GAAC,CAA3I,CAAD,GAA+IjE,CAAC,CAACkG,KAAF,GAAQlG,CAAC,CAACmG,MAAV,IAAkB7E,CAAC,GAACtB,CAAC,CAACkG,KAAF,GAAQlG,CAAC,CAACmG,MAAZ,EAAmBtC,CAAC,GAAC,CAArB,EAAuBC,CAAC,GAAC,CAAC9D,CAAC,CAACmG,MAAF,GAAS,CAAT,GAAWnG,CAAC,CAACkG,KAAF,GAAQ,CAApB,IAAuBlG,CAAC,CAACmG,MAAlD,EAAyDlC,CAAC,GAAC,CAA7E,KAAiF3C,CAAC,GAAC,CAAF,EAAIuC,CAAC,GAAC7D,CAAC,CAACmG,MAAF,GAASnG,CAAC,CAACkG,KAAjB,EAAuBpC,CAAC,GAAC,CAAzB,EAA2BG,CAAC,GAAC,CAACjE,CAAC,CAACkG,KAAF,GAAQ,CAAR,GAAUlG,CAAC,CAACmG,MAAF,GAAS,CAApB,IAAuBnG,CAAC,CAACkG,KAAvI,CAAhJ,EAA8R;AAACqI,IAAAA,IAAI,EAACzK,CAAN;AAAQwK,IAAAA,IAAI,EAACrK,CAAb;AAAewK,IAAAA,IAAI,EAAC3K,CAAC,GAACxC,CAAtB;AAAwBkN,IAAAA,IAAI,EAACvK,CAAC,GAACJ,CAA/B;AAAiCsC,IAAAA,MAAM,EAAC7E,CAAxC;AAA0C4E,IAAAA,KAAK,EAACrC;AAAhD,GAArS;AAAwV;;AAAA,SAASoW,EAAT,CAAY9W,CAAZ,EAAc;AAAC,MAAInD,CAAJ;AAAA,MAAMsB,CAAC,GAAC,QAAM6B,CAAN,GAAQkW,EAAR,GAAW1V,CAAC,CAAC,EAAD,EAAIR,CAAJ,CAApB;AAA2B,MAAG,QAAM7B,CAAC,CAAC0E,SAAX,EAAqB1E,CAAC,CAAC0E,SAAF,GAAY,sBAAZ,CAArB,KAA6D,IAAGoT,EAAE,CAACvK,OAAH,CAAWvN,CAAC,CAAC0E,SAAb,IAAwB,CAA3B,EAA6B,MAAM,IAAInG,KAAJ,CAAU,0BAAwByB,CAAC,CAAC0E,SAA1B,GAAoC,qBAApC,GAA0DoT,EAApE,CAAN;AAA8E,MAAG,QAAM9X,CAAC,CAACyE,eAAR,KAA0BzE,CAAC,CAACyE,eAAF,GAAkB,CAAC,CAA7C,GAAgD,QAAMzE,CAAC,CAAC4Y,YAAR,KAAuB5Y,CAAC,CAAC4Y,YAAF,GAAe,CAAf,IAAkB5Y,CAAC,CAAC4Y,YAAF,GAAe,CAAxD,CAAnD,EAA8G,MAAM,IAAIra,KAAJ,CAAU,4CAAV,CAAN;AAA8D,MAAG,QAAMyB,CAAC,CAAC6Y,qBAAR,KAAgC7Y,CAAC,CAAC6Y,qBAAF,GAAwB,EAAxB,IAA4B,CAA5B,IAA+B7Y,CAAC,CAAC6Y,qBAAF,GAAwB,GAAvD,IAA4D7Y,CAAC,CAAC6Y,qBAAF,GAAwB,GAApH,CAAH,EAA4H,MAAM,IAAIta,KAAJ,CAAU,sEAAV,CAAN;AAAwF,MAAG,0BAAwByB,CAAC,CAAC0E,SAA1B,IAAqC,QAAM1E,CAAC,CAAC8Y,cAA7C,KAA8D9Y,CAAC,CAAC8Y,cAAF,GAAiB,CAAC,CAAhF,GAAmF,0BAAwB9Y,CAAC,CAAC0E,SAA1B,IAAqC,CAAC,CAAD,KAAK1E,CAAC,CAAC8Y,cAAlI,EAAiJ,IAAG,QAAM9Y,CAAC,CAAC+Y,WAAR,KAAsB/Y,CAAC,CAAC+Y,WAAF,GAAclE,EAAE,CAAC2C,WAAvC,GAAoDxX,CAAC,CAAC+Y,WAAF,KAAgBlE,EAAE,CAAC0C,QAA1E,EAAmF,QAAMvX,CAAC,CAACgZ,aAAR,GAAsBhZ,CAAC,CAACgZ,aAAF,GAAgB,UAASnX,CAAT,EAAW;AAAC,QAAInD,CAAC,GAACua,EAAE,CAACf,EAAD,EAAIrW,CAAJ,CAAR;AAAenD,IAAAA,CAAC,CAACwW,qBAAF,GAAwB7S,CAAC,CAAC,EAAD,EAAI6V,EAAE,CAAChD,qBAAP,CAAzB,EAAuD,QAAMrT,CAAC,CAACqT,qBAAR,KAAgC,QAAMrT,CAAC,CAACqT,qBAAF,CAAwBC,2BAA9B,KAA4DzW,CAAC,CAACwW,qBAAF,CAAwBC,2BAAxB,GAAoDtT,CAAC,CAACqT,qBAAF,CAAwBC,2BAAxI,GAAqK,QAAMtT,CAAC,CAACqT,qBAAF,CAAwBG,eAA9B,KAAgD3W,CAAC,CAACwW,qBAAF,CAAwBG,eAAxB,GAAwCxT,CAAC,CAACqT,qBAAF,CAAwBG,eAAhH,CAArK,EAAsS,QAAMxT,CAAC,CAACqT,qBAAF,CAAwBE,oBAA9B,KAAqD1W,CAAC,CAACwW,qBAAF,CAAwBE,oBAAxB,GAA6CvT,CAAC,CAACqT,qBAAF,CAAwBE,oBAA1H,CAAtU,CAAvD;AAA8gB,WAAO1W,CAAP;AAAS,GAAljB,CAAmjBsB,CAAC,CAACgZ,aAArjB,CAAtC,GAA0mBhZ,CAAC,CAACgZ,aAAF,GAAgBd,EAA1nB,CAAnF,KAAotB;AAAC,QAAGlY,CAAC,CAAC+Y,WAAF,KAAgBlE,EAAE,CAAC2C,WAAtB,EAAkC,MAAM,IAAIjZ,KAAJ,CAAU,uCAAV,CAAN;AAAyD,YAAMyB,CAAC,CAACgZ,aAAR,GAAsBhZ,CAAC,CAACgZ,aAAF,IAAiBta,CAAC,GAACsB,CAAC,CAACgZ,aAAJ,EAAkBC,EAAE,CAACd,EAAD,EAAIzZ,CAAJ,CAArC,CAAtB,GAAmEsB,CAAC,CAACgZ,aAAF,GAAgBb,EAAnF;AAAsF;AAAA,SAAOnY,CAAP;AAAS;;AAAA,SAASiZ,EAAT,CAAYpX,CAAZ,EAAcnD,CAAd,EAAgB;AAAC,MAAIsB,CAAC,GAAC;AAACgV,IAAAA,SAAS,EAACnT,CAAC,CAACmT,SAAb;AAAuBC,IAAAA,MAAM,EAACpT,CAAC,CAACoT,MAAhC;AAAuCM,IAAAA,aAAa,EAAC1T,CAAC,CAAC0T;AAAvD,GAAN;AAA4E,SAAO,QAAM7W,CAAC,CAACsW,SAAR,KAAoBhV,CAAC,CAACgV,SAAF,GAAYtW,CAAC,CAACsW,SAAlC,GAA6C,QAAMtW,CAAC,CAACuW,MAAR,KAAiBjV,CAAC,CAACiV,MAAF,GAASvW,CAAC,CAACuW,MAA5B,CAA7C,EAAiF,QAAMvW,CAAC,CAAC6W,aAAR,KAAwBvV,CAAC,CAACuV,aAAF,GAAgB7W,CAAC,CAAC6W,aAA1C,CAAjF,EAA0IvV,CAAjJ;AAAmJ;;AAAA,IAAIkZ,EAAE,GAAC,YAAU;AAAC,WAASrX,CAAT,CAAWA,CAAX,EAAanD,CAAb,EAAe;AAAC,SAAKya,YAAL,GAAkBtX,CAAlB,EAAoB,KAAKuX,oBAAL,GAA0B;AAACvU,MAAAA,MAAM,EAAC,CAAR;AAAUD,MAAAA,KAAK,EAAC;AAAhB,KAA9C,EAAiE,KAAKyU,mBAAL,GAAyBnC,EAAE,CAACpC,EAAE,CAACwC,OAAJ,CAA5F,EAAyG,2BAAyB5Y,CAAC,CAACgG,SAA3B,IAAsC,KAAK0U,oBAAL,CAA0BxU,KAA1B,GAAgC,GAAhC,EAAoC,KAAKwU,oBAAL,CAA0BvU,MAA1B,GAAiC,GAA3G,IAAgH,yBAAuBnG,CAAC,CAACgG,SAAzB,KAAqC,KAAK0U,oBAAL,CAA0BxU,KAA1B,GAAgC,GAAhC,EAAoC,KAAKwU,oBAAL,CAA0BvU,MAA1B,GAAiC,GAA1G,CAAzN,EAAwU,KAAKyU,cAAL,GAAoB,0BAAwB5a,CAAC,CAACgG,SAAtX,EAAgY,KAAK4U,cAAL,KAAsB,KAAKC,cAAL,GAAoB,IAAI1P,CAAJ,CAAMoO,EAAN,CAApB,EAA8B,KAAKuB,oBAAL,GAA0B,IAAIhR,CAAJ,CAAM,EAAN,CAAxD,EAAkE,KAAKiR,oBAAL,GAA0B,IAAIjR,CAAJ,CAAM,EAAN,CAA5F,EAAsG,KAAKkR,oBAAL,GAA0B,IAAIlR,CAAJ,CAAM,EAAN,CAAhI,EAA0I,KAAKmR,oBAAL,GAA0B,IAAInR,CAAJ,CAAM,EAAN,CAA1L,CAAhY,EAAqkB,KAAK/D,eAAL,GAAqB/F,CAAC,CAAC+F,eAA5lB,EAA4mB/F,CAAC,CAACka,YAAF,GAAe,KAAKA,YAAL,GAAkBla,CAAC,CAACka,YAAnC,GAAgD,KAAKA,YAAL,GAAkB,GAA9qB,EAAkrBla,CAAC,CAACma,qBAAF,GAAwB,KAAKA,qBAAL,GAA2Bna,CAAC,CAACma,qBAArD,GAA2E,KAAKA,qBAAL,GAA2B,GAAxxB,EAA4xB,KAAKC,cAAL,GAAoBpa,CAAC,CAACoa,cAAlzB,EAAi0B,KAAKQ,cAAL,IAAqB,KAAKR,cAA1B,KAA2Cpa,CAAC,CAACqa,WAAF,KAAgBlE,EAAE,CAAC0C,QAAnB,GAA4B,KAAKqC,OAAL,GAAa,IAAIhD,EAAJ,CAAOlY,CAAC,CAACsa,aAAT,CAAzC,GAAiEta,CAAC,CAACqa,WAAF,KAAgBlE,EAAE,CAAC2C,WAAnB,KAAiC,KAAKoC,OAAL,GAAa,IAAIlD,EAAJ,CAAOhY,CAAC,CAACsa,aAAT,CAA9C,CAAjE,EAAwI,KAAKvU,eAAL,KAAuB,KAAKoV,iBAAL,GAAuB,IAAIC,GAAJ,EAA9C,CAAnL,CAAj0B;AAA4iC;;AAAA,SAAOjY,CAAC,CAACzB,SAAF,CAAY2Z,wBAAZ,GAAqC,UAASlY,CAAT,EAAW;AAAC,WAAOY,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,UAAI/D,CAAJ,EAAMsB,CAAN,EAAQuC,CAAR,EAAUC,CAAV,EAAYG,CAAZ;AAAc,aAAOS,CAAC,CAAC,IAAD,EAAO,UAASR,CAAT,EAAW;AAAC,gBAAOA,CAAC,CAACS,KAAT;AAAgB,eAAK,CAAL;AAAO,gBAAG,MAAI,CAAC3E,CAAC,GAAC,KAAKya,YAAL,CAAkBa,OAAlB,CAA0BnY,CAA1B,CAAH,EAAiC+E,KAAjC,CAAuCtH,MAA3C,IAAmD,MAAIZ,CAAC,CAACkI,KAAF,CAAQ,CAAR,CAAvD,IAAmE,MAAIlI,CAAC,CAACkI,KAAF,CAAQ,CAAR,CAAvE,IAAmF,OAAKlI,CAAC,CAACkI,KAAF,CAAQ,CAAR,CAAxF,IAAoG,MAAIlI,CAAC,CAACkI,KAAF,CAAQ,CAAR,CAA3G,EAAsH,MAAMlI,CAAC,CAAC4H,OAAF,IAAY,IAAI/H,KAAJ,CAAU,0CAAwCG,CAAC,CAACkI,KAA1C,GAAgD,GAA1D,CAAlB;AAAiF,mBAAM,aAAW,2BAAX,GAAe,CAAC,CAAD,EAAG,CAAH,CAAf,IAAsB5G,CAAC,GAACtB,CAAC,CAACub,QAAF,EAAF,EAAe,CAAC,CAAD,EAAG,CAAH,CAArC,CAAN;;AAAkD,eAAK,CAAL;AAAO,mBAAM,CAAC,CAAD,EAAGvb,CAAC,CAAC+Q,IAAF,EAAH,CAAN;;AAAmB,eAAK,CAAL;AAAOzP,YAAAA,CAAC,GAAC4C,CAAC,CAACU,IAAF,EAAF,EAAWV,CAAC,CAACS,KAAF,GAAQ,CAAnB;;AAAqB,eAAK,CAAL;AAAO,iBAAI3E,CAAC,CAAC4H,OAAF,IAAY/D,CAAC,GAAC;AAACqD,cAAAA,SAAS,EAAC,EAAX;AAAcI,cAAAA,KAAK,EAAC;AAApB,aAAd,EAAqCxD,CAAC,GAAC,CAAvC,EAAyCG,CAAC,GAAC,CAA/C,EAAiDA,CAAC,GAAC,EAAnD,EAAsD,EAAEA,CAAxD,EAA0DJ,CAAC,CAACqD,SAAF,CAAYjD,CAAZ,IAAe;AAACoD,cAAAA,CAAC,EAAC/F,CAAC,CAAC,IAAE2C,CAAH,CAAJ;AAAUmD,cAAAA,CAAC,EAAC9F,CAAC,CAAC,IAAE2C,CAAF,GAAI,CAAL,CAAb;AAAqBqD,cAAAA,KAAK,EAAChG,CAAC,CAAC,IAAE2C,CAAF,GAAI,CAAL;AAA5B,aAAf,EAAoDJ,CAAC,CAACqD,SAAF,CAAYjD,CAAZ,EAAeqD,KAAf,GAAqB,EAArB,KAA0B,EAAExD,CAAF,EAAID,CAAC,CAACyD,KAAF,IAASzD,CAAC,CAACqD,SAAF,CAAYjD,CAAZ,EAAeqD,KAAtD,CAApD;;AAAiH,mBAAOxD,CAAC,GAAC,CAAF,KAAMD,CAAC,CAACyD,KAAF,IAASxD,CAAf,GAAkB,CAAC,CAAD,EAAGD,CAAH,CAAzB;AAAxf;AAAwhB,OAA3iB,CAAR;AAAsjB,KAApmB,CAAR;AAA+mB,GAAhqB,EAAiqBV,CAAC,CAACzB,SAAF,CAAY8Z,uBAAZ,GAAoC,UAASrY,CAAT,EAAW;AAAC,WAAOY,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,UAAI/D,CAAJ,EAAMsB,CAAN,EAAQuC,CAAR,EAAUC,CAAV,EAAYG,CAAZ,EAAcC,CAAd,EAAgBG,CAAhB,EAAkBF,CAAlB;AAAoB,aAAOO,CAAC,CAAC,IAAD,EAAO,UAAS4E,CAAT,EAAW;AAAC,gBAAOA,CAAC,CAAC3E,KAAT;AAAgB,eAAK,CAAL;AAAO,gBAAG,MAAI,CAAC3E,CAAC,GAAC,KAAKya,YAAL,CAAkBa,OAAlB,CAA0BnY,CAA1B,CAAH,EAAiC+E,KAAjC,CAAuCtH,MAA3C,IAAmD,MAAIZ,CAAC,CAACkI,KAAF,CAAQ,CAAR,CAAvD,IAAmE,OAAKlI,CAAC,CAACkI,KAAF,CAAQ,CAAR,CAA3E,EAAsF,MAAMlI,CAAC,CAAC4H,OAAF,IAAY,IAAI/H,KAAJ,CAAU,0CAAwCG,CAAC,CAACkI,KAA1C,GAAgD,GAA1D,CAAlB;AAAiF,mBAAM,aAAW,2BAAX,GAAe,CAAC,CAAD,EAAG,CAAH,CAAf,IAAsB5G,CAAC,GAACtB,CAAC,CAACub,QAAF,EAAF,EAAe,CAAC,CAAD,EAAG,CAAH,CAArC,CAAN;;AAAkD,eAAK,CAAL;AAAO,mBAAM,CAAC,CAAD,EAAGvb,CAAC,CAAC+Q,IAAF,EAAH,CAAN;;AAAmB,eAAK,CAAL;AAAOzP,YAAAA,CAAC,GAACgI,CAAC,CAAC1E,IAAF,EAAF,EAAW0E,CAAC,CAAC3E,KAAF,GAAQ,CAAnB;;AAAqB,eAAK,CAAL;AAAO,iBAAI3E,CAAC,CAAC4H,OAAF,IAAY/D,CAAC,GAAC,EAAd,EAAiBC,CAAC,GAACxC,CAAC,CAACV,MAAF,GAAS,EAA5B,EAA+BqD,CAAC,GAAC,CAArC,EAAuCA,CAAC,GAACH,CAAzC,EAA2C,EAAEG,CAA7C,EAA+C,KAAIJ,CAAC,CAACI,CAAD,CAAD,GAAK;AAACiD,cAAAA,SAAS,EAAC;AAAX,aAAL,EAAoBhD,CAAC,GAAC,KAAGD,CAAH,GAAK,EAA3B,EAA8BJ,CAAC,CAACI,CAAD,CAAD,CAAK4T,GAAL,GAAS;AAACtJ,cAAAA,IAAI,EAACjN,CAAC,CAAC4C,CAAD,CAAP;AAAWoK,cAAAA,IAAI,EAAChN,CAAC,CAAC4C,CAAC,GAAC,CAAH,CAAjB;AAAuBuK,cAAAA,IAAI,EAACnN,CAAC,CAAC4C,CAAC,GAAC,CAAH,CAA7B;AAAmCsK,cAAAA,IAAI,EAAClN,CAAC,CAAC4C,CAAC,GAAC,CAAH,CAAzC;AAA+CgC,cAAAA,KAAK,EAAC5E,CAAC,CAAC4C,CAAC,GAAC,CAAH,CAAD,GAAO5C,CAAC,CAAC4C,CAAC,GAAC,CAAH,CAA7D;AAAmEiC,cAAAA,MAAM,EAAC7E,CAAC,CAAC4C,CAAC,GAAC,CAAH,CAAD,GAAO5C,CAAC,CAAC4C,CAAD;AAAlF,aAAvC,EAA8HG,CAAC,GAAC,KAAGJ,CAAH,GAAK,EAArI,EAAwIJ,CAAC,CAACI,CAAD,CAAD,CAAKqD,KAAL,GAAWhG,CAAC,CAAC+C,CAAD,CAApJ,EAAwJR,CAAC,CAACI,CAAD,CAAD,CAAKiD,SAAL,GAAe,EAAvK,EAA0K/C,CAAC,GAAC,CAAhL,EAAkLA,CAAC,GAAC,EAApL,EAAuL,EAAEA,CAAzL,EAA2LN,CAAC,CAACI,CAAD,CAAD,CAAKiD,SAAL,CAAe/C,CAAf,IAAkB;AAACkD,cAAAA,CAAC,EAAC/F,CAAC,CAAC,KAAG2C,CAAH,GAAK,IAAEE,CAAR,CAAJ;AAAeiD,cAAAA,CAAC,EAAC9F,CAAC,CAAC,KAAG2C,CAAH,GAAK,IAAEE,CAAP,GAAS,CAAV,CAAlB;AAA+BmD,cAAAA,KAAK,EAAChG,CAAC,CAAC,KAAG2C,CAAH,GAAK,IAAEE,CAAP,GAAS,CAAV;AAAtC,aAAlB;;AAAsE,mBAAM,CAAC,CAAD,EAAGN,CAAH,CAAN;AAA7lB;AAA0mB,OAA7nB,CAAR;AAAwoB,KAA5rB,CAAR;AAAusB,GAAx5C,EAAy5CV,CAAC,CAACzB,SAAF,CAAY+F,aAAZ,GAA0B,UAAStE,CAAT,EAAWnD,CAAX,EAAa6D,CAAb,EAAe;AAAC,WAAO,KAAK,CAAL,KAAS7D,CAAT,KAAaA,CAAC,GAACsZ,EAAf,GAAmBvV,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,UAAID,CAAJ,EAAMG,CAAN,EAAQC,CAAR,EAAUG,CAAV,EAAYiF,CAAZ,EAAcR,CAAd;AAAgB,aAAOpE,CAAC,CAAC,IAAD,EAAO,UAASqE,CAAT,EAAW;AAAC,gBAAOA,CAAC,CAACpE,KAAT;AAAgB,eAAK,CAAL;AAAO,mBAAO3E,CAAC,GAAC,UAASmD,CAAT,EAAW;AAAC,qBAAO,QAAMA,CAAN,GAAQmW,EAAR,GAAW3V,CAAC,CAAC,EAAD,EAAIR,CAAJ,CAAnB;AAA0B,aAAtC,CAAuCnD,CAAvC,CAAF,EAA4C,QAAMmD,CAAN,IAAS,KAAK2E,KAAL,IAAa,CAAC,CAAD,EAAG,EAAH,CAAtB,KAA+B,QAAMjE,CAAN,GAAQ+F,CAAC,CAACzG,CAAD,CAAD,KAAOU,CAAC,GAAC,MAAIV,CAAC,CAAC0G,WAAf,CAAR,GAAoChG,CAAC,IAAE,GAAvC,EAA2CC,CAAC,GAACyE,CAAC,CAACpF,CAAD,CAA9C,EAAkDc,CAAC,GAACgE,CAAC,CAACnE,CAAD,CAArD,EAAyDI,CAAC,GAAC,0BAAEJ,CAAF,EAAI,CAAJ,CAA3D,EAAkEX,CAAC,YAAY7B,gBAAb,IAAgBwC,CAAC,CAAC8D,OAAF,EAAlF,EAA8FvD,CAAC,GAAC,EAAhG,EAAmG,KAAKuW,cAAL,GAAoB,CAAC,CAAD,EAAG,CAAH,CAApB,GAA0B,CAAC,CAAD,EAAG,KAAKa,kBAAL,CAAwBvX,CAAxB,EAA0BD,CAA1B,EAA4BJ,CAA5B,CAAH,CAA5J,CAAnD;;AAAmP,eAAK,CAAL;AAAO,mBAAOQ,CAAC,GAAC0E,CAAC,CAACnE,IAAF,EAAF,EAAW,CAAC,CAAD,EAAG,CAAH,CAAlB;;AAAwB,eAAK,CAAL;AAAO,mBAAM,CAAC,CAAD,EAAG,KAAK8W,qBAAL,CAA2BxX,CAA3B,EAA6BD,CAA7B,EAA+BJ,CAA/B,CAAH,CAAN;;AAA4C,eAAK,CAAL;AAAOQ,YAAAA,CAAC,GAAC0E,CAAC,CAACnE,IAAF,EAAF,EAAWmE,CAAC,CAACpE,KAAF,GAAQ,CAAnB;;AAAqB,eAAK,CAAL;AAAO,iBAAI2E,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACjF,CAAC,CAACzD,MAAZ,EAAmB,EAAE0I,CAArB,EAAuB,KAAIR,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACzE,CAAC,CAACiF,CAAD,CAAD,CAAKpC,SAAL,CAAetG,MAAzB,EAAgC,EAAEkI,CAAlC,EAAoCzE,CAAC,CAACiF,CAAD,CAAD,CAAKpC,SAAL,CAAe4B,CAAf,EAAkBlG,IAAlB,GAAuBwC,CAAC,CAAC0D,CAAD,CAAxB,EAA4BzE,CAAC,CAACiF,CAAD,CAAD,CAAKpC,SAAL,CAAe4B,CAAf,EAAkBzB,CAAlB,IAAqBpD,CAAC,CAACkC,MAAnD,EAA0D9B,CAAC,CAACiF,CAAD,CAAD,CAAKpC,SAAL,CAAe4B,CAAf,EAAkB1B,CAAlB,IAAqBnD,CAAC,CAACiC,KAAjF;;AAAuF,mBAAM,CAAC,CAAD,EAAG7B,CAAH,CAAN;AAAjhB;AAA8hB,OAAjjB,CAAR;AAA4jB,KAA5mB,CAA3B;AAA0oB,GAA7kE,EAA8kElB,CAAC,CAACzB,SAAF,CAAY+Z,kBAAZ,GAA+B,UAAStY,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,WAAOyC,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,UAAIF,CAAJ;AAAA,UAAMC,CAAN;AAAA,UAAQK,CAAR;AAAA,UAAU2E,CAAV;AAAA,UAAYC,CAAC,GAAC,IAAd;AAAmB,aAAOrE,CAAC,CAAC,IAAD,EAAO,UAASyE,CAAT,EAAW;AAAC,gBAAOA,CAAC,CAACxE,KAAT;AAAgB,eAAK,CAAL;AAAO,mBAAO,KAAKgX,UAAL,KAAkB,KAAKA,UAAL,GAAgB3B,EAAE,CAAC,QAAM,KAAK2B,UAAZ,EAAuB3b,CAAvB,CAApC,GAA+D6D,CAAC,GAAC,oBAAG,YAAU;AAAC,kBAAI7D,CAAC,GAAC,wBAAE,CAAC,CAAC+I,CAAC,CAAC4S,UAAF,CAAapN,IAAd,EAAmBxF,CAAC,CAAC4S,UAAF,CAAarN,IAAhC,EAAqCvF,CAAC,CAAC4S,UAAF,CAAalN,IAAlD,EAAuD1F,CAAC,CAAC4S,UAAF,CAAanN,IAApE,CAAD,CAAF,CAAN;AAAA,kBAAqFlN,CAAC,GAAC,qBAAE,CAAC,CAAD,CAAF,EAAM,OAAN,CAAvF;AAAA,kBAAsGuC,CAAC,GAAC,CAACkF,CAAC,CAAC2R,oBAAF,CAAuBvU,MAAxB,EAA+B4C,CAAC,CAAC2R,oBAAF,CAAuBxU,KAAtD,CAAxG;AAAqK,qBAAO,oBAAE7B,gBAAEuX,aAAF,CAAgBzY,CAAhB,EAAkBnD,CAAlB,EAAoBsB,CAApB,EAAsBuC,CAAtB,EAAwB,UAAxB,EAAmC,CAAnC,CAAF,EAAwC,OAAxC,CAAP;AAAwD,aAA3O,CAAjE,EAA+SV,CAAC,CAACyE,OAAF,EAA/S,EAA2T,CAAC,CAAD,EAAG,KAAKyT,wBAAL,CAA8BxX,CAA9B,CAAH,CAAlU;;AAAuW,eAAK,CAAL;AAAO,gBAAGC,CAAC,GAACqF,CAAC,CAACvE,IAAF,EAAF,EAAWf,CAAC,CAAC+D,OAAF,EAAX,EAAuB9D,CAAC,CAACwD,KAAF,GAAQ,KAAK4S,YAAvC,EAAoD,OAAO,KAAKpS,KAAL,IAAa,CAAC,CAAD,EAAG,EAAH,CAApB;;AAA2B,iBAAI3D,CAAC,GAAC,CAAN,EAAQA,CAAC,GAACL,CAAC,CAACoD,SAAF,CAAYtG,MAAtB,EAA6B,EAAEuD,CAA/B,EAAiCL,CAAC,CAACoD,SAAF,CAAY/C,CAAZ,EAAekD,CAAf,GAAiB,KAAKsU,UAAL,CAAgBpN,IAAhB,GAAqBzK,CAAC,CAACoD,SAAF,CAAY/C,CAAZ,EAAekD,CAAf,GAAiB,KAAKsU,UAAL,CAAgBxV,MAAvE,EAA8ErC,CAAC,CAACoD,SAAF,CAAY/C,CAAZ,EAAeiD,CAAf,GAAiB,KAAKuU,UAAL,CAAgBrN,IAAhB,GAAqBxK,CAAC,CAACoD,SAAF,CAAY/C,CAAZ,EAAeiD,CAAf,GAAiB,KAAKuU,UAAL,CAAgBzV,KAArJ;;AAA2J,mBAAO,QAAM5E,CAAN,IAAS,KAAKyE,eAAd,KAAgCjC,CAAC,CAACoD,SAAF,GAAY,KAAK2T,cAAL,CAAoBlZ,KAApB,CAA0BmC,CAAC,CAACoD,SAA5B,EAAsC5F,CAAtC,EAAwC,CAAxC,CAA5C,GAAwFwH,CAAC,GAAC6Q,EAAE,CAAC,KAAKgC,UAAN,EAAiB7X,CAAC,CAACoD,SAAnB,EAA6B,KAAKyT,mBAAlC,EAAsD3a,CAAtD,CAA5F,EAAqJ,KAAK2b,UAAL,GAAgB,KAAKE,gBAAL,CAAsB/S,CAAtB,CAArK,EAA8L,CAAC,CAAD,EAAG,CAAChF,CAAD,CAAH,CAArM;AAAhpB;AAA81B,OAAj3B,CAAR;AAA43B,KAA/6B,CAAR;AAA07B,GAAvjG,EAAwjGX,CAAC,CAACzB,SAAF,CAAYga,qBAAZ,GAAkC,UAASvY,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,WAAOyC,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,UAAIF,CAAJ;AAAA,UAAMC,CAAN;AAAA,UAAQG,CAAR;AAAA,UAAUC,CAAV;AAAA,UAAYC,CAAZ;AAAA,UAAc2E,CAAd;AAAA,UAAgBC,CAAhB;AAAA,UAAkBI,CAAlB;AAAA,UAAoBgD,CAApB;AAAA,UAAsB2E,CAAtB;AAAA,UAAwB/B,CAAxB;AAAA,UAA0B1H,CAAC,GAAC,IAA5B;AAAiC,aAAO3C,CAAC,CAAC,IAAD,EAAO,UAASsK,CAAT,EAAW;AAAC,gBAAOA,CAAC,CAACrK,KAAT;AAAgB,eAAK,CAAL;AAAO,mBAAO,IAAG3E,CAAC,CAACkG,KAAF,GAAQlG,CAAC,CAACmG,MAAV,IAAkBrC,CAAC,GAAC,KAAKqW,qBAAP,EAA6BlW,CAAC,GAACmE,IAAI,CAAC0T,KAAL,CAAW,KAAK3B,qBAAL,GAA2Bna,CAAC,CAACmG,MAA7B,GAAoCnG,CAAC,CAACkG,KAAjD,CAA/B,EAAuFrC,CAAC,GAACQ,gBAAE0X,cAAF,CAAiB5Y,CAAjB,EAAmB,CAACc,CAAD,EAAGH,CAAH,CAAnB,CAAzF,EAAmHK,CAAC,GAACL,CAArH,EAAuHgF,CAAC,GAAC,KAAGV,IAAI,CAACyM,IAAL,CAAU5Q,CAAC,GAAC,EAAZ,CAA5H,EAA4IC,CAAC,GAAC,mBAAEL,CAAF,EAAI,CAAC,CAAC,CAAD,EAAG,CAAH,CAAD,EAAO,CAAC,CAAD,EAAGiF,CAAC,GAAC7E,CAAL,CAAP,EAAe,CAAC,CAAD,EAAG,CAAH,CAAf,EAAqB,CAAC,CAAD,EAAG,CAAH,CAArB,CAAJ,CAAhK,KAAmMH,CAAC,GAACsE,IAAI,CAAC0T,KAAL,CAAW,KAAK3B,qBAAL,GAA2Bna,CAAC,CAACkG,KAA7B,GAAmClG,CAAC,CAACmG,MAAhD,CAAF,EAA0DlC,CAAC,GAAC,KAAKkW,qBAAjE,EAAuFtW,CAAC,GAACQ,gBAAE0X,cAAF,CAAiB5Y,CAAjB,EAAmB,CAACc,CAAD,EAAGH,CAAH,CAAnB,CAAzF,EAAmHK,CAAC,GAAC,KAAGiE,IAAI,CAACyM,IAAL,CAAU/Q,CAAC,GAAC,EAAZ,CAAxH,EAAwIgF,CAAC,GAAC7E,CAA1I,EAA4IC,CAAC,GAAC,mBAAEL,CAAF,EAAI,CAAC,CAAC,CAAD,EAAG,CAAH,CAAD,EAAO,CAAC,CAAD,EAAG,CAAH,CAAP,EAAa,CAAC,CAAD,EAAGM,CAAC,GAACL,CAAL,CAAb,EAAqB,CAAC,CAAD,EAAG,CAAH,CAArB,CAAJ,CAAjV,CAAH,EAAsXD,CAAC,CAAC+D,OAAF,EAAtX,EAAkYzE,CAAC,CAACyE,OAAF,EAAlY,EAA8YmB,CAAC,GAAC,oBAAE7E,CAAF,EAAI,OAAJ,CAAhZ,EAA6ZA,CAAC,CAAC0D,OAAF,EAA7Z,EAAya,CAAC,CAAD,EAAG,KAAK4T,uBAAL,CAA6BzS,CAA7B,CAAH,CAAhb;;AAAod,eAAK,CAAL;AAAO,iBAAII,CAAC,GAAC6F,CAAC,CAACpK,IAAF,EAAF,EAAWmE,CAAC,CAACnB,OAAF,EAAX,EAAuBuB,CAAC,GAACA,CAAC,CAACyF,MAAF,CAAU,UAASzL,CAAT,EAAW;AAAC,qBAAOA,CAAC,CAACmE,KAAF,IAASD,CAAC,CAAC6S,YAAlB;AAA+B,aAArD,CAAzB,EAAiFpJ,CAAC,GAAC,CAAvF,EAAyFA,CAAC,GAAC3H,CAAC,CAACvI,MAA7F,EAAoG,EAAEkQ,CAAtG,EAAwG,KAAI3E,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAChD,CAAC,CAAC2H,CAAD,CAAD,CAAK5J,SAAL,CAAetG,MAAzB,EAAgC,EAAEuL,CAAlC,EAAoChD,CAAC,CAAC2H,CAAD,CAAD,CAAK5J,SAAL,CAAeiF,CAAf,EAAkB9E,CAAlB,IAAqByB,CAAC,GAAC7E,CAAvB,EAAyBkF,CAAC,CAAC2H,CAAD,CAAD,CAAK5J,SAAL,CAAeiF,CAAf,EAAkB/E,CAAlB,IAAqBjD,CAAC,GAACL,CAAhD;;AAAkD,gBAAG,KAAKsW,cAAL,KAAsB,KAAKc,OAAL,CAAavZ,KAAb,CAAmBwH,CAAnB,EAAqB7H,CAArB,GAAwB,KAAKyE,eAAnD,CAAH,EAAuE;AAAC,mBAAI+K,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC3H,CAAC,CAACvI,MAAZ,EAAmB,EAAEkQ,CAArB,EAAuB,KAAKqK,iBAAL,CAAuBa,GAAvB,CAA2B7S,CAAC,CAAC2H,CAAD,CAAD,CAAKwG,EAAhC,KAAqC,KAAK6D,iBAAL,CAAuBc,GAAvB,CAA2B9S,CAAC,CAAC2H,CAAD,CAAD,CAAKwG,EAAhC,EAAmC,IAAInM,CAAJ,CAAMoO,EAAN,CAAnC,CAArC,EAAmFpQ,CAAC,CAAC2H,CAAD,CAAD,CAAK5J,SAAL,GAAe,KAAKiU,iBAAL,CAAuBtL,GAAvB,CAA2B1G,CAAC,CAAC2H,CAAD,CAAD,CAAKwG,EAAhC,EAAoC3V,KAApC,CAA0CwH,CAAC,CAAC2H,CAAD,CAAD,CAAK5J,SAA/C,EAAyD5F,CAAzD,EAA2D,CAA3D,CAAlG;;AAAgKyN,cAAAA,CAAC,GAAC,KAAKmM,OAAL,CAAa9D,WAAb,EAAF,EAA6B,KAAK+D,iBAAL,CAAuBzF,OAAvB,CAAgC,UAASvS,CAAT,EAAWnD,CAAX,EAAa;AAAC+O,gBAAAA,CAAC,CAACiN,GAAF,CAAMhc,CAAN,KAAUqH,CAAC,CAAC8T,iBAAF,CAAoBe,MAApB,CAA2Blc,CAA3B,CAAV;AAAwC,eAAtF,CAA7B;AAAsH;;AAAA,mBAAM,CAAC,CAAD,EAAGmJ,CAAH,CAAN;AAAriC;AAAkjC,OAArkC,CAAR;AAAglC,KAAjpC,CAAR;AAA4pC,GAAtwI,EAAuwIhG,CAAC,CAACzB,SAAF,CAAYma,gBAAZ,GAA6B,UAAS1Y,CAAT,EAAW;AAAC,QAAGA,CAAH,EAAK;AAAC,UAAInD,CAAC,GAAC,KAAK8a,oBAAL,CAA0BnZ,KAA1B,CAAgCwB,CAAC,CAACoL,IAAlC,CAAN;AAAA,UAA8CjN,CAAC,GAAC,KAAKyZ,oBAAL,CAA0BpZ,KAA1B,CAAgCwB,CAAC,CAACmL,IAAlC,CAAhD;AAAA,UAAwFzK,CAAC,GAAC,KAAKmX,oBAAL,CAA0BrZ,KAA1B,CAAgCwB,CAAC,CAACsL,IAAlC,CAA1F;AAAA,UAAkI3K,CAAC,GAAC,KAAKmX,oBAAL,CAA0BtZ,KAA1B,CAAgCwB,CAAC,CAACqL,IAAlC,CAApI;AAA4K,aAAM;AAACD,QAAAA,IAAI,EAACvO,CAAN;AAAQsO,QAAAA,IAAI,EAAChN,CAAb;AAAemN,QAAAA,IAAI,EAAC5K,CAApB;AAAsB2K,QAAAA,IAAI,EAAC1K,CAA3B;AAA6BqC,QAAAA,MAAM,EAACtC,CAAC,GAAC7D,CAAtC;AAAwCkG,QAAAA,KAAK,EAACpC,CAAC,GAACxC;AAAhD,OAAN;AAAyD;;AAAA,WAAO,KAAKwZ,oBAAL,CAA0BhT,KAA1B,IAAkC,KAAKiT,oBAAL,CAA0BjT,KAA1B,EAAlC,EAAoE,KAAKkT,oBAAL,CAA0BlT,KAA1B,EAApE,EAAsG,KAAKmT,oBAAL,CAA0BnT,KAA1B,EAAtG,EAAwI,IAA/I;AAAoJ,GAA/qJ,EAAgrJ3E,CAAC,CAACzB,SAAF,CAAYkG,OAAZ,GAAoB,YAAU;AAAC,SAAK6S,YAAL,CAAkB7S,OAAlB;AAA4B,GAA3uJ,EAA4uJzE,CAAC,CAACzB,SAAF,CAAYoG,KAAZ,GAAkB,YAAU;AAAC,SAAK6T,UAAL,GAAgB,IAAhB,EAAqB,KAAKQ,YAAL,EAArB;AAAyC,GAAlzJ,EAAmzJhZ,CAAC,CAACzB,SAAF,CAAYya,YAAZ,GAAyB,YAAU;AAAC,SAAKtB,cAAL,CAAoB/S,KAApB,IAA4B,KAAKgT,oBAAL,CAA0BhT,KAA1B,EAA5B,EAA8D,KAAKiT,oBAAL,CAA0BjT,KAA1B,EAA9D,EAAgG,KAAKkT,oBAAL,CAA0BlT,KAA1B,EAAhG,EAAkI,KAAKmT,oBAAL,CAA0BnT,KAA1B,EAAlI;AAAoK,GAA3/J,EAA4/J3E,CAAngK;AAAqgK,CAA5kM,EAAP;;AAAslM,SAASiZ,EAAT,CAAYjZ,CAAZ,EAAc;AAAC,SAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAACkW,EAAf,GAAmBtV,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,QAAIzC,CAAJ,EAAMuC,CAAN,EAAQC,CAAR,EAAUG,CAAV;AAAY,WAAOS,CAAC,CAAC,IAAD,EAAO,UAASR,CAAT,EAAW;AAAC,cAAOA,CAAC,CAACS,KAAT;AAAgB,aAAK,CAAL;AAAO,iBAAOrD,CAAC,GAAC2Y,EAAE,CAAC9W,CAAD,CAAJ,EAAQW,CAAC,GAAC,CAAC,CAAX,EAAaxC,CAAC,CAAC+a,QAAF,IAAYvY,CAAC,GAACxC,CAAC,CAAC+a,QAAF,CAAWxN,OAAX,CAAmB,mBAAnB,IAAwC,CAAC,CAA3C,EAA6C,CAAC,CAAD,EAAG,mCAAEvN,CAAC,CAAC+a,QAAJ,EAAa;AAACnG,YAAAA,SAAS,EAACpS;AAAX,WAAb,CAAH,CAAzD,IAA0F,CAAC,CAAD,EAAG,CAAH,CAA9G;;AAAoH,aAAK,CAAL;AAAO,iBAAOD,CAAC,GAACK,CAAC,CAACU,IAAF,EAAF,EAAW,CAAC,CAAD,EAAG,CAAH,CAAlB;;AAAwB,aAAK,CAAL;AAAO,iBAAOX,CAAC,GAAC,KAAK,CAAP,EAAS,2BAAyB3C,CAAC,CAAC0E,SAA3B,GAAqC/B,CAAC,GAAC,oEAAvC,GAA4G,yBAAuB3C,CAAC,CAAC0E,SAAzB,GAAmC/B,CAAC,GAAC,kEAArC,GAAwG,0BAAwB3C,CAAC,CAAC0E,SAA1B,KAAsC/B,CAAC,GAAC,mEAAxC,CAA7N,EAA0U,CAAC,CAAD,EAAG,mCAAEA,CAAF,EAAI;AAACiS,YAAAA,SAAS,EAACpS;AAAX,WAAJ,CAAH,CAAjV;;AAAwW,aAAK,CAAL;AAAOD,UAAAA,CAAC,GAACK,CAAC,CAACU,IAAF,EAAF,EAAWV,CAAC,CAACS,KAAF,GAAQ,CAAnB;;AAAqB,aAAK,CAAL;AAAO,iBAAM,YAAU,2BAAV,IAAe,qBAAIsX,GAAJ,CAAQ,0CAAR,EAAmD,CAAnD,CAAf,EAAqE,CAAC,CAAD,EAAG,IAAIzB,EAAJ,CAAO3W,CAAP,EAASvC,CAAT,CAAH,CAA3E;AAA5jB;AAAwpB,KAA3qB,CAAR;AAAsrB,GAAluB,CAA3B;AAAgwB;;AAAA,IAAIgb,EAAE,GAAC;AAACC,EAAAA,YAAY,EAAC,aAAd;AAA4BC,EAAAA,YAAY,EAAC,EAAzC;AAA4CC,EAAAA,UAAU,EAAC,GAAvD;AAA2D7T,EAAAA,eAAe,EAAC;AAACzC,IAAAA,MAAM,EAAC,GAAR;AAAYD,IAAAA,KAAK,EAAC;AAAlB;AAA3E,CAAP;AAAA,IAA0GwW,EAAE,GAAC,CAAC,aAAD,EAAe,UAAf,CAA7G;AAAA,IAAwIC,EAAE,GAAC;AAACC,EAAAA,WAAW,EAAC,CAAC,CAAD,EAAG,EAAH,CAAb;AAAoBC,EAAAA,QAAQ,EAAC,CAAC,EAAD;AAA7B,CAA3I;AAAA,IAA8KC,EAAE,GAAC,CAAC,CAAD,EAAG,EAAH,EAAM,EAAN,CAAjL;AAAA,IAA2LC,EAAE,GAAC;AAACH,EAAAA,WAAW,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,CAAR,CAAb;AAAwBC,EAAAA,QAAQ,EAAC,CAAC,CAAD;AAAjC,CAA9L;AAAA,IAAoOG,EAAE,GAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,CAAvO;AAAA,IAA+OC,EAAE,GAAC;AAACxJ,EAAAA,QAAQ,EAAC,CAAV;AAAY/L,EAAAA,cAAc,EAAC,CAAC;AAA5B,CAAlP;AAAA,IAAiRwV,EAAE,GAAC;AAACzJ,EAAAA,QAAQ,EAAC,CAAV;AAAY/L,EAAAA,cAAc,EAAC,CAAC,CAA5B;AAA8ByV,EAAAA,cAAc,EAAC,EAA7C;AAAgDC,EAAAA,SAAS,EAAC;AAA1D,CAApR;AAAA,IAAkVC,EAAE,GAAC,CAAC,CAAC,MAAF,EAAS,CAAC,KAAV,EAAgB,CAAC,MAAjB,CAArV;;AAA8W,SAASC,EAAT,CAAYna,CAAZ,EAAc;AAAC,SAAOiF,IAAI,CAACE,KAAL,CAAWnF,CAAC,GAAC,CAAb,CAAP;AAAuB;;AAAA,IAAIoa,EAAE,GAAC,YAAU;AAAC,WAASpa,CAAT,CAAWA,CAAX,EAAanD,CAAb,EAAe;AAAC,SAAKwd,aAAL,GAAmB,IAAIpc,KAAJ,CAAU+B,CAAV,CAAnB,EAAgC,KAAKsa,gBAAL,GAAsB,CAAC,CAAvD,EAAyD,KAAKC,eAAL,GAAqB1d,CAA9E;AAAgF;;AAAA,SAAOmD,CAAC,CAACzB,SAAF,CAAYic,OAAZ,GAAoB,UAASxa,CAAT,EAAW;AAAC,SAAKqa,aAAL,CAAmB,EAAE,KAAKC,gBAA1B,IAA4Cta,CAA5C,EAA8C,KAAKya,IAAL,CAAU,KAAKH,gBAAf,CAA9C;AAA+E,GAA/G,EAAgHta,CAAC,CAACzB,SAAF,CAAYmc,OAAZ,GAAoB,YAAU;AAAC,QAAI1a,CAAC,GAAC,KAAKqa,aAAL,CAAmB,CAAnB,CAAN;AAA4B,WAAO,KAAKM,QAAL,CAAc,CAAd,EAAgB,KAAKL,gBAAL,EAAhB,GAAyC,KAAKM,IAAL,CAAU,CAAV,CAAzC,EAAsD,KAAKP,aAAL,CAAmB,KAAKC,gBAAL,GAAsB,CAAzC,IAA4C,IAAlG,EAAuGta,CAA9G;AAAgH,GAA3R,EAA4RA,CAAC,CAACzB,SAAF,CAAYsc,KAAZ,GAAkB,YAAU;AAAC,WAAM,CAAC,CAAD,KAAK,KAAKP,gBAAhB;AAAiC,GAA1V,EAA2Vta,CAAC,CAACzB,SAAF,CAAY4P,IAAZ,GAAiB,YAAU;AAAC,WAAO,KAAKmM,gBAAL,GAAsB,CAA7B;AAA+B,GAAtZ,EAAuZta,CAAC,CAACzB,SAAF,CAAYuU,GAAZ,GAAgB,YAAU;AAAC,WAAO,KAAKuH,aAAL,CAAmBjS,KAAnB,CAAyB,CAAzB,EAA2B,KAAKkS,gBAAL,GAAsB,CAAjD,CAAP;AAA2D,GAA7e,EAA8eta,CAAC,CAACzB,SAAF,CAAY0M,GAAZ,GAAgB,YAAU;AAAC,WAAO,KAAKoP,aAAL,CAAmB,CAAnB,CAAP;AAA6B,GAAtiB,EAAuiBra,CAAC,CAACzB,SAAF,CAAYkc,IAAZ,GAAiB,UAASza,CAAT,EAAW;AAAC,WAAKA,CAAC,GAAC,CAAF,IAAK,KAAK8a,IAAL,CAAUX,EAAE,CAACna,CAAD,CAAZ,EAAgBA,CAAhB,CAAV,GAA8B,KAAK2a,QAAL,CAAc3a,CAAd,EAAgBma,EAAE,CAACna,CAAD,CAAlB,GAAuBA,CAAC,GAACma,EAAE,CAACna,CAAD,CAA3B;AAA+B,GAAjoB,EAAkoBA,CAAC,CAACzB,SAAF,CAAYqc,IAAZ,GAAiB,UAAS5a,CAAT,EAAW;AAAC,WAAK,IAAEA,CAAF,IAAK,KAAKsa,gBAAf,GAAiC;AAAC,UAAIzd,CAAC,GAAC,IAAEmD,CAAR;AAAU,UAAGnD,CAAC,GAAC,KAAKyd,gBAAP,IAAyB,KAAKQ,IAAL,CAAUje,CAAV,EAAYA,CAAC,GAAC,CAAd,CAAzB,IAA2CA,CAAC,EAA5C,EAA+C,CAAC,KAAKie,IAAL,CAAU9a,CAAV,EAAYnD,CAAZ,CAAnD,EAAkE;AAAM,WAAK8d,QAAL,CAAc3a,CAAd,EAAgBnD,CAAhB,GAAmBmD,CAAC,GAACnD,CAArB;AAAuB;AAAC,GAA3yB,EAA4yBmD,CAAC,CAACzB,SAAF,CAAYwc,UAAZ,GAAuB,UAAS/a,CAAT,EAAW;AAAC,WAAO,KAAKua,eAAL,CAAqB,KAAKF,aAAL,CAAmBra,CAAnB,CAArB,CAAP;AAAmD,GAAl4B,EAAm4BA,CAAC,CAACzB,SAAF,CAAYuc,IAAZ,GAAiB,UAAS9a,CAAT,EAAWnD,CAAX,EAAa;AAAC,WAAO,KAAKke,UAAL,CAAgB/a,CAAhB,IAAmB,KAAK+a,UAAL,CAAgBle,CAAhB,CAA1B;AAA6C,GAA/8B,EAAg9BmD,CAAC,CAACzB,SAAF,CAAYoc,QAAZ,GAAqB,UAAS3a,CAAT,EAAWnD,CAAX,EAAa;AAAC,QAAIsB,CAAC,GAAC,KAAKkc,aAAL,CAAmBra,CAAnB,CAAN;AAA4B,SAAKqa,aAAL,CAAmBra,CAAnB,IAAsB,KAAKqa,aAAL,CAAmBxd,CAAnB,CAAtB,EAA4C,KAAKwd,aAAL,CAAmBxd,CAAnB,IAAsBsB,CAAlE;AAAoE,GAAnlC,EAAolC6B,CAA3lC;AAA6lC,CAAxsC,EAAP;;AAAktC,SAASgb,EAAT,CAAYhb,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoBC,CAApB,EAAsBG,CAAtB,EAAwB;AAAC,OAAI,IAAIC,CAAC,GAACD,CAAC,CAACiE,KAAR,EAAc7D,CAAC,GAACH,CAAC,CAAC,CAAD,CAAjB,EAAqBC,CAAC,GAACD,CAAC,CAAC,CAAD,CAAxB,EAA4BoF,CAAC,GAAC,CAAC,CAA/B,EAAiCR,CAAC,GAACV,IAAI,CAACgG,GAAL,CAAS9M,CAAC,GAACwC,CAAX,EAAa,CAAb,CAAnC,EAAmDiF,CAAC,GAACX,IAAI,CAAC+F,GAAL,CAAS7M,CAAC,GAACwC,CAAF,GAAI,CAAb,EAAeO,CAAf,CAArD,EAAuE8E,CAAC,GAACL,CAA7E,EAA+EK,CAAC,GAACJ,CAAjF,EAAmF,EAAEI,CAArF,EAAuF;AAAC,SAAI,IAAIgD,CAAC,GAAC/D,IAAI,CAACgG,GAAL,CAASvK,CAAC,GAACC,CAAX,EAAa,CAAb,CAAN,EAAsBgN,CAAC,GAAC1I,IAAI,CAAC+F,GAAL,CAAStK,CAAC,GAACC,CAAF,GAAI,CAAb,EAAeK,CAAf,CAAxB,EAA0C4K,CAAC,GAAC5C,CAAhD,EAAkD4C,CAAC,GAAC+B,CAApD,EAAsD,EAAE/B,CAAxD,EAA0D,IAAG9K,CAAC,CAAC4L,GAAF,CAAM1G,CAAN,EAAQ4F,CAAR,EAAU5L,CAAV,IAAanD,CAAhB,EAAkB;AAACsJ,MAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAA,QAAG,CAACA,CAAJ,EAAM;AAAM;;AAAA,SAAOA,CAAP;AAAS;;AAAA,SAAS8U,EAAT,CAAYjb,CAAZ,EAAc;AAAC,SAAOY,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,WAAOW,CAAC,CAAC,IAAD,EAAO,UAAS1E,CAAT,EAAW;AAAC,aAAM,CAAC,CAAD,EAAGgE,OAAO,CAACiS,GAAR,CAAY9S,CAAC,CAACgE,GAAF,CAAO,UAAShE,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACwM,MAAF,EAAP;AAAkB,OAArC,CAAZ,CAAH,CAAN;AAA+D,KAAlF,CAAR;AAA6F,GAA7H,CAAR;AAAwI;;AAAA,SAAS0O,EAAT,CAAYlb,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoB;AAAC,SAAM;AAACwD,IAAAA,CAAC,EAACxD,CAAC,CAACgM,GAAF,CAAM1M,CAAN,EAAQnD,CAAR,EAAUsB,CAAV,CAAH;AAAgB8F,IAAAA,CAAC,EAACvD,CAAC,CAACgM,GAAF,CAAM1M,CAAN,EAAQnD,CAAR,EAAUsB,CAAC,GAAC,EAAZ;AAAlB,GAAN;AAAyC;;AAAA,SAASgd,EAAT,CAAYnb,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkB;AAAC,MAAIuC,CAAC,GAACwa,EAAE,CAAClb,CAAC,CAACob,QAAH,EAAYpb,CAAC,CAACqb,QAAd,EAAuBrb,CAAC,CAACmU,EAAzB,EAA4BhW,CAA5B,CAAR;AAAA,MAAuCwC,CAAC,GAACD,CAAC,CAACwD,CAA3C;AAAA,MAA6CpD,CAAC,GAACJ,CAAC,CAACuD,CAAjD;AAAmD,SAAM;AAACA,IAAAA,CAAC,EAACjE,CAAC,CAACqb,QAAF,GAAWxe,CAAX,GAAaiE,CAAhB;AAAkBoD,IAAAA,CAAC,EAAClE,CAAC,CAACob,QAAF,GAAWve,CAAX,GAAa8D;AAAjC,GAAN;AAA0C;;AAAA,SAAS2a,EAAT,CAAYtb,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoB;AAAC,MAAIC,CAAC,GAACxC,CAAC,CAAC8F,CAAR;AAAA,MAAUnD,CAAC,GAAC3C,CAAC,CAAC+F,CAAd;AAAgB,SAAOlE,CAAC,CAACub,IAAF,CAAQ,UAASvb,CAAT,EAAW;AAAC,QAAI7B,CAAJ;AAAA,QAAM4C,CAAN;AAAA,QAAQG,CAAR;AAAA,QAAUF,CAAV;AAAA,QAAYmF,CAAZ;AAAA,QAAcR,CAAd;AAAA,QAAgBC,CAAC,GAAC5F,CAAC,CAAC+D,SAApB;AAA8B,WAAO5F,CAAC,GAAC2C,CAAF,EAAIC,CAAC,GAACJ,CAAN,EAAQO,CAAC,GAAC0E,CAAC,CAAClF,CAAD,CAAD,CAAKwD,CAAf,EAAiBlD,CAAC,GAAC4E,CAAC,CAAClF,CAAD,CAAD,CAAKuD,CAAxB,EAA0B,CAACkC,CAAC,GAACjF,CAAC,GAAC/C,CAAL,IAAQgI,CAAR,GAAU,CAACR,CAAC,GAAC3E,CAAC,GAACD,CAAL,IAAQ4E,CAAlB,IAAqB9I,CAAtD;AAAwD,GAA1G,CAAP;AAAoH;;AAAA,IAAI2e,EAAE,GAACvZ,CAAC,CAACsT,MAAF,CAAU,UAASvV,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,SAAO6B,CAAC,CAACnD,CAAD,CAAD,GAAKsB,CAAL,EAAO6B,CAAd;AAAgB,CAA1C,EAA4C,EAA5C,CAAP;AAAA,IAAuDyb,EAAE,GAAC,CAAC,CAAC,MAAD,EAAQ,UAAR,CAAD,EAAqB,CAAC,UAAD,EAAY,UAAZ,CAArB,EAA6C,CAAC,MAAD,EAAQ,WAAR,CAA7C,EAAkE,CAAC,WAAD,EAAa,WAAb,CAAlE,EAA4F,CAAC,MAAD,EAAQ,eAAR,CAA5F,EAAqH,CAAC,eAAD,EAAiB,YAAjB,CAArH,EAAoJ,CAAC,YAAD,EAAc,YAAd,CAApJ,EAAgL,CAAC,eAAD,EAAiB,UAAjB,CAAhL,EAA6M,CAAC,UAAD,EAAY,WAAZ,CAA7M,EAAsO,CAAC,WAAD,EAAa,YAAb,CAAtO,EAAiQ,CAAC,MAAD,EAAQ,gBAAR,CAAjQ,EAA2R,CAAC,gBAAD,EAAkB,aAAlB,CAA3R,EAA4T,CAAC,aAAD,EAAe,aAAf,CAA5T,EAA0V,CAAC,gBAAD,EAAkB,WAAlB,CAA1V,EAAyX,CAAC,WAAD,EAAa,YAAb,CAAzX,EAAoZ,CAAC,YAAD,EAAc,aAAd,CAApZ,EAAkbzX,GAAlb,CAAub,UAAShE,CAAT,EAAW;AAAC,MAAInD,CAAC,GAACmD,CAAC,CAAC,CAAD,CAAP;AAAA,MAAW7B,CAAC,GAAC6B,CAAC,CAAC,CAAD,CAAd;AAAkB,SAAM,CAACwb,EAAE,CAAC3e,CAAD,CAAH,EAAO2e,EAAE,CAACrd,CAAD,CAAT,CAAN;AAAoB,CAAze,CAA1D;AAAA,IAAsiBud,EAAE,GAACD,EAAE,CAACzX,GAAH,CAAQ,UAAShE,CAAT,EAAW;AAAC,SAAOA,CAAC,CAAC,CAAD,CAAR;AAAY,CAAhC,CAAziB;AAAA,IAA4kB2b,EAAE,GAACF,EAAE,CAACzX,GAAH,CAAQ,UAAShE,CAAT,EAAW;AAAC,SAAOA,CAAC,CAAC,CAAD,CAAR;AAAY,CAAhC,CAA/kB;;AAAknB,SAAS4b,EAAT,CAAY5b,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkB;AAAC,SAAO6B,CAAC,GAACnD,CAAF,GAAIA,CAAJ,GAAMmD,CAAC,GAAC7B,CAAF,GAAIA,CAAJ,GAAM6B,CAAnB;AAAqB;;AAAA,SAAS6b,EAAT,CAAY7b,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoB;AAAC,SAAM;AAACwD,IAAAA,CAAC,EAAC0X,EAAE,CAAC3W,IAAI,CAAC0T,KAAL,CAAW3Y,CAAC,CAACkE,CAAF,GAAIrH,CAAf,CAAD,EAAmB,CAAnB,EAAqBsB,CAAC,GAAC,CAAvB,CAAL;AAA+B8F,IAAAA,CAAC,EAAC2X,EAAE,CAAC3W,IAAI,CAAC0T,KAAL,CAAW3Y,CAAC,CAACiE,CAAF,GAAIpH,CAAf,CAAD,EAAmB,CAAnB,EAAqB6D,CAAC,GAAC,CAAvB;AAAnC,GAAN;AAAoE;;AAAA,SAASob,EAAT,CAAY9b,CAAZ,EAAcnD,CAAd,EAAgB;AAAC,SAAM;AAACoH,IAAAA,CAAC,EAACjE,CAAC,CAACiE,CAAF,GAAIpH,CAAC,CAACoH,CAAT;AAAWC,IAAAA,CAAC,EAAClE,CAAC,CAACkE,CAAF,GAAIrH,CAAC,CAACqH;AAAnB,GAAN;AAA4B;;AAAA,SAAS6X,EAAT,CAAY/b,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoBC,CAApB,EAAsBG,CAAtB,EAAwBC,CAAxB,EAA0BG,CAA1B,EAA4B;AAAC,OAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,CAAf;;AAAkB,OAAI,IAAIF,CAAC,GAACN,CAAC,CAACqE,KAAR,EAAcoB,CAAC,GAACnF,CAAC,CAAC,CAAD,CAAjB,EAAqB2E,CAAC,GAAC3E,CAAC,CAAC,CAAD,CAAxB,EAA4B4E,CAAC,GAAC;AAAC1B,IAAAA,CAAC,EAACrH,CAAC,CAACqH,CAAL;AAAOD,IAAAA,CAAC,EAACpH,CAAC,CAACoH;AAAX,GAA9B,EAA4C+B,CAAC,GAAC8V,EAAE,CAAClW,CAAD,EAAG,UAAS5F,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,QAAIuC,CAAC,GAACvC,CAAC,CAAC4G,KAAF,CAAQ,CAAR,IAAW,CAAjB;AAAmB,WAAM;AAACb,MAAAA,CAAC,EAAC/F,CAAC,CAACuO,GAAF,CAAM7P,CAAC,CAACqH,CAAR,EAAUrH,CAAC,CAACoH,CAAZ,EAAcjE,CAAd,CAAH;AAAoBiE,MAAAA,CAAC,EAAC9F,CAAC,CAACuO,GAAF,CAAM7P,CAAC,CAACqH,CAAR,EAAUrH,CAAC,CAACoH,CAAZ,EAAcvD,CAAC,GAACV,CAAhB;AAAtB,KAAN;AAAgD,GAAnF,CAAoFA,CAApF,EAAsF6b,EAAE,CAACjW,CAAD,EAAG9E,CAAH,EAAKqF,CAAL,EAAOR,CAAP,CAAxF,EAAkG5E,CAAlG,CAAH,CAAhD,EAAyJiI,CAAC,GAAC,CAA/J,EAAiKA,CAAC,GAAC9H,CAAnK,EAAqK8H,CAAC,EAAtK,EAAyK;AAAC,QAAI2E,CAAC,GAACkO,EAAE,CAAC7V,CAAD,EAAGlF,CAAH,EAAKqF,CAAL,EAAOR,CAAP,CAAR;AAAA,QAAkBiG,CAAC,GAACsP,EAAE,CAACvN,CAAC,CAACzJ,CAAH,EAAKyJ,CAAC,CAAC1J,CAAP,EAAS9F,CAAT,EAAWwC,CAAX,CAAtB;AAAoCqF,IAAAA,CAAC,GAAC8V,EAAE,CAAC;AAAC7X,MAAAA,CAAC,EAAC0J,CAAC,CAAC1J,CAAF,GAAInD,CAAP;AAASoD,MAAAA,CAAC,EAACyJ,CAAC,CAACzJ,CAAF,GAAIpD;AAAf,KAAD,EAAmB;AAACmD,MAAAA,CAAC,EAAC2H,CAAC,CAAC3H,CAAL;AAAOC,MAAAA,CAAC,EAAC0H,CAAC,CAAC1H;AAAX,KAAnB,CAAJ;AAAsC;;AAAA,MAAIA,CAAC,GAAC2X,EAAE,CAAC7V,CAAD,EAAGlF,CAAH,EAAKqF,CAAL,EAAOR,CAAP,CAAR;AAAA,MAAkBkG,CAAC,GAACnL,CAAC,CAACgM,GAAF,CAAMxI,CAAC,CAACA,CAAR,EAAUA,CAAC,CAACD,CAAZ,EAAc9F,CAAd,CAApB;AAAqC,SAAM;AAAC+F,IAAAA,CAAC,EAAC8B,CAAC,CAAC9B,CAAL;AAAOD,IAAAA,CAAC,EAAC+B,CAAC,CAAC/B,CAAX;AAAaxE,IAAAA,IAAI,EAACwC,CAAC,CAAC9D,CAAD,CAAnB;AAAuBgG,IAAAA,KAAK,EAAC0H;AAA7B,GAAN;AAAsC;;AAAA,SAASmQ,EAAT,CAAYhc,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoBC,CAApB,EAAsBG,CAAtB,EAAwB;AAAC,MAAIC,CAAC,GAAClE,CAAC,CAACkI,KAAF,CAAQ,CAAR,CAAN;AAAA,MAAiB7D,CAAC,GAACwa,EAAE,CAACje,MAAtB;AAAA,MAA6BuD,CAAC,GAAC,IAAI/C,KAAJ,CAAU8C,CAAV,CAA/B;AAAA,MAA4CoF,CAAC,GAACnG,CAAC,CAACic,IAAhD;AAAA,MAAqDtW,CAAC,GAAC3F,CAAC,CAACmE,KAAzD;AAAA,MAA+DyB,CAAC,GAACuV,EAAE,CAAChV,CAAD,EAAGzF,CAAH,EAAKvC,CAAL,CAAnE;AAA2E6C,EAAAA,CAAC,CAACmF,CAAC,CAACgO,EAAH,CAAD,GAAQ;AAAChQ,IAAAA,KAAK,EAACwB,CAAP;AAASlG,IAAAA,IAAI,EAACwC,CAAC,CAACkE,CAAC,CAACgO,EAAH,CAAf;AAAsBjQ,IAAAA,CAAC,EAAC0B,CAAC,CAAC1B,CAA1B;AAA4BD,IAAAA,CAAC,EAAC2B,CAAC,CAAC3B;AAAhC,GAAR;;AAA2C,OAAI,IAAI+B,CAAC,GAAC9E,CAAC,GAAC,CAAZ,EAAc8E,CAAC,IAAE,CAAjB,EAAmB,EAAEA,CAArB,EAAuB;AAAC,QAAIgD,CAAC,GAAC0S,EAAE,CAAC1V,CAAD,CAAR;AAAA,QAAY2H,CAAC,GAACgO,EAAE,CAAC3V,CAAD,CAAhB;AAAoBhF,IAAAA,CAAC,CAACgI,CAAD,CAAD,IAAM,CAAChI,CAAC,CAAC2M,CAAD,CAAR,KAAc3M,CAAC,CAAC2M,CAAD,CAAD,GAAKoO,EAAE,CAAC/V,CAAD,EAAGhF,CAAC,CAACgI,CAAD,CAAJ,EAAQ2E,CAAR,EAAU9Q,CAAV,EAAYsB,CAAZ,EAAcuC,CAAd,EAAgBI,CAAhB,CAArB;AAAyC;;AAAA,OAAIkF,CAAC,GAAC,CAAN,EAAQA,CAAC,GAAC9E,CAAV,EAAY,EAAE8E,CAAd,EAAgB;AAACgD,IAAAA,CAAC,GAAC2S,EAAE,CAAC3V,CAAD,CAAJ,EAAQ2H,CAAC,GAAC+N,EAAE,CAAC1V,CAAD,CAAZ;AAAgBhF,IAAAA,CAAC,CAACgI,CAAD,CAAD,IAAM,CAAChI,CAAC,CAAC2M,CAAD,CAAR,KAAc3M,CAAC,CAAC2M,CAAD,CAAD,GAAKoO,EAAE,CAAC/V,CAAD,EAAGhF,CAAC,CAACgI,CAAD,CAAJ,EAAQ2E,CAAR,EAAU9Q,CAAV,EAAYsB,CAAZ,EAAcuC,CAAd,EAAgBC,CAAhB,CAArB;AAAyC;;AAAA,SAAOK,CAAP;AAAS;;AAAA,SAASkb,EAAT,CAAYlc,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkB;AAAC,SAAOA,CAAC,CAACoX,MAAF,CAAU,UAASpX,CAAT,EAAWuC,CAAX,EAAaC,CAAb,EAAe;AAAC,QAAIG,CAAC,GAACJ,CAAC,CAACwD,CAAR;AAAA,QAAUnD,CAAC,GAACL,CAAC,CAACuD,CAAd;AAAA,QAAgB/C,CAAC,GAACR,CAAC,CAACyD,KAApB;AAA0B,WAAOmX,EAAE,CAACtb,CAAD,EAAGnD,CAAH,EAAK;AAACqH,MAAAA,CAAC,EAACpD,CAAH;AAAKmD,MAAAA,CAAC,EAAClD;AAAP,KAAL,EAAeJ,CAAf,CAAF,KAAsBxC,CAAC,IAAE+C,CAAzB,GAA4B/C,CAAnC;AAAqC,GAAzF,EAA2F,CAA3F,IAA8FA,CAAC,CAACV,MAAvG;AAA8G;;AAAA,SAAS0e,EAAT,CAAYnc,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoBC,CAApB,EAAsBG,CAAtB,EAAwBC,CAAxB,EAA0BG,CAA1B,EAA4B;AAAC,SAAO,KAAK,CAAL,KAASH,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,KAAK,CAAL,KAASG,CAAT,KAAaA,CAAC,GAAC,EAAf,CAAnB,EAAsCN,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,QAAII,CAAJ,EAAMmF,CAAN,EAAQR,CAAR,EAAUC,CAAV,EAAYI,CAAZ,EAAcgD,CAAd,EAAgB2E,CAAhB,EAAkB/B,CAAlB,EAAoB1H,CAApB,EAAsB2H,CAAtB,EAAwBC,CAAxB,EAA0B7H,CAA1B;AAA4B,WAAO1C,CAAC,CAAC,IAAD,EAAO,UAASwK,CAAT,EAAW;AAAC,cAAOA,CAAC,CAACvK,KAAT;AAAgB,aAAK,CAAL;AAAO,iBAAM,CAAC,CAAD,EAAGyZ,EAAE,CAAC,CAACjb,CAAD,EAAGnD,CAAH,EAAKsB,CAAL,EAAOuC,CAAP,CAAD,CAAL,CAAN;;AAAwB,aAAK,CAAL;AAAO,eAAIM,CAAC,GAAC+K,CAAC,CAACtK,IAAF,EAAF,EAAW0E,CAAC,GAACnF,CAAC,CAAC,CAAD,CAAd,EAAkB2E,CAAC,GAAC3E,CAAC,CAAC,CAAD,CAArB,EAAyB4E,CAAC,GAAC5E,CAAC,CAAC,CAAD,CAA5B,EAAgCgF,CAAC,GAAChF,CAAC,CAAC,CAAD,CAAnC,EAAuCgI,CAAC,GAAC,EAAzC,EAA4C2E,CAAC,GAAC,UAAS3N,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,iBAAI,IAAIuC,CAAC,GAACvC,CAAC,CAAC4G,KAAR,EAAcpE,CAAC,GAACD,CAAC,CAAC,CAAD,CAAjB,EAAqBI,CAAC,GAACJ,CAAC,CAAC,CAAD,CAAxB,EAA4BK,CAAC,GAACL,CAAC,CAAC,CAAD,CAA/B,EAAmCQ,CAAC,GAAC,IAAIkZ,EAAJ,CAAOzZ,CAAC,GAACG,CAAF,GAAIC,CAAX,EAAc,UAASf,CAAT,EAAW;AAAC,qBAAOA,CAAC,CAACmE,KAAT;AAAe,aAAzC,CAArC,EAAiFnD,CAAC,GAAC,CAAvF,EAAyFA,CAAC,GAACL,CAA3F,EAA6F,EAAEK,CAA/F,EAAiG,KAAI,IAAImF,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACrF,CAAd,EAAgB,EAAEqF,CAAlB,EAAoB,KAAI,IAAIR,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC5E,CAAd,EAAgB,EAAE4E,CAAlB,EAAoB;AAAC,kBAAIC,CAAC,GAACzH,CAAC,CAACuO,GAAF,CAAM1L,CAAN,EAAQmF,CAAR,EAAUR,CAAV,CAAN;AAAmBC,cAAAA,CAAC,GAAC5F,CAAF,IAAKgb,EAAE,CAACrV,CAAD,EAAGC,CAAH,EAAK5E,CAAL,EAAOmF,CAAP,EAAStJ,CAAT,EAAWsB,CAAX,CAAF,IAAiB+C,CAAC,CAACsZ,OAAF,CAAU;AAACrW,gBAAAA,KAAK,EAACyB,CAAP;AAASqW,gBAAAA,IAAI,EAAC;AAACb,kBAAAA,QAAQ,EAACpa,CAAV;AAAYqa,kBAAAA,QAAQ,EAAClV,CAArB;AAAuBgO,kBAAAA,EAAE,EAACxO;AAA1B;AAAd,eAAV,CAAtB;AAA6E;;AAAA,mBAAOzE,CAAP;AAAS,WAAnQ,CAAoQH,CAApQ,EAAsQ,CAAtQ,EAAwQoF,CAAxQ,CAA9C,EAAyTyF,CAAC,GAAC1K,CAAC,GAACA,CAAjU,EAAmU8H,CAAC,CAACvL,MAAF,GAASqD,CAAT,IAAY,CAAC6M,CAAC,CAACkN,KAAF,EAAhV,GAA2V3W,CAAC,GAACyJ,CAAC,CAAC+M,OAAF,EAAF,EAAc7O,CAAC,GAACsP,EAAE,CAACjX,CAAC,CAAC+X,IAAH,EAAQtb,CAAR,EAAUgF,CAAV,CAAlB,EAA+B2V,EAAE,CAACtS,CAAD,EAAG4C,CAAH,EAAKC,CAAL,EAAO3H,CAAC,CAAC+X,IAAF,CAAO9H,EAAd,CAAF,KAAsBrI,CAAC,GAACkQ,EAAE,CAAC9X,CAAD,EAAGiC,CAAH,EAAKR,CAAL,EAAOhF,CAAP,EAASiF,CAAT,EAAWI,CAAX,CAAJ,EAAkB/B,CAAC,GAACiY,EAAE,CAAClT,CAAD,EAAG4C,CAAH,EAAKE,CAAL,CAAtB,EAA8B9C,CAAC,CAAC5K,IAAF,CAAO;AAAC2F,YAAAA,SAAS,EAAC+H,CAAX;AAAa3H,YAAAA,KAAK,EAACF;AAAnB,WAAP,CAApD,CAA/B;;AAAkH,iBAAM,CAAC,CAAD,EAAG+E,CAAH,CAAN;AAAngB;AAAghB,KAAniB,CAAR;AAA8iB,GAA1mB,CAA9C;AAA2pB;;AAAA,SAASoT,EAAT,CAAYpc,CAAZ,EAAc;AAAC,MAAInD,CAAC,GAACmD,CAAC,CAAC+E,KAAR;AAAA,MAAc5G,CAAC,GAACtB,CAAC,CAAC,CAAD,CAAjB;AAAA,MAAqB6D,CAAC,GAAC7D,CAAC,CAAC,CAAD,CAAxB;AAAA,MAA4B8D,CAAC,GAAC9D,CAAC,CAAC,CAAD,CAA/B;AAAmC,SAAO,oBAAG,YAAU;AAAC,QAAIA,CAAJ;AAAA,QAAMkE,CAAN;AAAA,QAAQG,CAAC,GAAC,uBAAElB,CAAF,EAAI,CAAC7B,CAAC,GAACuC,CAAH,EAAKC,CAAL,CAAJ,CAAV;AAAA,QAAuBwF,CAAC,GAAC,sBAAEjF,CAAF,EAAI,CAAJ,CAAzB;AAAA,QAAgCyE,CAAC,GAAC,0BAAE,mBAAEQ,CAAF,EAAI,sBAAEzF,CAAF,EAAI,OAAJ,CAAJ,CAAF,EAAoB,CAApB,CAAlC;AAAA,QAAyDsF,CAAC,GAAC,2BAAGnJ,CAAC,GAACsJ,CAAF,EAAIpF,CAAC,GAACL,CAAN,EAAQ,oBAAG,YAAU;AAAC,UAAIV,CAAC,GAAC,mBAAEnD,CAAF,EAAI,sBAAEkE,CAAF,EAAI,OAAJ,CAAJ,CAAN;AAAwB,aAAO,mBAAElE,CAAF,EAAI,mBAAEmD,CAAF,EAAI,sBAAEe,CAAF,EAAI,OAAJ,CAAJ,CAAJ,CAAP;AAA8B,KAApE,CAAX,GAAmF,CAAnF,CAA3D;AAAiJ,WAAO,sBAAE,CAAC4E,CAAD,EAAGK,CAAH,CAAF,EAAQ,CAAR,CAAP;AAAkB,GAAjL,CAAP;AAA2L;;AAAA,SAASqW,EAAT,CAAYrc,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkB;AAAC,SAAO,oBAAG,YAAU;AAAC,QAAIuC,CAAC,GAAC,UAASV,CAAT,EAAWnD,CAAX,EAAa;AAAC,WAAI,IAAIsB,CAAC,GAAC,EAAN,EAASuC,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACuB,CAAC,CAACxE,MAArB,EAA4BiD,CAAC,EAA7B,EAAgC;AAAC,YAAIC,CAAC,GAACX,CAAC,CAAC0M,GAAF,CAAMhM,CAAN,EAAQ,CAAR,EAAW4b,OAAX,EAAN;AAAA,YAA2Bxb,CAAC,GAACd,CAAC,CAAC0M,GAAF,CAAMhM,CAAN,EAAQ,CAAR,EAAW4b,OAAX,EAA7B;AAAA,YAAkDpb,CAAC,GAACqb,EAAE,CAAC5b,CAAD,EAAGG,CAAH,EAAKJ,CAAL,EAAO7D,CAAP,CAAtD;AAAA,YAAgEmE,CAAC,GAACE,CAAC,CAAC+C,CAApE;AAAA,YAAsEkC,CAAC,GAACjF,CAAC,CAACgD,CAA1E;AAA4E/F,QAAAA,CAAC,CAACC,IAAF,CAAO+H,CAAP,GAAUhI,CAAC,CAACC,IAAF,CAAO4C,CAAP,CAAV;AAAoB;;AAAA,aAAO,wBAAE7C,CAAF,EAAI,CAAC8D,CAAC,CAACxE,MAAH,EAAU,CAAV,CAAJ,CAAP;AAAyB,KAAxK,CAAyKuC,CAAzK,EAA2K7B,CAA3K,CAAN;;AAAoL,WAAO,mBAAE,oBAAE,mBAAE6B,CAAC,CAACwc,QAAF,EAAF,EAAe,sBAAE3f,CAAF,EAAI,OAAJ,CAAf,CAAF,EAA+B,SAA/B,CAAF,EAA4C6D,CAA5C,CAAP;AAAsD,GAAxP,CAAP;AAAkQ;;AAAA,SAAS6b,EAAT,CAAYvc,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkBuC,CAAlB,EAAoB;AAAC,SAAM;AAACwD,IAAAA,CAAC,EAACxD,CAAC,CAACgM,GAAF,CAAM1M,CAAN,EAAQnD,CAAR,EAAUsB,CAAV,CAAH;AAAgB8F,IAAAA,CAAC,EAACvD,CAAC,CAACgM,GAAF,CAAM1M,CAAN,EAAQnD,CAAR,EAAUsB,CAAC,GAAC8D,CAAC,CAACxE,MAAd;AAAlB,GAAN;AAA+C;;AAAA,SAASgf,EAAT,CAAYzc,CAAZ,EAAcnD,CAAd,EAAgBsB,CAAhB,EAAkB;AAAC,SAAOyC,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,QAAIF,CAAJ,EAAMC,CAAN,EAAQG,CAAR,EAAUC,CAAV,EAAYG,CAAZ,EAAcF,CAAd,EAAgBmF,CAAhB,EAAkBR,CAAlB,EAAoBC,CAApB,EAAsBI,CAAtB;AAAwB,WAAOzE,CAAC,CAAC,IAAD,EAAO,UAASyH,CAAT,EAAW;AAAC,cAAOA,CAAC,CAACxH,KAAT;AAAgB,aAAK,CAAL;AAAO,iBAAOd,CAAC,GAAC,CAAF,EAAIC,CAAC,GAACyb,EAAE,CAACpc,CAAD,CAAR,EAAY,CAAC,CAAD,EAAGa,OAAO,CAACiS,GAAR,CAAY,CAAC9S,CAAC,CAACwM,MAAF,EAAD,EAAY3P,CAAC,CAAC2P,MAAF,EAAZ,EAAuB7L,CAAC,CAAC6L,MAAF,EAAvB,CAAZ,CAAH,CAAnB;;AAAuE,aAAK,CAAL;AAAO,iBAAO1L,CAAC,GAACkI,CAAC,CAACvH,IAAF,EAAF,EAAWV,CAAC,GAACD,CAAC,CAAC,CAAD,CAAd,EAAkBI,CAAC,GAACJ,CAAC,CAAC,CAAD,CAArB,EAAyBE,CAAC,GAACF,CAAC,CAAC,CAAD,CAA5B,EAAgC,CAAC,CAAD,EAAG,CAACqF,CAAC,GAACkW,EAAE,CAACrb,CAAD,EAAG7C,CAAH,EAAK+C,CAAL,CAAL,EAAcsL,MAAd,EAAH,CAAvC;;AAAkE,aAAK,CAAL;AAAO,iBAAO7G,CAAC,GAACqD,CAAC,CAACvH,IAAF,EAAF,EAAWmE,CAAC,GAAC3H,KAAK,CAACmW,IAAN,CAAW,UAASpU,CAAT,EAAWnD,CAAX,EAAa;AAAC,iBAAI,IAAIsB,CAAC,GAACtB,CAAC,CAACkI,KAAF,CAAQ,CAAR,CAAN,EAAiBrE,CAAC,GAAC,IAAIgc,YAAJ,CAAiBve,CAAjB,CAAnB,EAAuCwC,CAAC,GAAC,CAA7C,EAA+CA,CAAC,GAACxC,CAAjD,EAAmDwC,CAAC,EAApD,EAAuD;AAAC,kBAAIG,CAAC,GAACjE,CAAC,CAAC6P,GAAF,CAAM/L,CAAN,EAAQ,CAAR,CAAN;AAAA,kBAAiBI,CAAC,GAAClE,CAAC,CAAC6P,GAAF,CAAM/L,CAAN,EAAQ,CAAR,CAAnB;AAA8BD,cAAAA,CAAC,CAACC,CAAD,CAAD,GAAKX,CAAC,CAAC0M,GAAF,CAAM5L,CAAN,EAAQC,CAAR,EAAUJ,CAAV,CAAL;AAAkB;;AAAA,mBAAOD,CAAP;AAAS,WAA/H,CAAgIK,CAAhI,EAAkIC,CAAlI,CAAX,CAAb,EAA8JgF,CAAC,GAACJ,CAAC,CAAC5B,GAAF,CAAO,UAAShE,CAAT,EAAWnD,CAAX,EAAa;AAAC,mBAAO6D,CAAC,IAAEV,CAAH,EAAK;AAACkE,cAAAA,CAAC,EAACyB,CAAC,CAAC+G,GAAF,CAAM7P,CAAN,EAAQ,CAAR,CAAH;AAAcoH,cAAAA,CAAC,EAAC0B,CAAC,CAAC+G,GAAF,CAAM7P,CAAN,EAAQ,CAAR,CAAhB;AAA2BsH,cAAAA,KAAK,EAACnE,CAAjC;AAAmCP,cAAAA,IAAI,EAACwC,CAAC,CAACpF,CAAD;AAAzC,aAAZ;AAA0D,WAA/E,CAAhK,EAAkP8D,CAAC,CAAC8D,OAAF,EAAlP,EAA8P0B,CAAC,CAAC1B,OAAF,EAA9P,EAA0Q,CAAC,CAAD,EAAG;AAACV,YAAAA,SAAS,EAACiC,CAAX;AAAa7B,YAAAA,KAAK,EAACzD,CAAC,GAACsF,CAAC,CAACvI;AAAvB,WAAH,CAAjR;AAA9K;AAAme,KAAtf,CAAR;AAAigB,GAAzjB,CAAR;AAAokB;;AAAA,SAASkf,EAAT,CAAY3c,CAAZ,EAAcnD,CAAd,EAAgB;AAAC,SAAM,CAACmD,CAAC,GAAC,CAAH,IAAMnD,CAAN,IAAS,CAAf;AAAiB;;AAAA,IAAI+f,EAAE,GAAC,0EAAP;AAAA,IAAkFC,EAAE,GAAC,yEAArF;;AAA+J,SAASC,EAAT,CAAY9c,CAAZ,EAAcnD,CAAd,EAAgB;AAAC,SAAO,UAASmD,CAAT,EAAWnD,CAAX,EAAa;AAAC,WAAM,CAACmD,CAAC,GAAC,CAAH,IAAMnD,CAAN,IAAS,CAAf;AAAiB,GAA/B,CAAgCmD,CAAhC,EAAkCnD,CAAlC,IAAqCmD,CAArC,GAAuCiF,IAAI,CAACE,KAAL,CAAWnF,CAAC,GAACnD,CAAb,IAAgBA,CAAhB,GAAkB,CAAhE;AAAkE;;AAAA,IAAIkgB,EAAE,GAAC,YAAU;AAAC,WAAS/c,CAAT,CAAWA,CAAX,EAAanD,CAAb,EAAe;AAAC,SAAKmgB,YAAL,GAAkBhd,CAAlB;AAAoB,QAAI7B,CAAC,GAAC,KAAK6e,YAAL,CAAkBC,MAAlB,CAAyB,CAAzB,EAA4BlY,KAAlC;;AAAwCpE,mBAAE4E,MAAF,CAAS,CAAC,CAAD,KAAKpH,CAAC,CAAC,CAAD,CAAN,IAAW,CAAC,CAAD,KAAKA,CAAC,CAAC,CAAD,CAA1B,EAA+B,YAAU;AAAC,aAAM,kBAAgBA,CAAC,CAAC,CAAD,CAAjB,GAAqB,IAArB,GAA0BA,CAAC,CAAC,CAAD,CAA3B,GAA+B,+BAArC;AAAqE,KAA/G;;AAAkH,QAAIuC,CAAJ;AAAA,QAAMI,CAAN;AAAA,QAAQC,CAAC,IAAEL,CAAC,GAAC7D,CAAC,CAAC4I,eAAJ,EAAoB3E,CAAC,GAACjE,CAAC,CAACwc,YAAxB,EAAqC;AAACrW,MAAAA,MAAM,EAAC8Z,EAAE,CAACpc,CAAC,CAACsC,MAAH,EAAUlC,CAAV,CAAV;AAAuBiC,MAAAA,KAAK,EAAC+Z,EAAE,CAACpc,CAAC,CAACqC,KAAH,EAASjC,CAAT;AAA/B,KAAvC,CAAT;AAA6F,KAAC,UAASd,CAAT,EAAW;AAACW,qBAAE4E,MAAF,CAASoU,EAAE,CAACjO,OAAH,CAAW1L,CAAX,KAAe,CAAxB,EAA2B,YAAU;AAAC,eAAM,qBAAmBA,CAAnB,GAAqB,yCAA3B;AAAqE,OAA3G;AAA8G,KAA1H,CAA2HnD,CAAC,CAACwc,YAA7H,CAAD,EAA4I,UAASrZ,CAAT,EAAWnD,CAAX,EAAa;AAAC8D,qBAAE4E,MAAF,CAASoX,EAAE,CAAC3c,CAAC,CAACgD,MAAH,EAAUnG,CAAV,CAAX,EAAyB,YAAU;AAAC,eAAM,eAAamD,CAAC,CAACgD,MAAf,GAAsB,gCAAtB,GAAuDnG,CAAvD,GAAyD,GAA/D;AAAmE,OAAvG,GAA0G8D,eAAE4E,MAAF,CAASoX,EAAE,CAAC3c,CAAC,CAAC+C,KAAH,EAASlG,CAAT,CAAX,EAAwB,YAAU;AAAC,eAAM,cAAYmD,CAAC,CAAC+C,KAAd,GAAoB,gCAApB,GAAqDlG,CAArD,GAAuD,GAA7D;AAAiE,OAApG,CAA1G;AAAiN,KAA/N,CAAgOkE,CAAhO,EAAkOlE,CAAC,CAACwc,YAApO,CAA5I,EAA8X,KAAK5T,eAAL,GAAqB1E,CAAnZ,EAAqZ,KAAKsY,YAAL,GAAkBxc,CAAC,CAACwc,YAAza,EAAsb,KAAKD,YAAL,GAAkBvc,CAAC,CAACuc,YAA1c;AAAud;;AAAA,SAAOpZ,CAAC,CAACzB,SAAF,CAAY+F,aAAZ,GAA0B,UAAStE,CAAT,EAAWnD,CAAX,EAAa;AAAC,WAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAACid,EAAf,GAAmBlZ,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,UAAIzC,CAAJ,EAAMuC,CAAN,EAAQC,CAAR,EAAUG,CAAV,EAAYC,CAAZ,EAAcG,CAAd,EAAgBF,CAAhB,EAAkBmF,CAAlB,EAAoBP,CAApB,EAAsBI,CAAtB,EAAwB9B,CAAxB,EAA0B2H,CAA1B,EAA4BC,CAA5B,EAA8B7H,CAA9B,EAAgC8H,CAAhC;AAAkC,aAAOxK,CAAC,CAAC,IAAD,EAAO,UAASyK,CAAT,EAAW;AAAC,gBAAOA,CAAC,CAACxK,KAAT;AAAgB,eAAK,CAAL;AAAO,mBAAOrD,CAAC,GAAC,UAAS6B,CAAT,EAAW;AAAC,kBAAInD,CAAC,GAACmD,CAAN;AAAQ,kBAAG,QAAMnD,CAAC,CAACyT,QAAR,KAAmBzT,CAAC,CAACyT,QAAF,GAAW,CAA9B,GAAiCzT,CAAC,CAACyT,QAAF,IAAY,CAAhD,EAAkD,MAAM,IAAI5T,KAAJ,CAAU,sBAAoBG,CAAC,CAACyT,QAAtB,GAA+B,kBAAzC,CAAN;;AAAmE,kBAAGzT,CAAC,CAACyT,QAAF,GAAW,CAAd,EAAgB;AAAC,oBAAG,CAACzT,CAAC,GAAC2D,CAAC,CAAC,EAAD,EAAIuZ,EAAJ,EAAOld,CAAP,CAAJ,EAAemd,cAAf,GAA8B,CAA9B,IAAiCnd,CAAC,CAACmd,cAAF,GAAiB,CAArD,EAAuD,MAAM,IAAItd,KAAJ,CAAU,4BAA0BG,CAAC,CAACmd,cAA5B,GAA2C,iCAArD,CAAN;AAA8F,oBAAGnd,CAAC,CAACod,SAAF,IAAa,CAAhB,EAAkB,MAAM,IAAIvd,KAAJ,CAAU,uBAAqBG,CAAC,CAACod,SAAvB,GAAiC,GAA3C,CAAN;AAAsD;;AAAA,qBAAOpd,CAAP;AAAS,aAAhY,CAAiYA,CAAjY,CAAF,EAAsY,QAAMmD,CAAN,GAAQ,CAAC,CAAD,EAAG,EAAH,CAAR,IAAgB,KAAKsQ,QAAL,GAAcnS,CAAC,CAACmS,QAAhB,EAAyB5P,CAAC,GAAC8E,CAAC,CAACxF,CAAD,EAAG;AAACyF,cAAAA,eAAe,EAAC,KAAKA,eAAtB;AAAsCC,cAAAA,eAAe,EAAC,CAAC;AAAvD,aAAH,CAA5B,EAA0F/E,CAAC,GAACD,CAAC,CAAC0F,WAA9F,EAA0GtF,CAAC,GAACJ,CAAC,CAAC8F,OAA9G,EAAsHzF,CAAC,GAAC,eAAa,KAAKqY,YAAlB,GAA+B,mBAAEzY,CAAF,EAAIuZ,EAAJ,CAA/B,GAAuCvQ,EAAE,CAAChJ,CAAD,EAAG,CAAC,CAAC,CAAF,EAAI,CAAJ,CAAH,CAAjK,EAA4KO,CAAC,GAAC,KAAK8b,YAAL,CAAkBvS,OAAlB,CAA0B1J,CAA1B,CAA9K,EAA2M,eAAa,KAAKqY,YAAlB,IAAgCpY,CAAC,GAAC,uBAAEE,CAAC,CAAC,CAAD,CAAH,EAAO,CAAC,CAAD,CAAP,CAAF,EAAciF,CAAC,GAAC,uBAAEjF,CAAC,CAAC,CAAD,CAAH,EAAO,CAAC,CAAD,CAAP,CAAhB,EAA4B0E,CAAC,GAAC,uBAAE1E,CAAC,CAAC,CAAD,CAAH,EAAO,CAAC,CAAD,CAAP,CAA9B,EAA0C8E,CAAC,GAAC,uBAAE9E,CAAC,CAAC,CAAD,CAAH,EAAO,CAAC,CAAD,CAAP,CAA5E,KAA0FF,CAAC,GAAC,uBAAEE,CAAC,CAAC,CAAD,CAAH,EAAO,CAAC,CAAD,CAAP,CAAF,EAAciF,CAAC,GAAC,uBAAEjF,CAAC,CAAC,CAAD,CAAH,EAAO,CAAC,CAAD,CAAP,CAAhB,EAA4B0E,CAAC,GAAC,uBAAE1E,CAAC,CAAC,CAAD,CAAH,EAAO,CAAC,CAAD,CAAP,CAA9B,EAA0C8E,CAAC,GAAC,uBAAE9E,CAAC,CAAC,CAAD,CAAH,EAAO,CAAC,CAAD,CAAP,CAAtI,CAA3M,EAA8VgD,CAAC,GAAC,uBAAEiC,CAAF,CAAhW,EAAqW,MAAI,KAAKmK,QAAT,GAAkB,CAAC,CAAD,EAAG,CAAH,CAAlB,GAAwB,CAAC,CAAD,EAAGmM,EAAE,CAACvY,CAAD,EAAGlD,CAAH,EAAK,KAAKqY,YAAV,CAAL,CAA7Y,CAA7Y;;AAAyzB,eAAK,CAAL;AAAO,mBAAOvN,CAAC,GAACE,CAAC,CAACvK,IAAF,EAAF,EAAWoK,CAAC,GAAC,CAACC,CAAD,CAAb,EAAiB,CAAC,CAAD,EAAG,CAAH,CAAxB;;AAA8B,eAAK,CAAL;AAAO,mBAAM,CAAC,CAAD,EAAGqQ,EAAE,CAACjY,CAAD,EAAGlD,CAAH,EAAK4E,CAAL,EAAOI,CAAP,EAAS,KAAKqT,YAAd,EAA2B,KAAK/I,QAAhC,EAAyCnS,CAAC,CAAC6b,cAA3C,EAA0D7b,CAAC,CAAC8b,SAA5D,CAAL,CAAN;;AAAmF,eAAK,CAAL;AAAOpO,YAAAA,CAAC,GAACG,CAAC,CAACvK,IAAF,EAAF,EAAWuK,CAAC,CAACxK,KAAF,GAAQ,CAAnB;;AAAqB,eAAK,CAAL;AAAO,mBAAOyC,CAAC,GAACa,CAAC,CAAC9E,CAAD,CAAH,EAAO+L,CAAC,GAAC,UAAS/L,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAeuC,CAAf,EAAiB;AAAC,kBAAIC,CAAC,GAAC9D,CAAC,CAACmG,MAAR;AAAA,kBAAelC,CAAC,GAACjE,CAAC,CAACkG,KAAnB;AAAA,kBAAyBhC,CAAC,GAACJ,CAAC,IAAExC,CAAC,CAAC6E,MAAF,IAAU,IAAEtC,CAAC,CAACuF,GAAJ,GAAQvF,CAAC,CAACwF,MAApB,CAAF,CAA5B;AAAA,kBAA2DhF,CAAC,GAACJ,CAAC,IAAE3C,CAAC,CAAC4E,KAAF,IAAS,IAAErC,CAAC,CAAC0B,IAAJ,GAAS1B,CAAC,CAAC2B,KAApB,CAAF,CAA9D;AAAA,kBAA4FrB,CAAC,GAAC,CAACN,CAAC,CAACuF,GAAH,GAAO9H,CAAC,CAAC6E,MAAvG;AAAA,kBAA8GmD,CAAC,GAAC,CAACzF,CAAC,CAAC0B,IAAH,GAAQjE,CAAC,CAAC4E,KAA1H;AAAgI,kBAAG,MAAI7B,CAAJ,IAAO,MAAIH,CAAX,IAAc,MAAIC,CAAlB,IAAqB,MAAImF,CAA5B,EAA8B,OAAOnG,CAAP;;AAAS,mBAAI,IAAI2F,CAAC,GAAC,CAAN,EAAQC,CAAC,GAAC5F,CAAd,EAAgB2F,CAAC,GAACC,CAAC,CAACnI,MAApB,EAA2BkI,CAAC,EAA5B,EAA+B,KAAI,IAAIK,CAAC,GAAC,CAAN,EAAQgD,CAAC,GAACpD,CAAC,CAACD,CAAD,CAAD,CAAK5B,SAAnB,EAA6BiC,CAAC,GAACgD,CAAC,CAACvL,MAAjC,EAAwCuI,CAAC,EAAzC,EAA4C;AAAC,oBAAI2H,CAAC,GAAC3E,CAAC,CAAChD,CAAD,CAAP;AAAW2H,gBAAAA,CAAC,CAAC1J,CAAF,GAAI,CAAC0J,CAAC,CAAC1J,CAAF,GAAIkC,CAAL,IAAQjF,CAAZ,EAAcyM,CAAC,CAACzJ,CAAF,GAAI,CAACyJ,CAAC,CAACzJ,CAAF,GAAIlD,CAAL,IAAQD,CAA1B;AAA4B;;AAAA,qBAAOf,CAAP;AAAS,aAArT,CAAsT6L,CAAtT,EAAwT5H,CAAxT,EAA0T,KAAKwB,eAA/T,EAA+U3E,CAA/U,CAAT,EAA2V3C,CAAC,CAACoG,cAAF,KAAmBwH,CAAC,GAAC,UAAS/L,CAAT,EAAWnD,CAAX,EAAa;AAAC,mBAAI,IAAIsB,CAAC,GAAC,CAAN,EAAQuC,CAAC,GAACV,CAAd,EAAgB7B,CAAC,GAACuC,CAAC,CAACjD,MAApB,EAA2BU,CAAC,EAA5B,EAA+B,KAAI,IAAIwC,CAAC,GAAC,CAAN,EAAQG,CAAC,GAACJ,CAAC,CAACvC,CAAD,CAAD,CAAK4F,SAAnB,EAA6BpD,CAAC,GAACG,CAAC,CAACrD,MAAjC,EAAwCkD,CAAC,EAAzC,EAA4C;AAAC,oBAAII,CAAC,GAACD,CAAC,CAACH,CAAD,CAAP;AAAWI,gBAAAA,CAAC,CAACkD,CAAF,GAAIpH,CAAC,CAACkG,KAAF,GAAQ,CAAR,GAAUhC,CAAC,CAACkD,CAAhB;AAAkB;;AAAA,qBAAOjE,CAAP;AAAS,aAAhI,CAAiI+L,CAAjI,EAAmI9H,CAAnI,CAArB,CAA3V,EAAuftD,CAAC,CAAC8D,OAAF,EAAvf,EAAmgB1D,CAAC,CAAC0D,OAAF,EAAngB,EAA+gB,uBAAEvD,CAAF,CAA/gB,EAAohBF,CAAC,CAACyD,OAAF,EAAphB,EAAgiB0B,CAAC,CAAC1B,OAAF,EAAhiB,EAA4iBmB,CAAC,CAACnB,OAAF,EAA5iB,EAAwjBuB,CAAC,CAACvB,OAAF,EAAxjB,EAAokBP,CAAC,CAACO,OAAF,EAApkB,EAAglB,CAAC,CAAD,EAAGsH,CAAH,CAAvlB;AAAl/B;AAAglD,OAAnmD,CAAR;AAA8mD,KAAhrD,CAA3B;AAA8sD,GAAtvD,EAAuvD/L,CAAC,CAACzB,SAAF,CAAYkG,OAAZ,GAAoB,YAAU;AAAC,SAAKuY,YAAL,CAAkBvY,OAAlB;AAA4B,GAAlzD,EAAmzDzE,CAAC,CAACzB,SAAF,CAAYoG,KAAZ,GAAkB,YAAU,CAAE,CAAj1D,EAAk1D3E,CAAz1D;AAA21D,CAAxlF,EAAP;;AAAkmF,SAASkd,EAAT,CAAYld,CAAZ,EAAc;AAAC,SAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAACmZ,EAAf,GAAmBvY,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,QAAIzC,CAAJ,EAAMuC,CAAN,EAAQC,CAAR,EAAUG,CAAV,EAAYC,CAAZ;AAAc,WAAOQ,CAAC,CAAC,IAAD,EAAO,UAASL,CAAT,EAAW;AAAC,cAAOA,CAAC,CAACM,KAAT;AAAgB,aAAK,CAAL;AAAO,iBAAM,eAAa,CAACrD,CAAC,GAAC,UAAS6B,CAAT,EAAW;AAAC,gBAAInD,CAAC,GAACmD,CAAC,IAAEmZ,EAAT;AAAY,gBAAG,QAAMtc,CAAC,CAACuc,YAAR,KAAuBvc,CAAC,CAACuc,YAAF,GAAe,aAAtC,GAAqDG,EAAE,CAAC7N,OAAH,CAAW7O,CAAC,CAACuc,YAAb,IAA2B,CAAnF,EAAqF,MAAM,IAAI1c,KAAJ,CAAU,0BAAwBG,CAAC,CAACuc,YAA1B,GAAuC,qBAAvC,GAA6DG,EAAvE,CAAN;AAAiF,gBAAG,QAAM1c,CAAC,CAAC4I,eAAR,KAA0B5I,CAAC,CAAC4I,eAAF,GAAkB;AAACzC,cAAAA,MAAM,EAAC,GAAR;AAAYD,cAAAA,KAAK,EAAC;AAAlB,aAA5C,GAAoE,QAAMlG,CAAC,CAACwc,YAAR,KAAuBxc,CAAC,CAACwc,YAAF,GAAe,EAAtC,CAApE,EAA8GG,EAAE,CAAC3c,CAAC,CAACuc,YAAH,CAAF,CAAmB1N,OAAnB,CAA2B7O,CAAC,CAACwc,YAA7B,IAA2C,CAA5J,EAA8J,MAAM,IAAI3c,KAAJ,CAAU,0BAAwBG,CAAC,CAACwc,YAA1B,GAAuC,qBAAvC,GAA6DG,EAAE,CAAC3c,CAAC,CAACuc,YAAH,CAA/D,GAAgF,oBAAhF,GAAqGvc,CAAC,CAACuc,YAAvG,GAAoH,GAA9H,CAAN;AAAyI,gBAAG,QAAMvc,CAAC,CAACyc,UAAR,KAAqBzc,CAAC,CAACyc,UAAF,GAAa,CAAlC,GAAqCM,EAAE,CAAC/c,CAAC,CAACuc,YAAH,CAAF,CAAmB1N,OAAnB,CAA2B7O,CAAC,CAACyc,UAA7B,IAAyC,CAAjF,EAAmF,MAAM,IAAI5c,KAAJ,CAAU,wBAAsBG,CAAC,CAACyc,UAAxB,GAAmC,qBAAnC,GAAyDM,EAAE,CAAC/c,CAAC,CAACuc,YAAH,CAA3D,GAA4E,oBAA5E,GAAiGvc,CAAC,CAACuc,YAAnG,GAAgH,GAA1H,CAAN;AAAqI,gBAAG,QAAMvc,CAAC,CAACsgB,UAAR,KAAqBtgB,CAAC,CAACsgB,UAAF,GAAa,CAAlC,GAAqCtD,EAAE,CAACnO,OAAH,CAAW7O,CAAC,CAACsgB,UAAb,IAAyB,CAAjE,EAAmE,MAAM,IAAIzgB,KAAJ,CAAU,wBAAsBG,CAAC,CAACsgB,UAAxB,GAAmC,qBAAnC,GAAyDtD,EAAzD,GAA4D,oBAA5D,GAAiFhd,CAAC,CAACuc,YAAnF,GAAgG,GAA1G,CAAN;AAAqH,gBAAG,kBAAgBvc,CAAC,CAACuc,YAAlB,IAAgC,OAAKvc,CAAC,CAACwc,YAAvC,IAAqD,MAAIxc,CAAC,CAACyc,UAA9D,EAAyE,MAAM,IAAI5c,KAAJ,CAAU,yEAAV,CAAN;AAA2F,mBAAOG,CAAP;AAAS,WAAliC,CAAmiCmD,CAAniC,CAAH,EAA0iCoZ,YAAvjC,GAAokC,CAAC,CAAD,EAAG,CAAH,CAApkC,IAA2kCpY,CAAC,GAAC7C,CAAC,CAACkb,YAAJ,EAAiBlT,CAAC,GAAChI,CAAC,CAACgf,UAArB,EAAgCxX,CAAC,GAAC,iBAAe3E,CAAf,GAAiB,OAAnD,EAA2DN,CAAC,GAAC,MAAIyF,CAAJ,GAAM0W,EAAE,GAAC,QAAH,GAAYlX,CAAlB,GAAoBkX,EAAE,GAAC,OAAH,GAAW1W,CAAX,GAAa,GAAb,GAAiBR,CAAlG,EAAoG,CAAC,CAAD,EAAG,mCAAExH,CAAC,CAAC+a,QAAF,IAAYxY,CAAd,CAAH,CAA/qC,CAAN;;AAA2sC,aAAK,CAAL;AAAO,iBAAOC,CAAC,GAACO,CAAC,CAACO,IAAF,EAAF,EAAW,CAAC,CAAD,EAAG,IAAIsb,EAAJ,CAAOpc,CAAP,EAASxC,CAAT,CAAH,CAAlB;;AAAkC,aAAK,CAAL;AAAO,iBAAO2C,CAAC,GAAC,UAASd,CAAT,EAAWnD,CAAX,EAAasB,CAAb,EAAe;AAAC,gBAAIuC,CAAC,GAAC;AAAC,iBAAE,KAAH;AAAS,mBAAI,KAAb;AAAmB,kBAAG;AAAtB,aAAN;AAAA,gBAAmCC,CAAC,GAAC,iBAAeX,CAAf,GAAiB,OAAtD;AAA8D,mBAAO,MAAI7B,CAAJ,GAAMye,EAAE,GAAC,QAAH,GAAYlc,CAAC,CAAC7D,CAAD,CAAb,GAAiB,GAAjB,GAAqB8D,CAA3B,GAA6Bic,EAAE,GAAC,OAAH,GAAWze,CAAX,GAAa,GAAb,GAAiBuC,CAAC,CAAC7D,CAAD,CAAlB,GAAsB,GAAtB,GAA0B8D,CAA9D;AAAgE,WAA9I,CAA+IxC,CAAC,CAACkb,YAAjJ,EAA8Jlb,CAAC,CAACmb,UAAhK,EAA2Knb,CAAC,CAACgf,UAA7K,CAAF,EAA2L,CAAC,CAAD,EAAG,mCAAEhf,CAAC,CAAC+a,QAAF,IAAYpY,CAAd,CAAH,CAAlM;;AAAuN,aAAK,CAAL;AAAO,iBAAOC,CAAC,GAACG,CAAC,CAACO,IAAF,EAAF,EAAW,CAAC,CAAD,EAAG,IAAIsb,EAAJ,CAAOhc,CAAP,EAAS5C,CAAT,CAAH,CAAlB;AAAh/C;;AAAkhD,UAAI6C,CAAJ,EAAMmF,CAAN,EAAQR,CAAR;AAAU,KAA/iD,CAAR;AAA0jD,GAAxmD,CAA3B;AAAsoD;;AAAA,SAASyX,EAAT,CAAYpd,CAAZ,EAAcnD,CAAd,EAAgB;AAAC,SAAO+D,CAAC,CAAC,IAAD,EAAM,KAAK,CAAX,EAAa,KAAK,CAAlB,EAAqB,YAAU;AAAC,QAAIzC,CAAJ,EAAMuC,CAAN;AAAQ,WAAOa,CAAC,CAAC,IAAD,EAAO,UAASZ,CAAT,EAAW;AAAC,cAAOX,CAAP;AAAU,aAAKiT,EAAE,CAACuC,OAAR;AAAgB,iBAAM,CAAC,CAAD,EAAG0H,EAAE,CAACrgB,CAAD,CAAL,CAAN;;AAAgB,aAAKoW,EAAE,CAACqC,SAAR;AAAkB,cAAG5U,CAAC,GAAC,KAAK,CAAP,EAAS,SAAOvC,CAAC,GAACtB,CAAT,CAAZ,EAAwB;AAAC,gBAAG,WAASsB,CAAC,CAACwE,OAAd,EAAsB,OAAM,CAAC,CAAD,EAAGkQ,EAAE,CAAChW,CAAD,CAAL,CAAN;AAAgB,gBAAG,gBAAcsB,CAAC,CAACwE,OAAnB,EAA2B,OAAM,CAAC,CAAD,EAAGkC,CAAC,CAAChI,CAAD,CAAJ,CAAN;AAAe6D,YAAAA,CAAC,GAACvC,CAAC,CAACwE,OAAJ;AAAY;;AAAA,gBAAM,IAAIjG,KAAJ,CAAU,4EAA0EgE,CAApF,CAAN;;AAA6F,aAAKuS,EAAE,CAACwC,OAAR;AAAgB,iBAAM,CAAC,CAAD,EAAGwD,EAAE,CAACpc,CAAD,CAAL,CAAN;;AAAgB;AAAQ,gBAAM,IAAIH,KAAJ,CAAUsD,CAAC,GAAC,iCAAZ,CAAN;AAAtT;AAA4W,KAA/X,CAAR;AAA0Y,GAAlb,CAAR;AAA6b;;AAAA,IAAIqd,EAAE,GAAC;AAACC,EAAAA,8BAA8B,EAAC9U;AAAhC,CAAP;AAAA,IAA0C+U,EAAE,GAAC;AAAC1a,EAAAA,SAAS,EAAC;AAAC2a,IAAAA,oBAAoB,EAAC,sBAAtB;AAA6CC,IAAAA,kBAAkB,EAAC,oBAAhE;AAAqFC,IAAAA,mBAAmB,EAAC;AAAzG;AAAX,CAA7C;;;;;;;;;;;;;AChBhnrD;;;;;;;;;;;;;;;;AAiBA,MAAM,QAAQ,GAA2C,EAAzD;AAEA,MAAM,gBAAgB,GAA2B;AAC/C,EAAA,KAAK,EAAE,KADwC;AAE/C,EAAA,SAAS,EAAE,KAFoC;AAG/C,EAAA,kBAAkB,EAAE,KAH2B;AAI/C,EAAA,qBAAqB,EAAE,KAJwB;AAK/C,EAAA,KAAK,EAAE,KALwC;AAM/C,EAAA,OAAO,EAAE,KANsC;AAO/C,EAAA,4BAA4B,EAAE;AAPiB,CAAjD;;AAUM,SAAU,iBAAV,CAA4B,YAA5B,EAAgD;AACpD,SAAO,QAAQ,CAAC,YAAD,CAAf;AACD;;AAEK,SAAU,eAAV,CACF,YADE,EACoB,EADpB,EAC6C;AACjD,EAAA,QAAQ,CAAC,YAAD,CAAR,GAAyB,EAAzB;AACD;;AAEK,SAAU,eAAV,CAA0B,YAA1B,EAA8C;AAClD,MAAI,EAAE,YAAY,IAAI,QAAlB,CAAJ,EAAiC;AAC/B,UAAM,MAAM,GAAG,wBAAwB,CAAC,YAAD,CAAvC;;AACA,QAAI,MAAM,KAAK,IAAf,EAAqB;AACnB,MAAA,QAAQ,CAAC,YAAD,CAAR,GAAyB,MAAzB;AACD,KAFD,MAEO;AACL,MAAA,OAAO,CAAC,GAAR,CAAY,yCAAZ,EAAuD,YAAvD;AACA,aAAO,IAAP;AACD;AACF;;AACD,QAAM,EAAE,GAAG,QAAQ,CAAC,YAAD,CAAnB;;AACA,MAAI,EAAE,CAAC,aAAH,EAAJ,EAAwB;AACtB,WAAO,QAAQ,CAAC,YAAD,CAAf;AACA,WAAO,eAAe,CAAC,YAAD,CAAtB;AACD;;AAED,EAAA,EAAE,CAAC,OAAH,CAAW,EAAE,CAAC,UAAd;AACA,EAAA,EAAE,CAAC,OAAH,CAAW,EAAE,CAAC,YAAd;AACA,EAAA,EAAE,CAAC,OAAH,CAAW,EAAE,CAAC,KAAd;AACA,EAAA,EAAE,CAAC,OAAH,CAAW,EAAE,CAAC,MAAd;AACA,EAAA,EAAE,CAAC,OAAH,CAAW,EAAE,CAAC,mBAAd;AACA,EAAA,EAAE,CAAC,OAAH,CAAW,EAAE,CAAC,eAAd;AACA,EAAA,EAAE,CAAC,MAAH,CAAU,EAAE,CAAC,YAAb;AACA,EAAA,EAAE,CAAC,MAAH,CAAU,EAAE,CAAC,SAAb;AACA,EAAA,EAAE,CAAC,QAAH,CAAY,EAAE,CAAC,IAAf;AAEA,SAAO,QAAQ,CAAC,YAAD,CAAf;AACD;;AAED,SAAS,YAAT,CAAsB,YAAtB,EAA0C;AACxC,MAAI,OAAO,eAAP,KAA2B,WAA3B,IAA0C,YAAY,KAAK,CAA/D,EAAkE;AAChE,WAAO,IAAI,eAAJ,CAAoB,GAApB,EAAyB,GAAzB,CAAP;AACD,GAFD,MAEO,IAAI,OAAO,QAAP,KAAoB,WAAxB,EAAqC;AAC1C,WAAO,QAAQ,CAAC,aAAT,CAAuB,QAAvB,CAAP;AACD,GAFM,MAEA;AACL,UAAM,IAAI,KAAJ,CAAU,wCAAV,CAAN;AACD;AACF;;AAED,SAAS,wBAAT,CAAkC,YAAlC,EAAsD;AACpD,MAAI,YAAY,KAAK,CAAjB,IAAsB,YAAY,KAAK,CAA3C,EAA8C;AAC5C,UAAM,IAAI,KAAJ,CAAU,wDAAV,CAAN;AACD;;AACD,QAAM,MAAM,GAAG,YAAY,CAAC,YAAD,CAA3B;AAEA,EAAA,MAAM,CAAC,gBAAP,CAAwB,kBAAxB,EAA6C,EAAD,IAAc;AACxD,IAAA,EAAE,CAAC,cAAH;AACA,WAAO,QAAQ,CAAC,YAAD,CAAf;AACD,GAHD,EAGG,KAHH;;AAIA,MAAI,YAAY,KAAK,CAArB,EAAwB;AACtB,WAAQ,MAAM,CAAC,UAAP,CAAkB,OAAlB,EAA2B,gBAA3B,KACA,MAAM,CAAC,UAAP,CAAkB,oBAAlB,EAAwC,gBAAxC,CADR;AAGD;;AACD,SAAO,MAAM,CAAC,UAAP,CAAkB,QAAlB,EAA4B,gBAA5B,CAAP;AACD;;;;;;;;;;;;;;;;;;AC5ED;;AAjBA;;;;;;;;;;;;;;;;AAmBA,IAAY,aAAZ;;;AAAA,CAAA,UAAY,aAAZ,EAAyB;AACvB;;;;;;;;;;;;;;;AAeA,EAAA,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAA;AAEA;;;;;;;;;;;;;;;;;AAgBA,EAAA,aAAA,CAAA,aAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAA;AACD,CAnCD,EAAY,aAAa,6BAAb,aAAa,GAAA,EAAA,CAAzB;;AAqCA,IAAY,YAAZ;;;AAAA,CAAA,UAAY,YAAZ,EAAwB;AACtB,EAAA,YAAA,CAAA,YAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAA;AACD,CALD,EAAY,YAAY,4BAAZ,YAAY,GAAA,EAAA,CAAxB;;AAOA,IAAY,mBAAZ;;;AAAA,CAAA,UAAY,mBAAZ,EAA+B;AAC7B,EAAA,mBAAA,CAAA,mBAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAA;AACA,EAAA,mBAAA,CAAA,mBAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAA;AACA,EAAA,mBAAA,CAAA,mBAAA,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0BAAA;AACA,EAAA,mBAAA,CAAA,mBAAA,CAAA,oBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oBAAA;AACA,EAAA,mBAAA,CAAA,mBAAA,CAAA,oBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oBAAA;AACD,CAND,EAAY,mBAAmB,mCAAnB,mBAAmB,GAAA,EAAA,CAA/B;;AAoCM,SAAU,wCAAV,CACF,IADE,EACY,OADZ,EAC2B;AAC/B,SAAO,CAAC,OAAD,EAAU,IAAV,CAAP;AACD;;AAEK,SAAU,kCAAV,CACF,UADE,EACkB,kBADlB,EAC4C;AAChD,SAAO,UAAU,GAAG,kBAApB;AACD;;AAEK,SAAU,qCAAV,CACF,IADE,EACY,OADZ,EAC2B;AAC/B,SAAO,CAAC,OAAO,GAAG,CAAX,EAAc,IAAd,CAAP;AACD;AAED;;;;;AAGM,SAAU,gBAAV,CAA2B,KAA3B,EAA0C;AAC9C,QAAM,IAAI,GAAG,eAAK,aAAL,CAAmB,KAAnB,CAAb;;AACA,QAAM,YAAY,GAAG,IAAI,CAAC,IAAL,CAAU,IAAI,GAAG,CAAjB,CAArB;AACA,SAAO,eAAK,mBAAL,CAAyB,YAAzB,CAAP;AACD;;AAEK,SAAU,kCAAV,CACF,YADE,EACoB,kBADpB,EAC8C;AAClD,MAAI,YAAY,GAAG,kBAAf,KAAsC,CAA1C,EAA6C;AAC3C,UAAM,IAAI,KAAJ,CACF,iBAAiB,YAAY,0BAA7B,GACA,GAAG,kBAAkB,EAFnB,CAAN;AAGD;;AACD,SAAO,YAAY,GAAG,kBAAtB;AACD;;AAEK,SAAU,sCAAV,CACF,aADE,EAC2B,MAD3B,EACiD,QADjD,EACiE;AACrE,QAAM,YAAY,GAAG,aAAa,CAAC,MAAd,GAAuB,QAAvB,GAAkC,CAAvD;;AACA,MAAI,MAAM,CAAC,MAAP,GAAgB,YAApB,EAAkC;AAChC,UAAM,IAAI,KAAJ,CACF,kBAAkB,MAAM,CAAC,MAAM,gBAAgB,YAAY,EADzD,CAAN;AAED;;AACD,MAAI,GAAG,GAAG,CAAV;;AACA,OAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,GAAG,aAAa,CAAC,MAAtC,EAA8C,GAAG,IAAI,CAArD,EAAwD;AACtD,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAApB,EAA8B,CAAC,EAA/B,EAAmC;AACjC,MAAA,MAAM,CAAC,GAAG,EAAJ,CAAN,GAAgB,aAAa,CAAC,GAAG,GAAG,CAAP,CAA7B;AACD;AACF;AACF;;AAEK,SAAU,sCAAV,CACF,IADE,EACY,OADZ,EAC2B;AAC/B,SAAO,CACL,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,IAAI,CAAC,IAAL,CAAU,OAAO,GAAG,CAApB,CAAZ,CADK,EACgC,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,IAAI,CAAC,IAAL,CAAU,IAAI,GAAG,CAAjB,CAAZ,CADhC,CAAP;AAGD;;AAEK,SAAU,qCAAV,CACF,IADE,EACY,OADZ,EAC2B;AAC/B,QAAM,CAAC,CAAD,EAAI,CAAJ,IAAS,sCAAsC,CAAC,IAAD,EAAO,OAAP,CAArD;AACA,SAAO,CAAC,GAAG,CAAJ,GAAQ,CAAf;AACD;;AAmBK,SAAU,gBAAV,EACF;AACA,EAFE,EAEyB,yBAFzB,EAEwD;AAC5D;AACA,QAAM,KAAK,GAAG,EAAd;AAEA,MAAI,mBAAJ;AACA,MAAI,uBAAJ;AACA,MAAI,6BAAJ;AACA,MAAI,yBAAJ;AACA,MAAI,kBAAJ;AAEA,MAAI,qBAAJ;AACA,MAAI,yBAAJ;AAEA,MAAI,kBAAJ;AACA,MAAI,oBAAJ;AACA,MAAI,gBAAJ;;AAEA,MAAI,qBAAM,SAAN,CAAgB,eAAhB,MAAqC,CAAzC,EAA4C;AAC1C,IAAA,mBAAmB,GAAG,KAAK,CAAC,IAA5B;AACA,IAAA,uBAAuB,GAAG,KAAK,CAAC,IAAhC;AACA,IAAA,6BAA6B,GAAG,KAAK,CAAC,OAAtC;AACA,IAAA,yBAAyB,GAAG,KAAK,CAAC,OAAlC;AACA,IAAA,kBAAkB,GAAG,KAAK,CAAC,GAA3B;AACA,IAAA,yBAAyB,GAAG,CAA5B;AACA,IAAA,kBAAkB,GAAG,CAArB;AACA,IAAA,oBAAoB,GAAG,KAAK,CAAC,UAA7B;AACA,IAAA,gBAAgB,GAAG,KAAK,CAAC,KAAzB;AACD,GAVD,MAUO;AACL,IAAA,mBAAmB,GAAG,EAAE,CAAC,IAAzB;AACA,IAAA,uBAAuB,GAAG,EAAE,CAAC,IAA7B;AACA,IAAA,6BAA6B,GAAG,EAAE,CAAC,IAAnC;AACA,IAAA,yBAAyB,GAAG,KAAK,CAAC,IAAlC;AACA,IAAA,kBAAkB,GAAG,EAAE,CAAC,IAAxB;AACA,IAAA,yBAAyB,GAAG,CAA5B;AACA,IAAA,kBAAkB,GAAG,CAArB;AACA,IAAA,oBAAoB,GAAG,yBAAyB,IAAI,IAA7B,GACnB,yBAAyB,CAAC,cADP,GAEnB,IAFJ;AAGA,IAAA,gBAAgB,GAAG,EAAE,CAAC,KAAtB;AACD;;AACD,EAAA,qBAAqB,GAAG,EAAE,CAAC,IAA3B;AAEA,SAAO;AACL,IAAA,mBADK;AAEL,IAAA,uBAFK;AAGL,IAAA,6BAHK;AAIL,IAAA,yBAJK;AAKL,IAAA,kBALK;AAML,IAAA,qBANK;AAOL,IAAA,yBAPK;AAQL,IAAA,kBARK;AASL,IAAA,oBATK;AAUL,IAAA;AAVK,GAAP;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzND;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,YAAV,CAA0B,EAA1B,EAAqD,IAArD,EAAkE;AACtE,QAAM,WAAW,GAAG,IAAI,EAAxB;;AACA,MAAI,qBAAM,OAAN,CAAc,OAAd,CAAJ,EAA4B;AAC1B,IAAA,eAAe,CAAC,EAAD,CAAf;AACD;;AACD,SAAO,WAAP;AACD;;AAED,SAAS,eAAT,CAAyB,EAAzB,EAAkD;AAChD,QAAM,KAAK,GAAG,EAAE,CAAC,QAAH,EAAd;;AACA,MAAI,KAAK,KAAK,EAAE,CAAC,QAAjB,EAA2B;AACzB,UAAM,IAAI,KAAJ,CAAU,kBAAkB,oBAAoB,CAAC,EAAD,EAAK,KAAL,CAAhD,CAAN;AACD;AACF,EAED;;;AACA,MAAM,WAAW,GAAG,OAApB;AACA,MAAM,WAAW,GAAG,KAApB;;AAEM,SAAU,gBAAV,CAA2B,GAA3B,EAAsC;AAC1C,MAAI,qBAAM,OAAN,CAAc,8BAAd,KAAiD,GAAG,KAAK,CAAzD,IACC,WAAW,GAAG,IAAI,CAAC,GAAL,CAAS,GAAT,CAAd,IAA+B,IAAI,CAAC,GAAL,CAAS,GAAT,IAAgB,WADpD,EACkE;AAChE,WAAO,IAAP;AACD;;AACD,SAAO,KAAP;AACD;;AAEK,SAAU,oBAAV,CACF,EADE,EACyB,MADzB,EACuC;AAC3C,UAAQ,MAAR;AACE,SAAK,EAAE,CAAC,QAAR;AACE,aAAO,UAAP;;AACF,SAAK,EAAE,CAAC,YAAR;AACE,aAAO,cAAP;;AACF,SAAK,EAAE,CAAC,aAAR;AACE,aAAO,eAAP;;AACF,SAAK,EAAE,CAAC,iBAAR;AACE,aAAO,mBAAP;;AACF,SAAK,EAAE,CAAC,6BAAR;AACE,aAAO,+BAAP;;AACF,SAAK,EAAE,CAAC,aAAR;AACE,aAAO,eAAP;;AACF,SAAK,EAAE,CAAC,kBAAR;AACE,aAAO,oBAAP;;AACF;AACE,aAAO,sBAAsB,MAAM,EAAnC;AAhBJ;AAkBD;;AAEK,SAAU,mBAAV,CACF,EADE,EACyB,aADzB,EAC8C;AAClD,SAAO,WAAW,CACd,EADc,EACV,MAAM,EAAE,CAAC,YAAH,CAAgB,aAAhB,CADI,EAEd,gBAAgB,aAAhB,GAAgC,kCAFlB,CAAlB;AAGD;;AAEK,SAAU,kBAAV,CACF,EADE,EACyB,kBADzB,EACmD;AACvD,QAAM,YAAY,GAAgB,WAAW,CACzC,EADyC,EACrC,MAAM,EAAE,CAAC,YAAH,CAAgB,EAAE,CAAC,aAAnB,CAD+B,EAEzC,sCAFyC,CAA7C;AAGA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,YAAH,CAAgB,YAAhB,EAA8B,kBAA9B,CAAX,CAAZ;AACA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,aAAH,CAAiB,YAAjB,CAAX,CAAZ;;AACA,MAAI,EAAE,CAAC,kBAAH,CAAsB,YAAtB,EAAoC,EAAE,CAAC,cAAvC,MAA2D,KAA/D,EAAsE;AACpE,IAAA,OAAO,CAAC,GAAR,CAAY,EAAE,CAAC,gBAAH,CAAoB,YAApB,CAAZ;AACA,UAAM,IAAI,KAAJ,CAAU,kCAAV,CAAN;AACD;;AACD,SAAO,YAAP;AACD;;AAEK,SAAU,oBAAV,CACF,EADE,EACyB,oBADzB,EACqD;AACzD,QAAM,cAAc,GAAgB,WAAW,CAC3C,EAD2C,EACvC,MAAM,EAAE,CAAC,YAAH,CAAgB,EAAE,CAAC,eAAnB,CADiC,EAE3C,wCAF2C,CAA/C;AAGA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,YAAH,CAAgB,cAAhB,EAAgC,oBAAhC,CAAX,CAAZ;AACA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,aAAH,CAAiB,cAAjB,CAAX,CAAZ;;AACA,MAAI,EAAE,CAAC,kBAAH,CAAsB,cAAtB,EAAsC,EAAE,CAAC,cAAzC,MAA6D,KAAjE,EAAwE;AACtE,IAAA,yBAAyB,CACrB,oBADqB,EACC,EAAE,CAAC,gBAAH,CAAoB,cAApB,CADD,CAAzB;AAEA,UAAM,IAAI,KAAJ,CAAU,oCAAV,CAAN;AACD;;AACD,SAAO,cAAP;AACD;;AAED,MAAM,eAAe,GAAG,0BAAxB;;AACA,SAAS,yBAAT,CACI,YADJ,EAC0B,aAD1B,EAC+C;AAC7C,QAAM,qBAAqB,GAAG,eAAe,CAAC,IAAhB,CAAqB,aAArB,CAA9B;;AACA,MAAI,qBAAqB,IAAI,IAA7B,EAAmC;AACjC,IAAA,OAAO,CAAC,GAAR,CAAY,wCAAwC,aAAa,EAAjE;AACA,IAAA,OAAO,CAAC,GAAR,CAAY,YAAZ;AACA;AACD;;AAED,QAAM,UAAU,GAAG,CAAC,qBAAqB,CAAC,CAAD,CAAzC;AAEA,QAAM,WAAW,GAAG,YAAY,CAAC,KAAb,CAAmB,IAAnB,CAApB;AACA,QAAM,GAAG,GAAG,WAAW,CAAC,MAAZ,CAAmB,QAAnB,GAA8B,MAA9B,GAAuC,CAAnD;AACA,QAAM,oBAAoB,GAAG,WAAW,CAAC,GAAZ,CACzB,CAAC,IAAD,EAAO,UAAP,KACI,eAAK,QAAL,CAAc,CAAC,UAAU,GAAG,CAAd,EAAiB,QAAjB,EAAd,EAA2C,GAA3C,IAAkD,IAF7B,CAA7B;AAGA,MAAI,aAAa,GAAG,CAApB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,oBAAoB,CAAC,MAAzC,EAAiD,CAAC,EAAlD,EAAsD;AACpD,IAAA,aAAa,GAAG,IAAI,CAAC,GAAL,CAAS,oBAAoB,CAAC,CAAD,CAApB,CAAwB,MAAjC,EAAyC,aAAzC,CAAhB;AACD;;AAED,QAAM,gBAAgB,GAAG,oBAAoB,CAAC,KAArB,CAA2B,CAA3B,EAA8B,UAAU,GAAG,CAA3C,CAAzB;AACA,QAAM,SAAS,GAAG,oBAAoB,CAAC,KAArB,CAA2B,UAAU,GAAG,CAAxC,EAA2C,UAA3C,CAAlB;AACA,QAAM,eAAe,GAAG,oBAAoB,CAAC,KAArB,CAA2B,UAA3B,CAAxB;AAEA,EAAA,OAAO,CAAC,GAAR,CAAY,gBAAgB,CAAC,IAAjB,CAAsB,IAAtB,CAAZ;AACA,EAAA,OAAO,CAAC,GAAR,CAAY,aAAa,CAAC,KAAd,CAAoB,IAApB,EAA0B,CAA1B,CAAZ;AACA,EAAA,OAAO,CAAC,GAAR,CACI,MAAM,eAAK,QAAL,CAAc,SAAS,CAAC,CAAD,CAAvB,EAA4B,aAA5B,CAA0C,EADpD,EAEI,+DAFJ;AAGA,EAAA,OAAO,CAAC,GAAR,CAAY,eAAe,CAAC,IAAhB,CAAqB,IAArB,CAAZ;AACD;;AAEK,SAAU,aAAV,CAAwB,EAAxB,EAAiD;AACrD,SAAO,WAAW,CACd,EADc,EACV,MAAM,EAAE,CAAC,aAAH,EADI,EACgB,gCADhB,CAAlB;AAED;;AAEK,SAAU,WAAV,CAAsB,EAAtB,EAAiD,OAAjD,EAAsE;AAC1E,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,WAAH,CAAe,OAAf,CAAX,CAAZ;;AACA,MAAI,EAAE,CAAC,mBAAH,CAAuB,OAAvB,EAAgC,EAAE,CAAC,WAAnC,MAAoD,KAAxD,EAA+D;AAC7D,IAAA,OAAO,CAAC,GAAR,CAAY,EAAE,CAAC,iBAAH,CAAqB,OAArB,CAAZ;AACA,UAAM,IAAI,KAAJ,CAAU,6CAAV,CAAN;AACD;AACF;;AAEK,SAAU,eAAV,CACF,EADE,EACyB,OADzB,EAC8C;AAClD,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,eAAH,CAAmB,OAAnB,CAAX,CAAZ;;AACA,MAAI,EAAE,CAAC,mBAAH,CAAuB,OAAvB,EAAgC,EAAE,CAAC,eAAnC,MAAwD,KAA5D,EAAmE;AACjE,IAAA,OAAO,CAAC,GAAR,CAAY,EAAE,CAAC,iBAAH,CAAqB,OAArB,CAAZ;AACA,UAAM,IAAI,KAAJ,CAAU,mCAAV,CAAN;AACD;AACF;;AAEK,SAAU,wBAAV,CACF,EADE,EACyB,IADzB,EAC2C;AAC/C,QAAM,MAAM,GAAgB,WAAW,CACnC,EADmC,EAC/B,MAAM,EAAE,CAAC,YAAH,EADyB,EACN,8BADM,CAAvC;AAEA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,UAAH,CAAc,EAAE,CAAC,YAAjB,EAA+B,MAA/B,CAAX,CAAZ;AACA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,UAAH,CAAc,EAAE,CAAC,YAAjB,EAA+B,IAA/B,EAAqC,EAAE,CAAC,WAAxC,CAAX,CAAZ;AACA,SAAO,MAAP;AACD;;AAEK,SAAU,uBAAV,CACF,EADE,EACyB,IADzB,EAC0C;AAC9C,QAAM,MAAM,GAAgB,WAAW,CACnC,EADmC,EAC/B,MAAM,EAAE,CAAC,YAAH,EADyB,EACN,8BADM,CAAvC;AAEA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,UAAH,CAAc,EAAE,CAAC,oBAAjB,EAAuC,MAAvC,CAAX,CAAZ;AACA,EAAA,YAAY,CACR,EADQ,EACJ,MAAM,EAAE,CAAC,UAAH,CAAc,EAAE,CAAC,oBAAjB,EAAuC,IAAvC,EAA6C,EAAE,CAAC,WAAhD,CADF,CAAZ;AAEA,SAAO,MAAP;AACD;;AAEK,SAAU,cAAV,GAAwB;AAC5B,MAAI,qBAAM,SAAN,CAAgB,eAAhB,MAAqC,CAAzC,EAA4C;AAC1C,WAAO,CAAP;AACD;;AACD,SAAO,CAAP;AACD;;AAEK,SAAU,aAAV,CAAwB,EAAxB,EAAiD;AACrD,SAAO,WAAW,CACd,EADc,EACV,MAAM,EAAE,CAAC,aAAH,EADI,EACgB,gCADhB,CAAlB;AAED;;AAEK,SAAU,mBAAV,CAA8B,KAA9B,EAA6C,MAA7C,EAA2D;AAC/D,QAAM,cAAc,GAAG,qBAAM,SAAN,CAAgB,wBAAhB,CAAvB;;AACA,MAAK,KAAK,IAAI,CAAV,IAAiB,MAAM,IAAI,CAA/B,EAAmC;AACjC,UAAM,SAAS,GAAG,IAAI,KAAK,IAAI,MAAM,GAArC;AACA,UAAM,IAAI,KAAJ,CAAU,4BAA4B,SAA5B,GAAwC,cAAlD,CAAN;AACD;;AACD,MAAK,KAAK,GAAG,cAAT,IAA6B,MAAM,GAAG,cAA1C,EAA2D;AACzD,UAAM,SAAS,GAAG,IAAI,KAAK,IAAI,MAAM,GAArC;AACA,UAAM,GAAG,GAAG,IAAI,cAAc,IAAI,cAAc,GAAhD;AACA,UAAM,IAAI,KAAJ,CACF,4BAA4B,SAA5B,GACA,oDADA,GACuD,GADvD,GAC6D,GAF3D,CAAN;AAGD;AACF;;AAEK,SAAU,iBAAV,CAA4B,EAA5B,EAAqD;AACzD,SAAO,WAAW,CACd,EADc,EACV,MAAM,EAAE,CAAC,iBAAH,EADI,EACoB,oCADpB,CAAlB;AAED;;AAEK,SAAU,kCAAV,CACF,EADE,EACyB,OADzB,EACgD,SADhD,EAEF,MAFE,EAEmB,mBAFnB,EAEgD,iBAFhD,EAGF,iBAHE,EAGuB;AAC3B,QAAM,GAAG,GAAG,EAAE,CAAC,iBAAH,CAAqB,OAArB,EAA8B,SAA9B,CAAZ;;AACA,MAAI,GAAG,KAAK,CAAC,CAAb,EAAgB;AACd;AACA;AACA,WAAO,KAAP;AACD;;AACD,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,UAAH,CAAc,EAAE,CAAC,YAAjB,EAA+B,MAA/B,CAAX,CAAZ;AACA,EAAA,YAAY,CACR,EADQ,EAER,MAAM,EAAE,CAAC,mBAAH,CACF,GADE,EACG,mBADH,EACwB,EAAE,CAAC,KAD3B,EACkC,KADlC,EACyC,iBADzC,EAEF,iBAFE,CAFE,CAAZ;AAKA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,uBAAH,CAA2B,GAA3B,CAAX,CAAZ;AACA,SAAO,IAAP;AACD;;AAEK,SAAU,eAAV,CACF,EADE,EACyB,OADzB,EACgD,WADhD,EACmE;AACvE,EAAA,mBAAmB,CAAC,EAAD,EAAK,WAAL,CAAnB;AACA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,aAAH,CAAiB,EAAE,CAAC,QAAH,GAAc,WAA/B,CAAX,CAAZ;AACA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,WAAH,CAAe,EAAE,CAAC,UAAlB,EAA8B,OAA9B,CAAX,CAAZ;AACD;;AAEK,SAAU,iBAAV,CACF,EADE,EACyB,WADzB,EAC4C;AAChD,EAAA,mBAAmB,CAAC,EAAD,EAAK,WAAL,CAAnB;AACA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,aAAH,CAAiB,EAAE,CAAC,QAAH,GAAc,WAA/B,CAAX,CAAZ;AACA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,WAAH,CAAe,EAAE,CAAC,UAAlB,EAA8B,IAA9B,CAAX,CAAZ;AACD;;AAEK,SAAU,gCAAV,CACF,EADE,EACyB,OADzB,EAEF,WAFE,EAEiB;AACrB,SAAO,WAAW,CACd,EADc,EACV,MAAM,EAAE,CAAC,kBAAH,CAAsB,OAAtB,EAA+B,WAA/B,CADI,EAEd,cAAc,WAAd,GAA4B,2BAFd,CAAlB;AAGD;;AAEK,SAAU,yBAAV,CACF,EADE,EACyB,OADzB,EAEF,WAFE,EAEiB;AACrB,SAAO,EAAE,CAAC,kBAAH,CAAsB,OAAtB,EAA+B,WAA/B,CAAP;AACD;;AAEK,SAAU,kCAAV,CACF,EADE,EACyB,OADzB,EAEF,sBAFE,EAE4C,WAF5C,EAE+D;AACnE,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,eAAe,CAAC,EAAD,EAAK,OAAL,EAAc,WAAd,CAA1B,CAAZ;AACA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,SAAH,CAAa,sBAAb,EAAqC,WAArC,CAAX,CAAZ;AACD;;AAEK,SAAU,uBAAV,CAAkC,EAAlC,EAA2D;AAC/D,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,eAAH,CAAmB,EAAE,CAAC,WAAtB,EAAmC,IAAnC,CAAX,CAAZ;AACA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,QAAH,CAAY,CAAZ,EAAe,CAAf,EAAkB,EAAE,CAAC,MAAH,CAAU,KAA5B,EAAmC,EAAE,CAAC,MAAH,CAAU,MAA7C,CAAX,CAAZ;AACA,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,OAAH,CAAW,CAAX,EAAc,CAAd,EAAiB,EAAE,CAAC,MAAH,CAAU,KAA3B,EAAkC,EAAE,CAAC,MAAH,CAAU,MAA5C,CAAX,CAAZ;AACD;;AAEK,SAAU,6BAAV,CACF,EADE,EACyB,OADzB,EAEF,WAFE,EAE2B;AAC/B,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,eAAH,CAAmB,EAAE,CAAC,WAAtB,EAAmC,WAAnC,CAAX,CAAZ;AACA,EAAA,YAAY,CACR,EADQ,EAER,MAAM,EAAE,CAAC,oBAAH,CACF,EAAE,CAAC,WADD,EACc,EAAE,CAAC,iBADjB,EACoC,EAAE,CAAC,UADvC,EACmD,OADnD,EAC4D,CAD5D,CAFE,CAAZ;AAID;;AAEK,SAAU,iCAAV,CACF,EADE,EACyB,WADzB,EACsD;AAC1D,EAAA,YAAY,CAAC,EAAD,EAAK,MAAM,EAAE,CAAC,eAAH,CAAmB,EAAE,CAAC,WAAtB,EAAmC,WAAnC,CAAX,CAAZ;AACA,EAAA,YAAY,CACR,EADQ,EAER,MAAM,EAAE,CAAC,oBAAH,CACF,EAAE,CAAC,WADD,EACc,EAAE,CAAC,iBADjB,EACoC,EAAE,CAAC,UADvC,EACmD,IADnD,EACyD,CADzD,CAFE,CAAZ;AAID;;AAEK,SAAU,mBAAV,CAA8B,EAA9B,EAAuD;AAC3D,QAAM,MAAM,GAAG,EAAE,CAAC,sBAAH,CAA0B,EAAE,CAAC,WAA7B,CAAf;;AACA,MAAI,MAAM,KAAK,EAAE,CAAC,oBAAlB,EAAwC;AACtC,UAAM,IAAI,KAAJ,CACF,gCAAgC,0BAA0B,CAAC,EAAD,EAAK,MAAL,CADxD,CAAN;AAED;AACF;;AAEK,SAAU,0BAAV,CACF,EADE,EACyB,MADzB,EACuC;AAC3C,UAAQ,MAAR;AACE,SAAK,EAAE,CAAC,iCAAR;AACE,aAAO,mCAAP;;AACF,SAAK,EAAE,CAAC,yCAAR;AACE,aAAO,2CAAP;;AACF,SAAK,EAAE,CAAC,iCAAR;AACE,aAAO,mCAAP;;AACF,SAAK,EAAE,CAAC,uBAAR;AACE,aAAO,yBAAP;;AACF;AACE,aAAO,iBAAiB,MAAM,EAA9B;AAVJ;AAYD;;AAED,SAAS,WAAT,CACI,EADJ,EAC+B,aAD/B,EAEI,cAFJ,EAE0B;AACxB,QAAM,OAAO,GAAW,YAAY,CAAC,EAAD,EAAK,MAAM,aAAa,EAAxB,CAApC;;AACA,MAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,UAAM,IAAI,KAAJ,CAAU,cAAV,CAAN;AACD;;AACD,SAAO,OAAP;AACD;;AAED,SAAS,mBAAT,CAA6B,EAA7B,EAAwD,WAAxD,EAA2E;AACzE,QAAM,cAAc,GAAG,EAAE,CAAC,gCAAH,GAAsC,CAA7D;AACA,QAAM,aAAa,GAAG,WAAW,GAAG,EAAE,CAAC,QAAvC;;AACA,MAAI,aAAa,GAAG,EAAE,CAAC,QAAnB,IAA+B,aAAa,GAAG,cAAnD,EAAmE;AACjE,UAAM,gBAAgB,GAAG,2BAA2B,cAAc,GAAlE;AACA,UAAM,IAAI,KAAJ,CAAU,0BAA0B,gBAAgB,GAApD,CAAN;AACD;AACF;;AAEK,SAAU,WAAV,CAAsB,KAAtB,EAAuC,UAAU,GAAG,CAApD,EAAqD;AACzD,SAAO,eAAK,aAAL,CAAmB,KAAK,CAAC,KAAN,CAAY,CAAZ,EAAe,KAAK,CAAC,MAAN,GAAe,UAA9B,CAAnB,CAAP;AACD;;AAEK,SAAU,WAAV,CAAsB,KAAtB,EAAqC;AACzC,MAAI,KAAK,CAAC,MAAN,KAAiB,CAArB,EAAwB;AACtB,UAAM,KAAK,CAAC,sDAAD,CAAX;AACD;;AAED,SAAO,CACL,KAAK,CAAC,MAAN,GAAe,CAAf,GAAmB,KAAK,CAAC,KAAK,CAAC,MAAN,GAAe,CAAhB,CAAxB,GAA6C,CADxC,EAC2C,KAAK,CAAC,KAAK,CAAC,MAAN,GAAe,CAAhB,CADhD,CAAP;AAGD;;AAEK,SAAU,YAAV,CAAuB,KAAvB,EAAsC;AAC1C,MAAI,SAAS,GAA6B,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAA1C;AACA,QAAM,QAAQ,GAAG,KAAK,CAAC,MAAN,KAAiB,CAAjB,IAAuB,KAAK,CAAC,MAAN,KAAiB,CAAjB,IAAsB,KAAK,CAAC,CAAD,CAAL,KAAa,CAA3E;;AACA,MAAI,CAAC,QAAL,EAAe;AACb,IAAA,SAAS,GACL,CAAC,WAAW,CAAC,KAAD,CAAZ,EAAqB,GAAG,WAAW,CAAC,KAAD,CAAnC,CADJ;AAED;;AACD,SAAO,SAAP;AACD;;AAEK,SAAU,+BAAV,CACF,QADE,EACkB,QAAQ,GAAG,KAD7B,EACkC;AACtC,MAAI,UAAU,GAAG,qBAAM,SAAN,CAAgB,wBAAhB,CAAjB;;AACA,MAAI,QAAJ,EAAc;AACZ,IAAA,UAAU,GAAG,UAAU,GAAG,CAA1B,CADY,CAGZ;AACA;AACA;AACA;AACA;;AACA,IAAA,QAAQ,GAAG,QAAQ,CAAC,GAAT,CACP,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,IAAI,QAAQ,CAAC,MAAT,GAAkB,CAAvB,GACN,eAAK,iBAAL,CAAuB,QAAQ,CAAC,CAAD,CAA/B,CADM,GAEN,QAAQ,CAAC,CAAD,CAHL,CAAX,CARY,CAaZ;AACA;;AACA,QAAI,QAAQ,CAAC,MAAT,KAAoB,CAAxB,EAA2B;AACzB,MAAA,QAAQ,GAAG,CAAC,CAAD,EAAI,QAAQ,CAAC,CAAD,CAAZ,CAAX;AACD;AACF,GApBqC,CAsBtC;;;AACA,MAAI,QAAQ,CAAC,MAAT,KAAoB,CAAxB,EAA2B;AACzB,UAAM,aAAa,GAAG,eAAK,YAAL,CAAkB,QAAlB,CAAtB;;AACA,IAAA,QAAQ,GAAG,aAAa,CAAC,QAAzB;AACD;;AAED,MAAI,IAAI,GAAG,eAAK,aAAL,CAAmB,QAAnB,CAAX;;AACA,MAAI,QAAQ,CAAC,MAAT,IAAmB,CAAnB,IAAwB,IAAI,IAAI,UAApC,EAAgD;AAC9C,WAAO,CAAC,CAAD,EAAI,IAAJ,CAAP;AACD,GAFD,MAEO,IACH,QAAQ,CAAC,MAAT,KAAoB,CAApB,IAAyB,QAAQ,CAAC,CAAD,CAAR,IAAe,UAAxC,IACA,QAAQ,CAAC,CAAD,CAAR,IAAe,UAFZ,EAEwB;AAC7B,WAAO,QAAP;AACD,GAJM,MAIA,IACH,QAAQ,CAAC,MAAT,KAAoB,CAApB,IAAyB,QAAQ,CAAC,CAAD,CAAR,GAAc,QAAQ,CAAC,CAAD,CAAtB,IAA6B,UAAtD,IACA,QAAQ,CAAC,CAAD,CAAR,IAAe,UAFZ,EAEwB;AAC7B,WAAO,CAAC,QAAQ,CAAC,CAAD,CAAR,GAAc,QAAQ,CAAC,CAAD,CAAvB,EAA4B,QAAQ,CAAC,CAAD,CAApC,CAAP;AACD,GAJM,MAIA,IACH,QAAQ,CAAC,MAAT,KAAoB,CAApB,IAAyB,QAAQ,CAAC,CAAD,CAAR,IAAe,UAAxC,IACA,QAAQ,CAAC,CAAD,CAAR,GAAc,QAAQ,CAAC,CAAD,CAAtB,IAA6B,UAF1B,EAEsC;AAC3C,WAAO,CAAC,QAAQ,CAAC,CAAD,CAAT,EAAc,QAAQ,CAAC,CAAD,CAAR,GAAc,QAAQ,CAAC,CAAD,CAApC,CAAP;AACD,GAJM,MAIA,IACH,QAAQ,CAAC,MAAT,KAAoB,CAApB,IACA,QAAQ,CAAC,CAAD,CAAR,GAAc,QAAQ,CAAC,CAAD,CAAtB,GAA4B,QAAQ,CAAC,CAAD,CAApC,IAA2C,UAD3C,IAEA,QAAQ,CAAC,CAAD,CAAR,IAAe,UAHZ,EAGwB;AAC7B,WAAO,CAAC,QAAQ,CAAC,CAAD,CAAR,GAAc,QAAQ,CAAC,CAAD,CAAtB,GAA4B,QAAQ,CAAC,CAAD,CAArC,EAA0C,QAAQ,CAAC,CAAD,CAAlD,CAAP;AACD,GALM,MAKA,IACH,QAAQ,CAAC,MAAT,KAAoB,CAApB,IAAyB,QAAQ,CAAC,CAAD,CAAR,IAAe,UAAxC,IACA,QAAQ,CAAC,CAAD,CAAR,GAAc,QAAQ,CAAC,CAAD,CAAtB,GAA4B,QAAQ,CAAC,CAAD,CAApC,IAA2C,UAFxC,EAEoD;AACzD,WAAO,CAAC,QAAQ,CAAC,CAAD,CAAT,EAAc,QAAQ,CAAC,CAAD,CAAR,GAAc,QAAQ,CAAC,CAAD,CAAtB,GAA4B,QAAQ,CAAC,CAAD,CAAlD,CAAP;AACD,GAJM,MAIA;AACL,QAAI,QAAJ,EAAc;AACZ;AACA;AACA;AACA;AACA;AAEA,YAAM,QAAQ,GAAG,WAAW,CAAC,QAAD,CAA5B;AACA,UAAI,IAAI,GAAG,CAAX;AAAA,UAAc,IAAI,GAAG,CAArB;;AACA,UAAI,QAAQ,CAAC,MAAb,EAAqB;AACnB,SAAC,IAAD,EAAO,IAAP,IAAe,WAAW,CAAC,QAAD,CAA1B;AACD;;AACD,MAAA,IAAI,GAAG,QAAQ,IAAI,IAAI,GAAG,CAAX,CAAR,IAAyB,IAAI,GAAG,CAAhC,CAAP;AACA,aAAO,eAAK,mBAAL,CAAyB,IAAzB,EAA+B,GAA/B,CAAmC,CAAC,IAAI,CAAC,GAAG,CAA5C,CAAP;AACD;;AACD,WAAO,eAAK,mBAAL,CAAyB,IAAzB,CAAP;AACD;AACF;;AAED,SAAS,MAAT,CAAgB,CAAhB,EAAyB;AACvB,SAAO,CAAC,GAAG,CAAJ,KAAU,CAAjB;AACD;AAED;;;;;;AAIM,SAAU,aAAV,CAAwB,MAAxB,EAA0C,MAA1C,EAA0D;AAC9D,EAAA,MAAM,GAAG,MAAM,CAAC,KAAP,CAAa,CAAC,CAAd,CAAT;AACA,EAAA,MAAM,GAAG,MAAM,CAAC,KAAP,CAAa,CAAC,CAAd,CAAT;;AAEA,MAAI,eAAK,WAAL,CAAiB,MAAjB,EAAyB,MAAzB,CAAJ,EAAsC;AACpC,WAAO,IAAP;AACD;;AAED,MAAI,CAAC,MAAM,CAAC,MAAR,IAAkB,CAAC,MAAM,CAAC,MAA9B,EAAsC;AAAG;AACvC,WAAO,IAAP;AACD;;AAED,MAAI,MAAM,CAAC,CAAD,CAAN,KAAc,CAAd,IAAmB,MAAM,CAAC,CAAD,CAAN,KAAc,CAAjC,IAAsC,MAAM,CAAC,CAAD,CAAN,KAAc,CAApD,IACA,MAAM,CAAC,CAAD,CAAN,KAAc,CADlB,EACqB;AACnB,WAAO,IAAP;AACD;;AAED,MAAI,MAAM,CAAC,MAAP,KAAkB,MAAM,CAAC,MAA7B,EAAqC;AAAG;AACtC,UAAM,UAAU,GAAG,MAAM,CAAC,KAAP,CAAa,CAAC,CAAd,EAAiB,CAAjB,CAAnB;AACA,UAAM,UAAU,GAAG,MAAM,CAAC,KAAP,CAAa,CAAC,CAAd,EAAiB,CAAjB,CAAnB;;AACA,QAAI,UAAU,KAAK,UAAnB,EAA+B;AAC7B,aAAO,IAAP;AACD;;AAED,QAAI,MAAM,CAAC,UAAD,CAAN,IAAsB,MAAM,CAAC,UAAD,CAA5B,KACC,MAAM,CAAC,CAAD,CAAN,KAAc,CAAd,IAAmB,MAAM,CAAC,CAAD,CAAN,KAAc,CADlC,CAAJ,EAC0C;AACxC,aAAO,IAAP;AACD;AACF;;AACD,SAAO,MAAM,CAAC,CAAD,CAAN,KAAc,MAAM,CAAC,CAAD,CAApB,IAA2B,MAAM,CAAC,MAAM,CAAC,CAAD,CAAP,CAAjC,IAAgD,MAAM,CAAC,MAAM,CAAC,CAAD,CAAP,CAA7D;AACD,EAED;AACA;AACA;;;AACA,IAAI,gBAAJ;AACA,IAAI,sBAAJ;;AAEM,SAAU,sBAAV,CAAiC,YAAjC,EAAqD;AACzD,MAAI,gBAAgB,IAAI,IAAxB,EAA8B;AAC5B,UAAM,EAAE,GAAG,kCAAgB,YAAhB,CAAX;AACA,IAAA,gBAAgB,GAAG,EAAE,CAAC,YAAH,CAAgB,EAAE,CAAC,gBAAnB,CAAnB;AACD;;AACD,SAAO,gBAAP;AACD;;AAEK,SAAU,mBAAV,GAA6B;AACjC,EAAA,gBAAgB,GAAG,IAAnB;AACD;;AACK,SAAU,wBAAV,GAAkC;AACtC,EAAA,sBAAsB,GAAG,IAAzB;AACD;;AAEK,SAAU,sBAAV,CAAiC,YAAjC,EAAqD;AACzD,MAAI,sBAAsB,IAAI,IAA9B,EAAoC;AAClC,UAAM,EAAE,GAAG,kCAAgB,YAAhB,CAAX;AACA,IAAA,sBAAsB,GAAG,EAAE,CAAC,YAAH,CAAgB,EAAE,CAAC,uBAAnB,CAAzB;AACD,GAJwD,CAKzD;;;AACA,SAAO,IAAI,CAAC,GAAL,CAAS,EAAT,EAAa,sBAAb,CAAP;AACD;;AAEK,SAAU,iCAAV,CAA4C,YAA5C,EAAgE;AAEpE,MAAI,YAAY,KAAK,CAArB,EAAwB;AACtB,WAAO,CAAP;AACD;;AAED,MAAI,iBAAJ;AACA,QAAM,EAAE,GAAG,kCAAgB,YAAhB,CAAX;;AAEA,MAAI,YAAY,CAAC,EAAD,EAAK,iCAAL,CAAZ,IACA,YAAY,KAAK,CADrB,EACwB;AACtB,IAAA,iBAAiB,GAAG,CAApB;AACD,GAHD,MAGO,IAAI,YAAY,CAAC,EAAD,EAAK,0BAAL,CAAhB,EAAkD;AACvD,IAAA,iBAAiB,GAAG,CAApB;AACD,GAFM,MAEA;AACL,IAAA,iBAAiB,GAAG,CAApB;AACD;;AACD,SAAO,iBAAP;AACD;;AAEK,SAAU,YAAV,CAAuB,EAAvB,EAAkD,aAAlD,EAAuE;AAC3E,QAAM,GAAG,GAAG,EAAE,CAAC,YAAH,CAAgB,aAAhB,CAAZ;AACA,SAAO,GAAG,IAAI,IAAd;AACD;;AAEK,SAAU,qBAAV,CAAgC,YAAhC,EAAiD;AACrD,MAAI;AACF,UAAM,EAAE,GAAG,kCAAgB,YAAhB,CAAX;;AACA,QAAI,EAAE,IAAI,IAAV,EAAgB;AACd,aAAO,IAAP;AACD;AACF,GALD,CAKE,OAAO,CAAP,EAAU;AACV,IAAA,OAAO,CAAC,GAAR,CAAY,oCAAZ,EAAkD,CAAlD;AACA,WAAO,KAAP;AACD;;AACD,SAAO,KAAP;AACD;;AAEK,SAAU,kCAAV,CAA6C,YAA7C,EAAiE;AAErE,MAAI,YAAY,KAAK,CAArB,EAAwB;AACtB,WAAO,KAAP;AACD;;AAED,QAAM,EAAE,GAAG,kCAAgB,YAAhB,CAAX;;AAEA,MAAI,YAAY,KAAK,CAArB,EAAwB;AACtB,QAAI,CAAC,YAAY,CAAC,EAAD,EAAK,mBAAL,CAAjB,EAA4C;AAC1C,aAAO,KAAP;AACD;AACF,GAJD,MAIO;AACL,QAAI,CAAC,YAAY,CAAC,EAAD,EAAK,wBAAL,CAAjB,EAAiD;AAC/C,aAAO,KAAP;AACD;AACF;;AAED,QAAM,qBAAqB,GAAG,sCAAsC,CAAC,EAAD,CAApE;AACA,SAAO,qBAAP;AACD;AAED;;;;;;;;;;;AASM,SAAU,6BAAV,CAAwC,YAAxC,EAA4D;AAChE,MAAI,YAAY,KAAK,CAArB,EAAwB;AACtB,WAAO,KAAP;AACD;;AAED,QAAM,EAAE,GAAG,kCAAgB,YAAhB,CAAX;;AAEA,MAAI,YAAY,KAAK,CAArB,EAAwB;AACtB,QAAI,CAAC,YAAY,CAAC,EAAD,EAAK,mBAAL,CAAjB,EAA4C;AAC1C,aAAO,KAAP;AACD;;AACD,QAAI,CAAC,YAAY,CAAC,EAAD,EAAK,0BAAL,CAAjB,EAAmD;AACjD,aAAO,KAAP;AACD;AACF,GAPD,MAOO;AACL,QAAI,YAAY,CAAC,EAAD,EAAK,wBAAL,CAAhB,EAAgD;AAC9C,aAAO,sCAAsC,CAAC,EAAD,CAA7C;AACD;;AAED,UAAM,uBAAuB,GAAG,6BAAhC;;AACA,QAAI,YAAY,CAAC,EAAD,EAAK,uBAAL,CAAhB,EAA+C;AAC7C,YAAM,yBAAyB,GAC3B,EAAE,CAAC,YAAH,CAAgB,uBAAhB,CADJ;AAEA,aAAO,0CAA0C,CAC7C,EAD6C,EACzC,yBADyC,CAAjD;AAED;;AAED,WAAO,KAAP;AACD;;AAED,QAAM,qBAAqB,GAAG,sCAAsC,CAAC,EAAD,CAApE;AACA,SAAO,qBAAP;AACD;;AAED,SAAS,sCAAT,CAAgD,EAAhD,EAAyE;AAEvE,QAAM,SAAS,GAAG,gCAAiB,EAAjB,CAAlB;AAEA,QAAM,OAAO,GAAG,EAAE,CAAC,aAAH,EAAhB;AACA,EAAA,EAAE,CAAC,WAAH,CAAe,EAAE,CAAC,UAAlB,EAA8B,OAA9B;AAEA,QAAM,KAAK,GAAG,CAAd;AACA,QAAM,MAAM,GAAG,CAAf;AACA,EAAA,EAAE,CAAC,UAAH,CACI,EAAE,CAAC,UADP,EACmB,CADnB,EACsB,SAAS,CAAC,mBADhC,EACqD,KADrD,EAC4D,MAD5D,EACoE,CADpE,EAEI,SAAS,CAAC,kBAFd,EAEkC,SAAS,CAAC,gBAF5C,EAE8D,IAF9D;AAIA,QAAM,WAAW,GAAG,EAAE,CAAC,iBAAH,EAApB;AACA,EAAA,EAAE,CAAC,eAAH,CAAmB,EAAE,CAAC,WAAtB,EAAmC,WAAnC;AACA,EAAA,EAAE,CAAC,oBAAH,CACI,EAAE,CAAC,WADP,EACoB,EAAE,CAAC,iBADvB,EAC0C,EAAE,CAAC,UAD7C,EACyD,OADzD,EACkE,CADlE;AAGA,QAAM,qBAAqB,GACvB,EAAE,CAAC,sBAAH,CAA0B,EAAE,CAAC,WAA7B,MAA8C,EAAE,CAAC,oBADrD;AAGA,EAAA,EAAE,CAAC,WAAH,CAAe,EAAE,CAAC,UAAlB,EAA8B,IAA9B;AACA,EAAA,EAAE,CAAC,eAAH,CAAmB,EAAE,CAAC,WAAtB,EAAmC,IAAnC;AACA,EAAA,EAAE,CAAC,aAAH,CAAiB,OAAjB;AACA,EAAA,EAAE,CAAC,iBAAH,CAAqB,WAArB;AAEA,SAAO,qBAAP;AACD;;AAED,SAAS,0CAAT,EACI;AACA,EAFJ,EAE+B,yBAF/B,EAE6D;AAC3D,QAAM,SAAS,GAAG,gCAAiB,EAAjB,EAAqB,yBAArB,CAAlB;AACA,QAAM,OAAO,GAAG,EAAE,CAAC,aAAH,EAAhB;AACA,EAAA,EAAE,CAAC,WAAH,CAAe,EAAE,CAAC,UAAlB,EAA8B,OAA9B;AAEA,QAAM,KAAK,GAAG,CAAd;AACA,QAAM,MAAM,GAAG,CAAf;AACA,EAAA,EAAE,CAAC,UAAH,CACI,EAAE,CAAC,UADP,EACmB,CADnB,EACsB,SAAS,CAAC,uBADhC,EACyD,KADzD,EACgE,MADhE,EACwE,CADxE,EAEI,SAAS,CAAC,kBAFd,EAEkC,SAAS,CAAC,oBAF5C,EAEkE,IAFlE;AAIA,QAAM,WAAW,GAAG,EAAE,CAAC,iBAAH,EAApB;AACA,EAAA,EAAE,CAAC,eAAH,CAAmB,EAAE,CAAC,WAAtB,EAAmC,WAAnC;AACA,EAAA,EAAE,CAAC,oBAAH,CACI,EAAE,CAAC,WADP,EACoB,EAAE,CAAC,iBADvB,EAC0C,EAAE,CAAC,UAD7C,EACyD,OADzD,EACkE,CADlE;AAGA,QAAM,qBAAqB,GACvB,EAAE,CAAC,sBAAH,CAA0B,EAAE,CAAC,WAA7B,MAA8C,EAAE,CAAC,oBADrD;AAGA,EAAA,EAAE,CAAC,WAAH,CAAe,EAAE,CAAC,UAAlB,EAA8B,IAA9B;AACA,EAAA,EAAE,CAAC,eAAH,CAAmB,EAAE,CAAC,WAAtB,EAAmC,IAAnC;AACA,EAAA,EAAE,CAAC,aAAH,CAAiB,OAAjB;AACA,EAAA,EAAE,CAAC,iBAAH,CAAqB,WAArB;AAEA,SAAO,qBAAP;AACD;;AAEK,SAAU,mBAAV,CAA8B,YAA9B,EAAkD;AACtD,MAAI,YAAY,KAAK,CAArB,EAAwB;AACtB,WAAO,KAAP;AACD;;AACD,QAAM,EAAE,GAAG,kCAAgB,YAAhB,CAAX,CAJsD,CAMtD;;AACA,QAAM,SAAS,GAAI,EAAU,CAAC,SAAX,IAAwB,IAA3C;AACA,SAAO,SAAP;AACD;;AAEK,SAAU,gBAAV,CACF,MADE,EAC+B,MAD/B,EAC6C;AACjD,MAAI,CAAC,KAAK,CAAC,OAAN,CAAc,MAAd,CAAL,EAA4B;AAC1B,IAAA,MAAM,GAAG,CAAC,MAAD,CAAT;AACD;;AACD,EAAA,MAAM,CAAC,OAAP,CAAe,CAAC,IAAG;AACjB,QAAI,CAAC,IAAI,IAAT,EAAe;AACb,qBAAK,MAAL,CACI,CAAC,CAAC,KAAF,KAAY,WADhB,EAEI,MAAM,GAAG,MAAM,sCAAT,GACF,uBAHR;AAID;AACF,GAPD;AAQD;;;;AChqBD;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,GAAG,GAAG,oBAAZ;AAEA;;;;AAIA;;;;AAGA,GAAG,CAAC,YAAJ,CAAiB,WAAjB,EAA8B,MAAM,GAAG,CAAC,SAAJ,CAAc,eAAd,IAAiC,CAArE;AAEA;;AACA,GAAG,CAAC,YAAJ,CAAiB,eAAjB,EAAkC,MAAK;AACrC,MAAI,uCAAsB,CAAtB,CAAJ,EAA8B;AAC5B,WAAO,CAAP;AACD,GAFD,MAEO,IAAI,uCAAsB,CAAtB,CAAJ,EAA8B;AACnC,WAAO,CAAP;AACD;;AACD,SAAO,CAAP;AACD,CAPD;AASA;;AACA,GAAG,CAAC,YAAJ,CAAiB,gCAAjB,EAAmD,MAAM,KAAzD;AAEA,GAAG,CAAC,YAAJ,CACI,wBADJ,EAC8B,MAAM,GAAG,CAAC,GAAJ,CAAQ,eAAR,MAA6B,CADjE;AAGA;;AACA,GAAG,CAAC,YAAJ,CAAiB,mBAAjB,EAAsC,MAAM,IAA5C;AAEA;;AACA,GAAG,CAAC,YAAJ,CAAiB,0BAAjB,EAA6C,MAAM,KAAnD;AAEA;;AACA,GAAG,CAAC,YAAJ,CAAiB,YAAjB,EAA+B,MAAM,GAAG,CAAC,OAAJ,CAAY,WAAZ,CAArC;AAEA;;AACA,GAAG,CAAC,YAAJ,CAAiB,0BAAjB,EAA6C,MAAM,GAAG,CAAC,OAAJ,CAAY,YAAZ,CAAnD;AAEA;;AACA,GAAG,CAAC,YAAJ,CAAiB,iBAAjB,EAAoC,MAAM,GAAG,CAAC,OAAJ,CAAY,YAAZ,CAA1C;AAEA;;AACA,GAAG,CAAC,YAAJ,CAAiB,0BAAjB,EAA6C,MAAM,GAAG,CAAC,OAAJ,CAAY,YAAZ,CAAnD;AAEA;;AACA,GAAG,CAAC,YAAJ,CACI,8BADJ,EACoC,MAAM,GAAG,CAAC,OAAJ,CAAY,YAAZ,CAD1C;AAGA;;AACA,GAAG,CAAC,YAAJ,CACI,6BADJ,EACmC,MAAM,GAAG,CAAC,OAAJ,CAAY,YAAZ,CADzC;AAGA;;AACA,GAAG,CAAC,YAAJ,CACI,6BADJ,EACmC,MAAM,GAAG,CAAC,OAAJ,CAAY,YAAZ,CADzC;AAGA;;AACA,GAAG,CAAC,YAAJ,CACI,6BADJ,EACmC,MAAM,GAAG,CAAC,OAAJ,CAAY,YAAZ,CADzC;AAGA;;AACA,GAAG,CAAC,YAAJ,CAAiB,mBAAjB,EAAsC,MAAM,GAAG,CAAC,OAAJ,CAAY,YAAZ,CAA5C;AAEA;;AACA,GAAG,CAAC,YAAJ,CAAiB,qBAAjB,EAAwC,MAAM,GAAG,CAAC,OAAJ,CAAY,YAAZ,CAA9C;AAEA;;AACA,GAAG,CAAC,YAAJ,CAAiB,mBAAjB,EAAsC,MAAM,GAAG,CAAC,OAAJ,CAAY,YAAZ,CAA5C;AAEA;;AACA,GAAG,CAAC,YAAJ,CACI,wBADJ,EAEI,MAAM,wCAAuB,GAAG,CAAC,SAAJ,CAAc,eAAd,CAAvB,CAFV;AAIA;;AACA,GAAG,CAAC,YAAJ,CACI,8BADJ,EAEI,MAAM,wCAAuB,GAAG,CAAC,SAAJ,CAAc,eAAd,CAAvB,CAFV;AAIA;;;;;;;;;AAQA,GAAG,CAAC,YAAJ,CAAiB,8CAAjB,EAAiE,MAAK;AACpE,QAAM,YAAY,GAAG,GAAG,CAAC,SAAJ,CAAc,eAAd,CAArB;;AAEA,MAAI,YAAY,KAAK,CAArB,EAAwB;AACtB,WAAO,CAAP;AACD;;AACD,SAAO,mDAAkC,YAAlC,CAAP;AACD,CAPD;AASA;;;;;AAIA,GAAG,CAAC,YAAJ,CACI,+CADJ,EAEI,MAAM,GAAG,CAAC,SAAJ,CAAc,8CAAd,IAAgE,CAAhE,IACF,CAAC,sBAAY,QAAZ,EAHT;AAKA;;;;AAGA,GAAG,CAAC,YAAJ,CACI,8BADJ,EAEI,MAAM,oDAAmC,GAAG,CAAC,SAAJ,CAAc,eAAd,CAAnC,CAFV;AAIA;;;;;AAIA,GAAG,CAAC,YAAJ,CAAiB,8BAAjB,EAAiD,MAAK;AACpD,SAAO,GAAG,CAAC,OAAJ,CAAY,0BAAZ,IACH,KADG,GAEH,GAAG,CAAC,OAAJ,CAAY,8BAAZ,CAFJ;AAGD,CAJD;AAMA;;;;;AAIA,GAAG,CAAC,YAAJ,CACI,8BADJ,EAEI,MAAM,+CAA8B,GAAG,CAAC,SAAJ,CAAc,eAAd,CAA9B,CAFV;AAIA;;AACA,GAAG,CAAC,YAAJ,CACI,yBADJ,EAEI,MAAM,qCAAoB,GAAG,CAAC,SAAJ,CAAc,eAAd,CAApB,CAFV;AAIA;;;;AAGA,GAAG,CAAC,YAAJ,CAAiB,2BAAjB,EAA8C,MAAK;AACjD;AACA;AACA;AACA;AACA,QAAM,WAAW,GAAG,GAAG,CAAC,OAAJ,CAAY,8BAAZ,CAApB;AACA,SAAO,WAAW,GAAG,CAAH,GAAO,CAAzB;AACD,CAPD;AASA;;;;;;;;AAOA,GAAG,CAAC,YAAJ,CACI,gCADJ,EAEI,MAAK;AACH,SAAO,CAAC,CAAR;AACD,CAJL,EAKI,SAAS,IAAG;AACV,MAAI,SAAS,GAAG,CAAZ,IAAiB,SAAS,KAAK,CAAC,CAApC,EAAuC;AACrC,UAAM,IAAI,KAAJ,CACF,8DAAA,GACA,kCAAkC,SAAS,GAFzC,CAAN;AAGD;AACF,CAXL;AAaA;;;;;;;;;;AASA,GAAG,CAAC,YAAJ,CACI,uBADJ,EAEI,MAAK;AACH,SAAO,sBAAY,QAAZ,MAA0B,GAAG,CAAC,OAAJ,CAAY,WAAZ,CAA1B,GAAqD,CAArD,GAAyD,CAAC,CAAjE;AACD,CAJL,EAKI,SAAS,IAAG;AACV,MAAI,SAAS,GAAG,CAAZ,IAAiB,SAAS,KAAK,CAAC,CAApC,EAAuC;AACrC,UAAM,IAAI,KAAJ,CACF,qDAAA,GACA,wCAAwC,SAAS,GAF/C,CAAN;AAGD;AACF,CAXL;AAaA;;;;;;;AAMA,GAAG,CAAC,YAAJ,CAAiB,4BAAjB,EAA+C,MAAM,GAArD;AAEA;;AACA,GAAG,CAAC,YAAJ,CAAiB,2BAAjB,EAA8C,MAAM,KAApD;AAEA;;;;;;;;AAOA,GAAG,CAAC,YAAJ,CAAiB,0CAAjB,EAA6D,MAAM,MAAnE;AAEA;;;;;;;;AAOA,GAAG,CAAC,YAAJ,CAAiB,8BAAjB,EAAiD,MAAM,GAAvD;;;;;;;;;AC9NA;;AAhBA;;;;;;;;;;;;;;;;AA+BM,SAAU,kBAAV,GAA4B;AAChC,MAAI,OAAJ;AACA,MAAI,SAAJ;AACA,MAAI,SAAJ;AACA,MAAI,SAAJ;AACA,MAAI,SAAJ;AACA,MAAI,MAAJ;AACA,MAAI,YAAJ;AACA,MAAI,gBAAJ;AACA,MAAI,gBAAJ;AACA,MAAI,WAAJ;;AAEA,MAAI,qBAAM,SAAN,CAAgB,eAAhB,MAAqC,CAAzC,EAA4C;AAC1C,IAAA,OAAO,GAAG,iBAAV;AACA,IAAA,SAAS,GAAG,IAAZ;AACA,IAAA,SAAS,GAAG,KAAZ;AACA,IAAA,SAAS,GAAG,IAAZ;AACA,IAAA,SAAS,GAAG,SAAZ;AACA,IAAA,MAAM,GAAG,aAAT;AACA,IAAA,YAAY,GAAG,uBAAf,CAP0C,CAS1C;AACA;AACA;AACA;;AACA,IAAA,gBAAgB,GAAG;;;;;;;;;;;KAAnB,CAb0C,CAyB1C;AACA;;AACA,IAAA,gBAAgB,GAAG,EAAnB;AACA,IAAA,WAAW,GAAG;;;;;;;;;KAAd;AAUD,GAtCD,MAsCO;AACL,IAAA,OAAO,GAAG,EAAV;AACA,IAAA,SAAS,GAAG,WAAZ;AACA,IAAA,SAAS,GAAG,SAAZ;AACA,IAAA,SAAS,GAAG,SAAZ;AACA,IAAA,SAAS,GAAG,WAAZ;AACA,IAAA,MAAM,GAAG,cAAT;AACA,IAAA,YAAY,GAAG,EAAf,CAPK,CAQL;;AACA,IAAA,gBAAgB,GAAG;;;;;;;;KAAnB;AASA,IAAA,gBAAgB,GAAG;;;;;;;;;KAAnB;AAUA,IAAA,WAAW,GAAG;;;;;;;;KAAd;AASD;;AAED,SAAO;AACL,IAAA,OADK;AAEL,IAAA,SAFK;AAGL,IAAA,SAHK;AAIL,IAAA,SAJK;AAKL,IAAA,SALK;AAML,IAAA,MANK;AAOL,IAAA,YAPK;AAQL,IAAA,gBARK;AASL,IAAA,gBATK;AAUL,IAAA;AAVK,GAAP;AAYD;;;;;;;;;;;;;ACnHD;;AAjBA;;;;;;;;;;;;;;;;;AAmBA;;;;;AAKM,SAAU,kCAAV,CACF,MADE,EACgB,KADhB,EACiC,KAAK,GAAG,OADzC,EACgD;AACpD,QAAM,OAAO,GAAG,eAAK,cAAL,CAAoB,KAApB,CAAhB;;AACA,SAAO,OAAO,CACT,GADE,CACE,CAAC,MAAD,EAAS,CAAT,KAAc;AACjB,UAAM,KAAK,GAAG,OAAO,MAAM,CAAC,CAAD,CAAG,MAAM,KAAK,MAAM,MAAM,EAArD;AACA,UAAM,KAAK,GAAG,CAAC,KAAK,OAAO,CAAC,MAAR,GAAiB,CAAvB,GACV,OAAO,MAAM,CAAC,CAAC,GAAG,CAAL,CAAO,MAAM,KAAK,MAAM,MAAM,CAAC,CAAD,CAAG,MAAM,MAAM,EADhD,GAEV,YAAY,MAAM,CAAC,CAAD,CAAG,MAAM,MAAM,EAFrC;AAGA,WAAO,GAAG,KAAK,KAAK,KAAK,GAAzB;AACD,GAPE,EAQF,IARE,CAQG,EARH,CAAP;AASD;;AAEK,SAAU,2CAAV,CACF,MADE,EACgB,KADhB,EACiC,KAAK,GAAG,OADzC,EACgD;AACpD,QAAM,OAAO,GAAG,eAAK,cAAL,CAAoB,KAApB,CAAhB;;AACA,SAAO,OAAO,CACT,GADE,CACE,CAAC,CAAD,EAAI,CAAJ,KAAS;AACZ,UAAM,KAAK,GAAG,OAAO,MAAM,CAAC,CAAD,CAAG,MAAM,KAAK,sBAAsB,CAAC,GAAhE;AACA,UAAM,KAAK,GAAG,CAAC,KAAK,OAAO,CAAC,MAAR,GAAiB,CAAvB,GACV,OAAO,MAAM,CAAC,CAAC,GAAG,CAAL,CAAO,MAAM,KAAK,MAAM,MAAM,CAAC,CAAD,CAAG,sBAC1C,CAAC,GAFK,GAGV,YAAY,MAAM,CAAC,CAAD,CAAG,sBAAsB,CAAC,GAHhD;AAIA,WAAO,GAAG,KAAK,KAAK,KAAK,GAAzB;AACD,GARE,EASF,IATE,CASG,EATH,CAAP;AAUD;;AAED,SAAS,QAAT,CAAkB,CAAlB,EAA6B;AAC3B,MAAI,CAAC,CAAC,MAAF,KAAa,CAAjB,EAAoB;AAClB,WAAO,GAAG,CAAC,CAAC,CAAD,CAAG,EAAd;AACD;;AACD,SAAO,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAF,CAAO,GAAP,CAAW,GAApC;AACD;AAED;;;;;;AAIM,SAAU,MAAV,CAAiB,CAAjB,EAA8B,CAA9B,EAAyC;AAC7C,MAAI,CAAC,CAAC,MAAF,KAAa,CAAC,CAAC,MAAnB,EAA2B;AACzB,UAAM,IAAI,KAAJ,CACF,mDAAA,GACA,OAAO,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,MAAM,EAF7B,CAAN;AAGD;;AAED,QAAM,MAAM,GAAa,EAAzB;AACA,QAAM,WAAW,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,CAAC,MAAF,GAAW,CAAtB,CAApB;AACA,QAAM,oBAAoB,GAAG,CAAC,CAAC,MAAF,GAAW,CAAxC;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,WAApB,EAAiC,CAAC,EAAlC,EAAsC;AACpC,UAAM,MAAM,GAAG,CAAC,CAAC,KAAF,CAAQ,CAAC,GAAG,CAAZ,EAAe,CAAC,GAAG,CAAJ,GAAQ,CAAvB,CAAf;AACA,UAAM,MAAM,GAAG,CAAC,CAAC,KAAF,CAAQ,CAAC,GAAG,CAAZ,EAAe,CAAC,GAAG,CAAJ,GAAQ,CAAvB,CAAf;AACA,IAAA,MAAM,CAAC,IAAP,CAAY,GAAG,QAAQ,CAAC,MAAD,CAAQ,KAAK,QAAQ,CAAC,MAAD,CAAQ,EAApD;AACD;;AAED,MAAI,oBAAoB,KAAK,CAA7B,EAAgC;AAC9B,QAAI,MAAM,GAAG,CAAC,CAAC,KAAF,CAAQ,WAAW,GAAG,CAAtB,CAAb;AACA,QAAI,MAAM,GAAG,CAAC,CAAC,KAAF,CAAQ,WAAW,GAAG,CAAtB,CAAb;;AACA,QAAI,MAAM,CAAC,MAAP,KAAkB,CAAtB,EAAyB;AACvB,MAAA,MAAM,GAAG,MAAM,CAAC,GAAP,CAAW,CAAC,IAAI,SAAS,CAAC,GAA1B,CAAT;AACA,MAAA,MAAM,GAAG,MAAM,CAAC,GAAP,CAAW,CAAC,IAAI,SAAS,CAAC,GAA1B,CAAT;AACD;;AACD,IAAA,MAAM,CAAC,IAAP,CAAY,GAAG,QAAQ,CAAC,MAAD,CAAQ,KAAK,QAAQ,CAAC,MAAD,CAAQ,EAApD;AACD;;AAED,SAAO,MAAM,CAAC,GAAP,CAAW,CAAC,CAAD,EAAI,CAAJ,KAAU,OAAO,CAAC,GAA7B,EAAkC,IAAlC,CAAuC,GAAvC,CAAP;AACD;AAED;;;;;AAGM,SAAU,kBAAV,CAA6B,KAA7B,EAA4D;AAChE,QAAM,OAAO,GAAG,eAAK,cAAL,CAAoB,KAApB,EAA2B,GAA3B,CAA+B,CAAC,IAAI,CAAC,CAAC,QAAF,EAApC,CAAhB;;AAEA,SAAO;;wBAEe,OAAO,CAAC,CAAD,CAAG,iBAAiB,OAAO,CAAC,CAAD,CAAG;;CAF3D;AAKD;;AAEM,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA7B;;;;;;;;;;AC1FP;;AAEA;;AACA;;;;;;AApBA;;;;;;;;;;;;;;;;AAsBM,MAAO,mBAAP,CAA0B;AAQ9B,EAAA,WAAA,CAAY,WAAZ,EAAiD;AAPjD,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAGA,SAAA,YAAA,GAAe,KAAf;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,gBAAA,GAAmB,wBAAc,KAAjC;AAGE,UAAM,QAAQ,GAAG,gCAAiB,WAAjB,CAAjB;AACA,UAAM,IAAI,GAAG,uCAAb;AACA,SAAK,WAAL,GAAmB,WAAnB;AAEA,SAAK,QAAL,GAAgB;;UAGZ,WAAW,CAAC,kCAAZ,CACI,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CADJ,EACqB,WADrB,CACiC;;;;;;iBAMxB,QAAQ,CAAC,CAAD,CAAG,KAAK,QAAQ,CAAC,CAAD,CAAG;wCACJ,QAAQ,CAAC,CAAD,CAAG;;;;;;;;;;UAUzC,IAAI,CAAC,MAAM;;KArBjB;AAwBD;;AArC6B;;;;;;;;;;;ACLhC;;AAEA;;AACA;;;;;;AApBA;;;;;;;;;;;;;;;;AAsBM,MAAO,yBAAP,CAAgC;AAQpC,EAAA,WAAA,CAAY,WAAZ,EAAiD;AAPjD,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAEA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAEA,SAAA,gBAAA,GAAmB,wBAAc,KAAjC;AAGE,UAAM,QAAQ,GAAG,gCAAiB,WAAjB,CAAjB;AACA,UAAM,IAAI,GAAG,uCAAb;AACA,SAAK,WAAL,GAAmB,WAAnB;AAEA,SAAK,QAAL,GAAgB;;UAGZ,WAAW,CAAC,kCAAZ,CACI,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CADJ,EACqB,WADrB,CACiC;;;;;;iBAMxB,QAAQ,CAAC,CAAD,CAAG,KAAK,QAAQ,CAAC,CAAD,CAAG;wCACJ,QAAQ,CAAC,CAAD,CAAG;;;;;;;;;;UAUzC,IAAI,CAAC,MAAM;;KArBjB;AAwBD;;AArCmC;;;;;;;;;;;ACLtC;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBM,MAAO,kBAAP,CAAyB;AAM7B,EAAA,WAAA,CAAY,WAAZ,EAAiC;AALjC,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAGA,SAAA,WAAA,GAAc,uBAAa,QAA3B;AAGE,UAAM,IAAI,GAAG,uCAAb;AACA,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,QAAL,GAAgB;QACZ,0CAAoB;;;;UAIlB,IAAI,CAAC,MAAM;;KALjB;AAQD;;AAjB4B;;;;;;;;;;;ACL/B;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBM,MAAO,wBAAP,CAA+B;AAQnC,EAAA,WAAA,CAAY,WAAZ,EAAiD;AAPjD,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAGA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,KAAf;AACA,SAAA,WAAA,GAAc,uBAAa,QAA3B;AAGE,UAAM,IAAI,GAAG,uCAAb;AACA,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,QAAL,GAAgB;QACZ,0CAAoB;;;;;UAKlB,IAAI,CAAC,MAAM;;KANjB;AASD;;AApBkC;;;;;;;;;;;ACLrC;;AAEA;;;;;;AAnBA;;;;;;;;;;;;;;;;AAqBM,MAAO,mBAAP,CAA0B;AAK9B,EAAA,WAAA,CACI,WADJ,EAC2C,QAD3C,EAEI,mBAAmB,GAAG,KAF1B,EAE+B;AAN/B,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAOE,UAAM,IAAI,GAAG,uCAAb;AACA,UAAM,CAAC,MAAD,EAAS,KAAT,IAAkB,QAAxB;AACA,SAAK,WAAL,GAAmB,WAAnB;AAEA,QAAI,MAAM,GAAG,QAAb;;AACA,QAAI,mBAAJ,EAAyB;AACvB,MAAA,MAAM,GAAG,4BAAT;AACD;;AAED,SAAK,QAAL,GAAgB;QACZ,WAAW,CAAC,kBAAZ,CAA+B,WAA/B,CAA2C;;;;;;;;;;8BAUrB,KAAK;kCACD,KAAK;iDACU,KAAK,OAAO,MAAM;wBAC3C,IAAI,CAAC,SAAS;;;;;;;;;;;;;;UAc5B,IAAI,CAAC,MAAM,WAAW,MAAM;;KA5BlC;AA+BD;;AAhD6B;;;;;;;;;;;ACJhC;;AAEA;;;;;;AAnBA;;;;;;;;;;;;;;;;;AAqBA;;;;;;;;;;;;;;;AAgBM,MAAO,yBAAP,CAAgC;AAOpC,EAAA,WAAA,CACI,WADJ,EAC2C,QAD3C,EAEI,mBAAmB,GAAG,KAF1B,EAE+B;AAR/B,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAGA,SAAA,YAAA,GAAe,KAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAKE,UAAM,IAAI,GAAG,uCAAb;AACA,UAAM,CAAC,MAAD,EAAS,KAAT,IAAkB,QAAxB;AACA,SAAK,WAAL,GAAmB,WAAnB;AAEA,QAAI,QAAQ,GAAG,EAAf;AACA,QAAI,MAAM,GAAG,QAAb;;AACA,QAAI,mBAAJ,EAAyB;AACvB,MAAA,MAAM,GAAG,4BAAT;AACD;;AAED,SAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,IAAI,CAAzB,EAA4B,GAAG,EAA/B,EAAmC;AACjC,WAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,IAAI,CAAzB,EAA4B,GAAG,EAA/B,EAAmC;AACjC,cAAM,OAAO,GAAG,GAAG,GAAG,CAAN,GAAU,GAA1B;AAEA,QAAA,QAAQ,IAAI;;gCAEY,GAAG,MAAM,WAAW,CAAC,CAAD,CAAG;gCACvB,GAAG;kCACD,GAAG,MAAM,WAAW,CAAC,CAAD,CAAG;kCACvB,GAAG;;;;;;;gCAOL,KAAK;oCACD,KAAK;kDACS,KAAK,OAAO,MAAM;yBAC3C,IAAI,CAAC,SAAS;;;yBAGd,OAAO;;yBAEP,OAAO;;yBAEP,OAAO;;yBAEP,OAAO;;;;SAxBxB;AA6BD;AACF;;AAED,SAAK,QAAL,GAAgB;QACZ,WAAW,CAAC,kBAAZ,CAA+B,WAA/B,CAA2C;;;;;;;;;;;UAWzC,QAAQ;;UAER,IAAI,CAAC,MAAM,MAAM,MAAM;;KAd7B;AAiBD;;AAzEmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBtC;;AACA;;AAEA;;;;;;AAtBA;;;;;;;;;;;;;;;;AAwBM,SAAU,kBAAV,CAA6B,EAA7B,EAAsD;AAC1D,QAAM,IAAI,GAAG,uCAAb;AACA,QAAM,kBAAkB,GAAG,GAAG,IAAI,CAAC,OAAO;;MAEtC,IAAI,CAAC,SAAS;MACd,IAAI,CAAC,SAAS;MACd,IAAI,CAAC,SAAS;;;;;MAJlB;AAUA,SAAO,UAAU,CAAC,kBAAX,CAA8B,EAA9B,EAAkC,kBAAlC,CAAP;AACD;;AAEK,SAAU,kBAAV,CAA6B,EAA7B,EAAsD;AAC1D;AACA,QAAM,WAAW,GAAG,IAAI,YAAJ,CAChB,CAAC,CAAC,CAAF,EAAK,CAAL,EAAQ,CAAR,EAAW,CAAX,EAAc,CAAd,EAAiB,CAAC,CAAlB,EAAqB,CAAC,CAAtB,EAAyB,CAAzB,EAA4B,CAA5B,EAA+B,CAA/B,EAAkC,CAAlC,EAAqC,CAArC,EAAwC,CAAxC,EAA2C,CAA3C,EAA8C,CAA9C,EAAiD,CAAjD,EAAoD,CAAC,CAArD,EAAwD,CAAxD,EAA2D,CAA3D,EAA8D,CAA9D,CADgB,CAApB;AAEA,SAAO,UAAU,CAAC,wBAAX,CAAoC,EAApC,EAAwC,WAAxC,CAAP;AACD;;AAEK,SAAU,iBAAV,CAA4B,EAA5B,EAAqD;AACzD;AACA,QAAM,qBAAqB,GAAG,IAAI,WAAJ,CAAgB,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,CAAhB,CAA9B;AACA,SAAO,UAAU,CAAC,uBAAX,CAAmC,EAAnC,EAAuC,qBAAvC,CAAP;AACD;;AAED,SAAS,yBAAT,CACI,EADJ,EAC+B,KAD/B,EAC8C,MAD9C,EAEI,cAFJ,EAE4B,aAF5B,EAGI,WAHJ,EAGuB;AACrB,EAAA,UAAU,CAAC,mBAAX,CAA+B,KAA/B,EAAsC,MAAtC;AACA,QAAM,OAAO,GAAG,UAAU,CAAC,aAAX,CAAyB,EAAzB,CAAhB;AAEA,QAAM,KAAK,GAAG,EAAE,CAAC,UAAjB;AACA,EAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,WAAH,CAAe,KAAf,EAAsB,OAAtB,CAAlC;AACA,EAAA,UAAU,CAAC,YAAX,CACI,EADJ,EACQ,MAAM,EAAE,CAAC,aAAH,CAAiB,KAAjB,EAAwB,EAAE,CAAC,cAA3B,EAA2C,EAAE,CAAC,aAA9C,CADd;AAEA,EAAA,UAAU,CAAC,YAAX,CACI,EADJ,EACQ,MAAM,EAAE,CAAC,aAAH,CAAiB,KAAjB,EAAwB,EAAE,CAAC,cAA3B,EAA2C,EAAE,CAAC,aAA9C,CADd;AAEA,EAAA,UAAU,CAAC,YAAX,CACI,EADJ,EACQ,MAAM,EAAE,CAAC,aAAH,CAAiB,KAAjB,EAAwB,EAAE,CAAC,kBAA3B,EAA+C,EAAE,CAAC,OAAlD,CADd;AAEA,EAAA,UAAU,CAAC,YAAX,CACI,EADJ,EACQ,MAAM,EAAE,CAAC,aAAH,CAAiB,KAAjB,EAAwB,EAAE,CAAC,kBAA3B,EAA+C,EAAE,CAAC,OAAlD,CADd;AAEA,EAAA,UAAU,CAAC,YAAX,CACI,EADJ,EAEI,MAAM,EAAE,CAAC,UAAH,CACF,KADE,EACK,CADL,EACQ,cADR,EACwB,KADxB,EAC+B,MAD/B,EACuC,CADvC,EAC0C,aAD1C,EAEF,WAFE,EAEW,IAFX,CAFV;AAKA,EAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,WAAH,CAAe,EAAE,CAAC,UAAlB,EAA8B,IAA9B,CAAlC;AACA,SAAO,OAAP;AACD;;AAEK,SAAU,wCAAV,CACF,aADE,EAC0B;AAC9B,SAAO,aAAa,CAAC,mBAArB;AACD;;AAEK,SAAU,0BAAV,CACF,EADE,EACyB,IADzB,EACuC,OADvC,EAEF,aAFE,EAE0B;AAC9B,QAAM,CAAC,KAAD,EAAQ,MAAR,IACF,QAAQ,CAAC,wCAAT,CAAkD,IAAlD,EAAwD,OAAxD,CADJ;AAEA,SAAO,yBAAyB,CAC5B,EAD4B,EACxB,KADwB,EACjB,MADiB,EAE5B,wCAAwC,CAAC,aAAD,CAFZ,EAG5B,aAAa,CAAC,kBAHc,EAGM,EAAE,CAAC,KAHT,CAAhC;AAID;;AAEK,SAAU,wCAAV,CACF,aADE,EAC0B;AAC9B,SAAO,aAAa,CAAC,uBAArB;AACD;;AAEK,SAAU,0BAAV,CACF,EADE,EACyB,IADzB,EACuC,OADvC,EAEF,aAFE,EAE0B;AAC9B,QAAM,CAAC,KAAD,EAAQ,MAAR,IACF,QAAQ,CAAC,wCAAT,CAAkD,IAAlD,EAAwD,OAAxD,CADJ;AAEA,SAAO,yBAAyB,CAC5B,EAD4B,EACxB,KADwB,EACjB,MADiB,EAE5B,wCAAwC,CAAC,aAAD,CAFZ,EAG5B,aAAa,CAAC,kBAHc,EAGM,aAAa,CAAC,oBAHpB,CAAhC;AAID;;AAEK,SAAU,8CAAV,CACF,aADE,EAC0B;AAC9B,SAAO,aAAa,CAAC,qBAArB;AACD;;AAEK,SAAU,gCAAV,CACF,EADE,EACyB,IADzB,EACuC,OADvC,EAEF,aAFE,EAE0B;AAC9B,QAAM,CAAC,KAAD,EAAQ,MAAR,IACF,QAAQ,CAAC,wCAAT,CAAkD,IAAlD,EAAwD,OAAxD,CADJ;AAEA,SAAO,yBAAyB,CAC5B,EAD4B,EACxB,KADwB,EACjB,MADiB,EAE5B,8CAA8C,CAAC,aAAD,CAFlB,EAEmC,EAAE,CAAC,IAFtC,EAG5B,EAAE,CAAC,aAHyB,CAAhC;AAID;;AAEK,SAAU,uCAAV,CACF,aADE,EAC0B;AAC9B,SAAO,aAAa,CAAC,yBAArB;AACD;;AAEK,SAAU,yBAAV,CACF,EADE,EACyB,IADzB,EACuC,OADvC,EAEF,aAFE,EAE0B;AAC9B,QAAM,CAAC,KAAD,EAAQ,MAAR,IACF,QAAQ,CAAC,sCAAT,CAAgD,IAAhD,EAAsD,OAAtD,CADJ;AAEA,SAAO,yBAAyB,CAC5B,EAD4B,EACxB,KADwB,EACjB,MADiB,EACT,uCAAuC,CAAC,aAAD,CAD9B,EAE5B,EAAE,CAAC,IAFyB,EAEnB,EAAE,CAAC,KAFgB,CAAhC;AAGD;;AAEK,SAAU,8CAAV,CACF,aADE,EAC0B;AAC9B,SAAO,aAAa,CAAC,6BAArB;AACD;;AAEK,SAAU,gCAAV,CACF,EADE,EACyB,IADzB,EACuC,OADvC,EAEF,aAFE,EAE0B;AAC9B,QAAM,CAAC,KAAD,EAAQ,MAAR,IACF,QAAQ,CAAC,sCAAT,CAAgD,IAAhD,EAAsD,OAAtD,CADJ;AAEA,SAAO,yBAAyB,CAC5B,EAD4B,EACxB,KADwB,EACjB,MADiB,EAE5B,8CAA8C,CAAC,aAAD,CAFlB,EAEmC,EAAE,CAAC,IAFtC,EAG5B,aAAa,CAAC,oBAHc,CAAhC;AAID;;AAEK,SAAU,iCAAV,CACF,EADE,EACyB,OADzB,EAEF,YAFE,EAEuB;AAC3B,QAAM,SAAS,GAAG,CAAlB,CAD2B,CACQ;;AACnC,QAAM,QAAQ,GAAG,IAAI,CAArB,CAF2B,CAEQ;;AACnC,QAAM,MAAM,GAAI,IAAI,CAAL,GAAW,IAAI,CAA9B,CAH2B,CAGQ;;AACnC,EAAA,UAAU,CAAC,YAAX,CACI,EADJ,EACQ,MAAM,EAAE,CAAC,UAAH,CAAc,EAAE,CAAC,YAAjB,EAA+B,YAA/B,CADd;AAEA,QAAM,OAAO,GAAG,UAAU,CAAC,kCAAX,CACZ,EADY,EACR,OADQ,EACC,cADD,EACiB,YADjB,EAC+B,CAD/B,EACkC,MADlC,EAC0C,SAD1C,CAAhB;AAEA,SAAO,OAAO,IACV,UAAU,CAAC,kCAAX,CACI,EADJ,EACQ,OADR,EACiB,IADjB,EACuB,YADvB,EACqC,CADrC,EACwC,MADxC,EACgD,QADhD,CADJ;AAGD;;AAEK,SAAU,0BAAV,CACF,EADE,EACyB,OADzB,EACgD,KADhD,EAEF,MAFE,EAEc,IAFd,EAEgC,aAFhC,EAE4D;AAChE,EAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,WAAH,CAAe,EAAE,CAAC,UAAlB,EAA8B,OAA9B,CAAlC;AAEA,MAAI,aAAJ,EAA+B,aAA/B,EAAsD,cAAtD;;AACA,MAAI,IAAI,YAAY,UAApB,EAAgC;AAC9B,IAAA,aAAa,GAAG,IAAI,UAAJ,CAAe,KAAK,GAAG,MAAR,GAAiB,CAAhC,CAAhB;AACA,IAAA,aAAa,GAAG,EAAE,CAAC,aAAnB;AACA,IAAA,cAAc,GAAG,EAAE,CAAC,IAApB;AACD,GAJD,MAIO;AACL,IAAA,aAAa,GAAG,IAAI,YAAJ,CAAiB,KAAK,GAAG,MAAR,GAAiB,CAAlC,CAAhB;AACA,IAAA,aAAa,GAAG,EAAE,CAAC,KAAnB;AACA,IAAA,cAAc,GAAG,aAAa,CAAC,yBAA/B;AACD;;AAED,EAAA,aAAa,CAAC,GAAd,CAAkB,IAAlB;AAEA,EAAA,UAAU,CAAC,YAAX,CACI,EADJ,EAEI,MAAM,EAAE,CAAC,UAAH,CACF,EAAE,CAAC,UADD,EACa,CADb,EACgB,cADhB,EACgC,KADhC,EACuC,MADvC,EAC+C,CAD/C,EACkD,EAAE,CAAC,IADrD,EAEF,aAFE,EAEa,aAFb,CAFV;AAMA,EAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,WAAH,CAAe,EAAE,CAAC,UAAlB,EAA8B,IAA9B,CAAlC;AACD;;AAEK,SAAU,wBAAV,CACF,EADE,EACyB,OADzB,EAEF,MAFE,EAG0B;AAC9B,EAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,WAAH,CAAe,EAAE,CAAC,UAAlB,EAA8B,OAA9B,CAAlC;;AACA,MAAK,MAAoB,CAAC,IAArB,YAAqC,UAA1C,EAAsD;AACpD,IAAA,UAAU,CAAC,YAAX,CACI,EADJ,EAEI,MAAM,EAAE,CAAC,UAAH,CACF,EAAE,CAAC,UADD,EACa,CADb,EACgB,EAAE,CAAC,IADnB,EACyB,MAAM,CAAC,KADhC,EACuC,MAAM,CAAC,MAD9C,EACsD,CADtD,EACyD,EAAE,CAAC,IAD5D,EAEF,EAAE,CAAC,aAFD,EAEiB,MAAoB,CAAC,IAFtC,CAFV;AAKD,GAND,MAMO;AACL,IAAA,UAAU,CAAC,YAAX,CACI,EADJ,EAEI,MAAM,EAAE,CAAC,UAAH,CACF,EAAE,CAAC,UADD,EACa,CADb,EACgB,EAAE,CAAC,IADnB,EACyB,EAAE,CAAC,IAD5B,EACkC,EAAE,CAAC,aADrC,EAEF,MAFE,CAFV;AAMD;;AAED,EAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,WAAH,CAAe,EAAE,CAAC,UAAlB,EAA8B,IAA9B,CAAlC;AACD;;AAEK,SAAU,6BAAV,CACF,GADE,EAC2B,IAD3B,EACyC,OADzC,EAEF,aAFE,EAE0B;AAC9B;AACA,QAAM,MAAM,GAAG,GAAG,CAAC,YAAJ,EAAf;AACA,EAAA,UAAU,CAAC,YAAX,CACI,GADJ,EACS,MAAM,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,iBAAnB,EAAsC,MAAtC,CADf,EAH8B,CAM9B;;AACA,QAAM,aAAa,GAAG,CAAtB;AACA,QAAM,cAAc,GAAG,CAAvB;AACA,QAAM,eAAe,GAAG,aAAa,GAAG,cAAhB,GAAiC,IAAjC,GAAwC,OAAhE;AAEA,EAAA,UAAU,CAAC,YAAX,CACI,GADJ,EAEI,MAAM,GAAG,CAAC,UAAJ,CACF,GAAG,CAAC,iBADF,EACqB,eADrB,EACsC,GAAG,CAAC,WAD1C,CAFV,EAX8B,CAgB9B;AACA;;AACA,EAAA,UAAU,CAAC,YAAX,CACI,GADJ,EACS,MAAM,GAAG,CAAC,UAAJ,CAAe,CAAf,EAAkB,CAAlB,EAAqB,OAArB,EAA8B,IAA9B,EAAoC,GAAG,CAAC,IAAxC,EAA8C,GAAG,CAAC,KAAlD,EAAyD,CAAzD,CADf;AAGA,EAAA,UAAU,CAAC,YAAX,CACI,GADJ,EACS,MAAM,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,iBAAnB,EAAsC,IAAtC,CADf;AAGA,SAAO,MAAP;AACD;;AAEK,SAAU,+BAAV,CACF,EADE,EACyB,MADzB,EAEF,IAFE,EAEU;AACd,QAAM,GAAG,GAAG,EAAZ;AAEA,QAAM,cAAc,GAAG,IAAI,YAAJ,CAAiB,IAAjB,CAAvB;AAEA,EAAA,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,iBAAnB,EAAsC,MAAtC;AACA,EAAA,GAAG,CAAC,gBAAJ,CAAqB,GAAG,CAAC,iBAAzB,EAA4C,CAA5C,EAA+C,cAA/C;AACA,EAAA,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,iBAAnB,EAAsC,IAAtC;AAEA,SAAO,cAAP;AACD;;AAEK,SAAU,+CAAV,CACF,EADE,EACyB,IADzB,EACuC,OADvC,EAEF,aAFE,EAE0B;AAC9B,QAAM,CAAC,CAAD,EAAI,CAAJ,IACF,QAAQ,CAAC,wCAAT,CAAkD,IAAlD,EAAwD,OAAxD,CADJ;AAGA,QAAM,WAAW,GAAG,CAApB;AACA,QAAM,cAAc,GAAG,IAAI,UAAJ,CACnB,QAAQ,CAAC,kCAAT,CAA4C,IAAI,GAAG,OAAnD,EAA4D,WAA5D,CADmB,CAAvB;AAGA,EAAA,UAAU,CAAC,YAAX,CACI,EADJ,EAEI,MAAM,EAAE,CAAC,UAAH,CACF,CADE,EACC,CADD,EACI,CADJ,EACO,CADP,EACU,aAAa,CAAC,qBADxB,EAC+C,EAAE,CAAC,aADlD,EAEF,cAFE,CAFV,EAR8B,CAc9B;AACA;;AACA,SAAO,IAAI,YAAJ,CAAiB,cAAc,CAAC,MAAhC,CAAP;AACD;;AAEK,SAAU,8BAAV,CACF,EADE,EACyB,MADzB,EAC8C,KAD9C,EAC6D,IAD7D,EAEF,IAFE,EAEY,YAFZ,EAEkC,YAFlC,EAGF,aAHE,EAG0B;AAC9B,QAAM,GAAG,GAAG,EAAZ;AAEA,QAAM,cAAc,GAChB,IAAI,YAAJ,CAAiB,QAAQ,CAAC,qCAAT,CACb,YADa,EACC,YADD,CAAjB,CADJ;AAIA,EAAA,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,iBAAnB,EAAsC,MAAtC;AACA,EAAA,GAAG,CAAC,gBAAJ,CAAqB,GAAG,CAAC,iBAAzB,EAA4C,CAA5C,EAA+C,cAA/C;AACA,EAAA,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,iBAAnB,EAAsC,IAAtC;AAEA,SAAO,cAAP;AACD;;AAEK,SAAU,qCAAV,CACF,EADE,EACyB,YADzB,EAEF,YAFE,EAEkB;AACtB,QAAM,UAAU,GAAG,IAAI,YAAJ,CAAiB,YAAY,GAAG,YAAf,GAA8B,CAA/C,CAAnB;AACA,EAAA,UAAU,CAAC,YAAX,CACI,EADJ,EAEI,MAAM,EAAE,CAAC,UAAH,CACF,CADE,EACC,CADD,EACI,YADJ,EACkB,YADlB,EACgC,EAAE,CAAC,IADnC,EACyC,EAAE,CAAC,KAD5C,EACmD,UADnD,CAFV;AAKA,SAAO,UAAP;AACD;;;;;;;;;;ACxSD;;AAEA;;AACA;;AACA;;AAGA;;;;;;AAxBA;;;;;;;;;;;;;;;;AA+BM,MAAO,YAAP,CAAmB;AAkBvB,EAAA,WAAA,CAAY,EAAZ,EAAsC;AAPtC,SAAA,aAAA,GAAmC,IAAnC;AACA,SAAA,OAAA,GAA6B,IAA7B;AACQ,SAAA,QAAA,GAAW,KAAX;AAuOA,SAAA,mBAAA,GAAsB,KAAtB;AAyPA,SAAA,WAAA,GAA0B,EAA1B;AA1dN,UAAM,SAAS,GAAG,qBAAM,SAAN,CAAgB,eAAhB,CAAlB;;AACA,QAAI,EAAE,IAAI,IAAV,EAAgB;AACd,WAAK,EAAL,GAAU,EAAV;AACA,wCAAgB,SAAhB,EAA2B,EAA3B;AACD,KAHD,MAGO;AACL,WAAK,EAAL,GAAU,kCAAgB,SAAhB,CAAV;AACD,KAPmC,CAQpC;;;AACA,QAAI,kBAAkB,GAAG,0BAAzB;AACA,UAAM,uBAAuB,GAAG,6BAAhC;;AACA,QAAI,qBAAM,SAAN,CAAgB,eAAhB,MAAqC,CAAzC,EAA4C;AAC1C,YAAM,aAAa,GAAG,mBAAtB;AACA,YAAM,kBAAkB,GAAG,wBAA3B;AAEA,WAAK,qBAAL,GACI,UAAU,CAAC,mBAAX,CAA+B,KAAK,EAApC,EAAwC,aAAxC,CADJ;;AAEA,UAAI,UAAU,CAAC,YAAX,CAAwB,KAAK,EAA7B,EAAiC,kBAAjC,CAAJ,EAA0D;AACxD,aAAK,yBAAL,GACI,UAAU,CAAC,mBAAX,CAA+B,KAAK,EAApC,EAAwC,kBAAxC,CADJ;AAED,OAHD,MAGO,IAAI,qBAAM,GAAN,CAAU,0BAAV,CAAJ,EAA2C;AAChD,cAAM,IAAI,KAAJ,CACF,8DACA,2DAFE,CAAN;AAGD;;AAED,WAAK,yBAAL,GAAiC,KAAK,EAAL,CAAQ,YAAR,CAAqB,kBAArB,CAAjC;;AACA,UAAI,UAAU,CAAC,YAAX,CAAwB,KAAK,EAA7B,EAAiC,uBAAjC,CAAJ,EAA+D;AAC7D,aAAK,6BAAL,GACI,UAAU,CAAC,mBAAX,CAA+B,KAAK,EAApC,EAAwC,uBAAxC,CADJ;AAED,OAHD,MAGO,IAAI,qBAAM,GAAN,CAAU,0BAAV,CAAJ,EAA2C;AAChD,cAAM,IAAI,KAAJ,CACF,mEACA,+DAFE,CAAN;AAGD;AACF,KAxBD,MAwBO;AACL,MAAA,kBAAkB,GAAG,wBAArB;;AACA,UAAI,UAAU,CAAC,YAAX,CAAwB,KAAK,EAA7B,EAAiC,kBAAjC,CAAJ,EAA0D;AACxD,aAAK,yBAAL,GACI,KAAK,EAAL,CAAQ,YAAR,CAAqB,kBAArB,CADJ;AAED,OAHD,MAGO,IAAI,UAAU,CAAC,YAAX,CAAwB,KAAK,EAA7B,EAAiC,uBAAjC,CAAJ,EAA+D;AACpE,aAAK,6BAAL,GACI,KAAK,EAAL,CAAQ,YAAR,CAAqB,uBAArB,CADJ;AAED,OAHM,MAGA;AACL,cAAM,IAAI,KAAJ,CAAU,qDAAV,CAAN;AACD;AACF;;AAED,SAAK,YAAL,GAAoB,UAAU,CAAC,kBAAX,CAA8B,KAAK,EAAnC,CAApB;AACA,SAAK,WAAL,GAAmB,UAAU,CAAC,iBAAX,CAA6B,KAAK,EAAlC,CAAnB;AACA,SAAK,WAAL,GAAmB,UAAU,CAAC,iBAAX,CAA6B,KAAK,EAAlC,CAAnB;AAEA,SAAK,aAAL,GACI,QAAQ,CAAC,gBAAT,CAA0B,KAAK,EAA/B,EAAmC,KAAK,yBAAxC,CADJ;AAED;;AAEgB,MAAL,KAAK,GAAA;AACf,WAAO,qBAAM,OAAN,CAAc,OAAd,CAAP;AACD;;AAEM,EAAA,OAAO,GAAA;AACZ,QAAI,KAAK,QAAT,EAAmB;AACjB;AACD;;AACD,QAAI,KAAK,OAAL,IAAgB,IAApB,EAA0B;AACxB,MAAA,OAAO,CAAC,IAAR,CACI,kEACA,6DADA,GAEA,8CAHJ;AAID;;AACD,QAAI,KAAK,aAAL,IAAsB,IAA1B,EAAgC;AAC9B,MAAA,OAAO,CAAC,IAAR,CACI,mEACA,gEADA,GAEA,8DAFA,GAGA,YAJJ;AAKD;;AACD,UAAM,EAAE,GAAG,KAAK,EAAhB;AACA,IAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,MAAH,EAAlC;AACA,IAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,eAAH,CAAmB,EAAE,CAAC,WAAtB,EAAmC,IAAnC,CAAlC;AACA,IAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,iBAAH,CAAqB,KAAK,WAA1B,CAAlC;AACA,IAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,UAAH,CAAc,EAAE,CAAC,YAAjB,EAA+B,IAA/B,CAAlC;AACA,IAAA,UAAU,CAAC,YAAX,CACI,EADJ,EACQ,MAAM,EAAE,CAAC,UAAH,CAAc,EAAE,CAAC,oBAAjB,EAAuC,IAAvC,CADd;AAEA,IAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,YAAH,CAAgB,KAAK,WAArB,CAAlC;AACA,SAAK,QAAL,GAAgB,IAAhB;AACD;;AAEM,EAAA,0BAA0B,CAAC,IAAD,EAAe,OAAf,EAA8B;AAE7D,SAAK,eAAL;AACA,WAAO,UAAU,CAAC,0BAAX,CACH,KAAK,EADF,EACM,IADN,EACY,OADZ,EACqB,KAAK,aAD1B,CAAP;AAED;;AAEM,EAAA,0BAA0B,CAAC,IAAD,EAAe,OAAf,EAA8B;AAE7D,SAAK,eAAL;AACA,WAAO,UAAU,CAAC,0BAAX,CACH,KAAK,EADF,EACM,IADN,EACY,OADZ,EACqB,KAAK,aAD1B,CAAP;AAED;;AAEM,EAAA,gCAAgC,CAAC,IAAD,EAAe,OAAf,EAA8B;AAEnE,SAAK,eAAL;AACA,WAAO,UAAU,CAAC,gCAAX,CACH,KAAK,EADF,EACM,IADN,EACY,OADZ,EACqB,KAAK,aAD1B,CAAP;AAED;;AAEM,EAAA,wBAAwB,CAC3B,OAD2B,EAE3B,MAF2B,EAGhB;AACb,SAAK,eAAL;AACA,IAAA,UAAU,CAAC,wBAAX,CAAoC,KAAK,EAAzC,EAA6C,OAA7C,EAAsD,MAAtD;AACD;;AAEM,EAAA,0BAA0B,CAC7B,OAD6B,EACN,KADM,EACS,MADT,EACyB,IADzB,EACyC;AACxE,SAAK,eAAL;AACA,IAAA,UAAU,CAAC,0BAAX,CACI,KAAK,EADT,EACa,OADb,EACsB,KADtB,EAC6B,MAD7B,EACqC,IADrC,EAC2C,KAAK,aADhD;AAED;;AAEM,EAAA,gCAAgC,CAAC,IAAD,EAAe,OAAf,EAA8B;AAEnE,SAAK,eAAL;AACA,WAAO,UAAU,CAAC,gCAAX,CACH,KAAK,EADF,EACM,IADN,EACY,OADZ,EACqB,KAAK,aAD1B,CAAP;AAED;;AAEM,EAAA,yBAAyB,CAAC,IAAD,EAAe,OAAf,EAA8B;AAE5D,SAAK,eAAL;AACA,WAAO,UAAU,CAAC,yBAAX,CACH,KAAK,EADF,EACM,IADN,EACY,OADZ,EACqB,KAAK,aAD1B,CAAP;AAED;;AAEM,EAAA,mBAAmB,CAAC,OAAD,EAAsB;AAC9C,SAAK,eAAL;;AACA,QAAI,KAAK,aAAL,KAAuB,OAA3B,EAAoC;AAClC,MAAA,UAAU,CAAC,iCAAX,CAA6C,KAAK,EAAlD,EAAsD,KAAK,WAA3D;AACA,WAAK,aAAL,GAAqB,IAArB;AACD;;AACD,IAAA,UAAU,CAAC,YAAX,CAAwB,KAAK,EAA7B,EAAiC,MAAM,KAAK,EAAL,CAAQ,aAAR,CAAsB,OAAtB,CAAvC;AACD;;AAEM,EAAA,+CAA+C,CAClD,OADkD,EAC3B,IAD2B,EACb,OADa,EACE;AACtD,WAAO,KAAK,oBAAL,CACH,OADG,EAEH,MAAM,UAAU,CAAC,+CAAX,CACF,KAAK,EADH,EACO,IADP,EACa,OADb,EACsB,KAAK,aAD3B,CAFH,CAAP;AAID;;AAEM,EAAA,8BAA8B,CACjC,MADiC,EACZ,KADY,EACG,IADH,EACiB,OADjB,EAEjC,YAFiC,EAEX,YAFW,EAES;AAC5C,WAAO,UAAU,CAAC,8BAAX,CACH,KAAK,EADF,EACM,MADN,EACc,KADd,EACqB,IADrB,EAC2B,OAD3B,EACoC,YADpC,EACkD,YADlD,EAEH,KAAK,aAFF,CAAP;AAGD;;AAEM,EAAA,+BAA+B,CAAC,MAAD,EAAsB,IAAtB,EAAkC;AAEtE,WAAO,UAAU,CAAC,+BAAX,CAA2C,KAAK,EAAhD,EAAoD,MAApD,EAA4D,IAA5D,CAAP;AACD;;AAEM,EAAA,uBAAuB,CAC1B,OAD0B,EACH,IADG,EACW,OADX,EAC0B;AACtD,SAAK,wBAAL,CAA8B,OAA9B;AACA,UAAM,MAAM,GAAG,UAAU,CAAC,6BAAX,CACX,KAAK,EADM,EACwB,IADxB,EAC8B,OAD9B,EACuC,KAAK,aAD5C,CAAf;AAEA,SAAK,0BAAL;AACA,WAAO,MAAP;AACD;;AAEM,EAAA,qBAAqB,GAAA;AAC1B,UAAM,YAAY,GAAG,KAAK,WAAL,CAAiB,KAAK,EAAtB,CAArB;AACA,WAAO,KAAK,SAAL,CAAe,YAAf,CAAP;AACD;;AAEO,EAAA,WAAW,CAAC,EAAD,EAA0B;AAC3C,QAAI,KAAJ;AACA,QAAI,aAAJ;;AAEA,QAAI,qBAAM,OAAN,CAAc,yBAAd,CAAJ,EAA8C;AAC5C,YAAM,GAAG,GAAG,EAAZ;AAEA,YAAM,IAAI,GAAG,GAAG,CAAC,SAAJ,CAAc,GAAG,CAAC,0BAAlB,EAA8C,CAA9C,CAAb;AACA,MAAA,EAAE,CAAC,KAAH;;AAEA,MAAA,aAAa,GAAG,MAAK;AACnB,cAAM,MAAM,GAAG,GAAG,CAAC,cAAJ,CAAmB,IAAnB,EAAyB,CAAzB,EAA4B,CAA5B,CAAf;AACA,eAAO,MAAM,KAAK,GAAG,CAAC,gBAAf,IACH,MAAM,KAAK,GAAG,CAAC,mBADnB;AAED,OAJD;;AAMA,MAAA,KAAK,GAAG,IAAR;AACD,KAbD,MAaO,IACH,qBAAM,SAAN,CAAgB,8CAAhB,IAAkE,CAD/D,EACkE;AACvE,MAAA,KAAK,GAAG,KAAK,UAAL,EAAR;AACA,WAAK,QAAL;;AACA,MAAA,aAAa,GAAG,MAAM,KAAK,gBAAL,CAClB,KADkB,EAElB,qBAAM,SAAN,CAAgB,8CAAhB,CAFkB,CAAtB;AAGD,KAPM,MAOA;AACL;AACA;AACA;AACA;AACA,MAAA,aAAa,GAAG,MAAM,IAAtB;AACD;;AAED,WAAO;AAAC,MAAA,KAAD;AAAQ,MAAA;AAAR,KAAP;AACD;;AAEM,EAAA,+BAA+B,CAClC,OADkC,EACX,YADW,EAElC,YAFkC,EAEd;AACtB,WAAO,KAAK,oBAAL,CACH,OADG,EAEH,MAAM,UAAU,CAAC,qCAAX,CACF,KAAK,EADH,EACO,YADP,EACqB,YADrB,CAFH,CAAP;AAID;;AAIM,EAAA,aAAa,CAAC,oBAAD,EAA6B;AAC/C,SAAK,eAAL;AACA,UAAM,EAAE,GAAG,KAAK,EAAhB;AACA,UAAM,cAAc,GAChB,UAAU,CAAC,oBAAX,CAAgC,EAAhC,EAAoC,oBAApC,CADJ;;AAEA,QAAI,KAAK,YAAL,IAAqB,IAAzB,EAA+B;AAC7B,WAAK,YAAL,GAAoB,UAAU,CAAC,kBAAX,CAA8B,EAA9B,CAApB;AACD;;AACD,UAAM,OAAO,GAAiB,UAAU,CAAC,aAAX,CAAyB,EAAzB,CAA9B;AACA,IAAA,UAAU,CAAC,YAAX,CACI,EADJ,EACQ,MAAM,EAAE,CAAC,YAAH,CAAgB,OAAhB,EAAyB,KAAK,YAA9B,CADd;AAEA,IAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,YAAH,CAAgB,OAAhB,EAAyB,cAAzB,CAAlC;AACA,IAAA,UAAU,CAAC,WAAX,CAAuB,EAAvB,EAA2B,OAA3B;;AACA,QAAI,KAAK,KAAT,EAAgB;AACd,MAAA,UAAU,CAAC,eAAX,CAA2B,EAA3B,EAA+B,OAA/B;AACD;;AACD,QAAI,CAAC,KAAK,mBAAV,EAA+B;AAC7B,WAAK,UAAL,CAAgB,OAAhB;AACA,WAAK,mBAAL,GAA2B,UAAU,CAAC,iCAAX,CACvB,EADuB,EACnB,KAAK,OADc,EACL,KAAK,YADA,CAA3B;AAED;;AACD,WAAO,OAAP;AACD;;AAEM,EAAA,aAAa,CAAC,OAAD,EAAsB;AACxC,SAAK,eAAL;;AACA,QAAI,OAAO,KAAK,KAAK,OAArB,EAA8B;AAC5B,WAAK,OAAL,GAAe,IAAf;AACD;;AACD,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,MAAA,UAAU,CAAC,YAAX,CAAwB,KAAK,EAA7B,EAAiC,MAAM,KAAK,EAAL,CAAQ,aAAR,CAAsB,OAAtB,CAAvC;AACD;AACF;;AAEM,EAAA,UAAU,CAAC,OAAD,EAA2B;AAC1C,SAAK,eAAL;AACA,SAAK,OAAL,GAAe,OAAf;;AACA,QAAK,KAAK,OAAL,IAAgB,IAAjB,IAA0B,KAAK,KAAnC,EAA0C;AACxC,MAAA,UAAU,CAAC,eAAX,CAA2B,KAAK,EAAhC,EAAoC,KAAK,OAAzC;AACD;;AACD,IAAA,UAAU,CAAC,YAAX,CAAwB,KAAK,EAA7B,EAAiC,MAAM,KAAK,EAAL,CAAQ,UAAR,CAAmB,OAAnB,CAAvC;AACD;;AAEM,EAAA,kBAAkB,CACrB,OADqB,EACE,WADF,EAErB,WAAW,GAAG,IAFO,EAEH;AACpB,SAAK,eAAL;;AACA,QAAI,WAAJ,EAAiB;AACf,aAAO,UAAU,CAAC,gCAAX,CACH,KAAK,EADF,EACM,OADN,EACe,WADf,CAAP;AAED,KAHD,MAGO;AACL,aAAO,UAAU,CAAC,yBAAX,CACH,KAAK,EADF,EACM,OADN,EACe,WADf,CAAP;AAED;AACF;;AAEM,EAAA,oBAAoB,CAAC,OAAD,EAAwB,SAAxB,EAAyC;AAElE,SAAK,eAAL;AACA,WAAO,UAAU,CAAC,YAAX,CACH,KAAK,EADF,EACM,MAAM,KAAK,EAAL,CAAQ,iBAAR,CAA0B,OAA1B,EAAmC,SAAnC,CADZ,CAAP;AAED;;AAEM,EAAA,yBAAyB,CAAC,OAAD,EAAwB,WAAxB,EAA2C;AAEzE,SAAK,eAAL;AACA,WAAO,KAAK,EAAL,CAAQ,kBAAR,CAA2B,OAA3B,EAAoC,WAApC,CAAP;AACD;;AAEM,EAAA,qBAAqB,CACxB,kBADwB,EACU,eADV,EAExB,WAFwB,EAEL;AACrB,SAAK,eAAL;AACA,SAAK,gBAAL;AACA,IAAA,UAAU,CAAC,kCAAX,CACI,KAAK,EADT,EACa,kBADb,EACiC,eADjC,EACkD,WADlD;AAED;;AAEM,EAAA,sBAAsB,CACzB,mBADyB,EACU,IADV,EACwB,OADxB,EACuC;AAClE,SAAK,4BAAL,CAAkC,mBAAlC,EAAuD,OAAvD,EAAgE,IAAhE;AACD;;AAEM,EAAA,4BAA4B,CAC/B,yBAD+B,EACU,IADV,EACwB,OADxB,EACuC;AACxE,SAAK,eAAL;AACA,UAAM,CAAC,KAAD,EAAQ,MAAR,IACF,QAAQ,CAAC,sCAAT,CAAgD,IAAhD,EAAsD,OAAtD,CADJ;AAEA,SAAK,4BAAL,CAAkC,yBAAlC,EAA6D,KAA7D,EAAoE,MAApE;AACD;;AAEM,EAAA,0BAA0B,CAC7B,QAD6B,EACX,OADW,EACM,WADN,EAE7B,UAF6B,EAEX;AACpB,SAAK,gCAAL,CACI,WADJ,EACiB,QADjB,EAC2B,UAD3B,EACuC,OADvC;AAED;;AAEM,EAAA,gCAAgC,CACnC,QADmC,EACjB,OADiB,EACA,WADA,EAEnC,UAFmC,EAEjB;AACpB,UAAM,IAAI,KAAJ,CAAU,mDAAV,CAAN;AACD;;AAEM,EAAA,aAAa,GAAA;AAClB,QAAI,KAAK,OAAL,IAAgB,IAApB,EAA0B;AACxB,MAAA,UAAU,CAAC,eAAX,CAA2B,KAAK,EAAhC,EAAoC,KAAK,OAAzC;AACD;;AACD,IAAA,UAAU,CAAC,mBAAX,CAA+B,KAAK,EAApC;AACD;;AAEM,EAAA,cAAc,GAAA;AACnB,SAAK,eAAL;AACA,SAAK,gBAAL;AACA,UAAM,EAAE,GAAG,KAAK,EAAhB;;AACA,QAAI,KAAK,KAAT,EAAgB;AACd,WAAK,aAAL;AACD;;AACD,IAAA,UAAU,CAAC,YAAX,CACI,EADJ,EACQ,MAAM,EAAE,CAAC,YAAH,CAAgB,EAAE,CAAC,SAAnB,EAA8B,CAA9B,EAAiC,EAAE,CAAC,cAApC,EAAoD,CAApD,CADd;AAED;;AAEM,EAAA,8BAA8B,GAAA;AACnC,SAAK,eAAL;AACA,IAAA,UAAU,CAAC,YAAX,CAAwB,KAAK,EAA7B,EAAiC,MAAM,KAAK,EAAL,CAAQ,MAAR,EAAvC;AACD;;AAEO,EAAA,sBAAsB,GAAA;AAE5B,QAAI,KAAK,2BAAL,IAAoC,IAAxC,EAA8C;AAC5C,WAAK,2BAAL,GACI,UAAU,CAAC,mBAAX,CACI,KAAK,EADT,EAEI,qBAAM,SAAN,CACI,8CADJ,MACwD,CADxD,GAEI,iCAFJ,GAGI,0BALR,CADJ;AASD;;AACD,WAAO,KAAK,2BAAZ;AACD;;AAEO,EAAA,4BAA4B,GAAA;AAClC,WAAO,KAAK,sBAAL,EAAP;AACD;;AAEO,EAAA,4BAA4B,GAAA;AAClC,WAAO,KAAK,sBAAL,EAAP;AACD;;AAED,EAAA,UAAU,GAAA;AACR,QAAI,qBAAM,SAAN,CAAgB,8CAAhB,MAAoE,CAAxE,EAA2E;AACzE,YAAM,GAAG,GAAG,KAAK,EAAjB;AACA,YAAM,GAAG,GAAG,KAAK,4BAAL,EAAZ;AAEA,YAAM,KAAK,GAAG,GAAG,CAAC,WAAJ,EAAd;AACA,MAAA,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,gBAAnB,EAAqC,KAArC;AACA,aAAO,KAAP;AACD;;AACD,UAAM,GAAG,GAAG,KAAK,4BAAL,EAAZ;AACA,UAAM,KAAK,GAAG,GAAG,CAAC,cAAJ,EAAd;AACA,IAAA,GAAG,CAAC,aAAJ,CAAkB,GAAG,CAAC,gBAAtB,EAAwC,KAAxC;AACA,WAAO,KAAP;AACD;;AAED,EAAA,QAAQ,GAAA;AACN,QAAI,qBAAM,SAAN,CAAgB,8CAAhB,MAAoE,CAAxE,EAA2E;AACzE,YAAM,GAAG,GAAG,KAAK,EAAjB;AACA,YAAM,GAAG,GAAG,KAAK,4BAAL,EAAZ;AACA,MAAA,GAAG,CAAC,QAAJ,CAAa,GAAG,CAAC,gBAAjB;AACA;AACD;;AACD,UAAM,GAAG,GAAG,KAAK,4BAAL,EAAZ;AACA,IAAA,GAAG,CAAC,WAAJ,CAAgB,GAAG,CAAC,gBAApB;AACD;;AAEkC,QAAtB,sBAAsB,CAAC,KAAD,EAAkB;AACnD,UAAM,eAAK,WAAL,CACF,MAAM,KAAK,QAAL,IAAkB;AACA;AACA;AACpB,SAAK,gBAAL,CACI,KADJ,EAEI,qBAAM,SAAN,CACI,8CADJ,CAFJ,CAJF,CAAN;AAQA,WAAO,KAAK,YAAL,CACH,KADG,EACI,qBAAM,SAAN,CAAgB,8CAAhB,CADJ,CAAP;AAED;;AAEO,EAAA,YAAY,CAAC,KAAD,EAAoB,iBAApB,EAA6C;AAC/D,QAAI,iBAAiB,KAAK,CAA1B,EAA6B;AAC3B,aAAO,IAAP;AACD;;AAED,QAAI,iBAAiB,KAAK,CAA1B,EAA6B;AAC3B,YAAM,GAAG,GAAG,KAAK,EAAjB;AAEA,YAAM,gBAAgB,GAAG,GAAG,CAAC,iBAAJ,CAAsB,KAAtB,EAA6B,GAAG,CAAC,YAAjC,CAAzB,CAH2B,CAI3B;;AACA,aAAO,gBAAgB,GAAG,OAA1B;AACD,KAND,MAMO;AACL,YAAM,GAAG,GAAG,KAAK,4BAAL,EAAZ;AAEA,YAAM,gBAAgB,GAClB,GAAG,CAAC,iBAAJ,CAAsB,KAAtB,EAA6B,GAAG,CAAC,gBAAjC,CADJ,CAHK,CAKL;;AACA,aAAO,gBAAgB,GAAG,OAA1B;AACD;AACF;;AAEO,EAAA,gBAAgB,CAAC,KAAD,EAAoB,iBAApB,EAA6C;AAEnE,QAAI,iBAAiB,KAAK,CAA1B,EAA6B;AAC3B,aAAO,IAAP;AACD;;AAED,QAAI,iBAAiB,KAAK,CAA1B,EAA6B;AAC3B,YAAM,GAAG,GAAG,KAAK,EAAjB;AACA,YAAM,GAAG,GAAG,KAAK,4BAAL,EAAZ;AAEA,YAAM,SAAS,GACX,GAAG,CAAC,iBAAJ,CAAsB,KAAtB,EAA6B,GAAG,CAAC,sBAAjC,CADJ;;AAEA,UAAI,KAAK,QAAL,IAAiB,IAArB,EAA2B;AACzB,aAAK,QAAL,GAAgB,KAAK,EAAL,CAAQ,YAAR,CAAqB,GAAG,CAAC,gBAAzB,CAAhB;AACD;;AAED,aAAO,SAAS,IAAI,CAAC,KAAK,QAA1B;AACD,KAXD,MAWO;AACL,YAAM,GAAG,GAAG,KAAK,4BAAL,EAAZ;AAEA,YAAM,SAAS,GACX,GAAG,CAAC,iBAAJ,CAAsB,KAAtB,EAA6B,GAAG,CAAC,0BAAjC,CADJ;;AAEA,UAAI,KAAK,QAAL,IAAiB,IAArB,EAA2B;AACzB,aAAK,QAAL,GAAgB,KAAK,EAAL,CAAQ,YAAR,CAAqB,GAAG,CAAC,gBAAzB,CAAhB;AACD;;AAED,aAAO,SAAS,IAAI,CAAC,KAAK,QAA1B;AACD;AACF;;AAED,EAAA,SAAS,CAAC,YAAD,EAA2B;AAClC,WAAO,IAAI,OAAJ,CAAkB,OAAO,IAAG;AACjC,WAAK,aAAL,CAAmB,MAAM,YAAY,CAAC,aAAb,EAAzB,EAAuD,MAAM,OAAO,EAApE;AACD,KAFM,CAAP;AAGD;;AAID,EAAA,SAAS,GAAA;AACP;AACA,UAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,WAAL,CAAiB,GAAjB,CAAqB,CAAC,IAAI,CAAC,CAAC,QAA5B,CAAD,CAAlC;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,IAAI,KAArB,EAA4B,EAAE,CAA9B,EAAiC;AAC/B,YAAM;AAAC,QAAA;AAAD,UAAc,KAAK,WAAL,CAAiB,CAAjB,CAApB;AACA,MAAA,SAAS;AACV;;AACD,SAAK,WAAL,GAAmB,KAAK,WAAL,CAAiB,KAAjB,CAAuB,KAAK,GAAG,CAA/B,CAAnB;AACD;;AAEO,EAAA,aAAa,CAAC,QAAD,EAA0B,SAA1B,EAA+C;AAClE,SAAK,WAAL,CAAiB,IAAjB,CAAsB;AAAC,MAAA,QAAD;AAAW,MAAA;AAAX,KAAtB;;AACA,QAAI,KAAK,WAAL,CAAiB,MAAjB,GAA0B,CAA9B,EAAiC;AAC/B;AACA;AACD,KALiE,CAMlE;;;AACA,mBAAK,WAAL,CAAiB,MAAK;AACpB,WAAK,SAAL,GADoB,CAEpB;;AACA,aAAO,KAAK,WAAL,CAAiB,MAAjB,KAA4B,CAAnC;AACD,KAJD;AAKD;;AAEO,EAAA,wBAAwB,CAAC,OAAD,EAAsB;AACpD,SAAK,eAAL;AACA,IAAA,UAAU,CAAC,6BAAX,CACI,KAAK,EADT,EACa,OADb,EACsB,KAAK,WAD3B;;AAEA,QAAI,KAAK,KAAT,EAAgB;AACd,MAAA,UAAU,CAAC,mBAAX,CAA+B,KAAK,EAApC;AACD;AACF;;AAEO,EAAA,0BAA0B,GAAA;AAChC,QAAI,KAAK,aAAL,IAAsB,IAA1B,EAAgC;AAC9B,MAAA,UAAU,CAAC,6BAAX,CACI,KAAK,EADT,EACa,KAAK,aADlB,EACiC,KAAK,WADtC;;AAEA,UAAI,KAAK,KAAT,EAAgB;AACd,QAAA,UAAU,CAAC,mBAAX,CAA+B,KAAK,EAApC;AACD;AACF,KAND,MAMO;AACL,MAAA,UAAU,CAAC,iCAAX,CAA6C,KAAK,EAAlD,EAAsD,KAAK,WAA3D;AACD;AACF;;AAEO,EAAA,oBAAoB,CACxB,OADwB,EAExB,iBAFwB,EAEa;AACvC,SAAK,wBAAL,CAA8B,OAA9B;AACA,UAAM,MAAM,GAAG,iBAAiB,EAAhC;AACA,SAAK,0BAAL;AAEA,WAAO,MAAP;AACD;;AAEO,EAAA,4BAA4B,CAChC,8BADgC,EACc,KADd,EAEhC,MAFgC,EAElB;AAChB,SAAK,eAAL;AACA,UAAM,EAAE,GAAG,KAAK,EAAhB;AACA,IAAA,UAAU,CAAC,6BAAX,CACI,EADJ,EACQ,8BADR,EACwC,KAAK,WAD7C;;AAEA,QAAI,KAAK,KAAT,EAAgB;AACd,MAAA,UAAU,CAAC,mBAAX,CAA+B,EAA/B;AACD;;AACD,SAAK,aAAL,GAAqB,8BAArB;AACA,IAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,QAAH,CAAY,CAAZ,EAAe,CAAf,EAAkB,KAAlB,EAAyB,MAAzB,CAAlC;AACA,IAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,OAAH,CAAW,CAAX,EAAc,CAAd,EAAiB,KAAjB,EAAwB,MAAxB,CAAlC;AACD;;AAEO,EAAA,gCAAgC,CACpC,CADoC,EACzB,CADyB,EACd,KADc,EACC,MADD,EACe;AACrD,SAAK,eAAL;AACA,IAAA,UAAU,CAAC,YAAX,CACI,KAAK,EADT,EACa,MAAM,KAAK,EAAL,CAAQ,OAAR,CAAgB,CAAhB,EAAmB,CAAnB,EAAsB,KAAtB,EAA6B,MAA7B,CADnB;AAED;;AAEO,EAAA,eAAe,GAAA;AACrB,QAAI,KAAK,QAAT,EAAmB;AACjB,YAAM,IAAI,KAAJ,CAAU,yCAAV,CAAN;AACD;AACF;;AAEO,EAAA,gBAAgB,GAAA;AACtB,QAAI,KAAK,OAAL,IAAgB,IAApB,EAA0B;AACxB,YAAM,IAAI,KAAJ,CAAU,kCAAV,CAAN;AACD;AACF;;AAtkBsB;AA8kBzB;;;;;;;;;;AAMM,SAAU,oBAAV,CAA+B,GAA/B,EAAwD;AAC5D,MAAI,CAAC,GAAG,CAAR;;AACA,SAAO,CAAC,GAAG,GAAG,CAAC,MAAf,EAAuB,EAAE,CAAzB,EAA4B;AAC1B,UAAM,MAAM,GAAG,GAAG,CAAC,CAAD,CAAH,EAAf;;AACA,QAAI,CAAC,MAAL,EAAa;AACX;AACD;AACF;;AACD,SAAO,CAAC,GAAG,CAAX;AACD;;;;;;;;;;;;ACxmBD;;AAEA;;AACA;;;;;;AAvBA;;;;;;;;;;;;;;;;AAiBA;AACA;AAGA,MAAM;AAAC,EAAA;AAAD,IAAqB,sBAA3B;;AA4BM,SAAU,UAAV,CACF,UADE,EACuB,WADvB,EAEF,OAFE,EAEoB;AACxB,QAAM,cAAc,GAAa,EAAjC;AACA,EAAA,UAAU,CAAC,OAAX,CAAmB,CAAC,IAAG;AACrB,UAAM,IAAI,GAAG,eAAK,aAAL,CAAmB,CAAC,CAAC,SAAF,CAAY,YAA/B,CAAb,CADqB,CAGrB;;;AACA,QAAI,CAAC,CAAC,SAAF,CAAY,SAAhB,EAA2B;AACzB,MAAA,cAAc,CAAC,IAAf,CACI,iBAAiB,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAP,GAAW,IAAI,IAAI,GAAnB,GAAyB,EAAE,GADzD;AAED,KAHD,MAGO;AACL,MAAA,cAAc,CAAC,IAAf,CAAoB,qBAAqB,CAAC,CAAC,IAAI,GAA/C;AACA,MAAA,cAAc,CAAC,IAAf,CAAoB,qBAAqB,CAAC,CAAC,IAAI,GAA/C;AACD;;AAED,QAAI,OAAO,CAAC,mBAAZ,EAAiC;AAC/B,YAAM;AAAC,QAAA;AAAD,UAAiB,uBAAuB,CAC1C,OAAO,CAAC,YADkC,EACpB,CAAC,CAAC,SAAF,CAAY,YADQ,EACM,CAAC,CAAC,SAAF,CAAY,QADlB,CAA9C;;AAEA,cAAQ,YAAY,CAAC,MAArB;AACE,aAAK,CAAL;AACE,UAAA,cAAc,CAAC,IAAf,CAAoB,eAAe,CAAC,CAAC,IAAI,QAAzC;AACA;;AACF,aAAK,CAAL;AACE,UAAA,cAAc,CAAC,IAAf,CAAoB,iBAAiB,CAAC,CAAC,IAAI,QAA3C;AACA;;AACF,aAAK,CAAL;AACE,UAAA,cAAc,CAAC,IAAf,CAAoB,iBAAiB,CAAC,CAAC,IAAI,QAA3C;AACA;;AACF,aAAK,CAAL;AACE,UAAA,cAAc,CAAC,IAAf,CAAoB,iBAAiB,CAAC,CAAC,IAAI,QAA3C;AACA;;AACF;AACE;AAdJ;;AAgBA,MAAA,cAAc,CAAC,IAAf,CAAoB,iBAAiB,CAAC,CAAC,IAAI,WAA3C;AACD;AACF,GAjCD;;AAmCA,MAAI,OAAO,CAAC,mBAAZ,EAAiC;AAC/B,YAAQ,WAAW,CAAC,YAAZ,CAAyB,MAAjC;AACE,WAAK,CAAL;AACE,QAAA,cAAc,CAAC,IAAf,CAAoB,uBAApB;AACA;;AACF,WAAK,CAAL;AACE,QAAA,cAAc,CAAC,IAAf,CAAoB,yBAApB;AACA,QAAA,cAAc,CAAC,IAAf,CAAoB,8BAApB;AACA;;AACF,WAAK,CAAL;AACE,QAAA,cAAc,CAAC,IAAf,CAAoB,yBAApB;AACA,QAAA,cAAc,CAAC,IAAf,CAAoB,gCAApB;AACA;;AACF,WAAK,CAAL;AACE,QAAA,cAAc,CAAC,IAAf,CAAoB,yBAApB;AACA,QAAA,cAAc,CAAC,IAAf,CAAoB,gCAApB;AACA;;AACF;AACE;AAjBJ;;AAmBA,IAAA,cAAc,CAAC,IAAf,CAAoB,4BAApB;AACD;;AACD,MAAI,OAAO,CAAC,cAAZ,EAA4B;AAC1B,IAAA,OAAO,CAAC,cAAR,CAAuB,OAAvB,CAAgC,CAAD,IAAM;AACnC,MAAA,cAAc,CAAC,IAAf,CAAoB,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAC3C,CAAC,CAAC,UAAF,GAAe,IAAI,CAAC,CAAC,UAAU,GAA/B,GAAqC,EAAE,GAD3C;AAED,KAHD;AAID;;AACD,QAAM,kBAAkB,GAAG,cAAc,CAAC,IAAf,CAAoB,IAApB,CAA3B;AAEA,QAAM,oBAAoB,GAAG,UAAU,CACL,GADL,CAEQ,CAAC,IAAI,uBAAuB,CACxB,CADwB,EACrB,WADqB,EACR,OAAO,CAAC,YADA,EAExB,OAAO,CAAC,mBAFgB,CAFpC,EAKK,IALL,CAKU,IALV,CAA7B;AAMA,QAAM,WAAW,GAAG,WAAW,CAAC,QAAhC;AACA,QAAM,IAAI,GAAG,uCAAb;AACA,QAAM,yBAAyB,GAAG,4BAA4B,CAAC,IAAD,CAA9D;AACA,MAAI,qBAAJ;AACA,MAAI,4BAAJ;AACA,MAAI,YAAY,GAAG,eAAe,CAAC,IAAD,CAAlC;;AAEA,MAAI,WAAW,CAAC,QAAhB,EAA0B;AACxB,IAAA,qBAAqB,GAAG,8BAA8B,CAClD,WAAW,CAAC,YADsC,EACxB,WADwB,EACX,OAAO,CAAC,mBADG,CAAtD;AAEA,IAAA,4BAA4B,GAAG,6BAA6B,CAAC,IAAD,CAA5D;AACD,GAJD,MAIO;AACL,IAAA,qBAAqB,GAAG,wBAAwB,CAC5C,WAAW,CAAC,YADgC,EAClB,WADkB,EACL,OAAO,CAAC,mBADH,CAAhD;AAEA,IAAA,4BAA4B,GAAG,0BAA0B,CAAC,IAAD,CAAzD;AACD;;AAED,MAAI,OAAO,CAAC,YAAZ,EAA0B;AACxB,IAAA,YAAY,IAAI,oBAAhB;AACD;;AAED,QAAM,MAAM,GAAG,CACb,YADa,EACC,yBADD,EAC4B,4BAD5B,EAEb,kBAFa,EAEO,qBAFP,EAE8B,oBAF9B,EAGb,OAAO,CAAC,QAHK,EAIb,IAJa,CAIR,IAJQ,CAAf;AAKA,SAAO,MAAP;AACD;;AAED,SAAS,oBAAT,CACI,MADJ,EACuB,mBAAmB,GAAG,KAD7C,EACkD;AAChD,QAAM,KAAK,GAAG,MAAM,CAAC,SAAP,CAAiB,YAA/B;;AACA,UAAQ,KAAK,CAAC,MAAd;AACE,SAAK,CAAL;AACE,aAAO,gBAAgB,CAAC,MAAD,EAAS,mBAAT,CAAvB;;AACF,SAAK,CAAL;AACE,aAAO,YAAY,CAAC,MAAD,EAAS,mBAAT,CAAnB;;AACF,SAAK,CAAL;AACE,aAAO,YAAY,CAAC,MAAD,EAAS,mBAAT,CAAnB;;AACF,SAAK,CAAL;AACE,aAAO,YAAY,CAAC,MAAD,EAAS,mBAAT,CAAnB;;AACF,SAAK,CAAL;AACE,aAAO,YAAY,CAAC,MAAD,EAAS,mBAAT,CAAnB;;AACF,SAAK,CAAL;AACE,aAAO,YAAY,CAAC,MAAD,CAAnB;;AACF,SAAK,CAAL;AACE,aAAO,YAAY,CAAC,MAAD,CAAnB;;AACF;AACE,YAAM,IAAI,KAAJ,CACF,GAAG,KAAK,CAAC,MAAM,mBAAf,GACA,uBAFE,CAAN;AAhBJ;AAoBD;;AAED,SAAS,0BAAT,CACI,MADJ,EACuB,mBADvB,EACmD;AACjD,QAAM,KAAK,GAAG,MAAM,CAAC,SAAP,CAAiB,YAA/B;;AACA,UAAQ,KAAK,CAAC,MAAd;AACE,SAAK,CAAL;AACE,aAAO,sBAAsB,CAAC,MAAD,CAA7B;;AACF,SAAK,CAAL;AACE,aAAO,kBAAkB,CAAC,MAAD,EAAS,mBAAT,CAAzB;;AACF,SAAK,CAAL;AACE,aAAO,kBAAkB,CAAC,MAAD,EAAS,mBAAT,CAAzB;;AACF,SAAK,CAAL;AACE,aAAO,kBAAkB,CAAC,MAAD,EAAS,mBAAT,CAAzB;;AACF;AACE,aAAO,kBAAkB,CAAC,MAAD,EAAS,mBAAT,CAAzB;AAVJ;AAYD;;AAED,SAAS,uBAAT,CACI,MADJ,EACuB,YADvB,EACgD,kBAAkB,GAAG,KADrE,EAEI,mBAFJ,EAEgC;AAC9B,MAAI,GAAG,GAAG,EAAV;;AACA,MAAI,kBAAJ,EAAwB;AACtB,IAAA,GAAG,IAAI,0BAA0B,CAAC,MAAD,EAAS,mBAAT,CAAjC;AACD,GAFD,MAEO;AACL,IAAA,GAAG,IAAI,oBAAoB,CAAC,MAAD,EAAS,mBAAT,CAA3B;AACD;;AAED,QAAM,OAAO,GAAG,MAAM,CAAC,SAAP,CAAiB,YAAjC;AACA,QAAM,QAAQ,GAAG,YAAY,CAAC,YAA9B;;AACA,MAAI,OAAO,CAAC,MAAR,IAAkB,QAAQ,CAAC,MAA/B,EAAuC;AACrC,QAAI,kBAAJ,EAAwB;AACtB,MAAA,GAAG,IAAI,8BAA8B,CAAC,MAAD,EAAS,YAAT,CAArC;AACD,KAFD,MAEO;AACL,MAAA,GAAG,IAAI,wBAAwB,CAAC,MAAD,EAAS,YAAT,CAA/B;AACD;AACF;;AACD,SAAO,GAAP;AACD;;AAED,SAAS,8BAAT,CACI,QADJ,EACwB,WADxB,EAEI,mBAFJ,EAEgC;AAC9B,UAAQ,QAAQ,CAAC,MAAjB;AACE,SAAK,CAAL;AACE,aAAO,qBAAqB,EAA5B;;AACF,SAAK,CAAL;AACE,aAAO,uBAAuB,CAC1B,QAD0B,EACJ,WADI,EACS,mBADT,CAA9B;;AAEF,SAAK,CAAL;AACE,aAAO,uBAAuB,CAC1B,QAD0B,EACI,WADJ,EACiB,mBADjB,CAA9B;;AAEF,SAAK,CAAL;AACE,aAAO,uBAAuB,CAC1B,QAD0B,EACY,WADZ,EAE1B,mBAF0B,CAA9B;;AAGF;AACE,aAAO,uBAAuB,CAC1B,QAD0B,EAChB,WADgB,EACH,mBADG,CAA9B;AAdJ;AAiBD;;AAED,SAAS,wBAAT,CACI,QADJ,EACwB,WADxB,EAEI,mBAFJ,EAEgC;AAC9B,UAAQ,QAAQ,CAAC,MAAjB;AACE,SAAK,CAAL;AACE,aAAO,qBAAqB,EAA5B;;AACF,SAAK,CAAL;AACE,aAAO,iBAAiB,CACpB,QADoB,EACE,WADF,EACe,mBADf,CAAxB;;AAEF,SAAK,CAAL;AACE,aAAO,iBAAiB,CACpB,QADoB,EACU,WADV,EACuB,mBADvB,CAAxB;;AAEF,SAAK,CAAL;AACE,aAAO,iBAAiB,CACpB,QADoB,EACkB,WADlB,EAEpB,mBAFoB,CAAxB;;AAGF,SAAK,CAAL;AACE,aAAO,iBAAiB,CACpB,QADoB,EAC0B,WAD1B,EAEpB,mBAFoB,CAAxB;;AAGF,SAAK,CAAL;AACE,aAAO,iBAAiB,CACpB,QADoB,EACkC,WADlC,CAAxB;;AAEF,SAAK,CAAL;AACE,aAAO,iBAAiB,CACpB,QADoB,EAEpB,WAFoB,CAAxB;;AAGF;AACE,YAAM,IAAI,KAAJ,CACF,GAAG,QAAQ,CAAC,MAAM,yCADhB,CAAN;AAzBJ;AA4BD;;AAED,SAAS,4BAAT,CAAsC,IAAtC,EAAgD;AAC9C,SAAO;;eAEM,IAAI,CAAC,SAAS;;GAF3B;AAKD;;AAED,SAAS,0BAAT,CAAoC,IAApC,EAA8C;AAC5C,SAAO;;QAED,IAAI,CAAC,MAAM;;GAFjB;AAKD;;AAED,SAAS,6BAAT,CAAuC,IAAvC,EAAiD;AAC/C,SAAO;;QAED,IAAI,CAAC,MAAM;;GAFjB;AAKD;;AAED,SAAS,eAAT,CAAyB,IAAzB,EAAmC;AACjC,QAAM,aAAa,GAAG,GAAG,IAAI,CAAC,OAAO;;;;MAIjC,IAAI,CAAC,SAAS;MACd,IAAI,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;MAuBjB,IAAI,CAAC,gBAAgB;MACrB,IAAI,CAAC,gBAAgB;MACrB,IAAI,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;MAyBhB,iBAAiB;MACjB,iBAAiB;MACjB,iBAAiB;GAzDrB;AA4DA,SAAO,aAAP;AACD;;AAED,MAAM,iBAAiB,GAAG;;;;;;;;;;;;CAA1B;AAcA,MAAM,iBAAiB,GAAG;;;;;;;;CAA1B;AAUA,MAAM,iBAAiB,GAAG;;;;;;;;;CAA1B;AAWA,MAAM,oBAAoB,GAAG;;;;;;;;;;;CAA7B;;AAaA,SAAS,qBAAT,GAA8B;AAC5B,SAAO;;;;GAAP;AAKD;;AAED,SAAS,uBAAT,CACI,KADJ,EACqB,QADrB,EAEI,mBAFJ,EAEgC;AAC9B,QAAM,cAAc,GAChB,CAAC,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAAD,EAA6B,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAA7B,CADJ;;AAEA,MAAI,cAAc,CAAC,CAAD,CAAd,KAAsB,CAA1B,EAA6B;AAC3B,QAAI,mBAAJ,EAAyB;AACvB,aAAO;;;;KAAP;AAKD;;AAED,WAAO;;sCAE2B,cAAc,CAAC,CAAD,CAAG;;KAFnD;AAKD;;AAED,MAAI,cAAc,CAAC,CAAD,CAAd,KAAsB,CAA1B,EAA6B;AAC3B,QAAI,mBAAJ,EAAyB;AACvB,aAAO;;;;KAAP;AAKD;;AAED,WAAO;;sCAE2B,cAAc,CAAC,CAAD,CAAG;;KAFnD;AAKD;;AAED,MAAI,mBAAJ,EAAyB;AACvB,WAAO;;;;;;;GAAP;AAQD;;AAED,SAAO;;;oCAG2B,cAAc,CAAC,CAAD,CAAG,KAAK,cAAc,CAAC,CAAD,CAAG;iCAC1C,cAAc,CAAC,CAAD,CAAG;;GAJhD;AAOD;;AAED,SAAS,iBAAT,CACI,KADJ,EACqB,QADrB,EAEI,mBAFJ,EAEgC;AAC9B,MAAI,QAAQ,CAAC,CAAD,CAAR,KAAgB,CAApB,EAAuB;AACrB,QAAI,mBAAJ,EAAyB;AACvB,aAAO;;;;KAAP;AAKD;;AACD,WAAO;;kCAEuB,QAAQ,CAAC,CAAD,CAAG;;KAFzC;AAKD;;AACD,MAAI,QAAQ,CAAC,CAAD,CAAR,KAAgB,CAApB,EAAuB;AACrB,QAAI,mBAAJ,EAAyB;AACvB,aAAO;;;;KAAP;AAKD;;AACD,WAAO;;kCAEuB,QAAQ,CAAC,CAAD,CAAG;;KAFzC;AAKD;;AACD,MAAI,mBAAJ,EAAyB;AACvB,WAAO;;;;;;GAAP;AAOD;;AACD,SAAO;;;oCAG2B,QAAQ,CAAC,CAAD,CAAG,KAAK,QAAQ,CAAC,CAAD,CAAG;4BACnC,QAAQ,CAAC,CAAD,CAAG;;GAJrC;AAOD;;AAED,SAAS,uBAAT,CACI,KADJ,EACqC,QADrC,EAEI,mBAFJ,EAEgC;AAC9B,MAAI,mBAAJ,EAAyB;AACvB,WAAO;;;;;;;;;;;;;;;;;GAAP;AAkBD;;AAED,QAAM,cAAc,GAChB,CAAC,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAAD,EAA6B,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAA7B,CADJ;AAEA,QAAM,kBAAkB,GAAG,IAAI,CAAC,IAAL,CAAU,KAAK,CAAC,CAAD,CAAL,GAAW,CAArB,CAA3B;AACA,QAAM,aAAa,GAAG,kBAAkB,GAAG,IAAI,CAAC,IAAL,CAAU,KAAK,CAAC,CAAD,CAAL,GAAW,CAArB,CAA3C;AAEA,SAAO;;;oCAG2B,cAAc,CAAC,CAAD,CAAG,KAAK,cAAc,CAAC,CAAD,CAAG;iCAC1C,cAAc,CAAC,CAAD,CAAG;;wBAE1B,aAAa;qBAChB,aAAa;;6BAEL,kBAAkB;4BACnB,kBAAkB;;;;GAV5C;AAeD;;AAED,SAAS,iBAAT,CACI,KADJ,EACqC,QADrC,EAEI,mBAFJ,EAEgC;AAC9B,MAAI,mBAAJ,EAAyB;AACvB,UAAM,sBAAsB,GACxB,WAAW,CAAC,2CAAZ,CACI,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CADJ,EACqB,KADrB,CADJ;AAIA,WAAO;;;;;MAKL,sBAAsB;;;CALxB;AASD;;AACD,QAAM,sBAAsB,GACxB,WAAW,CAAC,kCAAZ,CAA+C,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAA/C,EAAgE,KAAhE,CADJ;AAGA,SAAO;;;oCAG2B,QAAQ,CAAC,CAAD,CAAG,KAAK,QAAQ,CAAC,CAAD,CAAG;iCAC9B,QAAQ,CAAC,CAAD,CAAG;QACpC,sBAAsB;;;GAL5B;AASD;;AAED,SAAS,uBAAT,CACI,KADJ,EACqB,QADrB,EAEI,mBAFJ,EAEgC;AAC9B,MAAI,mBAAJ,EAAyB;AACvB;AACA,WAAO;;;;;;;;;;;;;;;;;;;;;;GAAP;AAuBD;;AACD,QAAM,cAAc,GAChB,CAAC,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAAD,EAA6B,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAA7B,CADJ;AAGA,QAAM,kBAAkB,GAAG,IAAI,CAAC,IAAL,CAAU,KAAK,CAAC,KAAK,CAAC,MAAN,GAAe,CAAhB,CAAL,GAA0B,CAApC,CAA3B;AACA,QAAM,aAAa,GACf,kBAAkB,GAAG,IAAI,CAAC,IAAL,CAAU,KAAK,CAAC,KAAK,CAAC,MAAN,GAAe,CAAhB,CAAL,GAA0B,CAApC,CADzB;AAEA,MAAI,cAAc,GAAG,aAArB;AACA,MAAI,OAAO,GAAG,EAAd;AACA,MAAI,MAAM,GAAG,SAAb;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAAN,GAAe,CAAnC,EAAsC,CAAC,EAAvC,EAA2C;AACzC,IAAA,cAAc,IAAI,KAAK,CAAC,KAAK,CAAC,MAAN,GAAe,CAAf,GAAmB,CAApB,CAAvB;AACA,IAAA,OAAO,GAAG;aACD,CAAC,cAAc,cAAc;kBACxB,CAAC,MAAM,cAAc;KAFzB,GAGN,OAHJ;AAIA,IAAA,MAAM,GAAG,IAAI,CAAC,IAAL,GAAY,MAArB;AACD;;AAED,SAAO;UACC,KAAK,CAAC,MAAM;;oCAEc,cAAc,CAAC,CAAD,CAAG,KAAK,cAAc,CAAC,CAAD,CAAG;iCAC1C,cAAc,CAAC,CAAD,CAAG;;QAE1C,OAAO;;wBAES,aAAa;qBAChB,aAAa;;6BAEL,kBAAkB;4BACnB,kBAAkB;;mBAE3B,KAAK,CAAC,MAAM,IAAI,MAAM;;GAdvC;AAiBD;;AAED,SAAS,iBAAT,CACI,KADJ,EAC6C,QAD7C,EAEI,mBAFJ,EAEgC;AAC9B,MAAI,mBAAJ,EAAyB;AACvB,UAAM,sBAAsB,GACxB,WAAW,CAAC,2CAAZ,CACI,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,IAAhB,CADJ,EAC2B,KAD3B,CADJ;AAIA,WAAO;;;;;QAKH,sBAAsB;;;GAL1B;AASD;;AACD,QAAM,sBAAsB,GAAG,WAAW,CAAC,kCAAZ,CAC3B,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,IAAhB,CAD2B,EACJ,KADI,CAA/B;AAGA,SAAO;;;eAGM,QAAQ,CAAC,CAAD,CAAG,KAAK,QAAQ,CAAC,CAAD,CAAG;iCACT,QAAQ,CAAC,CAAD,CAAG;QACpC,sBAAsB;;;GAL5B;AASD;;AAED,SAAS,iBAAT,CACI,KADJ,EAEI,QAFJ,EAE8B;AAC5B,QAAM,sBAAsB,GAAG,WAAW,CAAC,kCAAZ,CAC3B,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,IAAhB,EAAsB,IAAtB,CAD2B,EACE,KADF,CAA/B;AAGA,SAAO;;kDAEyC,QAAQ,CAAC,CAAD,CAAG;+BAC9B,QAAQ,CAAC,CAAD,CAAG;;iCAET,QAAQ,CAAC,CAAD,CAAG;;QAEpC,sBAAsB;;;;;GAP5B;AAaD;;AAED,SAAS,iBAAT,CACI,KADJ,EAEI,QAFJ,EAE8B;AAC5B,QAAM,sBAAsB,GAAG,WAAW,CAAC,kCAAZ,CAC3B,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,IAAhB,EAAsB,IAAtB,EAA4B,IAA5B,CAD2B,EACQ,KADR,CAA/B;AAGA,SAAO;;;eAGM,QAAQ,CAAC,CAAD,CAAG,KAAK,QAAQ,CAAC,CAAD,CAAG;iCACT,QAAQ,CAAC,CAAD,CAAG;;QAEpC,sBAAsB;;;;;GAN5B;AAYD;;AAED,SAAS,uBAAT,CACI,KADJ,EAC6B,QAD7B,EAEI,mBAFJ,EAEgC;AAC9B,QAAM,cAAc,GAChB,CAAC,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAAD,EAA6B,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAA7B,CADJ;;AAEA,MAAI,eAAK,WAAL,CAAiB,KAAjB,EAAwB,QAAxB,CAAJ,EAAuC;AACrC,QAAI,mBAAJ,EAAyB;AACvB,aAAO;;;;;KAAP;AAMD;;AAED,WAAO;;8CAEmC,cAAc,CAAC,CAAD,CAAG,KACvD,cAAc,CAAC,CAAD,CAAG;;KAHrB;AAMD,GAnB6B,CAqB9B;;;AACA,QAAM,kBAAkB,GAAG,IAAI,CAAC,IAAL,CAAU,KAAK,CAAC,CAAD,CAAL,GAAW,CAArB,CAA3B;AAEA;;;;;;;;;;AASA,MAAI,mBAAJ,EAAyB;AACvB,WAAO;;;;;;;;;;;;;GAAP;AAcD;;AAED,SAAO;;;oCAG2B,cAAc,CAAC,CAAD,CAAG,KAAK,cAAc,CAAC,CAAD,CAAG;;iCAE1C,cAAc,CAAC,CAAD,CAAG;6BACrB,kBAAkB;4BACnB,kBAAkB;;;;GAP5C;AAYD;;AAED,SAAS,iBAAT,CACI,KADJ,EAC6B,QAD7B,EAEI,mBAFJ,EAEgC;AAC9B,MAAI,eAAK,WAAL,CAAiB,KAAjB,EAAwB,QAAxB,CAAJ,EAAuC;AACrC,QAAI,mBAAJ,EAAyB;AACvB,aAAO;;;;KAAP;AAKD;;AACD,WAAO;;0CAE+B,QAAQ,CAAC,CAAD,CAAG,KAAK,QAAQ,CAAC,CAAD,CAAG;;KAFjE;AAKD;;AACD,MAAI,KAAK,CAAC,CAAD,CAAL,KAAa,CAAjB,EAAoB;AAClB,QAAI,mBAAJ,EAAyB;AACvB,aAAO;;;;;;;KAAP;AAQD;;AACD,WAAO;;;sCAG2B,QAAQ,CAAC,CAAD,CAAG,KAAK,QAAQ,CAAC,CAAD,CAAG;mCAC9B,QAAQ,CAAC,CAAD,CAAG;;;KAJ1C;AAQD;;AACD,MAAI,KAAK,CAAC,CAAD,CAAL,KAAa,CAAjB,EAAoB;AAClB,QAAI,mBAAJ,EAAyB;AACvB,aAAO;;;;;;;KAAP;AAQD;;AACD,WAAO;;;sCAG2B,QAAQ,CAAC,CAAD,CAAG,KAAK,QAAQ,CAAC,CAAD,CAAG;mCAC9B,QAAQ,CAAC,CAAD,CAAG;;;KAJ1C;AAQD;;AACD,MAAI,mBAAJ,EAAyB;AACvB,WAAO;;;;;;;;;GAAP;AAUD;;AACD,SAAO;;;oCAG2B,QAAQ,CAAC,CAAD,CAAG,KAAK,QAAQ,CAAC,CAAD,CAAG;iCAC9B,QAAQ,CAAC,CAAD,CAAG;wBACpB,KAAK,CAAC,CAAD,CAAG;4BACJ,KAAK,CAAC,CAAD,CAAG;;;GANlC;AAUD;;AAED,SAAS,wBAAT,CAAkC,OAAlC,EAAiD;AAC/C,SAAO,SAAS,OAAO,EAAvB;AACD;;AAED,SAAS,sBAAT,CAAgC,SAAhC,EAAoD;AAClD,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,EAAR,GAA0C,OAAO,CAAC,KAAR,CAAc,CAAd,CAA3D;AACA,QAAM,IAAI,GAAG,uCAAb;AACA,SAAO;WACE,QAAQ;eACJ,IAAI,CAAC,SAAS,IAAI,OAAO;;GAFtC;AAKD;;AAED,SAAS,gBAAT,CACI,SADJ,EAC0B,mBAD1B,EACsD;AACpD,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,EAAR,GAA0C,OAAO,CAAC,KAAR,CAAc,CAAd,CAA3D;;AACA,MAAI,SAAS,CAAC,SAAV,CAAoB,SAAxB,EAAmC;AACjC,WAAO,SAAS,QAAQ,cAAc,OAAO,IAA7C;AACD;;AACD,QAAM,CAAC,OAAD,EAAU,OAAV,IAAqB,SAAS,CAAC,SAAV,CAAoB,QAA/C;;AACA,MAAI,OAAO,KAAK,CAAZ,IAAiB,OAAO,KAAK,CAAjC,EAAoC;AAClC,WAAO;cACG,QAAQ;+BACS,OAAO;;KAFlC;AAKD;;AAED,QAAM,MAAM,GAAG,wBAAwB,CAAC,OAAD,CAAvC;;AACA,MAAI,mBAAJ,EAAyB;AACvB,WAAO;YACC,QAAQ;6BACS,OAAO,gBAAgB,OAAO,gBACnD,MAAM;6BACe,OAAO;;GAJhC;AAOD;;AAED,QAAM,CAAC,KAAD,EAAQ,KAAR,IAAiB,SAAS,CAAC,SAAV,CAAoB,QAA3C;AACA,SAAO;YACG,QAAQ;6BACS,KAAK,KAAK,KAAK,KAAK,MAAM;6BAC1B,OAAO;;GAHlC;AAMD;;AAED,SAAS,kBAAT,CACI,SADJ,EAC0B,mBAD1B,EACsD;AACpD,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,EAAR,GAA0C,OAAO,CAAC,KAAR,CAAc,CAAd,CAA3D;AACA,QAAM,QAAQ,GAAG,SAAS,CAAC,SAAV,CAAoB,QAArC;AACA,QAAM,IAAI,GAAG,uCAAb;;AACA,MAAI,mBAAJ,EAAyB;AACvB,WAAO;WACA,QAAQ;gDAEX,OAAO,mCAAmC,OAAO;;;eAG1C,IAAI,CAAC,SAAS,IAAI,OAAO;;GANpC;AASD;;AACD,QAAM,cAAc,GAChB,CAAC,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAAD,EAA6B,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAA7B,CADJ;AAEA,SAAO;WACE,QAAQ;;UAET,cAAc,CAAC,CAAD,CAAG,KAAK,cAAc,CAAC,CAAD,CAAG;eAClC,IAAI,CAAC,SAAS,IAAI,OAAO;;GAJtC;AAOD;;AAED,SAAS,YAAT,CACI,SADJ,EAC0B,mBAD1B,EACsD;AACpD,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,EAAR,GAA0C,OAAO,CAAC,KAAR,CAAc,CAAd,CAA3D;;AAEA,MAAI,SAAS,CAAC,SAAV,CAAoB,SAAxB,EAAmC;AACjC;AACA,WAAO;cACG,QAAQ;UACZ,iBAAiB,CAAC,SAAD,CAAW;;KAFlC;AAKD;;AAED,QAAM,QAAQ,GAAG,SAAS,CAAC,SAAV,CAAoB,QAArC;AACA,QAAM,KAAK,GAAG,QAAQ,CAAC,CAAD,CAAtB;AACA,QAAM,KAAK,GAAG,QAAQ,CAAC,CAAD,CAAtB;;AAEA,MAAI,KAAK,KAAK,CAAV,IAAe,KAAK,KAAK,CAA7B,EAAgC;AAC9B,WAAO;cACG,QAAQ;+BACS,OAAO;;KAFlC;AAKD;;AACD,QAAM,MAAM,GAAG,wBAAwB,CAAC,OAAD,CAAvC;;AACA,MAAI,KAAK,KAAK,CAAd,EAAiB;AACf,QAAI,mBAAJ,EAAyB;AACvB,aAAO;cACC,QAAQ;6CACuB,MAAM,oBACzC,OAAO;+BACc,OAAO;;KAJhC;AAOD;;AAED,WAAO;cACG,QAAQ;6CACuB,MAAM,cAAc,KAAK;+BACvC,OAAO;;KAHlC;AAMD;;AACD,MAAI,KAAK,KAAK,CAAd,EAAiB;AACf,QAAI,mBAAJ,EAAyB;AACvB,aAAO;cACC,QAAQ;wCACkB,MAAM,oBACpC,OAAO;+BACc,OAAO;;KAJhC;AAOD;;AAED,WAAO;cACG,QAAQ;wCACkB,MAAM,cAAc,KAAK;+BAClC,OAAO;;KAHlC;AAMD;;AAED,MAAI,mBAAJ,EAAyB;AACvB,WAAO;YACC,QAAQ;6BACS,OAAO,gBAC5B,OAAO,wBAAwB,MAAM;6BAChB,OAAO;;GAJhC;AAOD;;AAED,SAAO;YACG,QAAQ;6BACS,KAAK,KAAK,KAAK,aAAa,MAAM;6BAClC,OAAO;;GAHlC;AAMD;;AAED,SAAS,kBAAT,CACI,SADJ,EAC0B,mBAD1B,EACsD;AACpD,QAAM,KAAK,GAAG,SAAS,CAAC,SAAV,CAAoB,YAAlC;AACA,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,EAAR,GAA0C,OAAO,CAAC,KAAR,CAAc,CAAd,CAA3D;AACA,QAAM,QAAQ,GAAG,SAAS,CAAC,SAAV,CAAoB,QAArC;AAEA,QAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AACA,QAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AACA,QAAM,IAAI,GAAG,uCAAb;;AACA,MAAI,QAAQ,IAAI,IAAZ,IAAoB,eAAK,WAAL,CAAiB,KAAjB,EAAwB,QAAxB,CAAxB,EAA2D;AACzD,QAAI,mBAAJ,EAAyB;AACvB,aAAO;aACA,QAAQ;qDACgC,OAAO,gBAClD,OAAO;;iBAEA,IAAI,CAAC,SAAS,IAAI,OAAO;;KALpC;AAQD;;AACD,WAAO;aACE,QAAQ;qDACgC,OAAO,OAAO,OAAO;;iBAEzD,IAAI,CAAC,SAAS,IAAI,OAAO;;KAJtC;AAOD;;AAED,MAAI,mBAAJ,EAAyB;AACvB,WAAO;WACA,QAAQ;gDAEX,OAAO,mCAAmC,OAAO;0CACf,OAAO;;eAElC,IAAI,CAAC,SAAS,IAAI,OAAO;;GANpC;AASD;;AACD,QAAM,cAAc,GAChB,CAAC,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAAD,EAA6B,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAA7B,CADJ;AAEA,QAAM,YAAY,GAAG,IAAI,CAAC,IAAL,CAAU,KAAK,CAAC,CAAD,CAAL,GAAW,CAArB,CAArB;AAEA,SAAO;WACE,QAAQ;iCACc,YAAY,KAAK,cAAc,CAAC,CAAD,CAAG,KAC7D,cAAc,CAAC,CAAD,CAAG;eACR,IAAI,CAAC,SAAS,IAAI,OAAO;;GAJtC;AAOD;;AAED,SAAS,YAAT,CACI,SADJ,EAC0B,mBAD1B,EACsD;AACpD,QAAM,KAAK,GAAG,SAAS,CAAC,SAAV,CAAoB,YAAlC;AACA,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,EAAR,GAA0C,OAAO,CAAC,KAAR,CAAc,CAAd,CAA3D;AACA,QAAM,QAAQ,GAAG,SAAS,CAAC,SAAV,CAAoB,QAArC;;AAEA,MAAI,QAAQ,IAAI,IAAZ,IAAoB,eAAK,WAAL,CAAiB,KAAjB,EAAwB,QAAxB,CAAxB,EAA2D;AACzD,QAAI,mBAAJ,EAAyB;AACvB,aAAO;cACC,QAAQ;qDAC+B,OAAO,gBAClD,OAAO;+BACc,OAAO;;KAJhC;AAOD;;AAED,UAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AACA,UAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AACA,WAAO;YACC,QAAQ;mDAC+B,OAAO,OAAO,OAAO;6BAC3C,OAAO;;GAHhC;AAMD;;AAED,QAAM;AAAC,IAAA,QAAD;AAAW,IAAA;AAAX,MAAuB,eAAK,YAAL,CAAkB,KAAlB,CAA7B;;AACA,QAAM,aAAa,GAAG,QAAtB;;AACA,MAAI,aAAa,CAAC,MAAd,GAAuB,KAAK,CAAC,MAAjC,EAAyC;AACvC,UAAM,YAAY,GAAG,gBAAgB,CAAC,SAAD,EAAY,aAAZ,CAArC;AACA,UAAM,MAAM,GAAG,CAAC,KAAD,EAAQ,KAAR,CAAf;AACA,WAAO;QACH,oBAAoB,CAAC,YAAD,EAAe,mBAAf,CAAmC;cACjD,QAAQ;iBACL,QAAQ,IAAI,iBAAiB,CAAC,MAAD,EAAS,QAAT,CAAkB;;KAH5D;AAMD;;AAED,MAAI,SAAS,CAAC,SAAV,CAAoB,SAAxB,EAAmC;AACjC;AACA,WAAO;cACG,QAAQ;qDAC+B,KAAK,CAAC,CAAD,CAAG;UACnD,iBAAiB,CAAC,SAAD,CAAW;;KAHlC;AAMD;;AAED,QAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AACA,QAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AACA,QAAM,MAAM,GAAG,wBAAwB,CAAC,OAAD,CAAvC;;AACA,MAAI,OAAO,KAAK,CAAhB,EAAmB;AACjB;AACA,QAAI,mBAAJ,EAAyB;AACvB,aAAO;cACC,QAAQ;2CACqB,MAAM,WACvC,OAAO;oDACmC,OAAO;+BAC5B,OAAO;;KALhC;AAQD;;AACD,WAAO;YACC,QAAQ;yCACqB,MAAM,WAAW,KAAK,CAAC,CAAD,CAAG;4CACtB,OAAO;6BACtB,OAAO;;GAJhC;AAOD;;AACD,MAAI,OAAO,KAAK,CAAhB,EAAmB;AACjB;AACA,QAAI,mBAAJ,EAAyB;AACvB,aAAO;cACC,QAAQ;2CACqB,MAAM,WACvC,OAAO;+CAC8B,OAAO;+BACvB,OAAO;;KALhC;AAQD;;AACD,WAAO;YACC,QAAQ;yCACqB,MAAM,WAAW,KAAK,CAAC,CAAD,CAAG;uCAC3B,OAAO;6BACjB,OAAO;;GAJhC;AAOD;;AAED,MAAI,mBAAJ,EAAyB;AACvB,WAAO;cACG,QAAQ;;4BAEM,OAAO,oBAAoB,MAAM;+BAC9B,OAAO,gBAC9B,OAAO;+BACgB,OAAO;;KANlC;AASD;;AACD,SAAO;UACC,QAAQ;;wBAEM,KAAK,CAAC,CAAD,CAAG,YAAY,MAAM;2BACvB,OAAO,KAAK,OAAO;2BACnB,OAAO;;CALhC;AAQD;;AAED,SAAS,kBAAT,CACI,SADJ,EAC0B,mBAD1B,EACsD;AACpD,QAAM,KAAK,GAAG,SAAS,CAAC,SAAV,CAAoB,YAAlC;AACA,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,EAAR,GAA0C,OAAO,CAAC,KAAR,CAAc,CAAd,CAA3D;AACA,QAAM,QAAQ,GAAG,SAAS,CAAC,SAAV,CAAoB,QAArC;AACA,QAAM,cAAc,GAChB,CAAC,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAAD,EAA6B,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAA7B,CADJ;;AAGA,MAAI,KAAK,CAAC,CAAD,CAAL,KAAa,CAAjB,EAAoB;AAClB,UAAM,aAAa,GAAG,KAAK,CAAC,KAAN,CAAY,CAAZ,CAAtB;AACA,UAAM,QAAQ,GAAG,CAAC,CAAD,EAAI,CAAJ,CAAjB;AACA,UAAM,YAAY,GAAG,gBAAgB,CAAC,SAAD,EAAY,aAAZ,CAArC;AACA,UAAM,MAAM,GAAG,CAAC,GAAD,EAAM,KAAN,EAAa,KAAb,CAAf;AACA,WAAO;UACD,0BAA0B,CAAC,YAAD,EAAe,mBAAf,CAAmC;eACxD,QAAQ;mBACJ,QAAQ,IAAI,iBAAiB,CAAC,MAAD,EAAS,QAAT,CAAkB;;OAH9D;AAMD;;AAED,QAAM,IAAI,GAAG,uCAAb;;AACA,MAAI,mBAAJ,EAAyB;AACvB,WAAO;WACA,QAAQ;gDAEX,OAAO,mCAAmC,OAAO;0CACf,OAAO;0DAEzC,OAAO;;;eAGA,IAAI,CAAC,SAAS,IAAI,OAAO;;GATpC;AAYD;;AAED,QAAM,OAAO,GAAG,cAAc,CAAC,CAAD,CAA9B;AACA,QAAM,OAAO,GAAG,cAAc,CAAC,CAAD,CAA9B;AAEA,QAAM,YAAY,GAAG,IAAI,CAAC,IAAL,CAAU,KAAK,CAAC,CAAD,CAAL,GAAW,CAArB,CAArB;AACA,QAAM,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC,IAAL,CAAU,KAAK,CAAC,CAAD,CAAL,GAAW,CAArB,CAArC;AAEA,SAAO;WACE,QAAQ;;UAET,OAAO,KAAK,OAAO,KAAK,aAAa,KAAK,YAAY;eACjD,IAAI,CAAC,SAAS,IAAI,OAAO;;GAJtC;AAOD;;AAED,SAAS,YAAT,CACI,SADJ,EAC0B,mBAD1B,EACsD;AACpD,QAAM,KAAK,GAAG,SAAS,CAAC,SAAV,CAAoB,YAAlC;AACA,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,EAAR,GAA0C,OAAO,CAAC,KAAR,CAAc,CAAd,CAA3D;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAC,CAAD,CAAhC;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAArB;;AAEA,QAAM;AAAC,IAAA,QAAD;AAAW,IAAA;AAAX,MAAuB,eAAK,YAAL,CAAkB,KAAlB,CAA7B;;AACA,QAAM,aAAa,GAAG,QAAtB;;AACA,MAAI,aAAa,CAAC,MAAd,GAAuB,KAAK,CAAC,MAAjC,EAAyC;AACvC,UAAM,YAAY,GAAG,gBAAgB,CAAC,SAAD,EAAY,aAAZ,CAArC;AACA,UAAM,MAAM,GAAG,CAAC,KAAD,EAAQ,KAAR,EAAe,OAAf,CAAf;AACA,WAAO;UACD,oBAAoB,CAAC,YAAD,EAAe,mBAAf,CAAmC;gBACjD,QAAQ;mBACL,QAAQ,IAAI,iBAAiB,CAAC,MAAD,EAAS,QAAT,CAAkB;;OAH9D;AAMD;;AAED,MAAI,SAAS,CAAC,SAAV,CAAoB,SAAxB,EAAmC;AACjC;AACA,WAAO;cACG,QAAQ;;iCAEW,OAAO,KAAK,OAAO;UAC1C,iBAAiB,CAAC,SAAD,CAAW;;KAJlC;AAOD;;AAED,QAAM,QAAQ,GAAG,SAAS,CAAC,SAAV,CAAoB,QAArC;AACA,QAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AACA,QAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AACA,QAAM,UAAU,GAAG,SAAS,CAAC,SAAV,CAAoB,UAAvC;;AACA,MAAI,OAAO,KAAK,OAAZ,IAAuB,UAAU,IAAI,IAAzC,EAA+C;AAC7C;AACA,QAAI,mBAAJ,EAAyB;AACvB,aAAO;cACC,QAAQ;wBACE,OAAO;;;;0BAIL,OAAO,gBAAgB,OAAO;+BACzB,OAAO;;KAPhC;AAUD;;AACD,WAAO;gBACK,QAAQ;;oDAE4B,OAAO;;4BAE/B,OAAO,OAAO,OAAO;iCAChB,OAAO;;OANpC;AASD;;AAED,MAAI,OAAO,KAAK,OAAZ,IAAuB,UAAU,IAAI,IAAzC,EAA+C;AAC7C;AACA,QAAI,mBAAJ,EAAyB;AACvB,aAAO;cACC,QAAQ;gDAC0B,OAAO;;uDAEA,OAAO,gBACpD,OAAO;+BACc,OAAO;;KANhC;AASD;;AACD,WAAO;YACC,QAAQ;8CAC0B,KAAK,CAAC,CAAD,CAAG;;qDAED,OAAO,OAAO,OAAO;6BAC7C,OAAO;;GALhC;AAQD;;AAED,QAAM,MAAM,GAAG,wBAAwB,CAAC,OAAD,CAAvC;;AACA,MAAI,mBAAJ,EAAyB;AACvB,WAAO;YACC,QAAQ;;sBAEE,OAAO,cAAc,OAAO;sBAC5B,OAAO;0BACH,OAAO,YAAY,OAAO,cAAc,MAAM;6BAC3C,OAAO,gBAAgB,OAAO;6BAC9B,OAAO;;KAPhC;AAUD;;AACD,SAAO;cACK,QAAQ;;4BAEM,OAAO,YAAY,OAAO,cAAc,MAAM;+BAC3C,OAAO,KAAK,OAAO;+BACnB,OAAO;;GALpC;AAQD;;AAED,SAAS,kBAAT,CACI,SADJ,EAC0B,mBAD1B,EACsD;AACpD,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,EAAR,GAA0C,OAAO,CAAC,KAAR,CAAc,CAAd,CAA3D;AACA,QAAM,IAAI,GAAG,uCAAb;;AACA,MAAI,mBAAJ,EAAyB;AACvB;AACA,WAAO;WACA,QAAQ;0CACuB,OAAO;0DAEzC,OAAO;;yBAEU,OAAO;;gDAGxB,OAAO,mCAAmC,OAAO;;;mGAIjD,IAAI,CAAC,SAAS,IAAI,OAAO;;GAb7B;AAgBD;;AACD,QAAM,KAAK,GAAG,SAAS,CAAC,SAAV,CAAoB,YAAlC;AACA,QAAM,IAAI,GAAG,KAAK,CAAC,MAAnB;AACA,QAAM,QAAQ,GAAG,SAAS,CAAC,SAAV,CAAoB,QAArC;AACA,QAAM,cAAc,GAChB,CAAC,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAAD,EAA6B,IAAI,CAAC,IAAL,CAAU,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAxB,CAA7B,CADJ;AAEA,QAAM,OAAO,GAAG,cAAc,CAAC,CAAD,CAA9B;AACA,QAAM,OAAO,GAAG,cAAc,CAAC,CAAD,CAA9B;AAEA,QAAM,YAAY,GAAG,IAAI,CAAC,IAAL,CAAU,KAAK,CAAC,IAAI,GAAG,CAAR,CAAL,GAAkB,CAA5B,CAArB;AACA,MAAI,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC,IAAL,CAAU,KAAK,CAAC,IAAI,GAAG,CAAR,CAAL,GAAkB,CAA5B,CAAnC;AACA,MAAI,MAAM,GAAG,yBAAb;AACA,MAAI,KAAK,GAAG,OAAO,aAAa,kBAAkB,YAAY,cAA9D;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAAI,GAAG,CAA3B,EAA8B,CAAC,EAA/B,EAAmC;AACjC,IAAA,MAAM,GAAG,QAAQ,CAAC,IAAT,GAAgB,MAAzB;AACA,IAAA,aAAa,IAAI,KAAK,CAAC,IAAI,GAAG,CAAP,GAAW,CAAZ,CAAtB;AACA,IAAA,KAAK,GAAG,IAAI,CAAC,MAAM,aAAa,KAAxB,GAAgC,KAAxC;AACD;;AACD,SAAO;WACE,QAAQ,IAAI,MAAM;oBACT,KAAK;2BACE,OAAO;kCACA,OAAO;qDACY,OAAO,KAAK,OAAO;eACzD,IAAI,CAAC,SAAS,IAAI,OAAO;;GANtC;AASD;;AAED,SAAS,YAAT,CACI,SADJ,EAC0B,mBAD1B,EACsD;AACpD,QAAM,KAAK,GAAG,SAAS,CAAC,SAAV,CAAoB,YAAlC;AACA,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,EAAR,GAA0C,OAAO,CAAC,KAAR,CAAc,CAAd,CAA3D;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAArB;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAAL,GAAW,OAA3B;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAAL,GAAW,OAA3B;;AAEA,QAAM;AAAC,IAAA,QAAD;AAAW,IAAA;AAAX,MAAuB,eAAK,YAAL,CAAkB,KAAlB,CAA7B;;AACA,MAAI,QAAQ,CAAC,MAAT,GAAkB,KAAK,CAAC,MAA5B,EAAoC;AAClC,UAAM,YAAY,GAAG,gBAAgB,CAAC,SAAD,EAAY,QAAZ,CAArC;AACA,UAAM,MAAM,GAAG,CAAC,KAAD,EAAQ,KAAR,EAAe,OAAf,EAAwB,QAAxB,CAAf;AACA,WAAO;QACH,oBAAoB,CAAC,YAAD,EAAe,mBAAf,CAAmC;cACjD,QAAQ;iBACL,QAAQ,IAAI,iBAAiB,CAAC,MAAD,EAAS,QAAT,CAAkB;;KAH5D;AAMD;;AAED,MAAI,SAAS,CAAC,SAAV,CAAoB,SAAxB,EAAmC;AACjC;AACA,WAAO;cACG,QAAQ;;iCAEW,OAAO,KAAK,OAAO,KAAK,OAAO;UACtD,iBAAiB,CAAC,SAAD,CAAW;;KAJlC;AAOD;;AAED,QAAM,UAAU,GAAG,SAAS,CAAC,SAAV,CAAoB,UAAvC;AACA,QAAM,QAAQ,GAAG,SAAS,CAAC,SAAV,CAAoB,QAArC;AACA,QAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AACA,QAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AAEA,QAAM,UAAU,GAAG,iBAAiB,OAAO,WAA3C;AACA,QAAM,UAAU,GAAG,iBAAiB,OAAO,qBAA3C;AACA,QAAM,UAAU,GAAG,iBAAiB,OAAO,qBAA3C;;AACA,MAAI,OAAO,KAAK,OAAZ,IAAuB,UAAU,IAAI,IAAzC,EAA+C;AAC7C;AACA,QAAI,mBAAJ,EAAyB;AACvB,aAAO;cACC,QAAQ;UACZ,UAAU;UACV,UAAU;;;;;;0BAMM,OAAO,gBAAgB,OAAO;+BACzB,OAAO;;KAVhC;AAaD;;AACD,WAAO;cACG,QAAQ;;;;uBAIC,OAAO,KAAK,OAAO;;0BAEhB,OAAO,OAAO,OAAO;+BAChB,OAAO;;KARlC;AAWD;;AACD,MAAI,OAAO,KAAK,OAAZ,IAAuB,UAAU,IAAI,IAAzC,EAA+C;AAC7C;AACA,QAAI,mBAAJ,EAAyB;AACvB,aAAO;cACC,QAAQ;;gCAEU,OAAO,cAAc,OAAO,aAClD,OAAO;;;yBAGQ,OAAO,gBAAgB,OAAO;+BACxB,OAAO;;KARhC;AAWD;;AACD,WAAO;cACG,QAAQ;;gCAEU,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAC,CAAD,CAAG,KAAK,KAAK,CAAC,CAAD,CAAG;;;yBAGvC,OAAO,OAAO,OAAO;+BACf,OAAO;;KAPlC;AAUD;;AAED,QAAM,MAAM,GAAG,wBAAwB,CAAC,OAAD,CAAvC;;AACA,MAAI,mBAAJ,EAAyB;AACvB,WAAO;YACC,QAAQ;;QAEZ,UAAU;QACV,UAAU;QACV,UAAU;;;6BAGW,OAAO,gBAC5B,OAAO,wBAAwB,MAAM;6BAChB,OAAO;;GAVhC;AAaD;;AACD,SAAO;YACG,QAAQ;;0BAEM,OAAO,YAAY,OAAO;oBAChC,OAAO;6BACE,OAAO,KAAK,OAAO,aAAa,MAAM;6BACtC,OAAO;;GANlC;AASD;;AAED,SAAS,YAAT,CAAsB,SAAtB,EAA0C;AACxC,QAAM,KAAK,GAAG,SAAS,CAAC,SAAV,CAAoB,YAAlC;AACA,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,EAAR,GAA0C,OAAO,CAAC,KAAR,CAAc,CAAd,CAA3D;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAArB;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAAL,GAAW,OAA3B;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAAL,GAAW,OAA3B;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAAL,GAAW,OAA3B;;AAEA,QAAM;AAAC,IAAA,QAAD;AAAW,IAAA;AAAX,MAAuB,eAAK,YAAL,CAAkB,KAAlB,CAA7B;;AACA,MAAI,QAAQ,CAAC,MAAT,GAAkB,KAAK,CAAC,MAA5B,EAAoC;AAClC,UAAM,YAAY,GAAG,gBAAgB,CAAC,SAAD,EAAY,QAAZ,CAArC;AACA,UAAM,MAAM,GAAG,CAAC,KAAD,EAAQ,KAAR,EAAe,OAAf,EAAwB,QAAxB,EAAkC,QAAlC,CAAf;AACA,WAAO;QACH,oBAAoB,CAAC,YAAD,CAAc;cAC5B,QAAQ;iBACL,QAAQ,IAAI,iBAAiB,CAAC,MAAD,EAAS,QAAT,CAAkB;;KAH5D;AAMD;;AAED,MAAI,SAAS,CAAC,SAAV,CAAoB,SAAxB,EAAmC;AACjC;AACA,WAAO;cACG,QAAQ;;;iBAGL,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO;;UAElD,iBAAiB,CAAC,SAAD,CAAW;;KANlC;AASD;;AAED,QAAM,UAAU,GAAG,SAAS,CAAC,SAAV,CAAoB,UAAvC;AACA,QAAM,QAAQ,GAAG,SAAS,CAAC,SAAV,CAAoB,QAArC;AACA,QAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AACA,QAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;;AAEA,MAAI,OAAO,KAAK,OAAZ,IAAuB,UAAU,IAAI,IAAzC,EAA+C;AAC7C;AACA,WAAO;cACG,QAAQ;;;gCAGU,OAAO,KAAK,OAAO,KAAK,OAAO;;0BAErC,OAAO,OAAO,OAAO;+BAChB,OAAO;;KAPlC;AAUD;;AAED,MAAI,OAAO,KAAK,OAAZ,IAAuB,UAAU,IAAI,IAAzC,EAA+C;AAC7C;AACA,WAAO;cACG,QAAQ;;;iBAGL,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAC,CAAD,CAAhB,GAAsB,KAAK,CAAC,CAAD,CAAG;iBAC9B,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAC,CAAD,CAAG,KAAK,KAAK,CAAC,CAAD,CAAG;;;yBAGxB,OAAO,OAAO,OAAO;+BACf,OAAO;;KATlC;AAYD;;AAED,QAAM,MAAM,GAAG,wBAAwB,CAAC,OAAD,CAAvC;AACA,SAAO;YACG,QAAQ;;0BAEM,OAAO,YAAY,OAAO,cAAc,OAAO;qBACpD,OAAO,eAAe,MAAM;6BACpB,OAAO,KAAK,OAAO;6BACnB,OAAO;;GANlC;AASD;;AAED,SAAS,YAAT,CAAsB,SAAtB,EAA0C;AACxC,QAAM,KAAK,GAAG,SAAS,CAAC,SAAV,CAAoB,YAAlC;AACA,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,EAAR,GAA0C,OAAO,CAAC,KAAR,CAAc,CAAd,CAA3D;;AAEA,QAAM;AAAC,IAAA,QAAD;AAAW,IAAA;AAAX,MAAuB,eAAK,YAAL,CAAkB,KAAlB,CAA7B;;AACA,MAAI,QAAQ,CAAC,MAAT,GAAkB,KAAK,CAAC,MAA5B,EAAoC;AAClC,UAAM,YAAY,GAAG,gBAAgB,CAAC,SAAD,EAAY,QAAZ,CAArC;AACA,UAAM,MAAM,GAAG,CAAC,KAAD,EAAQ,KAAR,EAAe,OAAf,EAAwB,QAAxB,EAAkC,QAAlC,EAA4C,QAA5C,CAAf;AACA,WAAO;QACH,oBAAoB,CAAC,YAAD,CAAc;cAC5B,QAAQ;;iBAEL,QAAQ,IAAI,iBAAiB,CAAC,MAAD,EAAS,QAAT,CAAkB;;KAJ5D;AAOD;;AAED,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAArB;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAAL,GAAW,OAA3B;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAAL,GAAW,OAA3B;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAAL,GAAW,OAA3B;AACA,QAAM,OAAO,GAAG,KAAK,CAAC,CAAD,CAAL,GAAW,OAA3B;;AAEA,MAAI,SAAS,CAAC,SAAV,CAAoB,SAAxB,EAAmC;AACjC;AACA,WAAO;cACG,QAAQ;;;;iBAIL,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO;;;mBAGzC,OAAO;UAChB,iBAAiB,CAAC,SAAD,CAAW;;KATlC;AAYD;;AAED,QAAM,UAAU,GAAG,SAAS,CAAC,SAAV,CAAoB,UAAvC;AACA,QAAM,QAAQ,GAAG,SAAS,CAAC,SAAV,CAAoB,QAArC;AACA,QAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;AACA,QAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;;AACA,MAAI,OAAO,KAAK,OAAZ,IAAuB,UAAU,IAAI,IAAzC,EAA+C;AAC7C;AACA,WAAO;cACG,QAAQ;;;;iBAIL,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO;;;0BAGlC,OAAO,OAAO,OAAO;+BAChB,OAAO;;KATlC;AAYD;;AACD,MAAI,OAAO,KAAK,OAAZ,IAAuB,UAAU,IAAI,IAAzC,EAA+C;AAC7C;AACA,WAAO;cACG,QAAQ;;;iBAGL,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAC,CAAD,CAAhB,GAAsB,KAAK,CAAC,CAAD,CAA3B,GAAiC,KAAK,CAAC,CAAD,CAAG;iBACzC,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAC,CAAD,CAAhB,GAAsB,KAAK,CAAC,CAAD,CAAG;iBAC9B,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAC,CAAD,CAAG;iBACnB,KAAK,CAAC,CAAD,CAAG;;;yBAGA,OAAO,OAAO,OAAO;+BACf,OAAO;;KAXlC;AAcD;;AACD,QAAM,MAAM,GAAG,wBAAwB,CAAC,OAAD,CAAvC;AACA,SAAO;YACG,QAAQ;;;0BAGM,OAAO,YAAY,OAAO,cAAc,OAAO;qBACpD,OAAO,eAAe,OAAO,eAAe,MAAM;6BAC1C,OAAO,KAAK,OAAO;6BACnB,OAAO;;GAPlC;AAUD;;AAED,SAAS,iBAAT,CAA2B,SAA3B,EAA+C;AAC7C,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;;AACA,QAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,SAAS,CAAC,SAAV,CAAoB,YAAvC,CAAf;;AAEA,MAAI,MAAM,GAAG,CAAb,EAAgB;AACd,WAAO,UAAU,OAAO,GAAxB;AACD;;AAED,SAAO;0BACiB,MAAM;;iBAEf,OAAO;;;GAHtB;AAOD;;AAED,SAAS,8BAAT,CACI,SADJ,EAC0B,YAD1B,EACiD;AAC/C,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,cAAc,GAAG,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,KAAkC,OAAO,CAAC,KAAR,CAAc,CAAd,CAAzD;AACA,QAAM,QAAQ,GAAG,QAAQ,cAAR,GAAyB,aAA1C;AACA,QAAM,MAAM,GAAG,SAAS,CAAC,SAAV,CAAoB,YAApB,CAAiC,MAAhD;AACA,QAAM,OAAO,GAAG,YAAY,CAAC,YAAb,CAA0B,MAA1C;AAEA,QAAM,aAAa,GAAG,gBAAgB,CAClC,SAAS,CAAC,SAAV,CAAoB,YADc,EACA,YAAY,CAAC,YADb,CAAtC;AAGA,QAAM,IAAI,GAAG,iBAAiB,CAAC,OAAD,CAA9B;AACA,QAAM,QAAQ,GAAG,OAAO,GAAG,MAA3B;AACA,MAAI,aAAJ;AACA,QAAM,MAAM,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,CAAf;;AAEA,MAAI,MAAM,KAAK,CAAf,EAAkB;AAChB,IAAA,aAAa,GAAG,EAAhB;AACD,GAFD,MAEO,IAAI,OAAO,GAAG,CAAV,IAAe,aAAa,CAAC,MAAd,IAAwB,CAA3C,EAA8C;AACnD,IAAA,aAAa,GAAG,aAAhB;AACD,GAFM,MAEA;AACL,IAAA,aAAa,GACT,aAAa,CAAC,GAAd,CAAkB,CAAC,IAAI,UAAU,MAAM,CAAC,CAAC,GAAG,QAAL,CAAc,OAArD,EACK,IADL,CACU,IADV,CADJ;AAGD;;AACD,MAAI,qBAAqB,GAAG,EAA5B;;AACA,MAAI,OAAO,GAAG,CAAV,IAAe,MAAM,GAAG,CAA5B,EAA+B;AAC7B,IAAA,qBAAqB,GAAG,QAAxB;AACD,GAFD,MAEO;AACL,IAAA,qBAAqB,GAAG,SAAS,CAAC,SAAV,CAAoB,YAApB,CACK,GADL,CACS,CAAC,CAAD,EAAI,CAAJ,KAAU,UAAU,MAAM,CAAC,CAAC,GAAG,QAAL,CAAc,EADjD,EAEK,IAFL,CAEU,IAFV,CAAxB;AAGD;;AAED,MAAI,MAAM,GAAG,qBAAb;;AACA,QAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,SAAS,CAAC,SAAV,CAAoB,YAAvC,CAAf;;AACA,QAAM,aAAa,GAAG,MAAM,KAAK,CAAjC;;AACA,QAAM,OAAO,GAAG,eAAK,aAAL,CAAmB,YAAY,CAAC,YAAhC,CAAhB;;AACA,QAAM,cAAc,GAAG,OAAO,KAAK,CAAnC;;AAEA,MAAI,MAAM,KAAK,CAAX,IAAgB,CAAC,aAAjB,IAAkC,CAAC,cAAvC,EAAuD;AACrD,IAAA,MAAM,GAAG;;KAAT;AAGD,GAJD,MAIO,IAAI,aAAa,IAAI,CAAC,cAAtB,EAAsC;AAC3C,QAAI,OAAO,KAAK,CAAhB,EAAmB;AACjB,MAAA,MAAM,GAAG;;OAAT;AAGD,KAJD,MAIO;AACL,MAAA,MAAM,GAAG;;OAAT;AAGD;AACF,GAVM,MAUA,IAAI,aAAa,CAAC,MAAlB,EAA0B;AAC/B,UAAM,IAAI,GAAG,MAAM,GAAG,CAAtB;AACA,UAAM,IAAI,GAAG,MAAM,GAAG,CAAtB;;AAEA,QAAI,aAAa,CAAC,OAAd,CAAsB,IAAtB,IAA8B,CAAC,CAA/B,IAAoC,aAAa,CAAC,OAAd,CAAsB,IAAtB,IAA8B,CAAC,CAAvE,EAA0E;AACxE,MAAA,MAAM,GAAG,6BAAT;AACD,KAFD,MAEO,IAAI,aAAa,CAAC,OAAd,CAAsB,IAAtB,IAA8B,CAAC,CAAnC,EAAsC;AAC3C,MAAA,MAAM,GAAG,4CAAA,GACL,gCADJ;AAED,KAHM,MAGA,IAAI,aAAa,CAAC,OAAd,CAAsB,IAAtB,IAA8B,CAAC,CAAnC,EAAsC;AAC3C,MAAA,MAAM,GAAG,8CAAT;AACD;AACF;;AAED,SAAO;WACE,QAAQ;QACX,IAAI;QACJ,aAAa;8BACS,cAAc,IAAI,qBAAqB;QAC7D,MAAM;;GALZ;AAQD;;AAED,SAAS,wBAAT,CACI,SADJ,EAC0B,YAD1B,EACiD;AAC/C,QAAM,OAAO,GAAG,SAAS,CAAC,IAA1B;AACA,QAAM,cAAc,GAAG,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,WAAlB,KAAkC,OAAO,CAAC,KAAR,CAAc,CAAd,CAAzD;AACA,QAAM,QAAQ,GAAG,QAAQ,cAAR,GAAyB,aAA1C;AACA,QAAM,WAAW,GAAG,YAAY,CAAC,QAAjC;AACA,QAAM,UAAU,GAAG,SAAS,CAAC,SAAV,CAAoB,QAAvC;AACA,QAAM,MAAM,GAAG,SAAS,CAAC,SAAV,CAAoB,YAApB,CAAiC,MAAhD;AACA,QAAM,OAAO,GAAG,YAAY,CAAC,YAAb,CAA0B,MAA1C;;AAEA,MAAI,CAAC,SAAS,CAAC,SAAV,CAAoB,SAArB,IAAkC,MAAM,KAAK,OAA7C,IACA,SAAS,CAAC,SAAV,CAAoB,UAApB,IAAkC,IADlC,IAEA,eAAK,WAAL,CAAiB,UAAjB,EAA6B,WAA7B,CAFJ,EAE+C;AAC7C,WAAO;cACG,QAAQ;+BACS,OAAO;;KAFlC;AAKD;;AAED,QAAM,IAAI,GAAG,iBAAiB,CAAC,OAAD,CAA9B;AACA,QAAM,aAAa,GAAG,gBAAgB,CAClC,SAAS,CAAC,SAAV,CAAoB,YADc,EACA,YAAY,CAAC,YADb,CAAtC;AAEA,QAAM,QAAQ,GAAG,OAAO,GAAG,MAA3B;AACA,MAAI,aAAJ;AACA,QAAM,MAAM,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,CAAf;;AAEA,MAAI,MAAM,KAAK,CAAf,EAAkB;AAChB,IAAA,aAAa,GAAG,EAAhB;AACD,GAFD,MAEO,IAAI,OAAO,GAAG,CAAV,IAAe,aAAa,CAAC,MAAd,IAAwB,CAA3C,EAA8C;AACnD,IAAA,aAAa,GAAG,aAAhB;AACD,GAFM,MAEA;AACL,IAAA,aAAa,GACT,aAAa,CAAC,GAAd,CAAkB,CAAC,IAAI,UAAU,MAAM,CAAC,CAAC,GAAG,QAAL,CAAc,OAArD,EACK,IADL,CACU,IADV,CADJ;AAGD;;AACD,MAAI,qBAAqB,GAAG,EAA5B;;AACA,MAAI,OAAO,GAAG,CAAV,IAAe,MAAM,GAAG,CAA5B,EAA+B;AAC7B,IAAA,qBAAqB,GAAG,QAAxB;AACD,GAFD,MAEO;AACL,IAAA,qBAAqB,GAAG,SAAS,CAAC,SAAV,CAAoB,YAApB,CACK,GADL,CACS,CAAC,CAAD,EAAI,CAAJ,KAAU,UAAU,MAAM,CAAC,CAAC,GAAG,QAAL,CAAc,EADjD,EAEK,IAFL,CAEU,IAFV,CAAxB;AAGD;;AAED,SAAO;YACG,QAAQ;QACZ,IAAI;QACJ,aAAa;kBACH,cAAc,IAAI,qBAAqB;;GAJvD;AAOD;;AAEK,SAAU,iBAAV,CAA4B,IAA5B,EAAwC;AAC5C,MAAI,IAAI,IAAI,CAAZ,EAAe;AACb,WAAO,KAAP;AACD,GAFD,MAEO,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,WAAO,OAAP;AACD,GAFM,MAEA,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,WAAO,OAAP;AACD,GAFM,MAEA,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,WAAO,OAAP;AACD,GAFM,MAEA,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,WAAO,OAAP;AACD,GAFM,MAEA,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,WAAO,OAAP;AACD,GAFM,MAEA;AACL,UAAM,KAAK,CAAC,gBAAgB,IAAI,uBAArB,CAAX;AACD;AACF;;AAEK,SAAU,uBAAV,CACF,QADE,EACiB,KADjB,EACkC,QADlC,EACoD;AACxD,QAAM;AAAC,IAAA;AAAD,MAAa,eAAK,YAAL,CAAkB,KAAlB,CAAnB;;AACA,QAAM,IAAI,GAAG,KAAK,CAAC,MAAnB;AACA,QAAM,qBAAqB,GAAG,QAAQ,IAAI,IAAI,KAAK,CAArB,IAA0B,KAAK,CAAC,CAAD,CAAL,KAAa,CAArE;AACA,QAAM,YAAY,GAAG,qBAAqB,GAAG,KAAK,CAAC,KAAN,CAAY,CAAZ,CAAH,GAAoB,QAA9D;AACA,QAAM,eAAe,GAChB,CAAC,QAAD,IAAa,IAAI,GAAG,CAApB,IAAyB,CAAC,eAAK,WAAL,CAAiB,KAAjB,EAAwB,QAAxB,CAA1B,IACA,QAAQ,CAAC,MAAT,GAAkB,IADnB,IAEA,qBAHJ;AAIA,QAAM,YAAY,GAAG,eAAe,GAAG,YAAH,GAAkB,KAAtD;AACA,SAAO;AAAC,IAAA,eAAD;AAAkB,IAAA;AAAlB,GAAP;AACD;AAED;;;AACM,SAAU,gBAAV,CACF,MADE,EACiB,aADjB,EACwC;AAC5C;AACA,QAAM,YAAY,GAAc,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,SAAL,CAAe,MAAf,CAAX,CAAhC;AACA,EAAA,YAAY,CAAC,SAAb,CAAuB,YAAvB,GAAsC,aAAtC;AACA,SAAO,YAAP;AACD;;AAED,SAAS,iBAAT,CAA2B,MAA3B,EAA6C,QAA7C,EAA+D;AAC7D,SAAO,QAAQ,CAAC,GAAT,CAAa,CAAC,IAAI,MAAM,CAAC,CAAD,CAAxB,EAA6B,IAA7B,CAAkC,IAAlC,CAAP;AACD;;;;;;;;;;;;ACz2DD;;AAGA;;;;;;AApBA;;;;;;;;;;;;;;;;AAwEM,SAAU,cAAV,CACF,KADE,EACmB,OADnB,EAC0C,MAD1C,EAEF,MAFE,EAEgB;AACpB,QAAM,UAAU,GAAgB,MAAM,CAAC,GAAP,CAAW,CAAC,KAAD,EAAQ,CAAR,KAAa;AACtD,UAAM,SAAS,GAAc;AAC3B,MAAA,YAAY,EAAE,KAAK,CAAC,KADO;AAE3B,MAAA,QAAQ,EAAE,KAAK,CAAC,SAAN,GAAkB,IAAlB,GAAyB,KAAK,CAAC,OAAN,CAAc,QAFtB;AAG3B,MAAA,SAAS,EAAE,KAAK,CAAC,SAHU;AAI3B,MAAA,QAAQ,EAAE,KAAK,CAAC,SAAN,GAAkB,KAAlB,GAA0B,KAAK,CAAC,OAAN,CAAc,QAJvB;AAK3B,MAAA,UAAU,EAAE;AALe,KAA7B;;AAOA,QAAI,KAAK,CAAC,OAAN,IAAiB,IAAjB,IAAyB,KAAK,CAAC,OAAN,CAAc,KAAd,IAAuB,IAAhD,IACA,KAAK,CAAC,OAAN,CAAc,KAAd,CAAoB,UAApB,GAAiC,CADrC,EACwC;AACtC,MAAA,SAAS,CAAC,UAAV,GAAuB,KAAK,CAAC,OAAN,CAAc,KAAd,CAAoB,UAA3C;AACD;;AACD,WAAO;AAAC,MAAA,IAAI,EAAE,OAAO,CAAC,aAAR,CAAsB,CAAtB,CAAP;AAAiC,MAAA;AAAjC,KAAP;AACD,GAb+B,CAAhC;AAcA,QAAM,YAAY,GAAG,UAAU,CAAC,GAAX,CAAe,CAAC,IAAI,CAAC,CAAC,SAAtB,CAArB;AACA,QAAM,YAAY,GAAc;AAC9B,IAAA,YAAY,EAAE,MAAM,CAAC,KADS;AAE9B,IAAA,QAAQ,EAAE,MAAM,CAAC,OAAP,CAAe,QAFK;AAG9B,IAAA,SAAS,EAAE,KAHmB;AAI9B,IAAA,QAAQ,EAAE,MAAM,CAAC,OAAP,CAAe,QAJK;AAK9B,IAAA,UAAU,EAAE;AALkB,GAAhC;AAOA,QAAM,MAAM,GAAG,eAAe,CAAC,UAAhB,CAA2B,UAA3B,EAAuC,YAAvC,EAAqD,OAArD,CAAf;AAEA,QAAM,YAAY,GAAG,KAAK,CAAC,aAAN,CAAoB,MAApB,CAArB,CAzBoB,CA2BpB;;AACA,MAAI,MAAM,GAAyB,IAAnC;AACA,QAAM,MAAM,GAAG,KAAK,CAAC,kBAAN,CAAyB,YAAzB,EAAuC,KAAvC,EAA8C,KAA9C,CAAf;;AACA,MAAI,qBAAM,SAAN,CAAgB,eAAhB,MAAqC,CAAzC,EAA4C;AAC1C,IAAA,MAAM,GAAG,KAAK,CAAC,kBAAN,CAAyB,YAAzB,EAAuC,UAAvC,EAAmD,KAAnD,CAAT;AACD,GAhCmB,CAkCpB;;;AACA,QAAM,WAAW,GAAG,KAApB;AACA,QAAM,gBAAgB,GAA2C,EAAjE;AACA,QAAM,iBAAiB,GAA2C,EAAlE;AACA,QAAM,oBAAoB,GAA2C,EAArE;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,CAAC,aAAR,CAAsB,MAA1C,EAAkD,CAAC,EAAnD,EAAuD;AACrD,UAAM,OAAO,GAAG,OAAO,CAAC,aAAR,CAAsB,CAAtB,CAAhB;AACA,IAAA,gBAAgB,CAAC,OAAD,CAAhB,GACI,KAAK,CAAC,kBAAN,CAAyB,YAAzB,EAAuC,OAAvC,EAAgD,WAAhD,CADJ;AAEA,IAAA,gBAAgB,CAAC,SAAS,OAAO,EAAjB,CAAhB,GACI,KAAK,CAAC,kBAAN,CAAyB,YAAzB,EAAuC,SAAS,OAAO,EAAvD,EAA2D,WAA3D,CADJ;;AAEA,QAAI,OAAO,CAAC,mBAAZ,EAAiC;AAC/B,MAAA,iBAAiB,CAAC,GAAG,OAAO,OAAX,CAAjB,GAAuC,KAAK,CAAC,kBAAN,CACnC,YADmC,EACrB,GAAG,OAAO,OADW,EACF,WADE,CAAvC;AAEA,MAAA,oBAAoB,CAAC,GAAG,OAAO,UAAX,CAApB,GAA6C,KAAK,CAAC,kBAAN,CACzC,YADyC,EAC3B,GAAG,OAAO,UADiB,EACL,WADK,CAA7C;AAED;AACF;;AAED,MAAI,gBAAJ;AACA,MAAI,mBAAJ;AACA,MAAI,uBAAJ;;AACA,MAAI,OAAO,CAAC,mBAAZ,EAAiC;AAC/B,IAAA,gBAAgB,GACZ,KAAK,CAAC,kBAAN,CAAyB,YAAzB,EAAuC,UAAvC,EAAmD,WAAnD,CADJ;AAEA,IAAA,uBAAuB,GACnB,KAAK,CAAC,kBAAN,CAAyB,YAAzB,EAAuC,iBAAvC,EAA0D,WAA1D,CADJ;AAEA,IAAA,mBAAmB,GACf,KAAK,CAAC,kBAAN,CAAyB,YAAzB,EAAuC,aAAvC,EAAsD,WAAtD,CADJ;AAED;;AAED,QAAM,sBAAsB,GAA2B,EAAvD;;AACA,MAAI,OAAO,CAAC,cAAZ,EAA4B;AAC1B,IAAA,OAAO,CAAC,cAAR,CAAuB,OAAvB,CAA+B,CAAC,CAAD,EAAI,CAAJ,KAAS;AACtC,MAAA,sBAAsB,CAAC,CAAD,CAAtB,GACI,KAAK,CAAC,kBAAN,CAAyB,YAAzB,EAAuC,CAAC,CAAC,IAAzC,EAA+C,WAA/C,CADJ;AAED,KAHD;AAID;;AAED,SAAO;AACL,IAAA,OADK;AAEL,IAAA,MAFK;AAGL,IAAA,YAHK;AAIL,IAAA,gBAJK;AAKL,IAAA,sBALK;AAML,IAAA,YANK;AAOL,IAAA,YAPK;AAQL,IAAA,MARK;AASL,IAAA,MATK;AAUL,IAAA,iBAVK;AAWL,IAAA,oBAXK;AAYL,IAAA,gBAZK;AAaL,IAAA,uBAbK;AAcL,IAAA;AAdK,GAAP;AAgBD;;AAED,SAAS,wBAAT,CACI,UADJ,EAC6B,MAD7B,EACiD;AAC/C,MAAI,UAAU,CAAC,MAAX,KAAsB,MAAM,CAAC,MAAjC,EAAyC;AACvC,UAAM,KAAK,CACP,4BAA4B,UAAU,CAAC,MAAM,eAA7C,GACA,qBAAqB,MAAM,CAAC,MAAM,SAF3B,CAAX;AAGD;;AAED,EAAA,UAAU,CAAC,OAAX,CAAmB,CAAC,CAAD,EAAI,CAAJ,KAAS;AAC1B,UAAM,MAAM,GAAG,CAAC,CAAC,YAAjB;AACA,UAAM,KAAK,GAAG,MAAM,CAAC,CAAD,CAApB;AACA,UAAM,MAAM,GAAG,KAAK,CAAC,KAArB;;AAEA,QAAI,CAAC,eAAK,WAAL,CAAiB,MAAjB,EAAyB,MAAzB,CAAL,EAAuC;AACrC,YAAM,KAAK,CACP,iDAAA,GACA,4BAA4B,MAAM,QAAQ,MAAM,aAFzC,CAAX;AAGD,KATyB,CAU1B;;;AACA,QAAI,CAAC,CAAC,SAAF,IAAe,KAAK,CAAC,SAAzB,EAAoC;AAClC;AACD;;AAED,UAAM,SAAS,GAAG,CAAC,CAAC,QAApB;AACA,UAAM,SAAS,GAAG,KAAK,CAAC,SAAN,GAAkB,IAAlB,GAAyB,KAAK,CAAC,OAAN,CAAc,QAAzD;;AACA,QAAI,CAAC,eAAK,WAAL,CAAiB,SAAjB,EAA4B,SAA5B,CAAL,EAA6C;AAC3C,YAAM,KAAK,CACP,4DAAA,GACA,wBAAwB,SAAS,QAAQ,SAAS,aAF3C,CAAX;AAGD;AACF,GAtBD;AAuBD;;AAEK,SAAU,UAAV,CACF,KADE,EACmB,MADnB,EACwC,MADxC,EAEF,MAFE,EAEkB,mBAFlB,EAEkD;AACtD,MAAI,CAAC,MAAM,CAAC,OAAP,CAAe,mBAApB,EAAyC;AACvC,IAAA,wBAAwB,CAAC,MAAM,CAAC,YAAR,EAAsB,MAAtB,CAAxB;AACA,IAAA,wBAAwB,CAAC,CAAC,MAAM,CAAC,YAAR,CAAD,EAAwB,CAAC,MAAD,CAAxB,CAAxB;AACD;;AAED,QAAM,MAAM,GAAG,MAAM,CAAC,OAAP,CAAe,OAA9B;AACA,QAAM,WAAW,GAAG,MAAM,CAAC,OAAP,CAAe,QAAnC;;AACA,MAAI,MAAM,CAAC,OAAP,CAAe,QAAnB,EAA6B;AAC3B,IAAA,KAAK,CAAC,4BAAN,CAAmC,MAAnC,EAA2C,WAAW,CAAC,CAAD,CAAtD,EAA2D,WAAW,CAAC,CAAD,CAAtE;AACD,GAFD,MAEO;AACL,IAAA,KAAK,CAAC,sBAAN,CAA6B,MAA7B,EAAqC,WAAW,CAAC,CAAD,CAAhD,EAAqD,WAAW,CAAC,CAAD,CAAhE;AACD;;AACD,EAAA,KAAK,CAAC,UAAN,CAAiB,MAAM,CAAC,YAAxB,EAbsD,CAetD;;AACA,MAAI,qBAAM,SAAN,CAAgB,eAAhB,MAAqC,CAAzC,EAA4C;AAC1C,QAAI,MAAM,CAAC,MAAP,KAAkB,IAAtB,EAA4B;AAC1B,MAAA,KAAK,CAAC,EAAN,CAAS,SAAT,CAAmB,MAAM,CAAC,MAA1B,EAAkC,QAAlC;AACD;AACF;;AACD,MAAI,MAAM,CAAC,MAAP,KAAkB,IAAtB,EAA4B;AAC1B,IAAA,KAAK,CAAC,EAAN,CAAS,SAAT,CAAmB,MAAM,CAAC,MAA1B,EAAkC,GAAlC;AACD,GAvBqD,CAyBtD;;;AACA,EAAA,MAAM,CAAC,OAAP,CAAe,CAAC,KAAD,EAAQ,CAAR,KAAa;AAC1B,UAAM,OAAO,GAAG,MAAM,CAAC,OAAP,CAAe,aAAf,CAA6B,CAA7B,CAAhB;AACA,UAAM,MAAM,GAAG,MAAM,CAAC,gBAAP,CAAwB,OAAxB,CAAf;AACA,UAAM,YAAY,GAAG,MAAM,CAAC,gBAAP,CAAwB,SAAS,OAAO,EAAxC,CAArB;AACA,UAAM,WAAW,GAAG,MAAM,CAAC,iBAAP,CAAyB,GAAG,OAAO,OAAnC,CAApB;AACA,UAAM,cAAc,GAAG,MAAM,CAAC,oBAAP,CAA4B,GAAG,OAAO,UAAtC,CAAvB;;AAEA,QAAI,WAAJ,EAAiB;AACf,YAAM;AAAC,QAAA;AAAD,UAAiB,eAAe,CAAC,uBAAhB,CACnB,MAAM,CAAC,OAAP,CAAe,YADI,EACU,KAAK,CAAC,KADhB,EACuB,KAAK,CAAC,OAAN,CAAc,QADrC,CAAvB;;AAEA,cAAQ,YAAY,CAAC,MAArB;AACE,aAAK,CAAL;AACE,UAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,WAApB,EAAiC,IAAI,UAAJ,CAAe,YAAf,CAAjC;AACA;;AACF,aAAK,CAAL;AACE,UAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,WAApB,EAAiC,IAAI,UAAJ,CAAe,YAAf,CAAjC;AACA;;AACF,aAAK,CAAL;AACE,UAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,WAApB,EAAiC,IAAI,UAAJ,CAAe,YAAf,CAAjC;AACA;;AACF,aAAK,CAAL;AACE,UAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,WAApB,EAAiC,IAAI,UAAJ,CAAe,YAAf,CAAjC;AACA;;AACF;AACE;AAdJ;AAgBD;;AACD,QAAI,cAAJ,EAAoB;AAClB,MAAA,KAAK,CAAC,EAAN,CAAS,SAAT,CACI,cADJ,EACoB,KAAK,CAAC,OAAN,CAAc,QAAd,CAAuB,CAAvB,CADpB,EAC+C,KAAK,CAAC,OAAN,CAAc,QAAd,CAAuB,CAAvB,CAD/C;AAED;;AAED,QAAI,MAAM,IAAI,IAAd,EAAoB;AAClB;AACA;AACD;;AAED,QAAI,KAAK,CAAC,SAAV,EAAqB;AACnB;AACA,UAAI,eAAK,aAAL,CAAmB,KAAK,CAAC,KAAzB,IAAkC,CAAtC,EAAyC;AACvC,QAAA,KAAK,CAAC,EAAN,CAAS,SAAT,CAAmB,MAAnB,EAA2B,KAAK,CAAC,aAAN,CAAoB,CAApB,CAA3B;AACD,OAFD,MAEO;AACL,YAAI,IAAI,GAAG,KAAK,CAAC,aAAjB;;AACA,YAAI,EAAE,IAAI,YAAY,YAAlB,CAAJ,EAAqC;AACnC,UAAA,IAAI,GAAG,IAAI,YAAJ,CAAiB,IAAjB,CAAP;AACD;;AACD,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,MAApB,EAA4B,IAA5B;AACD;;AACD;AACD,KAjDyB,CAmD1B;;;AACA,QAAI,KAAK,CAAC,OAAN,CAAc,KAAd,IAAuB,IAAvB,IAA+B,YAAY,IAAI,IAAnD,EAAyD;AACvD,MAAA,KAAK,CAAC,EAAN,CAAS,SAAT,CAAmB,YAAnB,EAAiC,KAAK,CAAC,OAAN,CAAc,KAAd,CAAoB,UAArD;AACD;;AAED,IAAA,KAAK,CAAC,qBAAN,CAA4B,KAAK,CAAC,OAAN,CAAc,OAA1C,EAAmD,MAAnD,EAA2D,CAA3D;AACD,GAzDD;AA2DA,QAAM,WAAW,GAAG,MAAM,CAAC,gBAA3B;;AACA,MAAI,WAAJ,EAAiB;AACf,YAAQ,MAAM,CAAC,KAAP,CAAa,MAArB;AACE,WAAK,CAAL;AACE,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,WAApB,EAAiC,IAAI,UAAJ,CAAe,MAAM,CAAC,KAAtB,CAAjC;AACA;;AACF,WAAK,CAAL;AACE,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,WAApB,EAAiC,IAAI,UAAJ,CAAe,MAAM,CAAC,KAAtB,CAAjC;AACA;;AACF,WAAK,CAAL;AACE,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,WAApB,EAAiC,IAAI,UAAJ,CAAe,MAAM,CAAC,KAAtB,CAAjC;AACA;;AACF,WAAK,CAAL;AACE,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,WAApB,EAAiC,IAAI,UAAJ,CAAe,MAAM,CAAC,KAAtB,CAAjC;AACA;;AACF;AACE;AAdJ;AAgBD;;AACD,MAAI,MAAM,CAAC,uBAAX,EAAoC;AAClC,UAAM,OAAO,GAAG,eAAK,cAAL,CAAoB,MAAM,CAAC,KAA3B,CAAhB;;AACA,YAAQ,MAAM,CAAC,KAAP,CAAa,MAArB;AACE,WAAK,CAAL;AACE,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CACI,MAAM,CAAC,uBADX,EACoC,IAAI,UAAJ,CAAe,OAAf,CADpC;AAEA;;AACF,WAAK,CAAL;AACE,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CACI,MAAM,CAAC,uBADX,EACoC,IAAI,UAAJ,CAAe,OAAf,CADpC;AAEA;;AACF,WAAK,CAAL;AACE,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CACI,MAAM,CAAC,uBADX,EACoC,IAAI,UAAJ,CAAe,OAAf,CADpC;AAEA;;AACF;AACE;AAdJ;AAgBD;;AACD,MAAI,MAAM,CAAC,mBAAX,EAAgC;AAC9B,IAAA,KAAK,CAAC,EAAN,CAAS,SAAT,CACI,MAAM,CAAC,mBADX,EACgC,MAAM,CAAC,OAAP,CAAe,QAAf,CAAwB,CAAxB,CADhC,EAEI,MAAM,CAAC,OAAP,CAAe,QAAf,CAAwB,CAAxB,CAFJ;AAGD;;AAED,MAAI,MAAM,CAAC,OAAP,CAAe,cAAf,IAAiC,mBAArC,EAA0D;AACxD,IAAA,MAAM,CAAC,OAAP,CAAe,cAAf,CAA8B,OAA9B,CAAsC,CAAC,CAAD,EAAI,CAAJ,KAAS;AAC7C,YAAM,SAAS,GAAG,MAAM,CAAC,sBAAP,CAA8B,CAA9B,CAAlB;AACA,YAAM,WAAW,GAAG,mBAAmB,CAAC,CAAD,CAAvC;;AACA,UAAI,CAAC,CAAC,IAAF,KAAW,OAAf,EAAwB;AACtB,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,SAApB,EAA+B,WAA/B;AACD,OAFD,MAEO,IAAI,CAAC,CAAC,IAAF,KAAW,MAAf,EAAuB;AAC5B,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,SAApB,EAA+B,WAA/B;AACD,OAFM,MAEA,IAAI,CAAC,CAAC,IAAF,KAAW,MAAf,EAAuB;AAC5B,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,SAApB,EAA+B,WAA/B;AACD,OAFM,MAEA,IAAI,CAAC,CAAC,IAAF,KAAW,MAAf,EAAuB;AAC5B,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,SAApB,EAA+B,WAA/B;AACD,OAFM,MAEA,IAAI,CAAC,CAAC,IAAF,KAAW,KAAf,EAAsB;AAC3B,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,SAApB,EAA+B,WAA/B;AACD,OAFM,MAEA,IAAI,CAAC,CAAC,IAAF,KAAW,OAAf,EAAwB;AAC7B,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,SAApB,EAA+B,WAA/B;AACD,OAFM,MAEA,IAAI,CAAC,CAAC,IAAF,KAAW,OAAf,EAAwB;AAC7B,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,SAApB,EAA+B,WAA/B;AACD,OAFM,MAEA,IAAI,CAAC,CAAC,IAAF,KAAW,OAAf,EAAwB;AAC7B,QAAA,KAAK,CAAC,EAAN,CAAS,UAAT,CAAoB,SAApB,EAA+B,WAA/B;AACD,OAFM,MAEA;AACL,cAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,wBAAvB,CAAX;AACD;AACF,KAtBD;AAuBD;;AACD,EAAA,KAAK,CAAC,cAAN;AACD;;AAEK,SAAU,aAAV,CACF,OADE,EACqB,MADrB,EAC2C,MAD3C,EAC6D;AACjE,MAAI,SAAS,GAAG,EAAhB;AACA,EAAA,MAAM,CAAC,MAAP,CAAc,MAAd,EAAsB,OAAtB,CAA8B,CAAC,IAAG;AAChC,UAAM,SAAS,GAAG,CAAC,CAAC,OAAF,IAAa,IAAb,IAAqB,CAAC,CAAC,OAAF,CAAU,KAAV,IAAmB,IAAxC,IACd,CAAC,CAAC,OAAF,CAAU,KAAV,CAAgB,UAAhB,GAA6B,CADjC,CADgC,CAGhC;;AACA,QAAI,OAAO,CAAC,mBAAR,IAA+B,CAAC,CAAC,CAAC,SAAtC,EAAiD;AAC/C,YAAM,SAAS,GAAG,CAAC,CAAC,OAAF,CAAU,QAA5B;AACA,YAAM;AAAC,QAAA,eAAD;AAAkB,QAAA;AAAlB,UACF,eAAe,CAAC,uBAAhB,CACI,OAAO,CAAC,YADZ,EAC0B,CAAC,CAAC,KAD5B,EACmC,SADnC,CADJ;AAGA,UAAI,KAAK,GAAG,EAAZ;AAAA,UAAgB,KAAK,GAAG,EAAxB;AAAA,UAA4B,MAAM,GAAG,EAArC;;AACA,UAAI,YAAY,CAAC,MAAb,KAAwB,CAAxB,IAA6B,OAAO,CAAC,YAAzC,EAAuD;AACrD,cAAM,cAAc,GAChB,CAAC,IAAI,CAAC,IAAL,CAAU,SAAS,CAAC,CAAD,CAAT,GAAe,CAAzB,CAAD,EAA8B,IAAI,CAAC,IAAL,CAAU,SAAS,CAAC,CAAD,CAAT,GAAe,CAAzB,CAA9B,CADJ;AAEA,QAAA,KAAK,GAAG,GAAG,cAAc,CAAC,CAAD,CAAd,GAAoB,CAAC,IAAI,cAAc,CAAC,CAAD,CAAd,GAAoB,CAAC,EAAzD;AACD,OAJD,MAIO,IAAI,YAAY,CAAC,MAAb,KAAwB,CAAxB,IAA6B,CAAC,OAAO,CAAC,YAA1C,EAAwD;AAC7D,QAAA,KAAK,GAAG,GAAG,YAAY,CAAC,CAAD,CAAZ,GAAkB,CAAC,IAAI,YAAY,CAAC,CAAD,CAAZ,GAAkB,CAAC,EAArD;AACD,OAFM,MAEA,IAAI,YAAY,CAAC,MAAb,GAAsB,CAAtB,IAA2B,CAAC,OAAO,CAAC,YAAxC,EAAsD;AAC3D,cAAM,OAAO,GAAG,eAAK,cAAL,CAAoB,YAApB,CAAhB;;AACA,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,CAAD,CAAP,KAAe,SAAS,CAAC,CAAD,CAAG,IACnC,OAAO,CAAC,OAAO,CAAC,MAAR,GAAiB,CAAlB,CAAP,KAAgC,SAAS,CAAC,CAAD,CAAG,EADhD;AAED;;AACD,YAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;;AACA,YAAM,0BAA0B,GAC5B,KAAK,KAAK,CAAV,IAAe,eAAK,WAAL,CAAiB,CAAC,CAAC,KAAnB,EAA0B,SAA1B,CADnB;;AAEA,YAAM,QAAQ,GAAG,eAAK,aAAL,CAAmB,CAAC,CAAC,KAArB,MAAgC,CAAjD;;AACA,YAAM,aAAa,GACf,uBAAa,gBAAb,CAA8B,CAAC,CAAC,KAAhC,EAAuC,MAAM,CAAC,KAA9C,CADJ;;AAEA,YAAM,oBAAoB,GAAG,CAAC,OAAO,CAAC,YAAT,IACzB,KAAK,KAAK,MAAM,CAAC,KAAP,CAAa,MADE,IAEzB,eAAK,WAAL,CAAiB,SAAjB,EAA4B,MAAM,CAAC,OAAP,CAAe,QAA3C,CAFJ;;AAGA,YAAM,wBAAwB,GAAG,OAAO,CAAC,YAAR,IAAwB,KAAK,GAAG,CAAhC,GAC7B,EAD6B,GAE7B,GAAG,SAAS,CAAC,CAAD,CAAT,GAAe,CAAC,IAAI,SAAS,CAAC,CAAD,CAAT,GAAe,CAAC,EAF3C,CA1B+C,CA6B/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAA,SAAS,IAAI,GAAG,KAAK,IAAI,oBAAoB,IAAI,eAAe,IAC5D,YAAY,CAAC,MAAM,IAAI,QAAQ,IAAI,aAAa,IAChD,0BAA0B,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IACtD,wBAAwB,IAAI,SAAS,EAHzC;AAID,KAnDD,MAmDO;AACL,YAAM,QAAQ,GAAG,CAAC,CAAC,SAAF,GAAc,SAAd,GAA0B,CAAC,CAAC,OAAF,CAAU,QAArD;AACA,MAAA,SAAS,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAhD;AACD;AACF,GA3DD;AA4DA,QAAM,WAAW,GAAG,OAAO,CAAC,QAA5B;AACA,MAAI,GAAG,GAAG,OAAO,CAAC,WAAR,CAAoB,IAA9B,CA/DiE,CAgEjE;;AACA,EAAA,GAAG,IAAI,MAAM,SAAN,GAAkB,GAAlB,GAAwB,WAAxB,GACH,GAAG,qBAAM,SAAN,CAAgB,eAAhB,CAAgC,EADvC;AAEA,SAAO,GAAP;AACD;;AAEK,SAAU,gBAAV,CAA2B,IAA3B,EAAuC;AAC3C;AACA,SAAO,qBAAM,OAAN,CAAc,2BAAd,KAA8C,IAAI,IAAI,CAA7D;AACD;;;;;;;;;AC9ZD;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,gBAAV,CACF,MADE,EAC+B,MAD/B,EAC6C;AACjD,MAAI,CAAC,KAAK,CAAC,OAAN,CAAc,MAAd,CAAL,EAA4B;AAC1B,IAAA,MAAM,GAAG,CAAC,MAAD,CAAT;AACD;;AACD,EAAA,MAAM,CAAC,OAAP,CAAe,CAAC,IAAG;AACjB,QAAI,CAAC,IAAI,IAAT,EAAe;AACb,qBAAK,MAAL,CACI,CAAC,CAAC,KAAF,KAAY,WADhB,EAEI,MAAM,GACF,MAAM,yDAHd;AAID;AACF,GAPD;AAQD;;;;;;;;;;ACfD;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,aAAV,CAAwB,IAAxB,EAAwC;AAC5C,QAAM,YAAY,GAAG,IAAI,YAAJ,CAAiB,IAAI,CAAC,MAAtB,CAArB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAAI,CAAC,MAAzB,EAAiC,EAAE,CAAnC,EAAsC;AACpC,IAAA,YAAY,CAAC,CAAD,CAAZ,GAAkB,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,CAAD,CAAb,CAAlB;AACD;;AACD,SAAO,YAAP;AACD;;AAEM,MAAM,GAAG,GAAI,IAAD,IAAuD;AACxE,QAAM;AAAC,IAAA;AAAD,MAAM,IAAI,CAAC,MAAjB;AACA,QAAM,UAAU,GAAG,IAAI,CAAC,OAAxB;AAEA,kCAAiB,CAAjB,EAAoB,KAApB;AAEA,MAAI,YAAY,GAAG,IAAI,YAAJ,CAAiB,eAAK,aAAL,CAAmB,CAAC,CAAC,KAArB,CAAjB,CAAnB;AACA,QAAM,MAAM,GAAG,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,EAA8B,MAA7C;AACA,EAAA,YAAY,GAAG,aAAa,CAAC,MAAD,CAA5B;AAEA,SAAO,UAAU,CAAC,UAAX,CAAsB,YAAtB,EAAoC,CAAC,CAAC,KAAtC,EAA6C,SAA7C,CAAP;AACD,CAXM;;;AAaA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,KAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;AC1BP;;AAjBA;;;;;;;;;;;;;;;;;AAqBA;;;AAGM,SAAU,4BAAV,CAAuC,EAAvC,EAAgE;AAEpE,SAAO,CAAC,MAAD,EAAmB,MAAnB,EAAqC,KAArC,EACC,KADD,EACoB,KADpB,KAC+D;AACpE,UAAM,QAAQ,GAAG,uBAAa,0BAAb,CAAwC,MAAxC,EAAgD,MAAhD,CAAjB;;AAEA,UAAM,UAAU,GAAG,QAAQ,CAAC,MAA5B;;AACA,UAAM,aAAa,GAAG,eAAK,cAAL,CAAoB,QAApB,CAAtB;;AACA,UAAM,UAAU,GAAG,eAAK,aAAL,CAAmB,QAAnB,CAAnB;;AAEA,UAAM,MAAM,GACR,eAAK,sBAAL,CAA4B,KAA5B,EAAsD,UAAtD,CADJ;;AAGA,UAAM,KAAK,GAAG,MAAM,CAAC,MAArB;AACA,UAAM,KAAK,GAAG,MAAM,CAAC,MAArB;;AAEA,UAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,MAApB,CAAjB;;AACA,UAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,MAApB,CAAjB;;AAEA,UAAM,cAAc,GAAG,uBAAa,gBAAb,CAA8B,MAA9B,EAAsC,QAAtC,CAAvB;;AACA,UAAM,cAAc,GAAG,uBAAa,gBAAb,CAA8B,MAA9B,EAAsC,QAAtC,CAAvB;;AAEA,QAAI,cAAc,CAAC,MAAf,GAAwB,cAAc,CAAC,MAAvC,KAAkD,CAAtD,EAAyD;AACvD,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,EAAE,CAArC,EAAwC;AACtC,QAAA,MAAM,CAAC,CAAD,CAAN,GAAY,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAX,CAAN,EAA0B,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAX,CAA/B,CAAd;AACD;AACF,KAJD,MAIO;AACL,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,EAAE,CAArC,EAAwC;AACtC,cAAM,GAAG,GAAG,eAAK,UAAL,CAAgB,CAAhB,EAAmB,UAAnB,EAA+B,aAA/B,CAAZ;;AAEA,cAAM,IAAI,GAAG,GAAG,CAAC,KAAJ,CAAU,CAAC,KAAX,CAAb;AACA,QAAA,cAAc,CAAC,OAAf,CAAuB,CAAC,IAAI,IAAI,CAAC,CAAD,CAAJ,GAAU,CAAtC;;AACA,cAAM,MAAM,GAAG,eAAK,UAAL,CAAgB,IAAhB,EAAsB,KAAtB,EAA6B,QAA7B,CAAf;;AAEA,cAAM,IAAI,GAAG,GAAG,CAAC,KAAJ,CAAU,CAAC,KAAX,CAAb;AACA,QAAA,cAAc,CAAC,OAAf,CAAuB,CAAC,IAAI,IAAI,CAAC,CAAD,CAAJ,GAAU,CAAtC;;AACA,cAAM,MAAM,GAAG,eAAK,UAAL,CAAgB,IAAhB,EAAsB,KAAtB,EAA6B,QAA7B,CAAf;;AAEA,QAAA,MAAM,CAAC,CAAD,CAAN,GAAY,EAAE,CAAC,KAAK,CAAC,MAAD,CAAN,EAAgB,KAAK,CAAC,MAAD,CAArB,CAAd;AACD;AACF;;AAED,WAAO,CAAC,MAAD,EAAS,QAAT,CAAP;AACD,GAzCD;AA0CD;;;;;;;;;;ACnDD;;AAjBA;;;;;;;;;;;;;;;;AAqBM,SAAU,OAAV,CAAkB,IAAlB,EAAwE;AAE5E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,MAAe,MAArB;AAEA,QAAM,QAAQ,GAAG,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,IAAI,CAAC,MAAtB,EAA8B,MAA/C;AACA,QAAM,QAAQ,GAAG,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,IAAI,CAAC,MAAtB,EAA8B,MAA/C;AAEA,QAAM,WAAW,GAAG,OAAO,CAAC,cAAR,CAAuB,IAAI,CAAC,KAA5B,EAAmC,WAAnC,CAApB;AAEA,QAAM,OAAO,GAAG,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,WAAW,CAAC,MAA7B,CAAhB,CAV4E,CAY5E;AACA;AACA;;AACA,EAAA,OAAO,CAAC,kBAAR,GAA6B;AAC3B,IAAA,IAAI,EAAE,OAAO,CAAC,cAAR,CAAuB,IAAI,CAAC,KAA5B,EAAmC,SAAnC,EAA8C,QAA9C,CADqB;AAE3B,IAAA,IAAI,EAAE,OAAO,CAAC,cAAR,CAAuB,IAAI,CAAC,KAA5B,EAAmC,SAAnC,EAA8C,QAA9C;AAFqB,GAA7B;AAKA,SAAO,WAAP;AACD;;AAEM,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,KAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;AC3BP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;;AAqBA;;;;;;AAMM,SAAU,KAAV,CACF,OADE,EACuB,KADvB,EAEF,KAAA,GAAkB,SAFhB,EAEyB;AAC7B,MAAI,KAAK,KAAK,WAAd,EAA2B;AACzB,UAAM,IAAI,GAAG,KAAK,CAAC,OAAD,EAAU,KAAV,EAAiB,SAAjB,CAAlB;AACA,UAAM,IAAI,GAAG,KAAK,CAAC,OAAD,EAAU,KAAV,EAAiB,SAAjB,CAAlB;AAEA,WAAO,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,IAAD;AAAO,QAAA;AAAP,OAAT;AAAuB,MAAA;AAAvB,KAAR,CAAP;AACD;;AAED,QAAM,MAAM,GAAG,eAAK,mBAAL,CAAyB,eAAK,aAAL,CAAmB,KAAnB,CAAzB,EAAoD,KAApD,CAAf;;AAEA,SAAO,OAAO,CAAC,cAAR,CAAuB,KAAvB,EAA8B,KAA9B,EAAqC,MAArC,CAAP;AACD;;;;;;;;;;ACvBD;;AAjBA;;;;;;;;;;;;;;;;AAqBM,SAAU,QAAV,CACF,IADE,EACqD;AACzD,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AAEA,EAAA,OAAO,CAAC,MAAR,CAAe,CAAC,CAAC,MAAjB;AAEA,SAAO;AAAC,IAAA,MAAM,EAAE,CAAC,CAAC,MAAX;AAAmB,IAAA,KAAK,EAAE,CAAC,CAAC,KAA5B;AAAmC,IAAA,KAAK,EAAE,CAAC,CAAC;AAA5C,GAAP;AACD;;AAEM,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,KAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;;ACdP;;AAjBA;;;;;;;;;;;;;;;;AAqBM,SAAU,IAAV,CAAe,IAAf,EAAkE;AAEtE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,MAAhB;AAEA,QAAM,IAAI,GAAG,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,KAAK,CAAC,MAAvB,EAA+B,kBAA/B,CAAkD,IAA/D;AACA,QAAM,OAAO,GAAG,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,IAAI,CAAC,MAAtB,EAA8B,MAA9C,CANsE,CAQtE;AACA;AACA;;AACA,SAAO,OAAO,CAAC,cAAR,CAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,KAAxC,EAA+C,OAA/C,CAAP;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,KAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;;ACnBP;;AAGA;;AACA;;AAEA;;AACA;;AACA;;AAxBA;;;;;;;;;;;;;;;;AA0BM,SAAU,IAAV,CACF,IADE,EACmE;AAEvE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,KAAhB,CAJuE,CAMvE;;AACA,MAAI,KAAK,KAAK,WAAd,EAA2B;AACzB,QAAI,CAAC,CAAC,KAAF,KAAY,WAAhB,EAA6B;AAC3B,aAAO,wBAAS;AAAC,QAAA,MAAM,EAAE;AAAC,UAAA;AAAD,SAAT;AAAc,QAAA;AAAd,OAAT,CAAP;AACD;;AAED,UAAM,eAAe,GAAG,uBAAM,OAAN,EAAe,CAAC,CAAC,KAAjB,EAAwB,CAAC,CAAC,KAA1B,CAAxB;AACA,UAAM,MAAM,GAAG,IAAI,CAAC;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAA9B,KAAD,CAAnB;AAEA,UAAM,MAAM,GACR,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,IAAI,EAAE,MAAP;AAAe,QAAA,IAAI,EAAE;AAArB,OAAT;AAAgD,MAAA;AAAhD,KAAR,CADJ;AAGA,IAAA,OAAO,CAAC,6BAAR,CAAsC,eAAtC;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,MAAtC;AAEA,WAAO,MAAP;AACD,GAtBsE,CAwBvE;;;AACA,MAAI,CAAC,CAAC,KAAF,KAAY,WAAhB,EAA6B;AAC3B,UAAM,QAAQ,GAAG,gBAAK;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR,OAAT;AAAqB,MAAA;AAArB,KAAL,CAAjB;AACA,UAAM,MAAM,GAAG,IAAI,CAAC;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAwB,MAAA,OAAxB;AAAiC,MAAA,KAAK,EAAE;AAAC,QAAA;AAAD;AAAxC,KAAD,CAAnB;AAEA,IAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AAEA,WAAO,MAAP;AACD;;AAED,MAAI,CAAC,eAAK,eAAL,CAAqB,CAAC,CAAC,KAAvB,EAA8B,KAA9B,CAAL,EAA2C;AACzC;AACA;AACA,UAAM,MAAM,GAAG,wBAAS;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA;AAAd,KAAT,CAAf;AACA,WAAO;AAAC,MAAA,MAAM,EAAE,MAAM,CAAC,MAAhB;AAAwB,MAAA,KAAK,EAAE,MAAM,CAAC,KAAtC;AAA6C,MAAA;AAA7C,KAAP;AACD;;AAED,MAAI,KAAK,KAAK,OAAd,EAAuB;AACrB,UAAM,MAAM,GAAG,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,CAAC,CAAC,MAAnB,EAA2B,MAA1C;AACA,UAAM,YAAY,GAAG,UAAU,CAAC,IAAX,CAAgB,MAAhB,CAArB;AACA,WAAO,OAAO,CAAC,cAAR,CAAuB,CAAC,CAAC,KAAzB,EAAgC,OAAhC,EAAyC,YAAzC,CAAP;AACD;;AAED,MAAI,KAAK,KAAK,MAAd,EAAsB;AACpB;AACA;AACA;AACA,UAAM,KAAK,GAAG,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,CAAC,CAAC,MAAnB,EAA2B,MAAzC;;AACA,UAAM,IAAI,GAAG,eAAK,YAAL,CAAkB,CAAC,CAAD,CAAlB,EAAuB,CAAC,CAAC,KAAzB,CAAb;;AAEA,UAAM,CAAC,UAAD,EAAa,WAAb,IAA4B,+CAC9B,CAAC,CAAD,EAAI,CAAJ,KAAW,CAAC,KAAK,CAAP,GAAY,CAAZ,GAAgB,CADI,EACD,CAAC,CAAC,KADD,EACQ,EADR,EACY,KADZ,EACmB,IADnB,EACyB,MADzB,CAAlC;AAGA,WAAO,OAAO,CAAC,cAAR,CAAuB,WAAvB,EAAoC,MAApC,EAA4C,UAA5C,CAAP;AACD;;AAED,QAAM,IAAI,KAAJ,CAAU,iCAAiC,CAAC,CAAC,KAAK,OAAO,KAAK,EAA9D,CAAN;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,KAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;;ACzEP;;AAGA;;AACA;;AACA;;AAtBA;;;;;;;;;;;;;;;;;AA0BA;;;;;;;;;;;AAWM,SAAU,gBAAV,CACF,IADE,EACY,UADZ,EAEF,WAFE,EAEqC,KAFrC,EAEqD;AACzD,MAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,WAAO,CAAC;AAAC,MAAA,MAAD;AAAS,MAAA;AAAT,KAAD,KAAsB;AAC3B,YAAM;AAAC,QAAA,CAAD;AAAI,QAAA;AAAJ,UAAS,MAAf;AACA,YAAM,UAAU,GAAG,OAAnB;AAEA,sCAAiB,CAAC,CAAD,EAAI,CAAJ,CAAjB,EAAyB,IAAzB;AAEA,YAAM,KAAK,GAAG,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,EAA8B,MAA5C;AACA,YAAM,KAAK,GAAG,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,EAA8B,MAA5C;AAEA,YAAM,YAAY,GAAG,CAAC,CAAC,KAAF,KAAY,QAAZ,GACjB;AACA,6BAAa,sBAAb,CAAoC,KAApC,CAFiB,GAGjB,KAHJ;AAIA,YAAM,YAAY,GAAG,CAAC,CAAC,KAAF,KAAY,QAAZ,GACjB;AACA,6BAAa,sBAAb,CAAoC,KAApC,CAFiB,GAGjB,KAHJ;AAIA,YAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,KAA1B;AAEA,YAAM,CAAC,UAAD,EAAa,WAAb,IACF,UAAU,CAAC,CAAC,CAAC,KAAH,EAAU,CAAC,CAAC,KAAZ,EAAmB,YAAnB,EAAiC,YAAjC,EAA+C,MAA/C,CADd;AAGA,aAAO,UAAU,CAAC,cAAX,CAA0B,WAA1B,EAAuC,MAAvC,EAA+C,UAA/C,CAAP;AACD,KAvBD;AAwBD;;AAED,SAAO,CAAC;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,GAAD,KAAsB;AAC3B,UAAM;AAAC,MAAA,CAAD;AAAI,MAAA;AAAJ,QAAS,MAAf;AACA,UAAM,UAAU,GAAG,OAAnB;;AAEA,QAAI,CAAC,CAAC,KAAF,KAAY,WAAZ,IAA2B,CAAC,CAAC,KAAF,KAAY,WAA3C,EAAwD;AACtD,YAAM,SAAS,GAAG,gBACd;AAAC,QAAA,MAAM,EAAE;AAAC,UAAA,CAAC,EAAE;AAAJ,SAAT;AAAiB,QAAA,OAAO,EAAE,UAA1B;AAAsC,QAAA,KAAK,EAAE;AAAC,UAAA,KAAK,EAAE;AAAR;AAA7C,OADc,CAAlB;AAGA,YAAM,aAAa,GAAG,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,SAAS,CAAC,MAA9B,CAAtB;AAEA,YAAM,KAAK,GAAG,aAAa,CAAC,kBAAd,CAAiC,IAA/C;AACA,YAAM,KAAK,GAAG,aAAa,CAAC,kBAAd,CAAiC,IAA/C;AAEA,YAAM,SAAS,GACX,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,KAAK,CAAC,MAA1B,EAAkC,MADtC;AAEA,YAAM,SAAS,GACX,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,KAAK,CAAC,MAA1B,EAAkC,MADtC;AAGA,YAAM,SAAS,GAAG,gBACd;AAAC,QAAA,MAAM,EAAE;AAAC,UAAA,CAAC,EAAE;AAAJ,SAAT;AAAiB,QAAA,OAAO,EAAE,UAA1B;AAAsC,QAAA,KAAK,EAAE;AAAC,UAAA,KAAK,EAAE;AAAR;AAA7C,OADc,CAAlB;AAGA,YAAM,aAAa,GAAG,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,SAAS,CAAC,MAA9B,CAAtB;AAEA,YAAM,KAAK,GAAG,aAAa,CAAC,kBAAd,CAAiC,IAA/C;AACA,YAAM,KAAK,GAAG,aAAa,CAAC,kBAAd,CAAiC,IAA/C;AAEA,YAAM,SAAS,GACX,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,KAAK,CAAC,MAA1B,EAAkC,MADtC;AAEA,YAAM,SAAS,GACX,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,KAAK,CAAC,MAA1B,EAAkC,MADtC;AAGA,YAAM,CAAC,cAAD,EAAiB,cAAjB,EAAiC,WAAjC,IAAgD,WAAW,CAC7D,CAAC,CAAC,KAD2D,EACpD,CAAC,CAAC,KADkD,EAC3C,SAD2C,EAChC,SADgC,EACrB,SADqB,EACV,SADU,CAAjE;AAGA,YAAM,UAAU,GACZ,UAAU,CAAC,cAAX,CAA0B,WAA1B,EAAuC,SAAvC,EAAkD,cAAlD,CADJ;AAGA,YAAM,UAAU,GACZ,UAAU,CAAC,cAAX,CAA0B,WAA1B,EAAuC,SAAvC,EAAkD,cAAlD,CADJ;AAGA,YAAM,MAAM,GAAG,sBACX;AAAC,QAAA,MAAM,EAAE;AAAC,UAAA,IAAI,EAAE,UAAP;AAAmB,UAAA,IAAI,EAAE;AAAzB,SAAT;AAA+C,QAAA,OAAO,EAAE;AAAxD,OADW,CAAf;AAGA,MAAA,UAAU,CAAC,6BAAX,CAAyC,SAAzC;AACA,MAAA,UAAU,CAAC,6BAAX,CAAyC,SAAzC;AACA,MAAA,UAAU,CAAC,6BAAX,CAAyC,UAAzC;AACA,MAAA,UAAU,CAAC,6BAAX,CAAyC,UAAzC;AAEA,aAAO,MAAP;AACD,KA7CD,MA6CO;AACL,YAAM,KAAK,GAAG,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,EAA8B,MAA5C;AACA,YAAM,KAAK,GAAG,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,EAA8B,MAA5C;AAEA,YAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,KAA1B;AAEA,YAAM,CAAC,UAAD,EAAa,WAAb,IACF,UAAU,CAAC,CAAC,CAAC,KAAH,EAAU,CAAC,CAAC,KAAZ,EAAmB,KAAnB,EAA0B,KAA1B,EAAiC,MAAjC,CADd;AAGA,aAAO,UAAU,CAAC,cAAX,CAA0B,WAA1B,EAAuC,MAAvC,EAA+C,UAA/C,CAAP;AACD;AACF,GA5DD;AA6DD;AAED;;;;;;AAIM,SAAU,6BAAV,CAAwC,EAAxC,EAAkE;AAEtE,SAAO,CAAC,MAAD,EAAmB,MAAnB,EAAqC,SAArC,EACC,SADD,EAC0B,SAD1B,EAEC,SAFD,KAEgE;AACrE,UAAM,WAAW,GAAG,uBAAa,0BAAb,CAAwC,MAAxC,EAAgD,MAAhD,CAApB;;AACA,UAAM,UAAU,GAAG,eAAK,aAAL,CAAmB,WAAnB,CAAnB;;AACA,UAAM,UAAU,GAAG,WAAW,CAAC,MAA/B;;AACA,UAAM,aAAa,GAAG,eAAK,cAAL,CAAoB,WAApB,CAAtB;;AAEA,UAAM,cAAc,GAAG,eAAK,sBAAL,CAA4B,SAA5B,EAAuC,UAAvC,CAAvB;;AACA,UAAM,cAAc,GAAG,eAAK,sBAAL,CAA4B,SAA5B,EAAuC,UAAvC,CAAvB;;AAEA,UAAM,cAAc,GAAG,uBAAa,gBAAb,CAA8B,MAA9B,EAAsC,WAAtC,CAAvB;;AACA,UAAM,cAAc,GAAG,uBAAa,gBAAb,CAA8B,MAA9B,EAAsC,WAAtC,CAAvB;;AAEA,UAAM,KAAK,GAAG,uBAAa,sBAAb,CAAoC,SAApC,EAA+C,SAA/C,CAAd;;AACA,UAAM,KAAK,GAAG,uBAAa,sBAAb,CAAoC,SAApC,EAA+C,SAA/C,CAAd;;AAEA,UAAM,KAAK,GAAG,MAAM,CAAC,MAArB;;AACA,UAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,MAApB,CAAjB;;AAEA,UAAM,KAAK,GAAG,MAAM,CAAC,MAArB;;AACA,UAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,MAApB,CAAjB;;AAEA,QAAI,cAAc,CAAC,MAAf,GAAwB,cAAc,CAAC,MAAvC,KAAkD,CAAtD,EAAyD;AACvD,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,cAAc,CAAC,MAAnC,EAA2C,CAAC,EAA5C,EAAgD;AAC9C,cAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAvB;AACA,cAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAvB;AAEA,cAAM,MAAM,GACR,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAR,CAAN,EAAkB,KAAK,CAAC,IAAI,GAAG,CAAP,GAAW,CAAZ,CAAvB,EAAuC,KAAK,CAAC,IAAI,GAAG,CAAR,CAA5C,EACC,KAAK,CAAC,IAAI,GAAG,CAAP,GAAW,CAAZ,CADN,CADN;AAIA,QAAA,cAAc,CAAC,CAAD,CAAd,GAAoB,MAAM,CAAC,IAA3B;AACA,QAAA,cAAc,CAAC,CAAD,CAAd,GAAoB,MAAM,CAAC,IAA3B;AACD;AACF,KAZD,MAYO;AACL,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,cAAc,CAAC,MAAnC,EAA2C,CAAC,EAA5C,EAAgD;AAC9C,cAAM,GAAG,GAAG,eAAK,UAAL,CAAgB,CAAhB,EAAmB,UAAnB,EAA+B,aAA/B,CAAZ;;AAEA,cAAM,IAAI,GAAG,GAAG,CAAC,KAAJ,CAAU,CAAC,KAAX,CAAb;AACA,QAAA,cAAc,CAAC,OAAf,CAAuB,CAAC,IAAI,IAAI,CAAC,CAAD,CAAJ,GAAU,CAAtC;;AACA,cAAM,MAAM,GAAG,eAAK,UAAL,CAAgB,IAAhB,EAAsB,KAAtB,EAA6B,QAA7B,CAAf;;AAEA,cAAM,IAAI,GAAG,GAAG,CAAC,KAAJ,CAAU,CAAC,KAAX,CAAb;AACA,QAAA,cAAc,CAAC,OAAf,CAAuB,CAAC,IAAI,IAAI,CAAC,CAAD,CAAJ,GAAU,CAAtC;;AACA,cAAM,MAAM,GAAG,eAAK,UAAL,CAAgB,IAAhB,EAAsB,KAAtB,EAA6B,QAA7B,CAAf;;AAEA,cAAM,QAAQ,GACV,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAV,CAAN,EAAoB,KAAK,CAAC,MAAM,GAAG,CAAT,GAAa,CAAd,CAAzB,EAA2C,KAAK,CAAC,MAAM,GAAG,CAAV,CAAhD,EACC,KAAK,CAAC,MAAM,GAAG,CAAT,GAAa,CAAd,CADN,CADN;AAIA,QAAA,cAAc,CAAC,CAAD,CAAd,GAAoB,QAAQ,CAAC,IAA7B;AACA,QAAA,cAAc,CAAC,CAAD,CAAd,GAAoB,QAAQ,CAAC,IAA7B;AACD;AACF;;AACD,WAAO,CAAC,cAAD,EAAiB,cAAjB,EAAiC,WAAjC,CAAP;AACD,GAxDD;AAyDD;;;;;;;;;AChLD;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,OAAO,GAChB,+CAA8B,CAAC,CAAD,EAAY,CAAZ,KAA0B,CAAC,GAAG,CAA5D,CADG;;AAEA,MAAM,cAAc,GACvB,iDAA+B,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,KAA+B;AAC5D,SAAO;AAAC,IAAA,IAAI,EAAE,KAAK,GAAG,KAAf;AAAsB,IAAA,IAAI,EAAE,KAAK,GAAG;AAApC,GAAP;AACD,CAFD,CADG;;AAKA,MAAM,GAAG,GAAG,oCAAiB,aAAjB,EAAsB,OAAtB,EAA+B,cAA/B,CAAZ;;AAEA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,KAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;;ACdP;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,YAAV,CACF,KADE,EACiB,WADjB,EAC0C,YAD1C,EAEF,YAFE,EAEsB,IAFtB,EAEkC;AACtC,QAAM,WAAW,GAAG,eAAK,aAAL,CAAmB,YAAnB,CAApB;;AACA,QAAM,OAAO,GAAG,eAAK,mBAAL,CAAyB,IAAzB,EAA+B,YAA/B,CAAhB;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AACrC,UAAM,KAAK,GAAG,KAAK,CAAC,CAAD,CAAnB;;AACA,QAAI,KAAK,GAAG,CAAZ,EAAe;AACb,YAAM,IAAI,KAAJ,CAAU,+BAAV,CAAN;AACD;;AAED,QAAI,KAAK,IAAI,IAAb,EAAmB;AACjB;AACD;;AAED,QAAI,WAAW,GAAG,CAAlB,EAAqB;AACnB,MAAA,OAAO,CAAC,KAAD,CAAP,IAAkB,WAAW,CAAC,CAAD,CAA7B;AACD,KAFD,MAEO;AACL,MAAA,OAAO,CAAC,KAAD,CAAP,IAAkB,CAAlB;AACD;AACF;;AAED,SAAO,OAAP;AACD;;AAEK,SAAU,kBAAV,CACF,IADE,EACqB,UADrB,EACkD,IADlD,EAEF,YAAY,GAAG,KAFb,EAEkB;AACtB,QAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,CAAX,CAAhB;AACA,QAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,CAAX,CAAhB;AAEA,QAAM,MAAM,GAAG,sBAAO,CAAC,OAAD,EAAU,IAAV,CAAP,EAAwB,UAAU,CAAC,KAAnC,CAAf;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAApB,EAA6B,CAAC,EAA9B,EAAkC;AAChC,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAApB,EAA6B,CAAC,EAA9B,EAAkC;AAChC,YAAM,KAAK,GAAG,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,CAAZ,CAAd;;AACA,UAAI,KAAK,GAAG,CAAZ,EAAe;AACb,cAAM,IAAI,KAAJ,CAAU,+BAAV,CAAN;AACD;;AAED,UAAI,KAAK,IAAI,IAAb,EAAmB;AACjB;AACD;;AAED,UAAI,YAAJ,EAAkB;AAChB,QAAA,MAAM,CAAC,GAAP,CAAW,CAAX,EAAc,CAAd,EAAiB,KAAjB;AACD,OAFD,MAEO;AACL,YAAI,UAAU,CAAC,IAAX,GAAkB,CAAtB,EAAyB;AACvB,UAAA,MAAM,CAAC,GAAP,CAAW,MAAM,CAAC,GAAP,CAAW,CAAX,EAAc,KAAd,IAAuB,UAAU,CAAC,GAAX,CAAe,CAAf,EAAkB,CAAlB,CAAlC,EAAwD,CAAxD,EAA2D,KAA3D;AACD,SAFD,MAEO;AACL,UAAA,MAAM,CAAC,GAAP,CAAW,MAAM,CAAC,GAAP,CAAW,CAAX,EAAc,KAAd,IAAuB,CAAlC,EAAqC,CAArC,EAAwC,KAAxC;AACD;AACF;AACF;AACF;;AAED,SAAO,MAAP;AACD;;;;;;;;;AC5DD;;AAjBA;;;;;;;;;;;;;;;;;AAqBA;;;AAGM,SAAU,qBAAV,CAAgC,EAAhC,EAAwD;AAE5D,SAAO,CAAC,MAAD,EAAS,KAAT,EAAgB,KAAhB,KAAyB;AAC9B,UAAM,SAAS,GACX,eAAK,sBAAL,CAA4B,KAA5B,EAAsD,MAAM,CAAC,MAA7D,CADJ;;AAEA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,EAAE,CAArC,EAAwC;AACtC,MAAA,SAAS,CAAC,CAAD,CAAT,GAAe,EAAE,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,KAAZ,CAAjB;AACD;;AACD,WAAO,SAAP;AACD,GAPD;AAQD;;;;;;;;;;ACjBD;;AAGA;;AApBA;;;;;;;;;;;;;;;;;AAwBA;;;;;;;;AAQM,SAAU,eAAV,CACF,IADE,EACY,EADZ,EACsC,KADtC,EACsD;AAC1D,SAAO,CAAC;AAAC,IAAA,MAAD;AAAS,IAAA,KAAT;AAAgB,IAAA;AAAhB,GAAD,KAA6B;AAClC,UAAM;AAAC,MAAA;AAAD,QAAM,MAAZ;AACA,oCAAiB,CAAjB,EAAoB,IAApB;;AACA,QAAI,CAAC,CAAC,KAAF,KAAY,QAAZ,IAAwB,KAAK,KAAK,QAAtC,EAAgD;AAC9C,YAAM,IAAI,KAAJ,CAAU,sDAAV,CAAN;AACD;;AAED,UAAM,UAAU,GAAG,OAAnB;AACA,UAAM,MAAM,GAAG,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,EAA8B,MAA7C;;AACA,UAAM,KAAK,GAAG,eAAK,aAAL,CAAmB,CAAC,CAAC,KAArB,CAAd;;AACA,UAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,KAA1B;;AACA,UAAM,SAAS,GAAG,eAAK,iBAAL,CAAuB,MAAvB,EAA+B,KAA/B,CAAlB;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAApB,EAA2B,EAAE,CAA7B,EAAgC;AAC9B,MAAA,SAAS,CAAC,CAAD,CAAT,GAAe,EAAE,CAAC,MAAM,CAAC,CAAD,CAAP,EAAY,KAAZ,CAAjB;AACD;;AACD,WAAO,UAAU,CAAC,cAAX,CAA0B,CAAC,CAAC,KAA5B,EAAmC,MAAnC,EAA2C,SAA3C,CAAP;AACD,GAhBD;AAiBD;AAED;;;;;;;;;;;AASM,SAAU,uBAAV,CACF,IADE,EACY,SADZ,EACwC,KADxC,EACwD;AAC5D,SAAO,CAAC;AAAC,IAAA,MAAD;AAAS,IAAA,KAAT;AAAgB,IAAA;AAAhB,GAAD,KAA6B;AAClC,UAAM;AAAC,MAAA;AAAD,QAAM,MAAZ;AACA,oCAAiB,CAAjB,EAAoB,IAApB;;AACA,QAAI,CAAC,CAAC,KAAF,KAAY,QAAZ,IAAwB,KAAK,KAAK,QAAtC,EAAgD;AAC9C,YAAM,IAAI,KAAJ,CAAU,sDAAV,CAAN;AACD;;AAED,UAAM,UAAU,GAAG,OAAnB;AACA,UAAM,MAAM,GAAG,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,EAA8B,MAA7C;AACA,UAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,KAA1B;AACA,UAAM,SAAS,GAAG,SAAS,CAAC,MAAD,EAAS,MAAT,EAAiB,KAAjB,CAA3B;AACA,WAAO,UAAU,CAAC,cAAX,CAA0B,CAAC,CAAC,KAA5B,EAAmC,MAAnC,EAA2C,SAA3C,CAAP;AACD,GAZD;AAaD;;;;;;;;;AC5DD;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,QAAQ,GAAG,uCAAuB,EAAD,IAAQ,IAAI,CAAC,IAAL,CAAU,EAAV,CAA9B,CAAjB;;AACA,MAAM,IAAI,GAAG,0CAAwB,cAAxB,EAA8B,QAA9B,CAAb;;AAEA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,KAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACRP;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,UAAV,CACF,MADE,EACqD,QADrD,EAEF,KAFE,EAEe,YAFf,EAEoC;AACxC,QAAM,OAAO,GAAG,eAAK,iBAAL,CAAuB,KAAvB,EAA8B,eAAK,aAAL,CAAmB,QAAnB,CAA9B,CAAhB;;AAEA,MAAI,YAAY,IAAI,KAAK,KAAK,QAA9B,EAAwC;AACtC;AACA,QAAI,MAAM,GAAG,CAAb;AACA,IAAA,MAAM,CAAC,OAAP,CAAe,KAAK,IAAG;AACrB,YAAM,IAAI,GAAG,eAAK,aAAL,CAAmB,KAAK,CAAC,KAAzB,CAAb;;AAEC,MAAA,OAAsB,CAAC,GAAvB,CAA2B,KAAK,CAAC,IAAjC,EAAqD,MAArD;AACD,MAAA,MAAM,IAAI,IAAV;AACD,KALD;AAMD,GATD,MASO;AACL,QAAI,SAAS,GAAG,CAAhB;AAEA,IAAA,MAAM,CAAC,OAAP,CAAe,KAAK,IAAG;AACrB,YAAM,WAAW,GAAG,KAAK,KAAK,QAAV,GAChB,uBAAa,sBAAb,CAAoC,KAAK,CAAC,IAA1C,CADgB,GAEhB,KAAK,CAAC,IAFV;AAIA,UAAI,IAAI,GAAG,CAAX;;AAEA,WAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,GAAG,KAAK,CAAC,KAAN,CAAY,CAAZ,CAAxB,EAAwC,EAAE,GAA1C,EAA+C;AAC7C,cAAM,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAD,CAAd,GAAoB,SAAnC;;AACA,aAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,GAAG,KAAK,CAAC,KAAN,CAAY,CAAZ,CAAxB,EAAwC,EAAE,GAA1C,EAA+C;AAC7C,UAAA,OAAO,CAAC,MAAM,GAAG,GAAV,CAAP,GAAwB,WAAW,CAAC,IAAI,EAAL,CAAnC;AACD;AACF;;AAED,MAAA,SAAS,IAAI,KAAK,CAAC,KAAN,CAAY,CAAZ,CAAb;AACD,KAfD;AAgBD;;AAED,SAAO,OAAP;AACD;;;;;;;;;ACtCD;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,SAAS,GAClB,+CAA6B,CAAC,CAAD,EAAY,CAAZ,KAA2B,CAAC,KAAK,CAAP,GAAY,CAAZ,GAAgB,CAAvE,CADG;;AAEA,MAAM,KAAK,GACd,oCAAiB,eAAjB,EAAwB,SAAxB,EAAmC;AAAK;AAAxC,EAA2D,MAA3D,CADG;;AAGA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,KAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;ACVP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,OAAO,GAAG,uCAAuB,EAAD,IAAQ,IAAI,CAAC,GAAL,CAAS,EAAT,CAA9B,CAAhB;;AACA,MAAM,GAAG,GAAG,0CAAwB,aAAxB,EAA6B,OAA7B,CAAZ;;AAEA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,KAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;ACRP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,SAAS,GAAG,uCAAuB,EAAD,IAAQ,IAAI,CAAC,KAAL,CAAW,EAAX,CAA9B,CAAlB;;AACA,MAAM,KAAK,GAAG,0CAAwB,eAAxB,EAA+B,SAA/B,CAAd;;AAEA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,KAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;ACRP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,SAAS,GAAG,uCAAuB,EAAD,IAAQ,IAAI,CAAC,KAAL,CAAW,EAAX,CAA9B,CAAlB;;AACA,MAAM,KAAK,GAAG,0CAAwB,eAAxB,EAA+B,SAA/B,CAAd;;AAEA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,KAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;ACRP;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,YAAV,CACF,WADE,EACuB,SADvB,EACmD,KADnD,EAEF,SAFE,EAEiB,SAFjB,EAEoC,SAFpC,EAEuD,OAFvD,EAGF,WAHE,EAGqB,UAHrB,EAGuC;AAC3C,QAAM,MAAM,GAAG,sBAAO,CAAC,SAAD,EAAY,SAAZ,CAAP,EAA+B,KAA/B,CAAf;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAApB,EAA+B,CAAC,EAAhC,EAAoC;AAClC,UAAM,KAAK,GAAG,EAAd;AACA,QAAI,YAAY,GAAG,CAAnB;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAApB,EAA+B,CAAC,EAAhC,EAAoC;AAClC,YAAM,GAAG,GAAG,WAAW,CAAC,CAAC,GAAG,SAAJ,GAAgB,CAAjB,CAAvB;AACA,MAAA,YAAY,IAAI,GAAG,GAAG,OAAO,CAAC,CAAD,CAA7B;AACA,MAAA,KAAK,CAAC,IAAN,CAAW,GAAX;AACD;;AACD,QAAI,YAAY,GAAG,CAAf,IAAoB,YAAY,IAAI,UAAU,GAAG,SAArD,EAAgE;AAC9D,YAAM,IAAI,KAAJ,CACF,oBAAoB,KAAK,wBAAwB,WAAW,EAD1D,CAAN;AAED;;AAED,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAApB,EAA+B,CAAC,EAAhC,EAAoC;AAClC,MAAA,MAAM,CAAC,MAAP,CAAc,CAAC,GAAG,SAAJ,GAAgB,CAA9B,IACI,SAAS,CAAC,GAAV,CAAc,GAAG,SAAS,CAAC,UAAV,CAAqB,YAAY,GAAG,SAAf,GAA2B,CAAhD,CAAjB,CADJ;AAED;AACF;;AAED,SAAO,MAAP;AACD;;;;;;;;;AC5BD;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,YAAV,CACF,IADE,EACwB,UADxB,EAEF,kBAFE,EAE0B;AAC9B,QAAM,MAAM,GAAG,sBAAO,kBAAP,EAA2B,IAAI,CAAC,KAAhC,CAAf;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,IAA3B,EAAiC,EAAE,CAAnC,EAAsC;AACpC,UAAM,MAAM,GAAG,MAAM,CAAC,UAAP,CAAkB,CAAlB,CAAf;AAEA,UAAM,WAAW,GAAa,MAAM,CAAC,KAAP,EAA9B;AACA,UAAM,QAAQ,GAAG,WAAW,CAAC,CAAD,CAA5B;AACA,UAAM,UAAU,GAAG,WAAW,CAAC,CAAD,CAA9B;AACA,UAAM,YAAY,GAAG,UAAU,CAAC,UAAX,CAAsB,CAAC,QAAD,EAAW,UAAX,CAAtB,CAArB;AACA,IAAA,WAAW,CAAC,CAAD,CAAX,GAAiB,UAAU,CAAC,MAAX,CAAkB,YAAlB,CAAjB;AAEA,UAAM,aAAa,GAAG,IAAI,CAAC,UAAL,CAAgB,WAAhB,CAAtB;AACA,IAAA,MAAM,CAAC,MAAP,CAAc,CAAd,IAAmB,IAAI,CAAC,MAAL,CAAY,aAAZ,CAAnB;AACD;;AAED,SAAO,MAAP;AACD;;;;;;;;;ACpBD;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,WAAW,GACpB,+CAA6B,CAAC,CAAD,EAAY,CAAZ,KAA2B,CAAC,GAAG,CAAL,GAAU,CAAV,GAAc,CAArE,CADG;;AAEA,MAAM,OAAO,GAChB,oCAAiB,iBAAjB,EAA0B,WAA1B,EAAuC;AAAK;AAA5C,EAA+D,MAA/D,CADG;;AAGA,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,KAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;ACVP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,gBAAgB,GACzB,+CAA6B,CAAC,CAAD,EAAY,CAAZ,KAA2B,CAAC,IAAI,CAAN,GAAW,CAAX,GAAe,CAAtE,CADG;;AAEA,MAAM,YAAY,GAAG,oCACxB,sBADwB,EACV,gBADU,EACQ;AAAK;AADb,EACgC,MADhC,CAArB;;AAGA,MAAM,kBAAkB,GAAiB;AAC9C,EAAA,UAAU,EAAE,sBADkC;AAE9C,EAAA,WAAW,EAAE,KAFiC;AAG9C,EAAA,UAAU,EAAE;AAHkC,CAAzC;;;;;;;;;;ACVP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,QAAQ,GACjB,+CAA6B,CAAC,CAAD,EAAY,CAAZ,KAA2B,CAAC,GAAG,CAAL,GAAU,CAAV,GAAc,CAArE,CADG;;AAEA,MAAM,IAAI,GACb,oCAAiB,cAAjB,EAAuB,QAAvB,EAAiC;AAAK;AAAtC,EAAyD,MAAzD,CADG;;AAGA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,KAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACVP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,aAAa,GACtB,+CAA6B,CAAC,CAAD,EAAY,CAAZ,KAA2B,CAAC,IAAI,CAAN,GAAW,CAAX,GAAe,CAAtE,CADG;;AAEA,MAAM,SAAS,GAClB,oCAAiB,mBAAjB,EAA4B,aAA5B,EAA2C;AAAK;AAAhD,EAAmE,MAAnE,CADG;;AAGA,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,mBAD+B;AAE3C,EAAA,WAAW,EAAE,KAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;ACVP;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,YAAV,CACF,KADE,EACa,IADb,EAC2B,GAD3B,EACsC;AAC1C,QAAM,IAAI,GAAG,CAAC,IAAI,GAAG,KAAR,KAAkB,GAAG,GAAG,CAAxB,CAAb;;AAEA,QAAM,MAAM,GAAG,eAAK,mBAAL,CAAyB,GAAzB,EAA8B,SAA9B,CAAf;;AACA,EAAA,MAAM,CAAC,CAAD,CAAN,GAAY,KAAZ;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,IAAA,MAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,CAAC,GAAG,CAAL,CAAN,GAAgB,IAA5B;AACD;;AAED,SAAO,MAAP;AACD;;;;;;;;;ACbD;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,OAAO,GAAG,uCAAuB,EAAD,IAAQ,IAAI,CAAC,GAAL,CAAS,EAAT,CAA9B,CAAhB;;AACA,MAAM,GAAG,GAAG,0CAAwB,aAAxB,EAA6B,OAA7B,CAAZ;;AAEA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,KAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;ACRP;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,OAAV,CACF,KADE,EACiB,UADjB,EACqC,QADrC,EAEF,KAFE,EAEa;AACjB,QAAM,IAAI,GAAG,eAAK,sBAAL,CACT,KADS,EACiB,eAAK,aAAL,CAAmB,QAAnB,CADjB,CAAb;;AAGA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAAI,CAAC,MAAzB,EAAiC,EAAE,CAAnC,EAAsC;AACpC,UAAM,MAAM,GAAG,CAAC,GAAG,UAAnB;AACA,QAAI,GAAG,GAAG,KAAK,CAAC,MAAD,CAAf;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,UAApB,EAAgC,EAAE,CAAlC,EAAqC;AACnC,YAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAV,CAAnB;;AACA,UAAI,MAAM,CAAC,KAAP,CAAa,KAAb,KACA,KAAK,GAAG,GADZ,EACiB;AAAG;AAClB,QAAA,GAAG,GAAG,KAAN;AACD;AACF;;AACD,IAAA,IAAI,CAAC,CAAD,CAAJ,GAAU,GAAV;AACD;;AACD,SAAO,IAAP;AACD;;;;;;;;;ACrBD;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,WAAW,GAAG,+CACtB,CAAC,MAAD,EAAS,MAAT,KAAoB,IAAI,CAAC,GAAL,CAAS,MAAT,EAA2B,MAA3B,CADE,CAApB;;AAEA,MAAM,OAAO,GAAG,oCAAiB,iBAAjB,EAA0B,WAA1B,CAAhB;;AAEA,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,KAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;ACTP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,WAAW,GAAG,+CACtB,CAAC,MAAD,EAAS,MAAT,KAAoB,IAAI,CAAC,GAAL,CAAS,MAAT,EAA2B,MAA3B,CADE,CAApB;;AAEA,MAAM,OAAO,GAAG,oCAAiB,iBAAjB,EAA0B,WAA1B,CAAhB;;AAEA,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,KAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;ACTP;;AACA;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBO,MAAM,YAAY,GAAG,+CACvB,CAAC,MAAD,EAAiB,MAAjB,KAAoC,MAAM,GAAG,MADtB,CAArB;;AAEA,MAAM,mBAAmB,GAC5B,iDAA+B,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,KAA+B;AAC5D,SAAO;AACL,IAAA,IAAI,EAAE,KAAK,GAAG,KAAR,GAAgB,KAAK,GAAG,KADzB;AAEL,IAAA,IAAI,EAAE,KAAK,GAAG,KAAR,GAAgB,KAAK,GAAG;AAFzB,GAAP;AAID,CALD,CADG;;AAQA,MAAM,QAAQ,GACjB,oCAAiB,kBAAjB,EAA2B,YAA3B,EAAyC,mBAAzC,CADG;;AAGA,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,KAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;;;ACjBP;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,OAAV,CAAkB,KAAlB,EAAqC,MAArC,EAAuD,MAAvD,EAAuE;AAE3E,QAAM,QAAQ,GACV,eAAK,iBAAL,CAAuB,CAAC,CAAxB,EAA8C,MAA9C,CADJ;;AAEA,SAAO,4BAAa,EAAb,EAAiB,MAAjB,EAAyB,QAAzB,EAAmC,KAAnC,EAA0C,MAA1C,CAAP;AACD;;AAEK,SAAU,GAAV,CAAc,IAAd,EAAkE;AAEtE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AAEA,kCAAiB,CAAjB,EAAoB,KAApB;AAEA,QAAM,KAAK,GAAG,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,CAAC,CAAC,MAAnB,EAA2B,MAAzC;AACA,QAAM,CAAC,GAAD,EAAM,QAAN,IAAkB,OAAO,CAAC,KAAD,EAAQ,CAAC,CAAC,KAAV,EAAiB,CAAC,CAAC,KAAnB,CAA/B;AAEA,SAAO,OAAO,CAAC,cAAR,CAAuB,QAAvB,EAAiC,CAAC,CAAC,KAAnC,EAA0C,GAA1C,CAAP;AACD;;AAEM,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,KAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;AC1BP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,YAAY,GACrB,+CAA8B,CAAC,CAAD,EAAI,CAAJ,KAAW,CAAC,KAAK,CAAP,GAAY,CAAZ,GAAgB,CAAxD,CADG;;AAEA,MAAM,QAAQ,GACjB,oCAAiB,kBAAjB,EAA2B,YAA3B,EAAyC;AAAK;AAA9C,EAA+D,MAA/D,CADG;;AAGA,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,KAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;ACTP;;AAlBA;;;;;;;;;;;;;;;;AAoBM,SAAU,aAAV,CACF,KADE,EACiB,MADjB,EACmC,KADnC,EACoD,IADpD,EAEF,QAFE,EAEgB;AACpB,QAAM,KAAK,GAAG,MAAM,CAAC,MAArB;;AACA,QAAM,KAAK,GAAG,eAAK,aAAL,CAAmB,MAAnB,CAAd;;AACA,QAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,MAApB,CAAjB;;AACA,QAAM,UAAU,GAAG,eAAK,cAAL,CAAoB,QAApB,CAAnB;;AAEA,QAAM,MAAM,GAAG,eAAK,sBAAL,CACX,KADW,EACe,eAAK,aAAL,CAAmB,QAAnB,CADf,CAAf;;AAGA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAApB,EAA2B,EAAE,CAA7B,EAAgC;AAC9B,UAAM,GAAG,GAAG,eAAK,UAAL,CAAgB,CAAhB,EAAmB,KAAnB,EAA0B,QAA1B,CAAZ,CAD8B,CAG9B;;;AACA,UAAM,MAAM,GAAa,IAAI,KAAJ,CAAU,GAAG,CAAC,MAAd,CAAzB;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,MAAA,MAAM,CAAC,CAAD,CAAN,GAAY,GAAG,CAAC,IAAI,CAAC,CAAD,CAAL,CAAf;AACD;;AAED,UAAM,QAAQ,GAAG,eAAK,UAAL,CAAgB,MAAhB,EAAwB,KAAxB,EAA+B,UAA/B,CAAjB;;AACA,IAAA,MAAM,CAAC,QAAD,CAAN,GAAmB,KAAK,CAAC,CAAD,CAAxB;AACD;;AACD,SAAO,MAAP;AACD;;;;;;;;;;AC3BD;;AAGA;;AAEA;;AAtBA;;;;;;;;;;;;;;;;AAwBM,SAAU,SAAV,CAAoB,IAApB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,KAAT;AAAgB,IAAA;AAAhB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA;AAAD,MAAS,KAAf;AAEA,kCAAiB,CAAjB,EAAoB,WAApB;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;AAEA,QAAM,QAAQ,GAAa,IAAI,KAAJ,CAAU,KAAV,CAA3B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,MAA7B,EAAqC,CAAC,EAAtC,EAA0C;AACxC,IAAA,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAC,CAAC,KAAF,CAAQ,IAAI,CAAC,CAAD,CAAZ,CAAd;AACD;;AAED,QAAM,MAAM,GAAG,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,CAAC,CAAC,MAAnB,EAA2B,MAA1C;AACA,QAAM,MAAM,GAAG,mCAAc,MAAd,EAAsB,CAAC,CAAC,KAAxB,EAA+B,CAAC,CAAC,KAAjC,EAAwC,IAAxC,EAA8C,QAA9C,CAAf;AAEA,QAAM,MAAM,GAAG,OAAO,CAAC,KAAR,CAAc,MAAd,EAAsB,QAAtB,EAAgC,CAAC,CAAC,KAAlC,CAAf;AACA,SAAO;AAAC,IAAA,MAAD;AAAS,IAAA,KAAK,EAAE,QAAhB;AAA0B,IAAA,KAAK,EAAE,CAAC,CAAC;AAAnC,GAAP;AACD;;AAEM,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,mBAD+B;AAE3C,EAAA,WAAW,EAAE,KAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;;;AChCP;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,QAAV,CACF,MADE,EACgB,MADhB,EACkC,KADlC,EAEF,aAFE,EAEqB;AAEzB,QAAM,CAAC,QAAD,EAAW,WAAX,IACF,uBAAa,yBAAb,CAAuC,MAAvC,EAA+C,aAA/C,CADJ;;AAEA,QAAM,QAAQ,GAAG,0BAAW,MAAX,EAAmB,OAAnB,CAAjB;;AACA,QAAM,OAAO,GAAG,eAAK,mBAAL,CACI,eAAK,aAAL,CAAmB,QAAnB,CADJ,EACkC,QADlC,CAAhB;;AAEA,QAAM,UAAU,GAAG,eAAK,aAAL,CAAmB,WAAnB,CAAnB;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,CAAC,MAA5B,EAAoC,EAAE,CAAtC,EAAyC;AACvC,UAAM,MAAM,GAAG,CAAC,GAAG,UAAnB;AACA,QAAI,IAAI,GAAG,CAAX;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,UAApB,EAAgC,EAAE,CAAlC,EAAqC;AACnC,MAAA,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAV,CAAb;AACD;;AACD,IAAA,OAAO,CAAC,CAAD,CAAP,GAAa,IAAb;AACD;;AAED,SAAO;AAAC,IAAA,OAAD;AAAU,IAAA,QAAV;AAAoB,IAAA;AAApB,GAAP;AACD;;AAEK,SAAU,IAAV,CACF,IADE,EACmE;AAEvE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,MAAmB,KAAzB;AAEA,kCAAiB,CAAjB,EAAoB,MAApB;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;;AACA,QAAM,IAAI,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,CAAC,CAAC,KAA5B,CAAb;;AAEA,QAAM,WAAW,GAAG,uBAAa,kBAAb,CAAgC,IAAhC,EAAsC,KAAtC,CAApB;;AACA,MAAI,aAAa,GAAG,IAApB;AACA,MAAI,SAAS,GAAG,CAAhB;AACA,QAAM,uBAAuB,GAAG,EAAhC;;AACA,MAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,IAAA,SAAS,GAAG,0BAAU;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,IAAI,EAAE;AAAP;AAA9B,KAAV,CAAZ;AACA,IAAA,uBAAuB,CAAC,IAAxB,CAA6B,SAA7B;AACA,IAAA,aAAa,GAAG,uBAAa,gBAAb,CAA8B,aAAa,CAAC,MAA5C,EAAoD,KAApD,CAAhB;AACD;;AAED,QAAM,KAAK,GAAG,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,SAAS,CAAC,MAA3B,EAAmC,MAAjD;AACA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA,QAAV;AAAoB,IAAA;AAApB,MACF,QAAQ,CAAC,SAAS,CAAC,KAAX,EAAkB,SAAS,CAAC,KAA5B,EAAmC,KAAnC,EAA0C,aAA1C,CADZ;AAGA,MAAI,WAAW,GAAG,QAAlB;;AACA,MAAI,QAAJ,EAAc;AACZ,IAAA,WAAW,GAAG,uBAAa,oBAAb,CAAkC,QAAlC,EAA4C,IAA5C,CAAd;AACD;;AAED,EAAA,uBAAuB,CAAC,OAAxB,CACI,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CADT;AAGA,SAAO,OAAO,CAAC,cAAR,CAAuB,WAAvB,EAAoC,QAApC,EAA8C,OAA9C,CAAP;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,KAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AClEP;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,SAAV,CACF,KADE,EACa,IADb,EAC2B,IAD3B,EAEF,KAFE,EAEsB;AAC1B,QAAM,aAAa,GAAG,KAAK,KAAK,IAAhC;AACA,QAAM,2BAA2B,GAAG,KAAK,GAAG,IAAR,IAAgB,IAAI,GAAG,CAA3D;AACA,QAAM,2BAA2B,GAAG,IAAI,GAAG,KAAP,IAAgB,IAAI,GAAG,CAA3D;;AAEA,MAAI,aAAa,IAAI,2BAAjB,IACA,2BADJ,EACiC;AAC/B,WAAO,eAAK,mBAAL,CAAyB,CAAzB,EAA4B,KAA5B,CAAP;AACD;;AAED,QAAM,WAAW,GAAG,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,IAAL,CAAU,CAAC,IAAI,GAAG,KAAR,IAAiB,IAA3B,CAAT,CAApB;;AACA,QAAM,MAAM,GAAG,eAAK,mBAAL,CAAyB,WAAzB,EAAsC,KAAtC,CAAf;;AAEA,MAAI,IAAI,GAAG,KAAP,IAAgB,IAAI,KAAK,CAA7B,EAAgC;AAC9B;AACA;AACA,IAAA,IAAI,GAAG,CAAC,CAAR;AACD;;AAED,EAAA,MAAM,CAAC,CAAD,CAAN,GAAY,KAAZ;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,IAAA,MAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,CAAC,GAAG,CAAL,CAAN,GAAgB,IAA5B;AACD;;AACD,SAAO,MAAP;AACD;;;;;;;;;AC5BD;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,SAAS,GAAG,uCAAuB,EAAD,IAAQ,IAAI,IAAI,CAAC,IAAL,CAAU,EAAV,CAAlC,CAAlB;;AACA,MAAM,KAAK,GAAG,0CAAwB,eAAxB,EAA+B,SAA/B,CAAd;;AAEA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,KAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;;;ACRP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,SAAV,CACF,IADE,EACmB,KADnB,EACoC,IADpC,EACoD,KADpD,EAEF,KAFE,EAEa;AACjB,QAAM,WAAW,GAAG,qBAAW,gBAAX,CAA4B,KAA5B,EAAmC,KAAnC,EAA0C,IAA1C,CAApB;;AACA,QAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,IAAnB,CAAf;;AACA,QAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,KAApB,CAAjB;;AAEA,MAAI,WAAJ,EAAiB;AACf,UAAM,UAAU,GAAG,qBAAW,iBAAX,CAA6B,KAA7B,EAAoC,QAApC,CAAnB;;AAEA,QAAI,KAAK,KAAK,QAAd,EAAwB;AACtB,aAAQ,IAAqB,CAAC,KAAtB,CAA4B,UAA5B,EAAwC,UAAU,GAAG,MAArD,CAAR;AACD;;AAED,WAAQ,IAAmB,CAAC,QAApB,CAA6B,UAA7B,EAAyC,UAAU,GAAG,MAAtD,CAAR;AACD;;AAED,QAAM,WAAW,GAAG,KAAK,KAAK,QAAV,GAChB,uBAAa,sBAAb,CAAoC,IAApC,CADgB,GAEhB,IAFJ;AAIA,QAAM,KAAK,GAAG,sBAAO,KAAP,EAAc,KAAd,EAAqB,WAArB,CAAd;AACA,QAAM,MAAM,GAAG,sBAAO,IAAP,EAAa,KAAb,CAAf;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,IAA3B,EAAiC,EAAE,CAAnC,EAAsC;AACpC,UAAM,MAAM,GAAG,MAAM,CAAC,UAAP,CAAkB,CAAlB,CAAf;AACA,UAAM,KAAK,GAAG,MAAM,CAAC,GAAP,CAAW,CAAC,GAAD,EAAc,CAAd,KAAoB,GAAG,GAAG,KAAK,CAAC,CAAD,CAA1C,CAAd;AACA,IAAA,MAAM,CAAC,GAAP,CAAW,KAAK,CAAC,GAAN,CAAU,GAAG,KAAb,CAAX,EAAgC,GAAG,MAAnC;AACD;;AAED,MAAI,KAAK,KAAK,QAAd,EAAwB;AACtB,WAAO,uBAAa,sBAAb,CAAoC,MAAM,CAAC,MAA3C,CAAP;AACD;;AACD,SAAO,MAAM,CAAC,MAAd;AACD;;AAEK,SAAU,KAAV,CACF,IADE,EACqE;AAEzE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,KAAD;AAAQ,IAAA;AAAR,MAAgB,KAAtB;AAEA,kCAAiB,CAAjB,EAAoB,OAApB;;AAEA,QAAM,CAAC,MAAD,EAAS,KAAT,IAAkB,qBAAW,gBAAX,CAA4B,CAA5B,EAA+B,KAA/B,EAAsC,IAAtC,CAAxB;;AACA,uBAAW,iBAAX,CAA6B,CAA7B,EAAgC,MAAhC,EAAwC,KAAxC;;AAEA,QAAM,IAAI,GAAG,OAAO,CAAC,IAAR,CAAa,GAAb,CAAiB,CAAC,CAAC,MAAnB,EAA2B,MAAxC;AACA,QAAM,OAAO,GAAG,SAAS,CAAC,IAAD,EAAO,MAAP,EAAe,KAAf,EAAsB,CAAC,CAAC,KAAxB,EAA+B,CAAC,CAAC,KAAjC,CAAzB;AACA,SAAO,OAAO,CAAC,cAAR,CAAuB,KAAvB,EAA8B,CAAC,CAAC,KAAhC,EAAuC,OAAvC,CAAP;AACD;;AAEM,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,KAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;ACzDP;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,uBAAV,CACF,OADE,EACmB,YADnB,EAC2C,YAD3C,EAEF,MAFE,EAEkB,WAFlB,EAEyC,UAFzC,EAGF,YAHE,EAGkB;AAEtB,QAAM,YAAY,GAAG,YAAY,CAAC,CAAD,CAAjC;AACA,QAAM,SAAS,GAAG,UAAU,CAAC,CAAD,CAA5B;AAEA,QAAM,iBAAiB,GAAc,IAAI,KAAJ,CAAU,SAAV,CAArC;AACA,QAAM,eAAe,GAAa,IAAI,KAAJ,CAAU,YAAV,CAAlC;AAEA,QAAM,IAAI,GAAG,YAAY,CAAC,CAAD,CAAzB;;AAEA,MAAI,SAAS,KAAK,CAAlB,EAAqB;AACnB,QAAI,YAAY,KAAK,CAArB,EAAwB;AACtB,YAAM,IAAI,KAAJ,CAAU;8BACQ,YAAY,EAD9B,CAAN;AAED;;AACD,UAAM,aAAa,GAAG,eAAK,iBAAL,CAAuB,YAAvB,EAAqC,CAArC,CAAtB;;AACA,UAAM,YAAY,GAAG,eAAK,iBAAL,CAAuB,WAAvB,EAAoC,CAApC,CAArB;;AACA,WAAO,CACL,aADK,EACU,CAAC,CAAD,EAAI,IAAJ,CADV,EACqB,YADrB,EACmC,iBADnC,EACsD,eADtD,CAAP;AAGD;;AAED,MAAI,cAAc,GAAG,IAArB;AACA,MAAI,cAAc,GAAG,CAArB;AACA,QAAM,SAAS,GAAa,IAAI,KAAJ,CAAU,SAAV,EAAqB,IAArB,CAA0B,CAA1B,CAA5B;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAApB,EAAkC,EAAE,CAApC,EAAuC;AACrC;AACA,UAAM,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,IAAL,CAAnB;;AACA,QAAI,GAAG,GAAG,CAAV,EAAa;AACX,YAAM,IAAI,KAAJ,CAAU,WAAW,CAAC,oBAAoB,GAAG,MAA7C,CAAN;AACD;;AACD,QAAI,GAAG,IAAI,SAAX,EAAsB;AACpB,YAAM,IAAI,KAAJ,CAAU,WAAW,CAAC,oBAAoB,GAAG,OAAO,SAAS,EAA7D,CAAN;AACD;;AACD,MAAE,SAAS,CAAC,GAAD,CAAX;AACA,IAAA,cAAc,GAAG,cAAc,IAAK,GAAG,IAAI,cAA3C;AACA,IAAA,cAAc,GAAG,GAAjB;AACD;;AAED,MAAI,WAAW,GAAG,IAAlB;;AACA,OAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,GAAG,SAAxB,EAAmC,EAAE,GAArC,EAA0C;AACxC;AACA,UAAM,QAAQ,GAAI,SAAS,CAAC,GAAD,CAAT,KAAmB,CAArC;AACA,IAAA,iBAAiB,CAAC,GAAD,CAAjB,GAAyB,QAAzB;AACA,IAAA,WAAW,GAAG,WAAW,IAAI,CAAC,QAA9B,CAJwC,CAKxC;;AACA,IAAA,SAAS,CAAC,GAAD,CAAT,GAAiB,IAAI,CAAC,GAAL,CAAS,SAAS,CAAC,GAAD,CAAlB,EAAyB,CAAzB,CAAjB,CANwC,CAOxC;AACA;AACA;AACA;AACA;AACA;;AACA,QAAI,GAAG,GAAG,CAAV,EAAa;AACX,MAAA,SAAS,CAAC,GAAD,CAAT,IAAkB,SAAS,CAAC,GAAG,GAAG,CAAP,CAA3B;AACD;AACF;;AAED,MAAI,WAAW,IAAI,cAAnB,EAAmC;AACjC,UAAM,aAAa,GAAe,OAAlC;AACA,UAAM,YAAY,GAAe,MAAjC;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAApB,EAAkC,EAAE,CAApC,EAAuC;AACrC,MAAA,eAAe,CAAC,CAAD,CAAf,GAAqB,CAArB;AACD;;AACD,WAAO,CACL,aADK,EACU,CAAC,YAAD,EAAe,IAAf,CADV,EACgC,YADhC,EAC8C,iBAD9C,EAEL,eAFK,CAAP;AAID,GAVD,MAUO;AACL,UAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,GAAG,CAAb,CAAlC;;AACA,UAAM,aAAa,GACf,eAAK,iBAAL,CAAuB,YAAvB,EAAqC,gBAAgB,GAAG,IAAxD,CADJ;;AAGA,UAAM,YAAY,GACd,eAAK,iBAAL,CAAuB,WAAvB,EAAoC,gBAApC,CADJ;;AAEA,UAAM,WAAW,GAAa,IAAI,KAAJ,CAAU,SAAV,EAAqB,IAArB,CAA0B,CAA1B,CAA9B,CAPK,CASL;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAApB,EAAkC,EAAE,CAApC,EAAuC;AACrC;AACA,YAAM,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,IAAL,CAAnB;AACA,YAAM,MAAM,GAAG,WAAW,CAAC,GAAD,CAA1B;AACA,YAAM,OAAO,GAAG,CAAE,GAAG,KAAK,CAAT,GAAc,CAAd,GAAkB,SAAS,CAAC,GAAG,GAAG,CAAP,CAA5B,IAAyC,MAAzD;AACA,MAAA,WAAW,CAAC,GAAD,CAAX,GALqC,CAKhB;;AACrB,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAApB,EAA0B,EAAE,CAA5B,EAA+B;AAC7B;AACA,QAAA,aAAa,CAAC,OAAO,GAAG,IAAV,GAAiB,CAAlB,CAAb,GAAoC,OAAO,CAAC,CAAC,GAAG,IAAJ,GAAW,CAAZ,CAA3C;AACD;;AACD,MAAA,YAAY,CAAC,OAAD,CAAZ,GAAwB,MAAM,CAAC,CAAD,CAA9B,CAVqC,CAWrC;;AACA,MAAA,eAAe,CAAC,CAAD,CAAf,GAAqB,OAArB;AACD,KAvBI,CAyBL;;;AACA,SAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,GAAG,SAAxB,EAAmC,EAAE,GAArC,EAA0C;AACxC,YAAM,QAAQ,GAAG,WAAW,CAAC,GAAD,CAA5B;;AACA,UAAI,QAAQ,KAAK,CAAjB,EAAoB;AAAG;AACrB,cAAM,aAAa,GAAI,GAAG,KAAK,CAAT,GAAc,CAAd,GAAkB,SAAS,CAAC,GAAG,GAAG,CAAP,CAAjD,CADkB,CAElB;AACA;AACA;;AACA,QAAA,aAAa,CAAC,aAAa,GAAG,IAAhB,GAAuB,CAAxB,CAAb,GAA0C,GAA1C;;AACA,aAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,GAAG,IAAxB,EAA8B,EAAE,GAAhC,EAAqC;AACnC,UAAA,aAAa,CAAC,aAAa,GAAG,IAAhB,GAAuB,GAAxB,CAAb,GAA4C,CAA5C;AACD;;AACD,QAAA,YAAY,CAAC,aAAD,CAAZ,GAA8B,YAA9B;AACD;AACF;;AACD,WAAO,CACL,aADK,EACU,CAAC,gBAAD,EAAmB,IAAnB,CADV,EACoC,YADpC,EACkD,iBADlD,EAEL,eAFK,CAAP;AAID;AACF;;;;;;;;;ACvHD;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,iBAAV,CACF,YADE,EACwB,iBADxB,EACqD,UADrD,EAEF,UAFE,EAGF,WAHE,EAGmB;AACvB,QAAM,SAAS,GAAG,eAAK,aAAL,CAAmB,UAAnB,CAAlB;;AACA,QAAM,GAAG,GAAG,iBAAiB,CAAC,CAAD,CAA7B;AACA,QAAM,UAAU,GAAG,WAAW,CAAC,MAA/B,CAHuB,CAKvB;AACA;;AACA,QAAM,WAAW,GAAa,EAA9B;AACA,MAAI,OAAO,GAAG,CAAd;AACA,MAAI,YAAY,GAAG,CAAC,CAApB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,UAApB,EAAgC,EAAE,CAAlC,EAAqC;AACnC,UAAM,IAAI,GAAG,WAAW,CAAC,CAAD,CAAxB;;AACA,QAAI,IAAI,KAAK,CAAC,CAAd,EAAiB;AACf,UAAI,YAAY,KAAK,CAAC,CAAtB,EAAyB;AACvB,cAAM,IAAI,KAAJ,CAAU,iDACZ,YAAY,QAAQ,CAAC,EADnB,CAAN;AAED;;AACD,MAAA,YAAY,GAAG,CAAf;AACA,MAAA,WAAW,CAAC,IAAZ,CAAiB,CAAjB;AACD,KAPD,MAOO;AACL,UAAI,IAAI,GAAG,CAAX,EAAc;AACZ,cAAM,IAAI,KAAJ,CAAU,QAAQ,CAAC,8BAA8B,IAAI,EAArD,CAAN;AACD;;AACD,MAAA,OAAO,IAAI,IAAX;AACA,MAAA,WAAW,CAAC,IAAZ,CAAiB,IAAjB;AACD;AACF;;AACD,MAAI,YAAY,KAAK,CAAC,CAAtB,EAAyB;AACvB,QAAI,OAAO,IAAI,CAAf,EAAkB;AAChB,YAAM,IAAI,KAAJ,CACF,sCACA,4CADA,GAEA,oCAHE,CAAN;AAID;;AACD,UAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,SAAS,GAAG,OAAvB,CAAhB;;AACA,QAAI,OAAO,GAAG,OAAV,KAAsB,SAA1B,EAAqC;AACnC,YAAM,IAAI,KAAJ,CAAU,2CAA2C,SAAS;yEAEhE,OAAO,gBAAgB,UAAU,iBAAiB,WAAW,EAF3D,CAAN;AAGD;;AAED,IAAA,WAAW,CAAC,YAAD,CAAX,GAA4B,OAA5B;AACD;;AACD,QAAM,UAAU,GAAG,eAAK,aAAL,CAAmB,WAAnB,CAAnB;;AACA,MAAI,UAAU,KAAK,SAAnB,EAA8B;AAC5B,UAAM,IAAI,KAAJ,CAAU,qCACZ,SAAS,8CACT,UAAU,gBAAgB,UAAU,gBAAgB,WAAW,EAF7D,CAAN;AAGD;;AAED,QAAM,SAAS,GAAG,UAAU,CAAC,MAA7B;AACA,QAAM,YAAY,GAAa,EAA/B;;AACA,MAAI,SAAS,GAAG,CAAhB,EAAmB;AACjB,IAAA,YAAY,CAAC,SAAS,GAAG,CAAb,CAAZ,GAA8B,CAA9B;;AACA,SAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAzB,EAA4B,CAAC,IAAI,CAAjC,EAAoC,EAAE,CAAtC,EAAyC;AACvC,MAAA,YAAY,CAAC,CAAD,CAAZ,GAAkB,YAAY,CAAC,CAAC,GAAG,CAAL,CAAZ,GAAsB,UAAU,CAAC,CAAC,GAAG,CAAL,CAAlD;AACD;AACF;;AAED,QAAM,aAAa,GAAa,EAAhC;;AACA,MAAI,UAAU,GAAG,CAAjB,EAAoB;AAClB,IAAA,aAAa,CAAC,UAAU,GAAG,CAAd,CAAb,GAAgC,CAAhC;;AACA,SAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAA1B,EAA6B,CAAC,IAAI,CAAlC,EAAqC,EAAE,CAAvC,EAA0C;AACxC,MAAA,aAAa,CAAC,CAAD,CAAb,GAAmB,aAAa,CAAC,CAAC,GAAG,CAAL,CAAb,GAAuB,WAAW,CAAC,CAAC,GAAG,CAAL,CAArD;AACD;AACF;;AAED,QAAM,UAAU,GACZ,eAAK,iBAAL,CAAuB,UAAvB,EAAmC,GAAG,GAAG,UAAzC,CADJ;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,EAAE,CAA3B,EAA8B;AAC5B,QAAI,EAAE,GAAG,CAAT;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAApB,EAA+B,EAAE,CAAjC,EAAoC;AAClC;AACA,MAAA,EAAE,IAAI,YAAY,CAAC,CAAC,GAAG,SAAJ,GAAgB,CAAjB,CAAZ,GAAkC,YAAY,CAAC,CAAD,CAApD;AACD;;AACD,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,UAApB,EAAgC,EAAE,CAAlC,EAAqC;AACnC;AACA,MAAA,UAAU,CAAC,CAAC,GAAG,UAAJ,GAAiB,CAAlB,CAAV,GAAiC,IAAI,CAAC,KAAL,CAAW,EAAE,GAAG,aAAa,CAAC,CAAD,CAA7B,CAAjC;AACA,MAAA,EAAE,IAAI,aAAa,CAAC,CAAD,CAAnB;AACD;AACF;;AACD,SAAO,CAAC,UAAD,EAAa,CAAC,GAAD,EAAM,UAAN,CAAb,EAAgC,WAAhC,CAAP;AACD;;;;;;;;;ACvFD;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,0BAAV,CACF,KADE,EACiB,UADjB,EACuC,UADvC,EAEF,OAFE,EAEmB,UAFnB,EAE2C,MAAM,GAAG,KAFpD,EAGF,YAAY,GAAG,CAHb,EAGc;AAClB,QAAM,UAAU,GAAG,OAAO,CAAC,MAA3B;;AACA,MAAI,UAAU,KAAK,UAAU,CAAC,MAA9B,EAAsC;AACpC,UAAM,IAAI,KAAJ,CAAU,+CAAV,CAAN;AACD,GAJiB,CAMlB;;;AACA,QAAM,SAAS,GAAa,CAAC,UAAU,CAAC,CAAD,CAAX,EAAgB,KAAK,CAAC,MAAN,GAAe,UAAU,CAAC,CAAD,CAAzC,CAA5B;AACA,QAAM,MAAM,GAAG,SAAS,CAAC,CAAD,CAAxB,CARkB,CASlB;AACA;;AACA,QAAM,oBAAoB,GACtB,UAAU,GAAG,CAAb,GAAiB,UAAU,CAAC,UAAU,GAAG,CAAd,CAAV,GAA6B,CAA9C,GAAkD,CADtD;AAEA,QAAM,UAAU,GAAG,oBAAnB;;AAEA,MAAI,UAAU,GAAG,CAAjB,EAAoB;AAClB,UAAM,IAAI,KAAJ,CAAU,0BAAV,CAAN;AACD;;AAED,QAAM,WAAW,GAAG,UAAU,CAAC,KAAX,EAApB;AACA,EAAA,WAAW,CAAC,CAAD,CAAX,GAAiB,UAAjB;AAEA,QAAM,YAAY,GACd,WAAW,CAAC,MAAZ,CAAmB,CAAC,OAAD,EAAU,KAAV,KAAoB,OAAO,GAAG,KAAjD,EAAwD,CAAxD,CADJ,CAtBkB,CAwBlB;;AACA,QAAM,MAAM,GAAG,eAAK,iBAAL,CAAuB,UAAvB,EAAmC,YAAnC,CAAf,CAzBkB,CA2BlB;AACA;;;AACA,MAAI,UAAU,KAAK,CAAnB,EAAsB;AACpB,QAAI,UAAU,GAAG,CAAjB,EAAoB;AAClB,MAAA,MAAM,CAAC,IAAP,CAAY,YAAZ;AACD;;AACD,WAAO,CAAC,MAAD,EAAS,WAAT,CAAP;AACD;;AAED,MAAI,UAAU,IAAI,CAAlB,EAAqB;AACnB,UAAM,IAAI,KAAJ,CAAU,0BAAV,CAAN;AACD;;AAED,MAAI,KAAK,GAAG,CAAZ;AAAA,MAAe,GAAG,GAAG,CAArB,CAxCkB,CAyClB;;AACA,MAAI,kBAAkB,GAAG,CAAzB;AACA,MAAI,QAAQ,GAAG,UAAU,CAAC,KAAD,CAAzB;;AAEA,SAAO,IAAP,EAAa;AACX;AACA,QAAI,SAAS,GAAG,CAAhB;;AACA,QAAI,GAAG,GAAG,UAAV,EAAsB;AACpB,MAAA,SAAS,GAAG,UAAU,CAAC,GAAD,CAAtB;;AACA,UAAI,QAAQ,KAAK,SAAjB,EAA4B;AAC1B,UAAE,GAAF;AACA;AACD,OALmB,CAMpB;;;AACA,UAAI,QAAQ,IAAI,SAAhB,EAA2B;AACzB,cAAM,IAAI,KAAJ,CAAU,gCAAV,CAAN;AACD;AACF;;AAED,QAAI,QAAQ,GAAG,CAAX,IAAgB,QAAQ,IAAI,UAAhC,EAA4C;AAC1C,YAAM,IAAI,KAAJ,CAAU,cAAc,QAAQ,qBAClC,UAAU,qDADR,CAAN;AAED,KAlBU,CAoBX;AACA;;;AACA,QAAI,QAAQ,GAAG,kBAAf,EAAmC;AACjC,MAAA,MAAM,CAAC,IAAP,CAAY,YAAZ,EAA0B,kBAAkB,GAAG,MAA/C,EAAuD,QAAQ,GAAG,MAAlE;AACD;;AAED,SAAK,IAAI,CAAC,GAAG,KAAb,EAAoB,CAAC,GAAG,GAAxB,EAA6B,EAAE,CAA/B,EAAkC;AAChC,YAAM,KAAK,GAAG,OAAO,CAAC,CAAD,CAArB;;AACA,UAAI,KAAK,GAAG,CAAR,IAAa,KAAK,IAAI,SAAS,CAAC,CAAD,CAAnC,EAAwC;AACtC,cAAM,IAAI,KAAJ,CAAU,gBAAgB,CAAC,QAAQ,OAAO,CAAC,CAAD,CAAG,qBAC/C,SAAS,CAAC,CAAD,CAAG,GADV,CAAN;AAED;;AACD,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAApB,EAA4B,CAAC,EAA7B,EAAiC;AAC/B,QAAA,MAAM,CAAC,QAAQ,GAAG,MAAX,GAAoB,CAArB,CAAN,IAAiC,KAAK,CAAC,KAAK,GAAG,MAAR,GAAiB,CAAlB,CAAtC;AACD;AACF;;AAED,QAAI,MAAJ,EAAY;AACV,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAApB,EAA4B,CAAC,EAA7B,EAAiC;AAC/B,QAAA,MAAM,CAAC,QAAQ,GAAG,MAAX,GAAoB,CAArB,CAAN,IAAiC,GAAG,GAAG,KAAvC;AACD;AACF;;AAED,IAAA,KAAK,GAAG,GAAR;AACA,MAAE,GAAF;AACA,IAAA,kBAAkB,GAAG,QAAQ,GAAG,CAAhC;AACA,IAAA,QAAQ,GAAG,SAAX;;AACA,QAAI,GAAG,GAAG,UAAV,EAAsB;AACpB;AACD;AACF,GA/FiB,CAiGlB;;;AACA,MAAI,kBAAkB,GAAG,UAAzB,EAAqC;AACnC,IAAA,MAAM,CAAC,IAAP,CAAY,YAAZ,EAA0B,kBAAkB,GAAG,MAA/C,EAAuD,UAAU,GAAG,MAApE;AACD;;AAED,SAAO,CAAC,MAAD,EAAS,WAAT,CAAP;AACD;;;;;;;;;AC5GD;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,qBAAqB,GAC9B,+CAA8B,CAAC,CAAD,EAAY,CAAZ,KAAyB;AACrD,QAAM,IAAI,GAAG,CAAC,GAAG,CAAjB;AACA,SAAO,IAAI,GAAG,IAAd;AACD,CAHD,CADG;;AAKA,MAAM,iBAAiB,GAC1B,oCAAiB,2BAAjB,EAAoC,qBAApC,CADG;;AAGA,MAAM,uBAAuB,GAAiB;AACnD,EAAA,UAAU,EAAE,2BADuC;AAEnD,EAAA,WAAW,EAAE,KAFsC;AAGnD,EAAA,UAAU,EAAE;AAHuC,CAA9C;;;;;;;;;;ACbP;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,gBAAV,CACF,QADE,EACkB,IADlB,EACyC,OADzC,EAEF,KAFE,EAEa;AACjB,QAAM,MAAM,GAAG,sBAAO,QAAP,EAAiB,IAAI,CAAC,KAAtB,CAAf;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,IAA3B,EAAiC,CAAC,EAAlC,EAAsC;AACpC,UAAM,GAAG,GAAG,MAAM,CAAC,UAAP,CAAkB,CAAlB,CAAZ;AAEA,UAAM,MAAM,GAAa,IAAI,KAAJ,CAAU,GAAG,CAAC,MAAd,CAAzB;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,MAAA,MAAM,CAAC,CAAD,CAAN,GAAY,GAAG,CAAC,CAAD,CAAH,GAAS,OAAO,CAAC,CAAD,CAAhB,GAAsB,KAAK,CAAC,CAAD,CAAvC;AACD;;AACD,IAAA,MAAM,CAAC,GAAP,CAAW,IAAI,CAAC,GAAL,CAAS,GAAG,MAAZ,CAAX,EAAgC,GAAG,GAAnC;AACD;;AAED,SAAO,MAAP;AACD;;;;;;;;;AClBD;;AAjBA;;;;;;;;;;;;;;;;;AAmBA;;;;;;AAMA,MAAM,cAAN,CAAoB;AAQlB,EAAA,WAAA,CACI,SADJ,EACuB,WADvB,EAC8C,OAD9C,EAEI,QAFJ,EAEsB,QAFtB,EAEwC,sBAFxC,EAEuE;AACrE,SAAK,SAAL,GAAiB,eAAK,YAAL,CAAkB,SAAlB,CAAjB;AACA,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,OAAL,GAAe,eAAK,YAAL,CAAkB,OAAlB,CAAf;AACA,SAAK,QAAL,GAAgB,eAAK,YAAL,CAAkB,QAAlB,CAAhB;AACA,SAAK,QAAL,GAAgB,QAAhB;AACA,SAAK,aAAL,GAAqB,sBAArB;AACD;;AAEO,EAAA,WAAW,CAAC,UAAD,EAAmB;AACpC;AACA;AACA;AACA,WAAO,IAAI,CAAC,GAAL,CACH,KAAK,QAAL,GAAgB,CAAhB,GAAoB,UAAU,GAAG,CAAjC,GAAqC,KAAK,QADvC,EACiD,UAAU,GAAG,CAD9D,CAAP;AAED;;AAEO,EAAA,YAAY,CAAC,MAAD,EAAiB,UAAjB,EAAmC;AACrD,UAAM,QAAQ,GAAG,KAAK,WAAL,CAAiB,UAAjB,CAAjB;AACA,WAAO,IAAI,CAAC,GAAL,CAAS,CAAT,EAAc,MAAM,GAAG,IAAI,QAAd,GAA0B,UAA3B,GAAyC,CAArD,CAAP;AACD;;AAEO,EAAA,YAAY,CAChB,IADgB,EACI,UADJ,EACwB,MADxB,EAEhB,gBAFgB,EAEU,SAFV,EAE6B,UAF7B,EAE+C;AACjE,SAAK,IAAI,UAAU,GAAG,CAAtB,EAAyB,UAAU,GAAG,SAAtC,EAAiD,EAAE,UAAnD,EAA+D;AAC7D,YAAM,QAAQ,GAAG,KAAK,WAAL,CAAiB,UAAjB,CAAjB;AACA,YAAM,WAAW,GAAG,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,QAAQ,GAAG,UAAvB,CAApB;AACA,YAAM,YAAY,GACd,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,QAAQ,IAAI,SAAS,IAAI,UAAU,GAAG,CAAjB,CAAb,CAApB,CADJ;AAEA,YAAM,SAAS,GAAG,UAAU,IAAI,WAAW,GAAG,YAAlB,CAA5B;AACA,YAAM,cAAc,GAChB,UAAU,IAAI,WAAW,GAAG,CAAd,GAAkB,CAAlB,GAAsB,UAAU,GAAG,QAAvC,CADd,CAN6D,CAS7D;AACA;;AACA,UAAI,SAAS,GAAG,CAAhB,CAX6D,CAY7D;;AACA,MAAA,SAAS,IAAI,WAAW,GAAG,KAAK,OAAL,CAAa,MAAxC,CAb6D,CAc7D;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAApB,EAA+B,EAAE,CAAjC,EAAoC;AAClC,QAAA,SAAS,IAAI,IAAI,CAAC,cAAc,GAAG,CAAlB,CAAJ,CAAyB,MAAtC;AACD,OAjB4D,CAkB7D;;;AACA,MAAA,SAAS,IAAI,YAAY,GAAG,KAAK,QAAL,CAAc,MAA1C,CAnB6D,CAoB7D;;AACA,YAAM,aAAa,GAAG,WAAW,GAAG,YAAd,GAA6B,SAA7B,GAAyC,CAA/D;AACA,MAAA,SAAS,IAAI,aAAa,GAAG,KAAK,SAAL,CAAe,MAA5C,CAtB6D,CAwB7D;;AACA,MAAA,MAAM,CAAC,gBAAgB,GAAG,UAApB,CAAN,GAAwC,IAAI,UAAJ,CAAe,SAAf,CAAxC;AACA,YAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,GAAG,UAApB,CAApB;AAEA,UAAI,cAAc,GAAG,CAArB;;AACA,YAAM,aAAa,GAAI,GAAD,IAClB,GAAG,CAAC,OAAJ,CAAa,KAAD,IAAW,KAAK,CAAC,cAAc,EAAf,CAAL,GAA0B,KAAjD,CADJ;;AAGA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,WAApB,EAAiC,EAAE,CAAnC,EAAsC;AACpC,QAAA,aAAa,CAAC,KAAK,OAAN,CAAb;AACA,QAAA,aAAa,CAAC,KAAK,SAAN,CAAb;AACD,OAnC4D,CAoC7D;;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAAS,GAAG,CAAhC,EAAmC,EAAE,CAArC,EAAwC;AACtC,QAAA,aAAa,CAAC,IAAI,CAAC,cAAc,GAAG,CAAlB,CAAL,CAAb;AACA,QAAA,aAAa,CAAC,KAAK,SAAN,CAAb;AACD,OAxC4D,CAyC7D;AACA;;;AACA,UAAI,SAAS,GAAG,CAAhB,EAAmB;AACjB;AACA;AACA;AACA,QAAA,aAAa,CAAC,IAAI,CAAC,cAAc,GAAG,SAAjB,GAA6B,CAA9B,CAAL,CAAb;;AACA,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAApB,EAAkC,EAAE,CAApC,EAAuC;AACrC,UAAA,aAAa,CAAC,KAAK,SAAN,CAAb;AACA,UAAA,aAAa,CAAC,KAAK,QAAN,CAAb;AACD;AACF,OATD,MASO;AACL;AACA;AACA;AACA;AACA,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAAY,GAAG,CAAnC,EAAsC,EAAE,CAAxC,EAA2C;AACzC,UAAA,aAAa,CAAC,KAAK,QAAN,CAAb;AACA,UAAA,aAAa,CAAC,KAAK,SAAN,CAAb;AACD;;AACD,QAAA,aAAa,CAAC,KAAK,QAAN,CAAb;AACD;AACF;AACF,GAnGiB,CAqGlB;AACA;AACA;;;AACO,EAAA,OAAO,CAAC,IAAD,EAAqB,MAArB,EAAuC;AAEnD;AACA;AACA,UAAM,aAAa,GAAG,IAAI,CAAC,MAA3B;AACA,UAAM,UAAU,GAAG,MAAM,CAAC,MAA1B;;AACA,QAAI,UAAU,GAAG,CAAjB,EAAoB;AAClB,UAAI,SAAS,GAAG,MAAM,CAAC,CAAD,CAAtB;;AACA,UAAI,SAAS,KAAK,CAAlB,EAAqB;AACnB,cAAM,IAAI,KAAJ,CAAU,oCAAoC,SAAS,EAAvD,CAAN;AACD;;AACD,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,UAApB,EAAgC,EAAE,CAAlC,EAAqC;AACnC,YAAI,WAAW,GAAG,MAAM,CAAC,CAAD,CAAN,IAAa,SAA/B;AACA,QAAA,WAAW,GAAG,WAAW,IAAK,MAAM,CAAC,CAAD,CAAN,IAAa,aAA3C;;AACA,YAAI,CAAC,WAAL,EAAkB;AAChB,gBAAM,IAAI,KAAJ,CAAU,uBAAuB,MAAM,CAAC,CAAD,CAAG,iBAC5C,SAAS,KAAK,aAAa,GADzB,CAAN;AAED;;AACD,QAAA,SAAS,GAAG,MAAM,CAAC,CAAD,CAAlB;AACD;;AACD,UAAI,SAAS,KAAK,aAAlB,EAAiC;AAC/B,cAAM,IAAI,KAAJ,CAAU,gDACZ,aAAa,SAAS,SAAS,EAD7B,CAAN;AAED;AACF;;AAED,UAAM,aAAa,GAAG,UAAU,GAAG,CAAnC;;AACA,UAAM,YAAY,GAAG,eAAK,iBAAL,CAAuB,OAAvB,EAAgC,UAAhC,CAArB,CA3BmD,CA4BnD;;;AACA,QAAI,aAAa,KAAK,CAAlB,IAAuB,UAAU,KAAK,CAA1C,EAA6C;AAC3C,YAAM,KAAK,GAAiB,IAAI,KAAJ,CAAU,aAAV,CAA5B;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,IAAI,aAArB,EAAoC,EAAE,CAAtC,EAAyC;AACvC,QAAA,YAAY,CAAC,CAAD,CAAZ,GAAkB,CAAlB;AACD;;AACD,aAAO,CAAC,KAAD,EAAQ,YAAR,CAAP;AACD;;AAED,IAAA,YAAY,CAAC,CAAD,CAAZ,GAAkB,CAAlB;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,IAAI,aAArB,EAAoC,EAAE,CAAtC,EAAyC;AACvC,YAAM,MAAM,GAAG,MAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,CAAC,GAAG,CAAL,CAAjC;AACA,UAAI,SAAS,GAAG,CAAhB;AACA,WAAK,WAAL,CAAiB,OAAjB,CAA0B,UAAD,IAAe;AACtC,QAAA,SAAS,IAAI,KAAK,YAAL,CAAkB,MAAlB,EAA0B,UAA1B,CAAb;AACD,OAFD;;AAGA,UAAI,KAAK,aAAL,IAAsB,MAAM,GAAG,CAA/B,IAAoC,SAAS,KAAK,CAAtD,EAAyD;AACvD,QAAA,SAAS,GAAG,CAAZ;AACD;;AACD,MAAA,YAAY,CAAC,CAAD,CAAZ,GAAkB,YAAY,CAAC,CAAC,GAAG,CAAL,CAAZ,GAAsB,SAAxC;AACD;;AAED,UAAM,MAAM,GAAiB,IAAI,KAAJ,CAAU,YAAY,CAAC,aAAD,CAAtB,CAA7B;;AAEA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,aAApB,EAAmC,EAAE,CAArC,EAAwC;AACtC,YAAM,UAAU,GAAG,MAAM,CAAC,CAAD,CAAzB;AACA,UAAI,cAAc,GAAG,YAAY,CAAC,CAAD,CAAjC;AACA,WAAK,WAAL,CAAiB,OAAjB,CAA0B,UAAD,IAAe;AACtC,cAAM,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAL,CAAN,GAAgB,MAAM,CAAC,CAAD,CAArC;AACA,cAAM,SAAS,GAAG,KAAK,YAAL,CAAkB,MAAlB,EAA0B,UAA1B,CAAlB;AACA,aAAK,YAAL,CACI,IADJ,EACU,UADV,EACsB,MADtB,EAC8B,cAD9B,EAC8C,SAD9C,EACyD,UADzD;AAEA,QAAA,cAAc,IAAI,SAAlB;AACD,OAND,EAHsC,CAUtC;AACA;AACA;AACA;AACA;;AACA,UAAI,KAAK,aAAL,IAAsB,cAAc,KAAK,YAAY,CAAC,CAAD,CAAzD,EAA8D;AAC5D,cAAM,UAAU,GAAG,MAAM,CAAC,CAAC,GAAG,CAAL,CAAN,GAAgB,MAAM,CAAC,CAAD,CAAzC,CAD4D,CAE5D;AACA;;AACA,YAAI,UAAU,KAAK,CAAnB,EAAsB;AACpB;AACD,SAN2D,CAO5D;AACA;AACA;;;AACA,cAAM,UAAU,GAAG,UAAU,GAAG,IAAI,KAAK,QAAzC;AACA,cAAM,SAAS,GAAG,CAAlB;AACA,aAAK,YAAL,CACI,IADJ,EACU,UADV,EACsB,MADtB,EAC8B,cAD9B,EAC8C,SAD9C,EACyD,UADzD;AAED;AACF;;AACD,WAAO,CAAC,MAAD,EAAS,YAAT,CAAP;AACD;;AA5LiB;;AA+Ld,SAAU,gBAAV,CACF,IADE,EACkB,UADlB,EAC0C,SAD1C,EAEF,WAFE,EAEqB,OAFrB,EAEsC,QAFtC,EAEwD,QAFxD,EAGF,sBAHE,EAG6B;AACjC,SAAO,IAAI,cAAJ,CACI,SADJ,EACe,WADf,EAC4B,OAD5B,EACqC,QADrC,EAC+C,QAD/C,EAEI,sBAFJ,EAGF,OAHE,CAGM,IAHN,EAGY,UAHZ,CAAP;AAID;;;;;;;;;AC/MD;;AAjBA;;;;;;;;;;;;;;;;AAmBA,SAAS,KAAT,CACI,GADJ,EACqB,UADrB,EAC6C,SAD7C,EAC+D;AAC7D,MAAI,CAAC,GAAG,CAAC,MAAT,EAAiB;AACf,WAAO,EAAP;AACD,GAH4D,CAI7D;;;AACA,MAAI,UAAU,CAAC,MAAX,KAAsB,CAA1B,EAA6B;AAC3B,UAAM,MAAM,GAAiB,IAAI,KAAJ,CAAU,GAAG,CAAC,MAAd,CAA7B;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAAG,CAAC,MAAxB,EAAgC,EAAE,CAAlC,EAAqC;AACnC,MAAA,MAAM,CAAC,CAAD,CAAN,GAAY,GAAG,CAAC,QAAJ,CAAa,CAAb,EAAgB,CAAC,GAAG,CAApB,CAAZ;AACD;;AACD,WAAO,MAAP;AACD,GAX4D,CAY7D;;;AACA,MAAI,UAAU,CAAC,MAAX,KAAsB,CAA1B,EAA6B;AAC3B,UAAM,SAAS,GAAG,UAAU,CAAC,CAAD,CAA5B;AACA,UAAM,MAAM,GAAiB,EAA7B;AACA,QAAI,CAAC,GAAG,GAAG,CAAC,OAAJ,CAAY,SAAZ,CAAR;;AACA,WAAO,CAAC,KAAK,CAAC,CAAd,EAAiB;AACf,YAAM,KAAK,GAAG,GAAG,CAAC,QAAJ,CAAa,CAAb,EAAgB,CAAhB,CAAd;;AACA,UAAI,CAAC,SAAD,IAAc,KAAK,CAAC,MAAN,KAAiB,CAAnC,EAAsC;AACpC,QAAA,MAAM,CAAC,IAAP,CAAY,KAAZ;AACD;;AACD,MAAA,GAAG,GAAG,GAAG,CAAC,QAAJ,CAAa,CAAC,GAAG,CAAjB,CAAN;AACA,MAAA,CAAC,GAAG,GAAG,CAAC,OAAJ,CAAY,SAAZ,CAAJ;AACD;;AACD,QAAI,CAAC,SAAD,IAAc,GAAG,CAAC,MAAJ,KAAe,CAAjC,EAAoC;AAClC,MAAA,MAAM,CAAC,IAAP,CAAY,GAAZ;AACD;;AACD,WAAO,MAAP;AACD,GA7B4D,CA8B7D;AACA;;;AACA,QAAM,MAAM,GAAiB,EAA7B;AACA,MAAI,UAAU,GAAG,CAAjB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAAG,CAAC,MAAJ,GAAa,CAAjC,EAAoC,CAAC,EAArC,EAAyC;AACvC,QAAK,CAAC,KAAK,GAAG,CAAC,MAAX,IAAuB,UAAU,CAAC,OAAX,CAAmB,GAAG,CAAC,CAAD,CAAtB,MAA+B,CAAC,CAA3D,EAA+D;AAC7D,YAAM,KAAK,GAAG,GAAG,CAAC,QAAJ,CAAa,UAAb,EAAyB,CAAzB,CAAd;;AACA,UAAI,CAAC,SAAD,IAAc,KAAK,CAAC,MAAN,KAAiB,CAAnC,EAAsC;AACpC,QAAA,MAAM,CAAC,IAAP,CAAY,KAAZ;AACD;;AACD,MAAA,UAAU,GAAG,CAAC,GAAG,CAAjB;AACD;AACF;;AACD,SAAO,MAAP;AACD;;AAEK,SAAU,eAAV,CACF,KADE,EACmB,SADnB,EAEF,SAFE,EAEgB;AACpB,QAAM,SAAS,GAAG,KAAK,CAAC,MAAxB,CADoB,CAGpB;;AACA,QAAM,MAAM,GAAiB,EAA7B;AAEA,MAAI,UAAU,GAAG,CAAjB;AACA,MAAI,aAAa,GAAG,CAApB;AACA,QAAM,UAAU,GAAa,IAAI,KAAJ,CAAU,SAAV,CAA7B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAApB,EAA+B,EAAE,CAAjC,EAAoC;AAClC,UAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAD,CAAN,EAAW,SAAX,EAAsB,SAAtB,CAAnB;AACA,UAAM,QAAQ,GAAG,KAAK,CAAC,MAAvB;AACA,IAAA,UAAU,CAAC,CAAD,CAAV,GAAgB,QAAhB;AACA,IAAA,UAAU,IAAI,QAAd;AACA,IAAA,aAAa,GAAG,IAAI,CAAC,GAAL,CAAS,aAAT,EAAwB,QAAxB,CAAhB;AACA,IAAA,MAAM,CAAC,IAAP,CAAY,GAAG,KAAf;AACD;;AAED,QAAM,OAAO,GAAG,eAAK,iBAAL,CAAuB,OAAvB,EAAgC,UAAU,GAAG,CAA7C,CAAhB;;AACA,QAAM,MAAM,GAAiB,IAAI,KAAJ,CAAU,UAAV,CAA7B;AACA,QAAM,KAAK,GAAqB,CAAC,SAAD,EAAY,aAAZ,CAAhC;AAEA,MAAI,CAAC,GAAG,CAAR;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAApB,EAA+B,EAAE,CAAjC,EAAoC;AAClC,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,UAAU,CAAC,CAAD,CAA9B,EAAmC,EAAE,CAArC,EAAwC;AACtC;AACA,MAAA,OAAO,CAAC,CAAC,GAAG,CAAL,CAAP,GAAiB,CAAjB;AACA,MAAA,OAAO,CAAC,CAAC,GAAG,CAAJ,GAAQ,CAAT,CAAP,GAAqB,CAArB;AACA,MAAA,MAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,CAAD,CAAlB;AACA,QAAE,CAAF;AACD;AACF;;AAED,SAAO,CAAC,OAAD,EAAU,MAAV,EAAkB,KAAlB,CAAP;AACD;;;;;;;;;ACrFD;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,0BAAV,CACF,KADE,EACmB,UADnB,EACqC;AACzC,QAAM,MAAM,GAAG,eAAK,iBAAL,CAAuB,OAAvB,EAAgC,KAAK,CAAC,MAAtC,CAAf;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,EAAE,CAApC,EAAuC;AACrC,IAAA,MAAM,CAAC,CAAD,CAAN,GACI,eAAK,aAAL,CAAmB,KAAK,CAAC,CAAD,CAAxB,EAA6B,MAA7B,CAAoC,UAApC,EAAgD,kBAAhD,EADJ;AAED;;AAED,SAAO,MAAP;AACD;;;;;;;;;ACZD;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,OAAO,GAAG,+CAClB,CAAC,MAAD,EAAiB,MAAjB,KAAoC,MAAM,GAAG,MAD3B,CAAhB;;AAEA,MAAM,cAAc,GACvB,iDAA+B,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,KAA+B;AAC5D,SAAO;AAAC,IAAA,IAAI,EAAE,KAAK,GAAG,KAAf;AAAsB,IAAA,IAAI,EAAE,KAAK,GAAG;AAApC,GAAP;AACD,CAFD,CADG;;AAIA,MAAM,GAAG,GAAG,oCAAiB,aAAjB,EAAsB,OAAtB,EAA+B,cAA/B,CAAZ;;AAEA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,KAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;ACbP;;AAjBA;;;;;;;;;;;;;;;;;AAmBA;;;;AAKM,SAAU,QAAV,CACF,IADE,EAEF,IAFE,EAEY;AAChB,QAAM,QAAQ,GAAa,IAAI,KAAJ,CAAU,IAAI,CAAC,IAAf,CAA3B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,MAA7B,EAAqC,CAAC,EAAtC,EAA0C;AACxC,IAAA,QAAQ,CAAC,CAAD,CAAR,GAAc,IAAI,CAAC,KAAL,CAAW,CAAX,IAAgB,IAAI,CAAC,CAAD,CAAlC;AACD;;AACD,QAAM,MAAM,GAAG,sBAAO,QAAP,EAAiB,IAAI,CAAC,KAAtB,CAAf;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAAP,CAAc,MAAlC,EAA0C,EAAE,CAA5C,EAA+C;AAC7C,UAAM,MAAM,GAAG,MAAM,CAAC,UAAP,CAAkB,CAAlB,CAAf;AAEA,UAAM,WAAW,GAAa,IAAI,KAAJ,CAAU,IAAI,CAAC,IAAf,CAA9B;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,WAAW,CAAC,MAAhC,EAAwC,CAAC,EAAzC,EAA6C;AAC3C,MAAA,WAAW,CAAC,CAAD,CAAX,GAAiB,MAAM,CAAC,CAAD,CAAN,GAAY,IAAI,CAAC,KAAL,CAAW,CAAX,CAA7B;AACD;;AAED,UAAM,aAAa,GAAG,IAAI,CAAC,UAAL,CAAgB,WAAhB,CAAtB;AAEA,IAAA,MAAM,CAAC,MAAP,CAAc,CAAd,IAAmB,IAAI,CAAC,MAAL,CAAY,aAAZ,CAAnB;AACD;;AACD,SAAO,MAAP;AACD;;;;;;;;;AC1BD;;AAnBA;;;;;;;;;;;;;;;;;AAiBA;AASA,MAAM,WAAW,GAAG,CAAC,CAAD,EAAU,CAAV,KAAqB;AACvC,QAAM,SAAS,GAAG,CAAC,CAAC,KAAF,GAAU,CAAC,CAAC,KAA9B;AACA,SAAO,SAAS,KAAK,CAAd,GAAkB,CAAC,CAAC,KAAF,GAAU,CAAC,CAAC,KAA9B,GAAsC,SAA7C;AACD,CAHD;AAKA;;;;;;;;;;;;;AAWA,SAAS,MAAT,CAAgB,KAAhB,EAA+B,CAA/B,EAA0C,IAAI,GAAG,CAAjD,EAAoD,KAAK,GAAG,KAAK,CAAC,MAAN,GAAe,CAA3E,EAA4E;AAC1E,SAAO,KAAK,GAAG,IAAf,EAAqB;AACnB;AACA;AACA;AACA,QAAI,KAAK,GAAG,IAAR,GAAe,GAAnB,EAAwB;AACtB,YAAM,CAAC,GAAG,KAAK,GAAG,IAAR,GAAe,CAAzB;AACA,YAAM,CAAC,GAAG,CAAC,GAAG,IAAJ,GAAW,CAArB;AACA,YAAM,CAAC,GAAG,IAAI,CAAC,GAAL,CAAS,CAAT,CAAV;AACA,YAAM,CAAC,GAAG,MAAM,IAAI,CAAC,GAAL,CAAS,IAAI,CAAJ,GAAQ,CAAjB,CAAhB;AACA,YAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAL,CAAU,CAAC,GAAG,CAAJ,IAAS,CAAC,GAAG,CAAb,IAAkB,CAA5B,CAAN,GAAuC,IAAI,CAAC,IAAL,CAAU,CAAC,GAAG,CAAC,GAAG,CAAlB,CAAlD;AACA,YAAM,OAAO,GAAG,IAAI,CAAC,GAAL,CAAS,IAAT,EAAe,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,CAAC,GAAG,CAAJ,GAAQ,CAAZ,GAAgB,EAA3B,CAAf,CAAhB;AACA,YAAM,QAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,KAAT,EAAgB,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAL,IAAU,CAAV,GAAc,CAAlB,GAAsB,EAAjC,CAAhB,CAAjB;AACA,MAAA,MAAM,CAAC,KAAD,EAAQ,CAAR,EAAW,OAAX,EAAoB,QAApB,CAAN;AACD,KAbkB,CAcnB;;;AACA,UAAM,CAAC,GAAG,KAAK,CAAC,CAAD,CAAf;AACA,QAAI,CAAC,GAAG,IAAR;AACA,QAAI,CAAC,GAAG,KAAR;;AAEA,mBAAK,IAAL,CAAU,KAAV,EAAiB,IAAjB,EAAuB,CAAvB;;AAEA,QAAI,WAAW,CAAC,KAAK,CAAC,KAAD,CAAN,EAAe,CAAf,CAAX,GAA+B,CAAnC,EAAsC;AACpC,qBAAK,IAAL,CAAU,KAAV,EAAiB,IAAjB,EAAuB,KAAvB;AACD;;AACD,WAAO,CAAC,GAAG,CAAX,EAAc;AACZ,qBAAK,IAAL,CAAU,KAAV,EAAiB,CAAjB,EAAoB,CAApB;;AACA,MAAA,CAAC;AACD,MAAA,CAAC;;AACD,aAAO,WAAW,CAAC,KAAK,CAAC,CAAD,CAAN,EAAW,CAAX,CAAX,GAA2B,CAAlC,EAAqC;AACnC,QAAA,CAAC,GAAG,CAAC,GAAG,CAAR;AACD;;AACD,aAAO,WAAW,CAAC,KAAK,CAAC,CAAD,CAAN,EAAW,CAAX,CAAX,GAA2B,CAAlC,EAAqC;AACnC,QAAA,CAAC,GAAG,CAAC,GAAG,CAAR;AACD;AACF;;AACD,QAAI,WAAW,CAAC,KAAK,CAAC,IAAD,CAAN,EAAc,CAAd,CAAX,KAAgC,CAApC,EAAuC;AACrC,qBAAK,IAAL,CAAU,KAAV,EAAiB,IAAjB,EAAuB,CAAvB;AACD,KAFD,MAEO;AACL,MAAA,CAAC,GAAG,CAAC,GAAG,CAAR;;AACA,qBAAK,IAAL,CAAU,KAAV,EAAiB,CAAjB,EAAoB,KAApB;AACD,KAxCkB,CAyCnB;AACA;;;AACA,QAAI,CAAC,IAAI,CAAT,EAAY;AACV,MAAA,IAAI,GAAG,CAAC,GAAG,CAAX;AACD;;AACD,QAAI,CAAC,IAAI,CAAT,EAAY;AACV,MAAA,KAAK,GAAG,CAAC,GAAG,CAAZ;AACD;AACF;AACF;;AAEK,SAAU,QAAV,CACF,CADE,EACa,MADb,EAC+B,MAD/B,EACwD,CADxD,EAEF,MAFE,EAEa;AAEjB;AACA,QAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAP,GAAgB,CAAjB,CAAtB;AACA,QAAM,CAAC,KAAD,EAAQ,IAAR,IAAgB,CAAC,CAAC,CAAC,MAAF,GAAW,OAAZ,EAAqB,OAArB,CAAtB;;AACA,QAAM,WAAW,GAAG,eAAK,sBAAL,CAA4B,MAA5B,EAAoC,KAAK,GAAG,CAA5C,CAApB;;AACA,QAAM,cAAc,GAAG,eAAK,sBAAL,CAA4B,OAA5B,EAAqC,KAAK,GAAG,CAA7C,CAAvB;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAApB,EAA2B,CAAC,EAA5B,EAAgC;AAC9B,UAAM,MAAM,GAAG,CAAC,GAAG,IAAnB;AACA,UAAM,IAAI,GAAG,CAAC,CAAC,QAAF,CAAW,MAAX,EAAmB,MAAM,GAAG,IAA5B,CAAb;AAEA,QAAI,SAAS,GAAW,IAAI,KAAJ,CAAU,IAAI,CAAC,MAAf,CAAxB;AACA,IAAA,IAAI,CAAC,OAAL,CACI,CAAC,KAAD,EAAgB,KAAhB,KAAkC,SAAS,CAAC,KAAD,CAAT,GAAmB;AAAC,MAAA,KAAD;AAAQ,MAAA;AAAR,KADzD;;AAGA,QAAI,CAAC,GAAG,SAAS,CAAC,MAAlB,EAA0B;AACxB,MAAA,MAAM,CAAC,SAAD,EAAY,CAAZ,CAAN;AACA,MAAA,SAAS,GAAG,SAAS,CAAC,KAAV,CAAgB,CAAhB,EAAmB,CAAnB,CAAZ;AACD;;AAED,QAAI,MAAJ,EAAY;AACV,MAAA,SAAS,CAAC,IAAV,CAAe,WAAf;AACD;;AAED,UAAM,SAAS,GAAG,CAAC,GAAG,CAAtB;AACA,UAAM,QAAQ,GAAG,WAAW,CAAC,QAAZ,CAAqB,SAArB,EAAgC,SAAS,GAAG,CAA5C,CAAjB;AACA,UAAM,WAAW,GAAG,cAAc,CAAC,QAAf,CAAwB,SAAxB,EAAmC,SAAS,GAAG,CAA/C,CAApB;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,CAApB,EAAuB,CAAC,EAAxB,EAA4B;AAC1B,MAAA,QAAQ,CAAC,CAAD,CAAR,GAAc,SAAS,CAAC,CAAD,CAAT,CAAa,KAA3B;AACA,MAAA,WAAW,CAAC,CAAD,CAAX,GAAiB,SAAS,CAAC,CAAD,CAAT,CAAa,KAA9B;AACD;AACF,GAhCgB,CAiCjB;AACA;;;AACA,QAAM,WAAW,GAAG,MAAM,CAAC,KAAP,EAApB;AACA,EAAA,WAAW,CAAC,WAAW,CAAC,MAAZ,GAAqB,CAAtB,CAAX,GAAsC,CAAtC;AAEA,SAAO,CACL,sBAAO,WAAP,EAAmC,MAAnC,EAA2C,WAA3C,CADK,EAEL,sBAAO,WAAP,EAAmC,OAAnC,EAA4C,cAA5C,CAFK,CAAP;AAID;;;;;;;;;AC1HD;;AAjBA;;;;;;;;;;;;;;;;AAmBM,SAAU,UAAV,CACF,MADE,EACqB,IADrB,EACmC,KADnC,EACoD,KADpD,EACmE;AAKvE;AACA,QAAM,KAAK,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,KAA1B,EAAiC,CAAjC,CAAd,CANuE,CAQvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,QAAM,QAAQ,GAAG,CAAC,CAAD,EAAI,KAAK,CAAC,CAAD,CAAT,EAAc,CAAd,CAAjB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAApB,EAA2B,CAAC,EAA5B,EAAgC;AAC9B,IAAA,QAAQ,CAAC,CAAD,CAAR,IAAe,KAAK,CAAC,CAAD,CAApB;AACD;;AACD,EAAA,QAAQ,CAAC,CAAD,CAAR,GAAc,KAAK,CAAC,KAAD,CAAnB;;AACA,OAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAArB,EAAwB,CAAC,GAAG,KAAK,CAAC,MAAlC,EAA0C,CAAC,EAA3C,EAA+C;AAC7C,IAAA,QAAQ,CAAC,CAAD,CAAR,IAAe,KAAK,CAAC,CAAD,CAApB;AACD,GAtEsE,CAwEvE;AACA;;;AACA,QAAM,cAAc,GAA4B,EAAhD,CA1EuE,CA2EvE;AACA;;AACA,QAAM,OAAO,GAAG,IAAI,UAAJ,CAAe,KAAK,CAAC,KAAD,CAApB,CAAhB,CA7EuE,CA8EvE;;AACA,QAAM,WAAW,GAAG,IAAI,sBAAJ,CAAiB,QAAjB,EAA2B,KAA3B,EAAkC,MAAlC,CAApB,CA/EuE,CAgFvE;AACA;;AACA,QAAM,aAAa,GAAa,EAAhC;AACA,QAAM,UAAU,GAAG,QAAQ,CAAC,CAAD,CAAR,KAAgB,CAAhB,IAAqB,QAAQ,CAAC,CAAD,CAAR,KAAgB,CAAxD;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,KAAD,CAAzB,EAAkC,CAAC,EAAnC,EAAuC;AACrC;AACA,QAAI,OAAJ;;AACA,QAAI,UAAJ,EAAgB;AACd;AACA,MAAA,OAAO,GAAG,MAAM,CAAC,CAAD,CAAN,CAAU,QAAV,EAAV;AACD,KAHD,MAGO;AACL,YAAM,UAAU,GAAG,EAAnB;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,CAAD,CAA5B,EAAiC,CAAC,EAAlC,EAAsC;AACpC,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,CAAD,CAA5B,EAAiC,CAAC,EAAlC,EAAsC;AACpC,UAAA,UAAU,CAAC,IAAX,CAAgB,WAAW,CAAC,GAAZ,CAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,CAAhB;AACD;AACF;;AACD,MAAA,OAAO,GAAG,UAAU,CAAC,IAAX,CAAgB,GAAhB,CAAV;AACD,KAdoC,CAgBrC;;;AACA,QAAI,cAAc,CAAC,OAAD,CAAd,KAA4B,SAAhC,EAA2C;AACzC,MAAA,OAAO,CAAC,CAAD,CAAP,GAAa,cAAc,CAAC,OAAD,CAA3B;AACD,KAFD,MAEO;AACL,YAAM,WAAW,GAAG,MAAM,CAAC,IAAP,CAAY,cAAZ,EAA4B,MAAhD;AACA,MAAA,cAAc,CAAC,OAAD,CAAd,GAA0B,WAA1B;AACA,MAAA,OAAO,CAAC,CAAD,CAAP,GAAa,WAAb;AACA,MAAA,aAAa,CAAC,IAAd,CAAmB,CAAnB;AACD;AACF,GA7GsE,CA+GvE;AACA;AACA;;;AACA,QAAM,cAAc,GAAG,QAAQ,CAAC,KAAT,EAAvB;AACA,EAAA,cAAc,CAAC,CAAD,CAAd,GAAoB,MAAM,CAAC,IAAP,CAAY,cAAZ,EAA4B,MAAhD;AACA,QAAM,YAAY,GAAG,IAAI,sBAAJ,CAAiB,cAAjB,EAAiC,KAAjC,CAArB;AACA,EAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,kBAAD,EAAqB,CAArB,KAA0B;AAC9C,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,CAAD,CAA5B,EAAiC,CAAC,EAAlC,EAAsC;AACpC,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,CAAD,CAA5B,EAAiC,CAAC,EAAlC,EAAsC;AACpC,QAAA,YAAY,CAAC,GAAb,CAAiB,WAAW,CAAC,GAAZ,CAAgB,CAAhB,EAAmB,kBAAnB,EAAuC,CAAvC,CAAjB,EAA4D,CAA5D,EAA+D,CAA/D,EAAkE,CAAlE;AACD;AACF;AACF,GAND,EArHuE,CA6HvE;AACA;;AACA,QAAM,WAAW,GAAG,KAAK,CAAC,KAAN,EAApB;AACA,EAAA,WAAW,CAAC,KAAD,CAAX,GAAqB,cAAc,CAAC,CAAD,CAAnC;AAEA,SAAO;AACL,IAAA,YAAY,EAAE,YAAY,CAAC,MADtB;AAEL,IAAA,WAFK;AAGL,IAAA;AAHK,GAAP;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzID;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;ACpCA;;;;;;AApBA;;;;;;;;;;;;;;;;AAiBA;AACA;AACA;AASA,MAAM;AACJ,EAAA,OAAO,EAAE,UADL;AAEJ,EAAA,YAAY,EAAE,eAFV;AAGJ,EAAA,kBAAkB,EAAE,qBAHhB;AAIJ,EAAA,QAAQ,EAAE,WAJN;AAKJ,EAAA,UAAU,EAAE,aALR;AAMJ,EAAA,SAAS,EAAE,YANP;AAOJ,EAAA,OAAO,EAAE,UAPL;AAQJ,EAAA,SAAS,EAAE,YARP;AASJ,EAAA,SAAS,EAAE,YATP;AAUJ,EAAA,YAAY,EAAE,eAVV;AAWJ,EAAA,YAAY,EAAE,eAXV;AAYJ,EAAA,WAAW,EAAE,cAZT;AAaJ,EAAA,gBAAgB,EAAE,mBAbd;AAcJ,EAAA,QAAQ,EAAE,WAdN;AAeJ,EAAA,aAAa,EAAE,gBAfX;AAgBJ,EAAA,YAAY,EAAE,eAhBV;AAiBJ,EAAA,OAAO,EAAE,UAjBL;AAkBJ,EAAA,OAAO,EAAE,UAlBL;AAmBJ,EAAA,WAAW,EAAE,cAnBT;AAoBJ,EAAA,WAAW,EAAE,cApBT;AAqBJ,EAAA,YAAY,EAAE,eArBV;AAsBJ,EAAA,OAAO,EAAE,UAtBL;AAuBJ,EAAA,YAAY,EAAE,eAvBV;AAwBJ,EAAA,QAAQ,EAAE,WAxBN;AAyBJ,EAAA,SAAS,EAAE,YAzBP;AA0BJ,EAAA,SAAS,EAAE,YA1BP;AA2BJ,EAAA,aAAa,EAAE,gBA3BX;AA4BJ,EAAA,SAAS,EAAE,YA5BP;AA6BJ,EAAA,uBAAuB,EAAE,0BA7BrB;AA8BJ,EAAA,iBAAiB,EAAE,oBA9Bf;AA+BJ,EAAA,0BAA0B,EAAE,6BA/BxB;AAgCJ,EAAA,gBAAgB,EAAE,mBAhCd;AAiCJ,EAAA,gBAAgB,EAAE,mBAjCd;AAkCJ,EAAA,eAAe,EAAE,kBAlCb;AAmCJ,EAAA,0BAA0B,EAAE,6BAnCxB;AAoCJ,EAAA,OAAO,EAAE,UApCL;AAqCJ,EAAA,QAAQ,EAAE,WArCN;AAsCJ,EAAA,QAAQ,EAAE,WAtCN;AAuCJ,EAAA,aAAa,EAAE,gBAvCX;AAwCJ,EAAA,UAAU,EAAE;AAxCR,IAyCF,MAzCJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BA;;;;;;;;;;;;;;;;AAiBM,SAAU,cAAV,CAAyB,IAAzB,EAAuC,IAAvC,EAAmD;AACvD,SAAO,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,KAA/B,CAAqC,CAArC,EAAwC,IAAxC,EAA8C,GAA9C,CAAkD,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,EAAnE,CAAP;AACD;;AAEK,SAAU,WAAV,CAAsB,IAAtB,EAAoC,IAApC,EAAgD;AACpD,MAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAO,CAAC,IAAD,CAAP;AACD;;AACD,SAAO,cAAc,CAAC,IAAD,EAAO,IAAP,CAArB;AACD;;AAEK,SAAU,eAAV,CAA0B,IAA1B,EAAwC,IAAxC,EAAsD;AAC1D,MAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAO,IAAP;AACD;;AAED,MAAI,MAAM,GAAG,EAAb;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAApB,EAA0B,CAAC,EAA3B,EAA+B;AAC7B,IAAA,MAAM,IAAI,IAAI,CAAC,CAAD,CAAd;;AACA,QAAI,CAAC,GAAG,IAAI,GAAG,CAAf,EAAkB;AAChB,MAAA,MAAM,IAAI,GAAV;AACD;AACF;;AACD,SAAO,MAAP;AACD;;;;;;;;;ACvBD;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBM,MAAO,WAAP,CAAkB;AAOtB,EAAA,WAAA,CACI,WADJ,EAEgB;AARhB,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAGA,SAAA,YAAA,GAAe,KAAf;AACA,SAAA,YAAA,GAAe,IAAf,CAIgB,CACK;;AACnB,SAAK,WAAL,GAAmB,WAAnB;AACA,UAAM,IAAI,GAAG,WAAW,CAAC,MAAzB;;AAEA,QAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAK,QAAL,GAAgB;;;;OAAhB;AAKD,KAND,MAMO;AACL,YAAM,QAAQ,GAAG,+BAAY,IAAZ,EAAkB,IAAlB,CAAjB;AACA,YAAM,KAAK,GAAG,wCAAkB,IAAlB,CAAd;AACA,YAAM,oBAAoB,GACtB,uBAAuB,CAAC,IAAD,EAAO,WAAP,EAAoB,QAApB,CAD3B;AAEA,YAAM,KAAK,GAAG,QAAQ,CAClB,IADkB,EACZ,WAAW,CAAC,WAAW,CAAC,MAAZ,GAAqB,CAAtB,CADC,EAElB,WAAW,CAAC,WAAW,CAAC,MAAZ,GAAqB,CAAtB,CAFO,EAEmB,QAFnB,CAAtB;AAGA,YAAM,MAAM,GAAG,SAAS,CAAC,WAAD,EAAc,QAAd,CAAxB;AAEA,WAAK,QAAL,GAAgB;;YAEV,KAAK;;eAEF,oBAAoB;;;cAGrB,KAAK;;6BAEU,MAAM;;;OAT7B;AAaD;AACF;;AA5CqB;;;;AA+CxB,SAAS,kBAAT,CAA4B,IAA5B,EAA0C,IAA1C,EAAwD;AACtD,QAAM,MAAM,GAAG,EAAf;;AAEA,OAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,IAAI,CAAzB,EAA4B,GAAG,EAA/B,EAAmC;AACjC,SAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,IAAI,CAAzB,EAA4B,GAAG,EAA/B,EAAmC;AACjC,UAAI,KAAK,GAAG,GAAG,GAAG,KAAK,CAAR,GAAY,GAAZ,GAAkB,KAAK,KAAK,GAAG,KAAK,CAAR,GAAY,GAAZ,GAAkB,KAAK,EAAlE;;AAEA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAApB,EAA0B,CAAC,EAA3B,EAA+B;AAC7B,QAAA,KAAK,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAL,GAAc,CAAd,GAAkB,CAAnB,CAAqB,GAA5B,GAAkC,KAA1C;AACD;;AAED,MAAA,MAAM,CAAC,IAAP,CAAY,KAAZ;AACD;AACF;;AACD,SAAO,MAAP;AACD;;AAED,SAAS,uBAAT,CACI,IADJ,EACkB,KADlB,EACmC,IADnC,EACiD;AAC/C,MAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAO,QAAQ,KAAK,CAAC,CAAD,CAAG,EAAvB;AACD;;AAED,MAAI,IAAI,GAAG,EAAX;;AACA,OAAK,IAAI,CAAC,GAAG,IAAI,GAAG,CAApB,EAAuB,CAAC,GAAG,IAA3B,EAAiC,CAAC,EAAlC,EAAsC;AACpC,IAAA,IAAI,IAAI,GAAG,IAAI,CAAC,CAAD,CAAG,OAAO,KAAK,CAAC,CAAD,CAAG,EAAjC;;AACA,QAAI,CAAC,GAAG,IAAI,GAAG,CAAf,EAAkB;AAChB,MAAA,IAAI,IAAI,IAAR;AACD;AACF;;AAED,SAAO,IAAP;AACD;;AAED,SAAS,QAAT,CACI,IADJ,EACkB,IADlB,EACgC,IADhC,EAC8C,IAD9C,EAC4D;AAC1D,MAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAO,EAAP;AACD;;AAED,QAAM,SAAS,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,CAAZ,CAAlB;AAEA,SAAO;cACK,SAAS,CAAC,CAAD,CAAG;cACZ,SAAS,CAAC,CAAD,CAAG;;;;0BAIA,IAAI;0BACJ,IAAI;GAP5B;AASD;;AAED,SAAS,SAAT,CAAmB,KAAnB,EAAoC,IAApC,EAAkD;AAChD,QAAM,IAAI,GAAG,KAAK,CAAC,MAAnB;AACA,QAAM,YAAY,GAAG,kBAAkB,CAAC,IAAD,EAAO,IAAP,CAAvC;;AACA,MAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAO;wBACa,KAAK,CAAC,CAAD,CAAG;iBAD5B;AAGD;;AAED,SAAO,QAAQ,YAAY,CAAC,CAAD,CAAG;8BACF,YAAY,CAAC,CAAD,CAAG;8BACf,YAAY,CAAC,CAAD,CAAG;uCACN,YAAY,CAAC,CAAD,CAAG,GAHpD;AAID;;;;;;;;;ACpHD;;;;;;AAlBA;;;;;;;;;;;;;;;;AAoBM,MAAO,oBAAP,CAA2B;AAO/B,EAAA,WAAA,CAAY,WAAZ,EAAmD,UAAnD,EAEC;AARD,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAOE,SAAK,WAAL,GAAmB,WAAnB;AAEA,QAAI,QAAQ,GAAG,EAAf;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,CAApB,EAAuB,CAAC,EAAxB,EAA4B;AAC1B,UAAI,MAAM,GAAG,cAAb;;AACA,UAAI,CAAC,GAAG,CAAJ,KAAU,CAAd,EAAiB;AACf,QAAA,MAAM,IAAI,gBAAV;AACD;;AACD,UAAI,CAAC,GAAG,CAAR,EAAW;AACT,QAAA,MAAM,IAAI,gBAAV;AACD;;AAED,MAAA,QAAQ,IAAI;UACR,MAAM;UACN,CAAC,GAAG,CAAJ,GAAQ,yCAAR,GAAoD,EAAE;;;;;;mBAM7C,CAAC;;UAEV,CAAC,GAAG,CAAJ,GAAQ,GAAR,GAAc,EAAE;OAVpB;AAYD;;AAED,SAAK,QAAL,GAAgB;QACZ,sBAAsB,CAAC,UAAD,CAAY;QAClC,WAAW,CAAC,kBAAZ,CAA+B,WAA/B,CAA2C;;;;;;;;qBAQ9B,WAAW,CAAC,CAAD,CAAG;qBACd,WAAW,CAAC,CAAD,CAAG;;UAEzB,QAAQ;;;;KAbd;AAkBD;;AAtD8B;;;;AAyDjC,SAAS,sBAAT,CAAgC,KAAhC,EAA+D;AAC7D,QAAM,sBAAsB,GACxB,WAAW,CAAC,kCAAZ,CAA+C,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAA/C,EAAgE,KAAhE,CADJ;AAGA,SAAO;;QAED,sBAAsB;;;GAF5B;AAMD;;;;;;;;;;ACtED;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,MAAO,cAAP,CAAqB;AAUzB,EAAA,WAAA,CAAoB,KAApB,EAAuC;AAAnB,SAAA,KAAA,GAAA,KAAA;AATZ,SAAA,eAAA,GAAkB,CAAlB;AACA,SAAA,eAAA,GAAkB,CAAlB;AACA,SAAA,kBAAA,GAAqB,CAArB;AACA,SAAA,aAAA,GAAgB,CAAhB,CAM+B,CANX;AACA;;AACpB,SAAA,YAAA,GAAkD,EAAlD;AACA,SAAA,UAAA,GAAa,KAAb;AACA,SAAA,YAAA,GAAkD,EAAlD;AAEmC;;AAE3C,EAAA,cAAc,CACV,OADU,EACiB,KADjB,EAEV,QAFU,EAEO;AACnB,UAAM,eAAe,GAAG,iCAAiC,CAAC,KAAD,EAAQ,QAAR,CAAzD;AAEA,UAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAD,EAAU,eAAV,EAA2B,QAA3B,CAAvC;;AACA,QAAI,EAAE,QAAQ,IAAI,KAAK,YAAnB,CAAJ,EAAsC;AACpC,WAAK,YAAL,CAAkB,QAAlB,IAA8B,EAA9B;AACD;;AACD,QAAI,EAAE,QAAQ,IAAI,KAAK,YAAnB,CAAJ,EAAsC;AACpC,WAAK,YAAL,CAAkB,QAAlB,IAA8B,EAA9B;AACD;;AAED,UAAM,QAAQ,GAAG,YAAY,CACzB,OADyB,EAChB,eADgB,EACC,KAAK,KAAL,CAAW,EADZ,EACgB,KAAK,KAAL,CAAW,aAD3B,EAEzB,QAFyB,CAA7B;;AAIA,QAAI,KAAK,YAAL,CAAkB,QAAlB,EAA4B,MAA5B,GAAqC,CAAzC,EAA4C;AAC1C,WAAK,eAAL;AACA,WAAK,eAAL;AACA,WAAK,aAAL,IAAsB,QAAtB;AACA,WAAK,GAAL;AACA,YAAM,UAAU,GAAG,KAAK,YAAL,CAAkB,QAAlB,EAA4B,KAA5B,EAAnB;AACA,WAAK,YAAL,CAAkB,QAAlB,EAA4B,IAA5B,CAAiC,UAAjC;AACA,aAAO,UAAP;AACD;;AAED,QAAI,UAAJ;;AACA,QAAI,eAAe,KAAK,8BAAoB,kBAA5C,EAAgE;AAC9D,MAAA,UAAU,GAAG,KAAK,KAAL,CAAW,yBAAX,CAAqC,OAAO,CAAC,CAAD,CAA5C,EAAiD,OAAO,CAAC,CAAD,CAAxD,CAAb;AACD,KAFD,MAEO,IAAI,eAAe,KAAK,8BAAoB,kBAA5C,EAAgE;AACrE,MAAA,UAAU,GACN,KAAK,KAAL,CAAW,gCAAX,CAA4C,OAAO,CAAC,CAAD,CAAnD,EAAwD,OAAO,CAAC,CAAD,CAA/D,CADJ;AAED,KAHM,MAGA,IAAI,eAAe,KAAK,8BAAoB,gBAA5C,EAA8D;AACnE,MAAA,UAAU,GACN,KAAK,KAAL,CAAW,0BAAX,CAAsC,OAAO,CAAC,CAAD,CAA7C,EAAkD,OAAO,CAAC,CAAD,CAAzD,CADJ;AAED,KAHM,MAGA,IAAI,eAAe,KAAK,8BAAoB,gBAA5C,EAA8D;AACnE,MAAA,UAAU,GACN,KAAK,KAAL,CAAW,0BAAX,CAAsC,OAAO,CAAC,CAAD,CAA7C,EAAkD,OAAO,CAAC,CAAD,CAAzD,CADJ;AAED,KAHM,MAGA,IACH,eAAe,KAAK,8BAAoB,wBADrC,EAC+D;AACpE,MAAA,UAAU,GACN,KAAK,KAAL,CAAW,gCAAX,CAA4C,OAAO,CAAC,CAAD,CAAnD,EAAwD,OAAO,CAAC,CAAD,CAA/D,CADJ;AAED;;AACD,SAAK,YAAL,CAAkB,QAAlB,EAA4B,IAA5B,CAAiC,UAAjC;AAEA,SAAK,eAAL;AACA,SAAK,kBAAL,IAA2B,QAA3B;AACA,SAAK,GAAL;AAEA,WAAO,UAAP;AACD;;AAED,EAAA,cAAc,CACV,OADU,EACa,KADb,EAEV,cAFU,EAEoB,QAFpB,EAEqC;AACjD,QAAI,KAAK,YAAL,IAAqB,IAAzB,EAA+B;AAC7B;AACA;AACD;;AACD,UAAM,eAAe,GACjB,iCAAiC,CAAC,cAAD,EAAiB,QAAjB,CADrC;AAEA,UAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAD,EAAQ,eAAR,EAAyB,QAAzB,CAAvC;;AACA,QAAI,EAAE,QAAQ,IAAI,KAAK,YAAnB,CAAJ,EAAsC;AACpC,WAAK,YAAL,CAAkB,QAAlB,IAA8B,EAA9B;AACD;;AAED,UAAM,QAAQ,GAAG,YAAY,CACzB,KADyB,EAClB,eADkB,EACD,KAAK,KAAL,CAAW,EADV,EACc,KAAK,KAAL,CAAW,aADzB,EAEzB,QAFyB,CAA7B;AAGA,UAAM,kBAAkB,GAAG,qBAAM,GAAN,CAAU,gCAAV,CAA3B;;AACA,QAAI,kBAAkB,KAAK,CAAC,CAAxB,IACA,KAAK,kBAAL,GAA0B,kBAD9B,EACkD;AAChD,WAAK,KAAL,CAAW,mBAAX,CAA+B,OAA/B;AACA,WAAK,kBAAL,IAA2B,QAA3B;AACD,KAJD,MAIO;AACL,WAAK,YAAL,CAAkB,QAAlB,EAA4B,IAA5B,CAAiC,OAAjC;AACA,WAAK,eAAL;AACA,WAAK,aAAL,IAAsB,QAAtB;AACD;;AAED,SAAK,eAAL;AAEA,UAAM,OAAO,GAAG,KAAK,YAAL,CAAkB,QAAlB,CAAhB;AACA,UAAM,QAAQ,GAAG,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAjB;;AACA,QAAI,QAAQ,GAAG,CAAf,EAAkB;AAChB,YAAM,IAAI,KAAJ,CACF,8DACA,iBAFE,CAAN;AAGD;;AACD,IAAA,OAAO,CAAC,MAAR,CAAe,QAAf,EAAyB,CAAzB;AACA,SAAK,GAAL;AACD;;AAEO,EAAA,GAAG,GAAA;AACT,QAAI,CAAC,KAAK,UAAV,EAAsB;AACpB;AACD;;AACD,UAAM,KAAK,GAAG,KAAK,eAAL,GAAuB,KAAK,eAA1C;AACA,IAAA,OAAO,CAAC,GAAR,CACI,WADJ,EACiB,GAAG,KAAK,eAAe,MAAM,KAAK,eAAe,EADlE,EAEI,IAAI,KAAK,GAFb;AAGA,UAAM,SAAS,GAAG,KAAK,aAAL,GAAqB,KAAK,kBAA5C;AACA,IAAA,OAAO,CAAC,GAAR,CAAY,oBAAoB,KAAK,kBAAkB,EAAvD;AACA,IAAA,OAAO,CAAC,GAAR,CAAY,iBAAiB,KAAK,aAAa,KAC3C,IAAI,CAAC,KAAL,CAAW,MAAM,SAAjB,CAA2B,IAD/B;AAED;;AAEoB,MAAjB,iBAAiB,GAAA;AACnB,WAAO,KAAK,kBAAZ;AACD;;AAEe,MAAZ,YAAY,GAAA;AACd,WAAO,KAAK,aAAZ;AACD;;AAED,EAAA,kBAAkB,GAAA;AAChB,WAAO,KAAK,eAAZ;AACD;;AAED,EAAA,kBAAkB,GAAA;AAChB,WAAO,KAAK,eAAZ;AACD;;AAED,EAAA,OAAO,GAAA;AACL,QAAI,KAAK,YAAL,IAAqB,IAAzB,EAA+B;AAC7B;AACA;AACD;;AACD,SAAK,MAAM,QAAX,IAAuB,KAAK,YAA5B,EAA0C;AACxC,WAAK,YAAL,CAAkB,QAAlB,EAA4B,OAA5B,CAAoC,GAAG,IAAG;AACxC,aAAK,KAAL,CAAW,mBAAX,CAA+B,GAA/B;AACD,OAFD;AAGD;;AACD,SAAK,MAAM,QAAX,IAAuB,KAAK,YAA5B,EAA0C;AACxC,WAAK,YAAL,CAAkB,QAAlB,EAA4B,OAA5B,CAAoC,GAAG,IAAG;AACxC,aAAK,KAAL,CAAW,mBAAX,CAA+B,GAA/B;AACD,OAFD;AAGD;;AACD,SAAK,YAAL,GAAoB,IAApB;AACA,SAAK,YAAL,GAAoB,IAApB;AACA,SAAK,eAAL,GAAuB,CAAvB;AACA,SAAK,eAAL,GAAuB,CAAvB;AACA,SAAK,kBAAL,GAA0B,CAA1B;AACA,SAAK,aAAL,GAAqB,CAArB;AACD;;AA7JwB;;;;AAgK3B,SAAS,yBAAT,CACI,EADJ,EAC+B,cAD/B,EACqD;AACnD;AACA,QAAM,KAAK,GAAG,EAAd;;AACA,MAAI,cAAc,KAAK,KAAK,CAAC,IAA7B,EAAmC;AACjC,WAAO,CAAP;AACD,GAFD,MAEO,IAAI,cAAc,KAAK,KAAK,CAAC,IAA7B,EAAmC;AACxC,WAAO,CAAP;AACD,GAFM,MAEA,IAAI,cAAc,KAAK,KAAK,CAAC,OAA7B,EAAsC;AAC3C,WAAO,EAAP;AACD,GAFM,MAEA,IAAI,cAAc,KAAK,EAAE,CAAC,IAA1B,EAAgC;AACrC,WAAO,EAAP;AACD,GAFM,MAEA,IAAI,cAAc,KAAK,KAAK,CAAC,OAA7B,EAAsC;AAC3C,WAAO,CAAP;AACD;;AACD,QAAM,IAAI,KAAJ,CAAU,2BAA2B,cAAc,EAAnD,CAAN;AACD;;AAEK,SAAU,YAAV,CACF,KADE,EACuB,eADvB,EAEF,EAFE,EAEyB,aAFzB,EAGF,QAHE,EAGe;AACnB;AACA;AACA;AACA;AACA;AACA,QAAM,cAAc,GAChB,gCAAgC,CAAC,eAAD,EAAkB,aAAlB,CADpC;AAGA,MAAI,WAAJ;;AACA,MAAI,QAAJ,EAAc;AACZ,UAAM,CAAC,WAAD,EAAc,YAAd,IACF,sDAAuC,KAAK,CAAC,CAAD,CAA5C,EAAiD,KAAK,CAAC,CAAD,CAAtD,CADJ;AAEA,IAAA,WAAW,GAAG,WAAW,GAAG,YAA5B;AAED,GALD,MAKO;AACL,UAAM,CAAC,KAAD,EAAQ,MAAR,IACF,wDAAyC,KAAK,CAAC,CAAD,CAA9C,EAAmD,KAAK,CAAC,CAAD,CAAxD,CADJ;AAEA,IAAA,WAAW,GAAG,KAAK,GAAG,MAAtB;AACD;;AAED,QAAM,eAAe,GAAG,yBAAyB,CAAC,EAAD,EAAK,cAAL,CAAjD;AACA,SAAO,WAAW,GAAG,eAArB;AACD;;AAED,SAAS,gCAAT,CACI,eADJ,EAEI,aAFJ,EAEgC;AAC9B,UAAQ,eAAR;AACE,SAAK,8BAAoB,kBAAzB;AACE,aAAO,yDAAwC,aAAxC,CAAP;;AACF,SAAK,8BAAoB,kBAAzB;AACE,aAAO,gEAA+C,aAA/C,CAAP;;AACF,SAAK,8BAAoB,gBAAzB;AACE,aAAO,0DAAyC,aAAzC,CAAP;;AACF,SAAK,8BAAoB,gBAAzB;AACE,aAAO,0DAAyC,aAAzC,CAAP;;AACF,SAAK,8BAAoB,wBAAzB;AACE,aAAO,gEAA+C,aAA/C,CAAP;;AACF;AACE,YAAM,IAAI,KAAJ,CAAU,iCAAiC,eAAe,EAA1D,CAAN;AAZJ;AAcD;;AAED,SAAS,8BAAT,CAAwC,QAAxC,EAAyD;AAEvD,MAAI,qBAAM,OAAN,CAAc,8BAAd,CAAJ,EAAmD;AACjD,QAAI,QAAJ,EAAc;AACZ,aAAO,8BAAoB,kBAA3B;AACD;;AACD,WAAO,8BAAoB,gBAA3B;AACD;;AAED,MAAI,QAAJ,EAAc;AACZ,WAAO,8BAAoB,kBAA3B;AACD;;AACD,SAAO,8BAAoB,gBAA3B;AACD;;AAED,SAAS,iCAAT,CACI,cADJ,EACkC,QADlC,EACmD;AACjD,MAAI,cAAc,KAAK,uBAAa,MAApC,EAA4C;AAC1C,WAAO,8BAAoB,kBAA3B;AACD,GAFD,MAEO,IAAI,cAAc,KAAK,uBAAa,MAAhC,IAA0C,cAAc,IAAI,IAAhE,EAAsE;AAC3E,WAAO,8BAA8B,CAAC,QAAD,CAArC;AACD,GAFM,MAEA,IACH,cAAc,KAAK,uBAAa,QAAhC,IACA,cAAc,KAAK,uBAAa,MAF7B,EAEqC;AAC1C,WAAO,8BAAoB,wBAA3B;AACD;;AACD,QAAM,IAAI,KAAJ,CAAU,gCAAgC,cAAc,EAAxD,CAAN;AACD;;AAED,SAAS,sBAAT,CACI,YADJ,EACoC,eADpC,EAEI,QAFJ,EAEqB;AACnB,SAAO,GAAG,YAAY,CAAC,CAAD,CAAG,IAAI,YAAY,CAAC,CAAD,CAAG,IAAI,eAAe,IAAI,QAAQ,EAA3E;AACD;;;;;;;;;;ACxQD;;AAjBA;;;;;;;;;;;;;;;;AAmBM,MAAO,cAAP,CAAqB;AAMzB,EAAA,WAAA,CAAY,MAAZ,EAA8B,SAA9B,EAA+C;AAL/C,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAME,SAAK,WAAL,GAAmB,MAAnB;AACA,SAAK,mBAAL,GAA2B,kCAAiB,KAAK,WAAL,CAAiB,MAAlC,CAA3B;AACA,SAAK,QAAL,GAAgB;;UAEV,SAAS;;;;;;;;;KAFf;AAYD;;AArBwB;;;AAwBpB,MAAM,iBAAiB,GAAG,yBAA1B;;AAEA,MAAM,MAAM,GAAG,WAAf;;AAEA,MAAM,GAAG,GAAG,gBAAZ;;;AAED,SAAU,IAAV,CAAe,KAAK,GAAG,GAAvB,EAA0B;AAC9B,SAAO,iBAAiB,GAAG;mCACM,KAAK;GADtC;AAGD;;AAEM,MAAM,GAAG,GAAG,yCAAZ;;AACA,MAAM,IAAI,GAAG,iBAAiB,GAAG;;CAAjC;;AAIA,MAAM,KAAK,GAAG,iBAAiB,GAAG;;CAAlC;;AAIA,MAAM,KAAK,GAAG,WAAd;;AAEA,MAAM,OAAO,GAAG,qCAAhB;;;;;;;;;;ACjDP;;AAjBA;;;;;;;;;;;;;;;;AAmBO,MAAM,MAAM,GAAG,WAAf;;AAEA,MAAM,GAAG,GAAG;;;;;;;;;CAAZ;;AAWA,MAAM,IAAI,GAAG;;;;;;;;;;CAAb;;AAYA,MAAM,KAAK,GAAG;;;;;;;;;;CAAd;;AAYA,MAAM,OAAO,GAAG,qCAAhB;;;AAED,MAAO,oBAAP,CAA2B;AAQ/B,EAAA,WAAA,CAAY,MAAZ,EAA8B,SAA9B,EAA+C;AAP/C,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAIA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAGE,SAAK,WAAL,GAAmB,MAAnB;AACA,SAAK,mBAAL,GAA2B,kCAAiB,KAAK,WAAL,CAAiB,MAAlC,CAA3B;AACA,SAAK,QAAL,GAAgB;;UAEV,SAAS;;;;;;;;;KAFf;AAYD;;AAvB8B;;;;;;;;;;;ACxCjC;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBM,MAAO,aAAP,CAAoB;AAOxB,EAAA,WAAA,CAAY,WAAZ,EAAiC;AANjC,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,KAAf;AAKE,SAAK,WAAL,GAAmB,WAAnB;AACA,UAAM,IAAI,GAAG,WAAW,CAAC,MAAzB;AAEA,UAAM,QAAQ,GAAG,+BAAY,IAAZ,EAAkB,IAAlB,CAAjB;AACA,UAAM,KAAK,GAAG,wCAAkB,IAAlB,CAAd;AACA,UAAM,YAAY,GAAG,mCAAgB,IAAhB,EAAsB,QAAtB,CAArB;AACA,UAAM,SAAS,GAAG,QAAQ,CAAC,KAAT,CAAe,CAAC,CAAhB,CAAlB;AACA,UAAM,MAAM,GAAG,IAAI,IAAI,CAAR,GAAY,IAAZ,GAAmB,QAAQ,SAAS,CAAC,IAAV,CAAe,GAAf,CAAmB,GAA7D;AAEA,SAAK,QAAL,GAAgB;;UAEV,KAAK;kCACmB,YAAY;;4CAEF,MAAM;;KAL9C;AAQD;;AAzBuB;;;;;;;;;;;;ACH1B;;AAGA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;;;;;AA3CA;;;;;;;;;;;;;;;;AAiBA;AA4BA,MAAM,SAAS,GAAG,uBAAa,SAA/B;AAEO,MAAM,eAAe,GAAG,IAAxB;;AACA,MAAM,eAAe,GAAG,IAAxB;;AA4BP,MAAM,YAAY,GAA2D,EAA7E;;AAEM,SAAU,cAAV,CAAyB,YAAzB,EAA6C;AACjD,MAAI,YAAY,IAAI,YAApB,EAAkC;AAChC,WAAO,YAAY,CAAC,YAAD,CAAnB;AACD;;AACD,EAAA,YAAY,CAAC,YAAD,CAAZ,GAA6B,EAA7B;AACA,SAAO,YAAY,CAAC,YAAD,CAAnB;AACD,EAED;AACA;;;AACA,MAAM,0BAA0B,GAC5B,qBAAM,SAAN,CAAgB,4BAAhB,CADJ,EAGA;AACA;AACA;;AACA,MAAM,sBAAsB,GAAG,GAA/B;;AACA,SAAS,kBAAT,GAA2B;AACzB,MAAI,qBAAM,MAAN,CAAa,MAAb,IAAuB,IAA3B,EAAiC;AAC/B,WAAO,IAAP,CAD+B,CACjB;AACf;;AACD,SAAQ,qBAAM,MAAN,CAAa,MAAb,CAAoB,MAApB,GAA6B,qBAAM,MAAN,CAAa,MAAb,CAAoB,KAAjD,GACA,MAAM,CAAC,gBADR,GAEH,sBAFG,GAEsB,IAFtB,GAE6B,IAFpC;AAGD;;AAEK,MAAO,gBAAP,SAAgC,uBAAhC,CAA6C;AAwCjD,EAAA,WAAA,CAAY,KAAZ,EAAgC;AAC9B,YAD8B,CAhChC;;AACQ,SAAA,WAAA,GAAc,IAAI,OAAJ,EAAd,CA+BwB,CA9BhC;AACA;;AACQ,SAAA,eAAA,GAAkB,IAAI,OAAJ,EAAlB,CA4BwB,CA1BhC;AACA;;AACA,SAAA,YAAA,GAAe,IAAI,OAAJ,EAAf;AACQ,SAAA,aAAA,GAAgB,CAAhB,CAuBwB,CAjBhC;;AACQ,SAAA,YAAA,GAAe,CAAf,CAgBwB,CAfhC;;AACQ,SAAA,cAAA,GAAiB,CAAjB,CAcwB,CAZhC;;AACQ,SAAA,eAAA,GAAkB,CAAlB;AASA,SAAA,iBAAA,GAAoB,KAApB;AA2YA,SAAA,cAAA,GAAiB,CAAjB;AA6XA,SAAA,QAAA,GAAW,KAAX;;AApwBN,QAAI,CAAC,qBAAM,OAAN,CAAc,WAAd,CAAL,EAAiC;AAC/B,YAAM,IAAI,KAAJ,CAAU,uCAAV,CAAN;AACD;;AAED,QAAI,KAAK,IAAI,IAAb,EAAmB;AACjB,YAAM,EAAE,GAAG,kCAAgB,qBAAM,SAAN,CAAgB,eAAhB,CAAhB,CAAX;AACA,WAAK,WAAL,GAAmB,cAAc,CAAC,qBAAM,SAAN,CAAgB,eAAhB,CAAD,CAAjC;AACA,WAAK,KAAL,GAAa,IAAI,2BAAJ,CAAiB,EAAjB,CAAb;AACA,WAAK,MAAL,GAAc,EAAE,CAAC,MAAjB;AACA,WAAK,mBAAL,GAA2B,IAA3B;AACD,KAND,MAMO;AACL,WAAK,KAAL,GAAa,KAAb;AACA,WAAK,WAAL,GAAmB,EAAnB;AACA,WAAK,mBAAL,GAA2B,KAA3B;AACA,WAAK,MAAL,GAAc,KAAK,CAAC,EAAN,CAAS,MAAvB;AACD;;AACD,SAAK,cAAL,GAAsB,IAAI,+BAAJ,CAAmB,KAAK,KAAxB,CAAtB;AACA,SAAK,kBAAL,GAA0B,kBAAkB,EAA5C;AAEA,SAAK,OAAL,GAAe,IAAI,qBAAJ,CAAgB,IAAhB,EAAsB,uBAAtB,CAAf;AACD;;AAzDO,EAAA,UAAU,GAAA;AAChB,WAAO,gBAAgB,CAAC,UAAjB,EAAP;AACD;;AAyDD,EAAA,UAAU,GAAA;AACR,WAAO,KAAK,OAAL,CAAa,UAAb,KAA4B,KAAK,cAAxC;AACD;;AAED,EAAA,KAAK,CAAC,MAAD,EAAwB,KAAxB,EAAyC,KAAzC,EAAwD;AAC3D,QAAI,qBAAM,OAAN,CAAc,gCAAd,KACA,qBAAM,OAAN,CAAc,OAAd,CADJ,EAC4B;AAC1B,WAAK,sBAAL,CAA4B,MAA5B;AACD;;AACD,QAAI,KAAK,KAAK,WAAV,IAAyB,MAAM,IAAI,IAAvC,EAA6C;AAC3C,YAAM,IAAI,KAAJ,CACF,qCAAA,GACA,oCAFE,CAAN;AAGD;;AACD,UAAM,MAAM,GAAG;AAAC,MAAA,EAAE,EAAE,KAAK,UAAL;AAAL,KAAf;AACA,SAAK,OAAL,CAAa,GAAb,CACI,MADJ,EAEI;AAAC,MAAA,KAAD;AAAQ,MAAA,KAAR;AAAe,MAAA,MAAf;AAAuB,MAAA,KAAK,EAAE,sBAAa,MAA3C;AAAmD,MAAA,QAAQ,EAAE;AAA7D,KAFJ;AAGA,WAAO,MAAP;AACD;AAED;;;AACA,EAAA,QAAQ,CAAC,MAAD,EAAe;AACrB,QAAI,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAJ,EAA8B;AAC5B,YAAM,UAAU,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAnB;AACA,aAAO,UAAU,CAAC,QAAlB;AACD;;AACD,WAAO,CAAP;AACD;AAED;;;AACA,EAAA,MAAM,CAAC,MAAD,EAAe;AACnB,UAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAhB;AACA,IAAA,OAAO,CAAC,QAAR;AACD;AAED;;;AACA,EAAA,MAAM,CAAC,MAAD,EAAe;AACnB,QAAI,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAJ,EAA8B;AAC5B,YAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAhB;AACA,MAAA,OAAO,CAAC,QAAR;AACD;AACF;;AAED,EAAA,IAAI,CACA,MADA,EACgB,MADhB,EACuC,KADvC,EACwD,KADxD,EAEA,QAFA,EAEgB;AAClB,QAAI,qBAAM,OAAN,CAAc,OAAd,CAAJ,EAA4B;AAC1B,WAAK,sBAAL,CAA4B,MAA5B;AACD;;AACD,QAAI,KAAK,KAAK,WAAd,EAA2B;AACzB,YAAM,IAAI,KAAJ,CACF,qCAAA,GACA,oCAFE,CAAN;AAGD;;AACD,SAAK,OAAL,CAAa,GAAb,CACI,MADJ,EACY;AAAC,MAAA,KAAD;AAAQ,MAAA,KAAR;AAAe,MAAA,MAAf;AAAuB,MAAA,KAAK,EAAE,sBAAa,MAA3C;AAAmD,MAAA;AAAnD,KADZ;AAED;;AAED,EAAA,6BAA6B,CAAC,UAAD,EAAuB;AAClD,SAAK,WAAL,CAAiB,UAAU,CAAC,MAA5B;AACD;;AAED,EAAA,QAAQ,CAAC,MAAD,EAAe;AACrB,UAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAhB;AACA,UAAM;AAAC,MAAA,MAAD;AAAS,MAAA,KAAT;AAAgB,MAAA,kBAAhB;AAAoC,MAAA,KAApC;AAA2C,MAAA,KAA3C;AAAkD,MAAA;AAAlD,QAA8D,OAApE,CAFqB,CAIrB;AACA;AACA;;AACA,QAAI,KAAK,IAAI,IAAb,EAAmB;AACjB,UAAI,OAAJ;;AACA,UAAI,QAAJ,EAAc;AACZ,QAAA,OAAO,GAAG,IAAI,wCAAJ,CAAyB,KAAzB,EAAgC,QAAQ,CAAC,KAAzC,CAAV;AACD,OAFD,MAEO;AACL,QAAA,OAAO,GAAG,IAAI,uBAAJ,CAAmB,KAAnB,EAA0B,QAAQ,CAAC,KAAnC,CAAV;AACD;;AACD,YAAM,GAAG,GACL,KAAK,eAAL,CAAqB,OAArB,EAA8B,CAAC;AAAC,QAAA,MAAD;AAAS,QAAA,KAAT;AAAgB,QAAA;AAAhB,OAAD,CAA9B,EAAwD,KAAxD,CADJ;AAEA,YAAM,IAAI,GAAG,KAAK,QAAL,CAAc,GAAG,CAAC,MAAlB,CAAb;AACA,WAAK,6BAAL,CAAmC,GAAnC;AACA,aAAO,IAAP;AACD;;AACD,QAAI,MAAM,IAAI,IAAd,EAAoB;AAClB,aAAO,KAAK,oBAAL,CAA0B,MAA1B,CAAP;AACD;;AACD,QAAI,KAAK,KAAK,QAAd,EAAwB;AACtB,aAAO,MAAP;AACD;;AACD,UAAM,iBAAiB,GAAG,KAAK,YAAL,IAAqB,IAA/C;AACA,QAAI,KAAJ;;AACA,QAAI,iBAAJ,EAAuB;AACrB,MAAA,KAAK,GAAG,eAAK,GAAL,EAAR;AACD;;AAED,QAAI,MAAJ;;AACA,QAAI,KAAK,KAAK,WAAd,EAA2B;AACzB,YAAM,UAAU,GACZ,KAAK,QAAL,CAAc,kBAAkB,CAAC,IAAnB,CAAwB,MAAtC,CADJ;AAEA,YAAM,UAAU,GACZ,KAAK,QAAL,CAAc,kBAAkB,CAAC,IAAnB,CAAwB,MAAtC,CADJ;AAEA,MAAA,MAAM,GAAG,uBAAa,sBAAb,CAAoC,UAApC,EAAgD,UAAhD,CAAT;AACD,KAND,MAMO;AACL,MAAA,MAAM,GAAG,KAAK,oBAAL,CAA0B,MAA1B,CAAT;AACD;;AAED,QAAI,iBAAJ,EAAuB;AACrB,WAAK,cAAL,IAAuB,eAAK,GAAL,KAAa,KAApC;AACD;;AACD,WAAO,KAAK,oBAAL,CAA0B,MAA1B,EAAkC,MAAlC,CAAP;AACD;;AAES,QAAJ,IAAI,CAAC,MAAD,EAAe;AACvB,QAAI,KAAK,WAAL,CAAiB,GAAjB,CAAqB,MAArB,CAAJ,EAAkC;AAChC,YAAM,WAAW,GAAG,KAAK,WAAL,CAAiB,GAAjB,CAAqB,MAArB,CAApB;AACA,aAAO,IAAI,OAAJ,CAAwB,OAAO,IAAI,WAAW,CAAC,IAAZ,CAAiB,OAAjB,CAAnC,CAAP;AACD;;AACD,UAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAhB;AACA,UAAM;AAAC,MAAA,MAAD;AAAS,MAAA,KAAT;AAAgB,MAAA,KAAhB;AAAuB,MAAA,KAAvB;AAA8B,MAAA,kBAA9B;AAAkD,MAAA;AAAlD,QAA8D,OAApE,CANuB,CAQvB;AACA;AACA;;AACA,QAAI,KAAK,IAAI,IAAb,EAAmB;AACjB,UAAI,OAAJ;;AACA,UAAI,QAAJ,EAAc;AACZ,QAAA,OAAO,GAAG,IAAI,wCAAJ,CAAyB,KAAzB,EAAgC,QAAQ,CAAC,KAAzC,CAAV;AACD,OAFD,MAEO;AACL,QAAA,OAAO,GAAG,IAAI,uBAAJ,CAAmB,KAAnB,EAA0B,QAAQ,CAAC,KAAnC,CAAV;AACD;;AACD,YAAM,GAAG,GACL,KAAK,eAAL,CAAqB,OAArB,EAA8B,CAAC;AAAC,QAAA,MAAD;AAAS,QAAA,KAAT;AAAgB,QAAA;AAAhB,OAAD,CAA9B,EAAwD,KAAxD,CADJ;AAEA,YAAM,IAAI,GAAG,KAAK,IAAL,CAAU,GAAG,CAAC,MAAd,CAAb;AACA,WAAK,6BAAL,CAAmC,GAAnC;AACA,aAAO,IAAP;AACD;;AAED,QAAI,MAAM,IAAI,IAAd,EAAoB;AAClB,aAAO,KAAK,oBAAL,CAA0B,MAA1B,CAAP;AACD;;AAED,QAAI,CAAC,qBAAM,OAAN,CAAc,8BAAd,CAAD,IACA,qBAAM,SAAN,CAAgB,eAAhB,MAAqC,CADzC,EAC4C;AAC1C,YAAM,IAAI,KAAJ,CACF,4DAAA,GACA,oCAFE,CAAN;AAGD;;AAED,QAAI,MAAM,GAAgB,IAA1B;AACA,QAAI,iBAAJ;;AAEA,QAAI,KAAK,KAAK,WAAV,IAAyB,qBAAM,GAAN,CAAU,wBAAV,CAA7B,EAAkE;AAChE;AACA,MAAA,iBAAiB,GAAG,KAAK,MAAL,CAAY,MAAZ,CAApB;AACA,YAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,iBAAiB,CAAC,MAAnC,CAAhB;AAEA,MAAA,MAAM,GAAG,KAAK,KAAL,CAAW,uBAAX,CACL,OAAO,CAAC,OADH,EACY,GAAG,QAAQ,CAAC,gBAAT,CAA0B,KAA1B,CADf,CAAT;AAED;;AAED,SAAK,WAAL,CAAiB,GAAjB,CAAqB,MAArB,EAA6B,EAA7B;;AAEA,QAAI,KAAK,KAAK,WAAd,EAA2B;AACzB;AACA,YAAM,KAAK,KAAL,CAAW,qBAAX,EAAN;AACD,KArDsB,CAuDvB;;;AACA,QAAI,IAAJ;;AACA,QAAI,KAAK,KAAK,WAAd,EAA2B;AACzB,YAAM,EAAE,GAAG,MAAM,OAAO,CAAC,GAAR,CAAY,CAC3B,KAAK,IAAL,CAAU,kBAAkB,CAAC,IAAnB,CAAwB,MAAlC,CAD2B,EAE3B,KAAK,IAAL,CAAU,kBAAkB,CAAC,IAAnB,CAAwB,MAAlC,CAF2B,CAAZ,CAAjB;AAKA,YAAM,UAAU,GAAG,EAAE,CAAC,CAAD,CAArB;AACA,YAAM,UAAU,GAAG,EAAE,CAAC,CAAD,CAArB;AACA,MAAA,IAAI,GAAG,uBAAa,sBAAb,CACH,UADG,EACyB,UADzB,CAAP;AAED,KAVD,MAUO,IAAI,MAAM,IAAI,IAAd,EAAoB;AACzB,MAAA,IAAI,GAAG,KAAK,oBAAL,CAA0B,MAA1B,CAAP;AACD,KAFM,MAEA;AACL,YAAM,IAAI,GAAG,eAAK,aAAL,CAAmB,KAAnB,CAAb;;AACA,MAAA,IAAI,GAAG,KAAK,KAAL,CAAW,+BAAX,CAA2C,MAA3C,EAAmD,IAAnD,CAAP;AACD;;AACD,QAAI,iBAAiB,IAAI,IAAzB,EAA+B;AAC7B,WAAK,6BAAL,CAAmC,iBAAnC;AACD;;AACD,QAAI,MAAM,IAAI,IAAd,EAAoB;AAClB,YAAM,EAAE,GAAG,KAAK,KAAL,CAAW,EAAtB;AACA,MAAA,UAAU,CAAC,YAAX,CAAwB,EAAxB,EAA4B,MAAM,EAAE,CAAC,YAAH,CAAgB,MAAhB,CAAlC;AACD;;AACD,UAAM,SAAS,GAAG,KAAK,oBAAL,CAA0B,MAA1B,EAAkC,IAAlC,CAAlB;AAEA,UAAM,WAAW,GAAG,KAAK,WAAL,CAAiB,GAAjB,CAAqB,MAArB,CAApB;AACA,SAAK,WAAL,CAAiB,MAAjB,CAAwB,MAAxB,EAnFuB,CAqFvB;;AACA,IAAA,WAAW,CAAC,OAAZ,CAAoB,OAAO,IAAI,OAAO,CAAC,SAAD,CAAtC;;AACA,QAAI,KAAK,eAAL,CAAqB,GAArB,CAAyB,MAAzB,CAAJ,EAAsC;AACpC,WAAK,eAAL,CAAqB,MAArB,CAA4B,MAA5B;;AACA,UAAI,KAAK,WAAL,CAAiB,MAAjB,CAAJ,EAA8B;AAC5B,gCAAS,YAAT,CAAsB,MAAtB,EAA8B,IAA9B;AACD;;AACD,WAAK,cAAL;AACD;;AACD,WAAO,SAAP;AACD;;AAED,EAAA,UAAU,CAAiB,CAAjB,EAA8B;AACtC,UAAM,IAAI,GAAG,KAAK,QAAL,CAAc,CAAC,CAAC,MAAhB,CAAb;AACA,QAAI,WAAW,GAAG,IAAlB;;AACA,QAAI,CAAC,CAAC,KAAF,KAAY,QAAhB,EAA0B;AACxB,UAAI;AACF;AACA,QAAA,WAAW,GAAI,IAAqB,CAAC,GAAtB,CAA0B,CAAC,IAAI,eAAK,YAAL,CAAkB,CAAlB,CAA/B,CAAf;AACD,OAHD,CAGE,OAAA,EAAA,EAAM;AACN,cAAM,IAAI,KAAJ,CAAU,kDAAV,CAAN;AACD;AACF;;AACD,WAAO,sBAAO,CAAC,CAAC,KAAT,EAA+B,CAAC,CAAC,KAAjC,EAAwC,WAAxC,CAAP;AAED;;AAEO,EAAA,sBAAsB,CAAC,MAAD,EAAsB;AAClD,QAAI,MAAM,IAAI,IAAd,EAAoB;AAClB;AACD;;AACD,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,YAAM,GAAG,GAAG,MAAM,CAAC,CAAD,CAAlB;;AACA,UAAI,CAAC,UAAU,CAAC,gBAAX,CAA4B,GAA5B,CAAL,EAAuC;AACrC,YAAI,qBAAM,OAAN,CAAc,8BAAd,CAAJ,EAAmD;AACjD,gBAAM,KAAK,CACP,aAAa,GAAG,mCAAhB,GACA,yDADA,GAEA,uDAHO,CAAX;AAID;;AACD,cAAM,KAAK,CAAC,aAAa,GAAG,wCAAjB,CAAX;AACD;AACF;AACF;;AAEO,EAAA,oBAAoB,CAAC,MAAD,EAAe;AACzC,UAAM;AAAC,MAAA,KAAD;AAAQ,MAAA,KAAR;AAAe,MAAA;AAAf,QAA2B,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAjC;;AACA,UAAM,IAAI,GAAG,eAAK,aAAL,CAAmB,KAAnB,CAAb;;AACA,QAAI,qBAAM,OAAN,CAAc,8BAAd,CAAJ,EAAmD;AACjD,YAAM,SAAS,GAAG,KAAK,MAAL,CAAY,MAAZ,CAAlB;AACA,YAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,SAAS,CAAC,MAA3B,CAAhB;AACA,YAAM,IAAI,GAAG,KAAK,KAAL,CACK,+BADL,CAEQ,OAAO,CAAC,OAFhB,EAEyB,GAAG,QAAQ,CAAC,gBAAT,CAA0B,KAA1B,CAF5B,EAGK,QAHL,CAGc,CAHd,EAGiB,IAHjB,CAAb;AAKA,WAAK,6BAAL,CAAmC,SAAnC;AAEA,aAAO,IAAP;AACD;;AAED,UAAM,sBAAsB,GACxB,qBAAM,OAAN,CAAc,YAAd,KAA+B,QAAQ,KAAK,IADhD;AAEA,UAAM,WAAW,GACb,sBAAsB,GAAG,UAAU,CAAC,YAAX,CAAwB,KAAxB,CAAH,GAAoC,KAD9D;AAEA,UAAM,OAAO,GAAG,sBAAsB,GAClC,IAAI,iDAAJ,CAA6B,WAA7B,CADkC,GAElC,IAAI,oCAAJ,CAAuB,WAAvB,CAFJ;AAGA,UAAM,MAAM,GAAG,KAAK,eAAL,CACX,OADW,EACF,CAAC;AAAC,MAAA,KAAK,EAAE,WAAR;AAAqB,MAAA,KAArB;AAA4B,MAAA;AAA5B,KAAD,CADE,EACqC,SADrC,CAAf;AAEA,UAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAM,CAAC,MAAxB,CAAhB;AACA,UAAM,IAAI,GACN,KAAK,KAAL,CACK,+CADL,CAEQ,OAAO,CAAC,OAFhB,EAEyB,OAAO,CAAC,QAAR,CAAiB,CAAjB,CAFzB,EAE8C,OAAO,CAAC,QAAR,CAAiB,CAAjB,CAF9C,EAGK,QAHL,CAGc,CAHd,EAGiB,IAHjB,CADJ;AAKA,SAAK,6BAAL,CAAmC,MAAnC;AAEA,WAAO,IAAP;AACD;;AAED,EAAA,cAAc,GAAA;AACZ,WAAO,qBAAM,SAAN,CAAgB,+CAAhB,IAAmE,CAA1E;AACD;;AAES,QAAJ,IAAI,CAAC,CAAD,EAAc;AACtB,UAAM,eAAe,GAAG,KAAK,YAA7B;AACA,UAAM,eAAe,GAAgB,EAArC;AAEA,QAAI,aAAa,GAAG,KAApB;;AACA,QAAI,KAAK,kBAAL,IAA2B,IAA/B,EAAqC;AACnC,WAAK,kBAAL,GAA0B,eAA1B;AACA,MAAA,aAAa,GAAG,IAAhB;AACD,KAHD,MAGO;AACL,WAAK,YAAL,CAAkB,IAAlB,CAAuB,eAAvB;AACD;;AACD,SAAK,YAAL,GAAoB,eAApB;AAEA,IAAA,CAAC,GAbqB,CAetB;;AACA,UAAM,2BAA2B,GAC7B,eAAK,OAAL,CAAa,KAAK,YAAL,CAAkB,GAAlB,CAAuB,CAAD,IAAmB,CAAC,CAAC,KAA3C,CAAb,EACK,MADL,CACY,CAAC,IAAI,CAAC,IAAI,IADtB,CADJ;;AAGA,UAAM,yBAAyB,GAC3B,eAAK,OAAL,CAAa,KAAK,YAAL,CAAkB,GAAlB,CAAuB,CAAD,IAAmB,CAAC,CAAC,IAA3C,CAAb,EACK,MADL,CACY,CAAC,IAAI,CAAC,IAAI,IADtB,CADJ;;AAIA,SAAK,YAAL,GAAoB,eAApB;;AAEA,QAAI,aAAJ,EAAmB;AACjB,WAAK,kBAAL,GAA0B,IAA1B;AACD;;AAED,UAAM,GAAG,GAAoB;AAC3B,MAAA,YAAY,EAAE,KAAK,YADQ;AAE3B,MAAA,cAAc,EAAE,KAAK,cAFM;AAG3B,MAAA,QAAQ,EAAE,IAHiB;AAI3B,MAAA,MAAM,EAAE,IAJmB,CAIb;;AAJa,KAA7B;;AAOA,QAAI,qBAAM,SAAN,CAAgB,+CAAhB,IAAmE,CAAvE,EAA0E;AACxE,YAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAR,CAAY,2BAAZ,CAAvB;AAEA,MAAA,GAAG,CAAC,UAAD,CAAH,GAAkB,eAAK,GAAL,CAAS,QAAT,CAAlB;;AACA,MAAA,GAAG,CAAC,qBAAD,CAAH,GAA6B,MACzB,QAAQ,CAAC,GAAT,CAAa,CAAC,CAAD,EAAI,CAAJ,MAAW;AAAC,QAAA,IAAI,EAAE,yBAAyB,CAAC,CAAD,CAAhC;AAAqC,QAAA,EAAE,EAAE;AAAzC,OAAX,CAAb,EACK,GADL,CACS,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,EADhC,EAEK,IAFL,CAEU,IAFV,CADJ;AAID,KARD,MAQO;AACL,MAAA,GAAG,CAAC,UAAD,CAAH,GAAkB;AAChB,QAAA,KAAK,EAAE;AADS,OAAlB;AAGD;;AAED,SAAK,YAAL,GAAoB,CAApB;AACA,SAAK,cAAL,GAAsB,CAAtB;AACA,WAAO,GAAP;AACD;;AACD,EAAA,MAAM,GAAA;AACJ,WAAO;AACL,MAAA,UAAU,EAAE,KADP;AAEL,MAAA,aAAa,EAAE,KAAK,aAFf;AAGL,MAAA,sBAAsB,EAAE,KAAK,cAAL,CAAoB,iBAHvC;AAIL,MAAA,iBAAiB,EAAE,KAAK,cAAL,CAAoB;AAJlC,KAAP;AAMD;;AAEO,EAAA,UAAU,GAAA;AAChB,QAAI,qBAAM,SAAN,CAAgB,+CAAhB,IAAmE,CAAvE,EAA0E;AACxE,aAAO,KAAK,KAAL,CAAW,UAAX,EAAP;AACD;;AACD,WAAO;AAAC,MAAA,OAAO,EAAE,eAAK,GAAL,EAAV;AAAsB,MAAA,KAAK,EAAE;AAA7B,KAAP;AACD;;AAEO,EAAA,QAAQ,CAAC,KAAD,EAAgC;AAC9C,QAAI,qBAAM,SAAN,CAAgB,+CAAhB,IAAmE,CAAvE,EAA0E;AACxE,WAAK,KAAL,CAAW,QAAX;AACA,aAAO,KAAP;AACD;;AACA,IAAA,KAAuB,CAAC,KAAxB,GAAgC,eAAK,GAAL,EAAhC;AACD,WAAO,KAAP;AACD;;AAEyB,QAAZ,YAAY,CAAC,KAAD,EAAgC;AACxD,QAAI,qBAAM,SAAN,CAAgB,+CAAhB,IAAmE,CAAvE,EAA0E;AACxE,aAAO,KAAK,KAAL,CAAW,sBAAX,CAAkC,KAAlC,CAAP;AACD;;AACD,UAAM,UAAU,GAAG,KAAnB;AACA,WAAO,UAAU,CAAC,KAAX,GAAmB,UAAU,CAAC,OAArC;AACD;AAID;;;;;;;;;;;;AAUA,EAAA,WAAW,CAAC,MAAD,EAAiB,KAAK,GAAG,KAAzB,EAA8B;AACvC,QAAI,KAAK,eAAL,CAAqB,GAArB,CAAyB,MAAzB,CAAJ,EAAsC;AACpC,aAAO,KAAP;AACD,KAHsC,CAKvC;;;AACA,QAAI,CAAC,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAL,EAA+B;AAC7B,aAAO,IAAP;AACD,KARsC,CAUvC;AACA;AACA;;;AACA,QAAI,KAAJ,EAAW;AACT,WAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,EAAyB,QAAzB,GAAoC,CAApC;AACD,KAFD,MAEO;AACL,WAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,EAAyB,QAAzB;AACD;;AAED,QAAI,CAAC,KAAD,IAAU,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,EAAyB,QAAzB,GAAoC,CAAlD,EAAqD;AACnD,aAAO,KAAP;AACD;;AAED,QAAI,KAAK,WAAL,CAAiB,GAAjB,CAAqB,MAArB,CAAJ,EAAkC;AAChC,WAAK,eAAL,CAAqB,GAArB,CAAyB,MAAzB;AACA,WAAK,cAAL;AACA,aAAO,KAAP;AACD;;AAED,SAAK,cAAL,CAAoB,MAApB;AACA,UAAM;AAAC,MAAA;AAAD,QAAuB,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAA7B;;AACA,QAAI,kBAAkB,IAAI,IAA1B,EAAgC;AAC9B,WAAK,WAAL,CAAiB,kBAAkB,CAAC,IAAnB,CAAwB,MAAzC,EAAiD,KAAjD;AACA,WAAK,WAAL,CAAiB,kBAAkB,CAAC,IAAnB,CAAwB,MAAzC,EAAiD,KAAjD;AACD;;AAED,SAAK,OAAL,CAAa,MAAb,CAAoB,MAApB;AAEA,WAAO,IAAP;AACD;;AAEO,EAAA,cAAc,CAAC,MAAD,EAAe;AACnC,UAAM;AAAC,MAAA,OAAD;AAAU,MAAA,KAAV;AAAiB,MAAA,QAAjB;AAA2B,MAAA,KAA3B;AAAkC,MAAA,QAAlC;AAA4C,MAAA;AAA5C,QACF,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CADJ;AAEA,UAAM,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,UAAf,IAA6B,MAAzC;AACA,UAAM,QAAQ,GAAG,KAAK,YAAL,CAAkB,GAAlB,CAAsB,GAAtB,CAAjB;;AAEA,QAAI,QAAQ,GAAG,CAAf,EAAkB;AAChB,WAAK,YAAL,CAAkB,GAAlB,CAAsB,GAAtB,EAA2B,QAAQ,GAAG,CAAtC;AACD,KAFD,MAEO;AACL,WAAK,YAAL,CAAkB,MAAlB,CAAyB,GAAzB;;AACA,UAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,aAAK,aAAL,IAAsB,KAAK,YAAL,CAAkB,QAAlB,EAA4B,KAA5B,CAAtB;AACA,aAAK,cAAL,CAAoB,cAApB,CAAmC,OAAnC,EAA4C,QAA5C,EAAsD,KAAtD,EAA6D,QAA7D;AACD;AACF;;AAED,UAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAhB;AACA,IAAA,OAAO,CAAC,OAAR,GAAkB,IAAlB;AACA,IAAA,OAAO,CAAC,QAAR,GAAmB,IAAnB;AACA,IAAA,OAAO,CAAC,QAAR,GAAmB,KAAnB;AACA,IAAA,OAAO,CAAC,KAAR,GAAgB,IAAhB;AACD;;AAED,EAAA,UAAU,CAAC,MAAD,EAAe;AACvB,SAAK,WAAL,CAAiB,MAAjB;AACA,WAAO,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,EAAyB,OAAhC;AACD;AAED;;;;;;AAIA,EAAA,WAAW,CAAC,MAAD,EAAe;AACxB,WAAO,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAP;AACD;AAED;;;;;;;;;AAOA,EAAA,kBAAkB,CACd,MADc,EAEd,aAAa,GAAG,0BAFF,EAE4B;AAC5C,WAAO,qBAAM,OAAN,CAAc,mBAAd,KACH,MAAM,CAAC,KAAP,CACI,KAAK,IAAI,KAAK,OAAL,CAAa,GAAb,CAAiB,KAAK,CAAC,MAAvB,EAA+B,OAA/B,IAA0C,IAA1C,IACL,eAAK,aAAL,CAAmB,KAAK,CAAC,KAAzB,IAAkC,aAF1C,CADJ;AAID;;AAED,EAAA,eAAe,GAAA;AACb,WAAO,KAAK,KAAZ;AACD;;AAED,EAAA,KAAK,CAAC,SAAD,EAAkB;AACrB,2BAAa,IAAb,CACI,8CACA,8BAFJ;;AAGA,UAAM,QAAQ,GAAG,SAAS,CAAC,QAAV,EAAjB;AACA,WAAO,SAAS,CAAC,SAAS,CAAC,KAAX,EAAkB,QAAlB,CAAhB;AACD;;AAEO,EAAA,aAAa,CAAC,CAAD,EAAgB,EAAhB,EAA4B,KAA5B,EAA2C;AAC9D,UAAM,OAAO,GAAG,IAAI,wCAAJ,CAAyB,CAAC,CAAC,KAA3B,EAAkC,EAAlC,CAAhB;AACA,UAAM,OAAO,GAAG,KAAK,aAAL,CAAmB,OAAnB,EAA4B,CAAC,CAAD,CAA5B,EAAiC,KAAjC,CAAhB;AACA,WAAO,wBAAS,oBAAT,CACH,OAAO,CAAC,MADL,EACa,OAAO,CAAC,KADrB,EAC4B,OAAO,CAAC,KADpC,CAAP;AAED,GA3iBgD,CA6iBjD;AACA;AACA;;;AACA,EAAA,GAAG,CAAmB,CAAnB,EAAuB;AACxB;AACA,QAAI,KAAK,kBAAL,CAAwB,CAAC,CAAD,CAAxB,KAAgC,CAAC,CAAC,KAAF,KAAY,WAAhD,EAA6D;AAC3D,YAAM,SAAS,GACX,8BAAiB,KAAK,OAAL,CAAa,GAAb,CAAiB,CAAC,CAAC,MAAnB,EAA2B,MAA5C,CADJ;AAEA,aAAO,KAAK,UAAL,CAAgB,CAAC,CAAC,KAAlB,EAAyB,CAAC,CAAC,KAA3B,EAAkC,SAAlC,CAAP;AACD;;AAED,QAAI,qBAAM,OAAN,CAAc,6BAAd,CAAJ,EAAkD;AAChD,aAAO,KAAK,aAAL,CAAmB,CAAnB,EAAsB,QAAQ,CAAC,GAA/B,EAAoC,CAAC,CAAC,KAAtC,CAAP;AACD;;AAED,UAAM,OAAO,GAAG,IAAI,uBAAJ,CAAmB,CAAC,CAAC,KAArB,EAA4B,QAAQ,CAAC,GAArC,CAAhB;AACA,UAAM,OAAO,GAAG,KAAK,aAAL,CAAmB,OAAnB,EAA4B,CAAC,CAAD,CAA5B,CAAhB;AACA,WAAO,wBAAS,oBAAT,CACI,OAAO,CAAC,MADZ,EACoB,OAAO,CAAC,KAD5B,EACmC,OAAO,CAAC,KAD3C,CAAP;AAED;;AAED,EAAA,cAAc,CACV,KADU,EACO,KADP,EAEV,MAFU,EAEqB;AACjC,QAAI,MAAJ;;AACA,QAAI,KAAK,KAAK,QAAV,IAAsB,MAAM,IAAI,IAAhC,IAAwC,MAAM,CAAC,MAAP,GAAgB,CAAxD,IACA,eAAK,QAAL,CAAc,MAAM,CAAC,CAAD,CAApB,CADJ,EAC8B;AAC5B,YAAM,aAAa,GACd,MAAyB,CAAC,GAA1B,CAA8B,CAAC,IAAI,eAAK,YAAL,CAAkB,CAAlB,CAAnC,CADL;AAGA,MAAA,MAAM,GAAG,KAAK,KAAL,CAAW,aAAX,EAA0B,KAA1B,EAAiC,KAAjC,CAAT;AACD,KAND,MAMO;AACL,MAAA,MAAM,GAAG,KAAK,KAAL,CAAW,MAAX,EAAiC,KAAjC,EAAwC,KAAxC,CAAT;AACD;;AAED,SAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,EAAyB,KAAzB,GAAiC,IAAjC;AACA,WAAO;AAAC,MAAA,MAAD;AAAS,MAAA,KAAT;AAAgB,MAAA;AAAhB,KAAP;AACD;;AAEO,EAAA,UAAU,CACd,KADc,EACG,KADH,EACoB,MADpB,EAC0C;AAC1D,UAAM;AAAC,MAAA;AAAD,QAAW,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAA3B,EAAkC,MAAlC,CAAjB;AACA,WAAO,wBAAS,oBAAT,CAA8B,MAA9B,EAAsC,KAAtC,EAA6C,KAA7C,EAAoD,IAApD,CAAP;AACD;;AAED,EAAA,YAAY,CAAC,KAAD,EAAkB;AAC5B,UAAM,OAAO,GAAG,IAAI,yBAAJ,CAAkB,KAAK,CAAC,KAAxB,CAAhB;AACA,WAAO,KAAK,eAAL,CAAqB,OAArB,EAA8B,CAAC,KAAD,CAA9B,EAAuC,KAAK,CAAC,KAA7C,CAAP;AACD;;AAED,EAAA,UAAU,CAAC,KAAD,EAAkB;AAC1B,UAAM,OAAO,GAAG,IAAI,qBAAJ,CAAgB,KAAK,CAAC,KAAtB,CAAhB;AACA,UAAM,2BAA2B,GAAG,IAApC;AACA,WAAO,KAAK,eAAL,CACH,OADG,EACM,CAAC,KAAD,CADN,EACe,KAAK,CAAC,KADrB,EAC4B;AAAK;AADjC,MAEH,2BAFG,CAAP;AAGD;;AAEO,EAAA,aAAa,CAAC,KAAD,EAAoB,UAApB,EAAwC;AAC3D,UAAM,YAAY,GAAG,CACnB,UAAU,CAAC,WAAX,CAAuB,KAAK,CAAC,KAA7B,CADmB,EAEnB,GAAG,UAAU,CAAC,WAAX,CAAuB,KAAK,CAAC,KAA7B,CAFgB,CAArB;AAIA,UAAM,OAAO,GAAe;AAC1B,MAAA,KAAK,EAAE,KAAK,CAAC,KADa;AAE1B,MAAA,KAAK,EAAE,YAFmB;AAG1B,MAAA,MAAM,EAAE,KAAK,CAAC;AAHY,KAA5B;AAKA,UAAM,cAAc,GAAG,CACrB,UAAU,CAAC,WAAX,CAAuB,UAAvB,CADqB,EACe,GAAG,UAAU,CAAC,WAAX,CAAuB,UAAvB,CADlB,CAAvB;AAIA,UAAM,OAAO,GAAG,IAAI,wCAAJ,CAAyB,cAAzB,EAAyC,YAAzC,CAAhB;AACA,UAAM,6BAA6B,GAAG,IAAtC;AACA,UAAM,MAAM,GAAG,KAAK,eAAL,CACX,OADW,EACF,CAAC,OAAD,CADE,EACS,KAAK,CAAC,KADf,EACsB;AAAK;AAD3B,MAEX,6BAFW,CAAf;AAGA,WAAO;AAAC,MAAA,MAAM,EAAE,MAAM,CAAC,MAAhB;AAAwB,MAAA,KAAK,EAAE,UAA/B;AAA2C,MAAA,KAAK,EAAE,MAAM,CAAC;AAAzD,KAAP;AACD;;AAEO,EAAA,MAAM,CAAC,MAAD,EAAe;AAC3B,UAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAhB;AACA,UAAM;AAAC,MAAA,QAAD;AAAW,MAAA,KAAX;AAAkB,MAAA;AAAlB,QAA2B,OAAjC;AACA,UAAM,SAAS,GACX,UAAU,CAAC,YAAX,CAAwB,KAAxB,CADJ;AAEA,QAAI,OAAJ;;AACA,QAAI,QAAJ,EAAc;AACZ,MAAA,OAAO,GAAG,IAAI,mDAAJ,CAA8B,SAA9B,CAAV;AACD,KAFD,MAEO;AACL,MAAA,OAAO,GAAG,IAAI,sCAAJ,CAAwB,SAAxB,CAAV;AACD;;AACD,UAAM,6BAA6B,GAAG,IAAtC;AACA,UAAM,GAAG,GAAG,KAAK,eAAL,CACR,OADQ,EACC,CAAC;AAAC,MAAA,KAAK,EAAE,SAAR;AAAmB,MAAA,KAAnB;AAA0B,MAAA;AAA1B,KAAD,CADD,EACsC,KADtC,EAER;AAAK;AAFG,MAEwB,6BAFxB,CAAZ;AAGA,WAAO;AAAC,MAAA,KAAD;AAAQ,MAAA,KAAR;AAAe,MAAA,MAAM,EAAE,GAAG,CAAC;AAA3B,KAAP;AACD;;AAED,EAAA,eAAe,CACX,OADW,EACY,MADZ,EACkC,WADlC,EAEX,mBAFW,EAGX,6BAA6B,GAAG,KAHrB,EAG0B;AACvC,UAAM,MAAM,GAAG,KAAK,cAAL,CAAoB,OAAO,CAAC,WAA5B,EAAyC,WAAzC,CAAf;AACA,UAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAM,CAAC,MAAxB,CAAhB;;AACA,QAAI,OAAO,CAAC,YAAZ,EAA0B;AACxB,MAAA,OAAO,CAAC,QAAR,GAAmB,IAAnB;AACD;;AACD,QAAI,OAAO,CAAC,gBAAR,KAA6B,QAAQ,CAAC,aAAT,CAAuB,KAAxD,EAA+D;AAC7D,YAAM,UAAU,GAAG,QAAQ,CAAC,gBAAT,CAA0B,OAAO,CAAC,WAAlC,CAAnB,CAD6D,CAE7D;AACA;AACA;AACA;;AACA,MAAA,OAAO,CAAC,QAAR,GAAmB,UAAU,CAAC,GAAX,CAAe,CAAC,IAAI,CAAC,GAAG,CAAxB,CAAnB;AACD;;AACD,QAAI,OAAO,CAAC,WAAR,IAAuB,IAA3B,EAAiC;AAC/B,MAAA,OAAO,CAAC,KAAR,GAAgB,OAAO,CAAC,WAAxB;AACD;;AACD,QAAI,eAAK,aAAL,CAAmB,MAAM,CAAC,KAA1B,MAAqC,CAAzC,EAA4C;AAC1C;AACA;AACA,MAAA,OAAO,CAAC,MAAR,GACI,eAAK,sBAAL,CAA4B,MAAM,CAAC,KAAnC,EAAuD,CAAvD,CADJ;AAEA,aAAO,MAAP;AACD;;AAED,UAAM,aAAa,GAAiB,EAApC;AACA,UAAM,UAAU,GAAiB,MAAM,CAAC,GAAP,CAAW,KAAK,IAAG;AAClD,UAAI,KAAK,CAAC,KAAN,KAAgB,WAApB,EAAiC;AAC/B,cAAM,IAAI,KAAJ,CACF,+DAAA,GACA,8DADA,GAEA,QAHE,CAAN;AAID;;AAED,UAAI,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,KAAK,CAAC,MAAvB,CAAd;;AAEA,UAAI,OAAO,CAAC,OAAR,IAAmB,IAAvB,EAA6B;AAC3B,YAAI,CAAC,OAAO,CAAC,YAAT,IACA,eAAK,aAAL,CAAmB,KAAK,CAAC,KAAzB,KACI,qBAAM,SAAN,CAAgB,2BAAhB,CAFR,EAEsD;AACpD;AACA;AACA;AACA;AACA;AACA,iBAAO;AACL,YAAA,KAAK,EAAE,KAAK,CAAC,KADR;AAEL,YAAA,OAAO,EAAE,IAFJ;AAGL,YAAA,SAAS,EAAE,IAHN;AAIL,YAAA,aAAa,EAAE,OAAO,CAAC;AAJlB,WAAP;AAMD,SAf0B,CAiB3B;AACA;;;AACA,YAAI,OAAO,CAAC,YAAZ,EAA0B;AACxB,UAAA,OAAO,CAAC,QAAR,GAAmB,IAAnB;AACA,UAAA,OAAO,CAAC,KAAR,GAAgB,KAAK,CAAC,KAAtB;AACD;AACF,OAvBD,MAuBO,IAAI,CAAC,CAAC,OAAO,CAAC,QAAV,KAAuB,CAAC,CAAC,OAAO,CAAC,YAArC,EAAmD;AACxD,QAAA,KAAK,GAAG,OAAO,CAAC,QAAR,GAAmB,KAAK,YAAL,CAAkB,KAAlB,CAAnB,GACmB,KAAK,UAAL,CAAgB,KAAhB,CAD3B;AAEA,QAAA,aAAa,CAAC,IAAd,CAAmB,KAAnB;AACA,QAAA,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,KAAK,CAAC,MAAvB,CAAV;AACD,OALM,MAKA,IACH,OAAO,CAAC,QAAR,IACA,CAAC,UAAU,CAAC,aAAX,CAAyB,OAAO,CAAC,KAAjC,EAAwC,KAAK,CAAC,KAA9C,CAFE,EAEoD;AACzD;AACA;AACA;AACA;AACA;AACA;AAEA,cAAM,UAAU,GAAG,KAAnB;AACA,cAAM,WAAW,GAAG,KAAK,CAAC,KAA1B;AAEA,QAAA,KAAK,CAAC,KAAN,GAAc,OAAO,CAAC,KAAtB;AACA,QAAA,KAAK,GAAG,KAAK,aAAL,CAAmB,KAAnB,EAAoC,WAApC,CAAR;AACA,QAAA,aAAa,CAAC,IAAd,CAAmB,KAAnB;AACA,QAAA,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,KAAK,CAAC,MAAvB,CAAV;AAEA,QAAA,UAAU,CAAC,KAAX,GAAmB,WAAnB;AACD;;AAED,WAAK,WAAL,CAAiB,KAAK,CAAC,MAAvB;AACA,aAAO;AAAC,QAAA,KAAK,EAAE,KAAK,CAAC,KAAd;AAAqB,QAAA,OAArB;AAA8B,QAAA,SAAS,EAAE;AAAzC,OAAP;AACD,KA7DgC,CAAjC;AA+DA,SAAK,WAAL,CAAiB,MAAM,CAAC,MAAxB;AACA,UAAM,UAAU,GACC;AAAC,MAAA,KAAK,EAAE,MAAM,CAAC,KAAf;AAAsB,MAAA,OAAO,EAAE,OAA/B;AAAwC,MAAA,SAAS,EAAE;AAAnD,KADjB;AAEA,UAAM,GAAG,GAAG,UAAU,CAAC,aAAX,CAAyB,OAAzB,EAAkC,UAAlC,EAA8C,UAA9C,CAAZ;AACA,UAAM,MAAM,GAAG,KAAK,gBAAL,CAAsB,GAAtB,EAA2B,MAAK;AAC7C,aAAO,UAAU,CAAC,cAAX,CACH,KAAK,KADF,EACS,OADT,EACkB,UADlB,EAC8B,UAD9B,CAAP;AAED,KAHc,CAAf;AAIA,UAAM,iBAAiB,GAAG,KAAK,YAAL,IAAqB,IAA/C;AACA,QAAI,KAAJ;;AACA,QAAI,iBAAJ,EAAuB;AACrB,MAAA,KAAK,GAAG,KAAK,UAAL,EAAR;AACD;;AAED,IAAA,UAAU,CAAC,UAAX,CACI,KAAK,KADT,EACgB,MADhB,EACwB,UADxB,EACoC,UADpC,EACgD,mBADhD;AAGA,IAAA,aAAa,CAAC,OAAd,CAAsB,IAAI,IAAI,KAAK,6BAAL,CAAmC,IAAnC,CAA9B;;AAEA,QAAI,iBAAJ,EAAuB;AACrB,MAAA,KAAK,GAAG,KAAK,QAAL,CAAc,KAAd,CAAR;AACA,WAAK,YAAL,CAAkB,IAAlB,CACI;AAAC,QAAA,IAAI,EAAE,OAAO,CAAC,WAAR,CAAoB,IAA3B;AAAiC,QAAA,KAAK,EAAE,KAAK,YAAL,CAAkB,KAAlB;AAAxC,OADJ;AAED;;AAED,UAAM,gBAAgB,GAAG,qBAAM,GAAN,CAAU,uBAAV,CAAzB,CAlHuC,CAmHvC;;AACA,QAAI,gBAAgB,GAAG,CAAvB,EAA0B;AACxB,YAAM,IAAI,GAAG,eAAK,GAAL,EAAb;;AACA,UAAK,IAAI,GAAG,KAAK,eAAb,GAAgC,gBAApC,EAAsD;AACpD,aAAK,KAAL,CAAW,EAAX,CAAc,KAAd;AACA,aAAK,eAAL,GAAuB,IAAvB;AACD;AACF;;AAED,QAAI,CAAC,qBAAM,OAAN,CAAc,qBAAd,CAAD,IAAyC,OAAO,CAAC,QAAjD,IACA,6BAA6B,KAAK,KADtC,EAC6C;AAC3C,YAAM,QAAQ,GAAG,KAAK,YAAL,CAAkB,MAAlB,CAAjB;AACA,WAAK,6BAAL,CAAmC,MAAnC;AACA,aAAO,QAAP;AACD;;AACD,WAAO,MAAP;AACD;;AAED,EAAA,aAAa,CACT,OADS,EACc,MADd,EACoC,WADpC,EAET,mBAFS,EAGT,6BAA6B,GAAG,KAHvB,EAG4B;AACvC,IAAA,WAAW,GAAG,WAAW,IAAI,MAAM,CAAC,CAAD,CAAN,CAAU,KAAvC;AACA,UAAM,OAAO,GAAG,KAAK,eAAL,CACZ,OADY,EACH,MADG,EACK,WADL,EACkB,mBADlB,EAEZ,6BAFY,CAAhB;AAGA,WAAO,OAAP;AACD;;AAEO,EAAA,gBAAgB,CAAC,GAAD,EAAc,SAAd,EAA0C;AAEhE,QAAI,EAAE,GAAG,IAAI,KAAK,WAAd,CAAJ,EAAgC;AAC9B,WAAK,WAAL,CAAiB,GAAjB,IAAwB,SAAS,EAAjC;AACD;;AACD,WAAO,KAAK,WAAL,CAAiB,GAAjB,CAAP;AACD;;AAED,EAAA,iBAAiB,GAAA;AACf,WAAO,KAAK,cAAZ;AACD;;AAID,EAAA,OAAO,GAAA;AACL,QAAI,KAAK,QAAT,EAAmB;AACjB;AACD,KAHI,CAIL;AACA;;;AACA,QAAI,CAAC,qBAAM,OAAN,CAAc,SAAd,CAAL,EAA+B;AAC7B,YAAM,OAAO,GAAG,MAAM,CAAC,IAAP,CAAY,KAAK,WAAjB,CAAhB;AACA,MAAA,OAAO,CAAC,OAAR,CAAgB,GAAG,IAAG;AACpB,aAAK,KAAL,CAAW,aAAX,CAAyB,KAAK,WAAL,CAAiB,GAAjB,EAAsB,YAA/C;AACA,eAAO,KAAK,WAAL,CAAiB,GAAjB,CAAP;AACD,OAHD;AAID;;AACD,SAAK,cAAL,CAAoB,OAApB;;AACA,QAAI,KAAK,MAAL,IAAe,IAAf,IACC,OAAQ,iBAAR,KAA+B,WAA/B,IACA,KAAK,MAAL,YAAuB,iBAF5B,EAEgD;AAC9C,WAAK,MAAL,CAAY,MAAZ;AACD,KAJD,MAIO;AACL,WAAK,MAAL,GAAc,IAAd;AACD;;AACD,QAAI,KAAK,mBAAT,EAA8B;AAC5B,WAAK,KAAL,CAAW,OAAX,GAAqB,IAArB;AACA,WAAK,KAAL,CAAW,OAAX;AACD;;AACD,SAAK,QAAL,GAAgB,IAAhB;AACD;;AAED,EAAA,cAAc,GAAA;AACZ,QAAI,KAAK,mBAAL,IAA4B,IAAhC,EAAsC;AACpC,WAAK,mBAAL,GAA2B,oBAAK,MAAK;AACnC,YAAI,CAAC,qBAAM,GAAN,CAAU,8BAAV,CAAL,EAAgD;AAC9C;AACA;AACA,gBAAM,SAAS,GAAG,qBAAM,OAAN,CAAc,OAAd,CAAlB;AACA,+BAAM,GAAN,CAAU,OAAV,EAAmB,KAAnB;AACA,gBAAM,mBAAmB,GAAG,KAAK,GAAL,CAAS,sBAAO,IAAP,CAAT,EAAuB,QAAvB,GAAkC,CAAlC,CAA5B;AACA,+BAAM,GAAN,CAAU,OAAV,EAAmB,SAAnB;;AAEA,cAAI,mBAAmB,GAAG,CAA1B,EAA6B;AAC3B,mBAAO,EAAP;AACD;AACF;;AACD,eAAO,EAAP;AACD,OAd0B,CAA3B;AAeD;;AACD,WAAO,KAAK,mBAAZ;AACD;AAED;;;AACA,EAAA,OAAO,GAAA;AACL,WAAO,KAAK,cAAL,OAA0B,EAA1B,GAA+B,eAA/B,GAAiD,eAAxD;AACD;;AAED,EAAA,WAAW,CAAC,MAAD,EAAe;AACxB,UAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAhB;AACA,UAAM;AAAC,MAAA,KAAD;AAAQ,MAAA,KAAR;AAAe,MAAA,MAAf;AAAuB,MAAA,OAAvB;AAAgC,MAAA,KAAhC;AAAuC,MAAA;AAAvC,QAAmD,OAAzD;;AAEA,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB;AACA;AACD;;AACD,UAAM,iBAAiB,GAAG,KAAK,YAAL,IAAqB,IAA/C;AACA,QAAI,KAAJ;;AACA,QAAI,iBAAJ,EAAuB;AACrB,MAAA,KAAK,GAAG,eAAK,GAAL,EAAR;AACD;;AAED,QAAI,QAAQ,GAAG,OAAO,CAAC,QAAvB;;AACA,QAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB,MAAA,QAAQ,GAAG,UAAU,CAAC,+BAAX,CAA2C,KAA3C,EAAkD,QAAlD,CAAX;AACA,MAAA,OAAO,CAAC,QAAR,GAAmB,QAAnB;AACD;;AAED,QAAI,MAAM,IAAI,IAAd,EAAoB;AAClB,YAAM,SAAS,GAAG,UAAU,CAAC,YAAX,CAAwB,KAAxB,CAAlB;AAEA,UAAI,OAAJ;AACA,UAAI,KAAK,GAAG,QAAQ,CAAC,CAAD,CAApB;AAAA,UAAyB,MAAM,GAAG,QAAQ,CAAC,CAAD,CAA1C;AACA,YAAM,WAAW,GAAG,MAAM,YAAY,UAAtC;;AAEA,UAAI,QAAJ,EAAc;AACZ,SAAC,KAAD,EAAQ,MAAR,IAAkB,QAAQ,CAAC,sCAAT,CACd,QAAQ,CAAC,CAAD,CADM,EACD,QAAQ,CAAC,CAAD,CADP,CAAlB;AAEA,QAAA,OAAO,GAAG,IAAI,mDAAJ,CACN,SADM,EACK,CAAC,MAAD,EAAS,KAAT,CADL,EACsB,WADtB,CAAV;AAED,OALD,MAKO;AACL,QAAA,OAAO,GACH,IAAI,sCAAJ,CAAwB,SAAxB,EAAmC,CAAC,MAAD,EAAS,KAAT,CAAnC,EAAoD,WAApD,CADJ;AAED;;AAED,YAAM,oBAAoB,GAAG,KAAK,cAAL,CAAoB,CAAC,MAAD,EAAS,KAAT,CAApB,EAAqC,KAArC,CAA7B;;AACA,UAAI,WAAJ,EAAiB;AACf,aAAK,OAAL,CAAa,GAAb,CAAiB,oBAAoB,CAAC,MAAtC,EAA8C,KAA9C,GACI,sBAAa,MADjB;AAED,OAHD,MAGO;AACL,aAAK,OAAL,CAAa,GAAb,CAAiB,oBAAoB,CAAC,MAAtC,EAA8C,KAA9C,GACI,sBAAa,MADjB;AAED;;AACD,WAAK,KAAL,CAAW,0BAAX,CACI,KAAK,UAAL,CAAgB,oBAAoB,CAAC,MAArC,CADJ,EACkD,KADlD,EACyD,MADzD,EAEI,MAFJ,EAzBkB,CA6BlB;AACA;;AACA,YAAM,qBAAqB,GAAG,IAA9B;AACA,YAAM,mBAAmB,GAAG,KAAK,eAAL,CACxB,OADwB,EACf,CAAC,oBAAD,CADe,EACS,KADT,EACgB,IADhB,EACsB,qBADtB,CAA5B,CAhCkB,CAmClB;;AACA,YAAM,aAAa,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,mBAAmB,CAAC,MAArC,CAAtB;AACA,MAAA,OAAO,CAAC,OAAR,GAAkB,aAAa,CAAC,OAAhC;AACA,MAAA,OAAO,CAAC,QAAR,GAAmB,aAAa,CAAC,QAAjC;AACA,MAAA,OAAO,CAAC,QAAR,GAAmB,aAAa,CAAC,QAAjC;AACA,MAAA,OAAO,CAAC,KAAR,GAAgB,aAAa,CAAC,KAA9B;AAEA,WAAK,6BAAL,CAAmC,oBAAnC;AACA,WAAK,OAAL,CAAa,MAAb,CAAoB,mBAAmB,CAAC,MAAxC,EA3CkB,CA6ClB;;AACA,MAAA,OAAO,CAAC,MAAR,GAAiB,IAAjB;;AACA,UAAI,iBAAJ,EAAuB;AACrB,aAAK,YAAL,IAAqB,eAAK,GAAL,KAAa,KAAlC;AACD;AACF,KAlDD,MAkDO;AACL,YAAM,UAAU,GAAG,KAAK,cAAL,CAAoB,QAApB,EAA8B,KAA9B,EAAqC,KAArC,EAA4C,QAA5C,CAAnB;AACA,MAAA,OAAO,CAAC,OAAR,GAAkB,UAAlB;AACD;AACF;;AAEO,EAAA,oBAAoB,CAAC,MAAD,EAAiB,aAAjB,EAA6C;AAEvE,UAAM,OAAO,GAAG,KAAK,OAAL,CAAa,GAAb,CAAiB,MAAjB,CAAhB;AACA,UAAM;AAAC,MAAA;AAAD,QAAU,OAAhB;AAEA,SAAK,cAAL,CAAoB,MAApB;;AAEA,QAAI,aAAa,IAAI,IAArB,EAA2B;AACzB,MAAA,OAAO,CAAC,MAAR,GAAiB,mBAAmB,CAAC,aAAD,EAAgB,KAAhB,CAApC;AACD;;AACD,WAAO,OAAO,CAAC,MAAf;AACD;;AAEO,EAAA,cAAc,CAClB,QADkB,EACU,OADV,EACiC,KADjC,EAElB,QAFkB,EAED;AACnB,SAAK,aAAL,IAAsB,KAAK,YAAL,CAAkB,QAAlB,EAA4B,KAA5B,CAAtB;;AACA,QAAI,CAAC,KAAK,iBAAN,IACA,KAAK,aAAL,GAAqB,KAAK,kBAAL,GAA0B,IAA1B,GAAiC,IAD1D,EACgE;AAC9D,YAAM,EAAE,GAAG,CAAC,KAAK,aAAL,GAAqB,IAArB,GAA4B,IAA7B,EAAmC,OAAnC,CAA2C,CAA3C,CAAX;AACA,WAAK,iBAAL,GAAyB,IAAzB;AACA,MAAA,OAAO,CAAC,IAAR,CACI,6BAA6B,EAAE,OAA/B,GACA,kCAFJ;AAGD;;AACD,WAAO,KAAK,cAAL,CAAoB,cAApB,CAAmC,QAAnC,EAA6C,OAA7C,EAAsD,QAAtD,CAAP;AACD;;AAEO,EAAA,YAAY,CAAC,KAAD,EAA0B,KAA1B,EAAyC;AAC3D,WAAO,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAC,CAAD,CAAhB,GAAsB,eAAK,eAAL,CAAqB,KAArB,CAA7B;AACD;;AAh9BgD;;;AAIlC,gBAAA,CAAA,UAAA,GAAa,CAAb;;AA+8BjB,SAAS,mBAAT,CACI,CADJ,EACqB,KADrB,EAC6B;AAC3B,MAAI,KAAK,KAAK,SAAV,IAAuB,KAAK,KAAK,WAArC,EAAkD;AAChD,WAAO,CAAP;AACD,GAFD,MAEO,IAAI,KAAK,KAAK,OAAV,IAAqB,KAAK,KAAK,MAAnC,EAA2C;AAChD,UAAM,MAAM,GAAI,KAAK,KAAK,OAAX,GAAsB,IAAI,UAAJ,CAAe,CAAC,CAAC,MAAjB,CAAtB,GACsB,IAAI,UAAJ,CAAe,CAAC,CAAC,MAAjB,CADrC;;AAEA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,EAAE,CAArC,EAAwC;AACtC,MAAA,MAAM,CAAC,CAAD,CAAN,GAAY,IAAI,CAAC,KAAL,CAAW,CAAC,CAAC,CAAD,CAAZ,CAAZ;AACD;;AACD,WAAO,MAAP;AACD,GAPM,MAOA;AACL,UAAM,IAAI,KAAJ,CAAU,iBAAiB,KAAK,EAAhC,CAAN;AACD;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxjCD;;AAEA;;;;AACA;;;;AAEA;;AACA;;AACA;;;;;;AAxBA;;;;;;;;;;;;;;;;AA0BA;;AAGA;;;;;AAKM,SAAU,cAAV,GAAwB;AAC5B,uBAAM,GAAN,CAAU,0BAAV,EAAsC,IAAtC;AACD;;;;;;;;;;;;;;;;;;;AtIjBD;;AACA;;AACA;;AAOA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AA5BA;;;;;;;;;;;;;;;;AAiBA;AAMA,IAAI,sBAAY,SAAZ,EAAJ,EAA6B;AAC3B,iCAAgB,OAAhB,EAAyB,MAAM,IAAI,+BAAJ,EAA/B,EAAuD;AAAE;AAAzD;AACD,EAED;;;AAKO,MAAM,KAAK,GAAG;AAAC,EAAA,cAAc,EAAd;AAAD,CAAd;;;;;;;;;;AuIfP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBO,MAAM,iBAAiB,GAAG;;;CAA1B;;AAKA,MAAM,kBAAkB,GAAG,2BAA3B;;;AACD,MAAO,eAAP,CAAsB;AAM1B,EAAA,WAAA,CAAY,EAAZ,EAAwB,MAAxB,EAA0C,MAA1C,EAA0D;AAL1D,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,GAAN,CAAhB;AAME,SAAK,WAAL,GAAmB,uBAAa,0BAAb,CAAwC,MAAxC,EAAgD,MAAhD,CAAnB;AACA,SAAK,mBAAL,GAA2B,kCAAiB,KAAK,WAAL,CAAiB,MAAlC,CAA3B;AACA,SAAK,QAAL,GAAgB;;UAEV,EAAE;;;;;;;;KAFR;AAWD;;AApByB;;;;;;;;;;;ACV5B;;AAEA;;AACA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBO,MAAM,iBAAiB,GAAG;;;;;CAA1B;;AAOA,MAAM,OAAO,GAAG;;;CAAhB;;AAKA,MAAM,SAAS,GAAG;;CAAlB;;;AAID,MAAO,qBAAP,CAA4B;AAShC,EAAA,WAAA,CACI,EADJ,EACgB,MADhB,EACkC,MADlC,EAEI,gBAAgB,GAAG,KAFvB,EAE4B;AAV5B,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,GAAN,CAAhB;AAGA,SAAA,oBAAA,GAAuB,IAAvB;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAME,SAAK,WAAL,GAAmB,uBAAa,0BAAb,CAAwC,MAAxC,EAAgD,MAAhD,CAAnB;AACA,UAAM,IAAI,GAAG,KAAK,WAAL,CAAiB,MAA9B;AACA,SAAK,mBAAL,GAA2B,kCAAiB,IAAjB,CAA3B;AACA,QAAI,sBAAsB,GAAG,EAA7B;;AACA,QAAI,gBAAJ,EAAsB;AACpB,UAAI,IAAI,KAAK,CAAT,IAAc,eAAK,aAAL,CAAmB,KAAK,WAAxB,MAAyC,CAA3D,EAA8D;AAC5D,QAAA,sBAAsB,GAAG;;;;SAAzB;AAKD,OAND,MAMO;AACL,cAAM,KAAK,GAAG,wCAAkB,IAAlB,CAAd;AACA,QAAA,sBAAsB,GAAG;YACrB,KAAK;SADT;;AAGA,YAAI,IAAI,KAAK,CAAb,EAAgB;AACd,cAAI,KAAK,mBAAT,EAA8B;AAC5B,YAAA,sBAAsB,IAAI;;;;WAA1B;AAKD,WAND,MAMO;AACL,YAAA,sBAAsB,IAAI;yCACG,KAAK,WAAL,CAAiB,CAAjB,CAAmB;;;WADhD;AAKD;AACF,SAdD,MAcO;AACL,gBAAM,QAAQ,GAAG,+BAAY,QAAZ,EAAsB,IAAtB,CAAjB;;AACA,cAAI,KAAK,mBAAT,EAA8B;AAC5B,YAAA,sBAAsB,IAAI;;iBAErB,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAU,qBAAqB,IAAI;;iBAE3C,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAU,qBAAqB,IAAI;;;;WAJhD;AASD,WAVD,MAUO;AACL,YAAA,sBAAsB,IAAI;;iBAErB,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAU,YAAY,KAAK,WAAL,CAAiB,IAAI,GAAG,CAAxB,CAA0B;;iBAExD,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAU,YAAY,KAAK,WAAL,CAAiB,IAAI,GAAG,CAAxB,CAA0B;;;;WAJ7D;AASD;AACF;AACF;AACF;;AAED,SAAK,QAAL,GAAgB;;UAEV,EAAE;;;;;;;;UAQF,sBAAsB;;;;KAV5B;AAeD;;AApF+B;;;;;;;;;;;;A1DtBlC;;AAjBA;;;;;;;;;;;;;;;;AAqBM,SAAU,QAAV,CACF,IADE,EACuD;AAC3D,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AAEA,EAAA,OAAO,CAAC,MAAR,CAAe,CAAC,CAAC,MAAjB;AAEA,SAAO;AAAC,IAAA,MAAM,EAAE,CAAC,CAAC,MAAX;AAAmB,IAAA,KAAK,EAAE,CAAC,CAAC,KAA5B;AAAmC,IAAA,KAAK,EAAE,CAAC,CAAC;AAA5C,GAAP;AACD;;AAEM,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,OAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;;AFdP;;AAGA;;AApBA;;;;;;;;;;;;;;;;;AAsBA;;;;;;;;;AASM,SAAU,OAAV,CACF,IADE,EACsD;AAC1D,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,MAAe,MAArB;AAEA,QAAM,WAAW,GAAG,OAAO,CAAC,cAAR,CAAuB,IAAI,CAAC,KAA5B,EAAmC,WAAnC,CAApB;AACA,QAAM,OAAO,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,WAAW,CAAC,MAAhC,CAAhB;AAEA,QAAM,cAAc,GAAG,wBAAS;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAoB,IAAA;AAApB,GAAT,CAAvB;AAEA,QAAM,cAAc,GAAG,wBAAS;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAoB,IAAA;AAApB,GAAT,CAAvB;AAEA,EAAA,OAAO,CAAC,kBAAR,GAA6B;AAAC,IAAA,IAAI,EAAE,cAAP;AAAuB,IAAA,IAAI,EAAE;AAA7B,GAA7B;AAEA,SAAO,WAAP;AACD;;AAEM,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;;A6D/BP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,SAAS,GAAG,8BAAlB;;AACA,MAAM,gBAAgB,GAAG;;;CAAzB;;;AAKD,SAAU,SAAV,CAAoB,IAApB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,KAAhB;AAEA,QAAM,MAAM,GAAG,OAAO,CAAC,cAAR,CACX,EADW,EACP,SADO,EAEX,eAAK,iBAAL,CAAuB,KAAvB,EAAiD,SAAjD,CAFW,CAAf;AAIA,QAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,8BAAd,IACZ,IAAI,0CAAJ,CAA0B,gBAA1B,EAA4C,CAAC,CAAC,KAA9C,EAAqD,MAAM,CAAC,KAA5D,CADY,GAEZ,IAAI,6BAAJ,CAAoB,SAApB,EAA+B,CAAC,CAAC,KAAjC,EAAwC,MAAM,CAAC,KAA/C,CAFJ;AAGA,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,EAAI,MAAJ,CAAjC,EAA8C,CAAC,CAAC,KAAhD,CAAf;AAEA,EAAA,OAAO,CAAC,6BAAR,CAAsC,MAAtC;AAEA,SAAO,MAAP;AACD;;AAEM,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,mBAD+B;AAE3C,EAAA,WAAW,EAAE,OAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;;AClCP;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBO,MAAM,KAAK,GAAG,8BAAd;;AACA,MAAM,YAAY,GAAG;;;CAArB;;;AAKD,SAAU,KAAV,CAAgB,IAAhB,EAAsE;AAE1E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAa,MAAnB;AAEA,QAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,8BAAd,IACZ,IAAI,0CAAJ,CAA0B,YAA1B,EAAwC,CAAC,CAAC,KAA1C,EAAiD,KAAK,CAAC,KAAvD,CADY,GAEZ,IAAI,6BAAJ,CAAoB,KAApB,EAA2B,CAAC,CAAC,KAA7B,EAAoC,KAAK,CAAC,KAA1C,CAFJ;AAGA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,EAAI,KAAJ,CAAjC,EAA6C,CAAC,CAAC,KAA/C,CAAP;AACD;;AAEM,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;;;;ACvBP;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;AA3BA;;;;;;;;;;;;;;;;AAgCO,MAAM,uBAAuB,GAAG,yBAAhC;;AAEA,MAAM,wBAAwB,GAAG;;;CAAjC;;AAKA,MAAM,+BAA+B,GAAG;;;;;CAAxC;AAcP;;;;;;;;;;;AAQM,SAAU,eAAV,CACF;AAAC,EAAA,SAAD;AAAY,EAAA,eAAZ;AAA6B,EAAA,aAA7B;AAA4C,EAAA;AAA5C,CADE,EACuE;AAE3E,SAAO,CAAC;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,GAAD,KAAsB;AAC3B,UAAM;AAAC,MAAA;AAAD,QAAM,MAAZ;AACA,UAAM,YAAY,GAAG,OAArB;AAEA,UAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,KAA1B;;AACA,QAAI,YAAY,CAAC,kBAAb,CAAgC,CAAC,CAAD,CAAhC,KAAwC,aAAa,IAAI,IAA7D,EAAmE;AACjE,YAAM,KAAK,GAAG,YAAY,CAAC,OAAb,CAAqB,GAArB,CAAyB,CAAC,CAAC,MAA3B,CAAd;AACA,YAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,MAAP,EAA6B,MAA7B,CAA/B;AACA,aAAO,YAAY,CAAC,cAAb,CAA4B,CAAC,CAAC,KAA9B,EAAqC,MAArC,EAA6C,SAA7C,CAAP;AACD;;AAED,UAAM,sBAAsB,GACxB,qBAAM,OAAN,CAAc,6BAAd,KAAgD,eAAe,IAAI,IADvE;AAEA,QAAI,OAAJ;;AACA,QAAI,sBAAJ,EAA4B;AAC1B,MAAA,OAAO,GAAG,IAAI,oCAAJ,CAAyB,CAAC,CAAC,KAA3B,EAAkC,eAAlC,CAAV;AACD,KAFD,MAEO;AACL,MAAA,OAAO,GAAG,IAAI,uBAAJ,CAAmB,CAAC,CAAC,KAArB,EAA4B,SAA5B,CAAV;AACD;;AAED,WAAO,YAAY,CAAC,eAAb,CAA6B,OAA7B,EAAsC,CAAC,CAAD,CAAtC,EAA2C,MAA3C,CAAP;AACD,GArBD;AAsBD;AAWD;;;;;;;;;;;;AAUM,SAAU,gBAAV,CAA2B;AAC/B,EAAA,SAD+B;AAE/B,EAAA,eAF+B;AAG/B,EAAA,gBAAgB,GAAG,KAHY;AAI/B,EAAA,eAAe,GAAG,KAJa;AAK/B,EAAA,aAL+B;AAM/B,EAAA;AAN+B,CAA3B,EAOmB;AACvB,SAAO,CAAC;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,GAAD,KAAsB;AAC3B,UAAM;AAAC,MAAA,CAAD;AAAI,MAAA;AAAJ,QAAS,MAAf;AACA,UAAM,YAAY,GAAG,OAArB;;AAEA,QAAI,eAAe,IAAI,CAAC,CAAC,KAAF,KAAY,WAAnC,EAAgD;AAC9C,YAAM,KAAK,GAAG,YAAY,CAAC,OAAb,CAAqB,GAArB,CAAyB,CAAC,CAAC,MAA3B,CAAd;AACA,YAAM,KAAK,GAAG,YAAY,CAAC,OAAb,CAAqB,GAArB,CAAyB,CAAC,CAAC,MAA3B,CAAd;AAEA,YAAM,CAAC,IAAD,EAAO,IAAP,IAAe,CACnB,CAAC,KAAK,CAAC,kBAAN,CAAyB,IAA1B,EAAgC,KAAK,CAAC,kBAAN,CAAyB,IAAzD,CADmB,EAEnB,CAAC,KAAK,CAAC,kBAAN,CAAyB,IAA1B,EAAgC,KAAK,CAAC,kBAAN,CAAyB,IAAzD,CAFmB,EAGnB,GAHmB,CAGf,YAAY,IAAG;AACnB,cAAM,CAAC,KAAD,EAAQ,KAAR,IAAiB,YAAvB;AAEA,cAAM,OAAO,GAAG;AACd,UAAA,MAAM,EAAE,KAAK,CAAC,MADA;AAEd,UAAA,KAAK,EAAE,KAAK,CAAC,KAFC;AAGd,UAAA,KAAK,EAAE,CAAC,CAAC;AAHK,SAAhB;AAKA,cAAM,OAAO,GAAG;AACd,UAAA,MAAM,EAAE,KAAK,CAAC,MADA;AAEd,UAAA,KAAK,EAAE,KAAK,CAAC,KAFC;AAGd,UAAA,KAAK,EAAE,CAAC,CAAC;AAHK,SAAhB;AAMA,cAAM,OAAO,GAAG,IAAI,6BAAJ,CAAoB,SAApB,EAA+B,CAAC,CAAC,KAAjC,EAAwC,CAAC,CAAC,KAA1C,CAAhB;AACA,eAAO,YAAY,CAAC,eAAb,CACH,OADG,EACM,CAAC,OAAD,EAAU,OAAV,CADN,EAC0B,0BAAW,KAAK,CAAC,KAAjB,EAAwB,KAAK,CAAC,KAA9B,CAD1B,CAAP;AAED,OApBoB,CAArB;AAsBA,YAAM,aAAa,GACf,sBAAQ;AAAC,QAAA,MAAM,EAAE;AAAC,UAAA,IAAD;AAAO,UAAA;AAAP,SAAT;AAAuB,QAAA,OAAO,EAAE;AAAhC,OAAR,CADJ;AAGA,MAAA,YAAY,CAAC,6BAAb,CAA2C,IAA3C;AACA,MAAA,YAAY,CAAC,6BAAb,CAA2C,IAA3C,EA9B8C,CAgC9C;;AAEA,aAAO,aAAP;AACD;;AAED,UAAM,MAAM,GAAG,KAAK,IAAI,0BAAW,CAAC,CAAC,KAAb,EAAoB,CAAC,CAAC,KAAtB,CAAxB;;AACA,QAAI,CAAC,CAAC,CAAC,KAAF,KAAY,QAAZ,IAAwB,CAAC,CAAC,KAAF,KAAY,QAApC,IACA,YAAY,CAAC,kBAAb,CAAgC,CAAC,CAAD,EAAI,CAAJ,CAAhC,CADD,KAEA,aAAa,IAAI,IAFrB,EAE2B;AACzB,YAAM,KAAK,GAAG,YAAY,CAAC,OAAb,CAAqB,GAArB,CAAyB,CAAC,CAAC,MAA3B,EAAmC,MAAjD;AACA,YAAM,KAAK,GAAG,YAAY,CAAC,OAAb,CAAqB,GAArB,CAAyB,CAAC,CAAC,MAA3B,EAAmC,MAAjD;AAEA,YAAM,YAAY,GAAG,CAAC,CAAC,KAAF,KAAY,QAAZ,GACjB;AACA,6BAAa,sBAAb,CAAoC,KAApC,CAFiB,GAGjB,KAHJ;AAIA,YAAM,YAAY,GAAG,CAAC,CAAC,KAAF,KAAY,QAAZ,GACjB;AACA,6BAAa,sBAAb,CAAoC,KAApC,CAFiB,GAGjB,KAHJ;AAIA,YAAM,CAAC,SAAD,EAAY,QAAZ,IACF,aAAa,CAAC,CAAC,CAAC,KAAH,EAAU,CAAC,CAAC,KAAZ,EAAmB,YAAnB,EAAiC,YAAjC,EAA+C,MAA/C,CADjB;AAGA,YAAM,GAAG,GAAG,YAAY,CAAC,cAAb,CAA4B,QAA5B,EAAsC,MAAtC,CAAZ;AACA,YAAM,OAAO,GAAG,YAAY,CAAC,OAAb,CAAqB,GAArB,CAAyB,GAAG,CAAC,MAA7B,CAAhB;AACA,MAAA,OAAO,CAAC,MAAR,GAAiB,SAAjB;AACA,aAAO,GAAP;AACD;;AAED,UAAM,sBAAsB,GACxB,qBAAM,OAAN,CAAc,8BAAd,KACA,eAAe,IAAI,IAFvB;AAGA,QAAI,OAAJ;;AACA,QAAI,sBAAJ,EAA4B;AAC1B,MAAA,OAAO,GAAG,IAAI,0CAAJ,CACN,eADM,EACW,CAAC,CAAC,KADb,EACoB,CAAC,CAAC,KADtB,EAC6B,gBAD7B,CAAV;AAED,KAHD,MAGO;AACL,MAAA,OAAO,GAAG,IAAI,6BAAJ,CAAoB,SAApB,EAA+B,CAAC,CAAC,KAAjC,EAAwC,CAAC,CAAC,KAA1C,CAAV;AACD;;AAED,WAAO,YAAY,CAAC,eAAb,CAA6B,OAA7B,EAAsC,CAAC,CAAD,EAAI,CAAJ,CAAtC,EAA8C,MAA9C,CAAP;AACD,GA7ED;AA8ED;;AAEK,SAAU,4BAAV,CACF,UADE,EACmC,MAAM,GAAG,KAD5C,EACiD;AACrD,MAAI,UAAU,KAAK,QAAnB,EAA6B;AAC3B,QAAI,MAAJ,EAAY;AACV,aAAO,eAAe,CAAC,MAAvB;AACD;;AACD,WAAO,QAAQ,CAAC,MAAhB;AACD,GALD,MAKO,IAAI,UAAU,KAAK,MAAnB,EAA2B;AAChC,QAAI,MAAJ,EAAY;AACV,aAAO,eAAe,CAAC,IAAvB;AACD;;AACD,WAAO,QAAQ,CAAC,IAAhB;AACD,GALM,MAKA,IAAI,UAAU,KAAK,KAAnB,EAA0B;AAC/B,QAAI,MAAJ,EAAY;AACV,aAAO,eAAe,CAAC,GAAvB;AACD;;AACD,WAAO,QAAQ,CAAC,GAAhB;AACD,GALM,MAKA,IAAI,UAAU,KAAK,OAAnB,EAA4B;AACjC,QAAI,MAAJ,EAAY;AACV,aAAO,eAAe,CAAC,KAAvB;AACD;;AACD,WAAO,QAAQ,CAAC,KAAhB;AACD,GALM,MAKA,IAAI,UAAU,KAAK,OAAnB,EAA4B;AACjC,QAAI,MAAJ,EAAY;AACV,aAAO,mBAAP;AACD;;AACD,WAAO,YAAP;AACD,GALM,MAKA,IAAI,UAAU,KAAK,WAAnB,EAAgC;AACrC,QAAI,MAAJ,EAAY;AACV,aAAO,2BAAP;AACD;;AACD,WAAO,oBAAP;AACD,GALM,MAKA,IAAI,UAAU,KAAK,SAAnB,EAA8B;AACnC,QAAI,MAAJ,EAAY;AACV,aAAO,eAAe,CAAC,OAAvB;AACD;;AACD,WAAO,QAAQ,CAAC,OAAhB;AACD;;AACD,QAAM,IAAI,KAAJ,CAAU,cACZ,UAAU,kDADR,CAAN;AAED;;;;;;;;;AC3OD;;;;;;;;;;;;;;;;AAmBM,MAAO,mBAAP,CAA0B;AAO9B,EAAA,WAAA,CACI,MADJ,EACsC,MADtC,EAEI,WAFJ,EAE2C,UAAU,GAAG,KAFxD,EAGI,UAAU,GAAG,KAHjB,EAGwB,OAAO,GAAG,KAHlC,EAGyC,UAAA,GAAqB,IAH9D,EAII,kBAAkB,GAAG,KAJzB,EAIgC,sBAAsB,GAAG,KAJzD,EAI8D;AAV9D,SAAA,aAAA,GAAgB,CAAC,SAAD,EAAY,SAAZ,CAAhB;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AASE,SAAK,WAAL,GAAmB,WAAnB;AAEA,UAAM,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC,CAAD,CAAT,GAAe,MAAM,CAAC,CAAD,CAAjD;AACA,UAAM,qBAAqB,GAAG,IAAI,CAAC,IAAL,CAAU,SAAS,GAAG,CAAtB,CAA9B;AAEA,UAAM,OAAO,GAAG,UAAU,GAAG,aAAH,GAAmB,aAA7C;AACA,UAAM,OAAO,GAAG,UAAU,GAAG,aAAH,GAAmB,aAA7C;AACA,UAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,QAAD,EAAW,QAAX,CAAH,GAA0B,CAAC,QAAD,EAAW,QAAX,CAArD;AACA,UAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,QAAD,EAAW,QAAX,CAAH,GAA0B,CAAC,QAAD,EAAW,QAAX,CAArD;AAEA,QAAI,iBAAiB,GAAG,EAAxB;AAAA,QAA4B,sBAAsB,GAAG,EAArD;;AACA,QAAI,UAAJ,EAAgB;AACd,UAAI,kBAAJ,EAAwB;AACtB,QAAA,iBAAiB,GAAG;;YAEhB,UAAU;UAFd;AAID,OALD,MAKO,IAAI,sBAAJ,EAA4B;AACjC,QAAA,iBAAiB,GAAG;;YAEhB,UAAU;UAFd;AAID,OALM,MAKA;AACL,QAAA,iBAAiB,GAAG;YAChB,UAAU;UADd;AAGD;;AAED,MAAA,sBAAsB,GAAG,8BAAzB;AACD;;AAED,UAAM,cAAc,GAAG,OAAO,GAAG,iCAAH,GAAuC,EAArE;;AACA,QAAI,OAAJ,EAAa;AACX,WAAK,aAAL,CAAmB,IAAnB,CAAwB,MAAxB;AACD;;AAED,QAAI,kBAAJ,EAAwB;AACtB,WAAK,aAAL,CAAmB,IAAnB,CAAwB,wBAAxB;AACD;;AAED,QAAI,sBAAJ,EAA4B;AAC1B,WAAK,aAAL,CAAmB,IAAnB,CAAwB,gBAAxB;AACD;;AAED,QAAI,aAAa,GAAG,MAApB;AACA,QAAI,aAAa,GAAG,MAApB;;AACA,QAAI,MAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,CAAD,CAAtB,EAA2B;AACzB,MAAA,aAAa,GAAG,wBAAwB,MAAM,CAAC,CAAD,CAAN,GAAY,CAAC,KAArD;AACD,KAFD,MAEO,IAAI,MAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,CAAD,CAAtB,EAA2B;AAChC,MAAA,aAAa,GAAG,wBAAwB,MAAM,CAAC,CAAD,CAAN,GAAY,CAAC,KAArD;AACD;;AAED,SAAK,QAAL,GAAgB;QACZ,iBAAiB;;sCAEa,qBAAqB;;;;8BAI7B,qBAAqB;yBAC1B,aAAa;yBACb,aAAa;wCACE,OAAO;wCACP,OAAO;;;;uBAIxB,QAAQ,CAAC,CAAD,CAAG,MAAM,QAAQ,CAAC,CAAD,CAAG;uBAC5B,QAAQ,CAAC,CAAD,CAAG,MAAM,QAAQ,CAAC,CAAD,CAAG;;;;;;;;;UASzC,cAAc;;UAEd,sBAAsB;;;;KA3B5B;AAgCD;;AAhG6B;;;;;;;;;;;ACFhC;;AAjBA;;;;;;;;;;;;;;;;AAoBA;AACA;AACA;AACA;AACO,MAAM,gBAAgB,GAAG;AAC9B,EAAA,IAAI,EAAE,uCADwB;AAE9B,EAAA,IAAI,EAAE;AAFwB,CAAzB;;;AAKD,MAAO,sBAAP,CAA6B;AAKjC,EAAA,WAAA,CAAY,EAAZ,EAAwB,MAAxB,EAA0C,MAA1C,EAA0D;AAJ1D,SAAA,aAAA,GAAgB,CAAC,OAAD,EAAU,OAAV,EAAmB,OAAnB,EAA4B,OAA5B,CAAhB;AAKE,SAAK,WAAL,GAAmB,uBAAa,0BAAb,CAAwC,MAAxC,EAAgD,MAAhD,CAAnB;AAEA,SAAK,QAAL,GAAgB;;;UAGV,EAAE;;;;;;;;;;KAHR;AAcD;;AAtBgC;;;;;;;;;;;;AtCZnC;;AAGA;;AAEA;;AACA;;AACA;;AAEA;;;;;;AA1BA;;;;;;;;;;;;;;;;AA4BA,MAAM,GAAG,GAAG,eAAZ;;AAEM,SAAU,QAAV,CACF,IADE,EACqD;AACzD,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAS,MAAf;;AACA,QAAM,KAAK,GAAG,uBAAa,UAAb,CAAwB,CAAC,CAAC,KAA1B,EAAiC,CAAC,CAAC,KAAnC,CAAd;;AAEA,MAAI,CAAC,CAAC,KAAF,KAAY,WAAhB,EAA6B;AAC3B,UAAM,KAAK,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAd;AACA,UAAM,KAAK,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAd;AAEA,UAAM,WAAW,GAAG,IAAI,2CAAJ,CAChB,oBAAoB,CAAC,gBAArB,CAAsC,IADtB,EAC4B,CAAC,CAAC,KAD9B,EACqC,CAAC,CAAC,KADvC,CAApB;AAEA,UAAM,WAAW,GAAG,IAAI,2CAAJ,CAChB,oBAAoB,CAAC,gBAArB,CAAsC,IADtB,EAC4B,CAAC,CAAC,KAD9B,EACqC,CAAC,CAAC,KADvC,CAApB;AAGA,UAAM,MAAM,GAAG,CACb;AACE,MAAA,MAAM,EAAE,KAAK,CAAC,kBAAN,CAAyB,IAAzB,CAA8B,MADxC;AAEE,MAAA,KAAK,EAAE,KAAK,CAAC,kBAAN,CAAyB,IAAzB,CAA8B,KAFvC;AAGE,MAAA,KAAK,EAAE,CAAC,CAAC;AAHX,KADa,EAMb;AACE,MAAA,MAAM,EAAE,KAAK,CAAC,kBAAN,CAAyB,IAAzB,CAA8B,MADxC;AAEE,MAAA,KAAK,EAAE,KAAK,CAAC,kBAAN,CAAyB,IAAzB,CAA8B,KAFvC;AAGE,MAAA,KAAK,EAAE,CAAC,CAAC;AAHX,KANa,EAWb;AACE,MAAA,MAAM,EAAE,KAAK,CAAC,kBAAN,CAAyB,IAAzB,CAA8B,MADxC;AAEE,MAAA,KAAK,EAAE,KAAK,CAAC,kBAAN,CAAyB,IAAzB,CAA8B,KAFvC;AAGE,MAAA,KAAK,EAAE,CAAC,CAAC;AAHX,KAXa,EAgBb;AACE,MAAA,MAAM,EAAE,KAAK,CAAC,kBAAN,CAAyB,IAAzB,CAA8B,MADxC;AAEE,MAAA,KAAK,EAAE,KAAK,CAAC,kBAAN,CAAyB,IAAzB,CAA8B,KAFvC;AAGE,MAAA,KAAK,EAAE,CAAC,CAAC;AAHX,KAhBa,CAAf;AAuBA,UAAM,QAAQ,GAAG,OAAO,CAAC,eAAR,CAAwB,WAAxB,EAAqC,MAArC,EAA6C,SAA7C,CAAjB;AACA,UAAM,QAAQ,GAAG,OAAO,CAAC,eAAR,CAAwB,WAAxB,EAAqC,MAArC,EAA6C,SAA7C,CAAjB;AAEA,UAAM,aAAa,GACf,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,IAAI,EAAE,QAAP;AAAiB,QAAA,IAAI,EAAE;AAAvB,OAAT;AAA2C,MAAA;AAA3C,KAAR,CADJ;AAGA,IAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC,EAvC2B,CAyC3B;;AACA,WAAO,aAAP;AACD;;AAED,MAAI,OAAO,CAAC,kBAAR,CAA2B,CAAC,CAAD,EAAI,CAAJ,CAA3B,CAAJ,EAAwC;AACtC,UAAM,KAAK,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAd;AACA,UAAM,KAAK,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAd;AACA,UAAM,CAAC,SAAD,EAAY,QAAZ,IAAwB,6BAC1B,CAAC,CAAC,KADwB,EACjB,CAAC,CAAC,KADe,EACR,KAAK,CAAC,MADE,EAE1B,KAAK,CAAC,MAFoB,EAEE,KAFF,CAA9B;AAIA,UAAM,GAAG,GAAG,OAAO,CAAC,cAAR,CAAuB,QAAvB,EAAiC,KAAjC,CAAZ;AACA,UAAM,OAAO,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,GAAG,CAAC,MAAxB,CAAhB;AACA,IAAA,OAAO,CAAC,MAAR,GAAiB,SAAjB;AACA,WAAO,GAAP;AACD;;AAED,MAAI,OAAJ;;AACA,MAAI,qBAAM,OAAN,CAAc,8BAAd,CAAJ,EAAmD;AACjD,IAAA,OAAO,GAAG,IAAI,0CAAJ,CAA0B,GAA1B,EAA+B,CAAC,CAAC,KAAjC,EAAwC,CAAC,CAAC,KAA1C,CAAV;AACD,GAFD,MAEO;AACL,IAAA,OAAO,GAAG,IAAI,6BAAJ,CAAoB,GAApB,EAAyB,CAAC,CAAC,KAA3B,EAAkC,CAAC,CAAC,KAApC,CAAV;AACD;;AAED,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,EAAI,CAAJ,CAAjC,EAAyC,KAAzC,CAAP;AACD;;AAEM,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,OAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;AuCpFP;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,aAAV,CACF,KADE,EACiB,UADjB,EAEF,OAFE,EAEuB;AAC3B,QAAM,YAAY,GACd,CAAC,6BAAY,KAAK,CAAC,KAAlB,CAAD,EACC,GAAG,6BAAY,KAAK,CAAC,KAAlB,CADJ,CADJ;AAGA,QAAM,OAAO,GAAe;AAC1B,IAAA,KAAK,EAAE,KAAK,CAAC,KADa;AAE1B,IAAA,KAAK,EAAE,YAFmB;AAG1B,IAAA,MAAM,EAAE,KAAK,CAAC;AAHY,GAA5B;AAKA,QAAM,cAAc,GAChB,CAAC,6BAAY,UAAZ,CAAD,EACC,GAAG,6BAAY,UAAZ,CADJ,CADJ;AAIA,QAAM,OAAO,GAAG,IAAI,wCAAJ,CAAyB,cAAzB,EAAyC,YAAzC,CAAhB;AACA,QAAM,6BAA6B,GAAG,IAAtC;AACA,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CACX,OADW,EACF,CAAC,OAAD,CADE,EACS,KAAK,CAAC,KADf,EACsB;AAAK;AAD3B,IAEX,6BAFW,CAAf;AAGA,SAAO;AAAC,IAAA,MAAM,EAAE,MAAM,CAAC,MAAhB;AAAwB,IAAA,KAAK,EAAE,UAA/B;AAA2C,IAAA,KAAK,EAAE,MAAM,CAAC;AAAzD,GAAP;AACD;;;;;;;;;;AC3BD;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,OAAV,CAAkB,IAAlB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,KAAhB;AACA,QAAM,YAAY,GAAG,OAArB;;AAEA,QAAM,KAAK,GAAG,eAAK,aAAL,CAAmB,CAAC,CAAC,KAArB,CAAd;;AACA,QAAM,MAAM,GAAG,eAAK,sBAAL,CAA4B,KAA5B,EAAmC,KAAnC,CAAf;;AACA,QAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,MAAnB,CAAf;;AAEA,iBAAK,MAAL,CACI,KAAK,KAAK,MADd,EAEI,MAAM,kBAAkB,MAAM,SAAS,MAAM,wBAAvC,GACF,UAAU,CAAC,CAAC,KAAK,SAAS,KAAK,mCAD7B,GAEF,8CAJR;;AAMA,QAAM,QAAQ,GAAG,YAAY,CAAC,OAAb,CAAqB,GAArB,CAAyB,CAAC,CAAC,MAA3B,CAAjB;;AACA,MAAI,QAAQ,CAAC,QAAT,IAAqB,CAAC,+BAAc,CAAC,CAAC,KAAhB,EAAuB,MAAvB,CAAtB,IACA,EAAE,QAAQ,CAAC,OAAT,KAAqB,IAArB,IAA6B,+BAAc,QAAQ,CAAC,KAAvB,EAA8B,MAA9B,CAA/B,CADJ,EAC2E;AACzE,WAAO,4BAAc,CAAd,EAAiB,MAAjB,EAAyB,YAAzB,CAAP;AACD;;AAED,EAAA,YAAY,CAAC,MAAb,CAAoB,CAAC,CAAC,MAAtB;AAEA,SAAO;AAAC,IAAA,MAAM,EAAE,CAAC,CAAC,MAAX;AAAmB,IAAA,KAAK,EAAE,MAA1B;AAAkC,IAAA,KAAK,EAAE,CAAC,CAAC;AAA3C,GAAP;AACD;;AAEM,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;ACrCP;;AAjBA;;;;;;;;;;;;;;;;AAoBM,MAAO,WAAP,CAAkB;AAKtB,EAAA,WAAA,CAAY,UAAZ,EAAiD,OAAjD,EAAiE;AAJjE,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAKE,UAAM;AAAC,MAAA,UAAD;AAAa,MAAA,SAAb;AAAwB,MAAA,MAAxB;AAAgC,MAAA;AAAhC,QAA2C,UAAjD;AACA,SAAK,WAAL,GAAmB,CAAC,SAAD,EAAY,OAAZ,CAAnB;AAEA,UAAM,qBAAqB,GAAG,IAAI,CAAC,KAAL,CAAW,UAAU,GAAG,CAAxB,IAA6B,CAA3D;AACA,UAAM,uBAAuB,GAAG,UAAU,GAAG,CAA7C;AAEA,QAAI,aAAa,GAAG,gCAApB;;AACA,QAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,YAAM,WAAW,GAAG,IAAI,OAAxB;AACA,MAAA,aAAa,GAAG,4BACZ,eAAK,KAAL,CAAW,WAAX,IAA0B,WAAW,CAAC,WAAZ,CAAwB,CAAxB,CAA1B,GAC0B,WAAW,UAFzC;AAGD;;AAED,QAAI,gBAAgB,GAAG,EAAvB;;AACA,QAAI,MAAM,GAAG,UAAT,GAAsB,CAA1B,EAA6B;AAC3B,MAAA,gBAAgB,GAAG;oCACW,MAAM;;;OADpC;AAKD;;AAED,SAAK,QAAL,GAAgB;;;;UAIV,gBAAgB;;;;;;;;kCAQQ,UAAU;;;;8BAId,qBAAqB;;;;;;;;;YASvC,aAAa;;;iCAGQ,qBAAqB;cACxC,uBAAuB,KAAK,CAAC;;;YAG/B,aAAa;qBACJ,uBAAuB,KAAK,CAAC;;;;;YAKtC,aAAa;qBACJ,uBAAuB,KAAK,CAAC;;;;;;YAMtC,aAAa;;;;KA7CrB;AAkDD;;AA/EqB;;;;;;;;;;;ACpBxB;;;;;;;;;;;;;;;;AAoBM,MAAO,aAAP,CAAoB;AAKxB,EAAA,WAAA,CACI,UADJ,EAEI,UAFJ,EAEoD;AANpD,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAOE,UAAM;AAAC,MAAA,UAAD;AAAa,MAAA,SAAb;AAAwB,MAAA,MAAxB;AAAgC,MAAA;AAAhC,QAA2C,UAAjD;AACA,SAAK,WAAL,GAAmB,CAAC,SAAD,EAAY,OAAZ,CAAnB;AAEA,QAAI,mBAAmB,GAAG,KAA1B;AACA,QAAI,SAAS,GAAG,EAAhB;;AAEA,QAAI,UAAU,KAAK,MAAnB,EAA2B;AACzB,MAAA,mBAAmB,GAAG,KAAtB;AACD,KAFD,MAEO,IAAI,UAAU,KAAK,KAAnB,EAA0B;AAC/B;AACA,MAAA,mBAAmB,GAAG,aAAtB;AACA,MAAA,SAAS,GAAG,KAAZ;AACD,KAJM,MAIA,IAAI,UAAU,KAAK,KAAnB,EAA0B;AAC/B;AACA,MAAA,mBAAmB,GAAG,cAAtB;AACA,MAAA,SAAS,GAAG,KAAZ;AACD;;AAED,QAAI,WAAW,GAAG,GAAG,UAAU,IAAI,UAAU,IAAI,UAAU,GAAzC,GACd,mEADJ;;AAGA,QAAI,UAAU,KAAK,KAAnB,EAA0B;AACxB,MAAA,WAAW,GAAG,UAAd;AACD,KAFD,MAEO,IAAI,UAAU,KAAK,MAAnB,EAA2B;AAChC,MAAA,WAAW,GAAG,WAAd;AACD,KAFM,MAEA,IAAI,UAAU,KAAK,KAAnB,EAA0B;AAC/B,MAAA,WAAW,GAAG,UAAd;AACD,KAFM,MAEA,IAAI,UAAU,KAAK,KAAnB,EAA0B;AAC/B,MAAA,WAAW,GAAG,UAAd;AACD;;AAED,UAAM,qBAAqB,GAAG,IAAI,CAAC,KAAL,CAAW,UAAU,GAAG,CAAxB,IAA6B,CAA3D;AACA,UAAM,uBAAuB,GAAG,UAAU,GAAG,CAA7C;AAEA,QAAI,aAAa,GAAG;YACZ,UAAU,KAAK,KAAK;;mBAEb,UAAU,KAAK,MAAM;;;;wBAIhB,SAAS;cACnB,UAAU,KAAK,KAAK,OAAO,UAAU,KAAK,KAAK;0BACnC,SAAS;;;;;;;KAT/B;AAkBA,QAAI,OAAO,GAAG,MAAd;;AAEA,QAAI,UAAU,KAAK,KAAnB,EAA0B;AACxB,MAAA,mBAAmB,GAAG,KAAtB;AACA,MAAA,aAAa,GAAG;;;;OAAhB;AAKA,MAAA,OAAO,GAAG,OAAV;AACD,KARD,MAQO,IAAI,UAAU,KAAK,KAAnB,EAA0B;AAC/B,MAAA,mBAAmB,GAAG,KAAtB;AACA,MAAA,aAAa,GAAG;;;;OAAhB;AAKA,MAAA,OAAO,GAAG,OAAV;AACD;;AAED,QAAI,gBAAgB,GAAG,EAAvB;;AACA,QAAI,MAAM,GAAG,UAAT,GAAsB,CAA1B,EAA6B;AAC3B,MAAA,gBAAgB,GAAG;oCACW,MAAM;;;OADpC;AAKD;;AACD,SAAK,QAAL,GAAgB;0CACsB,mBAAmB;;;;UAInD,gBAAgB;;;;;;;;kCAQQ,UAAU;;kCAEV,mBAAmB;;;;;;8BAMvB,qBAAqB;;YAEvC,OAAO,aAAa,OAAO;;;;;;;YAO3B,aAAa;;;iCAGQ,qBAAqB;cACxC,uBAAuB,KAAK,CAAC;YAC/B,OAAO,aAAa,OAAO;;;;;;;YAO3B,aAAa;qBACJ,uBAAuB,KAAK,CAAC;YACtC,OAAO,aAAa,OAAO;;;;;;;YAO3B,aAAa;qBACJ,uBAAuB,KAAK,CAAC;YACtC,OAAO,aAAa,OAAO;;;;;;;YAO3B,aAAa;;oBAEL,WAAW;;KA9D3B;AAiED;;AAzJuB;;;;;;;;;;;ACH1B;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAyBA;AACA;AACA,SAAS,kBAAT,CAA4B,OAA5B,EAA6C;AAE3C,QAAM,MAAM,GAAG,EAAf;;AAEA,SAAO,MAAM,CAAC,MAAP,KAAkB,CAAlB,IAAuB,MAAM,CAAC,MAAM,CAAC,MAAP,GAAgB,CAAjB,CAAN,CAA0B,OAA1B,KAAsC,CAApE,EAAuE;AACrE,UAAM,OAAO,GACT,MAAM,CAAC,MAAP,GAAgB,MAAM,CAAC,MAAM,CAAC,MAAP,GAAgB,CAAjB,CAAN,CAA0B,OAA1C,GAAoD,OAAO,CAAC,CAAD,CAD/D;;AAEA,UAAM,UAAU,GAAG,uBAAa,wBAAb,CAAsC,OAAtC,CAAnB;;AACA,IAAA,MAAM,CAAC,IAAP,CAAY;AACV,MAAA,MAAM,EAAE,OADE;AAEV,MAAA,UAFU;AAGV,MAAA,OAAO,EAAE,IAAI,CAAC,IAAL,CAAU,OAAO,GAAG,UAApB;AAHC,KAAZ;AAKD;;AAED,SAAO,MAAP;AACD;;AAEK,SAAU,MAAV,CACF,CADE,EACa,KADb,EAC8B,aAD9B,EAEF,OAFE,EAEuB;AAC3B,QAAM,eAAe,GAAG,kBAAkB,CAAC,CAAC,CAAC,KAAH,CAA1C;AAEA,MAAI,MAAM,GAAG,CAAb;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,eAAe,CAAC,MAApC,EAA4C,CAAC,EAA7C,EAAiD;AAC/C,UAAM;AAAC,MAAA,MAAD;AAAS,MAAA,UAAT;AAAqB,MAAA;AAArB,QAAgC,eAAe,CAAC,CAAD,CAArD;AAEA,QAAI,OAAJ;AACA,QAAI,cAAJ;;AACA,QAAI,aAAa,KAAK,MAAtB,EAA8B;AAC5B,MAAA,OAAO,GAAG,CAAC,KAAK,CAAN,GACN,IAAI,qBAAJ,CACI;AAAC,QAAA,UAAD;AAAa,QAAA,MAAb;AAAqB,QAAA,SAAS,EAAE,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAhC;AAA4C,QAAA;AAA5C,OADJ,EAC0D,MAD1D,CADM,GAGN,IAAI,qBAAJ,CAAgB;AAAC,QAAA,UAAD;AAAa,QAAA,MAAb;AAAqB,QAAA,SAAS,EAAE,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAhC;AAA4C,QAAA;AAA5C,OAAhB,CAHJ;AAID,KALD,MAKO;AACL,MAAA,OAAO,GAAG,IAAI,yBAAJ,CACN;AAAC,QAAA,UAAD;AAAa,QAAA,MAAb;AAAqB,QAAA,SAAS,EAAE,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAhC;AAA4C,QAAA;AAA5C,OADM,EACgD,aADhD,CAAV;AAED;;AAED,IAAA,cAAc,GAAG,MAAjB;AACA,IAAA,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,MAAD,CAAjC,EAA2C,KAA3C,CAAT;;AAEA,QAAI,cAAc,CAAC,MAAf,KAA0B,CAAC,CAAC,MAAhC,EAAwC;AACtC,MAAA,OAAO,CAAC,6BAAR,CAAsC,cAAtC;AACD;AACF;;AAED,SAAO,MAAP;AACD;;;;;;;;;ACzDD;;AAlBA;;;;;;;;;;;;;;;;AAoBM,MAAO,gBAAP,CAAuB;AAM3B,EAAA,WAAA,CAAY,MAAZ,EAA8B,MAA9B,EAA8C;AAL9C,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAME,UAAM,WAAW,GAAa,IAAI,KAAJ,CAAU,MAAM,CAAC,MAAjB,CAA9B;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,WAAW,CAAC,MAAhC,EAAwC,CAAC,EAAzC,EAA6C;AAC3C,MAAA,WAAW,CAAC,CAAD,CAAX,GAAiB,MAAM,CAAC,MAAM,CAAC,CAAD,CAAP,CAAvB;AACD;;AACD,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,IAAL,GAAY,WAAW,CAAC,MAAxB;AACA,UAAM,KAAK,GAAG,wCAAkB,KAAK,IAAvB,CAAd;AACA,UAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAD,CAAlC;AAEA,SAAK,QAAL,GAAgB;;QAEZ,KAAK;uBACU,QAAQ;;KAH3B;AAMD;;AAtB0B;;;;AAyB7B,SAAS,iBAAT,CAA2B,MAA3B,EAA2C;AACzC,QAAM,IAAI,GAAG,MAAM,CAAC,MAApB;;AACA,MAAI,IAAI,GAAG,CAAX,EAAc;AACZ,UAAM,KAAK,CAAC,sBAAsB,IAAI,uBAA3B,CAAX;AACD;;AACD,QAAM,aAAa,GACf,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,EAAkC,SAAlC,EAA6C,SAA7C,EAAwD,SAAxD,CADJ;AAEA,QAAM,cAAc,GAAG,IAAI,KAAJ,CAAU,IAAV,CAAvB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,IAAA,cAAc,CAAC,MAAM,CAAC,CAAD,CAAP,CAAd,GAA4B,aAAa,CAAC,CAAD,CAAzC;AACD;;AACD,SAAO,cAAc,CAAC,IAAf,EAAP;AACD;;;;;;;;;ACvCD;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBM,MAAO,sBAAP,CAA6B;AAQjC,EAAA,WAAA,CAAY,MAAZ,EAA8B,MAA9B,EAA8C;AAP9C,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAIA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAGE,UAAM,WAAW,GAAa,IAAI,KAAJ,CAAU,MAAM,CAAC,MAAjB,CAA9B;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,WAAW,CAAC,MAAhC,EAAwC,CAAC,EAAzC,EAA6C;AAC3C,MAAA,WAAW,CAAC,CAAD,CAAX,GAAiB,MAAM,CAAC,MAAM,CAAC,CAAD,CAAP,CAAvB;AACD;;AACD,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,IAAL,GAAY,WAAW,CAAC,MAAxB;;AACA,QAAI,KAAK,IAAL,GAAY,CAAhB,EAAmB;AACjB,YAAM,KAAK,CACP,6BAA6B,KAAK,IAAI,wBAD/B,CAAX;AAED;;AACD,UAAM,KAAK,GAAG,wCAAkB,KAAK,IAAvB,CAAd;AAEA,UAAM,WAAW,GAAG,kCAAe,IAAf,EAAqB,KAAK,IAA1B,CAApB;AACA,UAAM,aAAa,GAAG,IAAI,KAAJ,CAAU,KAAK,IAAf,CAAtB;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,MAAA,aAAa,CAAC,MAAM,CAAC,CAAD,CAAP,CAAb,GAA2B,WAAW,CAAC,CAAD,CAAtC;AACD;;AACD,UAAM,SAAS,GAAG,QAAQ,aAAa,CAAC,KAAd,CAAoB,CAAC,CAArB,EAAwB,IAAxB,EAA8B,GAAxD;AACA,UAAM,UAAU,GACZ,KAAK,WAAW,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe,MAAM,WAAW,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe,EADnE;AAEA,UAAM,IAAI,GAAG,mBAAmB,aAAa,CAAC,IAAd,EAAoB,MAAM,SAAS,GAAnE;AAEA,SAAK,QAAL,GAAgB;;QAEZ,KAAK;;oBAEO,IAAI;WACb,UAAU;sBACC,IAAI;;UAEhB,WAAW,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe;aACvB,WAAW,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe,MAAM,WAAW,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe;sBACjD,IAAI;aACb,UAAU;wBACC,IAAI;;;;;KAZxB;AAkBD;;AAjDgC;;;;;;;;;;;;;;;;;A1CJnC;;AAGA;;AACA;;AACA;;AAtBA;;;;;;;;;;;;;;;;AAwBM,SAAU,aAAV,CACF,CADE,EACa,IADb,EAC6B,OAD7B,EACsD;AAC1D,QAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,6BAAd,IACZ,IAAI,4CAAJ,CAA2B,CAAC,CAAC,KAA7B,EAAoC,IAApC,CADY,GAEZ,IAAI,+BAAJ,CAAqB,CAAC,CAAC,KAAvB,EAA8B,IAA9B,CAFJ;AAGA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,CAAC,CAAC,KAAxC,CAAP;AACD;;;;;;;;;A2CbD;;AAGA;;AACA;;AAEA;;AAvBA;;;;;;;;;;;;;;;;AAyBM,SAAU,OAAV,CACF,CADE,EACa,IADb,EACoC,QADpC,EAEF,OAFE,EAEuB;AAC3B,QAAM,gBAAgB,GAAG,IAAzB;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;;AAEA,QAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,gBAApB,EAAsC,CAAC,CAAC,KAAxC,CAAjB;;AACA,MAAI,IAAI,GAAG,QAAX;;AACA,QAAM,YAAY,GAAG,uBAAa,kBAAb,CAAgC,IAAhC,EAAsC,KAAtC,CAArB;;AACA,QAAM,oBAAoB,GAAG,YAAY,IAAI,IAA7C;AAEA,MAAI,QAAQ,GAAG,CAAf;;AACA,MAAI,oBAAJ,EAA0B;AACxB,IAAA,QAAQ,GAAG,mCAAc,CAAd,EAAiB,YAAjB,EAA+B,OAA/B,CAAX;AAEA,IAAA,IAAI,GAAG,uBAAa,gBAAb,CAA8B,IAAI,CAAC,MAAnC,EAA2C,KAA3C,CAAP;AACD;;AAED,yBAAa,0BAAb,CAAwC,KAAxC,EAA+C,IAA/C,EAAqD,KAArD;;AACA,QAAM,CAAC,WAAD,EAAc,WAAd,IACF,uBAAa,yBAAb,CAAuC,QAAQ,CAAC,KAAhD,EAAuD,IAAvD,CADJ;;AAGA,MAAI,QAAQ,GAAG,WAAf;;AACA,MAAI,QAAJ,EAAc;AACZ;AACA,IAAA,QAAQ,GAAG,uBAAa,oBAAb,CAAkC,WAAlC,EAA+C,QAA/C,CAAX;AACD;;AAED,QAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,WAAnB,CAAf;;AACA,QAAM,KAAK,GAAG,eAAK,aAAL,CAAmB,CAAC,CAAC,KAArB,CAAd;;AACA,QAAM,SAAS,GAAG,KAAK,GAAG,MAA1B;AACA,QAAM,aAAa,GAAG,sBAClB;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAwB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,SAAD,EAAY,MAAZ;AAAR,KAA/B;AAA6D,IAAA;AAA7D,GADkB,CAAtB;AAGA,QAAM,OAAO,GAAG,0BAAW,CAAC,CAAC,KAAb,CAAhB;AAEA,QAAM,OAAO,GAAG,oBAAO,aAAP,EAAsB,OAAtB,EAA+B,KAA/B,EAAsC,OAAtC,CAAhB;AACA,QAAM,GAAG,GACL,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAuB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR,KAA9B;AAAiD,IAAA;AAAjD,GAAR,CADJ;AAGA,EAAA,OAAO,CAAC,6BAAR,CAAsC,aAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,OAAtC;;AACA,MAAI,oBAAJ,EAA0B;AACxB,IAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACD;;AAED,SAAO,GAAP;AACD;;;;;;;;;;ACxDD;;AAIA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,GAAV,CACF,IADE,EACmE;AACvE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AAEA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,MAAmB,KAAzB;AAEA,SAAO,uBAAQ,CAAR,EAAW,IAAX,EAAiB,QAAjB,EAA2B,OAA3B,CAAP;AACD;;AAEM,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;;A3ChBP;;AAIA;;AArBA;;;;;;;;;;;;;;;;AAwBM,SAAU,SAAV,CAAoB,IAApB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA;AAAD,MAAS,KAAf;AACA,QAAM,YAAY,GAAG,OAArB;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;AAEA,QAAM,QAAQ,GAAa,IAAI,KAAJ,CAAU,KAAV,CAA3B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,MAA7B,EAAqC,CAAC,EAAtC,EAA0C;AACxC,IAAA,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAC,CAAC,KAAF,CAAQ,IAAI,CAAC,CAAD,CAAZ,CAAd;AACD;;AAED,MAAI,GAAJ;;AACA,MAAI,YAAY,CAAC,kBAAb,CAAgC,CAAC,CAAD,CAAhC,CAAJ,EAA0C;AACxC,UAAM,QAAQ,GAAG,YAAY,CAAC,OAAb,CAAqB,GAArB,CAAyB,CAAC,CAAC,MAA3B,CAAjB;AACA,UAAM,MAAM,GAAG,QAAQ,CAAC,MAAxB;AACA,UAAM,SAAS,GAAG,sCAAa,MAAb,EAAqB,CAAC,CAAC,KAAvB,EAA8B,CAAC,CAAC,KAAhC,EAAuC,IAAvC,EAA6C,QAA7C,CAAlB;AAEA,IAAA,GAAG,GAAG,YAAY,CAAC,cAAb,CAA4B,QAA5B,EAAsC,CAAC,CAAC,KAAxC,CAAN;AACA,UAAM,OAAO,GAAG,YAAY,CAAC,OAAb,CAAqB,GAArB,CAAyB,GAAG,CAAC,MAA7B,CAAhB;AACA,IAAA,OAAO,CAAC,MAAR,GAAiB,SAAjB;AACD,GARD,MAQO;AACL,IAAA,GAAG,GAAG,mCAAc,CAAd,EAAiB,IAAjB,EAAuB,YAAvB,CAAN;AACD;;AACD,SAAO,GAAP;AACD;;AAEM,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,mBAD+B;AAE3C,EAAA,WAAW,EAAE,OAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;;A4CvCP;;AAGA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AA1BA;;;;;;;;;;;;;;;;AA4BA;AACA;AACA;AACO,MAAM,2BAA2B,GAAG,IAApC;;;AAcD,SAAU,eAAV,CAA0B;AAC9B,EAAA,CAD8B;AAE9B,EAAA,CAF8B;AAG9B,EAAA,UAH8B;AAI9B,EAAA,UAJ8B;AAK9B,EAAA,OAL8B;AAM9B,EAAA,IAAI,GAAG,IANuB;AAO9B,EAAA,sBAAsB,GAAG,IAPK;AAQ9B,EAAA,cAAc,GAAG,CARa;AAS9B,EAAA,UAAU,GAAG;AATiB,CAA1B,EAUc;AAClB,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;AACA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;AAEA,QAAM,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC,KAAF,CAAQ,KAAK,GAAG,CAAhB,CAAH,GAAwB,CAAC,CAAC,KAAF,CAAQ,KAAK,GAAG,CAAhB,CAAtD;AACA,QAAM,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC,KAAF,CAAQ,KAAK,GAAG,CAAhB,CAAH,GAAwB,CAAC,CAAC,KAAF,CAAQ,KAAK,GAAG,CAAhB,CAAtD;AAEA,QAAM,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC,KAAF,CAAQ,KAAK,GAAG,CAAhB,CAAH,GAAwB,CAAC,CAAC,KAAF,CAAQ,KAAK,GAAG,CAAhB,CAAtD;AACA,QAAM,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC,KAAF,CAAQ,KAAK,GAAG,CAAhB,CAAH,GAAwB,CAAC,CAAC,KAAF,CAAQ,KAAK,GAAG,CAAhB,CAAtD;AAEA,QAAM,UAAU,GAAG,CAAC,CAAC,KAAF,CAAQ,KAAR,CAAc,CAAd,EAAiB,CAAC,CAAlB,CAAnB;AACA,QAAM,UAAU,GAAG,CAAC,CAAC,KAAF,CAAQ,KAAR,CAAc,CAAd,EAAiB,CAAC,CAAlB,CAAnB;;AAEA,QAAM,SAAS,GAAG,eAAK,aAAL,CAAmB,UAAnB,CAAlB;;AACA,QAAM,SAAS,GAAG,eAAK,aAAL,CAAmB,UAAnB,CAAlB;;AAEA,QAAM,mBAAmB,GACrB,SAAS,KAAK,SAAd,IAA2B,SAAS,KAAK,CAAzC,IAA8C,SAAS,KAAK,CADhE;;AAGA,iBAAK,MAAL,CACI,KAAK,IAAI,CAAT,IAAc,KAAK,IAAI,CAAvB,IAA4B,mBADhC,EAEI,MAAM,iEAAA,GACF,kEADE,GAEF,wBAAwB,UAAU,UAAU,UAAU,IAJ9D;;AAMA,QAAM,iBAAiB,GACnB,SAAS,GAAG,SAAZ,GAAwB,CAAC,CAAC,KAAF,CAAQ,KAAR,CAAc,CAAd,EAAiB,CAAC,CAAlB,CAAxB,GAA+C,CAAC,CAAC,KAAF,CAAQ,KAAR,CAAc,CAAd,EAAiB,CAAC,CAAlB,CADnD;AAEA,QAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAlB,CAAyB,CAAC,WAAD,EAAc,WAAd,CAAzB,CAAjB;;AAEA,iBAAK,MAAL,CACI,WAAW,KAAK,WADpB,EAEI,MAAM,kCAAkC,WAAW,SAA7C,GACF,GAAG,WAAW,4BAA4B,CAAC,CAAC,KAAK,OAD/C,GAEF,GAAG,CAAC,CAAC,KAAK,mBAAmB,UAAU,EAFrC,GAGF,mBAAmB,UAAU,cALrC;;AAOA,QAAM,QAAQ,GAA6B,UAAU,GACjD,CAAC,SAAD,EAAY,WAAZ,EAAyB,WAAzB,CADiD,GAEjD,CAAC,SAAD,EAAY,WAAZ,EAAyB,WAAzB,CAFJ;AAGA,QAAM,QAAQ,GAA6B,UAAU,GACjD,CAAC,SAAD,EAAY,WAAZ,EAAyB,WAAzB,CADiD,GAEjD,CAAC,SAAD,EAAY,WAAZ,EAAyB,WAAzB,CAFJ,CAvCkB,CA2ClB;;AACA,QAAM,GAAG,GAAG,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAiB,IAAA,OAAjB;AAA0B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAjC,GAAR,CAAZ;AACA,QAAM,GAAG,GAAG,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAiB,IAAA,OAAjB;AAA0B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAjC,GAAR,CAAZ;AAEA,QAAM,aAAa,GAAiB,CAAC,GAAD,EAAM,GAAN,CAApC;AAEA,QAAM,QAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,SAAT,EAAoB,SAApB,CAAjB;AACA,QAAM,SAAS,GAAG,UAAU,GAAG,GAAG,CAAC,KAAJ,CAAU,CAAV,CAAH,GAAkB,GAAG,CAAC,KAAJ,CAAU,CAAV,CAA9C;AAEA,QAAM,OAAO,GAAG,IAAI,IAAI,IAAxB;AACA,QAAM,yBAAyB,GAAG,sBAAsB,IAAI,IAA5D;AACA,QAAM,iBAAiB,GAAG,UAAU,KAAK,WAAzC;AACA,QAAM,eAAe,GAAG,UAAU,IAAI,IAAd,GACpB,sDAA6B,UAA7B,EAAyC,IAAzC,CADoB,GAEpB,IAFJ;AAGA,QAAM,gBAAgB,GAAG,OAAO,IAAI,yBAAX,IACrB,iBADqB,IACA,eAAe,IAAI,IAD5C;AAEA,MAAI,GAAJ,CA5DkB,CA8DlB;AACA;;AACA,MAAI,CAAC,WAAW,KAAK,CAAhB,IAAqB,WAAW,KAAK,CAAtC,KACA,SAAS,GAAG,2BADZ,IAC2C,gBAAgB,KAAK,KADpE,EAC2E;AACzE,QAAI,IAAI,GAAG,GAAX;AACA,QAAI,IAAI,GAAG,GAAX;;AACA,QAAI,UAAJ,EAAgB;AACd,MAAA,IAAI,GAAG,0BAAU;AAAC,QAAA,MAAM,EAAE;AAAC,UAAA,CAAC,EAAE;AAAJ,SAAT;AAAmB,QAAA,OAAnB;AAA4B,QAAA,KAAK,EAAE;AAAC,UAAA,IAAI,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP;AAAP;AAAnC,OAAV,CAAP;AACA,MAAA,aAAa,CAAC,IAAd,CAAmB,IAAnB;AACD;;AACD,QAAI,UAAJ,EAAgB;AACd,MAAA,IAAI,GAAG,0BAAU;AAAC,QAAA,MAAM,EAAE;AAAC,UAAA,CAAC,EAAE;AAAJ,SAAT;AAAmB,QAAA,OAAnB;AAA4B,QAAA,KAAK,EAAE;AAAC,UAAA,IAAI,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP;AAAP;AAAnC,OAAV,CAAP;AACA,MAAA,aAAa,CAAC,IAAd,CAAmB,IAAnB;AACD;;AAED,UAAM,cAAc,GAAG,WAAW,KAAK,CAAvC;AACA,UAAM,cAAc,GAAG,WAAW,KAAK,CAAvC;AAEA,QAAI,MAAM,GAAG,IAAb;;AACA,QAAI,cAAJ,EAAoB;AAClB,MAAA,MAAM,GAAG,sBAAQ;AACf,QAAA,MAAM,EAAE;AAAC,UAAA,CAAC,EAAE;AAAJ,SADO;AAEf,QAAA,OAFe;AAGf,QAAA,KAAK,EAAE;AAAC,UAAA,KAAK,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,CAAtB;AAAR;AAHQ,OAAR,CAAT;AAMA,MAAA,aAAa,CAAC,IAAd,CAAmB,MAAnB;AACD;;AAED,UAAM,IAAI,GAAG,WAAW,KAAK,CAAhB,GAAoB,CAApB,GAAwB,CAArC;AAEA,QAAI,MAAM,GAAG,IAAb;;AACA,QAAI,cAAJ,EAAoB;AAClB,MAAA,MAAM,GAAG,sBAAQ;AACf,QAAA,MAAM,EAAE;AAAC,UAAA,CAAC,EAAE;AAAJ,SADO;AAEf,QAAA,OAFe;AAGf,QAAA,KAAK,EAAE;AAAC,UAAA,KAAK,EAAE,CAAC,QAAD,EAAW,CAAX,EAAc,SAAd;AAAR;AAHQ,OAAR,CAAT;AAMA,MAAA,aAAa,CAAC,IAAd,CAAmB,MAAnB;AACD;;AAED,UAAM,OAAO,GAAG,wBAAS;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE,MAAJ;AAAY,QAAA,CAAC,EAAE;AAAf,OAAT;AAAiC,MAAA;AAAjC,KAAT,CAAhB;AACA,IAAA,GAAG,GAAG,cAAI;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAuB,MAAA,OAAvB;AAAgC,MAAA,KAAK,EAAE;AAAC,QAAA,IAAD;AAAO,QAAA,QAAQ,EAAE;AAAjB;AAAvC,KAAJ,CAAN;AACA,IAAA,aAAa,CAAC,IAAd,CAAmB,OAAnB;AACD,GA3CD,MA2CO;AACL,UAAM,KAAK,GAAG,0BAAW,CAAC,CAAC,KAAb,EAAoB,CAAC,CAAC,KAAtB,CAAd;AAEA,UAAM,OAAO,GAAG,IAAI,sCAAJ,CACZ,QADY,EACF,QADE,EACQ,CAAC,QAAD,EAAW,WAAX,EAAwB,WAAxB,CADR,EAC8C,UAD9C,EAEZ,UAFY,EAEA,OAFA,EAES,eAFT,EAE0B,yBAF1B,EAGZ,iBAHY,CAAhB;AAKA,UAAM,MAAM,GAAiB,CAAC,GAAD,EAAM,GAAN,CAA7B;;AACA,QAAI,IAAI,IAAI,IAAZ,EAAkB;AAChB,MAAA,MAAM,CAAC,IAAP,CAAY,IAAZ;AACD;;AACD,QAAI,yBAAJ,EAA+B;AAC7B,MAAA,MAAM,CAAC,IAAP,CAAY,sBAAZ;AACD;;AACD,QAAI,iBAAJ,EAAuB;AACrB,YAAM,eAAe,GAAG,OAAO,CAAC,cAAR,CACpB,EADoB,EAChB,SADgB,EAEpB,eAAK,iBAAL,CAAuB,cAAvB,EAA0D,SAA1D,CAFoB,CAAxB;AAGA,MAAA,MAAM,CAAC,IAAP,CAAY,eAAZ;AACA,MAAA,aAAa,CAAC,IAAd,CAAmB,eAAnB;AACD;;AAED,IAAA,GAAG,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,MAAjC,EAAyC,KAAzC,CAAN;AACD;;AAED,QAAM,WAAW,GACb,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAmB,IAAA,OAAnB;AAA4B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAnC,GAAR,CADJ;AAEA,EAAA,aAAa,CAAC,IAAd,CAAmB,GAAnB;;AACA,OAAK,MAAM,CAAX,IAAgB,aAAhB,EAA+B;AAC7B,IAAA,OAAO,CAAC,6BAAR,CAAsC,CAAtC;AACD;;AACD,SAAO,WAAP;AACD;;;;;;;;;;AClLD;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,YAAV,CAAuB,IAAvB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA,CAAJ;AAAO,IAAA,IAAP;AAAa,IAAA;AAAb,MAAuC,MAA7C;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA,UAAb;AAAyB,IAAA,UAAzB;AAAqC,IAAA;AAArC,MAAuD,KAA7D;AAEA,SAAO,uCAAgB;AACrB,IAAA,CADqB;AAErB,IAAA,CAFqB;AAGrB,IAAA,UAHqB;AAIrB,IAAA,UAJqB;AAKrB,IAAA,OALqB;AAMrB,IAAA,IANqB;AAOrB,IAAA,sBAPqB;AAQrB,IAAA,cARqB;AASrB,IAAA;AATqB,GAAhB,CAAP;AAWD;;AAEM,MAAM,kBAAkB,GAAiB;AAC9C,EAAA,UAAU,EAAE,sBADkC;AAE9C,EAAA,WAAW,EAAE,OAFiC;AAG9C,EAAA,UAAU,EAAE;AAHkC,CAAzC;;;;;;;;;;;A9E3BP;;AAGA;;AACA;;AACA;;AAtBA;;;;;;;;;;;;;;;;AAwBA,MAAM,GAAG,GAAG,gBAAZ;;AAEM,SAAU,GAAV,CAAc,IAAd,EAAkE;AAEtE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ,CAHsE,CAKtE;AACA;;AACA,MAAI,OAAO,CAAC,kBAAR,CAA2B,CAAC,CAAD,CAA3B,KAAmC,CAAC,CAAC,KAAF,KAAY,WAAnD,EAAgE;AAC9D,UAAM,KAAK,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAd;AACA,UAAM,SAAS,GAAG,8BAAiB,KAAK,CAAC,MAAvB,CAAlB;AACA,WAAO,OAAO,CAAC,cAAR,CAAuB,CAAC,CAAC,KAAzB,EAAgC,CAAC,CAAC,KAAlC,EAAyC,SAAzC,CAAP;AACD;;AAED,MAAI,OAAJ;;AACA,MAAI,qBAAM,OAAN,CAAc,6BAAd,CAAJ,EAAkD;AAChD,IAAA,OAAO,GAAG,IAAI,wCAAJ,CAAyB,CAAC,CAAC,KAA3B,EAAkC,GAAlC,CAAV;AACD,GAFD,MAEO;AACL,IAAA,OAAO,GAAG,IAAI,2BAAJ,CAAmB,CAAC,CAAC,KAArB,EAA4B,GAA5B,CAAV;AACD;;AACD,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,CAAC,CAAC,KAAxC,CAAP;AACD;;AAEM,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;A+E/BP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,IAAI,GAAG,iCAAoB;;;;;CAAjC;AAOO,MAAM,IAAI,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAb;;AAEA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACbP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,KAAK,GAAG,iCAAoB;;mCAAlC;AAIO,MAAM,KAAK,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAd;;AAEA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;AxEZP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,GAAG,GAAG,eAAZ;AAEO,MAAM,aAAa,GAAG,0CAAiB;AAC5C,EAAA,SAAS,EAAE,GADiC;AAE5C,EAAA,eAAe,EAAE,GAF2B;AAG5C,EAAA,eAAe,EAAE,IAH2B;AAI5C,EAAA,aAAa,EAAE;AAJ6B,CAAjB,CAAtB;;AAOA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;AyE/BP;;;;;;;;;;;;;;;;AAmBM,MAAO,WAAP,CAAkB;AAKtB,EAAA,WAAA,CAAY,WAAZ,EAAmC,MAAnC,EAAqD;AAHrD,SAAA,WAAA,GAAwB,EAAxB;AAIE,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,aAAL,GAAqB,MAAM,CAAC,GAAP,CAAW,CAAC,CAAD,EAAI,CAAJ,KAAU,IAAI,CAAC,EAA1B,CAArB;AAEA,UAAM,QAAQ,GAAa,EAA3B,CAJmD,CAKnD;;AACA,SAAK,aAAL,CAAmB,OAAnB,CAA2B,QAAQ,IAAG;AACpC,MAAA,QAAQ,CAAC,IAAT,CAAc,UAAU,QAAQ,SAAS,QAAQ,gBAAjD;AACD,KAFD,EANmD,CAUnD;;AACA,UAAM,SAAS,GAAG,KAAK,aAAL,CACK,GADL,CACS,QAAQ,IAAG;AACd,aAAO,IAAI,QAAQ,EAAnB;AACD,KAHL,EAIK,IAJL,CAIU,KAJV,CAAlB;AAMA,SAAK,QAAL,GAAgB;;UAEV,QAAQ,CAAC,IAAT,CAAc,YAAd,CAA2B;;yBAEZ,SAAS;;;KAJ9B;AAQD;;AA9BqB;;;;;;;;;;;ACnBxB;;;;;;;;;;;;;;;;AAmBM,MAAO,iBAAP,CAAwB;AAO5B,EAAA,WAAA,CAAY,WAAZ,EAAmC,MAAnC,EAAqD;AALrD,SAAA,WAAA,GAAwB,EAAxB;AAEA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAGE,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,aAAL,GAAqB,MAAM,CAAC,GAAP,CAAW,CAAC,CAAD,EAAI,CAAJ,KAAU,IAAI,CAAC,EAA1B,CAArB;AAEA,UAAM,QAAQ,GAAa,EAA3B,CAJmD,CAKnD;;AACA,SAAK,aAAL,CAAmB,OAAnB,CAA2B,QAAQ,IAAG;AACpC,MAAA,QAAQ,CAAC,IAAT,CAAc,SAAS,QAAQ,SAAS,QAAQ,gBAAhD;AACD,KAFD,EANmD,CAUnD;;AACA,UAAM,SAAS,GAAG,KAAK,aAAL,CACK,GADL,CACS,QAAQ,IAAG;AACd,aAAO,IAAI,QAAQ,EAAnB;AACD,KAHL,EAIK,IAJL,CAIU,KAJV,CAAlB;AAMA,SAAK,QAAL,GAAgB;;UAEV,QAAQ,CAAC,IAAT,CAAc,YAAd,CAA2B;;wBAEb,SAAS;;;KAJ7B;AAQD;;AAhC2B;;;;;;;;;;;;ACF9B;;AAEA;;AACA;;AAEA;;AAtBA;;;;;;;;;;;;;;;;AAwBM,SAAU,IAAV,CAAe,IAAf,EAAoE;AAExE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AAEA,QAAM,OAAO,GAAG,MAAhB;;AACA,MAAI,OAAO,CAAC,MAAR,KAAmB,CAAvB,EAA0B;AACxB,WAAO,wBAAS;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE,OAAO,CAAC,CAAD;AAAX,OAAT;AAA0B,MAAA;AAA1B,KAAT,CAAP;AACD,GAPuE,CASxE;;;AACA,MAAI,OAAO,CAAC,MAAR,GAAiB,qBAAM,GAAN,CAAU,8BAAV,CAArB,EAAgE;AAC9D,UAAM,QAAQ,GAAG,IAAI,CAAC,KAAL,CAAW,OAAO,CAAC,MAAR,GAAiB,CAA5B,CAAjB;AACA,UAAM,QAAQ,GAAG,IAAI,CAAC;AAAC,MAAA,MAAM,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,QAAjB,CAAT;AAAqC,MAAA;AAArC,KAAD,CAArB;AACA,UAAM,SAAS,GAAG,IAAI,CAAC;AAAC,MAAA,MAAM,EAAE,OAAO,CAAC,KAAR,CAAc,QAAd,CAAT;AAAkC,MAAA;AAAlC,KAAD,CAAtB;AACA,WAAO,IAAI,CAAC;AAAC,MAAA,MAAM,EAAE,CAAC,QAAD,EAAW,SAAX,CAAT;AAAgC,MAAA;AAAhC,KAAD,CAAX;AACD;;AAED,QAAM,KAAK,GACP,OAAO,CAAC,GAAR,CAAY,CAAC,IAAI,CAAC,CAAC,KAAnB,EAA0B,MAA1B,CAAiC,CAAC,EAAD,EAAK,EAAL,KAAY,0BAAW,EAAX,EAAe,EAAf,CAA7C,CADJ;AAEA,QAAM,MAAM,GAAG,OAAO,CAAC,GAAR,CAAY,CAAC,IAAI,CAAC,CAAC,KAAnB,CAAf,CAnBwE,CAoBxE;;AACA,QAAM,WAAW,GAAG,qBAAM,OAAN,CAAc,YAAd,CAApB;AACA,QAAM,OAAO,GAAG,WAAW,GACvB,IAAI,kCAAJ,CAAsB,OAAO,CAAC,CAAD,CAAP,CAAW,KAAjC,EAAwC,MAAxC,CADuB,GAEvB,IAAI,qBAAJ,CAAgB,OAAO,CAAC,CAAD,CAAP,CAAW,KAA3B,EAAkC,MAAlC,CAFJ;AAGA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,OAAjC,EAA0C,KAA1C,CAAP;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;;ACnCP;;AAGA;;AAEA;;AACA;;AAvBA;;;;;;;;;;;;;;;;AAyBM,SAAU,GAAV,CACF,IADE,EACmE;AAEvE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,MAAmB,KAAzB;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;;AAEA,QAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,CAAC,CAAC,KAA5B,CAAjB;;AACA,MAAI,IAAI,GAAG,QAAX;;AACA,QAAM,YAAY,GAAG,uBAAa,kBAAb,CAAgC,IAAhC,EAAsC,KAAtC,CAArB;;AACA,MAAI,SAAS,GAAG,CAAhB;;AACA,MAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,IAAA,SAAS,GAAG,0BAAU;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,IAAI,EAAE;AAAP;AAA9B,KAAV,CAAZ;AACA,IAAA,IAAI,GAAG,uBAAa,gBAAb,CAA8B,IAAI,CAAC,MAAnC,EAA2C,KAA3C,CAAP;AACD;;AAED,yBAAa,0BAAb,CAAwC,KAAxC,EAA+C,IAA/C,EAAqD,KAArD;;AACA,QAAM,CAAC,QAAD,EAAW,WAAX,IACF,uBAAa,yBAAb,CAAuC,SAAS,CAAC,KAAjD,EAAwD,IAAxD,CADJ;;AAEA,QAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,WAAnB,CAAf;;AAEA,QAAM,GAAG,GACL,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAyB,IAAA,OAAzB;AAAkC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,CAAC,CAAF,EAAK,MAAL;AAAR;AAAzC,GAAR,CADJ;AAEA,QAAM,OAAO,GAAG,oBAAO,GAAP,EAAY,GAAG,CAAC,KAAhB,EAAuB,KAAvB,EAA8B,OAA9B,CAAhB;AAEA,MAAI,GAAJ;;AACA,MAAI,QAAJ,EAAc;AACZ,UAAM,QAAQ,GAAG,uBAAa,oBAAb,CAAkC,QAAlC,EAA4C,QAA5C,CAAjB;;AACA,IAAA,GAAG,GAAG,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAuB,MAAA,OAAvB;AAAgC,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAAvC,KAAR,CAAN;AACD,GAHD,MAGO;AACL,IAAA,GAAG,GAAG,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAuB,MAAA,OAAvB;AAAgC,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAAvC,KAAR,CAAN;AACD;;AAED,EAAA,OAAO,CAAC,6BAAR,CAAsC,GAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,OAAtC;;AAEA,MAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,IAAA,OAAO,CAAC,6BAAR,CAAsC,SAAtC;AACD;;AAED,SAAO,GAAP;AACD;;AAEM,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;;ACrDP;;AAGA;;AACA;;AACA;;AAtBA;;;;;;;;;;;;;;;;AAwBM,SAAU,GAAV,CACF,IADE,EACmE;AAEvE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,MAAmB,KAAzB;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;;AAEA,QAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,CAAC,CAAC,KAA5B,CAAjB;;AACA,MAAI,IAAI,GAAG,QAAX;;AACA,QAAM,YAAY,GAAG,uBAAa,kBAAb,CAAgC,IAAhC,EAAsC,KAAtC,CAArB;;AACA,MAAI,SAAS,GAAG,CAAhB;;AACA,MAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,IAAA,SAAS,GAAG,0BAAU;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,IAAI,EAAE;AAAP;AAA9B,KAAV,CAAZ;AACA,IAAA,IAAI,GAAG,uBAAa,gBAAb,CAA8B,IAAI,CAAC,MAAnC,EAA2C,KAA3C,CAAP;AACD;;AAED,yBAAa,0BAAb,CAAwC,KAAxC,EAA+C,IAA/C,EAAqD,KAArD;;AACA,QAAM,CAAC,QAAD,EAAW,WAAX,IACF,uBAAa,yBAAb,CAAuC,SAAS,CAAC,KAAjD,EAAwD,IAAxD,CADJ;;AAEA,QAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,WAAnB,CAAf;;AAEA,QAAM,GAAG,GACL,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAyB,IAAA,OAAzB;AAAkC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,CAAC,CAAF,EAAK,MAAL;AAAR;AAAzC,GAAR,CADJ;AAEA,QAAM,OAAO,GAAG,oBAAO,GAAP,EAAY,GAAG,CAAC,KAAhB,EAAuB,KAAvB,EAA8B,OAA9B,CAAhB;AAEA,MAAI,GAAJ;;AACA,MAAI,QAAJ,EAAc;AACZ,UAAM,QAAQ,GAAG,uBAAa,oBAAb,CAAkC,QAAlC,EAA4C,QAA5C,CAAjB;;AACA,IAAA,GAAG,GAAG,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAuB,MAAA,OAAvB;AAAgC,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAAvC,KAAR,CAAN;AACD,GAHD,MAGO;AACL,IAAA,GAAG,GAAG,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAuB,MAAA,OAAvB;AAAgC,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAAvC,KAAR,CAAN;AACD;;AAED,EAAA,OAAO,CAAC,6BAAR,CAAsC,GAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,OAAtC;;AAEA,MAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,IAAA,OAAO,CAAC,6BAAR,CAAsC,SAAtC;AACD;;AAED,SAAO,GAAP;AACD;;AAEM,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;ACrEP;;;;;;;;;;;;;;;;AAoBM,MAAO,gBAAP,CAAuB;AAK3B,EAAA,WAAA,CACI,UADJ,EACyC,EADzC,EAEI,SAFJ,EAEsB;AANtB,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAOE,UAAM;AAAC,MAAA,UAAD;AAAa,MAAA,SAAb;AAAwB,MAAA;AAAxB,QAAmC,UAAzC;;AACA,QAAI,CAAC,SAAL,EAAgB;AACd,WAAK,aAAL,CAAmB,IAAnB,CAAwB,cAAxB;AACD;;AACD,SAAK,WAAL,GAAmB,CAAC,SAAD,EAAY,OAAZ,CAAnB;AACA,UAAM,MAAM,GAAI,EAAE,KAAK,KAAR,GAAiB,GAAjB,GAAuB,GAAtC;AACA,UAAM,YAAY,GAAG,SAAS,GAC1B,eAD0B,GAE1B,8CAFJ;AAIA,SAAK,QAAL,GAAgB;;;;;kCAKc,UAAU;;;;;8BAKd,UAAU;wBAChB,YAAY;;0BAEV,MAAM;;;;;;;KAb5B;AAqBD;;AAvC0B;;;;;;;;;;;ACH7B;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,MAAO,sBAAP,CAA6B;AAOjC,EAAA,WAAA,CACI,KADJ,EACqB,UADrB,EACyC,EADzC,EAEI,SAFJ,EAEsB;AARtB,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAGA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;;AAKE,mBAAK,MAAL,CACI,KAAK,CAAC,MAAN,GAAe,CADnB,EAEI,MAAM,aACF,EAAE,CAAC,MAAH,CAAU,CAAV,EAAa,WAAb,KACA,EAAE,CAAC,KAAH,CAAS,CAAT,CAAW,0CAJnB;;AAKA,UAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAN,GAAe,CAAhB,CAApB;AACA,UAAM,OAAO,GAAG,IAAI,CAAC,IAAL,CAAU,MAAM,GAAG,UAAnB,CAAhB;AACA,SAAK,WAAL,GAAmB,KAAK,CAAC,KAAN,CAAY,CAAZ,EAAe,CAAC,CAAhB,CAAnB;;AACA,QAAI,OAAO,GAAG,CAAd,EAAiB;AACf,WAAK,WAAL,CAAiB,IAAjB,CAAsB,OAAtB;AACD;;AACD,QAAI,CAAC,SAAL,EAAgB;AACd,WAAK,aAAL,CAAmB,IAAnB,CAAwB,cAAxB;AACD;;AACD,UAAM,QAAQ,GAAG,KAAK,WAAtB;AACA,UAAM,IAAI,GAAG,QAAQ,CAAC,MAAtB;AACA,UAAM,KAAK,GAAG,wCAAkB,IAAlB,CAAd;AACA,UAAM,MAAM,GAAG,+BAAY,QAAZ,EAAsB,IAAtB,CAAf;AAEA,QAAI,cAAJ;AACA,QAAI,UAAJ;;AACA,QAAI,OAAO,KAAK,CAAhB,EAAmB;AACjB,MAAA,UAAU,GAAG,IAAI,GAAG,CAApB;AACA,YAAM,cAAc,GAAG,wCAAkB,UAAlB,CAAvB;AACA,MAAA,cAAc,GAAG;UACb,cAAc,iBAAiB,cAAc,IAAI,MAAM,CAAC,IAAP,EAAa;YAC5D,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;UAClB,cAAc,iBAAiB,cAAc,IAAI,MAAM,CAAC,IAAP,EAAa;YAC5D,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;UAClB,cAAc,iBAAiB,cAAc,IAAI,MAAM,CAAC,IAAP,EAAa;YAC5D,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;UAClB,cAAc,iBAAiB,cAAc,IAAI,MAAM,CAAC,IAAP,EAAa;YAC5D,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,GARtB;AASD,KAZD,MAYO;AACL,MAAA,UAAU,GAAG,IAAb;AACA,MAAA,cAAc,GAAG;UACb,KAAK;YACH,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;UAClB,KAAK;YACH,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;UAClB,KAAK;YACH,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;UAClB,KAAK;YACH,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,GARtB;AASD;;AACD,UAAM,QAAQ,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,KAA/B,CAAqC,CAArC,EAAwC,UAAxC,CAAjB;AACA,UAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,GAAG,CAAd,CAAhC,CA/CoB,CA+C+B;;AACnD,UAAM,WAAW,GAAG,QAAQ,CAAC,GAAT,CAAa,CAAC,IAAI,SAAS,CAA3B,CAApB;AACA,UAAM,UAAU,GACZ,+BAAY,YAAZ,EAA0B,UAAU,GAAG,CAAvC,EAA0C,MAA1C,CAAiD,SAAjD,CADJ;AAEA,UAAM,UAAU,GACZ,+BAAY,YAAZ,EAA0B,UAAU,GAAG,CAAvC,EAA0C,MAA1C,CAAiD,SAAjD,CADJ;AAEA,UAAM,UAAU,GACZ,+BAAY,YAAZ,EAA0B,UAAU,GAAG,CAAvC,EAA0C,MAA1C,CAAiD,SAAjD,CADJ;AAEA,UAAM,UAAU,GACZ,+BAAY,YAAZ,EAA0B,UAAU,GAAG,CAAvC,EAA0C,MAA1C,CAAiD,SAAjD,CADJ;AAGA,UAAM,MAAM,GAAI,EAAE,KAAK,KAAR,GAAiB,aAAjB,GAAiC,UAAhD;AACA,UAAM,iBAAiB,GAAG,SAAS,GAAG,EAAH,GAAQ;sDACO,UAAU,CAAC,IAAX,EAAiB;sDACjB,UAAU,CAAC,IAAX,EAAiB;sDACjB,UAAU,CAAC,IAAX,EAAiB;sDACjB,UAAU,CAAC,IAAX,EAAiB,MAJnE;AAMA,UAAM,UAAU,GAAG;0BACG,UAAU,CAAC,IAAX,EAAiB;uCACJ,UAAU,CAAC,IAAX,EAAiB;uCACjB,UAAU,CAAC,IAAX,EAAiB;qDACH,UAAU,CAAC,IAAX,EAAiB,SAJlE;AAMA,UAAM,6BAA6B,GAAG,SAAS,GAAG,EAAH,GAAQ;qCACtB,WAAW,CAAC,IAAZ,EAAkB;4CACX,QAAQ,CAAC,IAAT,EAAe;iDACV,QAAQ,CAAC,KAAT,CAAe,CAAC,CAAhB,EAAmB,IAAnB,EAAyB;QAHtE;AAMA,SAAK,QAAL,GAAgB;0BACM,WAAW,CAAC,IAAZ,EAAkB;iCACX,QAAQ,CAAC,IAAT,EAAe;sCACV,QAAQ,CAAC,KAAT,CAAe,CAAC,CAAhB,EAAmB,IAAnB,EAAyB;;QAEvD,6BAA6B;;UAE3B,KAAK;4BACa,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAR,GAAqB,CAAC;4BAC5C,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAR,GAAqB,CAAC;UAC9D,cAAc;yCACiB,SAAS,eAAe,SAAS;sBACpD,SAAS,eAAe,SAAS,OAAO,UAAU;;;2BAG7C,UAAU;;8BAEP,UAAU;;YAE5B,iBAAiB;6BACA,UAAU;;;mBAGpB,MAAM;;;;;;;;;;;KAvBrB;AAmCD;;AAzHgC;;;;;;;;;;;ACNnC;;AAEA;;AACA;;AAEA;;AAtBA;;;;;;;;;;;;;;;;AAwBA,SAAS,SAAT,CACI,OADJ,EAC+B,CAD/B,EAC8C,UAD9C,EAEI,YAAA,GAA2B,IAF/B,EAEmC;AACjC,MAAI,SAAS,GAAG,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAhB;AACA,MAAI,MAAM,GAAG,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAb;;AACA,MAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,IAAA,SAAS,GAAG,YAAY,CAAC,KAAb,CAAmB,CAAnB,CAAZ;AACA,IAAA,MAAM,GAAG,YAAY,CAAC,KAAb,CAAmB,CAAnB,CAAT;AACD;;AACD,QAAM,UAAU,GAAG,uBAAa,wBAAb,CAAsC,MAAtC,CAAnB;;AACA,QAAM,UAAU,GACZ;AAAC,IAAA,UAAD;AAAa,IAAA,MAAb;AAAqB,IAAA,SAArB;AAAgC,IAAA,OAAO,EAAE,IAAI,CAAC,IAAL,CAAU,MAAM,GAAG,UAAnB;AAAzC,GADJ;AAEA,QAAM,OAAO,GACT,IAAI,+BAAJ,CAAqB,UAArB,EAAiC,UAAjC,EAA6C,YAAY,IAAI,IAA7D,CADJ;AAEA,QAAM,MAAM,GAAG,CAAC,CAAD,CAAf;;AACA,MAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,IAAA,MAAM,CAAC,IAAP,CAAY,YAAZ;AACD;;AACD,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,MAAjC,EAAyC,OAAzC,CAAf,CAhBiC,CAiBjC;;AACA,MAAI,MAAM,CAAC,KAAP,CAAa,CAAb,MAAoB,CAAxB,EAA2B;AACzB,WAAO,MAAP;AACD;;AACD,QAAM,MAAM,GAAG,SAAS,CAAC,OAAD,EAAU,CAAV,EAAa,UAAb,EAAyB,MAAzB,CAAxB;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,MAAtC;AACA,SAAO,MAAP;AACD;;AAED,SAAS,eAAT,CACI,OADJ,EAC+B,CAD/B,EAC8C,UAD9C,EAEI,YAAA,GAA2B,IAF/B,EAEmC;AACjC,QAAM,OAAO,GAAG,YAAY,IAAI,IAAhB,GAAuB,YAAY,CAAC,KAApC,GAA4C,CAAC,CAAC,KAA9D;AACA,QAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAR,GAAiB,CAAlB,CAAtB;;AACA,QAAM,UAAU,GAAG,uBAAa,wBAAb,CAAsC,MAAtC,CAAnB;;AACA,QAAM,OAAO,GAAG,IAAI,4CAAJ,CACZ,OADY,EACH,UADG,EACS,UADT,EACqB,YAAY,IAAI,IADrC,CAAhB;AAEA,QAAM,MAAM,GAAG,YAAY,IAAI,IAAhB,GAAuB,CAAC,CAAD,CAAvB,GAA6B,CAAC,CAAD,EAAI,YAAJ,CAA5C;AACA,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,MAAjC,EAAyC,OAAzC,CAAf;;AACA,MAAI,MAAM,CAAC,KAAP,CAAa,MAAb,KAAwB,CAAC,CAAC,KAAF,CAAQ,MAApC,EAA4C;AAC1C,UAAM,MAAM,GAAG,eAAe,CAAC,OAAD,EAAU,CAAV,EAAa,UAAb,EAAyB,MAAzB,CAA9B;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,MAAtC;AACA,WAAO,MAAP;AACD;;AACD,SAAO,MAAP;AACD;;AAEK,SAAU,eAAV,CACF,OADE,EACyB,CADzB,EACwC,IADxC,EAEF,UAFE,EAEqB;AACzB,QAAM,IAAI,GAAG,CAAC,IAAD,CAAb;;AACA,yBAAa,0BAAb,CACI,QAAQ,UAAU,CAAC,MAAX,CAAkB,CAAlB,EAAqB,WAArB,EAAR,GAA6C,UAAU,CAAC,KAAX,CAAiB,CAAjB,CADjD,EACsE,IADtE,EAEI,CAAC,CAAC,KAAF,CAAQ,MAFZ;;AAGA,MAAI,CAAC,qBAAM,OAAN,CAAc,mBAAd,CAAD,IAAuC,CAAC,CAAC,KAAF,CAAQ,MAAR,IAAkB,CAA7D,EAAgE;AAC9D,UAAM,uBAAuB,GAAG,EAAhC;;AACA,UAAM,CAAC,QAAD,EAAW,WAAX,IACF,uBAAa,yBAAb,CAAuC,CAAC,CAAC,KAAzC,EAAgD,IAAhD,CADJ;;AAEA,UAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,WAAnB,CAAf;;AACA,UAAM,GAAG,GAAG,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE,CAAC,CAAC,CAAF,EAAK,MAAL;AAAR;AAA9B,KAAR,CAAZ;AACA,IAAA,uBAAuB,CAAC,IAAxB,CAA6B,GAA7B;AAEA,UAAM,OAAO,GAAG,SAAS,CAAC,OAAD,EAAU,GAAV,EAAe,UAAf,CAAzB;AACA,IAAA,uBAAuB,CAAC,IAAxB,CAA6B,OAA7B;AACA,UAAM,QAAQ,GACV,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAuB,MAAA,OAAvB;AAAgC,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAAvC,KAAR,CADJ;AAGA,IAAA,uBAAuB,CAAC,OAAxB,CACI,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CADT;AAEA,WAAO,QAAP;AACD;;AACD,SAAO,eAAe,CAAC,OAAD,EAAU,CAAV,EAAa,UAAb,CAAtB;AACD;;;;;;;;;;AC9ED;;AAGA;;AAEA;;AAtBA;;;;;;;;;;;;;;;;AAwBM,SAAU,MAAV,CACF,IADE,EAEuE;AAE3E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA;AAAD,MAAS,KAAf;;AAEA,MAAI,IAAI,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,CAAC,CAAC,KAA5B,CAAX;;AACA,QAAM,YAAY,GAAG,uBAAa,kBAAb,CAAgC,IAAhC,EAAsC,CAAC,CAAC,KAAF,CAAQ,MAA9C,CAArB;;AACA,MAAI,EAAE,GAAG,CAAT;AACA,QAAM,uBAAuB,GAAG,EAAhC;;AACA,MAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,IAAA,EAAE,GAAG,0BAAU;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,IAAI,EAAE;AAAP;AAA9B,KAAV,CAAL;AACA,IAAA,uBAAuB,CAAC,IAAxB,CAA6B,EAA7B;AACA,IAAA,IAAI,GAAG,uBAAa,gBAAb,CAA8B,IAAI,CAAC,MAAnC,EAA2C,EAAE,CAAC,KAAH,CAAS,MAApD,CAAP;AACD;;AAED,yBAAa,0BAAb,CAAwC,QAAxC,EAAkD,CAAC,IAAI,CAAC,CAAD,CAAL,CAAlD,EAA6D,EAAE,CAAC,KAAH,CAAS,MAAtE;;AACA,QAAM,GAAG,GAAG,kCAAgB,OAAhB,EAAyB,EAAzB,EAA6B,IAAI,CAAC,CAAD,CAAjC,EAAsC,KAAtC,CAAZ;AAEA,EAAA,uBAAuB,CAAC,OAAxB,CACI,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CADT;AAEA,SAAO,GAAP;AACD;;AAEM,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;;ACjCP;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,MAAV,CACF,IADE,EAEuE;AAE3E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA;AAAD,MAAS,KAAf;;AAEA,MAAI,IAAI,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,CAAC,CAAC,KAA5B,CAAX;;AACA,QAAM,YAAY,GAAG,uBAAa,kBAAb,CAAgC,IAAhC,EAAsC,CAAC,CAAC,KAAF,CAAQ,MAA9C,CAArB;;AACA,MAAI,EAAE,GAAG,CAAT;AACA,QAAM,uBAAuB,GAAG,EAAhC;;AACA,MAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,IAAA,EAAE,GAAG,0BAAU;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,IAAI,EAAE;AAAP;AAA9B,KAAV,CAAL;AACA,IAAA,uBAAuB,CAAC,IAAxB,CAA6B,EAA7B;AACA,IAAA,IAAI,GAAG,uBAAa,gBAAb,CAA8B,IAAI,CAAC,MAAnC,EAA2C,EAAE,CAAC,KAAH,CAAS,MAApD,CAAP;AACD;;AAED,yBAAa,0BAAb,CAAwC,QAAxC,EAAkD,CAAC,IAAI,CAAC,CAAD,CAAL,CAAlD,EAA6D,EAAE,CAAC,KAAH,CAAS,MAAtE;;AAEA,QAAM,GAAG,GAAG,kCAAgB,OAAhB,EAAyB,EAAzB,EAA6B,IAAI,CAAC,CAAD,CAAjC,EAAsC,KAAtC,CAAZ;AAEA,EAAA,uBAAuB,CAAC,OAAxB,CACI,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CADT;AAEA,SAAO,GAAP;AACD;;AAEM,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;ACjCP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,IAAI,GAAG,iCAAoB;;;;;CAAjC;AAOO,MAAM,IAAI,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAb;;AAEA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACdP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,KAAK,GAAG,iCAAoB,oCAAlC;AAEO,MAAM,KAAK,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAd;;AAEA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;ACTP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,IAAI,GAAG,iCAAoB;;CAAjC;AAIO,MAAM,IAAI,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAb;;AAEA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACXP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,KAAK,GAAG,+CAA2B;;CAAzC;AAIA,MAAM,YAAY,GAAG;;;GAAA,GAIjB,mDAJiB,GAIiB;;CAJtC;AAQO,MAAM,KAAK,GACd,0CAAiB;AAAC,EAAA,SAAS,EAAE,KAAZ;AAAmB,EAAA,eAAe,EAAE;AAApC,CAAjB,CADG;;AAGA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;ACpBP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,KAAK,GAAG,iCAAoB;;4CAAlC;AAIO,MAAM,KAAK,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAd;;AAEA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;AC5BP;;;;;;;;;;;;;;;;AAoBM,MAAO,aAAP,CAAoB;AAKxB,EAAA,WAAA,CACI,QADJ,EACuC,QADvC,EAEI,gBAFJ,EAE+B,gBAAgB,GAAG,KAFlD,EAGI,mBAAmB,GAAG,KAH1B,EAG+B;AAP/B,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;;AAQE,QAAI,QAAQ,KAAK,KAAb,IAAsB,gBAA1B,EAA4C;AAC1C,YAAM,IAAI,KAAJ,CAAU,4CAAV,CAAN;AACD;;AAED,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,cAAhC;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAvC;AACA,UAAM,oBAAoB,GAAG,QAAQ,CAAC,oBAAtC;AAEA,UAAM,MAAM,GAAG,QAAQ,CAAC,OAAT,CAAiB,GAAhC;AACA,UAAM,OAAO,GAAG,QAAQ,CAAC,OAAT,CAAiB,IAAjC;AACA,SAAK,WAAL,GAAmB,QAAQ,CAAC,QAA5B;AAEA,UAAM,SAAS,GAAG,QAAQ,KAAK,KAA/B;AACA,UAAM,uBAAuB,GAAG,cAAc,QAAQ,CAAC,QAAQ,YAC3D,QAAQ,CAAC,OAAO,YAAY,QAAQ,CAAC,UAAU,MADnD;AAEA,UAAM,kBAAkB,GACpB,SAAS,QAAQ,CAAC,OAAO,YAAY,QAAQ,CAAC,UAAU,MAD5D;AAGA,QAAI,mBAAmB,GAAG,KAA1B;;AACA,QAAI,CAAC,SAAL,EAAgB;AACd;AACA,MAAA,mBAAmB,GAAG,cAAtB;AACD;;AAED,QAAI,gBAAJ,EAAsB;AACpB,YAAM,SAAS,GAAG,IAAlB;AAEA,WAAK,QAAL,GAAgB;sCACgB,YAAY,KAAK,WAAW;mCAC/B,MAAM,KAAK,OAAO;;;;;;;;;;;;;;;;;;kCAkBnB,qBAAqB;sBACjC,cAAc;;;kCAGF,QAAQ,CAAC,QAAQ;;;;oCAIf,oBAAoB;wBAChC,aAAa;;;oCAGD,QAAQ,CAAC,OAAO;;;;;;;;;;0BAU1B,SAAS;;;mCAIzB,gBAAgB,GAAI,mBAAmB,GAAG,uBAAH,GACG,kBAD1B,GAEG,QAAQ,oBAAoB,OAAO;;;;;;OAhD1D;AAuDA;AACD;;AAED,UAAM,SAAS,GAAG,KAAlB;AAEA,QAAI,WAAW,GAAG,GAAG,QAAQ,IAAI,QAAQ,IAAI,QAAQ,GAAnC,GACd,mEADJ;;AAEA,QAAI,QAAQ,KAAK,KAAjB,EAAwB;AACtB,MAAA,WAAW,GAAG,kBAAd;AACD;;AAED,UAAM,sBAAsB,GAAG,IAAI,CAAC,KAAL,CAAW,WAAW,GAAG,CAAzB,IAA8B,CAA7D;AACA,UAAM,wBAAwB,GAAG,WAAW,GAAG,CAA/C;AAEA,UAAM,aAAa,GAAG;YACd,SAAS;;;wBAGG,SAAS;;KAJ7B;AAQA,SAAK,QAAL,GAAgB;oCACgB,YAAY,KAAK,WAAW;iCAC/B,MAAM,KAAK,OAAO;0CACT,mBAAmB;;;;;;8BAM/B,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;kCAkBZ,mBAAmB;;;;gCAIrB,qBAAqB;oBACjC,cAAc;;;gCAGF,QAAQ,CAAC,QAAQ;;;;kCAIf,sBAAsB;uCACjB,aAAa;;;;yCAIX,aAAa;6CACT,aAAa;6CACb,aAAa;;;cAG5C,aAAa;;;gCAGK,sBAAsB;gBACtC,wBAAwB,KAAK,CAAC;;;;;;;;cAQhC,aAAa;uBACJ,wBAAwB,KAAK,CAAC;;;yCAGZ,aAAa;;;;;cAKxC,aAAa;uBACJ,wBAAwB,KAAK,CAAC;;;yCAGZ,aAAa;6CACT,aAAa;;;;cAI5C,aAAa;;;oBAGP,WAAW;;KAlF3B;AAqFD;;AA1MuB;;;;AA6MpB,MAAO,aAAP,CAAoB;AAKxB,EAAA,WAAA,CACI,QADJ,EACuC,QADvC,EAEI,gBAFJ,EAE+B,gBAAgB,GAAG,KAFlD,EAGI,mBAAmB,GAAG,KAH1B,EAG+B;AAP/B,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;;AAQE,QAAI,QAAQ,KAAK,KAAb,IAAsB,gBAA1B,EAA4C;AAC1C,YAAM,IAAI,KAAJ,CAAU,4CAAV,CAAN;AACD;;AAED,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,cAAhC;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,oBAAoB,GAAG,QAAQ,CAAC,oBAAtC;AACA,UAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAvC;AACA,UAAM,oBAAoB,GAAG,QAAQ,CAAC,oBAAtC;AAEA,UAAM,QAAQ,GAAG,QAAQ,CAAC,OAAT,CAAiB,KAAlC;AACA,UAAM,MAAM,GAAG,QAAQ,CAAC,OAAT,CAAiB,GAAhC;AACA,UAAM,OAAO,GAAG,QAAQ,CAAC,OAAT,CAAiB,IAAjC;AACA,SAAK,WAAL,GAAmB,QAAQ,CAAC,QAA5B;AAEA,UAAM,SAAS,GAAG,QAAQ,KAAK,KAA/B;AAEA,QAAI,mBAAmB,GAAG,KAA1B;;AACA,QAAI,CAAC,SAAL,EAAgB;AACd;AACA,MAAA,mBAAmB,GAAG,cAAtB;AACD;;AAED,QAAI,gBAAJ,EAAsB;AACpB,YAAM,SAAS,GAAG,IAAlB;AAEA,WAAK,QAAL,GAAgB;;oBAEF,WAAW,KAAK,YAAY,KAAK,WAAW;mCAC7B,QAAQ,KAAK,MAAM,KAAK,OAAO;;;;;;;;;;;;;;;;;;kCAkBhC,oBAAoB;sBAChC,aAAa;;;kCAGD,QAAQ,CAAC,OAAO;;;;oCAId,qBAAqB;wBACjC,cAAc;;;oCAGF,QAAQ,CAAC,QAAQ;;;;sCAIf,oBAAoB;0BAChC,aAAa;;;sCAGD,QAAQ,CAAC,OAAO;;;;;;;;;;4BAU1B,SAAS;;;qCAI3B,gBAAgB,GACX,mBAAmB,GACf,cAAc,QAAQ,CAAC,OAAO,YAC1B,QAAQ,CAAC,QAAQ,YAAY,QAAQ,CAAC,OAAO,YAC7C,QAAQ,CAAC,UAAU,OAHR,GAIf,UAAU,QAAQ,CAAC,QAAQ,YACvB,QAAQ,CAAC,OAAO,YAAY,QAAQ,CAAC,UAAU,OAN5C,GAOZ,QAAQ,qBAAqB,MAAM,oBAAoB;6BACxC,oBAAoB,OAAO;;;;;;;OA/DlD;AAuEA;AACD;;AAED,UAAM,SAAS,GAAG,KAAlB;AAEA,QAAI,WAAW,GAAG,GAAG,QAAQ,IAAI,QAAQ,IAAI,QAAQ,GAAnC,GACd,mEADJ;;AAEA,QAAI,QAAQ,KAAK,KAAjB,EAAwB;AACtB,MAAA,WAAW,GAAG,kBAAd;AACD;;AAED,UAAM,sBAAsB,GAAG,IAAI,CAAC,KAAL,CAAW,WAAW,GAAG,CAAzB,IAA8B,CAA7D;AACA,UAAM,wBAAwB,GAAG,WAAW,GAAG,CAA/C;AAEA,UAAM,aAAa,GAAG;YACd,SAAS;;;wBAGG,SAAS;;KAJ7B;AAQA,SAAK,QAAL,GAAgB;;gBAEJ,WAAW,KAAK,YAAY,KAAK,WAAW;iCAC3B,QAAQ,KAAK,MAAM,KAAK,OAAO;0CACtB,mBAAmB;;;;;;8BAM/B,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;kCAmBZ,mBAAmB;;;;gCAIrB,oBAAoB;oBAChC,aAAa;;;gCAGD,QAAQ,CAAC,OAAO;;;;kCAId,qBAAqB;oBACnC,cAAc;;;kCAGA,QAAQ,CAAC,QAAQ;;;;oCAIf,sBAAsB;yCACjB,aAAa;;;;+CAIP,aAAa;mDACT,aAAa;mDACb,aAAa;;;gBAGhD,aAAa;;;kCAGK,sBAAsB;kBACtC,wBAAwB,KAAK,CAAC;;;;;;;;gBAQhC,aAAa;yBACJ,wBAAwB,KAAK,CAAC;;;+CAGR,aAAa;;;;;gBAK5C,aAAa;yBACJ,wBAAwB,KAAK,CAAC;;;+CAGR,aAAa;mDACT,aAAa;;;;gBAIhD,aAAa;;;sBAGP,WAAW;;;KA5F7B;AAgGD;;AArOuB;;;;;;;;;;;;ACjN1B;;AAGA;;AACA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,OAAV,CAAkB,IAAlB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,oCAAiB,CAAjB,EAAoB,SAApB;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA,OAAb;AAAsB,IAAA,GAAtB;AAA2B,IAAA;AAA3B,MAA8C,KAApD;AACA,QAAM,SAAS,GAAG,CAAlB;;AAEA,iBAAK,MAAL,CACI,uBAAa,8BAAb,CAA4C,OAA5C,EAAqD,SAArD,CADJ,EAEI,MAAM,8DACF,eAAe,OAAO,mBAAmB,SAAS,GAH1D;;AAKA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EACgC,UADhC,EAC4C,OAD5C,EAEb,SAFa,EAEF,GAFE,EAEG,eAFH,CAAjB;;AAGA,MAAI,QAAQ,CAAC,WAAT,KAAyB,CAAzB,IAA8B,QAAQ,CAAC,YAAT,KAA0B,CAAxD,IACA,eAAK,WAAL,CAAiB,QAAQ,CAAC,OAA1B,EAAmC,QAAQ,CAAC,QAA5C,CADJ,EAC2D;AACzD,WAAO,wBAAS;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA;AAAd,KAAT,CAAP;AACD;;AACD,QAAM,cAAc,GAAG,IAAI,uBAAJ,CAAkB,QAAlB,EAA4B,KAA5B,EAAmC,KAAnC,CAAvB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,cAAxB,EAAwC,CAAC,CAAD,CAAxC,EAA6C,SAA7C,CAAP;AACD;;AAEM,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;;AClCP;;AAGA;;AAnBA;;;;;;;;;;;;;;;;AAqBM,SAAU,SAAV,CAAoB,IAApB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA,OAAb;AAAsB,IAAA,GAAtB;AAA2B,IAAA,eAA3B;AAA4C,IAAA;AAA5C,MAA0D,KAAhE;AACA,QAAM,SAAS,GAA6B,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAA5C;;AAEA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EACwC,UADxC,EACoD,OADpD,EAEb,SAFa,EAEF,GAFE,EAEG,eAFH,EAEoB,UAFpB,CAAjB;;AAGA,QAAM,cAAc,GAAG,IAAI,uBAAJ,CAAkB,QAAlB,EAA4B,KAA5B,EAAmC,KAAnC,CAAvB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,cAAxB,EAAwC,CAAC,CAAD,CAAxC,EAA6C,SAA7C,CAAP;AACD;;AAEM,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,mBAD+B;AAE3C,EAAA,WAAW,EAAE,OAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;ACtCP;;;;;;;;;;;;;;;;AAoBM,MAAO,wBAAP,CAA+B;AAKnC,EAAA,WAAA,CAAY,QAAZ,EAA6C;AAJ7C,SAAA,aAAA,GAAgB,CAAC,IAAD,CAAhB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,OAA5B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,cAAhC;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAvC;AACA,UAAM,oBAAoB,GAAG,QAAQ,CAAC,oBAAtC;AAEA,UAAM,MAAM,GAAG,qBAAqB,GAAG,CAAxB,GAA4B,QAAQ,CAAC,OAAT,CAAiB,GAA5D;AACA,UAAM,OAAO,GAAG,oBAAoB,GAAG,CAAvB,GAA2B,QAAQ,CAAC,OAAT,CAAiB,IAA5D;AAEA,UAAM,aAAa,GAAG,KAAK,YAAY,GAAG,WAApB,CAAtB;AAEA,SAAK,QAAL,GAAgB;iCACa,MAAM,KAAK,OAAO;0CACT,aAAa;;;;;;;;;;;;;;gCAcvB,qBAAqB;oBACjC,cAAc;gDACc,YAAY;;oCAExB,QAAQ,CAAC,SAAS;;;;;kCAKpB,oBAAoB;mBACnC,aAAa;kDACkB,WAAW;;sCAEvB,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;KA7BnD;AA2CD;;AAhEkC;;;;AAmE/B,MAAO,wBAAP,CAA+B;AAKnC,EAAA,WAAA,CAAY,QAAZ,EAA6C;AAJ7C,SAAA,aAAA,GAAgB,CAAC,IAAD,CAAhB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,OAA5B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,cAAhC;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,oBAAoB,GAAG,QAAQ,CAAC,oBAAtC;AACA,UAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAvC;AACA,UAAM,oBAAoB,GAAG,QAAQ,CAAC,oBAAtC;AAEA,UAAM,QAAQ,GAAG,oBAAoB,GAAG,CAAvB,GAA2B,QAAQ,CAAC,OAAT,CAAiB,KAA7D;AACA,UAAM,MAAM,GAAG,qBAAqB,GAAG,CAAxB,GAA4B,QAAQ,CAAC,OAAT,CAAiB,GAA5D;AACA,UAAM,OAAO,GAAG,oBAAoB,GAAG,CAAvB,GAA2B,QAAQ,CAAC,OAAT,CAAiB,IAA5D;AAEA,UAAM,aAAa,GAAG,KAAK,WAAW,GAAG,YAAd,GAA6B,WAAlC,CAAtB;AAEA,SAAK,QAAL,GAAgB;iCACa,QAAQ,KAAK,MAAM,KAAK,OAAO;0CACtB,aAAa;;;;;;;;;;;;;;;;;gCAiBvB,oBAAoB;oBAChC,aAAa;gDACe,WAAW;;oCAEvB,QAAQ,CAAC,QAAQ;;;;;kCAKnB,qBAAqB;sBACjC,cAAc;kDACc,YAAY;;sCAExB,QAAQ,CAAC,SAAS;;;;;;oCAMpB,oBAAoB;wBAChC,aAAa;oDACe,WAAW;;wCAEvB,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;KA1CrD;AAyDD;;AAnFkC;;;;;;;;;;;;ACvErC;;AAEA;;AAlBA;;;;;;;;;;;;;;;;AAqBM,SAAU,aAAV,CAAwB,IAAxB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,EAAD;AAAK,IAAA;AAAL,MAAc,MAApB;AACA,QAAM,CAAC,GAAG,KAAV;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA,OAAb;AAAsB,IAAA,GAAtB;AAA2B,IAAA;AAA3B,MAA8C,KAApD;AACA,QAAM,SAAS,GAA6B,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAA5C;;AAEA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EACwC,UADxC,EACoD,OADpD,EAEb,SAFa,EAEF,GAFE,EAEG,eAFH,CAAjB;;AAGA,QAAM,sBAAsB,GAAG,IAAI,+CAAJ,CAA6B,QAA7B,CAA/B;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,sBAAxB,EAAgD,CAAC,EAAD,CAAhD,EAAsD,CAAC,CAAC,KAAxD,CAAP;AACD;;AAEM,MAAM,mBAAmB,GAAiB;AAC/C,EAAA,UAAU,EAAE,uBADmC;AAE/C,EAAA,WAAW,EAAE,OAFkC;AAG/C,EAAA,UAAU,EAAE;AAHmC,CAA1C;;;;;;;;;;;ACvBP;;AAEA;;AAEA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,WAAV,CAAsB,IAAtB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,EAAD;AAAK,IAAA;AAAL,MAAc,MAApB;AACA,QAAM,CAAC,GAAG,KAAV;AACA,oCAAiB,CAAC,EAAD,EAAK,KAAL,CAAjB,EAA8B,aAA9B;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA,OAAb;AAAsB,IAAA;AAAtB,MAA6B,KAAnC;;AAEA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EACgC,UADhC,EAC4C,OAD5C,EAEb;AAAE;AAFW,IAEM,GAFN,CAAjB;;AAGA,QAAM,sBAAsB,GAAG,IAAI,+CAAJ,CAA6B,QAA7B,CAA/B;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,sBAAxB,EAAgD,CAAC,EAAD,CAAhD,EAAsD,CAAC,CAAC,KAAxD,CAAP;AACD;;AAEM,MAAM,iBAAiB,GAAiB;AAC7C,EAAA,UAAU,EAAE,qBADiC;AAE7C,EAAA,WAAW,EAAE,OAFgC;AAG7C,EAAA,UAAU,EAAE;AAHiC,CAAxC;;;;;;;;;;;ACvBP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,WAAV,CAAsB,IAAtB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAS,MAAf;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA;AAAb,MAA2B,KAAjC;AAEA,SAAO,uCAAgB;AAAC,IAAA,CAAD;AAAI,IAAA,CAAJ;AAAO,IAAA,UAAP;AAAmB,IAAA,UAAnB;AAA+B,IAAA;AAA/B,GAAhB,CAAP;AACD;;AAEM,MAAM,iBAAiB,GAAiB;AAC7C,EAAA,UAAU,EAAE,qBADiC;AAE7C,EAAA,WAAW,EAAE,OAFgC;AAG7C,EAAA,UAAU,EAAE;AAHiC,CAAxC;;;;;;;;;;ACjBP;;AAjBA;;;;;;;;;;;;;;;;AAoBM,MAAO,gBAAP,CAAuB;AAK3B,EAAA,WAAA,CACI,MADJ,EACsB,SADtB,EAC2C,aAD3C,EAEI,WAFJ,EAEgC,UAFhC,EAGI,eAHJ,EAG2B;AAN3B,SAAA,WAAA,GAAwB,EAAxB;AAOE,SAAK,aAAL,GAAqB,CAAC,GAAD,EAAM,MAAN,EAAc,UAAd,CAArB;;AACA,2BAAa,0BAAb,CAAwC,MAAxC,EAAgD,SAAhD;;AACA,2BAAa,0BAAb,CAAwC,MAAxC,EAAgD,aAAhD;;AAEA,QAAI,aAAa,GAAG,KAApB;;AACA,QAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,6BAAa,0BAAb,CAAwC,MAAxC,EAAgD,WAAhD;;AACA,WAAK,aAAL,CAAmB,IAAnB,CAAwB,QAAxB;AACA,MAAA,aAAa,GAAG,wBAAhB;AACD;;AAED,QAAI,YAAY,GAAG,KAAnB;;AACA,QAAI,UAAU,IAAI,IAAlB,EAAwB;AACtB,6BAAa,0BAAb,CAAwC,MAAxC,EAAgD,UAAhD;;AACA,WAAK,aAAL,CAAmB,IAAnB,CAAwB,OAAxB;AACA,MAAA,YAAY,GAAG,uBAAf;AACD;;AAED,SAAK,WAAL,GAAmB,MAAnB;AACA,SAAK,QAAL,GAAgB;;;;;yBAKK,aAAa;wBACd,YAAY;2DACuB,eAAe;;;KAPtE;AAWD;;AAvC0B;;;;;;;;;;;ACH7B;;AAjBA;;;;;;;;;;;;;;;;AAoBM,MAAO,sBAAP,CAA6B;AAOjC,EAAA,WAAA,CACI,MADJ,EACsB,SADtB,EAC2C,aAD3C,EAEI,WAFJ,EAEgC,UAFhC,EAGI,eAHJ,EAG2B;AAN3B,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAME,SAAK,aAAL,GAAqB,CAAC,GAAD,EAAM,MAAN,EAAc,UAAd,CAArB;;AACA,2BAAa,0BAAb,CAAwC,MAAxC,EAAgD,SAAhD;;AACA,2BAAa,0BAAb,CAAwC,MAAxC,EAAgD,aAAhD;;AAEA,QAAI,aAAa,GAAG,WAApB;;AACA,QAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,6BAAa,0BAAb,CAAwC,MAAxC,EAAgD,WAAhD;;AACA,WAAK,aAAL,CAAmB,IAAnB,CAAwB,QAAxB;AACA,MAAA,aAAa,GAAG,wBAAhB;AACD;;AAED,QAAI,YAAY,GAAG,WAAnB;;AACA,QAAI,UAAU,IAAI,IAAlB,EAAwB;AACtB,6BAAa,0BAAb,CAAwC,MAAxC,EAAgD,UAAhD;;AACA,WAAK,aAAL,CAAmB,IAAnB,CAAwB,OAAxB;AACA,MAAA,YAAY,GAAG,uBAAf;AACD;;AAED,SAAK,WAAL,GAAmB,MAAnB;AACA,SAAK,QAAL,GAAgB;;wBAEI,aAAa;uBACd,YAAY;;;;;;yDAMsB,eAAe;;;;KATpE;AAcD;;AA5CgC;;;;;;;;;;;ACFnC;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBO,MAAM,SAAS,GAIH,CAAC;AAAC,EAAA,MAAD;AAAS,EAAA,OAAT;AAAkB,EAAA;AAAlB,CAAD,KAA6B;AAC9C,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA,IAAJ;AAAU,IAAA,QAAV;AAAoB,IAAA,MAApB;AAA4B,IAAA;AAA5B,MAAqC,MAA3C;;AAEA,iBAAK,MAAL,CACI,IAAI,CAAC,KAAL,CAAW,MAAX,KAAsB,QAAQ,CAAC,KAAT,CAAe,MADzC,EAEI,MAAM,qEACF,cAHR;;AAIA,iBAAK,MAAL,CACI,MAAM,IAAI,IAAV,IAAkB,IAAI,CAAC,KAAL,CAAW,MAAX,KAAsB,MAAM,CAAC,KAAP,CAAa,MADzD,EAEI,MAAM,mEACF,cAHR;;AAIA,iBAAK,MAAL,CACI,KAAK,IAAI,IAAT,IAAiB,IAAI,CAAC,KAAL,CAAW,MAAX,KAAsB,KAAK,CAAC,KAAN,CAAY,MADvD,EAEI,MAAM,kEACF,cAHR;;AAKA,MAAI;AAAC,IAAA;AAAD,MAAoB,KAAxB;;AACA,MAAI,eAAe,IAAI,IAAvB,EAA6B;AAC3B,IAAA,eAAe,GAAG,KAAlB;AACD;;AAED,QAAM,WAAW,GAAG,CAAC,CAAD,EAAI,IAAJ,EAAU,QAAV,CAApB;AAEA,MAAI,WAAW,GAAG,IAAlB;;AACA,MAAI,MAAM,IAAI,IAAd,EAAoB;AAClB,IAAA,WAAW,GAAG,MAAM,CAAC,KAArB;AACA,IAAA,WAAW,CAAC,IAAZ,CAAiB,MAAjB;AACD;;AAED,MAAI,UAAU,GAAG,IAAjB;;AACA,MAAI,KAAK,IAAI,IAAb,EAAmB;AACjB,IAAA,UAAU,GAAG,KAAK,CAAC,KAAnB;AACA,IAAA,WAAW,CAAC,IAAZ,CAAiB,KAAjB;AACD;;AAED,QAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,0BAAd,IACZ,IAAI,4CAAJ,CACI,CAAC,CAAC,KADN,EACa,IAAI,CAAC,KADlB,EACyB,QAAQ,CAAC,KADlC,EACyC,WADzC,EACsD,UADtD,EAEI,eAFJ,CADY,GAIZ,IAAI,+BAAJ,CACI,CAAC,CAAC,KADN,EACa,IAAI,CAAC,KADlB,EACyB,QAAQ,CAAC,KADlC,EACyC,WADzC,EACsD,UADtD,EAEI,eAFJ,CAJJ;AAOA,QAAM,MAAM,GACR,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,WAAjC,EAA8C,WAAW,CAAC,CAAD,CAAX,CAAe,KAA7D,CADJ;AAGA,SAAO,MAAP;AACD,CAlDM;;;AAoDA,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,wBAD+B;AAE3C,EAAA,WAAW,EAAE,OAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;AC1DP;;AAlBA;;;;;;;;;;;;;;;;AAoBM,MAAO,YAAP,CAAmB;AAOvB,EAAA,WAAA,CAAY,QAAZ,EAA8B;AAN9B,SAAA,aAAA,GAAgB,CAAC,QAAD,CAAhB;AAOE,SAAK,WAAL,GAAmB,QAAnB;AACA,SAAK,IAAL,GAAY,QAAQ,CAAC,MAArB;AAEA,UAAM,KAAK,GAAG,wCAAkB,KAAK,IAAvB,CAAd;AACA,SAAK,cAAL,GAAsB,CAAC;AAAC,MAAA,IAAI,EAAE,OAAP;AAAgB,MAAA,UAAU,EAAE,KAAK,IAAjC;AAAuC,MAAA,IAAI,EAAE;AAA7C,KAAD,CAAtB;AACA,UAAM,YAAY,GAAG,SAAS,CAAC,KAAK,IAAN,CAA9B;AAEA,QAAI,IAAJ;AACA,UAAM,QAAQ,GAAG,QAAQ,CAAC,GAAT,CAAa,CAAC,CAAD,EAAI,CAAJ,KAAS;AACrC,aAAO,aAAa,MAAM,CAAC,CAAD,CAAG,YAAY,CAAC,cAAc,MAAM,CAAC,CAAD,CAAG,GAAjE;AACD,KAFgB,CAAjB;AAGA,IAAA,IAAI,GAAG;UACD,KAAK;UACL,KAAK;UACL,QAAQ,CAAC,IAAT,CAAc,IAAd,CAAmB;OAHzB;AAKA,SAAK,QAAL,GAAgB;;UAEV,IAAI;8BACgB,YAAY;;KAHtC;AAMD;;AA9BsB;;;AAiCzB,MAAM,MAAM,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,CAAf;;AAEA,SAAS,SAAT,CAAmB,IAAnB,EAA+B;AAC7B,MAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAO,WAAP;AACD,GAFD,MAEO,IAAI,IAAI,IAAI,CAAZ,EAAe;AACpB,WAAO,MAAM,CAAC,KAAP,CAAa,CAAb,EAAgB,IAAhB,EAAsB,GAAtB,CAA0B,CAAC,IAAI,eAAe,CAA9C,EAAiD,IAAjD,CAAsD,GAAtD,CAAP;AACD,GAFM,MAEA;AACL,UAAM,KAAK,CAAC,oBAAoB,IAAI,uBAAzB,CAAX;AACD;AACF;;;;;;;;;AC7CD;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBM,MAAO,kBAAP,CAAyB;AAS7B,EAAA,WAAA,CAAY,QAAZ,EAA8B;AAR9B,SAAA,aAAA,GAAgB,CAAC,QAAD,CAAhB;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAOE,SAAK,WAAL,GAAmB,QAAnB;AACA,SAAK,IAAL,GAAY,QAAQ,CAAC,MAArB;AACA,SAAK,cAAL,GAAsB,CAAC;AAAC,MAAA,IAAI,EAAE,OAAP;AAAgB,MAAA,UAAU,EAAE,KAAK,IAAjC;AAAuC,MAAA,IAAI,EAAE;AAA7C,KAAD,CAAtB;AACA,UAAM,KAAK,GAAG,wCAAkB,KAAK,IAAvB,CAAd;AACA,UAAM,MAAM,GAAG,+BAAY,QAAZ,EAAsB,KAAK,IAA3B,CAAf;AACA,UAAM,SAAS,GAAG,+BAAY,WAAZ,EAAyB,KAAK,IAA9B,CAAlB;AAEA,UAAM,SAAS,GACX,KAAK,IAAL,KAAc,CAAd,GAAkB,WAAlB,GAAgC,QAAQ,SAAS,CAAC,KAAV,CAAgB,CAAC,CAAjB,EAAoB,IAApB,EAA0B,GADtE;AAEA,UAAM,UAAU,GACZ,wBAAwB,SAAS,CAAC,IAAV,EAAgB,MAAM,SAAS,GAD3D;AAEA,UAAM,QAAQ,GAAG;mBACF,UAAU;cACf,MAAM,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe,MAAM,QAAQ,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe;YACpD,SAAS,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe;qBACf,UAAU;YACnB,SAAS,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe;;KALhC;AAQA,UAAM,QAAQ,GAAG,KAAK,IAAL,KAAc,CAAd,GAAkB,EAAlB,GAAuB;UAClC,MAAM,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe;cACjB,MAAM,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe,MAAM,QAAQ,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe;YACpD,SAAS,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe;qBACf,UAAU;gBACf,MAAM,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe,MAAM,QAAQ,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe;cACpD,SAAS,CAAC,KAAK,IAAL,GAAY,CAAb,CAAe;uBACf,UAAU;;;KAP7B;AAYA,UAAM,cAAc,GAAG,KAAK,IAAL,IAAa,CAAb,GACnB;cACM,KAAK,IAAI,QAAQ,CAAC,GAAT,CAAa,CAAC,CAAD,EAAI,CAAJ,KAAU,SAAS,CAAC,GAAjC,EAAsC,IAAtC,EAA4C,IAFxC,GAGnB,QAAQ,CAAC,GAAT,CAAa,CAAC,CAAD,EAAI,CAAJ,KAAU,GAAG,SAAS,CAAC,CAAD,CAAG,MAAM,MAAM,CAAC,CAAD,CAAG,YAAY,CAAC,IAAlE,EACK,IADL,CACU,IADV,CAHJ;AAKA,SAAK,QAAL,GAAgB;;UAEV,KAAK;UACL,KAAK;UACL,cAAc;;UAEd,QAAQ;UACR,QAAQ;;;KAPd;AAWD;;AAzD4B;;;;;;;;;;;;AtEJ/B;;AAGA;;AACA;;AACA;;AAtBA;;;;;;;;;;;;;;;;AAwBA,SAAS,YAAT,CACI,CADJ,EACmB,KADnB,EACoC,IADpC,EACoD,OADpD,EAC6E;AAC3E,QAAM,QAAQ,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAjB;AACA,QAAM,CAAC,GAAG,OAAO,CAAC,cAAR,CAAuB,IAAvB,EAA6B,CAAC,CAAC,KAA/B,CAAV;AACA,QAAM,UAAU,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAnB,CAH2E,CAI3E;;AACA,EAAA,MAAM,CAAC,MAAP,CAAc,UAAd,EAA0B,QAA1B;AACA,EAAA,UAAU,CAAC,QAAX,GAAsB,CAAtB;AACA,EAAA,UAAU,CAAC,KAAX,GAAmB,IAAnB;AACA,EAAA,UAAU,CAAC,KAAX,GAAmB,CAAC,CAAC,KAArB;;AACA,MAAI,UAAU,GACV,qBAAW,iBAAX,CAA6B,KAA7B,EAAoC,eAAK,cAAL,CAAoB,CAAC,CAAC,KAAtB,CAApC,CADJ;;AAEA,MAAI,QAAQ,CAAC,KAAb,EAAoB;AAClB;AACA;AACA,IAAA,UAAU,IAAI,QAAQ,CAAC,KAAT,CAAe,UAA7B;AACD;;AACD,EAAA,UAAU,CAAC,KAAX,GAAmB;AACjB,IAAA,UADiB;AAEjB;AACA,IAAA,UAAU,EAAE,QAAQ,CAAC,KAAT,IAAkB,QAAQ,CAAC,KAAT,CAAe,UAAjC,IAA+C,CAAC,CAAC;AAH5C,GAAnB,CAhB2E,CAsB3E;;AACA,QAAM,QAAQ,GAAG,OAAO,CAAC,YAAR,CAAqB,GAArB,CAAyB,UAAU,CAAC,KAAX,CAAiB,UAA1C,KAAyD,CAA1E;AACA,EAAA,OAAO,CAAC,YAAR,CAAqB,GAArB,CAAyB,UAAU,CAAC,KAAX,CAAiB,UAA1C,EAAsD,QAAQ,GAAG,CAAjE;AACA,SAAO,CAAP;AACD;;AAEK,SAAU,KAAV,CACF,IADE,EACuE;AAE3E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,KAAD;AAAQ,IAAA;AAAR,MAAgB,KAAtB;;AAEA,QAAM,CAAC,MAAD,EAAS,KAAT,IAAkB,qBAAW,gBAAX,CAA4B,CAA5B,EAA+B,KAA/B,EAAsC,IAAtC,CAAxB;;AACA,uBAAW,iBAAX,CAA6B,CAA7B,EAAgC,MAAhC,EAAwC,KAAxC;;AAEA,MAAI,eAAK,aAAL,CAAmB,KAAnB,MAA8B,CAAlC,EAAqC;AACnC,WAAO,OAAO,CAAC,cAAR,CAAuB,KAAvB,EAA8B,CAAC,CAAC,KAAhC,EAAuC,EAAvC,CAAP;AACD,GAX0E,CAa3E;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAI,OAAO,CAAC,kBAAR,CAA2B,CAAC,CAAD,CAA3B,KAAmC,CAAC,CAAC,KAAF,KAAY,QAAnD,EAA6D;AAC3D,UAAM,QAAQ,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAjB;AACA,UAAM,SAAS,GAAG,0BACd,QAAQ,CAAC,MADK,EACiB,MADjB,EACyB,KADzB,EACgC,CAAC,CAAC,KADlC,EACyC,CAAC,CAAC,KAD3C,CAAlB;AAEA,WAAO,OAAO,CAAC,cAAR,CAAuB,KAAvB,EAA8B,CAAC,CAAC,KAAhC,EAAuC,SAAvC,CAAP;AACD;;AAED,QAAM;AAAC,IAAA;AAAD,MAAa,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAnB;;AACA,QAAM,WAAW,GAAG,qBAAW,gBAAX,CAA4B,CAAC,CAAC,KAA9B,EAAqC,MAArC,EAA6C,KAA7C,CAApB;;AACA,MAAI,QAAQ,IAAI,CAAC,WAAjB,EAA8B;AAC5B,UAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,6BAAd,IACZ,IAAI,oCAAJ,CAAuB,KAAvB,CADY,GAEZ,IAAI,uBAAJ,CAAiB,KAAjB,CAFJ;AAGA,UAAM,YAAY,GAAG,CAAC,MAAD,CAArB;AACA,WAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,CAAC,CAAC,KAAxC,EAA+C,YAA/C,CAAP;AACD;;AACD,EAAA,OAAO,CAAC,WAAR,CAAoB,CAAC,CAAC,MAAtB;AACA,SAAO,YAAY,CAAC,CAAD,EAAI,MAAJ,EAAY,KAAZ,EAAmB,OAAnB,CAAnB;AACD;;AAEM,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;AuE5EP;;AAIA;;AACA;;AACA;;AAvBA;;;;;;;;;;;;;;;;AAyBO,MAAM,cAAc,GAAI,IAAD,IAIb;AACf,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA;AAAb,MAAsB,KAA5B;;AAEA,iBAAK,MAAL,CACI,CAAC,CAAC,KAAF,CAAQ,MAAR,IAAkB,CADtB,EAEI,MAAM,0DACF,iBAHR;;AAIA,QAAM,IAAI,GAAG,UAAU,CAAC,MAAX,CAAkB,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,GAAG,CAAhC,CAAb;;AAEA,QAAM,QAAQ,GAAG,uBAAa,WAAb,CAAyB,CAAC,CAAC,KAA3B,EAAkC,UAAlC,EAA8C,IAA9C,CAAjB;;AACA,QAAM,QAAQ,GAAG,uBAAa,WAAb,CAAyB,QAAQ,CAAC,MAAlC,EAA0C,UAAU,CAAC,MAArD,CAAjB;;AACA,QAAM,gBAAgB,GAClB,uBAAa,mBAAb,CAAiC,CAAC,CAAC,KAAnC,EAA0C,UAA1C,EAAsD,IAAtD,CADJ;;AAEA,QAAM,gBAAgB,GAClB,uBAAa,mBAAb,CAAiC,KAAjC,EAAwC,UAAU,CAAC,MAAnD,CADJ;;AAEA,QAAM,SAAS,GACX,uBAAa,YAAb,CAA0B,gBAA1B,EAA4C,KAA5C,EAAmD,UAAU,CAAC,MAA9D,CADJ;;AAGA,QAAM,SAAS,GAAG,EAAlB;AAEA,QAAM,oBAAoB,GACtB,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA;AAAD,KAAT;AAAc,IAAA,OAAd;AAAuB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAA9B,GAAR,CADJ;AAEA,QAAM,sBAAsB,GAAG,0BAC3B;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAoC,IAAA,OAApC;AAA6C,IAAA,KAAK,EAAE;AAAC,MAAA,IAAI,EAAE;AAAP;AAApD,GAD2B,CAA/B;AAEA,QAAM,qBAAqB,GAAG,sBAAQ;AACpC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAD4B;AAEpC,IAAA,OAFoC;AAGpC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAH6B,GAAR,CAA9B;AAKA,QAAM,MAAM,GAAG,kBAAM;AACnB,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KADW;AAEnB,IAAA,OAFmB;AAGnB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,gBAAR;AAA0B,MAAA,IAAI,EAAE;AAAhC;AAHY,GAAN,CAAf;AAMA,EAAA,SAAS,CAAC,IAAV,CAAe,oBAAf;AACA,EAAA,SAAS,CAAC,IAAV,CAAe,sBAAf;AACA,EAAA,SAAS,CAAC,IAAV,CAAe,qBAAf;AAEA,EAAA,SAAS,CAAC,OAAV,CAAkB,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAAvB;AAEA,SAAO,MAAP;AACD,CAhDM;;;AAkDA,MAAM,oBAAoB,GAAiB;AAChD,EAAA,UAAU,EAAE,wBADoC;AAEhD,EAAA,WAAW,EAAE,OAFmC;AAGhD,EAAA,UAAU,EAAE;AAHoC,CAA3C;;;;;;;;;;;AC1DP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,QAAV,CAAmB,IAAnB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAe,MAArB;AACA,QAAM;AAAC,IAAA;AAAD,MAAS,KAAf;AAEA,QAAM,KAAK,GAAG,OAAO,CAAC,QAAR,CAAiB,CAAC,CAAC,MAAnB,CAAd;AACA,QAAM,WAAW,GAAG,OAAO,CAAC,QAAR,CAAiB,OAAO,CAAC,MAAzB,CAApB;AAEA,QAAM,OAAO,GACT,6BAAgB,KAAhB,EAAuB,WAAvB,EAAoC,OAAO,CAAC,KAA5C,EAAmD,OAAO,CAAC,KAA3D,EAAkE,IAAlE,CADJ;AAGA,SAAO,OAAO,CAAC,cAAR,CAAuB,CAAC,IAAD,CAAvB,EAA+B,OAAO,CAAC,KAAvC,EAA8C,OAA9C,CAAP;AACD;;AAEM,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,OAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;A9EvBP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,SAAS,GAAG,uBAAlB;AAEO,MAAM,QAAQ,GAAG,0CACpB;AAAC,EAAA,SAAS,EAAE,SAAZ;AAAuB,EAAA,aAAa,EAAE,uBAAtC;AAAuD,EAAA,KAAK,EAAE;AAA9D,CADoB,CAAjB;;AAGA,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,OAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;;A1BVP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,IAAV,CAAe,IAAf,EAAoE;AAExE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,MAAhB;AACA,QAAM,SAAS,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,KAAK,CAAC,MAA1B,CAAlB;AAEA,SAAO,wBAAS;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE,SAAS,CAAC,kBAAV,CAA6B;AAAjC,KAAT;AAAiD,IAAA;AAAjD,GAAT,CAAP;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AyGXP;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,MAAM,GAAG,uBAAf;;AAEM,SAAU,GAAV,CAAc,KAAd,EAAiC,OAAjC,EAA0D;AAC9D,QAAM,OAAO,GAAG,IAAI,2BAAJ,CAAmB,KAAK,CAAC,KAAzB,EAAgC,MAAhC,CAAhB;AACA,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,KAAD,CAAjC,EAA0C,OAA1C,CAAf;AACA,SAAO;AAAC,IAAA,MAAM,EAAE,MAAM,CAAC,MAAhB;AAAwB,IAAA,KAAK,EAAE,MAAM,CAAC,KAAtC;AAA6C,IAAA,KAAK,EAAE,MAAM,CAAC;AAA3D,GAAP;AACD;;;;;;;;;;AxGZD;;AAKA;;AACA;;AACA;;AACA;;AAEA;;;;;;AA1BA;;;;;;;;;;;;;;;;AA4BM,SAAU,IAAV,CACF,IADE,EACqE;AAEzE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,KAAhB,CAJyE,CAMzE;;AACA,MAAI,KAAK,KAAK,WAAd,EAA2B;AACzB,QAAI,CAAC,CAAC,KAAF,KAAY,WAAhB,EAA6B;AAC3B,aAAO,wBAAS;AAAC,QAAA,MAAM,EAAE;AAAC,UAAA;AAAD,SAAT;AAAc,QAAA;AAAd,OAAT,CAAP;AACD,KAHwB,CAKzB;;;AACA,UAAM,WAAW,GAAG,EAAE,CAAC,KAAH,CAAS,CAAC,CAAC,KAAX,CAApB;AACA,UAAM,MAAM,GAAG,IAAI,CAAC;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAA9B,KAAD,CAAnB;AAEA,UAAM,MAAM,GACR,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,IAAI,EAAE,MAAP;AAAe,QAAA,IAAI,EAAE;AAArB,OAAT;AAA4C,MAAA;AAA5C,KAAR,CADJ;AAGA,IAAA,WAAW,CAAC,OAAZ;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,MAAtC;AAEA,WAAO,MAAP;AACD,GAvBwE,CAyBzE;;;AACA,MAAI,CAAC,CAAC,KAAF,KAAY,WAAhB,EAA6B;AAC3B,UAAM,QAAQ,GAAG,gBAAK;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR,OAAT;AAAqB,MAAA;AAArB,KAAL,CAAjB;AACA,UAAM,MAAM,GAAG,IAAI,CAAC;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAwB,MAAA,OAAxB;AAAiC,MAAA,KAAK,EAAE;AAAC,QAAA;AAAD;AAAxC,KAAD,CAAnB;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACA,WAAO,MAAP;AACD;;AAED,MAAI,CAAC,QAAK,eAAL,CAAqB,CAAC,CAAC,KAAvB,EAA8B,KAA9B,CAAL,EAA2C;AACzC;AACA;AACA,UAAM,MAAM,GAAG,wBAAS;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA;AAAd,KAAT,CAAf;AACA,WAAO;AAAC,MAAA,MAAM,EAAE,MAAM,CAAC,MAAhB;AAAwB,MAAA,KAAK,EAAE,MAAM,CAAC,KAAtC;AAA6C,MAAA;AAA7C,KAAP;AACD;;AAED,MAAI,KAAK,KAAK,OAAd,EAAuB;AACrB,WAAO,cAAI,CAAJ,EAAO,OAAP,CAAP;AACD;;AAED,MAAI,KAAK,KAAK,MAAd,EAAsB;AACpB,UAAM,eAAe,GAAG,OAAO,CAAC,cAAR,CACpB,EADoB,EAChB,MADgB,EACR,QAAK,sBAAL,CAA4B,MAA5B,EAAoC,CAApC,CADQ,CAAxB;AAGA,UAAM,YAAY,GAAiB;AAAC,MAAA,CAAC,EAAE,CAAJ;AAAO,MAAA,CAAC,EAAE;AAAV,KAAnC;AAEA,UAAM,MAAM,GAAG,wBAAS;AAAC,MAAA,MAAM,EAAE,YAAT;AAAuB,MAAA;AAAvB,KAAT,CAAf;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,eAAtC;AACA,WAAO,MAAP;AACD;;AAED,QAAM,IAAI,KAAJ,CAAU,iCAAiC,CAAC,CAAC,KAAK,OAAO,KAAK,EAA9D,CAAN;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,OAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AMtEP;;AACA;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,IAAI,GAAG,iBAAb;AAEO,MAAM,IAAI,GAAG,yCAChB;AAAC,EAAA,SAAS,EAAE,IAAZ;AAAkB,EAAA,eAAe,EAAE,IAAnC;AAAyC,EAAA,aAAa,EAAE;AAAxD,CADgB,CAAb;;AAGA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AmG1BP;;;;;;;;;;;;;;;;AAoBM,MAAO,WAAP,CAAkB;AAStB,EAAA,WAAA,CAAY,MAAZ,EAA4B;AAR5B,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAGA,SAAA,cAAA,GAAiB,CACf;AAAC,MAAA,IAAI,EAAE,QAAP;AAAiB,MAAA,IAAI,EAAE;AAAvB,KADe,EAEf;AAAC,MAAA,IAAI,EAAE,QAAP;AAAiB,MAAA,IAAI,EAAE;AAAvB,KAFe,CAAjB;AAME,SAAK,WAAL,GAAmB,MAAnB;AACA,SAAK,QAAL,GAAgB;;;;;;;;;;;KAAhB;AAYD;;AAvBqB;;;;;;;;;;;ACpBxB;;;;;;;;;;;;;;;;AAoBM,MAAO,iBAAP,CAAwB;AAW5B,EAAA,WAAA,CAAY,MAAZ,EAA4B;AAV5B,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAGA,SAAA,cAAA,GAAiB,CACf;AAAC,MAAA,IAAI,EAAE,QAAP;AAAiB,MAAA,IAAI,EAAE;AAAvB,KADe,EAEf;AAAC,MAAA,IAAI,EAAE,QAAP;AAAiB,MAAA,IAAI,EAAE;AAAvB,KAFe,CAAjB;AAME,SAAK,WAAL,GAAmB,MAAnB;AACA,SAAK,QAAL,GAAgB;;;;;;;;;;;KAAhB;AAYD;;AAzB2B;;;;;;;;;;;;ACH9B;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,WAAV,CAAsB,IAAtB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,YAAD;AAAe,IAAA;AAAf,MAA+B,KAArC;AAEA,MAAI,OAAJ;;AACA,MAAI,qBAAM,OAAN,CAAc,iBAAd,CAAJ,EAAsC;AACpC,IAAA,OAAO,GAAG,IAAI,kCAAJ,CAAsB,CAAC,CAAC,KAAxB,CAAV;AACD,GAFD,MAEO;AACL,IAAA,OAAO,GAAG,IAAI,qBAAJ,CAAgB,CAAC,CAAC,KAAlB,CAAV;AACD;;AACD,QAAM,YAAY,GAAG,CAAC,CAAC,YAAD,CAAD,EAAiB,CAAC,YAAD,CAAjB,CAArB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,CAAC,CAAC,KAAxC,EAA+C,YAA/C,CAAP;AACD;;AAEM,MAAM,iBAAiB,GAAiB;AAC7C,EAAA,UAAU,EAAE,qBADiC;AAE7C,EAAA,WAAW,EAAE,OAFgC;AAG7C,EAAA,UAAU,EAAE;AAHiC,CAAxC;;;;;;;;;;AC1CP;;;;;;;;;;;;;;;;AAmBM,MAAO,iBAAP,CAAwB;AAK5B,EAAA,WAAA,CAAY,KAAZ,EAA2B;AAJ3B,SAAA,aAAA,GAAgB,CAAC,MAAD,EAAS,MAAT,CAAhB;AAKE,SAAK,WAAL,GAAmB,KAAnB;AACA,SAAK,QAAL,GAAgB;;;;;;;;;;;;;KAAhB;AAcD;;AArB2B;;;;;;;;;;;;ACF9B;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBA;AACA;AACA;AACA,SAAS,8BAAT,CACI,aADJ,EAC+B,WAD/B,EACsD;AACpD,SAAO;AACL,IAAA,MAAM,EAAE,WAAW,CAAC,MADf;AAEL,IAAA,KAAK,EAAE,WAAW,CAAC,KAFd;AAGL,IAAA,KAAK,EAAE,aAAa,CAAC;AAHhB,GAAP;AAKD;;AAEK,SAAU,UAAV,CACF,IADE,EACyD;AAC7D,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AAEA,QAAM,KAAK,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAd;AAEA,QAAM,OAAO,GAAG,IAAI,kCAAJ,CAAsB,CAAC,CAAC,KAAxB,CAAhB;AACA,QAAM,aAAa,GAAG,CACpB,8BAA8B,CAAC,CAAD,EAAI,KAAK,CAAC,kBAAN,CAAyB,IAA7B,CADV,EAEpB,8BAA8B,CAAC,CAAD,EAAI,KAAK,CAAC,kBAAN,CAAyB,IAA7B,CAFV,CAAtB;AAKA,SAAO,OAAO,CAAC,eAAR,CACH,OADG,EACM,aADN,EACqB,aAAa,CAAC,CAAD,CAAb,CAAiB,KADtC,CAAP;AAED;;AAEM,MAAM,gBAAgB,GAAiB;AAC5C,EAAA,UAAU,EAAE,oBADgC;AAE5C,EAAA,WAAW,EAAE,OAF+B;AAG5C,EAAA,UAAU,EAAE;AAHgC,CAAvC;;;;;;;;;;AClCP;;AAjBA;;;;;;;;;;;;;;;;AAoBM,MAAO,aAAP,CAAoB;AAKxB;AACA,EAAA,WAAA,CAAY,MAAZ,EAA2C;AAJ3C,SAAA,WAAA,GAAwB,EAAxB;AAKE,SAAK,WAAL,GAAmB,uBAAa,eAAb,CAA6B,MAA7B,EAAqC;AAAE;AAAvC,KAAnB;AACA,SAAK,aAAL,GAAqB,MAAM,CAAC,GAAP,CAAW,CAAC,CAAD,EAAI,CAAJ,KAAU,IAAI,CAAC,EAA1B,CAArB;AAEA,UAAM,OAAO,GAAa,IAAI,KAAJ,CAAU,MAAM,CAAC,MAAP,GAAgB,CAA1B,CAA1B;AACA,IAAA,OAAO,CAAC,CAAD,CAAP,GAAa,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAb;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,CAAC,MAA5B,EAAoC,CAAC,EAArC,EAAyC;AACvC,MAAA,OAAO,CAAC,CAAD,CAAP,GAAa,OAAO,CAAC,CAAC,GAAG,CAAL,CAAP,GAAiB,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAA9B;AACD;;AAED,UAAM,QAAQ,GAAG,CAAC,YAAY,OAAO,CAAC,CAAD,CAAG,6BAAvB,CAAjB;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,CAAC,MAA5B,EAAoC,CAAC,EAArC,EAAyC;AACvC,YAAM,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAL,CAArB;AACA,MAAA,QAAQ,CAAC,IAAT,CACI,iBAAiB,OAAO,CAAC,CAAD,CAAG,IAA3B,GACA,iBAAiB,CAAC,WAAW,KAAK,KAFtC;AAGD;;AACD,UAAM,SAAS,GAAG,OAAO,CAAC,MAA1B;AACA,UAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAR,GAAiB,CAAlB,CAAzB;AACA,IAAA,QAAQ,CAAC,IAAT,CAAc,sBAAsB,SAAS,WAAW,SAAS,KAAjE;AAEA,SAAK,QAAL,GAAgB;;;;;;UAMV,QAAQ,CAAC,IAAT,CAAc,YAAd,CAA2B;;KANjC;AASD;;AApCuB;;;;;;;;;;;ACH1B;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,MAAO,mBAAP,CAA0B;AAO9B,EAAA,WAAA,CAAY,MAAZ,EAAgC,IAAhC,EAA4C;AAL5C,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,WAAA,GAAwB,EAAxB;AAIE,SAAK,WAAL,GAAmB,uBAAa,eAAb,CAA6B,MAA7B,EAAqC,IAArC,CAAnB;AACA,UAAM,KAAK,GAAG,KAAK,WAAnB;AACA,UAAM,IAAI,GAAG,KAAK,CAAC,MAAnB;AACA,UAAM,KAAK,GAAG,wCAAkB,IAAlB,CAAd;AACA,UAAM,MAAM,GAAG,+BAAY,QAAZ,EAAsB,IAAtB,CAAf;AACA,UAAM,QAAQ,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,KAA/B,CAAqC,CAArC,EAAwC,IAAxC,CAAjB;AACA,SAAK,aAAL,GAAqB,MAAM,CAAC,GAAP,CAAW,CAAC,CAAD,EAAI,CAAJ,KAAU,IAAI,CAAC,EAA1B,CAArB;AAEA,UAAM,OAAO,GAAa,IAAI,KAAJ,CAAU,MAAM,CAAC,MAAP,GAAgB,CAA1B,CAA1B;AACA,IAAA,OAAO,CAAC,CAAD,CAAP,GAAa,MAAM,CAAC,CAAD,CAAN,CAAU,IAAV,CAAb;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,CAAC,MAA5B,EAAoC,CAAC,EAArC,EAAyC;AACvC,MAAA,OAAO,CAAC,CAAD,CAAP,GAAa,OAAO,CAAC,CAAC,GAAG,CAAL,CAAP,GAAiB,MAAM,CAAC,CAAD,CAAN,CAAU,IAAV,CAA9B;AACD;;AAED,UAAM,OAAO,GAAG,QAAQ,CAAC,IAAD,CAAxB;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,KAAT,CAAe,CAAC,CAAhB,CAArB;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,IAAT,EAApB;AAEA,QAAI,eAAe,GAAG,OAAO,OAAO,MAAM,OAAO,CAAC,CAAD,CAAG;;oBAEpC,WAAW,WAAW,YAAY,CAAC,IAAb,EAAmB;UAFzD;;AAIA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,CAAC,MAA5B,EAAoC,CAAC,EAArC,EAAyC;AACvC,YAAM,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAL,CAArB,CADuC,CAEvC;AACA;AACA;AACA;;AACA,MAAA,eAAe,IAAI;cACX,OAAO,MAAM,OAAO,CAAC,CAAD,CAAG,QAAQ,OAAO,OAAO,OAAO,CAAC,CAAC,GAAG,CAAL,CAAO;;kBAEvD,CAAC,IAAI,eAAe,CAAC,QAAD,EAAW,OAAX,EAAoB,KAApB,CAA0B;mBAC7C,eAAe,CAAC,YAAD,EAAe,OAAf,EAAwB,KAAxB,CAA8B;UAJ1D;AAMD;;AACD,UAAM,SAAS,GAAG,OAAO,CAAC,MAA1B;AACA,UAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAR,GAAiB,CAAlB,CAArB;AACA,IAAA,eAAe,IAAI;;gBAEP,SAAS,IAAI,eAAe,CAAC,QAAD,EAAW,OAAX,EAAoB,KAApB,CAA0B;iBACrD,eAAe,CAAC,YAAD,EAAe,OAAf,EAAwB,KAAxB,CAA8B,KAH1D;AAKA,SAAK,QAAL,GAAgB;uBACG,QAAQ,CAAC,GAAT,CAAa,CAAC,IAAI,SAAS,CAA3B,CAA6B;UAC1C,eAAe;;;;UAIf,KAAK;sCACuB,MAAM;;UAElC,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;cAClC,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,KAAK,CAAC,IAAI,GAAG,CAAR,CAAU;gCACnB,MAAM;;;UAG5B,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;cAClC,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,KAAK,CAAC,IAAI,GAAG,CAAR,CAAU;gCACnB,MAAM;;;UAG5B,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;cAClC,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,KAAK,CAAC,IAAI,GAAG,CAAR,CAAU;cACrC,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,KAAK,CAAC,IAAI,GAAG,CAAR,CAAU;gCACnB,MAAM;;;;KAtBlC;AA2BD;;AA7E6B;AAgFhC;;;;;;;;;;;;;;;AAWA,SAAS,eAAT,CAAyB,QAAzB,EAA6C,OAA7C,EAA8D,KAA9D,EAA2E;AACzE,QAAM,UAAU,GAAG,QAAQ,CAAC,OAAT,CAAiB,OAAjB,CAAnB;AACA,QAAM,GAAG,GAAG,QAAQ,CAAC,GAAT,CAAa,CAAC,CAAD,EAAI,GAAJ,KAAW;AAClC,QAAI,GAAG,KAAK,UAAZ,EAAwB;AACtB,aAAO,GAAG,CAAC,MAAM,KAAK,EAAtB;AACD,KAFD,MAEO;AACL,aAAO,CAAP;AACD;AACF,GANW,CAAZ;AAOA,SAAO,GAAG,CAAC,IAAJ,EAAP;AACD;;;;;;;;;;AC3GD;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,IAAV,CAAe,IAAf,EAAoE;AAExE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,MAAhB;AACA,QAAM,SAAS,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,KAAK,CAAC,MAA1B,CAAlB;AAEA,SAAO,wBAAS;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE,SAAS,CAAC,kBAAV,CAA6B;AAAjC,KAAT;AAAiD,IAAA;AAAjD,GAAT,CAAP;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AzGdP;;AAGA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AA3BA;;;;;;;;;;;;;;;;AA6BM,SAAU,UAAV,CACF,MADE,EACoB,IADpB,EACkC,OADlC,EAC2D;AAC/D,QAAM,KAAK,GAAG,MAAM,CAAC,CAAD,CAAN,CAAU,KAAxB;;AACA,MAAI,KAAK,KAAK,WAAd,EAA2B;AACzB,UAAM,KAAK,GAAG,MAAM,CAAC,GAAP,CAAY,CAAD,IAAO,gBAAK;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR,OAAT;AAAqB,MAAA;AAArB,KAAL,CAAlB,CAAd;AACA,UAAM,KAAK,GAAG,MAAM,CAAC,GAAP,CAAY,CAAD,IAAO,gBAAK;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR,OAAT;AAAqB,MAAA;AAArB,KAAL,CAAlB,CAAd;AAEA,UAAM,YAAY,GAAG,UAAU,CAAC,KAAD,EAAQ,IAAR,EAAc,OAAd,CAA/B;AACA,UAAM,YAAY,GAAG,UAAU,CAAC,KAAD,EAAQ,IAAR,EAAc,OAAd,CAA/B;AAEA,UAAM,MAAM,GACR,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,IAAI,EAAE,YAAP;AAAqB,QAAA,IAAI,EAAE;AAA3B,OAAT;AAAmD,MAAA;AAAnD,KAAR,CADJ;AAGA,IAAA,KAAK,CAAC,OAAN,CAAc,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAAnB;AACA,IAAA,KAAK,CAAC,OAAN,CAAc,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAAnB;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,YAAtC;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,YAAtC;AAEA,WAAO,MAAP;AACD;;AAED,MAAI,QAAQ,GAAG,OAAO,CAAC,kBAAR,CAA2B,MAA3B,CAAf,CApB+D,CAsB/D;AACA;AACA;AACA;AACA;AACA;;AACA,MAAI,KAAK,KAAK,QAAd,EAAwB;AACtB,IAAA,QAAQ,GAAG,IAAX;AACD;;AAED,MAAI,QAAJ,EAAc;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAM,SAAS,GAAG,MAAM,CAAC,GAAP,CAAW,CAAC,IAAG;AAC/B,YAAM,SAAS,GAAG,eAAK,aAAL,CAAmB,CAAC,CAAC,KAAF,CAAQ,KAAR,CAAc,IAAd,CAAnB,CAAlB;;AACA,YAAM,KAAK,GAAG,CAAC,CAAC,CAAF,EAAK,SAAL,CAAd;AACA,aAAO,sBAAQ;AAAC,QAAA,MAAM,EAAE;AAAC,UAAA,CAAC,EAAE;AAAJ,SAAT;AAAiB,QAAA,OAAjB;AAA0B,QAAA,KAAK,EAAE;AAAC,UAAA;AAAD;AAAjC,OAAR,CAAP;AACD,KAJiB,CAAlB;AAMA,UAAM,eAAe,GAAG,SAAS,CAAC,GAAV,CAAc,CAAC,IAAG;AACxC,aAAO;AAAC,QAAA,IAAI,EAAE,OAAO,CAAC,QAAR,CAAiB,CAAC,CAAC,MAAnB,CAAP;AAAmC,QAAA,KAAK,EAAE,CAAC,CAAC;AAA5C,OAAP;AACD,KAFuB,CAAxB,CAdY,CAkBZ;;AACA,UAAM,QAAQ,GACV,uBAAa,eAAb,CAA6B,SAAS,CAAC,GAAV,CAAc,CAAC,IAAI,CAAC,CAAC,KAArB,CAA7B,EAA0D;AAAE;AAA5D,KADJ;;AAEA,UAAM,YAAY,GAAG,SAAS,CAAC,CAAD,CAAT,CAAa,KAAb,CAAmB,CAAnB,MAA0B,CAA/C;AACA,UAAM,OAAO,GACT,2BAAc,eAAd,EAA+B,QAA/B,EAAyC,KAAzC,EAAgD,YAAhD,CADJ;;AAGA,UAAM,aAAa,GACf,uBAAa,eAAb,CAA6B,MAAM,CAAC,GAAP,CAAW,CAAC,IAAI,CAAC,CAAC,KAAlB,CAA7B,EAAuD,IAAvD,CADJ;;AAGA,UAAM,OAAO,GAAG,OAAO,CAAC,cAAR,CAAuB,aAAvB,EAAsC,KAAtC,EAA6C,OAA7C,CAAhB;AAEA,IAAA,SAAS,CAAC,OAAV,CAAkB,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAAvB;AAEA,WAAO,OAAP;AACD;;AAED,MAAI,MAAM,CAAC,MAAP,GAAgB,qBAAM,SAAN,CAAgB,8BAAhB,CAApB,EAAqE;AACnE,UAAM,QAAQ,GAAG,IAAI,CAAC,KAAL,CAAW,MAAM,CAAC,MAAP,GAAgB,CAA3B,CAAjB;AACA,UAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,KAAP,CAAa,CAAb,EAAgB,QAAhB,CAAD,EAA4B,IAA5B,EAAkC,OAAlC,CAA3B;AACA,UAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,KAAP,CAAa,QAAb,CAAD,EAAyB,IAAzB,EAA+B,OAA/B,CAA5B;AAEA,UAAM,MAAM,GAAG,UAAU,CAAC,CAAC,QAAD,EAAW,SAAX,CAAD,EAAwB,IAAxB,EAA8B,OAA9B,CAAzB;AAEA,IAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,SAAtC;AAEA,WAAO,MAAP;AACD;;AAED,MAAI,qBAAM,OAAN,CAAc,6BAAd,KACA,MAAM,CAAC,CAAD,CAAN,CAAU,KAAV,CAAgB,MAAhB,GAAyB,CAD7B,EACgC;AAC9B,UAAM,OAAO,GAAG,IAAI,sCAAJ,CAAwB,MAAM,CAAC,GAAP,CAAW,CAAC,IAAI,CAAC,CAAC,KAAlB,CAAxB,EAAkD,IAAlD,CAAhB;AACA,WAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,MAAjC,EAAyC,KAAzC,CAAP;AACD;;AAED,QAAM;AAAC,IAAA,SAAD;AAAY,IAAA;AAAZ,MAAwB,gBAAgB,CAAC,MAAD,EAAS,IAAT,EAAe,OAAf,CAA9C;AACA,QAAM,OAAO,GACT,IAAI,yBAAJ,CAAkB,SAAS,CAAC,GAAV,CAAc,CAAC,IAAI,CAAC,CAAC,KAArB,CAAlB,CADJ;AAEA,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,SAAjC,EAA4C,KAA5C,CAAf;AAEA,EAAA,SAAS,CAAC,OAAV,CAAkB,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAAvB;AACA,QAAM,cAAc,GAChB,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAsB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR,KAA7B;AAAgD,IAAA;AAAhD,GAAR,CADJ;AAEA,EAAA,OAAO,CAAC,6BAAR,CAAsC,MAAtC;AAEA,SAAO,cAAP;AACD;;AAED,SAAS,gBAAT,CACI,MADJ,EAC0B,IAD1B,EACwC,OADxC,EACiE;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAM,QAAQ,GAAG,uBAAa,eAAb,CAA6B,MAAM,CAAC,GAAP,CAAW,CAAC,IAAI,CAAC,CAAC,KAAlB,CAA7B,EAAuD,IAAvD,CAAjB;;AACA,QAAM,SAAS,GAAG,MAAM,CAAC,GAAP,CACd,CAAC,IAAI,sBAAQ;AACX,IAAA,MAAM,EAAE;AAAC,MAAA;AAAD,KADG;AAEX,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,CAAC,CAAF,EAAK,eAAK,aAAL,CAAmB,CAAC,CAAC,KAAF,CAAQ,KAAR,CAAc,IAAd,CAAnB,CAAL;AAAR,KAFI;AAGX,IAAA;AAHW,GAAR,CADS,CAAlB;AAOA,SAAO;AAAC,IAAA,SAAD;AAAY,IAAA;AAAZ,GAAP;AACD;;;;;;;;;;A0GlID;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,MAAV,CACF,IADE,EAEuE;AAE3E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAS,KAAf;;AAEA,QAAM,KAAK,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,MAAM,CAAC,CAAD,CAAN,CAAU,KAApC,EAA2C,CAA3C,CAAd;;AACA,QAAM,QAAQ,GACV,uBAAa,eAAb,CAA6B,MAAM,CAAC,GAAP,CAAW,CAAC,IAAI,CAAC,CAAC,KAAlB,CAA7B,EAAuD,KAAvD,CADJ;;AAGA,MAAI,eAAK,aAAL,CAAmB,QAAnB,MAAiC,CAArC,EAAwC;AACtC,WAAO,OAAO,CAAC,cAAR,CAAuB,QAAvB,EAAiC,MAAM,CAAC,CAAD,CAAN,CAAU,KAA3C,EAAkD,EAAlD,CAAP;AACD,GAX0E,CAa3E;;;AACA,QAAM,OAAO,GAAG,MAAM,CAAC,MAAP,CAAc,CAAC,IAAI,eAAK,aAAL,CAAmB,CAAC,CAAC,KAArB,IAA8B,CAAjD,CAAhB;;AACA,MAAI,OAAO,CAAC,MAAR,KAAmB,CAAvB,EAA0B;AACxB,WAAO,wBAAS;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE,OAAO,CAAC,CAAD;AAAX,OAAT;AAA0B,MAAA;AAA1B,KAAT,CAAP;AACD;;AAED,QAAM,MAAM,GAAG,OAAO,CAAC,GAAR,CAAY,CAAC,IAAI,CAAC,CAAC,KAAnB,CAAf;;AACA,yBAAa,sBAAb,CAAoC,MAApC,EAA4C,KAA5C;;AAEA,SAAO,6BAAW,OAAX,EAAoB,KAApB,EAA2B,OAA3B,CAAP;AACD;;AAEM,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;AClDP;;;;;;;;;;;;;;;;AAoBM,MAAO,aAAP,CAAoB;AAKxB,EAAA,WAAA,CACI,QADJ,EACuC,OAAO,GAAG,KADjD,EAEI,UAAA,GAAqB,IAFzB,EAE+B,yBAAyB,GAAG,KAF3D,EAGI,iBAAiB,GAAG,KAHxB,EAG6B;AAP7B,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,GAAN,CAAhB;AAQE,SAAK,WAAL,GAAmB,QAAQ,CAAC,QAA5B;AACA,UAAM,MAAM,GAAG,QAAQ,CAAC,OAAT,CAAiB,GAAhC;AACA,UAAM,OAAO,GAAG,QAAQ,CAAC,OAAT,CAAiB,IAAjC;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,cAAhC;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AAEA,UAAM,qBAAqB,GAAG,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,UAAT,GAAsB,CAAjC,IAAsC,CAApE;AACA,UAAM,uBAAuB,GAAG,QAAQ,CAAC,UAAT,GAAsB,CAAtD;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,UAAT,KAAwB,cAA/C;AAEA,UAAM,MAAM,GAAG,cAAc,GAAG,CAAH,GAAO,CAApC;AACA,UAAM,MAAM,GAAG,cAAc,GAAG,CAAH,GAAO,CAApC;AACA,UAAM,UAAU,GAAG,cAAc,GAAG,CAAH,GAAO,CAAxC;AAEA,QAAI,iBAAiB,GAAG,EAAxB;AAAA,QAA4B,sBAAsB,GAAG,EAArD;;AACA,QAAI,UAAJ,EAAgB;AACd,UAAI,yBAAJ,EAA+B;AAC7B,QAAA,iBAAiB,GAAG;;YAEhB,UAAU;UAFd;AAID,OALD,MAKO,IAAI,iBAAJ,EAAuB;AAC5B,QAAA,iBAAiB,GAAG;;YAEhB,UAAU;UAFd;AAID,OALM,MAKA;AACL,QAAA,iBAAiB,GAAG;;cAEd,UAAU;;SAFhB;AAKD;;AAED,MAAA,sBAAsB,GAAG,8BAAzB;AACD;;AAED,UAAM,cAAc,GAAG,OAAO,GAAG,iCAAH,GAAuC,EAArE;;AACA,QAAI,OAAJ,EAAa;AACX,WAAK,aAAL,CAAmB,IAAnB,CAAwB,MAAxB;AACD;;AAED,QAAI,yBAAJ,EAA+B;AAC7B,WAAK,aAAL,CAAmB,IAAnB,CAAwB,wBAAxB;AACD;;AAED,QAAI,iBAAJ,EAAuB;AACrB,WAAK,aAAL,CAAmB,IAAnB,CAAwB,gBAAxB;AACD;;AAED,SAAK,QAAL,GAAgB;QACZ,iBAAiB;;oCAEW,YAAY,KAAK,WAAW;iCAC/B,MAAM,KAAK,OAAO;;;;;0BAKzB,UAAU;;;2BAGT,MAAM,aAAa,MAAM;;;;;;;gCAOpB,YAAY;qCACP,cAAc;;gCAEnB,QAAQ,CAAC,QAAQ;;;;kCAIf,WAAW;uCACN,aAAa;;kCAElB,QAAQ,CAAC,OAAO;;;;oCAId,qBAAqB;;;;;;;;oBAQrC,cAAc;;;;;;;;;;;;;;;;;;;kBAmBhB,uBAAuB,KAAK,CAAC;;oBAE3B,cAAc;;0CAEQ,qBAAqB;mCAC5B,qBAAqB;;;kCAGtB,qBAAqB;mCACpB,qBAAqB;;;yBAG/B,uBAAuB,KAAK,CAAC;;+BAEvB,qBAAqB;+BACrB,qBAAqB;;;oBAGhC,cAAc;;wCAEM,qBAAqB;wCACrB,qBAAqB;;;;;gCAK7B,qBAAqB;gCACrB,qBAAqB;;;;;yBAK5B,uBAAuB,KAAK,CAAC;;+BAEvB,qBAAqB;+BACrB,qBAAqB;+BACrB,qBAAqB;;;oBAGhC,cAAc;;wCAEM,qBAAqB;wCACrB,qBAAqB;wCACrB,qBAAqB;;;;;gCAK7B,qBAAqB;gCACrB,qBAAqB;gCACrB,qBAAqB;;;;;;;;;;UAU3C,cAAc;UACd,sBAAsB;;;KAzH5B;AA6HD;;AA5LuB;;;;AA+LpB,MAAO,aAAP,CAAoB;AAKxB,EAAA,WAAA,CAAY,QAAZ,EAA6C;AAJ7C,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,GAAN,CAAhB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,QAA5B;AACA,UAAM,QAAQ,GAAG,QAAQ,CAAC,OAAT,CAAiB,KAAlC;AACA,UAAM,MAAM,GAAG,QAAQ,CAAC,OAAT,CAAiB,GAAhC;AACA,UAAM,OAAO,GAAG,QAAQ,CAAC,OAAT,CAAiB,IAAjC;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,cAAhC;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AAEA,UAAM,qBAAqB,GAAG,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,UAAT,GAAsB,CAAjC,IAAsC,CAApE;AACA,UAAM,uBAAuB,GAAG,QAAQ,CAAC,UAAT,GAAsB,CAAtD;AAEA,SAAK,QAAL,GAAgB;oCACgB,WAAW,KAAK,YAAY,KACxD,WAAW;iCACc,QAAQ,KAAK,MAAM,KAAK,OAAO;;;;;;;;;;;;;;;;gCAgBhC,WAAW;qCACN,aAAa;;gCAElB,QAAQ,CAAC,OAAO;;;;kCAId,YAAY;uCACP,cAAc;;kCAEnB,QAAQ,CAAC,QAAQ;;;;oCAIf,WAAW;yCACN,aAAa;;oCAElB,QAAQ,CAAC,OAAO;;;;sCAId,qBAAqB;;;;;;;;;;;;;;;;;oBAiBvC,uBAAuB,KAAK,CAAC;;4CAEL,qBAAqB;qCAC5B,qBAAqB;2BAC/B,uBAAuB,KAAK,CAAC;;4CAEZ,qBAAqB;4CACrB,qBAAqB;;;qCAG5B,qBAAqB;qCACrB,qBAAqB;;;2BAG/B,uBAAuB,KAAK,CAAC;;4CAEZ,qBAAqB;4CACrB,qBAAqB;4CACrB,qBAAqB;;;qCAG5B,qBAAqB;qCACrB,qBAAqB;qCACrB,qBAAqB;;;;;;;;;KAhFtD;AA0FD;;AAjHuB;;;;;;;;;;;ACjM1B;;AAlBA;;;;;;;;;;;;;;;;AAqBM,MAAO,mBAAP,CAA0B;AAO9B,EAAA,WAAA,CACI,WADJ,EAC2B,UAD3B,EAEI,QAFJ,EAEqC;AARrC,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAOE,SAAK,WAAL,GAAmB,WAAnB;AAEA,UAAM;AACJ,MAAA,WADI;AAEJ,MAAA,UAFI;AAGJ,MAAA,WAHI;AAIJ,MAAA,YAJI;AAKJ,MAAA,OALI;AAMJ,MAAA,QANI;AAOJ,MAAA,aAPI;AAQJ,MAAA,cARI;AASJ,MAAA;AATI,QAUF,QAVJ;AAWA,UAAM;AAAC,MAAA,IAAD;AAAO,MAAA;AAAP,QAAc,OAApB;AACA,UAAM,gBAAgB,GAAG,UAAU,GAAG,WAAtC;AACA,UAAM,IAAI,GAAG,uCAAb;AACA,UAAM,cAAc,GAAG,UAAU,KAAK,cAAtC;AACA,UAAM,MAAM,GAAG,cAAc,GAAG,CAAH,GAAO,CAApC;AACA,UAAM,MAAM,GAAG,cAAc,GAAG,CAAH,GAAO,CAApC;AAEA,QAAI,QAAQ,GAAG,EAAf;;AAEA,SAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,IAAI,CAAzB,EAA4B,GAAG,EAA/B,EAAmC;AACjC,WAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,IAAI,CAAzB,EAA4B,GAAG,EAA/B,EAAmC;AACjC,QAAA,QAAQ,IAAI;gCACY,GAAG;yBACV,GAAG;;4BAEA,WAAW,CAAC,CAAD,CAAG,aAAa,WAAW,CAAC,CAAD,CAAG;0CAC3B,QAAQ,QAAQ,YAAY,MAC1D,GAAG;6BACc,cAAc,aAAa,gBAAgB;;sBAElD,UAAU,CAAC,MAAD,CAAQ;;qDAEa,QAAQ,QACjD,WAAW,OAAO,IAAI;+BACH,aAAa,2BAChC,gBAAgB,QAAQ,UAAU;;wBAEtB,UAAU,CAAC,MAAD,CAAQ;;2CAEC,UAAU;;sBAE/B,cAAc;;2BAET,GAAG,GAAG,CAAN,GAAU,GAAG;;;;;2BAKb,GAAG,GAAG,CAAN,GAAU,GAAG;;;;;;;SA3BhC;AAmCD;AACF;;AAED,SAAK,QAAL,GAAgB;;;;;;;;;UASV,QAAQ;;UAER,IAAI,CAAC,MAAM;;KAXjB;AAcD;;AAtF6B;;;;;;;;;;;;ACJhC;;AAGA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;AA3BA;;;;;;;;;;;;;;;;AAwCA;AACA;AACA;AACM,SAAU,cAAV,CAAyB;AAC7B,EAAA,CAD6B;AAE7B,EAAA,MAF6B;AAG7B,EAAA,QAH6B;AAI7B,EAAA,OAJ6B;AAK7B,EAAA,IAAI,GAAG,IALsB;AAM7B,EAAA,sBAAsB,GAAG,IANI;AAO7B,EAAA,cAAc,GAAG,CAPY;AAQ7B,EAAA,UAAU,GAAG;AARgB,CAAzB,EASS;AACb;AACA;AACA,QAAM,MAAM,GAAG,CAAC,CAAC,KAAjB;AACA,QAAM,QAAQ,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAjB;AACA,QAAM,eAAe,GAAG,QAAQ,CAAC,UAAjC;AACA,QAAM,WAAW,GAAG,MAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,CAAD,CAAlB,GAAwB,MAAM,CAAC,CAAD,CAAlD;AACA,QAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAlC;AACA,QAAM,cAAc,GAAG,QAAQ,CAAC,UAAT,KAAwB,cAA/C;AACA,QAAM,UAAU,GAAG,KAAnB;AACA,QAAM,UAAU,GAAG,KAAnB;AAEA,MAAI,GAAJ;AACA,QAAM,aAAa,GAAiB,EAApC,CAba,CAeb;AACA;;AACA,QAAM,yBAAyB,GAC3B,CAAC,WAAW,KAAK,CAAhB,IAAqB,gBAAgB,KAAK,CAA3C,KACA,eAAe,GAAG,6CAFtB;AAGA,QAAM,sBAAsB,GAAG,MAAM,CAAC,CAAD,CAAN,GAAY,CAAZ,KAAkB,CAAlB,IAAuB,CAAC,CAAC,QAAQ,CAAC,QAAjE;;AAEA,MAAI,yBAAyB,IAAI,CAAC,qBAAM,OAAN,CAAc,qBAAd,CAA9B,IACA,CAAC,qBAAM,OAAN,CAAc,8BAAd,CADD,IAEA,CAAC,sBAFL,EAE6B;AAC3B,UAAM,WAAW,GAAG,cAAc,GAAG,MAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,CAAD,CAAlB,GAAwB,MAAM,CAAC,CAAD,CAAjC,GACG,MAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,CAAD,CAAlB,GAAwB,MAAM,CAAC,CAAD,CADnE;AAEA,UAAM,SAAS,GAAG,sBAAQ;AACxB,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OADgB;AAExB,MAAA,OAFwB;AAGxB,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE,CAAC,CAAD,EAAI,WAAJ,EAAiB,QAAQ,CAAC,UAA1B;AAAR;AAHiB,KAAR,CAAlB;AAKA,UAAM,cAAc,GAAG,sBAAQ;AAC7B,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OADqB;AAE7B,MAAA,OAF6B;AAG7B,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE,CAAC,CAAD,EAAI,QAAQ,CAAC,UAAb,EAAyB,QAAQ,CAAC,WAAlC;AAAR;AAHsB,KAAR,CAAvB;AAKA,UAAM,MAAM,GAAG,uCAAgB;AAC7B,MAAA,CAAC,EAAE,SAD0B;AAE7B,MAAA,CAAC,EAAE,cAF0B;AAG7B,MAAA,UAH6B;AAI7B,MAAA,UAJ6B;AAK7B,MAAA,OAL6B;AAM7B,MAAA,IAN6B;AAO7B,MAAA,UAP6B;AAQ7B,MAAA,sBAR6B;AAS7B,MAAA;AAT6B,KAAhB,CAAf;AAYA,IAAA,GAAG,GAAG,sBACF;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAsB,MAAA,OAAtB;AAA+B,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE,QAAQ,CAAC;AAAjB;AAAtC,KADE,CAAN;AAGA,IAAA,aAAa,CAAC,IAAd,CAAmB,SAAnB;AACA,IAAA,aAAa,CAAC,IAAd,CAAmB,cAAnB;AACA,IAAA,aAAa,CAAC,IAAd,CAAmB,MAAnB;AACD,GAjCD,MAiCO;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAM,WAAW,GAAG,cAAc,GAC9B,MAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,CAAD,CAAlB,IAAyB,MAAM,CAAC,CAAD,CAAN,GAAY,CAArC,CAD8B,GAE9B,MAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,CAAD,CAAlB,IAAyB,MAAM,CAAC,CAAD,CAAN,GAAY,CAArC,CAFJ;AAGA,UAAM,SAAS,GAAe;AAC5B,MAAA,MAAM,EAAE,CAAC,CAAC,MADkB;AAE5B,MAAA,KAAK,EAAE,CAAC,CAAD,EAAI,WAAJ,EAAiB,QAAQ,CAAC,UAA1B,CAFqB;AAG5B,MAAA,KAAK,EAAE,CAAC,CAAC;AAHmB,KAA9B,CAZK,CAiBL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,UAAM,qBAAqB,GAAG,QAAQ,CAAC,KAAvC;AACA,IAAA,QAAQ,CAAC,KAAT,GAAiB,QAAQ,CAAC,KAAT,CAAe,KAAf,EAAjB;AACA,IAAA,QAAQ,CAAC,KAAT,CAAe,QAAQ,CAAC,KAAT,CAAe,MAAf,GAAwB,CAAvC;;AACA,mBAAK,MAAL,CACI,UAAU,CAAC,aAAX,CAAyB,QAAQ,CAAC,KAAlC,EAAyC,SAAS,CAAC,KAAnD,CADJ,EAEI,MAAM,kBAAkB,QAAQ,CAAC,KAAK,OAClC,SAAS,CAAC,KAAK,aAHvB;;AAIA,UAAM,cAAc,GAAG,sBAAQ;AAC7B,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OADqB;AAE7B,MAAA,OAF6B;AAG7B,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE,CAAC,CAAD,EAAI,QAAQ,CAAC,UAAb,EAAyB,QAAQ,CAAC,WAAlC;AAAR;AAHsB,KAAR,CAAvB;AAKA,IAAA,aAAa,CAAC,IAAd,CAAmB,cAAnB;AACA,UAAM,aAAa,GAAG,uCAAgB;AACpC,MAAA,CAAC,EAAE,SADiC;AAEpC,MAAA,CAAC,EAAE,cAFiC;AAGpC,MAAA,OAHoC;AAIpC,MAAA,UAJoC;AAKpC,MAAA,UALoC;AAMpC,MAAA,IANoC;AAOpC,MAAA,UAPoC;AAQpC,MAAA,sBARoC;AASpC,MAAA;AAToC,KAAhB,CAAtB;AAYA,UAAM,oBAAoB,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,aAAa,CAAC,MAAlC,CAA7B;;AACA,mBAAK,MAAL,CACI,oBAAoB,CAAC,QADzB,EAEI,MAAM,6CAFV,EAnDK,CAsDL;;;AACA,IAAA,QAAQ,CAAC,KAAT,GAAiB,qBAAjB,CAvDK,CAwDL;AACA;;AACA,IAAA,oBAAoB,CAAC,KAArB,GAA6B,QAAQ,CAAC,QAAtC;AAEA,IAAA,GAAG,GAAG,wBAAS;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAA6B,MAAA;AAA7B,KAAT,CAAN;AACA,IAAA,GAAG,CAAC,KAAJ,GAAY,QAAQ,CAAC,QAArB;AAEA,IAAA,aAAa,CAAC,IAAd,CAAmB,aAAnB;AACD;;AAED,OAAK,MAAM,CAAX,IAAgB,aAAhB,EAA+B;AAC7B,IAAA,OAAO,CAAC,6BAAR,CAAsC,CAAtC;AACD;;AAED,SAAO,GAAP;AACD,EAED;AACA;;;AACM,SAAU,gBAAV,CAA2B;AAC/B,EAAA,CAD+B;AAE/B,EAAA,MAF+B;AAG/B,EAAA,QAH+B;AAI/B,EAAA,OAJ+B;AAK/B,EAAA,IAAI,GAAG,IALwB;AAM/B,EAAA,sBAAsB,GAAG,IANM;AAO/B,EAAA,cAAc,GAAG,CAPc;AAQ/B,EAAA,UAAU,GAAG;AARkB,CAA3B,EASS;AACb;AACA;AACA;AACA;AACA;AACA;AACA,QAAM;AACJ,IAAA,WADI;AAEJ,IAAA,YAFI;AAGJ,IAAA,UAHI;AAIJ,IAAA,QAJI;AAKJ,IAAA,SALI;AAMJ,IAAA;AANI,MAOF,QAPJ;AASA,QAAM,cAAc,GAAG,UAAU,KAAK,cAAtC;AAEA,QAAM,SAAS,GAAG,WAAW,GAAG,YAAd,GAA6B,UAA/C;AACA,QAAM,OAAO,GAAG,SAAS,GAAG,QAA5B;AACA,QAAM,UAAU,GAAG,CAAC,SAAD,EAAY,OAAZ,CAAnB;AACA,QAAM,UAAU,GAAG,IAAnB;AACA,QAAM,UAAU,GAAG,KAAnB;AAEA,QAAM,aAAa,GAAiB,EAApC;AAEA,QAAM,SAAS,GACX,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA;AAAD,KAAT;AAAc,IAAA,OAAd;AAAuB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,CAAC,KAAF,CAAQ,KAAR,CAAc,CAAd;AAAR;AAA9B,GAAR,CADJ;AAEA,QAAM,KAAK,GAAG,sBAAQ;AACpB,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KADY;AAEpB,IAAA,OAFoB;AAGpB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,CAAD,EAAI,SAAJ,EAAe,eAAK,aAAL,CAAmB,MAAM,CAAC,KAA1B,IAAmC,SAAlD;AAAR;AAHa,GAAR,CAAd;AAMA,EAAA,aAAa,CAAC,IAAd,CAAmB,SAAnB;AACA,EAAA,aAAa,CAAC,IAAd,CAAmB,KAAnB;AAEA,QAAM,aAAa,GACf,IAAI,sCAAJ,CAAwB,UAAxB,EAAoC,SAAS,CAAC,KAA9C,EAAqD,QAArD,CADJ;AAEA,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,aAAxB,EAAuC,CAAC,SAAD,CAAvC,EAAoD,SAApD,CAAf;AACA,QAAM,cAAc,GAAG,sBAAQ;AAC7B,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KADqB;AAE7B,IAAA,OAF6B;AAG7B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,CAAD,EAAI,UAAU,CAAC,CAAD,CAAd,EAAmB,UAAU,CAAC,CAAD,CAA7B;AAAR;AAHsB,GAAR,CAAvB;AAMA,EAAA,aAAa,CAAC,IAAd,CAAmB,MAAnB;AACA,EAAA,aAAa,CAAC,IAAd,CAAmB,cAAnB;AAEA,QAAM,OAAO,GAAG,IAAI,IAAI,IAAxB;AACA,QAAM,yBAAyB,GAAG,sBAAsB,IAAI,IAA5D;AACA,QAAM,iBAAiB,GAAG,UAAU,KAAK,WAAzC;AACA,QAAM,eAAe,GACjB,UAAU,GAAG,sDAA6B,UAA7B,EAAyC,IAAzC,CAAH,GAAoD,IADlE;AAEA,QAAM,aAAa,GAAG,IAAI,sCAAJ,CAClB,cAAc,CAAC,KADG,EAElB,KAAK,CAAC,KAFY,EAGlB,CAAC,CAAD,EAAI,OAAJ,EAAa,QAAQ,CAAC,WAAtB,CAHkB,EAGkB,UAHlB,EAG8B,UAH9B,EAG0C,OAH1C,EAIlB,eAJkB,EAID,yBAJC,EAI0B,iBAJ1B,CAAtB;AAKA,QAAM,MAAM,GAAiB,CAAC,cAAD,EAAiB,KAAjB,CAA7B;;AACA,MAAI,IAAJ,EAAU;AACR,IAAA,MAAM,CAAC,IAAP,CAAY,IAAZ;AACD;;AACD,MAAI,yBAAJ,EAA+B;AAC7B,IAAA,MAAM,CAAC,IAAP,CAAY,sBAAZ;AACD;;AACD,MAAI,iBAAJ,EAAuB;AACrB,UAAM,eAAe,GAAG,OAAO,CAAC,cAAR,CACpB,EADoB,EAChB,SADgB,EAEpB,eAAK,iBAAL,CAAuB,cAAvB,EAA0D,SAA1D,CAFoB,CAAxB;AAGA,IAAA,MAAM,CAAC,IAAP,CAAY,eAAZ;AACA,IAAA,aAAa,CAAC,IAAd,CAAmB,eAAnB;AACD;;AACD,QAAM,OAAO,GAAG,OAAO,CAAC,eAAR,CAAwB,aAAxB,EAAuC,MAAvC,EAA+C,SAA/C,CAAhB;AAEA,QAAM,QAAQ,GAAG,cAAc,GAC3B,CAAC,CAAD,EAAI,SAAJ,EAAe,QAAf,EAAyB,QAAQ,CAAC,WAAlC,CAD2B,GAE3B,CAAC,CAAD,EAAI,QAAQ,CAAC,WAAb,EAA0B,SAA1B,EAAqC,QAArC,CAFJ;AAGA,QAAM,GAAG,GACL,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAuB,IAAA,OAAvB;AAAgC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAvC,GAAR,CADJ;AAGA,EAAA,aAAa,CAAC,IAAd,CAAmB,OAAnB;;AACA,OAAK,MAAM,CAAX,IAAgB,aAAhB,EAA+B;AAC7B,IAAA,OAAO,CAAC,6BAAR,CAAsC,CAAtC;AACD;;AAED,SAAO,GAAP;AACD;;;;;;;;;;ACrQD;;AAGA;;AACA;;AACA;;AAtBA;;;;;;;;;;;;;;;;AAwBM,SAAU,MAAV,CACF,IADE,EAEuE;AAC3E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAc,MAApB;AACA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA,GAAV;AAAe,IAAA,UAAf;AAA2B,IAAA,SAA3B;AAAsC,IAAA;AAAtC,MAAyD,KAA/D;;AAEA,QAAM,WAAW,GAAG,uBAAa,uBAAb,CAAqC,UAArC,CAApB;;AACA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EAEb,MAAM,CAAC,KAFM,EAEqC,OAFrC,EAE8C,SAF9C,EAEyD,GAFzD,EAGb,eAHa,EAGI;AAAM;AAHV,IAG2B,WAH3B,CAAjB;;AAIA,MAAI,GAAJ;;AAEA,MAAI,QAAQ,CAAC,YAAT,KAA0B,CAA1B,IAA+B,QAAQ,CAAC,WAAT,KAAyB,CAAxD,IACA,QAAQ,CAAC,cAAT,KAA4B,CAD5B,IACiC,QAAQ,CAAC,aAAT,KAA2B,CAD5D,IAEA,QAAQ,CAAC,YAAT,KAA0B,CAF1B,IAE+B,QAAQ,CAAC,WAAT,KAAyB,CAFxD,KAGC,QAAQ,CAAC,OAAT,CAAiB,IAAjB,KAA0B,MAA1B,IAAoC,QAAQ,CAAC,OAAT,CAAiB,IAAjB,KAA0B,OAH/D,CAAJ,EAG6E;AAC3E,IAAA,GAAG,GAAG,iCAAe;AAAC,MAAA,CAAD;AAAI,MAAA,MAAJ;AAAY,MAAA,QAAZ;AAAsB,MAAA;AAAtB,KAAf,CAAN;AACD,GALD,MAKO,IAAI,qBAAM,OAAN,CAAc,mBAAd,KAAsC,CAAC,CAAC,KAAF,CAAQ,CAAR,MAAe,CAAzD,EAA4D;AACjE,IAAA,GAAG,GAAG,mCAAiB;AAAC,MAAA,CAAD;AAAI,MAAA,MAAJ;AAAY,MAAA,QAAZ;AAAsB,MAAA;AAAtB,KAAjB,CAAN;AACD,GAFM,MAEA;AACL,UAAM,OAAO,GAAG,IAAI,uBAAJ,CAAkB,QAAlB,CAAhB;AACA,IAAA,GAAG,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,EAAI,MAAJ,CAAjC,EAA8C,SAA9C,CAAN;AACD;;AAED,QAAM,WAAW,GACb,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAmB,IAAA,OAAnB;AAA4B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,QAAQ,CAAC;AAAjB;AAAnC,GAAR,CADJ;AAEA,EAAA,OAAO,CAAC,6BAAR,CAAsC,GAAtC;AAEA,SAAO,WAAP;AACD;;AAEM,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;ACzDP;;;;;;;;;;;;;;;;AAoBM,MAAO,sBAAP,CAA6B;AAKjC,EAAA,WAAA,CAAY,QAAZ,EAA6C;AAJ7C,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,IAAN,CAAhB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,WAA5B;AAEA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,MAAM,GAAG,QAAQ,CAAC,OAAT,CAAiB,GAAhC;AACA,UAAM,OAAO,GAAG,QAAQ,CAAC,OAAT,CAAiB,IAAjC;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,UAAT,KAAwB,cAA/C;AAEA,SAAK,QAAL,GAAgB;;;;;;;;;;;;8BAYU,QAAQ,CAAC,SAAS;kCACd,QAAQ,CAAC,SAAS;iCACnB,YAAY,MAAM,MAAM;;kCAEvB,QAAQ,CAAC,QAAQ;;;;oCAIf,QAAQ,CAAC,QAAQ;mCAClB,WAAW,MAAM,OAAO;;oCAEvB,QAAQ,CAAC,OAAO;;;;oBAIhC,cAAc;;;;;;;;;;;;;;;KA3B9B;AA2CD;;AAzDgC;;;;AA4D7B,MAAO,qBAAP,CAA4B;AAKhC,EAAA,WAAA,CAAY,QAAZ,EAA6C;AAJ7C,SAAA,aAAA,GAAgB,CAAC,IAAD,EAAO,GAAP,CAAhB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,OAA5B;AAEA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,UAAT,KAAwB,cAA/C;AAEA,UAAM,MAAM,GAAG,YAAY,GAAG,CAAf,GAAmB,QAAQ,CAAC,OAAT,CAAiB,GAAnD;AACA,UAAM,OAAO,GAAG,WAAW,GAAG,CAAd,GAAkB,QAAQ,CAAC,OAAT,CAAiB,IAAnD;AAEA,UAAM,MAAM,GAAG,cAAc,GAAG,CAAH,GAAO,CAApC;AACA,UAAM,MAAM,GAAG,cAAc,GAAG,CAAH,GAAO,CAApC;AACA,UAAM,UAAU,GAAG,cAAc,GAAG,CAAH,GAAO,CAAxC;AAEA,SAAK,QAAL,GAAgB;iCACa,MAAM,KAAK,OAAO;;;;;0BAKzB,UAAU;;wCAEI,MAAM,aAAa,MAAM;;;;;;;gCAOjC,YAAY;gDACI,YAAY;;oCAExB,QAAQ,CAAC,SAAS;;;;;yBAK7B,YAAY;;kCAEH,WAAW;kDACK,WAAW;;sCAEvB,QAAQ,CAAC,QAAQ;;;;;;2BAM5B,WAAW;;oCAEF,QAAQ,CAAC,WAAW;;oBAEpC,cAAc;;;;;;;;;;;;;;;KAtC9B;AAsDD;;AA3E+B;;;;AA8E5B,MAAO,sBAAP,CAA6B;AAKjC,EAAA,WAAA,CAAY,QAAZ,EAA6C;AAJ7C,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,IAAN,CAAhB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,WAA5B;AAEA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,QAAQ,GAAG,QAAQ,CAAC,OAAT,CAAiB,KAAlC;AACA,UAAM,MAAM,GAAG,QAAQ,CAAC,OAAT,CAAiB,GAAhC;AACA,UAAM,OAAO,GAAG,QAAQ,CAAC,OAAT,CAAiB,IAAjC;AAEA,SAAK,QAAL,GAAgB;;;;;;;;;;;8BAWU,QAAQ,CAAC,SAAS;kCACd,QAAQ,CAAC,QAAQ;iCAClB,WAAW,MAAM,QAAQ;;kCAExB,QAAQ,CAAC,OAAO;;;;oCAId,QAAQ,CAAC,SAAS;mCACnB,YAAY,MAAM,MAAM;;oCAEvB,QAAQ,CAAC,QAAQ;;;;sCAIf,QAAQ,CAAC,QAAQ;qCAClB,WAAW,MAAM,OAAO;;sCAEvB,QAAQ,CAAC,OAAO;;;;;;;;;;;;;KA7BlD;AA2CD;;AA1DgC;;;;AA6D7B,MAAO,qBAAP,CAA4B;AAKhC,EAAA,WAAA,CAAY,QAAZ,EAA6C;AAJ7C,SAAA,aAAA,GAAgB,CAAC,IAAD,EAAO,GAAP,CAAhB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,OAA5B;AAEA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AAEA,UAAM,QAAQ,GAAG,WAAW,GAAG,CAAd,GAAkB,QAAQ,CAAC,OAAT,CAAiB,KAApD;AACA,UAAM,MAAM,GAAG,YAAY,GAAG,CAAf,GAAmB,QAAQ,CAAC,OAAT,CAAiB,GAAnD;AACA,UAAM,OAAO,GAAG,WAAW,GAAG,CAAd,GAAkB,QAAQ,CAAC,OAAT,CAAiB,IAAnD;AAEA,SAAK,QAAL,GAAgB;iCACa,QAAQ,KAAK,MAAM,KAAK,OAAO;;;;;;;;;;;;;;gCAchC,WAAW;gDACK,WAAW;;oCAEvB,QAAQ,CAAC,QAAQ;;;;;yBAK5B,WAAW;;kCAEF,YAAY;kDACI,YAAY;;sCAExB,QAAQ,CAAC,SAAS;;;;;;2BAM7B,YAAY;;oCAEH,WAAW;oDACK,WAAW;;wCAEvB,QAAQ,CAAC,QAAQ;;;;;;6BAM5B,WAAW;;sCAEF,QAAQ,CAAC,WAAW;;;;;;;;;;KA/CtD;AA0DD;;AA7E+B;;;;;;;;;;;;AC1MlC;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,oBAAV,CAA+B,IAA/B,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAU,MAAhB;AACA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA,GAAV;AAAe,IAAA,UAAf;AAA2B,IAAA,eAA3B;AAA4C,IAAA;AAA5C,MAA2D,KAAjE;;AAEA,QAAM,WAAW,GAAG,uBAAa,uBAAb,CAAqC,UAArC,CAApB;;AACA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EACgC,WADhC,EAC6C,OAD7C,EAEb;AAAE;AAFW,IAEM,GAFN,EAEW,eAFX,EAE4B;AAAM;AAFlC,IAGb,WAHa,CAAjB;;AAKA,QAAM,OAAO,GAAG,IAAI,yCAAJ,CAA2B,QAA3B,CAAhB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,EAAI,EAAJ,CAAjC,EAA0C,SAA1C,CAAP;AACD;;AAEM,MAAM,0BAA0B,GAAiB;AACtD,EAAA,UAAU,EAAE,8BAD0C;AAEtD,EAAA,WAAW,EAAE,OAFyC;AAGtD,EAAA,UAAU,EAAE;AAH0C,CAAjD;;;;;;;;;;;ACxBP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,mBAAV,CAA8B,IAA9B,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,EAAD;AAAK,IAAA;AAAL,MAAe,MAArB;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA,OAAb;AAAsB,IAAA,GAAtB;AAA2B,IAAA,UAA3B;AAAuC,IAAA;AAAvC,MAA0D,KAAhE;;AAEA,QAAM,WAAW,GAAG,uBAAa,uBAAb,CAAqC,UAArC,CAApB;;AACA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,UADa,EACD,MAAM,CAAC,KADN,EACiD,OADjD,EAEb;AAAE;AAFW,IAEM,GAFN,EAEW,eAFX,EAE4B,KAF5B,EAEmC,WAFnC,CAAjB;;AAIA,QAAM,OAAO,GAAG,IAAI,wCAAJ,CAA0B,QAA1B,CAAhB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,EAAD,EAAK,MAAL,CAAjC,EAA+C,SAA/C,CAAP;AACD;;AAEM,MAAM,yBAAyB,GAAiB;AACrD,EAAA,UAAU,EAAE,6BADyC;AAErD,EAAA,WAAW,EAAE,OAFwC;AAGrD,EAAA,UAAU,EAAE;AAHyC,CAAhD;;;;;;;;;;;ACvBP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,MAAV,CACF,IADE,EAEuE;AAC3E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAc,MAApB;AACA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA,GAAV;AAAe,IAAA;AAAf,MAA4B,KAAlC;;AAEA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EAEb,MAAM,CAAC,KAFM,EAE6C,OAF7C,EAGb,SAHa,EAGF,GAHE,CAAjB;;AAKA,QAAM,OAAO,GAAG,IAAI,uBAAJ,CAAkB,QAAlB,CAAhB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,EAAI,MAAJ,CAAjC,EAA8C,SAA9C,CAAP;AACD;;AAEM,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;;ACrBP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,sBAAV,CAAiC,IAAjC,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAU,MAAhB;AACA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA,GAAV;AAAe,IAAA;AAAf,MAA8B,KAApC;;AAEA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EACwC,WADxC,EACqD,OADrD,EAEb;AAAE;AAFW,IAEM,GAFN,CAAjB;;AAIA,QAAM,OAAO,GAAG,IAAI,yCAAJ,CAA2B,QAA3B,CAAhB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,EAAI,EAAJ,CAAjC,EAA0C,SAA1C,CAAP;AACD;;AAEM,MAAM,4BAA4B,GAAiB;AACxD,EAAA,UAAU,EAAE,gCAD4C;AAExD,EAAA,WAAW,EAAE,OAF2C;AAGxD,EAAA,UAAU,EAAE;AAH4C,CAAnD;;;;;;;;;;;ACtBP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,mBAAV,CAA8B,IAA9B,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,EAAD;AAAK,IAAA;AAAL,MAAe,MAArB;AACA,QAAM;AAAC,IAAA,GAAD;AAAM,IAAA,OAAN;AAAe,IAAA;AAAf,MAA6B,KAAnC;;AAEA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,UADa,EACD,MAAM,CAAC,KADN,EAEb,OAFa,EAEJ;AAAE;AAFE,IAEe,GAFf,CAAjB;;AAIA,QAAM,OAAO,GAAG,IAAI,wCAAJ,CAA0B,QAA1B,CAAhB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,EAAD,EAAK,MAAL,CAAjC,EAA+C,SAA/C,CAAP;AACD;;AAEM,MAAM,yBAAyB,GAAiB;AACrD,EAAA,UAAU,EAAE,+BADyC;AAErD,EAAA,WAAW,EAAE,OAFwC;AAGrD,EAAA,UAAU,EAAE;AAHyC,CAAhD;;;;;;;;;;ACtBP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,GAAG,GAAG,8CAA0B;;CAAtC;AAIO,MAAM,GAAG,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAZ;;AAEA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;ACVP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,IAAI,GAAG;;;CAAb;AAKO,MAAM,IAAI,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAb;;AAEA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AC3BP;;;;;;;;;;;;;;;;AAmBM,MAAO,oBAAP,CAA2B;AAK/B,EAAA,WAAA,CACI,UADJ,EACkD,QADlD,EAEI,QAFJ,EAEgC,MAFhC,EAGI,kBAHJ,EAG8B;AAP9B,SAAA,aAAA,GAAgB,CAAC,OAAD,EAAU,OAAV,EAAmB,QAAnB,CAAhB;AACA,SAAA,WAAA,GAAwB,EAAxB;AAOE,UAAM,CAAC,KAAD,EAAQ,WAAR,EAAqB,UAArB,EAAiC,KAAjC,IAA0C,UAAhD;AACA,UAAM,CAAC,QAAD,IAAe,QAArB;AACA,UAAM,CAAC,UAAD,EAAa,SAAb,IAA0B,QAAhC;AACA,SAAK,WAAL,GAAmB,CAAC,QAAD,EAAW,UAAX,EAAuB,SAAvB,EAAkC,KAAlC,CAAnB;AACA,UAAM,QAAQ,GAAG,MAAM,KAAK,UAAX,GAAwB,CAAxB,GAA4B,CAA7C;AAEA,UAAM,CAAC,gBAAD,EAAmB,eAAnB,IACF,CAAC,GAAG,WAAW,GAAG,CAAC,IAAnB,EAAyB,GAAG,UAAU,GAAG,CAAC,IAA1C,CADJ;AAGA,UAAM,CAAC,WAAD,EAAc,WAAd,EAA2B,GAA3B,IAAkC,UAAU,GAAG,CAAb,GACpC,CACE,GAAG,CAAC,WAAW,GAAG,CAAf,KAAqB,UAAU,GAAG,CAAlC,CAAoC,EADzC,EAEE,wBAFF,EAGE,MAAM,gBAAgB,4BAHxB,CADoC,GAMpC,CACE,KADF,EAEE,KAFF,EAGE,mBAAmB,gBAAgB,EAHrC,CANJ;AAWA,UAAM,CAAC,UAAD,EAAa,UAAb,EAAyB,GAAzB,IAAgC,SAAS,GAAG,CAAZ,GAClC,CACE,GAAG,CAAC,UAAU,GAAG,CAAd,KAAoB,SAAS,GAAG,CAAhC,CAAkC,EADvC,EAEE,uBAFF,EAGE,MAAM,eAAe,2BAHvB,CADkC,GAMlC,CACE,KADF,EAEE,KAFF,EAGE,mBAAmB,eAAe,EAHpC,CANJ,CArB4B,CAiC5B;AACA;AACA;;AACA,SAAK,QAAL,GAAgB;yCACqB,WAAW;wCACZ,UAAU;;;;;;;;;;;;;;;;iCAgBjB,KAAK;;;;+BAIP,WAAW;8BACZ,UAAU;;uBAEjB,GAAG;mCACS,gBAAgB;4BACvB,kBAAkB;;;uBAGvB,GAAG;mCACS,eAAe;4BACtB,kBAAkB;;;;;aAKjC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;KArCjB;AA8DD;;AA1G8B;;;;;;;;;;;ACFjC;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,aAAa,GAAI,IAAD,IAIZ;AACf,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,KAAD;AAAQ,IAAA,KAAR;AAAe,IAAA;AAAf,MAAyB,MAA/B;AACA,QAAM;AAAC,IAAA,QAAD;AAAW,IAAA,MAAX;AAAmB,IAAA;AAAnB,MAAyC,KAA/C;AAEA,QAAM,OAAO,GAAG,IAAI,yCAAJ,CACZ,KAAK,CAAC,KADM,EAEZ,KAAK,CAAC,KAFM,EAEqB,QAFrB,EAE+B,MAF/B,EAEuC,kBAFvC,CAAhB;AAGA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,KAAD,EAAQ,KAAR,EAAe,MAAf,CAAjC,EAAyD,SAAzD,CAAP;AACD,CAbM;;;AAeA,MAAM,mBAAmB,GAAiB;AAC/C,EAAA,UAAU,EAAE,uBADmC;AAE/C,EAAA,WAAW,EAAE,OAFkC;AAG/C,EAAA,UAAU,EAAE;AAHmC,CAA1C;;;;;;;;;;ACpBP;;AAEM,MAAO,aAAP,CAAoB;AAMxB,EAAA,WAAA,CAAY,KAAZ,EAA6B,SAA7B,EAAiD,OAAjD,EAAiE;AALjE,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAGA,SAAA,cAAA,GAAiB,CAAC;AAAC,MAAA,IAAI,EAAE,OAAP;AAAgB,MAAA,IAAI,EAAE;AAAtB,KAAD,CAAjB;AAGE,SAAK,WAAL,GAAmB,KAAnB;AACA,UAAM,IAAI,GAAG,KAAK,CAAC,MAAnB;AACA,UAAM,GAAG,GAAG,SAAS,GAAG,KAAH,GAAW,QAAQ,SAAS,CAAC,IAAD,EAAO,QAAP,CAAgB,GAAjE;AACA,UAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAN,GAAe,CAAhB,CAApB;AACA,QAAI,SAAS,GAAG,EAAhB;AACA,QAAI,SAAS,GAAG,EAAhB,CAN+D,CAO/D;AACA;AACA;;AACA,QAAI,SAAJ,EAAe;AACb,MAAA,SAAS,GAAG,OAAO,GAAG,UAAU,MAAM,GAAG,CAAC,EAAvB,GAA4B,UAA/C;AACA,MAAA,SAAS,GAAG,OAAO,GAAG,SAAH,GAAe,SAAlC;AACD,KAHD,MAGO;AACL,MAAA,SAAS,GAAG,OAAO,GAAG,gBAAgB,MAAM,EAAzB,GAA8B,aAAjD;AACA,MAAA,SAAS,GAAI,OAAO,GAAG,YAAH,GAAkB,YAAtC;AACD;;AAED,SAAK,QAAL,GAAgB;;UAEV,wCAAkB,IAAlB,CAAuB;oBACb,aAAa,CAAC,IAAD,EAAO,QAAP,CAAgB;sBAC3B,GAAG;;cAEX,SAAS;sBACD,SAAS;YACnB,aAAa,CAAC,IAAD,EAAO,QAAP,CAAgB;wBACjB,SAAS,CAAC,IAAD,EAAO,QAAP,CAAgB;;;;KAT7C;AAcD;;AAtCuB;;;;AAyC1B,SAAS,SAAT,CAAmB,IAAnB,EAAiC,IAAjC,EAA6C;AAC3C,MAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAO,GAAG,IAAI,EAAd;AACD,GAFD,MAEO,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,WAAO,GAAG,IAAI,OAAO,IAAI,IAAzB;AACD,GAFM,MAEA,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,WAAO,GAAG,IAAI,OAAO,IAAI,OAAO,IAAI,IAApC;AACD,GAFM,MAEA,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,WAAO,GAAG,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,IAA/C;AACD,GAFM,MAEA;AACL,UAAM,KAAK,CAAC,2BAA2B,IAAI,uBAAhC,CAAX;AACD;AACF;;AAED,SAAS,aAAT,CAAuB,IAAvB,EAAqC,IAArC,EAAiD;AAC/C,MAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAO,GAAG,IAAI,EAAd;AACD,GAFD,MAEO,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,WAAO,GAAG,IAAI,IAAd;AACD,GAFM,MAEA,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,WAAO,GAAG,IAAI,IAAd;AACD,GAFM,MAEA,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,WAAO,GAAG,IAAI,IAAd;AACD,GAFM,MAEA;AACL,UAAM,KAAK,CAAC,2BAA2B,IAAI,uBAAhC,CAAX;AACD;AACF;;;;;;;;;;ACrED;;AAGA;;AAEA;;AACA;;AAvBA;;;;;;;;;;;;;;;;AAyBM,SAAU,MAAV,CACF,IADE,EAEuE;AAE3E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA,SAAP;AAAkB,IAAA;AAAlB,MAA6B,KAAnC;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;;AACA,QAAM,WAAW,GAAG,uBAAa,kBAAb,CAAgC,CAAC,IAAD,CAAhC,EAAwC,KAAxC,CAApB;;AACA,MAAI,SAAS,GAAG,CAAhB;;AACA,MAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,IAAA,SAAS,GAAG,0BAAU;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,IAAI,EAAE;AAAP;AAA9B,KAAV,CAAZ;AACD;;AACD,QAAM,YAAY,GAAG,uBAAa,gBAAb,CAA8B,CAA9B,EAAiC,KAAjC,EAAwC,CAAxC,CAArB;;AAEA,MAAI,YAAY,KAAK,KAAK,GAAG,CAA7B,EAAgC;AAC9B,UAAM,IAAI,KAAJ,CACF,kDACI,CAAC,CAAC,KAAF,CAAQ,MAAR,GAAiB,CAAC,GADtB,GAEA,gBAAgB,IAAI,EAHlB,CAAN;AAID;;AACD,QAAM,IAAI,GAAG,SAAS,CAAC,KAAV,CAAgB,YAAhB,CAAb;AACA,MAAI,MAAM,GAAG,wBAAS;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAyB,IAAA;AAAzB,GAAT,CAAb,CArB2E,CAsB3E;AACA;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,IAAI,IAAI,CAAC,IAAL,CAAU,IAAI,CAAC,IAAL,CAAU,IAAV,CAAV,IAA6B,CAAlD,EAAqD,CAAC,EAAtD,EAA0D;AACxD,UAAM,OAAO,GAAG,IAAI,yBAAJ,CAAkB,SAAS,CAAC,KAA5B,EAAmC,KAAnC,EAA0C,OAA1C,CAAhB;AACA,UAAM,YAAY,GAAG,CAAC,CAAC,CAAD,CAAD,CAArB;AACA,UAAM,UAAU,GAAG,MAAnB;AACA,IAAA,MAAM,GACF,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,MAAD,CAAjC,EAA2C,MAAM,CAAC,KAAlD,EAAyD,YAAzD,CADJ;AAEA,IAAA,OAAO,CAAC,6BAAR,CAAsC,UAAtC;AACD,GAhC0E,CAiC3E;AACA;;;AACA,MAAI,SAAJ,EAAe;AACb,UAAM,OAAO,GAAG,IAAI,yBAAJ,CAAkB,SAAS,CAAC,KAA5B,EAAmC,SAAnC,EAA8C,OAA9C,CAAhB;AACA,UAAM,UAAU,GAAG,MAAnB;AACA,IAAA,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,MAAD,CAAjC,EAA2C,MAAM,CAAC,KAAlD,CAAT;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,UAAtC;AACD;;AAED,MAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,UAAM,kBAAkB,GAAG,uBAAa,sBAAb,CAAoC,WAApC,CAA3B;;AACA,UAAM,uBAAuB,GAAG,0BAC5B;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAsB,MAAA,OAAtB;AAA+B,MAAA,KAAK,EAAE;AAAC,QAAA,IAAI,EAAE;AAAP;AAAtC,KAD4B,CAAhC;AAGA,IAAA,OAAO,CAAC,6BAAR,CAAsC,MAAtC;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,SAAtC;AAEA,WAAO,uBAAP;AACD;;AAED,SAAO,MAAP;AACD;;AAEM,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;;AClEP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,aAAV,CAAwB,IAAxB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAe,MAArB;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,MAAuB,KAA7B;;AAEA,MAAI,CAAC,CAAC,KAAF,CAAQ,MAAR,KAAmB,CAAvB,EAA0B;AACxB,UAAM,KAAK,GAAG,OAAO,CAAC,QAAR,CAAiB,CAAC,CAAC,MAAnB,CAAd;AACA,UAAM,WAAW,GAAG,OAAO,CAAC,QAAR,CAAiB,OAAO,CAAC,MAAzB,CAApB;AAEA,UAAM,OAAO,GACT,6BAAgB,KAAhB,EAAuB,WAAvB,EAAoC,OAAO,CAAC,KAA5C,EAAmD,OAAO,CAAC,KAA3D,EAAkE,IAAlE,CADJ;AAGA,WAAO,OAAO,CAAC,cAAR,CAAuB,CAAC,IAAD,CAAvB,EAA+B,OAAO,CAAC,KAAvC,EAA8C,OAA9C,CAAP;AACD,GARD,MAQO,IAAI,CAAC,CAAC,KAAF,CAAQ,MAAR,KAAmB,CAAvB,EAA0B;AAC/B,UAAM,IAAI,GAAG,OAAO,CAAC,UAAR,CAAmB,CAAnB,CAAb;AACA,UAAM,UAAU,GAAG,OAAO,CAAC,UAAR,CAAmB,OAAnB,CAAnB;AAEA,UAAM,MAAM,GAAG,mCAAsB,IAAtB,EAA4B,UAA5B,EAAwC,IAAxC,EAA8C,YAA9C,CAAf;AAEA,WAAO,OAAO,CAAC,cAAR,CAAuB,MAAM,CAAC,KAA9B,EAAqC,OAAO,CAAC,KAA7C,EAAoD,MAAM,CAAC,MAA3D,CAAP;AACD;;AAED,QAAM,IAAI,KAAJ,CACF,oEAAA,GACA,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAM,GAFf,CAAN;AAGD;;AAEM,MAAM,mBAAmB,GAAiB;AAC/C,EAAA,UAAU,EAAE,uBADmC;AAE/C,EAAA,WAAW,EAAE,OAFkC;AAG/C,EAAA,UAAU,EAAE;AAHmC,CAA1C;;;;;;;;;;ACrDP;;;;;;;;;;;;;;;;AAmBM,MAAO,mBAAP,CAA0B;AAO9B,EAAA,WAAA,CACI,WADJ,EAC2B,SAD3B,EAC8C,UAD9C,EACuE;AAPvE,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,WAAA,GAAwB,EAAxB;AAOE,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,SAAL,GAAiB,SAAjB;AACA,SAAK,UAAL,GAAkB,UAAlB;AACA,SAAK,QAAL,GAAgB;;;;gBAIJ,KAAK,oBAAL,EAA2B;gBAC3B,KAAK,mBAAL,EAA0B;gBAC1B,KAAK,mBAAL,EAA0B;;uBAEnB,SAAS;+BACD,SAAS;uBACjB,SAAS;+BACD,SAAS;mCACL,SAAS;UAClC,KAAK,kBAAL,EAAyB;;;uBAGZ,KAAK,sBAAL,EAA6B;;;GAhBhD;AAoBD;;AAEO,EAAA,oBAAoB,GAAA;AAC1B,QAAI,KAAK,UAAL,KAAoB,MAAxB,EAAgC;AAC9B,aAAO,WAAP;AACD,KAFD,MAEO;AACL,aAAO,WAAP;AACD;AACF;;AAEO,EAAA,mBAAmB,GAAA;AACzB,QAAI,KAAK,UAAL,KAAoB,MAAxB,EAAgC;AAC9B,aAAO,WAAP;AACD,KAFD,MAEO;AACL,aAAO,WAAP;AACD;AACF;;AAEO,EAAA,mBAAmB,GAAA;AACzB,QAAI,KAAK,UAAL,KAAoB,MAAxB,EAAgC;AAC9B,aAAO,WAAP;AACD,KAFD,MAEO;AACL,aAAO,WAAP;AACD;AACF;;AAEO,EAAA,kBAAkB,GAAA;AACxB,QAAI,KAAK,UAAL,KAAoB,MAAxB,EAAgC;AAC9B,aAAO,KAAK,WAAL,CAAiB,CAAjB,CAAP;AACD,KAFD,MAEO;AACL,aAAO,KAAK,WAAL,CAAiB,CAAjB,CAAP;AACD;AACF;;AAEO,EAAA,sBAAsB,GAAA;AAC5B,QAAI,KAAK,UAAL,KAAoB,MAAxB,EAAgC;AAC9B,aAAO,2BAAP;AACD,KAFD,MAEO;AACL,aAAO,2BAAP;AACD;AACF;;AAxE6B;;;;;;;;;;;;ACFhC;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,YAAV,CAAuB,IAAvB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,SAAD;AAAY,IAAA;AAAZ,MAA0B,KAAhC;;AAEA,iBAAK,MAAL,CACI,SAAS,GAAG,CADhB,EAEI,MAAM,sDAAsD,SAAS,EAFzE;;AAIA,QAAM,SAAS,GAAG,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAlB;AACA,QAAM,WAAW,GAAI,UAAU,KAAK,MAAhB,GAA0B,CAAC,CAAC,KAAF,CAAQ,CAAR,CAA1B,GAAuC,CAAC,CAAC,KAAF,CAAQ,CAAR,CAA3D;AACA,QAAM,UAAU,GAAI,UAAU,KAAK,MAAhB,GAA0B,CAAC,CAAC,KAAF,CAAQ,CAAR,CAA1B,GAAuC,CAAC,CAAC,KAAF,CAAQ,CAAR,CAA1D;AACA,QAAM,UAAU,GAAI,UAAU,KAAK,MAAhB,GAA0B,CAAC,CAAC,KAAF,CAAQ,CAAR,CAA1B,GAAuC,CAAC,CAAC,KAAF,CAAQ,CAAR,CAA1D;AAEA,QAAM,YAAY,GAAG,WAAW,GAAG,SAAnC;AACA,QAAM,WAAW,GAAG,UAAU,GAAG,SAAjC;AACA,QAAM,WAAW,GAAG,UAAU,IAAI,SAAS,GAAG,SAAhB,CAA9B;AAEA,QAAM,WAAW,GAAI,UAAU,KAAK,MAAhB,GAChB,CAAC,SAAD,EAAY,YAAZ,EAA0B,WAA1B,EAAuC,WAAvC,CADgB,GAEhB,CAAC,SAAD,EAAY,WAAZ,EAAyB,YAAzB,EAAuC,WAAvC,CAFJ;AAIA,QAAM,OAAO,GAAG,IAAI,uCAAJ,CAAwB,WAAxB,EAAqC,SAArC,EAAgD,UAAhD,CAAhB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,CAAC,CAAC,KAAxC,CAAP;AACD;;AAEM,MAAM,kBAAkB,GAAiB;AAC9C,EAAA,UAAU,EAAE,sBADkC;AAE9C,EAAA,WAAW,EAAE,OAFiC;AAG9C,EAAA,UAAU,EAAE;AAHkC,CAAzC;;;;;;;;;;ACpDP;;;;;;;;;;;;;;;;AAoBM,MAAO,sBAAP,CAA6B;AAKjC,EAAA,WAAA,CACI,QADJ,EACuC,OAAO,GAAG,KADjD,EAEI,UAAA,GAAqB,IAFzB,EAE+B,kBAAkB,GAAG,KAFpD,EAGI,iBAAiB,GAAG,KAHxB,EAG6B;AAP7B,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,GAAN,CAAhB;AAQE,SAAK,WAAL,GAAmB,QAAQ,CAAC,QAA5B;AAEA,UAAM,QAAQ,GAAG,QAAQ,CAAC,QAA1B;AACA,UAAM,QAAQ,GAAG,QAAQ,CAAC,OAA1B;AACA,UAAM,MAAM,GAAG,QAAQ,CAAC,OAAT,CAAiB,GAAhC;AACA,UAAM,OAAO,GAAG,QAAQ,CAAC,OAAT,CAAiB,IAAjC;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,cAAhC;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,UAAU,GAAG,QAAQ,CAAC,WAAT,GAAuB,QAAQ,CAAC,UAAnD;AAEA,QAAI,iBAAiB,GAAG,EAAxB;AAAA,QAA4B,sBAAsB,GAAG,EAArD;;AACA,QAAI,UAAJ,EAAgB;AACd,UAAI,kBAAJ,EAAwB;AACtB,QAAA,iBAAiB,GAAG;;YAEhB,UAAU;UAFd;AAID,OALD,MAKO,IAAI,iBAAJ,EAAuB;AAC5B,QAAA,iBAAiB,GAAG;;YAEhB,UAAU;UAFd;AAID,OALM,MAKA;AACL,QAAA,iBAAiB,GAAG;;cAEd,UAAU;;SAFhB;AAKD;;AAED,MAAA,sBAAsB,GAAG,8BAAzB;AACD;;AAED,UAAM,cAAc,GAAG,OAAO,GAAG,iCAAH,GAAuC,EAArE;;AACA,QAAI,OAAJ,EAAa;AACX,WAAK,aAAL,CAAmB,IAAnB,CAAwB,MAAxB;AACD;;AAED,QAAI,kBAAJ,EAAwB;AACtB,WAAK,aAAL,CAAmB,IAAnB,CAAwB,wBAAxB;AACD;;AACD,QAAI,iBAAJ,EAAuB;AACrB,WAAK,aAAL,CAAmB,IAAnB,CAAwB,gBAAxB;AACD;;AAED,SAAK,QAAL,GAAgB;QACZ,iBAAiB;;oCAEW,YAAY,KAAK,WAAW;iCAC/B,MAAM,KAAK,OAAO;;;;;;;wBAO3B,UAAU;4BACN,UAAU;;;;;;;;;gCASN,YAAY;qCACP,cAAc;;gCAEnB,QAAQ;;;;kCAIN,WAAW;uCACN,aAAa;;kCAElB,QAAQ;;;;;;;;;;;UAWhC,cAAc;UACd,sBAAsB;;;KA3C5B;AA+CD;;AAzGgC;;;;;;;;;;;ACHnC;;AAjBA;;;;;;;;;;;;;;;;AAqBM,MAAO,4BAAP,CAAmC;AAOvC,EAAA,WAAA,CACI,QADJ,EACuC,OAAO,GAAG,KADjD,EAEI,UAAA,GAAqB,IAFzB,EAE+B,kBAAkB,GAAG,KAFpD,EAGI,iBAAiB,GAAG,KAHxB,EAG6B;AAT7B,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,GAAN,CAAhB;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAQE,SAAK,WAAL,GAAmB,QAAQ,CAAC,QAA5B;AACA,UAAM,UAAU,GAAG,QAAQ,CAAC,WAAT,GAAuB,QAAQ,CAAC,UAAnD;AACA,UAAM,QAAQ,GAAG,QAAQ,CAAC,QAA1B;AACA,UAAM,QAAQ,GAAG,QAAQ,CAAC,OAA1B;AACA,UAAM,MAAM,GAAG,QAAQ,CAAC,OAAT,CAAiB,GAAhC;AACA,UAAM,OAAO,GAAG,QAAQ,CAAC,OAAT,CAAiB,IAAjC;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,cAAhC;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,WAArB;AAEA,QAAI,QAAQ,GAAG;;8CAAf;;AAIA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,WAApB,EAAiC,CAAC,EAAlC,EAAsC;AACpC,MAAA,QAAQ,IAAI;wBACM,CAAC,GAAG,CAAC;uBACN,CAAC,GAAG,CAAC;wBACJ,CAAC,GAAG,CAAJ,GAAQ,CAAC;uBACV,CAAC,GAAG,CAAJ,GAAQ,CAAC;mBACb,CAAC,GALd;AAMD;AAED;;;;;;;;;;AAQA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAApB,EAAkC,CAAC,EAAnC,EAAuC;AACrC,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,WAApB,EAAiC,CAAC,EAAlC,EAAsC;AACpC,QAAA,QAAQ,IAAI;mBACD,CAAC,GAAG,CAAC;mBACL,CAAC,GAAG,CAAC;mBACL,CAAC,GAAG,CAAJ,GAAQ,CAAC;mBACT,CAAC,GAAG,CAAJ,GAAQ,CAAC;cACd,CAAC,eALP;AAMD;;AACD,MAAA,QAAQ,IAAI;0BACQ,CAAC,GAAG,cAAc;6BACf,QAAQ;OAF/B;;AAKA,WAAK,IAAI,MAAM,GAAG,CAAlB,EAAqB,MAAM,GAAG,CAAC,YAAY,GAAG,CAAhB,IAAqB,CAAnD,EAAsD,MAAM,EAA5D,EAAgE;AAC9D,cAAM,QAAQ,GAAG,MAAM,GAAG,CAA1B;AACA,cAAM,CAAC,GAAG,QAAQ,GAAG,aAArB;AAEA,QAAA,QAAQ,IAAI;4BACQ,CAAC;WADrB;;AAIA,YAAI,WAAW,KAAK,CAApB,EAAuB;AACrB,cAAI,QAAQ,GAAG,WAAf,EAA4B;AAC1B;AACA,gBAAI,OAAO,GAAG,CAAV,KAAgB,CAApB,EAAuB;AACrB;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,cAAA,QAAQ,IAAI;;kDAEwB,QAAQ,cACxC,QAAQ;2BACC,QAAQ;;;;wCAIK,QAAQ;6BACnB,QAAQ;;2BAEV,QAAQ;;eAXrB,CAVqB,CAwBrB;AACA;;AACA,kBAAI,aAAa,KAAK,CAAlB,IAAuB,CAAC,GAAG,CAA/B,EAAkC;AAChC,gBAAA,QAAQ,IAAI;oBACR,QAAQ,kBAAkB,QAAQ,GAAG,CAAC,eACtC,QAAQ;iBAFZ;AAID,eALD,MAKO;AACL,gBAAA,QAAQ,IAAI;;;oDAGwB,QAAQ;;;;;0CAKlB,QAAQ;;;;wBAI1B,QAAQ,+BAA+B,QAAQ;;wBAE/C,QAAQ,4BAA4B,QAAQ;;mBAdpD;AAiBD;AACF,aAlDD,MAkDO;AACL;AACA,cAAA,QAAQ,IAAI;sCACY,QAAQ,cAC5B,QAAQ;2BACC,QAAQ;kCACD,QAAQ;6BACb,QAAQ;;2BAEV,QAAQ;;;oBAGf,QAAQ,aAAa,QAAQ;iBAVnC;AAYD;;AAED,gBAAI,CAAC,GAAG,CAAJ,GAAQ,WAAZ,EAAyB;AACvB;AACA;AACA;AACA;AACA;AAEA,oBAAM,eAAe,GAAG,OAAO,GAAG,CAAV,KAAgB,CAAhB,GACpB,eAAK,iBAAL,CAAuB,aAAvB,CADoB,GAEpB,aAFJ;;AAIA,kBAAK,aAAa,GAAG,CAAhB,KAAsB,CAAtB,IAA2B,OAAO,GAAG,CAAV,KAAgB,CAA5C,IACC,aAAa,GAAG,CAAhB,KAAsB,CAAtB,IAA2B,OAAO,GAAG,CAAV,KAAgB,CADhD,EACoD;AAClD,gBAAA,QAAQ,IAAI;oCACQ,OAAO,GAAG,CAAC,MAAM,eAAe;;oDAEhB,QAAQ,cACxC,QAAQ,GAAG,CAAC;6BACH,QAAQ,GAAG,CAAC;;;;0CAIC,QAAQ;+BACnB,QAAQ,GAAG,CAAC;;6BAEd,QAAQ,GAAG,CAAC;;mBAZzB,CADkD,CAiBlD;AACA;;AACA,oBAAI,aAAa,GAAG,CAApB,EAAuB;AACrB,kBAAA,QAAQ,IAAI;;sDAEwB,QAAQ,cACxC,QAAQ;+BACC,QAAQ;+BACR,QAAQ;;qBALrB;AAQD;;AAED,gBAAA,QAAQ,IAAI;sBACN,QAAQ,GAAG,CAAC,kBAAkB,QAAQ,eACxC,QAAQ,GAAG,CAAC;mBAFhB;AAID,eAnCD,MAmCO;AACL;AACA;AACA;AACA,oBAAI,eAAe,KAAK,CAAxB,EAA2B;AACzB,kBAAA,QAAQ,IAAI;wBACN,QAAQ,GAAG,CAAC,aAAa,QAAQ;qBADvC;AAGD,iBAJD,MAIO;AACL,kBAAA,QAAQ,IAAI;sCACQ,eAAe;;sDAEC,QAAQ,cACxC,QAAQ,GAAG,CAAC;+BACH,QAAQ,GAAG,CAAC;4CACC,QAAQ;iCACnB,QAAQ,GAAG,CAAC;;+BAEd,QAAQ,GAAG,CAAC;;;wBAGnB,QAAQ,GAAG,CAAC,aAAa,QAAQ,GAAG,CAAC;qBAZ3C;AAcD;AACF;AACF;AACF;AACF,SA9ID,MA8IO;AAAG;AACR,cAAI,CAAC,GAAG,WAAR,EAAqB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAI,OAAO,GAAG,CAAV,KAAgB,CAApB,EAAuB;AACrB,cAAA,QAAQ,IAAI;sCACY,WAAW;iDACA,QAAQ,cACvC,QAAQ;2BACC,QAAQ;;;wCAGK,QAAQ;6BACnB,QAAQ;;2BAEV,QAAQ;;;6CAGU,QAAQ,cACnC,QAAQ,GAAG,CAAC;2BACH,QAAQ,GAAG,CAAC;;;kCAGL,QAAQ;6BACb,QAAQ,GAAG,CAAC;;2BAEd,QAAQ,GAAG,CAAC;;;oBAGnB,QAAQ,kBAAkB,QAAQ,eACpC,QAAQ,GAAG,CAAC;eAzBhB;;AA4BA,kBAAI,CAAC,GAAG,CAAJ,GAAQ,WAAZ,EAAyB;AACvB,gBAAA,QAAQ,IAAI;;wCAEY,WAAW;mDACA,QAAQ;;;sBAGrC,QAAQ,GAAG,CAAC,kBAAkB,QAAQ,GAAG,CAAC;iBANhD;AAQD;AACF,aAvCD,MAuCO;AACL,cAAA,QAAQ,IAAI;qCACW,QAAQ,cAC3B,QAAQ;2BACC,QAAQ;kCACD,QAAQ;6BACb,QAAQ;;2BAEV,QAAQ;;;kCAGD,WAAW;iDACI,QAAQ,cACvC,QAAQ,GAAG,CAAC;2BACH,QAAQ,GAAG,CAAC;wCACC,QAAQ;6BACnB,QAAQ,GAAG,CAAC;;2BAEd,QAAQ,GAAG,CAAC;;;oBAGnB,QAAQ;2BACD,QAAQ,eAAe,QAAQ,GAAG,CAAC;eArBhD;;AAwBA,kBAAI,CAAC,GAAG,CAAJ,GAAQ,WAAZ,EAAyB;AACvB,gBAAA,QAAQ,IAAI;sBACN,QAAQ,GAAG,CAAC,kBAAkB,QAAQ,eACxC,QAAQ,GAAG,CAAC;iBAFhB;AAID;AACF;AACF;AACF,SAvO6D,CAyO9D;AACA;AACA;AACA;;;AACA,YAAI,QAAQ,GAAG,WAAf,EAA4B;AAC1B,UAAA,QAAQ,IAAI;4BACM,CAAC,KAAK,CAAC;2BACR,QAAQ;WAFzB;;AAKA,cAAI,CAAC,GAAG,CAAJ,GAAQ,WAAZ,EAAyB;AACvB,YAAA,QAAQ,IAAI;8BACM,CAAC,KAAK,CAAC,GAAG,CAAC;6BACZ,QAAQ,GAAG,CAAC;aAF7B;AAID;AACF;AACF;;AACD,MAAA,QAAQ,IAAI;;OAAZ;AAGD;;AAED,QAAI,iBAAiB,GAAG,EAAxB;AAAA,QAA4B,sBAAsB,GAAG,EAArD;;AACA,QAAI,UAAJ,EAAgB;AACd,UAAI,kBAAJ,EAAwB;AACtB,QAAA,iBAAiB,GAAG;;YAEhB,UAAU;UAFd;AAID,OALD,MAKO,IAAI,iBAAJ,EAAuB;AAC5B,QAAA,iBAAiB,GAAG;;YAEhB,UAAU;UAFd;AAID,OALM,MAKA;AACL,QAAA,iBAAiB,GAAG;YAChB,UAAU;UADd;AAGD;;AAED,MAAA,sBAAsB,GAAG,8BAAzB;AACD;;AAED,UAAM,cAAc,GAAG,OAAO,GAAG,iCAAH,GAAuC,EAArE;;AACA,QAAI,OAAJ,EAAa;AACX,WAAK,aAAL,CAAmB,IAAnB,CAAwB,MAAxB;AACD;;AAED,QAAI,kBAAJ,EAAwB;AACtB,WAAK,aAAL,CAAmB,IAAnB,CAAwB,wBAAxB;AACD;;AACD,QAAI,iBAAJ,EAAuB;AACrB,WAAK,aAAL,CAAmB,IAAnB,CAAwB,gBAAxB;AACD;;AAED,SAAK,QAAL,GAAgB;QACZ,iBAAiB;;oCAEW,YAAY,KAAK,WAAW;iCAC/B,MAAM,KAAK,OAAO;;;;;;;;wBAQ3B,UAAU;4BACN,UAAU;;;;;;;UAO5B,QAAQ;;;UAGR,cAAc;UACd,sBAAsB;;;KAxB5B;AA4BD;;AAzXsC;;;;;;;;;;;;ACJzC;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,qBAAV,CAAgC,IAAhC,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAc,MAApB;AACA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA,GAAV;AAAe,IAAA,SAAf;AAA0B,IAAA;AAA1B,MAA6C,KAAnD;AAEA,MAAI,UAAU,GAAG,SAAjB;;AACA,MAAI,UAAU,IAAI,IAAlB,EAAwB;AACtB,IAAA,UAAU,GAAG,CAAC,CAAD,EAAI,CAAJ,CAAb;AACD;;AAED,iBAAK,MAAL,CACI,uBAAa,8BAAb,CAA4C,OAA5C,EAAqD,UAArD,CADJ,EAEI,MAAM,mEACF,kBAAkB,OAAO,mBAAmB,UAAU,GAH9D;;AAKA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EAEb,MAAM,CAAC,KAFM,EAEqC,OAFrC,EAE8C,UAF9C,EAGb,GAHa,EAGR,eAHQ,EAGS;AAAK;AAHd,GAAjB;;AAKA,MAAI,OAAJ;;AACA,MAAI,qBAAM,OAAN,CAAc,0BAAd,KAA6C,QAAQ,CAAC,WAAT,IAAwB,CAArE,IACA,QAAQ,CAAC,WAAT,GAAuB,QAAQ,CAAC,UAAhC,KAA+C,CADnD,EACsD;AACpD,IAAA,OAAO,GAAG,IAAI,uDAAJ,CAAiC,QAAjC,CAAV;AACD,GAHD,MAGO;AACL,IAAA,OAAO,GAAG,IAAI,0CAAJ,CAA2B,QAA3B,CAAV;AACD;;AACD,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,EAAI,MAAJ,CAAjC,EAA8C,SAA9C,CAAP;AACD;;AAEM,MAAM,2BAA2B,GAAiB;AACvD,EAAA,UAAU,EAAE,+BAD2C;AAEvD,EAAA,WAAW,EAAE,OAF0C;AAGvD,EAAA,UAAU,EAAE;AAH2C,CAAlD;;;;;;;;;;ACzDP;;;;;;;;;;;;;;;;AAoBM,MAAO,+BAAP,CAAsC;AAK1C,EAAA,WAAA,CAAY,QAAZ,EAA6C;AAJ7C,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,IAAN,CAAhB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,WAA5B;AAEA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,MAAM,GAAG,QAAQ,CAAC,OAAT,CAAiB,GAAhC;AACA,UAAM,OAAO,GAAG,QAAQ,CAAC,OAAT,CAAiB,IAAjC;AACA,UAAM,UAAU,GAAG,QAAQ,CAAC,WAAT,GAAuB,QAAQ,CAAC,UAAnD;AAEA,SAAK,QAAL,GAAgB;;;;;;;wBAOI,UAAU;;;;;8BAKJ,QAAQ,CAAC,SAAS;kCACd,QAAQ,CAAC,SAAS;iCACnB,YAAY,MAAM,MAAM;;kCAEvB,QAAQ,CAAC,QAAQ;;;;oCAIf,QAAQ,CAAC,QAAQ;mCAClB,WAAW,MAAM,OAAO;;oCAEvB,QAAQ,CAAC,OAAO;;;;;;;;;;;;KAvBhD;AAoCD;;AAlDyC;;;;AAqDtC,MAAO,8BAAP,CAAqC;AAKzC,EAAA,WAAA,CAAY,QAAZ,EAA6C;AAJ7C,SAAA,aAAA,GAAgB,CAAC,IAAD,EAAO,GAAP,CAAhB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,OAA5B;AAEA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AAEA,UAAM,MAAM,GAAG,YAAY,GAAG,CAAf,GAAmB,QAAQ,CAAC,OAAT,CAAiB,GAAnD;AACA,UAAM,OAAO,GAAG,WAAW,GAAG,CAAd,GAAkB,QAAQ,CAAC,OAAT,CAAiB,IAAnD;AACA,UAAM,UAAU,GAAG,QAAQ,CAAC,WAAT,GAAuB,QAAQ,CAAC,UAAnD;AAEA,SAAK,QAAL,GAAgB;iCACa,MAAM,KAAK,OAAO;;;;;;;;;;;;gCAYnB,YAAY;gDACI,YAAY;;oCAExB,QAAQ,CAAC,SAAS;;;;;yBAK7B,YAAY;;kCAEH,WAAW;kDACK,WAAW;;sCAEvB,QAAQ,CAAC,QAAQ;;;;;;2BAM5B,WAAW;;;oCAGF,UAAU;8BAChB,UAAU;;;;;;;;;KApCpC;AA8CD;;AA/DwC;;;;;;;;;;;;ACxD3C;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,mCAAV,CAA8C,IAA9C,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAU,MAAhB;AACA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA,SAAV;AAAqB,IAAA,GAArB;AAA0B,IAAA,eAA1B;AAA2C,IAAA;AAA3C,MAA0D,KAAhE;;AAEA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EACgC,WADhC,EAC6C,OAD7C,EAEb,SAFa,EAEF,GAFE,EAEG,eAFH,EAEoB;AAAK;AAFzB,GAAjB;;AAIA,QAAM,OAAO,GAAG,IAAI,4DAAJ,CAAoC,QAApC,CAAhB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,EAAI,EAAJ,CAAjC,EAA0C,SAA1C,CAAP;AACD;;AAEM,MAAM,yCAAyC,GAAiB;AACrE,EAAA,UAAU,EAAE,6CADyD;AAErE,EAAA,WAAW,EAAE,OAFwD;AAGrE,EAAA,UAAU,EAAE;AAHyD,CAAhE;;;;;;;;;;;ACtBP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,kCAAV,CAA6C,IAA7C,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,EAAD;AAAK,IAAA;AAAL,MAAe,MAArB;AACA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA,SAAV;AAAqB,IAAA,GAArB;AAA0B,IAAA,eAA1B;AAA2C,IAAA;AAA3C,MAAyD,KAA/D;;AAEA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,UADa,EACD,MAAM,CAAC,KADN,EACiD,OADjD,EAEb,SAFa,EAEF,GAFE,EAEG,eAFH,EAEoB;AAAK;AAFzB,GAAjB;;AAIA,QAAM,OAAO,GAAG,IAAI,2DAAJ,CAAmC,QAAnC,CAAhB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,EAAD,EAAK,MAAL,CAAjC,EAA+C,SAA/C,CAAP;AACD;;AAEM,MAAM,wCAAwC,GAAiB;AACpE,EAAA,UAAU,EAAE,4CADwD;AAEpE,EAAA,WAAW,EAAE,OAFuD;AAGpE,EAAA,UAAU,EAAE;AAHwD,CAA/D;;;;;;;;;;ACvCP;;;;;;;;;;;;;;;;AAmBM,MAAO,WAAP,CAAkB;AAKtB,EAAA,WAAA,CAAY,IAAZ,EAAwB;AAJxB,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAKE,SAAK,WAAL,GAAmB,CAAC,IAAD,EAAO,IAAP,CAAnB;AACA,SAAK,QAAL,GAAgB;;;;;;KAAhB;AAOD;;AAdqB;;;;;;;;;;;;ACFxB;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,IAAV,CAAe,IAAf,EAAoE;AAExE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AAEA,QAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,KAAN,EAAa,GAAG,CAAC,CAAC,KAAlB,CAAjB;;AACA,QAAM,KAAK,GAAG,eAAK,aAAL,CAAmB,CAAC,CAAC,KAArB,CAAd;;AAEA,QAAM,IAAI,GAAG,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA;AAAD,KAAT;AAAc,IAAA,OAAd;AAAuB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,KAAD;AAAR;AAA9B,GAAR,CAAb;AAEA,QAAM,OAAO,GAAG,IAAI,qBAAJ,CAAgB,KAAhB,CAAhB;AACA,QAAM,GAAG,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,IAAD,CAAjC,EAAyC,IAAI,CAAC,KAA9C,CAAZ;AAEA,QAAM,GAAG,GAAG,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAmB,IAAA,OAAnB;AAA4B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAnC,GAAR,CAAZ;AAEA,EAAA,OAAO,CAAC,6BAAR,CAAsC,IAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,GAAtC;AAEA,SAAO,GAAP;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AC5CP;;;;;;;;;;;;;;;;AAoBM,MAAO,iBAAP,CAAwB;AAK5B,EAAA,WAAA,CAAY,QAAZ,EAA6C;AAJ7C,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,GAAN,CAAhB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,QAA5B;AAEA,UAAM;AACJ,MAAA,QADI;AAEJ,MAAA,OAFI;AAGJ,MAAA,OAHI;AAIJ,MAAA,YAJI;AAKJ,MAAA,WALI;AAMJ,MAAA,YANI;AAOJ,MAAA,WAPI;AAQJ,MAAA,cARI;AASJ,MAAA;AATI,QAUF,QAVJ;AAYA,UAAM;AAAC,MAAA,GAAG,EAAE,MAAN;AAAc,MAAA,IAAI,EAAE;AAApB,QAA+B,OAArC;AAEA,SAAK,QAAL,GAAgB;oCACgB,YAAY,KAAK,WAAW;iCAC/B,MAAM,KAAK,OAAO;;;;;;;;;;;;;8BAarB,YAAY;iCACT,cAAc;;kCAEb,QAAQ;kCACR,WAAW;qCACR,aAAa;;sCAEZ,OAAO;;;;;;;;;;;;;;;;KAtBzC;AAuCD;;AA7D2B;;;;;;;;;;;;ACH9B;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,UAAV,CAAqB,IAArB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAc,MAApB;AACA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA,GAAV;AAAe,IAAA;AAAf,MAA4B,KAAlC;;AAEA,QAAM,QAAQ,GAAG,uBAAa,qBAAb,CACb,CAAC,CAAC,KADW,EAEb,MAAM,CAAC,KAFM,EAE6B,OAF7B,EAEsC,GAFtC,EAGb;AAAO;AAHM,IAGY,SAHZ,CAAjB;;AAIA,MAAI,GAAJ;AAEA,QAAM,OAAO,GAAG,IAAI,+BAAJ,CAAsB,QAAtB,CAAhB;AACA,EAAA,GAAG,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,EAAI,MAAJ,CAAjC,EAA8C,SAA9C,CAAN;AAEA,QAAM,WAAW,GACb,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAmB,IAAA,OAAnB;AAA4B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,QAAQ,CAAC;AAAjB;AAAnC,GAAR,CADJ;AAEA,EAAA,OAAO,CAAC,6BAAR,CAAsC,GAAtC;AAEA,SAAO,WAAP;AACD;;AAEM,MAAM,gBAAgB,GAAiB;AAC5C,EAAA,UAAU,EAAE,oBADgC;AAE5C,EAAA,WAAW,EAAE,OAF+B;AAG5C,EAAA,UAAU,EAAE;AAHgC,CAAvC;;;;;;;;;;;AC/BP;;AAIA;;AACA;;AACA;;AACA;;AAxBA;;;;;;;;;;;;;;;;AA0BM,SAAU,MAAV,CACF,IADE,EAEuE;AAE3E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAa,KAAnB;AACA,QAAM,OAAO,GAAG,MAAhB;;AAEA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA,UAAV;AAAsB,IAAA;AAAtB,MACF,uBAAa,oBAAb,CAAkC,QAAlC,EAA4C,OAAO,CAAC,MAApD,CADJ;;AAEA,yBAAa,mBAAb,CAAiC,OAAO,CAAC,MAAzC,EAAiD,MAAjD,EAAyD,OAAzD;;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,MAAgB,uBAAa,oBAAb,CAAkC,UAAlC,EAA8C,MAA9C,CAAtB;;AAEA,QAAM,MAAM,GAAG,KAAK,CAAC,MAArB;AACA,MAAI,GAAG,GAAoB,IAA3B;AACA,MAAI,gBAAgB,GAAG,OAAO,CAAC,MAA/B;AACA,QAAM,gBAAgB,GAAiB,EAAvC;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAApB,EAA4B,EAAE,CAA9B,EAAiC;AAC/B,SAAK,MAAM,MAAX,IAAqB,KAAK,CAAC,CAAD,CAA1B,EAA+B;AAC7B,YAAM;AAAC,QAAA,kBAAkB,EAAE,IAArB;AAA2B,QAAA,UAAU,EAAE;AAAvC,UACF,uBAAa,oBAAb,CAAkC,gBAAlC,EAAoD,MAAM,CAAC,MAAD,CAA1D,CADJ;;AAEA,UAAI,CAAJ;;AACA,UAAI,uBAAa,qBAAb,CAAmC,IAAnC,CAAJ,EAA8C;AAC5C,QAAA,CAAC,GAAG,OAAO,CAAC,MAAD,CAAX;AACD,OAFD,MAEO;AACL,QAAA,CAAC,GAAG,0BAAU;AAAC,UAAA,MAAM,EAAE;AAAC,YAAA,CAAC,EAAE,OAAO,CAAC,MAAD;AAAX,WAAT;AAA+B,UAAA,OAA/B;AAAwC,UAAA,KAAK,EAAE;AAAC,YAAA;AAAD;AAA/C,SAAV,CAAJ;AACA,QAAA,gBAAgB,CAAC,IAAjB,CAAsB,CAAtB;AACD;;AACD,YAAM,WAAW,GAAa,CAAC,CAAC,KAAF,CAAQ,KAAR,EAA9B;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAAY,CAAC,MAAjC,EAAyC,EAAE,CAA3C,EAA8C;AAC5C,QAAA,WAAW,CAAC,MAAZ,CAAmB,YAAY,CAAC,CAAD,CAA/B,EAAoC,CAApC,EAAuC,CAAvC;AACD;;AAED,UAAI,CAAC,eAAK,WAAL,CAAiB,CAAC,CAAC,KAAnB,EAA0B,WAA1B,CAAL,EAA6C;AAC3C,QAAA,CAAC,GAAG,sBAAQ;AAAC,UAAA,MAAM,EAAE;AAAC,YAAA;AAAD,WAAT;AAAc,UAAA,OAAd;AAAuB,UAAA,KAAK,EAAE;AAAC,YAAA,KAAK,EAAE;AAAR;AAA9B,SAAR,CAAJ;AACA,QAAA,gBAAgB,CAAC,IAAjB,CAAsB,CAAtB;AACD;;AACD,UAAI,GAAG,KAAK,IAAZ,EAAkB;AAChB,QAAA,GAAG,GAAG,CAAN;AACD,OAFD,MAEO;AACL;AACA,QAAA,GAAG,GAAG,wBAAS;AAAC,UAAA,MAAM,EAAE;AAAC,YAAA,CAAC,EAAE,CAAJ;AAAO,YAAA,CAAC,EAAE;AAAV,WAAT;AAAyB,UAAA;AAAzB,SAAT,CAAN;AACA,QAAA,gBAAgB,CAAC,IAAjB,CAAsB,GAAtB;AACD;AACF;;AACD,QAAI,CAAC,GAAG,MAAM,GAAG,CAAjB,EAAoB;AAClB,UAAI,IAAI,CAAC,CAAD,CAAJ,IAAW,CAAf,EAAkB;AAChB,QAAA,GAAG,GAAG,cAAI;AACR,UAAA,MAAM,EAAE;AAAC,YAAA,CAAC,EAAE;AAAJ,WADA;AAER,UAAA,OAFQ;AAGR,UAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,IAAI,CAAC,CAAD,CAAJ,IAAW,OAAO,CAAC,MAAR,GAAiB,gBAA5B,CADD;AAEL,YAAA,QAAQ,EAAE;AAFL;AAHC,SAAJ,CAAN;AAQA,QAAA,gBAAgB,CAAC,IAAjB,CAAsB,GAAtB;AACD;;AACD,MAAA,gBAAgB;AACjB;AACF,GAzD0E,CA2D3E;;;AACA,OAAK,MAAM,UAAX,IAAyB,gBAAzB,EAA2C;AACzC,QAAI,UAAU,KAAK,GAAnB,EAAwB;AACtB;AACD;;AACD,IAAA,OAAO,CAAC,6BAAR,CAAsC,UAAtC;AACD;;AAED,SAAO,GAAP;AACD;;AAEM,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;ACjFP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,GAAG,GAAG,yCAAZ;AAEA,MAAM,UAAU,GAAG;;;;;;;;;CAAnB;AAWA,MAAM,GAAG,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE,GAAZ;AAAiB,EAAA,eAAe,EAAE;AAAlC,CAAhB,CAAZ;AAEO,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;AClBP;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBA,MAAM,OAAO,GAAG,wCAAhB;AACA,MAAM,cAAc,GAAG;;;CAAvB;;AAKO,MAAM,OAAO,GACf,IAAD,IAAyE;AACvE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA,EAAD;AAAK,IAAA;AAAL,MAAU,MAAhB;AAEA,QAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,8BAAd,IACZ,IAAI,0CAAJ,CAA0B,cAA1B,EAA0C,EAAE,CAAC,KAA7C,EAAoD,CAAC,CAAC,KAAtD,CADY,GAEZ,IAAI,6BAAJ,CAAoB,OAApB,EAA6B,EAAE,CAAC,KAAhC,EAAuC,CAAC,CAAC,KAAzC,CAFJ;AAGA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,EAAD,EAAK,CAAL,CAAjC,EAA0C,EAAE,CAAC,KAA7C,CAAP;AACD,CATE;;;AAWA,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;AzIvBP;;AACA;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAoBA,MAAM,YAAY,GAAG;;CAArB;AAIA,MAAM,KAAK,GAAG,uBAAd;AAEO,MAAM,KAAK,GAAG,0CAAiB;AACpC,EAAA,SAAS,EAAE,KADyB;AAEpC,EAAA,eAAe,EAAE,YAFmB;AAGpC,EAAA,KAAK,EAAE,MAH6B;AAIpC,EAAA,aAAa,EAAE;AAJqB,CAAjB,CAAd;;AAOA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;A0IhBP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,GAAG,GAAG;;;;cAIE,uBAAa,KAAK;eACjB,uBAAa,MAAM;eACnB,uBAAa,MAAM;eACnB,uBAAa,MAAM;eACnB,uBAAa,MAAM;eACnB,uBAAa,MAAM;;;;;;CATlC;AAiBO,MAAM,GAAG,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAZ;;AAEA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;AzIvBP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,GAAG,GAAG,gBAAZ;;AACA,MAAM,GAAG,GAAG,yCACf;AAAC,EAAA,SAAS,EAAE,GAAZ;AAAiB,EAAA,eAAe,EAAE,GAAlC;AAAuC,EAAA,aAAa,EAAE;AAAtD,CADe,CAAZ;;AAGA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;;A0ITP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,UAAV,CAAqB,IAArB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,KAAT;AAAgB,IAAA;AAAhB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAQ,KAAd;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,MAAhB;AAEA,QAAM,SAAS,GAAG,KAAK,CAAC,KAAN,CAAY,MAA9B;AACA,QAAM,QAAQ,GAAG,KAAK,CAAC,KAAN,CAAY,KAAZ,EAAjB;AACA,MAAI,IAAI,GAAG,GAAX;;AACA,MAAI,GAAG,GAAG,CAAV,EAAa;AACX;AACA,mBAAK,MAAL,CACI,EAAE,SAAS,GAAG,CAAd,KAAoB,GADxB,EAEI,MAAM,iCAAiC,EAAG,SAAS,GAAG,CAAf,CAAiB,KACpD,SAAS,GAHjB;;AAIA,IAAA,IAAI,GAAG,SAAS,GAAG,GAAZ,GAAkB,CAAzB;AACD;;AACD,EAAA,QAAQ,CAAC,MAAT,CAAgB,IAAhB,EAAsB,CAAtB,EAAyB,CAAzB;AAEA,SAAO,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAqB,IAAA,OAArB;AAA8B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAArC,GAAR,CAAP;AACD;;AAEM,MAAM,gBAAgB,GAAiB;AAC5C,EAAA,UAAU,EAAE,oBADgC;AAE5C,EAAA,WAAW,EAAE,OAF+B;AAG5C,EAAA,UAAU,EAAE;AAHgC,CAAvC;;;;;;;;;;AzI9BP;;AACA;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,KAAK,GAAG,sBAAd;AAEO,MAAM,KAAK,GAAG,yCACjB;AAAC,EAAA,SAAS,EAAE,KAAZ;AAAmB,EAAA,eAAe,EAAE,KAApC;AAA2C,EAAA,aAAa,EAAE;AAA1D,CADiB,CAAd;;AAGA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;A0I1BP;;;;;;;;;;;;;;;;AAmBM,MAAO,UAAP,CAAiB;AAKrB,EAAA,WAAA,CACI,SADJ,EAC8B,UAD9B,EAEI,OAFJ,EAEoB;AANpB,SAAA,aAAA,GAAgB,CAAC,MAAD,EAAS,MAAT,CAAhB;AAOE,UAAM,QAAQ,GAAG,UAAU,CAAC,CAAD,CAA3B;AACA,SAAK,WAAL,GAAmB,UAAnB;AAEA,UAAM,yBAAyB,GAC3B,OAAO,GAAG,SAAS,IAAI,CAAC,EAAE,EAAnB,GAAwB,UAAU,IAAI,CAAC,EAAE,EADpD;AAEA,UAAM,iBAAiB,GAAG,OAAO,GAAG,GAAG,QAAQ,IAAd,GAAqB,KAAtD;AAEA,QAAI,QAAJ;;AACA,QAAI,SAAS,KAAK,MAAlB,EAA0B;AACxB,MAAA,QAAQ,GAAG,mCAAX;AACD,KAFD,MAEO,IAAI,SAAS,KAAK,MAAlB,EAA0B;AAC/B,MAAA,QAAQ,GAAG,mCAAX;AACD,KAFM,MAEA;AACL,YAAM,IAAI,KAAJ,CACF,sDAAsD,SAAS,GAD7D,CAAN;AAED;;AAED,SAAK,QAAL,GAAgB;yCACqB,yBAAyB;;;UAGxD,QAAQ;;;;kDAIgC,QAAQ;;;;;;8BAM5B,QAAQ;;;;;;;;;yDASmB,iBAAiB;;;;;;;;;;KAvBtE;AAkCD;;AA3DoB;;;;;;;;;;;ACFvB;;AAGA;;AAEA;;AACA;;AAvBA;;;;;;;;;;;;;;;;AAyBM,SAAU,OAAV,CACF,CADE,EACa,OADb,EAC+B,OAD/B,EACwD;AAC5D,QAAM,KAAK,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAd;;AAEA,QAAM,SAAS,GAAG,eAAK,aAAL,CAAmB,CAAC,CAAC,KAArB,CAAlB,CAH4D,CAI5D;;;AACA,QAAM,kBAAkB,GAAG,CAAC,CAAC,KAAF,CAAQ,CAAC,CAAC,KAAF,CAAQ,MAAR,GAAiB,CAAzB,CAA3B;AACA,QAAM,KAAK,GAAG,SAAS,GAAG,kBAA1B;AAEA,QAAM,OAAO,GAAG,sBACZ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA;AAAD,KAAT;AAAc,IAAA,OAAd;AAAuB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,KAAD,EAAQ,kBAAR;AAAR;AAA9B,GADY,CAAhB;AAGA,QAAM,MAAM,GAAG,OAAO,CAAC,KAAvB;AACA,QAAM,WAAW,GAAG,IAAI,mBAAJ,CAAe,MAAf,EAAuB,MAAvB,EAA+B,OAA/B,CAApB;AACA,QAAM,WAAW,GAAG,IAAI,mBAAJ,CAAe,MAAf,EAAuB,MAAvB,EAA+B,OAA/B,CAApB;AAEA,QAAM,MAAM,GAAG,CACb;AACE,IAAA,MAAM,EAAE,KAAK,CAAC,kBAAN,CAAyB,IAAzB,CAA8B,MADxC;AAEE,IAAA,KAAK,EAAE,KAAK,CAAC,kBAAN,CAAyB,IAAzB,CAA8B,KAFvC;AAGE,IAAA,KAAK,EAAE;AAHT,GADa,EAMb;AACE,IAAA,MAAM,EAAE,KAAK,CAAC,kBAAN,CAAyB,IAAzB,CAA8B,MADxC;AAEE,IAAA,KAAK,EAAE,KAAK,CAAC,kBAAN,CAAyB,IAAzB,CAA8B,KAFvC;AAGE,IAAA,KAAK,EAAE;AAHT,GANa,CAAf;AAaA,QAAM,QAAQ,GAAG,OAAO,CAAC,eAAR,CAAwB,WAAxB,EAAqC,MAArC,EAA6C,SAA7C,CAAjB;AACA,QAAM,QAAQ,GAAG,OAAO,CAAC,eAAR,CAAwB,WAAxB,EAAqC,MAArC,EAA6C,SAA7C,CAAjB;AAEA,QAAM,aAAa,GACf,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,IAAI,EAAE,QAAP;AAAiB,MAAA,IAAI,EAAE;AAAvB,KAAT;AAA2C,IAAA;AAA3C,GAAR,CADJ;AAGA,EAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AAEA,QAAM,qBAAqB,GACvB,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAA6B,IAAA,OAA7B;AAAsC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,CAAC;AAAV;AAA7C,GAAR,CADJ;AAGA,EAAA,OAAO,CAAC,6BAAR,CAAsC,OAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,aAAtC;AACA,SAAO,qBAAP;AACD;;;;;;;;;;ACpDD;;AAIA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,GAAV,CAAc,IAAd,EAAkE;AAEtE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,MAAhB;AAEA,SAAO,uBAAQ,KAAR,EAAe;AAAM;AAArB,IAAoC,OAApC,CAAP;AACD;;AAEM,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;AC/BP;;;;;;;;;;;;;;;;AAoBM,MAAO,WAAP,CAAkB;AAMtB,EAAA,WAAA,CAAY,KAAZ,EAA6B,KAA7B,EAA0C;AAJ1C,SAAA,WAAA,GAAwB,EAAxB;AAEA,SAAA,cAAA,GAAiB,CAAC;AAAC,MAAA,IAAI,EAAE,OAAP;AAAgB,MAAA,IAAI,EAAE;AAAtB,KAAD,CAAjB;AAGE,SAAK,aAAL,GAAqB,CAAC,GAAD,CAArB;AACA,SAAK,WAAL,GAAmB,KAAnB;AAEA,SAAK,QAAL,GAAgB;;;;;KAAhB;AAMD;;AAhBqB;;;;;;;;;;;;ACHxB;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,IAAV,CAAe,IAAf,EAAkE;AAEtE,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA;AAAV,MAAmB,IAAzB;AACA,QAAM;AAAC,IAAA,KAAD;AAAQ,IAAA;AAAR,MAAiB,KAAvB;AACA,MAAI;AAAC,IAAA;AAAD,MAAU,KAAd;AAEA,EAAA,KAAK,GAAG,KAAK,IAAI,eAAK,UAAL,CAAgB,KAAhB,CAAjB;;AAEA,MAAI,KAAK,KAAK,QAAd,EAAwB;AACtB;AACA,UAAM,MAAM,GAAG,eAAK,iBAAL,CAAuB,KAAvB,EAA8B,eAAK,aAAL,CAAmB,KAAnB,CAA9B,CAAf;;AACA,IAAA,MAAM,CAAC,IAAP,CAAY,KAAZ;AACA,WAAO,OAAO,CAAC,cAAR,CAAuB,KAAvB,EAA8B,KAA9B,EAAqC,MAArC,CAAP;AACD,GALD,MAKO;AACL,UAAM,OAAO,GAAG,IAAI,qBAAJ,CAAgB,KAAhB,EAAuB,KAAvB,CAAhB;AACA,UAAM,YAAY,GAAG,CAAC,CAAC,KAAD,CAAD,CAArB;AACA,WAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,EAAjC,EAAqC,KAArC,EAA4C,YAA5C,CAAP;AACD;AACF;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AC1CP;;;;;;;;;;;;;;;;AAmBM,MAAO,oBAAP,CAA2B;AAK/B,EAAA,WAAA,CAAY,UAAZ,EAAwD;AAJxD,SAAA,aAAA,GAAgB,CAAC,OAAD,CAAhB;AACA,SAAA,WAAA,GAAwB,EAAxB;AAIE,UAAM,UAAU,GAAG,UAAU,CAAC,CAAD,CAA7B;AACA,SAAK,WAAL,GAAmB,UAAnB;AAEA,SAAK,QAAL,GAAgB;;;;;yBAKK,UAAU;;uCAEI,UAAU;;;;;;;KAP7C;AAeD;;AAxB8B;;;;;;;;;;;ACDjC;;AAGA;;AArBA;;;;;;;;;;;;;;;;AAuBO,MAAM,mBAAmB,GAAiB;AAC/C,EAAA,UAAU,EAAE,uBADmC;AAE/C,EAAA,WAAW,EAAE,OAFkC;AAG/C,EAAA,UAAU,EAAE,CAAC;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,GAAD,KAAsB;AAChC,UAAM;AAAC,MAAA;AAAD,QAAU,MAAhB;AACA,UAAM,YAAY,GAAG,OAArB;AAEA,UAAM,OAAO,GAAG,IAAI,yCAAJ,CAA0B,KAAkB,CAAC,KAA7C,CAAhB;AACA,UAAM,MAAM,GAAG,YAAY,CAAC,eAAb,CAA6B,OAA7B,EAAsC,CAAC,KAAD,CAAtC,EAA+C,KAAK,CAAC,KAArD,CAAf;AACA,WAAO,MAAP;AACD;AAV8C,CAA1C;;;;;;;;;;A/ILP;;AACA;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,KAAK,GAAG,kBAAd;AAEO,MAAM,KAAK,GAAG,yCACjB;AAAC,EAAA,SAAS,EAAE,KAAZ;AAAmB,EAAA,eAAe,EAAE,KAApC;AAA2C,EAAA,aAAa,EAAE;AAA1D,CADiB,CAAd;;AAGA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;AgJVP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA;AACA;AACA;AACA;AACA,MAAM,OAAO,GAAG;;;;;;;;;;CAAhB;AAYA,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;CAAvB;AAuBO,MAAM,QAAQ,GAAG,0CACpB;AAAC,EAAA,SAAS,EAAE,OAAZ;AAAqB,EAAA,eAAe,EAAE,cAAtC;AAAsD,EAAA,KAAK,EAAE;AAA7D,CADoB,CAAjB;;AAGA,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,OAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;AC9CP;;AAjBA;;;;;;;;;;;;;;;;AAoBM,MAAO,iBAAP,CAAwB;AAK5B,EAAA,WAAA,CAAY,WAAZ,EAAiC;AAJjC,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAKE,UAAM,IAAI,GAAG,uCAAb;AACA,UAAM,CAAC,MAAD,EAAS,KAAT,IAAoB,WAA1B;AACA,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,QAAL,GAAgB;;;;;;uDAMmC,KAAK,OAAO,MAAM;;wBAEjD,IAAI,CAAC,SAAS;;;;;;;;;;;;;;KARlC;AAuBD;;AAhC2B;;;;;;;;;;;ACH9B;;AAjBA;;;;;;;;;;;;;;;;AAoBM,MAAO,uBAAP,CAA8B;AAOlC,EAAA,WAAA,CAAY,WAAZ,EAAiC;AANjC,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAGA,SAAA,YAAA,GAAe,KAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAGE,UAAM,IAAI,GAAG,uCAAb;AACA,UAAM,CAAC,MAAD,EAAS,KAAT,IAAoB,WAA1B;AACA,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,QAAL,GAAgB;;;;;;;;;;;;;;;8BAeU,KAAK,OAAO,MAAM;4BACpB,IAAI,CAAC,SAAS;;;;;;;;;;;;;;;;UAgBhC,IAAI,CAAC,MAAM;;KAhCjB;AAmCD;;AA9CiC;;;;;;;;;;;ACHpC;;AAIA;;AAEA;;AACA;;AAxBA;;;;;;;;;;;;;;;;AA0BO,MAAM,gBAAgB,GAAiB;AAC5C,EAAA,UAAU,EAAE,oBADgC;AAE5C,EAAA,WAAW,EAAE,OAF+B;AAG5C,EAAA,UAAU,EAAE;AAHgC,CAAvC;;AAMP,IAAI,mBAAJ;;AAEA,SAAS,UAAT,CAAoB,IAApB,EAIC;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,MAAI;AAAC,IAAA;AAAD,MAAW,MAAf;AACA,QAAM;AAAC,IAAA;AAAD,MAAgB,KAAtB;AAEA,QAAM,OAAO,GAAG,OAAQ,gBAAR,KAA8B,WAA9B,IACZ,MAAM,YAAY,gBADtB;AAEA,QAAM,OAAO,GAAG,OAAQ,gBAAR,KAA8B,WAA9B,IACZ,MAAM,YAAY,gBADtB;AAEA,QAAM,CAAC,KAAD,EAAQ,MAAR,IAAkB,OAAO,GAC3B,CACG,MAA2B,CAAC,UAD/B,EAEG,MAA2B,CAAC,WAF/B,CAD2B,GAK3B,CAAC,MAAM,CAAC,KAAR,EAAe,MAAM,CAAC,MAAtB,CALJ;AAOA,QAAM,QAAQ,GAAqB,CAAC,MAAD,EAAS,KAAT,CAAnC;AACA,QAAM,QAAQ,GAAG,CAAC,MAAD,EAAS,KAAT,EAAgB,WAAhB,CAAjB;;AAEA,MAAI,OAAO,IAAI,OAAf,EAAwB;AACtB,QAAI,mBAAmB,IAAI,IAA3B,EAAiC;AAC/B,MAAA,mBAAmB,GAAG,QAAQ,CAAC,aAAT,CAAuB,QAAvB,EAAiC,UAAjC,CAA4C,IAA5C,CAAtB;AACD;;AAED,IAAA,mBAAmB,CAAC,MAApB,CAA2B,KAA3B,GAAmC,KAAnC;AACA,IAAA,mBAAmB,CAAC,MAApB,CAA2B,MAA3B,GAAoC,MAApC;AACA,IAAA,mBAAmB,CAAC,SAApB,CACI,MADJ,EAEI,CAFJ,EAEO,CAFP,EAEU,KAFV,EAEiB,MAFjB;AAGA,IAAA,MAAM,GAAG,mBAAmB,CAAC,MAA7B;AACD;;AAED,QAAM,eAAe,GAAG,OAAO,CAAC,cAAR,CAAuB,QAAvB,EAAiC,OAAjC,CAAxB,CAhCD,CAiCC;;AACA,EAAA,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,eAAe,CAAC,MAApC,EAA4C,KAA5C,GAAoD,uBAAa,MAAjE;AACA,EAAA,OAAO,CAAC,KAAR,CAAc,wBAAd,CACI,OAAO,CAAC,UAAR,CAAmB,eAAe,CAAC,MAAnC,CADJ,EACgD,MADhD;AAEA,QAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,YAAd,IACZ,IAAI,+CAAJ,CAA4B,QAA5B,CADY,GAEZ,IAAI,kCAAJ,CAAsB,QAAtB,CAFJ;AAGA,QAAM,GAAG,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,eAAD,CAAjC,EAAoD,OAApD,CAAZ;AACA,EAAA,OAAO,CAAC,WAAR,CAAoB,eAAe,CAAC,MAApC;AACA,SAAO,GAAP;AACD;;;;;;;;;;AChED;;AAGA;;AACA;;AAEA;;AACA;;AAxBA;;;;;;;;;;;;;;;;AA0BM,SAAU,WAAV,CAAsB,IAAtB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA,MAAJ;AAAY,IAAA,IAAZ;AAAkB,IAAA;AAAlB,MAA4C,MAAlD;AACA,QAAM;AACJ,IAAA,OADI;AAEJ,IAAA,GAFI;AAGJ,IAAA,UAHI;AAIJ,IAAA,SAJI;AAKJ,IAAA,eALI;AAMJ,IAAA,UANI;AAOJ,IAAA;AAPI,MAQF,KARJ;;AAUA,QAAM,WAAW,GAAG,uBAAa,uBAAb,CAAqC,UAArC,CAApB;;AACA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EAEb,MAAM,CAAC,KAFM,EAEqC,OAFrC,EAE8C,SAF9C,EAEyD,GAFzD,EAGb,eAHa,EAGI;AAAM;AAHV,IAG2B,WAH3B,CAAjB;;AAIA,MAAI,GAAJ;AACA,QAAM,aAAa,GAAiB,EAApC;;AAEA,MAAI,QAAQ,CAAC,YAAT,KAA0B,CAA1B,IAA+B,QAAQ,CAAC,WAAT,KAAyB,CAAxD,IACA,QAAQ,CAAC,cAAT,KAA4B,CAD5B,IACiC,QAAQ,CAAC,aAAT,KAA2B,CAD5D,IAEA,QAAQ,CAAC,YAAT,KAA0B,CAF1B,IAE+B,QAAQ,CAAC,WAAT,KAAyB,CAFxD,KAGC,QAAQ,CAAC,OAAT,CAAiB,IAAjB,KAA0B,MAA1B,IAAoC,QAAQ,CAAC,OAAT,CAAiB,IAAjB,KAA0B,OAH/D,CAAJ,EAG6E;AAC3E,IAAA,GAAG,GAAG,iCAAe;AACnB,MAAA,CADmB;AAEnB,MAAA,MAFmB;AAGnB,MAAA,QAHmB;AAInB,MAAA,OAJmB;AAKnB,MAAA,IALmB;AAMnB,MAAA,UANmB;AAOnB,MAAA,sBAPmB;AAQnB,MAAA;AARmB,KAAf,CAAN;AAUD,GAdD,MAcO,IAAI,qBAAM,OAAN,CAAc,mBAAd,KAAsC,CAAC,CAAC,KAAF,CAAQ,CAAR,MAAe,CAAzD,EAA4D;AACjE,IAAA,GAAG,GAAG,mCAAiB;AACrB,MAAA,CADqB;AAErB,MAAA,MAFqB;AAGrB,MAAA,QAHqB;AAIrB,MAAA,OAJqB;AAKrB,MAAA,IALqB;AAMrB,MAAA,UANqB;AAOrB,MAAA,sBAPqB;AAQrB,MAAA;AARqB,KAAjB,CAAN;AAUD,GAXM,MAWA;AACL,UAAM,OAAO,GAAG,IAAI,IAAI,IAAxB;AACA,UAAM,yBAAyB,GAAG,sBAAsB,IAAI,IAA5D;AACA,UAAM,iBAAiB,GAAG,UAAU,KAAK,WAAzC;AACA,UAAM,eAAe,GACjB,UAAU,GAAG,sDAA6B,UAA7B,EAAyC,KAAzC,CAAH,GAAqD,IADnE;AAEA,UAAM,OAAO,GAAG,IAAI,uBAAJ,CACZ,QADY,EACF,OADE,EACO,eADP,EACwB,yBADxB,EAEZ,iBAFY,CAAhB;AAGA,UAAM,MAAM,GAAiB,CAAC,CAAD,EAAI,MAAJ,CAA7B;;AACA,QAAI,IAAJ,EAAU;AACR,MAAA,MAAM,CAAC,IAAP,CAAY,IAAZ;AACD;;AACD,QAAI,sBAAJ,EAA4B;AAC1B,MAAA,MAAM,CAAC,IAAP,CAAY,sBAAZ;AACD;;AACD,QAAI,iBAAJ,EAAuB;AACrB,YAAM,eAAe,GAAG,OAAO,CAAC,cAAR,CACpB,EADoB,EAChB,SADgB,EAEpB,eAAK,iBAAL,CAAuB,cAAvB,EAA0D,SAA1D,CAFoB,CAAxB;AAGA,MAAA,MAAM,CAAC,IAAP,CAAY,eAAZ;AACA,MAAA,aAAa,CAAC,IAAd,CAAmB,eAAnB;AACD;;AACD,IAAA,GAAG,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,MAAjC,EAAyC,SAAzC,CAAN;AACD;;AAED,QAAM,WAAW,GACb,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAmB,IAAA,OAAnB;AAA4B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,QAAQ,CAAC;AAAjB;AAAnC,GAAR,CADJ;AAGA,EAAA,aAAa,CAAC,IAAd,CAAmB,GAAnB;AACA,EAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAA3B;AAEA,SAAO,WAAP;AACD;;AAEM,MAAM,iBAAiB,GAAiB;AAC7C,EAAA,UAAU,EAAE,qBADiC;AAE7C,EAAA,WAAW,EAAE,OAFgC;AAG7C,EAAA,UAAU,EAAE;AAHiC,CAAxC;;;;;;;;;;;AC9FP;;AAGA;;AACA;;AACA;;AAtBA;;;;;;;;;;;;;;;;AAwBM,SAAU,oBAAV,CAA+B,IAA/B,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA,MAAJ;AAAY,IAAA,IAAZ;AAAkB,IAAA;AAAlB,MAA4C,MAAlD;AACA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA,GAAV;AAAe,IAAA,SAAf;AAA0B,IAAA,eAA1B;AAA2C,IAAA,UAA3C;AAAuD,IAAA;AAAvD,MACF,KADJ;AAGA,QAAM,aAAa,GAAiB,EAApC;AAEA,MAAI,UAAU,GAAG,SAAjB;;AACA,MAAI,UAAU,IAAI,IAAlB,EAAwB;AACtB,IAAA,UAAU,GAAG,CAAC,CAAD,EAAI,CAAJ,CAAb;AACD;;AAED,iBAAK,MAAL,CACI,uBAAa,8BAAb,CAA4C,OAA5C,EAAqD,UAArD,CADJ,EAEI,MAAM,mEACF,kBAAkB,OAAO,mBAAmB,UAAU,GAH9D;;AAKA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EAEb,MAAM,CAAC,KAFM,EAEqC,OAFrC,EAE8C,UAF9C,EAGb,GAHa,EAGR,eAHQ,EAGS;AAAK;AAHd,GAAjB;;AAKA,QAAM,uBAAuB,GAAG,qBAAM,OAAN,CAAc,0BAAd,KAC5B,QAAQ,CAAC,WAAT,IAAwB,CADI,IAE5B,QAAQ,CAAC,WAAT,GAAuB,QAAQ,CAAC,UAAhC,KAA+C,CAFnD;AAGA,QAAM,eAAe,GAAG,UAAU,GAC9B,sDAA6B,UAA7B,EAAyC,uBAAzC,CAD8B,GAE9B,IAFJ;AAGA,QAAM,aAAa,GAAiB,CAAC,CAAD,EAAI,MAAJ,CAApC;AAEA,QAAM,OAAO,GAAG,IAAI,IAAI,IAAxB;AACA,QAAM,yBAAyB,GAAG,sBAAsB,IAAI,IAA5D;AACA,QAAM,iBAAiB,GAAG,UAAU,KAAK,WAAzC;;AAEA,MAAI,OAAJ,EAAa;AACX,IAAA,aAAa,CAAC,IAAd,CAAmB,IAAnB;AACD;;AACD,MAAI,yBAAJ,EAA+B;AAC7B,IAAA,aAAa,CAAC,IAAd,CAAmB,sBAAnB;AACD;;AACD,MAAI,iBAAJ,EAAuB;AACrB,UAAM,eAAe,GAAG,OAAO,CAAC,cAAR,CACpB,EADoB,EAChB,SADgB,EAEpB,eAAK,iBAAL,CAAuB,cAAvB,EAA0D,SAA1D,CAFoB,CAAxB;AAGA,IAAA,aAAa,CAAC,IAAd,CAAmB,eAAnB;AACA,IAAA,aAAa,CAAC,IAAd,CAAmB,eAAnB;AACD;;AAED,MAAI,OAAJ;;AACA,MAAI,uBAAJ,EAA6B;AAC3B,IAAA,OAAO,GAAG,IAAI,uDAAJ,CACN,QADM,EACI,OADJ,EACa,eADb,EAC8B,yBAD9B,EAEN,iBAFM,CAAV;AAGD,GAJD,MAIO;AACL,IAAA,OAAO,GAAG,IAAI,0CAAJ,CACN,QADM,EACI,OADJ,EACa,eADb,EAC8B,yBAD9B,EAEN,iBAFM,CAAV;AAGD;;AAED,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,aAAjC,EAAgD,SAAhD,CAAf;AAEA,EAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAA3B;AAEA,SAAO,MAAP;AACD;;AAEM,MAAM,0BAA0B,GAAiB;AACtD,EAAA,UAAU,EAAE,8BAD0C;AAEtD,EAAA,WAAW,EAAE,OAFyC;AAGtD,EAAA,UAAU,EAAE;AAH0C,CAAjD;;;;;;;;;;AC9EP;;AAEM,MAAO,eAAP,CAAsB;AAI1B,EAAA,WAAA,CACY,QADZ,EACsC,OADtC,EACyD,KADzD,EACwE;AAA5D,SAAA,QAAA,GAAA,QAAA;AAA0B,SAAA,OAAA,GAAA,OAAA;AAJtC,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,SAAN,CAAhB;AAKE,SAAK,WAAL,GAAmB,KAAnB;AACA,UAAM,WAAW,GAAG,wCAAkB,OAAO,CAAC,MAA1B,CAApB;AACA,UAAM,KAAK,GAAG,wCAAkB,KAAK,CAAC,MAAxB,CAAd;AACA,UAAM,YAAY,GAAG,KAAK,QAAL,GAAgB,CAAhB,GAAoB,YAApB,GAAmC,SAAxD;AACA,SAAK,QAAL,GAAgB;UACV,WAAW,cAAc,WAAW,IAAI,KAAK,OAAO;;YAElD,KAAK;;gCAEe,KAAK,QAAQ;;sCAEP,YAAY;;;;OAP9C;AAYD;;AAtByB;;;;;;;;;;;;ACF5B;;AAGA;;AACA;;AAEA;;AAvBA;;;;;;;;;;;;;;;;AAyBM,SAAU,QAAV,CACF,IADE,EACuD;AAC3D,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,MAA1B;AAEA,QAAM,YAAY,GAAG,OAAO,CAAC,KAA7B;AACA,QAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,MAAb,GAAsB,CAAvB,CAA9B;;AACA,QAAM,UAAU,GAAG,eAAK,aAAL,CAAmB,MAAM,CAAC,KAA1B,CAAnB;;AAEA,QAAM,CAAC,WAAD,EAAc,SAAd,EAAyB,SAAzB,EAAoC,OAApC,IACF,uBAAa,kBAAb,CAAgC,MAAhC,EAAwC,OAAxC,CADJ;;AAGA,QAAM,cAAc,GAAG,sBACnB;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAuB,IAAA,OAAvB;AAAgC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,SAAD,EAAY,SAAZ;AAAR;AAAvC,GADmB,CAAvB;AAEA,QAAM,QAAQ,GAAG,sBAAQ;AACvB,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KADe;AAEvB,IAAA,OAFuB;AAGvB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAE,eAAK,aAAL,CAAmB,MAAM,CAAC,KAA1B,IAAmC,SAArC,EAAiD,SAAjD;AAAR;AAHgB,GAAR,CAAjB;;AAMA,MAAI,OAAO,CAAC,kBAAR,CAA2B,CAAC,MAAD,EAAS,OAAT,CAA3B,KACA,MAAM,CAAC,KAAP,KAAiB,QADrB,EAC+B;AAC7B,UAAM,WAAW,GAAG,OAAO,CAAC,QAAR,CAAiB,OAAO,CAAC,MAAzB,CAApB;AACA,UAAM,SAAS,GAAG,OAAO,CAAC,UAAR,CAAmB,MAAnB,CAAlB;AACA,UAAM,QAAQ,GAAG,6BACb,WADa,EACA,SADA,EACW,MAAM,CAAC,KADlB,EACyB,SADzB,EACoC,SADpC,EAC+C,SAD/C,EAEb,OAFa,EAEJ,MAAM,CAAC,KAFH,EAEU,UAFV,CAAjB;AAIA,WAAO,OAAO,CAAC,cAAR,CAAuB,WAAvB,EAAoC,MAAM,CAAC,KAA3C,EAAkD,QAAQ,CAAC,MAA3D,CAAP;AACD;;AACD,QAAM,OAAO,GACT,IAAI,8BAAJ,CAAoB,SAApB,EAA+B,OAA/B,EAAwC,CAAC,SAAD,EAAY,SAAZ,CAAxC,CADJ;AAEA,QAAM,GAAG,GAAG,OAAO,CAAC,eAAR,CACR,OADQ,EACC,CAAC,QAAD,EAAW,cAAX,CADD,EAC6B,QAAQ,CAAC,KADtC,CAAZ;AAGA,QAAM,QAAQ,GACV,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAmB,IAAA,OAAnB;AAA4B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAnC,GAAR,CADJ;AAGA,EAAA,OAAO,CAAC,6BAAR,CAAsC,cAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,GAAtC;AAEA,SAAO,QAAP;AACD;;AAEM,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,OAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;ACpDP;;AAlBA;;;;;;;;;;;;;;;;AAoBM,MAAO,aAAP,CAAoB;AAMxB,EAAA,WAAA,CAAY,MAAZ,EAA8B,WAA9B,EAAmD;AALnD,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,SAAN,CAAhB;AAME,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,IAAL,GAAY,WAAW,CAAC,MAAxB;AACA,UAAM,KAAK,GAAG,wCAAkB,KAAK,IAAvB,CAAd;AACA,UAAM,YAAY,GAAG,eAAe,CAAC,MAAD,EAAS,CAAT,CAApC;AAEA,SAAK,QAAL,GAAgB;;UAEV,KAAK;yBACU,YAAY;;KAHjC;AAMD;;AAlBuB,EAqB1B;;;;;AACA,SAAS,eAAT,CAAyB,MAAzB,EAA2C,IAA3C,EAAuD;AACrD,QAAM,aAAa,GAAG,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,EAAkC,SAAlC,CAAtB;AAEA,QAAM,YAAY,GAAG,EAArB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,QAAI,CAAC,KAAK,CAAV,EAAa;AACX,MAAA,YAAY,CAAC,IAAb,CAAkB,mCAAlB;AACD,KAFD,MAEO;AACL,MAAA,YAAY,CAAC,IAAb,CAAkB,GAAG,aAAa,CAAC,CAAD,CAAG,EAArC;AACD;AACF;;AACD,SAAO,YAAY,CAAC,IAAb,EAAP;AACD;;;;;;;;;;ACrCD;;AAGA;;AACA;;AAEA;;AAvBA;;;;;;;;;;;;;;;;AAyBM,SAAU,QAAV,CAAmB,IAAnB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAe,MAArB;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,MAAoB,KAA1B;;AAEA,QAAM,UAAU,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,CAAC,CAAC,KAA5B,EAAmC,CAAnC,CAAnB;;AACA,QAAM,SAAS,GAAG,uBAAa,YAAb,CAA0B,wBAA1B,CACd,CADc,EACX,OADW,EACF,UADE,EACU,SADV,CAAlB;;AAGA,QAAM,WAAW,GAAG,eAAK,aAAL,CAAmB,OAAO,CAAC,KAA3B,CAApB;;AAEA,QAAM,SAAS,GAAG,EAAlB;AAEA,QAAM,QAAQ,GAAG,sBAAQ;AACvB,IAAA,MAAM,EAAE;AAAC,MAAA;AAAD,KADe;AAEvB,IAAA,OAFuB;AAGvB,IAAA,KAAK,EAAE;AACL,MAAA,KAAK,EAAE,CACL,SAAS,CAAC,SADL,EACgB,SAAS,CAAC,SAD1B,EACqC,SAAS,CAAC,OAD/C,EAEL,SAAS,CAAC,SAFL;AADF;AAHgB,GAAR,CAAjB;AAWA,QAAM,YAAY,GAAG,sBAAQ;AAC3B,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KADmB;AAE3B,IAAA,OAF2B;AAG3B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,SAAS,CAAC,SAAX,EAAsB,WAAW,GAAG,SAAS,CAAC,SAA9C;AAAR;AAHoB,GAAR,CAArB;AAMA,EAAA,SAAS,CAAC,IAAV,CAAe,QAAf;AACA,EAAA,SAAS,CAAC,IAAV,CAAe,YAAf;AAEA,QAAM,kBAAkB,GAAG,CACzB,SAAS,CAAC,SADe,EACJ,SAAS,CAAC,SADN,EACiB,WAAW,GAAG,SAAS,CAAC,SADzC,EAEzB,SAAS,CAAC,SAFe,CAA3B;;AAKA,MAAI,OAAO,CAAC,kBAAR,CAA2B,CAAC,CAAD,EAAI,OAAJ,CAA3B,KAA4C,CAAC,CAAC,KAAF,KAAY,QAA5D,EAAsE;AACpE,UAAM,UAAU,GAAG,OAAO,CAAC,UAAR,CAAmB,YAAnB,CAAnB;AACA,UAAM,IAAI,GAAG,OAAO,CAAC,UAAR,CAAmB,QAAnB,CAAb;AACA,UAAM,MAAM,GAAG,6BAAgB,IAAhB,EAAsB,UAAtB,EAAkC,kBAAlC,CAAf;AAEA,IAAA,SAAS,CAAC,OAAV,CAAkB,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAAvB;AAEA,WAAO,OAAO,CAAC,cAAR,CACH,SAAS,CAAC,WADP,EACoB,MAAM,CAAC,KAD3B,EACkC,MAAM,CAAC,MADzC,CAAP;AAED;;AAED,QAAM,OAAO,GAAG,IAAI,yBAAJ,CAAkB,QAAQ,CAAC,KAA3B,EAAkC,kBAAlC,CAAhB;AACA,QAAM,GAAG,GAAG,OAAO,CAAC,eAAR,CACR,OADQ,EACC,CAAC,QAAD,EAAW,YAAX,CADD,EAC2B,QAAQ,CAAC,KADpC,CAAZ;AAEA,EAAA,SAAS,CAAC,IAAV,CAAe,GAAf;AAEA,QAAM,QAAQ,GAAG,sBACb;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAmB,IAAA,OAAnB;AAA4B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,SAAS,CAAC;AAAlB;AAAnC,GADa,CAAjB;AAEA,EAAA,SAAS,CAAC,OAAV,CAAkB,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAAvB;AACA,SAAO,QAAP;AACD;;AAEM,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,OAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;AtJxEP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,OAAO,GAAG,sBAAhB;AACA,MAAM,cAAc,GAAG;;CAAvB;AAIO,MAAM,OAAO,GAAG,0CAAiB;AACtC,EAAA,SAAS,EAAE,OAD2B;AAEtC,EAAA,eAAe,EAAE,cAFqB;AAGtC,EAAA,aAAa,EAAE,sBAHuB;AAItC,EAAA,KAAK,EAAE;AAJ+B,CAAjB,CAAhB;;AAOA,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;ACjBP;;AACA;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,aAAa,GAAG,uBAAtB;AACA,MAAM,oBAAoB,GAAG;;CAA7B;AAIO,MAAM,YAAY,GAAG,0CAAiB;AAC3C,EAAA,SAAS,EAAE,aADgC;AAE3C,EAAA,eAAe,EAAE,oBAF0B;AAG3C,EAAA,KAAK,EAAE,MAHoC;AAI3C,EAAA,aAAa,EAAE;AAJ4B,CAAjB,CAArB;;AAOA,MAAM,kBAAkB,GAAiB;AAC9C,EAAA,UAAU,EAAE,sBADkC;AAE9C,EAAA,WAAW,EAAE,OAFiC;AAG9C,EAAA,UAAU,EAAE;AAHkC,CAAzC;;;;;;;;;;;AsJhBP;;AAIA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,IAAV,CAAe,IAAf,EAAoE;AAExE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,MAAhB;AAEA,SAAO,uBAAQ,KAAR,EAAe;AAAK;AAApB,IAAmC,OAAnC,CAAP;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACdP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,SAAS,GAAG,uCAAlB;AAEO,MAAM,QAAQ,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE,SAAZ;AAAuB,EAAA,KAAK,EAAE;AAA9B,CAAhB,CAAjB;;AAEA,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,OAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;ACPP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,MAAM,GAAG,yBAAf;AAEO,MAAM,KAAK,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE,MAAZ;AAAoB,EAAA,KAAK,EAAE;AAA3B,CAAhB,CAAd;;AAEA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;ACPP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,MAAM,GAAG,yBAAf;AAEO,MAAM,KAAK,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE,MAAZ;AAAoB,EAAA,KAAK,EAAE;AAA3B,CAAhB,CAAd;;AAEA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;AxJPP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,IAAI,GAAG,sBAAb;AACA,MAAM,WAAW,GAAG;;CAApB;AAIO,MAAM,IAAI,GAAG,0CAAiB;AACnC,EAAA,SAAS,EAAE,IADwB;AAEnC,EAAA,eAAe,EAAE,WAFkB;AAGnC,EAAA,aAAa,EAAE,mBAHoB;AAInC,EAAA,KAAK,EAAE;AAJ4B,CAAjB,CAAb;;AAOA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACjBP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,UAAU,GAAG,uBAAnB;;AACA,MAAM,iBAAiB,GAAG;;CAA1B;;AAIA,MAAM,SAAS,GAAG,0CAAiB;AACxC,EAAA,SAAS,EAAE,UAD6B;AAExC,EAAA,eAAe,EAAE,iBAFuB;AAGxC,EAAA,aAAa,EAAE,wBAHyB;AAIxC,EAAA,KAAK,EAAE;AAJiC,CAAjB,CAAlB;;AAOA,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,mBAD+B;AAE3C,EAAA,WAAW,EAAE,OAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;;AwJjBP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,QAAV,CACF,IADE,EACqD;AACzD,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA;AAAV,MAAmB,IAAzB;AACA,QAAM;AAAC,IAAA,KAAD;AAAQ,IAAA,IAAR;AAAc,IAAA;AAAd,MAAqB,KAA3B,CAFyD,CAIzD;;AACA,QAAM,OAAO,GAAG,6BAAgB,KAAhB,EAAuB,IAAvB,EAA6B,GAA7B,CAAhB;AACA,SAAO,OAAO,CAAC,cAAR,CAAuB,CAAC,OAAO,CAAC,MAAT,CAAvB,EAAyC,SAAzC,EAAoD,OAApD,CAAP;AACD;;AAEM,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,OAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;AtJfP;;AACA;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,GAAG,GAAG;iBAAZ;AAGA,MAAM,UAAU,GAAG;;;;;;;;;CAAnB;AAWO,MAAM,GAAG,GAAG,yCACf;AAAC,EAAA,SAAS,EAAE,GAAZ;AAAiB,EAAA,eAAe,EAAE,UAAlC;AAA8C,EAAA,aAAa,EAAE;AAA7D,CADe,CAAZ;;AAGA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;AuJrBP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,KAAK,GAAG,sBAAd;AAEO,MAAM,KAAK,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAd;;AAEA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;ACPP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,WAAW,GAAG,qCAApB;AACA,MAAM,kBAAkB,GAAG;;;;CAA3B;AAMO,MAAM,UAAU,GAAG,0CAAiB;AACzC,EAAA,SAAS,EAAE,WAD8B;AAEzC,EAAA,eAAe,EAAE,kBAFwB;AAGzC,EAAA,KAAK,EAAE;AAHkC,CAAjB,CAAnB;;AAMA,MAAM,gBAAgB,GAAiB;AAC5C,EAAA,UAAU,EAAE,oBADgC;AAE5C,EAAA,WAAW,EAAE,OAF+B;AAG5C,EAAA,UAAU,EAAE;AAHgC,CAAvC;;;;;;;;;;ACjBP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,WAAW,GAAG,4BAApB;AAEO,MAAM,UAAU,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAnB;;AAEA,MAAM,gBAAgB,GAAiB;AAC5C,EAAA,UAAU,EAAE,oBADgC;AAE5C,EAAA,WAAW,EAAE,OAF+B;AAG5C,EAAA,UAAU,EAAE;AAHgC,CAAvC;;;;;;;;;;ACPP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,UAAU,GAAG,qCAAnB;AACA,MAAM,iBAAiB,GAAG;;;;;CAA1B;AAOO,MAAM,SAAS,GAAG,0CACrB;AAAC,EAAA,SAAS,EAAE,UAAZ;AAAwB,EAAA,eAAe,EAAE,iBAAzC;AAA4D,EAAA,KAAK,EAAE;AAAnE,CADqB,CAAlB;;AAGA,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,mBAD+B;AAE3C,EAAA,WAAW,EAAE,OAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;AChCP;;;;;;;;;;;;;;;;AAmBM,MAAO,UAAP,CAAiB;AAKrB,EAAA,WAAA,CACI,MADJ,EACsB,MADtB,EACsC,IADtC,EACoD,KADpD,EAEI,IAFJ,EAEgB;AANhB,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,WAAA,GAAwB,EAAxB;AAME,UAAM,GAAG,GAAG,MAAZ;AACA,UAAM,IAAI,GAAG,MAAM,CAAC,CAAD,CAAN,GAAY,CAAzB;AACA,SAAK,WAAL,GAAmB,MAAnB,CAHc,CAKd;AACA;AACA;AACA;;AACA,QAAI,WAAJ;AACA,UAAM,KAAK,GAAG,SAAS,IAAI,aAAa,KAAK,SAA7C;;AACA,QAAI,IAAI,KAAK,GAAb,EAAkB;AAChB,MAAA,WAAW,GAAG,eAAe,KAAK,GAAlC;AACD,KAFD,MAEO,IAAI,IAAI,KAAK,GAAb,EAAkB;AACvB,MAAA,WAAW,GAAG,QAAQ,KAAK,GAA3B;AACD,KAFM,MAEA;AACL,MAAA,WAAW,GAAG,WAAW,KAAK,cAAc,IAAI,KAAhD;AACD;;AAED,SAAK,QAAL,GAAgB;;;;;;;;;wBASI,GAAG,UAAU,GAAG;;oCAEJ,IAAI;;;;;0BAKd,WAAW;;;KAhBjC;AAoBD;;AA9CoB;;;;;;;;;;;ACnBvB;;;;;;;;;;;;;;;;AAmBM,MAAO,gBAAP,CAAuB;AAO3B,EAAA,WAAA,CACI,MADJ,EACsB,MADtB,EACsC,IADtC,EACoD,KADpD,EAEI,IAFJ,EAEgB;AARhB,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,WAAA,GAAwB,EAAxB;AAEA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAKE,UAAM,GAAG,GAAG,MAAZ;AACA,UAAM,IAAI,GAAG,MAAM,CAAC,CAAD,CAAN,GAAY,CAAzB;AACA,SAAK,WAAL,GAAmB,MAAnB,CAHc,CAKd;AACA;AACA;AACA;;AACA,QAAI,WAAJ;AACA,UAAM,KAAK,GAAG,SAAS,IAAI,aAAa,KAAK,SAA7C;;AACA,QAAI,IAAI,KAAK,GAAb,EAAkB;AAChB,MAAA,WAAW,GAAG,eAAe,KAAK,GAAlC;AACD,KAFD,MAEO,IAAI,IAAI,KAAK,GAAb,EAAkB;AACvB,MAAA,WAAW,GAAG,QAAQ,KAAK,GAA3B;AACD,KAFM,MAEA;AACL,MAAA,WAAW,GAAG,WAAW,KAAK,cAAc,IAAI,KAAhD;AACD;;AAED,SAAK,QAAL,GAAgB;;;;;;;;gCAQY,KAAK,WAAL,CAAiB,CAAjB,CAAmB;gCACnB,KAAK,WAAL,CAAiB,CAAjB,CAAmB;;;;;;;;;;;;;;;iCAelB,GAAG;;;;;;;;;;;yBAWX,GAAG,UAAU,GAAG;;;6DAGoB,IAAI;;;;;;;;;;;;;;;;;;;;;0CAqBvB,WAAW;;;KA3DjD;AA+DD;;AA3F0B;;;;;;;;;;;ACF7B;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBO,MAAM,GAAG,GACX,IAAD,IACiB;AACX,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,WAAD;AAAc,IAAA,IAAd;AAAoB,IAAA,KAApB;AAA2B,IAAA;AAA3B,MAAmC,KAAzC;AAEA,QAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,0BAAd,IACZ,IAAI,gCAAJ,CAAqB,CAAC,CAAC,KAAvB,EAA8B,WAA9B,EAA2C,IAA3C,EAAiD,KAAjD,EAAwD,IAAxD,CADY,GAEZ,IAAI,mBAAJ,CAAe,CAAC,CAAC,KAAjB,EAAwB,WAAxB,EAAqC,IAArC,EAA2C,KAA3C,EAAkD,IAAlD,CAFJ;AAGA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,CAAC,CAAC,KAAxC,CAAP;AACD,CAXF,EAaP;;;;AACO,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;ACrCP;;;;;;;;;;;;;;;;AAmBM,MAAO,cAAP,CAAqB;AAUzB,EAAA,WAAA,CACI,UADJ,EAC0B,WAD1B,EAC+C,IAD/C,EAC6D,KAD7D,EAEI,IAFJ,EAEgB;AAXhB,SAAA,aAAA,GAAgB,CAAC,YAAD,EAAe,aAAf,EAA8B,IAA9B,CAAhB;AACA,SAAA,WAAA,GAAwB,EAAxB;AAWE,SAAK,WAAL,GAAmB,UAAnB;AACA,SAAK,KAAL,GAAa,UAAU,CAAC,CAAD,CAAvB;AACA,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,IAAL,GAAY,IAAZ;AACA,SAAK,KAAL,GAAa,KAAb;AACA,SAAK,IAAL,GAAY,IAAZ;AACA,SAAK,QAAL,GAAgB;;;;;;;;8BAQU,KAAK,KAAK;oDACY,WAAW;yCACtB,KAAK,KAAK;0BACzB,WAAW;;;sCAGC,KAAK,KAAK;;;;;;;;;;;;;;;yBAevB,KAAK,oBAAoB,IAAI;;;;;;;yCAOb,KAAK;0BACpB,IAAI;;;;0CAIY,IAAI;;;;;;;;;;;;;;KAzC1C;AAwDD;;AA3EwB;;;;;;;;;;;ACF3B;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,OAAO,GAAI,IAAD,IAIN;AACf,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA,CAAJ;AAAO,IAAA;AAAP,MAAa,MAAnB;AACA,QAAM;AAAC,IAAA,WAAD;AAAc,IAAA,IAAd;AAAoB,IAAA,KAApB;AAA2B,IAAA;AAA3B,MAAmC,KAAzC;AAEA,QAAM,OAAO,GAAG,IAAI,4BAAJ,CAAmB,CAAC,CAAC,KAArB,EAA4B,WAA5B,EAAyC,IAAzC,EAA+C,KAA/C,EAAsD,IAAtD,CAAhB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,EAAI,CAAJ,EAAO,EAAP,CAAjC,EAA6C,CAAC,CAAC,KAA/C,CAAP;AACD,CAXM,EAaP;;;;AACO,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;A9JnBP;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,OAAV,CACF,CADE,EACa,WADb,EACoC,QADpC,EAEF,OAFE,EAEuB;AAC3B,QAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,WAAnB,CAAf;;AACA,QAAM,KAAK,GAAG,eAAK,aAAL,CAAmB,CAAC,CAAC,KAArB,CAAd;;AACA,QAAM,SAAS,GAAG,KAAK,GAAG,MAA1B;AACA,QAAM,aAAa,GACf,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA;AAAD,KAAT;AAAc,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,SAAD,EAAY,MAAZ;AAAR,KAArB;AAAmD,IAAA;AAAnD,GAAR,CADJ;AAGA,QAAM,OAAO,GAAG,oBAAO,aAAP,EAAsB,CAAC,CAAC,KAAxB,EAA+B,KAA/B,EAAsC,OAAtC,CAAhB;AACA,QAAM,cAAc,GAChB,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAuB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR,KAA9B;AAAiD,IAAA;AAAjD,GAAR,CADJ;AAGA,EAAA,OAAO,CAAC,6BAAR,CAAsC,aAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,OAAtC;AAEA,SAAO,cAAP;AACD;;;;;;;;;;A+JvBD;;AAIA;;AAEA;;AACA;;AAxBA;;;;;;;;;;;;;;;;AA0BM,SAAU,GAAV,CACF,IADE,EACmE;AAEvE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,gBAAD;AAAmB,IAAA;AAAnB,MAA+B,KAArC;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;;AAEA,QAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,gBAApB,EAAsC,CAAC,CAAC,KAAxC,CAAjB;;AACA,MAAI,IAAI,GAAG,QAAX;;AACA,QAAM,YAAY,GAAG,uBAAa,kBAAb,CAAgC,IAAhC,EAAsC,KAAtC,CAArB;;AACA,QAAM,oBAAoB,GAAG,YAAY,IAAI,IAA7C;AACA,QAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAR,CAA2B,CAAC,CAAD,CAA3B,CAA3B;AAEA,MAAI,QAAQ,GAAG,CAAf;;AACA,MAAI,oBAAJ,EAA0B;AACxB,QAAI,kBAAJ,EAAwB;AACtB,YAAM,QAAQ,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,QAAQ,CAAC,MAA7B,CAAjB;AACA,YAAM,MAAM,GAAG,QAAQ,CAAC,MAAxB;AAEA,YAAM,QAAQ,GAAa,IAAI,KAAJ,CAAU,KAAV,CAA3B;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,MAA7B,EAAqC,CAAC,EAAtC,EAA0C;AACxC,QAAA,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAC,CAAC,KAAF,CAAQ,YAAY,CAAC,CAAD,CAApB,CAAd;AACD;;AACD,YAAM,cAAc,GAChB,sCAAiB,MAAjB,EAAyB,CAAC,CAAC,KAA3B,EAAkC,CAAC,CAAC,KAApC,EAA2C,YAA3C,EAAyD,QAAzD,CADJ;AAGA,MAAA,QAAQ,GAAG,OAAO,CAAC,cAAR,CAAuB,QAAvB,EAAiC,CAAC,CAAC,KAAnC,CAAX;AACA,YAAM,YAAY,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,QAAQ,CAAC,MAA7B,CAArB;AACA,MAAA,YAAY,CAAC,MAAb,GAAsB,cAAtB;AACD,KAdD,MAcO;AACL,MAAA,QAAQ,GAAG,mCAAc,CAAd,EAAiB,YAAjB,EAA+B,OAA/B,CAAX;AACD;;AAED,IAAA,IAAI,GAAG,uBAAa,gBAAb,CAA8B,IAAI,CAAC,MAAnC,EAA2C,KAA3C,CAAP;AACD;;AAED,yBAAa,0BAAb,CAAwC,KAAxC,EAA+C,IAA/C,EAAqD,KAArD;;AACA,QAAM,CAAC,WAAD,EAAc,WAAd,IACF,uBAAa,yBAAb,CAAuC,QAAQ,CAAC,KAAhD,EAAuD,IAAvD,CADJ;;AAGA,MAAI,QAAQ,GAAG,WAAf;;AACA,MAAI,QAAJ,EAAc;AACZ;AACA,IAAA,QAAQ,GAAG,uBAAa,oBAAb,CAAkC,WAAlC,EAA+C,QAA/C,CAAX;AACD;;AAED,MAAI,GAAJ;;AACA,MAAI,kBAAJ,EAAwB;AACtB,UAAM,QAAQ,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,QAAQ,CAAC,MAA7B,CAAjB;AACA,UAAM,MAAM,GAAG,QAAQ,CAAC,MAAxB;AAEA,UAAM,SAAS,GACX,wBAAW,MAAX,EAAmB,eAAK,aAAL,CAAmB,WAAnB,CAAnB,EAAoD,QAApD,EAA8D,CAAC,CAAC,KAAhE,CADJ;AAGA,IAAA,GAAG,GAAG,OAAO,CAAC,cAAR,CAAuB,QAAvB,EAAiC,CAAC,CAAC,KAAnC,CAAN;AACA,UAAM,OAAO,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,GAAG,CAAC,MAAxB,CAAhB;AACA,IAAA,OAAO,CAAC,MAAR,GAAiB,SAAjB;AACD,GAVD,MAUO;AACL,IAAA,GAAG,GAAG,uBAAQ,QAAR,EAAkB,WAAlB,EAA+B,QAA/B,EAAyC,OAAzC,CAAN;AACD;;AAED,MAAI,oBAAJ,EAA0B;AACxB,IAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACD;;AAED,SAAO,GAAP;AACD;;AAEM,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;A9J/EP;;AAEA;;AACA;;AACA;;AACA;;AAtBA;;;;;;;;;;;;;;;;AAwBA,MAAM,OAAO,GAAG,kCAAoB;;CAApC;AAIA,MAAM,cAAc,GAAG;;;GAAA,GAInB,sCAJmB,GAIQ;;CAJ/B;AAQO,MAAM,OAAO,GAAG,0CAAiB;AACtC,EAAA,SAAS,EAAE,OAD2B;AAEtC,EAAA,eAAe,EAAE,cAFqB;AAGtC,EAAA,aAAa,EAAE;AAHuB,CAAjB,CAAhB;;AAMA,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;;A+J1BP;;AAGA;;AACA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,OAAV,CAAkB,IAAlB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,oCAAiB,CAAjB,EAAoB,SAApB;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA,OAAb;AAAsB,IAAA,GAAtB;AAA2B,IAAA;AAA3B,MAA8C,KAApD;AACA,QAAM,SAAS,GAAG,CAAlB;;AAEA,iBAAK,MAAL,CACI,uBAAa,8BAAb,CAA4C,OAA5C,EAAqD,SAArD,CADJ,EAEI,MAAM,8DACF,eAAe,OAAO,mBAAmB,SAAS,GAH1D;;AAKA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EACgC,UADhC,EAC4C,OAD5C,EAEb,SAFa,EAEF,GAFE,EAEG,eAFH,CAAjB;;AAGA,MAAI,QAAQ,CAAC,WAAT,KAAyB,CAAzB,IAA8B,QAAQ,CAAC,YAAT,KAA0B,CAAxD,IACA,eAAK,WAAL,CAAiB,QAAQ,CAAC,OAA1B,EAAmC,QAAQ,CAAC,QAA5C,CADJ,EAC2D;AACzD,WAAO,wBAAS;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA;AAAd,KAAT,CAAP;AACD;;AACD,QAAM,cAAc,GAAG,IAAI,uBAAJ,CAAkB,QAAlB,EAA4B,KAA5B,EAAmC,KAAnC,CAAvB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,cAAxB,EAAwC,CAAC,CAAD,CAAxC,EAA6C,CAAC,CAAC,KAA/C,CAAP;AACD;;AAEM,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;;AClCP;;AAGA;;AAnBA;;;;;;;;;;;;;;;;AAqBM,SAAU,SAAV,CAAoB,IAApB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA,OAAb;AAAsB,IAAA,GAAtB;AAA2B,IAAA,UAA3B;AAAuC,IAAA;AAAvC,MAA0D,KAAhE;AACA,QAAM,SAAS,GAA6B,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAA5C;;AAEA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EACwC,UADxC,EACoD,OADpD,EAEb,SAFa,EAEF,GAFE,EAEG,eAFH,EAEoB,UAFpB,CAAjB;;AAGA,QAAM,cAAc,GAAG,IAAI,uBAAJ,CAAkB,QAAlB,EAA4B,KAA5B,EAAmC,KAAnC,CAAvB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,cAAxB,EAAwC,CAAC,CAAD,CAAxC,EAA6C,CAAC,CAAC,KAA/C,CAAP;AACD;;AAEM,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,mBAD+B;AAE3C,EAAA,WAAW,EAAE,OAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;ACtCP;;;;;;;;;;;;;;;;AAoBM,MAAO,wBAAP,CAA+B;AAKnC,EAAA,WAAA,CAAY,QAAZ,EAA6C;AAJ7C,SAAA,aAAA,GAAgB,CAAC,IAAD,EAAO,QAAP,CAAhB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,OAA5B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,cAAhC;AACA,UAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAvC;AACA,UAAM,oBAAoB,GAAG,QAAQ,CAAC,oBAAtC;AAEA,UAAM,MAAM,GAAG,qBAAqB,GAAG,CAAxB,GAA4B,QAAQ,CAAC,OAAT,CAAiB,GAA5D;AACA,UAAM,OAAO,GAAG,oBAAoB,GAAG,CAAvB,GAA2B,QAAQ,CAAC,OAAT,CAAiB,IAA5D;AAEA,UAAM,SAAS,GAAG,qBAAqB,GAAG,oBAAxB,GAA+C,CAAjE;AACA,SAAK,QAAL,GAAgB;iCACa,MAAM,KAAK,OAAO;;;;;;;;;;;;;;gCAcnB,qBAAqB;kBACnC,cAAc;gDACgB,YAAY;;oCAExB,QAAQ,CAAC,SAAS;;;;;kCAKpB,oBAAoB;kDACJ,WAAW;;sCAEvB,QAAQ,CAAC,QAAQ;;;;;;;gCAOvB,SAAS;;;;qCAIJ,oBAAoB;;;;;;;;KAtCrD;AA+CD;;AAhEkC;;;;AAmE/B,MAAO,wBAAP,CAA+B;AAKnC,EAAA,WAAA,CAAY,QAAZ,EAA6C;AAJ7C,SAAA,aAAA,GAAgB,CAAC,IAAD,EAAO,QAAP,CAAhB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,OAA5B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,YAAY,GAAG,QAAQ,CAAC,YAA9B;AACA,UAAM,WAAW,GAAG,QAAQ,CAAC,WAA7B;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,cAAhC;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAA/B;AACA,UAAM,oBAAoB,GAAG,QAAQ,CAAC,oBAAtC;AACA,UAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAvC;AACA,UAAM,oBAAoB,GAAG,QAAQ,CAAC,oBAAtC;AAEA,UAAM,QAAQ,GAAG,oBAAoB,GAAG,CAAvB,GAA2B,QAAQ,CAAC,OAAT,CAAiB,KAA7D;AACA,UAAM,MAAM,GAAG,qBAAqB,GAAG,CAAxB,GAA4B,QAAQ,CAAC,OAAT,CAAiB,GAA5D;AACA,UAAM,OAAO,GAAG,oBAAoB,GAAG,CAAvB,GAA2B,QAAQ,CAAC,OAAT,CAAiB,IAA5D;AAEA,UAAM,SAAS,GACX,oBAAoB,GAAG,qBAAvB,GAA+C,oBAA/C,GAAsE,CAD1E;AAEA,SAAK,QAAL,GAAgB;iCACa,QAAQ,KAAK,MAAM,KAAK,OAAO;;;;;;;;;;;;;;;;;gCAiBhC,oBAAoB;mBACjC,aAAa;gDACgB,WAAW;;oCAEvB,QAAQ,CAAC,QAAQ;;;;;kCAKnB,qBAAqB;sBACjC,cAAc;kDACc,YAAY;;sCAExB,QAAQ,CAAC,SAAS;;;;;;oCAMpB,oBAAoB;wBAChC,aAAa;oDACe,WAAW;;wCAEvB,QAAQ,CAAC,QAAQ;;;;;;;kCAOvB,SAAS;;;;;;yBAMlB,qBAAqB,MAAM,oBAAoB;yBAC/C,oBAAoB;;;;;;;;;KAvDzC;AAiED;;AAxFkC;;;;;;;;;;;;ACvErC;;AAGA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,aAAV,CAAwB,IAAxB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,EAAD;AAAK,IAAA;AAAL,MAAc,MAApB;AACA,QAAM,CAAC,GAAG,KAAV;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA,OAAb;AAAsB,IAAA,GAAtB;AAA2B,IAAA;AAA3B,MAA8C,KAApD;AACA,QAAM,SAAS,GAA6B,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAA5C;;AAEA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EACwC,UADxC,EACoD,OADpD,EAEb,SAFa,EAEF,GAFE,EAEG,eAFH,CAAjB;;AAIA,QAAM,yBAAyB,GAC3B,IAAI,uBAAJ,CAAkB,QAAlB,EAA4B,KAA5B,EAAmC;AAAK;AAAxC,GADJ;AAEA,QAAM,kBAAkB,GACpB,OAAO,CAAC,eAAR,CAAwB,yBAAxB,EAAmD,CAAC,CAAD,CAAnD,EAAwD,CAAC,CAAC,KAA1D,CADJ;AAEA,QAAM,sBAAsB,GAAG,IAAI,+CAAJ,CAA6B,QAA7B,CAA/B;AACA,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CACX,sBADW,EACa,CAAC,EAAD,EAAK,kBAAL,CADb,EACuC,CAAC,CAAC,KADzC,CAAf;AAEA,EAAA,OAAO,CAAC,6BAAR,CAAsC,kBAAtC;AACA,SAAO,MAAP;AACD;;AAEM,MAAM,mBAAmB,GAAiB;AAC/C,EAAA,UAAU,EAAE,uBADmC;AAE/C,EAAA,WAAW,EAAE,OAFkC;AAG/C,EAAA,UAAU,EAAE;AAHmC,CAA1C;;;;;;;;;;;AChCP;;AAGA;;AACA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,WAAV,CAAsB,IAAtB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,EAAD;AAAK,IAAA,KAAL;AAAY,IAAA;AAAZ,MAAsB,MAA5B;AACA,QAAM,CAAC,GAAG,KAAV;AACA,oCAAiB,CAAC,KAAD,EAAQ,MAAR,CAAjB,EAAkC,aAAlC;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA,OAAb;AAAsB,IAAA,GAAtB;AAA2B,IAAA;AAA3B,MAA8C,KAApD;;AAEA,QAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EACgC,UADhC,EAC4C,OAD5C,EAEb;AAAE;AAFW,IAEM,GAFN,EAEW,eAFX,CAAjB;;AAGA,QAAM,YAAY,GAAG,IAArB;AACA,QAAM,uBAAuB,GACzB,IAAI,uBAAJ,CAAkB,QAAlB,EAA4B,KAA5B,EAAmC,YAAnC,CADJ;AAEA,QAAM,gBAAgB,GAClB,OAAO,CAAC,eAAR,CAAwB,uBAAxB,EAAiD,CAAC,CAAD,CAAjD,EAAsD,CAAC,CAAC,KAAxD,CADJ;AAGA,QAAM,sBAAsB,GAAG,IAAI,+CAAJ,CAA6B,QAA7B,CAA/B;AACA,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CACX,sBADW,EACa,CAAC,EAAD,EAAK,gBAAL,CADb,EACqC,CAAC,CAAC,KADvC,CAAf;AAEA,EAAA,OAAO,CAAC,6BAAR,CAAsC,gBAAtC;AACA,SAAO,MAAP;AACD;;AAEM,MAAM,iBAAiB,GAAiB;AAC7C,EAAA,UAAU,EAAE,qBADiC;AAE7C,EAAA,WAAW,EAAE,OAFgC;AAG7C,EAAA,UAAU,EAAE;AAHiC,CAAxC;;;;;;;;;;AC9BP;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,qBAAV,CACF,CADE,EACa,mBADb,EAEF,QAFE,EAGF,OAHE,EAGuB;AAC3B,MAAI,OAAO,GAAG,IAAI,uBAAJ,CAAkB,QAAlB,EAA4B,KAA5B,EAAmC,KAAnC,CAAd;AACA,QAAM,UAAU,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,SAAtC,CAAnB;AAEA,EAAA,OAAO,GAAG,IAAI,uBAAJ,CAAkB,QAAlB,EAA4B,KAA5B,EAAmC,IAAnC,EAAyC,IAAzC,EAA+C,mBAA/C,CAAV;AACA,QAAM,WAAW,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,SAAtC,CAApB;AACA,SAAO,CAAC,UAAD,EAAa,WAAb,CAAP;AACD;;;;;;;;;ACfD;;AAKA;;AAtBA;;;;;;;;;;;;;;;;AAwBO,MAAM,uBAAuB,GAAiB;AACnD,EAAA,UAAU,EAAE,2BADuC;AAEnD,EAAA,WAAW,EAAE,OAFsC;AAGnD,EAAA,UAAU,EAAE,CAAC;AAAC,IAAA,MAAD;AAAS,IAAA,KAAT;AAAgB,IAAA;AAAhB,GAAD,KAA6B;AACvC,UAAM;AAAC,MAAA;AAAD,QAAM,MAAZ;AACA,UAAM;AAAC,MAAA,UAAD;AAAa,MAAA,OAAb;AAAsB,MAAA,GAAtB;AAA2B,MAAA;AAA3B,QACF,KADJ;AAEA,UAAM,YAAY,GAAG,OAArB;;AAEA,mBAAK,MAAL,CACI,CAAC,CAAC,KAAF,CAAQ,MAAR,KAAmB,CADvB,EAEI,MAAM,uDACF,CAAC,CAAC,KAAF,CAAQ,MAAM,GAHtB;;AAIA,UAAM,SAAS,GAAqB,CAAC,CAAD,EAAI,CAAJ,CAApC;;AACA,mBAAK,MAAL,CACI,uBAAa,8BAAb,CAA4C,OAA5C,EAAqD,SAArD,CADJ,EAEI,MAAM,8DACF,eAAe,OAAO,mBAAmB,SAAS,GAH1D;;AAKA,UAAM,QAAQ,GAAG,uBAAa,iBAAb,CACb,CAAC,CAAC,KADW,EACgC,UADhC,EAC4C,OAD5C,EAEb,SAFa,EAEF,GAFE,CAAjB;;AAIA,UAAM,CAAC,MAAD,EAAS,OAAT,IACF,mDAAsB,CAAtB,EAAyB,mBAAzB,EAA8C,QAA9C,EAAwD,YAAxD,CADJ;AAEA,WAAO,CAAC,MAAD,EAAS,OAAT,CAAP;AACD;AA1BkD,CAA9C;;;;;;;;;;ACPP;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,QAAV,CACF,CADE,EACa,WADb,EACoC,QADpC,EAEF,OAFE,EAEuB;AAC3B,QAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,WAAnB,CAAf;;AACA,QAAM,KAAK,GAAG,eAAK,aAAL,CAAmB,CAAC,CAAC,KAArB,CAAd;;AACA,QAAM,SAAS,GAAG,KAAK,GAAG,MAA1B;AACA,QAAM,aAAa,GACf,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA;AAAD,KAAT;AAAc,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,SAAD,EAAY,MAAZ;AAAR,KAArB;AAAmD,IAAA;AAAnD,GAAR,CADJ;AAGA,QAAM,OAAO,GAAG,oBAAO,aAAP,EAAsB,SAAtB,EAAiC,MAAjC,EAAyC,OAAzC,CAAhB;AACA,QAAM,cAAc,GAChB,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAuB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR,KAA9B;AAAiD,IAAA;AAAjD,GAAR,CADJ;AAGA,EAAA,OAAO,CAAC,6BAAR,CAAsC,aAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,OAAtC;AAEA,SAAO,cAAP;AACD;;;;;;;;;ACvBD;;AAIA;;AACA;;AAtBA;;;;;;;;;;;;;;;;AAwBO,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE,CAAC;AAAC,IAAA,MAAD;AAAS,IAAA,KAAT;AAAgB,IAAA;AAAhB,GAAD,KAA6B;AACvC,UAAM;AAAC,MAAA;AAAD,QAAM,MAAZ;AACA,UAAM;AAAC,MAAA,QAAD;AAAW,MAAA;AAAX,QAAmB,KAAzB;AACA,UAAM,YAAY,GAAG,OAArB;AAEA,UAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;;AACA,UAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,CAAC,CAAC,KAA5B,CAAjB;;AAEA,QAAI,IAAI,GAAG,QAAX;;AACA,UAAM,YAAY,GAAG,uBAAa,kBAAb,CAAgC,IAAhC,EAAsC,KAAtC,CAArB;;AACA,UAAM,qBAAqB,GAAG,YAAY,IAAI,IAA9C;AACA,UAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAb,CAAgC,CAAC,CAAD,CAAhC,CAA3B;AAEA,UAAM,aAAa,GAAiB,EAApC;AAEA,QAAI,SAAS,GAAG,CAAhB;;AACA,QAAI,qBAAJ,EAA2B;AACzB,UAAI,kBAAJ,EAAwB;AACtB,cAAM,QAAQ,GAAG,YAAY,CAAC,OAAb,CAAqB,GAArB,CAAyB,SAAS,CAAC,MAAnC,CAAjB;AACA,cAAM,MAAM,GAAG,QAAQ,CAAC,MAAxB;AAEA,cAAM,QAAQ,GAAa,IAAI,KAAJ,CAAU,KAAV,CAA3B;;AACA,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,MAA7B,EAAqC,CAAC,EAAtC,EAA0C;AACxC,UAAA,QAAQ,CAAC,CAAD,CAAR,GAAc,CAAC,CAAC,KAAF,CAAQ,YAAY,CAAC,CAAD,CAApB,CAAd;AACD;;AACD,cAAM,eAAe,GACjB,sCAAiB,MAAjB,EAAyB,CAAC,CAAC,KAA3B,EAAkC,CAAC,CAAC,KAApC,EAA2C,YAA3C,EAAyD,QAAzD,CADJ;AAGA,QAAA,SAAS,GAAG,YAAY,CAAC,cAAb,CAA4B,QAA5B,EAAsC,CAAC,CAAC,KAAxC,CAAZ;AACA,cAAM,aAAa,GAAG,YAAY,CAAC,OAAb,CAAqB,GAArB,CAAyB,SAAS,CAAC,MAAnC,CAAtB;AACA,QAAA,aAAa,CAAC,MAAd,GAAuB,eAAvB;AACD,OAdD,MAcO;AACL,QAAA,SAAS,GAAG,mCAAc,CAAd,EAAiB,YAAjB,EAA+B,YAA/B,CAAZ;AACD;;AAED,MAAA,aAAa,CAAC,IAAd,CAAmB,SAAnB;AACA,MAAA,IAAI,GAAG,uBAAa,gBAAb,CAA8B,IAAI,CAAC,MAAnC,EAA2C,KAA3C,CAAP;AACD;;AAED,2BAAa,0BAAb,CAAwC,KAAxC,EAA+C,IAA/C,EAAqD,KAArD;;AACA,UAAM,CAAC,YAAD,EAAe,WAAf,IACF,uBAAa,yBAAb,CAAuC,SAAS,CAAC,KAAjD,EAAwD,IAAxD,CADJ;;AAGA,QAAI,QAAQ,GAAG,YAAf;;AACA,QAAI,QAAJ,EAAc;AACZ;AACA,MAAA,QAAQ,GAAG,uBAAa,oBAAb,CAAkC,YAAlC,EAAgD,QAAhD,CAAX;AACD;;AAED,UAAM,GAAG,GAAG,yBAAS,SAAT,EAAoB,WAApB,EAAiC,QAAjC,EAA2C,YAA3C,CAAZ;;AACA,SAAK,MAAM,CAAX,IAAgB,aAAhB,EAA+B;AAC7B,MAAA,YAAY,CAAC,6BAAb,CAA2C,CAA3C;AACD;;AAED,WAAO,GAAP;AACD;AA1DqC,CAAjC;;;;;;;;;;;ACPP;;AAGA;;AAEA;;AACA;;AAvBA;;;;;;;;;;;;;;;;AAyBM,SAAU,GAAV,CACF,IADE,EACmE;AAEvE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,MAAmB,KAAzB;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;;AAEA,QAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,CAAC,CAAC,KAA5B,CAAjB;;AACA,MAAI,IAAI,GAAG,QAAX;;AACA,QAAM,YAAY,GAAG,uBAAa,kBAAb,CAAgC,IAAhC,EAAsC,KAAtC,CAArB;;AACA,MAAI,SAAS,GAAG,CAAhB;;AACA,MAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,IAAA,SAAS,GAAG,0BAAU;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,IAAI,EAAE;AAAP;AAA9B,KAAV,CAAZ;AACA,IAAA,IAAI,GAAG,uBAAa,gBAAb,CAA8B,IAAI,CAAC,MAAnC,EAA2C,CAAC,CAAC,KAAF,CAAQ,MAAnD,CAAP;AACD;;AAED,yBAAa,0BAAb,CAAwC,KAAxC,EAA+C,IAA/C,EAAqD,KAArD;;AACA,QAAM,CAAC,QAAD,EAAW,WAAX,IACF,uBAAa,yBAAb,CAAuC,SAAS,CAAC,KAAjD,EAAwD,IAAxD,CADJ;;AAEA,QAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,WAAnB,CAAf;;AACA,QAAM,GAAG,GACL,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAyB,IAAA,OAAzB;AAAkC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,CAAC,CAAF,EAAK,MAAL;AAAR;AAAzC,GAAR,CADJ;AAEA,QAAM,OAAO,GAAG,oBAAO,GAAP,EAAY,GAAG,CAAC,KAAhB,EAAuB,KAAvB,EAA8B,OAA9B,CAAhB;AAEA,MAAI,GAAJ;;AACA,MAAI,QAAJ,EAAc;AACZ,UAAM,QAAQ,GAAG,uBAAa,oBAAb,CAAkC,QAAlC,EAA4C,QAA5C,CAAjB;;AACA,IAAA,GAAG,GAAG,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAuB,MAAA,OAAvB;AAAgC,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAAvC,KAAR,CAAN;AACD,GAHD,MAGO;AACL,IAAA,GAAG,GAAG,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAuB,MAAA,OAAvB;AAAgC,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAAvC,KAAR,CAAN;AACD;;AAED,EAAA,OAAO,CAAC,6BAAR,CAAsC,GAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,OAAtC;;AAEA,MAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,IAAA,OAAO,CAAC,6BAAR,CAAsC,SAAtC;AACD;;AAED,SAAO,GAAP;AACD;;AAEM,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;AvKpDP;;AAEA;;AACA;;AACA;;AACA;;AAtBA;;;;;;;;;;;;;;;;AAwBA,MAAM,OAAO,GAAG,kCAAoB;;CAApC;AAIA,MAAM,cAAc,GAAG;;;GAAA,GAInB,sCAJmB,GAIQ;;CAJ/B;AAQO,MAAM,OAAO,GAAG,0CAAiB;AACtC,EAAA,SAAS,EAAE,OAD2B;AAEtC,EAAA,eAAe,EAAE,cAFqB;AAGtC,EAAA,aAAa,EAAE;AAHuB,CAAjB,CAAhB;;AAMA,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;AwKxBP;;AAlBA;;;;;;;;;;;;;;;;AAoBM,MAAO,gBAAP,CAAuB;AAK3B,EAAA,WAAA,CACI,MADJ,EACsB,QADtB,EAEI,IAFJ,EAE+B;AAN/B,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAOE,SAAK,WAAL,GAAmB,QAAQ,CAAC,GAAT,CACf,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,CAAC,CAAD;AAAI;AAAL,MAAuB,MAAM,CAAC,CAAD,CAA7B,GAAmC,CAAC,CAAC,CAAD;AAAI;AADnC,KAAnB;AAEA,UAAM,IAAI,GAAG,MAAM,CAAC,MAApB;AACA,UAAM,KAAK,GAAG,wCAAkB,IAAlB,CAAd;AAEA,UAAM,KAAK,GAAG,QAAQ,CAAC,GAAT,CAAa,CAAC,IAAI,CAAC,CAAC,CAAD,CAAnB,EAAwB,IAAxB,CAA6B,GAA7B,CAAd;AACA,UAAM,GAAG,GAAG,QAAQ,CAAC,GAAT,CAAa,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,CAAC,CAAD,CAAD,GAAO,MAAM,CAAC,CAAD,CAApC,EAAyC,IAAzC,CAA8C,GAA9C,CAAZ;AACA,UAAM,cAAc,GAChB,CAAC,WAAD,EAAc,WAAd,EAA2B,WAA3B,EAAwC,WAAxC,EAAqD,KAArD,CAA2D,CAA3D,EAA8D,IAA9D,CADJ;AAEA,UAAM,MAAM,GAAG,IAAI,KAAK,SAAT,GAAqB,CAArB,GAAyB,CAAxC;;AAEA,QAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAK,QAAL,GAAgB;sBACA,KAAK;oBACP,GAAG;;;;;wCAKiB,MAAM;;4CAEF,MAAM;;;;OAT5C;AAcA;AACD;;AACD,SAAK,QAAL,GAAgB;QACZ,KAAK,YAAY,KAAK,IAAI,KAAK;QAC/B,KAAK,UAAU,KAAK,IAAI,GAAG;;;UAGzB,KAAK;8BACe,IAAI;;iDAEe,MAAM;;qDAEF,MAAM;;;UAGjD,KAAK;yBACU,cAAc;;KAdnC;AAiBD;;AArD0B;;;;;;;;;;;ACF7B;;AACA;;AAnBA;;;;;;;;;;;;;;;;;AAqBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCM,MAAO,sBAAP,CAA6B;AAOjC,EAAA,WAAA,CACI,MADJ,EACsB,QADtB,EAEI,IAFJ,EAE+B;AAR/B,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAOE,SAAK,WAAL,GAAmB,QAAQ,CAAC,GAAT,CACf,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,CAAC,CAAD;AAAI;AAAL,MAAuB,MAAM,CAAC,CAAD,CAA7B,GAAmC,CAAC,CAAC,CAAD;AAAI;AADnC,KAAnB;AAEA,UAAM,IAAI,GAAG,MAAM,CAAC,MAApB;AACA,UAAM,KAAK,GAAG,wCAAkB,IAAlB,CAAd;AAEA,UAAM,KAAK,GAAG,QAAQ,CAAC,GAAT,CAAa,CAAC,IAAI,CAAC,CAAC,CAAD,CAAnB,EAAwB,IAAxB,CAA6B,GAA7B,CAAd;AACA,UAAM,GAAG,GAAG,QAAQ,CAAC,GAAT,CAAa,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,CAAC,CAAD,CAAD,GAAO,MAAM,CAAC,CAAD,CAApC,EAAyC,IAAzC,CAA8C,GAA9C,CAAZ;AACA,UAAM,MAAM,GAAG,+BAAY,IAAZ,EAAkB,IAAlB,CAAf;AACA,UAAM,MAAM,GAAG,+BAAY,QAAZ,EAAsB,IAAtB,CAAf;AACA,UAAM,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,KAAK,WAAL,CAAiB,IAAI,GAAG,CAAxB,CAA0B,EAAlE;AACA,UAAM,SAAS,GACX,IAAI,KAAK,CAAT,GAAa,QAAb,GAAwB,QAAQ,MAAM,CAAC,KAAP,CAAa,CAAC,CAAd,EAAiB,IAAjB,EAAuB,GAD3D;AAEA,UAAM,MAAM,GAAG,IAAI,KAAK,SAAT,GAAqB,CAArB,GAAyB,CAAxC;AAEA,QAAI,QAAQ,GAAG,EAAf;;AACA,QAAI,IAAI,KAAK,CAAb,EAAgB;AACd,YAAM,QAAQ,GAAG;UACb,KAAK;;0CAE2B,MAAM;;8CAEF,MAAM;;;OAL9C;AASA,MAAA,QAAQ,GAAG;UACP,KAAK;UACL,QAAQ;sCACoB,MAAM,CAAC,IAAP,EAAa,MAAM,SAAS;UACxD,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;aACb,MAAM;YACP,QAAQ;wCACoB,MAAM,CAAC,IAAP,EAAa,MAAM,SAAS;;OAP9D;AAUD,KApBD,MAoBO;AACL,YAAM,QAAQ,GAAG;UACb,KAAK;UACL,KAAK,SAAS,KAAK;UACnB,KAAK,UAAU,KAAK;UACpB,KAAK;;6CAE8B,MAAM;kDACD,MAAM;;OAPlD;AAWA,MAAA,QAAQ,GAAG;UACP,KAAK;UACL,QAAQ;sCACoB,MAAM,CAAC,IAAP,EAAa,MAAM,SAAS;UACxD,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;aACb,MAAM;YACP,QAAQ;wCACoB,MAAM,CAAC,IAAP,EAAa,MAAM,SAAS;;;UAG1D,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;aACb,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,KAAK,WAAL,CAAiB,IAAI,GAAG,CAAxB,CAA0B;YACjD,QAAQ;wCACoB,MAAM,CAAC,IAAP,EAAa,MAAM,SAAS;YACxD,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;eACb,MAAM;cACP,QAAQ;0CACoB,MAAM,CAAC,IAAP,EAAa,MAAM,SAAS;;;OAjBhE;AAqBD;;AAED,SAAK,QAAL,GAAgB;cACN,KAAK,YAAY,KAAK,IAAI,KAAK;cAC/B,KAAK,UAAU,KAAK,IAAI,GAAG;;;UAG/B,KAAK;;UAEL,QAAQ;;;KAPd;AAWD;;AA3FgC;;;;;;;;;;;AC3CnC;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBO,MAAM,mBAAmB,GAIb,CAAC;AAAC,EAAA,MAAD;AAAS,EAAA,OAAT;AAAkB,EAAA;AAAlB,CAAD,KAA6B;AAC9C,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,QAAD;AAAW,IAAA;AAAX,MAAmB,KAAzB;AAEA,QAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,6BAAd,IACZ,IAAI,6CAAJ,CAA2B,CAAC,CAAC,KAA7B,EAAoC,QAApC,EAA8C,IAA9C,CADY,GAEZ,IAAI,gCAAJ,CAAqB,CAAC,CAAC,KAAvB,EAA8B,QAA9B,EAAwC,IAAxC,CAFJ;AAIA,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,CAAC,CAAC,KAAxC,CAAf;AAEA,SAAO,MAAP;AACD,CAfM;;;AAiBA,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,mBAD+B;AAE3C,EAAA,WAAW,EAAE,OAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;ACvBP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,GAAG,GAAG;oBAAZ;AAGA,MAAM,UAAU,GAAG;;;GAAA,GAIf,sCAJe,GAIK;;CAJxB;AAQO,MAAM,GAAG,GAAG,0CAAiB;AAClC,EAAA,SAAS,EAAE,GADuB;AAElC,EAAA,eAAe,EAAE;AAFiB,CAAjB,CAAZ;;AAKA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;ACtCP;;;;;;;;;;;;;;;;AAoBM,MAAO,kBAAP,CAAyB;AAM7B,EAAA,WAAA,CAAY,SAAZ,EAA+B,WAA/B,EAAoD,UAApD,EAAsE;AALtE,SAAA,aAAA,GAAgB,CAAC,OAAD,CAAhB;AAGA,SAAA,cAAA,GAAiB,CAAC;AAAC,MAAA,IAAI,EAAE,MAAP;AAAe,MAAA,IAAI,EAAE;AAArB,KAAD,CAAjB;AAGE,SAAK,WAAL,GAAmB,CAAC,SAAD,EAAY,UAAZ,CAAnB;AAEA,SAAK,QAAL,GAAgB;;;;;;;;8BAQU,WAAW,GAAG,CAAC;;;;;;;;;;0BAUnB,WAAW,GAAG,CAAC;;KAlBrC;AAqBD;;AA9B4B;;;;;;;;;;;ACH/B;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA;AACA;AACA,MAAM,GAAG,GAAG;;;;cAAZ,EAMA;AACA;;AACA,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;CAAnB;AAoBO,MAAM,OAAO,GAAG,0CACnB;AAAC,EAAA,SAAS,EAAE,GAAZ;AAAiB,EAAA,eAAe,EAAE,UAAlC;AAA8C,EAAA,gBAAgB,EAAE;AAAhE,CADmB,CAAhB;;AAGA,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;A3JrCP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,GAAG,GAAG,eAAZ;AAEO,MAAM,GAAG,GAAG,0CAAiB;AAClC,EAAA,SAAS,EAAE,GADuB;AAElC,EAAA,eAAe,EAAE,GAFiB;AAGlC,EAAA,eAAe,EAAE,IAHiB;AAIlC,EAAA,aAAa,EAAE;AAJmB,CAAjB,CAAZ;;AAOA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;;A4JdP;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AA1BA;;;;;;;;;;;;;;;;AA4BM,SAAU,OAAV,CAAkB,IAAlB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAW,MAAjB;AACA,QAAM;AAAC,IAAA;AAAD,MAAQ,KAAd;;AAEA,QAAM,IAAI,GAAG,eAAK,cAAL,CAAoB,CAAC,GAAD,CAApB,EAA2B,MAAM,CAAC,KAAlC,CAAb;;AAEA,QAAM,QAAQ,GAAG,cAAI;AACnB,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KADW;AAEnB,IAAA,OAFmB;AAGnB,IAAA,KAAK,EAAE;AAAC,MAAA,gBAAgB,EAAE,IAAnB;AAAyB,MAAA,QAAQ,EAAE;AAAnC;AAHY,GAAJ,CAAjB;;AAMA,QAAM,aAAa,GAAG,uBAAa,oBAAb,CAAkC,QAAQ,CAAC,KAA3C,EAAkD,IAAlD,CAAtB;;AAEA,QAAM,iBAAiB,GACnB,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAwB,IAAA,OAAxB;AAAiC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAxC,GAAR,CADJ;AAEA,QAAM,CAAC,GACH,cAAI;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE,MAAJ;AAAY,MAAA,CAAC,EAAE;AAAf,KAAT;AAA4C,IAAA;AAA5C,GAAJ,CADJ;AAEA,QAAM,CAAC,GAAG,cAAI;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAiB,IAAA;AAAjB,GAAJ,CAAV;AACA,QAAM,MAAM,GACR,cAAI;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAiB,IAAA,OAAjB;AAA0B,IAAA,KAAK,EAAE;AAAC,MAAA,IAAI,EAAE,IAAP;AAAa,MAAA,QAAQ,EAAE;AAAvB;AAAjC,GAAJ,CADJ;AAEA,QAAM,cAAc,GAChB,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAsB,IAAA,OAAtB;AAA+B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAtC,GAAR,CADJ;AAGA,QAAM,GAAG,GACL,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE,CAAJ;AAAO,MAAA,CAAC,EAAE;AAAV,KAAT;AAAoC,IAAA;AAApC,GAAR,CADJ;AAGA,EAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,iBAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,CAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,CAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,MAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,cAAtC;AAEA,SAAO,GAAP;AACD;;AAEM,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;;ACrDP;;AAGA;;AAEA;;AAtBA;;;;;;;;;;;;;;;;AAwBM,SAAU,WAAV,CAAsB,IAAtB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAW,MAAjB;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA,IAAb;AAAmB,IAAA;AAAnB,MAAiC,KAAvC;AAEA,QAAM,KAAK,GAAG,UAAU,GACpB,MADoB,GAEpB,sBACI;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA;AAAD,KAAT;AAAmB,IAAA,OAAnB;AAA4B,IAAA,KAAK,EAAE;AAAC,MAAA,GAAG,EAAE,MAAM,CAAC,KAAP,CAAa,MAAb,GAAsB;AAA5B;AAAnC,GADJ,CAFJ;AAIA,QAAM,SAAS,GAAG,KAAK,CAAC,KAAN,CAAY,CAAZ,CAAlB;AACA,QAAM,WAAW,GAAG,KAAK,CAAC,KAAN,CAAY,CAAZ,CAApB;AACA,QAAM,OAAO,GAAG,IAAI,mCAAJ,CAAuB,SAAvB,EAAkC,WAAlC,EAA+C,UAA/C,CAAhB;AACA,QAAM,YAAY,GAAG,CAAC,CAAC,IAAD,CAAD,CAArB;AACA,QAAM,GAAG,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,KAAD,CAAjC,EAA0C,OAA1C,EAAmD,YAAnD,CAAZ;;AACA,MAAI,CAAC,UAAL,EAAiB;AACf,IAAA,OAAO,CAAC,6BAAR,CAAsC,KAAtC;AACD;;AACD,SAAO,GAAP;AACD;;AAEM,MAAM,iBAAiB,GAAiB;AAC7C,EAAA,UAAU,EAAE,qBADiC;AAE7C,EAAA,WAAW,EAAE,OAFgC;AAG7C,EAAA,UAAU,EAAE;AAHiC,CAAxC;;;;;;;;;;;A7K/BP;;AAEA;;AACA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBA,MAAM,GAAG,GAAG,YAAZ,EAEA;AACA;;AACM,SAAU,GAAV,CAAc,IAAd,EAAkE;AAEtE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;;AAEA,MAAI,OAAO,CAAC,kBAAR,CAA2B,CAAC,CAAD,CAA3B,CAAJ,EAAqC;AACnC,UAAM,KAAK,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAd;AACA,UAAM,CAAC,SAAD,EAAY,QAAZ,IACF,wBAAW,KAAK,CAAC,MAAjB,EAAuC,CAAC,CAAC,KAAzC,EAAgD,CAAC,CAAC,KAAlD,CADJ;AAEA,WAAO,OAAO,CAAC,cAAR,CAAuB,QAAvB,EAAiC,CAAC,CAAC,KAAnC,EAA0C,SAA1C,CAAP;AACD;;AAED,MAAI,OAAJ;;AACA,MAAI,qBAAM,OAAN,CAAc,6BAAd,CAAJ,EAAkD;AAChD,IAAA,OAAO,GAAG,IAAI,wCAAJ,CAAyB,CAAC,CAAC,KAA3B,EAAkC,GAAlC,CAAV;AACD,GAFD,MAEO;AACL,IAAA,OAAO,GAAG,IAAI,2BAAJ,CAAmB,CAAC,CAAC,KAArB,EAA4B,GAA5B,CAAV;AACD;;AAED,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,CAAC,CAAC,KAAxC,CAAP;AACD;;AAEM,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;;A8KhCP;;AAjBA;;;;;;;;;;;;;;;;AAmBA,MAAM,uBAAuB,GAAG,uBAAa,uBAA7C;;AAGM,SAAU,mBAAV,CAA8B,IAA9B,EAIL;AACC,yBAAa,IAAb,CACI,0DACA,0CAFJ;;AAIA,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,KAAD;AAAQ,IAAA;AAAR,MAAkB,MAAxB;AACA,QAAM;AAAC,IAAA,aAAD;AAAgB,IAAA,YAAhB;AAA8B,IAAA;AAA9B,MAAgD,KAAtD;AAEA,QAAM,SAAS,GAAG,OAAO,CAAC,QAAR,CAAiB,KAAK,CAAC,MAAvB,CAAlB;AACA,QAAM,UAAU,GAAG,OAAO,CAAC,QAAR,CAAiB,MAAM,CAAC,MAAxB,CAAnB;AAEA,QAAM;AAAC,IAAA;AAAD,MAAoB,uBAAuB,CAC7C,SAD6C,EAClC,UADkC,EACtB,aADsB,EACP,YADO,EACO,cADP,CAAjD;AAGA,SAAO,OAAO,CAAC,cAAR,CACH,CAAC,eAAe,CAAC,MAAjB,CADG,EACuB,OADvB,EACgC,IAAI,UAAJ,CAAe,eAAf,CADhC,CAAP;AAED;;AAEM,MAAM,yBAAyB,GAAiB;AACrD,EAAA,UAAU,EAAE,6BADyC;AAErD,EAAA,WAAW,EAAE,OAFwC;AAGrD,EAAA,UAAU,EAAE;AAHyC,CAAhD;;;;;;;;;;;AC5BP;;AAjBA;;;;;;;;;;;;;;;;AAkBA,MAAM,uBAAuB,GAAG,uBAAa,uBAA7C;;AAIM,SAAU,mBAAV,CAA8B,IAA9B,EAIL;AACC,yBAAa,IAAb,CACI,0DACA,0CAFJ;;AAIA,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,KAAD;AAAQ,IAAA;AAAR,MAAkB,MAAxB;AACA,QAAM;AAAC,IAAA,aAAD;AAAgB,IAAA,YAAhB;AAA8B,IAAA,cAA9B;AAA8C,IAAA;AAA9C,MACF,KADJ;AAGA,QAAM,SAAS,GAAG,OAAO,CAAC,QAAR,CAAiB,KAAK,CAAC,MAAvB,CAAlB;AACA,QAAM,UAAU,GAAG,OAAO,CAAC,QAAR,CAAiB,MAAM,CAAC,MAAxB,CAAnB;AAEA,QAAM;AAAC,IAAA,eAAD;AAAkB,IAAA;AAAlB,MAAkC,uBAAuB,CAC3D,SAD2D,EAChD,UADgD,EACpC,aADoC,EACrB,YADqB,EACP,cADO,EAE3D,kBAF2D,CAA/D;AAIA,SAAO,CACL,OAAO,CAAC,cAAR,CACI,CAAC,eAAe,CAAC,MAAjB,CADJ,EAC8B,OAD9B,EACuC,IAAI,UAAJ,CAAe,eAAf,CADvC,CADK,EAGL,OAAO,CAAC,cAAR,CAAuB,EAAvB,EAA2B,OAA3B,EAAoC,IAAI,UAAJ,CAAe,CAAC,YAAD,CAAf,CAApC,CAHK,CAAP;AAKD;;AAEM,MAAM,yBAAyB,GAAiB;AACrD,EAAA,UAAU,EAAE,6BADyC;AAErD,EAAA,WAAW,EAAE,OAFwC;AAGrD,EAAA,UAAU,EAAE;AAHyC,CAAhD;;;;;;;;;;;ACjCP;;AAjBA;;;;;;;;;;;;;;;;AAmBA,MAAM,uBAAuB,GAAG,uBAAa,uBAA7C;;AAGM,SAAU,mBAAV,CAA8B,IAA9B,EAIL;AACC,yBAAa,IAAb,CACI,0DACA,0CAFJ;;AAIA,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,KAAD;AAAQ,IAAA;AAAR,MAAkB,MAAxB;AACA,QAAM;AAAC,IAAA,aAAD;AAAgB,IAAA,YAAhB;AAA8B,IAAA,cAA9B;AAA8C,IAAA;AAA9C,MAA8D,KAApE;AAEA,QAAM,SAAS,GAAG,OAAO,CAAC,QAAR,CAAiB,KAAK,CAAC,MAAvB,CAAlB;AACA,QAAM,UAAU,GAAG,OAAO,CAAC,QAAR,CAAiB,MAAM,CAAC,MAAxB,CAAnB;AAEA,QAAM,gBAAgB,GAAG,aAAzB;AACA,QAAM,eAAe,GAAG,YAAxB;AACA,QAAM,iBAAiB,GAAG,cAA1B;AACA,QAAM,eAAe,GAAG,YAAxB;AAEA,QAAM;AAAC,IAAA,eAAD;AAAkB,IAAA;AAAlB,MAAoC,uBAAuB,CAC7D,SAD6D,EAClD,UADkD,EACtC,gBADsC,EACpB,eADoB,EAE7D,iBAF6D,EAE1C,eAF0C,CAAjE;AAIA,SAAO,CACL,OAAO,CAAC,cAAR,CACI,CAAC,eAAe,CAAC,MAAjB,CADJ,EAC8B,OAD9B,EACuC,IAAI,UAAJ,CAAe,eAAf,CADvC,CADK,EAGL,OAAO,CAAC,cAAR,CACI,CAAC,cAAc,CAAC,MAAhB,CADJ,EAC6B,SAD7B,EACwC,IAAI,YAAJ,CAAiB,cAAjB,CADxC,CAHK,CAAP;AAMD;;AAEM,MAAM,yBAAyB,GAAiB;AACrD,EAAA,UAAU,EAAE,6BADyC;AAErD,EAAA,WAAW,EAAE,OAFwC;AAGrD,EAAA,UAAU,EAAE;AAHyC,CAAhD;;;;;;;;;;ACvDP;;;;;;;;;;;;;;;;AAmBM,MAAO,aAAP,CAAoB;AAQxB,EAAA,WAAA,CACI,UADJ,EACwB,KADxB,EACuC,OADvC,EACwD,QADxD,EACwE;AARxE,SAAA,aAAA,GAAgB,CAAC,SAAD,CAAhB;AASE,SAAK,WAAL,GAAmB,CAAC,UAAD,EAAa,KAAb,CAAnB;AAEA,SAAK,QAAL,GAAgB;;;;8BAIU,QAAQ,YAAY,OAAO;;;KAJrD;AAQD;;AApBuB;;;;;;;;;;;ACF1B;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBO,MAAM,MAAM,GAAI,IAAD,IAIL;AACf,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAY,MAAlB;AACA,QAAM;AAAC,IAAA,KAAD;AAAQ,IAAA,OAAR;AAAiB,IAAA;AAAjB,MAA6B,KAAnC;;AAEA,QAAM,WAAW,GAAG,eAAK,aAAL,CAAmB,OAAO,CAAC,KAA3B,CAApB;;AACA,QAAM,OAAO,GAAG,IAAI,yBAAJ,CAAkB,WAAlB,EAA+B,KAA/B,EAAsC,OAAtC,EAA+C,QAA/C,CAAhB;AACA,QAAM,QAAQ,GACV,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAuB,IAAA,OAAvB;AAAgC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,WAAD;AAAR;AAAvC,GAAR,CADJ;AAEA,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,QAAD,CAAjC,EAA6C,OAAO,CAAC,KAArD,CAAf;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AAEA,QAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,KAAZ,EAAmB,KAAnB,CAAjB;AACA,QAAM,GAAG,GAAG,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAsB,IAAA,OAAtB;AAA+B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAtC,GAAR,CAAZ;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,MAAtC;AACA,SAAO,GAAP;AACD,CApBM;;;AAsBA,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;;AC5BP;;AAIA;;AACA;;AACA;;AACA;;AAxBA;;;;;;;;;;;;;;;;AA0BM,SAAU,SAAV,CACF,IADE,EACwD;AAC5D,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;;AAEA,MAAI,CAAC,CAAC,KAAF,KAAY,WAAhB,EAA6B;AAC3B,UAAM,QAAQ,GAAG,gBAAK;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR,OAAT;AAAqB,MAAA;AAArB,KAAL,CAAjB;AACA,UAAM,CAAC,GAAG,SAAS,CAAC;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAwB,MAAA;AAAxB,KAAD,CAAnB;AACA,UAAM,QAAQ,GAAG,gBAAK;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR,OAAT;AAAqB,MAAA;AAArB,KAAL,CAAjB;AACA,UAAM,CAAC,GAAG,SAAS,CAAC;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAwB,MAAA;AAAxB,KAAD,CAAnB;AAEA,UAAM,MAAM,GAAG,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,IAAI,EAAE,CAAP;AAAU,QAAA,IAAI,EAAE;AAAhB,OAAT;AAA6B,MAAA;AAA7B,KAAR,CAAf;AAEA,IAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,CAAtC;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,CAAtC;AAEA,WAAO,MAAP;AACD,GAdD,MAcO;AACL,WAAO,gBAAK;AACV,MAAA,KAAK,EAAE;AACL,QAAA,KAAK,EAAE,CAAC,CAAC,KADJ;AAEL,QAAA,KAAK,EAAE,CAAC,CAAC,KAFJ;AAGL,QAAA,KAAK,EAAE,CAAC,CAAC,KAAF,KAAY,QAAZ,GAAuB,EAAvB,GAA4B;AAH9B,OADG;AAMV,MAAA;AANU,KAAL,CAAP;AAQD;AACF;;AAEM,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,mBAD+B;AAE3C,EAAA,WAAW,EAAE,OAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;;ACxCP;;AAIA;;AACA;;AACA;;AACA;;AACA;;AAzBA;;;;;;;;;;;;;;;;AA2BM,SAAU,QAAV,CACF,IADE,EACuD;AAC3D,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;;AAEA,MAAI,CAAC,CAAC,KAAF,KAAY,QAAhB,EAA0B;AACxB,UAAM,IAAI,KAAJ,CAAU,8CAAV,CAAN;AACD,GAFD,MAEO,IAAI,CAAC,CAAC,KAAF,KAAY,WAAhB,EAA6B;AAClC,UAAM,QAAQ,GAAG,gBAAK;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR,OAAT;AAAqB,MAAA;AAArB,KAAL,CAAjB;AACA,UAAM,CAAC,GAAG,QAAQ,CAAC;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAwB,MAAA;AAAxB,KAAD,CAAlB;AACA,UAAM,QAAQ,GAAG,gBAAK;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR,OAAT;AAAqB,MAAA;AAArB,KAAL,CAAjB;AACA,UAAM,CAAC,GAAG,0BAAU;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAwB,MAAA;AAAxB,KAAV,CAAV;AAEA,UAAM,MAAM,GAAG,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,IAAI,EAAE,CAAP;AAAU,QAAA,IAAI,EAAE;AAAhB,OAAT;AAA6B,MAAA;AAA7B,KAAR,CAAf;AAEA,IAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,CAAtC;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACA,IAAA,OAAO,CAAC,6BAAR,CAAsC,CAAtC;AAEA,WAAO,MAAP;AACD,GAdM,MAcA;AACL;AACA;AACA,WAAO,gBAAK;AAAC,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE,CAAC,CAAC,KAAV;AAAiB,QAAA,KAAK,EAAE,CAAC,CAAC,KAA1B;AAAiC,QAAA,KAAK,EAAE;AAAxC,OAAR;AAAoD,MAAA;AAApD,KAAL,CAAP;AACD;AACF;;AAEM,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,OAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;;ACtCP;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,IAAV,CACF,IADE,EACqE;AAEzE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAS,KAAf;;AAEA,MAAI,MAAM,CAAC,MAAP,KAAkB,CAAtB,EAAyB;AACvB,WAAO,4BACH;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,KAAK,EAAE,MAAM,CAAC,CAAD;AAAd,OAAT;AAA6B,MAAA,OAA7B;AAAsC,MAAA,KAAK,EAAE;AAAC,QAAA,GAAG,EAAE;AAAN;AAA7C,KADG,CAAP;AAED;;AAED,QAAM,KAAK,GAAG,MAAM,CAAC,CAAD,CAAN,CAAU,KAAxB;AACA,QAAM,KAAK,GAAG,MAAM,CAAC,CAAD,CAAN,CAAU,KAAxB;AAEA,EAAA,MAAM,CAAC,OAAP,CAAe,CAAC,IAAG;AACjB,mBAAK,iBAAL,CACI,KADJ,EACW,CAAC,CAAC,KADb,EAEI,uDAFJ;;AAGA,mBAAK,MAAL,CACI,KAAK,KAAK,CAAC,CAAC,KADhB,EAEI,MAAM,uDAFV;AAGD,GAPD;AASA,QAAM,uBAAuB,GAAiB,EAA9C;AACA,QAAM,eAAe,GAAG,MAAM,CAAC,GAAP,CAAW,CAAC,IAAG;AACrC,UAAM,SAAS,GACX,4BAAW;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR,OAAT;AAAqB,MAAA,OAArB;AAA8B,MAAA,KAAK,EAAE;AAAC,QAAA,GAAG,EAAE;AAAN;AAArC,KAAX,CADJ;AAEA,IAAA,uBAAuB,CAAC,IAAxB,CAA6B,SAA7B;AACA,WAAO,SAAP;AACD,GALuB,CAAxB;AAOA,QAAM,MAAM,GAAG,oBAAO;AAAC,IAAA,MAAM,EAAE,eAAT;AAA0B,IAAA,OAA1B;AAAmC,IAAA,KAAK,EAAE;AAAC,MAAA;AAAD;AAA1C,GAAP,CAAf;AAEA,EAAA,uBAAuB,CAAC,OAAxB,CACI,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CADT;AAGA,SAAO,MAAP;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AC5CP;;AAlBA;;;;;;;;;;;;;;;;AAoBM,MAAO,UAAP,CAAiB;AAMrB,EAAA,WAAA,CACI,MADJ,EACsB,QADtB,EAEI,aAFJ,EAEyB;AAPzB,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAGA,SAAA,cAAA,GAAiB,CAAC;AAAC,MAAA,IAAI,EAAE,OAAP;AAAgB,MAAA,IAAI,EAAE;AAAtB,KAAD,CAAjB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,GAAT,CACf,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,CAAC,CAAD;AAAI;AAAL,MAAuB,MAAM,CAAC,CAAD,CAA7B,GAAmC,CAAC,CAAC,CAAD;AAAI;AADnC,KAAnB;AAEA,UAAM,IAAI,GAAG,MAAM,CAAC,MAApB;AACA,UAAM,IAAI,GAAG,wCAAkB,IAAlB,CAAb;AAEA,UAAM,KAAK,GAAG,QAAQ,CAAC,GAAT,CAAa,CAAC,IAAI,CAAC,CAAC,CAAD,CAAnB,EAAwB,IAAxB,CAA6B,GAA7B,CAAd;AACA,UAAM,GAAG,GAAG,QAAQ,CAAC,GAAT,CAAa,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,CAAC,CAAD,CAAD,GAAO,MAAM,CAAC,CAAD,CAApC,EAAyC,IAAzC,CAA8C,GAA9C,CAAZ;AACA,UAAM,cAAc,GAChB,CAAC,WAAD,EAAc,WAAd,EAA2B,WAA3B,EAAwC,WAAxC,EAAqD,KAArD,CAA2D,CAA3D,EAA8D,IAA9D,CADJ;;AAGA,QAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAK,QAAL,GAAgB;sBACA,KAAK;oBACP,GAAG;;;;;;;;;;OAFjB;AAaA;AACD;;AACD,SAAK,QAAL,GAAgB;QACZ,IAAI,YAAY,IAAI,IAAI,KAAK;QAC7B,IAAI,UAAU,IAAI,IAAI,GAAG;;;UAGvB,IAAI;;;;YAIF,IAAI;2BACW,cAAc;;;KAVrC;AAcD;;AAjDoB;;;;;;;;;;;ACFvB;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBM,MAAO,gBAAP,CAAuB;AAQ3B,EAAA,WAAA,CACI,MADJ,EACsB,QADtB,EAEI,aAFJ,EAEyB;AATzB,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAGA,SAAA,cAAA,GAAiB,CAAC;AAAC,MAAA,IAAI,EAAE,OAAP;AAAgB,MAAA,IAAI,EAAE;AAAtB,KAAD,CAAjB;AAKE,SAAK,WAAL,GAAmB,QAAQ,CAAC,GAAT,CACf,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,CAAC,CAAD;AAAI;AAAL,MAAuB,MAAM,CAAC,CAAD,CAA7B,GAAmC,CAAC,CAAC,CAAD;AAAI;AADnC,KAAnB;AAEA,UAAM,IAAI,GAAG,MAAM,CAAC,MAApB;AACA,UAAM,KAAK,GAAG,wCAAkB,IAAlB,CAAd;AAEA,UAAM,KAAK,GAAG,QAAQ,CAAC,GAAT,CAAa,CAAC,IAAI,CAAC,CAAC,CAAD,CAAnB,EAAwB,IAAxB,CAA6B,GAA7B,CAAd;AACA,UAAM,GAAG,GAAG,QAAQ,CAAC,GAAT,CAAa,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,CAAC,CAAD,CAAD,GAAO,MAAM,CAAC,CAAD,CAApC,EAAyC,IAAzC,CAA8C,GAA9C,CAAZ;AACA,UAAM,MAAM,GAAG,+BAAY,IAAZ,EAAkB,IAAlB,CAAf;AACA,UAAM,MAAM,GAAG,+BAAY,QAAZ,EAAsB,IAAtB,CAAf;AACA,UAAM,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,KAAK,WAAL,CAAiB,IAAI,GAAG,CAAxB,CAA0B,EAAlE;AACA,UAAM,SAAS,GACX,IAAI,KAAK,CAAT,GAAa,QAAb,GAAwB,QAAQ,MAAM,CAAC,KAAP,CAAa,CAAC,CAAd,EAAiB,IAAjB,EAAuB,GAD3D;AAGA,UAAM,cAAc,GAAG,CACrB,GAAG,KAAK,kBADa,EACO,GAAG,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;YACzC,MAAM;OAFS,EAIrB,IAAI,KAAK,CAAT,GAAa,EAAb,GAAkB;;SAEf,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;YACb,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU,MAAM,KAAK,WAAL,CAAiB,IAAI,GAAG,CAAxB,CAA0B,KAPjC,EAQrB,IAAI,KAAK,CAAT,GAAa,EAAb,GAAkB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAR,CAAU;cAC/B,MAAM,KATO,CAAvB;AAYA,UAAM,WAAW,GAAG,IAAI,KAAK,CAAT,GAChB,yBADgB,GAEhB,4DAFJ;AAGA,QAAI,QAAQ,GAAG,EAAf;;AACA,SAAK,IAAI,CAAC,GAAG,CAAR,EAAW,CAAC,GAAG,IAAI,KAAK,CAAT,GAAa,CAAb,GAAiB,CAArC,EAAwC,CAAC,GAAG,CAA5C,EAA+C,CAAC,EAAhD,EAAoD;AAClD,MAAA,QAAQ,IAAI;UACR,cAAc,CAAC,CAAD,CAAG;cACb,WAAW;mBACN,CAAC;;YAER,KAAK;mBACE,CAAC,uBAAuB,MAAM,CAAC,IAAP,EAAa,MAAM,SAAS;;OANjE;AASD;;AACD,IAAA,QAAQ,IAAK,IAAI,KAAK,CAAT,GAAa,IAAb,GAAoB,IAAjC;AAEA,SAAK,QAAL,GAAgB;cACN,KAAK,YAAY,KAAK,IAAI,KAAK;cAC/B,KAAK,UAAU,KAAK,IAAI,GAAG;;;UAG/B,KAAK;;UAEL,QAAQ;;;KAPd;AAWD;;AAhE0B;;;;;;;;;;;ACJ7B;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBO,MAAM,KAAK,GACb,IAAD,IACiB;AACX,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,QAAD;AAAW,IAAA;AAAX,MAA4B,KAAlC;AAEA,QAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,6BAAd,IACZ,IAAI,gCAAJ,CAAqB,CAAC,CAAC,KAAvB,EAA8B,QAA9B,EAAwC,aAAxC,CADY,GAEZ,IAAI,mBAAJ,CAAe,CAAC,CAAC,KAAjB,EAAwB,QAAxB,EAAkC,aAAlC,CAFJ;AAGA,QAAM,YAAY,GAAG,CAAC,CAAC,aAAD,CAAD,CAArB;AACA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,CAAC,CAAC,KAAxC,EAA+C,YAA/C,CAAP;AACD,CAZF;;;AAcA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;ACpBP;;AAEA;;AACA;;AApBA;;;;;;;;;;;;;;;;AAsBA,MAAM,GAAG,GAAG;;;;;;;;;CAAZ;AAWA,MAAM,UAAU,GAAG;;;;;;;;;;;;;;GAAA,GAef,sCAfe,GAeK;;CAfxB;AAmBO,MAAM,GAAG,GACZ,0CAAiB;AAAC,EAAA,SAAS,EAAE,GAAZ;AAAiB,EAAA,eAAe,EAAE;AAAlC,CAAjB,CADG;;AAGA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;;ArLtCP;;AAGA;;AACA;;AAEA;;AACA;;AAxBA;;;;;;;;;;;;;;;;AA0BM,SAAU,IAAV,CACF,IADE,EACqE;AAEzE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,MAAmB,KAAzB;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;AACA,QAAM,SAAS,GAAG,EAAlB;;AAEA,QAAM,QAAQ,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,CAAC,CAAC,KAA5B,CAAjB;;AACA,MAAI,IAAI,GAAG,QAAX;;AACA,QAAM,YAAY,GAAG,uBAAa,kBAAb,CAAgC,IAAhC,EAAsC,KAAtC,CAArB;;AACA,MAAI,SAAS,GAAG,CAAhB;;AACA,MAAI,YAAY,IAAI,IAApB,EAA0B;AACxB,IAAA,SAAS,GAAG,0BAAU;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,IAAI,EAAE;AAAP;AAA9B,KAAV,CAAZ;AACA,IAAA,IAAI,GAAG,uBAAa,gBAAb,CAA8B,IAAI,CAAC,MAAnC,EAA2C,KAA3C,CAAP;AACA,IAAA,SAAS,CAAC,IAAV,CAAe,SAAf;AACD;;AAED,yBAAa,0BAAb,CAAwC,MAAxC,EAAgD,IAAhD,EAAsD,KAAtD;;AAEA,MAAI,GAAJ;;AACA,MAAI,OAAO,CAAC,kBAAR,CAA2B,CAAC,SAAD,CAA3B,CAAJ,EAA6C;AAC3C,UAAM,KAAK,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,SAAS,CAAC,MAA9B,EAAsC,MAApD;AACA,UAAM;AAAC,MAAA,OAAD;AAAU,MAAA,QAAV;AAAoB,MAAA;AAApB,QACF,yBAAY,SAAS,CAAC,KAAtB,EAA6B,SAAS,CAAC,KAAvC,EAA8C,KAA9C,EAAqD,IAArD,CADJ;AAEA,IAAA,GAAG,GAAG,OAAO,CAAC,cAAR,CAAuB,QAAvB,EAAiC,QAAjC,EAA2C,OAA3C,CAAN;AACD,GALD,MAKO;AACL,UAAM,CAAC,QAAD,EAAW,WAAX,IACF,uBAAa,yBAAb,CAAuC,SAAS,CAAC,KAAjD,EAAwD,IAAxD,CADJ;;AAEA,UAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,WAAnB,CAAf;;AACA,UAAM,GAAG,GAAG,sBACR;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAyB,MAAA,OAAzB;AAAkC,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE,CAAC,CAAC,CAAF,EAAK,MAAL;AAAR;AAAzC,KADQ,CAAZ;AAEA,UAAM,WAAW,GAAG,0BAAW,CAAC,CAAC,KAAb,CAApB;AACA,UAAM,OAAO,GAAG,oBAAO,GAAP,EAAY,WAAZ,EAAyB,MAAzB,EAAiC,OAAjC,CAAhB;AACA,IAAA,GAAG,GAAG,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAuB,MAAA,OAAvB;AAAgC,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAAvC,KAAR,CAAN;AAEA,IAAA,SAAS,CAAC,IAAV,CAAe,GAAf;AACA,IAAA,SAAS,CAAC,IAAV,CAAe,OAAf;AACD;;AAED,MAAI,QAAJ,EAAc;AACZ,IAAA,SAAS,CAAC,IAAV,CAAe,GAAf;;AACA,UAAM,QAAQ,GAAG,uBAAa,oBAAb,CAAkC,GAAG,CAAC,KAAtC,EAA6C,QAA7C,CAAjB;;AACA,IAAA,GAAG,GAAG,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAmB,MAAA,OAAnB;AAA4B,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAAnC,KAAR,CAAN;AACD;;AAED,EAAA,SAAS,CAAC,OAAV,CAAkB,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAAvB;AAEA,SAAO,GAAP;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AsL9DP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBO,MAAM,KAAK,GACb,IAAD,IAAqE;AACnE,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA;AAAV,MAAmB,IAAzB;AACA,QAAM;AAAC,IAAA,KAAD;AAAQ,IAAA,IAAR;AAAc,IAAA,IAAd;AAAoB,IAAA;AAApB,MAA6B,KAAnC;AACA,QAAM,MAAM,GAAG,0BAAa,KAAb,EAAoB,IAApB,EAA0B,IAA1B,EAAgC,KAAhC,CAAf;AACA,SAAO,OAAO,CAAC,cAAR,CAAuB,CAAC,MAAM,CAAC,MAAR,CAAvB,EAAwC,KAAxC,EAA+C,MAA/C,CAAP;AACD,CANE;;;AAQA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;ACbP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,UAAU,GAAG,iBAAnB;AAEO,MAAM,UAAU,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAnB;;AAEA,MAAM,gBAAgB,GAAiB;AAC5C,EAAA,UAAU,EAAE,oBADgC;AAE5C,EAAA,WAAW,EAAE,OAF+B;AAG5C,EAAA,UAAU,EAAE;AAHgC,CAAvC;;;;;;;;;;ACPP;;AACA;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,IAAI,GAAG,iCAAoB;;CAAjC;AAIA,MAAM,WAAW,GAAG;;;;;;;;;;CAApB;AAYO,MAAM,IAAI,GACb,yCAAgB;AAAC,EAAA,SAAS,EAAE,IAAZ;AAAkB,EAAA,eAAe,EAAE;AAAnC,CAAhB,CADG;;AAGA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACvBP;;AACA;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,KAAK,GAAG,iCAAoB;;CAAlC;AAIA,MAAM,YAAY,GAAG;;;;;;;;;;CAArB;AAYO,MAAM,KAAK,GACd,yCAAgB;AAAC,EAAA,SAAS,EAAE,KAAZ;AAAmB,EAAA,eAAe,EAAE;AAApC,CAAhB,CADG;;AAGA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;ACxCP;;;;;;;;;;;;;;;;AAmBM,MAAO,qBAAP,CAA4B;AAKhC,EAAA,WAAA,CACI,UADJ,EACkD,SADlD,EAEI,QAFJ,EAEsB,YAFtB,EAE6C,gBAF7C,EAEsE;AANtE,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,WAAA,GAAwB,EAAxB;AAME,UAAM,CAAC,KAAD,EAAQ,SAAR,EAAmB,QAAnB,EAA6B,KAA7B,IAAsC,UAA5C;AACA,SAAK,WAAL,GAAmB,CAAC,KAAD,EAAQ,SAAR,EAAmB,QAAnB,EAA6B,KAA7B,CAAnB;AAEA,UAAM,eAAe,GAAqB,CACvC,YAAY,IAAI,SAAS,GAAG,CAA7B,GAAkC,SAAS,GAAG,CAA9C,GAAkD,SADV,EAEvC,YAAY,IAAI,QAAQ,GAAG,CAA5B,GAAiC,QAAQ,GAAG,CAA5C,GAAgD,QAFR,CAA1C;AAKA,UAAM,gBAAgB,GAAqB,CACxC,YAAY,IAAI,SAAS,GAAG,CAA7B,GAAkC,SAAS,GAAG,CAA9C,GAAkD,SADT,EAExC,YAAY,IAAI,QAAQ,GAAG,CAA5B,GAAiC,QAAQ,GAAG,CAA5C,GAAgD,QAFP,CAA3C;AAKA,QAAI,iBAAJ;;AACA,QAAI,gBAAJ,EAAsB;AACpB,MAAA,iBAAiB,GACb,2DAAA,GACA,cAFJ;AAGD,KAJD,MAIO;AACL,MAAA,iBAAiB,GAAG,6CAApB;AACD;;AAED,SAAK,QAAL,GAAgB;;YAER,eAAe,CAAC,CAAD,CAAf,GAAqB,gBAAgB,CAAC,CAAD,CAAG;YACxC,eAAe,CAAC,CAAD,CAAf,GAAqB,gBAAgB,CAAC,CAAD,CAAG;uCACb,SAAS,OAAO,QAAQ;;;;;;;;;mCAS5B,iBAAiB;;;;;;;;;;;;;;;;;;;;KAbhD;AAkCD;;AAhE+B;;;;;;;;;;;ACnBlC;;;;;;;;;;;;;;;;AAmBM,MAAO,2BAAP,CAAkC;AAOtC,EAAA,WAAA,CACI,UADJ,EACkD,SADlD,EAEI,QAFJ,EAEsB,YAFtB,EAE6C,gBAF7C,EAEsE;AARtE,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,WAAA,GAAwB,EAAxB;AAME,UAAM,CAAC,KAAD,EAAQ,SAAR,EAAmB,QAAnB,EAA6B,KAA7B,IAAsC,UAA5C;AACA,SAAK,WAAL,GAAmB,CAAC,KAAD,EAAQ,SAAR,EAAmB,QAAnB,EAA6B,KAA7B,CAAnB;AAEA,UAAM,eAAe,GAAqB,CACvC,YAAY,IAAI,SAAS,GAAG,CAA7B,GAAkC,SAAS,GAAG,CAA9C,GAAkD,SADV,EAEvC,YAAY,IAAI,QAAQ,GAAG,CAA5B,GAAiC,QAAQ,GAAG,CAA5C,GAAgD,QAFR,CAA1C;AAKA,UAAM,gBAAgB,GAAqB,CACxC,YAAY,IAAI,SAAS,GAAG,CAA7B,GAAkC,SAAS,GAAG,CAA9C,GAAkD,SADT,EAExC,YAAY,IAAI,QAAQ,GAAG,CAA5B,GAAiC,QAAQ,GAAG,CAA5C,GAAgD,QAFP,CAA3C;AAKA,QAAI,iBAAJ;;AACA,QAAI,gBAAJ,EAAsB;AACpB,MAAA,iBAAiB,GAAG,4BAAA,GAChB,6CADJ;AAED,KAHD,MAGO;AACL,MAAA,iBAAiB,GAAG,6CAApB;AACD;;AAED,SAAK,QAAL,GAAgB;;YAER,eAAe,CAAC,CAAD,CAAf,GAAqB,gBAAgB,CAAC,CAAD,CAAG;YACxC,eAAe,CAAC,CAAD,CAAf,GAAqB,gBAAgB,CAAC,CAAD,CAAG;YACxC,eAAe,CAAC,CAAD,CAAf,GAAqB,gBAAgB,CAAC,CAAD,CAAG;uCACb,SAAS,OAAO,QAAQ;uCACxB,QAAQ;;;;;;;;;;;;;;mCAcZ,iBAAiB;;;;;;;;gCAQpB,KAAK,GAAG,CAAC;uCACF,QAAQ,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA7B/C;AA8ED;;AA7GqC;;;;;;;;;;;;ACFxC;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,cAAV,CAAyB,IAAzB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAW,MAAjB;AACA,QAAM;AAAC,IAAA,YAAD;AAAe,IAAA,gBAAf;AAAiC,IAAA;AAAjC,MAAyC,KAA/C;AAEA,QAAM,CAAC,SAAD,EAAY,QAAZ,IAAwB,IAA9B;AAEA,QAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,6BAAd,IACZ,IAAI,uDAAJ,CACI,MAAM,CAAC,KADX,EACsD,SADtD,EACiE,QADjE,EAEI,YAFJ,EAEkB,gBAFlB,CADY,GAIZ,IAAI,0CAAJ,CACI,MAAM,CAAC,KADX,EACsD,SADtD,EACiE,QADjE,EAEI,YAFJ,EAEkB,gBAFlB,CAJJ;AAOA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,MAAD,CAAjC,EAA2C,SAA3C,CAAP;AACD;;AAEM,MAAM,oBAAoB,GAAiB;AAChD,EAAA,UAAU,EAAE,wBADoC;AAEhD,EAAA,WAAW,EAAE,OAFmC;AAGhD,EAAA,UAAU,EAAE;AAHoC,CAA3C;;;;;;;;;;AC5CP;;;;;;;;;;;;;;;;AAmBM,MAAO,6BAAP,CAAoC;AAKxC,EAAA,WAAA,CACI,OADJ,EAEI,UAFJ,EAEkD,YAFlD,EAEuE;AANvE,SAAA,aAAA,GAAgB,CAAC,IAAD,CAAhB;AACA,SAAA,WAAA,GAAwB,EAAxB;AAME,SAAK,WAAL,GAAmB,UAAnB;AACA,UAAM,GAAG,OAAH,EAAY,MAAZ,IAAwB,UAA9B;AACA,UAAM,GAAG,OAAH,EAAY,MAAZ,IAAsB,OAA5B,CAHqE,CAKrE;AACA;AACA;;AAEA,UAAM,cAAc,GAAqB,CACtC,YAAY,IAAI,OAAO,GAAG,CAA3B,GAAgC,OAAO,GAAG,CAA1C,GAA8C,OADP,EAEtC,YAAY,IAAI,MAAM,GAAG,CAA1B,GAA+B,MAAM,GAAG,CAAxC,GAA4C,MAFL,CAAzC;AAKA,UAAM,cAAc,GAAqB,CACtC,YAAY,IAAI,OAAO,GAAG,CAA3B,GAAgC,OAAO,GAAG,CAA1C,GAA8C,OADP,EAEtC,YAAY,IAAI,MAAM,GAAG,CAA1B,GAA+B,MAAM,GAAG,CAAxC,GAA4C,MAFL,CAAzC;AAKA,UAAM,WAAW,GAAG,cAAc,CAAC,CAAD,CAAd,GAAoB,cAAc,CAAC,CAAD,CAAtD;AACA,UAAM,UAAU,GAAG,cAAc,CAAC,CAAD,CAAd,GAAoB,cAAc,CAAC,CAAD,CAArD;AAEA,UAAM,cAAc,GAAG,IAAI,WAA3B;AACA,UAAM,aAAa,GAAG,IAAI,UAA1B,CAvBqE,CAyBrE;AACA;;AACA,UAAM,SAAS,GAAI,IAAI,CAAC,IAAL,CAAU,cAAV,IAA4B,CAA7B,GAAkC,CAApD;AACA,UAAM,QAAQ,GAAI,IAAI,CAAC,IAAL,CAAU,aAAV,IAA2B,CAA5B,GAAiC,CAAlD;AAEA,SAAK,QAAL,GAAgB;;;;;;;;;;0CAUsB,WAAW;yCACZ,UAAU;;6CAEN,cAAc;4CACf,aAAa;;oCAErB,SAAS;mCACV,QAAQ;;;;;;;;;;;;;;kCAcT,OAAO;;;;;;;;oCAQL,MAAM;;;;;;sDAMY,OAAO,GAAG,CAAC;;;;;;qDAMZ,MAAM,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAnD3D;AAkFD;;AAvHuC;;;;;;;;;;;;ACF1C;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,kBAAV,CAA6B,IAA7B,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAe,MAArB;AACA,QAAM;AAAC,IAAA;AAAD,MAAiB,KAAvB;AAEA,QAAM,OAAO,GAAG,IAAI,2DAAJ,CACZ,EAAE,CAAC,KADS,EAEZ,MAAM,CAAC,KAFK,EAEsC,YAFtC,CAAhB;AAIA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,EAAD,CAAjC,EAAuC,EAAE,CAAC,KAA1C,CAAP;AACD;;AAEM,MAAM,wBAAwB,GAAiB;AACpD,EAAA,UAAU,EAAE,4BADwC;AAEpD,EAAA,WAAW,EAAE,OAFuC;AAGpD,EAAA,UAAU,EAAE;AAHwC,CAA/C;;;;;;;;;;ACtCP;;;;;;;;;;;;;;;;AAmBM,MAAO,4BAAP,CAAmC;AAKvC,EAAA,WAAA,CACI,UADJ,EACkD,SADlD,EAEI,QAFJ,EAEsB,YAFtB,EAE6C,gBAF7C,EAEsE;AANtE,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,WAAA,GAAwB,EAAxB;AAME,UAAM,CAAC,KAAD,EAAQ,SAAR,EAAmB,QAAnB,EAA6B,KAA7B,IAAsC,UAA5C;AACA,SAAK,WAAL,GAAmB,CAAC,KAAD,EAAQ,SAAR,EAAmB,QAAnB,EAA6B,KAA7B,CAAnB;AAEA,UAAM,eAAe,GAAqB,CACvC,YAAY,IAAI,SAAS,GAAG,CAA7B,GAAkC,SAAS,GAAG,CAA9C,GAAkD,SADV,EAEvC,YAAY,IAAI,QAAQ,GAAG,CAA5B,GAAiC,QAAQ,GAAG,CAA5C,GAAgD,QAFR,CAA1C;AAKA,UAAM,gBAAgB,GAAqB,CACxC,YAAY,IAAI,SAAS,GAAG,CAA7B,GAAkC,SAAS,GAAG,CAA9C,GAAkD,SADT,EAExC,YAAY,IAAI,QAAQ,GAAG,CAA5B,GAAiC,QAAQ,GAAG,CAA5C,GAAgD,QAFP,CAA3C,CAToE,CAcpE;;AACA,UAAM,SAAS,GAAG,YAAY,GAAG,KAAH,GAAW,KAAzC;AAEA,QAAI,iBAAJ;;AACA,QAAI,gBAAJ,EAAsB;AACpB,MAAA,iBAAiB,GACb,+DAAA,GACA,cAFJ;AAGD,KAJD,MAIO;AACL,MAAA,iBAAiB,GAAG,6CAApB;AACD;;AACD,SAAK,QAAL,GAAgB;;YAER,eAAe,CAAC,CAAD,CAAf,GAAqB,gBAAgB,CAAC,CAAD,CAAG;YACxC,eAAe,CAAC,CAAD,CAAf,GAAqB,gBAAgB,CAAC,CAAD,CAAG;uCACb,SAAS,OAAO,QAAQ;;;;;;;;;mCAS5B,iBAAiB;;;;8DAIU,SAAS;;;;;KAjBnE;AAuBD;;AAvDsC;;;;;;;;;;;ACnBzC;;;;;;;;;;;;;;;;AAmBM,MAAO,kCAAP,CAAyC;AAO7C,EAAA,WAAA,CACI,UADJ,EACkD,SADlD,EAEI,QAFJ,EAEsB,YAFtB,EAE6C,gBAF7C,EAEsE;AARtE,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,WAAA,GAAwB,EAAxB;AAME,UAAM,CAAC,KAAD,EAAQ,SAAR,EAAmB,QAAnB,EAA6B,KAA7B,IAAsC,UAA5C;AACA,SAAK,WAAL,GAAmB,CAAC,KAAD,EAAQ,SAAR,EAAmB,QAAnB,EAA6B,KAA7B,CAAnB;AAEA,UAAM,eAAe,GAAqB,CACvC,YAAY,IAAI,SAAS,GAAG,CAA7B,GAAkC,SAAS,GAAG,CAA9C,GAAkD,SADV,EAEvC,YAAY,IAAI,QAAQ,GAAG,CAA5B,GAAiC,QAAQ,GAAG,CAA5C,GAAgD,QAFR,CAA1C;AAKA,UAAM,gBAAgB,GAAqB,CACxC,YAAY,IAAI,SAAS,GAAG,CAA7B,GAAkC,SAAS,GAAG,CAA9C,GAAkD,SADT,EAExC,YAAY,IAAI,QAAQ,GAAG,CAA5B,GAAiC,QAAQ,GAAG,CAA5C,GAAgD,QAFP,CAA3C,CAToE,CAcpE;;AACA,UAAM,SAAS,GAAG,YAAY,GAAG,KAAH,GAAW,KAAzC;AACA,QAAI,iBAAJ;;AACA,QAAI,gBAAJ,EAAsB;AACpB,MAAA,iBAAiB,GAAG,gCAAA,GAChB,6CADJ;AAED,KAHD,MAGO;AACL,MAAA,iBAAiB,GAAG,6CAApB;AACD;;AAED,SAAK,QAAL,GAAgB;;YAER,eAAe,CAAC,CAAD,CAAf,GAAqB,gBAAgB,CAAC,CAAD,CAAG;YACxC,eAAe,CAAC,CAAD,CAAf,GAAqB,gBAAgB,CAAC,CAAD,CAAG;YACxC,eAAe,CAAC,CAAD,CAAf,GAAqB,gBAAgB,CAAC,CAAD,CAAG;uCACb,SAAS,OAAO,QAAQ;uCACxB,QAAQ;;;;;;;;;;;;;;mCAcZ,iBAAiB;;;;8DAIU,SAAS;;;gCAGvC,KAAK,GAAG,CAAC;uCACF,QAAQ,GAAG,CAAC;;;;;;;;;;;;;KA5B/C;AA0CD;;AA3E4C;;;;;;;;;;;;ACF/C;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,qBAAV,CAAgC,IAAhC,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAW,MAAjB;AACA,QAAM;AAAC,IAAA,YAAD;AAAe,IAAA,gBAAf;AAAiC,IAAA;AAAjC,MAAyC,KAA/C;AAEA,QAAM,CAAC,SAAD,EAAY,QAAZ,IAAwB,IAA9B;AAEA,QAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,6BAAd,IACZ,IAAI,sEAAJ,CACI,MAAM,CAAC,KADX,EACsD,SADtD,EACiE,QADjE,EAEI,YAFJ,EAEkB,gBAFlB,CADY,GAIZ,IAAI,yDAAJ,CACI,MAAM,CAAC,KADX,EACsD,SADtD,EACiE,QADjE,EAEI,YAFJ,EAEkB,gBAFlB,CAJJ;AAOA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,MAAD,CAAjC,EAA2C,MAAM,CAAC,KAAlD,CAAP;AACD;;AAEM,MAAM,2BAA2B,GAAiB;AACvD,EAAA,UAAU,EAAE,+BAD2C;AAEvD,EAAA,WAAW,EAAE,OAF0C;AAGvD,EAAA,UAAU,EAAE;AAH2C,CAAlD;;;;;;;;;;AC5CP;;;;;;;;;;;;;;;;AAmBM,MAAO,mCAAP,CAA0C;AAK9C,EAAA,WAAA,CACI,OADJ,EAEI,UAFJ,EAEkD,YAFlD,EAEuE;AANvE,SAAA,aAAA,GAAgB,CAAC,IAAD,CAAhB;AACA,SAAA,WAAA,GAAwB,EAAxB;AAME,SAAK,WAAL,GAAmB,UAAnB;AACA,UAAM,GAAG,OAAH,EAAY,MAAZ,IAAwB,UAA9B;AACA,UAAM,GAAG,OAAH,EAAY,MAAZ,IAAsB,OAA5B,CAHqE,CAKrE;AACA;AACA;;AAEA,UAAM,cAAc,GAAqB,CACtC,YAAY,IAAI,OAAO,GAAG,CAA3B,GAAgC,OAAO,GAAG,CAA1C,GAA8C,OADP,EAEtC,YAAY,IAAI,MAAM,GAAG,CAA1B,GAA+B,MAAM,GAAG,CAAxC,GAA4C,MAFL,CAAzC;AAKA,UAAM,cAAc,GAAqB,CACtC,YAAY,IAAI,OAAO,GAAG,CAA3B,GAAgC,OAAO,GAAG,CAA1C,GAA8C,OADP,EAEtC,YAAY,IAAI,MAAM,GAAG,CAA1B,GAA+B,MAAM,GAAG,CAAxC,GAA4C,MAFL,CAAzC;AAKA,UAAM,WAAW,GAAG,cAAc,CAAC,CAAD,CAAd,GAAoB,cAAc,CAAC,CAAD,CAAtD;AACA,UAAM,UAAU,GAAG,cAAc,CAAC,CAAD,CAAd,GAAoB,cAAc,CAAC,CAAD,CAArD;AAEA,UAAM,cAAc,GAAG,IAAI,WAA3B;AACA,UAAM,aAAa,GAAG,IAAI,UAA1B,CAvBqE,CAyBrE;AACA;;AACA,UAAM,SAAS,GAAI,IAAI,CAAC,IAAL,CAAU,cAAV,IAA4B,CAA7B,GAAkC,CAApD;AACA,UAAM,QAAQ,GAAI,IAAI,CAAC,IAAL,CAAU,aAAV,IAA2B,CAA5B,GAAiC,CAAlD;AAEA,SAAK,QAAL,GAAgB;;;;;;;;;;0CAUsB,WAAW;yCACZ,UAAU;;6CAEN,cAAc;4CACf,aAAa;;oCAErB,SAAS;mCACV,QAAQ;;;;;;;;;;;;;;kCAcT,OAAO;;;;;;;;oCAQL,MAAM;;;;;sBAKpB,cAAc,CAAC,CAAD,CAAG;sCACD,cAAc,CAAC,CAAD,CAAG;;;wBAG/B,cAAc,CAAC,CAAD,CAAG;wCACD,cAAc,CAAC,CAAD,CAAG;;;4BAG7B,OAAO;kBACjB,YAAY;;;;4BAIF,MAAM;kBAChB,YAAY;;;;;;;;;;;;KA1D1B;AAuED;;AA5G6C;;;;;;;;;;;;ACFhD;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,yBAAV,CAAoC,IAApC,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAe,MAArB;AACA,QAAM;AAAC,IAAA;AAAD,MAAiB,KAAvB;AAEA,QAAM,OAAO,GAAG,IAAI,yEAAJ,CACZ,EAAE,CAAC,KADS,EAEZ,MAAM,CAAC,KAFK,EAEsC,YAFtC,CAAhB;AAGA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,EAAD,CAAjC,EAAuC,EAAE,CAAC,KAA1C,CAAP;AACD;;AAEM,MAAM,+BAA+B,GAAiB;AAC3D,EAAA,UAAU,EAAE,mCAD+C;AAE3D,EAAA,WAAW,EAAE,OAF8C;AAG3D,EAAA,UAAU,EAAE;AAH+C,CAAtD;;;;;;;;;;ACnBP;;AAlBA;;;;;;;;;;;;;;;;AAoBM,MAAO,cAAP,CAAqB;AAKzB,EAAA,WAAA,CAAY,MAAZ,EAA8B,IAA9B,EAA4C;AAJ5C,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAKE,UAAM,IAAI,GAAG,MAAM,CAAC,MAApB;;AACA,QAAI,IAAI,GAAG,CAAX,EAAc;AACZ,YAAM,IAAI,KAAJ,CACF,kCAAkC,IAAI,8BADpC,CAAN;AAED;;AACD,SAAK,WAAL,GAAmB,MAAnB;;AAEA,QAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAK,QAAL,GAAgB;;;2BAGK,MAAM,CAAC,CAAD,CAAG;;OAH9B;AAMA;AACD;;AACD,UAAM,UAAU,GAAI,CAAD,IAAc;AAC/B,UAAI,IAAI,CAAC,OAAL,CAAa,CAAb,MAAoB,CAAC,CAArB,IAA0B,MAAM,CAAC,CAAD,CAAN,KAAc,CAA5C,EAA+C;AAC7C,eAAO,GAAG,MAAM,CAAC,CAAD,CAAG,aAAa,CAAC,OAAjC;AACD;;AACD,aAAO,UAAU,CAAC,GAAlB;AACD,KALD;;AAMA,UAAM,QAAQ,GAAG,MAAM,CAAC,GAAP,CAAW,CAAC,CAAD,EAAI,CAAJ,KAAU,UAAU,CAAC,CAAD,CAA/B,EAAoC,IAApC,CAAyC,GAAzC,CAAjB;AACA,UAAM,IAAI,GAAG,wCAAkB,IAAlB,CAAb;AAEA,SAAK,QAAL,GAAgB;;UAEV,IAAI;yBACW,QAAQ;;KAH7B;AAMD;;AArCwB;;;;;;;;;;;ACF3B;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBM,MAAO,oBAAP,CAA2B;AAO/B,EAAA,WAAA,CAAY,MAAZ,EAA8B,IAA9B,EAA4C;AAN5C,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAGA,SAAA,YAAA,GAAe,IAAf;AACA,SAAA,YAAA,GAAe,IAAf;AAGE,UAAM,IAAI,GAAG,MAAM,CAAC,MAApB;;AACA,QAAI,IAAI,GAAG,CAAX,EAAc;AACZ,YAAM,IAAI,KAAJ,CACF,kCAAkC,IAAI,8BADpC,CAAN;AAED;;AACD,SAAK,WAAL,GAAmB,MAAnB;AACA,UAAM,QAAQ,GAAG,+BAAY,IAAZ,EAAkB,IAAlB,CAAjB;AACA,UAAM,UAAU,GACZ,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAU,UAAU,KAAK,WAAL,CAAiB,IAAI,GAAG,CAAxB,CAA0B,EAD7D;AAEA,UAAM,OAAO,GAAG,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAU,UAAU,KAAK,WAAL,CAAiB,IAAI,GAAG,CAAxB,CAA0B,EAAzE;AACA,UAAM,IAAI,GAAG,wCAAkB,IAAlB,CAAb;;AACA,QAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAK,QAAL,GAAgB;;;;uCAIiB,MAAM,CAAC,CAAD,CAAG;cAClC,MAAM,CAAC,CAAD,CAAG;eACR,UAAU;2CACkB,MAAM,CAAC,CAAD,CAAG;kBAClC,MAAM,CAAC,CAAD,CAAG;;;;OARrB;AAaD,KAdD,MAcO;AACL,WAAK,QAAL,GAAgB;;YAEV,IAAI;;uBAEO,IAAI,CAAC,QAAQ,CAAC,KAAT,EAAD,CAAkB;eAC9B,UAAU;yBACA,IAAI,CAAC,QAAQ,CAAC,KAAT,EAAD,CAAkB;;eAEhC,OAAO;yBACG,IAAI,CAAC,QAAQ,CAAC,KAAT,EAAD,CAAkB;iBAC9B,UAAU;2BACA,IAAI,CAAC,QAAQ,CAAC,KAAT,EAAD,CAAkB;;;;;KAX3C;AAiBD;;AAED,aAAS,IAAT,CAAc,QAAd,EAAgC;AAC9B,aAAO,UAAU,CAAC,QAAD,CAAjB;AACD;;AAED,aAAS,IAAT,CAAc,QAAd,EAAgC;AAC9B,MAAA,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAR,GAAqB,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAd,GAA2B,OAAhD;AACA,aAAO,UAAU,CAAC,QAAD,CAAjB;AACD;;AAED,aAAS,IAAT,CAAc,QAAd,EAAgC;AAC9B,MAAA,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAR,GAAqB,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAd,GAA2B,OAAhD;AACA,aAAO,UAAU,CAAC,QAAD,CAAjB;AACD;;AAED,aAAS,IAAT,CAAc,QAAd,EAAgC;AAC9B,MAAA,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAR,GAAqB,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAd,GAA2B,OAAhD;AACA,MAAA,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAR,GAAqB,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAR,CAAd,GAA2B,OAAhD;AACA,aAAO,UAAU,CAAC,QAAD,CAAjB;AACD;;AAED,aAAS,UAAT,CAAoB,QAApB,EAAsC;AACpC,YAAM,aAAa,GAAG,MAAM,CAAC,GAAP,CAAW,CAAC,CAAD,EAAI,CAAJ,KAAU,UAAU,CAAC,CAAD,EAAI,QAAJ,CAA/B,CAAtB;AACA,YAAM,QAAQ,GAAG,aAAa,CAAC,IAAd,CAAmB,GAAnB,CAAjB;AACA,YAAM,SAAS,GAAG,aAAa,CAAC,KAAd,CAAoB,CAAC,CAArB,EAAwB,IAAxB,CAA6B,GAA7B,CAAlB;AACA,aAAO,mBAAmB,QAAQ,WAAW,SAAS,IAAtD;AACD;;AAED,aAAS,UAAT,CAAoB,CAApB,EAA+B,SAA/B,EAAkD;AAChD,UAAI,IAAI,CAAC,OAAL,CAAa,CAAb,MAAoB,CAAC,CAArB,IAA0B,MAAM,CAAC,CAAD,CAAN,KAAc,CAA5C,EAA+C;AAC7C,eAAO,GAAG,MAAM,CAAC,CAAD,CAAG,MAAM,SAAS,CAAC,CAAD,CAAG,MAArC;AACD,OAFD,MAEO;AACL,eAAO,GAAG,SAAS,CAAC,CAAD,CAAG,EAAtB;AACD;AACF;AACF;;AAvF8B;;;;;;;;;;;;ACJjC;;AAGA;;AACA;;AAEA;;AAvBA;;;;;;;;;;;;;;;;AAyBM,SAAU,OAAV,CAAkB,IAAlB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA;AAAD,MAAS,KAAf;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;;AAEA,QAAM,KAAK,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,CAAC,CAAC,KAA5B,CAAd;;AACA,MAAI,KAAK,KAAK,CAAd,EAAiB;AACf,WAAO,wBAAS;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA;AAAd,KAAT,CAAP;AACD;;AAED,QAAM,OAAO,GAAG,qBAAM,OAAN,CAAc,6BAAd,IACZ,IAAI,wCAAJ,CAAyB,CAAC,CAAC,KAA3B,EAAkC,KAAlC,CADY,GAEZ,IAAI,2BAAJ,CAAmB,CAAC,CAAC,KAArB,EAA4B,KAA5B,CAFJ;AAIA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,CAAC,CAAC,KAAxC,CAAP;AACD;;AAEM,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;AChDP;;;;;;;;;;;;;;;;AAoBM,MAAO,aAAP,CAAoB;AAKxB,EAAA,WAAA,CACI,UADJ,EAEI,SAFJ,EAE8C;AAN9C,SAAA,aAAA,GAAgB,CAAC,OAAD,CAAhB;AACA,SAAA,WAAA,GAAwB,EAAxB;AAEA,SAAA,cAAA,GAAiB,CAAC;AAAC,MAAA,IAAI,EAAE,QAAP;AAAiB,MAAA,IAAI,EAAE;AAAvB,KAAD,CAAjB;AAIE,UAAM,WAAW,GAAG,UAAU,CAAC,CAAD,CAA9B;AACA,UAAM,UAAU,GAAG,UAAU,CAAC,CAAD,CAA7B;AACA,SAAK,WAAL,GAAmB,UAAnB;AAEA,QAAI,WAAW,GAAG,EAAlB;;AACA,QAAI,OAAO,SAAP,KAAqB,QAAzB,EAAmC;AACjC,MAAA,WAAW,GAAG,uBAAuB,SAAS,CAAC,OAAV,CAAkB,CAAlB,CAAoB,GAAzD;AACD,KAFD,MAEO;AACL,MAAA,WAAW,GAAG;2BACO,SAAS,CAAC,IAAV,CAAe,GAAf,CAAmB;6CADxC;AAGD;;AAED,SAAK,QAAL,GAAgB;;;;;;;;;;;YAWR,WAAW;uCACgB,UAAU,+BACzC,WAAW;;;;;KAbf;AAmBD;;AAxCuB;;;;;;;;;;;ACH1B;;AAIA;;AArBA;;;;;;;;;;;;;;;;AAuBO,MAAM,sBAAsB,GAAiB;AAClD,EAAA,UAAU,EAAE,0BADsC;AAElD,EAAA,WAAW,EAAE,OAFqC;AAGlD,EAAA,UAAU,EAAE,CAAC;AAAC,IAAA,MAAD;AAAS,IAAA,KAAT;AAAgB,IAAA;AAAhB,GAAD,KAA6B;AACvC,UAAM;AAAC,MAAA;AAAD,QAAU,MAAhB;AACA,UAAM;AAAC,MAAA,OAAD;AAAU,MAAA,SAAV;AAAqB,MAAA;AAArB,QAA+B,KAArC;AACA,UAAM,YAAY,GAAG,OAArB;AAEA,UAAM,OAAO,GAAG,IAAI,yBAAJ,CAAmB,KAAkB,CAAC,KAAtC,EAA6C,SAA7C,CAAhB;;AACA,UAAM,CAAC,OAAD,EAAU,OAAV,IACF,uBAAa,cAAb,CAA4B,MAA5B,EAAoC,KAAK,CAAC,KAAN,CAAY,CAAZ,CAApC,EAAoD,KAAK,CAAC,KAAN,CAAY,CAAZ,CAApD,CADJ;;AAEA,UAAM,YAAY,GACd,CAAC,CAAC,OAAD,EAAU,OAAV,EAAmB,IAAI,CAAC,GAAL,CAAS,OAAT,CAAnB,EAAsC,IAAI,CAAC,GAAL,CAAS,OAAT,CAAtC,CAAD,CADJ;AAEA,UAAM,MAAM,GAAG,YAAY,CAAC,eAAb,CACX,OADW,EACF,CAAC,KAAD,CADE,EACO,KAAK,CAAC,KADb,EACoB,YADpB,CAAf;AAEA,WAAO,MAAP;AACD;AAhBiD,CAA7C;;;;;;;;;;ACNP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;CAAd;AAiBO,MAAM,KAAK,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAd;;AAEA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;AvMtBP;;AACA;;AACA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,KAAK,GAAG,wBAAd;AAEO,MAAM,KAAK,GACd,yCAAgB;AAAC,EAAA,SAAS,EAAE,KAAZ;AAAmB,EAAA,aAAa,EAAE;AAAlC,CAAhB,CADG;;AAGA,MAAM,WAAW,GAAiB;AACvC,EAAA,UAAU,EAAE,eAD2B;AAEvC,EAAA,WAAW,EAAE,OAF0B;AAGvC,EAAA,UAAU,EAAE;AAH2B,CAAlC;;;;;;;;;;AwMRP;;AAlBA;;;;;;;;;;;;;;;;AAoBM,MAAO,cAAP,CAAqB;AAKzB,EAAA,WAAA,CACI,UADJ,EACwB,QADxB,EAC0C,WAD1C,EAEI,WAFJ,EAEyB,OAFzB,EAE4C,KAF5C,EAGI,gBAAgB,GAAG,IAHvB,EAG2B;AAP3B,SAAA,aAAA,GAAgB,CAAC,SAAD,EAAY,SAAZ,EAAuB,cAAvB,CAAhB;AAQE,SAAK,WAAL,GAAmB,KAAnB;AACA,UAAM,WAAW,GAAG,wCAAkB,OAAO,CAAC,MAA1B,CAApB;AACA,UAAM,KAAK,GAAG,wCAAkB,KAAK,CAAC,MAAxB,CAAd;AACA,QAAI,aAAa,GAAG,EAApB;;AACA,QAAI,WAAW,KAAK,CAApB,EAAuB;AACrB,MAAA,aAAa,GAAG,GAAhB;AACD,KAFD,MAEO,IAAI,WAAW,KAAK,CAApB,EAAuB;AAC5B,MAAA,aAAa,GAAG,MAAhB;AACD;;AACD,UAAM,cAAc,GAAG,cAAc,aAAa,GAAlD;AAEA,QAAI,aAAa,GAAG,EAApB;;AACA,QAAI,WAAW,KAAK,CAApB,EAAuB;AACrB,MAAA,aAAa,GAAG,GAAhB;AACD,KAFD,MAEO,IAAI,WAAW,KAAK,CAApB,EAAuB;AAC5B,MAAA,aAAa,GAAG,cAAhB;AACD;;AACD,UAAM,cAAc,GAAG,cAAc,aAAa,GAAlD;AAEA,UAAM,YAAY,GAAG,QAAQ,GAAG,CAAX,GAAe,YAAf,GAA8B,SAAnD;AACA,SAAK,QAAL,GAAgB;UACV,WAAW,cAAc,WAAW,IAAI,OAAO;;;YAG7C,KAAK;;;gCAGe,UAAU;;kCAER,QAAQ;kCACR,cAAc;0CACN,YAAY;;;uBAG/B,cAAc;;;;;;OAdjC;AAqBD;;AAlDwB;;;;;;;;;;;;ACH3B;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,SAAV,CAAoB,IAApB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA;AAAV,MAAqB,MAA3B;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,KAAhB;;AAEA,QAAM;AAAC,IAAA,SAAD;AAAY,IAAA,UAAZ;AAAwB,IAAA,SAAxB;AAAmC,IAAA,OAAnC;AAA4C,IAAA;AAA5C,MACF,uBAAa,eAAb,CAA6B,OAA7B,EAAsC,OAAtC,EAA+C,KAA/C,CADJ;;AAGA,QAAM,YAAY,GAAG,CAAC,UAAU,GAAG,SAAd,EAAyB,SAAzB,CAArB;;AAEA,MAAI,UAAU,KAAK,CAAnB,EAAsB;AACpB,WAAO,OAAO,CAAC,cAAR,CAAuB,KAAvB,EAA8B,OAAO,CAAC,KAAtC,CAAP;AACD;;AAED,QAAM,cAAc,GAAG,sBACnB;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAuB,IAAA,OAAvB;AAAgC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,UAAD,EAAa,SAAb;AAAR;AAAvC,GADmB,CAAvB;AAEA,QAAM,QAAQ,GAAG,sBACb;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAuB,IAAA,OAAvB;AAAgC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,UAAD,EAAa,SAAb;AAAR;AAAvC,GADa,CAAjB;AAGA,QAAM,YAAY,GAAG,OAAO,CAAC,cAAR,CACjB,EADiB,EACb,SADa,EACF,IAAI,YAAJ,CAAiB,CAAC,CAAD,CAAjB,CADE,CAArB,CAnBD,CAoB6C;;AAC5C,QAAM,OAAO,GAAG,IAAI,2BAAJ,CACZ,UADY,EACA,SADA,EACW,cAAc,CAAC,KAAf,CAAqB,MADhC,EACwC,QAAQ,CAAC,KAAT,CAAe,MADvD,EAEZ,OAFY,EAEH,YAFG,CAAhB;AAGA,QAAM,GAAG,GAAG,OAAO,CAAC,eAAR,CACR,OADQ,EACC,CAAC,QAAD,EAAW,cAAX,EAA2B,YAA3B,CADD,EAC2C,QAAQ,CAAC,KADpD,CAAZ;AAGA,QAAM,QAAQ,GAAG,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAmB,IAAA,OAAnB;AAA4B,IAAA,KAAK,EAAE;AAAC,MAAA;AAAD;AAAnC,GAAR,CAAjB;AAEA,EAAA,OAAO,CAAC,6BAAR,CAAsC,cAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,QAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,GAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,YAAtC;AAEA,SAAO,QAAP;AACD;;AAEM,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,mBAD+B;AAE3C,EAAA,WAAW,EAAE,OAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;AC9CP;;AAlBA;;;;;;;;;;;;;;;;AAoBM,MAAO,aAAP,CAAoB;AAKxB,EAAA,WAAA,CAAY,KAAZ,EAA2B,KAA3B,EAA4C,IAA5C,EAAwD;AAJxD,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAAhB;AAKE,SAAK,WAAL,GAAmB,KAAnB;AAEA,QAAI,OAAJ;AACA,QAAI,QAAJ;;AACA,QAAI,IAAI,GAAG,CAAX,EAAc;AACZ,YAAM,KAAK,CAAC,kBAAkB,IAAI,uBAAvB,CAAX;AACD;;AAED,QAAI,IAAI,KAAK,CAAb,EAAgB;AACd,MAAA,QAAQ,GAAG,OAAX;AACA,MAAA,OAAO,GAAG,OAAV;AACD,KAHD,MAGO;AACL,YAAM,aAAa,GAAG,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,EAAkC,SAAlC,CAAtB;AACA,YAAM,UAAU,GAAG,EAAnB;AACA,YAAM,WAAW,GAAG,EAApB;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AACrC,QAAA,WAAW,CAAC,IAAZ,CAAiB,GAAG,aAAa,CAAC,CAAD,CAAG,EAApC;;AACA,YAAI,CAAC,GAAG,KAAR,EAAe;AACb,UAAA,UAAU,CAAC,IAAX,CAAgB,GAAG,aAAa,CAAC,CAAD,CAAG,EAAnC;AACD;AACF;;AACD,MAAA,OAAO,GAAG,UAAU,CAAC,IAAX,EAAV;AACA,MAAA,QAAQ,GAAG,WAAW,CAAC,IAAZ,EAAX;AACD;;AAED,UAAM,KAAK,GAAG,wCAAkB,IAAlB,CAAd;AAEA,SAAK,QAAL,GAAgB;;UAEV,KAAK;4BACa,OAAO;;2BAER,QAAQ;;2BAER,QAAQ;;;KAP/B;AAWD;;AA5CuB;;;;;;;;;;;;ACH1B;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,MAAV,CAAiB,IAAjB,EAAwE;AAE5E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA,SAAD;AAAY,IAAA,CAAZ;AAAe,IAAA;AAAf,MAAoB,MAA1B;AAEA,QAAM,OAAO,GACT,IAAI,yBAAJ,CAAkB,SAAS,CAAC,KAAV,CAAgB,MAAlC,EAA0C,CAAC,CAAC,KAA5C,EAAmD,CAAC,CAAC,KAAF,CAAQ,MAA3D,CADJ;AAEA,SAAO,OAAO,CAAC,eAAR,CACH,OADG,EACM,CAAC,SAAD,EAAY,CAAZ,EAAe,CAAf,CADN,EACyB,0BAAW,CAAC,CAAC,KAAb,EAAoB,CAAC,CAAC,KAAtB,CADzB,CAAP;AAED;;AAEM,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;AChBP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,IAAI,GAAG;;;uBAGU,uBAAa,eAAe;kBACjC,uBAAa,UAAU;;CAJzC;AAQO,MAAM,IAAI,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAb;;AAEA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACdP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,OAAO,GAAG,qCAAhB;AAEO,MAAM,OAAO,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAhB;;AAEA,MAAM,aAAa,GAAiB;AACzC,EAAA,UAAU,EAAE,iBAD6B;AAEzC,EAAA,WAAW,EAAE,OAF4B;AAGzC,EAAA,UAAU,EAAE;AAH6B,CAApC;;;;;;;;;;ACPP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA;AACA,MAAM,IAAI,GAAG;;;CAAb;AAKO,MAAM,IAAI,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAb;;AAEA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACZP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,GAAG,GAAG,8CAA0B;;CAAtC;AAIO,MAAM,GAAG,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAZ;;AAEA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;ACVP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,IAAI,GAAG;;;CAAb;AAKO,MAAM,IAAI,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAb;;AAEA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACVP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;CAAjB;AAsBO,MAAM,QAAQ,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAjB;;AAEA,MAAM,cAAc,GAAiB;AAC1C,EAAA,UAAU,EAAE,kBAD8B;AAE1C,EAAA,WAAW,EAAE,OAF6B;AAG1C,EAAA,UAAU,EAAE;AAH8B,CAArC;;;;;;;;;;AC3BP;;AAIA;;AACA;;AACA;;AAvBA;;;;;;;;;;;;;;;;AAyBO,MAAM,cAAc,GAAI,IAAD,IAIb;AACf,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA;AAAb,MAAyB,KAA/B;;AAEA,iBAAK,MAAL,CACI,CAAC,CAAC,KAAF,CAAQ,MAAR,IAAkB,CADtB,EAEI,MAAM,0DACF,iBAHR;;AAKA,QAAM,IAAI,GAAG,UAAU,CAAC,MAAX,CAAkB,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,GAAG,CAAhC,CAAb;AAEA,QAAM,gBAAgB,GAA4B,CAAC,CAAC,CAAD,EAAI,CAAJ,CAAD,CAAlD;AACA,EAAA,gBAAgB,CAAC,IAAjB,CAAsB,GAAG,QAAzB;;AACA,OAAK,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,MAA5B,EAAoC,CAAC,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAhD,EAAwD,EAAE,CAA1D,EAA6D;AAC3D,IAAA,gBAAgB,CAAC,IAAjB,CAAsB,CAAC,CAAD,EAAI,CAAJ,CAAtB;AACD;;AAED,QAAM,SAAS,GAAG,EAAlB;AAEA,QAAM,OAAO,GAAG,iBAAM;AACpB,IAAA,MAAM,EAAE;AAAC,MAAA;AAAD,KADY;AAEpB,IAAA,OAFoB;AAGpB,IAAA,KAAK,EAAE;AAAC,MAAA,QAAQ,EAAE,gBAAX;AAA6B,MAAA,aAAa,EAAE;AAA5C;AAHa,GAAN,CAAhB;;AAMA,QAAM,mBAAmB,GACrB,uBAAa,WAAb,CAAyB,OAAO,CAAC,KAAjC,EAAwC,UAAxC,EAAoD,IAApD,EAA0D,KAA1D,CADJ;;AAGA,QAAM,iCAAiC,GAAG,uBAAa,WAAb,CACtC,mBAAmB,CAAC,MADkB,EACV,UAAU,CAAC,MADD,EACS,KADT,CAA1C;;AAGA,QAAM,YAAY,GACd,uBAAa,mBAAb,CAAiC,OAAO,CAAC,KAAzC,EAAgD,UAAhD,EAA4D,IAA5D,EAAkE,KAAlE,CADJ;;AAGA,QAAM,eAAe,GAAG,sBACpB;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAuB,IAAA,OAAvB;AAAgC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAvC,GADoB,CAAxB;AAGA,QAAM,QAAQ,GAAG,0BAAU;AACzB,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KADiB;AAEzB,IAAA,OAFyB;AAGzB,IAAA,KAAK,EAAE;AAAC,MAAA,IAAI,EAAE;AAAP;AAHkB,GAAV,CAAjB;AAMA,QAAM,MAAM,GACR,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAwB,IAAA,OAAxB;AAAiC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAxC,GAAR,CADJ;AAGA,EAAA,SAAS,CAAC,IAAV,CAAe,OAAf;AACA,EAAA,SAAS,CAAC,IAAV,CAAe,eAAf;AACA,EAAA,SAAS,CAAC,IAAV,CAAe,QAAf;AAEA,EAAA,SAAS,CAAC,OAAV,CAAkB,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAAvB;AAEA,SAAO,MAAP;AACD,CA1DM;;;AA4DA,MAAM,oBAAoB,GAAiB;AAChD,EAAA,UAAU,EAAE,wBADoC;AAEhD,EAAA,WAAW,EAAE,OAFmC;AAGhD,EAAA,UAAU,EAAE;AAHoC,CAA3C;;;;;;;;;;;ACpEP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,mBAAV,CAA8B,IAA9B,EAGL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA,OAAD;AAAU,IAAA,MAAV;AAAkB,IAAA,UAAlB;AAA8B,IAAA;AAA9B,MAA8C,MAApD;;AACA,MAAI,UAAU,CAAC,KAAX,CAAiB,MAAjB,KAA4B,CAAhC,EAAmC;AACjC,UAAM,IAAI,KAAJ,CAAU;WACT,UAAU,CAAC,KAAK,EADjB,CAAN;AAED;;AACD,MAAI,OAAO,CAAC,KAAR,CAAc,MAAd,KAAyB,CAA7B,EAAgC;AAC9B,UAAM,IAAI,KAAJ,CAAU;WACT,OAAO,CAAC,KAAK,EADd,CAAN;AAED;;AACD,MAAI,MAAM,CAAC,KAAP,CAAa,MAAb,KAAwB,CAA5B,EAA+B;AAC7B,UAAM,IAAI,KAAJ,CAAU;WACT,MAAM,CAAC,KAAK,EADb,CAAN;AAED;;AACD,MAAI,YAAY,CAAC,KAAb,CAAmB,MAAnB,KAA8B,CAAlC,EAAqC;AACnC,UAAM,IAAI,KAAJ,CAAU;UACV,YAAY,CAAC,KAAK,EADlB,CAAN;AAED;;AAED,QAAM,QAAQ,GAAG,OAAO,CAAC,QAAR,CAAiB,OAAO,CAAC,MAAzB,CAAjB;AACA,QAAM,OAAO,GAAG,OAAO,CAAC,QAAR,CAAiB,MAAM,CAAC,MAAxB,CAAhB;AACA,QAAM,WAAW,GAAG,OAAO,CAAC,QAAR,CAAiB,UAAU,CAAC,MAA5B,CAApB;AACA,QAAM,aAAa,GACf,OAAO,CAAC,QAAR,CAAiB,YAAY,CAAC,MAA9B,EAAsC,CAAtC,CADJ;AAGA,QAAM,CAAC,aAAD,EAAgB,kBAAhB,EAAoC,YAApC,EACC,iBADD,EACoB,eADpB,IAEF,wCACI,QADJ,EACc,OAAO,CAAC,KADtB,EAC6B,OAAO,CAAC,KADrC,EAC4C,OAD5C,EACqD,MAAM,CAAC,KAD5D,EAEI,WAFJ,EAEiB,aAFjB,CAFJ;AAKA,SAAO,CACL,OAAO,CAAC,cAAR,CAAuB,kBAAvB,EAA2C,OAAO,CAAC,KAAnD,EAA0D,aAA1D,CADK,EAEL,OAAO,CAAC,cAAR,CACI,CAAC,kBAAkB,CAAC,CAAD,CAAnB,CADJ,EAC6B,MAAM,CAAC,KADpC,EAC2C,YAD3C,CAFK,EAIL,OAAO,CAAC,cAAR,CACI,CAAC,iBAAiB,CAAC,MAAnB,CADJ,EACgC,MADhC,EAEI,IAAI,UAAJ,CACI,iBAAiB,CAAC,GAAlB,CAAuB,KAAD,IAAoB,MAAM,CAAC,KAAD,CAAhD,CADJ,CAFJ,CAJK,EAQL,OAAO,CAAC,cAAR,CACI,CAAC,eAAe,CAAC,MAAjB,CADJ,EAC8B,OAAO,CAAC,KADtC,EAEI,IAAI,UAAJ,CAAe,eAAf,CAFJ,CARK,CAAP;AAYD;;AAEM,MAAM,yBAAyB,GAAiB;AACrD,EAAA,UAAU,EAAE,6BADyC;AAErD,EAAA,WAAW,EAAE,OAFwC;AAGrD,EAAA,UAAU,EAAE;AAHyC,CAAhD;;;;;;;;;;;ACrDP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,aAAV,CACF,IADE,EAC4D;AAEhE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA,YAAD;AAAe,IAAA,UAAf;AAA2B,IAAA;AAA3B,MAAuC,MAA7C;;AACA,MAAI,YAAY,CAAC,KAAb,CAAmB,MAAnB,KAA8B,CAAlC,EAAqC;AACnC,UAAM,IAAI,KAAJ,CAAU,uDACZ,YAAY,CAAC,KAAK,EADhB,CAAN;AAED;;AACD,MAAI,UAAU,CAAC,KAAX,CAAiB,MAAjB,KAA4B,CAAhC,EAAmC;AACjC,UAAM,IAAI,KAAJ,CAAU,qDACZ,UAAU,CAAC,KAAK,EADd,CAAN;AAED;;AAED,MAAI,QAAQ,CAAC,KAAT,CAAe,MAAf,KAA0B,CAA9B,EAAiC;AAC/B,UAAM,IAAI,KAAJ,CACF,sDAAsD,QAAQ,CAAC,KAAK,EADlE,CAAN;AAED;;AAED,QAAM,WAAW,GACb,KAAK,CAAC,IAAN,CAAW,OAAO,CAAC,QAAR,CAAiB,UAAU,CAAC,MAA5B,CAAX,CADJ;AAEA,QAAM,aAAa,GAAG,OAAO,CAAC,QAAR,CAAiB,YAAY,CAAC,MAA9B,CAAtB;AACA,QAAM,WAAW,GACb,KAAK,CAAC,IAAN,CAAW,OAAO,CAAC,QAAR,CAAiB,QAAQ,CAAC,MAA1B,CAAX,CADJ;AAGA,QAAM,CAAC,UAAD,EAAa,YAAb,EAA2B,WAA3B,IAA0C,kCAC5C,aAD4C,EAC7B,YAAY,CAAC,KADgB,EACT,YAAY,CAAC,KADJ,EACW,WADX,EAE5C,WAF4C,CAAhD;AAGA,SAAO,CACL,OAAO,CAAC,cAAR,CAAuB,YAAvB,EAAqC,YAAY,CAAC,KAAlD,EAAyD,UAAzD,CADK,EAEL,OAAO,CAAC,cAAR,CACI,CAAC,WAAW,CAAC,MAAb,CADJ,EAC0B,QAAQ,CAAC,KADnC,EAC0C,IAAI,UAAJ,CAAe,WAAf,CAD1C,CAFK,CAAP;AAKD;;AAEM,MAAM,mBAAmB,GAAiB;AAC/C,EAAA,UAAU,EAAE,uBADmC;AAE/C,EAAA,WAAW,EAAE,OAFkC;AAG/C,EAAA,UAAU,EAAE;AAHmC,CAA1C;;;;;;;;;;;ACxCP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,iBAAV,CACF,IADE,EACgE;AAEpE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA,OAAP;AAAgB,IAAA;AAAhB,MAA8B,MAApC;;AACA,MAAI,IAAI,CAAC,KAAL,CAAW,MAAX,GAAoB,CAAxB,EAA2B;AACzB,UAAM,IAAI,KAAJ,CACF,2DADE,CAAN;AAED;;AACD,MAAI,OAAO,CAAC,KAAR,CAAc,MAAd,KAAyB,CAA7B,EAAgC;AAC9B,UAAM,IAAI,KAAJ,CAAU;gBACJ,OAAO,CAAC,KAAK,EADnB,CAAN;AAED;;AACD,MAAI,UAAU,CAAC,KAAX,CAAiB,MAAjB,KAA4B,CAAhC,EAAmC;AACjC,UAAM,IAAI,KAAJ,CAAU;gBACJ,UAAU,CAAC,KAAK,EADtB,CAAN;AAED;;AAED,QAAM,KAAK,GAAG,OAAO,CAAC,QAAR,CAAiB,IAAI,CAAC,MAAtB,CAAd;AACA,QAAM,QAAQ,GAAG,OAAO,CAAC,QAAR,CAAiB,OAAO,CAAC,MAAzB,CAAjB;AACA,QAAM,WAAW,GAAG,OAAO,CAAC,QAAR,CAAiB,UAAU,CAAC,MAA5B,CAApB;AAEA,QAAM,CAAC,UAAD,EAAa,eAAb,IAAgC,2CAClC,KADkC,EAC3B,IAAI,CAAC,KADsB,EACf,IAAI,CAAC,KADU,EACH,QADG,EACO,WADP,EACoB,IADpB,CAAtC;AAEA,SAAO,OAAO,CAAC,cAAR,CAAuB,eAAvB,EAAwC,IAAI,CAAC,KAA7C,EAAoD,UAApD,CAAP;AACD;;AAEM,MAAM,uBAAuB,GAAiB;AACnD,EAAA,UAAU,EAAE,2BADuC;AAEnD,EAAA,WAAW,EAAE,OAFsC;AAGnD,EAAA,UAAU,EAAE;AAHuC,CAA9C;;;;;;;;;;;AChCP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,gBAAV,CACF,IADE,EAC+D;AAEnE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA;AAAT,MAAoB,IAA1B;AACA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA,OAAP;AAAgB,IAAA;AAAhB,MAA8B,MAApC;;AACA,MAAI,IAAI,CAAC,KAAL,CAAW,MAAX,GAAoB,CAAxB,EAA2B;AACzB,UAAM,IAAI,KAAJ,CACF,2DADE,CAAN;AAED;;AACD,MAAI,OAAO,CAAC,KAAR,CAAc,MAAd,KAAyB,CAA7B,EAAgC;AAC9B,UAAM,IAAI,KAAJ,CAAU;eACL,OAAO,CAAC,KAAK,EADlB,CAAN;AAED;;AACD,MAAI,UAAU,CAAC,KAAX,CAAiB,MAAjB,KAA4B,CAAhC,EAAmC;AACjC,UAAM,IAAI,KAAJ,CAAU;eACL,UAAU,CAAC,KAAK,EADrB,CAAN;AAED;;AAED,QAAM,KAAK,GAAG,OAAO,CAAC,QAAR,CAAiB,IAAI,CAAC,MAAtB,CAAd;AACA,QAAM,QAAQ,GAAG,OAAO,CAAC,QAAR,CAAiB,OAAO,CAAC,MAAzB,CAAjB;AACA,QAAM,WAAW,GAAG,OAAO,CAAC,QAAR,CAAiB,UAAU,CAAC,MAA5B,CAApB;AAEA,QAAM,CAAC,UAAD,EAAa,eAAb,IAAgC,2CAClC,KADkC,EAC3B,IAAI,CAAC,KADsB,EACf,IAAI,CAAC,KADU,EACH,QADG,EACO,WADP,CAAtC;AAEA,SAAO,OAAO,CAAC,cAAR,CAAuB,eAAvB,EAAwC,IAAI,CAAC,KAA7C,EAAoD,UAApD,CAAP;AACD;;AAEM,MAAM,sBAAsB,GAAiB;AAClD,EAAA,UAAU,EAAE,0BADsC;AAElD,EAAA,WAAW,EAAE,OAFqC;AAGlD,EAAA,UAAU,EAAE;AAHsC,CAA7C;;;;;;;;;;;AChCP;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,aAAV,CAAwB,IAAxB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,aAAD;AAAgB,IAAA,YAAhB;AAA8B,IAAA;AAA9B,MAA8C,MAApD;AACA,QAAM;AAAC,IAAA;AAAD,MAAgB,KAAtB;;AAEA,QAAM;AAAC,IAAA,SAAD;AAAY,IAAA,UAAZ;AAAwB,IAAA,OAAxB;AAAiC,IAAA;AAAjC,MACF,uBAAa,eAAb,CAA6B,YAA7B,EAA2C,aAA3C,EAA0D,WAA1D,CADJ;;AAGA,QAAM,cAAc,GAAG,KAAvB;AACA,QAAM,OAAO,GAAG,IAAI,2BAAJ,CACZ,UADY,EACA,SADA,EACW,aAAa,CAAC,KAAd,CAAoB,MAD/B,EAEZ,YAAY,CAAC,KAAb,CAAmB,MAFP,EAEe,OAFf,EAEwB,CAAC,UAAD,EAAa,CAAb,CAFxB,EAEyC,cAFzC,CAAhB;AAIA,QAAM,GAAG,GAAG,OAAO,CAAC,eAAR,CACR,OADQ,EACC,CAAC,YAAD,EAAe,aAAf,EAA8B,YAA9B,CADD,EAC8C,YAAY,CAAC,KAD3D,CAAZ;AAGA,QAAM,QAAQ,GACV,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAmB,IAAA,OAAnB;AAA4B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAnC,GAAR,CADJ;AAGA,EAAA,OAAO,CAAC,6BAAR,CAAsC,GAAtC;AACA,SAAO,QAAP;AACD;;AAEM,MAAM,mBAAmB,GAAiB;AAC/C,EAAA,UAAU,EAAE,uBADmC;AAE/C,EAAA,WAAW,EAAE,OAFkC;AAG/C,EAAA,UAAU,EAAE;AAHmC,CAA1C;;;;;;;;;;;ACjCP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,MAAV,CACF,IADE,EAEuE;AAE3E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,eAAD;AAAkB,IAAA;AAAlB,MAA0B,KAAhC;;AAEA,QAAM,KAAK,GAAG,eAAK,cAAL,CAAoB,IAApB,EAA0B,CAAC,CAAC,KAA5B,EAAmC,CAAnC,CAAd;;AACA,QAAM,UAAU,GAAG,uBAAa,gBAAb,CAA8B,CAA9B,EAAiC,eAAjC,EAAkD,KAAlD,CAAnB;;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;AACA,QAAM,KAAK,GAAG,IAAI,KAAJ,CAAU,KAAV,EAAiB,IAAjB,CAAsB,CAAtB,CAAd;AACA,QAAM,IAAI,GAAG,CAAC,CAAC,KAAF,CAAQ,KAAR,EAAb;AAEA,SAAO,UAAU,CAAC,GAAX,CAAe,CAAC,IAAG;AACxB,UAAM,SAAS,GAAG,CAAC,GAAG,IAAJ,CAAlB;AACA,IAAA,SAAS,CAAC,KAAD,CAAT,GAAmB,CAAnB;AACA,UAAM,MAAM,GACR,kBAAM;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,KAAD;AAAQ,QAAA,IAAI,EAAE;AAAd;AAA9B,KAAN,CADJ;AAEA,IAAA,KAAK,CAAC,KAAD,CAAL,IAAgB,CAAhB;AACA,WAAO,MAAP;AACD,GAPM,CAAP;AAQD;;AAEM,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;AC9BP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,IAAI,GAAG,iBAAb;AAEO,MAAM,IAAI,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAb;;AAEA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACPP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,MAAM,GAAG,eAAf;AAEO,MAAM,MAAM,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAf;;AAEA,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;ArNRP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,kBAAkB,GAAG,2BAA3B;AAEO,MAAM,iBAAiB,GAAG,0CAC7B;AAAC,EAAA,SAAS,EAAE,kBAAZ;AAAgC,EAAA,eAAe,EAAE;AAAjD,CAD6B,CAA1B;;AAGA,MAAM,uBAAuB,GAAiB;AACnD,EAAA,UAAU,EAAE,2BADuC;AAEnD,EAAA,WAAW,EAAE,OAFsC;AAGnD,EAAA,UAAU,EAAE;AAHuC,CAA9C;;;;;;;;;;;AsNTP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,IAAV,CACF;AAAC,EAAA,MAAD;AAAS,EAAA,KAAT;AAAgB,EAAA;AAAhB,CADE,EAEoE;AAExE,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM,SAAS,GAAG,iCAAoB;mCACL,KAAK,CAAC,KAAK;GAD5C;AAIA,QAAM,OAAO,GAAG,IAAI,2BAAJ,CAAmB,CAAC,CAAC,KAArB,EAA4B,SAA5B,CAAhB;AAEA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,CAAC,CAAC,KAAxC,CAAP;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AClBP;;AAlBA;;;;;;;;;;;;;;;;AAoBM,MAAO,mBAAP,CAA0B;AAK9B,EAAA,WAAA,CAAY,KAAZ,EAA6B,OAA7B,EAAgD,IAAhD,EAA8D;AAJ9D,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAKE,SAAK,WAAL,GAAmB,IAAnB;AACA,UAAM,IAAI,GAAG,IAAI,CAAC,MAAlB;AACA,UAAM,UAAU,GAAG,wCAAkB,IAAI,CAAC,MAAvB,CAAnB;AACA,UAAM,KAAK,GAAG,wCAAkB,IAAI,CAAC,MAAvB,CAAd;AAEA,QAAI,SAAS,GAAG,EAAhB;;AACA,QAAI,IAAI,KAAK,CAAb,EAAgB;AACd,MAAA,SAAS,GAAG,0BAAZ;AACD,KAFD,MAEO;AACL,UAAI,UAAU,GAAG,CAAjB;AACA,MAAA,SAAS,GACL,IAAI,CAAC,GAAL,CAAS,CAAC,CAAD,EAAI,CAAJ,KAAS;AACZ,QAAA,UAAU;AACV,eAAO,IAAI,CAAC,MAAL,KAAgB,CAAhB,GACH,oBAAoB,CAAC,aAAa,CAAC,GADhC,GAEH,UAAU,UAAU,GAAG,CAAC,eAAe,CAAC,aAAa,CAAC,GAF1D;AAGD,OALL,EAMK,IANL,CAMU,GANV,CADJ;AAQD;;AAED,SAAK,QAAL,GAAgB;QACZ,UAAU,YAAY,UAAU,IAAI,KAAK;QACzC,UAAU,cAAc,UAAU,IAAI,OAAO;;;UAG3C,KAAK;yBACU,SAAS;;KAN9B;AASD;;AAnC6B;;;;;;;;;;;;ACHhC;;AAGA;;AACA;;AAEA;;AACA;;AAxBA;;;;;;;;;;;;;;;;AA0BM,SAAU,YAAV,CAAuB,IAAvB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AACJ,IAAA,KADI;AAEJ,IAAA,GAFI;AAGJ,IAAA,OAHI;AAIJ,IAAA,SAJI;AAKJ,IAAA,OALI;AAMJ,IAAA,YANI;AAOJ,IAAA,WAPI;AAQJ,IAAA;AARI,MASF,KATJ;;AAWA,QAAM;AAAC,IAAA,UAAD;AAAa,IAAA,MAAb;AAAqB,IAAA,QAArB;AAA+B,IAAA,IAA/B;AAAqC,IAAA,QAArC;AAA+C,IAAA;AAA/C,MACF,qBAAW,SAAX,CACI,CAAC,CAAC,KADN,EACa,KADb,EACoB,GADpB,EACyB,OADzB,EACkC,SADlC,EAC6C,OAD7C,EACsD,YADtD,EAEI,WAFJ,EAEiB,cAFjB,CADJ;;AAKA,QAAM,EAAE,GAAG,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA;AAAD,KAAT;AAAc,IAAA,OAAd;AAAuB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAA9B,GAAR,CAAX;AAEA,MAAI,MAAJ;;AACA,MAAI,UAAJ,EAAgB;AACd,UAAM,MAAM,GACR,kBAAM;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAkB,MAAA,OAAlB;AAA2B,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE,MAAR;AAAgB,QAAA;AAAhB;AAAlC,KAAN,CADJ;AAEA,IAAA,MAAM,GAAG,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAsB,MAAA,OAAtB;AAA+B,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAAtC,KAAR,CAAT;AAEA,IAAA,OAAO,CAAC,6BAAR,CAAsC,MAAtC;AACD,GAND,MAMO,IAAI,QAAQ,CAAC,IAAT,CAAc,IAAI,IAAI,IAAI,KAAK,CAA/B,CAAJ,EAAuC;AAC5C,IAAA,MAAM,GAAG,OAAO,CAAC,cAAR,CAAuB,QAAvB,EAAiC,CAAC,CAAC,KAAnC,EAA0C,EAA1C,CAAT;AACD,GAFM,MAEA;AACL,UAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAR,CAA2B,CAAC,EAAD,CAA3B,CAA3B;;AACA,QAAI,kBAAJ,EAAwB;AACtB,YAAM,QAAQ,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,EAAE,CAAC,MAAvB,CAAjB;AACA,YAAM,MAAM,GAAG,QAAQ,CAAC,MAAxB;AACA,YAAM,IAAI,GAAG,sBAAO,EAAE,CAAC,KAAV,EAAiB,EAAE,CAAC,KAApB,EAA2B,MAA3B,CAAb;AACA,YAAM,YAAY,GACd,iCAAoB,QAApB,EAA8B,IAA9B,EAAoC,QAApC,EAA8C,MAA9C,CADJ;AAEA,MAAA,MAAM,GAAG,OAAO,CAAC,cAAR,CAAuB,QAAvB,EAAiC,EAAE,CAAC,KAApC,EAA2C,YAAY,CAAC,MAAxD,CAAT;AACD,KAPD,MAOO;AACL,YAAM,OAAO,GAAG,IAAI,sCAAJ,CAAwB,MAAxB,EAAgC,QAAhC,EAA0C,QAA1C,CAAhB;AACA,MAAA,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,EAAD,CAAjC,EAAuC,EAAE,CAAC,KAA1C,CAAT;AACD;AACF;;AAED,QAAM,cAAc,GAChB,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAsB,IAAA,OAAtB;AAA+B,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAAtC,GAAR,CADJ;AAGA,EAAA,OAAO,CAAC,6BAAR,CAAsC,EAAtC;AACA,EAAA,OAAO,CAAC,6BAAR,CAAsC,MAAtC;AAEA,SAAO,cAAP;AACD;;AAEM,MAAM,kBAAkB,GAAiB;AAC9C,EAAA,UAAU,EAAE,sBADkC;AAE9C,EAAA,WAAW,EAAE,OAFiC;AAG9C,EAAA,UAAU,EAAE;AAHkC,CAAzC;;;;;;;;;;;ACnEP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,YAAV,CAAuB,IAAvB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AACJ,IAAA,SADI;AAEJ,IAAA,WAFI;AAGJ,IAAA,OAHI;AAIJ,IAAA,QAJI;AAKJ,IAAA,QALI;AAMJ,IAAA;AANI,MAOF,KAPJ;AAQA,QAAM;AAAC,IAAA,IAAD;AAAO,IAAA;AAAP,MAAqB,MAA3B;AACA,QAAM,KAAK,GAAG,OAAO,CAAC,QAAR,CAAiB,IAAI,CAAC,MAAtB,CAAd;AACA,QAAM,WAAW,GAAG,OAAO,CAAC,QAAR,CAAiB,UAAU,CAAC,MAA5B,CAApB;AAEA,QAAM,CAAC,MAAD,EAAS,YAAT,IAAyB,iCAC3B,KAD2B,EACpB,WADoB,EACP,SADO,EACI,WADJ,EACiB,OADjB,EAC0B,QAD1B,EACoC,QADpC,EAE3B,sBAF2B,CAA/B;AAGA,SAAO,CACL,OAAO,CAAC,cAAR,CAAuB,CAAC,MAAM,CAAC,MAAR,CAAvB,EAAwC,QAAxC,EAAkD,MAAlD,CADK,EAEL,OAAO,CAAC,cAAR,CAAuB,UAAU,CAAC,KAAlC,EAAyC,OAAzC,EAAkD,YAAlD,CAFK,CAAP;AAID;;AAEM,MAAM,kBAAkB,GAAiB;AAC9C,EAAA,UAAU,EAAE,sBADkC;AAE9C,EAAA,WAAW,EAAE,OAFiC;AAG9C,EAAA,UAAU,EAAE;AAHkC,CAAzC;;;;;;;;;;;AChCP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,WAAV,CAAsB,IAAtB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAc,KAApB;AACA,QAAM;AAAC,IAAA,KAAD;AAAQ,IAAA;AAAR,MAAqB,MAA3B;;AAEA,MAAI,KAAK,CAAC,KAAN,KAAgB,QAApB,EAA8B;AAC5B,UAAM,IAAI,KAAJ,CAAU,kCAAV,CAAN;AACD;;AACD,MAAI,KAAK,CAAC,KAAN,CAAY,MAAZ,KAAuB,CAA3B,EAA8B;AAC5B,UAAM,IAAI,KAAJ,CAAU,sCAAsC,KAAK,CAAC,KAAK,EAA3D,CAAN;AACD;;AACD,MAAI,SAAS,CAAC,KAAV,CAAgB,MAAhB,KAA2B,CAA/B,EAAkC;AAChC,UAAM,IAAI,KAAJ,CACF,0CAA0C,SAAS,CAAC,KAAK,EADvD,CAAN;AAED;;AAED,QAAM,MAAM,GAAG,OAAO,CAAC,QAAR,CAAiB,KAAK,CAAC,MAAvB,CAAf;AACA,QAAM,UAAU,GAAG,OAAO,CAAC,QAAR,CAAiB,SAAS,CAAC,MAA3B,EAAmC,CAAnC,CAAnB;AAEA,QAAM,CAAC,OAAD,EAAU,MAAV,EAAkB,KAAlB,IACF,gCAAmB,MAAnB,EAA2B,UAA3B,EAAuC,SAAvC,CADJ;AAEA,QAAM,UAAU,GAAG,MAAM,CAAC,MAA1B;AACA,SAAO,CACL,OAAO,CAAC,cAAR,CAAuB,CAAC,UAAD,EAAa,CAAb,CAAvB,EAAwC,OAAxC,EAAiD,OAAjD,CADK,EAEL,OAAO,CAAC,cAAR,CAAuB,CAAC,UAAD,CAAvB,EAAqC,QAArC,EAA+C,MAA/C,CAFK,EAGL,OAAO,CAAC,cAAR,CAAuB,CAAC,CAAD,CAAvB,EAA4B,OAA5B,EAAqC,IAAI,UAAJ,CAAe,KAAf,CAArC,CAHK,CAAP;AAKD;;AAEM,MAAM,iBAAiB,GAAiB;AAC7C,EAAA,UAAU,EAAE,qBADiC;AAE7C,EAAA,WAAW,EAAE,OAFgC;AAG7C,EAAA,UAAU,EAAE;AAHiC,CAAxC;;;;;;;;;;;ACtCP;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,sBAAV,CAAiC,IAAjC,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAe,KAArB;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,MAAhB;;AAEA,MAAI,KAAK,CAAC,KAAN,KAAgB,QAApB,EAA8B;AAC5B,UAAM,IAAI,KAAJ,CAAU,kCAAV,CAAN;AACD;;AACD,MAAI,UAAU,IAAI,CAAlB,EAAqB;AACnB,UAAM,IAAI,KAAJ,CAAU,sCAAV,CAAN;AACD;;AAED,QAAM,MAAM,GAAG,OAAO,CAAC,QAAR,CAAiB,KAAK,CAAC,MAAvB,CAAf;AAEA,QAAM,MAAM,GAAG,2CAA8B,MAA9B,EAAsC,UAAtC,CAAf;AACA,SAAO,OAAO,CAAC,cAAR,CAAuB,KAAK,CAAC,KAA7B,EAAoC,OAApC,EAA6C,MAA7C,CAAP;AACD;;AAEM,MAAM,4BAA4B,GAAiB;AACxD,EAAA,UAAU,EAAE,gCAD4C;AAExD,EAAA,WAAW,EAAE,OAF2C;AAGxD,EAAA,UAAU,EAAE;AAH4C,CAAnD;;;;;;;;;;AC3BP;;AAEA;;AAnBA;;;;;;;;;;;;;;;;AAqBA,MAAM,GAAG,GAAG,gBAAZ;AAEO,MAAM,GAAG,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAZ;;AAEA,MAAM,SAAS,GAAiB;AACrC,EAAA,UAAU,EAAE,aADyB;AAErC,EAAA,WAAW,EAAE,OAFwB;AAGrC,EAAA,UAAU,EAAE;AAHyB,CAAhC;;;;;;;;;;ACRP;;AACA;;AAlBA;;;;;;;;;;;;;;;;AAoBA,MAAM,IAAI,GAAG;;;CAAb;AAKO,MAAM,IAAI,GAAG,yCAAgB;AAAC,EAAA,SAAS,EAAE;AAAZ,CAAhB,CAAb;;AAEA,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;ACTP;;AAlBA;;;;;;;;;;;;;;;;AAoBM,MAAO,WAAP,CAAkB;AAMtB,EAAA,WAAA,CAAY,MAAZ,EAA8B,IAA9B,EAA4C;AAL5C,SAAA,aAAA,GAAgB,CAAC,GAAD,CAAhB;AAME,UAAM,WAAW,GAAa,IAAI,KAAJ,CAAU,MAAM,CAAC,MAAjB,CAA9B;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,WAAW,CAAC,MAAhC,EAAwC,CAAC,EAAzC,EAA6C;AAC3C,MAAA,WAAW,CAAC,CAAD,CAAX,GAAiB,MAAM,CAAC,CAAD,CAAN,GAAY,IAAI,CAAC,CAAD,CAAjC;AACD;;AACD,SAAK,WAAL,GAAmB,WAAnB;AACA,SAAK,IAAL,GAAY,WAAW,CAAC,MAAxB;AACA,UAAM,KAAK,GAAG,wCAAkB,KAAK,IAAvB,CAAd;AACA,UAAM,YAAY,GAAG,eAAe,CAAC,MAAD,CAApC;AAEA,SAAK,QAAL,GAAgB;;UAEV,KAAK;yBACU,YAAY;;KAHjC;AAMD;;AAtBqB;;;;AAyBxB,SAAS,eAAT,CAAyB,MAAzB,EAAyC;AACvC,QAAM,IAAI,GAAG,MAAM,CAAC,MAApB;;AACA,MAAI,IAAI,GAAG,CAAX,EAAc;AACZ,UAAM,KAAK,CAAC,iBAAiB,IAAI,uBAAtB,CAAX;AACD;;AACD,MAAI,IAAI,KAAK,CAAb,EAAgB;AACd,WAAO,eAAe,MAAM,CAAC,CAAD,CAAG,GAA/B;AACD;;AAED,QAAM,aAAa,GAAG,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,EAAkC,SAAlC,EAA6C,SAA7C,CAAtB;AAEA,QAAM,YAAY,GAAG,EAArB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,IAAA,YAAY,CAAC,IAAb,CAAkB,QAAQ,aAAa,CAAC,CAAD,CAAG,KAAK,MAAM,CAAC,CAAD,CAAG,GAAxD;AACD;;AACD,SAAO,YAAY,CAAC,IAAb,EAAP;AACD;;;;;;;;;;AC5CD;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,IAAV,CACF,MADE,EACuE;AAE3E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,MAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA;AAAD,MAAS,KAAf,CAJ2E,CAM3E;;AACA,MAAI,CAAC,CAAC,KAAF,KAAY,QAAZ,IAAwB,CAAC,CAAC,KAAF,CAAQ,MAAR,GAAiB,CAA7C,EAAgD;AAC9C;AACA;AACA,UAAM,IAAI,GAAG,OAAO,CAAC,QAAR,CAAiB,CAAC,CAAC,MAAnB,CAAb;AACA,UAAM,KAAK,GAAG,CAAC,CAAC,KAAF,KAAY,QAAZ,GACT,IAAqB,CAAC,GAAtB,CAA0B,CAAC,IAAI,eAAK,YAAL,CAAkB,CAAlB,CAA/B,CADS,GAEV,IAFJ;AAGA,UAAM,GAAG,GAAG,sBAAO,CAAC,CAAC,KAAT,EAAgB,CAAC,CAAC,KAAlB,EAAyB,KAAzB,CAAZ;AACA,UAAM,MAAM,GAAG,yBAAY,GAAZ,EAAiB,IAAjB,CAAf;AACA,WAAO,OAAO,CAAC,cAAR,CAAuB,MAAM,CAAC,KAA9B,EAAqC,MAAM,CAAC,KAA5C,EAAmD,MAAM,CAAC,MAA1D,CAAP;AACD;;AAED,QAAM,OAAO,GAAG,IAAI,qBAAJ,CAAgB,CAAC,CAAC,KAAlB,EAAyB,IAAzB,CAAhB;AACA,QAAM,MAAM,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,CAAD,CAAjC,EAAsC,CAAC,CAAC,KAAxC,CAAf;AAEA,SAAO,MAAP;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AC9BP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACM,MAAO,WAAP,CAAkB;AAgBtB;;;;AAIA,EAAA,WAAA,CAAY,KAAZ,EAA2B;AAnB3B,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,SAAN,CAAhB,CAmB2B,CAhB3B;AACA;AACA;AACA;;AACA,SAAA,cAAA,GAAiB,CACf;AAAC,MAAA,IAAI,EAAE,GAAP;AAAY,MAAA,IAAI,EAAE;AAAlB,KADe,EAEf;AAAC,MAAA,IAAI,EAAE,WAAP;AAAoB,MAAA,IAAI,EAAE;AAA1B,KAFe,EAGf;AAAC,MAAA,IAAI,EAAE,aAAP;AAAsB,MAAA,IAAI,EAAE;AAA5B,KAHe,EAIf;AAAC,MAAA,IAAI,EAAE,KAAP;AAAc,MAAA,IAAI,EAAE;AAApB,KAJe,EAKf;AAAC,MAAA,IAAI,EAAE,KAAP;AAAc,MAAA,IAAI,EAAE;AAApB,KALe,CAAjB;AAaE,SAAK,WAAL,GAAmB,KAAnB;AAEA,SAAK,QAAL,GAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAhB;AAyCD;;AAhEqB;;;;AAmElB,MAAO,YAAP,CAAmB;AAcvB;;;AAGA,EAAA,WAAA,CAAY,KAAZ,EAA2B;AAhB3B,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,SAAN,CAAhB,CAgB2B,CAb3B;AACA;AACA;AACA;;AACA,SAAA,cAAA,GAAiB,CACf;AAAC,MAAA,IAAI,EAAE,GAAP;AAAY,MAAA,IAAI,EAAE;AAAlB,KADe,EAEf;AAAC,MAAA,IAAI,EAAE,WAAP;AAAoB,MAAA,IAAI,EAAE;AAA1B,KAFe,EAGf;AAAC,MAAA,IAAI,EAAE,GAAP;AAAY,MAAA,IAAI,EAAE;AAAlB,KAHe,CAAjB;AAUE,SAAK,WAAL,GAAmB,KAAnB;AAEA,SAAK,QAAL,GAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAhB;AAmCD;;AAvDsB;;;;;;;;;;;;AC9EzB;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAzBA;;;;;;;;;;;;;;;;AA2BA,SAAS,mCAAT,CACI,OADJ,EAC+B,UAD/B,EACqD;AACnD,MAAI,UAAU,KAAK,IAAnB,EAAyB;AACvB,IAAA,OAAO,CAAC,6BAAR,CAAsC,UAAtC;AACD;AACF;;AAED,SAAS,aAAT,CAAuB,GAAvB,EAAkC;AAChC,MAAI,IAAI,GAAG,CAAX;;AACA,SAAO,IAAI,GAAG,GAAd,EAAmB;AACjB,IAAA,IAAI,IAAI,CAAR;AACD;;AACD,SAAO,IAAP;AACD,EAED;AACA;;;AACM,SAAU,IAAV,CACF,IADE,EACqE;AAEzE,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAc,KAApB,CAJyE,CAMzE;AACA;;AACA,QAAM,wCAAwC,GAC1C,qBAAM,SAAN,CAAgB,0CAAhB,CADJ,CARyE,CAWzE;AACA;;AACA,QAAM,4BAA4B,GAC9B,qBAAM,SAAN,CAAgB,8BAAhB,CADJ;AAGA,QAAM,MAAM,GAAG,CAAC,CAAC,KAAjB;AACA,QAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAP,GAAgB,CAAjB,CAAtB;;AAEA,MAAI,OAAO,CAAC,kBAAR,CAA2B,CAAC,CAAD,CAA3B,KACA,OAAO,GAAG,wCADV,IAEA,CAAC,GAAG,4BAFR,EAEsC;AACpC,UAAM,KAAK,GAAG,OAAO,CAAC,QAAR,CAAiB,CAAC,CAAC,MAAnB,CAAd;AACA,UAAM,CAAC,WAAD,EAAc,cAAd,IACF,yBAAY,KAAZ,EAAmB,MAAnB,EAA2B,CAAC,CAAC,KAA7B,EAAuD,CAAvD,EAA0D,MAA1D,CADJ;AAGA,WAAO,CACL,OAAO,CAAC,cAAR,CACI,WAAW,CAAC,KADhB,EACuB,WAAW,CAAC,KADnC,EAC0C,WAAW,CAAC,MADtD,CADK,EAGL,OAAO,CAAC,cAAR,CACI,cAAc,CAAC,KADnB,EAC0B,cAAc,CAAC,KADzC,EACgD,cAAc,CAAC,MAD/D,CAHK,CAAP;AAMD;;AAED,MAAI,CAAC,KAAK,CAAV,EAAa;AACX,IAAA,MAAM,CAAC,MAAM,CAAC,MAAP,GAAgB,CAAjB,CAAN,GAA4B,CAA5B;AACA,WAAO,CACL,OAAO,CAAC,cAAR,CAAuB,MAAvB,EAA+B,CAAC,CAAC,KAAjC,EAAwC,EAAxC,CADK,EAEL,OAAO,CAAC,cAAR,CAAuB,MAAvB,EAA+B,OAA/B,EAAwC,EAAxC,CAFK,CAAP;AAID;;AAED,MAAI,OAAO,KAAK;AAAE;AAAlB,IAAmC;AACjC,WAAO,CACL,CADK,EACF,gBAAK;AAAC,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE,MAAR;AAAgB,QAAA,KAAK,EAAE,OAAvB;AAAgC,QAAA,KAAK,EAAE;AAAvC,OAAR;AAAmD,MAAA;AAAnD,KAAL,CADE,CAAP;AAGD,GA9CwE,CAgDzE;AACA;;;AACA,QAAM,QAAQ,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAoB,CAAC,CAAC,MAAtB,CAAjB;AACA,QAAM,SAAS,GAAG,QAAQ,KAAK,IAAb,IAAqB,QAAQ,CAAC,QAAhD;AACA,QAAM,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,YAAR,CAAqB,CAArB,CAAH,GAA6B,CAAxD,CApDyE,CAsDzE;;AACA,QAAM,KAAK,GAAG,eAAK,aAAL,CAAmB,MAAnB,CAAd;;AACA,QAAM,KAAK,GAAG,KAAK,GAAG,OAAtB;AACA,QAAM,GAAG,GAAG,sBACR;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAyB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,KAAD,EAAQ,OAAR;AAAR,KAAhC;AAA2D,IAAA;AAA3D,GADQ,CAAZ;;AAGA,MAAI,SAAJ,EAAe;AACb,IAAA,mCAAmC,CAAC,OAAD,EAAU,SAAV,CAAnC;AACD;;AAED,QAAM,KAAK,GAAG,aAAa,CAAC,CAAD,CAA3B;AACA,QAAM,WAAW,GAAG,aAAa,CAAC,OAAD,CAAjC,CAjEyE,CAmEzE;AACA;AACA;AACA;;AACA,MAAI,OAAO,GAAe,IAA1B,CAvEyE,CAyEzE;AACA;AACA;;AACA,QAAM,SAAS,GAAG,MAAM,OAAO,KAAK,IAAZ,GAAmB,CAAC,GAAD,EAAM,GAAN,CAAnB,GAAgC,CAAC,GAAD,EAAM,OAAN,CAAxD;;AAEA,QAAM,OAAO,GAAG,CAAC,GAAD,EAAc,GAAd,EAA2B,KAA3B,KAA8C;AAC5D,UAAM,MAAM,GAAG,SAAS,EAAxB;AACA,UAAM,OAAO,GAAG,IAAI,sBAAJ,CAAgB,KAAhB,CAAhB;AACA,UAAM,QAAQ,GAAG,OAAO,KAAK,IAAZ,GAAmB,CAAnB,GAAuB,CAAxC;AACA,UAAM,YAAY,GACd,CAAC,CAAC,OAAD,CAAD,EAAY,CAAC,QAAD,CAAZ,EAAwB,CAAC,MAAM,CAAC,iBAAR,CAAxB,EAAoD,CAAC,GAAD,CAApD,EAA2D,CAAC,GAAD,CAA3D,CADJ;AAEA,UAAM,WAAW,GAAG,OAApB;AACA,IAAA,OAAO,GAAG,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,MAAjC,EAAyC,OAAzC,EAAkD,YAAlD,CAAV;AACA,IAAA,mCAAmC,CAAC,OAAD,EAAU,WAAV,CAAnC;AACD,GATD,CA9EyE,CAyFzE;;;AACA,OAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,GAAG,KAAxB,EAA+B,GAAG,IAAI,CAAtC,EAAyC;AACvC,UAAM,GAAG,GAAG,GAAG,GAAG,CAAlB;;AACA,SAAK,IAAI,GAAG,GAAG,GAAf,EAAoB,GAAG,IAAI,CAA3B,EAA8B,GAAG,IAAI,CAArC,EAAwC;AACtC,MAAA,OAAO,CAAC,GAAD,EAAM,GAAN,EAAW,CAAC,KAAD,EAAQ,WAAR,CAAX,CAAP;AACD;AACF,GA/FwE,CAiGzE;;;AACA,OAAK,IAAI,WAAW,GAAG,WAAvB,EAAoC,WAAW,GAAG,KAAlD,EAAyD,WAAW,IAAI,CAAxE,EAA2E;AACzE,UAAM,MAAM,GAAG,SAAS,EAAxB;AACA,UAAM,YAAY,GAAG,IAAI,uBAAJ,CAAiB,CAAC,KAAD,EAAQ,WAAW,GAAG,CAAtB,CAAjB,CAArB;AACA,UAAM,SAAS,GAAG,OAAO,KAAK,IAAZ,GAAmB,CAAnB,GAAuB,CAAzC;AACA,UAAM,YAAY,GAAG,CAAC,CAAC,OAAD,CAAD,EAAY,CAAC,SAAD,CAAZ,EAAyB,CAAC,KAAD,CAAzB,CAArB;AACA,UAAM,WAAW,GAAG,OAApB;AACA,IAAA,OAAO,GACH,OAAO,CAAC,eAAR,CAAwB,YAAxB,EAAsC,MAAtC,EAA8C,OAA9C,EAAuD,YAAvD,CADJ;AAEA,IAAA,mCAAmC,CAAC,OAAD,EAAU,WAAV,CAAnC,CARyE,CAUzE;;AACA,UAAM,GAAG,GAAG,KAAK,GAAG,CAApB;AACA,UAAM,GAAG,GAAG,GAAG,GAAG,CAAlB;;AACA,SAAK,IAAI,GAAG,GAAG,GAAf,EAAoB,GAAG,IAAI,CAA3B,EAA8B,GAAG,IAAI,CAArC,EAAwC;AACtC,MAAA,OAAO,CAAC,GAAD,EAAM,GAAN,EAAW,OAAO,CAAC,KAAnB,CAAP;AACD;AACF,GAlHwE,CAoHzE;;;AACA,MAAI,WAAW,GAAG,OAAlB;AACA,EAAA,OAAO,GAAG,kBACN;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAuB,IAAA,OAAvB;AAAgC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAR;AAAW,MAAA,IAAI,EAAE,CAAC,KAAD,EAAQ,CAAR;AAAjB;AAAvC,GADM,CAAV;AAEA,EAAA,mCAAmC,CAAC,OAAD,EAAU,WAAV,CAAnC,CAxHyE,CA0HzE;;AACA,MAAI,MAAM,GAAG,uBACT;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE,GAAJ;AAAS,MAAA;AAAT,KAAT;AAA4B,IAAA,OAA5B;AAAqC,IAAA,KAAK,EAAE;AAAC,MAAA,IAAI,EAAE,CAAP;AAAU,MAAA,SAAS,EAAE;AAArB;AAA5C,GADS,CAAb;AAEA,EAAA,mCAAmC,CAAC,OAAD,EAAU,GAAV,CAAnC,CA7HyE,CA+HzE;AACA;;AACA,QAAM,QAAQ,GAAG,MAAM,CAAC,KAAP,CAAa,CAAb,EAAgB,CAAC,CAAjB,CAAjB;AACA,EAAA,QAAQ,CAAC,IAAT,CAAc,CAAd;AAEA,EAAA,WAAW,GAAG,OAAd;AACA,EAAA,OAAO,GAAG,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAuB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR,KAA9B;AAAiD,IAAA;AAAjD,GAAR,CAAV;AACA,EAAA,mCAAmC,CAAC,OAAD,EAAU,WAAV,CAAnC;AAEA,QAAM,UAAU,GAAG,MAAnB;AACA,EAAA,MAAM,GAAG,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAsB,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR,KAA7B;AAAgD,IAAA;AAAhD,GAAR,CAAT;AACA,EAAA,mCAAmC,CAAC,OAAD,EAAU,UAAV,CAAnC;AAEA,SAAO,CAAC,MAAD,EAAS,OAAT,CAAP;AACD;;AAEM,MAAM,UAAU,GAAiB;AACtC,EAAA,UAAU,EAAE,cAD0B;AAEtC,EAAA,WAAW,EAAE,OAFyB;AAGtC,EAAA,UAAU,EAAE;AAH0B,CAAjC;;;;;;;;;;AC5LP;;;;;;;;;;;;;;;;AAmBM,MAAO,gBAAP,CAAuB;AAK3B,EAAA,WAAA,CACI,WADJ,EACyB,UADzB,EAEI,aAFJ,EAGI,QAHJ,EAGqD,SAHrD,EAII,QAJJ,EAI8C;AAR9C,SAAA,aAAA,GAAgB,CAAC,OAAD,EAAU,YAAV,CAAhB;AASE,SAAK,WAAL,GAAmB,QAAnB;AACA,UAAM,mBAAmB,GAAG,aAAa,KAAK,SAAlB,GAA8B,CAA9B,GAAkC,CAA9D;AACA,QAAI,UAAJ;;AACA,YAAQ,QAAR;AACE,WAAK,UAAL;AACE,QAAA,UAAU,GAAG,CAAb;AACA;;AACF,WAAK,SAAL;AACE,QAAA,UAAU,GAAG,CAAb;AACA;;AACF,WAAK,MAAL;AACE,QAAA,UAAU,GAAG,CAAb;AACA;;AACF,WAAK,SAAL;AACE,QAAA,UAAU,GAAG,CAAb;AACA;;AACF;AACE,QAAA,UAAU,GAAG,CAAb;AACA;AAfJ;;AAiBA,SAAK,QAAL,GAAgB;;;mBAGD,UAAU;;;;;;;;;;;;;;;;;;;;;;;;2BAwBF,UAAU;;;;;;;;;;;;;;;;;2BAiBV,UAAU;;;;;;;;;;4CAW7B,WAAW,+BAA+B,UAAU;;;sCAGtB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;sCAwBT,SAAS;;;;mDAII,UAAU;mDACV,WAAW;;sBAExC,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;SAzFrC;AAkHD;;AAhJ0B;;;;;;;;;;;;ACF7B;;AAGA;;AApBA;;;;;;;;;;;;;;;;AAsBM,SAAU,SAAV,CAAoB,IAApB,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,KAAD;AAAQ,IAAA;AAAR,MAAsB,MAA5B;AACA,QAAM;AAAC,IAAA,aAAD;AAAgB,IAAA,QAAhB;AAA0B,IAAA,SAA1B;AAAqC,IAAA;AAArC,MAAoD,KAA1D;AAEA,QAAM,CAAC,KAAD,EAAQ,WAAR,EAAqB,UAArB,EAAiC,WAAjC,IAAgD,KAAK,CAAC,KAA5D;AACA,QAAM,CAAC,SAAD,EAAY,QAAZ,IACF,WAAW,IAAI,IAAf,GAAsB,WAAtB,GAAoC,CAAC,WAAD,EAAc,UAAd,CADxC;AAEA,QAAM,QAAQ,GACV,CAAC,KAAD,EAAQ,SAAR,EAAmB,QAAnB,EACC,WADD,CADJ;AAIA,QAAM,OAAO,GAAG,IAAI,+BAAJ,CACZ,WADY,EACC,UADD,EACa,aADb,EAC4B,QAD5B,EACsC,SADtC,EACiD,QADjD,CAAhB;AAEA,SAAO,OAAO,CAAC,eAAR,CAAwB,OAAxB,EAAiC,CAAC,KAAD,EAAQ,UAAR,CAAjC,EAAsD,SAAtD,CAAP;AACD;;AAEM,MAAM,eAAe,GAAiB;AAC3C,EAAA,UAAU,EAAE,mBAD+B;AAE3C,EAAA,WAAW,EAAE,OAF8B;AAG3C,EAAA,UAAU,EAAE;AAH+B,CAAtC;;;;;;;;;;;AC1BP;;AAGA;;AACA;;AArBA;;;;;;;;;;;;;;;;AAuBM,SAAU,MAAV,CACF,IADE,EAEuE;AAE3E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,KAAT;AAAgB,IAAA;AAAhB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAS,KAAf;AACA,QAAM;AAAC,IAAA;AAAD,MAAM,MAAZ;AACA,oCAAiB,CAAjB,EAAoB,QAApB,EAL2E,CAO3E;;AACA,EAAA,OAAO,CAAC,IAAR,CACI,WADJ,EAEI,4DAFJ;AAGA,QAAM,MAAM,GAAG,OAAO,CAAC,QAAR,CAAiB,CAAC,CAAC,MAAnB,CAAf;AACA,QAAM;AAAC,IAAA,YAAD;AAAe,IAAA,WAAf;AAA4B,IAAA;AAA5B,MACF,2BAAc,MAAd,EAAsB,IAAtB,EAA4B,CAAC,CAAC,KAA9B,EAAqC,CAAC,CAAC,KAAvC,CADJ;AAEA,SAAO,CACL,OAAO,CAAC,cAAR,CAAuB,WAAvB,EAAoC,CAAC,CAAC,KAAtC,EAA6C,YAA7C,CADK,EAEL,OAAO,CAAC,cAAR,CAAuB,CAAC,OAAO,CAAC,MAAT,CAAvB,EAAyC,OAAzC,EAAkD,OAAlD,CAFK,CAAP;AAID;;AAEM,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;;AC5BP;;AAIA;;AACA;;AAtBA;;;;;;;;;;;;;;;;AAwBM,SAAU,MAAV,CACF,IADE,EAEuE;AAE3E,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA;AAAD,MAAU,MAAhB;AACA,MAAI;AAAC,IAAA;AAAD,MAAS,KAAb;;AAEA,MAAI,IAAI,GAAG,CAAX,EAAc;AACZ,IAAA,IAAI,IAAI,KAAK,CAAC,KAAN,CAAY,MAApB;AACD;;AAED,QAAM,CAAC,GAAG,KAAV;AACA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;AAEA,QAAM,GAAG,GAAG,KAAK,CAAC,KAAN,CAAY,IAAZ,CAAZ;AACA,QAAM,QAAQ,GAAa,IAAI,KAAJ,CAAU,KAAK,GAAG,CAAlB,CAA3B;AACA,MAAI,QAAQ,GAAG,CAAf;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAApB,EAA2B,CAAC,EAA5B,EAAgC;AAC9B,QAAI,CAAC,KAAK,IAAV,EAAgB;AACd,MAAA,QAAQ,CAAC,QAAQ,EAAT,CAAR,GAAuB,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAvB;AACD;AACF;;AAED,QAAM,SAAS,GAAG,EAAlB;AAEA,QAAM,KAAK,GAAG,IAAI,KAAJ,CAAU,KAAV,EAAiB,IAAjB,CAAsB,CAAtB,CAAd;AACA,QAAM,IAAI,GAAG,CAAC,CAAC,KAAF,CAAQ,KAAR,EAAb;AACA,EAAA,IAAI,CAAC,IAAD,CAAJ,GAAa,CAAb;AACA,QAAM,GAAG,GAAiB,IAAI,KAAJ,CAAU,GAAV,CAA1B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAAG,CAAC,MAAxB,EAAgC,CAAC,EAAjC,EAAqC;AACnC,IAAA,KAAK,CAAC,IAAD,CAAL,GAAc,CAAd;AACA,UAAM,MAAM,GAAG,kBAAM;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,KAAD;AAAQ,QAAA;AAAR;AAA9B,KAAN,CAAf;AACA,UAAM,QAAQ,GACV,sBAAQ;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAsB,MAAA,OAAtB;AAA+B,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE;AAAR;AAAtC,KAAR,CADJ;AAEA,IAAA,GAAG,CAAC,CAAD,CAAH,GAAS,QAAT;AAEA,IAAA,SAAS,CAAC,IAAV,CAAe,MAAf;AACD;;AAED,EAAA,SAAS,CAAC,OAAV,CAAkB,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAAvB;AACA,SAAO,GAAP;AACD;;AAEM,MAAM,YAAY,GAAiB;AACxC,EAAA,UAAU,EAAE,gBAD4B;AAExC,EAAA,WAAW,EAAE,OAF2B;AAGxC,EAAA,UAAU,EAAE;AAH4B,CAAnC;;;;;;;;;;ACpEP;;;;;;;;;;;;;;;;AAoBM,MAAO,gBAAP,CAAuB;AAK3B,EAAA,WAAA,CACI,SADJ,EAEI,SAFJ,EAEmC;AANnC,SAAA,aAAA,GAAgB,CAAC,GAAD,EAAM,YAAN,CAAhB;AAOE,UAAM,UAAU,GAAG,SAAS,CAAC,UAA7B;AACA,UAAM,SAAS,GAAG,SAAS,CAAC,SAA5B;AACA,UAAM,MAAM,GAAG,SAAS,CAAC,MAAzB;AACA,UAAM,WAAW,GAAG,SAAS,CAAC,WAA9B;AACA,UAAM,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC,IAAL,CAAU,MAAM,GAAG,UAAnB,CAA9B;AACA,SAAK,WAAL,GAAmB,CAAC,SAAD,EAAY,OAAZ,CAAnB;AAEA,UAAM,mBAAmB,GAAG,KAA5B;AACA,UAAM,WAAW,GAAG,UAApB;AAEA,UAAM,qBAAqB,GAAG,IAAI,CAAC,KAAL,CAAW,UAAU,GAAG,CAAxB,IAA6B,CAA3D;AACA,UAAM,uBAAuB,GAAG,UAAU,GAAG,CAA7C;AAEA,UAAM,aAAa,GAAG;;KAAtB;AAIA,QAAI,qBAAqB,GAAG,EAA5B;;AACA,QAAI,MAAM,GAAG,UAAT,GAAsB,CAA1B,EAA6B;AAC3B,MAAA,qBAAqB,GAAG;oCACM,MAAM;;;OADpC;AAKD;;AAED,QAAI,yBAAyB,GAAG,EAAhC;;AACA,QAAI,MAAM,GAAG,UAAT,GAAsB,CAA1B,EAA6B;AAC3B,MAAA,yBAAyB,GAAG;oCACE,MAAM;;;OADpC;AAKD;;AAED,SAAK,QAAL,GAAgB;0CACsB,mBAAmB;;;UAGnD,qBAAqB;;;;;UAKrB,yBAAyB;;;;;;;;;YASvB,WAAW,cAAc,UAAU;wDACS,WAAW;;;;8BAIrC,qBAAqB;;;;;;;;;;;;;;;;YAgBvC,aAAa;;;iCAGQ,qBAAqB;cACxC,uBAAuB,KAAK,CAAC;;;;;;;;;;;;;;;;;YAiB/B,aAAa;qBACJ,uBAAuB,KAAK,CAAC;;;;;;;;;;;;;;;YAetC,aAAa;qBACJ,uBAAuB,KAAK,CAAC;;;;;;;;;;;;;;;YAetC,aAAa;;oBAEL,WAAW;;KA9F3B;AAiGD;;AA5I0B;;;;;;;;;;;;ACH7B;;AAGA;;AAEA;;AACA;;AACA;;AACA;;AAzBA;;;;;;;;;;;;;;;;AA2BM,SAAU,kBAAV,CAA6B,IAA7B,EAIL;AACC,QAAM;AAAC,IAAA,MAAD;AAAS,IAAA,OAAT;AAAkB,IAAA;AAAlB,MAA2B,IAAjC;AACA,QAAM;AAAC,IAAA,CAAD;AAAI,IAAA;AAAJ,MAAkB,MAAxB;AACA,QAAM;AAAC,IAAA;AAAD,MAAgB,KAAtB;AAEA,QAAM,KAAK,GAAG,CAAC,CAAC,KAAF,CAAQ,MAAtB;AAEA,QAAM,SAAS,GAAG,EAAlB;AAEA,MAAI,IAAI,GAAG,CAAX;;AACA,QAAM,WAAW,GAAG,uBAAa,kBAAb,CAAgC,CAAC,IAAD,CAAhC,EAAwC,KAAxC,CAApB;;AACA,MAAI,SAAS,GAAG,CAAhB;;AACA,MAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,IAAA,SAAS,GAAG,0BAAU;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA;AAAD,OAAT;AAAc,MAAA,OAAd;AAAuB,MAAA,KAAK,EAAE;AAAC,QAAA,IAAI,EAAE;AAAP;AAA9B,KAAV,CAAZ;AACA,IAAA,SAAS,CAAC,IAAV,CAAe,SAAf;AACA,IAAA,IAAI,GAAG,uBAAa,gBAAb,CAA8B,CAA9B,EAAiC,KAAjC,EAAwC,CAAxC,CAAP;AACD;;AAED,QAAM,QAAQ,GAAG,uBAAa,YAAb,CAA0B,eAA1B,CACb,SAAS,CAAC,KADG,EACI,IADJ,EACU,WADV,CAAjB;;AAEA,QAAM,MAAM,GAAG,eAAK,aAAL,CAAmB,CAAC,SAAS,CAAC,KAAV,CAAgB,IAAhB,CAAD,CAAnB,CAAf;;AACA,QAAM,GAAG,GACL,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAAyB,IAAA,OAAzB;AAAkC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE,CAAC,CAAC,CAAF,EAAK,MAAL;AAAR;AAAzC,GAAR,CADJ;AAEA,EAAA,SAAS,CAAC,IAAV,CAAe,GAAf;AAEA,QAAM,WAAW,GAAG,0BAAW,CAAC,CAAC,KAAb,CAApB;;AAEA,QAAM,YAAY,GACd,CAAC,CAAD,EAAgB,SAAhB,EAAiD,UAAjD,EACC,KADD,EACkB,WADlB,KACqD;AACnD,UAAM,SAAS,GAAG,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAlB;AACA,UAAM,MAAM,GAAG,CAAC,CAAC,KAAF,CAAQ,CAAR,CAAf;;AACA,UAAM,UAAU,GACZ,uBAAa,YAAb,CAA0B,6BAA1B,CACI,MADJ,EACY,WADZ,CADJ;;AAGA,UAAM,SAAS,GAAG;AAAC,MAAA,UAAD;AAAa,MAAA,MAAb;AAAqB,MAAA,SAArB;AAAgC,MAAA;AAAhC,KAAlB;AACA,UAAM,OAAO,GAAG,IAAI,6BAAJ,CAAqB,SAArB,EAAgC,SAAhC,CAAhB;AACA,UAAM,MAAM,GAAG,OAAO,CAAC,aAAR,CAAsB,OAAtB,EAA+B,CAAC,CAAD,EAAI,UAAJ,CAA/B,EAAgD,KAAhD,CAAf;AACA,IAAA,SAAS,CAAC,IAAV,CAAe,MAAf,EATmD,CAUnD;;AACA,QAAI,MAAM,CAAC,KAAP,CAAa,CAAb,MAAoB,WAAxB,EAAqC;AACnC,aAAO,MAAP;AACD;;AACD,UAAM,SAAS,GAAG,kBAAM;AACtB,MAAA,OADsB;AAEtB,MAAA,KAAK,EAAE;AAAC,QAAA,KAAK,EAAE,CAAR;AAAW,QAAA,IAAI,EAAE,WAAjB;AAA8B,QAAA,IAAI,EAAE,CAApC;AAAuC,QAAA,KAAK,EAAE;AAA9C;AAFe,KAAN,CAAlB;AAIA,UAAM,QAAQ,GAAG,gBAAK;AACpB,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OADY;AAEpB,MAAA,OAFoB;AAGpB,MAAA,KAAK,EAAE;AAAC,QAAA,IAAI,EAAE,CAAC,MAAM,GAAG,UAAV;AAAP;AAHa,KAAL,CAAjB;AAMA,IAAA,SAAS,CAAC,IAAV,CAAe,SAAf;AACA,IAAA,SAAS,CAAC,IAAV,CAAe,QAAf;AAEA,UAAM,MAAM,GACR,YAAY,CAAC,MAAD,EAAS,SAAT,EAAoB,QAApB,EAA8B,KAA9B,EAAqC,WAArC,CADhB;AAEA,WAAO,MAAP;AACD,GAhCL;;AAkCA,QAAM,WAAW,GAAG,YAAY,CAC5B,GAD4B,EACvB,oBADuB,EACD,UADC,EACW,WADX,EACwB,WADxB,CAAhC;AAGA,QAAM,QAAQ,GACV,sBAAQ;AAAC,IAAA,MAAM,EAAE;AAAC,MAAA,CAAC,EAAE;AAAJ,KAAT;AAA2B,IAAA,OAA3B;AAAoC,IAAA,KAAK,EAAE;AAAC,MAAA,KAAK,EAAE;AAAR;AAA3C,GAAR,CADJ;AAGA,MAAI,MAAM,GAAG,QAAb;;AACA,MAAI,WAAW,IAAI,IAAnB,EAAyB;AACvB,IAAA,SAAS,CAAC,IAAV,CAAe,QAAf;;AACA,UAAM,IAAI,GAAG,uBAAa,sBAAb,CAAoC,WAApC,CAAb;;AACA,IAAA,MAAM,GAAG,0BAAU;AAAC,MAAA,MAAM,EAAE;AAAC,QAAA,CAAC,EAAE;AAAJ,OAAT;AAAsB,MAAA,OAAtB;AAA+B,MAAA,KAAK,EAAE;AAAC,QAAA;AAAD;AAAtC,KAAV,CAAT;AACD;;AAED,EAAA,SAAS,CAAC,OAAV,CAAkB,CAAC,IAAI,OAAO,CAAC,6BAAR,CAAsC,CAAtC,CAAvB;AACA,SAAO,MAAP;AACD;;AAEM,MAAM,wBAAwB,GAAiB;AACpD,EAAA,UAAU,EAAE,4BADwC;AAEpD,EAAA,WAAW,EAAE,OAFuC;AAGpD,EAAA,UAAU,EAAE;AAHwC,CAA/C;;;;;AC7FP;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAlLA;;;;;;;;;;;;;;;;AAoLA;AACA,MAAM,aAAa,GAAmB,CACpC,cADoC,EAEpC,sBAFoC,EAGpC,+BAHoC,EAIpC,cAJoC,EAKpC,gBALoC,EAMpC,kBANoC,EAOpC,cAPoC,EAQpC,gBARoC,EASpC,cAToC,EAUpC,cAVoC,EAWpC,oBAXoC,EAYpC,oBAZoC,EAapC,gBAboC,EAcpC,kBAdoC,EAepC,kBAfoC,EAgBpC,gBAhBoC,EAiBpC,kBAjBoC,EAkBpC,0BAlBoC,EAmBpC,sBAnBoC,EAoBpC,kCApBoC,EAqBpC,8BArBoC,EAsBpC,8BAtBoC,EAuBpC,0BAvBoC,EAwBpC,oCAxBoC,EAyBpC,wBAzBoC,EA0BpC,gBA1BoC,EA2BpC,gBA3BoC,EA4BpC,8BA5BoC,EA6BpC,4BA7BoC,EA8BpC,sBA9BoC,EA+BpC,oBA/BoC,EAgCpC,gDAhCoC,EAiCpC,8CAjCoC,EAkCpC,oBAlCoC,EAmCpC,mDAnCoC,EAoCpC,+CApCoC,EAqCpC,oBArCoC,EAsCpC,cAtCoC,EAuCpC,gBAvCoC,EAwCpC,kCAxCoC,EAyCpC,oBAzCoC,EA0CpC,kCA1CoC,EA2CpC,gCA3CoC,EA4CpC,8EA5CoC,EA6CpC,4EA7CoC,EA8CpC,kDA9CoC,EA+CpC,gBA/CoC,EAgDpC,4BAhDoC,EAiDpC,oBAjDoC,EAkDpC,cAlDoC,EAmDpC,sBAnDoC,EAoDpC,kBApDoC,EAqDpC,cArDoC,EAsDpC,cAtDoC,EAuDpC,4BAvDoC,EAwDpC,iBAxDoC,EAyDpC,cAzDoC,EA0DpC,gBA1DoC,EA2DpC,kCA3DoC,EA4DpC,kBA5DoC,EA6DpC,wBA7DoC,EA8DpC,4BA9DoC,EA+DpC,8BA/DoC,EAgEpC,gDAhEoC,EAiEpC,wBAjEoC,EAkEpC,uBAlEoC,EAmEpC,sBAnEoC,EAoEpC,gCApEoC,EAqEpC,wBArEoC,EAsEpC,gBAtEoC,EAuEpC,gBAvEoC,EAwEpC,wBAxEoC,EAyEpC,kBAzEoC,EA0EpC,kBA1EoC,EA2EpC,0BA3EoC,EA4EpC,gBA5EoC,EA6EpC,0BA7EoC,EA8EpC,wBA9EoC,EA+EpC,kBA/EoC,EAgFpC,cAhFoC,EAiFpC,4BAjFoC,EAkFpC,4BAlFoC,EAmFpC,0BAnFoC,EAoFpC,cApFoC,EAqFpC,0BArFoC,EAsFpC,sBAtFoC,EAuFpC,kCAvFoC,EAwFpC,8BAxFoC,EAyFpC,0CAzFoC,EA0FpC,sBA1FoC,EA2FpC,gBA3FoC,EA4FpC,cA5FoC,EA6FpC,sBA7FoC,EA8FpC,0BA9FoC,EA+FpC,cA/FoC,EAgGpC,8BAhGoC,EAiGpC,wBAjGoC,EAkGpC,cAlGoC,EAmGpC,6CAnGoC,EAoGpC,8CApGoC,EAqGpC,8CArGoC,EAsGpC,wBAtGoC,EAuGpC,oBAvGoC,EAwGpC,wBAxGoC,EAyGpC,gBAzGoC,EA0GpC,iBA1GoC,EA2GpC,cA3GoC,EA4GpC,kBA5GoC,EA6GpC,gBA7GoC,EA8GpC,kBA9GoC,EA+GpC,gBA/GoC,EAgHpC,sBAhHoC,EAiHpC,4BAjHoC,EAkHpC,kBAlHoC,EAmHpC,gBAnHoC,EAoHpC,sBApHoC,EAqHpC,oCArHoC,EAsHpC,4CAtHoC,EAuHpC,kDAvHoC,EAwHpC,0DAxHoC,EAyHpC,sBAzHoC,EA0HpC,wCA1HoC,EA2HpC,kBA3HoC,EA4HpC,kBA5HoC,EA6HpC,0BA7HoC,EA8HpC,oBA9HoC,EA+HpC,gBA/HoC,EAgIpC,sBAhIoC,EAiIpC,gBAjIoC,EAkIpC,cAlIoC,EAmIpC,gBAnIoC,EAoIpC,kBApIoC,EAqIpC,sBArIoC,EAsIpC,wBAtIoC,EAuIpC,oCAvIoC,EAwIpC,8CAxIoC,EAyIpC,kCAzIoC,EA0IpC,0CA1IoC,EA2IpC,wCA3IoC,EA4IpC,kCA5IoC,EA6IpC,oBA7IoC,EA8IpC,gBA9IoC,EA+IpC,oBA/IoC,EAgJpC,0CAhJoC,EAiJpC,gBAjJoC,EAkJpC,gCAlJoC,EAmJpC,gCAnJoC,EAoJpC,8BApJoC,EAqJpC,oDArJoC,EAsJpC,cAtJoC,EAuJpC,cAvJoC,EAwJpC,cAxJoC,EAyJpC,gBAzJoC,EA0JpC,gBA1JoC,EA2JpC,gBA3JoC,EA4JpC,0BA5JoC,EA6JpC,0BA7JoC,EA8JpC,oBA9JoC,EA+JpC,oBA/JoC,EAgKpC,4CAhKoC,EAiKpC,0BAjKoC,CAAtC;;AAoKA,KAAK,MAAM,YAAX,IAA2B,aAA3B,EAA0C;AACxC,gCAAe,YAAf;AACD;;;;;;;;A1VzUD;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;;;;;;;;;;;kL2VnBA,IAAMxY,EAAK,UAGLyY,EAAW,IACXzY,OACO,EAALA,OACAA,EAAK,SACHA,EAAK,YACJ,IAAMA,YACJ,wBAEA0Y,UACFA,IAAQC,KAAKC,UAAYF,IAXnBE,EAAAA,uBAcJ5c,EAAG+K,8CAEAhH,KAAKE,MAAMF,KAAK8Y,UAAY9R,EAAI/K,IAAMA,EAD/BA,EAAI+D,KAAK8Y,UAAY9R,EAAI/K,4BAI/B8c,EAAQhV,EAAGiV,UACjBJ,KAAKK,WAAWF,EAAShV,EAAGgV,EAAShV,EAAGiV,iCAK7C,KACC,SAA4B,SAAhBhZ,KAAK8Y,UAAyB,GAAGI,SAAS,KAAK/V,OAAO,2CAMjEwV,KAAK5R,mCAAI,EACPoS,EAASnZ,KAAKmQ,IAAI,GAAIpJ,UACrB/G,KAAKE,MAAMyY,EAAMQ,GAAUA,4BAGpBld,UACNA,EAAIgE,EAAM,wBAGV0Y,aACGA,EAAIO,SAAS,kuCCxCPE,0CAaVJ,2CACHJ,KAAKS,QACAC,EAAKC,iBAAiBX,KAAK3c,GAE7B2c,KAAKG,OAGDL,EAASc,eAAeZ,KAAK3c,EAAG2c,KAAK5R,EAAGgS,GAFxCN,EAASO,WAAWL,KAAK3c,EAAG2c,KAAK5R,EAAGgS,0CAqB7B/c,EAAG+K,EAAGrG,UACpB1E,aAAamd,EACRnd,OAEGwd,IAANzS,EACK,IAAIoS,EAAKnd,QAENwd,IAAN9Y,EAAwB,IAAIyY,EAAKnd,EAAG+K,GAC5B,IAAIoS,EAAKnd,EAAG+K,EAAGrG,wCAeb+Y,UACXA,aAAeN,EAAOM,EAAIC,WAAaD,oBA9DpCzd,EAAG+K,EAAG+R,aACZO,EAAKD,QAAQpd,SACVod,SAAU,OACVpd,EAAIA,SAEJod,SAAU,OACVpd,EAAIqd,EAAKM,UAAU3d,EAAG,QACtB+K,EAAIsS,EAAKM,UAAU5S,EAAG4R,KAAK3c,QAC3B8c,OAASO,EAAKM,UAAUb,GAAQ,ICZ3C,eA2BQvgB,KACFA,MACG,IAAIU,EAAI,EAAGA,EAAI,GAAIA,IAAM,KACTV,GAAUU,SAGxBV,EAAS,cAgBFqhB,EAAIC,SACX,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAGD,EAAIC,EAAI,eAcvBC,OACPpZ,EAAIX,KAAKoB,IAAI2Y,GACbje,EAAIkE,KAAKqB,IAAI0Y,SAEV,CAACpZ,GAAI7E,EAAG,EAAGA,EAAG6E,EAAG,EAAG,EAAG,EAAG,eAgBzBqZ,EAAIC,SACL,CAACD,EAAI,EAAG,EAAG,EAAGC,EAAI,EAAG,EAAG,EAAG,eAgBrBhe,EAAG+K,OACZkT,EAAMje,EAAE,GACRke,EAAMle,EAAE,GACRme,EAAMne,EAAE,GACRoe,EAAMpe,EAAE,GACRqe,EAAMre,EAAE,GACRse,EAAMte,EAAE,GACRue,EAAMve,EAAE,GACRwe,EAAMxe,EAAE,GACRye,EAAMze,EAAE,GACR0e,EAAM3T,EAAE,GACR4T,EAAM5T,EAAE,GACR6T,EAAM7T,EAAE,GACR8T,EAAM9T,EAAE,GACR+T,EAAM/T,EAAE,GACRgU,EAAMhU,EAAE,GACRiU,EAAMjU,EAAE,GACRkU,EAAMlU,EAAE,GACRmU,EAAMnU,EAAE,SAEL,CACLkT,EAAMS,EAAMR,EAAMW,EAAMV,EAAMa,EAC9Bf,EAAMU,EAAMT,EAAMY,EAAMX,EAAMc,EAC9BhB,EAAMW,EAAMV,EAAMa,EAAMZ,EAAMe,EAC9Bd,EAAMM,EAAML,EAAMQ,EAAMP,EAAMU,EAC9BZ,EAAMO,EAAMN,EAAMS,EAAMR,EAAMW,EAC9Bb,EAAMQ,EAAMP,EAAMU,EAAMT,EAAMY,EAC9BX,EAAMG,EAAMF,EAAMK,EAAMJ,EAAMO,EAC9BT,EAAMI,EAAMH,EAAMM,EAAML,EAAMQ,EAC9BV,EAAMK,EAAMJ,EAAMO,EAAMN,EAAMS,MClIrB,uBAcAjM,EAAIpR,EAAOC,SAAQqd,mCAAW,WACnCC,EAAMC,SAASC,cAAc,mBAE/BrM,GAAKA,IACLpR,MAAQA,IACRC,OAASA,IACTyd,MAAMC,QAAU,IAChBD,MAAMJ,SAAWA,OAChB9Z,UAAU+Z,GAAM,KAAM,IAAK,EAAG,GAE5BA,sBAGCnM,EAAIpR,EAAOC,OACbsd,EAAMC,SAASC,cAAc,gBAE/BrM,GAAKA,IACLsM,MAAMJ,SAAW,gBAChBM,OAAOL,EAAKvd,EAAOC,GAEjBsd,mBAGFA,EAAKvd,EAAOC,KACbyd,MAAM1d,MAAQA,EAAQ,OACtB0d,MAAMzd,OAASA,EAAS,OACxByd,MAAMG,YAAc7d,EAAQ,EAAI,OAChC0d,MAAMI,WAAa7d,EAAS,EAAI,yBAe5B8d,EAAK7c,EAAGC,EAAG0F,EAAOmX,KACtBN,MAAMO,WAAa,gBACjBza,eAAyBtC,SAAQC,eAAc0F,cAAiBmX,cACjEE,KAAKH,EAAK,YAAava,yBAGlBua,EAAK7c,EAAGC,EAAG0F,EAAOmX,KACxBN,MAAMO,WAAa,YACjBza,iBAA2BtC,SAAQC,kBAAiB0F,cAAiBmX,cACtEE,KAAKH,EAAK,qBAAsB,eAChCG,KAAKH,EAAK,YAAava,kBAGzBua,EAAKI,EAAKC,OACPC,EAAOF,EAAIG,OAAO,GAAGC,cAAgBJ,EAAIK,OAAO,KAElDd,eAAeW,GAAUD,IACzBV,YAAYW,GAAUD,IACtBV,UAAUW,GAAUD,IACpBV,WAAWW,GAAUD,IACrBV,SAASS,GAASC,ICzEpBK,EAAY,GACZC,EAAc,GAChBC,EAAW,aAaAC,EAASje,EAAOke,KACnBC,UAAUne,EAAOke,EAAK3d,EAAG2d,EAAK1d,GAChC4d,EAAYH,EAAQI,aACxBH,EAAK3d,EACL2d,EAAK1d,EACL0d,EAAK7e,MACL6e,EAAK5e,iBAECgf,UAAUJ,EAAK3d,EAAG2d,EAAK1d,EAAG0d,EAAK7e,MAAO6e,EAAK5e,QAE5C8e,cAeOG,EAAKC,EAAUC,OACvBC,EAAqB,iBAARH,EAAmBA,EAAMA,EAAIG,IAE5CZ,EAAUY,KACHZ,EAAUY,GAAMD,KAEnBze,EAAQ,IAAI2e,OACZC,OAAS,cACHF,GAAOvlB,EAAE0lB,SACVf,EAAUY,GAAMD,MAGrBC,IAAMA,eAIGH,EAAKC,EAAUC,OAIxBpf,EAGAyf,EANFJ,EAAMH,EAAIG,WAEXX,EAAYW,KACTrf,EAAQ0f,EAAgBR,EAAIlf,OAC5BC,EAASyf,EAAgBR,EAAIjf,SAE7Bwf,EAASE,EAAQC,uCACIjB,EACzB3e,EACAC,IAEqB4f,WAAW,MAC1Bf,UAAUI,EAAK,EAAG,EAAGA,EAAIlf,MAAOkf,EAAIjf,UAEhCof,GAAOI,MAGTN,EAAST,EAAYW,GAAMD,GAEhCV,EAAYW,MC5ER,oBAUH/gB,EAAOwhB,YACPxhB,MAAAA,EAAwCA,EAAQwhB,oBAclDxhB,SAC2C,mBAA1CpB,OAAO1B,UAAU4f,SAASlhB,KAAKoE,wBAW7ByhB,GACLA,IAAKA,EAAIrlB,OAAS,qBAGhBqlB,UACCjF,KAAKS,QAAQwE,GAAOA,EAAM,CAACA,8BAGnBA,UACVA,EACEA,EAAI7d,KAAKE,MAAM2d,EAAIrlB,OAASwH,KAAK8Y,WADvB,2BAYPgF,SACD7B,EADM8B,mCAAS,SACf9B,KAAO6B,EACVC,IAAiC,EAAvBA,EAAOtX,QAAQwV,WACtB6B,EAAI7B,wBAeJ5gB,KAAatC,mCAAO,YAQpB,IAPJA,EAGiBsC,EAAY2iB,KAAKzkB,MACnC8B,EACA,CAAC,MAAM5C,OAAOM,IAJLsC,0BAqBF4iB,KAAUC,mCAAO,KACvBA,IAEDtF,KAAKuF,QAAQD,EAAM,OAAMD,EAASld,EAAE/B,EAAIkf,EAAA,GACxCtF,KAAKuF,QAAQD,EAAM,OAAMD,EAASld,EAAE9B,EAAIif,EAAA,GAExCtF,KAAKuF,QAAQD,EAAM,QAAOD,EAASpX,EAAE7H,EAAIkf,EAAA,IACzCtF,KAAKuF,QAAQD,EAAM,QAAOD,EAASpX,EAAE5H,EAAIif,EAAA,IAEzCtF,KAAKuF,QAAQD,EAAM,QAAOD,EAAShiB,EAAE+C,EAAIkf,EAAA,IACzCtF,KAAKuF,QAAQD,EAAM,QAAOD,EAAShiB,EAAEgD,EAAIif,EAAA,IAEzCtF,KAAKuF,QAAQD,EAAM,MAAMD,EAASld,EAAEqd,KAAKF,EAAA,GACzCtF,KAAKuF,QAAQD,EAAM,MAAMD,EAASpX,EAAEuX,KAAKF,EAAA,GACzCtF,KAAKuF,QAAQD,EAAM,MAAMD,EAAShiB,EAAEmiB,KAAKF,EAAA,GAEzCtF,KAAKuF,QAAQD,EAAM,aAAaD,EAASld,EAAEqd,KAAKF,EAAA,UAChDtF,KAAKuF,QAAQD,EAAM,aAAaD,EAASpX,EAAEuX,KAAKF,EAAA,UAChDtF,KAAKuF,QAAQD,EAAM,eAAeD,EAAShiB,EAAEmiB,KAAKF,EAAA,+BAGhDZ,EAAQrB,WACTqB,QACkB7D,IAAhB6D,EAAOrB,qBAkBRqB,EAAQe,OACT,IAAIC,KAAQD,EACXf,EAAOniB,eAAemjB,OACjBA,GAAQlF,EAAKmF,aAAaF,EAAMC,YAIpChB,yBAaIZ,EAASje,EAAOke,UACpB6B,EAAqB9B,EAASje,EAAOke,wBAGnCkB,aAAKX,mCAAQ,KAClBhkB,EAAI2kB,EAAIrlB,OAELU,KAAK,OAEJA,GAAGulB,QAAQvB,GACf,MAAOtlB,WAEFimB,EAAI3kB,KAGTV,OAAS,mBAGR8kB,EAAQoB,MACgB,mBAAlB1jB,OAAOQ,cASTR,OAAOQ,OAAO8hB,EAAQoB,OARxB,IAAIzC,KAAOyC,EACV1jB,OAAO1B,UAAU6B,eAAenD,KAAK0mB,EAAQzC,OACxCA,GAAOyC,EAAOzC,WAIlBqB,IC7LPqB,EAAS,GAETC,EAAO,QACH,SACA,eAELC,eACoBpF,IAAjBkF,EAAOE,IAAwC,OAAjBF,EAAOE,KAAgBF,EAAOE,GAAQ,GAC9DA,MAAQF,EAAOE,qBAGrBvB,OACAwB,EAAMlG,KAAKmG,eAAezB,UAC1BwB,cAEUlG,KAAKoG,cACdC,OAAOH,GAAOxB,EAEZwB,4BAGMxB,OACTQ,EAAK5O,aAEJA,KAAM0J,KAAKqG,OAAQ,OAChBrG,KAAKqG,OAAO/P,MAENoO,EAAQ,OAAOpO,KACvB0J,KAAKsG,OAAOpB,EAAKR,IAAWQ,EAAIX,MAAQG,EAAOH,IAAK,OAAOjO,SAG1D,sBAGF4O,EAAKR,SAEO,qBAARQ,gBAAAA,KACW,qBAAXR,gBAAAA,KACPQ,EAAIqB,SACJ7B,EAAO6B,4BAIDL,UACDlG,KAAKqG,OAAOH,KCzBFM,kCA4Bf9B,EAAQ+B,EAAQP,OACd/d,kBACE+d,GAAOxB,EAAOgC,QAAUV,EAAKW,MAAMjC,MAErC1E,KAAK4G,MAAMV,IAAiC,EAAzBlG,KAAK4G,MAAMV,GAAKtmB,OACjCogB,KAAK4G,MAAMV,GAAK/hB,MAEhB6b,KAAK6G,cAAcnC,EAAQ+B,IAG/BC,OAAShC,EAAOgC,QAAUR,EACrB/d,iCAaFuc,UACE1E,KAAK8G,SAASpC,EAAOgC,QAAQnmB,KAAKmkB,yCAgB7BA,EAAQ+B,eACfM,QAED/G,KAAKtd,OACAsd,KAAKtd,OAAOgiB,EAAQ+B,GACA,mBAAX/B,EACThE,EAAKsG,WAAWtC,EAAQ+B,GAExB/B,EAAOuC,+CAcP3Q,EADL4Q,EAAQ,MACH5Q,KAAM0J,KAAK4G,SAAgB5G,KAAK4G,MAAMtQ,GAAI1W,OACnD,OAAOsnB,0CAUF,IAAI5Q,KAAM0J,KAAK4G,WACbA,MAAMtQ,GAAI1W,OAAS,SACjBogB,KAAK4G,MAAMtQ,uCAeb4P,mCAAM,iBACRlG,KAAK4G,MAAMV,KAAMlG,KAAK4G,MAAMV,GAAO,IACjClG,KAAK4G,MAAMV,qBA7GRnG,kBACLgH,MAAQ,OACRH,MAAQ,OCjCIO,qCAUZvE,EAAOwE,QACPC,IAAIzE,EAAOwE,OAEVE,EAAUtH,KAAKuH,aACfC,EAAWxH,KAAKyH,cAClBC,EAAM,UAEF1H,KAAKiG,WACN,KACI,WAAajG,KAAK2H,OAAOC,SAAShoB,OAAS,OAC9C0nB,IAASI,GAAO,YAAcJ,EAAQO,UAAY,QAClDP,IAASI,GAAO,OAAS1H,KAAK8H,cAAcR,eAG7C,EACCA,IACFI,GAAO,eAAiBJ,EAAQS,YAAYnoB,OAAS,QACnD0nB,IACFI,GACE,uCACA1H,KAAKgI,UAAUV,EAAQS,aACvB,eACAT,IAASI,GAAO,cAAgBJ,EAAQW,WAAWroB,OAAS,QAC5D0nB,IACFI,GACE,uCACA1H,KAAKgI,UAAUV,EAAQW,YACvB,0BAGD,EACCT,IAAUE,GAAOF,EAAS5lB,KAAO,QACjC4lB,IAAUE,GAAO,QAAU1H,KAAKkI,iBAAiBV,GAAY,yBAI1D,aAAexH,KAAK2H,OAAOQ,WAAa,UACxC,QAAUnI,KAAK2H,OAAOS,KAAKD,WAAa,UACxC,SAAWnI,KAAK2H,OAAOS,KAAKrB,WAGlCsB,UAAUC,UAAYZ,8BAGzB9E,EAAOwE,kBACJpH,KAAKqI,UAAW,MACdpC,KAAO,OAEPoC,UAAY3F,SAASC,cAAc,YACnC0F,UAAUzF,MAAM2F,QAAU,CAC7B,sDACA,gGACA,6DACAC,KAAK,SAEFH,UAAUI,iBACb,QACA,cACOxC,OACW,EAAZyC,EAAKzC,OAAUyC,EAAKzC,KAAO,KAEjC,OAGE0C,SAAIC,gBACAhG,QACD,IACE,SACG,kBAGL,IACE,SACG,uBAIH,SACG,YAGPyF,UAAUzF,MAAM,oBAAsB+F,OACtCN,UAAUzF,MAAf,MAAgCgG,EAG7B5I,KAAKqI,UAAUQ,eACXzB,GAAQpH,KAAKoH,MAAQ1E,SAAS0E,MAChC0B,YAAY9I,KAAKqI,uDAKjBrI,KAAK2H,OAAOC,SAAS5H,KAAK+I,2DAI1B/I,KAAK2H,OAAOqB,UAAUhJ,KAAKiJ,iDAG1BhE,OACJiE,EAAS,OACRjE,IAAQA,EAAIrlB,OAAQ,OAAOspB,MAE3B,IAAI5oB,EAAI,EAAGA,EAAI2kB,EAAIrlB,OAAQU,QACnB2kB,EAAI3kB,GAAGsB,MAAQ,IAAI8hB,OAAO,EAAG,GAAK,WAGxCwF,2CAGQ1B,UACRA,EAASY,KAAKrB,OAAUS,EAAS2B,OAAS3B,EAAS2B,MAAMpC,OAAU,wCAG9D/nB,UACLoI,KAAK0T,MAAM9b,EAAEmJ,EAAE/B,GAAK,IAAMgB,KAAK0T,MAAM9b,EAAEmJ,EAAE9B,qBA5HtCshB,kBACLA,OAASA,OACTU,UAAY,UACZpC,KAAO,OAEP8C,aAAe,OACfE,cAAgB,MCDJG,+CAqBFnD,EAAMoD,UAChBrJ,KAAKsJ,gBAGHC,oBAAoBtD,EAAMoD,QAF1BC,WAAa,GAKftJ,KAAKsJ,WAAWrD,KAAOjG,KAAKsJ,WAAWrD,GAAQ,SAC/CqD,WAAWrD,GAAM1lB,KAAK8oB,GAEpBA,8CAGWpD,EAAMoD,MACnBrJ,KAAKsJ,YACLtJ,KAAKsJ,WAAWrD,WAEfhB,EAAMjF,KAAKsJ,WAAWrD,GACtBrmB,EAASqlB,EAAIrlB,OAEVU,EAAI,EAAGA,EAAIV,EAAQU,OACtB2kB,EAAI3kB,KAAO+oB,EAAU,CACR,IAAXzpB,SACKogB,KAAKsJ,WAAWrD,KAKnBvP,OAAOpW,EAAG,0DAQE2lB,GACjBA,EACIjG,KAAKsJ,mBAAmBtJ,KAAKsJ,WAAWrD,GADtCjG,KAAKsJ,WAAa,2CAIjBrD,EAAM9lB,OACd+oB,GAAS,EACPvnB,EAAYqe,KAAKsJ,cAEnBrD,GAAQtkB,EAAW,KACjBsjB,EAAMtjB,EAAUskB,OACfhB,EAAK,OAAOiE,UAKbM,SACAlpB,EAAI2kB,EAAIrlB,OACLU,OACK2kB,EAAI3kB,KACL4oB,GAAUM,EAAQrpB,WAItB+oB,2CAGMjD,OACTtkB,EAAYqe,KAAKsJ,oBACb3nB,IAAaA,EAAUskB,mCAjFvBvB,KACHhkB,UAAU+oB,cAAgBL,EAAgB1oB,UAAU+oB,gBAEpD/oB,UAAUgpB,iBACfN,EAAgB1oB,UAAUgpB,mBAErBhpB,UAAU+nB,iBACfW,EAAgB1oB,UAAU+nB,mBAErB/nB,UAAU6oB,oBACfH,EAAgB1oB,UAAU6oB,sBAErB7oB,UAAUipB,wBACfP,EAAgB1oB,UAAUipB,2DAhBvBL,WAAa,SCRDM,wCAKTC,EAAWC,EAAMC,QACpBC,eAAeH,EAAWC,EAAMC,0CAKxB1E,EAAUyE,EAAMC,GACxB1E,EAAS4E,UACHC,IAAI/hB,EAAEqd,KAAKH,EAASld,KACpB+hB,IAAIjc,EAAEuX,KAAKH,EAASpX,KAEpB5K,EAAE8mB,eAAe,EAAI9E,EAAS+E,QAC9Bnc,EAAEoZ,IAAIhC,EAAShiB,EAAE8mB,eAAeL,MAChC3hB,EAAEkf,IAAIhC,EAAS6E,IAAIjc,EAAEkc,eAAeL,IAEzCC,GAAS1E,EAASpX,EAAEkc,eAAeJ,KAE9B1mB,EAAEgnB,2BArBHpE,kBACLA,KAAOA,MCKKqE,0CA8EPC,KACHC,KAAKxK,WACPgJ,UAAUzoB,KAAKgqB,0CASPA,OACPE,EAAQzK,KAAKgJ,UAAUnb,QAAQ0c,QAChCvB,UAAUtS,OAAO+T,EAAO,KACtB3T,OAAOkJ,yCAYLsH,QACJM,SAASrnB,KAAK+mB,MACXoD,OAAS1K,MAEZyJ,cAAca,EAAOK,cAAerD,yCAY7BA,OACNmD,EAAQzK,KAAK4H,SAAS/Z,QAAQyZ,QAC/BM,SAASlR,OAAO+T,EAAO,KACpBC,OAAS,UAEZjB,cAAca,EAAOM,gBAAiBtD,oCAYzB,SAAdtH,KAAK6K,WACFpB,cAAca,EAAOQ,eAEtBR,EAAOS,WACJ/K,KAAKvc,OAAMuc,KAAKvc,MAAO,IAAIunB,MAAOC,gBAClCC,KAAM,IAAIF,MAAOC,eACjBE,QAAmC,MAAxBnL,KAAKkL,IAAMlL,KAAKvc,WAE3B2nB,qBAEc,EAAfpL,KAAKmL,SAAanL,KAAKqL,eAAerL,KAAKmL,cAC1C1nB,KAAOuc,KAAKkL,UAEZG,eAAef,EAAOgB,uBAGxB7B,cAAca,EAAOiB,uBAKrBvL,KAAKvc,OAAMuc,KAAKvc,MAAO,IAAIunB,MAAOC,gBAClCC,KAAM,IAAIF,MAAOC,eACjBE,QAAmC,MAAxBnL,KAAKkL,IAAMlL,KAAKvc,MAE5Buc,KAAKmL,QAAUnL,KAAKwL,iBACjB/B,cAAca,EAAOQ,oBACrBO,eAAerL,KAAKwL,gBAEpB/nB,KAAOuc,KAAKkL,IAAOlL,KAAKmL,QAAUnL,KAAKwL,UAAa,SACpD/B,cAAca,EAAOiB,8DAKjBJ,WACT7qB,EAAI0f,KAAK4H,SAAShoB,OACfU,UAAUsnB,SAAStnB,GAAGmrB,OAAON,gDAW/Bb,EAAOc,oBACO,GAAfpL,KAAKmL,eACF1nB,MAAO,IAAIunB,MAAOC,eAClBE,QAAU,8CAYbpE,EAAQ,EACRzmB,EAAI0f,KAAK4H,SAAShoB,OAEfU,QAAc0f,KAAK4H,SAAStnB,GAAGupB,UAAUjqB,OAChD,OAAOmnB,oDAIH8C,EAAY,GACZvpB,EAAI0f,KAAK4H,SAAShoB,OAEfU,OAAiBupB,EAAUhqB,OAAOmgB,KAAK4H,SAAStnB,GAAGupB,WAC1D,OAAOA,iDAIF6B,WAAW1L,KAAK4H,6CAWA,SAAf+D,MACC7B,KAAO,IACPrmB,KAAO,IACP2kB,KAAKvC,YAEL6F,WAAWhD,EAAKd,YAChB8D,WAAWhD,EAAKM,UAAWN,EAAKkD,2EAI1BD,EAAc,mCAlLrBE,QACDhB,KAAOgB,OACPL,UACK,SAARK,EAAiBvB,EAAOgB,iBAAmBxL,EAASxY,MAAM,EAAIukB,EAAK,0BAI9D7L,KAAK6K,uBA1BFiB,kBACLlE,SAAW,QACXoB,UAAY,QAEZc,KAAO,OACPoB,IAAM,OACNznB,KAAO,OACP0nB,QAAU,OAEVY,MAAQ,IAAI5E,EAAMnH,WAClBoI,KAAO,IAAI5B,EAAK,SAEhBsF,gBAAkBpL,EAAKM,UAAU8K,EAAiBxB,EAAO0B,YACzDC,WAAa,IAAIrC,EAAY5J,KAAK8L,sBAElCjB,KAAO,YACPW,UAAYlB,EAAOgB,iBAxDPhB,EACZS,WAAY,EADAT,EAIZ4B,QAAU,IAJE5B,EAKZ0B,MAAQ,QALI1B,EAMZ6B,IAAM,eANM7B,EASZ8B,iBAAmB,mBATP9B,EAUZ+B,gBAAkB,kBAVN/B,EAWZgC,eAAiB,iBAXLhC,EAYZiC,cAAgB,gBAZJjC,EAcZK,cAAgB,gBAdJL,EAeZM,gBAAkB,kBAfNN,EAiBZQ,cAAgB,gBAjBJR,EAkBZiB,oBAAsB,sBAlBVjB,EAmBZgB,iBAAmB,MAnBPhB,EAqBZc,oBAAqB,IA+NdhG,KAAKkF,OC3PAkC,2CAQZ1pB,EAAI,SACJkL,EAAI,SACJI,EAAI,4BATCtL,yDAAI,IAAKkL,yDAAI,IAAKI,yDAAI,mBAC3BtL,EAAIA,OACJkL,EAAIA,OACJI,EAAIA,ECFb,MAAe,qBACF5K,UACFA,uBAGEA,UACF4D,KAAKmQ,IAAI/T,EAAO,yBAGbA,WACD4D,KAAKmQ,IAAI/T,EAAQ,EAAG,GAAK,2BAGtBA,UACPA,GAAS,IAAO,EAAU,GAAM4D,KAAKmQ,IAAI/T,EAAO,IAE7C,KAAQA,GAAS,GAAKA,EAAQ,yBAG5BA,UACH4D,KAAKmQ,IAAI/T,EAAO,0BAGZA,UACJ4D,KAAKmQ,IAAI/T,EAAQ,EAAG,GAAK,2BAGnBA,UACRA,GAAS,IAAO,EAAU,GAAM4D,KAAKmQ,IAAI/T,EAAO,GAE9C,IAAO4D,KAAKmQ,IAAI/T,EAAQ,EAAG,GAAK,yBAG7BA,UACH4D,KAAKmQ,IAAI/T,EAAO,0BAGZA,WACF4D,KAAKmQ,IAAI/T,EAAQ,EAAG,GAAK,4BAGrBA,UACRA,GAAS,IAAO,EAAU,GAAM4D,KAAKmQ,IAAI/T,EAAO,IAE7C,KAAQA,GAAS,GAAK4D,KAAKmQ,IAAI/T,EAAO,GAAK,wBAG1CA,UACiC,EAAlC4D,KAAKoB,IAAIhF,EAAQsc,EAAS2M,4BAGxBjpB,UACH4D,KAAKqB,IAAIjF,EAAQsc,EAAS2M,8BAGrBjpB,UACJ,IAAO4D,KAAKoB,IAAIpB,KAAKC,GAAK7D,GAAS,wBAGlCA,UACQ,IAAVA,EAAc,EAAI4D,KAAKmQ,IAAI,EAAG,IAAM/T,EAAQ,0BAGzCA,UACO,IAAVA,EAAc,EAAgC,EAA3B4D,KAAKmQ,IAAI,GAAI,GAAK/T,2BAGhCA,UACE,IAAVA,EAAoB,EAEV,IAAVA,EAAoB,GAEnBA,GAAS,IAAO,EAAU,GAAM4D,KAAKmQ,IAAI,EAAG,IAAM/T,EAAQ,IAExD,IAAqC,EAA7B4D,KAAKmQ,IAAI,GAAI,KAAO/T,yBAG1BA,WACA4D,KAAKkF,KAAK,EAAI9I,EAAQA,GAAS,yBAG9BA,UACH4D,KAAKkF,KAAK,EAAIlF,KAAKmQ,IAAI/T,EAAQ,EAAG,4BAG7BA,UACPA,GAAS,IAAO,GAAW,IAAO4D,KAAKkF,KAAK,EAAI9I,EAAQA,GAAS,GAC/D,IAAO4D,KAAKkF,KAAK,GAAK9I,GAAS,GAAKA,GAAS,wBAG3CA,UAEFA,EAAQA,GAAS,QAAUA,EAD1B,+BAIEA,WAEFA,EAAqBA,GAAS,QAAUA,EADxC,SACqD,0BAGjDA,OACRN,EAAI,eACHM,GAAS,IAAO,EACLA,EAAQA,IAAyB,GAAdN,GAAK,QAAcM,EAAQN,GAArD,GACF,KAAQM,GAAS,GAAKA,IAAyB,GAAdN,GAAK,QAAcM,EAAQN,GAAK,uBAGhEwpB,SACY,mBAATA,EAA4BA,EAC3B1M,KAAK0M,IAAS1M,KAAK2M,aC7GdC,kCAMfxmB,EAAGC,eACAD,EAAIA,OACJC,EAAIA,EACF2Z,kCAGJ5Z,eACEA,EAAIA,EACF4Z,kCAGJ3Z,eACEA,EAAIA,EACF2Z,kDAIQ,IAAXA,KAAK5Z,EAAgBgB,KAAKqF,MAAMuT,KAAK3Z,EAAG2Z,KAAK5Z,GAC/B,EAAT4Z,KAAK3Z,EAAcyZ,EAAS2M,KAC5BzM,KAAK3Z,EAAI,GAAWyZ,EAAS2M,UAAjC,+BAGFxe,eACE7H,EAAI6H,EAAE7H,OACNC,EAAI4H,EAAE5H,EAEJ2Z,iCAGL/R,EAAGC,eACK2S,IAAN3S,EACK8R,KAAK6M,WAAW5e,EAAGC,SAGvB9H,GAAK6H,EAAE7H,OACPC,GAAK4H,EAAE5H,EAEL2Z,oCAGH3c,EAAG+K,eACFhI,GAAK/C,OACLgD,GAAK+H,EAEH4R,wCAGE3c,EAAG+K,eACPhI,EAAI/C,EAAE+C,EAAIgI,EAAEhI,OACZC,EAAIhD,EAAEgD,EAAI+H,EAAE/H,EAEV2Z,iCAGL/R,EAAGC,eACK2S,IAAN3S,EACK8R,KAAK8M,WAAW7e,EAAGC,SAGvB9H,GAAK6H,EAAE7H,OACPC,GAAK4H,EAAE5H,EAEL2Z,yCAGE3c,EAAG+K,eACPhI,EAAI/C,EAAE+C,EAAIgI,EAAEhI,OACZC,EAAIhD,EAAEgD,EAAI+H,EAAE/H,EAEV2Z,0CAGI9c,UACD,IAANA,QACGkD,GAAKlD,OACLmD,GAAKnD,QAEL+X,IAAI,EAAG,GAGP+E,4CAGM9c,eACRkD,GAAKlD,OACLmD,GAAKnD,EAEH8c,6CAIAA,KAAKmK,gBAAgB,+BAG1Blc,UACK+R,KAAK5Z,EAAI6H,EAAE7H,EAAI4Z,KAAK3Z,EAAI4H,EAAE5H,4CAI1B2Z,KAAK5Z,EAAI4Z,KAAK5Z,EAAI4Z,KAAK3Z,EAAI2Z,KAAK3Z,0CAIhCe,KAAKkF,KAAK0T,KAAK5Z,EAAI4Z,KAAK5Z,EAAI4Z,KAAK3Z,EAAI2Z,KAAK3Z,8CAI1C2Z,KAAK+M,aAAa/M,KAAKpgB,6CAGrBqO,UACF7G,KAAKkF,KAAK0T,KAAKgN,kBAAkB/e,mCAGnCgf,OACC7mB,EAAI4Z,KAAK5Z,EACTC,EAAI2Z,KAAK3Z,cAEVD,EAAIA,EAAIgB,KAAKoB,IAAIykB,GAAO5mB,EAAIe,KAAKqB,IAAIwkB,QACrC5mB,GAAKD,EAAIgB,KAAKqB,IAAIwkB,GAAO5mB,EAAIe,KAAKoB,IAAIykB,GAEpCjN,+CAGS/R,OACVlE,EAAKiW,KAAK5Z,EAAI6H,EAAE7H,EAChB8mB,EAAKlN,KAAK3Z,EAAI4H,EAAE5H,SAEf0D,EAAKA,EAAKmjB,EAAKA,+BAGnBjf,EAAGlF,eACD3C,IAAM6H,EAAE7H,EAAI4Z,KAAK5Z,GAAK2C,OACtB1C,IAAM4H,EAAE5H,EAAI2Z,KAAK3Z,GAAK0C,EAEpBiX,oCAGF/R,UACEA,EAAE7H,IAAM4Z,KAAK5Z,GAAK6H,EAAE5H,IAAM2Z,KAAK3Z,8CAIjCD,EAAI,OACJC,EAAI,EACF2Z,4CAIA,IAAI4M,EAAS5M,KAAK5Z,EAAG4Z,KAAK3Z,qBA1JvBD,EAAGC,kBACRD,EAAIA,GAAK,OACTC,EAAIA,GAAK,ECFlB,IAOqB8mB,oDA0DV/lB,KAAKqF,MAAMuT,KAAK/R,EAAE7H,GAAI4Z,KAAK/R,EAAE5H,GAAKyZ,EAASsN,oDAI7CC,KAAOpN,EAAAA,OACPqN,IAAM,OAENC,MAAO,OACPtD,OAAQ,OACR7C,KAAO,UACPoG,OAAS,UACT9C,OAAS,UAET+C,OAAS,OACTrD,KAAO,OACPsD,OAAS,QACT3kB,MAAQ,OACRgD,MAAQ,OACR7D,SAAW,OACX0gB,MAAQ,UAERzgB,EAAE8S,IAAI,EAAG,QACThN,EAAEgN,IAAI,EAAG,QACT5X,EAAE4X,IAAI,EAAG,QACTiP,IAAI/hB,EAAE8S,IAAI,EAAG,QACbiP,IAAIjc,EAAEgN,IAAI,EAAG,QACbiP,IAAI7mB,EAAE4X,IAAI,EAAG,QACb0S,OAASjB,EAAKC,gBAEdiB,IAAI9mB,UACJ+mB,YAAY7N,KAAKjQ,WACjB+d,sBAEE9N,oCAGF8J,EAAMW,GACNzK,KAAKiK,aACHqD,KAAOxD,OACPiE,gBAAgBjE,EAAMW,IAGzBzK,KAAKsN,IAAMtN,KAAKqN,MACZthB,EAAQiU,KAAK2N,OAAO3N,KAAKsN,IAAMtN,KAAKqN,WACrCI,OAASrmB,KAAKgG,IAAI,EAAIrB,EAAO,SAE7B8Z,kDAIOiE,EAAMW,WACd7qB,EAASogB,KAAKiI,WAAWroB,OAC3BU,SAECA,EAAI,EAAGA,EAAIV,EAAQU,SACjB2nB,WAAW3nB,IACd0f,KAAKiI,WAAW3nB,GAAG0tB,eAAehO,KAAM8J,EAAMW,wCAOvCwD,QACNhG,WAAW1nB,KAAK0tB,GAEjBA,EAAU1rB,eAAe,YAAY0rB,EAAUC,QAAQ3tB,KAAKyf,QACtDjZ,WAAWiZ,4CAMTiI,WACNroB,EAASqoB,EAAWroB,OACtBU,SAECA,EAAI,EAAGA,EAAIV,EAAQU,SACjB6tB,aAAalG,EAAW3nB,4CAIjB2tB,GACRxD,EAAQzK,KAAKiI,WAAWpa,QAAQogB,IAEzB,EAATxD,IACgBzK,KAAKiI,WAAWvR,OAAO+T,EAAO,GACtCyD,QAAU,sDAKjBE,WAAWpO,KAAKiI,mDAQhB6F,2BACAL,OAAS,OACTF,MAAO,OACP7C,OAAS,uBAhIJpF,kBA/BZhP,GAAK,QAGL4T,IAAM,QAGNna,KAAO,QAGPkY,WAAa,QAGb9f,EAAI,QAGJ8F,EAAI,QAGJ5K,EAAI,QAGJuqB,IAAM,QAgBChsB,KAAO,gBACP0U,GAAK0P,EAAK1P,GAAG0J,KAAKpe,WAClBsoB,IAAM,QACNna,KAAO,QACPkY,WAAa,QAEb9f,EAAI,IAAIykB,OACR3e,EAAI,IAAI2e,OACRvpB,EAAI,IAAIupB,OACR1C,IAAI/hB,EAAI,IAAIykB,OACZ1C,IAAIjc,EAAI,IAAI2e,OACZ1C,IAAI7mB,EAAI,IAAIupB,OAEZgB,IAAM,IAAIpB,OACV1lB,WACG4Z,EAAK2N,QAAQrO,KAAMsF,GChE/B,MAAe,mBAiBJniB,GACDmrB,EAAwB,MAAhBnrB,EAAEqgB,OAAO,GAAargB,EAAEorB,UAAU,EAAG,GAAKprB,QAKjD,CAAEL,EAJC0rB,SAASF,EAAMC,UAAU,EAAG,GAAI,IAI9BvgB,EAHFwgB,SAASF,EAAMC,UAAU,EAAG,GAAI,IAG3BngB,EAFLogB,SAASF,EAAMC,UAAU,EAAG,GAAI,wBAenCE,gBACOA,EAAI3rB,OAAM2rB,EAAIzgB,OAAMygB,EAAIrgB,qCAGnBjG,UACM,MAAlB6E,OAAO7E,EAAEylB,IAAI9qB,GAA+B,IAAlBkK,OAAO7E,EAAEylB,IAAI5f,GAAWhB,OAAO7E,EAAEylB,IAAIxf,KCvCrDsgB,kCAMf5rB,EAAGmqB,eACAnqB,EAAIA,OACJmqB,IAAMA,EACJjN,kCAGJld,eACEA,EAAIA,EACFkd,oCAGFiN,eACAA,IAAMA,EACJjN,kCAGJ7X,eACErF,EAAIqF,EAAErF,OACNmqB,IAAM9kB,EAAE8kB,IACNjN,+CAIA,IAAI4M,EAAS5M,KAAK2O,OAAQ3O,KAAK4O,8CAI/B5O,KAAKld,EAAIsE,KAAKqB,IAAIuX,KAAKiN,2CAItBjN,KAAKld,EAAIsE,KAAKoB,IAAIwX,KAAKiN,qDAI1BnqB,EAAI,EACFkd,oCAGF/R,UACEA,EAAEnL,IAAMkd,KAAKld,GAAKmL,EAAEgf,MAAQjN,KAAKiN,gDAInCnqB,EAAI,OACJmqB,IAAM,EACJjN,4CAIA,IAAI0O,EAAQ1O,KAAKld,EAAGkd,KAAKiN,uBAvDtBnqB,EAAGmqB,kBACRnqB,EAAIsE,KAAK8C,IAAIpH,IAAM,OACnBmqB,IAAMA,GAAO,ECLtB,IAAM4B,EAAO,iBACJC,OACCC,EAAM,IAAIlQ,aAAa,UACzBiQ,GAAM9O,KAAK/E,IAAI6T,EAAMC,GAElBA,gBAGLC,EAAMC,OACH,IAAI3uB,EAAI,EAAGA,EAAI,EAAGA,MAAUA,GAAK0uB,EAAK1uB,GAE3C,OAAO2uB,qBAGAF,EAAKE,EAAMH,OACdxN,EAAMyN,EAAI,GACZxN,EAAMwN,EAAI,GACVvN,EAAMuN,EAAI,GACVtN,EAAMsN,EAAI,GACVrN,EAAMqN,EAAI,GACVnN,EAAMmN,EAAI,GACVlN,EAAMkN,EAAI,GACVhN,EAAMkN,EAAK,GACXjN,EAAMiN,EAAK,GACXhN,EAAMgN,EAAK,GACX/M,EAAM+M,EAAK,GACX9M,EAAM8M,EAAK,GACX5M,EAAM4M,EAAK,GACX3M,EAAM2M,EAAK,YAER,GAAKlN,EAAMT,EAAMU,EAAMP,IACvB,GAAKM,EAAMR,EAAMS,EAAMN,IACvB,GAAKF,EAAMS,IACX,GAAKC,EAAMZ,EAAMa,EAAMV,IACvB,GAAKS,EAAMX,EAAMY,EAAMT,IACvB,GAAKW,EAAMf,EAAMgB,EAAMb,EAAMG,IAC7B,GAAKS,EAAMd,EAAMe,EAAMZ,EAAMG,EAE3BiN,oBAGDC,EAAKD,OACPxN,EAAMyN,EAAI,GACZxN,EAAMwN,EAAI,GACVtN,EAAMsN,EAAI,GACVrN,EAAMqN,EAAI,GACVnN,EAAMmN,EAAI,GACVlN,EAAMkN,EAAI,GAEV5M,GAAOV,EACPa,EAAMT,EAAMJ,EAAMC,EAAME,IAIrB,GAHCN,EAHEI,EAGUH,EAAMY,YAInB,GAPGT,EAOQpL,IACX,IAAMiL,EAAMjL,IACZ,GAAK6L,EAAM7L,IACX,GAAKgL,EAAMhL,IACX,GAAKgM,EAAMhM,IACX,KAAOuL,EAAMP,EAAMC,EAAMK,GAAOtL,EAE9BwY,yBAGI/gB,EAAGmhB,EAAKJ,OACf1oB,EAAI8oB,EAAI,GACV7oB,EAAI6oB,EAAI,YAEL,GAAK9oB,EAAI2H,EAAE,GAAK1H,EAAI0H,EAAE,GAAKA,EAAE,KAC7B,GAAK3H,EAAI2H,EAAE,GAAK1H,EAAI0H,EAAE,GAAKA,EAAE,GAE3B+gB,ICpEUK,OAAkB3O,6CAO7B8C,EAAM5C,EAAKC,iBAAiBX,KAAKoP,YACxB,WAAR9L,GAA4B,WAARA,EAAmBxD,EAASuP,cAAgB/L,4CAclD2B,UAChBA,EAEDA,aAAekK,EAAkBlK,EACzB,IAAIkK,EAAUlK,GAHT,uBAtBP2D,uFAELwG,KAAO1O,EAAK4O,QAAQ1G,SCPR2G,uCAYVnpB,EAAGC,UACND,GAAK4Z,KAAKxb,OAAS4B,GAAK4Z,KAAK5Z,GAAKC,GAAK2Z,KAAK3X,QAAUhC,GAAK2Z,KAAK3Z,oBAZ1DD,EAAGC,EAAG6H,EAAG/K,kBACdiD,EAAIA,OACJC,EAAIA,OAEJnB,MAAQgJ,OACR/I,OAAShC,OAETkF,OAAS2X,KAAK3Z,EAAI2Z,KAAK7a,YACvBX,MAAQwb,KAAK5Z,EAAI4Z,KAAK9a,UCNVsqB,0CAsBZC,UAAY,OACZC,SAAW1P,KAAK2P,QAAQ5O,4CAGtB+I,eACF2F,WAAa3F,EAEd9J,KAAKyP,WAAazP,KAAK0P,eACpBD,UAAY,OACZC,SAAW1P,KAAK2P,QAAQ5O,WAEP,IAAlBf,KAAK4P,OAAOxhB,EACoB,GAA9B4R,KAAK4P,OAAO7O,UAAS,GAAqB,EAClC,EAELf,KAAK4P,OAAO7O,UAAS,IAIzB,oBA7BG8O,EAAQC,kBACbF,OAASpP,EAAKuP,aAAarP,EAAKM,UAAU6O,EAAQ,SAClDF,QAAUnP,EAAKuP,aAAarP,EAAKM,UAAU8O,EAAS,SAEpDL,UAAY,OACZC,SAAW,OACXlF,WCrBYwF,qEAGd1I,EAASjC,GACRA,OACGte,WAAWse,QAEXte,WAAWugB,8ECJD2I,SAAaD,0CAQrBtL,GACL1E,KAAKkQ,QAAQ7sB,IAAM4c,EAAAA,EAAUyE,EAAO2I,KAAOpN,EAAAA,EAC1CyE,EAAO2I,KAAOrN,KAAKkQ,QAAQnP,+BATtB1d,EAAG+K,EAAGrG,0FAGXmoB,QAAU1P,EAAKuP,aAAa1sB,EAAG+K,EAAGrG,KAClCnG,KAAO,aCNKuuB,yHAEZC,OAAS,IAAIxD,EAAS,EAAG,QACzB1M,OAAS,OACTmQ,UAAY,YACZC,OAAQ,MCLIC,SAAkBJ,0DAS9BC,OAAOhqB,EAAI4Z,KAAK5Z,OAChBgqB,OAAO/pB,EAAI2Z,KAAK3Z,EAEd2Z,KAAKoQ,0CAIRpQ,KAAKsQ,gBACCE,MAAM,2DACTF,OAAQ,uBAjBLlqB,EAAGC,0FAGRD,EAAIA,IACJC,EAAIA,QCHQoqB,SAAiBT,qCAO9BU,QACCA,KAAOhQ,EAAKM,UAAU0P,EAAM,IAAIH,uCAG5B7L,QACJgM,KAAKC,gBAEHxoB,EAAE/B,EAAI4Z,KAAK0Q,KAAKN,OAAOhqB,IACvB+B,EAAE9B,EAAI2Z,KAAK0Q,KAAKN,OAAO/pB,sBAdpBqqB,0FAELA,KAAOhQ,EAAKM,UAAU0P,EAAM,IAAIH,MAChC3uB,KAAO,iBCDKgvB,SAAiBZ,qCAW9Ba,EAAMC,EAAQ7K,QACb8K,KAAOvQ,EAAKuP,aAAac,QACzBG,OAASxQ,EAAKuP,aAAae,QAC3B7K,KAAOvF,EAAKM,UAAUiF,EAAM,oDAGjBgL,UACTA,EAAK3G,EAAO4B,2CAGVxH,OAEDwM,EADU,MAAdlR,KAAKiG,MAA8B,MAAdjG,KAAKiG,MAA8B,UAAdjG,KAAKiG,MAC3CiL,EAAU,IAAIxC,EAClB1O,KAAKmR,kBAAkBnR,KAAK+Q,KAAKhQ,YACjCf,KAAKgR,OAAOjQ,WAAajB,EAASsR,UAG7BnjB,EAAE7H,EAAI8qB,EAAQvC,SACd1gB,EAAE5H,EAAI6qB,EAAQtC,WAEd3gB,EAAE7H,EAAI4Z,KAAKmR,kBAAkBnR,KAAK+Q,KAAKhQ,cACvC9S,EAAE5H,EAAI2Z,KAAKmR,kBAAkBnR,KAAKgR,OAAOjQ,iCA/BxC8P,EAAMC,EAAQ7K,0FAGnB8K,KAAOvQ,EAAKuP,aAAac,KACzBG,OAASxQ,EAAKuP,aAAae,KAC3B7K,KAAOvF,EAAKM,UAAUiF,EAAM,YAE5BrkB,KAAO,iBCZKyvB,SAAarB,0CAOrBtL,KACF0F,KAAOpK,KAAKsR,QAAQvQ,+BAPjB1d,EAAG+K,EAAGrG,0FAEXupB,QAAU9Q,EAAKuP,aAAa1sB,EAAG+K,EAAGrG,KAClCnG,KAAO,aCJK2vB,SAAevB,qCAQ5B3sB,EAAG+K,EAAGrG,QACL2lB,OAASlN,EAAKuP,aAAa1sB,EAAG+K,EAAGrG,sCAG7Bsd,KACAqI,OAAS1N,KAAK0N,OAAO3M,aACrBhR,KAAKyhB,UAAYnM,EAASqI,2BAbzBrqB,EAAG+K,EAAGrG,0FAEX2lB,OAASlN,EAAKuP,aAAa1sB,EAAG+K,EAAGrG,KAEjCnG,KAAO,eCJK6vB,SAAazB,0CAUrB3K,OACHqM,EAAc1R,KAAKna,MAAMkb,aAGpBqG,KADgB,iBAAhBsK,EACO,OACP1R,KAAK9R,SACJ8R,KAAK7c,MACRuuB,WACI,SACF,GAGOA,uCAIP7rB,UACJA,aAAiBspB,EAAYtpB,EAAQ,IAAIspB,EAAUtpB,uBA1BhDA,EAAOqI,EAAG/K,0FAGf0C,MAAQ6iB,EAAKqH,aAAalqB,KAC1BqI,EAAIwS,EAAKM,UAAU9S,EAAG,MACtB/K,EAAIud,EAAKM,UAAU7d,EAAGulB,EAAKxa,KAC3BtM,KAAO,aCPK+vB,sCA8CXtE,EAAMM,QACHN,KAAO3M,EAAKM,UAAUqM,EAAMpN,EAAAA,QAC5B0N,OAASjB,EAAKkF,UAAUjE,0CAYlBkE,UACJA,EAAM1H,eAAeG,EAAO4B,gDAYxB1oB,UACJA,EAAQ8mB,EAAO4B,gFAyBhB7G,EAAUyE,QACXwD,KAAOxD,EAER9J,KAAKsN,KAAOtN,KAAKqN,MAAQrN,KAAKuN,WACzBE,OAAS,OACTF,MAAO,OACP1H,YAEC9Z,EAAQiU,KAAK2N,OAAOtI,EAASiI,IAAMjI,EAASgI,WAC7CI,OAASrmB,KAAKgG,IAAI,EAAIrB,EAAO,8CAYlCzL,EAAI0f,KAAKkO,QAAQtuB,OACdU,UACE4tB,QAAQ5tB,GAAGwxB,gBAAgB9R,WAG/BkO,QAAQtuB,OAAS,sBAvGdytB,EAAMM,mBAETN,KAAO3M,EAAKM,UAAUqM,EAAMpN,EAAAA,QAC5B0N,OAASjB,EAAKkF,UAAUjE,QAExBL,IAAM,OACNG,OAAS,OACTF,MAAO,OACPW,QAAU,QAEV5X,gBAAkBqb,GAAUrb,UAC5B1U,KAAO,YAjCC+vB,GACVrb,GAAK,MCFKyb,SAAcJ,sCAkC5BK,EAAIC,EAAI5E,EAAMM,QACdkE,MAAQ7R,KAAKkS,eAAe,IAAItF,EAASoF,EAAIC,6FAE9B5E,EAAMM,0CAcZtI,EAAUyE,EAAMW,QACzB0H,UAAU9M,EAAUyE,EAAMW,KACtBpnB,EAAEgkB,IAAIrH,KAAK6R,2BAtCTG,EAAIC,EAAI5E,EAAMM,2EACnBN,EAAMM,aAEPkE,MAAQnJ,EAAKwJ,eAAe,IAAItF,EAASoF,EAAIC,MAC7CrwB,KAAO,cClBOwwB,SAAmBT,sCAsDhCU,EAAgBR,EAAOnE,EAAQL,EAAMM,QACpC0E,eAAiB3R,EAAKM,UAAUqR,EAAgB,IAAIzF,QACpDc,OAAShN,EAAKM,UAAU0M,EAAQ,UAChCmE,MAAQnR,EAAKM,UAAUhB,KAAKsS,eAAeT,GAAQ,UAEnDU,SAAWvS,KAAK0N,OAAS1N,KAAK0N,YAC9B8E,gBAAkB,IAAI5F,OACtB6F,SAAW,2FAEIpF,EAAMM,0CAcbtI,EAAUyE,EAAMW,QACxB0H,UAAU9M,EAAUyE,EAAMW,QAE1B+H,gBAAgBhN,KAAKxF,KAAKqS,qBAC1BG,gBAAgBE,IAAIrN,EAASld,QAC7BsqB,SAAWzS,KAAKwS,gBAAgBC,WAEjB,KAAhBzS,KAAKyS,UAAsBzS,KAAKyS,SAAWzS,KAAKuS,gBAC7CC,gBAAgBG,iBAChBH,gBAAgBrI,eAAe,EAAInK,KAAKyS,SAAWzS,KAAKuS,eACxDC,gBAAgBrI,eAAenK,KAAK6R,SAEhCxuB,EAAEgkB,IAAIrH,KAAKwS,sCAhEZH,EAAgBR,EAAOnE,EAAQL,EAAMM,2EACzCN,EAAMM,aAEP0E,eAAiB3R,EAAKM,UAAUqR,EAAgB,IAAIzF,KACpDc,OAAShN,EAAKM,UAAU0M,EAAQ,OAChCmE,MAAQnR,EAAKM,UAAU0H,EAAK4J,eAAeT,GAAQ,OAEnDU,SAAW7J,EAAKgF,OAAShF,EAAKgF,SAC9B8E,gBAAkB,IAAI5F,IACtB6F,SAAW,IAEX7wB,KAAO,mBCpCKgxB,SAAoBjB,sCAqCjCkB,EAAQC,EAAQC,EAAO1F,EAAMM,QAC5BqF,QAAU,IAAIpG,EAASiG,EAAQC,QAC/BE,QAAUhT,KAAKkS,eAAelS,KAAKgT,cACnCD,MAAQA,2FAEO1F,EAAMM,sCAGjBtI,KACAtV,KAAK+Z,KAAO,yCAcRzE,EAAUyE,EAAMW,QACxB0H,UAAU9M,EAAUyE,EAAMW,KACtB1a,KAAK+Z,MAAQA,EAElBzE,EAAStV,KAAK+Z,MAAQ9J,KAAK+S,UACpB1vB,EAAE4vB,MACTnT,EAASO,YAAYL,KAAKgT,QAAQ5sB,EAAG4Z,KAAKgT,QAAQ5sB,GAClD0Z,EAASO,YAAYL,KAAKgT,QAAQ3sB,EAAG2Z,KAAKgT,QAAQ3sB,MAG3C0J,KAAK+Z,KAAO,uBAtDb+I,EAAQC,EAAQC,EAAO1F,EAAMM,2EACjCN,EAAMM,aAEP7mB,MAAM+rB,EAAQC,EAAQC,KACtBjJ,KAAO,IACPloB,KAAO,oBCvBKsxB,SAAgBnB,sCA8B9B/jB,EAAGqf,EAAMM,yFACF,EAAG3f,EAAGqf,EAAMM,uBAjBb3f,EAAGqf,EAAMM,2EACd,EAAG3f,EAAGqf,EAAMM,aACb/rB,KAAO,gBCdOuxB,SAAkBxB,sCAgDhCrK,EAAS8C,EAAM/F,EAAUgJ,EAAMM,QAC/BrG,QAAU5G,EAAKM,UAAUsG,EAAS,WAClC8C,KAAO1J,EAAKM,UAAUoJ,GAAM,QAC5B/F,SAAW3D,EAAKM,UAAUqD,EAAU,WAEpC+O,cAAgB,QAChBC,MAAQ,IAAIzG,2FAEGS,EAAMM,0CAcZtI,EAAUyE,EAAMW,WAK1BgI,EACAa,EACAC,EACAC,EAAcC,EAWVvoB,EAlBFwoB,GAAU1T,KAAKsH,QAAUtH,KAAKsH,QAAQuC,UAAyB7J,KAAKoI,MAApB7d,MAAMkgB,GACtD7qB,EAAS8zB,EAAQ9zB,OAEnB+zB,SAKArzB,SAECA,EAAI,EAAGA,EAAIV,EAAQU,IAAK,IACZozB,EAAQpzB,MAEF+kB,SAChBgO,MAAM7N,KAAKmO,EAAcxrB,QACzBkrB,MAAMX,IAAIrN,EAASld,MAEb6X,KAAKqT,MAAMZ,cAChBvnB,EAAWma,EAASqI,OAASiG,EAAcjG,QAEtBxiB,MAChBA,EAAW9D,KAAKkF,KAAKmmB,MACpB,KAECpN,EAAS+E,KAAOuJ,EAAcvJ,OAC3BpK,KAAKoK,KAAOuJ,EAAcvJ,KAAOmJ,EAAY,KAC7CvT,KAAKoK,KAAO/E,EAAS+E,KAAOmJ,EAAY,KAE9CprB,EAAEkf,IAAIrH,KAAKqT,MAAMpM,QAAQ0L,YAAYxI,eAAemJ,GAAWE,MAC1DrrB,EAAEkf,IAAIrH,KAAKqT,MAAMV,YAAYxI,eAAemJ,EAAUG,SAE/DpP,UAAYrE,KAAKqE,SAASgB,EAAUsO,0BA5EjCrM,EAAS8C,EAAM/F,EAAUgJ,EAAMM,2EACpCN,EAAMM,aAEP7mB,MAAMwgB,EAAS8C,EAAM/F,KACrBziB,KAAO,kBC/BOgyB,SAAkBjC,sCAoC7BjB,EAAML,EAAWhD,EAAMM,QACpB+C,KAAOA,OACPA,KAAKL,UAAY3P,EAAKM,UAAUqP,EAAW,iGAE5BhD,EAAMM,0CAcftI,EAAUyE,EAAMW,QACtB0H,UAAU9M,EAAUyE,EAAMW,QAC1BiG,KAAKmD,SAASxO,uBAvCXqL,EAAML,EAAWhD,EAAMM,2EACzBN,EAAMM,aAEP7mB,MAAM4pB,EAAML,KACZzuB,KAAO,kBCpBCkyB,SAAcnC,sCAqC3BtuB,EAAG+K,EAAGif,EAAMM,QACXoG,KAAO3lB,MAAAA,OACP/K,EAAImd,EAAKuP,aAAarP,EAAKM,UAAU3d,EAAG,SACxC+K,EAAIoS,EAAKuP,aAAa3hB,4FAEPif,EAAMM,sCAYjBtI,KACAtV,KAAKikB,OAAShU,KAAK3c,EAAE0d,WAE1Bf,KAAK+T,KAAM1O,EAAStV,KAAKkkB,OAAS5O,EAAStV,KAAKikB,OAC/C3O,EAAStV,KAAKkkB,OAASjU,KAAK5R,EAAE2S,kDAYtBsE,EAAUyE,EAAMW,QACxB0H,UAAU9M,EAAUyE,EAAMW,KAEtB1hB,MACPsc,EAAStV,KAAKkkB,QACb5O,EAAStV,KAAKikB,OAAS3O,EAAStV,KAAKkkB,QAAUjU,KAAKyN,OAEnDpI,EAAStc,MAAQ,OAAOsc,EAAStc,MAAQ,uBA7DnC1F,EAAG+K,EAAGif,EAAMM,2EAChBN,EAAMM,aAEP7mB,MAAMzD,EAAG+K,KACTxM,KAAO,cCpBKsyB,SAAcvC,sCAoC5BtuB,EAAG+K,EAAGif,EAAMM,QACZoG,KAAO3lB,MAAAA,OACP/K,EAAImd,EAAKuP,aAAarP,EAAKM,UAAU3d,EAAG,SACxC+K,EAAIoS,EAAKuP,aAAa3hB,4FAEPif,EAAMM,sCAYhBtI,KACDtV,KAAKokB,OAASnU,KAAK3c,EAAE0d,aACrBhR,KAAKyhB,UAAYnM,EAASqI,SAC1B3d,KAAKqkB,OAASpU,KAAK+T,KAAO1O,EAAStV,KAAKokB,OAASnU,KAAK5R,EAAE2S,kDAcnDsE,EAAUyE,EAAMW,QACzB0H,UAAU9M,EAAUyE,EAAMW,KACtB1e,MAAQsZ,EAAStV,KAAKqkB,QAAU/O,EAAStV,KAAKokB,OAAS9O,EAAStV,KAAKqkB,QAAUpU,KAAKyN,OAEzFpI,EAAStZ,MAAQ,OAAQsZ,EAAStZ,MAAQ,KACrC2hB,OAASrI,EAAStV,KAAKyhB,UAAYnM,EAAStZ,0BA1D1C1I,EAAG+K,EAAGif,EAAMM,2EACjBN,EAAMM,aAEP7mB,MAAMzD,EAAG+K,KACTxM,KAAO,cCrBOyyB,SAAe1C,sCAwC7BtuB,EAAG+K,EAAGwU,EAAOyK,EAAMM,QACnBoG,KAAO3lB,MAAAA,OAEP/K,EAAImd,EAAKuP,aAAarP,EAAKM,UAAU3d,EAAG,kBACxC+K,EAAIoS,EAAKuP,aAAarP,EAAKM,UAAU5S,EAAG,SACxCwU,MAAQlC,EAAKM,UAAU4B,EAAO,+FAEfyK,EAAMM,sCAYhBtI,KACDnd,SAAW8X,KAAK3c,EAAE0d,aAClBhR,KAAKukB,UAAYtU,KAAK3c,EAAE0d,WAE5Bf,KAAK+T,OAAM1O,EAAStV,KAAKwkB,UAAYvU,KAAK5R,EAAE2S,mDAcnCsE,EAAUyE,EAAMW,QACzB0H,UAAU9M,EAAUyE,EAAMW,GAE1BzK,KAAK+T,KAMc,MAAb/T,KAAK3c,EAAEA,GAA0B,aAAb2c,KAAK3c,EAAEA,GAAiC,MAAb2c,KAAK3c,EAAEA,MAEvD6E,SAAWmd,EAASmP,gBAPV,OAAfxU,KAAK4C,OAAiC,OAAf5C,KAAK4C,OAAiC,MAAf5C,KAAK4C,QAC7C1a,UAAYmd,EAAStV,KAAKwkB,WAAalP,EAAStV,KAAKukB,UAAYjP,EAAStV,KAAKwkB,WAAavU,KAAKyN,SAEjGvlB,UAAYmd,EAAStV,KAAKwkB,8BAlE1BE,EAAWrmB,EAAGwU,EAAOyK,EAAMM,2EAChCN,EAAMM,aAEP7mB,MAAM2tB,EAAWrmB,EAAGwU,KACpBhhB,KAAO,eCtBO8yB,SAAc/C,sCAiC3BtuB,EAAG+K,EAAGif,EAAMM,QACXtqB,EAAI8rB,EAAUwF,gBAAgBtxB,QAC9B+K,EAAI+gB,EAAUwF,gBAAgBvmB,4FACfif,EAAMM,sCAYjBtI,KACAuD,MAAQ5I,KAAK3c,EAAE0d,aACfhR,KAAK6kB,OAASC,EAAUC,SAASzP,EAASuD,OAE/C5I,KAAK5R,IAAGiX,EAAStV,KAAKglB,OAASF,EAAUC,SAAS9U,KAAK5R,EAAE2S,oDAchDsE,EAAUyE,EAAMW,GACzBzK,KAAK5R,QACF+jB,UAAU9M,EAAUyE,EAAMW,KAEtBmD,IAAI9qB,EACXuiB,EAAStV,KAAKglB,OAAOjyB,GACpBuiB,EAAStV,KAAK6kB,OAAO9xB,EAAIuiB,EAAStV,KAAKglB,OAAOjyB,GAAKkd,KAAKyN,SAClDG,IAAI5f,EACXqX,EAAStV,KAAKglB,OAAO/mB,GACpBqX,EAAStV,KAAK6kB,OAAO5mB,EAAIqX,EAAStV,KAAKglB,OAAO/mB,GAAKgS,KAAKyN,SAClDG,IAAIxf,EACXiX,EAAStV,KAAKglB,OAAO3mB,GACpBiX,EAAStV,KAAK6kB,OAAOxmB,EAAIiX,EAAStV,KAAKglB,OAAO3mB,GAAK4R,KAAKyN,SAElDG,IAAI9qB,EAAIsE,KAAKE,MAAM+d,EAASuI,IAAI9qB,KAChC8qB,IAAI5f,EAAI5G,KAAKE,MAAM+d,EAASuI,IAAI5f,KAChC4f,IAAIxf,EAAIhH,KAAKE,MAAM+d,EAASuI,IAAIxf,OAEhCwf,IAAI9qB,EAAIuiB,EAAStV,KAAK6kB,OAAO9xB,IAC7B8qB,IAAI5f,EAAIqX,EAAStV,KAAK6kB,OAAO5mB,IAC7B4f,IAAIxf,EAAIiX,EAAStV,KAAK6kB,OAAOxmB,uBAxE9B/K,EAAG+K,EAAGif,EAAMM,2EAChBN,EAAMM,aAEP7mB,MAAMzD,EAAG+K,KACTxM,KAAO,UCjBhB,IAAMozB,GAAW,WAEIC,SAAgBtD,iDAoBlBuD,EAAOrD,QACjBA,MAAQmD,QACRE,MAAQpV,EAASzY,GAAK,EAEb,UAAV6tB,OACGA,MAAQpV,EAASzY,GAAK,EACR,SAAV6tB,OACJA,OAASpV,EAASzY,GAAK,EACT,WAAV6tB,OACJA,MAAQ,SACJA,aAAiB1U,QACrB0U,MAAQ,YACRC,KAAOD,GACHA,SACJA,MAAQA,GAImB,aAAhCE,OAAOvD,GAAOwD,eACkB,UAAhCD,OAAOvD,GAAOwD,eACkB,SAAhCD,OAAOvD,GAAOwD,mBAETxD,MAAQmD,GACJnD,SACJA,MAAQA,iCAgBXqD,EAAOrD,EAAOxE,EAAMM,QACnBuH,MAAQpV,EAASzY,GAAK,OACtBiuB,iBAAiBJ,EAAOrD,4FACTxE,EAAMM,sCAGjBtI,GACU,WAAfrF,KAAKkV,QACEnlB,KAAKwlB,OAASzV,EAASO,YAAYP,EAASzY,GAAIyY,EAASzY,IAC1C,SAAf2Y,KAAKkV,UACLnlB,KAAKwlB,OAASvV,KAAKmV,KAAKpU,cAG1BhR,KAAKylB,QAAU,IAAI5I,EAAS,EAAG,0CAc3BvH,EAAUyE,EAAMW,QACxB0H,UAAU9M,EAAUyE,EAAMW,GAE3B7qB,SACA61B,EAAWpQ,EAASpX,EAAEynB,cACP,WAAf1V,KAAKkV,OAAqC,SAAflV,KAAKkV,SACtB7P,EAAStV,KAAKwlB,UAEdvV,KAAKkV,QAGflV,KAAK6R,QAAUmD,GACR3P,EAASpX,EAAErO,SAAW,IAEtBogB,KAAK6R,QAGP9hB,KAAKylB,QAAQpvB,EAAIxG,EAASwH,KAAKoB,IAAIitB,KACnC1lB,KAAKylB,QAAQnvB,EAAIzG,EAASwH,KAAKqB,IAAIgtB,KACnC1lB,KAAKylB,QAAUxV,KAAKkS,eAAe7M,EAAStV,KAAKylB,WACjDnyB,EAAEgkB,IAAIhC,EAAStV,KAAKylB,6BA7FnBN,EAAOrD,EAAOxE,EAAMM,2EACxBN,EAAMM,aACP2H,iBAAiBJ,EAAOrD,KACxBjwB,KAAO,gBCtBK+zB,SAAkBvD,sCA2ChCC,EAAgBR,EAAOnE,EAAQL,EAAMM,yFAC9B0E,EAAgBR,EAAOnE,EAAQL,EAAMM,QAC5CkE,QAAU,sBAxBJQ,EAAgBR,EAAOnE,EAAQL,EAAMM,2EAC1C0E,EAAgBR,EAAOnE,EAAQL,EAAMM,aAEtCkE,QAAU,IACVjwB,KAAO,kBCvBOg0B,SAAoBjE,sCAqClCkE,EAAahE,EAAOxE,EAAMM,QAC1BmI,YAAc,IAAIlJ,OAClBiJ,YAAcnV,EAAKM,UAAU6U,EAAa,IAAIjJ,QAC9CiF,MAAQnR,EAAKM,UAAUhB,KAAKsS,eAAeT,GAAQ,8FAEpCxE,EAAMM,gFAoBZtI,EAAUyE,QACnBgM,YAAY7a,IAAI+E,KAAK6V,YAAYzvB,EAAIif,EAASld,EAAE/B,EAAG4Z,KAAK6V,YAAYxvB,EAAIgf,EAASld,EAAE9B,OAKjF0vB,EAJDC,EAAahW,KAAK8V,YAAYrD,WAEjB,IAAfuD,IACG9qB,EAAW8U,KAAK8V,YAAYl2B,SAC5Bm2B,EAAU/V,KAAK6R,MAAQ/H,GAASkM,EAAa9qB,KAE1C+C,EAAE7H,GAAK2vB,EAAS/V,KAAK8V,YAAY1vB,IACjC6H,EAAE5H,GAAK0vB,EAAS/V,KAAK8V,YAAYzvB,uBAxDhCwvB,EAAahE,EAAOxE,EAAMM,2EAC/BN,EAAMM,aAEPmI,YAAc,IAAIlJ,IAClBiJ,YAAcnV,EAAKM,UAAU6U,EAAa,IAAIjJ,KAC9CiF,MAAQnR,EAAKM,UAAU0H,EAAK4J,eAAeT,GAAQ,OAEnDjwB,KAAO,gBCtBd,OAAe,qBACF0lB,EAASjC,EAAU0C,WACtBnoB,EAASmoB,EAAYnoB,OACvBU,SAECA,EAAI,EAAGA,EAAIV,EAAQU,IAClBynB,EAAYznB,aAAc0vB,IAChB1vB,GAAGkqB,KAAKlD,EAASjC,QAExBmF,KAAKlD,EAASjC,EAAU0C,EAAYznB,SAIxC21B,YAAY3O,EAASjC,kBAIvBiC,EAASjC,EAAUte,KACjBsnB,QAAQhJ,EAAUte,KAClBmvB,aAAa7Q,EAAUte,yBAGlBugB,EAASjC,GACfiC,EAAQ2O,gBACD9tB,EAAEkf,IAAIC,EAAQnf,KACd8F,EAAEoZ,IAAIC,EAAQrZ,KACd5K,EAAEgkB,IAAIC,EAAQjkB,KAEd4K,EAAEiV,OAAOpD,EAASqW,gBAAgB7O,EAAQpf,cCxBpCkuB,SAAgBjJ,oCA2D9BkJ,EAAWhJ,QACTiJ,QAAS,OACTC,SAAW,OACXF,UAAY3V,EAAKM,UAAUqV,EAAWpW,EAAAA,IAE9B,IAAToN,GAA0B,SAATA,GAA4B,YAATA,OACjCA,KAAqB,SAAdgJ,EAAuB,EAAIrW,KAAKqW,UAClCG,MAAMnJ,UACXA,KAAOA,QAGToJ,KAAKjM,2CAQL6L,WAAa,OACbE,SAAW,OACXD,QAAS,kCAGRxM,OACF4M,EAAY1W,KAAKsW,OACjBK,EAAc3W,KAAKuW,SACnBK,EAAe5W,KAAKqW,eAEnBC,QAAS,OACTC,SAAW,OACXF,UAAYvM,OACZ2M,KAAKjM,YAEG,MACNV,MADM,WAGN2B,OAHM,YAMR6K,OAASI,OACTH,SAAWI,EAAcvvB,KAAKgG,IAAI0c,EAAM,QACxCuM,UAAYO,uDAQbt2B,EAAI0f,KAAK6J,UAAUjqB,OAChBU,UAAUupB,UAAUvpB,GAAGitB,MAAO,4CAOrBxmB,GACZA,EAAA,OACSyjB,KAAKxK,WAEX6W,6EAWQC,iDACXx2B,EAAIw2B,EAAKl3B,OACNU,UAAUynB,YAAYxnB,KAAKu2B,EAAKx2B,6CAQxBy2B,GACTtM,EAAQzK,KAAK+H,YAAYla,QAAQkpB,IAC1B,EAATtM,GAAYzK,KAAK+H,YAAYrR,OAAO+T,EAAO,qDAQ1C2D,WAAWpO,KAAK+H,+EAUP+O,iDACVx2B,EAAID,UAAUT,OACXU,KAAK,KACN2tB,EAAY6I,EAAKx2B,QAChB2nB,WAAW1nB,KAAK0tB,GACjBA,EAAUC,SAASD,EAAUC,QAAQ3tB,KAAKyf,+CASlCiO,OACVxD,EAAQzK,KAAKiI,WAAWpa,QAAQogB,eAC/BhG,WAAWvR,OAAO+T,EAAO,GAE1BwD,EAAUC,YACJD,EAAUC,QAAQrgB,QAAQogB,KACxBC,QAAQxX,OAAO+T,EAAO,IAG3BA,kDAQF2D,WAAWpO,KAAKiI,2CAIhB6B,QACAwD,KAAOxD,GACR9J,KAAKsN,KAAOtN,KAAKqN,MAAQrN,KAAKuN,OAAMvN,KAAK6F,eAExCmR,SAASlN,QACTmN,UAAUnN,qCAGPA,MACH9J,KAAK0K,YAEJX,EAAU,EAAI/J,KAAK+J,aACpBW,OAAOuB,WAAWkG,UAAUnS,KAAM8J,EAAMC,WAGzCzpB,SAAG+kB,SAEF/kB,EAHU0f,KAAK6J,UAAUjqB,OAGZ,EAAQ,GAALU,EAAQA,OAChB0f,KAAK6J,UAAUvpB,IAGjBmrB,OAAO3B,EAAMxpB,QACjBoqB,OAAOuB,WAAWkG,UAAU9M,EAAUyE,EAAMC,QAC5CmN,SAAS,kBAAmB7R,GAG7BA,EAASkI,YACN2J,SAAS,gBAAiB7R,QAE1BqF,OAAOtC,KAAK+O,OAAO9R,QACnBwE,UAAUnT,OAAOpW,EAAG,sCAKtB82B,EAAO1S,QACTgG,QAAU1K,KAAK0K,OAAOjB,cAAc2N,EAAO1S,QAC3C2S,WAAarX,KAAKyJ,cAAc2N,EAAO1S,oCAGrCoF,MACgB,SAAnB9J,KAAKqW,UAAsB,KACzB/1B,SACEV,EAASogB,KAAKyW,KAAK1V,SAAS,WAErB,EAATnhB,IAAYogB,KAAK6H,UAAYjoB,GAC5BU,EAAI,EAAGA,EAAIV,EAAQU,SAAUg3B,iBAClCtX,KAAKqW,UAAY,oBAEZE,UAAYzM,EAEb9J,KAAKuW,SAAWvW,KAAKqW,UAAW,KAC5Bz2B,EAASogB,KAAKyW,KAAK1V,SAAS+I,GAC9BxpB,aAES,EAATV,IAAYogB,KAAK6H,UAAYjoB,GAC5BU,EAAI,EAAGA,EAAIV,EAAQU,SAAUg3B,yDAWzBvwB,EAAYknB,OACnB5I,EAAWrF,KAAK0K,OAAOtC,KAAKvZ,IAAIse,eACjCoK,cAAclS,EAAUte,EAAYknB,QACpCiJ,SAAS,mBAAoB7R,GAE3BA,wCAGKA,EAAUte,EAAYknB,OAC9BlG,EAAc/H,KAAK+H,YACnBE,EAAajI,KAAKiI,WAElBlhB,IAAYghB,EAAcrH,EAAK4O,QAAQvoB,IACvCknB,IAAWhG,EAAavH,EAAK4O,QAAQrB,MAEhCnnB,WACMC,WAAWiZ,KAAMqF,EAAU0C,KACjCyP,cAAcvP,MACdyC,OAAS1K,MAEb6J,UAAUtpB,KAAK8kB,yCAIfoS,SACA/L,WAAW1L,KAAK6J,kDAQhB0D,MAAO,OACPzW,cACA4gB,6BACA5J,2BACApD,QAAU1K,KAAK0K,OAAOiN,cAAc3X,gCA/R/BsF,yDAAO,2EACXA,aAEDuE,UAAY,KACZ5B,WAAa,KACbF,YAAc,KAEdwO,SAAW,IACX1O,UAAY,IACZwO,WAAa,IAQbtM,QAAU,OAQVkM,aAAc,IAQdQ,KAAO,IAAIjH,EAAK,EAAG,MAEnB5tB,KAAO,YACP0U,GAAK0P,EAAK1P,GAAGoS,EAAK9mB,UA+PXwjB,KAAKgR,QCvTAwB,SAAyBxB,8EAsBxBU,iDACdx2B,SACFV,EAASk3B,EAAKl3B,OAEXU,EAAI,EAAGA,EAAIV,EAAQU,IAAK,KACvB2tB,EAAY6I,EAAKx2B,QAChBu3B,eAAet3B,KAAK0tB,KACflnB,WAAWiZ,mDASLiO,GACZxD,EAAQzK,KAAK6X,eAAehqB,QAAQogB,IAC7B,EAATxD,GAAYzK,KAAK6X,eAAenhB,OAAO+T,EAAO,kCAG7CX,6FACQA,IAER9J,KAAKiK,cACFrqB,EAASogB,KAAK6X,eAAej4B,OAC/BU,SAECA,EAAI,EAAGA,EAAIV,EAAQU,SACjBu3B,eAAev3B,GAAG0tB,eAAehO,KAAM8J,EAAMxpB,uBA1C5CglB,2EACJA,aAEDuS,eAAiB,SCXLC,SAAsB1B,mEAwBlC2B,iBAAmB,mBAAKC,EAAKC,UAAU74B,KAAK44B,EAAMh5B,SAClDk5B,iBAAmB,mBAAKF,EAAKG,UAAU/4B,KAAK44B,EAAMh5B,SAClDo5B,eAAiB,mBAAKJ,EAAKK,QAAQj5B,KAAK44B,EAAMh5B,SAE9Cs5B,YAAY7P,iBACf,YACAzI,KAAK+X,kBACL,uCASGQ,gBAAiB,sCAQjBA,gBAAiB,oCAGdv5B,GACJA,EAAEw5B,QAAuB,IAAbx5B,EAAEw5B,aACXrwB,EAAE/B,IAAMpH,EAAEw5B,OAASxY,KAAK7X,EAAE/B,GAAK4Z,KAAK0M,UACpCvkB,EAAE9B,IAAMrH,EAAEy5B,OAASzY,KAAK7X,EAAE9B,GAAK2Z,KAAK0M,OAChC1tB,EAAE05B,SAAyB,IAAd15B,EAAE05B,eACnBvwB,EAAE/B,IAAMpH,EAAE05B,QAAU1Y,KAAK7X,EAAE/B,GAAK4Z,KAAK0M,UACrCvkB,EAAE9B,IAAMrH,EAAE25B,QAAU3Y,KAAK7X,EAAE9B,GAAK2Z,KAAK0M,MAGxC1M,KAAKuY,gBAAgBK,qFAAW,wIAS/BN,YAAY/O,oBACf,YACAvJ,KAAK+X,kBACL,uBA3DQO,EAAa5L,EAAMpH,2EACvBA,aAEDgT,YAAc5X,EAAKM,UAAUsX,EAAaztB,UAC1C6hB,KAAOhM,EAAKM,UAAU0L,EAAM,MAE5B6L,gBAAiB,IACjBM,yBCrBYC,+CAWPlQ,mCAAQ,UAAWmQ,mCAAY,OAChCC,OAAS,CAAEpQ,QAAOmQ,mEAIlBE,qBAAuB,aACnBC,eAAe95B,KAAKspB,SAGxByQ,0BAA4B,aACxBC,oBAAoBh6B,KAAKspB,SAG7B2Q,qBAAuB,cACnBC,eAAel6B,KAAKspB,EAAMpB,SAG9BiS,uBAAyB,cACrBC,iBAAiBp6B,KAAKspB,EAAMpB,SAGhCmS,wBAA0B,cACtBC,kBAAkBt6B,KAAKspB,EAAMrD,SAGjCsU,uBAAyB,cACrBC,iBAAiBx6B,KAAKspB,EAAMrD,SAGhCwU,qBAAuB,cACnBC,eAAe16B,KAAKspB,EAAMrD,iCAIlCsC,SACI+C,OAAS/C,GAEPc,iBAAiB,gBAAiBzI,KAAKiZ,wBACvCxQ,iBACH,sBACAzI,KAAKmZ,6BAGF1Q,iBAAiB,gBAAiBzI,KAAKqZ,wBACvC5Q,iBAAiB,kBAAmBzI,KAAKuZ,0BAEzC9Q,iBACH,mBACAzI,KAAKyZ,2BAEFhR,iBAAiB,kBAAmBzI,KAAK2Z,0BACzClR,iBAAiB,gBAAiBzI,KAAK6Z,+FAMzC/iB,+CAIA4T,OAAOnB,oBACR,gBACAvJ,KAAKiZ,2BAEJvO,OAAOnB,oBACR,sBACAvJ,KAAKmZ,gCAGJzO,OAAOnB,oBACR,gBACAvJ,KAAKqZ,2BAEJ3O,OAAOnB,oBACR,kBACAvJ,KAAKuZ,6BAGJ7O,OAAOnB,oBACR,mBACAvJ,KAAKyZ,8BAEJ/O,OAAOnB,oBACR,kBACAvJ,KAAK2Z,6BAEJjP,OAAOnB,oBACR,gBACAvJ,KAAK6Z,2BAGJnP,OAAS,2UAtGNqP,EAASf,mBACZ5Q,KAAO,IAAI5B,OACXuT,QAAUA,OACVf,OAASA,OACTgB,WAAa,CAAEC,UAAU,QAEzBC,mBACAt4B,KAAO,mBCLCu4B,SAAuBrB,uCAUjC5zB,EAAOC,QACL40B,QAAQ70B,MAAQA,OAChB60B,QAAQ50B,OAASA,gDAIjB2e,QAAQK,UAAU,EAAG,EAAGnE,KAAK+Z,QAAQ70B,MAAO8a,KAAK+Z,QAAQ50B,kDAGhDkgB,GACVA,EAAS+B,OACe/B,EAAS+B,KAAMpH,KAAKoa,YAAa/U,KAEhDuD,MAAQvD,EAASuD,OAAS,mDAI1BvD,GACTA,EAAS+B,KACL/B,EAAS+B,gBAAgB5C,OAAOxE,KAAKgE,UAAUqB,QAE9CgV,WAAWhV,0CAITA,KACF+B,KAAO,yCAIRhD,EAAKiB,KACJ+B,KAAOhD,oCAIViB,OAUIiV,EATJpsB,EAAKmX,EAAS+B,KAAKliB,MAAQmgB,EAAStZ,MAAS,EAC7C5I,EAAKkiB,EAAS+B,KAAKjiB,OAASkgB,EAAStZ,MAAS,EAC9C3F,EAAIif,EAASld,EAAE/B,EAAI8H,EAAI,EACvB7H,EAAIgf,EAASld,EAAE9B,EAAIlD,EAAI,EAEvBkiB,EAASuD,OACNvD,EAAStV,KAAT,SACDsV,EAAStV,KAAKpB,OAASqR,KAAKua,aAAalV,EAAS+B,QAEhDkT,EAAajV,EAAStV,KAAKpB,OAAOoW,WAAW,OACxCZ,UACP,EACA,EACAkB,EAAStV,KAAKpB,OAAOzJ,MACrBmgB,EAAStV,KAAKpB,OAAOxJ,UAEdq1B,YAAcnV,EAAStc,QACvBib,UAAUqB,EAAS+B,KAAM,EAAG,KAE5BqT,yBAA2B,gBAC3BC,UAAY7F,EAAU8F,SAAStV,EAASuI,OACxCgN,SACP,EACA,EACAvV,EAAStV,KAAKpB,OAAOzJ,MACrBmgB,EAAStV,KAAKpB,OAAOxJ,UAEds1B,yBAA2B,gBAC3BD,YAAc,OAEpB1W,QAAQE,UACTqB,EAAStV,KAAKpB,OACd,EACA,EACA0W,EAAStV,KAAKpB,OAAOzJ,MACrBmgB,EAAStV,KAAKpB,OAAOxJ,OACrBiB,EACAC,EACA6H,EACA/K,UAGC2gB,QAAQ+W,YAER/W,QAAQ0W,YAAcnV,EAAStc,WAC/B+a,QAAQgX,UAAUzV,EAASld,EAAE/B,EAAGif,EAASld,EAAE9B,QAC3Cyd,QAAQZ,OAAOpD,EAASqW,gBAAgB9Q,EAASnd,gBACjD4b,QAAQgX,WAAWzV,EAASld,EAAE/B,GAAIif,EAASld,EAAE9B,QAC7Cyd,QAAQE,UACTqB,EAAS+B,KACT,EACA,EACA/B,EAAS+B,KAAKliB,MACdmgB,EAAS+B,KAAKjiB,OACdiB,EACAC,EACA6H,EACA/K,QAGC2gB,QAAQ0W,YAAc,OACtB1W,QAAQiX,8CAKV1V,GACHA,EAASuI,SACJ9J,QAAQ4W,kBAAoBrV,EAASuI,IAAI9qB,MAAKuiB,EAASuI,IAAI5f,MAAKqX,EAASuI,IAAIxf,MAAKiX,EAAStc,eAE3F+a,QAAQ4W,UAAYrV,EAASuD,WAIjC9E,QAAQkX,iBACRlX,QAAQmX,IACT5V,EAASld,EAAE/B,EACXif,EAASld,EAAE9B,EACXgf,EAASqI,OACT,EACU,EAAVtmB,KAAKC,IACL,GAGA2Y,KAAKgZ,cACAlV,QAAQoX,YAAclb,KAAKgZ,OAAOpQ,WAClC9E,QAAQqX,UAAYnb,KAAKgZ,OAAOD,eAChCjV,QAAQkV,eAGZlV,QAAQsX,iBACRtX,QAAQuX,4CAIJx1B,MACLA,aAAiB2e,MAAO,KAClBlU,EAAOzK,EAAMX,MAAQ,IAAMW,EAAMV,OACnCwf,EAAS3E,KAAKsb,YAAYhrB,UAEzBqU,OACQjC,SAASC,cAAc,WACzBzd,MAAQW,EAAMX,QACdC,OAASU,EAAMV,YACjBm2B,YAAYhrB,GAAQqU,GAGtBA,uBAxJHoV,2EACFA,aAEDf,OAAS,OACTlV,QAAU4E,EAAKqR,QAAQhV,WAAW,QAClCuW,YAAc,KACd15B,KAAO,uBCRC25B,SAAoBzC,kDAYrBzT,GACZA,EAAS+B,OACa/B,EAAS+B,KAAMpH,KAAKoa,YAAa/U,MAEhD+B,KAAOpH,KAAKoI,KAAKvZ,IAAImR,KAAKga,WAAY3U,QAC1C0U,QAAQjR,YAAYzD,EAAS+B,gDAIrB/B,GACXrF,KAAKwb,UAAUnW,KACbrF,KAAKyb,YACP5W,EAAQ4W,YACNpW,EAAS+B,KACT/B,EAASld,EAAE/B,EACXif,EAASld,EAAE9B,EACXgf,EAAStZ,MACTsZ,EAASnd,UAGX2c,EAAQnc,UACN2c,EAAS+B,KACT/B,EAASld,EAAE/B,EACXif,EAASld,EAAE9B,EACXgf,EAAStZ,MACTsZ,EAASnd,YAGJkf,KAAKxE,MAAMC,QAAUwC,EAAStc,MACnCsc,EAAS+B,KAAK6S,aACP7S,KAAKxE,MAAM8Y,gBAAkBrW,EAASuD,OAAS,mDAK/CvD,GACTrF,KAAKwb,UAAUnW,UACZ0U,QAAQ4B,YAAYtW,EAAS+B,WAC7BgB,KAAK+O,OAAO9R,EAAS+B,QACjBA,KAAO,wCAIV/B,SAEmB,WAAzBuW,EAAOvW,EAAS+B,OAChB/B,EAAS+B,OACR/B,EAAS+B,KAAKb,4CAKPnC,EAAKiB,GACXA,EAASkI,SACJnG,KAAOpH,KAAKoI,KAAKvZ,IAAIuV,EAAKiB,KAC3BvC,OAAOuC,EAAS+B,KAAMhD,EAAIlf,MAAOkf,EAAIjf,aAExC40B,QAAQjR,YAAYzD,EAAS+B,0CAGzBA,EAAM/B,UACX+B,EAAK6S,SAAiBja,KAAK6b,aAAaxW,GAChCrF,KAAK8b,aAAa1U,EAAM/B,wCAIzBA,OACL5C,EAAMoC,EAAQkX,UACf1W,EAAS/O,UACZ,EAAI+O,EAASqI,OACb,EAAIrI,EAASqI,iBAEX9K,MAAMoZ,aAAkB3W,EAASqI,YAEjC1N,KAAKgZ,WACHpW,MAAMqZ,YAAcjc,KAAKgZ,OAAOpQ,QAChChG,MAAMsZ,YAAiBlc,KAAKgZ,OAAOD,kBAErCkB,UAAW,EAERxX,uCAGI2E,EAAM/B,OACX8W,EAAsB,iBAAT/U,EAAoBA,EAAOA,EAAK7C,IAC7C9B,EAAMoC,EAAQkX,UACf1W,EAAS/O,UACZ8Q,EAAKliB,MACLkiB,EAAKjiB,iBAEHyd,MAAMwZ,uBAAyBD,MAE5B1Z,sBAvGGsX,+EACJA,aAEDf,OAAS,OACT5Q,KAAK1lB,OAAS,SAAC0kB,EAAM/B,UAAaqD,EAAK2T,WAAWjV,EAAM/B,MACxD+U,YAAc1R,EAAK0R,YAAYhV,UAE/BqW,aAAc,IACd75B,KAAO,oBCXK06B,SAAsBxD,kDAQvBzT,GACZA,EAAS+B,UACN0U,aAAazW,QAEbwW,aAAaxW,QAGf0U,QAAQwC,SAASlX,EAAS+B,+CAGhB/B,GACXA,EAAS+B,SACFA,KAAKhhB,EAAIif,EAASld,EAAE/B,IACpBghB,KAAK/gB,EAAIgf,EAASld,EAAE9B,IAEpB+gB,KAAKre,MAAQsc,EAAStc,QACtBqe,KAAKlW,OAASmU,EAAS+B,KAAKjW,OAASkU,EAAStZ,QAC9Cqb,KAAKlf,SAAWmd,EAASnd,iDAIvBmd,GACTA,EAAS+B,SACFA,KAAKsD,QAAUrF,EAAS+B,KAAKsD,OAAOiR,YAAYtW,EAAS+B,WAC7DgB,KAAK+O,OAAO9R,EAAS+B,QACjBA,KAAO,MAGd/B,EAASmX,UAAUxc,KAAKoI,KAAK+O,OAAO9R,EAASmX,+CAItCnX,KACF+B,KAAOpH,KAAKoI,KAAKvZ,IAAIwW,EAAS+B,MAEnC/B,EAAS+B,KAAKsD,QACdrF,EAAS+B,KAAT,UACOA,KAAKqV,KAAOpX,EAAS+B,KAAKvhB,MAAMX,MAAQ,IACxCkiB,KAAKsV,KAAOrX,EAAS+B,KAAKvhB,MAAMV,OAAS,wCAIzCkgB,OACLmX,EAAWxc,KAAKoI,KAAKvZ,IAAI8tB,SAASC,UAEpC5c,KAAKgZ,SACHhZ,KAAKgZ,kBAAkB5D,OAAQoH,EAASK,YAAY7c,KAAKgZ,QACxDwD,EAASK,YAAY,cAGzBC,UAAUzX,EAASuD,OAAS,WAC5ByR,WAAW,EAAG,EAAGhV,EAASqI,YAEvBxmB,EAAQ8Y,KAAKoI,KAAKvZ,IAAI8tB,SAASI,MAAO,CAACP,MAEpCpV,KAAOlgB,IACPs1B,SAAWA,sBA/DVzC,EAASf,2EACbe,aAEDf,OAASA,IACTp3B,KAAO,sBCJKo7B,SAAsBlE,uCAalC5zB,EAAOC,QACP40B,QAAQ70B,MAAQA,OAChB60B,QAAQ50B,OAASA,0CAGR83B,QACTA,UAAYA,GAEb,IAAI1N,EAAU,EAAG,EAAGvP,KAAK+Z,QAAQ70B,MAAO8a,KAAK+Z,QAAQ50B,aACpD+3B,UAAYld,KAAK8D,QAAQqZ,gBAC5Bnd,KAAKid,UAAU/3B,MACf8a,KAAKid,UAAU93B,aAEZ2e,QAAQsZ,aACXpd,KAAKkd,UACLld,KAAKid,UAAU72B,EACf4Z,KAAKid,UAAU52B,iDAKZyd,QAAQK,UACXnE,KAAKid,UAAU72B,EACf4Z,KAAKid,UAAU52B,EACf2Z,KAAKid,UAAU/3B,MACf8a,KAAKid,UAAU93B,aAEZ+3B,UAAYld,KAAK8D,QAAQI,aAC5BlE,KAAKid,UAAU72B,EACf4Z,KAAKid,UAAU52B,EACf2Z,KAAKid,UAAU/3B,MACf8a,KAAKid,UAAU93B,2DAKZ2e,QAAQsZ,aACXpd,KAAKkd,UACLld,KAAKid,UAAU72B,EACf4Z,KAAKid,UAAU52B,yFAMFgf,GACXrF,KAAKkd,gBACFG,SACHrd,KAAKkd,UACL91B,KAAKE,MAAM+d,EAASld,EAAE/B,EAAI4Z,KAAKid,UAAU72B,GACzCgB,KAAKE,MAAM+d,EAASld,EAAE9B,EAAI2Z,KAAKid,UAAU52B,GACzCgf,oCAKGpB,EAAW7d,EAAGC,EAAGgf,OAClBuI,EAAMvI,EAASuI,IACjBxnB,EAAI,GAAKA,EAAI4Z,KAAK+Z,QAAQ70B,OAASmB,EAAI,GAAKA,EAAI2Z,KAAKsd,eAGnDh9B,EAA8C,IAAxC+F,GAAK,GAAK4d,EAAU/e,OAASkB,GAAK,MAEpC2J,KAAKzP,GAAKstB,EAAI9qB,IACdiN,KAAS,EAAJzP,GAASstB,EAAI5f,IAClB+B,KAAS,EAAJzP,GAASstB,EAAIxf,IAClB2B,KAAS,EAAJzP,GAA0B,IAAjB+kB,EAAStc,qEA9EvBgxB,EAASkD,2EACblD,aAEDjW,QAAU4E,EAAKqR,QAAQhV,WAAW,QAClCmY,UAAY,OACZD,UAAY,OACZA,UAAYA,IACZE,gBAAgBF,KAEhBr7B,KAAO,kBCThB,IAAI27B,UACiBC,SAAqB1E,wCAchC2E,UAEQA,GAAQ,CAAEC,OAAQ,SACzBC,gBACHJ,GAAUG,OAAOnnB,MAAQgnB,GAAUG,OAAOE,UAC5C,MAAO5+B,yFAQOqmB,GACZA,EAAS+B,OACFA,KAAOpH,KAAKoI,KAAKvZ,IAAIwW,EAAS+B,KAAM/B,KAEpC+B,KAAOpH,KAAKoI,KAAKvZ,IAAImR,KAAKga,WAAY3U,GAG7CrF,KAAK6d,cACEzW,KAAKyW,UAAY7d,KAAK6d,gBAG5B9D,QAAQwC,SAASlX,EAAS+B,+CAMhB/B,QACV3c,UAAU2c,EAAUA,EAAS+B,OAEZ,IAAlBpH,KAAK8d,WAAoC,IAAf9d,KAAK4I,UACxBxB,KAAK2W,KAAOlJ,EAAUmJ,qBAAqB3Y,2CAOzCA,QACR0U,QAAQ4B,YAAYtW,EAAS+B,WAC7BgB,KAAK+O,OAAO9R,EAAS+B,QACjBA,KAAO,qCAGVyC,iGAEDzB,KAAKvC,kBAENvlB,EAAIupB,EAAUjqB,OACXU,KAAK,KACN+kB,EAAWwE,EAAUvpB,GACrB+kB,EAAS+B,WACN2S,QAAQ4B,YAAYtW,EAAS+B,yCAK9B/B,EAAUX,KACXte,EAAIif,EAASld,EAAE/B,IACfC,EAAIgf,EAASld,EAAE9B,IAEf0C,MAAQsc,EAAStc,QAEjBgD,MAAM3F,EAAIif,EAAStZ,QACnBA,MAAM1F,EAAIgf,EAAStZ,QAGnB7D,SAAWmd,EAASnd,SAAW4X,EAASsR,0CAGtChK,EAAM/B,UACX+B,EAAK6S,SAAiBja,KAAK6b,aAAaxW,GAChCrF,KAAK8b,aAAa1U,wCAGnBA,GACLoG,EAASpG,EAAKb,QAChBvG,KAAK2d,gBAAgBvW,EAAK7C,KAC1B,IAAIgZ,GAAUG,OAAOtW,YAElB6W,OAAO73B,EAAI,KACX63B,OAAO53B,EAAI,GAEXmnB,uCAGInI,OAIH2T,EAHFwD,EAAW,IAAIe,GAAUX,gBAE3B5c,KAAKgZ,SACDA,EAAShZ,KAAKgZ,kBAAkB5D,OAASpV,KAAKgZ,OAAS,IACpD6D,YAAY7D,MAGd8D,UAAUzX,EAASuD,OAAS,SAC5ByR,WAAW,EAAG,EAAGhV,EAASqI,UAC1BwQ,UAEF1B,sBAlHGzC,EAASf,+EACbe,aAEDf,OAASA,IACTpQ,OAAQ,IACRkV,UAAW,IACXD,UAAY,OACZzV,KAAK1lB,OAAS,SAAC0kB,EAAM/B,UAAaqD,EAAK2T,WAAWjV,EAAM/B,MACxD8Y,QAAQtzB,OAAO4yB,QAEf77B,KAAO,qBCdKw8B,oCASfrwB,EAAGzN,GACK,IAANA,EAASuuB,EAAK5T,IAAIlN,EAAGiS,KAAKqe,KAAK,IAC9BxP,EAAKyP,SAASte,KAAKqe,KAAK/9B,EAAI,GAAIyN,EAAGiS,KAAKqe,KAAK/9B,SAE7CgQ,KAAOlJ,KAAKgG,IAAI4S,KAAK1P,KAAMhQ,EAAI,gCAGjCyN,GACe,IAAdiS,KAAK1P,KAAYue,EAAK5T,IAAIlN,EAAGiS,KAAKqe,KAAK,IACtCxP,EAAKyP,SAASte,KAAKqe,KAAKre,KAAK1P,KAAO,GAAIvC,EAAGiS,KAAKqe,KAAKre,KAAK1P,YAE1DA,qCAIW,EAAZ0P,KAAK1P,MAAU0P,KAAK1P,4CAIjB0P,KAAKqe,KAAKre,KAAK1P,KAAO,yCA1BxB+tB,KAAO,OAGP,IAAI/9B,OAFJgQ,KAAO,EAEIhQ,EAAI,GAAIA,SACjB+9B,KAAK99B,KAAKsuB,EAAKnsB,OAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,UCEfo2B,qCAsBlCnR,wFACUA,QACN7E,OAAO9C,KAAK+Z,QAAQ70B,MAAO8a,KAAK+Z,QAAQ50B,uCAG1CD,EAAOC,QACLo5B,KAAK,IAAM,OACXA,KAAK,GAAK,OAEVC,KAAK,GAAK,EAAIt5B,OACds5B,KAAK,GAAK,EAAIr5B,OAEds5B,OAAOxjB,IAAI+E,KAAKue,KAAM,QACtBE,OAAOxjB,IAAI+E,KAAKwe,KAAM,QAEtBE,GAAGC,SAAS,EAAG,EAAGz5B,EAAOC,QACzB40B,QAAQ70B,MAAQA,OAChB60B,QAAQ50B,OAASA,uCAGbuoB,QACJkR,gBAAkB5e,KAAK6b,aAAanO,mDAIxB,CAAC,yBAA0B,kCAAmC,gCAAiC,qBAAsB,8BAA+B,uBAAwB,gBAAiB,8CAA+C,sCAAuC,iCAAkC,sBAAuB,KAAKlF,KAAK,wDAKtV,CAAC,2BAA4B,8BAA+B,uBAAwB,8BAA+B,sBAAuB,2BAA4B,uBAAwB,gBAAiB,0DAA2D,mDAAoD,2BAA4B,KAAKA,KAAK,6CAKhXiW,OAAS,IAAIL,QACbG,KAAO1P,EAAKnsB,OAAO,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,SAC9C87B,KAAO3P,EAAKnsB,OAAO,CAAC,IAAS,EAAG,EAAG,EAAG,IAAS,EAAG,EAAG,EAAG,SACxDm8B,eAAiB,yCAGZn7B,QACLg7B,GAAGI,cAAc9e,KAAK0e,GAAGh7B,sCAGxBA,EAAGY,QACJo6B,GAAGK,UAAU/e,KAAK0e,GAAGh7B,GAAIsc,KAAK0e,GAAGp6B,sCAGhCo6B,EAAIhX,EAAKsX,GACTC,EAASD,EAAKN,EAAGQ,aAAaR,EAAGS,iBAAmBT,EAAGQ,aAAaR,EAAGU,wBAE1EC,aAAaJ,EAAQvX,KACrB4X,cAAcL,GAEZP,EAAGa,mBAAmBN,EAAQP,EAAGc,gBAK/BP,SAJGP,EAAGe,iBAAiBR,IACnB,gDAOLS,EAAiB1f,KAAK2f,UAAU3f,KAAK0e,GAAI1e,KAAK4f,qBAAqB,GACnEC,EAAe7f,KAAK2f,UAAU3f,KAAK0e,GAAI1e,KAAK8f,mBAAmB,QAEhEC,SAAW/f,KAAK0e,GAAGsB,qBACnBtB,GAAGuB,aAAajgB,KAAK+f,SAAUF,QAC/BnB,GAAGuB,aAAajgB,KAAK+f,SAAUL,QAC/BhB,GAAGwB,YAAYlgB,KAAK+f,UAEpB/f,KAAK0e,GAAGyB,oBAAoBngB,KAAK+f,SAAU/f,KAAK0e,GAAG0B,cACpD9P,MAAM,qCAELoO,GAAG2B,WAAWrgB,KAAK+f,eACnBA,SAASO,IAAMtgB,KAAK0e,GAAG6B,kBAAkBvgB,KAAK+f,SAAU,wBACxDA,SAASS,IAAMxgB,KAAK0e,GAAG6B,kBAAkBvgB,KAAK+f,SAAU,sBACxDrB,GAAG+B,wBAAwBzgB,KAAK+f,SAASS,UACzC9B,GAAG+B,wBAAwBzgB,KAAK+f,SAASO,UAEzCP,SAASW,YAAc1gB,KAAK0e,GAAGiC,mBAAmB3gB,KAAK+f,SAAU,aACjEA,SAASa,eAAiB5gB,KAAK0e,GAAGiC,mBAAmB3gB,KAAK+f,SAAU,iBACpEA,SAASc,OAAS7gB,KAAK0e,GAAGiC,mBAAmB3gB,KAAK+f,SAAU,mBAC5DA,SAASnX,MAAQ5I,KAAK0e,GAAGiC,mBAAmB3gB,KAAK+f,SAAU,eAC3DrB,GAAGoC,UAAU9gB,KAAK+f,SAASc,OAAQ,6CAKpCE,OAECC,YAAchhB,KAAK0e,GAAGnE,oBACtBmE,GAAGuC,WAAWjhB,KAAK0e,GAAGwC,qBAAsBlhB,KAAKghB,kBACjDtC,GAAGyC,WAAWnhB,KAAK0e,GAAGwC,qBAAsB,IAAIE,YAL1C,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAK2CphB,KAAK0e,GAAG2C,qBAE1E/gC,SACAghC,EAAM,GACLhhC,EAAI,EAAGA,EAAI,IAAKA,MAASC,KAAKD,OACnCygC,EAAM,IAAIK,YAAYE,QAEjBC,QAAUvhB,KAAK0e,GAAGnE,oBAClBmE,GAAGuC,WAAWjhB,KAAK0e,GAAGwC,qBAAsBlhB,KAAKuhB,cACjD7C,GAAGyC,WAAWnhB,KAAK0e,GAAGwC,qBAAsBH,EAAK/gB,KAAK0e,GAAG2C,eAExD,GACD/gC,EAAI,EAAGA,EAAI,IAAKA,MAASC,KAAKD,EAAGA,EAAI,EAAGA,EAAI,GACjDygC,EAAM,IAAIK,YAAYE,QAEjBE,YAAcxhB,KAAK0e,GAAGnE,oBACtBmE,GAAGuC,WAAWjhB,KAAK0e,GAAGwC,qBAAsBlhB,KAAKwhB,kBACjD9C,GAAGyC,WAAWnhB,KAAK0e,GAAGwC,qBAAsBH,EAAK/gB,KAAK0e,GAAG2C,kDAGrDI,QACJC,mBAAqB9c,EAAgBlE,EAAKM,UAAUygB,EAAQ,SAC3D9c,EAASE,EAAQC,aAAa,gBAA2C,EAA1B9E,KAAK0hB,mBAAkD,EAA1B1hB,KAAK0hB,oBACjF5d,EAAUa,EAAOI,WAAW,eAE1BiW,cACAC,IAAIjb,KAAK0hB,mBAAoB1hB,KAAK0hB,mBAAoB1hB,KAAK0hB,mBAAoB,EAAa,EAAVt6B,KAAKC,IAAQ,KAC/F+zB,cACAV,UAAY,SACZW,OAED1W,EAAOgd,mDAGHtc,OACLuc,EAAKvc,EAAS+B,KAAKliB,MACnB28B,EAAKxc,EAAS+B,KAAKjiB,OAEnB28B,EAASld,EAAgBS,EAAS+B,KAAKliB,OACvC68B,EAAUnd,EAAgBS,EAAS+B,KAAKjiB,QAExC68B,EAAU3c,EAAS+B,KAAKliB,MAAQ48B,EAChCG,EAAU5c,EAAS+B,KAAKjiB,OAAS48B,EAElC/hB,KAAK6e,eAAexZ,EAAStV,KAAKwU,OACnCvE,KAAK6e,eAAexZ,EAAStV,KAAKwU,KAAO,CAACvE,KAAK0e,GAAGwD,gBAAiBliB,KAAK0e,GAAGnE,eAAgBva,KAAK0e,GAAGnE,mBAE9FxqB,KAAKoyB,QAAUniB,KAAK6e,eAAexZ,EAAStV,KAAKwU,KAAK,KACtDxU,KAAKqyB,SAAWpiB,KAAK6e,eAAexZ,EAAStV,KAAKwU,KAAK,KACvDxU,KAAKsyB,SAAWriB,KAAK6e,eAAexZ,EAAStV,KAAKwU,KAAK,QAE3Dma,GAAGuC,WAAWjhB,KAAK0e,GAAG4D,aAAcjd,EAAStV,KAAKsyB,eAClD3D,GAAGyC,WAAWnhB,KAAK0e,GAAG4D,aAAc,IAAIzjB,aAAa,CAAC,EAAK,EAAKmjB,EAAS,EAAK,EAAKC,EAASA,EAASA,IAAWjiB,KAAK0e,GAAG2C,kBACxH3C,GAAGuC,WAAWjhB,KAAK0e,GAAG4D,aAAcjd,EAAStV,KAAKqyB,eAClD1D,GAAGyC,WAAWnhB,KAAK0e,GAAG4D,aAAc,IAAIzjB,aAAa,CAAC,EAAK,EAAK+iB,EAAI,EAAK,EAAKC,EAAID,EAAIC,IAAM7hB,KAAK0e,GAAG2C,aAGnGtxB,EADUsV,EAAStV,KAAK4U,OAAOI,WAAW,MAC3Bb,aAAa,EAAG,EAAG4d,EAAQC,QAE3CrD,GAAG6D,YAAYviB,KAAK0e,GAAG8D,WAAYnd,EAAStV,KAAKoyB,cACjDzD,GAAG+D,WAAWziB,KAAK0e,GAAG8D,WAAY,EAAGxiB,KAAK0e,GAAGgE,KAAM1iB,KAAK0e,GAAGgE,KAAM1iB,KAAK0e,GAAGiE,cAAe5yB,QACxF2uB,GAAGkE,cAAc5iB,KAAK0e,GAAG8D,WAAYxiB,KAAK0e,GAAGmE,mBAAoB7iB,KAAK0e,GAAGoE,aACzEpE,GAAGkE,cAAc5iB,KAAK0e,GAAG8D,WAAYxiB,KAAK0e,GAAGqE,mBAAoB/iB,KAAK0e,GAAGsE,4BACzEtE,GAAGuE,eAAejjB,KAAK0e,GAAG8D,cAEtBzyB,KAAKmzB,eAAgB,IACrBnzB,KAAKozB,aAAevB,IACpB7xB,KAAKqzB,cAAgBvB,sFAQhBxc,KACLtV,KAAKmzB,eAAgB,IACrBnzB,KAAKszB,KAAOxU,EAAKnsB,WACjBqN,KAAKszB,KAAK,GAAK,IACftzB,KAAKuzB,KAAOzU,EAAKnsB,WACjBqN,KAAKuzB,KAAK,GAAK,EAEpBje,EAAS+B,OACe/B,EAAS+B,KAAMpH,KAAKoa,YAAa/U,MAEjCrF,KAAK4e,gBAAiB5e,KAAKoa,YAAa/U,KACvDtV,KAAKwzB,SAAWle,EAASqI,OAAS1N,KAAK0hB,wDAK5Ctd,EAAKiB,GACTA,EAASkI,SACJnG,KAAOhD,IACPrU,KAAKwU,IAAMH,EAAIG,MACfxU,KAAK4U,OAASiB,EAA2BxB,KACzCrU,KAAKwzB,SAAW,OAEpBC,eAAene,6CAGPA,GACTA,EAAStV,KAAKmzB,qBACTO,aAAape,QAEbqZ,GAAGgF,UAAU1jB,KAAK+f,SAASnX,MAAOvD,EAASuI,IAAI9qB,EAAI,IAAKuiB,EAASuI,IAAI5f,EAAI,IAAKqX,EAASuI,IAAIxf,EAAI,UAC/FswB,GAAGiF,iBAAiB3jB,KAAK+f,SAASW,aAAa,EAAO1gB,KAAKye,OAAOr2B,YAElEs2B,GAAGuC,WAAWjhB,KAAK0e,GAAG4D,aAAcjd,EAAStV,KAAKqyB,eAClD1D,GAAGkF,oBAAoB5jB,KAAK+f,SAASO,IAAK,EAAGtgB,KAAK0e,GAAGmF,OAAO,EAAO,EAAG,QACtEnF,GAAGuC,WAAWjhB,KAAK0e,GAAG4D,aAAcjd,EAAStV,KAAKsyB,eAClD3D,GAAGkF,oBAAoB5jB,KAAK+f,SAASS,IAAK,EAAGxgB,KAAK0e,GAAGmF,OAAO,EAAO,EAAG,QACtEnF,GAAG6D,YAAYviB,KAAK0e,GAAG8D,WAAYnd,EAAStV,KAAKoyB,cACjDzD,GAAGoC,UAAU9gB,KAAK+f,SAASa,eAAgB,QAC3ClC,GAAGuC,WAAWjhB,KAAK0e,GAAGwC,qBAAsBlhB,KAAKghB,kBAEjDtC,GAAGoF,aAAa9jB,KAAK0e,GAAGqF,UAAW,EAAG/jB,KAAK0e,GAAGsF,eAAgB,QAE9DvF,OAAOt6B,sFAMPkhB,OACH4e,EAAmBrf,GAA2BS,EAAStV,KAAKozB,aAAe,GAAI9d,EAAStV,KAAKqzB,cAAgB,GAC7Gc,EAAoBtf,EAA0BS,EAASld,EAAE/B,EAAGif,EAASld,EAAE9B,GAEvE89B,EAAQ9e,EAASnd,SAAY4X,EAASsR,OACtCgT,EAAiBxf,EAAuBuf,GAExCp4B,EAAQsZ,EAAStZ,MAAQsZ,EAAStV,KAAKwzB,SACvCc,EAAczf,EAAoB7Y,EAAOA,GAC3Cu4B,EAAS1f,EAAyBqf,EAAkBI,KAE/Czf,EAAyB0f,EAAQF,KACjCxf,EAAyB0f,EAAQJ,KAErCK,QAAQD,EAAQjf,EAAStV,KAAKuzB,QAC5B,GAAKje,EAAStc,WAEhB01B,OAAOl+B,KAAK+jC,OAjQJE,iBAELzK,2EACFA,aAED2E,GAAKhW,EAAKqR,QAAQhV,WAAW,qBAAsB,CAAE0f,WAAW,EAAMC,SAAS,EAAOC,OAAO,IAC7Fjc,EAAKgW,IAAIpO,MAAM,8CAEfsU,YACAC,iBACAC,gBACAC,gBAEArG,GAAGI,cAAcpW,EAAKgW,GAAGsG,YACzBtG,GAAGK,UAAUrW,EAAKgW,GAAGuG,UAAWvc,EAAKgW,GAAGwG,uBACxCxG,GAAGyG,OAAOzc,EAAKgW,GAAG0G,SAElBhL,YAAc1R,EAAK0R,YAAYhV,UAE/BxjB,KAAO,uBC3BwBk3B,IAAvBuM,kBACPtL,2EACJA,aAEDn4B,KAAO,uBCFK0jC,SAAiBnV,0DAiC7BjQ,OAAS9Y,KAAK8Y,cAEdkQ,OAAOhqB,EACV4Z,KAAKulB,GAAKvlB,KAAKE,OAASF,KAAKpgB,OAASwH,KAAKoB,IAAIwX,KAAKyV,eACjDrF,OAAO/pB,EACV2Z,KAAKwlB,GAAKxlB,KAAKE,OAASF,KAAKpgB,OAASwH,KAAKqB,IAAIuX,KAAKyV,UAE/CzV,KAAKoQ,4CAGDhqB,EAAGC,OACR3C,EAAIsc,KAAKkN,GACT5oB,GAAK0b,KAAKjW,UAIc,GAAzBrG,EAAI0C,EAAI9B,EAAI+B,EAHP2Z,KAAKylB,MACC,GAANnhC,EAAU,EAAIA,uCAMd8B,EAAGC,UACH2Z,KAAKkN,GAGD9mB,GAFH4Z,KAAKjW,GAEM1D,EADZ2Z,KAAKylB,KAGJr+B,KAAKkF,KAAK0T,KAAK0lB,2CAGfz3B,OACL03B,EAAO13B,EAAEynB,cAETzI,EAAM,GADCjN,KAAK0V,cACMiQ,GAElBC,EAAO33B,EAAE7H,EACTy/B,EAAO53B,EAAE5H,WAEbD,EAAIw/B,EAAOx+B,KAAKoB,IAAIykB,GAAO4Y,EAAOz+B,KAAKqB,IAAIwkB,KAC3C5mB,EAAIu/B,EAAOx+B,KAAKqB,IAAIwkB,GAAO4Y,EAAOz+B,KAAKoB,IAAIykB,GAEtChf,+CAIA7G,KAAKqF,MAAMuT,KAAKkN,GAAIlN,KAAKjW,qCAGzBsb,MACOje,KAAK8C,IAAI8V,KAAK0V,gBAEf5V,EAASzY,GAAK,MACrBge,EAASld,EAAE/B,GAAK4Z,KAAK8lB,MAAQzgB,EAASld,EAAE/B,GAAK4Z,KAAK+lB,KAAM,OAAO,UAE/D1gB,EAASld,EAAE9B,GAAK2Z,KAAKgmB,MAAQ3gB,EAASld,EAAE9B,GAAK2Z,KAAKimB,KAAM,OAAO,SAG9D,6CAIA7+B,KAAKkF,KAAK0T,KAAKjW,GAAKiW,KAAKjW,GAAKiW,KAAKkN,GAAKlN,KAAKkN,qCAG7C7H,GACgB,SAAnBrF,KAAKqQ,UAEc,MAAnBrQ,KAAKkmB,WACc,MAAnBlmB,KAAKkmB,WACc,UAAnBlmB,KAAKkmB,WACc,SAAnBlmB,KAAKkmB,UAEAlmB,KAAKmmB,SAAS9gB,IACfrF,KAAKwU,aAAanP,EAASld,EAAE/B,EAAGif,EAASld,EAAE9B,KAAIgf,EAASkI,MAAO,GAE9DvN,KAAKmmB,SAAS9gB,KACdrF,KAAKwU,aAAanP,EAASld,EAAE/B,EAAGif,EAASld,EAAE9B,KAC9Cgf,EAASkI,MAAO,IAEQ,UAAnBvN,KAAKqQ,UACTrQ,KAAKmmB,SAAS9gB,IAEfrF,KAAKomB,YAAY/gB,EAASld,EAAE/B,EAAGif,EAASld,EAAE9B,IAAMgf,EAASqI,SAC3C,IAAZ1N,KAAKjW,KACEkE,EAAE7H,IAAM,EACI,IAAZ4Z,KAAKkN,KACLjf,EAAE5H,IAAM,OAEZggC,aAAahhB,EAASpX,IAGH,UAAnB+R,KAAKqQ,WACVrQ,KAAKsQ,gBACCE,MAAM,uDACTF,OAAQ,uBA7HPiV,EAAIC,EAAIc,EAAIC,EAAIL,wFAGX,GAAXI,EAAKf,KACFA,GAAKA,IACLC,GAAKA,IACLc,GAAKA,IACLC,GAAKA,MAELhB,GAAKe,IACLd,GAAKe,IACLD,GAAKf,IACLgB,GAAKf,KAGPz7B,GAAK2e,EAAK4d,GAAK5d,EAAK6c,KACpBrY,GAAKxE,EAAK6d,GAAK7d,EAAK8c,KAEpBO,KAAO3+B,KAAK+F,IAAIub,EAAK6c,GAAI7c,EAAK4d,MAC9BL,KAAO7+B,KAAK+F,IAAIub,EAAK8c,GAAI9c,EAAK6d,MAC9BT,KAAO1+B,KAAKgG,IAAIsb,EAAK6c,GAAI7c,EAAK4d,MAC9BN,KAAO5+B,KAAKgG,IAAIsb,EAAK8c,GAAI9c,EAAK6d,MAE9Bd,IAAM/c,EAAK4d,GAAK5d,EAAK8c,GAAK9c,EAAK6c,GAAK7c,EAAK6d,KACzCb,KAAOhd,EAAK3e,GAAK2e,EAAK3e,GAAK2e,EAAKwE,GAAKxE,EAAKwE,KAE1CuI,SAAW/M,EAAKgN,gBAChB91B,OAAS8oB,EAAK8d,cACdN,UAAYxlB,EAAKM,UAAUklB,EAAW,WC9B1BO,SAAmBtW,0DAa/B+E,MAAQpV,EAAS4mB,KAAOt/B,KAAK8Y,cAC7BymB,aAAev/B,KAAK8Y,SAAWF,KAAK0N,YAEpC0C,OAAOhqB,EAAI4Z,KAAK5Z,EAAI4Z,KAAK2mB,aAAev/B,KAAKoB,IAAIwX,KAAKkV,YACtD9E,OAAO/pB,EAAI2Z,KAAK3Z,EAAI2Z,KAAK2mB,aAAev/B,KAAKqB,IAAIuX,KAAKkV,OAEpDlV,KAAKoQ,yCAGJhqB,EAAGC,QACN8Z,OAAO/Z,EAAIA,OACX+Z,OAAO9Z,EAAIA,mCAGTgf,OACDvV,EAAIuV,EAASld,EAAEy+B,WAAW5mB,KAAKG,QAEd,SAAnBH,KAAKqQ,UACHvgB,EAAIuV,EAASqI,OAAS1N,KAAK0N,SAAQrI,EAASkI,MAAO,GAC3B,UAAnBvN,KAAKqQ,UACVvgB,EAAIuV,EAASqI,QAAU1N,KAAK0N,QAAQ1N,KAAKqmB,aAAahhB,GAC9B,UAAnBrF,KAAKqQ,WACVrQ,KAAKsQ,gBACCE,MAAM,yDACTF,OAAQ,wCAKNjL,OACPsgB,EAAOtgB,EAASpX,EAAEynB,cAGlBzI,EAAM,GAFCjN,KAAK0V,YAAYrQ,GAENsgB,GAClBC,EAAOvgB,EAASpX,EAAE7H,EAClBy/B,EAAOxgB,EAASpX,EAAE5H,IAEb4H,EAAE7H,EAAIw/B,EAAOx+B,KAAKoB,IAAIykB,GAAO4Y,EAAOz+B,KAAKqB,IAAIwkB,KAC7Chf,EAAE5H,EAAIu/B,EAAOx+B,KAAKqB,IAAIwkB,GAAO4Y,EAAOz+B,KAAKoB,IAAIykB,uCAG5C5H,UAEPvF,EAAS2M,KACVrlB,KAAKqF,MAAM4Y,EAASld,EAAE9B,EAAI2Z,KAAKG,OAAO9Z,EAAGgf,EAASld,EAAE/B,EAAI4Z,KAAKG,OAAO/Z,uBAxD5DA,EAAGC,EAAGqnB,0FAGXtnB,EAAIA,IACJC,EAAIA,IACJqnB,OAASA,IAETwH,MAAQ,IACR/U,OAAS,CAAE/Z,IAAGC,WCVFwgC,SAAiB1W,0DAW7BC,OAAOhqB,EAAI4Z,KAAK5Z,EAAIgB,KAAK8Y,SAAWF,KAAK9a,WACzCkrB,OAAO/pB,EAAI2Z,KAAK3Z,EAAIe,KAAK8Y,SAAWF,KAAK7a,OAEvC6a,KAAKoQ,wCAGL/K,GAEgB,SAAnBrF,KAAKqQ,YACHhL,EAASld,EAAE/B,EAAIif,EAASqI,OAAS1N,KAAK5Z,GACjCif,EAASld,EAAE/B,EAAIif,EAASqI,OAAS1N,KAAK5Z,EAAI4Z,KAAK9a,SADXmgB,EAASkI,MAAO,IAIzDlI,EAASld,EAAE9B,EAAIgf,EAASqI,OAAS1N,KAAK3Z,GACjCgf,EAASld,EAAE9B,EAAIgf,EAASqI,OAAS1N,KAAK3Z,EAAI2Z,KAAK7a,UADXkgB,EAASkI,MAAO,IAMnC,UAAnBvN,KAAKqQ,WACRhL,EAASld,EAAE/B,EAAIif,EAASqI,OAAS1N,KAAK5Z,KAC/B+B,EAAE/B,EAAI4Z,KAAK5Z,EAAIif,EAASqI,SACxBzf,EAAE7H,IAAM,GACRif,EAASld,EAAE/B,EAAIif,EAASqI,OAAS1N,KAAK5Z,EAAI4Z,KAAK9a,UAC/CiD,EAAE/B,EAAI4Z,KAAK5Z,EAAI4Z,KAAK9a,MAAQmgB,EAASqI,SACrCzf,EAAE7H,IAAM,GAGfif,EAASld,EAAE9B,EAAIgf,EAASqI,OAAS1N,KAAK3Z,KAC/B8B,EAAE9B,EAAI2Z,KAAK3Z,EAAIgf,EAASqI,SACxBzf,EAAE5H,IAAM,GACRgf,EAASld,EAAE9B,EAAIgf,EAASqI,OAAS1N,KAAK3Z,EAAI2Z,KAAK7a,WAC/CgD,EAAE9B,EAAI2Z,KAAK3Z,EAAI2Z,KAAK7a,OAASkgB,EAASqI,SACtCzf,EAAE5H,IAAM,IAKO,UAAnB2Z,KAAKqQ,YACRhL,EAASld,EAAE/B,EAAIif,EAASqI,OAAS1N,KAAK5Z,GAAKif,EAASpX,EAAE7H,GAAK,EAC7Dif,EAASld,EAAE/B,EAAI4Z,KAAK5Z,EAAI4Z,KAAK9a,MAAQmgB,EAASqI,OAE9CrI,EAASld,EAAE/B,EAAIif,EAASqI,OAAS1N,KAAK5Z,EAAI4Z,KAAK9a,OAC/B,GAAhBmgB,EAASpX,EAAE7H,IAEXif,EAASld,EAAE/B,EAAI4Z,KAAK5Z,EAAIif,EAASqI,QAE/BrI,EAASld,EAAE9B,EAAIgf,EAASqI,OAAS1N,KAAK3Z,GAAKgf,EAASpX,EAAE5H,GAAK,EAC7Dgf,EAASld,EAAE9B,EAAI2Z,KAAK3Z,EAAI2Z,KAAK7a,OAASkgB,EAASqI,OAE/CrI,EAASld,EAAE9B,EAAIgf,EAASqI,OAAS1N,KAAK3Z,EAAI2Z,KAAK7a,QAC/B,GAAhBkgB,EAASpX,EAAE5H,IAEXgf,EAASld,EAAE9B,EAAI2Z,KAAK3Z,EAAIgf,EAASqI,6BA/D3BtnB,EAAGC,EAAGnB,EAAOC,0FAGlBiB,EAAIA,IACJC,EAAIA,IACJnB,MAAQA,IACRC,OAASA,SCNqBgrB,sCAO/B+M,EAAW92B,EAAGC,EAAGyJ,QAChBotB,UAAYA,OACZ92B,EAAIsa,EAAKM,UAAU5a,EAAG,QACtBC,EAAIqa,EAAKM,UAAU3a,EAAG,QACtByJ,EAAI4Q,EAAKM,UAAUlR,EAAG,QAEtBg3B,QAAU,QACVC,0DAIDzmC,SAAG0G,SACDggC,EAAUhnB,KAAKkd,UAAUh4B,MACzB+hC,EAAUjnB,KAAKkd,UAAU/3B,OAE1B7E,EAAI,EAAGA,EAAI0mC,EAAS1mC,GAAK0f,KAAKlQ,MAC5B9I,EAAI,EAAGA,EAAIigC,EAASjgC,GAAKgZ,KAAKlQ,EAAG,KAChC2a,EAA0C,IAAhCzjB,GAAK,GAAKggC,GAAW1mC,GAAK,IAEH,EAAjC0f,KAAKkd,UAAUntB,KAAa,EAAR0a,SACjBqc,QAAQvmC,KAAK,CAAE6F,EAAG9F,EAAI0f,KAAK5Z,EAAGC,EAAGW,EAAIgZ,KAAK3Z,WAK9C2Z,KAAKoQ,wCAGLhqB,EAAGC,GACNokB,EAAuD,IAA7CpkB,GAAK,GAAK2Z,KAAKkd,UAAUh4B,OAASkB,GAAK,WAChB,EAAjC4Z,KAAKkd,UAAUntB,KAAa,EAAR0a,6CAKlB2F,EAAS1P,EAAKC,iBAAiBX,KAAK8mB,gBACnC9mB,KAAKoQ,OAAO5K,KAAK4K,oCAGjBhqB,EAAGC,MACL2Z,KAAK5Z,EAEN9F,EAAmD,QADlD0f,KAAK3Z,IACK,GAAK2Z,KAAKkd,UAAUh4B,OAASkB,GAAK,UAE1C,GACF4Z,KAAKkd,UAAUntB,KAAKzP,KACpB0f,KAAKkd,UAAUntB,KAAS,EAAJzP,KACpB0f,KAAKkd,UAAUntB,KAAS,EAAJzP,KACpB0f,KAAKkd,UAAUntB,KAAS,EAAJzP,qCAIlB+kB,GACgB,SAAnBrF,KAAKqQ,UACHrQ,KAAKknB,SAAS7hB,EAASld,EAAE/B,EAAI4Z,KAAK5Z,EAAGif,EAASld,EAAE9B,EAAI2Z,KAAK3Z,GAC3Dgf,EAASkI,MAAO,EACblI,EAASkI,MAAO,EACO,UAAnBvN,KAAKqQ,YACTrQ,KAAKknB,SAAS7hB,EAASld,EAAE/B,EAAI4Z,KAAK5Z,EAAGif,EAASld,EAAE9B,EAAI2Z,KAAK3Z,IAC5Dgf,EAASpX,EAAEk5B,cAlEEC,iBACPlK,EAAW92B,EAAGC,EAAGyJ,0FAGtBhJ,MAAMo2B,EAAW92B,EAAGC,EAAGyJ,OCDjB,2BACI6X,EAAQ0f,KAChB5e,iBAAiB,sBAAuB,kBAAM4e,4BAI/CzZ,EAAMiH,EAAUC,0CADP,yBAEAlH,EAAI9qB,OAAM8qB,EAAI5f,OAAM4f,EAAIxf,8BAGhCuZ,EAAQhD,EAAQ+L,EAAMrG,OACvBvG,EAAUa,EAAOI,WAAW,MAC5BnC,EAAQ5C,KAAKsnB,gBAEd7e,iBAAiBd,EAAQ,WACxB0C,GAAOvG,EAAQK,UAAU,EAAG,EAAGQ,EAAOzf,MAAOyf,EAAOxf,QAEpDurB,aAAgBH,MACVyK,cACAN,UAAY9X,IACZqY,IAAIvK,EAAKtqB,EAAGsqB,EAAKrqB,EAAG,GAAI,EAAa,EAAVe,KAAKC,IAAQ,KACxCg0B,SACAD,aACC1K,aAAgB4U,MACjBtK,cACAE,YAActY,IACd2kB,OAAO7W,EAAK6U,GAAI7U,EAAK8U,MACrBgC,OAAO9W,EAAK4V,GAAI5V,EAAK6V,MACrBvN,WACAoC,aACC1K,aAAgBmW,MACjB7L,cACAE,YAActY,IACd6kB,SAAS/W,EAAKtqB,EAAGsqB,EAAKrqB,EAAGqqB,EAAKxrB,MAAOwrB,EAAKvrB,UAC1C6zB,WACAoC,aACC1K,aAAgB+V,OACjBzL,cACAE,YAActY,IACdqY,IAAIvK,EAAKtqB,EAAGsqB,EAAKrqB,EAAGqqB,EAAKhD,OAAQ,EAAa,EAAVtmB,KAAKC,IAAQ,KACjD2xB,WACAoC,qCAKFzT,EAAQhD,EAAQ2C,EAAS+C,OAC7BvG,EAAUa,EAAOI,WAAW,MAC5BnC,EAAQ5C,KAAKsnB,gBAEd7e,iBAAiBd,EAAQ,WACxB0C,GAAOvG,EAAQK,UAAU,EAAG,EAAGQ,EAAOzf,MAAOyf,EAAOxf,UAEhD61B,cACAN,UAAY9X,IACZqY,IAAI3T,EAAQnf,EAAE/B,EAAGkhB,EAAQnf,EAAE9B,EAAG,GAAI,EAAa,EAAVe,KAAKC,IAAQ,KAClDg0B,SACAD,uBCFd9Q,EAAO6C,SAAWA,EAClB7C,EAAO9D,KAAOA,EAEd8D,EAAO5J,KAAOA,EACd4J,EAAOuK,UAAYA,EACnBvK,EAAOxK,SAAWA,EAClBwK,EAAOsC,SAAWtC,EAAOod,OAAS9a,EAClCtC,EAAOoE,QAAUpE,EAAOqd,MAAQjZ,EAChCpE,EAAO6E,UAAYA,EACnB7E,EAAOiF,UAAYA,EACnBjF,EAAOkF,KAAOA,EACdlF,EAAOoC,KAAOA,EACdpC,EAAO9J,KAAOA,EACd8J,EAAOuE,KAAOA,EACdvE,EAAOsd,QAAU,SAACvkC,EAAG+K,EAAG+R,UAAW,IAAIK,EAAKnd,EAAG+K,EAAG+R,IAClDmK,EAAOqK,gBAAkBxF,EAAUwF,gBAEnCrK,EAAO0F,WAAa1F,EAAOud,KAAO7X,EAClC1F,EAAO2F,KAAO3F,EAAOzlB,EAAIorB,GACzB3F,EAAOmG,SAAWnG,EAAO9b,EAAIiiB,GAC7BnG,EAAOsG,SAAWtG,EAAO3lB,EAAIisB,GAC7BtG,EAAO+G,KAAO/G,EAAOjc,EAAIgjB,GACzB/G,EAAOiH,OAASjH,EAAO9nB,EAAI+uB,GAC3BjH,EAAOmH,KAAOnH,EAAOhmB,EAAImtB,GAEzBnH,EAAOqH,UAAYA,GACnBrH,EAAOyH,MAAQzH,EAAO5b,EAAIqjB,GAC1BzH,EAAO8H,WAAa9H,EAAO5mB,EAAI0uB,GAC/B9H,EAAOsI,YAActI,EAAOwd,GAAKlV,GACjCtI,EAAO4I,QAAU5I,EAAOxhB,EAAIoqB,GAC5B5I,EAAO6I,UAAYA,GACnB7I,EAAOsJ,UAAYA,GACnBtJ,EAAOwJ,MAAQA,GACfxJ,EAAO4J,MAAQ5J,EAAOhc,EAAI4lB,GAC1B5J,EAAO+J,OAASA,GAChB/J,EAAOoK,MAAQA,GACfpK,EAAOqL,UAAYA,GACnBrL,EAAO2K,QAAUA,GACjB3K,EAAOsL,YAAcA,GAErBtL,EAAO8L,QAAUA,GACjB9L,EAAOsN,iBAAmBA,GAC1BtN,EAAOwN,cAAgBA,GAEvBxN,EAAO6F,KAAOA,GACd7F,EAAOgb,SAAWA,GAClBhb,EAAOmc,WAAaA,GACpBnc,EAAOiG,UAAYA,GACnBjG,EAAOuc,SAAWA,GAClBvc,EAAO8c,UAAYA,EAEnB9c,EAAO6P,eAAiBA,GACxB7P,EAAOiR,YAAcA,GACrBjR,EAAOgS,cAAgBA,GACvBhS,EAAOkT,aAAeA,GACtBlT,EAAO0S,cAAgBA,GACvB1S,EAAOka,cAAgBla,EAAOyd,cAAgBvD,EAC9Cla,EAAO+a,eAAiBA,GAExB/a,EAAO0d,MAAQA,EACftnB,EAAK9d,OAAO0nB,EAAQoC;;;;;;ACzHpB;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAIub,SAAS,GAAGvlB,QAAQ,CAACwlB,sBAAT,CAAgC,kBAAhC,EAAoD,CAApD,CAAhB;AACA,IAAIC,mBAAJ;AACA,IAAMC,QAAQ,GAAGC,aAAa,CAACC,cAAd,CAA6BD,aAAa,CAACE,eAAd,CAA8B3wB,OAA3D,EAAoE;AAAC5S,EAAAA,SAAS,EAAEqjC,aAAa,CAACG,OAAd,CAAsBxjC,SAAtB,CAAgC4a;AAA5C,CAApE,EAAqInc,IAArI,CAA0IglC,OAAO,CAACC,GAAR,CAAY,kBAAZ,CAA1I,CAAjB;AACA,IAAItkB,GAAG,GAAG,IAAII,KAAJ,EAAV;AAEA;AACA;AACA;AACA;;AACA,IAAImkB,gBAAgB,GAAG,UAAvB;AAGA,IAAIC,GAAJ;AACA,IAAIC,OAAJ;AACA,IAAIlkB,MAAJ;AACA,IAAImkB,QAAJ,EAEA;;AACA,IAAInhB,MAAJ;AACA,IAAIohB,kBAAkB,GAAG,EAAzB;AACA,IAAIC,mBAAmB,GAAG,CAA1B;AACA,IAAIC,mBAAJ;AACA,IAAIC,oBAAoB,GAAG,EAA3B;AACA,IAAIC,YAAY,GAAG;AACf/iC,EAAAA,CAAC,EAAE,GADY;AAEfC,EAAAA,CAAC,EAAE;AAFY,CAAnB;AAIA,IAAI+iC,gBAAgB,GAAG;AACnBhjC,EAAAA,CAAC,EAAE,GADgB;AAEnBC,EAAAA,CAAC,EAAE;AAFgB,CAAvB;AAIA,IAAIgjC,iBAAiB,GAAG;AACpBjjC,EAAAA,CAAC,EAAE,GADiB;AAEpBC,EAAAA,CAAC,EAAE;AAFiB,CAAxB;AAIA,IAAIif,IAAI,GAAG;AAAEoI,EAAAA,MAAM,EAAE,GAAV;AAAeT,EAAAA,GAAG,EAAE;AAApB,CAAX;AACA,IAAIqc,cAAc,GAAC,KAAnB,EAA0B;;AAC1B,IAAIC,UAAJ;AACA,IAAIC,iBAAiB,GAAC,IAAtB,EAA4B;;AAE5B,IAAIC,SAAS,GAAC,KAAd,EAEA;;AACA,IAAIC,eAAe,GAAC,KAApB,EAGA;;AACA,IAAIC,mBAAmB,GAAG,CAA1B;AACA,IAAMC,QAAQ,GAAG,CACb;AACI,cAAY,GADhB;AAEI,eAAa,GAFjB;AAGI,SAAO,iBAHX;AAII,oBAAkB,EAJtB;AAKI,mBAAiB,EALrB;AAMI,uBAAqB;AANzB,CADa,EASb;AACI,cAAY,GADhB;AAEI,eAAa,GAFjB;AAGI,SAAO,mBAHX;AAII,oBAAkB,EAJtB;AAKI,mBAAiB,EALrB;AAMI,uBAAqB;AANzB,CATa,EAiBb;AACI,cAAY,GADhB;AAEI,eAAa,GAFjB;AAGI,SAAO,iBAHX;AAII,oBAAkB,EAJtB;AAKI,mBAAiB,EALrB;AAMI,uBAAqB;AANzB,CAjBa,EAyBb;AACI,cAAY,GADhB;AAEI,eAAa,GAFjB;AAGI,SAAO,oBAHX;AAII,oBAAkB,EAJtB;AAKI,mBAAiB,EALrB;AAMI,uBAAqB;AANzB,CAzBa,EAiCb;AACI,cAAY,GADhB;AAEI,eAAa,EAFjB;AAGI,SAAO,uBAHX;AAII,oBAAkB,EAJtB;AAKI,mBAAiB,EALrB;AAMI,uBAAqB;AANzB,CAjCa,CAAjB;AA6CA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIC,OAAO,GAAGC,QAAQ,CAACC,IAAvB;AACA,IAAIC,gBAAJ,CAAqB,YAAM;AACvB,MAAM7N,GAAG,GAAG2N,QAAQ,CAACC,IAArB;;AACA,MAAI5N,GAAG,KAAK0N,OAAZ,EAAqB;AACjBA,IAAAA,OAAO,GAAG1N,GAAV;AACA8N,IAAAA,WAAW;AACd;AACJ,CAND,EAMGC,OANH,CAMWxnB,QANX,EAMqB;AAACynB,EAAAA,OAAO,EAAE,IAAV;AAAgBC,EAAAA,SAAS,EAAE;AAA3B,CANrB;AAQA;AACA;AACA;;AACA,SAASH,WAAT,GAAuB;AACnB,MAAG,CAACH,QAAQ,CAACC,IAAT,CAAchzB,QAAd,CAAuB,OAAvB,CAAJ,EAAoC;AAChCszB,IAAAA,aAAa,CAAClC,mBAAD,CAAb;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAmC,MAAM,CAACxlC,OAAP,CAAeylC,SAAf,CAAyBppC,WAAzB,CACI,UAASqpC,OAAT,EAAkBC,MAAlB,EAA0BC,YAA1B,EAAwC;AACpCC,EAAAA,eAAe,CAACH,OAAO,CAACI,SAAT,CAAf;AACH,CAHL;;AAMA,SAASD,eAAT,CAAyBE,WAAzB,EAAqC;AACjCC,EAAAA,UAAU;;AACV,MAAID,WAAW,KAAK,UAApB,EAA+B;AAC3BlC,IAAAA,gBAAgB,GAAC,UAAjB;AAEH,GAHD,MAGM,IAAIkC,WAAW,KAAK,eAApB,EAAoC;AACtClC,IAAAA,gBAAgB,GAAC,eAAjB;AAEH,GAHK,MAGA,IAAIkC,WAAW,KAAK,WAApB,EAAgC;AAClClC,IAAAA,gBAAgB,GAAC,WAAjB;AAEH,GAHK,MAGA,IAAGkC,WAAW,KAAK,QAAnB,EAA4B;AAC9BlB,IAAAA,mBAAmB,GAAC,CAApB;AACAoB,IAAAA,SAAS;AACTpC,IAAAA,gBAAgB,GAAC,KAAjB;AAEH,GALK,MAKA,IAAGkC,WAAW,KAAK,WAAnB,EAA+B;AACjClB,IAAAA,mBAAmB,GAAC,CAApB;AACAoB,IAAAA,SAAS;AACTpC,IAAAA,gBAAgB,GAAC,KAAjB;AAEH,GALK,MAKA,IAAGkC,WAAW,KAAK,QAAnB,EAA4B;AAC9BlB,IAAAA,mBAAmB,GAAC,CAApB;AACAoB,IAAAA,SAAS;AACTpC,IAAAA,gBAAgB,GAAC,KAAjB;AAEH,GALK,MAKA,IAAGkC,WAAW,KAAK,WAAnB,EAAgC;AAClClB,IAAAA,mBAAmB,GAAG,CAAtB;AACAoB,IAAAA,SAAS;AACTpC,IAAAA,gBAAgB,GAAG,KAAnB;AACH,GAJK,MAIA,IAAGkC,WAAW,KAAK,cAAnB,EAAkC;AACpClB,IAAAA,mBAAmB,GAAC,CAApB;AACAoB,IAAAA,SAAS;AACTpC,IAAAA,gBAAgB,GAAC,KAAjB;AAEH,GALK,MAKA,IAAGkC,WAAW,KAAK,mBAAnB,EAAuC;AACzClC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,CAApB;AACAgC,IAAAA,aAAa;AAEhB,GALK,MAKA,IAAGH,WAAW,KAAK,kBAAnB,EAAsC;AACxClC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,CAApB;AACAgC,IAAAA,aAAa;AAEhB,GALK,MAKA,IAAGH,WAAW,KAAK,uBAAnB,EAA2C;AAC7ClC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,CAApB;AACAgC,IAAAA,aAAa;AAEhB,GALK,MAKA,IAAGH,WAAW,KAAK,qBAAnB,EAAyC;AAC3ClC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,CAApB;AACAgC,IAAAA,aAAa;AAEhB,GALK,MAKA,IAAGH,WAAW,KAAK,uBAAnB,EAA2C;AAC7ClC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,CAApB;AACAgC,IAAAA,aAAa;AAEhB,GALK,MAKA,IAAGH,WAAW,KAAK,8BAAnB,EAAkD;AACpDlC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,CAApB;AACAgC,IAAAA,aAAa;AAEhB,GALK,MAKA,IAAGH,WAAW,KAAK,uBAAnB,EAA2C;AAC7ClC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,CAApB;AACAgC,IAAAA,aAAa;AAEhB,GALK,MAKA,IAAGH,WAAW,KAAK,sBAAnB,EAA0C;AAC5ClC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,CAApB;AACAgC,IAAAA,aAAa;AAEhB,GALK,MAKA,IAAGH,WAAW,KAAK,kBAAnB,EAAsC;AACxClC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,CAApB;AACAgC,IAAAA,aAAa;AAEhB,GALK,MAKA,IAAGH,WAAW,KAAK,0BAAnB,EAA8C;AAChDlC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,CAApB;AACAgC,IAAAA,aAAa;AAEhB,GALK,MAKA,IAAGH,WAAW,KAAK,sBAAnB,EAA0C;AAC5ClC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,EAApB;AACAgC,IAAAA,aAAa;AAEhB,GALK,MAKA,IAAGH,WAAW,KAAK,kBAAnB,EAAsC;AACxClC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,EAApB;AACAgC,IAAAA,aAAa;AAEhB,GALK,MAKA,IAAGH,WAAW,KAAK,oBAAnB,EAAwC;AAC1ClC,IAAAA,gBAAgB,GAAC,UAAjB;AACAK,IAAAA,mBAAmB,GAAC,EAApB;AACAgC,IAAAA,aAAa;AAEhB;AACJ;AAED;AACA;AACA;;;AACA,SAASA,aAAT,GAAwB;AACpB,MAAG,CAACrC,gBAAgB,CAACsC,UAAjB,CAA4B,UAA5B,CAAJ,EAA4C;AACxC;AACH;;AACDzB,EAAAA,iBAAiB,GAAC,IAAlB;AAEAT,EAAAA,kBAAkB,GAAG,EAArB,CANoB,CAQpB;;AACAH,EAAAA,GAAG,CAACzkB,SAAJ,CAAc,CAAd,EAAgB,CAAhB,EAAkBQ,MAAM,CAACzf,KAAzB,EAA+Byf,MAAM,CAACxf,MAAtC;;AAEA,MAAG6jC,mBAAmB,KAAG,CAAzB,EAA2B;AACvB;AACA;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,EAAT;AACA,QAAIhD,OAAO,GAAG,IAAIgD,sBAAO8L,OAAX,EAAd,CAJuB,CAKvB;;AACA9O,IAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAO+G,IAAX,CAAgB,EAAhB,CAAtB;AACA,QAAI8Z,aAAa,GAAG,IAAI3mB,KAAJ,EAApB;AACA2mB,IAAAA,aAAa,CAAC5mB,GAAd,GAAoB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,sBAAtB,CAApB;;AACAD,IAAAA,aAAa,CAAC1mB,MAAd,GAAuB,YAAM;AACzB6C,MAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAOmH,IAAX,CAAgB0Z,aAAhB,CAAtB;AACH,KAFD;;AAGA7jB,IAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAO2F,IAAX,CAAgB,EAAhB,EAAoB,EAApB,CAAtB;AACA3I,IAAAA,OAAO,CAACmP,IAAR,GAAe,IAAInM,sBAAOkF,IAAX,CAAgB,IAAIlF,sBAAO9J,IAAX,CAAgB,EAAhB,EAAoB,EAApB,CAAhB,EAAyC,EAAzC,CAAf;AACA8G,IAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAO3lB,CAAX,CAAa,IAAI2lB,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAAb,EAAoC,IAAI8J,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,GAAnB,CAApC,EAA6D,OAA7D,CAAtB;AACA8G,IAAAA,OAAO,CAAC6G,YAAR,CAAqB,IAAI7D,sBAAOwJ,KAAX,CAAiB,CAAjB,EAAoB,CAApB,CAArB;AACAxM,IAAAA,OAAO,CAAC6G,YAAR,CAAqB,IAAI7D,sBAAOoK,KAAX,CAAiB,SAAjB,EAA4B,SAA5B,CAArB;AACApN,IAAAA,OAAO,CAAC6G,YAAR,CAAqB,IAAI7D,sBAAO4J,KAAX,CAAiB5J,sBAAOsd,OAAP,CAAe,CAAf,EAAkB,GAAlB,CAAjB,EAAyCtd,sBAAOsd,OAAP,CAAe,CAAf,EAAkB,EAAlB,CAAzC,CAArB;AACAtgB,IAAAA,OAAO,CAACnf,CAAR,CAAU/B,CAAV,GAAc0iC,QAAQ,CAAC5jC,KAAT,GAAiB,CAA/B;AACAoiB,IAAAA,OAAO,CAACnf,CAAR,CAAU9B,CAAV,GAAcyiC,QAAQ,CAAC3jC,MAAT,GAAkB,CAAhC;AACAmiB,IAAAA,OAAO,CAAC9lB,IAAR;AACAmmB,IAAAA,MAAM,CAAC0jB,UAAP,CAAkB/jB,OAAlB;AACAyhB,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,GAAsBzhB,OAAtB,CAtBuB,CAuBvB;;AACAA,IAAAA,OAAO,GAAG,IAAIgD,sBAAO8L,OAAX,EAAV;AACA9O,IAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAO+G,IAAX,CAAgB,EAAhB,CAAtB;AACA,QAAIia,cAAc,GAAG,IAAI9mB,KAAJ,EAArB;AACA8mB,IAAAA,cAAc,CAAC/mB,GAAf,GAAqB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,sBAAtB,CAArB;;AACAE,IAAAA,cAAc,CAAC7mB,MAAf,GAAwB,YAAM;AAC1B6C,MAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAOmH,IAAX,CAAgB6Z,cAAhB,CAAtB;AACH,KAFD;;AAGAhkB,IAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAO2F,IAAX,CAAgB,EAAhB,EAAoB,EAApB,CAAtB;AACA3I,IAAAA,OAAO,CAACmP,IAAR,GAAe,IAAInM,sBAAOkF,IAAX,CAAgB,IAAIlF,sBAAO9J,IAAX,CAAgB,EAAhB,EAAoB,EAApB,CAAhB,EAAyC,EAAzC,CAAf;AACA8G,IAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAO3lB,CAAX,CAAa,IAAI2lB,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAAb,EAAoC,IAAI8J,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,GAAnB,CAApC,EAA6D,OAA7D,CAAtB;AACA8G,IAAAA,OAAO,CAAC6G,YAAR,CAAqB,IAAI7D,sBAAOwJ,KAAX,CAAiB,CAAjB,EAAoB,CAApB,CAArB;AACAxM,IAAAA,OAAO,CAAC6G,YAAR,CAAqB,IAAI7D,sBAAOoK,KAAX,CAAiB,SAAjB,EAA4B,SAA5B,CAArB;AACApN,IAAAA,OAAO,CAAC6G,YAAR,CAAqB,IAAI7D,sBAAO4J,KAAX,CAAiB5J,sBAAOsd,OAAP,CAAe,CAAf,EAAkB,GAAlB,CAAjB,EAAyCtd,sBAAOsd,OAAP,CAAe,CAAf,EAAkB,EAAlB,CAAzC,CAArB;AACAtgB,IAAAA,OAAO,CAACnf,CAAR,CAAU/B,CAAV,GAAc0iC,QAAQ,CAAC5jC,KAAT,GAAiB,CAA/B;AACAoiB,IAAAA,OAAO,CAACnf,CAAR,CAAU9B,CAAV,GAAcyiC,QAAQ,CAAC3jC,MAAT,GAAkB,CAAhC;AACAmiB,IAAAA,OAAO,CAAC9lB,IAAR;AACAmmB,IAAAA,MAAM,CAAC0jB,UAAP,CAAkB/jB,OAAlB;AACAyhB,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,GAAsBzhB,OAAtB;AAEAikB,IAAAA,oBAAoB;AAEvB,GA7CD,MA6CO,IAAGvC,mBAAmB,KAAG,CAAzB,EAA2B;AAC9B;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,EAAT;AACAye,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,GAAwByC,kBAAkB,CAAC7mB,MAAM,CAACzf,KAAP,GAAe,CAAf,GAAmBogB,IAAI,CAACoI,MAAzB,EAAiC/I,MAAM,CAACxf,MAAP,GAAgB,CAAjD,EAAoD,SAApD,EAA+D,SAA/D,CAA1C;AACA4jC,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,GAAwByC,kBAAkB,CAAC7mB,MAAM,CAACzf,KAAP,GAAe,CAAf,GAAmBogB,IAAI,CAACoI,MAAzB,EAAiC/I,MAAM,CAACxf,MAAP,GAAgB,CAAjD,EAAoD,SAApD,EAA+D,SAA/D,CAA1C;AAEAomC,IAAAA,oBAAoB;AAGvB,GATM,MASD,IAAIvC,mBAAmB,KAAG,CAA1B,EAA4B;AAC9B;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,EAAT;AACAye,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,GAAwB,IAAIze,sBAAO8L,OAAX,EAAxB;AACA2S,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBtS,IAAtB,GAA6B,IAAInM,sBAAOkF,IAAX,CAAgB,IAAIlF,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,EAAnB,CAAhB,CAA7B;AACAuoB,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBmC,aAAtB,CAAoC,IAAI5gB,sBAAOiH,MAAX,CAAkB,CAAlB,EAAqB,EAArB,CAApC;AACAwX,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBmC,aAAtB,CAAoC,IAAI5gB,sBAAO2F,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAApC;AACA8Y,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5a,YAAtB,CAAmC,IAAI7D,sBAAOoK,KAAX,CAAiB,QAAjB,CAAnC;AACAqU,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5a,YAAtB,CAAmC,IAAI7D,sBAAOsI,WAAX,CAAuB,EAAvB,EAA2B,CAA3B,EAA8B,IAA9B,CAAnC;AACAmW,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA4Bue,MAAM,CAACzf,KAAP,GAAe,CAA3C;AACA6jC,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA4Bse,MAAM,CAACxf,MAAP,GAAgB,CAA5C;AACA4jC,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBvnC,IAAtB;AACAmmB,IAAAA,MAAM,CAAC0jB,UAAP,CAAkBtC,kBAAkB,CAAC,CAAD,CAApC;AAEA,QAAIvhB,QAAQ,GAAG,IAAI8C,sBAAO6P,cAAX,CAA0BxV,MAA1B,CAAf;AACAgD,IAAAA,MAAM,CAAC8jB,WAAP,CAAmBjkB,QAAnB;AACH,GAhBK,MAgBA,IAAGwhB,mBAAmB,KAAG,CAAzB,EAA2B;AAC7B;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,EAAT;AAEAye,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,GAAwB,IAAIze,sBAAO8L,OAAX,EAAxB;AACA2S,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBhf,OAAtB,GAAgC,MAAhC;AACAgf,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBtS,IAAtB,GAA6B,IAAInM,sBAAOkF,IAAX,CAAgB,GAAhB,CAA7B;;AAEA,QAAI2b,cAAa,GAAG,IAAI3mB,KAAJ,EAApB;;AACA2mB,IAAAA,cAAa,CAAC5mB,GAAd,GAAoB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,sBAAtB,CAApB;;AACAD,IAAAA,cAAa,CAAC1mB,MAAd,GAAuB,YAAM;AACzB6C,MAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAOmH,IAAX,CAAgB0Z,cAAhB,EAA+B,GAA/B,EAAoC,GAApC,CAAtB;AACH,KAFD;;AAIApC,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBmC,aAAtB,CAAoC,IAAI5gB,sBAAO+G,IAAX,CAAgB,CAAhB,CAApC,EAAwD,IAAI/G,sBAAOiH,MAAX,CAAkBjH,sBAAOsd,OAAP,CAAe,CAAf,EAAkB,EAAlB,CAAlB,CAAxD;AACAmB,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBmC,aAAtB,CAAoC,IAAI5gB,sBAAOsG,QAAX,CAAoB,IAAItG,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAApB,EAA2C,IAAI8J,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,GAAnB,CAA3C,EAAoE,OAApE,CAApC;AAEA2oB,IAAAA,YAAY,GAAG;AACX/iC,MAAAA,CAAC,EAAEue,MAAM,CAACzf,KAAP,GAAe,CADP;AAEXmB,MAAAA,CAAC,EAAEse,MAAM,CAACxf,MAAP,GAAgB;AAFR,KAAf;AAIA8jC,IAAAA,mBAAmB,GAAG,IAAI3e,sBAAO8H,UAAX,CAAsB+W,YAAtB,EAAoC,EAApC,EAAwC,GAAxC,CAAtB;AACAJ,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5a,YAAtB,CAAmC8a,mBAAnC,EAAyD,IAAI3e,sBAAOoK,KAAX,CAAiB,QAAjB,CAAzD;AACAqU,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5a,YAAtB,CAAmC,IAAI7D,sBAAO4J,KAAX,CAAiB5J,sBAAOsd,OAAP,CAAe,EAAf,EAAmB,EAAnB,CAAjB,CAAnC;AAEAmB,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA4Bue,MAAM,CAACzf,KAAP,GAAe,CAA3C;AACA6jC,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA4Bse,MAAM,CAACxf,MAAP,GAAgB,CAA5C;AACA4jC,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBvnC,IAAtB,CAA2B,MAA3B;AACAmmB,IAAAA,MAAM,CAAC0jB,UAAP,CAAkBtC,kBAAkB,CAAC,CAAD,CAApC;;AAEA,QAAIvhB,SAAQ,GAAG,IAAI8C,sBAAO6P,cAAX,CAA0BxV,MAA1B,CAAf;;AACAgD,IAAAA,MAAM,CAAC8jB,WAAP,CAAmBjkB,SAAnB;AACH,GAhCK,MAgCA,IAAGwhB,mBAAmB,KAAG,CAAzB,EAA2B;AAC7B;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,EAAT;AACAye,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,GAAwB,IAAIze,sBAAO8L,OAAX,EAAxB;AACA2S,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBtS,IAAtB,GAA6B,IAAInM,sBAAOkF,IAAX,CAAgB,IAAIlF,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,EAAnB,CAAhB,EAAwC,IAAI8J,sBAAO9J,IAAX,CAAgB,GAAhB,EAAqB,EAArB,CAAxC,CAA7B;;AAEA,QAAI2qB,eAAa,GAAG,IAAI3mB,KAAJ,EAApB;;AACA2mB,IAAAA,eAAa,CAAC5mB,GAAd,GAAoB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,uBAAtB,CAApB;;AACAD,IAAAA,eAAa,CAAC1mB,MAAd,GAAuB,YAAM;AACzBskB,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBmC,aAAtB,CAAoC,IAAI5gB,sBAAOmH,IAAX,CAAgB0Z,eAAhB,CAApC;AACH,KAFD;;AAIApC,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBmC,aAAtB,CAAoC,IAAI5gB,sBAAOmH,IAAX,CAAgB5rB,KAAhB,CAApC;AACAkjC,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBmC,aAAtB,CAAoC,IAAI5gB,sBAAO+G,IAAX,CAAgB,CAAhB,CAApC;AACA0X,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBmC,aAAtB,CAAoC,IAAI5gB,sBAAO2F,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAApC;AACA8Y,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBmC,aAAtB,CAAoC,IAAI5gB,sBAAO3lB,CAAX,CAAa,IAAI2lB,sBAAO9J,IAAX,CAAgB,GAAhB,EAAqB,GAArB,CAAb,EAAwC,IAAI8J,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,GAAnB,CAAxC,EAAiE,OAAjE,CAApC;AAEAuoB,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5a,YAAtB,CAAmC,IAAI7D,sBAAOwJ,KAAX,CAAiB,CAAjB,EAAoB,CAAC,EAAD,EAAK,CAAL,CAApB,CAAnC;AACA,QAAI/nB,KAAK,GAAG,IAAIue,sBAAO4J,KAAX,CAAiB,CAAjB,EAAoB,CAApB,CAAZ;AACA6U,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5a,YAAtB,CAAmCpiB,KAAnC;AACAg9B,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5a,YAAtB,CAAmC,IAAI7D,sBAAOoK,KAAX,CAAiB,QAAjB,EAA2B,QAA3B,EAAqCzU,QAArC,EAA+CqK,sBAAOohB,UAAtD,CAAnC;AAEA3C,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA4Bue,MAAM,CAACzf,KAAP,GAAe,CAA3C;AACA6jC,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA4Bse,MAAM,CAACxf,MAAP,GAAgB,CAA5C;AACA4jC,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBvnC,IAAtB;AACAmmB,IAAAA,MAAM,CAAC0jB,UAAP,CAAkBtC,kBAAkB,CAAC,CAAD,CAApC;;AAEA,QAAIvhB,UAAQ,GAAG,IAAI8C,sBAAO6P,cAAX,CAA0BxV,MAA1B,CAAf;;AACAgD,IAAAA,MAAM,CAAC8jB,WAAP,CAAmBjkB,UAAnB;AACH,GA7BK,MA6BA,IAAGwhB,mBAAmB,KAAG,CAAzB,EAA2B;AAC7B;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,CAAW,IAAX,CAAT;AAEAqhB,IAAAA,aAAa,CAAChnB,MAAM,CAACzf,KAAP,GAAa,EAAd,EAAkByf,MAAM,CAACxf,MAAP,GAAgB,CAAlC,EAAqC,CAArC,EAAwC,SAAxC,EAAmDkkC,iBAAnD,EAAsE,CAAtE,CAAb;AACAsC,IAAAA,aAAa,CAAChnB,MAAM,CAACzf,KAAP,GAAa,EAAd,EAAkByf,MAAM,CAACxf,MAAP,GAAgB,CAAlC,EAAqC,GAArC,EAA0C,SAA1C,EAAqDikC,gBAArD,EAAuE,CAAvE,CAAb;;AACA,QAAI5hB,UAAQ,GAAG,IAAI8C,sBAAO6P,cAAX,CAA0BxV,MAA1B,CAAf;;AACAgD,IAAAA,MAAM,CAAC8jB,WAAP,CAAmBjkB,UAAnB;AACH,GARK,MAQA,IAAGwhB,mBAAmB,KAAG,CAAzB,EAA2B;AAC7B;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,EAAT;;AACA,QAAI6gB,eAAa,GAAG,IAAI3mB,KAAJ,EAApB;;AACA2mB,IAAAA,eAAa,CAAC5mB,GAAd,GAAoB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,sBAAtB,CAApB;;AACAD,IAAAA,eAAa,CAAC1mB,MAAd,GAAuB,YAAM;AACzBmnB,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BT,eAA5B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BT,eAA5B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAxB,EAA2BT,eAA3B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAxB,EAA2BT,eAA3B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAC,EAAzB,EAA6BT,eAA7B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAC,EAAzB,EAA6BT,eAA7B,CAAtB;AACH,KAPD;;AASAI,IAAAA,oBAAoB;AACvB,GAfK,MAeA,IAAGvC,mBAAmB,KAAG,CAAzB,EAA2B;AAC7B;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,EAAT;;AACA,QAAI6gB,eAAa,GAAG,IAAI3mB,KAAJ,EAApB;;AACA2mB,IAAAA,eAAa,CAAC5mB,GAAd,GAAoB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,sBAAtB,CAApB;;AACAD,IAAAA,eAAa,CAAC1mB,MAAd,GAAuB,YAAM;AACzBonB,MAAAA,qBAAqB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BV,eAA5B,CAArB;AACAU,MAAAA,qBAAqB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAC,EAAzB,EAA6BV,eAA7B,CAArB;AAEH,KAJD;;AAMAI,IAAAA,oBAAoB;AACvB,GAZK,MAYA,IAAGvC,mBAAmB,KAAG,CAAzB,EAA2B;AAC7B;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,EAAT;;AACA,QAAI6gB,eAAa,GAAG,IAAI3mB,KAAJ,EAApB;;AACA2mB,IAAAA,eAAa,CAAC5mB,GAAd,GAAoB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,sBAAtB,CAApB;;AACAD,IAAAA,eAAa,CAAC1mB,MAAd,GAAuB,YAAM;AACzBqnB,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BX,eAA5B,CAAtB;AACAW,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAC,EAAzB,EAA6BX,eAA7B,CAAtB;AAEH,KAJD;;AAMAI,IAAAA,oBAAoB;AACvB,GAZK,MAYA,IAAGvC,mBAAmB,KAAG,CAAzB,EAA2B;AAC7B;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,EAAT;;AACA,QAAI6gB,eAAa,GAAG,IAAI3mB,KAAJ,EAApB;;AACA2mB,IAAAA,eAAa,CAAC5mB,GAAd,GAAoB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,sBAAtB,CAApB;;AACAD,IAAAA,eAAa,CAAC1mB,MAAd,GAAuB,YAAM;AACzBsnB,MAAAA,iCAAiC,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BZ,eAA5B,CAAjC;AACAY,MAAAA,iCAAiC,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAC,EAAzB,EAA6BZ,eAA7B,CAAjC;AAEH,KAJD;;AAMAI,IAAAA,oBAAoB;AACvB,GAZK,MAYA,IAAGvC,mBAAmB,KAAG,EAAzB,EAA4B;AAC9B;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,EAAT;AAEA,QAAI0hB,WAAW,GAAG,IAAIxnB,KAAJ,EAAlB;AACAwnB,IAAAA,WAAW,CAACznB,GAAZ,GAAkB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,qBAAtB,CAAlB;;AACAY,IAAAA,WAAW,CAACvnB,MAAZ,GAAqB,YAAM;AACvBwnB,MAAAA,yBAAyB,CAAC,CAAD,EAAID,WAAJ,CAAzB;AACH,KAFD;;AAIA,QAAIE,WAAW,GAAG,IAAI1nB,KAAJ,EAAlB;AACA0nB,IAAAA,WAAW,CAAC3nB,GAAZ,GAAkB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,qBAAtB,CAAlB;;AACAc,IAAAA,WAAW,CAACznB,MAAZ,GAAqB,YAAM;AACvBwnB,MAAAA,yBAAyB,CAAC,CAAD,EAAIC,WAAJ,CAAzB;AACH,KAFD;;AAIA,QAAI1kB,UAAQ,GAAG,IAAI8C,sBAAO6P,cAAX,CAA0BxV,MAA1B,CAAf;;AACA6C,IAAAA,UAAQ,CAAC0R,cAAT,GAA0B,YAAW;AACjC0P,MAAAA,GAAG,CAACzkB,SAAJ,CAAc,CAAd,EAAgB,CAAhB,EAAkBQ,MAAM,CAACzf,KAAzB,EAA+Byf,MAAM,CAACxf,MAAtC;AACH,KAFD;;AAGAwiB,IAAAA,MAAM,CAAC8jB,WAAP,CAAmBjkB,UAAnB;AACH,GArBK,MAqBA,IAAGwhB,mBAAmB,KAAG,EAAzB,EAA4B;AAC9B;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,EAAT;;AACA,QAAI6gB,eAAa,GAAG,IAAI3mB,KAAJ,EAApB;;AACA2mB,IAAAA,eAAa,CAAC5mB,GAAd,GAAoB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,sBAAtB,CAApB;;AACAD,IAAAA,eAAa,CAAC1mB,MAAd,GAAuB,YAAM;AACzBmnB,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BT,eAA5B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BT,eAA5B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAxB,EAA2BT,eAA3B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAxB,EAA2BT,eAA3B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAC,EAAzB,EAA6BT,eAA7B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAC,EAAzB,EAA6BT,eAA7B,CAAtB;AAEAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BT,eAA5B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BT,eAA5B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAxB,EAA2BT,eAA3B,CAAtB;AAEAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAC,EAAzB,EAA6BT,eAA7B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,EAAD,EAAK,SAAL,EAAe,SAAf,EAAyB,CAAC,EAA1B,EAA8BT,eAA9B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,EAAD,EAAK,SAAL,EAAe,SAAf,EAAyB,CAAzB,EAA4BT,eAA5B,CAAtB;AACH,KAfD;;AAiBAI,IAAAA,oBAAoB;AACvB,GAvBK,MAuBA,IAAGvC,mBAAmB,KAAG,EAAzB,EAA4B;AAC9B;AACArhB,IAAAA,MAAM,GAAG,IAAI2C,qBAAJ,EAAT;;AACA,QAAI6gB,eAAa,GAAG,IAAI3mB,KAAJ,EAApB;;AACA2mB,IAAAA,eAAa,CAAC5mB,GAAd,GAAoB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,sBAAtB,CAApB;;AACAD,IAAAA,eAAa,CAAC1mB,MAAd,GAAuB,YAAM;AACzBmnB,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BT,eAA5B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BT,eAA5B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAxB,EAA2BT,eAA3B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAxB,EAA2BT,eAA3B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAC,EAAzB,EAA6BT,eAA7B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAC,EAAzB,EAA6BT,eAA7B,CAAtB;AAEAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BT,eAA5B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,EAAxB,EAA4BT,eAA5B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAxB,EAA2BT,eAA3B,CAAtB;AAEAS,MAAAA,sBAAsB,CAAC,CAAD,EAAI,SAAJ,EAAc,SAAd,EAAwB,CAAC,EAAzB,EAA6BT,eAA7B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,EAAD,EAAK,SAAL,EAAe,SAAf,EAAyB,CAAC,EAA1B,EAA8BT,eAA9B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,EAAD,EAAK,SAAL,EAAe,SAAf,EAAyB,CAAzB,EAA4BT,eAA5B,CAAtB;AAEAS,MAAAA,sBAAsB,CAAC,EAAD,EAAK,SAAL,EAAe,SAAf,EAAyB,GAAzB,EAA8BT,eAA9B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,EAAD,EAAK,SAAL,EAAe,SAAf,EAAyB,CAAC,GAA1B,EAA+BT,eAA/B,CAAtB;AAEAS,MAAAA,sBAAsB,CAAC,EAAD,EAAK,SAAL,EAAe,SAAf,EAAyB,CAAC,EAA1B,EAA8BT,eAA9B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,EAAD,EAAK,SAAL,EAAe,SAAf,EAAyB,EAAzB,EAA6BT,eAA7B,CAAtB;AAEAS,MAAAA,sBAAsB,CAAC,EAAD,EAAK,SAAL,EAAe,SAAf,EAAyB,CAAzB,EAA4BT,eAA5B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,EAAD,EAAK,SAAL,EAAe,SAAf,EAAyB,EAAzB,EAA6BT,eAA7B,CAAtB;AACAS,MAAAA,sBAAsB,CAAC,EAAD,EAAK,SAAL,EAAe,SAAf,EAAyB,CAAC,EAA1B,EAA8BT,eAA9B,CAAtB;AAEH,KA1BD;;AA4BAI,IAAAA,oBAAoB;AACvB;;AACD/B,EAAAA,iBAAiB,GAAC,KAAlB;AAEH;;AAED,SAASyC,yBAAT,CAAmCljB,YAAnC,EAAiDljB,KAAjD,EAAuD;AACnDkjC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,GAAmC,IAAIuB,sBAAO8L,OAAX,EAAnC;AACA2S,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC0N,IAAjC,GAAwC,IAAInM,sBAAOkF,IAAX,CAAgB,IAAIlF,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAAhB,EAAuC,GAAvC,CAAxC;AACAuoB,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAOmH,IAAX,CAAgB5rB,KAAhB,EAAuB,EAAvB,EAA2B,EAA3B,CAA/C;AACAkjC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO+G,IAAX,CAAgB,CAAhB,CAA/C;AACA0X,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO2F,IAAX,CAAgB,GAAhB,EAAqB,GAArB,CAA/C;AACA8Y,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAOsG,QAAX,CAAoB,CAApB,EAAuBtG,sBAAOsd,OAAP,CAAe,CAAf,EAAkB,GAAlB,CAAvB,EAA+C,OAA/C,CAA/C;AAEAmB,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAO+J,MAAX,EAA9C;AACA0U,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAO4I,OAAX,CAAmB,CAAnB,CAA9C;AACA6V,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOwJ,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAA9C,EAVmD,CAWnD;;AAEAiV,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC5gB,CAAjC,CAAmC/B,CAAnC,GAAuCue,MAAM,CAACzf,KAAP,GAAe,CAAtD;AACA6jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC5gB,CAAjC,CAAmC9B,CAAnC,GAAuCse,MAAM,CAACxf,MAAP,GAAgB,CAAvD;AACAwiB,EAAAA,MAAM,CAAC0jB,UAAP,CAAkBtC,kBAAkB,CAAChgB,YAAD,CAApC;AACAggB,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCvnB,IAAjC;AACH;;AAED,SAASuqC,iCAAT,CAA2ChjB,YAA3C,EAAyDojB,MAAzD,EAAiEC,MAAjE,EAAyElX,KAAzE,EAAgFrvB,KAAhF,EAAsF;AAClFkjC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,GAAkC,IAAIuB,sBAAO8L,OAAX,EAAlC;AACA2S,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC0N,IAAjC,GAAwC,IAAInM,sBAAOkF,IAAX,CAAgB,IAAIlF,sBAAO9J,IAAX,CAAgB,EAAhB,EAAoB,EAApB,CAAhB,EAAyC,IAAI8J,sBAAO9J,IAAX,CAAgB,GAAhB,EAAqB,IAArB,CAAzC,CAAxC;AAEAuoB,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO+G,IAAX,CAAgB,EAAhB,CAA/C;AACA0X,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO2F,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAA/C;AACA8Y,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAOmH,IAAX,CAAgB5rB,KAAhB,EAAuB,CAAvB,CAA/C;AACAkjC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAOiH,MAAX,CAAkB,CAAlB,CAA/C;AACAwX,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO3lB,CAAX,CAAa,IAAI2lB,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAAb,EAAoC0U,KAApC,EAA2C,OAA3C,CAA/C;AAEA6T,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOwJ,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAA9C;AACAiV,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOsI,WAAX,CAAuB,EAAvB,EAA2B,EAA3B,EAA+B,CAA/B,CAA9C;AACAmW,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOoK,KAAX,CAAiByX,MAAjB,EAAyBC,MAAzB,CAA9C;AACArD,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAO4J,KAAX,CAAiB,CAAjB,EAAoB,CAApB,CAA9C;AACA6U,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOsJ,SAAX,CAAqB,IAAItJ,sBAAOuc,QAAX,CAAoB,CAApB,EAAuB,CAAvB,EAA0BiC,QAAQ,CAAC5jC,KAAnC,EAA0C4jC,QAAQ,CAAC3jC,MAAnD,CAArB,EAAiF,MAAjF,CAA9C;AAEA4jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC5gB,CAAjC,CAAmC/B,CAAnC,GAAuC0iC,QAAQ,CAAC5jC,KAAT,GAAiB,CAAxD;AACA6jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC5gB,CAAjC,CAAmC9B,CAAnC,GAAuCyiC,QAAQ,CAAC3jC,MAAT,GAAkB,CAAzD;AACA4jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCvnB,IAAjC;AACAmmB,EAAAA,MAAM,CAAC0jB,UAAP,CAAkBtC,kBAAkB,CAAChgB,YAAD,CAApC;AACH;;AAED,SAAS+iB,sBAAT,CAAgC/iB,YAAhC,EAA8CojB,MAA9C,EAAsDC,MAAtD,EAA8DlX,KAA9D,EAAqErvB,KAArE,EAA2E;AACvEkjC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,GAAkC,IAAIuB,sBAAO8L,OAAX,EAAlC;AACA2S,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC0N,IAAjC,GAAwC,IAAInM,sBAAOkF,IAAX,CAAgB,IAAIlF,sBAAO9J,IAAX,CAAgB,EAAhB,EAAoB,EAApB,CAAhB,EAAyC,IAAI8J,sBAAO9J,IAAX,CAAgB,GAAhB,EAAqB,IAArB,CAAzC,CAAxC;AAEAuoB,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO+G,IAAX,CAAgB,CAAhB,CAA/C;AACA0X,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO2F,IAAX,CAAgB,CAAhB,EAAmB,EAAnB,CAA/C;AACA8Y,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAOmH,IAAX,CAAgB5rB,KAAhB,EAAuB,CAAvB,CAA/C;AACAkjC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAOiH,MAAX,CAAkB,CAAlB,CAA/C;AACAwX,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO3lB,CAAX,CAAa,IAAI2lB,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAAb,EAAoC0U,KAApC,EAA2C,OAA3C,CAA/C;AAEA6T,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOwJ,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAA9C;AACAiV,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOoK,KAAX,CAAiByX,MAAjB,EAAyBC,MAAzB,CAA9C;AACArD,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAO4J,KAAX,CAAiB,CAAjB,EAAoB,GAApB,CAA9C;AACA6U,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOsJ,SAAX,CAAqB,IAAItJ,sBAAOuc,QAAX,CAAoB,CAApB,EAAuB,CAAvB,EAA0BiC,QAAQ,CAAC5jC,KAAnC,EAA0C4jC,QAAQ,CAAC3jC,MAAnD,CAArB,EAAiF,MAAjF,CAA9C;AAEA4jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC5gB,CAAjC,CAAmC/B,CAAnC,GAAuC0iC,QAAQ,CAAC5jC,KAAT,GAAiB,CAAxD;AACA6jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC5gB,CAAjC,CAAmC9B,CAAnC,GAAuCyiC,QAAQ,CAAC3jC,MAAT,GAAkB,CAAzD;AACA4jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCvnB,IAAjC;AACAmmB,EAAAA,MAAM,CAAC0jB,UAAP,CAAkBtC,kBAAkB,CAAChgB,YAAD,CAApC;AACH;;AAED,SAAS6iB,sBAAT,CAAgC7iB,YAAhC,EAA8CojB,MAA9C,EAAsDC,MAAtD,EAA8DlX,KAA9D,EAAqErvB,KAArE,EAA2E;AACvEkjC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,GAAkC,IAAIuB,sBAAO8L,OAAX,EAAlC;AACA2S,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC0N,IAAjC,GAAwC,IAAInM,sBAAOkF,IAAX,CAAgB,IAAIlF,sBAAO9J,IAAX,CAAgB,EAAhB,EAAoB,EAApB,CAAhB,EAAyC,IAAI8J,sBAAO9J,IAAX,CAAgB,GAAhB,EAAqB,IAArB,CAAzC,CAAxC;AAEAuoB,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO+G,IAAX,CAAgB,CAAhB,CAA/C;AACA0X,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO2F,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAA/C;AACA8Y,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAOmH,IAAX,CAAgB5rB,KAAhB,EAAuB,EAAvB,CAA/C;AACAkjC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAOiH,MAAX,CAAkB,CAAlB,CAA/C;AACAwX,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO3lB,CAAX,CAAa,IAAI2lB,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAAb,EAAoC0U,KAApC,EAA2C,OAA3C,CAA/C;AAEA6T,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOwJ,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAA9C;AACAiV,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOoK,KAAX,CAAiByX,MAAjB,EAAyBC,MAAzB,CAA9C;AACArD,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAO4J,KAAX,CAAiB,CAAjB,EAAoB,GAApB,CAA9C;AACA6U,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOsJ,SAAX,CAAqB,IAAItJ,sBAAOuc,QAAX,CAAoB,CAApB,EAAuB,CAAvB,EAA0BiC,QAAQ,CAAC5jC,KAAnC,EAA0C4jC,QAAQ,CAAC3jC,MAAnD,CAArB,EAAiF,MAAjF,CAA9C;AAEA4jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC5gB,CAAjC,CAAmC/B,CAAnC,GAAuC0iC,QAAQ,CAAC5jC,KAAT,GAAiB,CAAxD;AACA6jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC5gB,CAAjC,CAAmC9B,CAAnC,GAAuCyiC,QAAQ,CAAC3jC,MAAT,GAAkB,CAAzD;AACA4jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCvnB,IAAjC;AACAmmB,EAAAA,MAAM,CAAC0jB,UAAP,CAAkBtC,kBAAkB,CAAChgB,YAAD,CAApC;AACH;;AAED,SAAS8iB,qBAAT,CAA+B9iB,YAA/B,EAA6CojB,MAA7C,EAAqDC,MAArD,EAA6DlX,KAA7D,EAAoErvB,KAApE,EAA0E;AACtEkjC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,GAAkC,IAAIuB,sBAAO8L,OAAX,EAAlC;AACA2S,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC0N,IAAjC,GAAwC,IAAInM,sBAAOkF,IAAX,CAAgB,IAAIlF,sBAAO9J,IAAX,CAAgB,EAAhB,EAAoB,EAApB,CAAhB,EAAyC,IAAI8J,sBAAO9J,IAAX,CAAgB,GAAhB,EAAqB,IAArB,CAAzC,CAAxC;AAEAuoB,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO+G,IAAX,CAAgB,CAAhB,CAA/C;AACA0X,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO2F,IAAX,CAAgB,CAAhB,EAAmB,EAAnB,CAA/C;AACA8Y,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAOmH,IAAX,CAAgB5rB,KAAhB,EAAuB,EAAvB,CAA/C;AACAkjC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAOiH,MAAX,CAAkB,CAAlB,CAA/C;AACAwX,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO3lB,CAAX,CAAa,IAAI2lB,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAAb,EAAoC0U,KAApC,EAA2C,OAA3C,CAA/C;AAEA6T,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOwJ,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAA9C;AACAiV,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOoK,KAAX,CAAiByX,MAAjB,EAAyBC,MAAzB,CAA9C;AACArD,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAO4J,KAAX,CAAiB,CAAjB,EAAoB,GAApB,CAA9C;AACA6U,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOsJ,SAAX,CAAqB,IAAItJ,sBAAOuc,QAAX,CAAoB,CAApB,EAAuB,CAAvB,EAA0BiC,QAAQ,CAAC5jC,KAAnC,EAA0C4jC,QAAQ,CAAC3jC,MAAnD,CAArB,EAAiF,MAAjF,CAA9C;AAEA4jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC5gB,CAAjC,CAAmC/B,CAAnC,GAAuC0iC,QAAQ,CAAC5jC,KAAT,GAAiB,CAAxD;AACA6jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC5gB,CAAjC,CAAmC9B,CAAnC,GAAuCyiC,QAAQ,CAAC3jC,MAAT,GAAkB,CAAzD;AACA4jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCvnB,IAAjC;AACAmmB,EAAAA,MAAM,CAAC0jB,UAAP,CAAkBtC,kBAAkB,CAAChgB,YAAD,CAApC;AACH;;AAED,SAASwiB,oBAAT,GAAwD;AAAA,MAA1Bc,mBAA0B,uEAAN,KAAM;;AACpD;AACA,MAAI;AACA9C,IAAAA,UAAU,GAAG,IAAIjf,sBAAOka,aAAX,CAAyBsE,QAAzB,CAAb;AACAS,IAAAA,UAAU,CAACxK,SAAX,CAAqB,WAArB,EAAkC,KAAlC;AACApX,IAAAA,MAAM,CAAC8jB,WAAP,CAAmBlC,UAAnB;AACH,GAJD,CAIC,OAAOvqC,CAAP,EAAS;AACN,QAAMwoB,QAAQ,GAAG,IAAI8C,sBAAO6P,cAAX,CAA0BxV,MAA1B,CAAjB;AACAgD,IAAAA,MAAM,CAAC8jB,WAAP,CAAmBjkB,QAAnB;AACH;AACJ;;AAED,SAASmkB,aAAT,CAAuBvlC,CAAvB,EAA0BC,CAA1B,EAA6B6uB,KAA7B,EAAoCtM,KAApC,EAA2C0jB,OAA3C,EAAoDvjB,YAApD,EAAkE;AAC9DggB,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,GAAmC,IAAIuB,sBAAO8L,OAAX,EAAnC;AACA2S,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC0N,IAAjC,GAAwC,IAAInM,sBAAOkF,IAAX,CAAgB,IAAIlF,sBAAO9J,IAAX,CAAgB,EAAhB,EAAoB,EAApB,CAAhB,EAAyC,IAAI8J,sBAAO9J,IAAX,CAAgB,EAAhB,CAAzC,CAAxC;AACAuoB,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO+G,IAAX,CAAgB,CAAhB,CAA/C;AACA0X,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO2F,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAA/C;AACA8Y,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAOiH,MAAX,CAAkB,CAAlB,EAAoB,GAApB,CAA/C;AACAwX,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCmiB,aAAjC,CAA+C,IAAI5gB,sBAAO3lB,CAAX,CAAa,IAAI2lB,sBAAO9J,IAAX,CAAgB,GAAhB,EAAqB,CAArB,CAAb,EAAsC,IAAI8J,sBAAO9J,IAAX,CAAgB,EAAhB,EAAoB,EAApB,EAAwB,IAAxB,CAAtC,EAAqE,OAArE,CAA/C;AACAuoB,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOwJ,KAAX,CAAiB,CAAjB,EAAoB,CAApB,CAA9C;AACAiV,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOoK,KAAX,CAAiB9L,KAAjB,CAA9C;AACAmgB,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAO8H,UAAX,CAAsBka,OAAtB,EAA+B,EAA/B,EAAmC,GAAnC,CAA9C;AACAvD,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCoF,YAAjC,CAA8C,IAAI7D,sBAAOsJ,SAAX,CAAqB,IAAItJ,sBAAOuc,QAAX,CAAoB,CAApB,EAAuB,CAAvB,EAA0BliB,MAAM,CAACzf,KAAjC,EAAwCyf,MAAM,CAACxf,MAA/C,CAArB,EAA6E,OAA7E,CAA9C;AACA4jC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC5gB,CAAjC,CAAmC/B,CAAnC,GAAuCA,CAAvC;AACA2iC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC5gB,CAAjC,CAAmC9B,CAAnC,GAAuCA,CAAvC;AACA0iC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiCvnB,IAAjC;AACAunC,EAAAA,kBAAkB,CAAChgB,YAAD,CAAlB,CAAiC7gB,QAAjC,GAA4CgtB,KAA5C;AACAvN,EAAAA,MAAM,CAAC0jB,UAAP,CAAkBtC,kBAAkB,CAAChgB,YAAD,CAApC;AACH;;AAED,SAASyiB,kBAAT,CAA4BplC,CAA5B,EAA+BC,CAA/B,EAAkCkmC,MAAlC,EAA0CC,MAA1C,EAAkD;AAC9C,MAAIllB,OAAO,GAAG,IAAIgD,sBAAO8L,OAAX,EAAd;AACA9O,EAAAA,OAAO,CAACmP,IAAR,GAAe,IAAInM,sBAAOkF,IAAX,CAAgB,IAAIlF,sBAAO9J,IAAX,CAAgB,CAAhB,EAAmB,CAAnB,CAAhB,EAAuC,IAAI8J,sBAAO9J,IAAX,CAAgB,GAAhB,EAAqB,GAArB,CAAvC,CAAf;AAEA8G,EAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAO+G,IAAX,CAAgB,CAAhB,CAAtB;AACA/J,EAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAO2F,IAAX,CAAgB,CAAhB,CAAtB;AACA,MAAIkb,aAAa,GAAG,IAAI3mB,KAAJ,EAApB;AACA2mB,EAAAA,aAAa,CAAC5mB,GAAd,GAAoB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,sBAAtB,CAApB;;AACAD,EAAAA,aAAa,CAAC1mB,MAAd,GAAuB,YAAM;AACzB6C,IAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAOmH,IAAX,CAAgB0Z,aAAhB,EAA+B,EAA/B,CAAtB;AACH,GAFD;;AAGA7jB,EAAAA,OAAO,CAAC4jB,aAAR,CAAsB,IAAI5gB,sBAAOiH,MAAX,CAAkB,EAAlB,CAAtB;AAEAjK,EAAAA,OAAO,CAAC6G,YAAR,CAAqB,IAAI7D,sBAAOwJ,KAAX,CAAiB,CAAjB,EAAoB,CAApB,CAArB;AACAxM,EAAAA,OAAO,CAAC6G,YAAR,CAAqB,IAAI7D,sBAAOoK,KAAX,CAAiB6X,MAAjB,EAAyBC,MAAzB,CAArB;AACAllB,EAAAA,OAAO,CAAC6G,YAAR,CAAqB,IAAI7D,sBAAO4J,KAAX,CAAiB,GAAjB,EAAsB,GAAtB,CAArB;AACA5M,EAAAA,OAAO,CAAC6G,YAAR,CAAqB,IAAI7D,sBAAOsJ,SAAX,CAAqB,IAAItJ,sBAAOuc,QAAX,CAAoB,CAApB,EAAuB,CAAvB,EAA0BliB,MAAM,CAACzf,KAAjC,EAAwCyf,MAAM,CAACxf,MAA/C,CAArB,EAA6E,MAA7E,CAArB;AACA,MAAI8jC,mBAAmB,GAAG,IAAI3e,sBAAO8H,UAAX,CAAsB+W,YAAtB,EAAoC,CAApC,EAAuC,CAAvC,CAA1B;AACAD,EAAAA,oBAAoB,CAAC3oC,IAArB,CAA0B0oC,mBAA1B;AACA3hB,EAAAA,OAAO,CAAC6G,YAAR,CAAqB8a,mBAArB;AAEA3hB,EAAAA,OAAO,CAACnf,CAAR,CAAU/B,CAAV,GAAcA,CAAd;AACAkhB,EAAAA,OAAO,CAACnf,CAAR,CAAU9B,CAAV,GAAcA,CAAd;AACAihB,EAAAA,OAAO,CAAC9lB,IAAR;AACAmmB,EAAAA,MAAM,CAAC0jB,UAAP,CAAkB/jB,OAAlB;AAEA,SAAOA,OAAP;AACH;AAGD;AACA;AACA;AACA;AACA;;;AACA,SAASmlB,eAAT,CAAyBvmC,SAAzB,EAAmC;AAC/B,MAAGA,SAAS,KAAK2a,SAAjB,EAA2B;AACvB;AACH;;AAED,MAAG2oB,iBAAiB,KAAG,IAAvB,EAA4B;AACxB;AACH;;AAED,UAAQR,mBAAR;AACI,SAAK,CAAL;AAAQ;AACJD,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA4BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAA1C;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA4BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAA1C;AAEA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA4BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAzC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA4BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAzC;AACA;;AACJ,SAAK,CAAL;AAAQ;AACJ0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA4BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAb,GAAiBkf,IAAI,CAACoI,MAAL,GAActmB,IAAI,CAACqB,GAAL,CAASrB,IAAI,CAACC,EAAL,GAAU,CAAV,GAAcie,IAAI,CAAC2H,GAA5B,CAA3D;AACA8b,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA4BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAb,GAAiBif,IAAI,CAACoI,MAAL,GAActmB,IAAI,CAACoB,GAAL,CAASpB,IAAI,CAACC,EAAL,GAAU,CAAV,GAAcie,IAAI,CAAC2H,GAA5B,CAA3D;AACA8b,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA4BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAb,GAAiBkf,IAAI,CAACoI,MAAL,GAActmB,IAAI,CAACqB,GAAL,CAAS,CAACrB,IAAI,CAACC,EAAN,GAAW,CAAX,GAAeie,IAAI,CAAC2H,GAA7B,CAA3D;AACA8b,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA4BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAb,GAAiBif,IAAI,CAACoI,MAAL,GAActmB,IAAI,CAACoB,GAAL,CAAS,CAACpB,IAAI,CAACC,EAAN,GAAW,CAAX,GAAeie,IAAI,CAAC2H,GAA7B,CAA3D;AACA3H,MAAAA,IAAI,CAAC2H,GAAL,IAAY,EAAZ;AACA;;AACJ,SAAK,CAAL;AACI8b,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA4BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAA1C;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA4BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAA1C;AACA;;AACJ,SAAK,CAAL;AACI8iC,MAAAA,YAAY,CAAC/iC,CAAb,GAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAA9B;AACA+iC,MAAAA,YAAY,CAAC9iC,CAAb,GAAiBH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA4BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAzC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA4BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAzC;AACA;;AACJ,SAAK,CAAL;AACI0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA4BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAzC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA4BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAzC;AACA;;AACJ,SAAK,CAAL;AACI+iC,MAAAA,gBAAgB,CAAChjC,CAAjB,GAAqBF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAlC;AACAgjC,MAAAA,gBAAgB,CAAC/iC,CAAjB,GAAqBH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAlC;AACAgjC,MAAAA,iBAAiB,CAACjjC,CAAlB,GAAsBF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAApC;AACAijC,MAAAA,iBAAiB,CAAChjC,CAAlB,GAAsBH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAApC;AACA;;AACJ,SAAK,CAAL;AACI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAxC;AACA;;AACJ,SAAK,CAAL;AACIqmC,MAAAA,oBAAoB,CAACxmC,SAAD,CAApB;AACA;;AACJ,SAAK,CAAL;AACIwmC,MAAAA,oBAAoB,CAACxmC,SAAD,CAApB;AACA;;AACJ,SAAK,CAAL;AACIwmC,MAAAA,oBAAoB,CAACxmC,SAAD,CAApB;AACA;;AACJ,SAAK,EAAL;AACIwmC,MAAAA,oBAAoB,CAACxmC,SAAD,CAApB;AACA;;AACJ,SAAK,EAAL;AACI6iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAxC;AAEA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAxC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAxC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAxC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAxC;AACA0iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB/B,CAAzB,GAA2BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAzC;AACA2iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB9B,CAAzB,GAA2BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAzC;AACA0iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB/B,CAAzB,GAA2BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAzC;AACA2iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB9B,CAAzB,GAA2BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAzC;AACA;;AACJ,SAAK,EAAL;AACI0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAxC;AAEA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAxC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAxC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAxC;AACA0iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAxC;AACA0iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB/B,CAAzB,GAA2BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAzC;AACA2iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB9B,CAAzB,GAA2BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAzC;AACA0iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB/B,CAAzB,GAA2BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAzC;AACA2iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB9B,CAAzB,GAA2BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAzC;AAEA0iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB/B,CAAzB,GAA2BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB9B,CAAzB,GAA2BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAxC;AACA0iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB/B,CAAzB,GAA2BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB9B,CAAzB,GAA2BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAxC;AAEA0iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB/B,CAAzB,GAA2BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAzC;AACA2iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB9B,CAAzB,GAA2BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAzC;AACA0iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB/B,CAAzB,GAA2BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAzC;AACA2iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB9B,CAAzB,GAA2BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAzC;AAEA0iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB/B,CAAzB,GAA2BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB9B,CAAzB,GAA2BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAxC;AACA0iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB/B,CAAzB,GAA2BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB9B,CAAzB,GAA2BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAxC;AACA0iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB/B,CAAzB,GAA2BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAxC;AACA2iC,MAAAA,kBAAkB,CAAC,EAAD,CAAlB,CAAuB5gC,CAAvB,CAAyB9B,CAAzB,GAA2BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAxC;AAGA;;AACJ;AACI;AA3JR;AA8JH;AAED;AACA;AACA;;;AACA,SAASqmC,oBAAT,CAA8BxmC,SAA9B,EAAwC;AACpC6iC,EAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAvC;AACA2iC,EAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAvC;AACA0iC,EAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB/B,CAAxB,GAA0BF,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAxC;AACA2iC,EAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsB5gC,CAAtB,CAAwB9B,CAAxB,GAA0BH,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAxC;AACH;AAED;AACA;AACA;;;AACA,SAASsmC,IAAT,GAAgB;AACZC,EAAAA,qBAAqB,CAACD,IAAD,CAArB;;AACA,MAAG,CAAChE,gBAAgB,CAACsC,UAAjB,CAA4B,UAA5B,CAAJ,EAA4C;AACxC;AACH;;AACD,MAAGtjB,MAAM,KAAK,IAAd,EAAmB;AAChBA,IAAAA,MAAM,CAAC8D,MAAP;AACF;AACJ;;AAED,SAASqf,UAAT,GAAqB;AACjB;AACA/B,EAAAA,kBAAkB,CAACr0B,OAAnB,CAA2B,UAAA4S,OAAO,EAAE;AAChCA,IAAAA,OAAO,CAACulB,kBAAR;AACAvlB,IAAAA,OAAO,CAACzB,OAAR;AACH,GAHD;AAIAgjB,EAAAA,OAAO,CAACxe,KAAR,CAAcwe,OAAO,CAACiE,gBAAR,GAA2BjE,OAAO,CAACkE,gBAAnC,GAAsDlE,OAAO,CAACmE,kBAA5E;AACH;AACD;AACA;AACA;;;AACA,SAASjC,SAAT,GAAqB;AACjB3mB,EAAAA,GAAG,CAACG,GAAJ,GAAU+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsBxB,QAAQ,CAACD,mBAAD,CAAR,CAA8BxN,GAApD,CAAV;;AACA/X,EAAAA,GAAG,CAACK,MAAJ,GAAa,YAAM,CACf;AACH,GAFD;AAGH;AAED;AACA;AACA;AACA;;;AACAwjB,SAAS,CAACxf,gBAAV,CAA2B,YAA3B,EAAyC,UAAC2O,KAAD,EAAW;AAEhD,MAAI6V,kBAAkB,GAAGvqB,QAAQ,CAACwlB,sBAAT,CAAgC,oBAAhC,CAAzB;;AACA,MAAGxlB,QAAQ,CAACwqB,cAAT,CAAwB,qBAAxB,MAAmD,IAAtD,EAA2D;AACvD,QAAIC,MAAM,GAAGzqB,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAb;AACAwqB,IAAAA,MAAM,CAAC72B,EAAP,GAAU,qBAAV;AACA62B,IAAAA,MAAM,CAACC,SAAP,GAAmB,6BAAnB;AACAD,IAAAA,MAAM,CAACE,OAAP,CAAezsC,KAAf,GAAuB,WAAvB;;AACAusC,IAAAA,MAAM,CAACG,OAAP,GAAiB,YAAU;AAAC5qB,MAAAA,QAAQ,CAAC+G,aAAT,CAAuB,IAAI8jB,WAAJ,CAAgB,uBAAhB,EAAyC;AAAEC,QAAAA,MAAM,EAAE;AAACC,UAAAA,WAAW,EAAC;AAAb;AAAV,OAAzC,CAAvB;AAAwG,KAApI;;AACAR,IAAAA,kBAAkB,CAAC,CAAD,CAAlB,CAAsBS,YAAtB,CAAmCP,MAAnC,EAA2CF,kBAAkB,CAAC,CAAD,CAAlB,CAAsBU,UAAtB,CAAiC,CAAjC,CAA3C;AAEA,QAAIC,WAAW,GAAG,IAAIppB,KAAJ,EAAlB;AACAopB,IAAAA,WAAW,CAACrpB,GAAZ,GAAkB+lB,MAAM,CAACxlC,OAAP,CAAesmC,MAAf,CAAsB,oBAAtB,CAAlB;;AACAwC,IAAAA,WAAW,CAACnpB,MAAZ,GAAqB,YAAM;AACvB,UAAIopB,MAAM,GAAGnrB,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAb;AACAkrB,MAAAA,MAAM,CAACtpB,GAAP,GAAWqpB,WAAW,CAACrpB,GAAvB;AACA4oB,MAAAA,MAAM,CAACrkB,WAAP,CAAmB+kB,MAAnB;AACH,KAJD;AAKH;;AAGD,MAAM5qB,GAAG,GAAGP,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAZ;AAEAM,EAAAA,GAAG,CAACmqB,SAAJ,GAAgB,uBAAhB;AACAnqB,EAAAA,GAAG,CAACqF,SAAJ;AAmCA,MAAIwlB,gBAAgB,GAAGprB,QAAQ,CAACwlB,sBAAT,CAAgC,oBAAhC,CAAvB;AACA4F,EAAAA,gBAAgB,CAAC,CAAD,CAAhB,CAAoBhlB,WAApB,CAAgC7F,GAAhC;;AAGAglB,EAAAA,SAAS,CAAC8F,SAAV,GAAsB,YAAW;AAEjC,QAAGrrB,QAAQ,CAACwqB,cAAT,CAAwB,aAAxB,MAA2C,IAA9C,EAAmD;AAC/CvoB,MAAAA,MAAM,GAAGjC,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAT,CAD+C,CACJ;;AAC3CgC,MAAAA,MAAM,CAACrO,EAAP,GAAY,aAAZ,CAF+C,CAEpB;;AAC3B,UAAG2xB,SAAS,CAACroC,MAAV,KAAqB,CAAxB,EAA0B;AACtB+kB,QAAAA,MAAM,CAACxf,MAAP,GAAgB8iC,SAAS,CAAC+F,YAA1B,CADsB,CACkB;;AACxCrpB,QAAAA,MAAM,CAACzf,KAAP,GAAe+iC,SAAS,CAACgG,WAAzB,CAFsB,CAEgB;AACzC,OAHD,MAGM;AACFtpB,QAAAA,MAAM,CAACxf,MAAP,GAAgB,GAAhB;AACAwf,QAAAA,MAAM,CAACzf,KAAP,GAAe,GAAf;AACH;;AAED,UAAIgpC,iBAAiB,GAAGxrB,QAAQ,CAACwlB,sBAAT,CAAgC,uBAAhC,EAAyD,CAAzD,CAAxB;AACAgG,MAAAA,iBAAiB,CAACplB,WAAlB,CAA8BnE,MAA9B,EAZ+C,CAYR;;AACvCwpB,MAAAA,cAAc,CAACxpB,MAAD,CAAd;AACAikB,MAAAA,GAAG,GAAGjkB,MAAM,CAACI,UAAP,CAAkB,IAAlB,CAAN;AACH;;AAED,QAAGrC,QAAQ,CAACwqB,cAAT,CAAwB,eAAxB,MAA6C,IAAhD,EAAqD;AACjDpE,MAAAA,QAAQ,GAAGpmB,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAX,CADiD,CACJ;;AAC7CmmB,MAAAA,QAAQ,CAACxyB,EAAT,GAAc,eAAd,CAFiD,CAElB;;AAC/B,UAAG2xB,SAAS,CAACroC,MAAV,KAAqB,CAAxB,EAA0B;AACtBkpC,QAAAA,QAAQ,CAAC3jC,MAAT,GAAkB8iC,SAAS,CAAC+F,YAA5B,CADsB,CACoB;;AAC1ClF,QAAAA,QAAQ,CAAC5jC,KAAT,GAAiB+iC,SAAS,CAACgG,WAA3B,CAFsB,CAEkB;AAC3C,OAHD,MAGM;AACFnF,QAAAA,QAAQ,CAAC3jC,MAAT,GAAkB,GAAlB;AACA2jC,QAAAA,QAAQ,CAAC5jC,KAAT,GAAiB,GAAjB;AACH;;AAED,UAAIgpC,kBAAiB,GAAGxrB,QAAQ,CAACwlB,sBAAT,CAAgC,uBAAhC,EAAyD,CAAzD,CAAxB;;AACAgG,MAAAA,kBAAiB,CAACplB,WAAlB,CAA8BggB,QAA9B,EAZiD,CAYR;;;AACzCqF,MAAAA,cAAc,CAACrF,QAAD,CAAd;AACAD,MAAAA,OAAO,GAAGC,QAAQ,CAAC/jB,UAAT,CAAoB,oBAApB,CAAV;AACH;;AAEG,QAAGukB,cAAc,KAAG,KAApB,EAA0B;AACtBA,MAAAA,cAAc,GAAC,IAAf;AACA0B,MAAAA,aAAa;AAChB;;AAEDoD,IAAAA,cAAc,CAAClE,OAAf,CAAuBjC,SAAvB;AAEAoG,IAAAA,sBAAsB,GA3CO,CA6C7B;;AACA,QAAG5E,SAAS,KAAG,KAAf,EAAqB;AACjBA,MAAAA,SAAS,GAAC,IAAV;AACAkD,MAAAA,IAAI;AACP;AACR,GAlDG;AAmDH,CAlHD;;AAsHA,SAAS0B,sBAAT,GAAiC;AAC7BlG,EAAAA,mBAAmB,GAAEmG,WAAW,CAAC,YAAW;AAExC,QAAGlG,QAAQ,KAAKvnB,SAAhB,EAA0B;AAEtBunB,MAAAA,QAAQ,CAAC3kC,IAAT,CAAc,UAAU8qC,YAAV,EAAuB;AAEjC,YAAGtG,SAAS,KAAKpnB,SAAd,IAA2B,CAACipB,QAAQ,CAACC,IAAT,CAAchzB,QAAd,CAAuB,OAAvB,CAA/B,EAA+D;AAC3D;AACH;;AACDw3B,QAAAA,YAAY,CAAC9nC,aAAb,CAA2BwhC,SAA3B,EAAsCxkC,IAAtC,CAA2C,UAAC+qC,IAAD,EAAQ;AAC/C,cAAGA,IAAI,KAAK3tB,SAAT,IAAsB2tB,IAAI,CAAC,CAAD,CAAJ,KAAY3tB,SAAlC,IAA+C2tB,IAAI,CAAC,CAAD,CAAJ,CAAQtoC,SAAR,KAAsB2a,SAAxE,EAAkF;AAC9E,gBAAG8nB,gBAAgB,KAAG,UAAtB,EAAiC;AAC7BC,cAAAA,GAAG,CAACzkB,SAAJ,CAAc,CAAd,EAAgB,CAAhB,EAAkBQ,MAAM,CAACzf,KAAzB,EAA+Byf,MAAM,CAACxf,MAAtC;AACAspC,cAAAA,aAAa,CAACD,IAAI,CAAC,CAAD,CAAJ,CAAQtoC,SAAT,CAAb;AACAwoC,cAAAA,YAAY,CAACF,IAAI,CAAC,CAAD,CAAJ,CAAQtoC,SAAT,CAAZ;AACH;;AAED,gBAAGyiC,gBAAgB,KAAG,eAAtB,EAAsC;AAClCC,cAAAA,GAAG,CAACzkB,SAAJ,CAAc,CAAd,EAAgB,CAAhB,EAAkBQ,MAAM,CAACzf,KAAzB,EAA+Byf,MAAM,CAACxf,MAAtC;AACAwpC,cAAAA,WAAW,CAACH,IAAI,CAAC,CAAD,CAAJ,CAAQtoC,SAAT,CAAX;AACH;;AAED,gBAAGyiC,gBAAgB,KAAG,WAAtB,EAAkC;AAC9BC,cAAAA,GAAG,CAACzkB,SAAJ,CAAc,CAAd,EAAgB,CAAhB,EAAkBQ,MAAM,CAACzf,KAAzB,EAA+Byf,MAAM,CAACxf,MAAtC;AACAypC,cAAAA,aAAa,CAACJ,IAAI,CAAC,CAAD,CAAJ,CAAQtoC,SAAT,CAAb;AACH;;AAED,gBAAGyiC,gBAAgB,KAAK,KAAxB,EAA8B;AAC1BC,cAAAA,GAAG,CAACzkB,SAAJ,CAAc,CAAd,EAAgB,CAAhB,EAAkBQ,MAAM,CAACzf,KAAzB,EAA+Byf,MAAM,CAACxf,MAAtC;AACA6e,cAAAA,SAAS,CAACwqB,IAAI,CAAC,CAAD,CAAJ,CAAQtoC,SAAT,CAAT;AACH;;AAED,gBAAGyiC,gBAAgB,KAAK,UAAxB,EAAmC;AAC/B8D,cAAAA,eAAe,CAAC+B,IAAI,CAAC,CAAD,CAAJ,CAAQtoC,SAAT,CAAf;AACH;AAGJ;AAEJ,SA9BD;AA+BH,OApCD;AAqCH;AAEJ,GA3C+B,EA2C7B,GA3C6B,CAAhC;AA4CH;;AAED+hC,SAAS,CAAC4G,OAAV,GAAoB,YAAW;AAC3BxE,EAAAA,aAAa,CAAClC,mBAAD,CAAb;AACH,CAFD;;AAIA,SAASgG,cAAT,CAAwBW,SAAxB,EAAmC;AAC/BA,EAAAA,SAAS,CAAClsB,KAAV,CAAgBJ,QAAhB,GAA2B,UAA3B;AACAssB,EAAAA,SAAS,CAAClsB,KAAV,CAAgBxa,GAAhB,GAAsB,KAAtB;AACA0mC,EAAAA,SAAS,CAAClsB,KAAV,CAAgBpe,KAAhB,GAAwB,KAAxB;AACAsqC,EAAAA,SAAS,CAAClsB,KAAV,CAAgBre,IAAhB,GAAuB0jC,SAAS,CAACrlB,KAAV,CAAgB2F,OAAhB,CAAwBwmB,KAAxB,CAA8B,IAA9B,EAAoC,CAApC,EAAuCA,KAAvC,CAA6C,IAA7C,EAAmD,CAAnD,CAAvB;AACAD,EAAAA,SAAS,CAAClsB,KAAV,CAAgBva,MAAhB,GAAyB,KAAzB;AACH;;AAED,IAAM+lC,cAAc,GAAG,IAAIY,cAAJ,CAAmB,UAAAC,OAAO,EAAI;AACjD,MAAG9G,mBAAmB,KAAGtnB,SAAzB,EAAmC;AAC/BwpB,IAAAA,aAAa,CAAClC,mBAAD,CAAb;AACH;;AACDF,EAAAA,SAAS,GAAGvlB,QAAQ,CAACwlB,sBAAT,CAAgC,kBAAhC,EAAoD,CAApD,CAAZ;AACAiG,EAAAA,cAAc,CAACxpB,MAAD,CAAd;AACAA,EAAAA,MAAM,CAACzf,KAAP,GAAa+pC,OAAO,CAAC,CAAD,CAAP,CAAWvqB,MAAX,CAAkBupB,WAA/B;AACAtpB,EAAAA,MAAM,CAACxf,MAAP,GAAc8pC,OAAO,CAAC,CAAD,CAAP,CAAWvqB,MAAX,CAAkBspB,YAAhC;AACApF,EAAAA,GAAG,CAAC1jC,KAAJ,GAAU+pC,OAAO,CAAC,CAAD,CAAP,CAAWvqB,MAAX,CAAkBupB,WAA5B;AACArF,EAAAA,GAAG,CAACzjC,MAAJ,GAAW8pC,OAAO,CAAC,CAAD,CAAP,CAAWvqB,MAAX,CAAkBspB,YAA7B,CATiD,CAWjD;;AACAG,EAAAA,cAAc,CAACrF,QAAD,CAAd;AACAA,EAAAA,QAAQ,CAAC5jC,KAAT,GAAe+pC,OAAO,CAAC,CAAD,CAAP,CAAWvqB,MAAX,CAAkBupB,WAAjC;AACAnF,EAAAA,QAAQ,CAAC3jC,MAAT,GAAgB8pC,OAAO,CAAC,CAAD,CAAP,CAAWvqB,MAAX,CAAkBspB,YAAlC;AACAnF,EAAAA,OAAO,CAAC3jC,KAAR,GAAc+pC,OAAO,CAAC,CAAD,CAAP,CAAWvqB,MAAX,CAAkBupB,WAAhC;AACApF,EAAAA,OAAO,CAAC1jC,MAAR,GAAe8pC,OAAO,CAAC,CAAD,CAAP,CAAWvqB,MAAX,CAAkBspB,YAAjC;AAEAhD,EAAAA,aAAa;AACbqD,EAAAA,sBAAsB;AACzB,CApBsB,CAAvB;;AAyBA,SAASrqB,SAAT,CAAmB9d,SAAnB,EAA6B;AACzB,MAAGA,SAAS,KAAI2a,SAAhB,EAA0B;AACtB,QAAIquB,wBAAwB,GAAGhpC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAb,GAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaE,CAA7D;AACA,QAAI+oC,KAAK,GAAGD,wBAAwB,GAACtF,QAAQ,CAACD,mBAAD,CAAR,CAA8ByF,iBAAnE;AACAD,IAAAA,KAAK,GAAGA,KAAK,KAAK,CAAV,GAAc,CAAd,GAAkBA,KAA1B;AACAvG,IAAAA,GAAG,CAAC5kB,SAAJ,CAAcI,GAAd,EAAmBle,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAb,GAAewjC,QAAQ,CAACD,mBAAD,CAAR,CAA8B0F,cAA9B,GAA6CF,KAA/E,EAAsFjpC,SAAS,CAAC,CAAD,CAAT,CAAaG,CAAb,GAAeujC,QAAQ,CAACD,mBAAD,CAAR,CAA8B2F,aAA9B,GAA4CH,KAAjJ,EAAwJvF,QAAQ,CAACD,mBAAD,CAAR,CAA8B4F,QAA9B,GAAuCJ,KAA/L,EAAsMvF,QAAQ,CAACD,mBAAD,CAAR,CAA8B6F,SAA9B,GAAwCL,KAA9O;AACH;AAEJ;;AAGD,SAASV,aAAT,CAAuBvoC,SAAvB,EAAiC;AAAA,6CACTA,SADS;AAAA;;AAAA;AAC7B,wDAA8B;AAAA,UAAtBupC,QAAsB;AAC1B7G,MAAAA,GAAG,CAAC5N,SAAJ;AACA4N,MAAAA,GAAG,CAAC3N,GAAJ,CAAQwU,QAAQ,CAACrpC,CAAjB,EAAoBqpC,QAAQ,CAACppC,CAA7B,EAAgC,CAAhC,EAAmC,CAAnC,EAAsC,IAAIe,IAAI,CAACC,EAA/C;AACAuhC,MAAAA,GAAG,CAAClO,SAAJ,GAAgB,MAAhB;AACAkO,MAAAA,GAAG,CAACvN,IAAJ;AACH;AAN4B;AAAA;AAAA;AAAA;AAAA;AAOhC;;AAGD,SAASqT,YAAT,CAAsBxoC,SAAtB,EAAgC;AAC5B0iC,EAAAA,GAAG,CAAClO,SAAJ,GAAgB,OAAhB;AACAkO,EAAAA,GAAG,CAAC1N,WAAJ,GAAkB,KAAlB;AACA0N,EAAAA,GAAG,CAACzN,SAAJ,GAAgB,CAAhB;AAEAkN,EAAAA,aAAa,CAACqH,IAAd,CAAmBx3B,gBAAnB,CAAoCmwB,aAAa,CAACE,eAAd,CAA8B3wB,OAAlE,EAA2ElD,OAA3E,CAAmF,gBAAY;AAAA;AAAA,QAAVpU,CAAU;AAAA,QAAP0G,CAAO;;AAC3F,QAAM2oC,GAAG,GAAGzpC,SAAS,CAAC5F,CAAD,CAArB;AACA,QAAMsvC,GAAG,GAAG1pC,SAAS,CAACc,CAAD,CAArB,CAF2F,CAI3F;;AACA,QAAM6oC,MAAM,GAAGF,GAAG,CAACrpC,KAAJ,IAAa,IAAb,GAAoBqpC,GAAG,CAACrpC,KAAxB,GAAgC,CAA/C;AACA,QAAMwpC,MAAM,GAAGF,GAAG,CAACtpC,KAAJ,IAAa,IAAb,GAAoBspC,GAAG,CAACtpC,KAAxB,GAAgC,CAA/C;AACA,QAAM6V,cAAc,GAAG,GAAvB;;AAEA,QAAI0zB,MAAM,IAAI1zB,cAAV,IAA4B2zB,MAAM,IAAI3zB,cAA1C,EAA0D;AACtDysB,MAAAA,GAAG,CAAC5N,SAAJ;AACA4N,MAAAA,GAAG,CAACrB,MAAJ,CAAWoI,GAAG,CAACvpC,CAAf,EAAkBupC,GAAG,CAACtpC,CAAtB;AACAuiC,MAAAA,GAAG,CAACpB,MAAJ,CAAWoI,GAAG,CAACxpC,CAAf,EAAkBwpC,GAAG,CAACvpC,CAAtB;AACAuiC,MAAAA,GAAG,CAAC5P,MAAJ;AACH;AACJ,GAfD;AAgBH;;AAED,SAAS2V,WAAT,CAAqBzoC,SAArB,EAA+B;AAC3B0iC,EAAAA,GAAG,CAAClO,SAAJ,GAAgB,OAAhB;AACAkO,EAAAA,GAAG,CAAC1N,WAAJ,GAAkB,MAAlB;AACA0N,EAAAA,GAAG,CAACzN,SAAJ,GAAgB,CAAhB;AAEA4U,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAf,EAAkBF,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAhC,EAAmCH,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAjD,EAAoD,CAApD,CAAR;AACA2pC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiCH,SAAS,CAAC,CAAD,CAAT,CAAaE,CAA9C,EAAiD,CAAjD,CAAR;AACA2pC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiCH,SAAS,CAAC,CAAD,CAAT,CAAaE,CAA9C,EAAiD,CAAjD,CAAR;AACA2pC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiCH,SAAS,CAAC,CAAD,CAAT,CAAaE,CAA9C,EAAiD,CAAjD,CAAR;AACA2pC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiCH,SAAS,CAAC,CAAD,CAAT,CAAaE,CAA9C,EAAiD,CAAjD,CAAR;AACA2pC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAf,EAAkBF,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAhC,EAAmCH,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAjD,EAAoD,CAApD,CAAR;AACA2pC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAf,EAAkBF,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAhC,EAAmCH,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAjD,EAAoD,CAApD,CAAR;AAEH;;AAED,SAAS2pC,QAAT,CAAkBC,MAAlB,EAA0BC,MAA1B,EAAkCC,IAAlC,EAAwCC,IAAxC,EAA6C;AACzCvH,EAAAA,GAAG,CAAC5N,SAAJ;AACA4N,EAAAA,GAAG,CAACrB,MAAJ,CAAWyI,MAAX,EAAmBC,MAAnB;AACArH,EAAAA,GAAG,CAACpB,MAAJ,CAAW0I,IAAX,EAAiBC,IAAjB;AACAvH,EAAAA,GAAG,CAAC5P,MAAJ;AACH;;AAED,SAAS4V,aAAT,CAAuB1oC,SAAvB,EAAiC;AAC7B0iC,EAAAA,GAAG,CAAClO,SAAJ,GAAgB,OAAhB;AACAkO,EAAAA,GAAG,CAAC1N,WAAJ,GAAkB,QAAlB;AACA0N,EAAAA,GAAG,CAACzN,SAAJ,GAAgB,CAAhB;AAEA4U,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiCse,MAAM,CAACzf,KAAP,GAAa,CAA9C,EAAiD,CAAjD,CAAR;AACA6qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiCse,MAAM,CAACzf,KAAP,GAAa,CAAb,IAAiB,IAAE,IAAnB,CAAjC,EAA2D,CAA3D,CAAR;AACA6qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiCse,MAAM,CAACzf,KAAP,GAAa,CAAb,IAAiB,IAAE,GAAnB,CAAjC,EAA0D,CAA1D,CAAR;AAEA6qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiCse,MAAM,CAACzf,KAAP,GAAa,CAAb,IAAiB,IAAE,IAAnB,CAAjC,EAA2D,CAA3D,CAAR;AACA6qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiCse,MAAM,CAACzf,KAAP,GAAa,CAAb,IAAiB,IAAE,GAAnB,CAAjC,EAA0D,CAA1D,CAAR;AAEA6qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiC,CAAjC,EAAoCse,MAAM,CAACxf,MAAP,GAAc,CAAd,IAAkB,IAAE,GAApB,CAApC,CAAR;AACA4qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiC,CAAjC,EAAoCse,MAAM,CAACxf,MAAP,GAAc,CAAd,IAAkB,IAAE,IAApB,CAApC,CAAR;AAEA4qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiCse,MAAM,CAACzf,KAAxC,EAA+Cyf,MAAM,CAACxf,MAAP,GAAc,CAA7D,CAAR;AACA4qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAf,EAAkBF,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAhC,EAAmC,CAAnC,EAAsCse,MAAM,CAACxf,MAAP,GAAc,CAApD,CAAR;AAEA4qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAf,EAAkBF,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAhC,EAAmC,CAAnC,EAAsCse,MAAM,CAACxf,MAAP,GAAc,CAAd,IAAkB,IAAE,GAApB,CAAtC,CAAR;AACA4qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAf,EAAkBF,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAhC,EAAmC,CAAnC,EAAsCse,MAAM,CAACxf,MAAP,GAAc,CAAd,IAAkB,IAAE,GAApB,CAAtC,CAAR;AACA4qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAf,EAAkBF,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAhC,EAAmC,CAAnC,EAAsCse,MAAM,CAACxf,MAAP,GAAc,CAAd,IAAkB,IAAE,GAApB,CAAtC,CAAR;AAEA4qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiCse,MAAM,CAACzf,KAAxC,EAA+Cyf,MAAM,CAACxf,MAAP,GAAc,CAAd,IAAkB,IAAE,GAApB,CAA/C,CAAR;AACA4qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,CAAD,CAAT,CAAaE,CAAd,EAAiBF,SAAS,CAAC,CAAD,CAAT,CAAaG,CAA9B,EAAiCse,MAAM,CAACzf,KAAxC,EAA+Cyf,MAAM,CAACxf,MAAP,GAAc,CAAd,IAAkB,IAAE,IAApB,CAA/C,CAAR;AAEA4qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAf,EAAkBF,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAhC,EAAmCse,MAAM,CAACzf,KAA1C,EAAiDyf,MAAM,CAACxf,MAAP,GAAc,CAAd,IAAkB,IAAE,GAApB,CAAjD,CAAR;AACA4qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAf,EAAkBF,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAhC,EAAmCse,MAAM,CAACzf,KAA1C,EAAiDyf,MAAM,CAACxf,MAAP,GAAc,CAAd,IAAkB,IAAE,GAApB,CAAjD,CAAR;AACA4qC,EAAAA,QAAQ,CAAC7pC,SAAS,CAAC,EAAD,CAAT,CAAcE,CAAf,EAAkBF,SAAS,CAAC,EAAD,CAAT,CAAcG,CAAhC,EAAmCse,MAAM,CAACzf,KAA1C,EAAiDyf,MAAM,CAACxf,MAAP,GAAc,CAAd,IAAkB,IAAE,GAApB,CAAjD,CAAR;AAEH;AAED;AACA;AACA;;;AACAud,QAAQ,CAAC+F,gBAAT,CAA0B,+BAA1B,EAA2D,UAAUzpB,CAAV,EAAa;AACpE2rC,EAAAA,eAAe,CAAC3rC,CAAC,CAACwuC,MAAF,CAASC,WAAV,CAAf;AACH,CAFD;AAIA;AACA;AACA;;AACA/qB,QAAQ,CAAC+F,gBAAT,CAA0B,uBAA1B,EAAmD,UAAUzpB,CAAV,EAAa;AAC5D,MAAIoxC,WAAW,GAAG1tB,QAAQ,CAACwlB,sBAAT,CAAgC,uBAAhC,CAAlB;;AACA,MAAGwB,eAAH,EAAmB;AACf0G,IAAAA,WAAW,CAAC,CAAD,CAAX,CAAextB,KAAf,CAAqBytB,OAArB,GAA+B,MAA/B;AACH,GAFD,MAEK;AACDD,IAAAA,WAAW,CAAC,CAAD,CAAX,CAAextB,KAAf,CAAqBytB,OAArB,GAA+B,OAA/B;AACH;;AACD3G,EAAAA,eAAe,GAAG,CAACA,eAAnB;AACH,CARD","file":"content.js","sourceRoot":"..\\src","sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","(function(){/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\n'use strict';var A;function aa(a){var b=0;return function(){return b>>0)+\"_\",f=0;return b});\nJ(\"Symbol.iterator\",function(a){if(a)return a;a=Symbol(\"Symbol.iterator\");for(var b=\"Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array\".split(\" \"),c=0;cc&&(c=Math.max(c+f,0));cg)d[c++]=g;else{if(2048>g)d[c++]=g>>6|192;else{if(55296<=g&&57343>=g){if(56319>=g&&f=e){g=1024*(g-55296)+e-56320+65536;d[c++]=g>>18|240;d[c++]=g>>12&63|128;d[c++]=g>>6&63|128;d[c++]=g&63|128;continue}else f--}if(b)throw Error(\"Found an unpaired surrogate\");g=65533}d[c++]=\ng>>12|224;d[c++]=g>>6&63|128}d[c++]=g&63|128}}a=d.subarray(0,c)}return a};var Ea=\"function\"===typeof Uint8Array.prototype.slice,Q=0,R=0;function Fa(a){this.h=null;this.g=this.i=this.j=0;this.l=!1;a&&Ga(this,a)}function Ga(a,b){b=b.constructor===Uint8Array?b:b.constructor===ArrayBuffer?new Uint8Array(b):b.constructor===Array?new Uint8Array(b):b.constructor===String?Ia(b):b instanceof Uint8Array?new Uint8Array(b.buffer,b.byteOffset,b.byteLength):new Uint8Array(0);a.h=b;a.j=0;a.i=a.h.length;a.g=a.j}Fa.prototype.reset=function(){this.g=this.j};\nfunction Ja(a){var b=a.h,c=b[a.g],d=c&127;if(128>c)return a.g+=1,d;c=b[a.g+1];d|=(c&127)<<7;if(128>c)return a.g+=2,d;c=b[a.g+2];d|=(c&127)<<14;if(128>c)return a.g+=3,d;c=b[a.g+3];d|=(c&127)<<21;if(128>c)return a.g+=4,d;c=b[a.g+4];d|=(c&15)<<28;if(128>c)return a.g+=5,d>>>0;a.g+=5;128<=b[a.g++]&&128<=b[a.g++]&&128<=b[a.g++]&&128<=b[a.g++]&&a.g++;return d}\nfunction S(a){var b=a.h[a.g];var c=a.h[a.g+1];var d=a.h[a.g+2],f=a.h[a.g+3];a.g+=4;c=(b<<0|c<<8|d<<16|f<<24)>>>0;a=2*(c>>31)+1;b=c>>>23&255;c&=8388607;return 255==b?c?NaN:Infinity*a:0==b?a*Math.pow(2,-149)*c:a*Math.pow(2,b-150)*(c+Math.pow(2,23))}var Ka=[];function La(){this.g=new Uint8Array(64);this.h=0}La.prototype.push=function(a){if(!(this.h+1>>=7;a.push(b)};function Na(a){if(Ka.length){var b=Ka.pop();a&&Ga(b,a);a=b}else a=new Fa(a);this.g=a;this.h=this.i=this.l=-1;this.j=!1}Na.prototype.reset=function(){this.g.reset();this.h=this.l=-1};function Oa(a){var b=a.g;(b=b.g==b.i)||(b=a.j)||(b=a.g,b=b.l||0>b.g||b.g>b.i);if(b)return!1;b=Ja(a.g);var c=b&7;if(0!=c&&5!=c&&1!=c&&2!=c&&3!=c&&4!=c)return a.j=!0,!1;a.i=b;a.l=b>>>3;a.h=c;return!0}\nfunction Pa(a){switch(a.h){case 0:if(0!=a.h)Pa(a);else{for(a=a.g;a.h[a.g]&128;)a.g++;a.g++}break;case 1:1!=a.h?Pa(a):(a=a.g,a.g+=8);break;case 2:if(2!=a.h)Pa(a);else{var b=Ja(a.g);a=a.g;a.g+=b}break;case 5:5!=a.h?Pa(a):(a=a.g,a.g+=4);break;case 3:b=a.l;do{if(!Oa(a)){a.j=!0;break}if(4==a.h){a.l!=b&&(a.j=!0);break}Pa(a)}while(1);break;default:a.j=!0}}function Qa(a,b,c){var d=a.g.i,f=Ja(a.g);f=a.g.g+f;a.g.i=f;c(b,a);a.g.g=f;a.g.i=d;return b}\nfunction Ra(a){var b=Ja(a.g);a=a.g;var c=a.g;a.g+=b;a=a.h;var d;if(Aa)(d=za)||(d=za=new TextDecoder(\"utf-8\",{fatal:!1})),d=d.decode(a.subarray(c,c+b));else{b=c+b;for(var f=[],g=null,e,h,k;ce?f.push(e):224>e?c>=b?f.push(65533):(h=a[c++],194>e||128!==(h&192)?(c--,f.push(65533)):f.push((e&31)<<6|h&63)):240>e?c>=b-1?f.push(65533):(h=a[c++],128!==(h&192)||224===e&&160>h||237===e&&160<=h||128!==((d=a[c++])&192)?(c--,f.push(65533)):f.push((e&15)<<12|(h&63)<<6|d&63)):244>=e?c>=b-2?f.push(65533):\n(h=a[c++],128!==(h&192)||0!==(e<<28)+(h-144)>>30||128!==((d=a[c++])&192)||128!==((k=a[c++])&192)?(c--,f.push(65533)):(e=(e&7)<<18|(h&63)<<12|(d&63)<<6|k&63,e-=65536,f.push((e>>10&1023)+55296,(e&1023)+56320))):f.push(65533),8192<=f.length&&(g=ya(g,f),f.length=0);d=ya(g,f)}return d};var Sa={},Ta=null;function Ia(a){var b=a.length,c=3*b/4;c%3?c=Math.floor(c):-1!=\"=.\".indexOf(a[b-1])&&(c=-1!=\"=.\".indexOf(a[b-2])?c-2:c-1);var d=new Uint8Array(c),f=0;Ua(a,function(g){d[f++]=g});return d.subarray(0,f)}\nfunction Ua(a,b){function c(k){for(;d>4);64!=e&&(b(g<<4&240|e>>2),64!=h&&b(e<<6&192|h))}}\nfunction Va(){if(!Ta){Ta={};for(var a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".split(\"\"),b=[\"+/=\",\"+/\",\"-_=\",\"-_.\",\"-_\"],c=0;5>c;c++){var d=a.concat(b[c].split(\"\"));Sa[c]=d;for(var f=0;fd?1:0)?-d:d;0===d?0<1/d?Q=R=0:(R=0,Q=2147483648):isNaN(d)?(R=0,Q=2147483647):3.4028234663852886E38>>0):1.1754943508222875E-38>d?(d=Math.round(d/Math.pow(2,-149)),R=0,Q=(c<<31|d)>>>0):(b=Math.floor(Math.log(d)/Math.LN2),d*=Math.pow(2,-b),d=Math.round(8388608*d)&8388607,R=0,Q=(c<<31|b+127<<23|d)>>>0);c=Q;a.push(c>>>0&255);a.push(c>>>8&255);a.push(c>>>16&255);a.push(c>>>24&255)}}\nfunction Ya(a,b,c){Ma(a.g,8*b+2);Ma(a.g,c.length);b=a.g.end();a.h.push(b);a.h.push(c);a.i+=b.length+c.length};var Za=\"function\"===typeof Uint8Array;function $a(a,b,c){return\"object\"===typeof a?Za&&!Array.isArray(a)&&a instanceof Uint8Array?c(a):ab(a,b,c):b(a)}function ab(a,b,c){if(Array.isArray(a)){for(var d=Array(a.length),f=0;f>2];h=c[(h&3)<<4|k>>4];k=c[(k&15)<<2|l>>6];l=c[l&63];d[e++]=n+h+k+l}n=0;l=f;switch(b.length-g){case 2:n=b[g+1],l=c[(n&15)<<2]||f;case 1:b=b[g],d[e]=c[b>>2]+c[(b&3)<<4|n>>4]+l+f}return d.join(\"\")})}var db={U:{value:!0,configurable:!0}};\nfunction bb(a){Array.isArray(a)&&!Object.isFrozen(a)&&Object.defineProperties(a,db);return a};var eb;function U(a,b,c){var d=eb;eb=null;a||(a=d);d=this.constructor.aa;a||(a=d?[d]:[]);this.j=d?0:-1;this.i=null;this.g=a;a:{d=this.g.length;a=d-1;if(d&&(d=this.g[a],!(null===d||\"object\"!=typeof d||Array.isArray(d)||Za&&d instanceof Uint8Array))){this.l=a-this.j;this.h=d;break a}void 0!==b&&-1B;B=Math.abs(B);var r=B>>>0;B=Math.floor((B-r)/4294967296);B>>>=0;q&&(B=~B>>>\n0,r=(~r>>>0)+1,4294967295>>7|r<<25)>>>0,r>>>=7;p.push(q)}H=Xa(H);D.call(C,K,H);if(y.M)for(C=0;CE;E++)B.push(G&127|128),G>>=7;B.push(1)}T(q,2,V(r,2));B=V(r,3);null!=B&&Ya(q,3,Da(B));r=V(r,4);null!=r&&Ya(q,4,Da(r));p=Xa(p);K.call(D,H,p)}}m=m.data;break a;default:m={}}}v=m;w=n.stream;switch(n.type){case \"video\":e.pushTexture2d(Object.assign(Object.assign({},\nv),{stream:w,timestamp:g}));break;case \"detections\":u=v;u.stream=w;u.timestamp=g;e.pushDetectionList(u);break;default:throw Error(\"Unknown input config type: '\"+n.type+\"'\");}}f.i.send(e);return N(z,f.B,4);case 4:e.delete(),z.g=0}})})};\nfunction Qb(a,b,c){return Y(a,function f(){var g,e,h,k,l,n,v=this,w,u,z,m,t,x,y,C;return O(f,function(D){switch(D.g){case 1:if(!c)return D.return(b);g={};e=0;h=M(Object.keys(c));for(k=h.next();!k.done;k=h.next())l=k.value,n=c[l],\"string\"!==typeof n&&\"texture\"===n.type&&void 0!==b[n.stream]&&++e;1Z&&128<=L;Z++)L=I.h[I.g++],Ha|=(L&127)<<7*Z;128<=L&&(L=I.h[I.g++],Ha|=(L&127)<<28,E|=(L&127)>>4);if(128<=L)for(Z=0;5>Z&&128<=L;Z++)L=\nI.h[I.g++],E|=(L&127)<<7*Z+3;if(128>L){I=Ha>>>0;L=E>>>0;if(E=L&2147483648)I=~I+1>>>0,L=~L>>>0,0==I&&(L=L+1>>>0);I=4294967296*L+(I>>>0);E=E?-I:I}else I.l=!0,E=void 0;X(G,6,E);break;default:if(!mb(r))break a}}G={X:W(G,1),Y:W(G,2),height:W(G,3),width:W(G,4),rotation:W(G,5,0),V:kb(G,6)};r=zb(H.get(B));I=p.get(B);a:for(E=new pb,I=new Na(I);Oa(I);)switch(I.i){case 10:E.addClassification(Qa(I,new nb,ob));break;default:if(!mb(I))break a}G={R:G,M:r,L:xb(E)};q.push(G)}K=q}else K=[];g[u]=K;D.g=7;break}if(\"proto_list\"===\nz.type){if(m){K=Array(m.size());for(H=0;H;\n readSync(dataId: DataId): BackendValues;\n disposeData(dataId: DataId, force?: boolean): boolean;\n write(values: BackendValues, shape: number[], dtype: DataType): DataId;\n move(\n dataId: DataId, values: BackendValues, shape: number[], dtype: DataType,\n refCount: number): void;\n memory(): {unreliable: boolean;}; // Backend-specific information.\n /** Returns number of data ids currently in the storage. */\n numDataIds(): number;\n refCount(dataId: DataId): number;\n}\n\n/** Convenient class for storing tensor-related data. */\nexport class DataStorage {\n private data = new WeakMap();\n private dataIdsCount = 0;\n\n constructor(private backend: KernelBackend, private dataMover: DataMover) {}\n\n get(dataId: DataId) {\n if (!this.data.has(dataId)) {\n this.dataMover.moveData(this.backend, dataId);\n }\n return this.data.get(dataId);\n }\n\n set(dataId: DataId, value: T): void {\n this.dataIdsCount++;\n this.data.set(dataId, value);\n }\n\n has(dataId: DataId): boolean {\n return this.data.has(dataId);\n }\n\n delete(dataId: DataId): boolean {\n this.dataIdsCount--;\n return this.data.delete(dataId);\n }\n\n numDataIds(): number {\n return this.dataIdsCount;\n }\n}\n\nexport interface DataMover {\n /**\n * To be called by backends whenever they see a dataId that they don't own.\n * Upon calling this method, the mover will fetch the tensor from another\n * backend and register it with the current active backend.\n */\n moveData(backend: KernelBackend, dataId: DataId): void;\n}\n\nexport interface BackendTimer {\n // check if backend timer is available\n timerAvailable(): boolean;\n time(f: () => void): Promise;\n}\n\n/**\n * The interface that defines the kernels that should be implemented when\n * adding a new backend. New backends don't need to implement every one of the\n * methods, this can be done gradually (throw an error for unimplemented\n * methods).\n */\nexport class KernelBackend implements TensorStorage, Backend, BackendTimer {\n refCount(dataId: DataId): number {\n return notYetImplemented('refCount');\n }\n incRef(dataId: DataId): void {\n return notYetImplemented('incRef');\n }\n timerAvailable(): boolean {\n return true;\n }\n time(f: () => void): Promise {\n return notYetImplemented('time');\n }\n read(dataId: object): Promise {\n return notYetImplemented('read');\n }\n readSync(dataId: object): BackendValues {\n return notYetImplemented('readSync');\n }\n numDataIds(): number {\n return notYetImplemented('numDataIds');\n }\n disposeData(dataId: object, force?: boolean): boolean {\n return notYetImplemented('disposeData');\n }\n write(values: BackendValues, shape: number[], dtype: DataType): DataId {\n return notYetImplemented('write');\n }\n move(\n dataId: DataId, values: BackendValues, shape: number[], dtype: DataType,\n refCount: number): void {\n return notYetImplemented('move');\n }\n memory(): {unreliable: boolean; reasons?: string[]} {\n return notYetImplemented('memory');\n }\n /** Returns the highest precision for floats in bits (e.g. 16 or 32) */\n floatPrecision(): 16|32 {\n return notYetImplemented('floatPrecision');\n }\n /** Returns the smallest representable number. */\n epsilon(): number {\n return this.floatPrecision() === 32 ? EPSILON_FLOAT32 : EPSILON_FLOAT16;\n }\n dispose(): void {\n return notYetImplemented('dispose');\n }\n}\n\nfunction notYetImplemented(kernelName: string): never {\n throw new Error(\n `'${kernelName}' not yet implemented or not found in the registry. ` +\n `This kernel may not be supported by the tfjs backend you have chosen`);\n}\n","/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {DataType, DataTypeMap, FlatVector, NumericDataType, RecursiveArray, TensorLike, TypedArray} from './types';\n\n/**\n * Shuffles the array in-place using Fisher-Yates algorithm.\n *\n * ```js\n * const a = [1, 2, 3, 4, 5];\n * tf.util.shuffle(a);\n * console.log(a);\n * ```\n *\n * @param array The array to shuffle in-place.\n *\n * @doc {heading: 'Util', namespace: 'util'}\n */\n// tslint:disable-next-line:no-any\nexport function shuffle(array: any[]|Uint32Array|Int32Array|\n Float32Array): void {\n let counter = array.length;\n let index = 0;\n // While there are elements in the array\n while (counter > 0) {\n // Pick a random index\n index = (Math.random() * counter) | 0;\n // Decrease counter by 1\n counter--;\n // And swap the last element with it\n swap(array, counter, index);\n }\n}\n\n/**\n * Shuffles two arrays in-place the same way using Fisher-Yates algorithm.\n *\n * ```js\n * const a = [1,2,3,4,5];\n * const b = [11,22,33,44,55];\n * tf.util.shuffleCombo(a, b);\n * console.log(a, b);\n * ```\n *\n * @param array The first array to shuffle in-place.\n * @param array2 The second array to shuffle in-place with the same permutation\n * as the first array.\n *\n * @doc {heading: 'Util', namespace: 'util'}\n */\nexport function shuffleCombo(\n // tslint:disable-next-line:no-any\n array: any[]|Uint32Array|Int32Array|Float32Array,\n // tslint:disable-next-line:no-any\n array2: any[]|Uint32Array|Int32Array|Float32Array): void {\n if (array.length !== array2.length) {\n throw new Error(\n `Array sizes must match to be shuffled together ` +\n `First array length was ${array.length}` +\n `Second array length was ${array2.length}`);\n }\n let counter = array.length;\n let index = 0;\n // While there are elements in the array\n while (counter > 0) {\n // Pick a random index\n index = (Math.random() * counter) | 0;\n // Decrease counter by 1\n counter--;\n // And swap the last element of each array with it\n swap(array, counter, index);\n swap(array2, counter, index);\n }\n}\n\n/** Clamps a value to a specified range. */\nexport function clamp(min: number, x: number, max: number): number {\n return Math.max(min, Math.min(x, max));\n}\n\nexport function nearestLargerEven(val: number): number {\n return val % 2 === 0 ? val : val + 1;\n}\n\nexport function swap(\n object: {[index: number]: T}, left: number, right: number) {\n const temp = object[left];\n object[left] = object[right];\n object[right] = temp;\n}\n\nexport function sum(arr: number[]): number {\n let sum = 0;\n for (let i = 0; i < arr.length; i++) {\n sum += arr[i];\n }\n return sum;\n}\n\n/**\n * Returns a sample from a uniform [a, b) distribution.\n *\n * @param a The minimum support (inclusive).\n * @param b The maximum support (exclusive).\n * @return A pseudorandom number on the half-open interval [a,b).\n */\nexport function randUniform(a: number, b: number) {\n const r = Math.random();\n return (b * r) + (1 - r) * a;\n}\n\n/** Returns the squared Euclidean distance between two vectors. */\nexport function distSquared(a: FlatVector, b: FlatVector): number {\n let result = 0;\n for (let i = 0; i < a.length; i++) {\n const diff = Number(a[i]) - Number(b[i]);\n result += diff * diff;\n }\n return result;\n}\n\n/**\n * Asserts that the expression is true. Otherwise throws an error with the\n * provided message.\n *\n * ```js\n * const x = 2;\n * tf.util.assert(x === 2, 'x is not 2');\n * ```\n *\n * @param expr The expression to assert (as a boolean).\n * @param msg A function that returns the message to report when throwing an\n * error. We use a function for performance reasons.\n *\n * @doc {heading: 'Util', namespace: 'util'}\n */\nexport function assert(expr: boolean, msg: () => string) {\n if (!expr) {\n throw new Error(typeof msg === 'string' ? msg : msg());\n }\n}\n\nexport function assertShapesMatch(\n shapeA: number[], shapeB: number[], errorMessagePrefix = ''): void {\n assert(\n arraysEqual(shapeA, shapeB),\n () => errorMessagePrefix + ` Shapes ${shapeA} and ${shapeB} must match`);\n}\n\nexport function assertNonNull(a: TensorLike): void {\n assert(\n a != null,\n () => `The input to the tensor constructor must be a non-null value.`);\n}\n\n// NOTE: We explicitly type out what T extends instead of any so that\n// util.flatten on a nested array of number doesn't try to infer T as a\n// number[][], causing us to explicitly type util.flatten().\n/**\n * Flattens an arbitrarily nested array.\n *\n * ```js\n * const a = [[1, 2], [3, 4], [5, [6, [7]]]];\n * const flat = tf.util.flatten(a);\n * console.log(flat);\n * ```\n *\n * @param arr The nested array to flatten.\n * @param result The destination array which holds the elements.\n * @param skipTypedArray If true, avoids flattening the typed arrays. Defaults\n * to false.\n *\n * @doc {heading: 'Util', namespace: 'util'}\n */\nexport function\nflatten|TypedArray>(\n arr: T|RecursiveArray, result: T[] = [], skipTypedArray = false): T[] {\n if (result == null) {\n result = [];\n }\n if (Array.isArray(arr) || isTypedArray(arr) && !skipTypedArray) {\n for (let i = 0; i < arr.length; ++i) {\n flatten(arr[i], result, skipTypedArray);\n }\n } else {\n result.push(arr as T);\n }\n return result;\n}\n\n/**\n * Returns the size (number of elements) of the tensor given its shape.\n *\n * ```js\n * const shape = [3, 4, 2];\n * const size = tf.util.sizeFromShape(shape);\n * console.log(size);\n * ```\n *\n * @doc {heading: 'Util', namespace: 'util'}\n */\nexport function sizeFromShape(shape: number[]): number {\n if (shape.length === 0) {\n // Scalar.\n return 1;\n }\n let size = shape[0];\n for (let i = 1; i < shape.length; i++) {\n size *= shape[i];\n }\n return size;\n}\n\nexport function isScalarShape(shape: number[]): boolean {\n return shape.length === 0;\n}\n\nexport function arraysEqual(n1: FlatVector, n2: FlatVector) {\n if (n1 === n2) {\n return true;\n }\n if (n1 == null || n2 == null) {\n return false;\n }\n\n if (n1.length !== n2.length) {\n return false;\n }\n for (let i = 0; i < n1.length; i++) {\n if (n1[i] !== n2[i]) {\n return false;\n }\n }\n return true;\n}\n\nexport function isInt(a: number): boolean {\n return a % 1 === 0;\n}\n\nexport function tanh(x: number): number {\n // tslint:disable-next-line:no-any\n if ((Math as any).tanh != null) {\n // tslint:disable-next-line:no-any\n return (Math as any).tanh(x);\n }\n if (x === Infinity) {\n return 1;\n } else if (x === -Infinity) {\n return -1;\n } else {\n const e2x = Math.exp(2 * x);\n return (e2x - 1) / (e2x + 1);\n }\n}\n\nexport function sizeToSquarishShape(size: number): [number, number] {\n const width = Math.ceil(Math.sqrt(size));\n return [width, Math.ceil(size / width)];\n}\n\n/**\n * Creates a new array with randomized indicies to a given quantity.\n *\n * ```js\n * const randomTen = tf.util.createShuffledIndices(10);\n * console.log(randomTen);\n * ```\n *\n * @param number Quantity of how many shuffled indicies to create.\n *\n * @doc {heading: 'Util', namespace: 'util'}\n */\nexport function createShuffledIndices(n: number): Uint32Array {\n const shuffledIndices = new Uint32Array(n);\n for (let i = 0; i < n; ++i) {\n shuffledIndices[i] = i;\n }\n shuffle(shuffledIndices);\n return shuffledIndices;\n}\n\nexport function rightPad(a: string, size: number): string {\n if (size <= a.length) {\n return a;\n }\n return a + ' '.repeat(size - a.length);\n}\n\nexport function repeatedTry(\n checkFn: () => boolean, delayFn = (counter: number) => 0,\n maxCounter?: number): Promise {\n return new Promise((resolve, reject) => {\n let tryCount = 0;\n\n const tryFn = () => {\n if (checkFn()) {\n resolve();\n return;\n }\n\n tryCount++;\n\n const nextBackoff = delayFn(tryCount);\n\n if (maxCounter != null && tryCount >= maxCounter) {\n reject();\n return;\n }\n setTimeout(tryFn, nextBackoff);\n };\n\n tryFn();\n });\n}\n\n/**\n * Given the full size of the array and a shape that may contain -1 as the\n * implicit dimension, returns the inferred shape where -1 is replaced.\n * E.g. For shape=[2, -1, 3] and size=24, it will return [2, 4, 3].\n *\n * @param shape The shape, which may contain -1 in some dimension.\n * @param size The full size (number of elements) of the array.\n * @return The inferred shape where -1 is replaced with the inferred size.\n */\nexport function inferFromImplicitShape(\n shape: number[], size: number): number[] {\n let shapeProd = 1;\n let implicitIdx = -1;\n\n for (let i = 0; i < shape.length; ++i) {\n if (shape[i] >= 0) {\n shapeProd *= shape[i];\n } else if (shape[i] === -1) {\n if (implicitIdx !== -1) {\n throw Error(\n `Shapes can only have 1 implicit size. ` +\n `Found -1 at dim ${implicitIdx} and dim ${i}`);\n }\n implicitIdx = i;\n } else if (shape[i] < 0) {\n throw Error(`Shapes can not be < 0. Found ${shape[i]} at dim ${i}`);\n }\n }\n\n if (implicitIdx === -1) {\n if (size > 0 && size !== shapeProd) {\n throw Error(`Size(${size}) must match the product of shape ${shape}`);\n }\n return shape;\n }\n\n if (shapeProd === 0) {\n throw Error(\n `Cannot infer the missing size in [${shape}] when ` +\n `there are 0 elements`);\n }\n if (size % shapeProd !== 0) {\n throw Error(\n `The implicit shape can't be a fractional number. ` +\n `Got ${size} / ${shapeProd}`);\n }\n\n const newShape = shape.slice();\n newShape[implicitIdx] = size / shapeProd;\n return newShape;\n}\n\nexport function parseAxisParam(\n axis: number|number[], shape: number[]): number[] {\n const rank = shape.length;\n\n // Normalize input\n axis = axis == null ? shape.map((s, i) => i) : [].concat(axis);\n\n // Check for valid range\n assert(\n axis.every(ax => ax >= -rank && ax < rank),\n () =>\n `All values in axis param must be in range [-${rank}, ${rank}) but ` +\n `got axis ${axis}`);\n\n // Check for only integers\n assert(\n axis.every(ax => isInt(ax)),\n () => `All values in axis param must be integers but ` +\n `got axis ${axis}`);\n\n // Handle negative axis.\n return axis.map(a => a < 0 ? rank + a : a);\n}\n\n/** Reduces the shape by removing all dimensions of shape 1. */\nexport function squeezeShape(shape: number[], axis?: number[]):\n {newShape: number[], keptDims: number[]} {\n const newShape: number[] = [];\n const keptDims: number[] = [];\n const isEmptyArray = axis != null && Array.isArray(axis) && axis.length === 0;\n const axes = (axis == null || isEmptyArray) ?\n null :\n parseAxisParam(axis, shape).sort();\n let j = 0;\n for (let i = 0; i < shape.length; ++i) {\n if (axes != null) {\n if (axes[j] === i && shape[i] !== 1) {\n throw new Error(\n `Can't squeeze axis ${i} since its dim '${shape[i]}' is not 1`);\n }\n if ((axes[j] == null || axes[j] > i) && shape[i] === 1) {\n newShape.push(shape[i]);\n keptDims.push(i);\n }\n if (axes[j] <= i) {\n j++;\n }\n }\n if (shape[i] !== 1) {\n newShape.push(shape[i]);\n keptDims.push(i);\n }\n }\n return {newShape, keptDims};\n}\n\nexport function getTypedArrayFromDType(\n dtype: D, size: number): DataTypeMap[D] {\n let values = null;\n if (dtype == null || dtype === 'float32') {\n values = new Float32Array(size);\n } else if (dtype === 'int32') {\n values = new Int32Array(size);\n } else if (dtype === 'bool') {\n values = new Uint8Array(size);\n } else {\n throw new Error(`Unknown data type ${dtype}`);\n }\n return values as DataTypeMap[D];\n}\n\nexport function getArrayFromDType(\n dtype: D, size: number): DataTypeMap[D] {\n let values = null;\n if (dtype == null || dtype === 'float32') {\n values = new Float32Array(size);\n } else if (dtype === 'int32') {\n values = new Int32Array(size);\n } else if (dtype === 'bool') {\n values = new Uint8Array(size);\n } else if (dtype === 'string') {\n values = new Array<'string'>(size);\n } else {\n throw new Error(`Unknown data type ${dtype}`);\n }\n return values as DataTypeMap[D];\n}\n\nexport function checkConversionForErrors(\n vals: DataTypeMap[D]|number[], dtype: D): void {\n for (let i = 0; i < vals.length; i++) {\n const num = vals[i] as number;\n if (isNaN(num) || !isFinite(num)) {\n throw Error(`A tensor of type ${dtype} being uploaded contains ${num}.`);\n }\n }\n}\n\n/** Returns true if the dtype is valid. */\nexport function isValidDtype(dtype: DataType): boolean {\n return dtype === 'bool' || dtype === 'complex64' || dtype === 'float32' ||\n dtype === 'int32' || dtype === 'string';\n}\n\n/**\n * Returns true if the new type can't encode the old type without loss of\n * precision.\n */\nexport function hasEncodingLoss(oldType: DataType, newType: DataType): boolean {\n if (newType === 'complex64') {\n return false;\n }\n if (newType === 'float32' && oldType !== 'complex64') {\n return false;\n }\n if (newType === 'int32' && oldType !== 'float32' && oldType !== 'complex64') {\n return false;\n }\n if (newType === 'bool' && oldType === 'bool') {\n return false;\n }\n return true;\n}\n\nexport function isTypedArray(a: {}): a is Float32Array|Int32Array|Uint8Array {\n return a instanceof Float32Array || a instanceof Int32Array ||\n a instanceof Uint8Array;\n}\n\nexport function bytesPerElement(dtype: DataType): number {\n if (dtype === 'float32' || dtype === 'int32') {\n return 4;\n } else if (dtype === 'complex64') {\n return 8;\n } else if (dtype === 'bool') {\n return 1;\n } else {\n throw new Error(`Unknown dtype ${dtype}`);\n }\n}\n\n/**\n * Returns the approximate number of bytes allocated in the string array - 2\n * bytes per character. Computing the exact bytes for a native string in JS is\n * not possible since it depends on the encoding of the html page that serves\n * the website.\n */\nexport function bytesFromStringArray(arr: Uint8Array[]): number {\n if (arr == null) {\n return 0;\n }\n let bytes = 0;\n arr.forEach(x => bytes += x.length);\n return bytes;\n}\n\n/** Returns true if the value is a string. */\nexport function isString(value: {}): value is string {\n return typeof value === 'string' || value instanceof String;\n}\n\nexport function isBoolean(value: {}): boolean {\n return typeof value === 'boolean';\n}\n\nexport function isNumber(value: {}): boolean {\n return typeof value === 'number';\n}\n\nexport function inferDtype(values: TensorLike): DataType {\n if (Array.isArray(values)) {\n return inferDtype(values[0]);\n }\n if (values instanceof Float32Array) {\n return 'float32';\n } else if (values instanceof Int32Array || values instanceof Uint8Array) {\n return 'int32';\n } else if (isNumber(values)) {\n return 'float32';\n } else if (isString(values)) {\n return 'string';\n } else if (isBoolean(values)) {\n return 'bool';\n }\n return 'float32';\n}\n\nexport function isFunction(f: Function) {\n return !!(f && f.constructor && f.call && f.apply);\n}\n\nexport function nearestDivisor(size: number, start: number): number {\n for (let i = start; i < size; ++i) {\n if (size % i === 0) {\n return i;\n }\n }\n return size;\n}\n\nexport function computeStrides(shape: number[]): number[] {\n const rank = shape.length;\n if (rank < 2) {\n return [];\n }\n\n // Last dimension has implicit stride of 1, thus having D-1 (instead of D)\n // strides.\n const strides = new Array(rank - 1);\n strides[rank - 2] = shape[rank - 1];\n for (let i = rank - 3; i >= 0; --i) {\n strides[i] = strides[i + 1] * shape[i + 1];\n }\n return strides;\n}\n\nfunction createNestedArray(\n offset: number, shape: number[], a: TypedArray, isComplex = false) {\n const ret = new Array();\n if (shape.length === 1) {\n const d = shape[0] * (isComplex ? 2 : 1);\n for (let i = 0; i < d; i++) {\n ret[i] = a[offset + i];\n }\n } else {\n const d = shape[0];\n const rest = shape.slice(1);\n const len = rest.reduce((acc, c) => acc * c) * (isComplex ? 2 : 1);\n for (let i = 0; i < d; i++) {\n ret[i] = createNestedArray(offset + i * len, rest, a, isComplex);\n }\n }\n return ret;\n}\n\n// Provide a nested array of TypedArray in given shape.\nexport function toNestedArray(\n shape: number[], a: TypedArray, isComplex = false) {\n if (shape.length === 0) {\n // Scalar type should return a single number.\n return a[0];\n }\n const size = shape.reduce((acc, c) => acc * c) * (isComplex ? 2 : 1);\n if (size === 0) {\n // A tensor with shape zero should be turned into empty list.\n return [];\n }\n if (size !== a.length) {\n throw new Error(`[${shape}] does not match the input size ${a.length}${\n isComplex ? ' for a complex tensor' : ''}.`);\n }\n\n return createNestedArray(0, shape, a, isComplex);\n}\n\nexport function makeOnesTypedArray(\n size: number, dtype: D): DataTypeMap[D] {\n const array = makeZerosTypedArray(size, dtype);\n for (let i = 0; i < array.length; i++) {\n array[i] = 1;\n }\n return array;\n}\n\nexport function makeZerosTypedArray(\n size: number, dtype: D): DataTypeMap[D] {\n if (dtype == null || dtype === 'float32' || dtype === 'complex64') {\n return new Float32Array(size) as DataTypeMap[D];\n } else if (dtype === 'int32') {\n return new Int32Array(size) as DataTypeMap[D];\n } else if (dtype === 'bool') {\n return new Uint8Array(size) as DataTypeMap[D];\n } else {\n throw new Error(`Unknown data type ${dtype}`);\n }\n}\n\n/**\n * Make nested `TypedArray` filled with zeros.\n * @param shape The shape information for the nested array.\n * @param dtype dtype of the array element.\n */\nexport function makeZerosNestedTypedArray(\n shape: number[], dtype: D) {\n const size = shape.reduce((prev, curr) => prev * curr, 1);\n if (dtype == null || dtype === 'float32') {\n return toNestedArray(shape, new Float32Array(size));\n } else if (dtype === 'int32') {\n return toNestedArray(shape, new Int32Array(size));\n } else if (dtype === 'bool') {\n return toNestedArray(shape, new Uint8Array(size));\n } else {\n throw new Error(`Unknown data type ${dtype}`);\n }\n}\n\nexport function assertNonNegativeIntegerDimensions(shape: number[]) {\n shape.forEach(dimSize => {\n assert(\n Number.isInteger(dimSize) && dimSize >= 0,\n () =>\n `Tensor must have a shape comprised of positive integers but got ` +\n `shape [${shape}].`);\n });\n}\n\n/**\n * Computes flat index for a given location (multidimentionsal index) in a\n * Tensor/multidimensional array.\n *\n * @param locs Location in the tensor.\n * @param rank Rank of the tensor.\n * @param strides Tensor strides.\n */\nexport function locToIndex(\n locs: number[], rank: number, strides: number[]): number {\n if (rank === 0) {\n return 0;\n } else if (rank === 1) {\n return locs[0];\n }\n let index = locs[locs.length - 1];\n for (let i = 0; i < locs.length - 1; ++i) {\n index += strides[i] * locs[i];\n }\n return index;\n}\n\n/**\n * Computes the location (multidimensional index) in a tensor/multidimentional\n * array for a given flat index.\n *\n * @param index Index in flat array.\n * @param rank Rank of tensor.\n * @param strides Strides of tensor.\n */\nexport function indexToLoc(\n index: number, rank: number, strides: number[]): number[] {\n if (rank === 0) {\n return [];\n } else if (rank === 1) {\n return [index];\n }\n const locs: number[] = new Array(rank);\n for (let i = 0; i < locs.length - 1; ++i) {\n locs[i] = Math.floor(index / strides[i]);\n index -= locs[i] * strides[i];\n }\n locs[locs.length - 1] = index;\n return locs;\n}\n\n/**\n * This method asserts whether an object is a Promise instance.\n * @param object\n */\n// tslint:disable-next-line: no-any\nexport function isPromise(object: any) {\n // We chose to not use 'obj instanceOf Promise' for two reasons:\n // 1. It only reliably works for es6 Promise, not other Promise\n // implementations.\n // 2. It doesn't work with framework that uses zone.js. zone.js monkey patch\n // the async calls, so it is possible the obj (patched) is comparing to a\n // pre-patched Promise.\n return object && object.then && typeof object.then === 'function';\n}\n","/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {Platform} from './platforms/platform';\nimport {isPromise} from './util_base';\n\n// Expects flags from URL in the format ?tfjsflags=FLAG1:1,FLAG2:true.\nconst TENSORFLOWJS_FLAGS_PREFIX = 'tfjsflags';\n\ntype FlagValue = number|boolean;\ntype FlagEvaluationFn = (() => FlagValue)|(() => Promise);\nexport type Flags = {\n [featureName: string]: FlagValue\n};\nexport type FlagRegistryEntry = {\n evaluationFn: FlagEvaluationFn;\n setHook?: (value: FlagValue) => void;\n};\n\n/**\n * The environment contains evaluated flags as well as the registered platform.\n * This is always used as a global singleton and can be retrieved with\n * `tf.env()`.\n *\n * @doc {heading: 'Environment'}\n */\nexport class Environment {\n private flags: Flags = {};\n private flagRegistry: {[flagName: string]: FlagRegistryEntry} = {};\n\n private urlFlags: Flags = {};\n\n platformName: string;\n platform: Platform;\n\n // Jasmine spies on this in 'environment_test.ts'\n getQueryParams = getQueryParams;\n\n // tslint:disable-next-line: no-any\n constructor(public global: any) {\n this.populateURLFlags();\n }\n\n setPlatform(platformName: string, platform: Platform) {\n if (this.platform != null) {\n console.warn(\n `Platform ${this.platformName} has already been set. ` +\n `Overwriting the platform with ${platform}.`);\n }\n this.platformName = platformName;\n this.platform = platform;\n }\n\n registerFlag(\n flagName: string, evaluationFn: FlagEvaluationFn,\n setHook?: (value: FlagValue) => void) {\n this.flagRegistry[flagName] = {evaluationFn, setHook};\n\n // Override the flag value from the URL. This has to happen here because the\n // environment is initialized before flags get registered.\n if (this.urlFlags[flagName] != null) {\n const flagValue = this.urlFlags[flagName];\n console.warn(\n `Setting feature override from URL ${flagName}: ${flagValue}.`);\n this.set(flagName, flagValue);\n }\n }\n\n async getAsync(flagName: string): Promise {\n if (flagName in this.flags) {\n return this.flags[flagName];\n }\n\n this.flags[flagName] = await this.evaluateFlag(flagName);\n return this.flags[flagName];\n }\n\n get(flagName: string): FlagValue {\n if (flagName in this.flags) {\n return this.flags[flagName];\n }\n\n const flagValue = this.evaluateFlag(flagName);\n if (isPromise(flagValue)) {\n throw new Error(\n `Flag ${flagName} cannot be synchronously evaluated. ` +\n `Please use getAsync() instead.`);\n }\n\n this.flags[flagName] = flagValue as number | boolean;\n\n return this.flags[flagName];\n }\n\n getNumber(flagName: string): number {\n return this.get(flagName) as number;\n }\n\n getBool(flagName: string): boolean {\n return this.get(flagName) as boolean;\n }\n\n getFlags(): Flags {\n return this.flags;\n }\n // For backwards compatibility.\n get features(): Flags {\n return this.flags;\n }\n\n set(flagName: string, value: FlagValue): void {\n if (this.flagRegistry[flagName] == null) {\n throw new Error(\n `Cannot set flag ${flagName} as it has not been registered.`);\n }\n this.flags[flagName] = value;\n if (this.flagRegistry[flagName].setHook != null) {\n this.flagRegistry[flagName].setHook(value);\n }\n }\n\n private evaluateFlag(flagName: string): FlagValue|Promise {\n if (this.flagRegistry[flagName] == null) {\n throw new Error(\n `Cannot evaluate flag '${flagName}': no evaluation function found.`);\n }\n return this.flagRegistry[flagName].evaluationFn();\n }\n\n setFlags(flags: Flags) {\n this.flags = Object.assign({}, flags);\n }\n\n reset() {\n this.flags = {};\n this.urlFlags = {};\n this.populateURLFlags();\n }\n\n private populateURLFlags(): void {\n if (typeof this.global === 'undefined' ||\n typeof this.global.location === 'undefined' ||\n typeof this.global.location.search === 'undefined') {\n return;\n }\n\n const urlParams = this.getQueryParams(this.global.location.search);\n if (TENSORFLOWJS_FLAGS_PREFIX in urlParams) {\n const keyValues = urlParams[TENSORFLOWJS_FLAGS_PREFIX].split(',');\n keyValues.forEach(keyValue => {\n const [key, value] = keyValue.split(':') as [string, string];\n this.urlFlags[key] = parseValue(key, value);\n });\n }\n }\n}\n\nexport function getQueryParams(queryString: string): {[key: string]: string} {\n const params = {};\n queryString.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g, (s, ...t) => {\n decodeParam(params, t[0], t[1]);\n return t.join('=');\n });\n return params;\n}\n\nfunction decodeParam(\n params: {[key: string]: string}, name: string, value?: string) {\n params[decodeURIComponent(name)] = decodeURIComponent(value || '');\n}\n\nfunction parseValue(flagName: string, value: string): FlagValue {\n value = value.toLowerCase();\n if (value === 'true' || value === 'false') {\n return value === 'true';\n } else if (`${+ value}` === value) {\n return +value;\n }\n throw new Error(\n `Could not parse value flag value ${value} for flag ${flagName}.`);\n}\n\n/**\n * Returns the current environment (a global singleton).\n *\n * The environment object contains the evaluated feature values as well as the\n * active platform.\n *\n * @doc {heading: 'Environment'}\n */\nexport function env() {\n return ENV;\n}\n\nexport let ENV: Environment = null;\nexport function setEnvironmentGlobal(environment: Environment) {\n ENV = environment;\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\n// Note that the identifier globalNameSpace is scoped to this module, but will\n// always resolve to the same global object regardless of how the module is\n// resolved.\n// tslint:disable-next-line:no-any\nlet globalNameSpace: {_tfGlobals: Map};\n// tslint:disable-next-line:no-any\nexport function getGlobalNamespace(): {_tfGlobals: Map} {\n if (globalNameSpace == null) {\n // tslint:disable-next-line:no-any\n let ns: any;\n if (typeof (window) !== 'undefined') {\n ns = window;\n } else if (typeof (global) !== 'undefined') {\n ns = global;\n } else if (typeof (process) !== 'undefined') {\n ns = process;\n } else if (typeof (self) !== 'undefined') {\n ns = self;\n } else {\n throw new Error('Could not find a global object');\n }\n globalNameSpace = ns;\n }\n return globalNameSpace;\n}\n\n// tslint:disable-next-line:no-any\nfunction getGlobalMap(): Map {\n const ns = getGlobalNamespace();\n if (ns._tfGlobals == null) {\n ns._tfGlobals = new Map();\n }\n return ns._tfGlobals;\n}\n\n/**\n * Returns a globally accessible 'singleton' object.\n *\n * @param key the name of the object\n * @param init a function to initialize to initialize this object\n * the first time it is fetched.\n */\nexport function getGlobal(key: string, init: () => T): T {\n const globalMap = getGlobalMap();\n if (globalMap.has(key)) {\n return globalMap.get(key);\n } else {\n const singleton = init();\n globalMap.set(key, singleton);\n return globalMap.get(key);\n }\n}\n","/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n// Allow UpperCamelCase variable names\n// tslint:disable: variable-name\n// Unfortunately just enabling PascalCase per file (tslint:enable:\n// allow-pascal-case) doesn't work.\nimport {NamedTensorInfoMap, TensorInfo} from './kernel_registry';\nimport {ExplicitPadding} from './ops/conv_util';\nimport {Activation} from './ops/fused_types';\nimport {DataType, PixelData} from './types';\n\nexport const Abs = 'Abs';\nexport type AbsInputs = UnaryInputs;\n\nexport const Acos = 'Acos';\nexport type AcosInputs = UnaryInputs;\n\nexport const Acosh = 'Acosh';\nexport type AcoshInputs = UnaryInputs;\n\nexport const Add = 'Add';\nexport type AddInputs = BinaryInputs;\n\nexport const AddN = 'AddN';\nexport type AddNInputs = TensorInfo[];\n\nexport const All = 'All';\nexport type AllInputs = Pick;\nexport interface AllAttrs {\n axis: number|number[];\n keepDims: boolean;\n}\n\nexport const Any = 'Any';\nexport type AnyInputs = Pick;\nexport interface AnyAttrs {\n axis: number|number[];\n keepDims: boolean;\n}\n\nexport const ArgMax = 'ArgMax';\nexport type ArgMaxInputs = Pick;\nexport interface ArgMaxAttrs {\n axis: number;\n}\n\nexport const ArgMin = 'ArgMin';\nexport type ArgMinInputs = Pick;\nexport interface ArgMinAttrs {\n axis: number;\n}\n\nexport const Asin = 'Asin';\nexport type AsinInputs = UnaryInputs;\n\nexport const Asinh = 'Asinh';\nexport type AsinhInputs = UnaryInputs;\n\nexport const Atan = 'Atan';\nexport type AtanInputs = UnaryInputs;\n\nexport const Atanh = 'Atanh';\nexport type AtanhInputs = UnaryInputs;\n\nexport const Atan2 = 'Atan2';\nexport type Atan2Inputs = BinaryInputs;\n\nexport const AvgPool = 'AvgPool';\nexport type AvgPoolInputs = Pick;\nexport interface AvgPoolAttrs {\n filterSize: [number, number]|number;\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const AvgPoolGrad = 'AvgPoolGrad';\nexport type AvgPoolGradInputs = Pick;\nexport interface AvgPoolGradAttrs {\n filterSize: [number, number]|number;\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n}\n\nexport const AvgPool3D = 'AvgPool3D';\nexport type AvgPool3DInputs = Pick;\nexport interface AvgPool3DAttrs {\n filterSize: [number, number, number]|number;\n strides: [number, number, number]|number;\n pad: 'valid'|'same'|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n dataFormat: 'NDHWC'|'NCDHW';\n}\n\nexport const AvgPool3DGrad = 'AvgPool3DGrad';\nexport type AvgPool3DGradInputs = Pick;\nexport interface AvgPool3DGradAttrs {\n filterSize: [number, number, number]|number;\n strides: [number, number, number]|number;\n pad: 'valid'|'same'|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const BatchMatMul = 'BatchMatMul';\nexport type BatchMatMulInputs = Pick;\nexport interface BatchMatMulAttrs {\n transposeA: boolean;\n transposeB: boolean;\n}\n\nexport const BatchToSpaceND = 'BatchToSpaceND';\nexport type BatchToSpaceNDInputs = Pick;\nexport interface BatchToSpaceNDAttrs {\n blockShape: number[];\n crops: number[][];\n}\n\nexport type BinaryInputs = Pick;\n\nexport const Bincount = 'Bincount';\nexport type BincountInputs = Pick;\nexport interface BincountAttrs {\n size: number;\n}\n\nexport const BroadcastTo = 'BroadcastTo';\nexport type BroadcastToInputs = Pick;\nexport interface BroadCastToAttrs {\n shape: number[];\n inputShape: number[]; // for gradient\n}\n\nexport const Cast = 'Cast';\nexport type CastInputs = UnaryInputs;\nexport interface CastAttrs {\n dtype: DataType;\n}\n\nexport const Ceil = 'Ceil';\nexport type CeilInputs = UnaryInputs;\n\nexport const ClipByValue = 'ClipByValue';\nexport type ClipByValueInputs = UnaryInputs;\nexport interface ClipByValueAttrs {\n clipValueMin: number;\n clipValueMax: number;\n}\n\nexport const Complex = 'Complex';\nexport type ComplexInputs = Pick;\n\nexport const ComplexAbs = 'ComplexAbs';\nexport type ComplexAbsInputs = UnaryInputs;\n\nexport const Concat = 'Concat';\nexport type ConcatInputs = TensorInfo[];\nexport interface ConcatAttrs {\n axis: number;\n}\n\nexport const Conv2D = 'Conv2D';\nexport type Conv2DInputs = Pick;\nexport interface Conv2DAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dataFormat: 'NHWC'|'NCHW';\n dilations: [number, number]|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const Conv2DBackpropFilter = 'Conv2DBackpropFilter';\nexport type Conv2DBackpropFilterInputs = Pick;\nexport interface Conv2DBackpropFilterAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dataFormat: 'NHWC'|'NCHW';\n dimRoundingMode?: 'floor'|'round'|'ceil';\n filterShape: [number, number, number, number];\n}\n\nexport const Conv2DBackpropInput = 'Conv2DBackpropInput';\nexport type Conv2DBackpropInputInputs = Pick;\nexport interface Conv2DBackpropInputAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dataFormat: 'NHWC'|'NCHW';\n dimRoundingMode?: 'floor'|'round'|'ceil';\n inputShape: [number, number, number, number];\n}\n\nexport const Conv3D = 'Conv3D';\nexport type Conv3DInputs = Pick;\nexport interface Conv3DAttrs {\n strides: [number, number, number]|number;\n pad: 'valid'|'same';\n dataFormat: 'NDHWC'|'NCDHW';\n dilations: [number, number, number]|number;\n}\n\nexport const Conv3DBackpropFilterV2 = 'Conv3DBackpropFilterV2';\nexport type Conv3DBackpropFilterV2Inputs = Pick;\n\nexport interface Conv3DBackpropFilterV2Attrs {\n strides: [number, number, number]|number;\n pad: 'valid'|'same';\n filterShape: [number, number, number, number, number];\n}\n\nexport const Conv3DBackpropInputV2 = 'Conv3DBackpropInputV2';\nexport type Conv3DBackpropInputV2Inputs =\n Pick;\nexport interface Conv3DBackpropInputV2Attrs {\n strides: [number, number, number]|number;\n pad: 'valid'|'same';\n inputShape: [number, number, number, number, number];\n}\n\nexport const Cos = 'Cos';\nexport type CosInputs = UnaryInputs;\n\nexport const Cosh = 'Cosh';\nexport type CoshInputs = UnaryInputs;\n\nexport const Cumsum = 'Cumsum';\nexport type CumsumInputs = Pick;\nexport interface CumsumAttrs {\n axis: number;\n exclusive: boolean;\n reverse: boolean;\n}\n\nexport const CropAndResize = 'CropAndResize';\nexport type CropAndResizeInputs =\n Pick;\nexport interface CropAndResizeAttrs {\n cropSize: [number, number];\n method: 'bilinear'|'nearest';\n extrapolationValue: number;\n}\n\nexport const DenseBincount = 'DenseBincount';\nexport type DenseBincountInputs = Pick;\nexport interface DenseBincountAttrs {\n size: number;\n binaryOutput?: boolean;\n}\n\nexport const DepthToSpace = 'DepthToSpace';\nexport type DepthToSpaceInputs = Pick;\nexport interface DepthToSpaceAttrs {\n blockSize: number;\n dataFormat: 'NHWC'|'NCHW';\n}\n\nexport const DepthwiseConv2dNative = 'DepthwiseConv2dNative';\nexport type DepthwiseConv2dNativeInputs =\n Pick;\nexport interface DepthwiseConv2dNativeAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dataFormat: 'NHWC'|'NCHW';\n dilations: [number, number]|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const DepthwiseConv2dNativeBackpropFilter =\n 'DepthwiseConv2dNativeBackpropFilter';\nexport type DepthwiseConv2dNativeBackpropFilterInputs =\n Pick;\nexport interface DepthwiseConv2dNativeBackpropFilterAttrs {\n strides: [number, number]|number;\n dilations: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n filterShape: [number, number, number, number];\n}\n\nexport const DepthwiseConv2dNativeBackpropInput =\n 'DepthwiseConv2dNativeBackpropInput';\nexport type DepthwiseConv2dNativeBackpropInputInputs =\n Pick;\nexport interface DepthwiseConv2dNativeBackpropInputAttrs {\n strides: [number, number]|number;\n dilations: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n inputShape: [number, number, number, number];\n}\n\nexport const Diag = 'Diag';\nexport type DiagInputs = Pick;\n\nexport const Dilation2D = 'Dilation2D';\nexport type Dilation2DInputs = Pick;\nexport interface Dilation2DAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number;\n dilations: [number, number]|number;\n}\n\nexport const Dilation2DBackpropInput = 'Dilation2DBackpropInput';\nexport type Dilation2DBackpropInputInputs =\n Pick;\n\nexport const Dilation2DBackpropFilter = 'Dilation2DBackpropFilter';\nexport type Dilation2DBackpropFilterInputs =\n Pick;\n\nexport const RealDiv = 'RealDiv';\nexport type RealDivInputs = BinaryInputs;\n\nexport const Einsum = 'Einsum';\nexport type EinsumInputs = TensorInfo[];\nexport interface EinsumAttrs {\n equation: string;\n}\n\nexport const Elu = 'Elu';\nexport type EluInputs = Pick;\n\nexport const EluGrad = 'EluGrad';\nexport type EluGradInputs = Pick;\n\nexport const Erf = 'Erf';\nexport type ErfInputs = UnaryInputs;\n\nexport const Equal = 'Equal';\nexport type EqualInputs = BinaryInputs;\n\nexport const Exp = 'Exp';\nexport type ExpInputs = UnaryInputs;\n\nexport const ExpandDims = 'ExpandDims';\nexport type ExpandDimsInputs = Pick;\nexport interface ExpandDimsAttrs {\n dim: number;\n}\n\nexport const Expm1 = 'Expm1';\nexport type Expm1Inputs = UnaryInputs;\n\nexport const FFT = 'FFT';\nexport type FFTInputs = Pick;\n\nexport const Fill = 'Fill';\nexport interface FillAttrs {\n shape: number[];\n value: number|string;\n dtype: DataType;\n}\n\nexport const FlipLeftRight = 'FlipLeftRight';\nexport type FlipLeftRightInputs = Pick;\n\nexport const Floor = 'Floor';\nexport type FloorInputs = UnaryInputs;\n\nexport const FloorDiv = 'FloorDiv';\nexport type FloorDivInputs = BinaryInputs;\n\nexport const FusedBatchNorm = 'FusedBatchNorm';\nexport type FusedBatchNormInputs =\n Pick;\nexport interface FusedBatchNormAttrs {\n varianceEpsilon: number;\n}\n\nexport const GatherV2 = 'GatherV2';\nexport type GatherV2Inputs = Pick;\nexport interface GatherV2Attrs {\n axis: number;\n batchDims: number;\n}\n\nexport const GatherNd = 'GatherNd';\nexport type GatherNdInputs = Pick;\n\nexport const Greater = 'Greater';\nexport type GreaterInputs = BinaryInputs;\n\nexport const GreaterEqual = 'GreaterEqual';\nexport type GreaterEqualInputs = BinaryInputs;\n\nexport const Identity = 'Identity';\nexport type IdentityInputs = Pick;\n\nexport const IFFT = 'IFFT';\nexport type IFFTInputs = Pick;\n\nexport const Imag = 'Imag';\nexport type ImagInputs = Pick;\n\nexport const IsFinite = 'IsFinite';\nexport type IsFiniteInputs = UnaryInputs;\n\nexport const IsInf = 'IsInf';\nexport type IsInfInputs = UnaryInputs;\n\nexport const IsNan = 'IsNan';\nexport type IsNanInputs = UnaryInputs;\n\nexport const LeakyRelu = 'LeakyRelu';\nexport type LeakyReluInputs = Pick;\nexport interface LeakyReluAttrs {\n alpha: number;\n}\n\nexport const Less = 'Less';\nexport type LessInputs = BinaryInputs;\n\nexport const LessEqual = 'LessEqual';\nexport type LessEqualInputs = BinaryInputs;\n\nexport const LinSpace = 'LinSpace';\nexport interface LinSpaceAttrs {\n start: number;\n stop: number;\n num: number;\n}\nexport const Log = 'Log';\nexport type LogInputs = UnaryInputs;\n\nexport const Log1p = 'Log1p';\nexport type Log1pInputs = UnaryInputs;\n\nexport const LogicalAnd = 'LogicalAnd';\nexport type LogicalAndInputs = BinaryInputs;\n\nexport const LogicalNot = 'LogicalNot';\nexport type LogicalNotInputs = Pick;\n\nexport const LogicalOr = 'LogicalOr';\nexport type LogicalOrInputs = BinaryInputs;\n\nexport const LogSoftmax = 'LogSoftmax';\nexport type LogSoftmaxInputs = Pick;\nexport interface LogSoftmaxAttrs {\n axis: number;\n}\n\nexport const LRN = 'LRN';\nexport type LRNInputs = Pick;\nexport interface LRNAttrs {\n depthRadius: number;\n bias: number;\n alpha: number;\n beta: number;\n}\n\nexport const LRNGrad = 'LRNGrad';\nexport type LRNGradInputs = Pick;\nexport interface LRNGradAttrs {\n depthRadius: number;\n bias: number;\n alpha: number;\n beta: number;\n}\n\nexport const Max = 'Max';\nexport type MaxInputs = Pick;\nexport interface MaxAttrs {\n reductionIndices: number|number[];\n keepDims: boolean;\n}\n\nexport const Maximum = 'Maximum';\nexport type MaximumInputs = BinaryInputs;\n\nexport const MaxPool = 'MaxPool';\nexport type MaxPoolInputs = Pick;\nexport interface MaxPoolAttrs {\n filterSize: [number, number]|number;\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const MaxPoolGrad = 'MaxPoolGrad';\nexport type MaxPoolGradInputs = Pick;\nexport interface MaxPoolGradAttrs {\n filterSize: [number, number]|number;\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const MaxPool3D = 'MaxPool3D';\nexport type MaxPool3DInputs = Pick;\nexport interface MaxPool3DAttrs {\n filterSize: [number, number, number]|number;\n strides: [number, number, number]|number;\n pad: 'valid'|'same'|number;\n dataFormat: 'NDHWC'|'NCDHW';\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const MaxPool3DGrad = 'MaxPool3DGrad';\nexport type MaxPool3DGradInputs =\n Pick;\nexport interface MaxPool3DGradAttrs {\n filterSize: [number, number, number]|number;\n strides: [number, number, number]|number;\n pad: 'valid'|'same'|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const MaxPoolWithArgmax = 'MaxPoolWithArgmax';\nexport type MaxPoolWithArgmaxInputs = Pick;\nexport interface MaxPoolWithArgmaxAttrs {\n filterSize: [number, number]|number;\n strides: [number, number]|number;\n pad: 'valid'|'same'|number;\n includeBatchInIndex: boolean;\n}\n\nexport const Mean = 'Mean';\nexport type MeanInputs = Pick;\nexport interface MeanAttrs {\n axis: number|number[];\n keepDims: boolean;\n}\n\nexport const Min = 'Min';\nexport type MinInputs = Pick;\nexport interface MinAttrs {\n axis: number|number[];\n keepDims: boolean;\n}\n\nexport const Minimum = 'Minimum';\nexport type MinimumInputs = BinaryInputs;\n\nexport const MirrorPad = 'MirrorPad';\nexport type MirrorPadInputs = Pick;\nexport interface MirrorPadAttrs {\n paddings: Array<[number, number]>;\n mode: 'reflect'|'symmetric';\n}\n\nexport const Mod = 'Mod';\nexport type ModInputs = BinaryInputs;\n\nexport const Multinomial = 'Multinomial';\nexport type MultinomialInputs = Pick;\nexport interface MultinomialAttrs {\n numSamples: number;\n seed: number;\n normalized: boolean;\n}\n\nexport const Multiply = 'Multiply';\nexport type MultiplyInputs = BinaryInputs;\n\nexport const Neg = 'Neg';\nexport type NegInputs = UnaryInputs;\n\nexport const NotEqual = 'NotEqual';\nexport type NotEqualInputs = BinaryInputs;\n\nexport const NonMaxSuppressionV3 = 'NonMaxSuppressionV3';\nexport type NonMaxSuppressionV3Inputs =\n Pick;\nexport interface NonMaxSuppressionV3Attrs {\n maxOutputSize: number;\n iouThreshold: number;\n scoreThreshold: number;\n}\n\nexport const NonMaxSuppressionV4 = 'NonMaxSuppressionV4';\nexport type NonMaxSuppressionV4Inputs =\n Pick;\nexport interface NonMaxSuppressionV4Attrs {\n maxOutputSize: number;\n iouThreshold: number;\n scoreThreshold: number;\n padToMaxOutputSize: boolean;\n}\n\nexport const NonMaxSuppressionV5 = 'NonMaxSuppressionV5';\nexport type NonMaxSuppressionV5Inputs =\n Pick;\nexport interface NonMaxSuppressionV5Attrs {\n maxOutputSize: number;\n iouThreshold: number;\n scoreThreshold: number;\n softNmsSigma: number;\n}\n\nexport const OnesLike = 'OnesLike';\nexport type OnesLikeInputs = UnaryInputs;\n\nexport const OneHot = 'OneHot';\nexport type OneHotInputs = Pick;\nexport interface OneHotAttrs {\n depth: number;\n onValue: number;\n offValue: number;\n}\n\nexport const Pack = 'Pack';\nexport type PackInputs = TensorInfo[];\nexport interface PackAttrs {\n axis: number;\n}\n\nexport const PadV2 = 'PadV2';\nexport type PadV2Inputs = Pick;\nexport interface PadV2Attrs {\n paddings: Array<[number, number]>;\n constantValue: number;\n}\n\nexport const Pool = 'Pool';\nexport type PoolInputs = Pick;\n\nexport const Pow = 'Pow';\nexport type PowInputs = BinaryInputs;\n\nexport const Prelu = 'Prelu';\nexport type PreluInputs = Pick;\n\nexport const Prod = 'Prod';\nexport type ProdInputs = Pick;\nexport interface ProdAttrs {\n axis: number|number[];\n keepDims: boolean;\n}\n\nexport const Range = 'Range';\nexport interface RangeAttrs {\n start: number;\n stop: number;\n step: number;\n dtype: 'float32'|'int32';\n}\n\nexport const Real = 'Real';\nexport type RealInputs = Pick;\n\nexport const Reciprocal = 'Reciprocal';\nexport type ReciprocalInputs = UnaryInputs;\n\nexport const Relu = 'Relu';\nexport type ReluInputs = Pick;\n\nexport const Reshape = 'Reshape';\nexport type ReshapeInputs = Pick;\nexport interface ReshapeAttrs {\n shape: number[];\n}\n\nexport const ResizeNearestNeighbor = 'ResizeNearestNeighbor';\nexport type ResizeNearestNeighborInputs = Pick;\nexport interface ResizeNearestNeighborAttrs {\n alignCorners: boolean;\n halfPixelCenters: boolean;\n size: [number, number];\n}\n\nexport const ResizeNearestNeighborGrad = 'ResizeNearestNeighborGrad';\nexport type ResizeNearestNeighborGradInputs =\n Pick;\nexport type ResizeNearestNeighborGradAttrs = ResizeNearestNeighborAttrs;\n\nexport const ResizeBilinear = 'ResizeBilinear';\nexport type ResizeBilinearInputs = Pick;\nexport interface ResizeBilinearAttrs {\n alignCorners: boolean;\n halfPixelCenters: boolean;\n size: [number, number];\n}\n\nexport const ResizeBilinearGrad = 'ResizeBilinearGrad';\nexport type ResizeBilinearGradInputs = Pick;\nexport type ResizeBilinearGradAttrs = ResizeBilinearAttrs;\n\nexport const Relu6 = 'Relu6';\nexport type Relu6Inputs = Pick;\n\nexport const Reverse = 'Reverse';\nexport type ReverseInputs = Pick;\nexport interface ReverseAttrs {\n dims: number|number[];\n}\n\nexport const Round = 'Round';\nexport type RoundInputs = UnaryInputs;\n\nexport const Rsqrt = 'Rsqrt';\nexport type RsqrtInputs = UnaryInputs;\n\nexport const ScatterNd = 'ScatterNd';\nexport type ScatterNdInputs = Pick;\nexport interface ScatterNdAttrs {\n shape: number[];\n}\n\nexport const Select = 'Select';\nexport type SelectInputs = Pick;\n\nexport const Selu = 'Selu';\nexport type SeluInputs = Pick;\n\nexport const Slice = 'Slice';\nexport type SliceInputs = Pick;\nexport interface SliceAttrs {\n begin: number|number[];\n size: number|number[];\n}\nexport const Sin = 'Sin';\nexport type SinInputs = UnaryInputs;\n\nexport const Sinh = 'Sinh';\nexport type SinhInputs = UnaryInputs;\n\nexport const Sign = 'Sign';\nexport type SignInputs = UnaryInputs;\n\nexport const Sigmoid = 'Sigmoid';\nexport type SigmoidInputs = UnaryInputs;\n\nexport const Softplus = 'Softplus';\nexport type SoftplusInputs = UnaryInputs;\n\nexport const Sqrt = 'Sqrt';\nexport type SqrtInputs = UnaryInputs;\n\nexport const Sum = 'Sum';\nexport type SumInputs = Pick;\nexport interface SumAttrs {\n axis: number|number[];\n keepDims: boolean;\n}\n\nexport const SpaceToBatchND = 'SpaceToBatchND';\nexport type SpaceToBatchNDInputs = Pick;\nexport interface SpaceToBatchNDAttrs {\n blockShape: number[];\n paddings: number[][];\n}\n\nexport const SplitV = 'SplitV';\nexport type SplitVInputs = Pick;\nexport interface SplitVAttrs {\n numOrSizeSplits: number[]|number;\n axis: number;\n}\n\nexport const Softmax = 'Softmax';\nexport type SoftmaxInputs = Pick;\nexport interface SoftmaxAttrs {\n dim: number;\n}\n\nexport const SparseFillEmptyRows = 'SparseFillEmptyRows';\nexport type SparseFillEmptyRowsInputs =\n Pick;\n\nexport const SparseReshape = 'SparseReshape';\nexport type SparseReshapeInputs =\n Pick;\n\nexport const SparseSegmentMean = 'SparseSegmentMean';\nexport type SparseSegmentMeanInputs =\n Pick;\n\nexport const SparseSegmentSum = 'SparseSegmentSum';\nexport type SparseSegmentSumInputs =\n Pick;\n\nexport const SparseToDense = 'SparseToDense';\nexport type SparseToDenseInputs =\n Pick;\nexport interface SparseToDenseAttrs {\n outputShape: number[];\n}\n\nexport const SquaredDifference = 'SquaredDifference';\nexport type SquaredDifferenceInputs = BinaryInputs;\n\nexport const Square = 'Square';\nexport type SquareInputs = Pick;\n\nexport const StridedSlice = 'StridedSlice';\nexport type StridedSliceInputs = Pick;\nexport interface StridedSliceAttrs {\n begin: number[];\n end: number[];\n strides: number[];\n beginMask: number;\n endMask: number;\n ellipsisMask: number;\n newAxisMask: number;\n shrinkAxisMask: number;\n}\n\nexport const StringNGrams = 'StringNGrams';\nexport type StringNGramsInputs = Pick;\nexport interface StringNGramsAttrs {\n separator: string;\n nGramWidths: number[];\n leftPad: string;\n rightPad: string;\n padWidth: number;\n preserveShortSequences: boolean;\n}\n\nexport const StringSplit = 'StringSplit';\nexport type StringSplitInputs = Pick;\nexport interface StringSplitAttrs {\n skipEmpty: boolean;\n}\n\nexport const StringToHashBucketFast = 'StringToHashBucketFast';\nexport type StringToHashBucketFastInputs = Pick;\nexport interface StringToHashBucketFastAttrs {\n numBuckets: number;\n}\n\nexport const Sub = 'Sub';\nexport type SubInputs = BinaryInputs;\n\nexport const Tan = 'Tan';\nexport type TanInputs = UnaryInputs;\n\nexport const Tanh = 'Tanh';\nexport type TanhInputs = UnaryInputs;\n\nexport const Tile = 'Tile';\nexport type TileInputs = Pick;\nexport interface TileAttrs {\n reps: number[];\n}\n\nexport const TopK = 'TopK';\nexport type TopKInputs = Pick;\nexport interface TopKAttrs {\n k: number;\n sorted: boolean;\n}\n\nexport const Transform = 'Transform';\nexport type TransformInputs = Pick;\nexport interface TransformAttrs {\n interpolation: 'nearest'|'bilinear';\n fillMode: 'constant'|'reflect'|'wrap'|'nearest';\n fillValue: number;\n outputShape?: [number, number];\n}\n\nexport const Transpose = 'Transpose';\nexport type TransposeInputs = Pick;\nexport interface TransposeAttrs {\n perm: number[];\n}\n\nexport const Unique = 'Unique';\nexport type UniqueInputs = Pick;\nexport interface UniqueAttrs {\n axis: number;\n}\n\nexport type UnaryInputs = Pick;\n\nexport const Unpack = 'Unpack';\nexport type UnpackInputs = Pick;\nexport interface UnpackAttrs {\n axis: number;\n}\n\nexport const UnsortedSegmentSum = 'UnsortedSegmentSum';\nexport type UnsortedSegmentSumInputs =\n Pick;\nexport interface UnsortedSegmentSumAttrs {\n numSegments: number;\n}\n\nexport const ZerosLike = 'ZerosLike';\nexport type ZerosLikeInputs = UnaryInputs;\n\n/**\n * TensorFlow.js-only kernels\n */\nexport const Step = 'Step';\nexport type StepInputs = UnaryInputs;\nexport interface StepAttrs {\n alpha: number;\n}\n\nexport const FromPixels = 'FromPixels';\nexport interface FromPixelsInputs {\n pixels: PixelData|ImageData|HTMLImageElement|HTMLCanvasElement|\n HTMLVideoElement|ImageBitmap;\n}\nexport interface FromPixelsAttrs {\n numChannels: number;\n}\n\nexport const RotateWithOffset = 'RotateWithOffset';\nexport type RotateWithOffsetInputs = Pick;\nexport interface RotateWithOffsetAttrs {\n radians: number;\n fillValue: number|[number, number, number];\n center: number|[number, number];\n}\n\nexport const _FusedMatMul = '_FusedMatMul';\n// tslint:disable-next-line: class-name\nexport interface _FusedMatMulInputs extends NamedTensorInfoMap {\n a: TensorInfo;\n b: TensorInfo;\n bias?: TensorInfo;\n preluActivationWeights?: TensorInfo;\n}\n// tslint:disable-next-line: class-name\nexport interface _FusedMatMulAttrs {\n transposeA: boolean;\n transposeB: boolean;\n activation: Activation;\n leakyreluAlpha?: number;\n}\n\nexport const FusedConv2D = 'FusedConv2D';\nexport interface FusedConv2DInputs extends NamedTensorInfoMap {\n x: TensorInfo;\n filter: TensorInfo;\n bias?: TensorInfo;\n preluActivationWeights?: TensorInfo;\n}\nexport interface FusedConv2DAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dataFormat: 'NHWC'|'NCHW';\n dilations: [number, number]|number;\n dimRoundingMode: 'floor'|'round'|'ceil';\n activation: Activation;\n leakyreluAlpha?: number;\n}\n\nexport const FusedDepthwiseConv2D = 'FusedDepthwiseConv2D';\nexport interface FusedDepthwiseConv2DInputs extends NamedTensorInfoMap {\n x: TensorInfo;\n filter: TensorInfo;\n bias?: TensorInfo;\n preluActivationWeights?: TensorInfo;\n}\nexport interface FusedDepthwiseConv2DAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dataFormat: 'NHWC'|'NCHW';\n dilations: [number, number]|number;\n dimRoundingMode: 'floor'|'round'|'ceil';\n activation: Activation;\n leakyreluAlpha?: number;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\nimport {env} from './environment';\n\nimport {getGlobal} from './global_util';\nimport {NamedGradientMap} from './tape';\nimport {Tensor} from './tensor';\nimport {DataType, RecursiveArray} from './types';\n\nconst kernelRegistry =\n getGlobal('kernelRegistry', () => new Map());\nconst gradRegistry =\n getGlobal('gradRegistry', () => new Map());\n\nexport type DataId = object;\n\ntype AttributeValue =\n number|number[]|boolean|boolean[]|string|string[]|NamedAttrMap;\n\n/** These are extra non-tensor/primitive params passed to kernel functions. */\nexport type Attribute = AttributeValue|RecursiveArray;\n\n/** Specifies the code to run when executing a kernel. */\nexport type KernelFunc = (params: {\n inputs: NamedTensorInfoMap,\n backend: {},\n attrs?: NamedAttrMap,\n}) => TensorInfo|TensorInfo[];\n\n/** The function to run when computing a gradient during backprop. */\nexport type GradFunc =\n (dy: Tensor|Tensor[], saved: Tensor[], attrs: NamedAttrMap) =>\n NamedGradientMap;\n\n/** Function that gets called after the backend initializes. */\nexport type KernelSetupFunc = (backend: {}) => void;\n/** Function that gets called right before the backend is disposed. */\nexport type KernelDisposeFunc = KernelSetupFunc;\n\n/** Config object for registering a kernel in the global registry. */\nexport interface KernelConfig {\n kernelName: string;\n backendName: string;\n kernelFunc: KernelFunc;\n setupFunc?: KernelSetupFunc;\n disposeFunc?: KernelDisposeFunc;\n}\n\n/** Config object for registering a gradient in the global registry. */\nexport interface GradConfig {\n kernelName: string;\n inputsToSave?: string[];\n // When saveAllInputs is true, all inputs will be saved. Only use this flag\n // if inputs is an array of Tensors.\n saveAllInputs?: boolean;\n outputsToSave?: boolean[];\n gradFunc: GradFunc;\n}\n\n/** Holds metadata for a given tensor. */\nexport interface TensorInfo {\n dataId: DataId;\n shape: number[];\n dtype: DataType;\n}\n\nexport interface NamedTensorInfoMap {\n [name: string]: TensorInfo;\n}\n\nexport interface NamedAttrMap {\n [name: string]: Attribute;\n}\n\n/**\n * Returns the kernel function (code) associated with the provided names.\n *\n * @param kernelName The official name of the kernel.\n * @param backendName The official name of the backend.\n */\nexport function getKernel(\n kernelName: string, backendName: string): KernelConfig {\n const key = makeKey(kernelName, backendName);\n return kernelRegistry.get(key);\n}\n\n/**\n * Returns the registered gradient info associated with the provided kernel.\n * @param kernelName The official TF kernel name.\n */\nexport function getGradient(kernelName: string): GradConfig {\n return gradRegistry.get(kernelName);\n}\n\nexport function getKernelsForBackend(backendName: string): KernelConfig[] {\n const it = kernelRegistry.entries();\n const result: KernelConfig[] = [];\n\n while (true) {\n const {done, value} = it.next();\n if (done) {\n break;\n }\n const [key, config] = value;\n const [backend, ] = key.split('_');\n if (backend === backendName) {\n result.push(config);\n }\n }\n return result;\n}\n\n/**\n * Registers the function (forward pass) for the kernel in a global registry.\n *\n * @param config A config object with the following properties:\n * - `kernelName` The official name of the kernel.\n * - `backendName` The official name of the backend.\n * - `kernelFunc` The function to run during the forward pass of the kernel.\n * - `setupFunc` Optional. Gets called once, after the backend initializes.\n * - `disposeFunc` Optional. Gets called once, right before the backend is\n * disposed.\n */\nexport function registerKernel(config: KernelConfig) {\n const {kernelName, backendName} = config;\n const key = makeKey(kernelName, backendName);\n if (kernelRegistry.has(key)) {\n console.warn(\n `The kernel '${kernelName}' for backend ` +\n `'${backendName}' is already registered`);\n }\n kernelRegistry.set(key, config);\n}\n\n/**\n * Registers a gradient function for a given kernel in the global registry,\n * to be used during the back-propagation of that kernel.\n *\n * @param config An object with the following properties:\n * - `kernelName` The name of the kernel that the gradient function is for.\n * - `gradFunc` The function to run during back-propagation.\n */\nexport function registerGradient(config: GradConfig) {\n const {kernelName} = config;\n\n if (gradRegistry.has(kernelName)) {\n // TODO (yassogba) after 3.0 assess whether we need to keep this gated\n // to debug mode.\n if (env().getBool('DEBUG')) {\n console.warn(`Overriding the gradient for '${kernelName}'`);\n }\n }\n gradRegistry.set(kernelName, config);\n}\n\n/**\n * Removes the kernel function from the registry.\n *\n * @param kernelName The official name of the kernel.\n * @param backendName The official name of the backend.\n *\n */\nexport function unregisterKernel(\n kernelName: string, backendName: string): void {\n const key = makeKey(kernelName, backendName);\n if (!kernelRegistry.has(key)) {\n throw new Error(\n `The kernel '${kernelName}' for backend ` +\n `'${backendName}' is not registered`);\n }\n kernelRegistry.delete(key);\n}\n\n/** Removes the registered gradient from the global registry. */\nexport function unregisterGradient(kernelName: string): void {\n if (!gradRegistry.has(kernelName)) {\n throw new Error(\n `The gradient '${kernelName}' for backend is not registered`);\n }\n gradRegistry.delete(kernelName);\n}\n\n/**\n * Finds kernels that have already been registered to a backend and re-registers\n * them for a new backend. Useful for registering custom backends.\n * @param registeredBackendName Already registered backend.\n * @param newBackendName New backend.\n */\nexport function copyRegisteredKernels(\n registeredBackendName: string, newBackendName: string): void {\n const kernels = getKernelsForBackend(registeredBackendName);\n kernels.forEach(kernelConfig => {\n const newKernelConfig =\n Object.assign({}, kernelConfig, {backendName: newBackendName});\n registerKernel(newKernelConfig);\n });\n}\n\nfunction makeKey(kernelName: string, backendName: string) {\n return `${backendName}_${kernelName}`;\n}\n","module.exports = Long;\r\n\r\n/**\r\n * wasm optimizations, to do native i64 multiplication and divide\r\n */\r\nvar wasm = null;\r\n\r\ntry {\r\n wasm = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([\r\n 0, 97, 115, 109, 1, 0, 0, 0, 1, 13, 2, 96, 0, 1, 127, 96, 4, 127, 127, 127, 127, 1, 127, 3, 7, 6, 0, 1, 1, 1, 1, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 50, 6, 3, 109, 117, 108, 0, 1, 5, 100, 105, 118, 95, 115, 0, 2, 5, 100, 105, 118, 95, 117, 0, 3, 5, 114, 101, 109, 95, 115, 0, 4, 5, 114, 101, 109, 95, 117, 0, 5, 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0, 10, 191, 1, 6, 4, 0, 35, 0, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11\r\n ])), {}).exports;\r\n} catch (e) {\r\n // no wasm support :(\r\n}\r\n\r\n/**\r\n * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers.\r\n * See the from* functions below for more convenient ways of constructing Longs.\r\n * @exports Long\r\n * @class A Long class for representing a 64 bit two's-complement integer value.\r\n * @param {number} low The low (signed) 32 bits of the long\r\n * @param {number} high The high (signed) 32 bits of the long\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @constructor\r\n */\r\nfunction Long(low, high, unsigned) {\r\n\r\n /**\r\n * The low 32 bits as a signed value.\r\n * @type {number}\r\n */\r\n this.low = low | 0;\r\n\r\n /**\r\n * The high 32 bits as a signed value.\r\n * @type {number}\r\n */\r\n this.high = high | 0;\r\n\r\n /**\r\n * Whether unsigned or not.\r\n * @type {boolean}\r\n */\r\n this.unsigned = !!unsigned;\r\n}\r\n\r\n// The internal representation of a long is the two given signed, 32-bit values.\r\n// We use 32-bit pieces because these are the size of integers on which\r\n// Javascript performs bit-operations. For operations like addition and\r\n// multiplication, we split each number into 16 bit pieces, which can easily be\r\n// multiplied within Javascript's floating-point representation without overflow\r\n// or change in sign.\r\n//\r\n// In the algorithms below, we frequently reduce the negative case to the\r\n// positive case by negating the input(s) and then post-processing the result.\r\n// Note that we must ALWAYS check specially whether those values are MIN_VALUE\r\n// (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as\r\n// a positive number, it overflows back into a negative). Not handling this\r\n// case would often result in infinite recursion.\r\n//\r\n// Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from*\r\n// methods on which they depend.\r\n\r\n/**\r\n * An indicator used to reliably determine if an object is a Long or not.\r\n * @type {boolean}\r\n * @const\r\n * @private\r\n */\r\nLong.prototype.__isLong__;\r\n\r\nObject.defineProperty(Long.prototype, \"__isLong__\", { value: true });\r\n\r\n/**\r\n * @function\r\n * @param {*} obj Object\r\n * @returns {boolean}\r\n * @inner\r\n */\r\nfunction isLong(obj) {\r\n return (obj && obj[\"__isLong__\"]) === true;\r\n}\r\n\r\n/**\r\n * Tests if the specified object is a Long.\r\n * @function\r\n * @param {*} obj Object\r\n * @returns {boolean}\r\n */\r\nLong.isLong = isLong;\r\n\r\n/**\r\n * A cache of the Long representations of small integer values.\r\n * @type {!Object}\r\n * @inner\r\n */\r\nvar INT_CACHE = {};\r\n\r\n/**\r\n * A cache of the Long representations of small unsigned integer values.\r\n * @type {!Object}\r\n * @inner\r\n */\r\nvar UINT_CACHE = {};\r\n\r\n/**\r\n * @param {number} value\r\n * @param {boolean=} unsigned\r\n * @returns {!Long}\r\n * @inner\r\n */\r\nfunction fromInt(value, unsigned) {\r\n var obj, cachedObj, cache;\r\n if (unsigned) {\r\n value >>>= 0;\r\n if (cache = (0 <= value && value < 256)) {\r\n cachedObj = UINT_CACHE[value];\r\n if (cachedObj)\r\n return cachedObj;\r\n }\r\n obj = fromBits(value, (value | 0) < 0 ? -1 : 0, true);\r\n if (cache)\r\n UINT_CACHE[value] = obj;\r\n return obj;\r\n } else {\r\n value |= 0;\r\n if (cache = (-128 <= value && value < 128)) {\r\n cachedObj = INT_CACHE[value];\r\n if (cachedObj)\r\n return cachedObj;\r\n }\r\n obj = fromBits(value, value < 0 ? -1 : 0, false);\r\n if (cache)\r\n INT_CACHE[value] = obj;\r\n return obj;\r\n }\r\n}\r\n\r\n/**\r\n * Returns a Long representing the given 32 bit integer value.\r\n * @function\r\n * @param {number} value The 32 bit integer in question\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @returns {!Long} The corresponding Long value\r\n */\r\nLong.fromInt = fromInt;\r\n\r\n/**\r\n * @param {number} value\r\n * @param {boolean=} unsigned\r\n * @returns {!Long}\r\n * @inner\r\n */\r\nfunction fromNumber(value, unsigned) {\r\n if (isNaN(value))\r\n return unsigned ? UZERO : ZERO;\r\n if (unsigned) {\r\n if (value < 0)\r\n return UZERO;\r\n if (value >= TWO_PWR_64_DBL)\r\n return MAX_UNSIGNED_VALUE;\r\n } else {\r\n if (value <= -TWO_PWR_63_DBL)\r\n return MIN_VALUE;\r\n if (value + 1 >= TWO_PWR_63_DBL)\r\n return MAX_VALUE;\r\n }\r\n if (value < 0)\r\n return fromNumber(-value, unsigned).neg();\r\n return fromBits((value % TWO_PWR_32_DBL) | 0, (value / TWO_PWR_32_DBL) | 0, unsigned);\r\n}\r\n\r\n/**\r\n * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.\r\n * @function\r\n * @param {number} value The number in question\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @returns {!Long} The corresponding Long value\r\n */\r\nLong.fromNumber = fromNumber;\r\n\r\n/**\r\n * @param {number} lowBits\r\n * @param {number} highBits\r\n * @param {boolean=} unsigned\r\n * @returns {!Long}\r\n * @inner\r\n */\r\nfunction fromBits(lowBits, highBits, unsigned) {\r\n return new Long(lowBits, highBits, unsigned);\r\n}\r\n\r\n/**\r\n * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is\r\n * assumed to use 32 bits.\r\n * @function\r\n * @param {number} lowBits The low 32 bits\r\n * @param {number} highBits The high 32 bits\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @returns {!Long} The corresponding Long value\r\n */\r\nLong.fromBits = fromBits;\r\n\r\n/**\r\n * @function\r\n * @param {number} base\r\n * @param {number} exponent\r\n * @returns {number}\r\n * @inner\r\n */\r\nvar pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4)\r\n\r\n/**\r\n * @param {string} str\r\n * @param {(boolean|number)=} unsigned\r\n * @param {number=} radix\r\n * @returns {!Long}\r\n * @inner\r\n */\r\nfunction fromString(str, unsigned, radix) {\r\n if (str.length === 0)\r\n throw Error('empty string');\r\n if (str === \"NaN\" || str === \"Infinity\" || str === \"+Infinity\" || str === \"-Infinity\")\r\n return ZERO;\r\n if (typeof unsigned === 'number') {\r\n // For goog.math.long compatibility\r\n radix = unsigned,\r\n unsigned = false;\r\n } else {\r\n unsigned = !! unsigned;\r\n }\r\n radix = radix || 10;\r\n if (radix < 2 || 36 < radix)\r\n throw RangeError('radix');\r\n\r\n var p;\r\n if ((p = str.indexOf('-')) > 0)\r\n throw Error('interior hyphen');\r\n else if (p === 0) {\r\n return fromString(str.substring(1), unsigned, radix).neg();\r\n }\r\n\r\n // Do several (8) digits each time through the loop, so as to\r\n // minimize the calls to the very expensive emulated div.\r\n var radixToPower = fromNumber(pow_dbl(radix, 8));\r\n\r\n var result = ZERO;\r\n for (var i = 0; i < str.length; i += 8) {\r\n var size = Math.min(8, str.length - i),\r\n value = parseInt(str.substring(i, i + size), radix);\r\n if (size < 8) {\r\n var power = fromNumber(pow_dbl(radix, size));\r\n result = result.mul(power).add(fromNumber(value));\r\n } else {\r\n result = result.mul(radixToPower);\r\n result = result.add(fromNumber(value));\r\n }\r\n }\r\n result.unsigned = unsigned;\r\n return result;\r\n}\r\n\r\n/**\r\n * Returns a Long representation of the given string, written using the specified radix.\r\n * @function\r\n * @param {string} str The textual representation of the Long\r\n * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to signed\r\n * @param {number=} radix The radix in which the text is written (2-36), defaults to 10\r\n * @returns {!Long} The corresponding Long value\r\n */\r\nLong.fromString = fromString;\r\n\r\n/**\r\n * @function\r\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val\r\n * @param {boolean=} unsigned\r\n * @returns {!Long}\r\n * @inner\r\n */\r\nfunction fromValue(val, unsigned) {\r\n if (typeof val === 'number')\r\n return fromNumber(val, unsigned);\r\n if (typeof val === 'string')\r\n return fromString(val, unsigned);\r\n // Throws for non-objects, converts non-instanceof Long:\r\n return fromBits(val.low, val.high, typeof unsigned === 'boolean' ? unsigned : val.unsigned);\r\n}\r\n\r\n/**\r\n * Converts the specified value to a Long using the appropriate from* function for its type.\r\n * @function\r\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @returns {!Long}\r\n */\r\nLong.fromValue = fromValue;\r\n\r\n// NOTE: the compiler should inline these constant values below and then remove these variables, so there should be\r\n// no runtime penalty for these.\r\n\r\n/**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\nvar TWO_PWR_16_DBL = 1 << 16;\r\n\r\n/**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\nvar TWO_PWR_24_DBL = 1 << 24;\r\n\r\n/**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\nvar TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL;\r\n\r\n/**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\nvar TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL;\r\n\r\n/**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\nvar TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2;\r\n\r\n/**\r\n * @type {!Long}\r\n * @const\r\n * @inner\r\n */\r\nvar TWO_PWR_24 = fromInt(TWO_PWR_24_DBL);\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar ZERO = fromInt(0);\r\n\r\n/**\r\n * Signed zero.\r\n * @type {!Long}\r\n */\r\nLong.ZERO = ZERO;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar UZERO = fromInt(0, true);\r\n\r\n/**\r\n * Unsigned zero.\r\n * @type {!Long}\r\n */\r\nLong.UZERO = UZERO;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar ONE = fromInt(1);\r\n\r\n/**\r\n * Signed one.\r\n * @type {!Long}\r\n */\r\nLong.ONE = ONE;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar UONE = fromInt(1, true);\r\n\r\n/**\r\n * Unsigned one.\r\n * @type {!Long}\r\n */\r\nLong.UONE = UONE;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar NEG_ONE = fromInt(-1);\r\n\r\n/**\r\n * Signed negative one.\r\n * @type {!Long}\r\n */\r\nLong.NEG_ONE = NEG_ONE;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar MAX_VALUE = fromBits(0xFFFFFFFF|0, 0x7FFFFFFF|0, false);\r\n\r\n/**\r\n * Maximum signed value.\r\n * @type {!Long}\r\n */\r\nLong.MAX_VALUE = MAX_VALUE;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF|0, 0xFFFFFFFF|0, true);\r\n\r\n/**\r\n * Maximum unsigned value.\r\n * @type {!Long}\r\n */\r\nLong.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar MIN_VALUE = fromBits(0, 0x80000000|0, false);\r\n\r\n/**\r\n * Minimum signed value.\r\n * @type {!Long}\r\n */\r\nLong.MIN_VALUE = MIN_VALUE;\r\n\r\n/**\r\n * @alias Long.prototype\r\n * @inner\r\n */\r\nvar LongPrototype = Long.prototype;\r\n\r\n/**\r\n * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.\r\n * @returns {number}\r\n */\r\nLongPrototype.toInt = function toInt() {\r\n return this.unsigned ? this.low >>> 0 : this.low;\r\n};\r\n\r\n/**\r\n * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).\r\n * @returns {number}\r\n */\r\nLongPrototype.toNumber = function toNumber() {\r\n if (this.unsigned)\r\n return ((this.high >>> 0) * TWO_PWR_32_DBL) + (this.low >>> 0);\r\n return this.high * TWO_PWR_32_DBL + (this.low >>> 0);\r\n};\r\n\r\n/**\r\n * Converts the Long to a string written in the specified radix.\r\n * @param {number=} radix Radix (2-36), defaults to 10\r\n * @returns {string}\r\n * @override\r\n * @throws {RangeError} If `radix` is out of range\r\n */\r\nLongPrototype.toString = function toString(radix) {\r\n radix = radix || 10;\r\n if (radix < 2 || 36 < radix)\r\n throw RangeError('radix');\r\n if (this.isZero())\r\n return '0';\r\n if (this.isNegative()) { // Unsigned Longs are never negative\r\n if (this.eq(MIN_VALUE)) {\r\n // We need to change the Long value before it can be negated, so we remove\r\n // the bottom-most digit in this base and then recurse to do the rest.\r\n var radixLong = fromNumber(radix),\r\n div = this.div(radixLong),\r\n rem1 = div.mul(radixLong).sub(this);\r\n return div.toString(radix) + rem1.toInt().toString(radix);\r\n } else\r\n return '-' + this.neg().toString(radix);\r\n }\r\n\r\n // Do several (6) digits each time through the loop, so as to\r\n // minimize the calls to the very expensive emulated div.\r\n var radixToPower = fromNumber(pow_dbl(radix, 6), this.unsigned),\r\n rem = this;\r\n var result = '';\r\n while (true) {\r\n var remDiv = rem.div(radixToPower),\r\n intval = rem.sub(remDiv.mul(radixToPower)).toInt() >>> 0,\r\n digits = intval.toString(radix);\r\n rem = remDiv;\r\n if (rem.isZero())\r\n return digits + result;\r\n else {\r\n while (digits.length < 6)\r\n digits = '0' + digits;\r\n result = '' + digits + result;\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * Gets the high 32 bits as a signed integer.\r\n * @returns {number} Signed high bits\r\n */\r\nLongPrototype.getHighBits = function getHighBits() {\r\n return this.high;\r\n};\r\n\r\n/**\r\n * Gets the high 32 bits as an unsigned integer.\r\n * @returns {number} Unsigned high bits\r\n */\r\nLongPrototype.getHighBitsUnsigned = function getHighBitsUnsigned() {\r\n return this.high >>> 0;\r\n};\r\n\r\n/**\r\n * Gets the low 32 bits as a signed integer.\r\n * @returns {number} Signed low bits\r\n */\r\nLongPrototype.getLowBits = function getLowBits() {\r\n return this.low;\r\n};\r\n\r\n/**\r\n * Gets the low 32 bits as an unsigned integer.\r\n * @returns {number} Unsigned low bits\r\n */\r\nLongPrototype.getLowBitsUnsigned = function getLowBitsUnsigned() {\r\n return this.low >>> 0;\r\n};\r\n\r\n/**\r\n * Gets the number of bits needed to represent the absolute value of this Long.\r\n * @returns {number}\r\n */\r\nLongPrototype.getNumBitsAbs = function getNumBitsAbs() {\r\n if (this.isNegative()) // Unsigned Longs are never negative\r\n return this.eq(MIN_VALUE) ? 64 : this.neg().getNumBitsAbs();\r\n var val = this.high != 0 ? this.high : this.low;\r\n for (var bit = 31; bit > 0; bit--)\r\n if ((val & (1 << bit)) != 0)\r\n break;\r\n return this.high != 0 ? bit + 33 : bit + 1;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value equals zero.\r\n * @returns {boolean}\r\n */\r\nLongPrototype.isZero = function isZero() {\r\n return this.high === 0 && this.low === 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value equals zero. This is an alias of {@link Long#isZero}.\r\n * @returns {boolean}\r\n */\r\nLongPrototype.eqz = LongPrototype.isZero;\r\n\r\n/**\r\n * Tests if this Long's value is negative.\r\n * @returns {boolean}\r\n */\r\nLongPrototype.isNegative = function isNegative() {\r\n return !this.unsigned && this.high < 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is positive.\r\n * @returns {boolean}\r\n */\r\nLongPrototype.isPositive = function isPositive() {\r\n return this.unsigned || this.high >= 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is odd.\r\n * @returns {boolean}\r\n */\r\nLongPrototype.isOdd = function isOdd() {\r\n return (this.low & 1) === 1;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is even.\r\n * @returns {boolean}\r\n */\r\nLongPrototype.isEven = function isEven() {\r\n return (this.low & 1) === 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value equals the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.equals = function equals(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n if (this.unsigned !== other.unsigned && (this.high >>> 31) === 1 && (other.high >>> 31) === 1)\r\n return false;\r\n return this.high === other.high && this.low === other.low;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.eq = LongPrototype.equals;\r\n\r\n/**\r\n * Tests if this Long's value differs from the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.notEquals = function notEquals(other) {\r\n return !this.eq(/* validates */ other);\r\n};\r\n\r\n/**\r\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.neq = LongPrototype.notEquals;\r\n\r\n/**\r\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.ne = LongPrototype.notEquals;\r\n\r\n/**\r\n * Tests if this Long's value is less than the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.lessThan = function lessThan(other) {\r\n return this.comp(/* validates */ other) < 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.lt = LongPrototype.lessThan;\r\n\r\n/**\r\n * Tests if this Long's value is less than or equal the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.lessThanOrEqual = function lessThanOrEqual(other) {\r\n return this.comp(/* validates */ other) <= 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.lte = LongPrototype.lessThanOrEqual;\r\n\r\n/**\r\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.le = LongPrototype.lessThanOrEqual;\r\n\r\n/**\r\n * Tests if this Long's value is greater than the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.greaterThan = function greaterThan(other) {\r\n return this.comp(/* validates */ other) > 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.gt = LongPrototype.greaterThan;\r\n\r\n/**\r\n * Tests if this Long's value is greater than or equal the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) {\r\n return this.comp(/* validates */ other) >= 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.gte = LongPrototype.greaterThanOrEqual;\r\n\r\n/**\r\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.ge = LongPrototype.greaterThanOrEqual;\r\n\r\n/**\r\n * Compares this Long's value with the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\r\n * if the given one is greater\r\n */\r\nLongPrototype.compare = function compare(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n if (this.eq(other))\r\n return 0;\r\n var thisNeg = this.isNegative(),\r\n otherNeg = other.isNegative();\r\n if (thisNeg && !otherNeg)\r\n return -1;\r\n if (!thisNeg && otherNeg)\r\n return 1;\r\n // At this point the sign bits are the same\r\n if (!this.unsigned)\r\n return this.sub(other).isNegative() ? -1 : 1;\r\n // Both are positive if at least one is unsigned\r\n return (other.high >>> 0) > (this.high >>> 0) || (other.high === this.high && (other.low >>> 0) > (this.low >>> 0)) ? -1 : 1;\r\n};\r\n\r\n/**\r\n * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\r\n * if the given one is greater\r\n */\r\nLongPrototype.comp = LongPrototype.compare;\r\n\r\n/**\r\n * Negates this Long's value.\r\n * @returns {!Long} Negated Long\r\n */\r\nLongPrototype.negate = function negate() {\r\n if (!this.unsigned && this.eq(MIN_VALUE))\r\n return MIN_VALUE;\r\n return this.not().add(ONE);\r\n};\r\n\r\n/**\r\n * Negates this Long's value. This is an alias of {@link Long#negate}.\r\n * @function\r\n * @returns {!Long} Negated Long\r\n */\r\nLongPrototype.neg = LongPrototype.negate;\r\n\r\n/**\r\n * Returns the sum of this and the specified Long.\r\n * @param {!Long|number|string} addend Addend\r\n * @returns {!Long} Sum\r\n */\r\nLongPrototype.add = function add(addend) {\r\n if (!isLong(addend))\r\n addend = fromValue(addend);\r\n\r\n // Divide each number into 4 chunks of 16 bits, and then sum the chunks.\r\n\r\n var a48 = this.high >>> 16;\r\n var a32 = this.high & 0xFFFF;\r\n var a16 = this.low >>> 16;\r\n var a00 = this.low & 0xFFFF;\r\n\r\n var b48 = addend.high >>> 16;\r\n var b32 = addend.high & 0xFFFF;\r\n var b16 = addend.low >>> 16;\r\n var b00 = addend.low & 0xFFFF;\r\n\r\n var c48 = 0, c32 = 0, c16 = 0, c00 = 0;\r\n c00 += a00 + b00;\r\n c16 += c00 >>> 16;\r\n c00 &= 0xFFFF;\r\n c16 += a16 + b16;\r\n c32 += c16 >>> 16;\r\n c16 &= 0xFFFF;\r\n c32 += a32 + b32;\r\n c48 += c32 >>> 16;\r\n c32 &= 0xFFFF;\r\n c48 += a48 + b48;\r\n c48 &= 0xFFFF;\r\n return fromBits((c16 << 16) | c00, (c48 << 16) | c32, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns the difference of this and the specified Long.\r\n * @param {!Long|number|string} subtrahend Subtrahend\r\n * @returns {!Long} Difference\r\n */\r\nLongPrototype.subtract = function subtract(subtrahend) {\r\n if (!isLong(subtrahend))\r\n subtrahend = fromValue(subtrahend);\r\n return this.add(subtrahend.neg());\r\n};\r\n\r\n/**\r\n * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}.\r\n * @function\r\n * @param {!Long|number|string} subtrahend Subtrahend\r\n * @returns {!Long} Difference\r\n */\r\nLongPrototype.sub = LongPrototype.subtract;\r\n\r\n/**\r\n * Returns the product of this and the specified Long.\r\n * @param {!Long|number|string} multiplier Multiplier\r\n * @returns {!Long} Product\r\n */\r\nLongPrototype.multiply = function multiply(multiplier) {\r\n if (this.isZero())\r\n return ZERO;\r\n if (!isLong(multiplier))\r\n multiplier = fromValue(multiplier);\r\n\r\n // use wasm support if present\r\n if (wasm) {\r\n var low = wasm.mul(this.low,\r\n this.high,\r\n multiplier.low,\r\n multiplier.high);\r\n return fromBits(low, wasm.get_high(), this.unsigned);\r\n }\r\n\r\n if (multiplier.isZero())\r\n return ZERO;\r\n if (this.eq(MIN_VALUE))\r\n return multiplier.isOdd() ? MIN_VALUE : ZERO;\r\n if (multiplier.eq(MIN_VALUE))\r\n return this.isOdd() ? MIN_VALUE : ZERO;\r\n\r\n if (this.isNegative()) {\r\n if (multiplier.isNegative())\r\n return this.neg().mul(multiplier.neg());\r\n else\r\n return this.neg().mul(multiplier).neg();\r\n } else if (multiplier.isNegative())\r\n return this.mul(multiplier.neg()).neg();\r\n\r\n // If both longs are small, use float multiplication\r\n if (this.lt(TWO_PWR_24) && multiplier.lt(TWO_PWR_24))\r\n return fromNumber(this.toNumber() * multiplier.toNumber(), this.unsigned);\r\n\r\n // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.\r\n // We can skip products that would overflow.\r\n\r\n var a48 = this.high >>> 16;\r\n var a32 = this.high & 0xFFFF;\r\n var a16 = this.low >>> 16;\r\n var a00 = this.low & 0xFFFF;\r\n\r\n var b48 = multiplier.high >>> 16;\r\n var b32 = multiplier.high & 0xFFFF;\r\n var b16 = multiplier.low >>> 16;\r\n var b00 = multiplier.low & 0xFFFF;\r\n\r\n var c48 = 0, c32 = 0, c16 = 0, c00 = 0;\r\n c00 += a00 * b00;\r\n c16 += c00 >>> 16;\r\n c00 &= 0xFFFF;\r\n c16 += a16 * b00;\r\n c32 += c16 >>> 16;\r\n c16 &= 0xFFFF;\r\n c16 += a00 * b16;\r\n c32 += c16 >>> 16;\r\n c16 &= 0xFFFF;\r\n c32 += a32 * b00;\r\n c48 += c32 >>> 16;\r\n c32 &= 0xFFFF;\r\n c32 += a16 * b16;\r\n c48 += c32 >>> 16;\r\n c32 &= 0xFFFF;\r\n c32 += a00 * b32;\r\n c48 += c32 >>> 16;\r\n c32 &= 0xFFFF;\r\n c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;\r\n c48 &= 0xFFFF;\r\n return fromBits((c16 << 16) | c00, (c48 << 16) | c32, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}.\r\n * @function\r\n * @param {!Long|number|string} multiplier Multiplier\r\n * @returns {!Long} Product\r\n */\r\nLongPrototype.mul = LongPrototype.multiply;\r\n\r\n/**\r\n * Returns this Long divided by the specified. The result is signed if this Long is signed or\r\n * unsigned if this Long is unsigned.\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Quotient\r\n */\r\nLongPrototype.divide = function divide(divisor) {\r\n if (!isLong(divisor))\r\n divisor = fromValue(divisor);\r\n if (divisor.isZero())\r\n throw Error('division by zero');\r\n\r\n // use wasm support if present\r\n if (wasm) {\r\n // guard against signed division overflow: the largest\r\n // negative number / -1 would be 1 larger than the largest\r\n // positive number, due to two's complement.\r\n if (!this.unsigned &&\r\n this.high === -0x80000000 &&\r\n divisor.low === -1 && divisor.high === -1) {\r\n // be consistent with non-wasm code path\r\n return this;\r\n }\r\n var low = (this.unsigned ? wasm.div_u : wasm.div_s)(\r\n this.low,\r\n this.high,\r\n divisor.low,\r\n divisor.high\r\n );\r\n return fromBits(low, wasm.get_high(), this.unsigned);\r\n }\r\n\r\n if (this.isZero())\r\n return this.unsigned ? UZERO : ZERO;\r\n var approx, rem, res;\r\n if (!this.unsigned) {\r\n // This section is only relevant for signed longs and is derived from the\r\n // closure library as a whole.\r\n if (this.eq(MIN_VALUE)) {\r\n if (divisor.eq(ONE) || divisor.eq(NEG_ONE))\r\n return MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE\r\n else if (divisor.eq(MIN_VALUE))\r\n return ONE;\r\n else {\r\n // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.\r\n var halfThis = this.shr(1);\r\n approx = halfThis.div(divisor).shl(1);\r\n if (approx.eq(ZERO)) {\r\n return divisor.isNegative() ? ONE : NEG_ONE;\r\n } else {\r\n rem = this.sub(divisor.mul(approx));\r\n res = approx.add(rem.div(divisor));\r\n return res;\r\n }\r\n }\r\n } else if (divisor.eq(MIN_VALUE))\r\n return this.unsigned ? UZERO : ZERO;\r\n if (this.isNegative()) {\r\n if (divisor.isNegative())\r\n return this.neg().div(divisor.neg());\r\n return this.neg().div(divisor).neg();\r\n } else if (divisor.isNegative())\r\n return this.div(divisor.neg()).neg();\r\n res = ZERO;\r\n } else {\r\n // The algorithm below has not been made for unsigned longs. It's therefore\r\n // required to take special care of the MSB prior to running it.\r\n if (!divisor.unsigned)\r\n divisor = divisor.toUnsigned();\r\n if (divisor.gt(this))\r\n return UZERO;\r\n if (divisor.gt(this.shru(1))) // 15 >>> 1 = 7 ; with divisor = 8 ; true\r\n return UONE;\r\n res = UZERO;\r\n }\r\n\r\n // Repeat the following until the remainder is less than other: find a\r\n // floating-point that approximates remainder / other *from below*, add this\r\n // into the result, and subtract it from the remainder. It is critical that\r\n // the approximate value is less than or equal to the real value so that the\r\n // remainder never becomes negative.\r\n rem = this;\r\n while (rem.gte(divisor)) {\r\n // Approximate the result of division. This may be a little greater or\r\n // smaller than the actual value.\r\n approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber()));\r\n\r\n // We will tweak the approximate result by changing it in the 48-th digit or\r\n // the smallest non-fractional digit, whichever is larger.\r\n var log2 = Math.ceil(Math.log(approx) / Math.LN2),\r\n delta = (log2 <= 48) ? 1 : pow_dbl(2, log2 - 48),\r\n\r\n // Decrease the approximation until it is smaller than the remainder. Note\r\n // that if it is too large, the product overflows and is negative.\r\n approxRes = fromNumber(approx),\r\n approxRem = approxRes.mul(divisor);\r\n while (approxRem.isNegative() || approxRem.gt(rem)) {\r\n approx -= delta;\r\n approxRes = fromNumber(approx, this.unsigned);\r\n approxRem = approxRes.mul(divisor);\r\n }\r\n\r\n // We know the answer can't be zero... and actually, zero would cause\r\n // infinite recursion since we would make no progress.\r\n if (approxRes.isZero())\r\n approxRes = ONE;\r\n\r\n res = res.add(approxRes);\r\n rem = rem.sub(approxRem);\r\n }\r\n return res;\r\n};\r\n\r\n/**\r\n * Returns this Long divided by the specified. This is an alias of {@link Long#divide}.\r\n * @function\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Quotient\r\n */\r\nLongPrototype.div = LongPrototype.divide;\r\n\r\n/**\r\n * Returns this Long modulo the specified.\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Remainder\r\n */\r\nLongPrototype.modulo = function modulo(divisor) {\r\n if (!isLong(divisor))\r\n divisor = fromValue(divisor);\r\n\r\n // use wasm support if present\r\n if (wasm) {\r\n var low = (this.unsigned ? wasm.rem_u : wasm.rem_s)(\r\n this.low,\r\n this.high,\r\n divisor.low,\r\n divisor.high\r\n );\r\n return fromBits(low, wasm.get_high(), this.unsigned);\r\n }\r\n\r\n return this.sub(this.div(divisor).mul(divisor));\r\n};\r\n\r\n/**\r\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\r\n * @function\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Remainder\r\n */\r\nLongPrototype.mod = LongPrototype.modulo;\r\n\r\n/**\r\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\r\n * @function\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Remainder\r\n */\r\nLongPrototype.rem = LongPrototype.modulo;\r\n\r\n/**\r\n * Returns the bitwise NOT of this Long.\r\n * @returns {!Long}\r\n */\r\nLongPrototype.not = function not() {\r\n return fromBits(~this.low, ~this.high, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns the bitwise AND of this Long and the specified.\r\n * @param {!Long|number|string} other Other Long\r\n * @returns {!Long}\r\n */\r\nLongPrototype.and = function and(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n return fromBits(this.low & other.low, this.high & other.high, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns the bitwise OR of this Long and the specified.\r\n * @param {!Long|number|string} other Other Long\r\n * @returns {!Long}\r\n */\r\nLongPrototype.or = function or(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n return fromBits(this.low | other.low, this.high | other.high, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns the bitwise XOR of this Long and the given one.\r\n * @param {!Long|number|string} other Other Long\r\n * @returns {!Long}\r\n */\r\nLongPrototype.xor = function xor(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n return fromBits(this.low ^ other.low, this.high ^ other.high, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns this Long with bits shifted to the left by the given amount.\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shiftLeft = function shiftLeft(numBits) {\r\n if (isLong(numBits))\r\n numBits = numBits.toInt();\r\n if ((numBits &= 63) === 0)\r\n return this;\r\n else if (numBits < 32)\r\n return fromBits(this.low << numBits, (this.high << numBits) | (this.low >>> (32 - numBits)), this.unsigned);\r\n else\r\n return fromBits(0, this.low << (numBits - 32), this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}.\r\n * @function\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shl = LongPrototype.shiftLeft;\r\n\r\n/**\r\n * Returns this Long with bits arithmetically shifted to the right by the given amount.\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shiftRight = function shiftRight(numBits) {\r\n if (isLong(numBits))\r\n numBits = numBits.toInt();\r\n if ((numBits &= 63) === 0)\r\n return this;\r\n else if (numBits < 32)\r\n return fromBits((this.low >>> numBits) | (this.high << (32 - numBits)), this.high >> numBits, this.unsigned);\r\n else\r\n return fromBits(this.high >> (numBits - 32), this.high >= 0 ? 0 : -1, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}.\r\n * @function\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shr = LongPrototype.shiftRight;\r\n\r\n/**\r\n * Returns this Long with bits logically shifted to the right by the given amount.\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shiftRightUnsigned = function shiftRightUnsigned(numBits) {\r\n if (isLong(numBits))\r\n numBits = numBits.toInt();\r\n numBits &= 63;\r\n if (numBits === 0)\r\n return this;\r\n else {\r\n var high = this.high;\r\n if (numBits < 32) {\r\n var low = this.low;\r\n return fromBits((low >>> numBits) | (high << (32 - numBits)), high >>> numBits, this.unsigned);\r\n } else if (numBits === 32)\r\n return fromBits(high, 0, this.unsigned);\r\n else\r\n return fromBits(high >>> (numBits - 32), 0, this.unsigned);\r\n }\r\n};\r\n\r\n/**\r\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\r\n * @function\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shru = LongPrototype.shiftRightUnsigned;\r\n\r\n/**\r\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\r\n * @function\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shr_u = LongPrototype.shiftRightUnsigned;\r\n\r\n/**\r\n * Converts this Long to signed.\r\n * @returns {!Long} Signed long\r\n */\r\nLongPrototype.toSigned = function toSigned() {\r\n if (!this.unsigned)\r\n return this;\r\n return fromBits(this.low, this.high, false);\r\n};\r\n\r\n/**\r\n * Converts this Long to unsigned.\r\n * @returns {!Long} Unsigned long\r\n */\r\nLongPrototype.toUnsigned = function toUnsigned() {\r\n if (this.unsigned)\r\n return this;\r\n return fromBits(this.low, this.high, true);\r\n};\r\n\r\n/**\r\n * Converts this Long to its byte representation.\r\n * @param {boolean=} le Whether little or big endian, defaults to big endian\r\n * @returns {!Array.} Byte representation\r\n */\r\nLongPrototype.toBytes = function toBytes(le) {\r\n return le ? this.toBytesLE() : this.toBytesBE();\r\n};\r\n\r\n/**\r\n * Converts this Long to its little endian byte representation.\r\n * @returns {!Array.} Little endian byte representation\r\n */\r\nLongPrototype.toBytesLE = function toBytesLE() {\r\n var hi = this.high,\r\n lo = this.low;\r\n return [\r\n lo & 0xff,\r\n lo >>> 8 & 0xff,\r\n lo >>> 16 & 0xff,\r\n lo >>> 24 ,\r\n hi & 0xff,\r\n hi >>> 8 & 0xff,\r\n hi >>> 16 & 0xff,\r\n hi >>> 24\r\n ];\r\n};\r\n\r\n/**\r\n * Converts this Long to its big endian byte representation.\r\n * @returns {!Array.} Big endian byte representation\r\n */\r\nLongPrototype.toBytesBE = function toBytesBE() {\r\n var hi = this.high,\r\n lo = this.low;\r\n return [\r\n hi >>> 24 ,\r\n hi >>> 16 & 0xff,\r\n hi >>> 8 & 0xff,\r\n hi & 0xff,\r\n lo >>> 24 ,\r\n lo >>> 16 & 0xff,\r\n lo >>> 8 & 0xff,\r\n lo & 0xff\r\n ];\r\n};\r\n\r\n/**\r\n * Creates a Long from its byte representation.\r\n * @param {!Array.} bytes Byte representation\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @param {boolean=} le Whether little or big endian, defaults to big endian\r\n * @returns {Long} The corresponding Long value\r\n */\r\nLong.fromBytes = function fromBytes(bytes, unsigned, le) {\r\n return le ? Long.fromBytesLE(bytes, unsigned) : Long.fromBytesBE(bytes, unsigned);\r\n};\r\n\r\n/**\r\n * Creates a Long from its little endian byte representation.\r\n * @param {!Array.} bytes Little endian byte representation\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @returns {Long} The corresponding Long value\r\n */\r\nLong.fromBytesLE = function fromBytesLE(bytes, unsigned) {\r\n return new Long(\r\n bytes[0] |\r\n bytes[1] << 8 |\r\n bytes[2] << 16 |\r\n bytes[3] << 24,\r\n bytes[4] |\r\n bytes[5] << 8 |\r\n bytes[6] << 16 |\r\n bytes[7] << 24,\r\n unsigned\r\n );\r\n};\r\n\r\n/**\r\n * Creates a Long from its big endian byte representation.\r\n * @param {!Array.} bytes Big endian byte representation\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @returns {Long} The corresponding Long value\r\n */\r\nLong.fromBytesBE = function fromBytesBE(bytes, unsigned) {\r\n return new Long(\r\n bytes[4] << 24 |\r\n bytes[5] << 16 |\r\n bytes[6] << 8 |\r\n bytes[7],\r\n bytes[0] << 24 |\r\n bytes[1] << 16 |\r\n bytes[2] << 8 |\r\n bytes[3],\r\n unsigned\r\n );\r\n};\r\n","/**\n * @license\n * Copyright 2021 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n// Workaround for allowing cjs module to be included in bundle created by\n// rollup.\nimport * as LongExports from 'long';\n// tslint:disable-next-line\nconst Long: LongExports.LongConstructor =\n // tslint:disable-next-line\n (LongExports as any).default || LongExports;\n\nexport function hexToLong(hex: string): Long {\n return Long.fromString(hex, true, 16);\n}\n\n// Some primes between 2^63 and 2^64 for various uses.\n// Hex 0xc3a5c85c97cb3127\nconst k0: Long = hexToLong('c3a5c85c97cb3127');\n// Hex 0xb492b66fbe98f273\nconst k1: Long = hexToLong('b492b66fbe98f273');\n// Hex 0x9ae16a3b2f90404f\nconst k2: Long = hexToLong('9ae16a3b2f90404f');\n\nfunction shiftMix(val: Long): Long {\n return val.xor(val.shru(47));\n}\n\nfunction fetch(s: Uint8Array, offset: number, numBytes: number): Long {\n const bytes = s.slice(offset, offset + numBytes);\n return Long.fromBytes(Array.from(bytes), true, true);\n}\n\nfunction fetch64(s: Uint8Array, offset: number): Long {\n return fetch(s, offset, 8);\n}\n\nfunction fetch32(s: Uint8Array, offset: number): Long {\n return fetch(s, offset, 4);\n}\n\nfunction rotate64(val: Long, shift: number): Long {\n // Avoid shifting by 64: doing so yields an undefined result.\n return shift === 0 ? val : val.shru(shift).or(val.shl(64 - shift));\n}\n\nfunction hashLen16(u: Long, v: Long, mul = hexToLong('9ddfea08eb382d69')) {\n // Murmur-inspired hashing.\n let a = u.xor(v).mul(mul);\n a = a.xor(a.shru(47));\n let b = v.xor(a).mul(mul);\n b = b.xor(b.shru(47));\n b = b.mul(mul);\n return b;\n}\n\n// Return a 16-byte hash for 48 bytes. Quick and dirty.\n// Callers do best to use \"random-looking\" values for a and b.\nfunction weakHashLen32WithSeeds(\n w: Long, x: Long, y: Long, z: Long, a: Long, b: Long) {\n a = a.add(w);\n b = rotate64(b.add(a).add(z), 21);\n const c = a;\n a = a.add(x);\n a = a.add(y);\n b = b.add(rotate64(a, 44));\n return [a.add(z), b.add(c)];\n}\n\nfunction weakHashLen32WithSeedsStr(\n s: Uint8Array, offset: number, a: Long, b: Long) {\n return weakHashLen32WithSeeds(\n fetch64(s, offset), fetch64(s, offset + 8), fetch64(s, offset + 16),\n fetch64(s, offset + 24), a, b);\n}\n\nfunction hashLen0to16(s: Uint8Array, len = s.length): Long {\n if (len >= 8) {\n const mul = k2.add(len * 2);\n const a = fetch64(s, 0).add(k2);\n const b = fetch64(s, len - 8);\n const c = rotate64(b, 37).mul(mul).add(a);\n const d = rotate64(a, 25).add(b).mul(mul);\n return hashLen16(c, d, mul);\n }\n if (len >= 4) {\n const mul = k2.add(len * 2);\n const a = fetch32(s, 0);\n return hashLen16(a.shl(3).add(len), fetch32(s, len - 4), mul);\n }\n if (len > 0) {\n const a = s[0];\n const b = s[len >> 1];\n const c = s[len - 1];\n const y = a + (b << 8);\n const z = len + (c << 2);\n return shiftMix(k2.mul(y).xor(k0.mul(z))).mul(k2);\n }\n return k2;\n}\n\nfunction hashLen17to32(s: Uint8Array, len = s.length): Long {\n const mul = k2.add(len * 2);\n const a = fetch64(s, 0).mul(k1);\n const b = fetch64(s, 8);\n const c = fetch64(s, len - 8).mul(mul);\n const d = fetch64(s, len - 16).mul(k2);\n return hashLen16(\n rotate64(a.add(b), 43).add(rotate64(c, 30)).add(d),\n a.add(rotate64(b.add(k2), 18)).add(c), mul);\n}\n\nfunction hashLen33to64(s: Uint8Array, len = s.length): Long {\n const mul = k2.add(len * 2);\n const a = fetch64(s, 0).mul(k2);\n const b = fetch64(s, 8);\n const c = fetch64(s, len - 8).mul(mul);\n const d = fetch64(s, len - 16).mul(k2);\n const y = rotate64(a.add(b), 43).add(rotate64(c, 30)).add(d);\n const z = hashLen16(y, a.add(rotate64(b.add(k2), 18)).add(c), mul);\n const e = fetch64(s, 16).mul(mul);\n const f = fetch64(s, 24);\n const g = y.add(fetch64(s, len - 32)).mul(mul);\n const h = z.add(fetch64(s, len - 24)).mul(mul);\n return hashLen16(\n rotate64(e.add(f), 43).add(rotate64(g, 30)).add(h),\n e.add(rotate64(f.add(a), 18)).add(g), mul);\n}\n\nexport function fingerPrint64(s: Uint8Array, len = s.length): Long {\n const seed: Long = Long.fromNumber(81, true);\n if (len <= 32) {\n if (len <= 16) {\n return hashLen0to16(s, len);\n } else {\n return hashLen17to32(s, len);\n }\n } else if (len <= 64) {\n return hashLen33to64(s, len);\n }\n\n // For strings over 64 bytes we loop. Internal state consists of\n // 56 bytes: v, w, x, y, and z.\n let x = seed;\n let y = seed.mul(k1).add(113);\n\n let z = shiftMix(y.mul(k2).add(113)).mul(k2);\n let v = [Long.UZERO, Long.UZERO];\n let w = [Long.UZERO, Long.UZERO];\n x = x.mul(k2).add(fetch64(s, 0));\n\n let offset = 0;\n // Set end so that after the loop we have 1 to 64 bytes left to process.\n const end = ((len - 1) >> 6) * 64;\n const last64 = end + ((len - 1) & 63) - 63;\n\n do {\n x = rotate64(x.add(y).add(v[0]).add(fetch64(s, offset + 8)), 37).mul(k1);\n y = rotate64(y.add(v[1]).add(fetch64(s, offset + 48)), 42).mul(k1);\n x = x.xor(w[1]);\n y = y.add(v[0]).add(fetch64(s, offset + 40));\n z = rotate64(z.add(w[0]), 33).mul(k1);\n v = weakHashLen32WithSeedsStr(s, offset, v[1].mul(k1), x.add(w[0]));\n w = weakHashLen32WithSeedsStr(\n s, offset + 32, z.add(w[1]), y.add(fetch64(s, offset + 16)));\n\n [z, x] = [x, z];\n offset += 64;\n } while (offset !== end);\n const mul = k1.add(z.and(0xff).shl(1));\n // Point to the last 64 bytes of input.\n offset = last64;\n\n w[0] = w[0].add((len - 1) & 63);\n v[0] = v[0].add(w[0]);\n w[0] = w[0].add(v[0]);\n\n x = rotate64(x.add(y).add(v[0]).add(fetch64(s, offset + 8)), 37).mul(mul);\n y = rotate64(y.add(v[1]).add(fetch64(s, offset + 48)), 42).mul(mul);\n x = x.xor(w[1].mul(9));\n y = y.add(v[0].mul(9).add(fetch64(s, offset + 40)));\n z = rotate64(z.add(w[0]), 33).mul(mul);\n v = weakHashLen32WithSeedsStr(s, offset, v[1].mul(mul), x.add(w[0]));\n w = weakHashLen32WithSeedsStr(\n s, offset + 32, z.add(w[1]), y.add(fetch64(s, offset + 16)));\n\n [z, x] = [x, z];\n\n return hashLen16(\n hashLen16(v[0], w[0], mul).add(shiftMix(y).mul(k0)).add(z),\n hashLen16(v[1], w[1], mul).add(x), mul);\n}\n","/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {env} from './environment';\nimport {BackendValues, DataType, TensorLike, TypedArray} from './types';\nimport * as base from './util_base';\nexport * from './util_base';\nexport * from './hash_util';\n\n/**\n * Create typed array for scalar value. Used for storing in `DataStorage`.\n */\nexport function createScalarValue(\n value: DataType, dtype: DataType): BackendValues {\n if (dtype === 'string') {\n return encodeString(value);\n }\n\n return toTypedArray([value], dtype);\n}\n\nfunction noConversionNeeded(a: TensorLike, dtype: DataType): boolean {\n return (a instanceof Float32Array && dtype === 'float32') ||\n (a instanceof Int32Array && dtype === 'int32') ||\n (a instanceof Uint8Array && dtype === 'bool');\n}\n\nexport function toTypedArray(a: TensorLike, dtype: DataType): TypedArray {\n if (dtype === 'string') {\n throw new Error('Cannot convert a string[] to a TypedArray');\n }\n if (Array.isArray(a)) {\n a = base.flatten(a);\n }\n\n if (env().getBool('DEBUG')) {\n base.checkConversionForErrors(a as number[], dtype);\n }\n if (noConversionNeeded(a, dtype)) {\n return a as TypedArray;\n }\n if (dtype == null || dtype === 'float32' || dtype === 'complex64') {\n return new Float32Array(a as number[]);\n } else if (dtype === 'int32') {\n return new Int32Array(a as number[]);\n } else if (dtype === 'bool') {\n const bool = new Uint8Array((a as number[]).length);\n for (let i = 0; i < bool.length; ++i) {\n if (Math.round((a as number[])[i]) !== 0) {\n bool[i] = 1;\n }\n }\n return bool;\n } else {\n throw new Error(`Unknown data type ${dtype}`);\n }\n}\n\n/**\n * Returns the current high-resolution time in milliseconds relative to an\n * arbitrary time in the past. It works across different platforms (node.js,\n * browsers).\n *\n * ```js\n * console.log(tf.util.now());\n * ```\n *\n * @doc {heading: 'Util', namespace: 'util'}\n */\nexport function now(): number {\n return env().platform.now();\n}\n\n/**\n * Returns a platform-specific implementation of\n * [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API).\n *\n * If `fetch` is defined on the global object (`window`, `process`, etc.),\n * `tf.util.fetch` returns that function.\n *\n * If not, `tf.util.fetch` returns a platform-specific solution.\n *\n * ```js\n * const resource = await tf.util.fetch('https://unpkg.com/@tensorflow/tfjs');\n * // handle response\n * ```\n *\n * @doc {heading: 'Util'}\n */\nexport function fetch(\n path: string, requestInits?: RequestInit): Promise {\n return env().platform.fetch(path, requestInits);\n}\n\n/**\n * Encodes the provided string into bytes using the provided encoding scheme.\n *\n * @param s The string to encode.\n * @param encoding The encoding scheme. Defaults to utf-8.\n *\n * @doc {heading: 'Util'}\n */\nexport function encodeString(s: string, encoding = 'utf-8'): Uint8Array {\n encoding = encoding || 'utf-8';\n return env().platform.encode(s, encoding);\n}\n\n/**\n * Decodes the provided bytes into a string using the provided encoding scheme.\n * @param bytes The bytes to decode.\n *\n * @param encoding The encoding scheme. Defaults to utf-8.\n *\n * @doc {heading: 'Util'}\n */\nexport function decodeString(bytes: Uint8Array, encoding = 'utf-8'): string {\n encoding = encoding || 'utf-8';\n return env().platform.decode(bytes, encoding);\n}\n","/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {BackendTimer, BackendTimingInfo} from './backends/backend';\nimport {env} from './environment';\nimport {Tensor} from './tensor';\nimport {NamedTensorMap} from './tensor_types';\nimport {DataType, DataTypeMap, TypedArray} from './types';\nimport * as util from './util';\n\nexport type KernelProfile = {\n kernelName: string,\n outputs: Tensor[],\n inputs: NamedTensorMap,\n timeMs: Promise,\n extraInfo: Promise\n};\n\nexport class Profiler {\n constructor(private backendTimer: BackendTimer, private logger?: Logger) {\n if (logger == null) {\n this.logger = new Logger();\n }\n }\n\n profileKernel(kernelName: string, inputs: NamedTensorMap, f: () => Tensor[]):\n KernelProfile {\n let outputs: Tensor[];\n const holdResultWrapperFn = () => {\n outputs = f();\n };\n let timer: Promise;\n const start = util.now();\n if (this.backendTimer.timerAvailable()) {\n timer = this.backendTimer.time(holdResultWrapperFn);\n } else {\n holdResultWrapperFn();\n for (const output of outputs) {\n output.dataSync();\n }\n timer = Promise.resolve({kernelMs: util.now() - start});\n }\n if (env().getBool('CHECK_COMPUTATION_FOR_ERRORS')) {\n for (let i = 0; i < outputs.length; i++) {\n const output = outputs[i];\n // Dangling promise here because we don't want to propagate up\n // asynchronicity.\n output.data().then(tensorVals => {\n checkComputationForErrors(tensorVals, output.dtype, kernelName);\n });\n }\n }\n\n const kernelProfile = {\n kernelName,\n outputs,\n inputs,\n timeMs: timer.then(timing => timing.kernelMs),\n extraInfo: timer.then(\n timing => timing.getExtraProfileInfo != null ?\n timing.getExtraProfileInfo() :\n '')\n };\n return kernelProfile;\n }\n\n logKernelProfile(kernelProfile: KernelProfile): void {\n const {kernelName, outputs, timeMs, inputs, extraInfo} = kernelProfile;\n\n outputs.forEach(result => {\n Promise.all([result.data(), timeMs, extraInfo]).then(valueContainer => {\n this.logger.logKernelProfile(\n kernelName, result, valueContainer[0], valueContainer[1], inputs,\n valueContainer[2]);\n });\n });\n }\n}\n\nexport function checkComputationForErrors(\n vals: DataTypeMap[D], dtype: D, kernelName: string): boolean {\n if (dtype !== 'float32') {\n // Only floating point computations will generate NaN values\n return false;\n }\n for (let i = 0; i < vals.length; i++) {\n const num = vals[i] as number;\n if (isNaN(num) || !isFinite(num)) {\n // Throwing custom exception so behavior is testable.\n console.warn(`Found ${num} in the result of '${kernelName}'`);\n return true;\n }\n }\n return false;\n}\n\nexport class Logger {\n logKernelProfile(\n name: string, result: Tensor, vals: TypedArray,\n timeMs: number|{error: string}, inputs: NamedTensorMap,\n extraInfo?: string) {\n const time = typeof timeMs === 'number' ? util.rightPad(`${timeMs}ms`, 9) :\n timeMs['error'];\n const paddedName = util.rightPad(name, 25);\n const rank = result.rank;\n const size = result.size;\n const shape = util.rightPad(result.shape.toString(), 14);\n let inputShapesDescription = '';\n\n for (const name in inputs) {\n const input = inputs[name];\n if (input != null) {\n // The input might be a non-tensor (e.g HTMLImageElement), in which case\n // we claim the output shape as input shape.\n const inputShape = input.shape || result.shape;\n const inputRank = inputShape.length;\n inputShapesDescription +=\n `${name}: ${inputRank}D ${inputRank > 0 ? inputShape : ''} `;\n }\n }\n\n console.log(\n `%c${paddedName}\\t%c${time}\\t%c${rank}D ${shape}\\t%c${size}\\t%c${\n inputShapesDescription}\\t%c${extraInfo}`,\n 'font-weight:bold', 'color:red', 'color:blue', 'color: orange',\n 'color: green', 'color: steelblue');\n }\n}\n","/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {Tensor} from './tensor';\nimport {NamedTensorMap} from './tensor_types';\nimport * as util from './util';\n\nexport interface TapeNode {\n id: number;\n kernelName: string;\n outputs: Tensor[];\n inputs: NamedTensorMap;\n // Optional params, defined only for ops with gradient impl.\n gradient?: (dys: Tensor[]) => NamedGradientMap;\n saved?: Tensor[];\n}\n\nexport type NamedGradientMap = {\n [inputName: string]: () => Tensor;\n};\n\n/**\n * Computes a list of TapeNodes that connect x to y, filtering everything else\n * out and preserving the order of the original tape elements.\n *\n * @param tape The tape elements to filter.\n * @param xs The input Tensors.\n * @param y The output Tensor.\n */\nexport function getFilteredNodesXToY(\n tape: TapeNode[], xs: Tensor[], y: Tensor): TapeNode[] {\n // Forward pass to compute all the nodes and Tensors that are transitively a\n // function of x.\n const tensorsFromX: {[tensorId: number]: boolean} = {};\n const nodesFromX: {[nodeId: number]: boolean} = {};\n for (let i = 0; i < xs.length; i++) {\n tensorsFromX[xs[i].id] = true;\n }\n\n for (let i = 0; i < tape.length; i++) {\n const node = tape[i];\n const nodeInputs = node.inputs;\n for (const inputName in nodeInputs) {\n const input = nodeInputs[inputName];\n\n let anyInputFromX = false;\n for (let j = 0; j < xs.length; j++) {\n if (tensorsFromX[input.id]) {\n node.outputs.forEach(output => tensorsFromX[output.id] = true);\n anyInputFromX = true;\n nodesFromX[node.id] = true;\n break;\n }\n }\n\n if (anyInputFromX) {\n break;\n }\n }\n }\n\n // Backward pass to find all of the nodes and Tensors that lead to y.\n const tensorsLeadToY: {[tensorId: number]: boolean} = {};\n tensorsLeadToY[y.id] = true;\n const nodesToY: {[nodeId: number]: boolean} = {};\n\n for (let i = tape.length - 1; i >= 0; i--) {\n const node = tape[i];\n const nodeInputs = node.inputs;\n\n // If any of the outputs lead to y, mark all of the inputs as leading to y.\n for (let j = 0; j < node.outputs.length; j++) {\n if (tensorsLeadToY[node.outputs[j].id]) {\n for (const inputName in nodeInputs) {\n tensorsLeadToY[nodeInputs[inputName].id] = true;\n nodesToY[node.id] = true;\n }\n break;\n }\n }\n }\n\n // Return the paths that come from x and lead to y.\n const filteredTape: TapeNode[] = [];\n for (let i = 0; i < tape.length; i++) {\n const node = tape[i];\n\n if (nodesFromX[node.id] && nodesToY[node.id]) {\n // Prune the inputs from the node that aren't a function of x.\n const prunedInputs: {[inputName: string]: Tensor} = {};\n for (const inputName in node.inputs) {\n const nodeInput = node.inputs[inputName];\n if (tensorsFromX[nodeInput.id]) {\n prunedInputs[inputName] = nodeInput;\n }\n }\n\n // Copy the node and overwrite inputsAndArgs to the pruned version.\n const prunedNode = Object.assign({}, node);\n prunedNode.inputs = prunedInputs;\n prunedNode.outputs = node.outputs;\n\n filteredTape.push(prunedNode);\n }\n }\n\n return filteredTape;\n}\n\n/**\n * Backpropagate gradients through the filtered TapeNodes.\n *\n * @param tensorAccumulatedGradientMap A map of Tensor to its gradient. This map\n * is mutated by this method.\n * @param filteredTape The filtered TapeNodes to backprop through.\n */\nexport function backpropagateGradients(\n tensorAccumulatedGradientMap: {[tensorId: number]: Tensor},\n filteredTape: TapeNode[], tidy: (f: Function) => Tensor,\n add: (a: Tensor, b: Tensor) => Tensor) {\n // Walk the tape backward and keep a map of Tensor to its gradient.\n for (let i = filteredTape.length - 1; i >= 0; i--) {\n const node = filteredTape[i];\n\n const dys: Tensor[] = [];\n node.outputs.forEach(o => {\n const gradTensor = tensorAccumulatedGradientMap[o.id];\n if (gradTensor != null) {\n dys.push(gradTensor);\n } else {\n // This particular output is not in the back-propagation subgraph, so it\n // does not affect the final output, thus we put null for its dy.\n dys.push(null);\n }\n });\n\n if (node.gradient == null) {\n throw new Error(\n `Cannot compute gradient: gradient function not found ` +\n `for ${node.kernelName}.`);\n }\n\n // Backprop dy through this node and accumulate gradients over the inputs.\n const inputGradients = node.gradient(dys);\n\n for (const inputName in node.inputs) {\n if (!(inputName in inputGradients)) {\n throw new Error(\n `Cannot backprop through input ${inputName}. ` +\n `Available gradients found: ${Object.keys(inputGradients)}.`);\n }\n\n // Call the gradient function.\n const dx = tidy(() => inputGradients[inputName]());\n if (dx.dtype !== 'float32') {\n throw new Error(\n `Error in gradient for op ${\n node.kernelName}. The gradient of input ` +\n `${inputName} must have 'float32' dtype, but has '${dx.dtype}'`);\n }\n const x = node.inputs[inputName];\n if (!util.arraysEqual(dx.shape, x.shape)) {\n throw new Error(\n `Error in gradient for op ${\n node.kernelName}. The gradient of input ` +\n `'${inputName}' has shape '${dx.shape}', which does not match ` +\n `the shape of the input '${x.shape}'`);\n }\n\n if (tensorAccumulatedGradientMap[x.id] == null) {\n tensorAccumulatedGradientMap[x.id] = dx;\n } else {\n const curGradient = tensorAccumulatedGradientMap[x.id];\n tensorAccumulatedGradientMap[x.id] = add(curGradient, dx);\n curGradient.dispose();\n }\n }\n }\n}\n","/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {DataType, TypedArray} from './types';\nimport {computeStrides, isString, rightPad, sizeFromShape} from './util';\n\n// Maximum number of values before we decide to show ellipsis.\nconst FORMAT_LIMIT_NUM_VALS = 20;\n// Number of first and last values to show when displaying a, b,...,y, z.\nconst FORMAT_NUM_FIRST_LAST_VALS = 3;\n// Number of significant digits to show.\nconst FORMAT_NUM_SIG_DIGITS = 7;\n\nexport function tensorToString(\n vals: TypedArray|string[], shape: number[], dtype: DataType,\n verbose: boolean) {\n const strides = computeStrides(shape);\n const padPerCol = computeMaxSizePerColumn(vals, shape, dtype, strides);\n const rank = shape.length;\n const valsLines = subTensorToString(vals, shape, dtype, strides, padPerCol);\n const lines = ['Tensor'];\n if (verbose) {\n lines.push(` dtype: ${dtype}`);\n lines.push(` rank: ${rank}`);\n lines.push(` shape: [${shape}]`);\n lines.push(` values:`);\n }\n lines.push(valsLines.map(l => ' ' + l).join('\\n'));\n return lines.join('\\n');\n}\n\nfunction computeMaxSizePerColumn(\n vals: TypedArray|string[], shape: number[], dtype: DataType,\n strides: number[]): number[] {\n const n = sizeFromShape(shape);\n const numCols = strides[strides.length - 1];\n const padPerCol = new Array(numCols).fill(0);\n const rank = shape.length;\n const valuesOrTuples =\n dtype === 'complex64' ? createComplexTuples(vals) : vals;\n\n if (rank > 1) {\n for (let row = 0; row < n / numCols; row++) {\n const offset = row * numCols;\n for (let j = 0; j < numCols; j++) {\n padPerCol[j] = Math.max(\n padPerCol[j],\n valToString(valuesOrTuples[offset + j], 0, dtype).length);\n }\n }\n }\n return padPerCol;\n}\n\nfunction valToString(\n val: number|string|[number, number], pad: number, dtype: DataType) {\n let valStr: string;\n if (Array.isArray(val)) {\n valStr = `${parseFloat(val[0].toFixed(FORMAT_NUM_SIG_DIGITS))} + ` +\n `${parseFloat(val[1].toFixed(FORMAT_NUM_SIG_DIGITS))}j`;\n } else if (isString(val)) {\n valStr = `'${val}'`;\n } else if (dtype === 'bool') {\n valStr = boolNumToString(val);\n } else {\n valStr = parseFloat(val.toFixed(FORMAT_NUM_SIG_DIGITS)).toString();\n }\n\n return rightPad(valStr, pad);\n}\n\nfunction boolNumToString(v: number): string {\n return v === 0 ? 'false' : 'true';\n}\n\nfunction subTensorToString(\n vals: TypedArray|string[], shape: number[], dtype: DataType,\n strides: number[], padPerCol: number[], isLast = true): string[] {\n const storagePerElement = dtype === 'complex64' ? 2 : 1;\n\n const size = shape[0];\n const rank = shape.length;\n if (rank === 0) {\n if (dtype === 'complex64') {\n const complexTuple = createComplexTuples(vals);\n return [valToString(complexTuple[0], 0, dtype)];\n }\n if (dtype === 'bool') {\n return [boolNumToString(vals[0] as number)];\n }\n return [vals[0].toString()];\n }\n\n if (rank === 1) {\n if (size > FORMAT_LIMIT_NUM_VALS) {\n const firstValsSize = FORMAT_NUM_FIRST_LAST_VALS * storagePerElement;\n\n let firstVals = Array.from(\n vals.slice(0, firstValsSize));\n let lastVals = Array.from(vals.slice(\n (size - FORMAT_NUM_FIRST_LAST_VALS) * storagePerElement,\n size * storagePerElement));\n if (dtype === 'complex64') {\n firstVals = createComplexTuples(firstVals);\n lastVals = createComplexTuples(lastVals);\n }\n return [\n '[' +\n firstVals.map((x, i) => valToString(x, padPerCol[i], dtype))\n .join(', ') +\n ', ..., ' +\n lastVals\n .map(\n (x, i) => valToString(\n x, padPerCol[size - FORMAT_NUM_FIRST_LAST_VALS + i], dtype))\n .join(', ') +\n ']'\n ];\n }\n const displayVals: Array =\n dtype === 'complex64' ? createComplexTuples(vals) :\n Array.from(vals);\n\n return [\n '[' +\n displayVals.map((x, i) => valToString(x, padPerCol[i], dtype))\n .join(', ') +\n ']'\n ];\n }\n\n // The array is rank 2 or more.\n const subshape = shape.slice(1);\n const substrides = strides.slice(1);\n const stride = strides[0] * storagePerElement;\n const lines: string[] = [];\n if (size > FORMAT_LIMIT_NUM_VALS) {\n for (let i = 0; i < FORMAT_NUM_FIRST_LAST_VALS; i++) {\n const start = i * stride;\n const end = start + stride;\n lines.push(...subTensorToString(\n vals.slice(start, end), subshape, dtype, substrides, padPerCol,\n false /* isLast */));\n }\n lines.push('...');\n for (let i = size - FORMAT_NUM_FIRST_LAST_VALS; i < size; i++) {\n const start = i * stride;\n const end = start + stride;\n lines.push(...subTensorToString(\n vals.slice(start, end), subshape, dtype, substrides, padPerCol,\n i === size - 1 /* isLast */));\n }\n } else {\n for (let i = 0; i < size; i++) {\n const start = i * stride;\n const end = start + stride;\n lines.push(...subTensorToString(\n vals.slice(start, end), subshape, dtype, substrides, padPerCol,\n i === size - 1 /* isLast */));\n }\n }\n const sep = rank === 2 ? ',' : '';\n lines[0] = '[' + lines[0] + sep;\n for (let i = 1; i < lines.length - 1; i++) {\n lines[i] = ' ' + lines[i] + sep;\n }\n let newLineSep = ',\\n';\n for (let i = 2; i < rank; i++) {\n newLineSep += '\\n';\n }\n lines[lines.length - 1] =\n ' ' + lines[lines.length - 1] + ']' + (isLast ? '' : newLineSep);\n return lines;\n}\n\nfunction createComplexTuples(vals: Array<{}>|\n TypedArray): Array<[number, number]> {\n const complexTuples: Array<[number, number]> = [];\n for (let i = 0; i < vals.length; i += 2) {\n complexTuples.push([vals[i], vals[i + 1]] as [number, number]);\n }\n return complexTuples;\n}\n","/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {getGlobal} from './global_util';\nimport {tensorToString} from './tensor_format';\nimport {ArrayMap, BackendValues, DataType, DataTypeMap, DataValues, NumericDataType, Rank, ShapeMap, SingleValueMap, TypedArray} from './types';\nimport * as util from './util';\nimport {computeStrides, toNestedArray} from './util';\n\nexport interface TensorData {\n dataId?: DataId;\n values?: DataTypeMap[D];\n}\n\n// This interface mimics KernelBackend (in backend.ts), which would create a\n// circular dependency if imported.\nexport interface Backend {}\n\n/**\n * A mutable object, similar to `tf.Tensor`, that allows users to set values\n * at locations before converting to an immutable `tf.Tensor`.\n *\n * See `tf.buffer` for creating a tensor buffer.\n *\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\nexport class TensorBuffer {\n size: number;\n shape: ShapeMap[R];\n strides: number[];\n values: DataTypeMap[D];\n\n constructor(shape: ShapeMap[R], public dtype: D, values?: DataTypeMap[D]) {\n this.shape = shape.slice() as ShapeMap[R];\n this.size = util.sizeFromShape(shape);\n\n if (values != null) {\n const n = values.length;\n util.assert(\n n === this.size,\n () => `Length of values '${n}' does not match the size ` +\n `inferred by the shape '${this.size}'.`);\n }\n if (dtype === 'complex64') {\n throw new Error(\n `complex64 dtype TensorBuffers are not supported. Please create ` +\n `a TensorBuffer for the real and imaginary parts separately and ` +\n `call tf.complex(real, imag).`);\n }\n this.values = values || util.getArrayFromDType(dtype, this.size);\n this.strides = computeStrides(shape);\n }\n\n /**\n * Sets a value in the buffer at a given location.\n *\n * @param value The value to set.\n * @param locs The location indices.\n *\n * @doc {heading: 'Tensors', subheading: 'Creation'}\n */\n set(value: SingleValueMap[D], ...locs: number[]): void {\n if (locs.length === 0) {\n locs = [0];\n }\n util.assert(\n locs.length === this.rank,\n () => `The number of provided coordinates (${locs.length}) must ` +\n `match the rank (${this.rank})`);\n\n const index = this.locToIndex(locs);\n this.values[index] = value as number;\n }\n\n /**\n * Returns the value in the buffer at the provided location.\n *\n * @param locs The location indices.\n *\n * @doc {heading: 'Tensors', subheading: 'Creation'}\n */\n get(...locs: number[]): SingleValueMap[D] {\n if (locs.length === 0) {\n locs = [0];\n }\n let i = 0;\n for (const loc of locs) {\n if (loc < 0 || loc >= this.shape[i]) {\n const msg = `Requested out of range element at ${locs}. ` +\n ` Buffer shape=${this.shape}`;\n throw new Error(msg);\n }\n i++;\n }\n let index = locs[locs.length - 1];\n for (let i = 0; i < locs.length - 1; ++i) {\n index += this.strides[i] * locs[i];\n }\n return this.values[index] as SingleValueMap[D];\n }\n\n locToIndex(locs: number[]): number {\n if (this.rank === 0) {\n return 0;\n } else if (this.rank === 1) {\n return locs[0];\n }\n let index = locs[locs.length - 1];\n for (let i = 0; i < locs.length - 1; ++i) {\n index += this.strides[i] * locs[i];\n }\n return index;\n }\n\n indexToLoc(index: number): number[] {\n if (this.rank === 0) {\n return [];\n } else if (this.rank === 1) {\n return [index];\n }\n const locs: number[] = new Array(this.shape.length);\n for (let i = 0; i < locs.length - 1; ++i) {\n locs[i] = Math.floor(index / this.strides[i]);\n index -= locs[i] * this.strides[i];\n }\n locs[locs.length - 1] = index;\n return locs;\n }\n\n get rank() {\n return this.shape.length;\n }\n\n /**\n * Creates an immutable `tf.Tensor` object from the buffer.\n *\n * @doc {heading: 'Tensors', subheading: 'Creation'}\n */\n toTensor(): Tensor {\n return trackerFn().makeTensor(this.values, this.shape, this.dtype) as\n Tensor;\n }\n}\n\nexport interface TensorTracker {\n makeTensor(\n values: DataValues, shape: number[], dtype: DataType,\n backend?: Backend): Tensor;\n makeVariable(\n initialValue: Tensor, trainable?: boolean, name?: string,\n dtype?: DataType): Variable;\n incRef(a: Tensor, backend: Backend): void;\n disposeTensor(t: Tensor): void;\n disposeVariable(v: Variable): void;\n read(dataId: DataId): Promise;\n readSync(dataId: DataId): BackendValues;\n}\n\n/**\n * The Tensor class calls into this handler to delegate chaining operations.\n */\nexport interface OpHandler {\n cast(x: T, dtype: DataType): T;\n buffer(\n shape: ShapeMap[R], dtype: D,\n values?: DataTypeMap[D]): TensorBuffer;\n print(x: T, verbose: boolean): void;\n clone(x: T): T;\n // TODO(yassogba) bring reshape back?\n}\n\n// For tracking tensor creation and disposal.\nlet trackerFn: () => TensorTracker = null;\n// Used by chaining methods to call into ops.\nlet opHandler: OpHandler = null;\n// Used to warn about deprecated methods.\nlet deprecationWarningFn: (msg: string) => void = null;\n// This here so that we can use this method on dev branches and keep the\n// functionality at master.\n// tslint:disable-next-line:no-unused-expression\n[deprecationWarningFn];\n\n/**\n * An external consumer can register itself as the tensor tracker. This way\n * the Tensor class can notify the tracker for every tensor created and\n * disposed.\n */\nexport function setTensorTracker(fn: () => TensorTracker) {\n trackerFn = fn;\n}\n\n/**\n * An external consumer can register itself as the op handler. This way the\n * Tensor class can have chaining methods that call into ops via the op\n * handler.\n */\nexport function setOpHandler(handler: OpHandler) {\n opHandler = handler;\n}\n\n/**\n * Sets the deprecation warning function to be used by this file. This way the\n * Tensor class can be a leaf but still use the environment.\n */\nexport function setDeprecationWarningFn(fn: (msg: string) => void) {\n deprecationWarningFn = fn;\n}\n\n/**\n * We wrap data id since we use weak map to avoid memory leaks.\n * Since we have our own memory management, we have a reference counter\n * mapping a tensor to its data, so there is always a pointer (even if that\n * data is otherwise garbage collectable).\n * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/\n * Global_Objects/WeakMap\n */\nexport type DataId = object; // object instead of {} to force non-primitive.\n\n// Declare this namespace to make Tensor class augmentation work in google3.\nexport declare namespace Tensor {}\n/**\n * A `tf.Tensor` object represents an immutable, multidimensional array of\n * numbers that has a shape and a data type.\n *\n * For performance reasons, functions that create tensors do not necessarily\n * perform a copy of the data passed to them (e.g. if the data is passed as a\n * `Float32Array`), and changes to the data will change the tensor. This is not\n * a feature and is not supported. To avoid this behavior, use the tensor before\n * changing the input data or create a copy with `copy = tf.add(yourTensor, 0)`.\n *\n * See `tf.tensor` for details on how to create a `tf.Tensor`.\n *\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\nexport class Tensor {\n /** Unique id of this tensor. */\n readonly id: number;\n /**\n * Id of the bucket holding the data for this tensor. Multiple arrays can\n * point to the same bucket (e.g. when calling array.reshape()).\n */\n dataId: DataId;\n /** The shape of the tensor. */\n readonly shape: ShapeMap[R];\n /** Number of elements in the tensor. */\n readonly size: number;\n /** The data type for the array. */\n readonly dtype: DataType;\n /** The rank type for the array (see `Rank` enum). */\n readonly rankType: R;\n\n /** Whether this tensor has been globally kept. */\n kept = false;\n /** The id of the scope this tensor is being tracked in. */\n scopeId: number;\n\n /**\n * Number of elements to skip in each dimension when indexing. See\n * https://docs.scipy.org/doc/numpy/reference/generated/\\\n * numpy.ndarray.strides.html\n */\n readonly strides: number[];\n\n constructor(shape: ShapeMap[R], dtype: DataType, dataId: DataId, id: number) {\n this.shape = shape.slice() as ShapeMap[R];\n this.dtype = dtype || 'float32';\n this.size = util.sizeFromShape(shape);\n this.strides = computeStrides(shape);\n this.dataId = dataId;\n this.id = id;\n this.rankType = (this.rank < 5 ? this.rank.toString() : 'higher') as R;\n }\n\n get rank(): number {\n return this.shape.length;\n }\n\n /**\n * Returns a promise of `tf.TensorBuffer` that holds the underlying data.\n *\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\n async buffer(): Promise> {\n const vals = await this.data();\n return opHandler.buffer(this.shape, this.dtype as D, vals);\n }\n\n /**\n * Returns a `tf.TensorBuffer` that holds the underlying data.\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\n bufferSync(): TensorBuffer {\n return opHandler.buffer(this.shape, this.dtype as D, this.dataSync());\n }\n\n /**\n * Returns the tensor data as a nested array. The transfer of data is done\n * asynchronously.\n *\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\n async array(): Promise {\n const vals = await this.data();\n return toNestedArray(this.shape, vals, this.dtype === 'complex64') as\n ArrayMap[R];\n }\n\n /**\n * Returns the tensor data as a nested array. The transfer of data is done\n * synchronously.\n *\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\n arraySync(): ArrayMap[R] {\n return toNestedArray(\n this.shape, this.dataSync(), this.dtype === 'complex64') as\n ArrayMap[R];\n }\n\n /**\n * Asynchronously downloads the values from the `tf.Tensor`. Returns a\n * promise of `TypedArray` that resolves when the computation has finished.\n *\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\n async data(): Promise {\n this.throwIfDisposed();\n const data = trackerFn().read(this.dataId);\n if (this.dtype === 'string') {\n const bytes = await data as Uint8Array[];\n try {\n return bytes.map(b => util.decodeString(b)) as DataTypeMap[D];\n } catch {\n throw new Error(\n 'Failed to decode the string bytes into utf-8. ' +\n 'To get the original bytes, call tensor.bytes().');\n }\n }\n return data as Promise;\n }\n\n /**\n * Synchronously downloads the values from the `tf.Tensor`. This blocks the\n * UI thread until the values are ready, which can cause performance issues.\n *\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\n dataSync(): DataTypeMap[D] {\n this.throwIfDisposed();\n const data = trackerFn().readSync(this.dataId);\n if (this.dtype === 'string') {\n try {\n return (data as Uint8Array[]).map(b => util.decodeString(b)) as\n DataTypeMap[D];\n } catch {\n throw new Error(\n 'Failed to decode the string bytes into utf-8. ' +\n 'To get the original bytes, call tensor.bytes().');\n }\n }\n return data as DataTypeMap[D];\n }\n\n /** Returns the underlying bytes of the tensor's data. */\n async bytes(): Promise {\n this.throwIfDisposed();\n const data = await trackerFn().read(this.dataId);\n if (this.dtype === 'string') {\n return data as Uint8Array[];\n } else {\n return new Uint8Array((data as TypedArray).buffer);\n }\n }\n\n /**\n * Disposes `tf.Tensor` from memory.\n *\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\n dispose(): void {\n if (this.isDisposed) {\n return;\n }\n trackerFn().disposeTensor(this);\n this.isDisposedInternal = true;\n }\n\n protected isDisposedInternal = false;\n get isDisposed(): boolean {\n return this.isDisposedInternal;\n }\n\n throwIfDisposed() {\n if (this.isDisposed) {\n throw new Error(`Tensor is disposed.`);\n }\n }\n\n /**\n * Prints the `tf.Tensor`. See `tf.print` for details.\n *\n * @param verbose Whether to print verbose information about the tensor,\n * including dtype and size.\n *\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\n print(verbose = false): void {\n return opHandler.print(this, verbose);\n }\n\n /**\n * Returns a copy of the tensor. See `tf.clone` for details.\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\n clone(this: T): T {\n this.throwIfDisposed();\n return opHandler.clone(this);\n }\n\n /**\n * Returns a human-readable description of the tensor. Useful for logging.\n *\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\n toString(verbose = false): string {\n const vals = this.dataSync();\n return tensorToString(vals, this.shape, this.dtype, verbose);\n }\n\n cast(dtype: DataType): T {\n this.throwIfDisposed();\n return opHandler.cast(this as T, dtype);\n }\n variable(trainable = true, name?: string, dtype?: DataType): Variable {\n this.throwIfDisposed();\n return trackerFn().makeVariable(this, trainable, name, dtype) as\n Variable;\n }\n}\nObject.defineProperty(Tensor, Symbol.hasInstance, {\n value: (instance: Tensor) => {\n // Implementation note: we should use properties of the object that will be\n // defined before the constructor body has finished executing (methods).\n // This is because when this code is transpiled by babel, babel will call\n // classCallCheck before the constructor body is run.\n // See https://github.com/tensorflow/tfjs/issues/3384 for backstory.\n return !!instance && instance.data != null && instance.dataSync != null &&\n instance.throwIfDisposed != null;\n }\n});\n\nexport function getGlobalTensorClass() {\n // Use getGlobal so that we can augment the Tensor class across package\n // boundaries becase the node resolution alg may result in different modules\n // being returned for this file depending on the path they are loaded from.\n return getGlobal('Tensor', () => {\n return Tensor;\n });\n}\n\n// Global side effect. Cache global reference to Tensor class\ngetGlobalTensorClass();\n\nexport interface NumericTensor extends Tensor {\n dtype: NumericDataType;\n dataSync(): DataTypeMap[D];\n data(): Promise;\n}\n\nexport interface StringTensor extends Tensor {\n dtype: 'string';\n dataSync(): DataTypeMap[D];\n data(): Promise;\n}\n\n/** @doclink Tensor */\nexport type Scalar = Tensor;\n/** @doclink Tensor */\nexport type Tensor1D = Tensor;\n/** @doclink Tensor */\nexport type Tensor2D = Tensor;\n/** @doclink Tensor */\nexport type Tensor3D = Tensor;\n/** @doclink Tensor */\nexport type Tensor4D = Tensor;\n/** @doclink Tensor */\nexport type Tensor5D = Tensor;\n/** @doclink Tensor */\nexport type Tensor6D = Tensor;\n\n/**\n * A mutable `tf.Tensor`, useful for persisting state, e.g. for training.\n *\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\nexport class Variable extends Tensor {\n name: string;\n\n constructor(\n initialValue: Tensor, public trainable: boolean, name: string,\n tensorId: number) {\n super(\n initialValue.shape, initialValue.dtype, initialValue.dataId, tensorId);\n this.name = name;\n }\n\n /**\n * Assign a new `tf.Tensor` to this variable. The new `tf.Tensor` must have\n * the same shape and dtype as the old `tf.Tensor`.\n *\n * @param newValue New tensor to be assigned to this variable.\n *\n * @doc {heading: 'Tensors', subheading: 'Classes'}\n */\n assign(newValue: Tensor): void {\n if (newValue.dtype !== this.dtype) {\n throw new Error(\n `dtype of the new value (${newValue.dtype}) and ` +\n `previous value (${this.dtype}) must match`);\n }\n if (!util.arraysEqual(newValue.shape, this.shape)) {\n throw new Error(\n `shape of the new value (${newValue.shape}) and ` +\n `previous value (${this.shape}) must match`);\n }\n trackerFn().disposeTensor(this);\n this.dataId = newValue.dataId;\n trackerFn().incRef(this, null /* backend */);\n }\n\n dispose(): void {\n trackerFn().disposeVariable(this);\n this.isDisposedInternal = true;\n }\n}\n\nObject.defineProperty(Variable, Symbol.hasInstance, {\n value: (instance: Variable) => {\n return instance instanceof Tensor && instance.assign != null &&\n instance.assign instanceof Function;\n }\n});\n","/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\n/** @docalias number[] */\nexport interface ShapeMap {\n R0: number[];\n R1: [number];\n R2: [number, number];\n R3: [number, number, number];\n R4: [number, number, number, number];\n R5: [number, number, number, number, number];\n R6: [number, number, number, number, number, number];\n}\n\n/** @docalias number[] */\nexport interface ArrayMap {\n R0: number;\n R1: number[];\n R2: number[][];\n R3: number[][][];\n R4: number[][][][];\n R5: number[][][][][];\n R6: number[][][][][][];\n}\n\nexport interface DataTypeMap {\n float32: Float32Array;\n int32: Int32Array;\n bool: Uint8Array;\n complex64: Float32Array;\n string: string[];\n}\n\nexport interface SingleValueMap {\n bool: boolean;\n int32: number;\n float32: number;\n complex64: number;\n string: string;\n}\n\n/** @docalias 'float32'|'int32'|'bool'|'complex64'|'string' */\nexport type DataType = keyof DataTypeMap;\nexport type NumericDataType = 'float32'|'int32'|'bool'|'complex64';\nexport type TypedArray = Float32Array|Int32Array|Uint8Array;\n/** Tensor data used in tensor creation and user-facing API. */\nexport type DataValues = DataTypeMap[DataType];\n/** The underlying tensor data that gets stored in a backend. */\nexport type BackendValues = Float32Array|Int32Array|Uint8Array|Uint8Array[];\n\nexport enum Rank {\n R0 = 'R0',\n R1 = 'R1',\n R2 = 'R2',\n R3 = 'R3',\n R4 = 'R4',\n R5 = 'R5',\n R6 = 'R6'\n}\n\nexport type FlatVector = boolean[]|number[]|TypedArray;\nexport type RegularArray =\n T[]|T[][]|T[][][]|T[][][][]|T[][][][][]|T[][][][][][];\n\n// tslint:disable-next-line:no-any\nexport interface RecursiveArray {\n [index: number]: T|RecursiveArray;\n}\n\n// Looks for upcasting types. Used, for example, in operations with mixed dtype\n// inputs.\nenum UpcastInt32AndMap {\n 'float32' = 'float32',\n 'int32' = 'int32',\n 'bool' = 'int32',\n 'complex64' = 'complex64'\n}\n\nenum UpcastBoolAndMap {\n 'float32' = 'float32',\n 'int32' = 'int32',\n 'bool' = 'bool',\n 'complex64' = 'complex64'\n}\n\nenum UpcastFloat32AndMap {\n 'float32' = 'float32',\n 'int32' = 'float32',\n 'bool' = 'float32',\n 'complex64' = 'complex64'\n}\n\nenum UpcastComplex64AndMap {\n 'float32' = 'complex64',\n 'int32' = 'complex64',\n 'bool' = 'complex64',\n 'complex64' = 'complex64'\n}\n\nconst upcastTypeMap = {\n 'float32': UpcastFloat32AndMap,\n 'int32': UpcastInt32AndMap,\n 'bool': UpcastBoolAndMap,\n 'complex64': UpcastComplex64AndMap\n};\n\nexport function upcastType(typeA: DataType, typeB: DataType): DataType {\n if (typeA === 'string' || typeB === 'string') {\n if (typeA === 'string' && typeB === 'string') {\n return 'string';\n }\n throw new Error(`Can not upcast ${typeA} with ${typeB}`);\n }\n return upcastTypeMap[typeA][typeB];\n}\n\n/** Returns the output type after summation. */\nexport function sumOutType(type: DataType): DataType {\n return upcastType(type, 'int32');\n}\n\n/** @docalias TypedArray|Array */\nexport type TensorLike =\n TypedArray|number|boolean|string|RecursiveArray|\n RecursiveArray|RecursiveArray|Uint8Array[];\nexport type ScalarLike = number|boolean|string|Uint8Array;\n/** @docalias TypedArray|Array */\nexport type TensorLike1D = TypedArray|number[]|boolean[]|string[]|Uint8Array[];\n/** @docalias TypedArray|Array */\nexport type TensorLike2D = TypedArray|number[]|number[][]|boolean[]|boolean[][]|\n string[]|string[][]|Uint8Array[]|Uint8Array[][];\n/** @docalias TypedArray|Array */\nexport type TensorLike3D = TypedArray|number[]|number[][][]|boolean[]|\n boolean[][][]|string[]|string[][][]|Uint8Array[]|Uint8Array[][][];\n/** @docalias TypedArray|Array */\nexport type TensorLike4D = TypedArray|number[]|number[][][][]|boolean[]|\n boolean[][][][]|string[]|string[][][][]|Uint8Array[]|Uint8Array[][][][];\n/** @docalias TypedArray|Array */\nexport type TensorLike5D =\n TypedArray|number[]|number[][][][][]|boolean[]|boolean[][][][][]|string[]|\n string[][][][][]|Uint8Array[]|Uint8Array[][][][][];\n/** @docalias TypedArray|Array */\nexport type TensorLike6D =\n TypedArray|number[]|number[][][][][][]|boolean[]|boolean[][][][][][]|\n string[]|string[][][][][][]|Uint8Array[]|Uint8Array[][][][][];\n\n/** Type for representing image data in Uint8Array type. */\nexport interface PixelData {\n width: number;\n height: number;\n data: Uint8Array;\n}\n","/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {Tensor} from './tensor';\nimport {TensorContainer, TensorContainerArray} from './tensor_types';\nimport {upcastType} from './types';\nimport {assert} from './util';\n\nexport function makeTypesMatch(a: T, b: T): [T, T] {\n if (a.dtype === b.dtype) {\n return [a, b];\n }\n const dtype = upcastType(a.dtype, b.dtype);\n return [a.cast(dtype), b.cast(dtype)];\n}\n\nexport function assertTypesMatch(a: Tensor, b: Tensor): void {\n assert(\n a.dtype === b.dtype,\n () => `The dtypes of the first(${a.dtype}) and` +\n ` second(${b.dtype}) input must match`);\n}\n\nexport function isTensorInList(tensor: Tensor, tensorList: Tensor[]): boolean {\n return tensorList.some(x => x.id === tensor.id);\n}\n\n/**\n * Extracts any `Tensor`s found within the provided object.\n *\n * @param container an object that may be a `Tensor` or may directly contain\n * `Tensor`s, such as a `Tensor[]` or `{key: Tensor, ...}`. In general it\n * is safe to pass any object here, except that `Promise`s are not\n * supported.\n * @returns An array of `Tensors` found within the passed object. If the\n * argument is simply a `Tensor', a list containing that `Tensor` is\n * returned. If the object is not a `Tensor` or does not\n * contain `Tensors`, an empty list is returned.\n */\nexport function getTensorsInContainer(result: TensorContainer): Tensor[] {\n const list: Tensor[] = [];\n const seen = new Set<{}|void>();\n walkTensorContainer(result, list, seen);\n return list;\n}\n\nfunction walkTensorContainer(\n container: TensorContainer, list: Tensor[], seen: Set<{}|void>): void {\n if (container == null) {\n return;\n }\n if (container instanceof Tensor) {\n list.push(container);\n return;\n }\n if (!isIterable(container)) {\n return;\n }\n // Iteration over keys works also for arrays.\n const iterable = container as TensorContainerArray;\n for (const k in iterable) {\n const val = iterable[k];\n if (!seen.has(val)) {\n seen.add(val);\n walkTensorContainer(val, list, seen);\n }\n }\n}\n\n// tslint:disable-next-line:no-any\nfunction isIterable(obj: any): boolean {\n return Array.isArray(obj) || typeof obj === 'object';\n}\n","/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {BackendTimingInfo, DataMover, KernelBackend} from './backends/backend';\nimport {Environment, setEnvironmentGlobal} from './environment';\nimport {getGlobalNamespace} from './global_util';\nimport {Add, Cast, Identity} from './kernel_names';\nimport {getGradient, getKernel, getKernelsForBackend, GradFunc, NamedAttrMap, TensorInfo} from './kernel_registry';\nimport {KernelProfile, Profiler} from './profiler';\nimport {backpropagateGradients, getFilteredNodesXToY, TapeNode} from './tape';\nimport {DataId, setTensorTracker, Tensor, TensorTracker, Variable} from './tensor';\nimport {GradSaveFunc, NamedTensorMap, NamedVariableMap, TensorContainer} from './tensor_types';\nimport {getTensorsInContainer} from './tensor_util';\nimport {BackendValues, DataType, DataValues} from './types';\nimport * as util from './util';\nimport {bytesFromStringArray, makeOnesTypedArray, now, sizeFromShape} from './util';\n\n/**\n * A function that computes an output. The save function is for saving tensors\n * computed in the forward pass, that we need in the backward pass.\n */\nexport type ForwardFunc = (backend: KernelBackend, save?: GradSaveFunc) => T;\n\n/**\n * @docalias (a: Tensor, b: Tensor,..., save?: Function) => {\n * value: Tensor,\n * gradFunc: (dy: Tensor, saved?: NamedTensorMap) => Tensor | Tensor[]\n * }\n */\nexport type CustomGradientFunc =\n (...inputs: Array) => {\n value: T;\n gradFunc: (dy: T, saved: Tensor[]) => Tensor | Tensor[];\n };\n\nexport type MemoryInfo = {\n numTensors: number; numDataBuffers: number; numBytes: number;\n unreliable?: boolean; reasons: string[];\n};\n\ntype KernelInfo = {\n name: string; bytesAdded: number; totalBytesSnapshot: number;\n tensorsAdded: number;\n totalTensorsSnapshot: number;\n inputShapes: number[][];\n outputShapes: number[][];\n kernelTimeMs: number | {error: string} | Promise;\n extraInfo: string | Promise;\n};\n\nexport type ProfileInfo = {\n newBytes: number; newTensors: number; peakBytes: number;\n kernels: KernelInfo[];\n result: TensorContainer;\n kernelNames: string[];\n};\n\nexport interface TimingInfo extends BackendTimingInfo {\n wallMs: number;\n}\n\n/** @docalias Function */\nexport type ScopeFn = () => T;\n\ninterface ScopeState {\n track: Tensor[];\n name: string;\n id: number;\n}\n\ninterface RegisteredKernelInvocation {\n kernelName: string;\n inputs: I;\n attrs?: NamedAttrMap;\n}\n\ninterface CustomGradKernelInvocation {\n forwardFunc: ForwardFunc;\n backwardsFunc: (dy: T, saved: Tensor[]) => {\n [P in keyof I]: () => I[P]\n };\n inputs: I;\n attrs?: NamedAttrMap;\n}\n\nfunction isRegisteredKernelInvocation(\n kernelInvocation: RegisteredKernelInvocation|\n CustomGradKernelInvocation):\n kernelInvocation is RegisteredKernelInvocation {\n return (kernelInvocation as RegisteredKernelInvocation).kernelName != null;\n}\n\nclass EngineState {\n // Public since optimizers will use it.\n registeredVariables: NamedVariableMap = {};\n\n nextTapeNodeId = 0;\n numBytes = 0;\n numTensors = 0;\n numStringTensors = 0;\n numDataBuffers = 0;\n\n activeTape: TapeNode[];\n // Number of nested tf.grad() statements when computing higher-order\n // gradients. E.g. `1` for first-order gradients and `2` for second-order\n // gradients. Used to track if the tape should be removed after a backprop.\n gradientDepth = 0;\n // Number of nested kernel calls. When kernel depth is greater than 1, we turn\n // off the tape.\n kernelDepth = 0;\n\n // Keep Tensors that parallel the tapes.\n activeScope: ScopeState;\n scopeStack: ScopeState[] = [];\n /**\n * Keeps track of the number of data moves during a kernel execution. We\n * maintain a stack since kernels can call other kernels, recursively.\n */\n numDataMovesStack: number[] = [];\n nextScopeId = 0;\n\n tensorInfo = new WeakMap();\n\n profiling = false;\n activeProfile: ProfileInfo = {\n newBytes: 0,\n newTensors: 0,\n peakBytes: 0,\n kernels: [],\n result: null,\n get kernelNames():\n string[] {\n return Array.from(new Set(this.kernels.map(k => k.name)));\n }\n };\n\n dispose() {\n for (const variableName in this.registeredVariables) {\n this.registeredVariables[variableName].dispose();\n }\n }\n}\n\nexport class Engine implements TensorTracker, DataMover {\n state: EngineState;\n backendName: string;\n registry: {[id: string]: KernelBackend} = {};\n registryFactory: {\n [id: string]: {\n factory: () => KernelBackend | Promise,\n priority: number\n }\n } = {};\n\n private profiler: Profiler;\n private backendInstance: KernelBackend;\n private pendingBackendInit: Promise;\n private pendingBackendInitId = 0;\n\n constructor(public ENV: Environment) {\n this.state = new EngineState();\n }\n\n async ready(): Promise {\n if (this.pendingBackendInit != null) {\n return this.pendingBackendInit.then(() => {});\n }\n if (this.backendInstance != null) {\n return;\n }\n const sortedBackends = this.getSortedBackends();\n\n for (let i = 0; i < sortedBackends.length; i++) {\n const backendName = sortedBackends[i];\n const success = await this.initializeBackend(backendName).success;\n if (success) {\n await this.setBackend(backendName);\n return;\n }\n }\n\n throw new Error(\n `Could not initialize any backends, all backend initializations ` +\n `failed.`);\n }\n\n get backend(): KernelBackend {\n if (this.pendingBackendInit != null) {\n throw new Error(\n `Backend '${this.backendName}' has not yet been initialized. Make ` +\n `sure to await tf.ready() or await tf.setBackend() before calling ` +\n `other methods`);\n }\n if (this.backendInstance == null) {\n const {name, asyncInit} = this.initializeBackendsAndReturnBest();\n if (asyncInit) {\n throw new Error(\n `The highest priority backend '${name}' has not yet been ` +\n `initialized. Make sure to await tf.ready() or ` +\n `await tf.setBackend() before calling other methods`);\n }\n this.setBackend(name);\n }\n return this.backendInstance;\n }\n\n backendNames(): string[] {\n return Object.keys(this.registryFactory);\n }\n\n findBackend(backendName: string): KernelBackend {\n if (!(backendName in this.registry)) {\n // If the backend hasn't been initialized but we have a registry entry for\n // it, initialize it and return it.\n if (backendName in this.registryFactory) {\n const {asyncInit} = this.initializeBackend(backendName);\n if (asyncInit) {\n // Backend is not ready yet.\n return null;\n }\n } else {\n return null;\n }\n }\n return this.registry[backendName];\n }\n\n findBackendFactory(backendName: string):\n () => KernelBackend | Promise {\n if (!(backendName in this.registryFactory)) {\n return null;\n }\n return this.registryFactory[backendName].factory;\n }\n\n registerBackend(\n backendName: string,\n factory: () => KernelBackend | Promise,\n priority = 1): boolean {\n if (backendName in this.registryFactory) {\n console.warn(\n `${backendName} backend was already registered. ` +\n `Reusing existing backend factory.`);\n return false;\n }\n this.registryFactory[backendName] = {factory, priority};\n return true;\n }\n\n async setBackend(backendName: string): Promise {\n if (this.registryFactory[backendName] == null) {\n throw new Error(`Backend name '${backendName}' not found in registry`);\n }\n this.backendName = backendName;\n if (this.registry[backendName] == null) {\n this.backendInstance = null;\n const {success, asyncInit} = this.initializeBackend(backendName);\n const result = asyncInit ? await success : success;\n if (!result) {\n return false;\n }\n }\n this.backendInstance = this.registry[backendName];\n this.setupRegisteredKernels();\n // Reset the profiler.\n this.profiler = new Profiler(this.backendInstance);\n\n return true;\n }\n\n private setupRegisteredKernels(): void {\n const kernels = getKernelsForBackend(this.backendName);\n kernels.forEach(kernel => {\n if (kernel.setupFunc != null) {\n kernel.setupFunc(this.backendInstance);\n }\n });\n }\n\n private disposeRegisteredKernels(backendName: string): void {\n const kernels = getKernelsForBackend(backendName);\n kernels.forEach(kernel => {\n if (kernel.disposeFunc != null) {\n kernel.disposeFunc(this.registry[backendName]);\n }\n });\n }\n\n /**\n * Initializes a backend by looking up the backend name in the factory\n * registry and calling the factory method. Returns a boolean representing\n * whether the initialization of the backend suceeded. Throws an error if\n * there is no backend in the factory registry.\n */\n private initializeBackend(backendName: string):\n {success: boolean|Promise, asyncInit: boolean} {\n const registryFactoryEntry = this.registryFactory[backendName];\n if (registryFactoryEntry == null) {\n throw new Error(\n `Cannot initialize backend ${backendName}, no registration found.`);\n }\n\n try {\n const backend = registryFactoryEntry.factory();\n /* Test if the factory returns a promise.\n Done in a more liberal way than\n previous 'Promise.resolve(backend)===backend'\n as we needed to account for custom Promise\n implementations (e.g. Angular) */\n if (backend && !(backend instanceof KernelBackend) &&\n typeof backend.then === 'function') {\n const promiseId = ++this.pendingBackendInitId;\n const success =\n backend\n .then(backendInstance => {\n // Outdated promise. Another backend was set in the meantime.\n if (promiseId < this.pendingBackendInitId) {\n return false;\n }\n this.registry[backendName] = backendInstance;\n this.pendingBackendInit = null;\n return true;\n })\n .catch(err => {\n // Outdated promise. Another backend was set in the meantime.\n if (promiseId < this.pendingBackendInitId) {\n return false;\n }\n this.pendingBackendInit = null;\n console.warn(\n `Initialization of backend ${backendName} failed`);\n console.warn(err.stack || err.message);\n return false;\n });\n this.pendingBackendInit = success;\n return {success, asyncInit: true};\n } else {\n this.registry[backendName] = backend as KernelBackend;\n return {success: true, asyncInit: false};\n }\n } catch (err) {\n console.warn(`Initialization of backend ${backendName} failed`);\n console.warn(err.stack || err.message);\n return {success: false, asyncInit: false};\n }\n }\n\n removeBackend(backendName: string): void {\n if (!(backendName in this.registryFactory)) {\n throw new Error(`${backendName} backend not found in registry`);\n }\n if (this.backendName === backendName && this.pendingBackendInit != null) {\n // There is a pending promise of the backend we want to remove. Make it\n // obsolete.\n this.pendingBackendInitId++;\n }\n\n if (backendName in this.registry) {\n this.disposeRegisteredKernels(backendName);\n this.registry[backendName].dispose();\n delete this.registry[backendName];\n }\n\n delete this.registryFactory[backendName];\n\n // Unset the backend if it is active.\n if (this.backendName === backendName) {\n this.pendingBackendInit = null;\n this.backendName = null;\n this.backendInstance = null;\n }\n }\n\n private getSortedBackends(): string[] {\n if (Object.keys(this.registryFactory).length === 0) {\n throw new Error('No backend found in registry.');\n }\n return Object.keys(this.registryFactory).sort((a: string, b: string) => {\n // Highest priority comes first.\n return this.registryFactory[b].priority -\n this.registryFactory[a].priority;\n });\n }\n\n private initializeBackendsAndReturnBest():\n {name: string, asyncInit: boolean} {\n const sortedBackends = this.getSortedBackends();\n\n for (let i = 0; i < sortedBackends.length; i++) {\n const backendName = sortedBackends[i];\n const {success, asyncInit} = this.initializeBackend(backendName);\n if (asyncInit || success) {\n return {name: backendName, asyncInit};\n }\n }\n throw new Error(\n `Could not initialize any backends, all backend initializations ` +\n `failed.`);\n }\n\n moveData(backend: KernelBackend, dataId: DataId) {\n const info = this.state.tensorInfo.get(dataId);\n const srcBackend = info.backend;\n const values = this.readSync(dataId);\n const refCount = srcBackend.refCount(dataId);\n // Delete the tensor from the old backend and move it to the new\n // backend.\n srcBackend.disposeData(dataId, true);\n info.backend = backend;\n backend.move(dataId, values, info.shape, info.dtype, refCount);\n if (this.shouldCheckForMemLeaks()) {\n // Track the number of moves during a kernel execution to correctly\n // detect memory leaks.\n this.state.numDataMovesStack[this.state.numDataMovesStack.length - 1]++;\n }\n }\n\n tidy(nameOrFn: string|ScopeFn, fn?: ScopeFn):\n T {\n let name: string = null;\n if (fn == null) {\n // Called with only 1 argument.\n if (typeof nameOrFn !== 'function') {\n throw new Error('Please provide a function to tidy()');\n }\n fn = nameOrFn;\n } else {\n // Called with 2 arguments.\n if (typeof nameOrFn !== 'string' && !(nameOrFn instanceof String)) {\n throw new Error(\n 'When calling with two arguments, the first argument ' +\n 'to tidy() must be a string');\n }\n if (typeof fn !== 'function') {\n throw new Error(\n 'When calling with two arguments, the 2nd argument ' +\n 'to tidy() must be a function');\n }\n name = nameOrFn as string;\n // TODO(nsthorat,smilkov): Do operation logging and performance\n // profiling.\n }\n let result: T;\n return this.scopedRun(\n () => this.startScope(name), () => this.endScope(result), () => {\n result = fn();\n if (result instanceof Promise) {\n console.error('Cannot return a Promise inside of tidy.');\n }\n return result;\n });\n }\n\n private scopedRun(start: () => void, end: () => void, f: () => T): T {\n start();\n try {\n const res = f();\n end();\n return res;\n } catch (ex) {\n end();\n throw ex;\n }\n }\n\n private static nextTensorId = 0;\n private nextTensorId(): number {\n return Engine.nextTensorId++;\n }\n\n private static nextVariableId = 0;\n private nextVariableId(): number {\n return Engine.nextVariableId++;\n }\n\n /**\n * This method is called instead of the public-facing tensor.clone() when\n * saving a tensor for backwards pass. It makes sure to add the clone\n * operation to the tape regardless of being called inside a kernel\n * execution.\n */\n private clone(x: Tensor): Tensor {\n const y: Tensor = ENGINE.runKernel(Identity, {x} as {} as NamedTensorMap);\n const inputs = {x};\n const grad = (dy: Tensor) => ({\n x: () => {\n const dtype = 'float32';\n const gradInputs = {x: dy};\n const attrs = {dtype};\n\n return ENGINE.runKernel(\n Cast, gradInputs as {} as NamedTensorMap,\n // tslint:disable-next-line: no-unnecessary-type-assertion\n attrs as {} as NamedAttrMap) as Tensor;\n }\n });\n const saved: Tensor[] = [];\n this.addTapeNode(this.state.activeScope.name, inputs, [y], grad, saved, {});\n return y;\n }\n\n /**\n * Execute a kernel with the given name and return the output tensor.\n *\n * @param kernelName The name of the kernel to execute.\n * @param inputs A map of input names to tensors.\n * @param attrs A map of attribute names to their values. An attribute is a\n * primitive (non-tensor) input to the kernel.\n * @param inputsToSave A list of tensors, inputs to save for the backprop\n * computation.\n * @param outputsToSave A list of booleans, specifying which output to save\n * for the backprop computation. These are booleans since the output\n * tensors are not visible to the user.\n */\n runKernel(\n kernelName: string, inputs: NamedTensorMap, attrs?: NamedAttrMap): T {\n if (this.backendName == null) {\n // backend has not been initialized yet (backend initialization is lazy\n // can be deferred until an op/ kernel is run).\n // The below getter has side effects that will try to initialize the\n // backend and set properties like this.backendName\n // tslint:disable-next-line: no-unused-expression\n this.backend;\n }\n const hasKernel = getKernel(kernelName, this.backendName) != null;\n if (!hasKernel) {\n throw new Error(`Kernel '${kernelName}' not registered for backend '${\n this.backendName}'`);\n }\n return this.runKernelFunc({kernelName, inputs, attrs});\n }\n\n private shouldCheckForMemLeaks(): boolean {\n return this.ENV.getBool('IS_TEST');\n }\n\n private checkKernelForMemLeak(\n kernelName: string, numDataIdsBefore: number,\n outInfos: TensorInfo[]): void {\n const numDataIdsAfter = this.backend.numDataIds();\n\n // Count the number of data ids associated with the result of the kernel.\n let numOutputDataIds = 0;\n outInfos.forEach(info => {\n // Complex numbers allocate 3 data ids, one for 'real', one for\n // 'imaginary', and one for the container that holds the former two.\n numOutputDataIds += (info.dtype === 'complex64' ? 3 : 1);\n });\n\n // Account for the number of moves during kernel execution. A \"data move\"\n // can happen in the middle of a kernel execution, placing a new (key,value)\n // pair in the data storage. Since data moves have net zero effect (we\n // always remove the data from the old backend), we have to cancel them out\n // when detecting memory leaks.\n const numMoves =\n this.state.numDataMovesStack[this.state.numDataMovesStack.length - 1];\n const dataIdsLeaked =\n numDataIdsAfter - numDataIdsBefore - numOutputDataIds - numMoves;\n if (dataIdsLeaked > 0) {\n throw new Error(\n `Backend '${this.backendName}' has an internal memory leak ` +\n `(${dataIdsLeaked} data ids) after running '${kernelName}'`);\n }\n }\n\n /**\n * Internal helper method to execute a kernel Func\n *\n * Use `runKernel` to execute kernels from outside of engine.\n */\n private runKernelFunc(\n kernelParams: RegisteredKernelInvocation|\n CustomGradKernelInvocation): T {\n let outputs: Tensor[];\n let saved: Tensor[] = [];\n const isTapeOn = this.isTapeOn();\n\n const startingBytecount = this.state.numBytes;\n const startingNumTensors = this.state.numTensors;\n\n if (this.shouldCheckForMemLeaks()) {\n this.state.numDataMovesStack.push(0);\n }\n\n let kernelFunc: () => Tensor[];\n if (this.backendName == null) {\n // backend has not been initialized yet (backend initialization is lazy\n // can be deferred until an op/ kernel is run).\n // The below getter has side effects that will try to initialize the\n // backend and set properties like this.backendName\n // tslint:disable-next-line: no-unused-expression\n this.backend;\n }\n\n let out: TensorInfo|TensorInfo[];\n\n const kernelOrScopeName = isRegisteredKernelInvocation(kernelParams) ?\n kernelParams.kernelName :\n this.state.activeScope != null ? this.state.activeScope.name : '';\n\n // Create the kernelFunc from either a registered kernel OR passed in\n // forward/backward functions (used by custom grad). In this context a\n // kernelFunc wraps a kernel implementation with some bookkeeping.\n\n if (isRegisteredKernelInvocation(kernelParams)) {\n const {kernelName, inputs, attrs} = kernelParams;\n if (this.backendName == null) {\n // backend has not been initialized yet (backend initialization is lazy\n // can be deferred until an op/ kernel is run).\n // The below getter has side effects that will try to initialize the\n // backend and set properties like this.backendName\n // tslint:disable-next-line: no-unused-expression\n this.backend;\n }\n const kernel = getKernel(kernelName, this.backendName);\n util.assert(\n kernel != null,\n () => `Cannot find registered kernel '${kernelName}' for backend '${\n this.backendName}'`);\n\n kernelFunc = () => {\n const numDataIdsBefore = this.backend.numDataIds();\n out = kernel.kernelFunc({inputs, attrs, backend: this.backend});\n const outInfos = Array.isArray(out) ? out : [out];\n if (this.shouldCheckForMemLeaks()) {\n this.checkKernelForMemLeak(kernelName, numDataIdsBefore, outInfos);\n }\n\n const outTensors = outInfos.map((outInfo: TensorInfo|Tensor) => {\n // todo (yassogba) remove this option (Tensor) when node backend\n // methods have been modularized and they all return tensorInfo.\n // TensorInfos do not have a rank attribute.\n if ((outInfo as Tensor).rank != null) {\n return outInfo as Tensor;\n }\n const {dataId, shape, dtype} = outInfo as TensorInfo;\n return this.makeTensorFromDataId(dataId, shape, dtype);\n });\n\n // Save any required inputs and outputs.\n\n // Do not save unless we are recording to the tape. Otherwise it would\n // cause a mem leak since there would be no backprop for these tensors\n // (which would otherwise dispose them).\n if (isTapeOn) {\n const tensorsToSave =\n this.getTensorsForGradient(kernelName, inputs, outTensors);\n saved = this.saveTensorsForBackwardMode(tensorsToSave);\n }\n return outTensors;\n };\n } else {\n const {forwardFunc} = kernelParams;\n // Running a customGrad op.\n const saveFunc: GradSaveFunc = (tensors) => {\n // Do not save unless we are recording to the tape. Otherwise it would\n // cause a mem leak since we would never run backprop, which disposes\n // the kept tensors.\n if (!isTapeOn) {\n return;\n }\n saved = tensors.map(tensor => this.keep(this.clone(tensor)));\n };\n\n kernelFunc = () => {\n const numDataIdsBefore = this.backend.numDataIds();\n out = this.tidy(() => forwardFunc(this.backend, saveFunc));\n const outs = (Array.isArray(out) ? out : [out]) as Tensor[];\n if (this.shouldCheckForMemLeaks()) {\n // Scope name is used to print a more helpful error message if needed.\n this.checkKernelForMemLeak(kernelOrScopeName, numDataIdsBefore, outs);\n }\n return outs;\n };\n }\n\n //\n // Run the kernelFunc. Optionally profiling it.\n //\n const {inputs, attrs} = kernelParams;\n const backwardsFunc = isRegisteredKernelInvocation(kernelParams) ?\n null :\n kernelParams.backwardsFunc;\n\n let kernelProfile: KernelProfile;\n this.scopedRun(\n // Stop recording to a tape when running a kernel.\n () => this.state.kernelDepth++, () => this.state.kernelDepth--, () => {\n if (!this.ENV.getBool('DEBUG') && !this.state.profiling) {\n outputs = kernelFunc();\n } else {\n kernelProfile = this.profiler.profileKernel(\n kernelOrScopeName, inputs, () => kernelFunc());\n if (this.ENV.getBool('DEBUG')) {\n this.profiler.logKernelProfile(kernelProfile);\n }\n outputs = kernelProfile.outputs;\n }\n });\n\n if (isTapeOn) {\n this.addTapeNode(\n kernelOrScopeName, inputs, outputs, backwardsFunc, saved, attrs);\n }\n\n if (this.state.profiling) {\n this.state.activeProfile.kernels.push({\n name: kernelOrScopeName,\n bytesAdded: this.state.numBytes - startingBytecount,\n totalBytesSnapshot: this.state.numBytes,\n tensorsAdded: this.state.numTensors - startingNumTensors,\n totalTensorsSnapshot: this.state.numTensors,\n inputShapes: Object.keys(inputs).map(\n key => inputs[key] != null ? inputs[key].shape : null),\n outputShapes: outputs.map(item => item.shape),\n kernelTimeMs: kernelProfile.timeMs,\n extraInfo: kernelProfile.extraInfo\n });\n }\n return (Array.isArray(out) ? outputs : outputs[0]) as T;\n }\n\n /**\n * Saves tensors used in forward mode for use in backward mode.\n *\n * @param tensors the list of tensors to save.\n */\n private saveTensorsForBackwardMode(tensors: Tensor[]): Tensor[] {\n const saved = tensors.map(tensor => this.keep(this.clone(tensor)));\n return saved;\n }\n\n /**\n * Returns a list of tensors to save for a given gradient calculation.\n *\n * @param kernelName name of kernel to look up gradient for.\n * @param inputs a map of input tensors.\n * @param outputs an array of output tensors from forward mode of kernel.\n */\n private getTensorsForGradient(\n kernelName: string, inputs: NamedTensorMap,\n outputs: Tensor[]): Tensor[]|null {\n const gradConfig = getGradient(kernelName);\n if (gradConfig != null) {\n const inputsToSave: string[] = gradConfig.inputsToSave || [];\n const outputsToSave: boolean[] = gradConfig.outputsToSave || [];\n\n // If saveAllInputs is true, all inputs will be saved. Otherwise, inputs\n // specified in inputsToSave will be saved.\n let inputTensorsToSave: Tensor[];\n if (gradConfig.saveAllInputs) {\n util.assert(\n Array.isArray(inputs),\n () => 'saveAllInputs is true, expected inputs to be an array.');\n\n inputTensorsToSave = Object.keys(inputs).map((key) => inputs[key]);\n } else {\n inputTensorsToSave = inputsToSave.map((inputName) => inputs[inputName]);\n }\n\n const outputTensorsToSave: Tensor[] =\n outputs.filter((_, i) => outputsToSave[i]);\n\n return inputTensorsToSave.concat(outputTensorsToSave);\n }\n // We return an empty list rather than throw an error because the kernel we\n // are looking up may not actually be relevant to backproping through the\n // overall function\n //\n // See 'does not error if irrelevant (pruned) ops are missing grads' test\n // in gradients_test.ts for an example.\n return [];\n }\n\n /**\n * Internal method used by public APIs for tensor creation. Makes a new\n * tensor with the provided shape, dtype and values. It always\n * creates a new data id and writes the values to the underlying backend.\n */\n makeTensor(\n values: DataValues, shape: number[], dtype: DataType,\n backend?: KernelBackend): Tensor {\n if (values == null) {\n throw new Error('Values passed to engine.makeTensor() are null');\n }\n dtype = dtype || 'float32';\n backend = backend || this.backend;\n let backendVals = values as BackendValues;\n if (dtype === 'string' && util.isString(values[0])) {\n backendVals = (values as string[]).map(d => util.encodeString(d));\n }\n const dataId = backend.write(backendVals, shape, dtype);\n const t = new Tensor(shape, dtype, dataId, this.nextTensorId());\n this.trackTensor(t, backend);\n\n // Count bytes for string tensors.\n if (dtype === 'string') {\n const info = this.state.tensorInfo.get(dataId);\n const newBytes = bytesFromStringArray(backendVals as Uint8Array[]);\n this.state.numBytes += newBytes - info.bytes;\n info.bytes = newBytes;\n }\n return t;\n }\n\n /**\n * Internal method used by backends. Makes a new tensor\n * that is a wrapper around an existing data id. It doesn't create\n * a new data id, only increments the ref count used in memory tracking.\n */\n makeTensorFromDataId(\n dataId: DataId, shape: number[], dtype: DataType,\n backend?: KernelBackend): Tensor {\n dtype = dtype || 'float32';\n const t = new Tensor(shape, dtype, dataId, this.nextTensorId());\n this.trackTensor(t, backend);\n return t;\n }\n\n makeVariable(\n initialValue: Tensor, trainable = true, name?: string,\n dtype?: DataType): Variable {\n name = name || this.nextVariableId().toString();\n if (dtype != null && dtype !== initialValue.dtype) {\n initialValue = initialValue.cast(dtype);\n }\n const v = new Variable(initialValue, trainable, name, this.nextTensorId());\n if (this.state.registeredVariables[v.name] != null) {\n throw new Error(`Variable with name ${v.name} was already registered`);\n }\n this.state.registeredVariables[v.name] = v;\n this.incRef(v, this.backend);\n return v;\n }\n\n trackTensor(a: Tensor, backend: KernelBackend): void {\n this.state.numTensors++;\n if (a.dtype === 'string') {\n this.state.numStringTensors++;\n }\n // Bytes for complex numbers are counted by their components. Bytes for\n // string tensors are counted when writing values.\n let bytes = 0;\n if (a.dtype !== 'complex64' && a.dtype !== 'string') {\n bytes = a.size * util.bytesPerElement(a.dtype);\n }\n this.state.numBytes += bytes;\n\n if (!this.state.tensorInfo.has(a.dataId)) {\n this.state.numDataBuffers++;\n this.state.tensorInfo.set(a.dataId, {\n backend: backend || this.backend,\n dtype: a.dtype,\n shape: a.shape,\n bytes\n });\n }\n\n if (!(a instanceof Variable)) {\n this.track(a);\n }\n }\n\n // Track the tensor by dataId and increase the refCount for the dataId in the\n // backend.\n // TODO(pyu10055): This is currently used by makeVariable method, to increase\n // refCount on the backend for the dataId. It can potentially be replaced with\n // Identity op indead of calling backend directly.\n incRef(a: Tensor, backend: KernelBackend): void {\n this.trackTensor(a, backend);\n this.backend.incRef(a.dataId);\n }\n\n removeDataId(dataId: DataId, backend: KernelBackend) {\n if (this.state.tensorInfo.has(dataId) &&\n this.state.tensorInfo.get(dataId).backend === backend) {\n this.state.tensorInfo.delete(dataId);\n this.state.numDataBuffers--;\n }\n }\n disposeTensor(a: Tensor): void {\n if (!this.state.tensorInfo.has(a.dataId)) {\n return;\n }\n const info = this.state.tensorInfo.get(a.dataId);\n\n this.state.numTensors--;\n if (a.dtype === 'string') {\n this.state.numStringTensors--;\n this.state.numBytes -= info.bytes;\n }\n // Don't count bytes for complex numbers as they are counted by their\n // components.\n if (a.dtype !== 'complex64' && a.dtype !== 'string') {\n const bytes = a.size * util.bytesPerElement(a.dtype);\n this.state.numBytes -= bytes;\n }\n\n // Remove the reference to dataId if backend dispose the data successfully\n if (info.backend.disposeData(a.dataId)) {\n this.removeDataId(a.dataId, info.backend);\n }\n\n // TODO(nsthorat): Construct an error and save the stack trace for\n // debugging when in debug mode. Creating a stack trace is too expensive\n // to do unconditionally.\n }\n\n disposeVariables(): void {\n for (const varName in this.state.registeredVariables) {\n const v = this.state.registeredVariables[varName];\n this.disposeVariable(v);\n }\n }\n\n disposeVariable(v: Variable): void {\n this.disposeTensor(v);\n if (this.state.registeredVariables[v.name] != null) {\n delete this.state.registeredVariables[v.name];\n }\n }\n\n memory(): MemoryInfo {\n const info = this.backend.memory() as MemoryInfo;\n info.numTensors = this.state.numTensors;\n info.numDataBuffers = this.state.numDataBuffers;\n info.numBytes = this.state.numBytes;\n if (this.state.numStringTensors > 0) {\n info.unreliable = true;\n if (info.reasons == null) {\n info.reasons = [];\n }\n info.reasons.push(\n 'Memory usage by string tensors is approximate ' +\n '(2 bytes per character)');\n }\n return info;\n }\n\n async profile(query: () => (TensorContainer | Promise)):\n Promise {\n this.state.profiling = true;\n\n const startBytes = this.state.numBytes;\n const startNumTensors = this.state.numTensors;\n\n this.state.activeProfile.kernels = [];\n this.state.activeProfile.result = await query();\n\n this.state.profiling = false;\n\n this.state.activeProfile.peakBytes = Math.max(\n ...this.state.activeProfile.kernels.map(d => d.totalBytesSnapshot));\n this.state.activeProfile.newBytes = this.state.numBytes - startBytes;\n this.state.activeProfile.newTensors =\n this.state.numTensors - startNumTensors;\n for (const kernel of this.state.activeProfile.kernels) {\n kernel.kernelTimeMs = await kernel.kernelTimeMs;\n kernel.extraInfo = await kernel.extraInfo;\n }\n return this.state.activeProfile;\n }\n\n isTapeOn(): boolean {\n return this.state.gradientDepth > 0 && this.state.kernelDepth === 0;\n }\n\n private addTapeNode(\n kernelName: string, inputs: NamedTensorMap, outputs: Tensor[],\n gradientsFunc: GradFunc, saved: Tensor[], attrs: NamedAttrMap): void {\n const tapeNode: TapeNode =\n {id: this.state.nextTapeNodeId++, kernelName, inputs, outputs, saved};\n\n const gradConfig = getGradient(kernelName);\n if (gradConfig != null) {\n gradientsFunc = gradConfig.gradFunc;\n }\n if (gradientsFunc != null) {\n tapeNode.gradient = (dys: Tensor[]) => {\n // TODO(smilkov): To optimize back-prop, pass dys that are not used in\n // the backprop graph to the user as null instead of zeros\n dys = dys.map((dy, i) => {\n if (dy == null) {\n const output = outputs[i];\n const vals = util.makeZerosTypedArray(output.size, output.dtype);\n return this.makeTensor(vals, output.shape, output.dtype);\n }\n return dy;\n });\n // Grad functions of ops with single outputs expect a dy, while ops\n // with multiple outputs expect dys (array of dy).\n return gradientsFunc(dys.length > 1 ? dys : dys[0], saved, attrs);\n };\n }\n this.state.activeTape.push(tapeNode);\n }\n\n keep(result: T): T {\n result.kept = true;\n return result;\n }\n\n private startTape() {\n if (this.state.gradientDepth === 0) {\n this.state.activeTape = [];\n }\n this.state.gradientDepth++;\n }\n\n private endTape() {\n this.state.gradientDepth--;\n }\n\n /**\n * Start a scope. Use this with endScope() to achieve the same functionality\n * as scope() without the need for a function closure.\n */\n startScope(name?: string) {\n const scopeInfo: ScopeState = {\n track: [],\n name: 'unnamed scope',\n id: this.state.nextScopeId++\n };\n if (name) {\n scopeInfo.name = name;\n }\n this.state.scopeStack.push(scopeInfo);\n this.state.activeScope = scopeInfo;\n }\n\n /**\n * End a scope. Use this with startScope() to achieve the same functionality\n * as scope() without the need for a function closure.\n */\n endScope(result?: TensorContainer) {\n const tensorsToTrackInParent = getTensorsInContainer(result);\n const tensorsToTrackInParentSet =\n new Set(tensorsToTrackInParent.map(t => t.id));\n\n // Dispose the arrays tracked in this scope.\n for (let i = 0; i < this.state.activeScope.track.length; i++) {\n const tensor = this.state.activeScope.track[i];\n if (!tensor.kept && !tensorsToTrackInParentSet.has(tensor.id)) {\n tensor.dispose();\n }\n }\n\n const oldScope = this.state.scopeStack.pop();\n this.state.activeScope = this.state.scopeStack.length === 0 ?\n null :\n this.state.scopeStack[this.state.scopeStack.length - 1];\n\n // Track the current result in the parent scope.\n tensorsToTrackInParent.forEach(tensor => {\n // Only track the tensor if was allocated in the inner scope and is not\n // globally kept.\n if (!tensor.kept && tensor.scopeId === oldScope.id) {\n this.track(tensor);\n }\n });\n }\n\n /**\n * Returns gradients of `f` with respect to each of the `xs`. The gradients\n * returned are of the same length as `xs`, but some might be null if `f`\n * was not a function of that `x`. It also takes optional dy to multiply the\n * gradient, which defaults to `1`.\n */\n gradients(\n f: () => T, xs: Tensor[], dy?: T,\n allowNoGradients = false): {value: T, grads: Tensor[]} {\n util.assert(\n xs.length > 0, () => 'gradients() received an empty list of xs.');\n if (dy != null && dy.dtype !== 'float32') {\n throw new Error(`dy must have 'float32' dtype, but has '${dy.dtype}'`);\n }\n\n const y = this.scopedRun(\n () => this.startTape(), () => this.endTape(),\n () => this.tidy('forward', f));\n\n util.assert(\n y instanceof Tensor,\n () => 'The result y returned by f() must be a tensor.');\n // Filter out the nodes that don't connect x => y.\n const filteredTape = getFilteredNodesXToY(this.state.activeTape, xs, y);\n if (!allowNoGradients && filteredTape.length === 0 && xs.length > 0) {\n throw new Error(\n 'Cannot compute gradient of y=f(x) with respect to x. Make sure ' +\n 'that the f you passed encloses all operations that lead from x ' +\n 'to y.');\n }\n\n return this.tidy('backward', () => {\n const accumulatedGradientMap: {[tensorId: number]: Tensor} = {};\n accumulatedGradientMap[y.id] = (dy == null) ? ones(y.shape) : dy;\n\n // Backprop gradients through the filtered nodes.\n backpropagateGradients(\n accumulatedGradientMap, filteredTape,\n // Pass the tidy function to avoid circular dep with `tape.ts`.\n f => this.tidy(f as ScopeFn),\n // Pass an add function to avoide a circular dep with `tape.ts`.\n add);\n const grads = xs.map(x => accumulatedGradientMap[x.id]);\n\n if (this.state.gradientDepth === 0) {\n // This means that we are not computing higher-order gradients\n // and can clean up the tape.\n this.state.activeTape.forEach(node => {\n for (const tensor of node.saved) {\n tensor.dispose();\n }\n });\n this.state.activeTape = null;\n }\n return {value: y, grads};\n });\n }\n\n customGrad(f: CustomGradientFunc):\n (...args: Array) => T {\n util.assert(\n util.isFunction(f),\n () => 'The f passed in customGrad(f) must be a function.');\n return (...inputs: Tensor[]): T => {\n util.assert(\n inputs.every(t => t instanceof Tensor),\n () => 'The args passed in customGrad(f)(x1, x2,...) must all be ' +\n 'tensors');\n\n let res: {\n value: T,\n gradFunc: (dy: T, saved: Tensor[]) => Tensor | Tensor[],\n };\n const inputMap: NamedTensorMap = {};\n inputs.forEach((input, i) => {\n inputMap[i] = input;\n });\n\n const forwardFunc: ForwardFunc = (_, save) => {\n res = f(...[...inputs, save]);\n util.assert(\n res.value instanceof Tensor,\n () => 'The function f passed in customGrad(f) must return an ' +\n 'object where `obj.value` is a tensor');\n util.assert(\n util.isFunction(res.gradFunc),\n () => 'The function f passed in customGrad(f) must return an ' +\n 'object where `obj.gradFunc` is a function.');\n return res.value;\n };\n\n const backwardsFunc = (dy: T, saved: Tensor[]) => {\n const gradRes = res.gradFunc(dy, saved);\n const grads: Tensor[] = Array.isArray(gradRes) ? gradRes : [gradRes];\n util.assert(\n grads.length === inputs.length,\n () => 'The function f passed in customGrad(f) must return an ' +\n 'object where `obj.gradFunc` is a function that returns ' +\n 'the same number of tensors as inputs passed to f(...).');\n util.assert(\n grads.every(t => t instanceof Tensor),\n () => 'The function f passed in customGrad(f) must return an ' +\n 'object where `obj.gradFunc` is a function that returns ' +\n 'a list of only tensors.');\n const gradMap: {[key: string]: () => Tensor} = {};\n grads.forEach((grad, i) => {\n gradMap[i] = () => grad;\n });\n return gradMap;\n };\n\n return this.runKernelFunc({\n forwardFunc,\n backwardsFunc,\n inputs: inputMap,\n });\n };\n }\n\n readSync(dataId: DataId): BackendValues {\n // Route the read to the correct backend.\n const info = this.state.tensorInfo.get(dataId);\n return info.backend.readSync(dataId);\n }\n read(dataId: DataId): Promise {\n // Route the read to the correct backend.\n const info = this.state.tensorInfo.get(dataId);\n return info.backend.read(dataId);\n }\n\n async time(query: () => void): Promise