@openmrs/esm-styleguide 5.7.2-pre.2101 → 5.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"openmrs-esm-styleguide.js","mappings":"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","sources":["webpack://@openmrs/esm-styleguide/../../../node_modules/classnames/index.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/geopattern.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/lib/color.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/lib/pattern.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/lib/sha1.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/lib/svg.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/lib/xml.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/node_modules/extend/index.js","webpack://@openmrs/esm-styleguide/../../../node_modules/react-dom/client.js","webpack://@openmrs/esm-styleguide/../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","webpack://@openmrs/esm-styleguide/../../../node_modules/use-sync-external-store/shim/index.js","webpack://@openmrs/esm-styleguide/../esm-api/dist/openmrs-esm-api.js","webpack://@openmrs/esm-styleguide/../esm-config/dist/openmrs-esm-module-config.js","webpack://@openmrs/esm-styleguide/external system \"@openmrs/esm-error-handling\"","webpack://@openmrs/esm-styleguide/external system \"@openmrs/esm-extensions\"","webpack://@openmrs/esm-styleguide/external system \"@openmrs/esm-navigation\"","webpack://@openmrs/esm-styleguide/external system \"@openmrs/esm-react-utils\"","webpack://@openmrs/esm-styleguide/external system \"@openmrs/esm-state\"","webpack://@openmrs/esm-styleguide/external system \"@openmrs/esm-translations\"","webpack://@openmrs/esm-styleguide/external system \"dayjs\"","webpack://@openmrs/esm-styleguide/external system \"react\"","webpack://@openmrs/esm-styleguide/external system \"react-dom\"","webpack://@openmrs/esm-styleguide/external system \"rxjs\"","webpack://@openmrs/esm-styleguide/webpack/bootstrap","webpack://@openmrs/esm-styleguide/webpack/runtime/global","webpack://@openmrs/esm-styleguide/webpack/runtime/make namespace object","webpack://@openmrs/esm-styleguide/./src/svg-utils.ts","webpack://@openmrs/esm-styleguide/./src/config-schema.ts","webpack://@openmrs/esm-styleguide/./src/breakpoints/index.ts","webpack://@openmrs/esm-styleguide/../../../node_modules/@carbon/feature-flags/es/index.js","webpack://@openmrs/esm-styleguide/../../../node_modules/single-spa/lib/es2015/esm/single-spa.min.js","webpack://@openmrs/esm-styleguide/../../../node_modules/@carbon/react/es/feature-flags.js","webpack://@openmrs/esm-styleguide/./src/notifications/index.tsx","webpack://@openmrs/esm-styleguide/./src/toasts/index.tsx","webpack://@openmrs/esm-styleguide/./src/snackbars/index.tsx","webpack://@openmrs/esm-styleguide/./src/modals/index.tsx","webpack://@openmrs/esm-styleguide/./src/workspaces/workspaces.ts","webpack://@openmrs/esm-styleguide/../../../node_modules/single-spa-react/lib/esm/single-spa-react.js","webpack://@openmrs/esm-styleguide/../../../node_modules/single-spa-react/lib/esm/parcel.js","webpack://@openmrs/esm-styleguide/./src/left-nav/index.tsx","webpack://@openmrs/esm-styleguide/../../../node_modules/swr/_internal/dist/index.mjs","webpack://@openmrs/esm-styleguide/../../../node_modules/swr/core/dist/index.mjs","webpack://@openmrs/esm-styleguide/./src/brand.ts","webpack://@openmrs/esm-styleguide/./src/index.ts","webpack://@openmrs/esm-styleguide/./src/logo/index.ts","webpack://@openmrs/esm-styleguide/./src/icons/icon-registration.ts"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","(function ($) {\n\n'use strict';\n\nvar Pattern = require('./lib/pattern');\n\n/*\n * Normalize arguments, if not given, to:\n * string: (new Date()).toString()\n * options: {}\n */\nfunction optArgs(cb) {\n\treturn function (string, options) {\n\t\tif (typeof string === 'object') {\n\t\t\toptions = string;\n\t\t\tstring = null;\n\t\t}\n\t\tif (string === null || string === undefined) {\n\t\t\tstring = (new Date()).toString();\n\t\t}\n\t\tif (!options) {\n\t\t\toptions = {};\n\t\t}\n\n\t\treturn cb.call(this, string, options);\n\t};\n}\n\nvar GeoPattern = module.exports = {\n\tgenerate: optArgs(function (string, options) {\n\t\treturn new Pattern(string, options);\n\t})\n};\n\nif ($) {\n\n\t// If jQuery, add plugin\n\t$.fn.geopattern = optArgs(function (string, options) {\n\t\treturn this.each(function () {\n\t\t\tvar titleSha = $(this).attr('data-title-sha');\n\t\t\tif (titleSha) {\n\t\t\t\toptions = $.extend({\n\t\t\t\t\thash: titleSha\n\t\t\t\t}, options);\n\t\t\t}\n\t\t\tvar pattern = GeoPattern.generate(string, options);\n\t\t\t$(this).css('background-image', pattern.toDataUrl());\n\t\t});\n\t});\n\n}\n\n}(typeof jQuery !== 'undefined' ? jQuery : null));\n","/*eslint sort-vars:0, curly:0*/\n\n'use strict';\n\n/**\n * Converts a hex CSS color value to RGB.\n * Adapted from http://stackoverflow.com/a/5624139.\n *\n * @param\tString\thex\t\tThe hexadecimal color value\n * @return\tObject\t\t\tThe RGB representation\n */\nfunction hex2rgb(hex) {\n\t// Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n\tvar shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\thex = hex.replace(shorthandRegex, function (m, r, g, b) {\n\t\treturn r + r + g + g + b + b;\n\t});\n\n\tvar result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\treturn result ? {\n\t\tr: parseInt(result[1], 16),\n\t\tg: parseInt(result[2], 16),\n\t\tb: parseInt(result[3], 16)\n\t} : null;\n}\n\n/**\n * Converts an RGB color value to a hex string.\n * @param Object rgb RGB as r, g, and b keys\n * @return String Hex color string\n */\nfunction rgb2hex(rgb) {\n\treturn '#' + ['r', 'g', 'b'].map(function (key) {\n\t\treturn ('0' + rgb[key].toString(16)).slice(-2);\n\t}).join('');\n}\n\n/**\n * Converts an RGB color value to HSL. Conversion formula adapted from\n * http://en.wikipedia.org/wiki/HSL_color_space. This function adapted\n * from http://stackoverflow.com/a/9493060.\n * Assumes r, g, and b are contained in the set [0, 255] and\n * returns h, s, and l in the set [0, 1].\n *\n * @param Object rgb RGB as r, g, and b keys\n * @return Object HSL as h, s, and l keys\n */\nfunction rgb2hsl(rgb) {\n\tvar r = rgb.r, g = rgb.g, b = rgb.b;\n\tr /= 255; g /= 255; b /= 255;\n\tvar max = Math.max(r, g, b), min = Math.min(r, g, b);\n\tvar h, s, l = (max + min) / 2;\n\n\tif (max === min) {\n\t\th = s = 0; // achromatic\n\t} else {\n\t\tvar d = max - min;\n\t\ts = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\t\tswitch (max) {\n\t\t\tcase r: h = (g - b) / d + (g < b ? 6 : 0); break;\n\t\t\tcase g: h = (b - r) / d + 2; break;\n\t\t\tcase b: h = (r - g) / d + 4; break;\n\t\t}\n\t\th /= 6;\n\t}\n\n\treturn { h: h, s: s, l: l };\n}\n\n/**\n * Converts an HSL color value to RGB. Conversion formula adapted from\n * http://en.wikipedia.org/wiki/HSL_color_space. This function adapted\n * from http://stackoverflow.com/a/9493060.\n * Assumes h, s, and l are contained in the set [0, 1] and\n * returns r, g, and b in the set [0, 255].\n *\n * @param Object hsl HSL as h, s, and l keys\n * @return Object RGB as r, g, and b values\n */\nfunction hsl2rgb(hsl) {\n\n\tfunction hue2rgb(p, q, t) {\n\t\tif (t < 0) t += 1;\n\t\tif (t > 1) t -= 1;\n\t\tif (t < 1 / 6) return p + (q - p) * 6 * t;\n\t\tif (t < 1 / 2) return q;\n\t\tif (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n\t\treturn p;\n\t}\n\n\tvar h = hsl.h, s = hsl.s, l = hsl.l;\n\tvar r, g, b;\n\n\tif(s === 0){\n\t\tr = g = b = l; // achromatic\n\t}else{\n\n\t\tvar q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n\t\tvar p = 2 * l - q;\n\t\tr = hue2rgb(p, q, h + 1 / 3);\n\t\tg = hue2rgb(p, q, h);\n\t\tb = hue2rgb(p, q, h - 1 / 3);\n\t}\n\n\treturn {\n\t\tr: Math.round(r * 255),\n\t\tg: Math.round(g * 255),\n\t\tb: Math.round(b * 255)\n\t};\n}\n\nmodule.exports = {\n\thex2rgb: hex2rgb,\n\trgb2hex: rgb2hex,\n\trgb2hsl: rgb2hsl,\n\thsl2rgb: hsl2rgb,\n\trgb2rgbString: function (rgb) {\n\t\treturn 'rgb(' + [rgb.r, rgb.g, rgb.b].join(',') + ')';\n\t}\n};\n","'use strict';\n\nvar extend = require('extend');\nvar color = require('./color');\nvar SHA1 = require('./sha1');\nvar SVG = require('./svg');\n\n\n\nvar DEFAULTS = {\n\tbaseColor: '#933c3c'\n};\n\nvar PATTERNS = [\n\t'octogons',\n\t'overlappingCircles',\n\t'plusSigns',\n\t'xes',\n\t'sineWaves',\n\t'hexagons',\n\t'overlappingRings',\n\t'plaid',\n\t'triangles',\n\t'squares',\n\t'concentricCircles',\n\t'diamonds',\n\t'tessellation',\n\t'nestedSquares',\n\t'mosaicSquares',\n\t'chevrons'\n];\n\nvar FILL_COLOR_DARK = '#222';\nvar FILL_COLOR_LIGHT = '#ddd';\nvar STROKE_COLOR = '#000';\nvar STROKE_OPACITY = 0.02;\nvar OPACITY_MIN = 0.02;\nvar OPACITY_MAX = 0.15;\n\n\n\n// Helpers\n\n/**\n * Extract a substring from a hex string and parse it as an integer\n * @param {string} hash - Source hex string\n * @param {number} index - Start index of substring\n * @param {number} [length] - Length of substring. Defaults to 1.\n */\nfunction hexVal(hash, index, len) {\n\treturn parseInt(hash.substr(index, len || 1), 16);\n}\n\n/*\n * Re-maps a number from one range to another\n * http://processing.org/reference/map_.html\n */\nfunction map(value, vMin, vMax, dMin, dMax) {\n\tvar vValue = parseFloat(value);\n\tvar vRange = vMax - vMin;\n\tvar dRange = dMax - dMin;\n\n\treturn (vValue - vMin) * dRange / vRange + dMin;\n}\n\nfunction fillColor(val) {\n\treturn (val % 2 === 0) ? FILL_COLOR_LIGHT : FILL_COLOR_DARK;\n}\n\nfunction fillOpacity(val) {\n\treturn map(val, 0, 15, OPACITY_MIN, OPACITY_MAX);\n}\n\n\n\nvar Pattern = module.exports = function (string, options) {\n\tthis.opts = extend({}, DEFAULTS, options);\n\tthis.hash = options.hash || SHA1(string);\n\tthis.svg = new SVG();\n\n\tthis.generateBackground();\n\tthis.generatePattern();\n\n\treturn this;\n};\n\nPattern.prototype.toSvg = function () {\n\treturn this.svg.toString();\n};\n\nPattern.prototype.toString = function () {\n\treturn this.toSvg();\n};\n\nPattern.prototype.toBase64 = function () {\n\tvar str = this.toSvg();\n\tvar b64;\n\n\t// Use window.btoa if in the browser; otherwise fallback to node buffers\n\tif (typeof window !== 'undefined' && typeof window.btoa === 'function') {\n\t\tb64 = window.btoa(str);\n\t} else {\n\t\tb64 = new Buffer(str).toString('base64');\n\t}\n\n\treturn b64;\n};\n\nPattern.prototype.toDataUri = function () {\n\treturn 'data:image/svg+xml;base64,' + this.toBase64();\n};\n\nPattern.prototype.toDataUrl = function () {\n\treturn 'url(\"' + this.toDataUri() + '\")';\n};\n\nPattern.prototype.generateBackground = function () {\n\tvar baseColor, hueOffset, rgb, satOffset;\n\n\tif (this.opts.color) {\n\t\trgb = color.hex2rgb(this.opts.color);\n\t} else {\n\t\thueOffset = map(hexVal(this.hash, 14, 3), 0, 4095, 0, 359);\n\t\tsatOffset = hexVal(this.hash, 17);\n\t\tbaseColor = color.rgb2hsl(color.hex2rgb(this.opts.baseColor));\n\n\t\tbaseColor.h = (((baseColor.h * 360 - hueOffset) + 360) % 360) / 360;\n\n\t\tif (satOffset % 2 === 0) {\n\t\t\tbaseColor.s = Math.min(1, ((baseColor.s * 100) + satOffset) / 100);\n\t\t} else {\n\t\t\tbaseColor.s = Math.max(0, ((baseColor.s * 100) - satOffset) / 100);\n\t\t}\n\t\trgb = color.hsl2rgb(baseColor);\n\t}\n\n\tthis.color = color.rgb2hex(rgb);\n\n\tthis.svg.rect(0, 0, '100%', '100%', {\n\t\tfill: color.rgb2rgbString(rgb)\n\t});\n};\n\nPattern.prototype.generatePattern = function () {\n\tvar generator = this.opts.generator;\n\n\tif (generator) {\n\t\tif (PATTERNS.indexOf(generator) < 0) {\n\t\t\tthrow new Error('The generator '\n\t\t\t\t+ generator\n\t\t\t\t+ ' does not exist.');\n\t\t}\n\t} else {\n\t\tgenerator = PATTERNS[hexVal(this.hash, 20)];\n\t}\n\n\treturn this['geo' + generator.slice(0, 1).toUpperCase() + generator.slice(1)]();\n};\n\nfunction buildHexagonShape(sideLength) {\n\tvar c = sideLength;\n\tvar a = c / 2;\n\tvar b = Math.sin(60 * Math.PI / 180) * c;\n\treturn [\n\t\t0, b,\n\t\ta, 0,\n\t\ta + c, 0,\n\t\t2 * c, b,\n\t\ta + c, 2 * b,\n\t\ta, 2 * b,\n\t\t0, b\n\t].join(',');\n}\n\nPattern.prototype.geoHexagons = function () {\n\tvar scale = hexVal(this.hash, 0);\n\tvar sideLength = map(scale, 0, 15, 8, 60);\n\tvar hexHeight = sideLength * Math.sqrt(3);\n\tvar hexWidth = sideLength * 2;\n\tvar hex = buildHexagonShape(sideLength);\n\tvar dy, fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(hexWidth * 3 + sideLength * 3);\n\tthis.svg.setHeight(hexHeight * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\tdy = x % 2 === 0 ? y * hexHeight : y * hexHeight + hexHeight / 2;\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: fill,\n\t\t\t\t'fill-opacity': opacity,\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY\n\t\t\t};\n\n\t\t\tthis.svg.polyline(hex, styles).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * sideLength * 1.5 - hexWidth / 2,\n\t\t\t\t\tdy - hexHeight / 2\n\t\t\t\t]\n\t\t\t});\n\n\t\t\t// Add an extra one at top-right, for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.polyline(hex, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * sideLength * 1.5 - hexWidth / 2,\n\t\t\t\t\t\tdy - hexHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add an extra row at the end that matches the first row, for tiling.\n\t\t\tif (y === 0) {\n\t\t\t\tdy = x % 2 === 0 ? 6 * hexHeight : 6 * hexHeight + hexHeight / 2;\n\t\t\t\tthis.svg.polyline(hex, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tx * sideLength * 1.5 - hexWidth / 2,\n\t\t\t\t\t\tdy - hexHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add an extra one at bottom-right, for tiling.\n\t\t\tif (x === 0 && y === 0) {\n\t\t\t\tthis.svg.polyline(hex, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * sideLength * 1.5 - hexWidth / 2,\n\t\t\t\t\t\t5 * hexHeight + hexHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoSineWaves = function () {\n\tvar period = Math.floor(map(hexVal(this.hash, 0), 0, 15, 100, 400));\n\tvar amplitude = Math.floor(map(hexVal(this.hash, 1), 0, 15, 30, 100));\n\tvar waveWidth = Math.floor(map(hexVal(this.hash, 2), 0, 15, 3, 30));\n\tvar fill, i, opacity, str, styles, val, xOffset;\n\n\tthis.svg.setWidth(period);\n\tthis.svg.setHeight(waveWidth * 36);\n\n\tfor (i = 0; i < 36; i++) {\n\t\tval = hexVal(this.hash, i);\n\t\topacity = fillOpacity(val);\n\t\tfill = fillColor(val);\n\t\txOffset = period / 4 * 0.7;\n\n\t\tstyles = {\n\t\t\tfill: 'none',\n\t\t\tstroke: fill,\n\t\t\topacity: opacity,\n\t\t\t'stroke-width': '' + waveWidth + 'px'\n\t\t};\n\n\t\tstr = 'M0 ' + amplitude +\n\t\t\t' C ' + xOffset + ' 0, ' + (period / 2 - xOffset) + ' 0, ' + (period / 2) + ' ' + amplitude +\n\t\t\t' S ' + (period - xOffset) + ' ' + (amplitude * 2) + ', ' + period + ' ' + amplitude +\n\t\t\t' S ' + (period * 1.5 - xOffset) + ' 0, ' + (period * 1.5) + ', ' + amplitude;\n\n\t\tthis.svg.path(str, styles).transform({\n\t\t\ttranslate: [\n\t\t\t\t-period / 4,\n\t\t\t\twaveWidth * i - amplitude * 1.5\n\t\t\t]\n\t\t});\n\t\tthis.svg.path(str, styles).transform({\n\t\t\ttranslate: [\n\t\t\t\t-period / 4,\n\t\t\t\twaveWidth * i - amplitude * 1.5 + waveWidth * 36\n\t\t\t]\n\t\t});\n\t}\n};\n\nfunction buildChevronShape(width, height) {\n\tvar e = height * 0.66;\n\treturn [\n\t\t[\n\t\t\t0, 0,\n\t\t\twidth / 2, height - e,\n\t\t\twidth / 2, height,\n\t\t\t0, e,\n\t\t\t0, 0\n\t\t],\n\t\t[\n\t\t\twidth / 2, height - e,\n\t\t\twidth, 0,\n\t\t\twidth, e,\n\t\t\twidth / 2, height,\n\t\t\twidth / 2, height - e\n\t\t]\n\t].map(function (x) { return x.join(','); });\n}\n\nPattern.prototype.geoChevrons = function () {\n\tvar chevronWidth = map(hexVal(this.hash, 0), 0, 15, 30, 80);\n\tvar chevronHeight = map(hexVal(this.hash, 0), 0, 15, 30, 80);\n\tvar chevron = buildChevronShape(chevronWidth, chevronHeight);\n\tvar fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(chevronWidth * 6);\n\tthis.svg.setHeight(chevronHeight * 6 * 0.66);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY,\n\t\t\t\tfill: fill,\n\t\t\t\t'fill-opacity': opacity,\n\t\t\t\t'stroke-width': 1\n\t\t\t};\n\n\t\t\tthis.svg.group(styles).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * chevronWidth,\n\t\t\t\t\ty * chevronHeight * 0.66 - chevronHeight / 2\n\t\t\t\t]\n\t\t\t}).polyline(chevron).end();\n\n\t\t\t// Add an extra row at the end that matches the first row, for tiling.\n\t\t\tif (y === 0) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tx * chevronWidth,\n\t\t\t\t\t\t6 * chevronHeight * 0.66 - chevronHeight / 2\n\t\t\t\t\t]\n\t\t\t\t}).polyline(chevron).end();\n\t\t\t}\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nfunction buildPlusShape(squareSize) {\n\treturn [\n\t\t[squareSize, 0, squareSize, squareSize * 3],\n\t\t[0, squareSize, squareSize * 3, squareSize]\n\t];\n}\n\nPattern.prototype.geoPlusSigns = function () {\n\tvar squareSize = map(hexVal(this.hash, 0), 0, 15, 10, 25);\n\tvar plusSize = squareSize * 3;\n\tvar plusShape = buildPlusShape(squareSize);\n\tvar dx, fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(squareSize * 12);\n\tthis.svg.setHeight(squareSize * 12);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\t\t\tdx = (y % 2 === 0) ? 0 : 1;\n\n\t\t\tstyles = {\n\t\t\t\tfill: fill,\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY,\n\t\t\t\t'fill-opacity': opacity\n\t\t\t};\n\n\t\t\tthis.svg.group(styles).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * plusSize - x * squareSize + dx * squareSize - squareSize,\n\t\t\t\t\ty * plusSize - y * squareSize - plusSize / 2\n\t\t\t\t]\n\t\t\t}).rect(plusShape).end();\n\n\t\t\t// Add an extra column on the right for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t4 * plusSize - x * squareSize + dx * squareSize - squareSize,\n\t\t\t\t\t\ty * plusSize - y * squareSize - plusSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(plusShape).end();\n\t\t\t}\n\n\t\t\t// Add an extra row on the bottom that matches the first row, for tiling\n\t\t\tif (y === 0) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tx * plusSize - x * squareSize + dx * squareSize - squareSize,\n\t\t\t\t\t\t4 * plusSize - y * squareSize - plusSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(plusShape).end();\n\t\t\t}\n\n\t\t\t// Add an extra one at top-right and bottom-right, for tiling\n\t\t\tif (x === 0 && y === 0) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t4 * plusSize - x * squareSize + dx * squareSize - squareSize,\n\t\t\t\t\t\t4 * plusSize - y * squareSize - plusSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(plusShape).end();\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoXes = function () {\n\tvar squareSize = map(hexVal(this.hash, 0), 0, 15, 10, 25);\n\tvar xShape = buildPlusShape(squareSize);\n\tvar xSize = squareSize * 3 * 0.943;\n\tvar dy, fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(xSize * 3);\n\tthis.svg.setHeight(xSize * 3);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tdy = x % 2 === 0 ? y * xSize - xSize * 0.5 : y * xSize - xSize * 0.5 + xSize / 4;\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: fill,\n\t\t\t\topacity: opacity\n\t\t\t};\n\n\t\t\tthis.svg.group(styles).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * xSize / 2 - xSize / 2,\n\t\t\t\t\tdy - y * xSize / 2\n\t\t\t\t],\n\t\t\t\trotate: [\n\t\t\t\t\t45,\n\t\t\t\t\txSize / 2,\n\t\t\t\t\txSize / 2\n\t\t\t\t]\n\t\t\t}).rect(xShape).end();\n\n\t\t\t// Add an extra column on the right for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * xSize / 2 - xSize / 2,\n\t\t\t\t\t\tdy - y * xSize / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t45,\n\t\t\t\t\t\txSize / 2,\n\t\t\t\t\t\txSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(xShape).end();\n\t\t\t}\n\n\t\t\t// // Add an extra row on the bottom that matches the first row, for tiling.\n\t\t\tif (y === 0) {\n\t\t\t\tdy = x % 2 === 0 ? 6 * xSize - xSize / 2 : 6 * xSize - xSize / 2 + xSize / 4;\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tx * xSize / 2 - xSize / 2,\n\t\t\t\t\t\tdy - 6 * xSize / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t45,\n\t\t\t\t\t\txSize / 2,\n\t\t\t\t\t\txSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(xShape).end();\n\t\t\t}\n\n\t\t\t// These can hang off the bottom, so put a row at the top for tiling.\n\t\t\tif (y === 5) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tx * xSize / 2 - xSize / 2,\n\t\t\t\t\t\tdy - 11 * xSize / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t45,\n\t\t\t\t\t\txSize / 2,\n\t\t\t\t\t\txSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(xShape).end();\n\t\t\t}\n\n\t\t\t// Add an extra one at top-right and bottom-right, for tiling\n\t\t\tif (x === 0 && y === 0) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * xSize / 2 - xSize / 2,\n\t\t\t\t\t\tdy - 6 * xSize / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t45,\n\t\t\t\t\t\txSize / 2,\n\t\t\t\t\t\txSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(xShape).end();\n\t\t\t}\n\t\t\ti++;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoOverlappingCircles = function () {\n\tvar scale = hexVal(this.hash, 0);\n\tvar diameter = map(scale, 0, 15, 25, 200);\n\tvar radius = diameter / 2;\n\tvar circle, fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(radius * 6);\n\tthis.svg.setHeight(radius * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: fill,\n\t\t\t\topacity: opacity\n\t\t\t};\n\n\t\t\tthis.svg.circle(x * radius, y * radius, radius, styles);\n\n\t\t\t// Add an extra one at top-right, for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.circle(6 * radius, y * radius, radius, styles);\n\t\t\t}\n\n\t\t\t// // Add an extra row at the end that matches the first row, for tiling.\n\t\t\tif (y === 0) {\n\t\t\t\tthis.svg.circle(x * radius, 6 * radius, radius, styles);\n\t\t\t}\n\n\t\t\t// // Add an extra one at bottom-right, for tiling.\n\t\t\tif (x === 0 && y === 0) {\n\t\t\t\tthis.svg.circle(6 * radius, 6 * radius, radius, styles);\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\t}\n};\n\nfunction buildOctogonShape(squareSize) {\n\tvar s = squareSize;\n\tvar c = s * 0.33;\n\treturn [\n\t\tc, 0,\n\t\ts - c, 0,\n\t\ts, c,\n\t\ts, s - c,\n\t\ts - c, s,\n\t\tc, s,\n\t\t0, s - c,\n\t\t0, c,\n\t\tc, 0\n\t].join(',');\n}\n\nPattern.prototype.geoOctogons = function () {\n\tvar squareSize = map(hexVal(this.hash, 0), 0, 15, 10, 60);\n\tvar tile = buildOctogonShape(squareSize);\n\tvar fill, i, opacity, val, x, y;\n\n\tthis.svg.setWidth(squareSize * 6);\n\tthis.svg.setHeight(squareSize * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tthis.svg.polyline(tile, {\n\t\t\t\tfill: fill,\n\t\t\t\t'fill-opacity': opacity,\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY\n\t\t\t}).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * squareSize,\n\t\t\t\t\ty * squareSize\n\t\t\t\t]\n\t\t\t});\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoSquares = function () {\n\tvar squareSize = map(hexVal(this.hash, 0), 0, 15, 10, 60);\n\tvar fill, i, opacity, val, x, y;\n\n\tthis.svg.setWidth(squareSize * 6);\n\tthis.svg.setHeight(squareSize * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tthis.svg.rect(x * squareSize, y * squareSize, squareSize, squareSize, {\n\t\t\t\tfill: fill,\n\t\t\t\t'fill-opacity': opacity,\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY\n\t\t\t});\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoConcentricCircles = function () {\n\tvar scale = hexVal(this.hash, 0);\n\tvar ringSize = map(scale, 0, 15, 10, 60);\n\tvar strokeWidth = ringSize / 5;\n\tvar fill, i, opacity, val, x, y;\n\n\tthis.svg.setWidth((ringSize + strokeWidth) * 6);\n\tthis.svg.setHeight((ringSize + strokeWidth) * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tthis.svg.circle(\n\t\t\t\tx * ringSize + x * strokeWidth + (ringSize + strokeWidth) / 2,\n\t\t\t\ty * ringSize + y * strokeWidth + (ringSize + strokeWidth) / 2,\n\t\t\t\tringSize / 2,\n\t\t\t\t{\n\t\t\t\t\tfill: 'none',\n\t\t\t\t\tstroke: fill,\n\t\t\t\t\topacity: opacity,\n\t\t\t\t\t'stroke-width': strokeWidth + 'px'\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tval = hexVal(this.hash, 39 - i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tthis.svg.circle(\n\t\t\t\tx * ringSize + x * strokeWidth + (ringSize + strokeWidth) / 2,\n\t\t\t\ty * ringSize + y * strokeWidth + (ringSize + strokeWidth) / 2,\n\t\t\t\tringSize / 4,\n\t\t\t\t{\n\t\t\t\t\tfill: fill,\n\t\t\t\t\t'fill-opacity': opacity\n\t\t\t\t}\n\t\t\t);\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoOverlappingRings = function () {\n\tvar scale = hexVal(this.hash, 0);\n\tvar ringSize = map(scale, 0, 15, 10, 60);\n\tvar strokeWidth = ringSize / 4;\n\tvar fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(ringSize * 6);\n\tthis.svg.setHeight(ringSize * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: 'none',\n\t\t\t\tstroke: fill,\n\t\t\t\topacity: opacity,\n\t\t\t\t'stroke-width': strokeWidth + 'px'\n\t\t\t};\n\n\t\t\tthis.svg.circle(x * ringSize, y * ringSize, ringSize - strokeWidth / 2, styles);\n\n\t\t\t// Add an extra one at top-right, for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.circle(6 * ringSize, y * ringSize, ringSize - strokeWidth / 2, styles);\n\t\t\t}\n\n\t\t\tif (y === 0) {\n\t\t\t\tthis.svg.circle(x * ringSize, 6 * ringSize, ringSize - strokeWidth / 2, styles);\n\t\t\t}\n\n\t\t\tif (x === 0 && y === 0) {\n\t\t\t\tthis.svg.circle(6 * ringSize, 6 * ringSize, ringSize - strokeWidth / 2, styles);\n\t\t\t}\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nfunction buildTriangleShape(sideLength, height) {\n\tvar halfWidth = sideLength / 2;\n\treturn [\n\t\thalfWidth, 0,\n\t\tsideLength, height,\n\t\t0, height,\n\t\thalfWidth, 0\n\t].join(',');\n}\n\nPattern.prototype.geoTriangles = function () {\n\tvar scale = hexVal(this.hash, 0);\n\tvar sideLength = map(scale, 0, 15, 15, 80);\n\tvar triangleHeight = sideLength / 2 * Math.sqrt(3);\n\tvar triangle = buildTriangleShape(sideLength, triangleHeight);\n\tvar fill, i, opacity, rotation, styles, val, x, y;\n\n\tthis.svg.setWidth(sideLength * 3);\n\tthis.svg.setHeight(triangleHeight * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: fill,\n\t\t\t\t'fill-opacity': opacity,\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY\n\t\t\t};\n\n\t\t\tif (y % 2 === 0) {\n\t\t\t\trotation = x % 2 === 0 ? 180 : 0;\n\t\t\t} else {\n\t\t\t\trotation = x % 2 !== 0 ? 180 : 0;\n\t\t\t}\n\n\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * sideLength * 0.5 - sideLength / 2,\n\t\t\t\t\ttriangleHeight * y\n\t\t\t\t],\n\t\t\t\trotate: [\n\t\t\t\t\trotation,\n\t\t\t\t\tsideLength / 2,\n\t\t\t\t\ttriangleHeight / 2\n\t\t\t\t]\n\t\t\t});\n\n\t\t\t// Add an extra one at top-right, for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * sideLength * 0.5 - sideLength / 2,\n\t\t\t\t\t\ttriangleHeight * y\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\trotation,\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttriangleHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nfunction buildDiamondShape(width, height) {\n\treturn [\n\t\twidth / 2, 0,\n\t\twidth, height / 2,\n\t\twidth / 2, height,\n\t\t0, height / 2\n\t].join(',');\n}\n\nPattern.prototype.geoDiamonds = function () {\n\tvar diamondWidth = map(hexVal(this.hash, 0), 0, 15, 10, 50);\n\tvar diamondHeight = map(hexVal(this.hash, 1), 0, 15, 10, 50);\n\tvar diamond = buildDiamondShape(diamondWidth, diamondHeight);\n\tvar dx, fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(diamondWidth * 6);\n\tthis.svg.setHeight(diamondHeight * 3);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: fill,\n\t\t\t\t'fill-opacity': opacity,\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY\n\t\t\t};\n\n\t\t\tdx = (y % 2 === 0) ? 0 : diamondWidth / 2;\n\n\t\t\tthis.svg.polyline(diamond, styles).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * diamondWidth - diamondWidth / 2 + dx,\n\t\t\t\t\tdiamondHeight / 2 * y - diamondHeight / 2\n\t\t\t\t]\n\t\t\t});\n\n\t\t\t// Add an extra one at top-right, for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.polyline(diamond, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * diamondWidth - diamondWidth / 2 + dx,\n\t\t\t\t\t\tdiamondHeight / 2 * y - diamondHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add an extra row at the end that matches the first row, for tiling.\n\t\t\tif (y === 0) {\n\t\t\t\tthis.svg.polyline(diamond, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tx * diamondWidth - diamondWidth / 2 + dx,\n\t\t\t\t\t\tdiamondHeight / 2 * 6 - diamondHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add an extra one at bottom-right, for tiling.\n\t\t\tif (x === 0 && y === 0) {\n\t\t\t\tthis.svg.polyline(diamond, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * diamondWidth - diamondWidth / 2 + dx,\n\t\t\t\t\t\tdiamondHeight / 2 * 6 - diamondHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoNestedSquares = function () {\n\tvar blockSize = map(hexVal(this.hash, 0), 0, 15, 4, 12);\n\tvar squareSize = blockSize * 7;\n\tvar fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth((squareSize + blockSize) * 6 + blockSize * 6);\n\tthis.svg.setHeight((squareSize + blockSize) * 6 + blockSize * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: 'none',\n\t\t\t\tstroke: fill,\n\t\t\t\topacity: opacity,\n\t\t\t\t'stroke-width': blockSize + 'px'\n\t\t\t};\n\n\t\t\tthis.svg.rect(x * squareSize + x * blockSize * 2 + blockSize / 2,\n\t\t\t y * squareSize + y * blockSize * 2 + blockSize / 2,\n\t\t\t squareSize, squareSize, styles);\n\n\t\t\tval = hexVal(this.hash, 39 - i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: 'none',\n\t\t\t\tstroke: fill,\n\t\t\t\topacity: opacity,\n\t\t\t\t'stroke-width': blockSize + 'px'\n\t\t\t};\n\n\t\t\tthis.svg.rect(x * squareSize + x * blockSize * 2 + blockSize / 2 + blockSize * 2,\n\t\t\t y * squareSize + y * blockSize * 2 + blockSize / 2 + blockSize * 2,\n\t\t\t blockSize * 3, blockSize * 3, styles);\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nfunction buildRightTriangleShape(sideLength) {\n\treturn [\n\t\t0, 0,\n\t\tsideLength, sideLength,\n\t\t0, sideLength,\n\t\t0, 0\n\t].join(',');\n}\n\nfunction drawInnerMosaicTile(svg, x, y, triangleSize, vals) {\n\tvar triangle = buildRightTriangleShape(triangleSize);\n\tvar opacity = fillOpacity(vals[0]);\n\tvar fill = fillColor(vals[0]);\n\tvar styles = {\n\t\tstroke: STROKE_COLOR,\n\t\t'stroke-opacity': STROKE_OPACITY,\n\t\t'fill-opacity': opacity,\n\t\tfill: fill\n\t};\n\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx + triangleSize,\n\t\t\ty\n\t\t],\n\t\tscale: [-1, 1]\n\t});\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx + triangleSize,\n\t\t\ty + triangleSize * 2\n\t\t],\n\t\tscale: [1, -1]\n\t});\n\n\topacity = fillOpacity(vals[1]);\n\tfill = fillColor(vals[1]);\n\tstyles = {\n\t\tstroke: STROKE_COLOR,\n\t\t'stroke-opacity': STROKE_OPACITY,\n\t\t'fill-opacity': opacity,\n\t\tfill: fill\n\t};\n\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx + triangleSize,\n\t\t\ty + triangleSize * 2\n\t\t],\n\t\tscale: [-1, -1]\n\t});\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx + triangleSize,\n\t\t\ty\n\t\t],\n\t\tscale: [1, 1]\n\t});\n}\n\nfunction drawOuterMosaicTile(svg, x, y, triangleSize, val) {\n\tvar opacity = fillOpacity(val);\n\tvar fill = fillColor(val);\n\tvar triangle = buildRightTriangleShape(triangleSize);\n\tvar styles = {\n\t\tstroke: STROKE_COLOR,\n\t\t'stroke-opacity': STROKE_OPACITY,\n\t\t'fill-opacity': opacity,\n\t\tfill: fill\n\t};\n\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx,\n\t\t\ty + triangleSize\n\t\t],\n\t\tscale: [1, -1]\n\t});\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx + triangleSize * 2,\n\t\t\ty + triangleSize\n\t\t],\n\t\tscale: [-1, -1]\n\t});\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx,\n\t\t\ty + triangleSize\n\t\t],\n\t\tscale: [1, 1]\n\t});\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx + triangleSize * 2,\n\t\t\ty + triangleSize\n\t\t],\n\t\tscale: [-1, 1]\n\t});\n}\n\nPattern.prototype.geoMosaicSquares = function () {\n\tvar triangleSize = map(hexVal(this.hash, 0), 0, 15, 15, 50);\n\tvar i, x, y;\n\n\tthis.svg.setWidth(triangleSize * 8);\n\tthis.svg.setHeight(triangleSize * 8);\n\n\ti = 0;\n\tfor (y = 0; y < 4; y++) {\n\t\tfor (x = 0; x < 4; x++) {\n\t\t\tif (x % 2 === 0) {\n\t\t\t\tif (y % 2 === 0) {\n\t\t\t\t\tdrawOuterMosaicTile(this.svg,\n\t\t\t\t\t\tx * triangleSize * 2,\n\t\t\t\t\t\ty * triangleSize * 2,\n\t\t\t\t\t\ttriangleSize,\n\t\t\t\t\t\thexVal(this.hash, i)\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tdrawInnerMosaicTile(this.svg,\n\t\t\t\t\t\tx * triangleSize * 2,\n\t\t\t\t\t\ty * triangleSize * 2,\n\t\t\t\t\t\ttriangleSize,\n\t\t\t\t\t\t[hexVal(this.hash, i), hexVal(this.hash, i + 1)]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (y % 2 === 0) {\n\t\t\t\t\tdrawInnerMosaicTile(this.svg,\n\t\t\t\t\t\tx * triangleSize * 2,\n\t\t\t\t\t\ty * triangleSize * 2,\n\t\t\t\t\t\ttriangleSize,\n\t\t\t\t\t\t[hexVal(this.hash, i), hexVal(this.hash, i + 1)]\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tdrawOuterMosaicTile(this.svg,\n\t\t\t\t\t\tx * triangleSize * 2,\n\t\t\t\t\t\ty * triangleSize * 2,\n\t\t\t\t\t\ttriangleSize,\n\t\t\t\t\t\thexVal(this.hash, i)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoPlaid = function () {\n\tvar height = 0;\n\tvar width = 0;\n\tvar fill, i, opacity, space, stripeHeight, stripeWidth, val;\n\n\t// Horizontal stripes\n\ti = 0;\n\twhile (i < 36) {\n\t\tspace = hexVal(this.hash, i);\n\t\theight += space + 5;\n\n\t\tval = hexVal(this.hash, i + 1);\n\t\topacity = fillOpacity(val);\n\t\tfill = fillColor(val);\n\t\tstripeHeight = val + 5;\n\n\t\tthis.svg.rect(0, height, '100%', stripeHeight, {\n\t\t\topacity: opacity,\n\t\t\tfill: fill\n\t\t});\n\n\t\theight += stripeHeight;\n\t\ti += 2;\n\t}\n\n\t// Vertical stripes\n\ti = 0;\n\twhile (i < 36) {\n\t\tspace = hexVal(this.hash, i);\n\t\twidth += space + 5;\n\n\t\tval = hexVal(this.hash, i + 1);\n\t\topacity = fillOpacity(val);\n\t\tfill = fillColor(val);\n\t\tstripeWidth = val + 5;\n\n\t\tthis.svg.rect(width, 0, stripeWidth, '100%', {\n\t\t\topacity: opacity,\n\t\t\tfill: fill\n\t\t});\n\n\t\twidth += stripeWidth;\n\t\ti += 2;\n\t}\n\n\tthis.svg.setWidth(width);\n\tthis.svg.setHeight(height);\n};\n\nfunction buildRotatedTriangleShape(sideLength, triangleWidth) {\n\tvar halfHeight = sideLength / 2;\n\treturn [\n\t\t0, 0,\n\t\ttriangleWidth, halfHeight,\n\t\t0, sideLength,\n\t\t0, 0\n\t].join(',');\n}\n\nPattern.prototype.geoTessellation = function () {\n\t// 3.4.6.4 semi-regular tessellation\n\tvar sideLength = map(hexVal(this.hash, 0), 0, 15, 5, 40);\n\tvar hexHeight = sideLength * Math.sqrt(3);\n\tvar hexWidth = sideLength * 2;\n\tvar triangleHeight = sideLength / 2 * Math.sqrt(3);\n\tvar triangle = buildRotatedTriangleShape(sideLength, triangleHeight);\n\tvar tileWidth = sideLength * 3 + triangleHeight * 2;\n\tvar tileHeight = (hexHeight * 2) + (sideLength * 2);\n\tvar fill, i, opacity, styles, val;\n\n\tthis.svg.setWidth(tileWidth);\n\tthis.svg.setHeight(tileHeight);\n\n\tfor (i = 0; i < 20; i++) {\n\t\tval = hexVal(this.hash, i);\n\t\topacity = fillOpacity(val);\n\t\tfill = fillColor(val);\n\n\t\tstyles = {\n\t\t\tstroke: STROKE_COLOR,\n\t\t\t'stroke-opacity': STROKE_OPACITY,\n\t\t\tfill: fill,\n\t\t\t'fill-opacity': opacity,\n\t\t\t'stroke-width': 1\n\t\t};\n\n\t\tswitch (i) {\n\t\t\tcase 0: // All 4 corners\n\t\t\t\tthis.svg.rect(-sideLength / 2, -sideLength / 2, sideLength, sideLength, styles);\n\t\t\t\tthis.svg.rect(tileWidth - sideLength / 2, -sideLength / 2, sideLength, sideLength, styles);\n\t\t\t\tthis.svg.rect(-sideLength / 2, tileHeight - sideLength / 2, sideLength, sideLength, styles);\n\t\t\t\tthis.svg.rect(tileWidth - sideLength / 2, tileHeight - sideLength / 2, sideLength, sideLength, styles);\n\t\t\t\tbreak;\n\t\t\tcase 1: // Center / top square\n\t\t\t\tthis.svg.rect(hexWidth / 2 + triangleHeight, hexHeight / 2, sideLength, sideLength, styles);\n\t\t\t\tbreak;\n\t\t\tcase 2: // Side squares\n\t\t\t\tthis.svg.rect(-sideLength / 2, tileHeight / 2 - sideLength / 2, sideLength, sideLength, styles);\n\t\t\t\tthis.svg.rect(tileWidth - sideLength / 2, tileHeight / 2 - sideLength / 2, sideLength, sideLength, styles);\n\t\t\t\tbreak;\n\t\t\tcase 3: // Center / bottom square\n\t\t\t\tthis.svg.rect(hexWidth / 2 + triangleHeight, hexHeight * 1.5 + sideLength, sideLength, sideLength, styles);\n\t\t\t\tbreak;\n\t\t\tcase 4: // Left top / bottom triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\t-sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttriangleHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttileHeight - -sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttriangleHeight / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [1, -1]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 5: // Right top / bottom triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth - sideLength / 2,\n\t\t\t\t\t\t-sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttriangleHeight / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [-1, 1]\n\t\t\t\t});\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth - sideLength / 2,\n\t\t\t\t\t\ttileHeight + sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttriangleHeight / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [-1, -1]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 6: // Center / top / right triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth / 2 + sideLength / 2,\n\t\t\t\t\t\thexHeight / 2\n\t\t\t\t\t]});\n\t\t\t\tbreak;\n\t\t\tcase 7: // Center / top / left triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth - tileWidth / 2 - sideLength / 2,\n\t\t\t\t\t\thexHeight / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [-1, 1]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 8: // Center / bottom / right triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth / 2 + sideLength / 2,\n\t\t\t\t\t\ttileHeight - hexHeight / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [1, -1]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 9: // Center / bottom / left triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth - tileWidth / 2 - sideLength / 2,\n\t\t\t\t\t\ttileHeight - hexHeight / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [-1, -1]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 10: // Left / middle triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttileHeight / 2 - sideLength / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 11: // Right // middle triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth - sideLength / 2,\n\t\t\t\t\t\ttileHeight / 2 - sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [-1, 1]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 12: // Left / top square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\ttranslate: [sideLength / 2, sideLength / 2],\n\t\t\t\t\trotate: [-30, 0, 0]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 13: // Right / top square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\tscale: [-1, 1],\n\t\t\t\t\ttranslate: [-tileWidth + sideLength / 2, sideLength / 2],\n\t\t\t\t\trotate: [-30, 0, 0]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 14: // Left / center-top square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttileHeight / 2 - sideLength / 2 - sideLength\n\t\t\t\t\t],\n\t\t\t\t\trotate: [30, 0, sideLength]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 15: // Right / center-top square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\tscale: [-1, 1],\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t-tileWidth + sideLength / 2,\n\t\t\t\t\t\ttileHeight / 2 - sideLength / 2 - sideLength\n\t\t\t\t\t],\n\t\t\t\t\trotate: [30, 0, sideLength]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 16: // Left / center-top square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\tscale: [1, -1],\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\t-tileHeight + tileHeight / 2 - sideLength / 2 - sideLength\n\t\t\t\t\t],\n\t\t\t\t\trotate: [30, 0, sideLength]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 17: // Right / center-bottom square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\tscale: [-1, -1],\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t-tileWidth + sideLength / 2,\n\t\t\t\t\t\t-tileHeight + tileHeight / 2 - sideLength / 2 - sideLength\n\t\t\t\t\t],\n\t\t\t\t\trotate: [30, 0, sideLength]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 18: // Left / bottom square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\tscale: [1, -1],\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\t-tileHeight + sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [-30, 0, 0]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 19: // Right / bottom square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\tscale: [-1, -1],\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t-tileWidth + sideLength / 2,\n\t\t\t\t\t\t-tileHeight + sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [-30, 0, 0]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t}\n\t}\n};\n","/*\nhttps://github.com/creationix/git-sha1/blob/master/git-sha1.js\n\nThe MIT License (MIT)\n\nCopyright (c) 2013 Tim Caswell\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\n'use strict';\n\n// A streaming interface for when nothing is passed in.\nfunction create() {\n\n\tvar h0 = 0x67452301;\n\tvar h1 = 0xEFCDAB89;\n\tvar h2 = 0x98BADCFE;\n\tvar h3 = 0x10325476;\n\tvar h4 = 0xC3D2E1F0;\n\t// The first 64 bytes (16 words) is the data chunk\n\tvar block = new Uint32Array(80), offset = 0, shift = 24;\n\tvar totalLength = 0;\n\n\t// We have a full block to process. Let's do it!\n\tfunction processBlock() {\n\t\t// Extend the sixteen 32-bit words into eighty 32-bit words:\n\t\tfor (var i = 16; i < 80; i++) {\n\t\t\tvar w = block[i - 3] ^ block[i - 8] ^ block[i - 14] ^ block[i - 16];\n\t\t\tblock[i] = (w << 1) | (w >>> 31);\n\t\t}\n\n\t\t// log(block);\n\n\t\t// Initialize hash value for this chunk:\n\t\tvar a = h0;\n\t\tvar b = h1;\n\t\tvar c = h2;\n\t\tvar d = h3;\n\t\tvar e = h4;\n\t\tvar f, k;\n\n\t\t// Main loop:\n\t\tfor (i = 0; i < 80; i++) {\n\t\t\tif (i < 20) {\n\t\t\t\tf = d ^ (b & (c ^ d));\n\t\t\t\tk = 0x5A827999;\n\t\t\t}\n\t\t\telse if (i < 40) {\n\t\t\t\tf = b ^ c ^ d;\n\t\t\t\tk = 0x6ED9EBA1;\n\t\t\t}\n\t\t\telse if (i < 60) {\n\t\t\t\tf = (b & c) | (d & (b | c));\n\t\t\t\tk = 0x8F1BBCDC;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tf = b ^ c ^ d;\n\t\t\t\tk = 0xCA62C1D6;\n\t\t\t}\n\t\t\tvar temp = (a << 5 | a >>> 27) + f + e + k + (block[i] | 0);\n\t\t\te = d;\n\t\t\td = c;\n\t\t\tc = (b << 30 | b >>> 2);\n\t\t\tb = a;\n\t\t\ta = temp;\n\t\t}\n\n\t\t// Add this chunk's hash to result so far:\n\t\th0 = (h0 + a) | 0;\n\t\th1 = (h1 + b) | 0;\n\t\th2 = (h2 + c) | 0;\n\t\th3 = (h3 + d) | 0;\n\t\th4 = (h4 + e) | 0;\n\n\t\t// The block is now reusable.\n\t\toffset = 0;\n\t\tfor (i = 0; i < 16; i++) {\n\t\t\tblock[i] = 0;\n\t\t}\n\t}\n\n\tfunction write(byte) {\n\t\tblock[offset] |= (byte & 0xff) << shift;\n\t\tif (shift) {\n\t\t\tshift -= 8;\n\t\t}\n\t\telse {\n\t\t\toffset++;\n\t\t\tshift = 24;\n\t\t}\n\t\tif (offset === 16) {\n\t\t\tprocessBlock();\n\t\t}\n\t}\n\n\tfunction updateString(string) {\n\t\tvar length = string.length;\n\t\ttotalLength += length * 8;\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\twrite(string.charCodeAt(i));\n\t\t}\n\t}\n\n\t// The user gave us more data. Store it!\n\tfunction update(chunk) {\n\t\tif (typeof chunk === 'string') {\n\t\t\treturn updateString(chunk);\n\t\t}\n\t\tvar length = chunk.length;\n\t\ttotalLength += length * 8;\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\twrite(chunk[i]);\n\t\t}\n\t}\n\n\tfunction toHex(word) {\n\t\tvar hex = '';\n\t\tfor (var i = 28; i >= 0; i -= 4) {\n\t\t\thex += ((word >> i) & 0xf).toString(16);\n\t\t}\n\t\treturn hex;\n\t}\n\n\t// No more data will come, pad the block, process and return the result.\n\tfunction digest() {\n\t\t// Pad\n\t\twrite(0x80);\n\t\tif (offset > 14 || (offset === 14 && shift < 24)) {\n\t\t\tprocessBlock();\n\t\t}\n\t\toffset = 14;\n\t\tshift = 24;\n\n\t\t// 64-bit length big-endian\n\t\twrite(0x00); // numbers this big aren't accurate in javascript anyway\n\t\twrite(0x00); // ..So just hard-code to zero.\n\t\twrite(totalLength > 0xffffffffff ? totalLength / 0x10000000000 : 0x00);\n\t\twrite(totalLength > 0xffffffff ? totalLength / 0x100000000 : 0x00);\n\t\tfor (var s = 24; s >= 0; s -= 8) {\n\t\t\twrite(totalLength >> s);\n\t\t}\n\n\t\t// At this point one last processBlock() should trigger and we can pull out the result.\n\t\treturn toHex(h0) +\n\t\ttoHex(h1) +\n\t\ttoHex(h2) +\n\t\ttoHex(h3) +\n\t\ttoHex(h4);\n\t}\n\n\treturn { update: update, digest: digest };\n}\n\n// Input chunks must be either arrays of bytes or \"raw\" encoded strings\nmodule.exports = function sha1(buffer) {\n\tif (buffer === undefined) {\n\t\treturn create();\n\t}\n\tvar shasum = create();\n\tshasum.update(buffer);\n\treturn shasum.digest();\n};\n","'use strict';\n\nvar extend = require('extend');\nvar XMLNode = require('./xml');\n\nfunction SVG() {\n\tthis.width = 100;\n\tthis.height = 100;\n\tthis.svg = XMLNode('svg');\n\tthis.context = []; // Track nested nodes\n\tthis.setAttributes(this.svg, {\n\t\txmlns: 'http://www.w3.org/2000/svg',\n\t\twidth: this.width,\n\t\theight: this.height\n\t});\n\n\treturn this;\n}\n\nmodule.exports = SVG;\n\n// This is a hack so groups work.\nSVG.prototype.currentContext = function () {\n\treturn this.context[this.context.length - 1] || this.svg;\n};\n\n// This is a hack so groups work.\nSVG.prototype.end = function () {\n\tthis.context.pop();\n\treturn this;\n};\n\nSVG.prototype.currentNode = function () {\n\tvar context = this.currentContext();\n\treturn context.lastChild || context;\n};\n\nSVG.prototype.transform = function (transformations) {\n\tthis.currentNode().setAttribute('transform',\n\t\tObject.keys(transformations).map(function (transformation) {\n\t\t\treturn transformation + '(' + transformations[transformation].join(',') + ')';\n\t\t}).join(' ')\n\t);\n\treturn this;\n};\n\nSVG.prototype.setAttributes = function (el, attrs) {\n\tObject.keys(attrs).forEach(function (attr) {\n\t\tel.setAttribute(attr, attrs[attr]);\n\t});\n};\n\nSVG.prototype.setWidth = function (width) {\n\tthis.svg.setAttribute('width', Math.floor(width));\n};\n\nSVG.prototype.setHeight = function (height) {\n\tthis.svg.setAttribute('height', Math.floor(height));\n};\n\nSVG.prototype.toString = function () {\n\treturn this.svg.toString();\n};\n\nSVG.prototype.rect = function (x, y, width, height, args) {\n\t// Accept array first argument\n\tvar self = this;\n\tif (Array.isArray(x)) {\n\t\tx.forEach(function (a) {\n\t\t\tself.rect.apply(self, a.concat(args));\n\t\t});\n\t\treturn this;\n\t}\n\n\tvar rect = XMLNode('rect');\n\tthis.currentContext().appendChild(rect);\n\tthis.setAttributes(rect, extend({\n\t\tx: x,\n\t\ty: y,\n\t\twidth: width,\n\t\theight: height\n\t}, args));\n\n\treturn this;\n};\n\nSVG.prototype.circle = function (cx, cy, r, args) {\n\tvar circle = XMLNode('circle');\n\tthis.currentContext().appendChild(circle);\n\tthis.setAttributes(circle, extend({\n\t\tcx: cx,\n\t\tcy: cy,\n\t\tr: r\n\t}, args));\n\n\treturn this;\n};\n\nSVG.prototype.path = function (str, args) {\n\tvar path = XMLNode('path');\n\tthis.currentContext().appendChild(path);\n\tthis.setAttributes(path, extend({\n\t\td: str\n\t}, args));\n\n\treturn this;\n};\n\nSVG.prototype.polyline = function (str, args) {\n\t// Accept array first argument\n\tvar self = this;\n\tif (Array.isArray(str)) {\n\t\tstr.forEach(function (s) {\n\t\t\tself.polyline(s, args);\n\t\t});\n\t\treturn this;\n\t}\n\n\tvar polyline = XMLNode('polyline');\n\tthis.currentContext().appendChild(polyline);\n\tthis.setAttributes(polyline, extend({\n\t\tpoints: str\n\t}, args));\n\n\treturn this;\n};\n\n// group and context are hacks\nSVG.prototype.group = function (args) {\n\tvar group = XMLNode('g');\n\tthis.currentContext().appendChild(group);\n\tthis.context.push(group);\n\tthis.setAttributes(group, extend({}, args));\n\treturn this;\n};\n","'use strict';\n\nvar XMLNode = module.exports = function (tagName) {\n\tif (!(this instanceof XMLNode)) {\n\t\treturn new XMLNode(tagName);\n\t}\n\n\tthis.tagName = tagName;\n\tthis.attributes = Object.create(null);\n\tthis.children = [];\n\tthis.lastChild = null;\n\n\treturn this;\n};\n\nXMLNode.prototype.appendChild = function (child) {\n\tthis.children.push(child);\n\tthis.lastChild = child;\n\n\treturn this;\n};\n\nXMLNode.prototype.setAttribute = function (name, value) {\n\tthis.attributes[name] = value;\n\n\treturn this;\n};\n\nXMLNode.prototype.toString = function () {\n\tvar self = this;\n\n\treturn [\n\t\t'<',\n\t\tself.tagName,\n\t\tObject.keys(self.attributes).map(function (attr) {\n\t\t\treturn [\n\t\t\t\t' ',\n\t\t\t\tattr,\n\t\t\t\t'=\"',\n\t\t\t\tself.attributes[attr],\n\t\t\t\t'\"'\n\t\t\t].join('');\n\t\t}).join(''),\n\t\t'>',\n\t\tself.children.map(function (child) {\n\t\t\treturn child.toString();\n\t\t}).join(''),\n\t\t'</',\n\t\tself.tagName,\n\t\t'>'\n\t].join('');\n};\n","var hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nfunction isPlainObject(obj) {\n\tif (!obj || toString.call(obj) !== '[object Object]' || obj.nodeType || obj.setInterval)\n\t\treturn false;\n\n\tvar has_own_constructor = hasOwn.call(obj, 'constructor');\n\tvar has_is_property_of_method = hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !has_own_constructor && !has_is_property_of_method)\n\t\treturn false;\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor ( key in obj ) {}\n\n\treturn key === undefined || hasOwn.call( obj, key );\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t target = arguments[0] || {},\n\t i = 1,\n\t length = arguments.length,\n\t deep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && typeof target !== \"function\") {\n\t\ttarget = {};\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\t\t// Only deal with non-null/undefined values\n\t\tif ( (options = arguments[ i ]) != null ) {\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( isPlainObject(copy) || (copyIsArray = Array.isArray(copy)) ) ) {\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && Array.isArray(src) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/*! For license information please see openmrs-esm-api.js.LICENSE.txt */\nSystem.register([\"@openmrs/esm-config\",\"@openmrs/esm-navigation\",\"@openmrs/esm-error-handling\",\"@openmrs/esm-offline\"],(function(t,e){var n={},r={},o={},i={};return{setters:[function(t){n.Type=t.Type,n.defineConfigSchema=t.defineConfigSchema,n.getConfig=t.getConfig,n.validators=t.validators},function(t){r.navigate=t.navigate},function(t){o.reportError=t.reportError},function(t){i.getSynchronizationItems=t.getSynchronizationItems}],execute:function(){t((()=>{var t={385:()=>{System.register([],(function(t,e){return{execute:function(){t(function(){\"use strict\";var t=function(t,e){var n=a[t];if(n)return n.active?console.error(\"Cannot override an existing store. Make sure that stores are only created once.\"):n.value.setState(e,!0),n.active=!0,n.value;var r=u()((function(){return e}));return a[t]={value:r,active:!0},r},e=function(t,e){var n=a[t];return n?(n.active?console.error(\"Cannot override an existing store. Make sure that stores are only created once.\"):n.value=e,n.active=!0,n.value):(a[t]={value:e,active:!0},e)},n=function(t,e){var n=a[t];if(!n){var r=u()((function(){return null!=e?e:{}}));return a[t]={value:r,active:!1},r}return n.value},r=function(t,e,n){var r=e(t.getState());return t.subscribe((function(t){var o=e(t);o!==r&&(r=o,n(o))}))},o={d:function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r:function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})}},i={};o.r(i),o.d(i,{createGlobalStore:function(){return t},getGlobalStore:function(){return n},registerGlobalStore:function(){return e},subscribeTo:function(){return r}});var s=function(t){var e,n=new Set,r=function(t,r){var o=\"function\"==typeof t?t(e):t;if(!Object.is(o,e)){var i=e;e=(null!=r?r:\"object\"!=typeof o)?o:Object.assign({},e,o),n.forEach((function(t){return t(e,i)}))}},o=function(){return e},i={setState:r,getState:o,subscribe:function(t){return n.add(t),function(){return n.delete(t)}},destroy:function(){console.warn(\"[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected.\"),n.clear()}};return e=t(r,o,i),i},u=function(t){return t?s(t):s},a={};return setTimeout((function(){\"development\"===window.spaEnv&&(window.stores=a)}),1e3),i}())}}}))},824:t=>{\"use strict\";t.exports=n},254:t=>{\"use strict\";t.exports=o},513:t=>{\"use strict\";t.exports=r},738:t=>{\"use strict\";t.exports=i}},e={};function s(n){var r=e[n];if(void 0!==r)return r.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,s),o.exports}s.d=(t,e)=>{for(var n in e)s.o(e,n)&&!s.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),s.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var u={};return(()=>{\"use strict\";s.r(u),s.d(u,{OpenmrsFetchError:()=>Fe,VisitMode:()=>Qn,VisitStatus:()=>Xn,attachmentUrl:()=>Je,backendDependencies:()=>or,clearCurrentUser:()=>ln,createAttachment:()=>Ke,defaultVisitCustomRepresentation:()=>Fn,deleteAttachmentPermanently:()=>Qe,fetchCurrentPatient:()=>Tn,fhirBaseUrl:()=>Be,getAttachmentByUuid:()=>ze,getAttachments:()=>Ye,getCurrentUser:()=>sn,getLocations:()=>rr,getLoggedInUser:()=>pn,getSessionLocation:()=>hn,getSessionStore:()=>un,getStartedVisit:()=>Zn,getVisitStore:()=>Jn,getVisitTypes:()=>er,getVisitsForPatient:()=>Yn,makeUrl:()=>$e,openmrsFetch:()=>Ve,openmrsObservableFetch:()=>We,refetchCurrentUser:()=>cn,restBaseUrl:()=>Re,saveVisit:()=>Kn,sessionEndpoint:()=>Ge,setCurrentVisit:()=>zn,setSessionLocation:()=>dn,setUserLanguage:()=>an,setUserProperties:()=>bn,setupApiModule:()=>wn,toLocationObject:()=>nr,toVisitTypeObject:()=>tr,updateVisit:()=>qn,userHasAccess:()=>fn});var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},t(e,n)};function e(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}function n(t){return\"function\"==typeof t}var r=!1,o={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){t&&(new Error).stack,r=t},get useDeprecatedSynchronousErrorHandling(){return r}};function i(t){setTimeout((function(){throw t}),0)}var a={closed:!0,next:function(t){},error:function(t){if(o.useDeprecatedSynchronousErrorHandling)throw t;i(t)},complete:function(){}},c=function(){return Array.isArray||function(t){return t&&\"number\"==typeof t.length}}();function l(t){return null!==t&&\"object\"==typeof t}var f=function(){function t(t){return Error.call(this),this.message=t?t.length+\" errors occurred during unsubscription:\\n\"+t.map((function(t,e){return e+1+\") \"+t.toString()})).join(\"\\n \"):\"\",this.name=\"UnsubscriptionError\",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t}(),p=f,h=function(){function t(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}return t.prototype.unsubscribe=function(){var e;if(!this.closed){var r=this,o=r._parentOrParents,i=r._ctorUnsubscribe,s=r._unsubscribe,u=r._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,o instanceof t)o.remove(this);else if(null!==o)for(var a=0;a<o.length;++a)o[a].remove(this);if(n(s)){i&&(this._unsubscribe=void 0);try{s.call(this)}catch(t){e=t instanceof p?d(t.errors):[t]}}if(c(u)){a=-1;for(var f=u.length;++a<f;){var h=u[a];if(l(h))try{h.unsubscribe()}catch(t){e=e||[],t instanceof p?e=e.concat(d(t.errors)):e.push(t)}}}if(e)throw new p(e)}},t.prototype.add=function(e){var n=e;if(!e)return t.EMPTY;switch(typeof e){case\"function\":n=new t(e);case\"object\":if(n===this||n.closed||\"function\"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;if(!(n instanceof t)){var r=n;(n=new t)._subscriptions=[r]}break;default:throw new Error(\"unrecognized teardown \"+e+\" added to Subscription.\")}var o=n._parentOrParents;if(null===o)n._parentOrParents=this;else if(o instanceof t){if(o===this)return n;n._parentOrParents=[o,this]}else{if(-1!==o.indexOf(this))return n;o.push(this)}var i=this._subscriptions;return null===i?this._subscriptions=[n]:i.push(n),n},t.prototype.remove=function(t){var e=this._subscriptions;if(e){var n=e.indexOf(t);-1!==n&&e.splice(n,1)}},t.EMPTY=function(t){return t.closed=!0,t}(new t),t}();function d(t){return t.reduce((function(t,e){return t.concat(e instanceof p?e.errors:e)}),[])}var y=function(){return\"function\"==typeof Symbol?Symbol(\"rxSubscriber\"):\"@@rxSubscriber_\"+Math.random()}(),b=function(t){function n(e,r,o){var i=t.call(this)||this;switch(i.syncErrorValue=null,i.syncErrorThrown=!1,i.syncErrorThrowable=!1,i.isStopped=!1,arguments.length){case 0:i.destination=a;break;case 1:if(!e){i.destination=a;break}if(\"object\"==typeof e){e instanceof n?(i.syncErrorThrowable=e.syncErrorThrowable,i.destination=e,e.add(i)):(i.syncErrorThrowable=!0,i.destination=new m(i,e));break}default:i.syncErrorThrowable=!0,i.destination=new m(i,e,r,o)}return i}return e(n,t),n.prototype[y]=function(){return this},n.create=function(t,e,r){var o=new n(t,e,r);return o.syncErrorThrowable=!1,o},n.prototype.next=function(t){this.isStopped||this._next(t)},n.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},n.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},n.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},n.prototype._next=function(t){this.destination.next(t)},n.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},n.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},n.prototype._unsubscribeAndRecycle=function(){var t=this._parentOrParents;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this},n}(h),m=function(t){function r(e,r,o,i){var s,u=t.call(this)||this;u._parentSubscriber=e;var c=u;return n(r)?s=r:r&&(s=r.next,o=r.error,i=r.complete,r!==a&&(n((c=Object.create(r)).unsubscribe)&&u.add(c.unsubscribe.bind(c)),c.unsubscribe=u.unsubscribe.bind(u))),u._context=c,u._next=s,u._error=o,u._complete=i,u}return e(r,t),r.prototype.next=function(t){if(!this.isStopped&&this._next){var e=this._parentSubscriber;o.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},r.prototype.error=function(t){if(!this.isStopped){var e=this._parentSubscriber,n=o.useDeprecatedSynchronousErrorHandling;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):i(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;i(t)}}},r.prototype.complete=function(){var t=this;if(!this.isStopped){var e=this._parentSubscriber;if(this._complete){var n=function(){return t._complete.call(t._context)};o.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}},r.prototype.__tryOrUnsub=function(t,e){try{t.call(this._context,e)}catch(t){if(this.unsubscribe(),o.useDeprecatedSynchronousErrorHandling)throw t;i(t)}},r.prototype.__tryOrSetError=function(t,e,n){if(!o.useDeprecatedSynchronousErrorHandling)throw new Error(\"bad call\");try{e.call(this._context,n)}catch(e){return o.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=e,t.syncErrorThrown=!0,!0):(i(e),!0)}return!1},r.prototype._unsubscribe=function(){var t=this._parentSubscriber;this._context=null,this._parentSubscriber=null,t.unsubscribe()},r}(b),v=function(){return\"function\"==typeof Symbol&&Symbol.observable||\"@@observable\"}();function w(t){return t}var g=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var r=this.operator,i=function(t,e,n){if(t){if(t instanceof b)return t;if(t[y])return t[y]()}return t||e||n?new b(t,e,n):new b(a)}(t,e,n);if(r?i.add(r.call(i,this.source)):i.add(this.source||o.useDeprecatedSynchronousErrorHandling&&!i.syncErrorThrowable?this._subscribe(i):this._trySubscribe(i)),o.useDeprecatedSynchronousErrorHandling&&i.syncErrorThrowable&&(i.syncErrorThrowable=!1,i.syncErrorThrown))throw i.syncErrorValue;return i},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){o.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){var e=t,n=e.closed,r=e.destination,o=e.isStopped;if(n||o)return!1;t=r&&r instanceof b?r:null}return!0}(t)?t.error(e):console.warn(e)}},t.prototype.forEach=function(t,e){var n=this;return new(e=E(e))((function(e,r){var o;o=n.subscribe((function(e){try{t(e)}catch(t){r(t),o&&o.unsubscribe()}}),r,e)}))},t.prototype._subscribe=function(t){var e=this.source;return e&&e.subscribe(t)},t.prototype[v]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 0===t.length?this:(0===(n=t).length?w:1===n.length?n[0]:function(t){return n.reduce((function(t,e){return e(t)}),t)})(this);var n},t.prototype.toPromise=function(t){var e=this;return new(t=E(t))((function(t,n){var r;e.subscribe((function(t){return r=t}),(function(t){return n(t)}),(function(){return t(r)}))}))},t.create=function(e){return new t(e)},t}();function E(t){if(t||(t=o.Promise||Promise),!t)throw new Error(\"no Promise impl found\");return t}const S=\"object\"==typeof global&&global&&global.Object===Object&&global;var O=\"object\"==typeof self&&self&&self.Object===Object&&self;const _=(S||O||Function(\"return this\")()).Symbol;var P=Object.prototype,T=P.hasOwnProperty,A=P.toString,j=_?_.toStringTag:void 0;var x=Object.prototype.toString;var D=_?_.toStringTag:void 0;const N=function(t){return null==t?void 0===t?\"[object Undefined]\":\"[object Null]\":D&&D in Object(t)?function(t){var e=T.call(t,j),n=t[j];try{t[j]=void 0;var r=!0}catch(t){}var o=A.call(t);return r&&(e?t[j]=n:delete t[j]),o}(t):function(t){return x.call(t)}(t)},U=(M=Object.getPrototypeOf,C=Object,function(t){return M(C(t))});var M,C;var k=Function.prototype,L=Object.prototype,I=k.toString,R=L.hasOwnProperty,B=I.call(Object);const G=function(t){if(!function(t){return null!=t&&\"object\"==typeof t}(t)||\"[object Object]\"!=N(t))return!1;var e=U(t);if(null===e)return!0;var n=R.call(e,\"constructor\")&&e.constructor;return\"function\"==typeof n&&n instanceof n&&I.call(n)==B};var $=s(824),V=s(513),W=s(385);(0,W.createGlobalStore)(\"breadcrumbs\",[]);var F=Object.freeze({__proto__:null,get start(){return Te},get ensureJQuerySupport(){return te},get setBootstrapMaxTime(){return Ct},get setMountMaxTime(){return kt},get setUnmountMaxTime(){return Lt},get setUnloadMaxTime(){return It},get registerApplication(){return pe},get unregisterApplication(){return de},get getMountedApps(){return ae},get getAppStatus(){return le},get unloadApplication(){return ye},get checkActivityFunctions(){return he},get getAppNames(){return ce},get pathToActiveWhen(){return ve},get navigateToUrl(){return Ft},get patchHistoryApi(){return Qt},get triggerAppChange(){return Se},get addErrorHandler(){return K},get removeErrorHandler(){return q},get mountRootParcel(){return xt},get NOT_LOADED(){return Z},get LOADING_SOURCE_CODE(){return tt},get NOT_BOOTSTRAPPED(){return et},get BOOTSTRAPPING(){return nt},get NOT_MOUNTED(){return rt},get MOUNTING(){return ot},get UPDATING(){return st},get LOAD_ERROR(){return ct},get MOUNTED(){return it},get UNLOADING(){return at},get UNMOUNTING(){return ut},get SKIP_BECAUSE_BROKEN(){return lt}}),H=(\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{}).CustomEvent,J=function(){try{var t=new H(\"cat\",{detail:{foo:\"bar\"}});return\"cat\"===t.type&&\"bar\"===t.detail.foo}catch(t){}return!1}()?H:\"undefined\"!=typeof document&&\"function\"==typeof document.createEvent?function(t,e){var n=document.createEvent(\"CustomEvent\");return e?n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail):n.initCustomEvent(t,!1,!1,void 0),n}:function(t,e){var n=document.createEventObject();return n.type=t,e?(n.bubbles=Boolean(e.bubbles),n.cancelable=Boolean(e.cancelable),n.detail=e.detail):(n.bubbles=!1,n.cancelable=!1,n.detail=void 0),n};let z=[];function Y(t,e,n){const r=X(t,e,n);z.length?z.forEach((t=>t(r))):setTimeout((()=>{throw r}))}function K(t){if(\"function\"!=typeof t)throw Error(Q(28,!1));z.push(t)}function q(t){if(\"function\"!=typeof t)throw Error(Q(29,!1));let e=!1;return z=z.filter((n=>{const r=n===t;return e=e||r,!r})),e}function Q(t,e,...n){return`single-spa minified message #${t}: ${e?e+\" \":\"\"}See https://single-spa.js.org/error/?code=${t}${n.length?`&arg=${n.join(\"&arg=\")}`:\"\"}`}function X(t,e,n){const r=`${yt(e)} '${ht(e)}' died in status ${e.status}: `;let o;if(t instanceof Error){try{t.message=r+t.message}catch(t){}o=t}else{console.warn(Q(30,!1,e.status,ht(e)));try{o=Error(r+JSON.stringify(t))}catch(e){o=t}}return o.appOrParcelName=ht(e),e.status=n,o}const Z=\"NOT_LOADED\",tt=\"LOADING_SOURCE_CODE\",et=\"NOT_BOOTSTRAPPED\",nt=\"BOOTSTRAPPING\",rt=\"NOT_MOUNTED\",ot=\"MOUNTING\",it=\"MOUNTED\",st=\"UPDATING\",ut=\"UNMOUNTING\",at=\"UNLOADING\",ct=\"LOAD_ERROR\",lt=\"SKIP_BECAUSE_BROKEN\";function ft(t){return t.status===it}function pt(t){try{return t.activeWhen(window.location)}catch(e){return Y(e,t,lt),!1}}function ht(t){return t.name}function dt(t){return Boolean(t.unmountThisParcel)}function yt(t){return dt(t)?\"parcel\":\"application\"}function bt(){for(let t=arguments.length-1;t>0;t--)for(let e in arguments[t])\"__proto__\"!==e&&(arguments[t-1][e]=arguments[t][e]);return arguments[0]}function mt(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return t[n];return null}function vt(t){return t&&(\"function\"==typeof t||(e=t,Array.isArray(e)&&!mt(e,(t=>\"function\"!=typeof t))));var e}function wt(t,e){let n=t[e]||[];n=Array.isArray(n)?n:[n],0===n.length&&(n=[()=>Promise.resolve()]);const r=yt(t),o=ht(t);return function(t){return n.reduce(((n,i,s)=>n.then((()=>{const n=i(t);return gt(n)?n:Promise.reject(Q(15,!1,r,o,e,s))}))),Promise.resolve())}}function gt(t){return t&&\"function\"==typeof t.then&&\"function\"==typeof t.catch}let Et=[];function St(t,e){return Promise.resolve().then((()=>t.status!==et?t:(t.status=nt,t.bootstrap?Rt(t,\"bootstrap\").then(n).catch((n=>{if(e)throw X(n,t,lt);return Y(n,t,lt),t})):Promise.resolve().then(n))));function n(){return t.status=rt,t}}function Ot(t,e){return Promise.resolve().then((()=>{if(t.status!==it)return t;t.status=ut;const n=Object.keys(t.parcels).map((e=>t.parcels[e].unmountThisParcel()));return Promise.all(n).then(r,(n=>r().then((()=>{const r=Error(n.message);if(e)throw X(r,t,lt);Y(r,t,lt)})))).then((()=>t));function r(){return Rt(t,\"unmount\").then((()=>{t.status=rt}),(n=>{if(e)throw X(n,t,lt);Y(n,t,lt)}))}}))}let _t=!1,Pt=!1;function Tt(t,e){return Promise.resolve().then((()=>t.status!==rt?t:(_t||(window.dispatchEvent(new J(\"single-spa:before-first-mount\")),_t=!0),t.status=ot,Rt(t,\"mount\").then((()=>(t.status=it,Pt||(window.dispatchEvent(new J(\"single-spa:first-mount\")),Pt=!0),t))).catch((n=>{return t.status=it,Ot(t,!0).then(r,r);function r(){if(e)throw X(n,t,lt);return Y(n,t,lt),t}})))))}let At=0;const jt={parcels:{}};function xt(){return Dt.apply(jt,arguments)}function Dt(t,e){const n=this;if(!t||\"object\"!=typeof t&&\"function\"!=typeof t)throw Error(Q(2,!1));if(t.name&&\"string\"!=typeof t.name)throw Error(Q(3,!1,typeof t.name));const r=At++;let o=t.name||`parcel-${r}`;if(\"object\"!=typeof e)throw Error(Q(4,!1,o,typeof e));if(!e.domElement)throw Error(Q(5,!1,o));const i=\"function\"==typeof t,s=i?t:()=>Promise.resolve(t),u={id:r,parcels:{},status:i?tt:et,customProps:e,parentName:ht(n),unmountThisParcel:()=>f.then((()=>{if(u.status!==it)throw Error(Q(6,!1,o,u.status));return Ot(u,!0)})).then((t=>(u.parentName&&delete n.parcels[u.id],t))).then((t=>(p(t),t))).catch((t=>{throw u.status=lt,h(t),t}))};let a;n.parcels[r]=u;let c=s();if(!c||\"function\"!=typeof c.then)throw Error(Q(7,!1));c=c.then((t=>{if(!t)throw Error(Q(8,!1));if(o=t.name||`parcel-${r}`,Object.prototype.hasOwnProperty.call(t,\"bootstrap\")&&!vt(t.bootstrap))throw Error(Q(9,!1,o));if(!vt(t.mount))throw Error(Q(10,!1,o));if(!vt(t.unmount))throw Error(Q(11,!1,o));if(t.update&&!vt(t.update))throw Error(Q(12,!1,o));const e=wt(t,\"bootstrap\"),n=wt(t,\"mount\"),i=wt(t,\"unmount\");u.status=et,u.name=o,u.bootstrap=e,u.mount=n,u.unmount=i,u.timeouts=Bt(t.timeouts),t.update&&(u.update=wt(t,\"update\"),a.update=function(t){return u.customProps=t,Nt((e=u,Promise.resolve().then((()=>{if(e.status!==it)throw Error(Q(32,!1,ht(e)));return e.status=st,Rt(e,\"update\").then((()=>(e.status=it,e))).catch((t=>{throw X(t,e,lt)}))}))));var e})}));const l=c.then((()=>St(u,!0))),f=l.then((()=>Tt(u,!0)));let p,h;const d=new Promise(((t,e)=>{p=t,h=e}));return a={mount:()=>Nt(Promise.resolve().then((()=>{if(u.status!==rt)throw Error(Q(13,!1,o,u.status));return n.parcels[r]=u,Tt(u)}))),unmount:()=>Nt(u.unmountThisParcel()),getStatus:()=>u.status,loadPromise:Nt(c),bootstrapPromise:Nt(l),mountPromise:Nt(f),unmountPromise:Nt(d)},a}function Nt(t){return t.then((()=>null))}function Ut(t){const e=ht(t);let n=\"function\"==typeof t.customProps?t.customProps(e,window.location):t.customProps;(\"object\"!=typeof n||null===n||Array.isArray(n))&&(n={},console.warn(Q(40,!1),e,n));const r=bt({},n,{name:e,mountParcel:Dt.bind(t),singleSpa:F});return dt(t)&&(r.unmountSelf=t.unmountThisParcel),r}const Mt={bootstrap:{millis:4e3,dieOnTimeout:!1,warningMillis:1e3},mount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unmount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unload:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},update:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3}};function Ct(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(Q(16,!1));Mt.bootstrap={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function kt(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(Q(17,!1));Mt.mount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function Lt(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(Q(18,!1));Mt.unmount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function It(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(Q(19,!1));Mt.unload={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function Rt(t,e){const n=t.timeouts[e],r=n.warningMillis,o=yt(t);return new Promise(((i,s)=>{let u=!1,a=!1;t[e](Ut(t)).then((t=>{u=!0,i(t)})).catch((t=>{u=!0,s(t)})),setTimeout((()=>l(1)),r),setTimeout((()=>l(!0)),n.millis);const c=Q(31,!1,e,o,ht(t),n.millis);function l(t){if(!u)if(!0===t)a=!0,n.dieOnTimeout?s(Error(c)):console.error(c);else if(!a){const e=t,o=e*r;console.warn(c),o+r<n.millis&&setTimeout((()=>l(e+1)),r)}}}))}function Bt(t){const e={};for(let n in Mt)e[n]=bt({},Mt[n],t&&t[n]||{});return e}function Gt(t){return Promise.resolve().then((()=>{if(t.loadPromise)return t.loadPromise;if(t.status!==Z&&t.status!==ct)return t;let e,n;return t.status=tt,t.loadPromise=Promise.resolve().then((()=>{const r=t.loadApp(Ut(t));if(!gt(r))throw n=!0,Error(Q(33,!1,ht(t)));return r.then((n=>{let r;t.loadErrorTime=null,e=n,\"object\"!=typeof e&&(r=34),Object.prototype.hasOwnProperty.call(e,\"bootstrap\")&&!vt(e.bootstrap)&&(r=35),vt(e.mount)||(r=36),vt(e.unmount)||(r=37);const o=yt(e);if(r){let n;try{n=JSON.stringify(e)}catch(t){}return console.error(Q(r,!1,o,ht(t),n),e),Y(void 0,t,lt),t}return e.devtools&&e.devtools.overlays&&(t.devtools.overlays=bt({},t.devtools.overlays,e.devtools.overlays)),t.status=et,t.bootstrap=wt(e,\"bootstrap\"),t.mount=wt(e,\"mount\"),t.unmount=wt(e,\"unmount\"),t.unload=wt(e,\"unload\"),t.timeouts=Bt(e.timeouts),delete t.loadPromise,t}))})).catch((e=>{let r;return delete t.loadPromise,n?r=lt:(r=ct,t.loadErrorTime=(new Date).getTime()),Y(e,t,r),t}))}))}const $t=\"undefined\"!=typeof window,Vt={hashchange:[],popstate:[]},Wt=[\"hashchange\",\"popstate\"];function Ft(t){let e;if(\"string\"==typeof t)e=t;else if(this&&this.href)e=this.href;else{if(!(t&&t.currentTarget&&t.currentTarget.href&&t.preventDefault))throw Error(Q(14,!1));e=t.currentTarget.href,t.preventDefault()}const n=Xt(window.location.href),r=Xt(e);0===e.indexOf(\"#\")?window.location.hash=r.hash:n.host!==r.host&&r.host?window.location.href=e:r.pathname===n.pathname&&r.search===n.search?window.location.hash=r.hash:window.history.pushState(null,null,e)}function Ht(t){if(t){const e=t[0].type;Wt.indexOf(e)>=0&&Vt[e].forEach((e=>{try{e.apply(this,t)}catch(t){setTimeout((()=>{throw t}))}}))}}let Jt;function zt(){Oe([],arguments)}function Yt(t,e){return function(){const n=window.location.href,r=t.apply(this,arguments),o=window.location.href;return Jt&&n===o||window.dispatchEvent(function(t,e){let n;try{n=new PopStateEvent(\"popstate\",{state:t})}catch(e){n=document.createEvent(\"PopStateEvent\"),n.initPopStateEvent(\"popstate\",!1,!1,t)}return n.singleSpa=!0,n.singleSpaTrigger=e,n}(window.history.state,e)),r}}let Kt=null,qt=!1;function Qt(t){if(qt)throw Error(Q(43,!1));Jt=!t||!t.hasOwnProperty(\"urlRerouteOnly\")||t.urlRerouteOnly,qt=!0,Kt=window.history.replaceState,window.addEventListener(\"hashchange\",zt),window.addEventListener(\"popstate\",zt);const e=window.addEventListener,n=window.removeEventListener;window.addEventListener=function(t,n){if(!(\"function\"==typeof n&&Wt.indexOf(t)>=0)||mt(Vt[t],(t=>t===n)))return e.apply(this,arguments);Vt[t].push(n)},window.removeEventListener=function(t,e){if(!(\"function\"==typeof e&&Wt.indexOf(t)>=0))return n.apply(this,arguments);Vt[t]=Vt[t].filter((t=>t!==e))},window.history.pushState=Yt(window.history.pushState,\"pushState\"),window.history.replaceState=Yt(Kt,\"replaceState\")}function Xt(t){const e=document.createElement(\"a\");return e.href=t,e}$t&&(window.singleSpaNavigate?console.warn(Q(41,!1)):window.singleSpaNavigate=Ft);let Zt=!1;function te(t=window.jQuery){if(t||window.$&&window.$.fn&&window.$.fn.jquery&&(t=window.$),t&&!Zt){const e=t.fn.on,n=t.fn.off;t.fn.on=function(t,n){return ee.call(this,e,window.addEventListener,t,n,arguments)},t.fn.off=function(t,e){return ee.call(this,n,window.removeEventListener,t,e,arguments)},Zt=!0}}function ee(t,e,n,r,o){return\"string\"!=typeof n?t.apply(this,o):(n.split(/\\s+/).forEach((t=>{Wt.indexOf(t)>=0&&(e(t,r),n=n.replace(t,\"\"))})),\"\"===n.trim()?this:t.apply(this,o))}const ne={};function re(t){return Promise.resolve().then((()=>{const e=ne[ht(t)];if(!e)return t;if(t.status===Z)return oe(t,e),t;if(t.status===at)return e.promise.then((()=>t));if(t.status!==rt&&t.status!==ct)return t;const n=t.status===ct?Promise.resolve():Rt(t,\"unload\");return t.status=at,n.then((()=>(oe(t,e),t))).catch((n=>(function(t,e,n){delete ne[ht(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,Y(n,t,lt),e.reject(n)}(t,e,n),t)))}))}function oe(t,e){delete ne[ht(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,t.status=Z,e.resolve()}function ie(t,e,n,r){ne[ht(t)]={app:t,resolve:n,reject:r},Object.defineProperty(ne[ht(t)],\"promise\",{get:e})}function se(t){return ne[t]}const ue=[];function ae(){return ue.filter(ft).map(ht)}function ce(){return ue.map(ht)}function le(t){const e=mt(ue,(e=>ht(e)===t));return e?e.status:null}let fe=!1;function pe(t,e,n,r){const o=function(t,e,n,r){const o={name:null,loadApp:null,activeWhen:null,customProps:null};return\"object\"==typeof t?(function(t){if(Array.isArray(t)||null===t)throw Error(Q(39,!1));const e=[\"name\",\"app\",\"activeWhen\",\"customProps\"],n=Object.keys(t).reduce(((t,n)=>e.indexOf(n)>=0?t:t.concat(n)),[]);if(0!==n.length)throw Error(Q(38,!1,e.join(\", \"),n.join(\", \")));if(\"string\"!=typeof t.name||0===t.name.length)throw Error(Q(20,!1));if(\"object\"!=typeof t.app&&\"function\"!=typeof t.app)throw Error(Q(20,!1));const r=t=>\"string\"==typeof t||\"function\"==typeof t;if(!(r(t.activeWhen)||Array.isArray(t.activeWhen)&&t.activeWhen.every(r)))throw Error(Q(24,!1));if(!me(t.customProps))throw Error(Q(22,!1))}(t),o.name=t.name,o.loadApp=t.app,o.activeWhen=t.activeWhen,o.customProps=t.customProps):(function(t,e,n,r){if(\"string\"!=typeof t||0===t.length)throw Error(Q(20,!1));if(!e)throw Error(Q(23,!1));if(\"function\"!=typeof n)throw Error(Q(24,!1));if(!me(r))throw Error(Q(22,!1))}(t,e,n,r),o.name=t,o.loadApp=e,o.activeWhen=n,o.customProps=r),o.loadApp=\"function\"!=typeof(i=o.loadApp)?()=>Promise.resolve(i):i,o.customProps=function(t){return t||{}}(o.customProps),o.activeWhen=function(t){let e=Array.isArray(t)?t:[t];return e=e.map((t=>\"function\"==typeof t?t:ve(t))),t=>e.some((e=>e(t)))}(o.activeWhen),o;var i}(t,e,n,r);if(Ae()||fe||(fe=!0,setTimeout((()=>{Ae()||console.warn(Q(1,!1))}),5e3)),-1!==ce().indexOf(o.name))throw Error(Q(21,!1,o.name));ue.push(bt({loadErrorTime:null,status:Z,parcels:{},devtools:{overlays:{options:{},selectors:[]}}},o)),$t&&(te(),Oe())}function he(t=window.location){return ue.filter((e=>e.activeWhen(t))).map(ht)}function de(t){if(0===ue.filter((e=>ht(e)===t)).length)throw Error(Q(25,!1,t));return($t?ye(t,{waitForUnmount:!1}):Promise.resolve()).then((()=>{const e=ue.map(ht).indexOf(t);ue.splice(e,1)}))}function ye(t,e={waitForUnmount:!1}){if(\"string\"!=typeof t)throw Error(Q(26,!1));const n=mt(ue,(e=>ht(e)===t));if(!n)throw Error(Q(27,!1,t));const r=se(ht(n));if(e&&e.waitForUnmount){if(r)return r.promise;{const t=new Promise(((e,r)=>{ie(n,(()=>t),e,r)}));return t}}{let t;return r?(t=r.promise,be(n,r.resolve,r.reject)):t=new Promise(((e,r)=>{ie(n,(()=>t),e,r),be(n,e,r)})),t}}function be(t,e,n){Promise.resolve().then((()=>{if(mt(he(),(e=>e===ht(t))))return Se()})).then((()=>Ot(t).then(re).then((()=>{e(),setTimeout((()=>{Oe()}))})))).catch(n)}function me(t){return!t||\"function\"==typeof t||\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function ve(t,e){const n=function(t,e){let n=0,r=!1,o=\"^\";\"/\"!==t[0]&&(t=\"/\"+t);for(let e=0;e<t.length;e++){const n=t[e];(!r&&\":\"===n||r&&\"/\"===n)&&i(e)}return i(t.length),new RegExp(o,\"i\");function i(i){const s=t.slice(n,i).replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\");if(o+=r?\"[^/]+/?\":s,i===t.length)if(r)e&&(o+=\"$\");else{const t=e?\"\":\".*\";o=\"/\"===o.charAt(o.length-1)?`${o}${t}$`:`${o}(/${t})?(#.*)?$`}r=!r,n=i}}(t,e);return t=>{let e=t.origin;e||(e=`${t.protocol}//${t.host}`);const r=t.href.replace(e,\"\").replace(t.search,\"\").split(\"?\")[0];return n.test(r)}}let we=!1,ge=[],Ee=$t&&window.location.href;function Se(){return Oe()}function Oe(t=[],e,n=!1){if(we)return new Promise(((t,n)=>{ge.push({resolve:t,reject:n,eventArguments:e})}));const{appsToUnload:r,appsToUnmount:o,appsToLoad:i,appsToMount:s}=function(){const t=[],e=[],n=[],r=[],o=(new Date).getTime();return ue.forEach((i=>{const s=i.status!==lt&&pt(i);switch(i.status){case ct:s&&o-i.loadErrorTime>=200&&n.push(i);break;case Z:case tt:s&&n.push(i);break;case et:case rt:!s&&se(ht(i))?t.push(i):s&&r.push(i);break;case it:s||e.push(i)}})),{appsToUnload:t,appsToUnmount:e,appsToLoad:n,appsToMount:r}}();let u,a=[],c=Ee,l=Ee=window.location.href;return Ae()?(we=!0,u=r.concat(i,o,s),Promise.resolve().then((()=>(y(0===u.length?\"before-no-app-change\":\"before-app-change\",d(!0)),y(\"before-routing-event\",d(!0,{cancelNavigation:f})),Promise.all(a).then((n=>{if(n.some((t=>t)))return Kt.call(window.history,history.state,\"\",c.substring(location.origin.length)),Ee=location.href,we=!1,Oe(t,e,!0);const u=r.map(re),a=o.map(Ot).map((t=>t.then(re))).concat(u),l=Promise.all(a);l.then((()=>{y(\"before-mount-routing-event\",d(!0))}),(t=>{throw t}));const f=i.map((t=>Gt(t).then((t=>_e(t,l))))),b=s.filter((t=>i.indexOf(t)<0)).map((t=>_e(t,l)));return l.catch((t=>{throw h(),t})).then((()=>(h(),Promise.all(f.concat(b)).catch((e=>{throw t.forEach((t=>t.reject(e))),e})).then(p).then((()=>{}),(t=>{throw t})))))})))))):(u=i,Promise.resolve().then((()=>{const t=i.map(Gt);return Promise.all(t).then(h).then((()=>[])).catch((t=>{throw h(),t})).finally((()=>{}))})));function f(t=!0){const e=\"function\"==typeof(null==t?void 0:t.then)?t:Promise.resolve(t);a.push(e.catch((t=>(console.warn(Error(Q(42,!1))),console.warn(t),!1))))}function p(){const e=ae();t.forEach((t=>t.resolve(e)));try{y(0===u.length?\"no-app-change\":\"app-change\",d()),y(\"routing-event\",d())}catch(t){setTimeout((()=>{throw t}))}if(we=!1,ge.length>0){const t=ge;ge=[],Oe(t)}return e}function h(){n||(t.forEach((t=>{Ht(t.eventArguments)})),Ht(e))}function d(t=!1,n){const a={},f={[it]:[],[rt]:[],[Z]:[],[lt]:[]};t?(i.concat(s).forEach(((t,e)=>{h(t,it)})),r.forEach((t=>{h(t,Z)})),o.forEach((t=>{h(t,rt)}))):u.forEach((t=>{h(t)}));const p={detail:{newAppStatuses:a,appsByNewStatus:f,totalAppChanges:u.length,originalEvent:null==e?void 0:e[0],oldUrl:c,newUrl:l}};return n&&bt(p.detail,n),p;function h(t,e){const n=ht(t);e=e||le(n),a[n]=e,(f[e]=f[e]||[]).push(n)}}function y(t,e){n||window.dispatchEvent(new J(`single-spa:${t}`,e))}}function _e(t,e){return pt(t)?St(t).then((t=>e.then((()=>pt(t)?Tt(t):t)))):e.then((()=>t))}let Pe=!1;function Te(t){Pe=!0,$t&&(Qt(t),Oe())}function Ae(){return Pe}var je={getRawAppData:function(){return[...ue]},reroute:Oe,NOT_LOADED:Z,toLoadPromise:Gt,toBootstrapPromise:St,unregisterApplication:de,getProfilerData:function(){return Et}};$t&&window.__SINGLE_SPA_DEVTOOLS__&&(window.__SINGLE_SPA_DEVTOOLS__.exposedMethods=je);var xe=\"openmrs:history\";function De(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}function Ne(t,e,n,r,o,i,s){try{var u=t[i](s),a=u.value}catch(t){return void n(t)}u.done?e(a):Promise.resolve(a).then(r,o)}function Ue(t,e,n){return Ue=Ie()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var o=new(Function.bind.apply(t,r));return n&&ke(o,n.prototype),o},Ue.apply(null,arguments)}function Me(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Ce(t){return Ce=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},Ce(t)}function ke(t,e){return ke=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},ke(t,e)}function Le(t){var e=\"function\"==typeof Map?new Map:void 0;return Le=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf(\"[native code]\")))return t;var n;if(\"function\"!=typeof t)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return Ue(t,arguments,Ce(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),ke(r,t)},Le(t)}function Ie(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}var Re=\"/ws/rest/v1\",Be=\"/ws/fhir2/R4\",Ge=\"\".concat(Re,\"/session\");function $e(t){return t&&t.startsWith(\"http\")?t:(\"/\"!==t[0]&&(t=\"/\"+t),window.openmrsBase+t)}function Ve(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"string\"!=typeof t)throw Error(\"The first argument to @openmrs/api's openmrsFetch function must be a url string\");if(\"object\"!=typeof e)throw Error(\"The second argument to @openmrs/api's openmrsFetch function must be a plain object.\");if(!window.openmrsBase)throw Error(\"@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.\");var n=$e(t);if(e.headers||(e.headers={}),G(e.body)&&(e.body=JSON.stringify(e.body)),void 0===e.headers.Accept&&(e.headers.Accept=\"application/json\"),null===e.headers.Accept&&delete e.headers.Accept,t.startsWith(Re)&&void 0===e.headers[\"Disable-WWW-Authenticate\"]&&(e.headers[\"Disable-WWW-Authenticate\"]=\"true\"),t.startsWith(Be)){var r=new URL(n,window.location.toString());r.searchParams.has(\"_summary\")||(r.searchParams.set(\"_summary\",\"data\"),n=r.toString())}var o,i,s=Error();return window.fetch(n,e).then((o=function(t){var e,r;return function(t,e){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}(this,(function(o){switch(o.label){case 0:return(e=t).ok?204===e.status?(e.data=null,[2,e]):[2,e.clone().text().then((function(t){try{t&&(e.data=JSON.parse(t))}catch(t){}return e}))]:[3,1];case 1:return[4,(0,$.getConfig)(\"@openmrs/esm-api\")];case 2:return r=o.sent().redirectAuthFailure,n===$e(Ge)&&403===e.status||r.enabled&&r.errors.includes(e.status)?(sessionStorage.removeItem(xe),(0,V.navigate)({to:r.url}),[2,r.resolvePromise?Promise.resolve():new Promise((function(){}))]):[2,e.clone().text().then((function(t){var r=t;try{r=JSON.parse(t)}catch(t){}throw new Fe(n,e,r,s)}),(function(t){throw new Fe(n,e,null,s)}))];case 3:return[2]}}))},i=function(){var t=this,e=arguments;return new Promise((function(n,r){var i=o.apply(t,e);function s(t){Ne(i,n,r,s,u,\"next\",t)}function u(t){Ne(i,n,r,s,u,\"throw\",t)}s(void 0)}))},function(t){return i.apply(this,arguments)}))}function We(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"object\"!=typeof e)throw Error(\"The second argument to openmrsObservableFetch must be either omitted or an object\");var n=new AbortController;return e.signal=n.signal,new g((function(r){var o=!1;return Ve(t,e).then((function(t){o=!0,r.next(t),r.complete()}),(function(t){o=!0,r.error(t)})),function(){o||n.abort()}}))}var Fe=function(t){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ke(t,e)}(o,t);var e,n,r=(e=o,n=Ie(),function(){var t,r=Ce(e);if(n){var o=Ce(this).constructor;t=Reflect.construct(r,arguments,o)}else t=r.apply(this,arguments);return function(t,e){return!e||\"object\"!=((n=e)&&\"undefined\"!=typeof Symbol&&n.constructor===Symbol?\"symbol\":typeof n)&&\"function\"!=typeof e?De(t):e;var n}(this,t)});function o(t,e,n,i){var s;return function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,o),Me(De(s=r.call(this)),\"response\",void 0),Me(De(s),\"responseBody\",void 0),s.message=\"Server responded with \".concat(e.status,\" (\").concat(e.statusText,\") for url \").concat(t,\". Check err.responseBody or network tab in dev tools for more info\"),i.message=s.message,s.responseBody=n,s.response=e,s.stack=\"Stacktrace for outgoing request:\\n\".concat(i.stack,\"\\nStacktrace for incoming response:\\n\").concat(s.stack),s}return o}(Le(Error));function He(t,e,n,r,o,i,s){try{var u=t[i](s),a=u.value}catch(t){return void n(t)}u.done?e(a):Promise.resolve(a).then(r,o)}var Je=\"\".concat(Re,\"/attachment\");function ze(t,e){return Ve(\"\".concat(Je,\"/\").concat(t),{signal:e.signal})}function Ye(t,e,n){return Ve(\"\".concat(Je,\"?patient=\").concat(t,\"&includeEncounterless=\").concat(e),{signal:n.signal})}function Ke(t,e){return qe.apply(this,arguments)}function qe(){var t;return t=function(t,e){var n;return function(t,e){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}(this,(function(r){return(n=new FormData).append(\"fileCaption\",e.fileDescription),n.append(\"patient\",t),e.file?n.append(\"file\",e.file):(n.append(\"file\",new File([\"\"],e.fileName),e.fileName),n.append(\"base64Content\",e.base64Content)),[2,Ve(\"\".concat(Je),{method:\"POST\",body:n})]}))},qe=function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function s(t){He(i,r,o,s,u,\"next\",t)}function u(t){He(i,r,o,s,u,\"throw\",t)}s(void 0)}))},qe.apply(this,arguments)}function Qe(t,e){return Ve(\"\".concat(Je,\"/\").concat(t),{method:\"DELETE\",signal:e.signal})}var Xe=s(254);const Ze=function(t){return void 0===t};function tn(t,e,n,r,o,i,s){try{var u=t[i](s),a=u.value}catch(t){return void n(t)}u.done?e(a):Promise.resolve(a).then(r,o)}function en(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function s(t){tn(i,r,o,s,u,\"next\",t)}function u(t){tn(i,r,o,s,u,\"throw\",t)}s(void 0)}))}}function nn(t,e){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}var rn=(0,W.createGlobalStore)(\"session\",{loaded:!1,session:null}),on=0;function sn(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{includeAuthStatus:!0};return(on<Date.now()-6e4||!rn.getState().loaded)&&cn(),new g((function(e){var n=function(n){var r;n.loaded&&(t.includeAuthStatus?e.next(n.session):e.next(null===(r=n.session)||void 0===r?void 0:r.user))};return n(rn.getState()),rn.subscribe(n)}))}function un(){return(on<Date.now()-6e4||!rn.getState().loaded)&&cn(),rn}function an(t){var e,n,r,o=null!==(r=null==t||null===(e=t.user)||void 0===e||null===(n=e.userProperties)||void 0===n?void 0:n.defaultLocale)&&void 0!==r?r:t.locale,i=document.documentElement.getAttribute(\"lang\");(function(t){if(void 0===t||\"string\"!=typeof t)return!1;try{new Intl.Locale(t)}catch(t){return!1}return!0})(o)&&o!==i&&document.documentElement.setAttribute(\"lang\",o)}function cn(t,e){on=Date.now();var n={};return t&&e&&(n.Authorization=\"Basic \".concat(window.btoa(\"\".concat(t,\":\").concat(e)))),vn(Ve(Ge,{headers:n}))}function ln(){rn.setState({loaded:!0,session:{authenticated:!1,sessionId:\"\"}})}function fn(t,e){return void 0===e?Boolean(t):!Boolean(t)||function(t,e){return\"string\"==typeof t?!Ze(e.privileges.find((function(e){return t===e.display}))):Array.isArray(t)?t.every((function(t){return!Ze(e.privileges.find((function(e){return t===e.display})))})):(Ze(t)||console.error('Could not understand privileges \"'.concat(t,'\"')),!0)}(t,e)||function(t){return!Ze(t.roles.find((function(t){return\"System Developer\"===t.display})))}(e)}function pn(){var t,e;return new Promise((function(n){var r=function(r){r.loaded&&r.session.user&&(t=r.session.user,n(r.session.user),e&&e())};r(rn.getState()),t||(e=rn.subscribe(r))}))}function hn(){return new Promise((function(t,e){sn().subscribe((function(e){t(e.sessionLocation)}),e).unsubscribe()}))}function dn(t,e){return yn.apply(this,arguments)}function yn(){return(yn=en((function(t,e){return nn(this,(function(n){return[2,vn(Ve(Ge,{method:\"POST\",body:{sessionLocation:t},headers:{\"Content-Type\":\"application/json\"},signal:e.signal}))]}))}))).apply(this,arguments)}function bn(t,e,n){return mn.apply(this,arguments)}function mn(){return(mn=en((function(t,e,n){return nn(this,(function(r){switch(r.label){case 0:return n||(n=new AbortController),[4,Ve(\"\".concat(Re,\"/user/\").concat(t),{method:\"POST\",body:{userProperties:e},headers:{\"Content-Type\":\"application/json\"},signal:n.signal})];case 1:return r.sent(),[2,cn()]}}))}))).apply(this,arguments)}function vn(t){return new Promise((function(e,n){t.then((function(t){var r;\"object\"==typeof(null==t?void 0:t.data)?(r={loaded:!0,session:t.data},rn.setState(r),e(r)):(r={loaded:!1,session:null},rn.setState(r),n(r))})).catch((function(t){(0,Xe.reportError)(\"Failed to fetch new session information: \".concat(t));var e={loaded:!1,session:null};rn.setState(e),n(e)}))}))}function wn(){(0,$.defineConfigSchema)(\"@openmrs/esm-api\",{redirectAuthFailure:{enabled:{_type:$.Type.Boolean,_default:!0,_description:\"Whether to redirect logged-out users to `redirectAuthFailure.url`\"},url:{_type:$.Type.String,_default:\"${openmrsSpaBase}/login\",_validators:[$.validators.isUrl]},errors:{_type:$.Type.Array,_default:[401],_elements:{_type:$.Type.Number,_validators:[$.validators.inRange(100,600)]},_description:\"The HTTP error codes for which users will be redirected\"},resolvePromise:{_type:$.Type.Boolean,_default:!1,_description:\"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly.\"}}}),cn()}rn.subscribe((function(t){return t.session&&an(t.session)}));var gn=s(738);function En(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Sn(t,e,n,r,o,i,s){try{var u=t[i](s),a=u.value}catch(t){return void n(t)}u.done?e(a):Promise.resolve(a).then(r,o)}function On(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function s(t){Sn(i,r,o,s,u,\"next\",t)}function u(t){Sn(i,r,o,s,u,\"throw\",t)}s(void 0)}))}}function _n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var r,o,i=[],s=!0,u=!1;try{for(n=n.call(t);!(s=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);s=!0);}catch(t){u=!0,o=t}finally{try{s||null==n.return||n.return()}finally{if(u)throw o}}return i}}(t,e)||function(t,e){if(t){if(\"string\"==typeof t)return En(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(n):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?En(t,e):void 0}}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Pn(t,e){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function Tn(t,e){return An.apply(this,arguments)}function An(){return An=On((function(t,e){var n,r,o,i,s,u=arguments;return Pn(this,(function(a){switch(a.label){case 0:return n=!(u.length>2&&void 0!==u[2])||u[2],t?(r=null,[4,Promise.all([Ve(\"\".concat(Be,\"/Patient/\").concat(t),e).catch((function(t){return r=t})),n?jn(t):Promise.resolve(null)])]):[3,2];case 1:if(o=_n.apply(void 0,[a.sent(),2]),i=o[0],s=o[1],i.ok)return[2,i.data];if(s)return[2,s];if(r)throw r;a.label=2;case 2:return[2,null]}}))})),An.apply(this,arguments)}function jn(t){return xn.apply(this,arguments)}function xn(){return(xn=On((function(t){var e,n,r;return Pn(this,(function(o){switch(o.label){case 0:return[4,(0,gn.getSynchronizationItems)(\"patient-registration\")];case 1:return e=o.sent(),n=e.find((function(e){return e.fhirPatient.id===t})),[2,null!==(r=null==n?void 0:n.fhirPatient)&&void 0!==r?r:null]}}))}))).apply(this,arguments)}var Dn=function(){function t(){return Error.call(this),this.message=\"object unsubscribed\",this.name=\"ObjectUnsubscribedError\",this}return t.prototype=Object.create(Error.prototype),t}(),Nn=function(t){function n(e,n){var r=t.call(this)||this;return r.subject=e,r.subscriber=n,r.closed=!1,r}return e(n,t),n.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,e=t.observers;if(this.subject=null,e&&0!==e.length&&!t.isStopped&&!t.closed){var n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}},n}(h),Un=function(t){function n(e){var n=t.call(this,e)||this;return n.destination=e,n}return e(n,t),n}(b),Mn=function(t){function n(){var e=t.call(this)||this;return e.observers=[],e.closed=!1,e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return e(n,t),n.prototype[y]=function(){return new Un(this)},n.prototype.lift=function(t){var e=new Cn(this,this);return e.operator=t,e},n.prototype.next=function(t){if(this.closed)throw new Dn;if(!this.isStopped)for(var e=this.observers,n=e.length,r=e.slice(),o=0;o<n;o++)r[o].next(t)},n.prototype.error=function(t){if(this.closed)throw new Dn;this.hasError=!0,this.thrownError=t,this.isStopped=!0;for(var e=this.observers,n=e.length,r=e.slice(),o=0;o<n;o++)r[o].error(t);this.observers.length=0},n.prototype.complete=function(){if(this.closed)throw new Dn;this.isStopped=!0;for(var t=this.observers,e=t.length,n=t.slice(),r=0;r<e;r++)n[r].complete();this.observers.length=0},n.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},n.prototype._trySubscribe=function(e){if(this.closed)throw new Dn;return t.prototype._trySubscribe.call(this,e)},n.prototype._subscribe=function(t){if(this.closed)throw new Dn;return this.hasError?(t.error(this.thrownError),h.EMPTY):this.isStopped?(t.complete(),h.EMPTY):(this.observers.push(t),new Nn(this,t))},n.prototype.asObservable=function(){var t=new g;return t.source=this,t},n.create=function(t,e){return new Cn(t,e)},n}(g),Cn=function(t){function n(e,n){var r=t.call(this)||this;return r.destination=e,r.source=n,r}return e(n,t),n.prototype.next=function(t){var e=this.destination;e&&e.next&&e.next(t)},n.prototype.error=function(t){var e=this.destination;e&&e.error&&this.destination.error(t)},n.prototype.complete=function(){var t=this.destination;t&&t.complete&&this.destination.complete()},n.prototype._subscribe=function(t){return this.source?this.source.subscribe(t):h.EMPTY},n}(Mn),kn=function(t){function n(e){var n=t.call(this)||this;return n._value=e,n}return e(n,t),Object.defineProperty(n.prototype,\"value\",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),n.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},n.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new Dn;return this._value},n.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},n}(Mn),Ln=function(){function t(){return Error.call(this),this.message=\"argument out of range\",this.name=\"ArgumentOutOfRangeError\",this}return t.prototype=Object.create(Error.prototype),t}(),In=new g((function(t){return t.complete()}));function Rn(t){return function(e){return 0===t?n?function(t){return new g((function(e){return t.schedule((function(){return e.complete()}))}))}(n):In:e.lift(new Bn(t));var n}}var Bn=function(){function t(t){if(this.total=t,this.total<0)throw new Ln}return t.prototype.call=function(t,e){return e.subscribe(new Gn(t,this.total))},t}(),Gn=function(t){function n(e,n){var r=t.call(this,e)||this;return r.total=n,r.count=0,r}return e(n,t),n.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},n}(b);function $n(t,e){return function(n){if(\"function\"!=typeof t)throw new TypeError(\"argument is not a function. Are you looking for `mapTo()`?\");return n.lift(new Vn(t,e))}}var Vn=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new Wn(t,this.project,this.thisArg))},t}(),Wn=function(t){function n(e,n,r){var o=t.call(this,e)||this;return o.project=n,o.count=0,o.thisArg=r||o,o}return e(n,t),n.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(e)},n}(b),Fn=\"custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))\",Hn=function(){try{return JSON.parse(localStorage.getItem(\"openmrs:visitStoreState\")||\"null\")}catch(t){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function Jn(){return(0,W.getGlobalStore)(\"visit\",Hn)}function zn(t,e){Jn().setState({patientUuid:t,manuallySetVisitUuid:e})}function Yn(t,e,n){var r=null!=n?n:Fn;return We(\"\".concat(Re,\"/visit?patient=\").concat(t,\"&v=\").concat(r),{signal:e.signal,method:\"GET\",headers:{\"Content-type\":\"application/json\"}}).pipe(Rn(1)).pipe($n((function(t){return t})))}function Kn(t,e){return We(\"\".concat(Re,\"/visit\"),{signal:e.signal,method:\"POST\",headers:{\"Content-type\":\"application/json\"},body:t})}function qn(t,e,n){return We(\"\".concat(Re,\"/visit/\").concat(t),{signal:n.signal,method:\"POST\",headers:{\"Content-type\":\"application/json\"},body:e})}Jn().subscribe((function(t){var e;e=t,localStorage.setItem(\"openmrs:visitStoreState\",JSON.stringify(e))}));var Qn,Xn,Zn=new kn(null);function tr(t){return{uuid:t.uuid,display:t.display,name:t.name}}function er(){return We(\"\".concat(Re,\"/visittype\")).pipe($n((function(t){return t.data.results.map(tr)}))).pipe(Rn(1))}function nr(t){return{uuid:t.uuid,display:t.display}}function rr(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return We(\"\".concat(Re,\"/location\")+(t?\"?tag=\"+t:\"\")).pipe($n((function(t){return t.data.results.map(nr)}))).pipe(Rn(1))}!function(t){t.NEWVISIT=\"startVisit\",t.EDITVISIT=\"editVisit\",t.LOADING=\"loadingVisit\"}(Qn||(Qn={})),function(t){t.NOTSTARTED=\"notStarted\",t.ONGOING=\"ongoing\"}(Xn||(Xn={}));var or={\"webservices.rest\":\"2.24.0\",fhir2:\"1.0.0-SNAPSHOT\"}})(),u})())}}}));\n//# sourceMappingURL=openmrs-esm-api.js.map","System.register([\"@openmrs/esm-state\"],(function(e,t){var n={};return{setters:[function(e){n.createGlobalStore=e.createGlobalStore,n.getGlobalStore=e.getGlobalStore}],execute:function(){e((()=>{\"use strict\";var e={685:e=>{e.exports=n}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var o={};return(()=>{function e(e){return null!=e&&\"object\"==typeof e&&!0===e[\"@@functional/placeholder\"]}function t(t){return function n(r){return 0===arguments.length||e(r)?n:t.apply(this,arguments)}}function n(n){return function r(o,a){switch(arguments.length){case 0:return r;case 1:return e(o)?r:t((function(e){return n(o,e)}));default:return e(o)&&e(a)?r:e(o)?t((function(e){return n(e,a)})):e(a)?t((function(e){return n(o,e)})):n(o,a)}}}function a(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function i(e,t,n){for(var r=0,o=n.length;r<o;){if(e(t,n[r]))return!0;r+=1}return!1}function c(e,t){return Object.prototype.hasOwnProperty.call(t,e)}r.r(o),r.d(o,{Type:()=>L,clearConfigErrors:()=>We,configExtensionStore:()=>K,configInternalStore:()=>X,defineConfigSchema:()=>pe,defineExtensionConfigSchema:()=>me,getConfig:()=>Oe,getConfigStore:()=>Q,getExtensionConfig:()=>ne,getExtensionConfigFromStore:()=>re,getExtensionSlotConfig:()=>Y,getExtensionSlotConfigFromStore:()=>ee,getExtensionSlotsConfigStore:()=>V,getExtensionsConfigStore:()=>te,getTranslationOverrides:()=>je,implementerToolsConfigStore:()=>oe,inRange:()=>Ze,isUrl:()=>He,isUrlWithTemplateParameters:()=>Xe,oneOf:()=>Ke,processConfig:()=>we,provide:()=>Se,registerModuleWithConfigSystem:()=>be,registerTranslationNamespace:()=>he,temporaryConfigStore:()=>H,validator:()=>R,validators:()=>Qe});const u=\"function\"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t};var s=Object.prototype.toString,l=function(){return\"[object Arguments]\"===s.call(arguments)?function(e){return\"[object Arguments]\"===s.call(e)}:function(e){return c(\"callee\",e)}}();const f=l;var y=!{toString:null}.propertyIsEnumerable(\"toString\"),d=[\"constructor\",\"valueOf\",\"isPrototypeOf\",\"toString\",\"propertyIsEnumerable\",\"hasOwnProperty\",\"toLocaleString\"],v=function(){return arguments.propertyIsEnumerable(\"length\")}(),g=function(e,t){for(var n=0;n<e.length;){if(e[n]===t)return!0;n+=1}return!1};const p=\"function\"!=typeof Object.keys||v?t((function(e){if(Object(e)!==e)return[];var t,n,r=[],o=v&&f(e);for(t in e)!c(t,e)||o&&\"length\"===t||(r[r.length]=t);if(y)for(n=d.length-1;n>=0;)c(t=d[n],e)&&!g(r,t)&&(r[r.length]=t),n-=1;return r})):t((function(e){return Object(e)!==e?[]:Object.keys(e)})),b=t((function(e){return null===e?\"Null\":void 0===e?\"Undefined\":Object.prototype.toString.call(e).slice(8,-1)}));function h(e,t,n,r){var o=a(e);function c(e,t){return m(e,t,n.slice(),r.slice())}return!i((function(e,t){return!i(c,t,e)}),a(t),o)}function m(e,t,n,r){if(u(e,t))return!0;var o,a,i=b(e);if(i!==b(t))return!1;if(null==e||null==t)return!1;if(\"function\"==typeof e[\"fantasy-land/equals\"]||\"function\"==typeof t[\"fantasy-land/equals\"])return\"function\"==typeof e[\"fantasy-land/equals\"]&&e[\"fantasy-land/equals\"](t)&&\"function\"==typeof t[\"fantasy-land/equals\"]&&t[\"fantasy-land/equals\"](e);if(\"function\"==typeof e.equals||\"function\"==typeof t.equals)return\"function\"==typeof e.equals&&e.equals(t)&&\"function\"==typeof t.equals&&t.equals(e);switch(i){case\"Arguments\":case\"Array\":case\"Object\":if(\"function\"==typeof e.constructor&&\"Promise\"===(o=e.constructor,null==(a=String(o).match(/^function (\\w*)/))?\"\":a[1]))return e===t;break;case\"Boolean\":case\"Number\":case\"String\":if(typeof e!=typeof t||!u(e.valueOf(),t.valueOf()))return!1;break;case\"Date\":if(!u(e.valueOf(),t.valueOf()))return!1;break;case\"Error\":return e.name===t.name&&e.message===t.message;case\"RegExp\":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var s=n.length-1;s>=0;){if(n[s]===e)return r[s]===t;s-=1}switch(i){case\"Map\":return e.size===t.size&&h(e.entries(),t.entries(),n.concat([e]),r.concat([t]));case\"Set\":return e.size===t.size&&h(e.values(),t.values(),n.concat([e]),r.concat([t]));case\"Arguments\":case\"Array\":case\"Object\":case\"Boolean\":case\"Number\":case\"String\":case\"Date\":case\"Error\":case\"RegExp\":case\"Int8Array\":case\"Uint8Array\":case\"Uint8ClampedArray\":case\"Int16Array\":case\"Uint16Array\":case\"Int32Array\":case\"Uint32Array\":case\"Float32Array\":case\"Float64Array\":case\"ArrayBuffer\":break;default:return!1}var l=p(e);if(l.length!==p(t).length)return!1;var f=n.concat([e]),y=r.concat([t]);for(s=l.length-1;s>=0;){var d=l[s];if(!c(d,t)||!m(t[d],e[d],f,y))return!1;s-=1}return!0}const S=n((function(e,t){return m(e,t,[],[])}));function O(r){return function o(a,i,c){switch(arguments.length){case 0:return o;case 1:return e(a)?o:n((function(e,t){return r(a,e,t)}));case 2:return e(a)&&e(i)?o:e(a)?n((function(e,t){return r(e,i,t)})):e(i)?n((function(e,t){return r(a,e,t)})):t((function(e){return r(a,i,e)}));default:return e(a)&&e(i)&&e(c)?o:e(a)&&e(i)?n((function(e,t){return r(e,t,c)})):e(a)&&e(c)?n((function(e,t){return r(e,i,t)})):e(i)&&e(c)?n((function(e,t){return r(a,e,t)})):e(a)?t((function(e){return r(e,i,c)})):e(i)?t((function(e){return r(a,e,c)})):e(c)?t((function(e){return r(a,i,e)})):r(a,i,c)}}}function j(e){return\"[object Object]\"===Object.prototype.toString.call(e)}const w=O((function(e,t,n){var r,o={};for(r in t)c(r,t)&&(o[r]=c(r,n)?e(r,t[r],n[r]):t[r]);for(r in n)c(r,n)&&!c(r,o)&&(o[r]=n[r]);return o})),x=O((function e(t,n,r){return w((function(n,r,o){return j(r)&&j(o)?e(t,r,o):t(n,r,o)}),n,r)})),A=n((function(e,t){return x((function(e,t,n){return n}),e,t)})),_=n((function(e,t){for(var n={},r={},o=0,a=e.length;o<a;)r[e[o]]=1,o+=1;for(var i in t)r.hasOwnProperty(i)||(n[i]=t[i]);return n}));function k(e,t,n,r){var o,a=function(o){for(var a=t.length,i=0;i<a;){if(e===t[i])return n[i];i+=1}for(var c in t[i+1]=e,n[i+1]=o,e)o[c]=r?k(e[c],t,n,!0):e[c];return o};switch(b(e)){case\"Object\":return a({});case\"Array\":return a([]);case\"Date\":return new Date(e.valueOf());case\"RegExp\":return o=e,new RegExp(o.source,(o.global?\"g\":\"\")+(o.ignoreCase?\"i\":\"\")+(o.multiline?\"m\":\"\")+(o.sticky?\"y\":\"\")+(o.unicode?\"u\":\"\"));default:return e}}const P=t((function(e){return null!=e&&\"function\"==typeof e.clone?e.clone():k(e,[],[],!0)})),I=Array.isArray||function(e){return null!=e&&e.length>=0&&\"[object Array]\"===Object.prototype.toString.call(e)},C=t((function(e){return!!I(e)||!!e&&\"object\"==typeof e&&!function(e){return\"[object String]\"===Object.prototype.toString.call(e)}(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1))}));var E=function(){function e(e){this.f=e}return e.prototype[\"@@transducer/init\"]=function(){throw new Error(\"init not implemented on XWrap\")},e.prototype[\"@@transducer/result\"]=function(e){return e},e.prototype[\"@@transducer/step\"]=function(e,t){return this.f(e,t)},e}(),T=n((function(e,t){return function(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,n){return t.apply(this,arguments)};case 3:return function(e,n,r){return t.apply(this,arguments)};case 4:return function(e,n,r,o){return t.apply(this,arguments)};case 5:return function(e,n,r,o,a){return t.apply(this,arguments)};case 6:return function(e,n,r,o,a,i){return t.apply(this,arguments)};case 7:return function(e,n,r,o,a,i,c){return t.apply(this,arguments)};case 8:return function(e,n,r,o,a,i,c,u){return t.apply(this,arguments)};case 9:return function(e,n,r,o,a,i,c,u,s){return t.apply(this,arguments)};case 10:return function(e,n,r,o,a,i,c,u,s,l){return t.apply(this,arguments)};default:throw new Error(\"First argument to _arity must be a non-negative integer no greater than ten\")}}(e.length,(function(){return e.apply(t,arguments)}))}));const U=T;function D(e,t,n){for(var r=n.next();!r.done;){if((t=e[\"@@transducer/step\"](t,r.value))&&t[\"@@transducer/reduced\"]){t=t[\"@@transducer/value\"];break}r=n.next()}return e[\"@@transducer/result\"](t)}function N(e,t,n,r){return e[\"@@transducer/result\"](n[r](U(e[\"@@transducer/step\"],e),t))}var q=\"undefined\"!=typeof Symbol?Symbol.iterator:\"@@iterator\";function M(e,t,n){if(\"function\"==typeof e&&(e=function(e){return new E(e)}(e)),C(n))return function(e,t,n){for(var r=0,o=n.length;r<o;){if((t=e[\"@@transducer/step\"](t,n[r]))&&t[\"@@transducer/reduced\"]){t=t[\"@@transducer/value\"];break}r+=1}return e[\"@@transducer/result\"](t)}(e,t,n);if(\"function\"==typeof n[\"fantasy-land/reduce\"])return N(e,t,n,\"fantasy-land/reduce\");if(null!=n[q])return D(e,t,n[q]());if(\"function\"==typeof n.next)return D(e,t,n);if(\"function\"==typeof n.reduce)return N(e,t,n,\"reduce\");throw new TypeError(\"reduce: list must be array or iterable\")}const G=O(M);var L;function R(e,t){return function(n){if(!e(n))return\"function\"==typeof t?t(n):t}}!function(e){e.Array=\"Array\",e.Boolean=\"Boolean\",e.ConceptUuid=\"ConceptUuid\",e.Number=\"Number\",e.Object=\"Object\",e.String=\"String\",e.UUID=\"UUID\",e.PersonAttributeTypeUuid=\"PersonAttributeTypeUuid\",e.PatientIdentifierTypeUuid=\"PatientIdentifierTypeUuid\"}(L||(L={}));var B=R((function(e){return Array.isArray(e)}),\"must be an array\"),$=R((function(e){return\"boolean\"==typeof e}),\"must be a boolean\"),z=R((function(e){return\"number\"==typeof e}),\"must be a number\"),W=R((function(e){return\"string\"==typeof e}),\"must be a string\"),F=R((function(e){return\"object\"==typeof e&&!Array.isArray(e)&&null!==e}),\"must be an object (not an array or null)\"),J=R((function(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^[0-9a-f]{36}$/i.test(e)}),\"must be a valid UUID or a 36-character hexadecimal string\"),Z=r(685),X=(0,Z.createGlobalStore)(\"config-internal\",{providedConfigs:[],schemas:{},moduleLoaded:{}}),H=(0,Z.createGlobalStore)(\"temporary-config\",{config:function(){try{return JSON.parse(localStorage.getItem(\"openmrs:temporaryConfig\")||\"{}\")}catch(e){return{}}}()});H.subscribe((function(e){var t;t=e.config,localStorage.setItem(\"openmrs:temporaryConfig\",JSON.stringify(t))}));var K=(0,Z.createGlobalStore)(\"config-store-of-extension-state\",{mountedExtensions:[]});function Q(e){return(0,Z.getGlobalStore)(\"config-module-\".concat(e),{config:null,loaded:!1,translationOverridesLoaded:!1})}function V(){return(0,Z.getGlobalStore)(\"config-extension-slots\",{slots:{}})}function Y(e){return ee(V().getState(),e)}function ee(e,t){var n=e.slots[t];return null!=n?n:{loaded:!1,config:{}}}function te(){return(0,Z.getGlobalStore)(\"config-extensions\",{configs:{}})}function ne(e,t){var n=Object.assign({},re(te().getState(),e,t));return n.config=_([\"Display conditions\",\"Translation overrides\"],n.config),n}function re(e,t,n){var r,o=null===(r=e.configs[t])||void 0===r?void 0:r[n];return null!=o?o:{loaded:!1,config:null}}var oe=(0,Z.createGlobalStore)(\"config-implementer-tools\",{config:{}});function ae(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ie(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ce(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);\"function\"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){ie(e,t,n[t])}))}return e}function ue(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function se(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,a=[],i=!0,c=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){c=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(c)throw o}}return a}}(e,t)||fe(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function le(e){return function(e){if(Array.isArray(e))return ae(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||fe(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function fe(e,t){if(e){if(\"string\"==typeof e)return ae(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(n):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ae(e,t):void 0}}function ye(e,t){var n=!0,r=!1,o=void 0;try{for(var a,i=Object.keys(e.schemas)[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var c=a.value,u=Q(c);if(e.moduleLoaded[c]){var s=Ce(c,e,t);u.setState({translationOverridesLoaded:!0,loaded:!0,config:s})}else{var l=Ee(c,e,t);u.setState({translationOverridesLoaded:!0,loaded:!1,config:l})}}}catch(e){r=!0,o=e}finally{try{n||null==i.return||i.return()}finally{if(r)throw o}}}function de(e,t){var n,r,o=(n=Ue(Pe(e,t)),function(e){var t=!0,n=!1,r=void 0;try{for(var o,a=Object.entries(e)[Symbol.iterator]();!(t=(o=a.next()).done);t=!0){var i=se(o.value,2),c=i[0],u=i[1],s=!0,l=!1,f=void 0;try{for(var y,d=Object.entries(u)[Symbol.iterator]();!(s=(y=d.next()).done);s=!0){var v=se(y.value,2),g=v[0];ke(v[1],c,g)}}catch(e){l=!0,f=e}finally{try{s||null==d.return||d.return()}finally{if(l)throw f}}}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}(r=Object.keys(n).reduce((function(e,t){var r,o;return(null===(r=n[t])||void 0===r?void 0:r.extensionSlots)&&(e[t]=null===(o=n[t])||void 0===o?void 0:o.extensionSlots),e}),{})),Object.keys(r).reduce((function(e,t){return ce({},e,r[t])}),{})),a=Object.fromEntries(Object.entries(o).map((function(e){var t=se(e,2);return[t[0],{loaded:!0,config:t[1]}]}))),i=V(),c=i.getState(),u={slots:ce({},c.slots,a)};S(c,u)||i.setState(u)}function ve(e,t){var n=function(e,t){var n=Ae(P(e.schemas)),r=le(e.providedConfigs.map((function(e){return[e.config,e.source]}))).concat([[t.config,\"temporary config\"]]),o=!0,a=!1,i=void 0;try{for(var c,u=r[Symbol.iterator]();!(o=(c=u.next()).done);o=!0){var s=se(c.value,2);n=Ue([n,_e(s[0],s[1])])}}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}return n}(e,t);oe.setState({config:n})}function ge(e,t,n){var r={},o=!0,a=!1,i=void 0;try{for(var c,u=t.mountedExtensions[Symbol.iterator]();!(o=(c=u.next()).done);o=!0){var s=c.value,l=xe(s.slotModuleName,s.extensionModuleName,s.slotName,s.extensionId,e,n);r[s.slotName]=ue(ce({},r[s.slotName]),ie({},s.extensionId,{config:l,loaded:!0}))}}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}te().setState({configs:r})}function pe(e,t){Ie(e,t);var n=A(t,Je);X.setState((function(t){return ue(ce({},t),{schemas:ue(ce({},t.schemas),ie({},e,n)),moduleLoaded:ue(ce({},t.moduleLoaded),ie({},e,!0))})}))}function be(e){var t=X.getState();X.setState({schemas:ue(ce({},t.schemas),ie({},e,Je))})}function he(e){var t=X.getState();X.setState({schemas:ue(ce({},t.schemas),ie({},e,Fe))})}function me(e,t){Ie(e,t);var n=A(t,Je),r=X.getState();r.schemas[e]&&console.error(\"Config schema for extension \".concat(e,\" already exists. If there are multiple extensions with this same name, one will probably crash.\")),X.setState({schemas:ue(ce({},r.schemas),ie({},e,n))})}function Se(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"provided\";X.setState((function(n){return ue(ce({},n),{providedConfigs:le(n.providedConfigs).concat([{source:t,config:e}])})}))}function Oe(e){return new Promise((function(t){var n=function(e){if(e.loaded&&e.config){var n=_([\"Display conditions\",\"Translation overrides\"],e.config);t(n),o&&o()}},r=Q(e);n(r.getState());var o=r.subscribe(n)}))}function je(e){return new Promise((function(t){var n=function(e){if(e.translationOverridesLoaded&&e.config){var n,r=null!==(n=e.config[\"Translation overrides\"])&&void 0!==n?n:{};t(r),o&&o()}},r=Q(e);n(r.getState());var o=r.subscribe(n)}))}function we(e,t,n){De(e,t,n);var r=Le(e,t);return qe(e,r,n),r}function xe(e,t,n,r,o,a){var i,c,u,s,l=function(e){return se(e.split(\"#\"),1)[0]}(r),f=o.schemas[l],y=f?l:t,d=Pe(o,a),v=Te(e,d),g=null!==(s=null==v||null===(i=v.extensionSlots)||void 0===i||null===(c=i[n])||void 0===c||null===(u=c.configure)||void 0===u?void 0:u[r])&&void 0!==s?s:{},p=Ue([Te(y,d),g]),b=null!=f?f:o.schemas[t];De(b,p,y);var h=Le(b,p);return qe(b,h,y),delete h.extensionSlots,h}function Ae(e){return e.hasOwnProperty(\"_default\")?ue(ce({},e),{_value:e._default,_source:\"default\"}):Be(e)?Object.keys(e).reduce((function(t,n){return t[n]=Ae(e[n]),t}),{}):{}}function _e(e,t){return Be(e)?Object.keys(e).reduce((function(n,r){return n[r]=_e(e[r],t),n}),{}):{_value:e,_source:t}}function ke(e,t,n){var r=\"\".concat(t,\".extensionSlots.\").concat(n),o=\"Extension slot config '\".concat(r,\"'\"),a=Object.keys(e).filter((function(e){return![\"add\",\"remove\",\"order\",\"configure\"].includes(e)}));a.length&&ze(r,o+\"' contains invalid keys '\".concat(a.join(\"', '\"),\"'\")),e.add&&(Array.isArray(e.add)&&e.add.every((function(e){return\"string\"==typeof e}))||ze(r,o+\".add' is invalid. Must be an array of strings (extension IDs)\")),e.remove&&(Array.isArray(e.remove)&&e.remove.every((function(e){return\"string\"==typeof e}))||ze(r,o+\".remove' is invalid. Must be an array of strings (extension IDs)\")),e.order&&(Array.isArray(e.order)&&e.order.every((function(e){return\"string\"==typeof e}))||ze(r,o+\".order' is invalid. Must be an array of strings (extension IDs)\")),e.configure&&(Be(e.configure)||ze(r,o+\".configure' is invalid. Must be an object with extension IDs for keys\"))}function Pe(e,t){return le(e.providedConfigs.map((function(e){return e.config}))).concat([t.config])}function Ie(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",r=\"Please verify that you are running the latest version and, if so, alert the maintainer.\",o=!0,a=!1,i=void 0;try{for(var c,u=function(){var o=c.value,a=n+(n&&\".\")+o,i=t[o];if(\"Display conditions\"===a&&console.error(\"\".concat(e,' declares a configuration option called \"Display conditions\"; the \"Display conditions\" option is a reserved name. ').concat(r)),\"Translation overrides\"===a&&console.error(\"\".concat(e,' declares a configuration option called \"Translation overrides\"; the \"Translation overrides\" option is a reserved name. ').concat(r)),!Be(i))return console.error(\"\".concat(e,\" has bad config schema definition for key '\").concat(a,\"'. \").concat(r)),\"continue\";i.hasOwnProperty(\"_default\")||Ie(e,i,a);var u=i._elements;if(Re(u)&&Ie(e,u,a+\"._elements\"),i._validators){var s=!0,l=!1,f=void 0;try{for(var y,d=i._validators[Symbol.iterator]();!(s=(y=d.next()).done);s=!0){var v=y.value;\"function\"!=typeof v&&console.error(\"\".concat(e,\" has invalid validator for key '\").concat(a,\"' \").concat(r,\".\")+\"\\n\\nIf you're the maintainer: validators must be functions that return either \"+\"undefined or an error string. Received \".concat(v,\".\"))}}catch(e){l=!0,f=e}finally{try{s||null==d.return||d.return()}finally{if(l)throw f}}}var g=i._type;g&&!Object.values(L).includes(g)&&console.error(\"\".concat(e,\" has invalid type for key '\").concat(a,\"' \").concat(r,\".\")+\"\\n\\nIf you're the maintainer: the allowed types are \".concat(Object.values(L).join(\", \"),\". \")+\"Received '\".concat(g,\"'\")),Object.keys(i).every((function(e){return[\"_description\",\"_validators\",\"_elements\",\"_type\"].includes(e)}))&&!n.includes(\"._elements\")&&console.error(\"\".concat(e,\" has bad config schema definition for key '\").concat(a,\"'. \").concat(r,\".\")+\"\\n\\nIf you're the maintainer: all config elements must have a default. \"+\"Received \".concat(JSON.stringify(i))),u&&g&&![L.Array,L.Object].includes(g)&&console.error(\"\".concat(e,\" has bad config schema definition for key '\").concat(a,\"'. \").concat(r,\".\")+\"\\n\\nIf you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. \"+\"Received \".concat(JSON.stringify(g)))},s=Object.keys(t).filter((function(e){return!e.startsWith(\"_\")}))[Symbol.iterator]();!(o=(c=s.next()).done);o=!0)u()}catch(e){a=!0,i=e}finally{try{o||null==s.return||s.return()}finally{if(a)throw i}}}function Ce(e,t,n){var r=t.schemas[e],o=Te(e,Pe(t,n));De(r,o,e);var a=Le(r,o);return qe(r,a,e),delete a.extensionSlots,a}function Ee(e,t,n){var r=Te(e,Pe(t,n)),o=Le(Je,r);return qe(Je,o,e),delete o.extensionSlots,o}function Te(e,t){return Ue(t.map((function(t){return t[e]})).filter((function(e){return!!e})))}function Ue(e){return G(A)({},e)}function De(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",r=!0,o=!1,a=void 0;try{for(var i,c=Object.keys(t)[Symbol.iterator]();!(r=(i=c.next()).done);r=!0){var u=i.value,s=t[u],l=n+\".\"+u,f=e[u];e.hasOwnProperty(u)?Ne(f,s,l):\"extensionSlots\"===u&&\"\"!==n||ze(l,\"Unknown config key '\".concat(l,\"' provided. Ignoring.\"))}}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}}function Ne(e,t,n){Me(n,e._type,t),Be(t)?e._type===L.Object?function(e,t,n){if(e._elements){var r=!0,o=!1,a=void 0;try{for(var i,c=Object.keys(t)[Symbol.iterator]();!(r=(i=c.next()).done);r=!0){var u=i.value,s=t[u];De(e._elements,s,\"\".concat(n,\".\").concat(u))}}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}}}(e,t,n):e.hasOwnProperty(\"_default\")||e.hasOwnProperty(\"_type\")||De(e,t,n):e._type===L.Array&&function(e,t,n){if(Re(e._elements))for(var r=0;r<t.length;r++)Ne(e._elements,t[r],\"\".concat(n,\"[\").concat(r,\"]\"));for(var o=0;o<t.length;o++){var a;Me(\"\".concat(n,\"[\").concat(o,\"]\"),null===(a=e._elements)||void 0===a?void 0:a._type,t[o])}}(e,t,n)}function qe(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";if(e)if(t!==e._default&&Ge(n,e._validators,t),Be(t)){var r=!0,o=!1,a=void 0;try{for(var i,c=Object.keys(t)[Symbol.iterator]();!(r=(i=c.next()).done);r=!0){var u=i.value,s=t[u],l=n+\".\"+u,f=e[u];e._type===L.Object&&e._elements?qe(e._elements,s,l):qe(f,s,l)}}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}}else if(Array.isArray(t)&&e._elements)for(var y=0;y<t.length;y++)qe(e._elements,t[y],\"\".concat(n,\"[\").concat(y,\"]\"))}function Me(e,t,n){t&&Ge(e,[{Array:B,Boolean:$,ConceptUuid:J,Number:z,Object:F,String:W,UUID:J,PersonAttributeTypeUuid:J,PatientIdentifierTypeUuid:J}[t]],n)}function Ge(e,t,n){if(t)try{var r=!0,o=!1,a=void 0;try{for(var i,c=t[Symbol.iterator]();!(r=(i=c.next()).done);r=!0){var u=(0,i.value)(n);\"string\"==typeof u&&ze(e,\"object\"==typeof n?\"Invalid configuration for \".concat(e,\": \").concat(u):\"Invalid configuration value \".concat(n,\" for \").concat(e,\": \").concat(u))}}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}}catch(t){console.error('Skipping invalid validator at \"'.concat(e,'\". Encountered error\\n\\t').concat(t))}}ye(X.getState(),H.getState()),X.subscribe((function(e){return ye(e,H.getState())})),H.subscribe((function(e){return ye(X.getState(),e)})),ve(X.getState(),H.getState()),X.subscribe((function(e){return ve(e,H.getState())})),H.subscribe((function(e){return ve(X.getState(),e)})),de(X.getState(),H.getState()),X.subscribe((function(e){return de(e,H.getState())})),H.subscribe((function(e){return de(X.getState(),e)})),ge(X.getState(),K.getState(),H.getState()),X.subscribe((function(e){ge(e,K.getState(),H.getState())})),K.subscribe((function(e){ge(X.getState(),e,H.getState())})),H.subscribe((function(e){ge(X.getState(),K.getState(),e)}));var Le=function(e,t){var n=P(t);if(!e)return n;var r=!0,o=!1,a=void 0;try{for(var i,c=function(){var t=i.value,r=n[t],o=e[t];if(o&&(o.hasOwnProperty(\"_type\")||o.hasOwnProperty(\"_default\"))){n.hasOwnProperty(t)||(n[t]=o._default);var a=o._elements;if(r&&Re(a))if(o._type===L.Array&&Array.isArray(r)){var c=r.map((function(e){return Le(a,e)}));n[t]=c}else if(o._type===L.Object){var u=!0,s=!1,l=void 0;try{for(var f,y=Object.keys(r)[Symbol.iterator]();!(u=(f=y.next()).done);u=!0){var d=f.value;r[d]=Le(a,r[d])}}catch(e){s=!0,l=e}finally{try{u||null==y.return||y.return()}finally{if(s)throw l}}}}else if(Be(o)){var v=null!=r?r:{};Be(v)&&(n[t]=Le(o,v))}},u=Object.keys(e)[Symbol.iterator]();!(r=(i=u.next()).done);r=!0)c()}catch(e){o=!0,a=e}finally{try{r||null==u.return||u.return()}finally{if(o)throw a}}return n};function Re(e){return!!e&&Object.keys(e).filter((function(e){return![\"_default\",\"_validators\"].includes(e)})).length>0}function Be(e){return\"object\"==typeof e&&!Array.isArray(e)&&null!==e}var $e=new Set;function ze(e,t){var n=\"\".concat(e,\":::\").concat(t);$e.has(n)||(console.error(t),$e.add(n))}function We(e){e?$e.forEach((function(t){t.startsWith(e)&&$e.delete(t)})):$e.clear()}var Fe={\"Translation overrides\":{_description:\"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value\",_type:L.Object,_default:{},_validators:[R((function(e){return Object.keys(e).every((function(e){return/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)}))}),(function(e){var t=Object.keys(e).filter((function(e){return!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)}));return\"The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: \".concat(t.join(\", \"),\".\")}))]}},Je=ce({\"Display conditions\":{privileges:{_description:\"The privilege(s) the user must have to use this extension\",_type:L.Array,_default:[]}}},Fe),Ze=function(e,t){return R((function(n){return e<=n&&n<=t}),\"must be between \".concat(e,\" and \").concat(t))},Xe=function(e){var t=e.concat([\"openmrsBase\",\"openmrsSpaBase\"]);return R((function(e){if(!e||\"string\"!=typeof e)return!1;for(var n=/\\${(.*?)}/g,r=n.exec(e);r;){if(!t.includes(r[1]))return!1;r=n.exec(e)}return!0}),\"Should be a URL or path. The allowed template parameters are \"+t.map((function(e){return\"${\"+e+\"}\"})).join(\", \"))},He=Xe([]),Ke=function(e){return R((function(t){return e.includes(t)}),\"Must be one of the following: '\".concat(e.join(\"', '\"),\"'.\"))},Qe={inRange:Ze,isUrl:He,isUrlWithTemplateParameters:Xe,oneOf:Ke}})(),o})())}}}));\n//# sourceMappingURL=openmrs-esm-module-config.js.map","module.exports = __WEBPACK_EXTERNAL_MODULE__254__;","module.exports = __WEBPACK_EXTERNAL_MODULE__45__;","module.exports = __WEBPACK_EXTERNAL_MODULE__513__;","module.exports = __WEBPACK_EXTERNAL_MODULE__740__;","module.exports = __WEBPACK_EXTERNAL_MODULE__685__;","module.exports = __WEBPACK_EXTERNAL_MODULE__901__;","module.exports = __WEBPACK_EXTERNAL_MODULE__688__;","module.exports = __WEBPACK_EXTERNAL_MODULE__954__;","module.exports = __WEBPACK_EXTERNAL_MODULE__493__;","module.exports = __WEBPACK_EXTERNAL_MODULE__792__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/* The svg container is a div that contains all the OpenMRS svgs, with\n * an HTML id that can be referenced with the following code:\n * <svg role=\"img\">\n * <use link:href=\"#the-svg-id\"></use>\n * </svg>\n *\n * This approach is known as \"svg sprites\"\n */\nconst svgContainer = document.createElement('div');\nconst appendContainer = () => {\n document.body.appendChild(svgContainer);\n};\nsvgContainer.id = 'omrs-svgs-container';\nsvgContainer.style.display = 'none';\n\nif (document.readyState === 'complete') {\n appendContainer();\n} else {\n window.addEventListener('load', appendContainer);\n}\n\nexport function addSvg(htmlId: string, svgString: string) {\n const domParser = new DOMParser();\n const dom = domParser.parseFromString(svgString, 'image/svg+xml');\n const svgElement = dom.querySelector('svg');\n\n if (svgElement) {\n svgElement.id = htmlId;\n svgContainer.appendChild(svgElement);\n }\n}\n","import { Type, validators } from '@openmrs/esm-config';\n\nexport interface StyleguideConfigObject {\n 'Brand color #1': string;\n 'Brand color #2': string;\n 'Brand color #3': string;\n patientPhotoConceptUuid: string;\n preferredCalendar: {\n [key: string]: string;\n };\n}\n\nexport const esmStyleGuideSchema = {\n 'Brand color #1': {\n _default: '#005d5d',\n _type: Type.String,\n },\n 'Brand color #2': {\n _default: '#004144',\n _type: Type.String,\n },\n 'Brand color #3': {\n _default: '#007d79',\n _type: Type.String,\n },\n patientPhotoConceptUuid: {\n _type: Type.ConceptUuid,\n _default: '736e8771-e501-4615-bfa7-570c03f4bef5',\n _description:\n \"Used to look up the patient photo, which is stored as an attachment obs. Set to `null` in order to disable the feature and use only generated avatars. To remove the avatars entirely, use extension configuration's `remove` feature.\",\n },\n preferredCalendar: {\n _type: Type.Object,\n _description:\n \"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.\",\n _default: {\n am: 'ethiopic',\n },\n _elements: {\n _validators: [\n validators.oneOf([\n 'buddhist',\n 'chinese',\n 'coptic',\n 'dangi',\n 'ethioaa',\n 'ethiopic',\n 'gregory',\n 'hebrew',\n 'indian',\n 'islamic',\n 'islamic-umalqura',\n 'islamic-tbla',\n 'islamic-civil',\n 'islamic-rgsa',\n 'iso8601',\n 'japanese',\n 'persian',\n 'roc',\n 'islamicc',\n ]),\n ],\n },\n },\n};\n","export const Breakpoint = {\n PHONE_MIN: 0,\n PHONE_MAX: 600,\n TABLET_MIN: 601,\n TABLET_MAX: 1023,\n SMALL_DESKTOP_MIN: 1024,\n SMALL_DESKTOP_MAX: 1439,\n LARGE_DESKTOP_MIN: 1440,\n LARGE_DESKTOP_MAX: Number.MAX_SAFE_INTEGER,\n} as const;\n\nfunction setBodyCssClasses() {\n document.body.classList.toggle('omrs-breakpoint-lt-tablet', window.innerWidth < Breakpoint.TABLET_MIN);\n document.body.classList.toggle('omrs-breakpoint-gt-phone', window.innerWidth > Breakpoint.PHONE_MAX);\n document.body.classList.toggle('omrs-breakpoint-gt-tablet', window.innerWidth > Breakpoint.TABLET_MAX);\n document.body.classList.toggle('omrs-breakpoint-lt-desktop', window.innerWidth < Breakpoint.SMALL_DESKTOP_MIN);\n document.body.classList.toggle('omrs-breakpoint-lt-small-desktop', window.innerWidth < Breakpoint.SMALL_DESKTOP_MIN);\n document.body.classList.toggle('omrs-breakpoint-lt-large-desktop', window.innerWidth < Breakpoint.LARGE_DESKTOP_MIN);\n document.body.classList.toggle('omrs-breakpoint-gt-small-desktop', window.innerWidth > Breakpoint.SMALL_DESKTOP_MAX);\n}\n\nexport function integrateBreakpoints() {\n window.addEventListener('resize', setBodyCssClasses);\n setBodyCssClasses();\n}\n","/**\n * Copyright IBM Corp. 2015, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar enabled$1 = {};\ntry {\n if (process.env.CARBON_ENABLE_CSS_CUSTOM_PROPERTIES) {\n if (process.env.CARBON_ENABLE_CSS_CUSTOM_PROPERTIES === 'true') {\n enabled$1.enableCssCustomProperties = true;\n } else {\n enabled$1.enableCssCustomProperties = false;\n }\n } else {\n enabled$1.enableCssCustomProperties = false;\n }\n if (process.env.CARBON_ENABLE_USE_CONTROLLED_STATE_WITH_VALUE) {\n if (process.env.CARBON_ENABLE_USE_CONTROLLED_STATE_WITH_VALUE === 'true') {\n enabled$1.enableUseControlledStateWithValue = true;\n } else {\n enabled$1.enableUseControlledStateWithValue = false;\n }\n } else {\n enabled$1.enableUseControlledStateWithValue = false;\n }\n if (process.env.CARBON_ENABLE_CSS_GRID) {\n if (process.env.CARBON_ENABLE_CSS_GRID === 'true') {\n enabled$1.enableCssGrid = true;\n } else {\n enabled$1.enableCssGrid = false;\n }\n } else {\n enabled$1.enableCssGrid = false;\n }\n if (process.env.CARBON_ENABLE_V11_RELEASE) {\n if (process.env.CARBON_ENABLE_V11_RELEASE === 'true') {\n enabled$1.enableV11Release = true;\n } else {\n enabled$1.enableV11Release = false;\n }\n } else {\n enabled$1.enableV11Release = true;\n }\n if (process.env.CARBON_ENABLE_EXPERIMENTAL_TILE_CONTRAST) {\n if (process.env.CARBON_ENABLE_EXPERIMENTAL_TILE_CONTRAST === 'true') {\n enabled$1.enableExperimentalTileContrast = true;\n } else {\n enabled$1.enableExperimentalTileContrast = false;\n }\n } else {\n enabled$1.enableExperimentalTileContrast = false;\n }\n if (process.env.CARBON_ENABLE_V12_TILE_DEFAULT_ICONS) {\n if (process.env.CARBON_ENABLE_V12_TILE_DEFAULT_ICONS === 'true') {\n enabled$1.enableV12TileDefaultIcons = true;\n } else {\n enabled$1.enableV12TileDefaultIcons = false;\n }\n } else {\n enabled$1.enableV12TileDefaultIcons = false;\n }\n if (process.env.CARBON_ENABLE_V12_OVERFLOWMENU) {\n if (process.env.CARBON_ENABLE_V12_OVERFLOWMENU === 'true') {\n enabled$1.enableV12Overflowmenu = true;\n } else {\n enabled$1.enableV12Overflowmenu = false;\n }\n } else {\n enabled$1.enableV12Overflowmenu = false;\n }\n} catch (error) {\n enabled$1.enableCssCustomProperties = false;\n enabled$1.enableUseControlledStateWithValue = false;\n enabled$1.enableCssGrid = false;\n enabled$1.enableV11Release = true;\n enabled$1.enableExperimentalTileContrast = false;\n enabled$1.enableV12TileDefaultIcons = false;\n enabled$1.enableV12Overflowmenu = false;\n}\nvar featureFlagInfo = [{\n name: \"enable-css-custom-properties\",\n description: \"Describe what the flag does\",\n enabled: enabled$1.enableCssCustomProperties\n}, {\n name: \"enable-use-controlled-state-with-value\",\n description: \"Enable components to be created in either a controlled or uncontrolled mode\\n\",\n enabled: enabled$1.enableUseControlledStateWithValue\n}, {\n name: \"enable-css-grid\",\n description: \"Enable CSS Grid Layout in the Grid and Column React components\\n\",\n enabled: enabled$1.enableCssGrid\n}, {\n name: \"enable-v11-release\",\n description: \"Enable the features and functionality for the v11 Release\\n\",\n enabled: enabled$1.enableV11Release\n}, {\n name: \"enable-experimental-tile-contrast\",\n description: \"Enable the experimental tile improved contrast styles\\n\",\n enabled: enabled$1.enableExperimentalTileContrast\n}, {\n name: \"enable-v12-tile-default-icons\",\n description: \"Enable rendering of default icons in the tile components\\n\",\n enabled: enabled$1.enableV12TileDefaultIcons\n}, {\n name: \"enable-v12-overflowmenu\",\n description: \"Enable the use of the v12 OverflowMenu leveraging the Menu subcomponents\\n\",\n enabled: enabled$1.enableV12Overflowmenu\n}];\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function () {};\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\n/**\n * Copyright IBM Corp. 2015, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar FeatureFlagScope = /*#__PURE__*/function () {\n function FeatureFlagScope(flags) {\n var _this = this;\n _classCallCheck(this, FeatureFlagScope);\n this.flags = new Map();\n if (flags) {\n Object.keys(flags).forEach(function (key) {\n _this.flags.set(key, flags[key]);\n });\n }\n }\n\n /**\n * Check to see if a flag exists\n * @param {string} name\n */\n _createClass(FeatureFlagScope, [{\n key: \"checkForFlag\",\n value: function checkForFlag(name) {\n if (!this.flags.has(name)) {\n throw new Error(\"Unable to find a feature flag with the name: `\".concat(name, \"`\"));\n }\n }\n\n /**\n * Add a feature flag\n * @param {string} name\n * @param {boolean} enabled\n */\n }, {\n key: \"add\",\n value: function add(name, enabled) {\n if (this.flags.has(name)) {\n throw new Error(\"The feature flag: \".concat(name, \" already exists\"));\n }\n this.flags.set(name, enabled);\n }\n\n /**\n * Enable a feature flag\n * @param {string} name\n */\n }, {\n key: \"enable\",\n value: function enable(name) {\n this.checkForFlag(name);\n this.flags.set(name, true);\n }\n\n /**\n * Disable a feature flag\n * @param {string} name\n */\n }, {\n key: \"disable\",\n value: function disable(name) {\n this.checkForFlag(name);\n this.flags.set(name, false);\n }\n\n /**\n * Merge the given feature flags with the current set of feature flags.\n * Duplicate keys will be set to the value in the given feature flags.\n * @param {object} flags\n */\n }, {\n key: \"merge\",\n value: function merge(flags) {\n var _this2 = this;\n Object.keys(flags).forEach(function (key) {\n _this2.flags.set(key, flags[key]);\n });\n }\n\n /**\n * @param {FeatureFlagScope} scope\n */\n }, {\n key: \"mergeWithScope\",\n value: function mergeWithScope(scope) {\n var _iterator = _createForOfIteratorHelper(scope.flags),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n value = _step$value[1];\n if (this.flags.has(key)) {\n continue;\n }\n this.flags.set(key, value);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n /**\n * Check if a feature flag is enabled\n * @param {string} name\n * @returns {boolean}\n */\n }, {\n key: \"enabled\",\n value: function enabled(name) {\n this.checkForFlag(name);\n return this.flags.get(name);\n }\n }]);\n return FeatureFlagScope;\n}();\n\nvar FeatureFlags = createScope();\nfor (var i = 0; i < featureFlagInfo.length; i++) {\n var featureFlag = featureFlagInfo[i];\n FeatureFlags.add(featureFlag.name, featureFlag.enabled);\n}\nfunction createScope(flags) {\n return new FeatureFlagScope(flags);\n}\nfunction add() {\n return FeatureFlags.add.apply(FeatureFlags, arguments);\n}\nfunction enable() {\n return FeatureFlags.enable.apply(FeatureFlags, arguments);\n}\nfunction disable() {\n return FeatureFlags.disable.apply(FeatureFlags, arguments);\n}\nfunction enabled() {\n return FeatureFlags.enabled.apply(FeatureFlags, arguments);\n}\nfunction merge() {\n return FeatureFlags.merge.apply(FeatureFlags, arguments);\n}\n\nexport { FeatureFlags, add, createScope, disable, enable, enabled, merge };\n","/* single-spa@6.0.1 - ES2015 - prod */\nvar t=Object.freeze({__proto__:null,get start(){return It},get ensureJQuerySupport(){return ft},get setBootstrapMaxTime(){return K},get setMountMaxTime(){return H},get setUnmountMaxTime(){return J},get setUnloadMaxTime(){return Q},get registerApplication(){return Tt},get unregisterApplication(){return At},get getMountedApps(){return Et},get getAppStatus(){return Pt},get unloadApplication(){return Nt},get checkActivityFunctions(){return bt},get getAppNames(){return vt},get pathToActiveWhen(){return Dt},get navigateToUrl(){return tt},get patchHistoryApi(){return at},get triggerAppChange(){return $t},get addErrorHandler(){return i},get removeErrorHandler(){return s},get mountRootParcel(){return G},get NOT_LOADED(){return c},get LOADING_SOURCE_CODE(){return l},get NOT_BOOTSTRAPPED(){return f},get BOOTSTRAPPING(){return p},get NOT_MOUNTED(){return h},get MOUNTING(){return m},get UPDATING(){return w},get LOAD_ERROR(){return E},get MOUNTED(){return d},get UNLOADING(){return y},get UNMOUNTING(){return g},get SKIP_BECAUSE_BROKEN(){return v}}),e=(\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{}).CustomEvent,n=function(){try{var t=new e(\"cat\",{detail:{foo:\"bar\"}});return\"cat\"===t.type&&\"bar\"===t.detail.foo}catch(t){}return!1}()?e:\"undefined\"!=typeof document&&\"function\"==typeof document.createEvent?function(t,e){var n=document.createEvent(\"CustomEvent\");return e?n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail):n.initCustomEvent(t,!1,!1,void 0),n}:function(t,e){var n=document.createEventObject();return n.type=t,e?(n.bubbles=Boolean(e.bubbles),n.cancelable=Boolean(e.cancelable),n.detail=e.detail):(n.bubbles=!1,n.cancelable=!1,n.detail=void 0),n};let r=[];function o(t,e,n){const o=a(t,e,n);r.length?r.forEach((t=>t(o))):setTimeout((()=>{throw o}))}function i(t){if(\"function\"!=typeof t)throw Error(u(28,!1));r.push(t)}function s(t){if(\"function\"!=typeof t)throw Error(u(29,!1));let e=!1;return r=r.filter((n=>{const r=n===t;return e=e||r,!r})),e}function u(t,e,...n){return`single-spa minified message #${t}: ${e?e+\" \":\"\"}See https://single-spa.js.org/error/?code=${t}${n.length?`&arg=${n.join(\"&arg=\")}`:\"\"}`}function a(t,e,n){const r=`${A(e)} '${T(e)}' died in status ${e.status}: `;let o;if(t instanceof Error){try{t.message=r+t.message}catch(t){}o=t}else{console.warn(u(30,!1,e.status,T(e)));try{o=Error(r+JSON.stringify(t))}catch(e){o=t}}return o.appOrParcelName=T(e),e.status=n,o}const c=\"NOT_LOADED\",l=\"LOADING_SOURCE_CODE\",f=\"NOT_BOOTSTRAPPED\",p=\"BOOTSTRAPPING\",h=\"NOT_MOUNTED\",m=\"MOUNTING\",d=\"MOUNTED\",w=\"UPDATING\",g=\"UNMOUNTING\",y=\"UNLOADING\",E=\"LOAD_ERROR\",v=\"SKIP_BECAUSE_BROKEN\";function P(t){return t.status===d}function O(t){try{return t.activeWhen(window.location)}catch(e){return o(e,t,v),!1}}function T(t){return t.name}function b(t){return Boolean(t.unmountThisParcel)}function A(t){return b(t)?\"parcel\":\"application\"}function N(){for(let t=arguments.length-1;t>0;t--)for(let e in arguments[t])\"__proto__\"!==e&&(arguments[t-1][e]=arguments[t][e]);return arguments[0]}function S(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return t[n];return null}function _(t){return t&&(\"function\"==typeof t||(e=t,Array.isArray(e)&&!S(e,(t=>\"function\"!=typeof t))));var e}function D(t,e){let n=t[e]||[];n=Array.isArray(n)?n:[n],0===n.length&&(n=[()=>Promise.resolve()]);const r=A(t),o=T(t);return function(t){return n.reduce(((n,i,s)=>n.then((()=>{const n=i(t);return U(n)?n:Promise.reject(u(15,!1,r,o,e,s))}))),Promise.resolve())}}function U(t){return t&&\"function\"==typeof t.then&&\"function\"==typeof t.catch}let M=[];function j(t,e){return Promise.resolve().then((()=>t.status!==f?t:(t.status=p,t.bootstrap?V(t,\"bootstrap\").then(n).catch((n=>{if(e)throw a(n,t,v);return o(n,t,v),t})):Promise.resolve().then(n))));function n(){return t.status=h,t}}function $(t,e){return Promise.resolve().then((()=>{if(t.status!==d)return t;t.status=g;const n=Object.keys(t.parcels).map((e=>t.parcels[e].unmountThisParcel()));return Promise.all(n).then(r,(n=>r().then((()=>{const r=Error(n.message);if(e)throw a(r,t,v);o(r,t,v)})))).then((()=>t));function r(){return V(t,\"unmount\").then((()=>{t.status=h}),(n=>{if(e)throw a(n,t,v);o(n,t,v)}))}}))}let L=!1,R=!1;function x(t,e){return Promise.resolve().then((()=>t.status!==h?t:(L||(window.dispatchEvent(new n(\"single-spa:before-first-mount\")),L=!0),t.status=m,V(t,\"mount\").then((()=>(t.status=d,R||(window.dispatchEvent(new n(\"single-spa:first-mount\")),R=!0),t))).catch((n=>{return t.status=d,$(t,!0).then(r,r);function r(){if(e)throw a(n,t,v);return o(n,t,v),t}})))))}let I=0;const B={parcels:{}};function G(){return W.apply(B,arguments)}function W(t,e){const n=this;if(!t||\"object\"!=typeof t&&\"function\"!=typeof t)throw Error(u(2,!1));if(t.name&&\"string\"!=typeof t.name)throw Error(u(3,!1,typeof t.name));const r=I++;let o=t.name||`parcel-${r}`;if(\"object\"!=typeof e)throw Error(u(4,!1,o,typeof e));if(!e.domElement)throw Error(u(5,!1,o));const i=\"function\"==typeof t,s=i?t:()=>Promise.resolve(t),c={id:r,parcels:{},status:i?l:f,customProps:e,parentName:T(n),unmountThisParcel:()=>y.then((()=>{if(c.status!==d)throw Error(u(6,!1,o,c.status));return $(c,!0)})).then((t=>(c.parentName&&delete n.parcels[c.id],t))).then((t=>(E(t),t))).catch((t=>{throw c.status=v,P(t),t}))};let p;n.parcels[r]=c;let m=s();if(!m||\"function\"!=typeof m.then)throw Error(u(7,!1));m=m.then((t=>{if(!t)throw Error(u(8,!1));if(o=t.name||`parcel-${r}`,Object.prototype.hasOwnProperty.call(t,\"bootstrap\")&&!_(t.bootstrap))throw Error(u(9,!1,o));if(!_(t.mount))throw Error(u(10,!1,o));if(!_(t.unmount))throw Error(u(11,!1,o));if(t.update&&!_(t.update))throw Error(u(12,!1,o));const e=D(t,\"bootstrap\"),n=D(t,\"mount\"),i=D(t,\"unmount\");c.status=f,c.name=o,c.bootstrap=e,c.mount=n,c.unmount=i,c.timeouts=q(t.timeouts),t.update&&(c.update=D(t,\"update\"),p.update=function(t){return c.customProps=t,C((e=c,Promise.resolve().then((()=>{if(e.status!==d)throw Error(u(32,!1,T(e)));return e.status=w,V(e,\"update\").then((()=>(e.status=d,e))).catch((t=>{throw a(t,e,v)}))}))));var e})}));const g=m.then((()=>j(c,!0))),y=g.then((()=>x(c,!0)));let E,P;const O=new Promise(((t,e)=>{E=t,P=e}));return p={mount:()=>C(Promise.resolve().then((()=>{if(c.status!==h)throw Error(u(13,!1,o,c.status));return n.parcels[r]=c,x(c)}))),unmount:()=>C(c.unmountThisParcel()),getStatus:()=>c.status,loadPromise:C(m),bootstrapPromise:C(g),mountPromise:C(y),unmountPromise:C(O)},p}function C(t){return t.then((()=>null))}function k(e){const n=T(e);let r=\"function\"==typeof e.customProps?e.customProps(n,window.location):e.customProps;(\"object\"!=typeof r||null===r||Array.isArray(r))&&(r={},console.warn(u(40,!1),n,r));const o=N({},r,{name:n,mountParcel:W.bind(e),singleSpa:t});return b(e)&&(o.unmountSelf=e.unmountThisParcel),o}const F={bootstrap:{millis:4e3,dieOnTimeout:!1,warningMillis:1e3},mount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unmount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unload:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},update:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3}};function K(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(16,!1));F.bootstrap={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function H(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(17,!1));F.mount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function J(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(18,!1));F.unmount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function Q(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(19,!1));F.unload={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function V(t,e){const n=t.timeouts[e],r=n.warningMillis,o=A(t);return new Promise(((i,s)=>{let a=!1,c=!1;t[e](k(t)).then((t=>{a=!0,i(t)})).catch((t=>{a=!0,s(t)})),setTimeout((()=>f(1)),r),setTimeout((()=>f(!0)),n.millis);const l=u(31,!1,e,o,T(t),n.millis);function f(t){if(!a)if(!0===t)c=!0,n.dieOnTimeout?s(Error(l)):console.error(l);else if(!c){const e=t,o=e*r;console.warn(l),o+r<n.millis&&setTimeout((()=>f(e+1)),r)}}}))}function q(t){const e={};for(let n in F)e[n]=N({},F[n],t&&t[n]||{});return e}function z(t){return Promise.resolve().then((()=>{if(t.loadPromise)return t.loadPromise;if(t.status!==c&&t.status!==E)return t;let e,n;return t.status=l,t.loadPromise=Promise.resolve().then((()=>{const r=t.loadApp(k(t));if(!U(r))throw n=!0,Error(u(33,!1,T(t)));return r.then((n=>{let r;t.loadErrorTime=null,e=n,\"object\"!=typeof e&&(r=34),Object.prototype.hasOwnProperty.call(e,\"bootstrap\")&&!_(e.bootstrap)&&(r=35),_(e.mount)||(r=36),_(e.unmount)||(r=37);const i=A(e);if(r){let n;try{n=JSON.stringify(e)}catch(t){}return console.error(u(r,!1,i,T(t),n),e),o(void 0,t,v),t}return e.devtools&&e.devtools.overlays&&(t.devtools.overlays=N({},t.devtools.overlays,e.devtools.overlays)),t.status=f,t.bootstrap=D(e,\"bootstrap\"),t.mount=D(e,\"mount\"),t.unmount=D(e,\"unmount\"),t.unload=D(e,\"unload\"),t.timeouts=q(e.timeouts),delete t.loadPromise,t}))})).catch((e=>{let r;return delete t.loadPromise,n?r=v:(r=E,t.loadErrorTime=(new Date).getTime()),o(e,t,r),t}))}))}const X=\"undefined\"!=typeof window,Y={hashchange:[],popstate:[]},Z=[\"hashchange\",\"popstate\"];function tt(t){let e;if(\"string\"==typeof t)e=t;else if(this&&this.href)e=this.href;else{if(!(t&&t.currentTarget&&t.currentTarget.href&&t.preventDefault))throw Error(u(14,!1));e=t.currentTarget.href,t.preventDefault()}const n=ct(window.location.href),r=ct(e);0===e.indexOf(\"#\")?window.location.hash=r.hash:n.host!==r.host&&r.host?window.location.href=e:r.pathname===n.pathname&&r.search===n.search?window.location.hash=r.hash:window.history.pushState(null,null,e)}function et(t){if(t){const e=t[0].type;Z.indexOf(e)>=0&&Y[e].forEach((e=>{try{e.apply(this,t)}catch(t){setTimeout((()=>{throw t}))}}))}}let nt;function rt(){Lt([],arguments)}function ot(t,e){return function(){const n=window.location.href,r=t.apply(this,arguments),o=window.location.href;return nt&&n===o||window.dispatchEvent(it(window.history.state,e)),r}}function it(t,e){let n;try{n=new PopStateEvent(\"popstate\",{state:t})}catch(e){n=document.createEvent(\"PopStateEvent\"),n.initPopStateEvent(\"popstate\",!1,!1,t)}return n.singleSpa=!0,n.singleSpaTrigger=e,n}let st=null,ut=!1;function at(t){if(ut)throw Error(u(43,!1));nt=!t||!t.hasOwnProperty(\"urlRerouteOnly\")||t.urlRerouteOnly,ut=!0,st=window.history.replaceState,window.addEventListener(\"hashchange\",rt),window.addEventListener(\"popstate\",rt);const e=window.addEventListener,n=window.removeEventListener;window.addEventListener=function(t,n){if(!(\"function\"==typeof n&&Z.indexOf(t)>=0)||S(Y[t],(t=>t===n)))return e.apply(this,arguments);Y[t].push(n)},window.removeEventListener=function(t,e){if(!(\"function\"==typeof e&&Z.indexOf(t)>=0))return n.apply(this,arguments);Y[t]=Y[t].filter((t=>t!==e))},window.history.pushState=ot(window.history.pushState,\"pushState\"),window.history.replaceState=ot(st,\"replaceState\")}function ct(t){const e=document.createElement(\"a\");return e.href=t,e}X&&(window.singleSpaNavigate?console.warn(u(41,!1)):window.singleSpaNavigate=tt);let lt=!1;function ft(t=window.jQuery){if(t||window.$&&window.$.fn&&window.$.fn.jquery&&(t=window.$),t&&!lt){const e=t.fn.on,n=t.fn.off;t.fn.on=function(t,n){return pt.call(this,e,window.addEventListener,t,n,arguments)},t.fn.off=function(t,e){return pt.call(this,n,window.removeEventListener,t,e,arguments)},lt=!0}}function pt(t,e,n,r,o){return\"string\"!=typeof n?t.apply(this,o):(n.split(/\\s+/).forEach((t=>{Z.indexOf(t)>=0&&(e(t,r),n=n.replace(t,\"\"))})),\"\"===n.trim()?this:t.apply(this,o))}const ht={};function mt(t){return Promise.resolve().then((()=>{const e=ht[T(t)];if(!e)return t;if(t.status===c)return dt(t,e),t;if(t.status===y)return e.promise.then((()=>t));if(t.status!==h&&t.status!==E)return t;const n=t.status===E?Promise.resolve():V(t,\"unload\");return t.status=y,n.then((()=>(dt(t,e),t))).catch((n=>(function(t,e,n){delete ht[T(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,o(n,t,v),e.reject(n)}(t,e,n),t)))}))}function dt(t,e){delete ht[T(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,t.status=c,e.resolve()}function wt(t,e,n,r){ht[T(t)]={app:t,resolve:n,reject:r},Object.defineProperty(ht[T(t)],\"promise\",{get:e})}function gt(t){return ht[t]}const yt=[];function Et(){return yt.filter(P).map(T)}function vt(){return yt.map(T)}function Pt(t){const e=S(yt,(e=>T(e)===t));return e?e.status:null}let Ot=!1;function Tt(t,e,n,r){const o=function(t,e,n,r){const o={name:null,loadApp:null,activeWhen:null,customProps:null};return\"object\"==typeof t?(function(t){if(Array.isArray(t)||null===t)throw Error(u(39,!1));const e=[\"name\",\"app\",\"activeWhen\",\"customProps\"],n=Object.keys(t).reduce(((t,n)=>e.indexOf(n)>=0?t:t.concat(n)),[]);if(0!==n.length)throw Error(u(38,!1,e.join(\", \"),n.join(\", \")));if(\"string\"!=typeof t.name||0===t.name.length)throw Error(u(20,!1));if(\"object\"!=typeof t.app&&\"function\"!=typeof t.app)throw Error(u(20,!1));const r=t=>\"string\"==typeof t||\"function\"==typeof t;if(!(r(t.activeWhen)||Array.isArray(t.activeWhen)&&t.activeWhen.every(r)))throw Error(u(24,!1));if(!_t(t.customProps))throw Error(u(22,!1))}(t),o.name=t.name,o.loadApp=t.app,o.activeWhen=t.activeWhen,o.customProps=t.customProps):(function(t,e,n,r){if(\"string\"!=typeof t||0===t.length)throw Error(u(20,!1));if(!e)throw Error(u(23,!1));if(\"function\"!=typeof n)throw Error(u(24,!1));if(!_t(r))throw Error(u(22,!1))}(t,e,n,r),o.name=t,o.loadApp=e,o.activeWhen=n,o.customProps=r),o.loadApp=\"function\"!=typeof(i=o.loadApp)?()=>Promise.resolve(i):i,o.customProps=function(t){return t||{}}(o.customProps),o.activeWhen=function(t){let e=Array.isArray(t)?t:[t];return e=e.map((t=>\"function\"==typeof t?t:Dt(t))),t=>e.some((e=>e(t)))}(o.activeWhen),o;var i}(t,e,n,r);if(Bt()||Ot||(Ot=!0,setTimeout((()=>{Bt()||console.warn(u(1,!1))}),5e3)),-1!==vt().indexOf(o.name))throw Error(u(21,!1,o.name));yt.push(N({loadErrorTime:null,status:c,parcels:{},devtools:{overlays:{options:{},selectors:[]}}},o)),X&&(ft(),Lt())}function bt(t=window.location){return yt.filter((e=>e.activeWhen(t))).map(T)}function At(t){if(0===yt.filter((e=>T(e)===t)).length)throw Error(u(25,!1,t));return(X?Nt(t,{waitForUnmount:!1}):Promise.resolve()).then((()=>{const e=yt.map(T).indexOf(t);yt.splice(e,1)}))}function Nt(t,e={waitForUnmount:!1}){if(\"string\"!=typeof t)throw Error(u(26,!1));const n=S(yt,(e=>T(e)===t));if(!n)throw Error(u(27,!1,t));const r=gt(T(n));if(e&&e.waitForUnmount){if(r)return r.promise;{const t=new Promise(((e,r)=>{wt(n,(()=>t),e,r)}));return t}}{let t;return r?(t=r.promise,St(n,r.resolve,r.reject)):t=new Promise(((e,r)=>{wt(n,(()=>t),e,r),St(n,e,r)})),t}}function St(t,e,n){Promise.resolve().then((()=>{if(S(bt(),(e=>e===T(t))))return $t()})).then((()=>$(t).then(mt).then((()=>{e(),setTimeout((()=>{Lt()}))})))).catch(n)}function _t(t){return!t||\"function\"==typeof t||\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Dt(t,e){const n=function(t,e){let n=0,r=!1,o=\"^\";\"/\"!==t[0]&&(t=\"/\"+t);for(let e=0;e<t.length;e++){const n=t[e],o=r&&\"/\"===n;(!r&&\":\"===n||o)&&i(e)}return i(t.length),new RegExp(o,\"i\");function i(i){const s=t.slice(n,i).replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\");if(o+=r?\"[^/]+/?\":s,i===t.length)if(r)e&&(o+=\"$\");else{const t=e?\"\":\".*\";o=\"/\"===o.charAt(o.length-1)?`${o}${t}$`:`${o}(/${t})?(#.*)?$`}r=!r,n=i}}(t,e);return t=>{let e=t.origin;e||(e=`${t.protocol}//${t.host}`);const r=t.href.replace(e,\"\").replace(t.search,\"\").split(\"?\")[0];return n.test(r)}}let Ut=!1,Mt=[],jt=X&&window.location.href;function $t(){return Lt()}function Lt(t=[],e,r=!1){if(Ut)return new Promise(((t,n)=>{Mt.push({resolve:t,reject:n,eventArguments:e})}));const{appsToUnload:o,appsToUnmount:i,appsToLoad:s,appsToMount:a}=function(){const t=[],e=[],n=[],r=[],o=(new Date).getTime();return yt.forEach((i=>{const s=i.status!==v&&O(i);switch(i.status){case E:s&&o-i.loadErrorTime>=200&&n.push(i);break;case c:case l:s&&n.push(i);break;case f:case h:!s&&gt(T(i))?t.push(i):s&&r.push(i);break;case d:s||e.push(i)}})),{appsToUnload:t,appsToUnmount:e,appsToLoad:n,appsToMount:r}}();let p,m=[],w=jt,g=jt=window.location.href;return Bt()?(Ut=!0,p=o.concat(s,i,a),Promise.resolve().then((()=>(S(0===p.length?\"before-no-app-change\":\"before-app-change\",A(!0)),S(\"before-routing-event\",A(!0,{cancelNavigation:y})),Promise.all(m).then((n=>{if(n.some((t=>t)))return st.call(window.history,history.state,\"\",w.substring(location.origin.length)),jt=location.href,Ut=!1,Lt(t,e,!0);const r=o.map(mt),u=i.map($).map((t=>t.then(mt))).concat(r),c=Promise.all(u);c.then((()=>{S(\"before-mount-routing-event\",A(!0))}),(t=>{throw t}));const l=s.map((t=>z(t).then((t=>Rt(t,c))))),f=a.filter((t=>s.indexOf(t)<0)).map((t=>Rt(t,c)));return c.catch((t=>{throw b(),t})).then((()=>(b(),Promise.all(l.concat(f)).catch((e=>{throw t.forEach((t=>t.reject(e))),e})).then(P).then((()=>{}),(t=>{throw t})))))})))))):(p=s,Promise.resolve().then((()=>{const t=s.map(z);return Promise.all(t).then(b).then((()=>[])).catch((t=>{throw b(),t})).finally((()=>{}))})));function y(t=!0){const e=\"function\"==typeof(null==t?void 0:t.then)?t:Promise.resolve(t);m.push(e.catch((t=>(console.warn(Error(u(42,!1))),console.warn(t),!1))))}function P(){const e=Et();t.forEach((t=>t.resolve(e)));try{S(0===p.length?\"no-app-change\":\"app-change\",A()),S(\"routing-event\",A())}catch(t){setTimeout((()=>{throw t}))}if(Ut=!1,Mt.length>0){const t=Mt;Mt=[],Lt(t)}return e}function b(){r||(t.forEach((t=>{et(t.eventArguments)})),et(e))}function A(t=!1,n){const r={},u={[d]:[],[h]:[],[c]:[],[v]:[]};t?(s.concat(a).forEach(((t,e)=>{f(t,d)})),o.forEach((t=>{f(t,c)})),i.forEach((t=>{f(t,h)}))):p.forEach((t=>{f(t)}));const l={detail:{newAppStatuses:r,appsByNewStatus:u,totalAppChanges:p.length,originalEvent:null==e?void 0:e[0],oldUrl:w,newUrl:g}};return n&&N(l.detail,n),l;function f(t,e){const n=T(t);e=e||Pt(n),r[n]=e,(u[e]=u[e]||[]).push(n)}}function S(t,e){r||window.dispatchEvent(new n(`single-spa:${t}`,e))}}function Rt(t,e){return O(t)?j(t).then((t=>e.then((()=>O(t)?x(t):t)))):e.then((()=>t))}let xt=!1;function It(t){xt=!0,X&&(at(t),Lt())}function Bt(){return xt}var Gt={getRawAppData:function(){return[...yt]},reroute:Lt,NOT_LOADED:c,toLoadPromise:z,toBootstrapPromise:j,unregisterApplication:At,getProfilerData:function(){return M}};X&&window.__SINGLE_SPA_DEVTOOLS__&&(window.__SINGLE_SPA_DEVTOOLS__.exposedMethods=Gt);export{p as BOOTSTRAPPING,l as LOADING_SOURCE_CODE,E as LOAD_ERROR,d as MOUNTED,m as MOUNTING,f as NOT_BOOTSTRAPPED,c as NOT_LOADED,h as NOT_MOUNTED,v as SKIP_BECAUSE_BROKEN,y as UNLOADING,g as UNMOUNTING,w as UPDATING,i as addErrorHandler,bt as checkActivityFunctions,ft as ensureJQuerySupport,vt as getAppNames,Pt as getAppStatus,Et as getMountedApps,G as mountRootParcel,tt as navigateToUrl,at as patchHistoryApi,Dt as pathToActiveWhen,Tt as registerApplication,s as removeErrorHandler,K as setBootstrapMaxTime,H as setMountMaxTime,Q as setUnloadMaxTime,J as setUnmountMaxTime,It as start,$t as triggerAppChange,Nt as unloadApplication,At as unregisterApplication};\n//# sourceMappingURL=single-spa.min.js.map\n","/**\n * Copyright IBM Corp. 2016, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as FeatureFlags from '@carbon/feature-flags';\n\nFeatureFlags.merge({\n 'enable-css-custom-properties': true,\n 'enable-css-grid': true,\n 'enable-v11-release': true,\n 'enable-experimental-tile-contrast': false\n});\n","/** @module @category UI */\nimport React from 'react';\nimport { Subject } from 'rxjs';\nimport type { InlineNotificationMeta, NotificationDescriptor } from './notification.component';\nimport type { ActionableNotificationMeta, ActionableNotificationDescriptor } from './actionable-notification.component';\nimport ActiveNotifications from './active-notifications.component';\nimport ActionableActiveNotifications from './active-actionable-notifications.component';\nimport isEmpty from 'lodash-es/isEmpty';\nimport { createRoot } from 'react-dom/client';\n\nconst inlineNotificationsSubject = new Subject<InlineNotificationMeta>();\nlet notificationId = 0;\n\nconst actionableNotificationsSubject = new Subject<ActionableNotificationMeta>();\nlet actionableNotificationId = 0;\n\n/**\n * Starts a rendering host for inline notifications. Should only be used by the app shell.\n * Under normal conditions there is no need to use this function.\n * @param target The container target that hosts the inline notifications.\n */\nexport function renderInlineNotifications(target: HTMLElement | null) {\n if (target) {\n const root = createRoot(target);\n root.render(<ActiveNotifications subject={inlineNotificationsSubject} />);\n }\n}\n\nfunction isNotEmpty(description: React.ReactNode) {\n if (typeof description === 'string') {\n return description.trim().length > 0;\n } else if (typeof description === 'object') {\n return description instanceof Error || !isEmpty(description);\n }\n\n return false;\n}\n\n/**\n * Displays an inline notification in the UI.\n * @param notification The description of the notification to display.\n */\nexport function showNotification(notification: NotificationDescriptor) {\n if (notification && isNotEmpty(notification.description)) {\n if (notification.description instanceof Error) {\n notification.description = notification.description.toLocaleString();\n }\n\n setTimeout(() => {\n // always use in subsequent cycle\n inlineNotificationsSubject.next({\n ...notification,\n id: notificationId++,\n });\n }, 0);\n } else {\n console.error(\n `showNotification must be called with an object having a 'description' property that is a non-empty string or object`,\n );\n }\n}\n\n// Actionable Notifications\n\nexport function renderActionableNotifications(target: HTMLElement | null) {\n if (target) {\n const root = createRoot(target);\n root.render(<ActionableActiveNotifications subject={actionableNotificationsSubject} />);\n }\n}\n\nfunction isNotActionableNotificationEmpty(subtitle: React.ReactNode) {\n return typeof subtitle === 'string'\n ? subtitle.trim().length > 0\n : typeof subtitle === 'object'\n ? !isEmpty(subtitle)\n : false;\n}\n\n/**\n * Displays an actionable notification in the UI.\n * @param notification The description of the notification to display.\n */\n\nexport function showActionableNotification(notification: ActionableNotificationDescriptor) {\n if (notification && isNotActionableNotificationEmpty(notification.actionButtonLabel)) {\n setTimeout(() => {\n // always use in subsequent cycle\n actionableNotificationsSubject.next({\n ...notification,\n id: actionableNotificationId++,\n });\n }, 0);\n } else {\n console.error(`showActionableNotification must be called with an actionButtonLabel that is a non-empty string`);\n }\n}\n","/** @module @category UI */\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Subject } from 'rxjs';\nimport type { ToastDescriptor, ToastNotificationMeta } from './toast.component';\nimport ActiveToasts from './active-toasts.component';\nimport isEmpty from 'lodash-es/isEmpty';\n\nconst toastsSubject = new Subject<ToastNotificationMeta>();\nlet toastId = 0;\n\n/**\n * Starts a rendering host for toast notifications. Should only be used by the app shell.\n * Under normal conditions there is no need to use this function.\n * @param target The container target that hosts the toast notifications.\n */\nexport function renderToasts(target: HTMLElement | null) {\n if (target) {\n const root = createRoot(target);\n root.render(<ActiveToasts subject={toastsSubject} />);\n }\n}\n\nfunction isNotEmpty(description: React.ReactNode) {\n return typeof description === 'string'\n ? description.trim().length > 0\n : typeof description === 'object'\n ? !isEmpty(description)\n : false;\n}\n\n/**\n * Displays a toast notification in the UI.\n * @param toast The description of the toast to display.\n */\nexport function showToast(toast: ToastDescriptor) {\n if (toast && isNotEmpty(toast.description)) {\n setTimeout(() => {\n // always use in subsequent cycle\n toastsSubject.next({\n ...toast,\n id: toastId++,\n });\n }, 0);\n } else {\n console.error(\n `showToast must be called with an object having a 'description' property that is a non-empty string or object`,\n );\n }\n}\n","/** @module @category UI */\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Subject } from 'rxjs';\n\nimport type { SnackbarDescriptor, SnackbarMeta } from './snackbar.component';\nimport ActiveSnackbars from './active-snackbar.component';\n\nconst snackbarsSubject = new Subject<SnackbarMeta>();\nlet snackbarId = 0;\n\n/**\n * Starts a rendering host for snack bar notifications. Should only be used by the app shell.\n * Under normal conditions there is no need to use this function.\n * @param target The container target that hosts the snack bar notifications.\n */\nexport function renderSnackbars(target: HTMLElement | null) {\n if (target) {\n const root = createRoot(target);\n root.render(<ActiveSnackbars subject={snackbarsSubject} />);\n }\n}\n\nfunction isNotEmpty(title: string) {\n return typeof title === 'string' ? title.trim().length > 0 : false;\n}\n\n/**\n * Displays a snack bar notification in the UI.\n * @param snackbar The description of the snack bar to display.\n */\nexport function showSnackbar(snackbar: SnackbarDescriptor) {\n if (snackbar && isNotEmpty(snackbar.title)) {\n setTimeout(() => {\n snackbarsSubject.next({\n ...snackbar,\n id: snackbarId++,\n });\n }, 0);\n } else {\n console.error(`showSnackbar must be called with an object having a 'title' property that is a non-empty string`);\n }\n}\n","/** @module @category UI */\nimport { mountRootParcel, type Parcel } from 'single-spa';\nimport { createGlobalStore } from '@openmrs/esm-state';\nimport { getModalRegistration } from '@openmrs/esm-extensions';\nimport { reportError } from '@openmrs/esm-error-handling';\n\ntype ModalInstanceState = 'NEW' | 'MOUNTED' | 'TO_BE_DELETED';\n\ninterface ModalInstance {\n container?: HTMLElement;\n state: ModalInstanceState;\n onClose: () => void;\n parcel?: Parcel | null;\n modalName: string;\n props: Record<string, any>;\n}\n\ninterface ModalState {\n modalContainer: HTMLElement | null;\n modalStack: Array<ModalInstance>;\n}\n\nconst modalStore = createGlobalStore<ModalState>('modalState', {\n modalContainer: null,\n modalStack: [],\n});\n\nfunction htmlToElement(html: string) {\n const template = document.createElement('template');\n template.innerHTML = html;\n return template.content.firstChild as ChildNode;\n}\n\nfunction createModalFrame() {\n const closeButton = htmlToElement(\n `\n <button\n class=\"cds--modal-close\"\n type=\"button\">\n <svg id=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><defs><style>.cls-1{fill:#000000;}.cls-2{fill:none;}</style></defs><title>close</title><polygon class=\"cls-1\" points=\"24 9.4 22.6 8 16 14.6 9.4 8 8 9.4 14.6 16 8 22.6 9.4 24 16 17.4 22.6 24 24 22.6 17.4 16 24 9.4\"/><rect class=\"cls-2\" width=\"32\" height=\"32\"/></svg>\n </button>`.trim(),\n ) as HTMLButtonElement;\n\n closeButton.addEventListener('click', closeHighestInstance);\n const modalFrame = document.createElement('div');\n modalFrame.className = 'cds--modal-container';\n\n modalFrame.append(closeButton);\n\n return modalFrame;\n}\n\nlet parcelCount = 0;\n\n/**\n * Mounts the named modal into the specified DOM element\n */\nasync function renderModalIntoDOM(\n domElement: HTMLElement,\n modalName: string,\n additionalProps: Record<string, any> = {},\n): Promise<Parcel | null> {\n const modalRegistration = getModalRegistration(modalName);\n let parcel: Parcel | null = null;\n\n if (domElement) {\n if (!modalRegistration) {\n throw Error(`No modal named '${modalName}' has been registered.`);\n }\n\n const { load } = modalRegistration;\n\n const { default: result, ...lifecycle } = await load();\n const id = parcelCount++;\n parcel = mountRootParcel(\n {\n ...(result ?? lifecycle),\n name: `${modalName}-${id}`,\n },\n {\n ...additionalProps,\n domElement,\n },\n );\n } else {\n reportError(`Failed to launch modal. Please notify your administrator. Modal name: ${modalName}`);\n }\n\n return parcel;\n}\n\nconst original = window.getComputedStyle(document.body).overflow;\n\nfunction handleModalStateUpdate({ modalStack, modalContainer }: ModalState) {\n if (!modalContainer) return;\n\n if (modalStack.length) {\n // ensure the container is visible\n if (!modalContainer.style.visibility) {\n addEventListener('keydown', handleEscKey);\n document.body.style.overflow = 'hidden';\n modalContainer.style.visibility = 'unset';\n }\n\n modalStack.forEach((instance, index) => {\n switch (instance.state) {\n case 'NEW': {\n const modalFrame = createModalFrame();\n instance.container = modalFrame;\n renderModalIntoDOM(modalFrame, instance.modalName, instance.props).then((parcel) => {\n instance.parcel = parcel;\n instance.state = 'MOUNTED';\n modalContainer.prepend(modalFrame);\n modalFrame.style.visibility = 'unset';\n });\n break;\n }\n\n case 'MOUNTED':\n if (instance.container) {\n instance.container.style.visibility = index ? 'hidden' : 'unset';\n }\n break;\n\n case 'TO_BE_DELETED':\n instance.onClose();\n instance.parcel?.unmount?.();\n instance.container?.remove();\n setTimeout(() => {\n modalStore.setState({\n modalContainer,\n modalStack: modalStack.filter((x) => x !== instance),\n });\n }, 0);\n break;\n }\n });\n } else {\n modalContainer.style.removeProperty('visibility');\n document.body.style.overflow = original;\n removeEventListener('keydown', handleEscKey);\n }\n}\n\nfunction openInstance(instance: ModalInstance) {\n const state = modalStore.getState();\n const modalStack = [instance, ...state.modalStack];\n\n modalStore.setState({\n ...state,\n modalStack,\n });\n}\n\nfunction closeInstance(instance: ModalInstance) {\n const state = modalStore.getState();\n const modalStack = state.modalStack.map(\n (x): ModalInstance => (x === instance ? { ...x, state: 'TO_BE_DELETED' } : x),\n );\n modalStore.setState({\n ...state,\n modalStack,\n });\n}\n\nfunction closeHighestInstance() {\n const state = modalStore.getState();\n const [top] = state.modalStack;\n\n if (top) {\n closeInstance(top);\n }\n}\n\nfunction handleEscKey(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n closeHighestInstance();\n }\n}\n\n/**\n * @internal\n * Sets up the modals system. Should be called in the app shell during initialization.\n */\nexport function setupModals(modalContainer: HTMLElement | null) {\n modalStore.subscribe(handleModalStateUpdate);\n\n modalStore.setState({\n ...modalStore.getState(),\n modalContainer,\n });\n}\n\n/**\n * Shows a modal dialog.\n *\n * The modal must have been registered by name. This should be done in the `routes.json` file of the\n * app that defines the modal. Note that both the `<ModalHeader>` and `<ModalBody>` should be at the\n * top level of the modal component (wrapped in a React.Fragment), or else the content of the modal\n * body might not vertical-scroll properly.\n *\n * @param modalName The name of the modal to show.\n * @param props The optional props to provide to the modal.\n * @param onClose The optional callback to call when the modal is closed.\n * @returns The dispose function to force closing the modal dialog.\n */\nexport function showModal(modalName: string, props: Record<string, any> = {}, onClose: () => void = () => {}) {\n const close = () => {\n const state = modalStore.getState();\n const item = state.modalStack.find((m) => m.onClose === onClose);\n\n if (item) {\n closeInstance(item);\n }\n };\n\n const modalRegistration = getModalRegistration(modalName);\n if (!modalRegistration) {\n reportError(`Failed to launch modal. Please notify your administrator. Modal name: \"${modalName}\"`);\n } else {\n openInstance({\n state: 'NEW',\n onClose,\n modalName,\n props: {\n close,\n ...props,\n },\n });\n }\n\n return close;\n}\n","/** @module @category Workspace */\nimport { useMemo, type ReactNode } from 'react';\nimport _i18n from 'i18next';\nimport { getWorkspaceRegistration, type WorkspaceRegistration } from '@openmrs/esm-extensions';\nimport { type WorkspaceWindowState } from '@openmrs/esm-globals';\nimport { navigate } from '@openmrs/esm-navigation';\nimport { getGlobalStore, createGlobalStore } from '@openmrs/esm-state';\nimport { getCoreTranslation, translateFrom } from '@openmrs/esm-translations';\nimport { useStore } from '@openmrs/esm-react-utils';\n\nexport interface CloseWorkspaceOptions {\n /**\n * Whether to close the workspace ignoring all the changes present in the workspace.\n *\n * If ignoreChanges is true, the user will not be prompted to save changes before closing\n * even if the `testFcn` passed to `promptBeforeClosing` returns `true`.\n */\n ignoreChanges?: boolean;\n /**\n * If you want to take an action after the workspace is closed, you can pass your function as\n * `onWorkspaceClose`. This function will be called only after the workspace is closed, given\n * that the user might be shown a prompt.\n * @returns void\n */\n onWorkspaceClose?: () => void;\n}\n\n/** The default parameters received by all workspaces */\nexport interface DefaultWorkspaceProps {\n /**\n * Call this function to close the workspace. This function will prompt the user\n * if there are any unsaved changes to workspace.\n *\n * You can pass `onWorkspaceClose` function to be called when the workspace is finally\n * closed, given the user forcefully closes the workspace.\n */\n closeWorkspace(closeWorkspaceOptions?: CloseWorkspaceOptions): void;\n /**\n * Call this with a no-args function that returns true if the user should be prompted before\n * this workspace is closed; e.g. if there is unsaved data.\n */\n promptBeforeClosing(testFcn: () => boolean): void;\n /**\n * Call this function to close the workspace after the form is saved. This function\n * will directly close the workspace without any prompt\n */\n closeWorkspaceWithSavedChanges(closeWorkspaceOptions?: CloseWorkspaceOptions): void;\n /**\n * Use this to set the workspace title if it needs to be set dynamically.\n *\n * Workspace titles generally are set in the workspace declaration in the routes.json file. They can also\n * be set by the workspace launcher by passing `workspaceTitle` in the `additionalProps`\n * parameter of the `launchWorkspace` function. This function is useful when the workspace\n * title needs to be set dynamically.\n *\n * @param title The title to set. If using titleNode, set this to a human-readable string\n * which will identify the workspace in notifications and other places.\n * @param titleNode A React object to put in the workspace header in place of the title. This\n * is useful for displaying custom elements in the header. Note that custom header\n * elements can also be attached to the workspace header extension slots.\n */\n setTitle(title: string, titleNode?: ReactNode): void;\n}\n\nexport interface WorkspaceWindowSize {\n size: WorkspaceWindowState;\n}\n\nexport interface WorkspaceWindowSizeProviderProps {\n children?: React.ReactNode;\n}\n\nexport interface WorkspaceWindowSizeContext {\n windowSize: WorkspaceWindowSize;\n updateWindowSize?(value: WorkspaceWindowState): any;\n active: boolean;\n}\n\nexport interface Prompt {\n title: string;\n body: string;\n /** Defaults to \"Confirm\" */\n confirmText?: string;\n onConfirm(): void;\n /** Defaults to \"Cancel\" */\n cancelText?: string;\n}\n\nexport interface WorkspaceStoreState {\n context: string | null;\n openWorkspaces: Array<OpenWorkspace>;\n prompt: Prompt | null;\n workspaceWindowState: WorkspaceWindowState;\n}\n\nexport interface OpenWorkspace extends WorkspaceRegistration, DefaultWorkspaceProps {\n additionalProps: object;\n}\n\n/**\n *\n * @param name Name of the workspace\n * @param ignoreChanges If set to true, the \"unsaved changes\" modal will never be shown, even if the `promptBeforeClosing` function returns true. The user will not be prompted before closing.\n * @returns true if the workspace can be closed.\n */\nexport function canCloseWorkspaceWithoutPrompting(name: string, ignoreChanges: boolean = false) {\n if (ignoreChanges) {\n return true;\n }\n const promptBeforeFn = getPromptBeforeClosingFcn(name);\n return !promptBeforeFn || !promptBeforeFn();\n}\n\nfunction promptBeforeLaunchingWorkspace(\n workspace: OpenWorkspace,\n newWorkspaceDetails: { name: string; additionalProps?: object },\n) {\n const { name, additionalProps } = newWorkspaceDetails;\n\n const proceed = () => {\n workspace.closeWorkspace({\n ignoreChanges: true,\n // Calling the launchWorkspace again, since one of the `if` case\n // might resolve, but we need to check all the cases before launching the form.\n onWorkspaceClose: () => launchWorkspace(name, additionalProps),\n });\n };\n\n if (!canCloseWorkspaceWithoutPrompting(workspace.name)) {\n showWorkspacePrompts('closing-workspace-launching-new-workspace', proceed, workspace.title ?? workspace.name);\n } else {\n proceed();\n }\n}\n\n/**\n * This launches a workspace by its name. The workspace must have been registered.\n * Workspaces should be registered in the `routes.json` file.\n *\n * For the workspace to appear, there must be either a `<WorkspaceOverlay />` or\n * a `<WorkspaceWindow />` component rendered.\n *\n * The behavior of this function is as follows:\n *\n * - If no workspaces are open, or if no other workspaces with the same type are open,\n * it will be opened and focused.\n * - If a workspace with the same name is already open, it will be displayed/focused,\n * if it was not already.\n * - If a workspace is launched and a workspace which cannot be hidden is already open,\n * a confirmation modal will pop up warning about closing the currently open workspace.\n * - If another workspace with the same type is open, the workspace will be brought to\n * the front and then a confirmation modal will pop up warning about closing the opened\n * workspace\n *\n * Note that this function just manipulates the workspace store. The UI logic is handled\n * by the components that display workspaces.\n *\n * Additional props can be passed to the workspace component being launched. Passing a\n * prop named `workspaceTitle` will override the title of the workspace.\n *\n * @param name The name of the workspace to launch\n * @param additionalProps Props to pass to the workspace component being launched. Passing\n * a prop named `workspaceTitle` will override the title of the workspace.\n */\nexport function launchWorkspace<\n T extends DefaultWorkspaceProps | object = DefaultWorkspaceProps & { [key: string]: any },\n>(name: string, additionalProps?: Omit<T, keyof DefaultWorkspaceProps> & { workspaceTitle?: string }) {\n const store = getWorkspaceStore();\n const workspace = getWorkspaceRegistration(name);\n const newWorkspace = {\n ...workspace,\n title: getWorkspaceTitle(workspace, additionalProps),\n closeWorkspace: (options: CloseWorkspaceOptions = {}) => closeWorkspace(name, options),\n closeWorkspaceWithSavedChanges: (options: CloseWorkspaceOptions) =>\n closeWorkspace(name, { ignoreChanges: true, ...options }),\n promptBeforeClosing: (testFcn) => promptBeforeClosing(name, testFcn),\n setTitle: (title: string, titleNode: ReactNode) => {\n newWorkspace.title = title;\n newWorkspace.titleNode = titleNode;\n store.setState((state) => {\n const openWorkspaces = state.openWorkspaces.map((w) => (w.name === name ? newWorkspace : w));\n return {\n ...state,\n openWorkspaces,\n };\n });\n },\n additionalProps: additionalProps ?? {},\n };\n\n function updateStoreWithNewWorkspace(workspaceToBeAdded: OpenWorkspace, restOfTheWorkspaces?: Array<OpenWorkspace>) {\n store.setState((state) => {\n const openWorkspaces = [workspaceToBeAdded, ...(restOfTheWorkspaces ?? state.openWorkspaces)];\n let workspaceWindowState = getUpdatedWorkspaceWindowState(openWorkspaces[0]);\n\n return {\n ...state,\n openWorkspaces,\n workspaceWindowState,\n };\n });\n }\n\n const openWorkspaces = store.getState().openWorkspaces;\n const workspaceIndexInOpenWorkspaces = openWorkspaces.findIndex((w) => w.name === name);\n const isWorkspaceAlreadyOpen = workspaceIndexInOpenWorkspaces >= 0;\n const openedWorkspaceWithSameType = openWorkspaces.find((w) => w.type == newWorkspace.type);\n\n if (openWorkspaces.length === 0) {\n updateStoreWithNewWorkspace(newWorkspace);\n } else if (!openWorkspaces[0].canHide && workspaceIndexInOpenWorkspaces !== 0) {\n promptBeforeLaunchingWorkspace(openWorkspaces[0], {\n name,\n additionalProps,\n });\n } else if (isWorkspaceAlreadyOpen) {\n const openWorkspace = openWorkspaces[workspaceIndexInOpenWorkspaces];\n // Only update the title if it hasn't been set by `setTitle`\n if (openWorkspace.title == getWorkspaceTitle(openWorkspace, openWorkspace.additionalProps)) {\n openWorkspace.title = getWorkspaceTitle(openWorkspace, newWorkspace.additionalProps);\n }\n openWorkspace.additionalProps = newWorkspace.additionalProps;\n const restOfTheWorkspaces = openWorkspaces.filter((w) => w.name != name);\n updateStoreWithNewWorkspace(openWorkspaces[workspaceIndexInOpenWorkspaces], restOfTheWorkspaces);\n } else if (openedWorkspaceWithSameType) {\n const restOfTheWorkspaces = store.getState().openWorkspaces.filter((w) => w.type != newWorkspace.type);\n updateStoreWithNewWorkspace(openedWorkspaceWithSameType, restOfTheWorkspaces);\n promptBeforeLaunchingWorkspace(openedWorkspaceWithSameType, {\n name,\n additionalProps,\n });\n } else {\n updateStoreWithNewWorkspace(newWorkspace);\n }\n}\n\n/**\n * Use this function to navigate to a new page and launch a workspace on that page.\n *\n * @param options.targetUrl: The URL to navigate to. Will be passed to [[navigate]].\n * @param options.contextKey: The context key used by the target page.\n * @param options.workspaceName: The name of the workspace to launch.\n * @param options.additionalProps: Additional props to pass to the workspace component being launched.\n */\nexport function navigateAndLaunchWorkspace({\n targetUrl,\n contextKey,\n workspaceName,\n additionalProps,\n}: {\n targetUrl: string;\n contextKey: string;\n workspaceName: string;\n additionalProps?: object;\n}) {\n changeWorkspaceContext(contextKey);\n launchWorkspace(workspaceName, additionalProps);\n navigate({ to: targetUrl });\n}\n\nconst promptBeforeClosingFcns = {};\n\nexport function promptBeforeClosing(workspaceName: string, testFcn: () => boolean) {\n promptBeforeClosingFcns[workspaceName] = testFcn;\n}\n\nexport function getPromptBeforeClosingFcn(workspaceName: string) {\n return promptBeforeClosingFcns[workspaceName];\n}\n\nexport function cancelPrompt() {\n const store = getWorkspaceStore();\n const state = store.getState();\n store.setState({ ...state, prompt: null });\n}\n\n/**\n * Function to close an opened workspace\n * @param name Workspace registration name\n * @param options Options to close workspace\n */\nexport function closeWorkspace(\n name: string,\n options: CloseWorkspaceOptions = {\n ignoreChanges: false,\n onWorkspaceClose: () => {},\n },\n): boolean {\n const store = getWorkspaceStore();\n\n const updateStoreWithClosedWorkspace = () => {\n const state = store.getState();\n const newOpenWorkspaces = state.openWorkspaces.filter((w) => w.name != name);\n\n // ensure closed workspace will not prompt\n promptBeforeClosing(name, () => false);\n store.setState({\n ...state,\n prompt: null,\n openWorkspaces: newOpenWorkspaces,\n workspaceWindowState: getUpdatedWorkspaceWindowState(newOpenWorkspaces?.[0]),\n });\n\n options?.onWorkspaceClose?.();\n };\n\n if (!canCloseWorkspaceWithoutPrompting(name, options?.ignoreChanges)) {\n const currentName = getWorkspaceRegistration(name).title ?? name;\n showWorkspacePrompts('closing-workspace', updateStoreWithClosedWorkspace, currentName);\n return false;\n } else {\n updateStoreWithClosedWorkspace();\n return true;\n }\n}\n\n/**\n * The set of workspaces is specific to a particular page. This function\n * should be used when transitioning to a new page. If the current\n * workspace data is for a different page, the workspace state is cleared.\n *\n * This is called by the workspace components when they mount.\n * @internal\n *\n * @param contextKey An arbitrary key to identify the current page\n */\nexport function changeWorkspaceContext(contextKey: string | null) {\n const store = getWorkspaceStore();\n const state = store.getState();\n if (state.context != contextKey) {\n store.setState({ context: contextKey, openWorkspaces: [], prompt: null });\n }\n}\n\nconst initialState: WorkspaceStoreState = {\n context: '',\n openWorkspaces: [],\n prompt: null,\n workspaceWindowState: 'normal',\n};\n\nexport const workspaceStore = createGlobalStore('workspace', initialState);\n\nexport function getWorkspaceStore() {\n return getGlobalStore<WorkspaceStoreState>('workspace', initialState);\n}\n\nexport function updateWorkspaceWindowState(value: WorkspaceWindowState) {\n const store = getWorkspaceStore();\n const state = store.getState();\n store.setState({ ...state, workspaceWindowState: value });\n}\n\nfunction getUpdatedWorkspaceWindowState(workspaceAtTop: OpenWorkspace) {\n return workspaceAtTop?.preferredWindowSize ?? 'normal';\n}\nexport function closeAllWorkspaces(onClosingWorkspaces: () => void = () => {}) {\n const store = getWorkspaceStore();\n\n const canCloseAllWorkspaces = store.getState().openWorkspaces.every(({ name }) => {\n const canCloseWorkspace = canCloseWorkspaceWithoutPrompting(name);\n return canCloseWorkspace;\n });\n\n const updateWorkspaceStore = () => {\n resetWorkspaceStore();\n onClosingWorkspaces?.();\n };\n\n if (!canCloseAllWorkspaces) {\n showWorkspacePrompts('closing-all-workspaces', updateWorkspaceStore);\n } else {\n updateWorkspaceStore();\n }\n}\n\nexport interface WorkspacesInfo {\n active: boolean;\n prompt: Prompt | null;\n workspaceWindowState: WorkspaceWindowState;\n workspaces: Array<OpenWorkspace>;\n}\n\nexport function useWorkspaces(): WorkspacesInfo {\n const { workspaceWindowState, openWorkspaces, prompt } = useStore(workspaceStore);\n\n const memoisedResults = useMemo(\n () => ({\n active: openWorkspaces.length > 0,\n prompt,\n workspaceWindowState,\n workspaces: openWorkspaces,\n }),\n [openWorkspaces, workspaceWindowState, prompt],\n );\n\n return memoisedResults;\n}\n\ntype PromptType = 'closing-workspace' | 'closing-all-workspaces' | 'closing-workspace-launching-new-workspace';\n\n/**\n * Sets the current prompt according to the prompt type.\n * @param promptType Determines the text and behavior of the prompt\n * @param onConfirmation Function to be called after the user confirms to close the workspace\n * @param workspaceTitle Workspace title to be shown in the prompt\n * @returns\n */\nexport function showWorkspacePrompts(\n promptType: PromptType,\n onConfirmation: () => void = () => {},\n workspaceTitle: string = '',\n) {\n const store = getWorkspaceStore();\n\n let prompt: Prompt;\n switch (promptType) {\n case 'closing-workspace': {\n prompt = {\n title: getCoreTranslation('unsavedChangesTitleText', 'Unsaved changes'),\n body: getCoreTranslation(\n 'unsavedChangesInOpenedWorkspace',\n `You have unsaved changes in the opened workspace. Do you want to discard these changes?`,\n ),\n onConfirm: () => {\n onConfirmation?.();\n },\n confirmText: getCoreTranslation('discard', 'Discard'),\n };\n break;\n }\n\n case 'closing-all-workspaces': {\n const workspacesNotClosed = store\n .getState()\n .openWorkspaces.filter(({ name }) => !canCloseWorkspaceWithoutPrompting(name))\n .map(({ title }, indx) => `${indx + 1}. ${title}`);\n\n prompt = {\n title: getCoreTranslation('closingAllWorkspacesPromptTitle', 'You have unsaved changes'),\n body: getCoreTranslation(\n 'closingAllWorkspacesPromptBody',\n 'There are unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}',\n {\n workspaceNames: workspacesNotClosed.join(','),\n },\n ),\n onConfirm: () => {\n onConfirmation?.();\n },\n confirmText: getCoreTranslation('closeAllOpenedWorkspaces', 'Discard changes in {{count}} workspaces', {\n count: workspacesNotClosed.length,\n }),\n };\n break;\n }\n case 'closing-workspace-launching-new-workspace': {\n prompt = {\n title: getCoreTranslation('unsavedChangesTitleText', 'Unsaved changes'),\n body: getCoreTranslation(\n 'unsavedChangesInWorkspace',\n 'There are unsaved changes in {{workspaceName}}. Please save them before opening another workspace.',\n { workspaceName: workspaceTitle },\n ),\n onConfirm: () => {\n store.setState((state) => ({\n ...state,\n prompt: null,\n }));\n onConfirmation?.();\n },\n confirmText: getCoreTranslation('openAnyway', 'Open anyway'),\n };\n break;\n }\n default: {\n console.error(\n `Workspace system trying to open unknown prompt type \"${promptType}\" in function \"showWorkspacePrompts\"`,\n );\n onConfirmation?.();\n return;\n }\n }\n store.setState((state) => ({ ...state, prompt }));\n}\n\nfunction getWorkspaceTitle(workspace: WorkspaceRegistration, additionalProps?: object) {\n return additionalProps?.['workspaceTitle'] ?? translateFrom(workspace.moduleName, workspace.title, workspace.title);\n}\n\nexport function resetWorkspaceStore() {\n getWorkspaceStore().setState(initialState);\n}\n","function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){o(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function n(e){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function a(e,t){var n;if(\"function\"!=typeof(n=t.domElement?function(){return t.domElement}:t.domElementGetter?t.domElementGetter:e.domElementGetter?e.domElementGetter:function(e){var t=e.appName||e.name;if(!t)throw Error(\"single-spa's dom-element-getter-helpers was not given an application name as a prop, so it can't make a unique dom element container for the react application\");var n=\"single-spa-application:\".concat(t);return function(){var e=document.getElementById(n);return e||((e=document.createElement(\"div\")).id=n,document.body.appendChild(e)),e}}(t)))throw Error(\"single-spa's dom-element-getter-helpers was given an invalid domElementGetter for application or parcel '\".concat(t.name,\"'. Expected a function, received \").concat(r(n)));return function(){var e=n(t);if(!(e instanceof HTMLElement))throw Error(\"single-spa's dom-element-getter-helpers: domElementGetter returned an invalid dom element for application or parcel '\".concat(t.name,\"'. Expected HTMLElement, received \").concat(r(e)));return e}}var c=null;try{c=require(\"react\").createContext()}catch(e){}var u={React:null,ReactDOM:null,ReactDOMClient:null,rootComponent:null,loadRootComponent:null,errorBoundary:null,errorBoundaryClass:null,domElementGetter:null,parcelCanUpdate:!0,suppressComponentDidCatchWarning:!1,domElements:{},renderResults:{},updateResolves:{},unmountResolves:{}};function i(e){if(\"object\"!==n(e))throw new Error(\"single-spa-react requires a configuration object\");var o,r=t(t({},u),e);if(!r.React)throw new Error(\"single-spa-react must be passed opts.React\");if(!r.ReactDOM&&!r.ReactDOMClient)throw new Error(\"single-spa-react must be passed opts.ReactDOM or opts.ReactDOMClient\");r.renderType||(null!==(o=r.ReactDOMClient)&&void 0!==o&&o.createRoot?r.renderType=\"createRoot\":r.renderType=\"render\");if(!r.rootComponent&&!r.loadRootComponent)throw new Error(\"single-spa-react must be passed opts.rootComponent or opts.loadRootComponent\");if(r.errorBoundary&&\"function\"!=typeof r.errorBoundary)throw Error(\"The errorBoundary opt for single-spa-react must either be omitted or be a function that returns React elements\");!c&&r.React.createContext&&(c=r.React.createContext()),r.SingleSpaRoot=function(e){function t(e){t.displayName=\"SingleSpaRoot(\".concat(e.name,\")\")}return t.prototype=Object.create(e.React.Component.prototype),t.prototype.componentDidMount=function(){setTimeout(this.props.mountFinished)},t.prototype.componentWillUnmount=function(){setTimeout(this.props.unmountFinished)},t.prototype.render=function(){return setTimeout(this.props.updateFinished),this.props.children},t}(r);var a={bootstrap:s.bind(null,r),mount:p.bind(null,r),unmount:l.bind(null,r)};return r.parcelCanUpdate&&(a.update=m.bind(null,r)),a}function s(e,t){return e.rootComponent?Promise.resolve():e.loadRootComponent(t).then((function(t){e.rootComponent=t}))}function p(e,t){return new Promise((function(n,o){e.suppressComponentDidCatchWarning||!function(e){if(!(e&&\"string\"==typeof e.version&&e.version.indexOf(\".\")>=0))return!1;var t=e.version.slice(0,e.version.indexOf(\".\"));try{return Number(t)>=16}catch(e){return!1}}(e.React)||e.errorBoundary||e.errorBoundaryClass||(e.rootComponent.prototype?e.rootComponent.prototype.componentDidCatch||console.warn(\"single-spa-react: \".concat(t.name||t.appName||t.childAppName,\"'s rootComponent should implement componentDidCatch to avoid accidentally unmounting the entire single-spa application.\")):console.warn(\"single-spa-react: \".concat(t.name||t.appName||t.childAppName,\"'s rootComponent does not implement an error boundary. If using a functional component, consider providing an opts.errorBoundary to singleSpaReact(opts).\")));var r=y(e,t,(function(){n(this)})),c=a(e,t)(),u=function(e){var t=e.reactDom,n=e.renderType,o=e.elementToRender,r=e.domElement,a=t[n];if(\"function\"!=typeof a)throw new Error('renderType \"'.concat(n,'\" did not return a function.'));switch(n){case\"createRoot\":case\"unstable_createRoot\":case\"createBlockingRoot\":case\"unstable_createBlockingRoot\":var c=a(r);return c.render(o),c;case\"hydrateRoot\":return a(r,o);case\"hydrate\":default:return a(o,r),null}}({elementToRender:r,domElement:c,reactDom:d(e),renderType:f(e)});e.domElements[t.name]=c,e.renderResults[t.name]=u}))}function l(e,t){return new Promise((function(n){e.unmountResolves[t.name]=n;var o=e.renderResults[t.name];o&&o.unmount?o.unmount():d(e).unmountComponentAtNode(e.domElements[t.name]),delete e.domElements[t.name],delete e.renderResults[t.name]}))}function m(e,t){return new Promise((function(n){e.updateResolves[t.name]||(e.updateResolves[t.name]=[]),e.updateResolves[t.name].push(n);var o=y(e,t,null),r=e.renderResults[t.name];if(r&&r.render)r.render(o);else{var c=a(e,t)();d(e).render(o,c)}}))}function d(e){return e.ReactDOMClient||e.ReactDOM}function f(e){return\"function\"==typeof e.renderType?e.renderType():e.renderType}function y(e,n,o){var r=e.React.createElement(e.rootComponent,n),a=c?e.React.createElement(c.Provider,{value:n},r):r;return(e.errorBoundary||n.errorBoundary||e.errorBoundaryClass||n.errorBoundaryClass)&&(e.errorBoundaryClass=e.errorBoundaryClass||n.errorBoundaryClass||function(e,t){function n(t){e.React.Component.apply(this,arguments),this.state={caughtError:null,caughtErrorInfo:null},n.displayName=\"SingleSpaReactErrorBoundary(\".concat(t.name,\")\")}return n.prototype=Object.create(e.React.Component.prototype),n.prototype.render=function(){return this.state.caughtError?(e.errorBoundary||t.errorBoundary)(this.state.caughtError,this.state.caughtErrorInfo,this.props):this.props.children},n.prototype.componentDidCatch=function(e,t){this.setState({caughtError:e,caughtErrorInfo:t})},n}(e,n),a=e.React.createElement(e.errorBoundaryClass,n,a)),a=e.React.createElement(e.SingleSpaRoot,t(t({},n),{},{mountFinished:o,updateFinished:function(){e.updateResolves[n.name]&&(e.updateResolves[n.name].forEach((function(e){return e()})),delete e.updateResolves[n.name])},unmountFinished:function(){e.unmountResolves[n.name]&&(e.unmountResolves[n.name](),delete e.unmountResolves[n.name])}}),a)}export{c as SingleSpaContext,i as default};\n//# sourceMappingURL=single-spa-react.js.map\n","import{SingleSpaContext as e}from\"single-spa-react\";import*as t from\"react\";function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function n(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e){return(i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function l(e,t){if(t&&(\"object\"==typeof t||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return u(e)}function p(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=i(e);if(t){var o=i(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return l(this,r)}}var s=function(r){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(h,t.Component);var i,l,s,f=p(h);function h(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,h),a(u(t=f.call(this,e)),\"handleRef\",(function(e){t.el=e})),a(u(t),\"addThingToDo\",(function(e,r){t.state.hasError&&\"unmount\"!==e||(t.nextThingToDo=(t.nextThingToDo||Promise.resolve()).then((function(){if(!t.unmounted||\"unmount\"===e)return r.apply(void 0,arguments)})).catch((function(r){throw t.nextThingToDo=Promise.resolve(),t.setState({hasError:!0}),r&&r.message&&(r.message=\"During '\".concat(e,\"', parcel threw an error: \").concat(r.message)),t.props.handleError?t.props.handleError(r):setTimeout((function(){throw r})),r})))})),a(u(t),\"getParcelProps\",(function(){var e=n(n({},t.props),{},{domElement:t.el});return delete e.mountParcel,delete e.config,delete e.wrapWith,delete e.wrapStyle,delete e.appendTo,delete e.handleError,delete e.parcelDidMount,e})),t.state={hasError:!1},!e.config)throw new Error(\"single-spa-react's Parcel component requires the 'config' prop to either be a parcel config or a loading function that returns a promise. See https://github.com/single-spa/single-spa-react\");return t}return i=h,(l=[{key:\"componentDidMount\",value:function(){var e=this;this.addThingToDo(\"mount\",(function(){var t,r=e.props.mountParcel||e.mountParcel;if(!r)throw new Error(\"\\n\\t\\t\\t\\t <Parcel /> was not passed a mountParcel prop, nor is it rendered where mountParcel is within the React context.\\n\\t\\t\\t\\t If you are using <Parcel /> within a module that is not a single-spa application, you will need to import mountRootParcel from single-spa and pass it into <Parcel /> as a mountParcel prop\\t\\n\\t\\t\\t\\t\");return e.el?t=e.el:(e.createdDomElement=t=document.createElement(e.props.wrapWith),Object.keys(e.props.wrapStyle).forEach((function(r){t.style[r]=e.props.wrapStyle[r]})),e.props.appendTo.appendChild(t)),e.parcel=r(e.props.config,n({domElement:t},e.getParcelProps())),e.parcel.mountPromise.then(e.props.parcelDidMount),e.parcel.mountPromise}))}},{key:\"componentDidUpdate\",value:function(){var e=this;this.addThingToDo(\"update\",(function(){if(e.parcel&&e.parcel.update)return e.parcel.update(e.getParcelProps())}))}},{key:\"componentWillUnmount\",value:function(){var e=this;this.addThingToDo(\"unmount\",(function(){if(e.parcel&&\"MOUNTED\"===e.parcel.getStatus())return e.parcel.unmount()})),this.createdDomElement&&this.createdDomElement.parentNode.removeChild(this.createdDomElement),this.unmounted=!0}},{key:\"render\",value:function(){var r=this;if(this.props.appendTo)return e&&e.Consumer?t.createElement(e.Consumer,null,(function(e){return r.mountParcel=e?e.mountParcel:null,null})):null;var n=e&&e.Consumer?t.createElement(e.Consumer,null,(function(e){return r.mountParcel=e?e.mountParcel:null,null})):void 0;return t.createElement(this.props.wrapWith,{ref:this.handleRef,style:this.props.wrapStyle,className:this.props.wrapClassName},n)}}])&&o(i.prototype,l),s&&o(i,s),h}();a(s,\"defaultProps\",{wrapWith:\"div\",wrapStyle:{},parcelDidMount:function(){}});export{s as default};\n//# sourceMappingURL=parcel.js.map\n","/** @module @category UI */\nimport React from 'react';\nimport { ExtensionSlot, useStore } from '@openmrs/esm-react-utils';\nimport { createGlobalStore } from '@openmrs/esm-state';\nimport type { SideNavProps } from '@carbon/react';\nimport { SideNav } from '@carbon/react';\nimport styles from './left-nav.module.scss';\n\ninterface LeftNavStore {\n slotName: string | null;\n basePath: string;\n}\n\nconst leftNavStore = createGlobalStore<LeftNavStore>('left-nav', {\n slotName: null,\n basePath: window.spaBase,\n});\n\nexport function setLeftNav({ name, basePath }) {\n leftNavStore.setState({ slotName: name, basePath });\n}\n\nexport function unsetLeftNav(name) {\n if (leftNavStore.getState().slotName == name) {\n leftNavStore.setState({ slotName: null });\n }\n}\n\ntype LeftNavMenuProps = SideNavProps;\n\nexport const LeftNavMenu = React.forwardRef<HTMLElement, LeftNavMenuProps>((props, ref) => {\n const { slotName, basePath } = useStore(leftNavStore);\n const currentPath = window.location ?? { pathname: '' };\n\n return (\n <SideNav ref={ref} expanded aria-label=\"Left navigation\" className={styles.leftNav} {...props}>\n <ExtensionSlot name=\"global-nav-menu-slot\" />\n {slotName ? <ExtensionSlot name={slotName} state={{ basePath, currentPath }} /> : null}\n </SideNav>\n );\n});\n","import React, { useEffect, useLayoutEffect, createContext, useContext, useMemo, useRef, createElement } from 'react';\n\n// Shared state between server components and client components\nconst noop = ()=>{};\n// Using noop() as the undefined value as undefined can be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\nconst UNDEFINED = /*#__NOINLINE__*/ noop();\nconst OBJECT = Object;\nconst isUndefined = (v)=>v === UNDEFINED;\nconst isFunction = (v)=>typeof v == 'function';\nconst mergeObjects = (a, b)=>({\n ...a,\n ...b\n });\nconst isPromiseLike = (x)=>isFunction(x.then);\n\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nconst table = new WeakMap();\n// counter of the key\nlet counter = 0;\n// A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsable.\nconst stableHash = (arg)=>{\n const type = typeof arg;\n const constructor = arg && arg.constructor;\n const isDate = constructor == Date;\n let result;\n let index;\n if (OBJECT(arg) === arg && !isDate && constructor != RegExp) {\n // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n // If it's already hashed, directly return the result.\n result = table.get(arg);\n if (result) return result;\n // Store the hash first for circular reference detection before entering the\n // recursive `stableHash` calls.\n // For other objects like set and map, we use this id directly as the hash.\n result = ++counter + '~';\n table.set(arg, result);\n if (constructor == Array) {\n // Array.\n result = '@';\n for(index = 0; index < arg.length; index++){\n result += stableHash(arg[index]) + ',';\n }\n table.set(arg, result);\n }\n if (constructor == OBJECT) {\n // Object, sort keys.\n result = '#';\n const keys = OBJECT.keys(arg).sort();\n while(!isUndefined(index = keys.pop())){\n if (!isUndefined(arg[index])) {\n result += index + ':' + stableHash(arg[index]) + ',';\n }\n }\n table.set(arg, result);\n }\n } else {\n result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n }\n return result;\n};\n\n// Global state used to deduplicate requests and store listeners\nconst SWRGlobalState = new WeakMap();\n\nconst EMPTY_CACHE = {};\nconst INITIAL_CACHE = {};\nconst STR_UNDEFINED = 'undefined';\n// NOTE: Use the function to guarantee it's re-evaluated between jsdom and node runtime for tests.\nconst isWindowDefined = typeof window != STR_UNDEFINED;\nconst isDocumentDefined = typeof document != STR_UNDEFINED;\nconst hasRequestAnimationFrame = ()=>isWindowDefined && typeof window['requestAnimationFrame'] != STR_UNDEFINED;\nconst createCacheHelper = (cache, key)=>{\n const state = SWRGlobalState.get(cache);\n return [\n // Getter\n ()=>!isUndefined(key) && cache.get(key) || EMPTY_CACHE,\n // Setter\n (info)=>{\n if (!isUndefined(key)) {\n const prev = cache.get(key);\n // Before writing to the store, we keep the value in the initial cache\n // if it's not there yet.\n if (!(key in INITIAL_CACHE)) {\n INITIAL_CACHE[key] = prev;\n }\n state[5](key, mergeObjects(prev, info), prev || EMPTY_CACHE);\n }\n },\n // Subscriber\n state[6],\n // Get server cache snapshot\n ()=>{\n if (!isUndefined(key)) {\n // If the cache was updated on the client, we return the stored initial value.\n if (key in INITIAL_CACHE) return INITIAL_CACHE[key];\n }\n // If we haven't done any client-side updates, we return the current value.\n return !isUndefined(key) && cache.get(key) || EMPTY_CACHE;\n }\n ];\n} // export { UNDEFINED, OBJECT, isUndefined, isFunction, mergeObjects, isPromiseLike }\n;\n\n/**\n * Due to the bug https://bugs.chromium.org/p/chromium/issues/detail?id=678075,\n * it's not reliable to detect if the browser is currently online or offline\n * based on `navigator.onLine`.\n * As a workaround, we always assume it's online on the first load, and change\n * the status upon `online` or `offline` events.\n */ let online = true;\nconst isOnline = ()=>online;\n// For node and React Native, `add/removeEventListener` doesn't exist on window.\nconst [onWindowEvent, offWindowEvent] = isWindowDefined && window.addEventListener ? [\n window.addEventListener.bind(window),\n window.removeEventListener.bind(window)\n] : [\n noop,\n noop\n];\nconst isVisible = ()=>{\n const visibilityState = isDocumentDefined && document.visibilityState;\n return isUndefined(visibilityState) || visibilityState !== 'hidden';\n};\nconst initFocus = (callback)=>{\n // focus revalidate\n if (isDocumentDefined) {\n document.addEventListener('visibilitychange', callback);\n }\n onWindowEvent('focus', callback);\n return ()=>{\n if (isDocumentDefined) {\n document.removeEventListener('visibilitychange', callback);\n }\n offWindowEvent('focus', callback);\n };\n};\nconst initReconnect = (callback)=>{\n // revalidate on reconnected\n const onOnline = ()=>{\n online = true;\n callback();\n };\n // nothing to revalidate, just update the status\n const onOffline = ()=>{\n online = false;\n };\n onWindowEvent('online', onOnline);\n onWindowEvent('offline', onOffline);\n return ()=>{\n offWindowEvent('online', onOnline);\n offWindowEvent('offline', onOffline);\n };\n};\nconst preset = {\n isOnline,\n isVisible\n};\nconst defaultConfigOptions = {\n initFocus,\n initReconnect\n};\n\nconst IS_REACT_LEGACY = !React.useId;\nconst IS_SERVER = !isWindowDefined || 'Deno' in window;\n// Polyfill requestAnimationFrame\nconst rAF = (f)=>hasRequestAnimationFrame() ? window['requestAnimationFrame'](f) : setTimeout(f, 1);\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\nconst useIsomorphicLayoutEffect = IS_SERVER ? useEffect : useLayoutEffect;\n// This assignment is to extend the Navigator type to use effectiveType.\nconst navigatorConnection = typeof navigator !== 'undefined' && navigator.connection;\n// Adjust the config based on slow connection status (<= 70Kbps).\nconst slowConnection = !IS_SERVER && navigatorConnection && ([\n 'slow-2g',\n '2g'\n].includes(navigatorConnection.effectiveType) || navigatorConnection.saveData);\n\nconst serialize = (key)=>{\n if (isFunction(key)) {\n try {\n key = key();\n } catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n // Use the original key as the argument of fetcher. This can be a string or an\n // array of values.\n const args = key;\n // If key is not falsy, or not an empty array, hash it.\n key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n return [\n key,\n args\n ];\n};\n\n// Global timestamp.\nlet __timestamp = 0;\nconst getTimestamp = ()=>++__timestamp;\n\nconst FOCUS_EVENT = 0;\nconst RECONNECT_EVENT = 1;\nconst MUTATE_EVENT = 2;\nconst ERROR_REVALIDATE_EVENT = 3;\n\nvar events = {\n __proto__: null,\n ERROR_REVALIDATE_EVENT: ERROR_REVALIDATE_EVENT,\n FOCUS_EVENT: FOCUS_EVENT,\n MUTATE_EVENT: MUTATE_EVENT,\n RECONNECT_EVENT: RECONNECT_EVENT\n};\n\nasync function internalMutate(...args) {\n const [cache, _key, _data, _opts] = args;\n // When passing as a boolean, it's explicitly used to disable/enable\n // revalidation.\n const options = mergeObjects({\n populateCache: true,\n throwOnError: true\n }, typeof _opts === 'boolean' ? {\n revalidate: _opts\n } : _opts || {});\n let populateCache = options.populateCache;\n const rollbackOnErrorOption = options.rollbackOnError;\n let optimisticData = options.optimisticData;\n const revalidate = options.revalidate !== false;\n const rollbackOnError = (error)=>{\n return typeof rollbackOnErrorOption === 'function' ? rollbackOnErrorOption(error) : rollbackOnErrorOption !== false;\n };\n const throwOnError = options.throwOnError;\n // If the second argument is a key filter, return the mutation results for all\n // filtered keys.\n if (isFunction(_key)) {\n const keyFilter = _key;\n const matchedKeys = [];\n const it = cache.keys();\n for (const key of it){\n if (// Skip the special useSWRInfinite and useSWRSubscription keys.\n !/^\\$(inf|sub)\\$/.test(key) && keyFilter(cache.get(key)._k)) {\n matchedKeys.push(key);\n }\n }\n return Promise.all(matchedKeys.map(mutateByKey));\n }\n return mutateByKey(_key);\n async function mutateByKey(_k) {\n // Serialize key\n const [key] = serialize(_k);\n if (!key) return;\n const [get, set] = createCacheHelper(cache, key);\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n const startRevalidate = ()=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidate) {\n // Invalidate the key by deleting the concurrent request markers so new\n // requests will not be deduped.\n delete FETCH[key];\n delete PRELOAD[key];\n if (revalidators && revalidators[0]) {\n return revalidators[0](MUTATE_EVENT).then(()=>get().data);\n }\n }\n return get().data;\n };\n // If there is no new data provided, revalidate the key with current state.\n if (args.length < 3) {\n // Revalidate and broadcast state.\n return startRevalidate();\n }\n let data = _data;\n let error;\n // Update global timestamps.\n const beforeMutationTs = getTimestamp();\n MUTATION[key] = [\n beforeMutationTs,\n 0\n ];\n const hasOptimisticData = !isUndefined(optimisticData);\n const state = get();\n // `displayedData` is the current value on screen. It could be the optimistic value\n // that is going to be overridden by a `committedData`, or get reverted back.\n // `committedData` is the validated value that comes from a fetch or mutation.\n const displayedData = state.data;\n const currentData = state._c;\n const committedData = isUndefined(currentData) ? displayedData : currentData;\n // Do optimistic data update.\n if (hasOptimisticData) {\n optimisticData = isFunction(optimisticData) ? optimisticData(committedData, displayedData) : optimisticData;\n // When we set optimistic data, backup the current committedData data in `_c`.\n set({\n data: optimisticData,\n _c: committedData\n });\n }\n if (isFunction(data)) {\n // `data` is a function, call it passing current cache value.\n try {\n data = data(committedData);\n } catch (err) {\n // If it throws an error synchronously, we shouldn't update the cache.\n error = err;\n }\n }\n // `data` is a promise/thenable, resolve the final data first.\n if (data && isPromiseLike(data)) {\n // This means that the mutation is async, we need to check timestamps to\n // avoid race conditions.\n data = await data.catch((err)=>{\n error = err;\n });\n // Check if other mutations have occurred since we've started this mutation.\n // If there's a race we don't update cache or broadcast the change,\n // just return the data.\n if (beforeMutationTs !== MUTATION[key][0]) {\n if (error) throw error;\n return data;\n } else if (error && hasOptimisticData && rollbackOnError(error)) {\n // Rollback. Always populate the cache in this case but without\n // transforming the data.\n populateCache = true;\n // Reset data to be the latest committed data, and clear the `_c` value.\n set({\n data: committedData,\n _c: UNDEFINED\n });\n }\n }\n // If we should write back the cache after request.\n if (populateCache) {\n if (!error) {\n // Transform the result into data.\n if (isFunction(populateCache)) {\n const populateCachedData = populateCache(data, committedData);\n set({\n data: populateCachedData,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n } else {\n // Only update cached data and reset the error if there's no error. Data can be `undefined` here.\n set({\n data,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n }\n }\n }\n // Reset the timestamp to mark the mutation has ended.\n MUTATION[key][1] = getTimestamp();\n // Update existing SWR Hooks' internal states:\n Promise.resolve(startRevalidate()).then(()=>{\n // The mutation and revalidation are ended, we can clear it since the data is\n // not an optimistic value anymore.\n set({\n _c: UNDEFINED\n });\n });\n // Throw error or return data\n if (error) {\n if (throwOnError) throw error;\n return;\n }\n return data;\n }\n}\n\nconst revalidateAllKeys = (revalidators, type)=>{\n for(const key in revalidators){\n if (revalidators[key][0]) revalidators[key][0](type);\n }\n};\nconst initCache = (provider, options)=>{\n // The global state for a specific provider will be used to deduplicate\n // requests and store listeners. As well as a mutate function that is bound to\n // the cache.\n // The provider's global state might be already initialized. Let's try to get the\n // global state associated with the provider first.\n if (!SWRGlobalState.has(provider)) {\n const opts = mergeObjects(defaultConfigOptions, options);\n // If there's no global state bound to the provider, create a new one with the\n // new mutate function.\n const EVENT_REVALIDATORS = {};\n const mutate = internalMutate.bind(UNDEFINED, provider);\n let unmount = noop;\n const subscriptions = {};\n const subscribe = (key, callback)=>{\n const subs = subscriptions[key] || [];\n subscriptions[key] = subs;\n subs.push(callback);\n return ()=>subs.splice(subs.indexOf(callback), 1);\n };\n const setter = (key, value, prev)=>{\n provider.set(key, value);\n const subs = subscriptions[key];\n if (subs) {\n for (const fn of subs){\n fn(value, prev);\n }\n }\n };\n const initProvider = ()=>{\n if (!SWRGlobalState.has(provider)) {\n // Update the state if it's new, or if the provider has been extended.\n SWRGlobalState.set(provider, [\n EVENT_REVALIDATORS,\n {},\n {},\n {},\n mutate,\n setter,\n subscribe\n ]);\n if (!IS_SERVER) {\n // When listening to the native events for auto revalidations,\n // we intentionally put a delay (setTimeout) here to make sure they are\n // fired after immediate JavaScript executions, which can be\n // React's state updates.\n // This avoids some unnecessary revalidations such as\n // https://github.com/vercel/swr/issues/1680.\n const releaseFocus = opts.initFocus(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, FOCUS_EVENT)));\n const releaseReconnect = opts.initReconnect(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, RECONNECT_EVENT)));\n unmount = ()=>{\n releaseFocus && releaseFocus();\n releaseReconnect && releaseReconnect();\n // When un-mounting, we need to remove the cache provider from the state\n // storage too because it's a side-effect. Otherwise, when re-mounting we\n // will not re-register those event listeners.\n SWRGlobalState.delete(provider);\n };\n }\n }\n };\n initProvider();\n // This is a new provider, we need to initialize it and setup DOM events\n // listeners for `focus` and `reconnect` actions.\n // We might want to inject an extra layer on top of `provider` in the future,\n // such as key serialization, auto GC, etc.\n // For now, it's just a `Map` interface without any modifications.\n return [\n provider,\n mutate,\n initProvider,\n unmount\n ];\n }\n return [\n provider,\n SWRGlobalState.get(provider)[4]\n ];\n};\n\n// error retry\nconst onErrorRetry = (_, __, config, revalidate, opts)=>{\n const maxRetryCount = config.errorRetryCount;\n const currentRetryCount = opts.retryCount;\n // Exponential backoff\n const timeout = ~~((Math.random() + 0.5) * (1 << (currentRetryCount < 8 ? currentRetryCount : 8))) * config.errorRetryInterval;\n if (!isUndefined(maxRetryCount) && currentRetryCount > maxRetryCount) {\n return;\n }\n setTimeout(revalidate, timeout, opts);\n};\nconst compare = (currentData, newData)=>stableHash(currentData) == stableHash(newData);\n// Default cache provider\nconst [cache, mutate] = initCache(new Map());\n// Default config\nconst defaultConfig = mergeObjects({\n // events\n onLoadingSlow: noop,\n onSuccess: noop,\n onError: noop,\n onErrorRetry,\n onDiscarded: noop,\n // switches\n revalidateOnFocus: true,\n revalidateOnReconnect: true,\n revalidateIfStale: true,\n shouldRetryOnError: true,\n // timeouts\n errorRetryInterval: slowConnection ? 10000 : 5000,\n focusThrottleInterval: 5 * 1000,\n dedupingInterval: 2 * 1000,\n loadingTimeout: slowConnection ? 5000 : 3000,\n // providers\n compare,\n isPaused: ()=>false,\n cache,\n mutate,\n fallback: {}\n}, // use web preset by default\npreset);\n\nconst mergeConfigs = (a, b)=>{\n // Need to create a new object to avoid mutating the original here.\n const v = mergeObjects(a, b);\n // If two configs are provided, merge their `use` and `fallback` options.\n if (b) {\n const { use: u1, fallback: f1 } = a;\n const { use: u2, fallback: f2 } = b;\n if (u1 && u2) {\n v.use = u1.concat(u2);\n }\n if (f1 && f2) {\n v.fallback = mergeObjects(f1, f2);\n }\n }\n return v;\n};\n\nconst SWRConfigContext = createContext({});\nconst SWRConfig = (props)=>{\n const { value } = props;\n const parentConfig = useContext(SWRConfigContext);\n const isFunctionalConfig = isFunction(value);\n const config = useMemo(()=>isFunctionalConfig ? value(parentConfig) : value, [\n isFunctionalConfig,\n parentConfig,\n value\n ]);\n // Extend parent context values and middleware.\n const extendedConfig = useMemo(()=>isFunctionalConfig ? config : mergeConfigs(parentConfig, config), [\n isFunctionalConfig,\n parentConfig,\n config\n ]);\n // Should not use the inherited provider.\n const provider = config && config.provider;\n // initialize the cache only on first access.\n const cacheContextRef = useRef(UNDEFINED);\n if (provider && !cacheContextRef.current) {\n cacheContextRef.current = initCache(provider(extendedConfig.cache || cache), config);\n }\n const cacheContext = cacheContextRef.current;\n // Override the cache if a new provider is given.\n if (cacheContext) {\n extendedConfig.cache = cacheContext[0];\n extendedConfig.mutate = cacheContext[1];\n }\n // Unsubscribe events.\n useIsomorphicLayoutEffect(()=>{\n if (cacheContext) {\n cacheContext[2] && cacheContext[2]();\n return cacheContext[3];\n }\n }, []);\n return createElement(SWRConfigContext.Provider, mergeObjects(props, {\n value: extendedConfig\n }));\n};\n\nconst INFINITE_PREFIX = '$inf$';\n\n// @ts-expect-error\nconst enableDevtools = isWindowDefined && window.__SWR_DEVTOOLS_USE__;\nconst use = enableDevtools ? window.__SWR_DEVTOOLS_USE__ : [];\nconst setupDevTools = ()=>{\n if (enableDevtools) {\n // @ts-expect-error\n window.__SWR_DEVTOOLS_REACT__ = React;\n }\n};\n\nconst normalize = (args)=>{\n return isFunction(args[1]) ? [\n args[0],\n args[1],\n args[2] || {}\n ] : [\n args[0],\n null,\n (args[1] === null ? args[2] : args[1]) || {}\n ];\n};\n\nconst useSWRConfig = ()=>{\n return mergeObjects(defaultConfig, useContext(SWRConfigContext));\n};\n\nconst preload = (key_, fetcher)=>{\n const [key, fnArg] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n // Prevent preload to be called multiple times before used.\n if (PRELOAD[key]) return PRELOAD[key];\n const req = fetcher(fnArg);\n PRELOAD[key] = req;\n return req;\n};\nconst middleware = (useSWRNext)=>(key_, fetcher_, config)=>{\n // fetcher might be a sync function, so this should not be an async function\n const fetcher = fetcher_ && ((...args)=>{\n const [key] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n if (key.startsWith(INFINITE_PREFIX)) {\n // we want the infinite fetcher to be called.\n // handling of the PRELOAD cache happens there.\n return fetcher_(...args);\n }\n const req = PRELOAD[key];\n if (isUndefined(req)) return fetcher_(...args);\n delete PRELOAD[key];\n return req;\n });\n return useSWRNext(key_, fetcher, config);\n };\n\nconst BUILT_IN_MIDDLEWARE = use.concat(middleware);\n\n// It's tricky to pass generic types as parameters, so we just directly override\n// the types here.\nconst withArgs = (hook)=>{\n return function useSWRArgs(...args) {\n // Get the default and inherited configuration.\n const fallbackConfig = useSWRConfig();\n // Normalize arguments.\n const [key, fn, _config] = normalize(args);\n // Merge configurations.\n const config = mergeConfigs(fallbackConfig, _config);\n // Apply middleware\n let next = hook;\n const { use } = config;\n const middleware = (use || []).concat(BUILT_IN_MIDDLEWARE);\n for(let i = middleware.length; i--;){\n next = middleware[i](next);\n }\n return next(key, fn || config.fetcher || null, config);\n };\n};\n\n// Add a callback function to a list of keyed callback functions and return\n// the unsubscribe function.\nconst subscribeCallback = (key, callbacks, callback)=>{\n const keyedRevalidators = callbacks[key] || (callbacks[key] = []);\n keyedRevalidators.push(callback);\n return ()=>{\n const index = keyedRevalidators.indexOf(callback);\n if (index >= 0) {\n // O(1): faster than splice\n keyedRevalidators[index] = keyedRevalidators[keyedRevalidators.length - 1];\n keyedRevalidators.pop();\n }\n };\n};\n\n// Create a custom hook with a middleware\nconst withMiddleware = (useSWR, middleware)=>{\n return (...args)=>{\n const [key, fn, config] = normalize(args);\n const uses = (config.use || []).concat(middleware);\n return useSWR(key, fn, {\n ...config,\n use: uses\n });\n };\n};\n\nsetupDevTools();\n\nexport { INFINITE_PREFIX, IS_REACT_LEGACY, IS_SERVER, OBJECT, SWRConfig, SWRGlobalState, UNDEFINED, cache, compare, createCacheHelper, defaultConfig, defaultConfigOptions, getTimestamp, hasRequestAnimationFrame, initCache, internalMutate, isDocumentDefined, isFunction, isPromiseLike, isUndefined, isWindowDefined, mergeConfigs, mergeObjects, mutate, noop, normalize, preload, preset, rAF, events as revalidateEvents, serialize, slowConnection, stableHash, subscribeCallback, useIsomorphicLayoutEffect, useSWRConfig, withArgs, withMiddleware };\n","import 'client-only';\nimport ReactExports, { useRef, useMemo, useCallback, useDebugValue } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { serialize, OBJECT, SWRConfig as SWRConfig$1, defaultConfig, withArgs, SWRGlobalState, createCacheHelper, isUndefined, getTimestamp, UNDEFINED, isFunction, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects } from 'swr/_internal';\nexport { mutate, preload, useSWRConfig } from 'swr/_internal';\n\nconst unstable_serialize = (key)=>serialize(key)[0];\n\n/// <reference types=\"react/experimental\" />\nconst use = ReactExports.use || ((promise)=>{\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then((v)=>{\n promise.status = 'fulfilled';\n promise.value = v;\n }, (e)=>{\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache, compare, suspense, fallbackData, revalidateOnMount, revalidateIfStale, refreshInterval, refreshWhenHidden, refreshWhenOffline, keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n const fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n if (!isUndefined(revalidateIfStale)) return revalidateIfStale;\n return true;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined(cachedData) ? fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined(cachedData) ? laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n let nextFocusRevalidatedAt = 0;\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any initial data. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n return {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n};\nconst SWRConfig = OBJECT.defineProperty(SWRConfig$1, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error, isLoading } = useSWR('/api/user', fetcher)\n * if (error) return <div>failed to load</div>\n * if (isLoading) return <div>loading...</div>\n * return <div>hello {data.name}!</div>\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\nexport { SWRConfig, useSWR as default, unstable_serialize };\n","import { getConfigStore } from '@openmrs/esm-config';\n\nexport function setupBranding() {\n getConfigStore('@openmrs/esm-styleguide').subscribe((store) => {\n if (store.loaded && store.config) {\n setGlobalCSSVariable('--brand-01', store.config['Brand color #1']);\n setGlobalCSSVariable('--brand-02', store.config['Brand color #2']);\n setGlobalCSSVariable('--brand-03', store.config['Brand color #3']);\n }\n });\n\n function setGlobalCSSVariable(name: string, value: string) {\n document.documentElement.style.setProperty(name, value);\n }\n}\n","import { defineConfigSchema } from '@openmrs/esm-config';\nimport { setupLogo } from './logo';\nimport { setupIcons } from './icons/icon-registration';\nimport { setupBranding } from './brand';\nimport { esmStyleGuideSchema } from './config-schema';\nimport { setupPictograms } from './pictograms/pictogram-registration';\n\nexport * from './breakpoints';\nexport * from './spinner';\nexport * from './notifications';\nexport * from './toasts';\nexport * from './snackbars';\nexport * from './modals';\nexport * from './workspaces';\nexport * from './left-nav';\nexport * from './error-state';\nexport * from './datepicker';\nexport * from './responsive-wrapper';\nexport * from './patient-banner';\nexport * from './patient-photo';\nexport * from './custom-overflow-menu';\nexport * from './icons';\nexport * from './pictograms';\n\ndefineConfigSchema('@openmrs/esm-styleguide', esmStyleGuideSchema);\nsetupBranding();\nsetupLogo();\nsetupIcons();\nsetupPictograms();\n","import fullLogo from './openmrs-logo-full.svg';\nimport partialLogo from './openmrs-logo-partial.svg';\nimport iconLogo from './openmrs-logo-icon.svg';\nimport whiteLogo from './openmrs-logo-white.svg';\nimport { addSvg } from '../svg-utils';\n\nexport function setupLogo() {\n addSvg('omrs-logo-full-color', fullLogo);\n addSvg('omrs-logo-full-mono', fullLogo);\n addSvg('omrs-logo-full-grey', fullLogo);\n addSvg('omrs-logo-partial-color', partialLogo);\n addSvg('omrs-logo-partial-mono', partialLogo);\n addSvg('omrs-logo-partial-grey', partialLogo);\n addSvg('omrs-logo-icon-color', iconLogo);\n addSvg('omrs-logo-icon-mono', iconLogo);\n addSvg('omrs-logo-icon-grey', iconLogo);\n addSvg('omrs-logo-white', whiteLogo);\n}\n","/** @category Icons */\nimport activity from './svgs/activity.svg';\nimport add from './svgs/add.svg';\nimport arrowDown from './svgs/arrow-down.svg';\nimport arrowLeft from './svgs/arrow-left.svg';\nimport arrowRight from './svgs/arrow-right.svg';\nimport arrowUp from './svgs/arrow-up.svg';\nimport calendarHeatMap from './svgs/calendar--heat-map.svg';\nimport calendar from './svgs/calendar.svg';\nimport caretDown from './svgs/caret-down.svg';\nimport caretLeft from './svgs/caret-left.svg';\nimport caretRight from './svgs/caret-right.svg';\nimport caretUp from './svgs/caret-up.svg';\nimport chartAverage from './svgs/chart-average.svg';\nimport chemistry from './svgs/chemistry.svg';\nimport chevronDown from './svgs/chevron-down.svg';\nimport chevronLeft from './svgs/chevron-left.svg';\nimport chevronRight from './svgs/chevron-right.svg';\nimport chevronUp from './svgs/chevron-up.svg';\nimport close from './svgs/close.svg';\nimport closeFilled from './svgs/close--filled.svg';\nimport closeOutline from './svgs/close--outline.svg';\nimport document from './svgs/document.svg';\nimport documentAttachment from './svgs/document-attachment.svg';\nimport download from './svgs/download.svg';\nimport edit from './svgs/edit.svg';\nimport eventSchedule from './svgs/event-schedule.svg';\nimport events from './svgs/events.svg';\nimport group from './svgs/group.svg';\nimport groupAccess from './svgs/group-access.svg';\nimport hospitalBed from './svgs/hospital-bed.svg';\nimport imageMedical from './svgs/image-medical.svg';\nimport inventoryManagement from './svgs/inventory-management.svg';\nimport listChecked from './svgs/list-checked.svg';\nimport location from './svgs/location.svg';\nimport maximize from './svgs/maximize.svg';\nimport medication from './svgs/medication.svg';\nimport messageQueue from './svgs/message-queue.svg';\nimport microscope from './svgs/microscope.svg';\nimport money from './svgs/money.svg';\nimport movement from './svgs/movement.svg';\nimport overflowMenuHorizonal from './svgs/overflow-menu--horizontal.svg';\nimport overflowMenuVertical from './svgs/overflow-menu--vertical.svg';\nimport pedestrianFamily from './svgs/pedestrian-family.svg';\nimport pen from './svgs/pen.svg';\nimport printer from './svgs/printer.svg';\nimport renew from './svgs/renew.svg';\nimport password from './svgs/password.svg';\nimport reset from './svgs/reset.svg';\nimport save from './svgs/save.svg';\nimport search from './svgs/search.svg';\nimport shoppingCart from './svgs/shopping-cart.svg';\nimport shoppingCartArrowDown from './svgs/shopping-cart--arrow-down.svg';\nimport stickyNoteAdd from './svgs/sticky-note-add.svg';\nimport switcher from './svgs/switcher.svg';\nimport tableOfContents from './svgs/table-of-contents.svg';\nimport table from './svgs/table.svg';\nimport time from './svgs/time.svg';\nimport tools from './svgs/tools.svg';\nimport translate from './svgs/translate.svg';\nimport trashCan from './svgs/trash-can.svg';\nimport treeViewAlt from './svgs/tree-view--alt.svg';\nimport userAvatar from './svgs/user-avatar.svg';\nimport userFollow from './svgs/user-follow.svg';\nimport userXray from './svgs/user-xray.svg';\nimport user from './svgs/user.svg';\nimport viewOff from './svgs/view-off.svg';\nimport view from './svgs/view.svg';\nimport warning from './svgs/warning.svg';\nimport { addSvg } from '../svg-utils';\n\nexport function setupIcons() {\n addSvg('omrs-icon-activity', activity);\n addSvg('omrs-icon-add', add);\n addSvg('omrs-icon-arrow-down', arrowDown);\n addSvg('omrs-icon-arrow-left', arrowLeft);\n addSvg('omrs-icon-arrow-right', arrowRight);\n addSvg('omrs-icon-arrow-up', arrowUp);\n addSvg('omrs-icon-calendar-heat-map', calendarHeatMap);\n addSvg('omrs-icon-calendar', calendar);\n addSvg('omrs-icon-caret-down', caretDown);\n addSvg('omrs-icon-caret-left', caretLeft);\n addSvg('omrs-icon-caret-right', caretRight);\n addSvg('omrs-icon-caret-up', caretUp);\n addSvg('omrs-icon-chart-average', chartAverage);\n addSvg('omrs-icon-chemistry', chemistry);\n addSvg('omrs-icon-chevron-down', chevronDown);\n addSvg('omrs-icon-chevron-left', chevronLeft);\n addSvg('omrs-icon-chevron-right', chevronRight);\n addSvg('omrs-icon-chevron-up', chevronUp);\n addSvg('omrs-icon-close', close);\n addSvg('omrs-icon-close-filled', closeFilled);\n addSvg('omrs-icon-close-outline', closeOutline);\n addSvg('omrs-icon-document', document);\n addSvg('omrs-icon-document-attachment', documentAttachment);\n addSvg('omrs-icon-download', download);\n addSvg('omrs-icon-edit', edit);\n addSvg('omrs-icon-event-schedule', eventSchedule);\n addSvg('omrs-icon-events', events);\n addSvg('omrs-icon-group', group);\n addSvg('omrs-icon-group-access', groupAccess);\n addSvg('omrs-icon-hospital-bed', hospitalBed);\n addSvg('omrs-icon-image-medical', imageMedical);\n addSvg('omrs-icon-inventory-management', inventoryManagement);\n addSvg('omrs-icon-list-checked', listChecked);\n addSvg('omrs-icon-location', location);\n addSvg('omrs-icon-maximize', maximize);\n addSvg('omrs-icon-medication', medication);\n addSvg('omrs-icon-message-queue', messageQueue);\n addSvg('omrs-icon-microscope', microscope);\n addSvg('omrs-icon-money', money);\n addSvg('omrs-icon-movement', movement);\n addSvg('omrs-icon-overflow-menu--horizontal', overflowMenuHorizonal);\n addSvg('omrs-icon-overflow-menu--vertical', overflowMenuVertical);\n addSvg('omrs-icon-pedestrian-family', pedestrianFamily);\n addSvg('omrs-icon-pen', pen);\n addSvg('omrs-icon-printer', printer);\n addSvg('omrs-icon-renew', renew);\n addSvg('omrs-icon-password', password);\n addSvg('omrs-icon-reset', reset);\n addSvg('omrs-icon-search', search);\n addSvg('omrs-icon-save', save);\n addSvg('omrs-icon-shopping-cart', shoppingCart);\n addSvg('omrs-icon-shopping-cart--arrow-down', shoppingCartArrowDown);\n addSvg('omrs-icon-sticky-note-add', stickyNoteAdd);\n addSvg('omrs-icon-switcher', switcher);\n addSvg('omrs-icon-switcher', switcher);\n addSvg('omrs-icon-table-of-contents', tableOfContents);\n addSvg('omrs-icon-table', table);\n addSvg('omrs-icon-time', time);\n addSvg('omrs-icon-tools', tools);\n addSvg('omrs-icon-translate', translate);\n addSvg('omrs-icon-trash-can', trashCan);\n addSvg('omrs-icon-tree-view--alt', treeViewAlt);\n addSvg('omrs-icon-user-avatar', userAvatar);\n addSvg('omrs-icon-user-follow', userFollow);\n addSvg('omrs-icon-user-xray', userXray);\n addSvg('omrs-icon-user', user);\n addSvg('omrs-icon-view-off', viewOff);\n addSvg('omrs-icon-view', view);\n addSvg('omrs-icon-warning', warning);\n}\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","includes","key","call","join","module","exports","default","$","optArgs","cb","string","options","Date","this","Pattern","require","GeoPattern","generate","fn","geopattern","each","titleSha","attr","extend","hash","pattern","css","toDataUrl","jQuery","hex2rgb","hex","replace","m","r","g","b","result","exec","parseInt","rgb2hex","rgb","map","slice","rgb2hsl","h","s","max","Math","min","l","d","hsl2rgb","hsl","hue2rgb","p","q","t","round","rgb2rgbString","color","SHA1","SVG","DEFAULTS","baseColor","PATTERNS","FILL_COLOR_DARK","FILL_COLOR_LIGHT","STROKE_COLOR","STROKE_OPACITY","OPACITY_MIN","OPACITY_MAX","hexVal","index","len","substr","value","vMin","vMax","dMin","dMax","parseFloat","fillColor","val","fillOpacity","opts","svg","generateBackground","generatePattern","buildPlusShape","squareSize","buildRightTriangleShape","sideLength","drawInnerMosaicTile","x","y","triangleSize","vals","triangle","opacity","fill","styles","stroke","polyline","transform","translate","scale","drawOuterMosaicTile","toSvg","toBase64","str","window","btoa","Buffer","toDataUri","hueOffset","satOffset","rect","generator","indexOf","Error","toUpperCase","geoHexagons","dy","hexHeight","sqrt","hexWidth","c","a","sin","PI","buildHexagonShape","setWidth","setHeight","geoSineWaves","xOffset","period","floor","amplitude","waveWidth","path","geoChevrons","width","height","e","chevronWidth","chevronHeight","chevron","group","end","geoPlusSigns","dx","plusSize","plusShape","geoXes","xShape","xSize","rotate","geoOverlappingCircles","radius","circle","geoOctogons","tile","buildOctogonShape","geoSquares","geoConcentricCircles","ringSize","strokeWidth","geoOverlappingRings","geoTriangles","rotation","triangleHeight","halfWidth","buildTriangleShape","geoDiamonds","diamondWidth","diamondHeight","diamond","geoNestedSquares","blockSize","geoMosaicSquares","geoPlaid","stripeHeight","stripeWidth","geoTessellation","triangleWidth","buildRotatedTriangleShape","tileWidth","tileHeight","create","processBlock","w","block","f","k","h0","h1","h2","h3","h4","temp","offset","write","byte","shift","toHex","word","Uint32Array","totalLength","update","chunk","charCodeAt","updateString","digest","buffer","undefined","shasum","XMLNode","context","setAttributes","xmlns","currentContext","pop","currentNode","lastChild","transformations","setAttribute","keys","transformation","el","attrs","forEach","args","self","concat","appendChild","cx","cy","points","tagName","attributes","children","child","name","isPlainObject","obj","nodeType","setInterval","has_own_constructor","has_is_property_of_method","constructor","src","copy","copyIsArray","clone","target","deep","createRoot","hydrateRoot","is","useState","useEffect","n","useLayoutEffect","useDebugValue","getSnapshot","u","document","createElement","inst","useSyncExternalStore","System","register","o","setters","Type","defineConfigSchema","getConfig","validators","navigate","reportError","getSynchronizationItems","execute","active","console","error","setState","getState","subscribe","defineProperty","enumerable","get","Symbol","toStringTag","createGlobalStore","getGlobalStore","registerGlobalStore","subscribeTo","Set","assign","add","delete","destroy","warn","clear","setTimeout","spaEnv","stores","reduce","errors","E","Promise","Y","X","z","K","Q","filter","ht","yt","status","message","JSON","stringify","appOrParcelName","ft","it","pt","activeWhen","location","lt","dt","Boolean","unmountThisParcel","bt","mt","vt","wt","resolve","then","gt","reject","catch","St","et","nt","bootstrap","Rt","rt","Ot","ut","parcels","all","Tt","_t","dispatchEvent","J","ot","Pt","xt","Dt","jt","At","domElement","id","tt","customProps","parentName","mount","unmount","timeouts","Bt","Nt","st","getStatus","loadPromise","bootstrapPromise","mountPromise","unmountPromise","Ut","mountParcel","bind","singleSpa","F","unmountSelf","Ct","Mt","millis","dieOnTimeout","warningMillis","kt","Lt","It","unload","Gt","Z","ct","loadApp","loadErrorTime","devtools","overlays","getTime","Ft","href","currentTarget","preventDefault","Xt","host","pathname","search","history","pushState","Ht","type","Wt","Vt","zt","Oe","Yt","Jt","PopStateEvent","state","createEvent","initPopStateEvent","singleSpaTrigger","Qt","qt","urlRerouteOnly","Kt","replaceState","addEventListener","removeEventListener","te","jquery","Zt","on","off","ee","split","trim","re","ne","oe","at","promise","ie","app","se","ae","ue","ce","le","pe","every","me","ve","some","Ae","fe","selectors","$t","he","de","ye","waitForUnmount","splice","be","Se","RegExp","charAt","origin","protocol","test","_e","Te","Pe","De","ReferenceError","Ne","done","Me","configurable","writable","Ie","Reflect","construct","sham","Proxy","valueOf","$e","startsWith","openmrsBase","Ve","headers","G","body","Accept","Re","Be","URL","searchParams","has","set","fetch","label","sent","trys","ops","next","throw","return","iterator","TypeError","ok","data","text","parse","redirectAuthFailure","Ge","enabled","sessionStorage","removeItem","xe","V","to","url","resolvePromise","Fe","We","AbortController","signal","complete","abort","He","ze","Je","Ye","Ke","qe","Qe","method","tn","en","nn","sn","includeAuthStatus","now","rn","loaded","cn","session","user","un","an","userProperties","defaultLocale","locale","documentElement","getAttribute","Intl","Locale","Authorization","vn","ln","authenticated","sessionId","Ze","privileges","find","display","roles","pn","hn","sessionLocation","unsubscribe","dn","yn","bn","mn","Xe","wn","_type","_default","_description","String","_validators","isUrl","_elements","Number","inRange","En","Sn","On","_n","from","Pn","Tn","An","jn","xn","Rn","In","lift","Bn","$n","Vn","Jn","W","Hn","zn","patientUuid","manuallySetVisitUuid","Yn","Fn","pipe","Kn","qn","tr","uuid","er","results","nr","rr","OpenmrsFetchError","VisitMode","Qn","VisitStatus","Xn","attachmentUrl","backendDependencies","or","clearCurrentUser","createAttachment","defaultVisitCustomRepresentation","deleteAttachmentPermanently","fetchCurrentPatient","fhirBaseUrl","getAttachmentByUuid","getAttachments","getCurrentUser","getLocations","getLoggedInUser","getSessionLocation","getSessionStore","getStartedVisit","Zn","getVisitStore","getVisitTypes","getVisitsForPatient","makeUrl","openmrsFetch","openmrsObservableFetch","refetchCurrentUser","restBaseUrl","saveVisit","sessionEndpoint","setCurrentVisit","setSessionLocation","setUserLanguage","setUserProperties","setupApiModule","toLocationObject","toVisitTypeObject","updateVisit","userHasAccess","M","C","setPrototypeOf","__proto__","useDeprecatedSynchronousErrorHandling","stack","closed","_parentOrParents","_subscriptions","_ctorUnsubscribe","_unsubscribe","remove","EMPTY","random","syncErrorValue","syncErrorThrown","syncErrorThrowable","isStopped","destination","_next","_error","_complete","_unsubscribeAndRecycle","_parentSubscriber","_context","__tryOrSetError","__tryOrUnsub","v","observable","_isScalar","_subscribe","source","operator","_trySubscribe","toPromise","S","global","O","_","Function","P","T","A","j","D","U","getPrototypeOf","L","I","R","B","N","freeze","start","ensureJQuerySupport","setBootstrapMaxTime","setMountMaxTime","setUnmountMaxTime","setUnloadMaxTime","registerApplication","unregisterApplication","getMountedApps","getAppStatus","unloadApplication","checkActivityFunctions","getAppNames","pathToActiveWhen","navigateToUrl","patchHistoryApi","triggerAppChange","addErrorHandler","removeErrorHandler","mountRootParcel","NOT_LOADED","LOADING_SOURCE_CODE","NOT_BOOTSTRAPPED","BOOTSTRAPPING","NOT_MOUNTED","MOUNTING","UPDATING","LOAD_ERROR","MOUNTED","UNLOADING","UNMOUNTING","SKIP_BECAUSE_BROKEN","H","globalThis","CustomEvent","detail","foo","initCustomEvent","bubbles","cancelable","createEventObject","Et","hashchange","popstate","singleSpaNavigate","we","ge","Ee","eventArguments","appsToUnload","appsToUnmount","appsToLoad","appsToMount","cancelNavigation","substring","finally","newAppStatuses","appsByNewStatus","totalAppChanges","originalEvent","oldUrl","newUrl","je","getRawAppData","reroute","toLoadPromise","toBootstrapPromise","getProfilerData","__SINGLE_SPA_DEVTOOLS__","exposedMethods","Ue","ke","Ce","Le","Map","statusText","responseBody","response","FormData","append","fileDescription","file","File","fileName","base64Content","gn","fhirPatient","Dn","Nn","subject","subscriber","observers","Un","Mn","hasError","thrownError","Cn","asObservable","kn","_value","getValue","Ln","total","Gn","count","project","thisArg","Wn","localStorage","getItem","setItem","NEWVISIT","EDITVISIT","LOADING","NOTSTARTED","ONGOING","fhir2","config","translationOverridesLoaded","slots","configs","getOwnPropertySymbols","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","schemas","moduleLoaded","entries","extensionSlots","fromEntries","providedConfigs","mountedExtensions","slotModuleName","extensionModuleName","slotName","extensionId","configure","order","ConceptUuid","UUID","PersonAttributeTypeUuid","PatientIdentifierTypeUuid","clearConfigErrors","configExtensionStore","configInternalStore","defineExtensionConfigSchema","getConfigStore","getExtensionConfig","getExtensionConfigFromStore","getExtensionSlotConfig","getExtensionSlotConfigFromStore","getExtensionSlotsConfigStore","getExtensionsConfigStore","getTranslationOverrides","implementerToolsConfigStore","isUrlWithTemplateParameters","oneOf","processConfig","provide","registerModuleWithConfigSystem","registerTranslationNamespace","temporaryConfigStore","validator","propertyIsEnumerable","equals","match","ignoreCase","multiline","sticky","unicode","size","values","_source","__WEBPACK_EXTERNAL_MODULE__254__","__WEBPACK_EXTERNAL_MODULE__45__","__WEBPACK_EXTERNAL_MODULE__513__","__WEBPACK_EXTERNAL_MODULE__740__","__WEBPACK_EXTERNAL_MODULE__685__","__WEBPACK_EXTERNAL_MODULE__901__","__WEBPACK_EXTERNAL_MODULE__688__","__WEBPACK_EXTERNAL_MODULE__954__","__WEBPACK_EXTERNAL_MODULE__493__","__WEBPACK_EXTERNAL_MODULE__792__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","svgContainer","appendContainer","addSvg","htmlId","svgString","svgElement","DOMParser","parseFromString","querySelector","style","readyState","esmStyleGuideSchema","patientPhotoConceptUuid","preferredCalendar","am","MAX_SAFE_INTEGER","enabled$1","process","env","CARBON_ENABLE_CSS_CUSTOM_PROPERTIES","enableCssCustomProperties","CARBON_ENABLE_USE_CONTROLLED_STATE_WITH_VALUE","enableUseControlledStateWithValue","CARBON_ENABLE_CSS_GRID","enableCssGrid","CARBON_ENABLE_V11_RELEASE","enableV11Release","CARBON_ENABLE_EXPERIMENTAL_TILE_CONTRAST","enableExperimentalTileContrast","CARBON_ENABLE_V12_TILE_DEFAULT_ICONS","enableV12TileDefaultIcons","CARBON_ENABLE_V12_OVERFLOWMENU","enableV12Overflowmenu","featureFlagInfo","description","_defineProperties","props","descriptor","input","hint","prim","toPrimitive","res","_toPrimitive","_slicedToArray","arr","_arrayWithHoles","_i","_s","_x","_r","_arr","_d","err","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","arr2","FeatureFlagScope","flags","_this","instance","Constructor","_classCallCheck","protoProps","checkForFlag","_this2","scope","_step","_iterator","allowArrayLike","normalCompletion","didErr","step","_createForOfIteratorHelper","_step$value","FeatureFlags","featureFlag","merge","Subject","modalContainer","modalStack","getComputedStyle","overflow","openWorkspaces","prompt","workspaceWindowState","createContext","nextThingToDo","unmounted","handleError","wrapWith","wrapStyle","appendTo","parcelDidMount","addThingToDo","createdDomElement","parcel","getParcelProps","parentNode","removeChild","Consumer","ref","handleRef","className","wrapClassName","basePath","spaBase","noop","UNDEFINED","OBJECT","isUndefined","isFunction","mergeObjects","table","WeakMap","counter","stableHash","isDate","toJSON","sort","SWRGlobalState","EMPTY_CACHE","INITIAL_CACHE","STR_UNDEFINED","isWindowDefined","isDocumentDefined","createCacheHelper","cache","info","prev","online","onWindowEvent","offWindowEvent","preset","isOnline","isVisible","visibilityState","defaultConfigOptions","initFocus","callback","initReconnect","onOnline","onOffline","IS_REACT_LEGACY","IS_SERVER","useIsomorphicLayoutEffect","navigatorConnection","navigator","connection","slowConnection","effectiveType","saveData","__timestamp","getTimestamp","async","internalMutate","_key","_data","_opts","populateCache","throwOnError","revalidate","rollbackOnErrorOption","rollbackOnError","optimisticData","keyFilter","matchedKeys","_k","mutateByKey","EVENT_REVALIDATORS","MUTATION","FETCH","PRELOAD","startRevalidate","revalidators","beforeMutationTs","hasOptimisticData","displayedData","currentData","_c","committedData","isPromiseLike","populateCachedData","revalidateAllKeys","initCache","provider","mutate","subscriptions","subs","setter","initProvider","releaseFocus","releaseReconnect","defaultConfig","onLoadingSlow","onSuccess","onError","onErrorRetry","__","maxRetryCount","errorRetryCount","currentRetryCount","retryCount","timeout","errorRetryInterval","onDiscarded","revalidateOnFocus","revalidateOnReconnect","revalidateIfStale","shouldRetryOnError","focusThrottleInterval","dedupingInterval","loadingTimeout","compare","newData","isPaused","fallback","mergeConfigs","use","u1","f1","u2","f2","SWRConfigContext","enableDevtools","__SWR_DEVTOOLS_USE__","BUILT_IN_MIDDLEWARE","useSWRNext","key_","fetcher_","req","__SWR_DEVTOOLS_REACT__","reason","WITH_DEDUPE","dedupe","parentConfig","useContext","isFunctionalConfig","useMemo","extendedConfig","cacheContextRef","useRef","current","cacheContext","Provider","hook","fetcher","suspense","fallbackData","revalidateOnMount","refreshInterval","refreshWhenHidden","refreshWhenOffline","keepPreviousData","fnArg","initialMountedRef","unmountedRef","keyRef","fetcherRef","configRef","isActive","getCache","setCache","subscribeCache","getInitialCache","stateDependencies","isEqual","returnedData","shouldStartRequest","getSelectedCache","snapshot","isValidating","isLoading","cachedData","initialData","clientSnapshot","serverSnapshot","memorizedSnapshot","newSnapshot","cached","useCallback","isInitialMount","hasRevalidator","laggyDataRef","shouldDoInitialRevalidation","defaultValidatingState","revalidateOpts","currentFetcher","startAt","loading","shouldStartNewRequest","callbackSafeguard","finalState","finishRequestAndUpdateState","cleanupState","requestInfo","initialState","mutationInfo","cacheData","currentConfig","boundMutate","softRevalidate","nextFocusRevalidatedAt","unsubEvents","callbacks","keyedRevalidators","subscribeCallback","rAF","timer","interval","clearTimeout","setGlobalCSSVariable","setProperty","store","fullLogo","partialLogo","iconLogo","switcher"],"sourceRoot":""}
1
+ {"version":3,"file":"openmrs-esm-styleguide.js","mappings":";iuBAOC,WACA,aAEA,IAAIA,EAAS,CAAC,EAAEC,eAGhB,SAASC,IAGR,IAFA,MAAIC,EAAU,GAELC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAC1C,IAAIG,EAAMF,UAAUD,GACpB,GAAKG,EAAL,CAEA,IAAIC,OAAiBD,IAAAA,EAAAA,eAAAA,yEAErB,GAAgB,WAAZC,GAAoC,WAAZA,EAC3BL,EAAQM,KAAKF,QACP,GAAIG,MAAMC,QAAQJ,IACxB,GAAIA,EAAID,OAAQ,CACf,IAAIM,EAAQV,EAAWW,MAAM,KAAMN,GAC/BK,GACHT,EAAQM,KAAKG,EAEf,OACM,GAAgB,WAAZJ,EAAsB,CAChC,GAAID,EAAIO,WAAaC,OAAOC,UAAUF,WAAaP,EAAIO,SAASA,WAAWG,SAAS,iBAAkB,CACrGd,EAAQM,KAAKF,EAAIO,YACjB,QACD,CAEA,IAAK,IAAII,KAAOX,EACXP,EAAOmB,KAAKZ,EAAKW,IAAQX,EAAIW,IAChCf,EAAQM,KAAKS,EAGhB,CAxBmB,CAyBpB,CAEA,OAAOf,EAAQiB,KAAK,IACrB,CAEqCC,EAAOC,SAC3CpB,EAAWqB,QAAUrB,EACrBmB,EAAOC,QAAUpB,QAKhB,KAFwB,EAAF,WACtB,OAAOA,CACP,UAFoB,OAEpB,YAIF,CApDA,mBCPA,SAAUsB,GAEX,iBASSC,EAAT,SAAiBC,GAChB,OAAO,SAAUC,EAAQC,GAYxB,MAXsB,iBAAXD,IACVC,EAAUD,EACVA,EAAS,MAENA,UACHA,GAAS,IAAKE,MAAQf,YAElBc,IACJA,EAAU,CAAC,GAGLF,EAAGP,KAAKW,KAAMH,EAAQC,EAC9B,CACD,EAtBIG,EAAUC,EAAQ,IAwBlBC,EAAaZ,EAAOC,QAAU,CACjCY,SAAUT,GAAQ,SAAUE,EAAQC,GACnC,OAAO,IAAIG,EAAQJ,EAAQC,EAC5B,KAGGJ,IAGHA,EAAEW,GAAGC,WAAaX,GAAQ,SAAUE,EAAQC,GAC3C,OAAOE,KAAKO,MAAK,WAChB,IAAIC,EAAWd,EAAEM,MAAMS,KAAK,kBACxBD,IACHV,EAAUJ,EAAEgB,OAAO,CAClBC,KAAMH,GACJV,IAEJ,IAAIc,EAAUT,EAAWC,SAASP,EAAQC,GAC1CJ,EAAEM,MAAMa,IAAI,mBAAoBD,EAAQE,YACzC,GACD,IAIA,CApDA,CAoDmB,oBAAXC,OAAyBA,OAAS,4BC2D3CxB,EAAOC,QAAU,CAChBwB,QArGD,SAAiBC,GAGhBA,EAAMA,EAAIC,QADW,oCACa,SAAUC,EAAGC,EAAGC,EAAGC,GACpD,OAAOF,EAAIA,EAAIC,EAAIA,EAAIC,EAAIA,CAC5B,IAEA,IAAIC,EAAS,4CAA4CC,KAAKP,GAC9D,OAAOM,EAAS,CACfH,EAAGK,SAASF,EAAO,GAAI,IACvBF,EAAGI,SAASF,EAAO,GAAI,IACvBD,EAAGG,SAASF,EAAO,GAAI,KACpB,IACL,EAyFCG,QAlFD,SAAiBC,GAChB,MAAO,IAAM,CAAC,IAAK,IAAK,KAAKC,KAAI,SAAUxC,GAC1C,OAAQ,IAAMuC,EAAIvC,GAAKJ,SAAS,KAAK6C,OAAO,EAC7C,IAAGvC,KAAK,GACT,EA+ECwC,QAnED,SAAiBH,GAChB,IAAIP,EAAIO,EAAIP,EAAGC,EAAIM,EAAIN,EAAGC,EAAIK,EAAIL,EAClCF,GAAK,IAAKC,GAAK,IAAKC,GAAK,IACzB,IACIS,EAAGC,EADHC,EAAMC,KAAKD,IAAIb,EAAGC,EAAGC,GAAIa,EAAMD,KAAKC,IAAIf,EAAGC,EAAGC,GACxCc,GAAKH,EAAME,GAAO,EAE5B,GAAIF,IAAQE,EACXJ,EAAIC,EAAI,MACF,CACN,IAAIK,EAAIJ,EAAME,EAEd,OADAH,EAAII,EAAI,GAAMC,GAAK,EAAIJ,EAAME,GAAOE,GAAKJ,EAAME,GACvCF,GACP,KAAKb,EAAGW,GAAKV,EAAIC,GAAKe,GAAKhB,EAAIC,EAAI,EAAI,GAAI,MAC3C,KAAKD,EAAGU,GAAKT,EAAIF,GAAKiB,EAAI,EAAG,MAC7B,KAAKf,EAAGS,GAAKX,EAAIC,GAAKgB,EAAI,EAE3BN,GAAK,CACN,CAEA,MAAO,CAAEA,EAAGA,EAAGC,EAAGA,EAAGI,EAAGA,EACzB,EAgDCE,QApCD,SAAiBC,OAYZnB,EAAGC,EAAGC,EAVDkB,EAAT,SAAiBC,EAAGC,EAAGC,GAGtB,OAFIA,EAAI,IAAGA,GAAK,GACZA,EAAI,IAAGA,GAAK,GACZA,EAAI,EAAI,EAAUF,EAAc,GAATC,EAAID,GAASE,EACpCA,EAAI,GAAcD,EAClBC,EAAI,EAAI,EAAUF,GAAKC,EAAID,IAAM,EAAI,EAAIE,GAAK,EAC3CF,CACR,EAEIV,EAAIQ,EAAIR,EAAGC,EAAIO,EAAIP,EAAGI,EAAIG,EAAIH,EAGlC,GAAS,IAANJ,EACFZ,EAAIC,EAAIC,EAAIc,MACR,CAEJ,IAAIM,EAAIN,EAAI,GAAMA,GAAK,EAAIJ,GAAKI,EAAIJ,EAAII,EAAIJ,EACxCS,EAAI,EAAIL,EAAIM,EAChBtB,EAAIoB,EAAQC,EAAGC,EAAGX,EAAI,EAAI,GAC1BV,EAAImB,EAAQC,EAAGC,EAAGX,GAClBT,EAAIkB,EAAQC,EAAGC,EAAGX,EAAI,EAAI,EAC3B,CAEA,MAAO,CACNX,EAAGc,KAAKU,MAAU,IAAJxB,GACdC,EAAGa,KAAKU,MAAU,IAAJvB,GACdC,EAAGY,KAAKU,MAAU,IAAJtB,GAEhB,EAOCuB,cAAe,SAAUlB,GACxB,MAAO,OAAS,CAACA,EAAIP,EAAGO,EAAIN,EAAGM,EAAIL,GAAGhC,KAAK,KAAO,GACnD,8BCpHD,IAAIoB,EAASR,EAAQ,KACjB4C,EAAS5C,EAAQ,KACjB6C,EAAS7C,EAAQ,KACjB8C,EAAS9C,EAAQ,KAIjB+C,EAAW,CACdC,UAAW,WAGRC,EAAW,CACd,WACA,qBACA,YACA,MACA,YACA,WACA,mBACA,QACA,YACA,UACA,oBACA,WACA,eACA,gBACA,gBACA,YAGGC,EAAmB,OACnBC,EAAmB,OACnBC,EAAmB,OACnBC,EAAmB,IACnBC,EAAmB,IACnBC,EAAmB,IAYvB,SAASC,EAAO/C,EAAMgD,EAAOC,GAC5B,OAAOnC,SAASd,EAAKkD,OAAOF,EAAOC,GAAO,GAAI,GAC/C,CAMA,SAAShC,EAAIkC,EAAOC,EAAMC,EAAMC,EAAMC,GAKrC,OAJaC,WAAWL,GAIPC,IAFJG,EAAOD,IADPD,EAAOD,GAGuBE,CAC5C,CAEA,SAASG,EAAUC,GAClB,OAAO,EAAO,GAAM,EAAKhB,EAAmBD,CAC7C,CAEA,SAASkB,EAAYD,GACpB,OAAOzC,EAAIyC,EAAK,EAAG,GAAIb,EAAaC,EACrC,CAIA,IAAIxD,EAAUV,EAAOC,QAAU,SAAUK,EAAQC,GAQhD,OAPAE,KAAKuE,KAAO7D,EAAO,CAAC,EAAGuC,EAAUnD,GACjCE,KAAKW,KAAOb,EAAQa,MAAQoC,EAAKlD,GACjCG,KAAKwE,IAAM,IAAIxB,EAEfhD,KAAKyE,qBACLzE,KAAK0E,kBAEE1E,IACR,EA2QA,SAAS2E,EAAeC,GACvB,MAAO,CACN,CAACA,EAAY,EAAGA,EAAyB,EAAbA,GAC5B,CAAC,EAAGA,EAAyB,EAAbA,EAAgBA,GAElC,CAwjBA,SAASC,EAAwBC,GAChC,MAAO,CACN,EAAG,EACHA,EAAYA,EACZ,EAAGA,EACH,EAAG,GACFxF,KAAK,IACR,CAEA,SAASyF,EAAoBP,EAAKQ,EAAGC,EAAGC,EAAcC,GACrD,IAAIC,EAAWP,EAAwBK,GACnCG,EAAWf,EAAYa,EAAK,IAC5BG,EAAWlB,EAAUe,EAAK,IAC1BI,EAAW,CACdC,OAAQlC,EACR,iBAAkBC,EAClB,eAAgB8B,EAChBC,KAAMA,GAGPd,EAAIiB,SAASL,EAAUG,GAAQG,UAAU,CACxCC,UAAW,CACVX,EAAIE,EACJD,GAEDW,MAAO,EAAE,EAAG,KAEbpB,EAAIiB,SAASL,EAAUG,GAAQG,UAAU,CACxCC,UAAW,CACVX,EAAIE,EACJD,EAAmB,EAAfC,GAELU,MAAO,CAAC,GAAI,KAGbP,EAAUf,EAAYa,EAAK,IAC3BG,EAAUlB,EAAUe,EAAK,IACzBI,EAAU,CACTC,OAAQlC,EACR,iBAAkBC,EAClB,eAAgB8B,EAChBC,KAAMA,GAGPd,EAAIiB,SAASL,EAAUG,GAAQG,UAAU,CACxCC,UAAW,CACVX,EAAIE,EACJD,EAAmB,EAAfC,GAELU,MAAO,EAAE,GAAI,KAEdpB,EAAIiB,SAASL,EAAUG,GAAQG,UAAU,CACxCC,UAAW,CACVX,EAAIE,EACJD,GAEDW,MAAO,CAAC,EAAG,IAEb,CAEA,SAASC,EAAoBrB,EAAKQ,EAAGC,EAAGC,EAAcb,GACrD,IAAIgB,EAAWf,EAAYD,GACvBiB,EAAWlB,EAAUC,GACrBe,EAAWP,EAAwBK,GACnCK,EAAW,CACdC,OAAQlC,EACR,iBAAkBC,EAClB,eAAgB8B,EAChBC,KAAMA,GAGPd,EAAIiB,SAASL,EAAUG,GAAQG,UAAU,CACxCC,UAAW,CACVX,EACAC,EAAIC,GAELU,MAAO,CAAC,GAAI,KAEbpB,EAAIiB,SAASL,EAAUG,GAAQG,UAAU,CACxCC,UAAW,CACVX,EAAmB,EAAfE,EACJD,EAAIC,GAELU,MAAO,EAAE,GAAI,KAEdpB,EAAIiB,SAASL,EAAUG,GAAQG,UAAU,CACxCC,UAAW,CACVX,EACAC,EAAIC,GAELU,MAAO,CAAC,EAAG,KAEZpB,EAAIiB,SAASL,EAAUG,GAAQG,UAAU,CACxCC,UAAW,CACVX,EAAmB,EAAfE,EACJD,EAAIC,GAELU,MAAO,EAAE,EAAG,IAEd,CAz6BA3F,EAAQf,UAAU4G,MAAQ,WACzB,OAAO9F,KAAKwE,IAAIxF,UACjB,EAEAiB,EAAQf,UAAUF,SAAW,WAC5B,OAAOgB,KAAK8F,OACb,EAEA7F,EAAQf,UAAU6G,SAAW,WAC5B,IAAIC,EAAMhG,KAAK8F,QAUf,MANsB,oBAAXG,QAAiD,mBAAhBA,OAAOC,KAC5CD,OAAOC,KAAKF,GAEZ,IAAIG,OAAOH,GAAKhH,SAAS,SAIjC,EAEAiB,EAAQf,UAAUkH,UAAY,WAC7B,MAAO,6BAA+BpG,KAAK+F,UAC5C,EAEA9F,EAAQf,UAAU4B,UAAY,WAC7B,MAAO,QAAUd,KAAKoG,YAAc,IACrC,EAEAnG,EAAQf,UAAUuF,mBAAqB,WACtC,IAAIvB,EAAWmD,EAAW1E,EAAK2E,EAE3BtG,KAAKuE,KAAKzB,MACbnB,EAAMmB,EAAM9B,QAAQhB,KAAKuE,KAAKzB,QAE9BuD,EAAYzE,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,GAAI,EAAG,KAAM,EAAG,KACtD2F,EAAY5C,EAAO1D,KAAKW,KAAM,KAC9BuC,EAAYJ,EAAMhB,QAAQgB,EAAM9B,QAAQhB,KAAKuE,KAAKrB,aAExCnB,GAAqB,IAAf,EAAWA,EAAUsE,EAAa,KAAO,IAAO,IAG/DnD,EAAUlB,EADPsE,EAAY,GAAM,EACPpE,KAAKC,IAAI,GAAmB,IAAf,EAAWH,EAAWsE,GAAa,KAEhDpE,KAAKD,IAAI,GAAmB,IAAf,EAAWD,EAAWsE,GAAa,KAE/D3E,EAAMmB,EAAMR,QAAQY,IAGrBlD,KAAK8C,MAAQA,EAAMpB,QAAQC,GAE3B3B,KAAKwE,IAAI+B,KAAK,EAAG,EAAG,OAAQ,OAAQ,CACnCjB,KAAMxC,EAAMD,cAAclB,IAE5B,EAEA1B,EAAQf,UAAUwF,gBAAkB,WACnC,IAAI8B,EAAYxG,KAAKuE,KAAKiC,UAE1B,GAAIA,GACH,GAAIrD,EAASsD,QAAQD,GAAa,EACjC,MAAM,IAAIE,MAAM,iBACbF,EACA,yBAGJA,EAAYrD,EAASO,EAAO1D,KAAKW,KAAM,KAGxC,OAAOX,KAAK,MAAQwG,EAAU3E,MAAM,EAAG,GAAG8E,cAAgBH,EAAU3E,MAAM,KAC3E,EAiBA5B,EAAQf,UAAU0H,YAAc,WAC/B,IAKIC,EAAUvI,EAAG+G,EAASE,EAAQlB,EAAKW,EAAGC,EAJtCH,EAAalD,EADA8B,EAAO1D,KAAKW,KAAM,GACP,EAAG,GAAI,EAAG,IAClCmG,EAAahC,EAAa5C,KAAK6E,KAAK,GACpCC,EAA0B,EAAblC,EACb7D,EApBL,SAA2B6D,GAC1B,IAAImC,EAAInC,EACJoC,EAAID,EAAI,EACR3F,EAAIY,KAAKiF,IAAI,GAAKjF,KAAKkF,GAAK,KAAOH,EACvC,MAAO,CACN,EAAG3F,EACH4F,EAAG,EACHA,EAAID,EAAG,EACP,EAAIA,EAAG3F,EACP4F,EAAID,EAAG,EAAI3F,EACX4F,EAAG,EAAI5F,EACP,EAAGA,GACFhC,KAAK,IACR,CAOkB+H,CAAkBvC,GAOnC,IAJA9E,KAAKwE,IAAI8C,SAAoB,EAAXN,EAA4B,EAAblC,GACjC9E,KAAKwE,IAAI+C,UAAsB,EAAZT,GAEnBxI,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IAElB6B,EAAU7B,EAAI,GAAM,EAAIC,EAAI6B,EAAY7B,EAAI6B,EAAYA,EAAY,EACpEzB,EAAUf,EAFVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAK5BiH,EAAS,CACRD,KAHSlB,EAAUC,GAInB,eAAgBgB,EAChBG,OAAQlC,EACR,iBAAkBC,GAGnBvD,KAAKwE,IAAIiB,SAASxE,EAAKsE,GAAQG,UAAU,CACxCC,UAAW,CACVX,EAAIF,EAAa,IAAMkC,EAAW,EAClCH,EAAKC,EAAY,KAKT,IAAN9B,GACHhF,KAAKwE,IAAIiB,SAASxE,EAAKsE,GAAQG,UAAU,CACxCC,UAAW,CACV,EAAIb,EAAa,IAAMkC,EAAW,EAClCH,EAAKC,EAAY,KAMV,IAAN7B,IACH4B,EAAK7B,EAAI,GAAM,EAAI,EAAI8B,EAAY,EAAIA,EAAYA,EAAY,EAC/D9G,KAAKwE,IAAIiB,SAASxE,EAAKsE,GAAQG,UAAU,CACxCC,UAAW,CACVX,EAAIF,EAAa,IAAMkC,EAAW,EAClCH,EAAKC,EAAY,MAMV,IAAN9B,GAAiB,IAANC,GACdjF,KAAKwE,IAAIiB,SAASxE,EAAKsE,GAAQG,UAAU,CACxCC,UAAW,CACV,EAAIb,EAAa,IAAMkC,EAAW,EAClC,EAAIF,EAAYA,EAAY,KAK/BxI,GAGH,EAEA2B,EAAQf,UAAUsI,aAAe,WAChC,IAGUlJ,EAAG+G,EAASW,EAAKT,EAAQlB,EAAKoD,EAHpCC,EAAYxF,KAAKyF,MAAM/F,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,IAAK,MAC7DiH,EAAY1F,KAAKyF,MAAM/F,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,GAAI,MAC5DkH,EAAY3F,KAAKyF,MAAM/F,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,EAAG,KAM/D,IAHAX,KAAKwE,IAAI8C,SAASI,GAClB1H,KAAKwE,IAAI+C,UAAsB,GAAZM,GAEdvJ,EAAI,EAAGA,EAAI,GAAIA,IAEnB+G,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAK5BiH,EAAS,CACRD,KAAM,OACNE,OALSpB,EAAUC,GAMnBgB,QAASA,EACT,eAAqBwC,EAAY,MAGlC7B,EAAM,MAAQ4B,EACb,OAVDH,EAAUC,EAAS,EAAI,IAUJ,QAAUA,EAAS,EAAID,GAAW,OAAUC,EAAS,EAAK,IAAME,EAClF,OAASF,EAASD,GAAW,IAAmB,EAAZG,EAAiB,KAAOF,EAAS,IAAME,EAC3E,OAAkB,IAATF,EAAeD,GAAW,OAAmB,IAATC,EAAgB,KAAOE,EAErE5H,KAAKwE,IAAIsD,KAAK9B,EAAKT,GAAQG,UAAU,CACpCC,UAAW,EACT+B,EAAS,EACVG,EAAYvJ,EAAgB,IAAZsJ,KAGlB5H,KAAKwE,IAAIsD,KAAK9B,EAAKT,GAAQG,UAAU,CACpCC,UAAW,EACT+B,EAAS,EACVG,EAAYvJ,EAAgB,IAAZsJ,EAA8B,GAAZC,IAItC,EAsBA5H,EAAQf,UAAU6I,YAAc,WAC/B,IArB0BC,EAAOC,EAC7BC,EAuBA5C,EAAMhH,EAAG+G,EAASE,EAAQlB,EAAKW,EAAGC,EAHlCkD,EAAgBvG,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,GAAI,IACrDyH,EAAgBxG,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,GAAI,IACrD0H,EArBG,CACN,CACC,EAAG,GAJqBL,EAuBYG,GAlB5B,GALuBF,EAuBmBG,IAtBhDF,EAAa,IAATD,GAKND,EAAQ,EAAGC,EACX,EAAGC,EACH,EAAG,GAEJ,CACCF,EAAQ,EAAGC,EAASC,EACpBF,EAAO,EACPA,EAAOE,EACPF,EAAQ,EAAGC,EACXD,EAAQ,EAAGC,EAASC,IAEpBtG,KAAI,SAAUoD,GAAK,OAAOA,EAAE1F,KAAK,IAAM,IAazC,IAJAU,KAAKwE,IAAI8C,SAAwB,EAAfa,GAClBnI,KAAKwE,IAAI+C,UAA0B,EAAhBa,EAAoB,KAEvC9J,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IAElBK,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAE5BgH,EAAUlB,EAAUC,GAEpBkB,EAAS,CACRC,OAAQlC,EACR,iBAAkBC,EAClB+B,KAAMA,EACN,eAAgBD,EAChB,eAAgB,GAGjBrF,KAAKwE,IAAI8D,MAAM/C,GAAQG,UAAU,CAChCC,UAAW,CACVX,EAAImD,EACJlD,EAAImD,EAAgB,IAAOA,EAAgB,KAE1C3C,SAAS4C,GAASE,MAGX,IAANtD,GACHjF,KAAKwE,IAAI8D,MAAM/C,GAAQG,UAAU,CAChCC,UAAW,CACVX,EAAImD,EACJ,EAAIC,EAAgB,IAAOA,EAAgB,KAE1C3C,SAAS4C,GAASE,MAGtBjK,GAAK,CAGR,EASA2B,EAAQf,UAAUsJ,aAAe,WAChC,IAGIC,EAAUnK,EAAG+G,EAASE,EAAQlB,EAAKW,EAAGC,EAHtCL,EAAahD,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,GAAI,IAClD+H,EAA0B,EAAb9D,EACb+D,EAAahE,EAAeC,GAOhC,IAJA5E,KAAKwE,IAAI8C,SAAsB,GAAb1C,GAClB5E,KAAKwE,IAAI+C,UAAuB,GAAb3C,GAEnBtG,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IAElBK,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAG5BmK,EAAU,EAAK,GAAM,EAAK,EAAI,EAE9BlD,EAAS,CACRD,KAJSlB,EAAUC,GAKnBmB,OAAQlC,EACR,iBAAkBC,EAClB,eAAgB8B,GAGjBrF,KAAKwE,IAAI8D,MAAM/C,GAAQG,UAAU,CAChCC,UAAW,CACVX,EAAI0D,EAAW1D,EAAIJ,EAAa6D,EAAK7D,EAAaA,EAClDK,EAAIyD,EAAWzD,EAAIL,EAAa8D,EAAW,KAE1CnC,KAAKoC,GAAWJ,MAGT,IAANvD,GACHhF,KAAKwE,IAAI8D,MAAM/C,GAAQG,UAAU,CAChCC,UAAW,CACV,EAAI+C,EAAW1D,EAAIJ,EAAa6D,EAAK7D,EAAaA,EAClDK,EAAIyD,EAAWzD,EAAIL,EAAa8D,EAAW,KAE1CnC,KAAKoC,GAAWJ,MAIV,IAANtD,GACHjF,KAAKwE,IAAI8D,MAAM/C,GAAQG,UAAU,CAChCC,UAAW,CACVX,EAAI0D,EAAW1D,EAAIJ,EAAa6D,EAAK7D,EAAaA,EAClD,EAAI8D,EAAWzD,EAAIL,EAAa8D,EAAW,KAE1CnC,KAAKoC,GAAWJ,MAIV,IAANvD,GAAiB,IAANC,GACdjF,KAAKwE,IAAI8D,MAAM/C,GAAQG,UAAU,CAChCC,UAAW,CACV,EAAI+C,EAAW1D,EAAIJ,EAAa6D,EAAK7D,EAAaA,EAClD,EAAI8D,EAAWzD,EAAIL,EAAa8D,EAAW,KAE1CnC,KAAKoC,GAAWJ,MAGpBjK,GAGH,EAEA2B,EAAQf,UAAU0J,OAAS,WAC1B,IAGI/B,EAAUvI,EAAG+G,EAASE,EAAQlB,EAAKW,EAAGC,EAHtCL,EAAahD,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,GAAI,IAClDkI,EAAalE,EAAeC,GAC5BkE,EAA0B,EAAblE,EAAiB,KAOlC,IAJA5E,KAAKwE,IAAI8C,SAAiB,EAARwB,GAClB9I,KAAKwE,IAAI+C,UAAkB,EAARuB,GAEnBxK,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IAElBK,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAE5BuI,EAAU7B,EAAI,GAAM,EAAIC,EAAI6D,EAAgB,GAARA,EAAc7D,EAAI6D,EAAgB,GAARA,EAAcA,EAAQ,EAGpFvD,EAAS,CACRD,KAHSlB,EAAUC,GAInBgB,QAASA,GAGVrF,KAAKwE,IAAI8D,MAAM/C,GAAQG,UAAU,CAChCC,UAAW,CACVX,EAAI8D,EAAQ,EAAIA,EAAQ,EACxBjC,EAAK5B,EAAI6D,EAAQ,GAElBC,OAAQ,CACP,GACAD,EAAQ,EACRA,EAAQ,KAEPvC,KAAKsC,GAAQN,MAGN,IAANvD,GACHhF,KAAKwE,IAAI8D,MAAM/C,GAAQG,UAAU,CAChCC,UAAW,CACV,EAAImD,EAAQ,EAAIA,EAAQ,EACxBjC,EAAK5B,EAAI6D,EAAQ,GAElBC,OAAQ,CACP,GACAD,EAAQ,EACRA,EAAQ,KAEPvC,KAAKsC,GAAQN,MAIP,IAANtD,IACH4B,EAAK7B,EAAI,GAAM,EAAI,EAAI8D,EAAQA,EAAQ,EAAI,EAAIA,EAAQA,EAAQ,EAAIA,EAAQ,EAC3E9I,KAAKwE,IAAI8D,MAAM/C,GAAQG,UAAU,CAChCC,UAAW,CACVX,EAAI8D,EAAQ,EAAIA,EAAQ,EACxBjC,EAAK,EAAIiC,EAAQ,GAElBC,OAAQ,CACP,GACAD,EAAQ,EACRA,EAAQ,KAEPvC,KAAKsC,GAAQN,OAIP,IAANtD,GACHjF,KAAKwE,IAAI8D,MAAM/C,GAAQG,UAAU,CAChCC,UAAW,CACVX,EAAI8D,EAAQ,EAAIA,EAAQ,EACxBjC,EAAK,GAAKiC,EAAQ,GAEnBC,OAAQ,CACP,GACAD,EAAQ,EACRA,EAAQ,KAEPvC,KAAKsC,GAAQN,MAIP,IAANvD,GAAiB,IAANC,GACdjF,KAAKwE,IAAI8D,MAAM/C,GAAQG,UAAU,CAChCC,UAAW,CACV,EAAImD,EAAQ,EAAIA,EAAQ,EACxBjC,EAAK,EAAIiC,EAAQ,GAElBC,OAAQ,CACP,GACAD,EAAQ,EACRA,EAAQ,KAEPvC,KAAKsC,GAAQN,MAEjBjK,GAGH,EAEA2B,EAAQf,UAAU8J,sBAAwB,WACzC,IAGkB1K,EAAG+G,EAASE,EAAQlB,EAAKW,EAAGC,EAD1CgE,EADWrH,EADA8B,EAAO1D,KAAKW,KAAM,GACP,EAAG,GAAI,GAAI,KACX,EAO1B,IAJAX,KAAKwE,IAAI8C,SAAkB,EAAT2B,GAClBjJ,KAAKwE,IAAI+C,UAAmB,EAAT0B,GAEnB3K,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IAElBK,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAI5BiH,EAAS,CACRD,KAHSlB,EAAUC,GAInBgB,QAASA,GAGVrF,KAAKwE,IAAI0E,OAAOlE,EAAIiE,EAAQhE,EAAIgE,EAAQA,EAAQ1D,GAGtC,IAANP,GACHhF,KAAKwE,IAAI0E,OAAO,EAAID,EAAQhE,EAAIgE,EAAQA,EAAQ1D,GAIvC,IAANN,GACHjF,KAAKwE,IAAI0E,OAAOlE,EAAIiE,EAAQ,EAAIA,EAAQA,EAAQ1D,GAIvC,IAANP,GAAiB,IAANC,GACdjF,KAAKwE,IAAI0E,OAAO,EAAID,EAAQ,EAAIA,EAAQA,EAAQ1D,GAGjDjH,GAGH,EAkBA2B,EAAQf,UAAUiK,YAAc,WAC/B,IAEI7D,EAAMhH,EAAG+G,EAAShB,EAAKW,EAAGC,EAF1BL,EAAahD,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,GAAI,IAClDyI,EAlBL,SAA2BxE,GAC1B,IACIqC,EAAQ,IADJrC,EAER,MAAO,CACNqC,EAAG,EAHIrC,EAIHqC,EAAG,EAJArC,EAKJqC,EALIrC,IAMAqC,EANArC,EAOHqC,EAPGrC,EAQPqC,EAROrC,EASP,EATOA,EASAqC,EACP,EAAGA,EACHA,EAAG,GACF3H,KAAK,IACR,CAIkB+J,CAAkBzE,GAOnC,IAJA5E,KAAKwE,IAAI8C,SAAsB,EAAb1C,GAClB5E,KAAKwE,IAAI+C,UAAuB,EAAb3C,GAEnBtG,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IAElBK,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAE5BgH,EAAUlB,EAAUC,GAEpBrE,KAAKwE,IAAIiB,SAAS2D,EAAM,CACvB9D,KAAMA,EACN,eAAgBD,EAChBG,OAAQlC,EACR,iBAAkBC,IAChBmC,UAAU,CACZC,UAAW,CACVX,EAAIJ,EACJK,EAAIL,KAINtG,GAAK,CAGR,EAEA2B,EAAQf,UAAUoK,WAAa,WAC9B,IACIhE,EAAMhH,EAAG+G,EAAShB,EAAKW,EAAGC,EAD1BL,EAAahD,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,GAAI,IAOtD,IAJAX,KAAKwE,IAAI8C,SAAsB,EAAb1C,GAClB5E,KAAKwE,IAAI+C,UAAuB,EAAb3C,GAEnBtG,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IAElBK,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAE5BgH,EAAUlB,EAAUC,GAEpBrE,KAAKwE,IAAI+B,KAAKvB,EAAIJ,EAAYK,EAAIL,EAAYA,EAAYA,EAAY,CACrEU,KAAMA,EACN,eAAgBD,EAChBG,OAAQlC,EACR,iBAAkBC,IAGnBjF,GAAK,CAGR,EAEA2B,EAAQf,UAAUqK,qBAAuB,WACxC,IAGIjE,EAAMhH,EAAG+G,EAAShB,EAAKW,EAAGC,EAF1BuE,EAAc5H,EADA8B,EAAO1D,KAAKW,KAAM,GACP,EAAG,GAAI,GAAI,IACpC8I,EAAcD,EAAW,EAO7B,IAJAxJ,KAAKwE,IAAI8C,SAAoC,GAA1BkC,EAAWC,IAC9BzJ,KAAKwE,IAAI+C,UAAqC,GAA1BiC,EAAWC,IAE/BnL,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IAElBK,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAE5BgH,EAAUlB,EAAUC,GAEpBrE,KAAKwE,IAAI0E,OACRlE,EAAIwE,EAAWxE,EAAIyE,GAAeD,EAAWC,GAAe,EAC5DxE,EAAIuE,EAAWvE,EAAIwE,GAAeD,EAAWC,GAAe,EAC5DD,EAAW,EACX,CACClE,KAAM,OACNE,OAAQF,EACRD,QAASA,EACT,eAAgBoE,EAAc,OAKhCpE,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAM,GAAKrC,IAEjCgH,EAAUlB,EAAUC,GAEpBrE,KAAKwE,IAAI0E,OACRlE,EAAIwE,EAAWxE,EAAIyE,GAAeD,EAAWC,GAAe,EAC5DxE,EAAIuE,EAAWvE,EAAIwE,GAAeD,EAAWC,GAAe,EAC5DD,EAAW,EACX,CACClE,KAAMA,EACN,eAAgBD,IAIlB/G,GAAK,CAGR,EAEA2B,EAAQf,UAAUwK,oBAAsB,WACvC,IAGUpL,EAAG+G,EAASE,EAAQlB,EAAKW,EAAGC,EAFlCuE,EAAc5H,EADA8B,EAAO1D,KAAKW,KAAM,GACP,EAAG,GAAI,GAAI,IACpC8I,EAAcD,EAAW,EAO7B,IAJAxJ,KAAKwE,IAAI8C,SAAoB,EAAXkC,GAClBxJ,KAAKwE,IAAI+C,UAAqB,EAAXiC,GAEnBlL,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IAElBK,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAI5BiH,EAAS,CACRD,KAAM,OACNE,OAJSpB,EAAUC,GAKnBgB,QAASA,EACT,eAAgBoE,EAAc,MAG/BzJ,KAAKwE,IAAI0E,OAAOlE,EAAIwE,EAAUvE,EAAIuE,EAAUA,EAAWC,EAAc,EAAGlE,GAG9D,IAANP,GACHhF,KAAKwE,IAAI0E,OAAO,EAAIM,EAAUvE,EAAIuE,EAAUA,EAAWC,EAAc,EAAGlE,GAG/D,IAANN,GACHjF,KAAKwE,IAAI0E,OAAOlE,EAAIwE,EAAU,EAAIA,EAAUA,EAAWC,EAAc,EAAGlE,GAG/D,IAANP,GAAiB,IAANC,GACdjF,KAAKwE,IAAI0E,OAAO,EAAIM,EAAU,EAAIA,EAAUA,EAAWC,EAAc,EAAGlE,GAGzEjH,GAAK,CAGR,EAYA2B,EAAQf,UAAUyK,aAAe,WAChC,IAIUrL,EAAG+G,EAASuE,EAAUrE,EAAQlB,EAAKW,EAAGC,EAH5CH,EAAiBlD,EADA8B,EAAO1D,KAAKW,KAAM,GACP,EAAG,GAAI,GAAI,IACvCkJ,EAAiB/E,EAAa,EAAI5C,KAAK6E,KAAK,GAC5C3B,EAdL,SAA4BN,EAAYmD,GACvC,IAAI6B,EAAYhF,EAAa,EAC7B,MAAO,CACNgF,EAAW,EACXhF,EAAYmD,EACZ,EAAGA,EACH6B,EAAW,GACVxK,KAAK,IACR,CAMsByK,CAAmBjF,EAAY+E,GAOpD,IAJA7J,KAAKwE,IAAI8C,SAAsB,EAAbxC,GAClB9E,KAAKwE,IAAI+C,UAA2B,EAAjBsC,GAEnBvL,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IAElBK,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAI5BiH,EAAS,CACRD,KAHSlB,EAAUC,GAInB,eAAgBgB,EAChBG,OAAQlC,EACR,iBAAkBC,GAIlBqG,EADG3E,EAAI,GAAM,EACFD,EAAI,GAAM,EAAI,IAAM,EAEpBA,EAAI,GAAM,EAAI,IAAM,EAGhChF,KAAKwE,IAAIiB,SAASL,EAAUG,GAAQG,UAAU,CAC7CC,UAAW,CACVX,EAAIF,EAAa,GAAMA,EAAa,EACpC+E,EAAiB5E,GAElB8D,OAAQ,CACPa,EACA9E,EAAa,EACb+E,EAAiB,KAKT,IAAN7E,GACHhF,KAAKwE,IAAIiB,SAASL,EAAUG,GAAQG,UAAU,CAC7CC,UAAW,CACV,EAAIb,EAAa,GAAMA,EAAa,EACpC+E,EAAiB5E,GAElB8D,OAAQ,CACPa,EACA9E,EAAa,EACb+E,EAAiB,KAKpBvL,GAAK,CAGR,EAWA2B,EAAQf,UAAU8K,YAAc,WAC/B,IAV0BhC,EAAOC,EAa7BQ,EAAUnK,EAAG+G,EAASE,EAAQlB,EAAKW,EAAGC,EAHtCgF,EAAgBrI,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,GAAI,IACrDuJ,EAAgBtI,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,GAAI,IACrDwJ,EAXG,EADmBnC,EAYYiC,GAV7B,EAAG,EACXjC,GAHgCC,EAYmBiC,GATnC,EAChBlC,EAAQ,EAAGC,EACX,EAAGA,EAAS,GACX3I,KAAK,KAaP,IAJAU,KAAKwE,IAAI8C,SAAwB,EAAf2C,GAClBjK,KAAKwE,IAAI+C,UAA0B,EAAhB2C,GAEnB5L,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IAElBK,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAI5BiH,EAAS,CACRD,KAHSlB,EAAUC,GAInB,eAAgBgB,EAChBG,OAAQlC,EACR,iBAAkBC,GAGnBkF,EAAK,EAAK,GAAM,EAAK,EAAIwB,EAAe,EAExCjK,KAAKwE,IAAIiB,SAAS0E,EAAS5E,GAAQG,UAAU,CAC5CC,UAAW,CACVX,EAAIiF,EAAeA,EAAe,EAAIxB,EACtCyB,EAAgB,EAAIjF,EAAIiF,EAAgB,KAKhC,IAANlF,GACHhF,KAAKwE,IAAIiB,SAAS0E,EAAS5E,GAAQG,UAAU,CAC5CC,UAAW,CACV,EAAIsE,EAAeA,EAAe,EAAIxB,EACtCyB,EAAgB,EAAIjF,EAAIiF,EAAgB,KAMjC,IAANjF,GACHjF,KAAKwE,IAAIiB,SAAS0E,EAAS5E,GAAQG,UAAU,CAC5CC,UAAW,CACVX,EAAIiF,EAAeA,EAAe,EAAIxB,EACtCyB,EAAgB,EAAI,EAAIA,EAAgB,KAMjC,IAANlF,GAAiB,IAANC,GACdjF,KAAKwE,IAAIiB,SAAS0E,EAAS5E,GAAQG,UAAU,CAC5CC,UAAW,CACV,EAAIsE,EAAeA,EAAe,EAAIxB,EACtCyB,EAAgB,EAAI,EAAIA,EAAgB,KAK3C5L,GAAK,CAGR,EAEA2B,EAAQf,UAAUkL,iBAAmB,WACpC,IAEU9L,EAAG+G,EAASE,EAAQlB,EAAKW,EAAGC,EAFlCoF,EAAazI,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,EAAG,IACjDiE,EAAyB,EAAZyF,EAOjB,IAJArK,KAAKwE,IAAI8C,SAAoC,GAA1B1C,EAAayF,GAA6B,EAAZA,GACjDrK,KAAKwE,IAAI+C,UAAqC,GAA1B3C,EAAayF,GAA6B,EAAZA,GAElD/L,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IAElBK,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAI5BiH,EAAS,CACRD,KAAM,OACNE,OAJSpB,EAAUC,GAKnBgB,QAASA,EACT,eAAgBgF,EAAY,MAG7BrK,KAAKwE,IAAI+B,KAAKvB,EAAIJ,EAAaI,EAAIqF,EAAY,EAAIA,EAAY,EACjDpF,EAAIL,EAAaK,EAAIoF,EAAY,EAAIA,EAAY,EACjDzF,EAAYA,EAAYW,GAGtCF,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAM,GAAKrC,IAIjCiH,EAAS,CACRD,KAAM,OACNE,OAJSpB,EAAUC,GAKnBgB,QAASA,EACT,eAAgBgF,EAAY,MAG7BrK,KAAKwE,IAAI+B,KAAKvB,EAAIJ,EAAaI,EAAIqF,EAAY,EAAIA,EAAY,EAAgB,EAAZA,EACrDpF,EAAIL,EAAaK,EAAIoF,EAAY,EAAIA,EAAY,EAAgB,EAAZA,EACzC,EAAZA,EAA2B,EAAZA,EAAe9E,GAE5CjH,GAAK,CAGR,EAuGA2B,EAAQf,UAAUoL,iBAAmB,WACpC,IACIhM,EAAG0G,EAAGC,EADNC,EAAetD,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,GAAI,IAOxD,IAJAX,KAAKwE,IAAI8C,SAAwB,EAAfpC,GAClBlF,KAAKwE,IAAI+C,UAAyB,EAAfrC,GAEnB5G,EAAI,EACC2G,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAKD,EAAI,EAAGA,EAAI,EAAGA,IACdA,EAAI,GAAM,EACTC,EAAI,GAAM,EACbY,EAAoB7F,KAAKwE,IACxBQ,EAAIE,EAAe,EACnBD,EAAIC,EAAe,EACnBA,EACAxB,EAAO1D,KAAKW,KAAMrC,IAGnByG,EAAoB/E,KAAKwE,IACxBQ,EAAIE,EAAe,EACnBD,EAAIC,EAAe,EACnBA,EACA,CAACxB,EAAO1D,KAAKW,KAAMrC,GAAIoF,EAAO1D,KAAKW,KAAMrC,EAAI,KAI3C2G,EAAI,GAAM,EACbF,EAAoB/E,KAAKwE,IACxBQ,EAAIE,EAAe,EACnBD,EAAIC,EAAe,EACnBA,EACA,CAACxB,EAAO1D,KAAKW,KAAMrC,GAAIoF,EAAO1D,KAAKW,KAAMrC,EAAI,KAG9CuH,EAAoB7F,KAAKwE,IACxBQ,EAAIE,EAAe,EACnBD,EAAIC,EAAe,EACnBA,EACAxB,EAAO1D,KAAKW,KAAMrC,IAKrBA,GAAK,CAGR,EAEA2B,EAAQf,UAAUqL,SAAW,WAC5B,IAEIjF,EAAMhH,EAAG+G,EAAgBmF,EAAcC,EAAapG,EAFpD4D,EAAS,EACTD,EAAS,EAKb,IADA1J,EAAI,EACGA,EAAI,IAEV2J,GADUvE,EAAO1D,KAAKW,KAAMrC,GACV,EAGlB+G,EAAef,EADfD,EAAeX,EAAO1D,KAAKW,KAAMrC,EAAI,IAErCgH,EAAelB,EAAUC,GACzBmG,EAAenG,EAAM,EAErBrE,KAAKwE,IAAI+B,KAAK,EAAG0B,EAAQ,OAAQuC,EAAc,CAC9CnF,QAASA,EACTC,KAAMA,IAGP2C,GAAUuC,EACVlM,GAAK,EAKN,IADAA,EAAI,EACGA,EAAI,IAEV0J,GADStE,EAAO1D,KAAKW,KAAMrC,GACV,EAGjB+G,EAAcf,EADdD,EAAcX,EAAO1D,KAAKW,KAAMrC,EAAI,IAEpCgH,EAAclB,EAAUC,GACxBoG,EAAcpG,EAAM,EAEpBrE,KAAKwE,IAAI+B,KAAKyB,EAAO,EAAGyC,EAAa,OAAQ,CAC5CpF,QAASA,EACTC,KAAMA,IAGP0C,GAASyC,EACTnM,GAAK,EAGN0B,KAAKwE,IAAI8C,SAASU,GAClBhI,KAAKwE,IAAI+C,UAAUU,EACpB,EAYAhI,EAAQf,UAAUwL,gBAAkB,WAEnC,IAOIpF,EAAMhH,EAAG+G,EAASE,EAAQlB,EAP1BS,EAAiBlD,EAAI8B,EAAO1D,KAAKW,KAAM,GAAI,EAAG,GAAI,EAAG,IACrDmG,EAAiBhC,EAAa5C,KAAK6E,KAAK,GACxCC,EAA8B,EAAblC,EACjB+E,EAAiB/E,EAAa,EAAI5C,KAAK6E,KAAK,GAC5C3B,EAhBL,SAAmCN,EAAY6F,GAE9C,MAAO,CACN,EAAG,EACHA,EAHgB7F,EAAa,EAI7B,EAAGA,EACH,EAAG,GACFxF,KAAK,IACR,CAQsBsL,CAA0B9F,EAAY+E,GACvDgB,EAA8B,EAAb/F,EAAkC,EAAjB+E,EAClCiB,EAA8B,EAAb,EAAgC,EAAbhG,EAMxC,IAHA9E,KAAKwE,IAAI8C,SAASuD,GAClB7K,KAAKwE,IAAI+C,UAAUuD,GAEdxM,EAAI,EAAGA,EAAI,GAAIA,IAanB,OAXA+G,EAAUf,EADVD,EAAUX,EAAO1D,KAAKW,KAAMrC,IAE5BgH,EAAUlB,EAAUC,GAEpBkB,EAAU,CACTC,OAAQlC,EACR,iBAAkBC,EAClB+B,KAAMA,EACN,eAAgBD,EAChB,eAAgB,GAGT/G,GACP,KAAK,EACJ0B,KAAKwE,IAAI+B,MAAMzB,EAAa,GAAIA,EAAa,EAAGA,EAAYA,EAAYS,GACxEvF,KAAKwE,IAAI+B,KAAKsE,EAAY/F,EAAa,GAAIA,EAAa,EAAGA,EAAYA,EAAYS,GACnFvF,KAAKwE,IAAI+B,MAAMzB,EAAa,EAAGgG,EAAahG,EAAa,EAAGA,EAAYA,EAAYS,GACpFvF,KAAKwE,IAAI+B,KAAKsE,EAAY/F,EAAa,EAAGgG,EAAahG,EAAa,EAAGA,EAAYA,EAAYS,GAC/F,MACD,KAAK,EACJvF,KAAKwE,IAAI+B,KAAKS,EAAW,EAAI6C,EAAgB/C,EAAY,EAAGhC,EAAYA,EAAYS,GACpF,MACD,KAAK,EACJvF,KAAKwE,IAAI+B,MAAMzB,EAAa,EAAGgG,EAAa,EAAIhG,EAAa,EAAGA,EAAYA,EAAYS,GACxFvF,KAAKwE,IAAI+B,KAAKsE,EAAY/F,EAAa,EAAGgG,EAAa,EAAIhG,EAAa,EAAGA,EAAYA,EAAYS,GACnG,MACD,KAAK,EACJvF,KAAKwE,IAAI+B,KAAKS,EAAW,EAAI6C,EAA4B,IAAZ/C,EAAkBhC,EAAYA,EAAYA,EAAYS,GACnG,MACD,KAAK,EACJvF,KAAKwE,IAAIiB,SAASL,EAAUG,GAAQG,UAAU,CAC7CC,UAAW,CACVb,EAAa,GACZA,EAAa,GAEfiE,OAAQ,CACP,EACAjE,EAAa,EACb+E,EAAiB,KAGnB7J,KAAKwE,IAAIiB,SAASL,EAAUG,GAAQG,UAAU,CAC7CC,UAAW,CACVb,EAAa,EACbgG,IAAchG,EAAa,GAE5BiE,OAAQ,CACP,EACAjE,EAAa,EACb+E,EAAiB,GAElBjE,MAAO,CAAC,GAAI,KAEb,MACD,KAAK,EACJ5F,KAAKwE,IAAIiB,SAASL,EAAUG,GAAQG,UAAU,CAC7CC,UAAW,CACVkF,EAAY/F,EAAa,GACxBA,EAAa,GAEfiE,OAAQ,CACP,EACAjE,EAAa,EACb+E,EAAiB,GAElBjE,MAAO,EAAE,EAAG,KAEb5F,KAAKwE,IAAIiB,SAASL,EAAUG,GAAQG,UAAU,CAC7CC,UAAW,CACVkF,EAAY/F,EAAa,EACzBgG,EAAahG,EAAa,GAE3BiE,OAAQ,CACP,EACAjE,EAAa,EACb+E,EAAiB,GAElBjE,MAAO,EAAE,GAAI,KAEd,MACD,KAAK,EACJ5F,KAAKwE,IAAIiB,SAASL,EAAUG,GAAQG,UAAU,CAC7CC,UAAW,CACVkF,EAAY,EAAI/F,EAAa,EAC7BgC,EAAY,KAEd,MACD,KAAK,EACJ9G,KAAKwE,IAAIiB,SAASL,EAAUG,GAAQG,UAAU,CAC7CC,UAAW,CACVkF,EAAYA,EAAY,EAAI/F,EAAa,EACzCgC,EAAY,GAEblB,MAAO,EAAE,EAAG,KAEb,MACD,KAAK,EACJ5F,KAAKwE,IAAIiB,SAASL,EAAUG,GAAQG,UAAU,CAC7CC,UAAW,CACVkF,EAAY,EAAI/F,EAAa,EAC7BgG,EAAahE,EAAY,GAE1BlB,MAAO,CAAC,GAAI,KAEb,MACD,KAAK,EACJ5F,KAAKwE,IAAIiB,SAASL,EAAUG,GAAQG,UAAU,CAC7CC,UAAW,CACVkF,EAAYA,EAAY,EAAI/F,EAAa,EACzCgG,EAAahE,EAAY,GAE1BlB,MAAO,EAAE,GAAI,KAEd,MACD,KAAK,GACJ5F,KAAKwE,IAAIiB,SAASL,EAAUG,GAAQG,UAAU,CAC7CC,UAAW,CACVb,EAAa,EACbgG,EAAa,EAAIhG,EAAa,KAGhC,MACD,KAAK,GACJ9E,KAAKwE,IAAIiB,SAASL,EAAUG,GAAQG,UAAU,CAC7CC,UAAW,CACVkF,EAAY/F,EAAa,EACzBgG,EAAa,EAAIhG,EAAa,GAE/Bc,MAAO,EAAE,EAAG,KAEb,MACD,KAAK,GACJ5F,KAAKwE,IAAI+B,KAAK,EAAG,EAAGzB,EAAYA,EAAYS,GAAQG,UAAU,CAC7DC,UAAW,CAACb,EAAa,EAAGA,EAAa,GACzCiE,OAAQ,EAAE,GAAI,EAAG,KAElB,MACD,KAAK,GACJ/I,KAAKwE,IAAI+B,KAAK,EAAG,EAAGzB,EAAYA,EAAYS,GAAQG,UAAU,CAC7DE,MAAO,EAAE,EAAG,GACZD,UAAW,CAAcb,EAAa,EAAzB+F,EAA4B/F,EAAa,GACtDiE,OAAQ,EAAE,GAAI,EAAG,KAElB,MACD,KAAK,GACJ/I,KAAKwE,IAAI+B,KAAK,EAAG,EAAGzB,EAAYA,EAAYS,GAAQG,UAAU,CAC7DC,UAAW,CACVb,EAAa,EACbgG,EAAa,EAAIhG,EAAa,EAAIA,GAEnCiE,OAAQ,CAAC,GAAI,EAAGjE,KAEjB,MACD,KAAK,GACJ9E,KAAKwE,IAAI+B,KAAK,EAAG,EAAGzB,EAAYA,EAAYS,GAAQG,UAAU,CAC7DE,MAAO,EAAE,EAAG,GACZD,UAAW,CACGb,EAAa,EAAzB+F,EACDC,EAAa,EAAIhG,EAAa,EAAKA,GAEpCiE,OAAQ,CAAC,GAAI,EAAGjE,KAEjB,MACD,KAAK,GACJ9E,KAAKwE,IAAI+B,KAAK,EAAG,EAAGzB,EAAYA,EAAYS,GAAQG,UAAU,CAC7DE,MAAO,CAAC,GAAI,GACZD,UAAW,CACVb,EAAa,EACCgG,EAAa,EAA1BA,EAA8BhG,EAAa,EAAIA,GAEjDiE,OAAQ,CAAC,GAAI,EAAGjE,KAEjB,MACD,KAAK,GACJ9E,KAAKwE,IAAI+B,KAAK,EAAG,EAAGzB,EAAYA,EAAYS,GAAQG,UAAU,CAC7DE,MAAO,EAAE,GAAI,GACbD,UAAW,CACGb,EAAa,EAAzB+F,EACaC,EAAa,EAA1BA,EAA8BhG,EAAa,EAAIA,GAEjDiE,OAAQ,CAAC,GAAI,EAAGjE,KAEjB,MACD,KAAK,GACJ9E,KAAKwE,IAAI+B,KAAK,EAAG,EAAGzB,EAAYA,EAAYS,GAAQG,UAAU,CAC7DE,MAAO,CAAC,GAAI,GACZD,UAAW,CACVb,EAAa,EACCA,EAAa,EAA1BgG,GAEF/B,OAAQ,EAAE,GAAI,EAAG,KAElB,MACD,KAAK,GACJ/I,KAAKwE,IAAI+B,KAAK,EAAG,EAAGzB,EAAYA,EAAYS,GAAQG,UAAU,CAC7DE,MAAO,EAAE,GAAI,GACbD,UAAW,CACGb,EAAa,EAAzB+F,EACa/F,EAAa,EAA1BgG,GAEF/B,OAAQ,EAAE,GAAI,EAAG,KAKtB,wBC7yCA,SAASgC,QAYCC,EAAT,WAEC,IAAK,IAAI1M,EAAI,GAAIA,EAAI,GAAIA,IAAK,CAC7B,IAAI2M,EAAIC,EAAM5M,EAAI,GAAK4M,EAAM5M,EAAI,GAAK4M,EAAM5M,EAAI,IAAM4M,EAAM5M,EAAI,IAChE4M,EAAM5M,GAAK,GAAM,EAAM2M,IAAM,EAC9B,CAKA,IAKIE,EAAGC,EALHlE,EAAImE,EACJ/J,EAAIgK,EACJrE,EAAIsE,EACJlJ,EAAImJ,EACJtD,EAAIuD,EAIR,IAAKnN,EAAI,EAAGA,EAAI,GAAIA,IAAK,CACpBA,EAAI,IACP6M,EAAI9I,EAAKf,GAAK2F,EAAI5E,GAClB+I,EAAI,YAEI9M,EAAI,IACZ6M,EAAI7J,EAAI2F,EAAI5E,EACZ+I,EAAI,YAEI9M,EAAI,IACZ6M,EAAI,EAAKlE,EAAM5E,GAAKf,EAAI2F,GACxBmE,EAAI,aAGJD,EAAI7J,EAAI2F,EAAI5E,EACZ+I,EAAI,YAEL,IAAIM,GAAQxE,GAAK,EAAIA,IAAM,IAAMiE,EAAIjD,EAAIkD,GAAgB,EAAXF,EAAM5M,IACpD4J,EAAI7F,EACJA,EAAI4E,EACJA,EAAK3F,GAAK,GAAKA,IAAM,EACrBA,EAAI4F,EACJA,EAAIwE,CACL,CAWA,IARAL,EAAK,EAAMnE,EAAK,EAChBoE,EAAK,EAAMhK,EAAK,EAChBiK,EAAK,EAAMtE,EAAK,EAChBuE,EAAK,EAAMnJ,EAAK,EAChBoJ,EAAK,EAAMvD,EAAK,EAGhByD,EAAS,EACJrN,EAAI,EAAGA,EAAI,GAAIA,IACnB4M,EAAM5M,GAAK,CAEb,EAESsN,EAAT,SAAeC,GACdX,EAAMS,KAAmB,IAAPE,IAAgBC,EAC9BA,EACHA,GAAS,GAGTH,IACAG,EAAQ,IAEM,KAAXH,GACHX,GAEF,EAsBSe,EAAT,SAAeC,GAEd,IADA,IAAI/K,EAAM,GACD3C,EAAI,GAAIA,GAAK,EAAGA,GAAK,EAC7B2C,IAAQ,GAAS3C,EAAK,IAAKU,SAAS,IAErC,OAAOiC,CACR,EA3GIoK,EAAK,WACLC,EAAK,WACLC,EAAK,WACLC,EAAK,UACLC,EAAK,WAELP,EAAQ,IAAIe,YAAY,IAAKN,EAAS,EAAGG,EAAQ,GACjDI,EAAc,EAiIlB,MAAO,CAAEC,OA9CT,SAAgBC,GACf,GAAqB,iBAAVA,EACV,OAXF,SAAsBvM,GACrB,IAAIrB,EAASqB,EAAOrB,OACpB0N,GAAwB,EAAT1N,EACf,IAAK,IAAIF,EAAI,EAAGA,EAAIE,EAAQF,IAC3BsN,EAAM/L,EAAOwM,WAAW/N,GAE1B,CAKSgO,CAAaF,GAErB,IAAI5N,EAAS4N,EAAM5N,OACnB0N,GAAwB,EAAT1N,EACf,IAAK,IAAIF,EAAI,EAAGA,EAAIE,EAAQF,IAC3BsN,EAAMQ,EAAM9N,GAEd,EAqCyBiO,OA1BzB,WAECX,EAAM,MACFD,EAAS,IAAkB,KAAXA,GAAiBG,EAAQ,KAC5Cd,IAEDW,EAAS,GACTG,EAAQ,GAGRF,EAAM,GACNA,EAAM,GACNA,EAAMM,EAAc,aAAeA,EAAc,cAAgB,GACjEN,EAAMM,EAAc,WAAaA,EAAc,WAAc,GAC7D,IAAK,IAAIlK,EAAI,GAAIA,GAAK,EAAGA,GAAK,EAC7B4J,EAAMM,GAAelK,GAItB,OAAO+J,EAAMV,GACbU,EAAMT,GACNS,EAAMR,GACNQ,EAAMP,GACNO,EAAMN,EACP,EAGD,CAGAlM,EAAOC,QAAU,SAAcgN,GAC9B,QAAeC,IAAXD,EACH,OAAOzB,IAER,IAAI2B,EAAS3B,IAEb,OADA2B,EAAOP,OAAOK,GACPE,EAAOH,QACf,8BC/KA,IAAI7L,EAASR,EAAQ,KACjByM,EAAUzM,EAAQ,IAEtB,SAAS8C,IAWR,OAVAhD,KAAKgI,MAAQ,IACbhI,KAAKiI,OAAS,IACdjI,KAAKwE,IAAMmI,EAAQ,OACnB3M,KAAK4M,QAAU,GACf5M,KAAK6M,cAAc7M,KAAKwE,IAAK,CAC5BsI,MAAO,6BACP9E,MAAOhI,KAAKgI,MACZC,OAAQjI,KAAKiI,SAGPjI,IACR,CAEAT,EAAOC,QAAUwD,EAGjBA,EAAI9D,UAAU6N,eAAiB,WAC9B,OAAO/M,KAAK4M,QAAQ5M,KAAK4M,QAAQpO,OAAS,IAAMwB,KAAKwE,GACtD,EAGAxB,EAAI9D,UAAUqJ,IAAM,WAEnB,OADAvI,KAAK4M,QAAQI,MACNhN,IACR,EAEAgD,EAAI9D,UAAU+N,YAAc,WAC3B,IAAIL,EAAU5M,KAAK+M,iBACnB,OAAOH,EAAQM,WAAaN,CAC7B,EAEA5J,EAAI9D,UAAUwG,UAAY,SAAUyH,GAMnC,OALAnN,KAAKiN,cAAcG,aAAa,YAC/BnO,OAAOoO,KAAKF,GAAiBvL,KAAI,SAAU0L,GAC1C,OAAOA,EAAiB,IAAMH,EAAgBG,GAAgBhO,KAAK,KAAO,GAC3E,IAAGA,KAAK,MAEFU,IACR,EAEAgD,EAAI9D,UAAU2N,cAAgB,SAAUU,EAAIC,GAC3CvO,OAAOoO,KAAKG,GAAOC,SAAQ,SAAUhN,GACpC8M,EAAGH,aAAa3M,EAAM+M,EAAM/M,GAC7B,GACD,EAEAuC,EAAI9D,UAAUoI,SAAW,SAAUU,GAClChI,KAAKwE,IAAI4I,aAAa,QAASlL,KAAKyF,MAAMK,GAC3C,EAEAhF,EAAI9D,UAAUqI,UAAY,SAAUU,GACnCjI,KAAKwE,IAAI4I,aAAa,SAAUlL,KAAKyF,MAAMM,GAC5C,EAEAjF,EAAI9D,UAAUF,SAAW,WACxB,OAAOgB,KAAKwE,IAAIxF,UACjB,EAEAgE,EAAI9D,UAAUqH,KAAO,SAAUvB,EAAGC,EAAG+C,EAAOC,EAAQyF,GAEnD,IAAIC,EAAO3N,KACX,GAAIpB,MAAMC,QAAQmG,GAIjB,OAHAA,EAAEyI,SAAQ,SAAUvG,GACnByG,EAAKpH,KAAKxH,MAAM4O,EAAMzG,EAAE0G,OAAOF,GAChC,IACO1N,KAGR,IAAIuG,EAAOoG,EAAQ,QASnB,OARA3M,KAAK+M,iBAAiBc,YAAYtH,GAClCvG,KAAK6M,cAActG,EAAM7F,EAAO,CAC/BsE,EAAGA,EACHC,EAAGA,EACH+C,MAAOA,EACPC,OAAQA,GACNyF,IAEI1N,IACR,EAEAgD,EAAI9D,UAAUgK,OAAS,SAAU4E,EAAIC,EAAI3M,EAAGsM,GAC3C,IAAIxE,EAASyD,EAAQ,UAQrB,OAPA3M,KAAK+M,iBAAiBc,YAAY3E,GAClClJ,KAAK6M,cAAc3D,EAAQxI,EAAO,CACjCoN,GAAIA,EACJC,GAAIA,EACJ3M,EAAGA,GACDsM,IAEI1N,IACR,EAEAgD,EAAI9D,UAAU4I,KAAO,SAAU9B,EAAK0H,GACnC,IAAI5F,EAAO6E,EAAQ,QAMnB,OALA3M,KAAK+M,iBAAiBc,YAAY/F,GAClC9H,KAAK6M,cAAc/E,EAAMpH,EAAO,CAC/B2B,EAAG2D,GACD0H,IAEI1N,IACR,EAEAgD,EAAI9D,UAAUuG,SAAW,SAAUO,EAAK0H,GAEvC,IAAIC,EAAO3N,KACX,GAAIpB,MAAMC,QAAQmH,GAIjB,OAHAA,EAAIyH,SAAQ,SAAUzL,GACrB2L,EAAKlI,SAASzD,EAAG0L,EAClB,IACO1N,KAGR,IAAIyF,EAAWkH,EAAQ,YAMvB,OALA3M,KAAK+M,iBAAiBc,YAAYpI,GAClCzF,KAAK6M,cAAcpH,EAAU/E,EAAO,CACnCsN,OAAQhI,GACN0H,IAEI1N,IACR,EAGAgD,EAAI9D,UAAUoJ,MAAQ,SAAUoF,GAC/B,IAAIpF,EAAQqE,EAAQ,KAIpB,OAHA3M,KAAK+M,iBAAiBc,YAAYvF,GAClCtI,KAAK4M,QAAQjO,KAAK2J,GAClBtI,KAAK6M,cAAcvE,EAAO5H,EAAO,CAAC,EAAGgN,IAC9B1N,IACR,uBCpIA,IAAI2M,EAAUpN,EAAOC,QAAU,SAAUyO,GACxC,OAAMjO,eAAgB2M,4EAAhB3M,0BAINA,KAAKiO,QAAUA,EACfjO,KAAKkO,WAAajP,OAAO8L,OAAO,MAChC/K,KAAKmO,SAAW,GAChBnO,KAAKkN,UAAY,KAEVlN,MARC,IAAI2M,EAAQsB,QASrB,EAEAtB,EAAQzN,UAAU2O,YAAc,SAAUO,GAIzC,OAHApO,KAAKmO,SAASxP,KAAKyP,GACnBpO,KAAKkN,UAAYkB,EAEVpO,IACR,EAEA2M,EAAQzN,UAAUkO,aAAe,SAAUiB,EAAMvK,GAGhD,OAFA9D,KAAKkO,WAAWG,GAAQvK,EAEjB9D,IACR,EAEA2M,EAAQzN,UAAUF,SAAW,WAC5B,IAAI2O,EAAO3N,KAEX,MAAO,CACN,IACA2N,EAAKM,QACLhP,OAAOoO,KAAKM,EAAKO,YAAYtM,KAAI,SAAUnB,GAC1C,MAAO,CACN,IACAA,EACA,KACAkN,EAAKO,WAAWzN,GAChB,KACCnB,KAAK,GACR,IAAGA,KAAK,IACR,IACAqO,EAAKQ,SAASvM,KAAI,SAAUwM,GAC3B,OAAOA,EAAMpP,UACd,IAAGM,KAAK,IACR,KACAqO,EAAKM,QACL,KACC3O,KAAK,GACR,WCnDA,IAAIpB,EAASe,OAAOC,UAAUf,eAC1Ba,EAAWC,OAAOC,UAAUF,SAEhC,SAASsP,EAAcC,GACtB,IAAKA,GAA8B,oBAAvBvP,EAASK,KAAKkP,IAA8BA,EAAIC,UAAYD,EAAIE,YAC3E,OAAO,EAER,IAQIrP,EARAsP,EAAsBxQ,EAAOmB,KAAKkP,EAAK,eACvCI,EAA4BzQ,EAAOmB,KAAKkP,EAAIK,YAAY1P,UAAW,iBAEvE,GAAIqP,EAAIK,cAAgBF,IAAwBC,EAC/C,OAAO,EAKR,IAAMvP,KAAOmP,GAEb,YAAe9B,IAARrN,GAAqBlB,EAAOmB,KAAMkP,EAAKnP,EAC/C,CAEAG,EAAOC,QAAU,SAASkB,IACzB,IAAIZ,EAASuO,EAAMQ,EAAKC,EAAMC,EAAaC,EACvCC,EAAS1Q,UAAU,IAAM,CAAC,EAC1BD,EAAI,EACJE,EAASD,UAAUC,OACnB0Q,GAAO,EAeX,IAZuB,kBAAXD,IACXC,EAAOD,EACPA,EAAS1Q,UAAU,IAAM,CAAC,EAE1BD,EAAI,GAIkB,iBAAX2Q,GAAyC,mBAAXA,IACzCA,EAAS,CAAC,GAGH3Q,EAAIE,EAAQF,IAEnB,GAAmC,OAA7BwB,EAAUvB,UAAWD,IAE1B,IAAM+P,KAAQvO,EACb+O,EAAMI,EAAQZ,GAITY,KAHLH,EAAOhP,EAASuO,MAQXa,GAAQJ,IAAUR,EAAcQ,KAAUC,EAAcnQ,MAAMC,QAAQiQ,MACrEC,GACJA,GAAc,EACdC,EAAQH,GAAOjQ,MAAMC,QAAQgQ,GAAOA,EAAM,IAG1CG,EAAQH,GAAOP,EAAcO,GAAOA,EAAM,CAAC,EAI5CI,EAAQZ,GAAS3N,EAAQwO,EAAMF,EAAOF,SAGlBrC,IAATqC,IACXG,EAAQZ,GAASS,IAOrB,OAAOG,CACR,kCC3EI9N,EAAIjB,EAAQ,KAEOiB,EAAEgO,WACDhO,EAAEiO,wCCIb,IAAIlH,EAAEhI,EAAQ,KAA4EkL,EAAE,mBAAoBnM,OAAOoQ,GAAGpQ,OAAOoQ,GAA1G,SAAWnI,EAAE5F,GAAG,OAAO4F,IAAI5F,IAAI,IAAI4F,GAAG,EAAEA,GAAI,EAAE5F,IAAI4F,GAAIA,GAAG5F,GAAIA,CAAC,EAAiDc,EAAE8F,EAAEoH,SAASnO,EAAE+G,EAAEqH,UAAUC,EAAEtH,EAAEuH,gBAAgBhN,EAAEyF,EAAEwH,cACtM,SAAStO,EAAE8F,GAAG,IAAI5F,EAAE4F,EAAEyI,YAAYzI,EAAEA,EAAEpD,MAAM,IAAI,IAAIzB,EAAEf,IAAI,OAAO8J,EAAElE,EAAE7E,EAAE,CAAC,MAAM8I,GAAG,OAAM,CAAE,CAAC,CAA4B,IAAIyE,EAAE,oBAAqB3J,aAAQ,IAAqBA,OAAO4J,eAAU,IAAqB5J,OAAO4J,SAASC,cAAzI,SAAW5I,EAAE5F,GAAG,OAAOA,GAAG,EAD+F,SAAW4F,EAAE5F,GAAG,IAAIe,EAAEf,IAAI6J,EAAE/I,EAAE,CAAC2N,KAAK,CAACjM,MAAMzB,EAAEsN,YAAYrO,KAAK2F,EAAEkE,EAAE,GAAG4E,KAAK1O,EAAE8J,EAAE,GAAwJ,OAArJqE,GAAE,WAAWvI,EAAEnD,MAAMzB,EAAE4E,EAAE0I,YAAYrO,EAAEF,EAAE6F,IAAI5F,EAAE,CAAC0O,KAAK9I,GAAG,GAAE,CAACC,EAAE7E,EAAEf,IAAIH,GAAE,WAA6B,OAAlBC,EAAE6F,IAAI5F,EAAE,CAAC0O,KAAK9I,IAAWC,GAAE,WAAW9F,EAAE6F,IAAI5F,EAAE,CAAC0O,KAAK9I,GAAG,GAAE,GAAE,CAACC,IAAIzE,EAAEJ,GAAUA,CAAC,EAC5M7C,EAAQwQ,0BAAqB,IAAS9H,EAAE8H,qBAAqB9H,EAAE8H,qBAAqBJ,8BCPxUrQ,EAAOC,QAAU,EAAjBD,oBCHoE,2bACtE0Q,OAAOC,SAAS,CAAC,sBAAsB,0BAA0B,8BAA8B,yBAAyB,SAASvN,EAAEuF,GAAG,IAAIsH,EAAE,CAAC,EAAEpO,EAAE,CAAC,EAAE+O,EAAE,CAAC,EAAE7R,EAAE,CAAC,EAAE,MAAM,CAAC8R,QAAQ,CAAC,SAASzN,GAAG6M,EAAEa,KAAK1N,EAAE0N,KAAKb,EAAEc,mBAAmB3N,EAAE2N,mBAAmBd,EAAEe,UAAU5N,EAAE4N,UAAUf,EAAEgB,WAAW7N,EAAE6N,UAAU,EAAE,SAAS7N,GAAGvB,EAAEqP,SAAS9N,EAAE8N,QAAQ,EAAE,SAAS9N,GAAGwN,EAAEO,YAAY/N,EAAE+N,WAAW,EAAE,SAAS/N,GAAGrE,EAAEqS,wBAAwBhO,EAAEgO,uBAAuB,GAAGC,QAAQ,WAAWjO,EAAE,WAAM,IAAIA,EAAE,CAAC,IAAI,WAAKsN,OAAOC,SAAS,IAAI,SAASvN,EAAEuF,GAAG,MAAM,CAAC0I,QAAQ,WAAWjO,EAAE,WAAW,aAAa,IAAIA,EAAE,SAASA,EAAEuF,GAAG,IAAIsH,EAAEtI,EAAEvE,GAAG,GAAG6M,EAAE,OAAOA,EAAEqB,OAAOC,QAAQC,MAAM,mFAAmFvB,EAAE1L,MAAMkN,SAAS9I,GAAE,GAAIsH,EAAEqB,QAAO,EAAGrB,EAAE1L,MAAM,IAAI1C,EAAEwO,KAAK,WAAW,OAAO1H,CAAC,IAAI,OAAOhB,EAAEvE,GAAG,CAACmB,MAAM1C,EAAEyP,QAAO,GAAIzP,CAAC,EAAE8G,EAAE,SAASvF,EAAEuF,GAAG,IAAIsH,EAAEtI,EAAEvE,GAAG,OAAO6M,GAAGA,EAAEqB,OAAOC,QAAQC,MAAM,mFAAmFvB,EAAE1L,MAAMoE,EAAEsH,EAAEqB,QAAO,EAAGrB,EAAE1L,QAAQoD,EAAEvE,GAAG,CAACmB,MAAMoE,EAAE2I,QAAO,GAAI3I,EAAE,EAAEsH,EAAE,SAAS7M,EAAEuF,GAAG,IAAIsH,EAAEtI,EAAEvE,GAAG,IAAI6M,EAAE,CAAC,IAAIpO,EAAEwO,KAAK,WAAW,OAAO,MAAM1H,EAAEA,EAAE,CAAC,CAAC,IAAI,OAAOhB,EAAEvE,GAAG,CAACmB,MAAM1C,EAAEyP,QAAO,GAAIzP,CAAC,CAAC,OAAOoO,EAAE1L,KAAK,EAAE1C,EAAE,SAASuB,EAAEuF,EAAEsH,GAAG,IAAIpO,EAAE8G,EAAEvF,EAAEsO,YAAY,OAAOtO,EAAEuO,WAAW,SAASvO,GAAG,IAAIwN,EAAEjI,EAAEvF,GAAGwN,IAAI/O,IAAIA,EAAE+O,EAAEX,EAAEW,GAAG,GAAG,EAAEA,EAAE,CAAC9N,EAAE,SAASM,EAAEuF,GAAG,IAAI,IAAIsH,KAAKtH,EAAEiI,EAAEA,EAAEjI,EAAEsH,KAAKW,EAAEA,EAAExN,EAAE6M,IAAIvQ,OAAOkS,eAAexO,EAAE6M,EAAE,CAAC4B,YAAW,EAAGC,IAAInJ,EAAEsH,IAAI,EAAEW,EAAE,SAASxN,EAAEuF,GAAG,OAAOjJ,OAAOC,UAAUf,eAAekB,KAAKsD,EAAEuF,EAAE,EAAE9G,EAAE,SAASuB,GAAG,oBAAoB2O,QAAQA,OAAOC,aAAatS,OAAOkS,eAAexO,EAAE2O,OAAOC,YAAY,CAACzN,MAAM,WAAW7E,OAAOkS,eAAexO,EAAE,aAAa,CAACmB,OAAM,GAAI,GAAGxF,EAAE,CAAC,EAAE6R,EAAE/O,EAAE9C,GAAG6R,EAAE9N,EAAE/D,EAAE,CAACkT,kBAAkB,WAAW,OAAO7O,CAAC,EAAE8O,eAAe,WAAW,OAAOjC,CAAC,EAAEkC,oBAAoB,WAAW,OAAOxJ,CAAC,EAAEyJ,YAAY,WAAW,OAAOvQ,CAAC,IAAI,IAAIY,EAAE,SAASW,GAAG,IAAIuF,EAAEsH,EAAE,IAAIoC,IAAIxQ,EAAE,SAASuB,EAAEvB,GAAG,IAAI+O,EAAE,mBAAmBxN,EAAEA,EAAEuF,GAAGvF,EAAE,IAAI1D,OAAOoQ,GAAGc,EAAEjI,GAAG,CAAC,IAAI5J,EAAE4J,EAAEA,GAAG,MAAM9G,EAAEA,EAAE,iBAAiB+O,GAAGA,EAAElR,OAAO4S,OAAO,CAAC,EAAE3J,EAAEiI,GAAGX,EAAE/B,SAAS,SAAS9K,GAAG,OAAOA,EAAEuF,EAAE5J,EAAE,GAAG,CAAC,EAAE6R,EAAE,WAAW,OAAOjI,CAAC,EAAE5J,EAAE,CAAC0S,SAAS5P,EAAE6P,SAASd,EAAEe,UAAU,SAASvO,GAAG,OAAO6M,EAAEsC,IAAInP,GAAG,WAAW,OAAO6M,EAAEuC,OAAOpP,EAAE,CAAC,EAAEqP,QAAQ,WAAWlB,QAAQmB,KAAK,0MAA0MzC,EAAE0C,OAAO,GAAG,OAAOhK,EAAEvF,EAAEvB,EAAE+O,EAAE7R,GAAGA,CAAC,EAAEsR,EAAE,SAASjN,GAAG,OAAOA,EAAEX,EAAEW,GAAGX,CAAC,EAAEkF,EAAE,CAAC,EAAE,OAAOiL,YAAY,WAAW,gBAAgBlM,OAAOmM,SAASnM,OAAOoM,OAAOnL,EAAE,GAAG,KAAK5I,CAAC,CAAx6D,GAA46D,EAAE,GAAG,EAAE,IAAIqE,SAAAA,GAAI,aAAaA,EAAEnD,QAAQgQ,CAAC,EAAE,IAAI7M,SAAAA,GAAI,aAAaA,EAAEnD,QAAQ2Q,CAAC,EAAE,IAAIxN,SAAAA,GAAI,aAAaA,EAAEnD,QAAQ4B,CAAC,EAAE,IAAIuB,SAAAA,GAAI,aAAaA,EAAEnD,QAAQlB,CAAC,GAAG4J,EAAE,CAAC,EAAE,SAASlG,EAAEwN,GAAG,IAAIpO,EAAE8G,EAAEsH,GAAG,QAAG,IAASpO,EAAE,OAAOA,EAAE5B,QAAQ,IAAI2Q,EAAEjI,EAAEsH,GAAG,CAAChQ,QAAQ,CAAC,GAAG,OAAOmD,EAAE6M,GAAGW,EAAEA,EAAE3Q,QAAQwC,GAAGmO,EAAE3Q,OAAO,CAACwC,EAAEK,EAAE,SAACM,EAAEuF,GAAK,IAAI,IAAIsH,KAAKtH,EAAElG,EAAEmO,EAAEjI,EAAEsH,KAAKxN,EAAEmO,EAAExN,EAAE6M,IAAIvQ,OAAOkS,eAAexO,EAAE6M,EAAE,CAAC4B,YAAW,EAAGC,IAAInJ,EAAEsH,IAAI,EAAExN,EAAEmO,EAAE,SAACxN,EAAEuF,UAAIjJ,OAAOC,UAAUf,eAAekB,KAAKsD,EAAEuF,IAAGlG,EAAEZ,EAAEuB,SAAAA,GAAI,oBAAoB2O,QAAQA,OAAOC,aAAatS,OAAOkS,eAAexO,EAAE2O,OAAOC,YAAY,CAACzN,MAAM,WAAW7E,OAAOkS,eAAexO,EAAE,aAAa,CAACmB,OAAM,GAAI,EAAE,IAAI8L,EAAE,CAAC,EAAE,OAAM,WAAM,iBAA0lC1H,EAAT,SAAWA,EAAEsH,GAAG,SAASpO,IAAIpB,KAAK4O,YAAY1G,CAAC,CAACvF,GAAEuF,EAAEsH,GAAGtH,EAAEhJ,UAAU,OAAOsQ,EAAEvQ,OAAO8L,OAAOyE,IAAIpO,EAAElC,UAAUsQ,EAAEtQ,UAAU,IAAIkC,EAAE,EAAUoO,EAAT,SAAW7M,GAAG,MAAM,mBAAmBA,CAAC,EAAmKrE,EAAT,SAAWqE,GAAGwP,YAAY,WAAW,MAAMxP,CAAC,GAAG,EAAE,EAAuOP,EAAT,SAAWO,GAAG,OAAO,OAAOA,GAAG,iBAAiBA,CAAC,EAAkyDN,EAAT,SAAWM,GAAG,OAAOA,EAAE2P,QAAQ,SAAS3P,EAAEuF,GAAG,OAAOvF,EAAEiL,OAAO1F,EAAAA,EAAazF,IAAEyF,EAAEqK,OAAOrK,EAAE,GAAG,GAAG,EAAg1G+C,EAAT,SAAWtI,GAAG,OAAOA,CAAC,EAAypD6P,EAAT,SAAW7P,GAAG,GAAGA,IAAIA,EAAEwN,GAAEsC,SAASA,UAAU9P,EAAE,MAAM,IAAI+D,MAAM,yBAAyB,OAAO/D,CAAC,EAA+yF+P,EAAT,SAAW/P,EAAEuF,EAAEsH,GAAG,IAAMpO,EAAEuR,EAAEhQ,EAAEuF,EAAEsH,GAAGoD,GAAEpU,OAAOoU,GAAEnF,SAAS9K,SAAAA,UAAGA,EAAEvB,MAAK+Q,YAAY,WAAK,MAAM/Q,CAAC,GAAG,EAAUyR,EAAT,SAAWlQ,GAAG,GAAG,mBAAmBA,EAAE,MAAM+D,MAAMoM,EAAE,IAAG,IAAKF,GAAEjU,KAAKgE,EAAE,EAAUD,EAAT,SAAWC,GAAG,GAAG,mBAAmBA,EAAE,MAAM+D,MAAMoM,EAAE,IAAG,IAAK,IAAI5K,GAAE,EAAG,OAAO0K,GAAEA,GAAEG,QAAQvD,SAAAA,GAAI,IAAMpO,EAAEoO,IAAI7M,EAAE,OAAOuF,EAAEA,GAAG9G,GAAGA,CAAC,IAAI8G,CAAC,EAAU4K,EAAT,SAAWnQ,EAAEuF,GAAE,8DAAGsH,EAAH,kBAAM,MAAM,gCAAsCtH,OAANvF,EAAE,MAA2DA,OAAvDuF,EAAEA,EAAE,IAAI,GAAG,8CAAgDsH,OAAJ7M,GAA0C,OAAtC6M,EAAEhR,OAAO,QAAwB,OAAhBgR,EAAElQ,KAAK,UAAW,GAAI,EAAUqT,EAAT,SAAWhQ,EAAEuF,EAAEsH,GAAG,IAA+DW,EAAzD/O,EAAE,GAAa4R,OAAVC,EAAG/K,GAAG,MAA6BA,OAAzB8K,EAAG9K,GAAG,qBAA4B,OAATA,EAAEgL,OAAO,MAAU,GAAGvQ,EAAAA,EAAa+D,OAAM,CAAC,IAAI/D,EAAEwQ,QAAQ/R,EAAEuB,EAAEwQ,OAAO,CAAC,MAAMxQ,GAAG,CAACwN,EAAExN,CAAC,KAAK,CAACmO,QAAQmB,KAAKa,EAAE,IAAG,EAAG5K,EAAEgL,OAAOF,EAAG9K,KAAK,IAAIiI,EAAEzJ,MAAMtF,EAAEgS,KAAKC,UAAU1Q,GAAG,CAAC,MAAMuF,GAAGiI,EAAExN,CAAC,CAAC,CAAC,OAAOwN,EAAEmD,gBAAgBN,EAAG9K,GAAGA,EAAEgL,OAAO1D,EAAEW,CAAC,EAAmOoD,EAAT,SAAY5Q,GAAG,OAAOA,EAAEuQ,SAASM,EAAE,EAAUC,EAAT,SAAY9Q,GAAG,IAAI,OAAOA,EAAE+Q,WAAWzN,OAAO0N,SAAS,CAAC,MAAMzL,GAAG,OAAOwK,EAAExK,EAAEvF,EAAEiR,KAAI,CAAE,CAAC,EAAUZ,EAAT,SAAYrQ,GAAG,OAAOA,EAAE0L,IAAI,EAAUwF,EAAT,SAAYlR,GAAG,OAAOmR,QAAQnR,EAAEoR,kBAAkB,EAAUd,EAAT,SAAYtQ,GAAG,OAAOkR,EAAGlR,GAAG,SAAS,aAAa,EAAUqR,EAAT,WAAc,IAAI,IAAIrR,EAAEpE,UAAUC,OAAO,EAAEmE,EAAE,EAAEA,IAAI,IAAI,IAAIuF,KAAK3J,UAAUoE,GAAG,cAAcuF,IAAI3J,UAAUoE,EAAE,GAAGuF,GAAG3J,UAAUoE,GAAGuF,IAAI,OAAO3J,UAAU,EAAE,EAAU0V,EAAT,SAAYtR,EAAEuF,GAAG,IAAI,IAAIsH,EAAE,EAAEA,EAAE7M,EAAEnE,OAAOgR,IAAI,GAAGtH,EAAEvF,EAAE6M,IAAI,OAAO7M,EAAE6M,GAAG,OAAO,IAAI,EAAU0E,EAAT,SAAYvR,GAAG,OAAOA,IAAI,mBAAmBA,IAAIuF,EAAEvF,EAAE/D,MAAMC,QAAQqJ,KAAK+L,EAAG/L,GAAGvF,SAAAA,SAAG,mBAAmBA,OAAM,IAAIuF,CAAC,EAAUiM,EAAT,SAAYxR,EAAEuF,GAAG,IAAIsH,EAAE7M,EAAEuF,IAAI,GAA4B,KAAzBsH,EAAE5Q,MAAMC,QAAQ2Q,GAAGA,EAAE,CAACA,IAAShR,SAASgR,EAAE,CAAC,kBAAIiD,QAAQ2B,aAAY,IAAMhT,EAAE6R,EAAGtQ,GAAGwN,EAAE6C,EAAGrQ,GAAG,OAAO,SAASA,GAAG,OAAO6M,EAAE8C,QAAQ,SAAC9C,EAAElR,EAAE0D,UAAIwN,EAAE6E,MAAM,WAAK,IAAM7E,EAAElR,EAAEqE,GAAG,OAAO2R,EAAG9E,GAAGA,EAAEiD,QAAQ8B,OAAOzB,EAAE,IAAG,EAAG1R,EAAE+O,EAAEjI,EAAElG,GAAG,MAAKyQ,QAAQ2B,UAAU,CAAC,EAAUE,EAAT,SAAY3R,GAAG,OAAOA,GAAG,mBAAmBA,EAAE0R,MAAM,mBAAmB1R,EAAE6R,KAAK,EAAoBC,EAAT,SAAY9R,EAAEuF,GAAG,OAAOuK,QAAQ2B,UAAUC,MAAM,kBAAI1R,EAAEuQ,SAASwB,GAAG/R,GAAGA,EAAEuQ,OAAOyB,GAAGhS,EAAEiS,UAAUC,EAAGlS,EAAE,aAAa0R,KAAK7E,GAAGgF,OAAOhF,SAAAA,GAAI,GAAGtH,EAAE,MAAMyK,EAAEnD,EAAE7M,EAAEiR,IAAI,OAAOlB,EAAElD,EAAE7M,EAAEiR,IAAIjR,CAAC,IAAI8P,QAAQ2B,UAAUC,KAAK7E,OAAM,SAASA,IAAI,OAAO7M,EAAEuQ,OAAO4B,GAAGnS,CAAC,CAAC,EAAUoS,EAAT,SAAYpS,EAAEuF,GAAG,OAAOuK,QAAQ2B,UAAUC,MAAM,WAAK,GAAG1R,EAAEuQ,SAASM,GAAG,OAAO7Q,EAAEA,EAAEuQ,OAAO8B,GAAG,IAAMxF,EAAEvQ,OAAOoO,KAAK1K,EAAEsS,SAASrT,KAAKsG,SAAAA,UAAGvF,EAAEsS,QAAQ/M,GAAG6L,uBAAsB,OAAOtB,QAAQyC,IAAI1F,GAAG6E,KAAKjT,GAAGoO,SAAAA,UAAGpO,IAAIiT,MAAM,WAAK,IAAMjT,EAAEsF,MAAM8I,EAAE2D,SAAS,GAAGjL,EAAE,MAAMyK,EAAEvR,EAAEuB,EAAEiR,IAAIlB,EAAEtR,EAAEuB,EAAEiR,GAAG,OAAMS,MAAM,kBAAI1R,KAAI,SAASvB,IAAI,OAAOyT,EAAGlS,EAAE,WAAW0R,MAAM,WAAK1R,EAAEuQ,OAAO4B,EAAE,IAAItF,SAAAA,GAAI,GAAGtH,EAAE,MAAMyK,EAAEnD,EAAE7M,EAAEiR,IAAIlB,EAAElD,EAAE7M,EAAEiR,GAAG,GAAG,CAAC,GAAG,EAA0BuB,EAAT,SAAYxS,EAAEuF,GAAG,OAAOuK,QAAQ2B,UAAUC,MAAM,kBAAI1R,EAAEuQ,SAAS4B,GAAGnS,GAAGyS,KAAKnP,OAAOoP,cAAc,IAAIC,GAAE,kCAAkCF,IAAG,GAAIzS,EAAEuQ,OAAOqC,GAAGV,EAAGlS,EAAE,SAAS0R,MAAM,kBAAK1R,EAAEuQ,OAAOM,GAAGgC,KAAKvP,OAAOoP,cAAc,IAAIC,GAAE,2BAA2BE,IAAG,GAAI7S,KAAK6R,OAAOhF,SAAAA,GAAI,OAAO7M,EAAEuQ,OAAOM,GAAGuB,EAAGpS,GAAE,GAAI0R,KAAKjT,EAAEA,GAAG,SAASA,IAAI,GAAG8G,EAAE,MAAMyK,EAAEnD,EAAE7M,EAAEiR,IAAI,OAAOlB,EAAElD,EAAE7M,EAAEiR,IAAIjR,CAAC,CAAC,OAAM,EAAyC8S,EAAT,WAAc,OAAOC,EAAG3W,MAAM4W,GAAGpX,UAAU,EAAUmX,EAAT,SAAY/S,EAAEuF,GAAG,IAAMsH,EAAExP,KAAK,IAAI2C,GAAG,iBAAiBA,GAAG,mBAAmBA,EAAE,MAAM+D,MAAMoM,EAAE,GAAE,IAAK,GAAGnQ,EAAE0L,MAAM,iBAAiB1L,EAAE0L,KAAK,MAAM3H,MAAMoM,EAAE,GAAE,EAAG,EAAOnQ,EAAE0L,QAAO,IAAMjN,EAAEwU,KAASzF,EAAExN,EAAE0L,MAAM,UAAY,OAAFjN,GAAI,GAAG,iBAAiB8G,EAAE,MAAMxB,MAAMoM,EAAE,GAAE,EAAG3C,OAASjI,IAAAA,EAAAA,YAAP,EAAOA,KAAI,IAAIA,EAAE2N,WAAW,MAAMnP,MAAMoM,EAAE,GAAE,EAAG3C,IAAI,IAAsVjJ,EAAhV5I,EAAE,mBAAmBqE,EAAEX,EAAE1D,EAAEqE,EAAE,kBAAI8P,QAAQ2B,QAAQzR,IAAGiN,EAAE,CAACkG,GAAG1U,EAAE6T,QAAQ,CAAC,EAAE/B,OAAO5U,EAAEyX,GAAGrB,GAAGsB,YAAY9N,EAAE+N,WAAWjD,EAAGxD,GAAGuE,kBAAkB,kBAAI5I,EAAEkJ,MAAM,WAAK,GAAGzE,EAAEsD,SAASM,GAAG,MAAM9M,MAAMoM,EAAE,GAAE,EAAG3C,EAAEP,EAAEsD,SAAS,OAAO6B,EAAGnF,GAAE,EAAG,IAAIyE,MAAM1R,SAAAA,UAAIiN,EAAEqG,mBAAmBzG,EAAEyF,QAAQrF,EAAEkG,IAAInT,KAAK0R,MAAM1R,SAAAA,UAAIF,EAAEE,GAAGA,KAAK6R,OAAO7R,SAAAA,GAAI,MAAMiN,EAAEsD,OAAOU,GAAG7R,EAAEY,GAAGA,CAAC,MAAW6M,EAAEyF,QAAQ7T,GAAGwO,EAAE,IAAI3I,EAAEjF,IAAI,IAAIiF,GAAG,mBAAmBA,EAAEoN,KAAK,MAAM3N,MAAMoM,EAAE,GAAE,IAAK7L,EAAEA,EAAEoN,MAAM1R,SAAAA,GAAI,IAAIA,EAAE,MAAM+D,MAAMoM,EAAE,GAAE,IAAK,GAAG3C,EAAExN,EAAE0L,MAAM,UAAY,OAAFjN,GAAInC,OAAOC,UAAUf,eAAekB,KAAKsD,EAAE,eAAeuR,EAAGvR,EAAEiS,WAAW,MAAMlO,MAAMoM,EAAE,GAAE,EAAG3C,IAAI,IAAI+D,EAAGvR,EAAEuT,OAAO,MAAMxP,MAAMoM,EAAE,IAAG,EAAG3C,IAAI,IAAI+D,EAAGvR,EAAEwT,SAAS,MAAMzP,MAAMoM,EAAE,IAAG,EAAG3C,IAAI,GAAGxN,EAAEwJ,SAAS+H,EAAGvR,EAAEwJ,QAAQ,MAAMzF,MAAMoM,EAAE,IAAG,EAAG3C,IAAI,IAAMjI,EAAEiM,EAAGxR,EAAE,aAAa6M,EAAE2E,EAAGxR,EAAE,SAASrE,EAAE6V,EAAGxR,EAAE,WAAWiN,EAAEsD,OAAOwB,GAAG9E,EAAEvB,KAAK8B,EAAEP,EAAEgF,UAAU1M,EAAE0H,EAAEsG,MAAM1G,EAAEI,EAAEuG,QAAQ7X,EAAEsR,EAAEwG,SAASC,EAAG1T,EAAEyT,UAAUzT,EAAEwJ,SAASyD,EAAEzD,OAAOgI,EAAGxR,EAAE,UAAUuE,EAAEiF,OAAO,SAASxJ,GAAG,OAAOiN,EAAEoG,YAAYrT,EAAE2T,GAAIpO,EAAE0H,EAAE6C,QAAQ2B,UAAUC,MAAM,WAAK,GAAGnM,EAAEgL,SAASM,GAAG,MAAM9M,MAAMoM,EAAE,IAAG,EAAGE,EAAG9K,KAAK,OAAOA,EAAEgL,OAAOqD,GAAG1B,EAAG3M,EAAE,UAAUmM,MAAM,kBAAKnM,EAAEgL,OAAOM,GAAGtL,KAAKsM,OAAO7R,SAAAA,GAAI,MAAMgQ,EAAEhQ,EAAEuF,EAAE0L,GAAG,GAAG,MAAM,IAAI1L,CAAC,EAAE,IAAI,IAA4DzF,EAAEV,EAAxDK,EAAE6E,EAAEoN,MAAM,kBAAII,EAAG7E,GAAE,MAAMzE,EAAE/I,EAAEiS,MAAM,kBAAIc,EAAGvF,GAAE,MAAoBvN,EAAE,IAAIoQ,SAAS,SAAC9P,EAAEuF,GAAKzF,EAAEE,EAAEZ,EAAEmG,CAAC,IAAI,OAAOhB,EAAE,CAACgP,MAAM,kBAAII,EAAG7D,QAAQ2B,UAAUC,MAAM,WAAK,GAAGzE,EAAEsD,SAAS4B,GAAG,MAAMpO,MAAMoM,EAAE,IAAG,EAAG3C,EAAEP,EAAEsD,SAAS,OAAO1D,EAAEyF,QAAQ7T,GAAGwO,EAAEuF,EAAGvF,EAAE,MAAKuG,QAAQ,kBAAIG,EAAG1G,EAAEmE,sBAAqByC,UAAU,kBAAI5G,EAAEsD,QAAOuD,YAAYH,EAAGrP,GAAGyP,iBAAiBJ,EAAGlU,GAAGuU,aAAaL,EAAGnL,GAAGyL,eAAeN,EAAGjU,GAAK,EAAUiU,EAAT,SAAY3T,GAAG,OAAOA,EAAE0R,MAAM,kBAAI,OAAM,EAAUwC,EAAT,SAAYlU,GAAG,IAAMuF,EAAE8K,EAAGrQ,GAAO6M,EAAE,mBAAmB7M,EAAEqT,YAAYrT,EAAEqT,YAAY9N,EAAEjC,OAAO0N,UAAUhR,EAAEqT,aAAa,iBAAiBxG,GAAG,OAAOA,GAAG5Q,MAAMC,QAAQ2Q,MAAMA,EAAE,CAAC,EAAEsB,QAAQmB,KAAKa,EAAE,IAAG,GAAI5K,EAAEsH,IAAI,IAAMpO,EAAE4S,EAAG,CAAC,EAAExE,EAAE,CAACnB,KAAKnG,EAAE4O,YAAYpB,EAAGqB,KAAKpU,GAAGqU,UAAUC,KAAI,OAAOpD,EAAGlR,KAAKvB,EAAE8V,YAAYvU,EAAEoR,mBAAmB3S,CAAC,EAAsS+V,EAAT,SAAYxU,EAAEuF,EAAEsH,GAAG,GAAG,iBAAiB7M,GAAGA,GAAG,EAAE,MAAM+D,MAAMoM,EAAE,IAAG,IAAKsE,GAAGxC,UAAU,CAACyC,OAAO1U,EAAE2U,aAAapP,EAAEqP,cAAc/H,GAAG,IAAI,EAAUgI,EAAT,SAAY7U,EAAEuF,EAAEsH,GAAG,GAAG,iBAAiB7M,GAAGA,GAAG,EAAE,MAAM+D,MAAMoM,EAAE,IAAG,IAAKsE,GAAGlB,MAAM,CAACmB,OAAO1U,EAAE2U,aAAapP,EAAEqP,cAAc/H,GAAG,IAAI,EAAUiI,EAAT,SAAY9U,EAAEuF,EAAEsH,GAAG,GAAG,iBAAiB7M,GAAGA,GAAG,EAAE,MAAM+D,MAAMoM,EAAE,IAAG,IAAKsE,GAAGjB,QAAQ,CAACkB,OAAO1U,EAAE2U,aAAapP,EAAEqP,cAAc/H,GAAG,IAAI,EAAUkI,EAAT,SAAY/U,EAAEuF,EAAEsH,GAAG,GAAG,iBAAiB7M,GAAGA,GAAG,EAAE,MAAM+D,MAAMoM,EAAE,IAAG,IAAKsE,GAAGO,OAAO,CAACN,OAAO1U,EAAE2U,aAAapP,EAAEqP,cAAc/H,GAAG,IAAI,EAAUqF,EAAT,SAAYlS,EAAEuF,GAAG,IAAMsH,EAAE7M,EAAEyT,SAASlO,GAAG9G,EAAEoO,EAAE+H,cAAcpH,EAAE8C,EAAGtQ,GAAG,OAAO,IAAI8P,SAAS,SAACnU,EAAE0D,GAAK,IAAI4N,GAAE,EAAG1I,GAAE,EAAGvE,EAAEuF,GAAG2O,EAAGlU,IAAI0R,MAAM1R,SAAAA,GAAIiN,GAAE,EAAGtR,EAAEqE,EAAE,IAAI6R,OAAO7R,SAAAA,GAAIiN,GAAE,EAAG5N,EAAEW,EAAE,IAAIwP,YAAY,kBAAI/P,EAAE,KAAIhB,GAAG+Q,YAAY,kBAAI/P,GAAE,KAAKoN,EAAE6H,QAAQ,IAAMpQ,EAAE6L,EAAE,IAAG,EAAG5K,EAAEiI,EAAE6C,EAAGrQ,GAAG6M,EAAE6H,QAAQ,SAASjV,EAAEO,GAAG,IAAIiN,EAAE,IAAG,IAAKjN,EAAEuE,GAAE,EAAGsI,EAAE8H,aAAatV,EAAE0E,MAAMO,IAAI6J,QAAQC,MAAM9J,QAAQ,IAAIC,EAAE,CAAC,IAAMgB,EAAEvF,EAAEwN,EAAEjI,EAAE9G,EAAE0P,QAAQmB,KAAKhL,GAAGkJ,EAAE/O,EAAEoO,EAAE6H,QAAQlF,YAAY,kBAAI/P,EAAE8F,EAAE,KAAI9G,EAAE,CAAC,CAAC,GAAG,EAAUiV,EAAT,SAAY1T,GAAG,IAAMuF,EAAE,CAAC,EAAE,IAAI,IAAIsH,KAAK4H,GAAGlP,EAAEsH,GAAGwE,EAAG,CAAC,EAAEoD,GAAG5H,GAAG7M,GAAGA,EAAE6M,IAAI,CAAC,GAAG,OAAOtH,CAAC,EAAU0P,EAAT,SAAYjV,GAAG,OAAO8P,QAAQ2B,UAAUC,MAAM,WAAK,OAAG1R,EAAE8T,YAAmB9T,EAAE8T,YAAe9T,EAAEuQ,SAAS2E,IAAGlV,EAAEuQ,SAAS4E,GAAUnV,GAAiBA,EAAEuQ,OAAO6C,GAAGpT,EAAE8T,YAAYhE,QAAQ2B,UAAUC,MAAM,WAAK,IAAMjT,EAAEuB,EAAEoV,QAAQlB,EAAGlU,IAAI,IAAI2R,EAAGlT,GAAG,MAAMoO,GAAE,EAAG9I,MAAMoM,EAAE,IAAG,EAAGE,EAAGrQ,KAAK,OAAOvB,EAAEiT,MAAM7E,SAAAA,GAAI,IAAIpO,EAAEuB,EAAEqV,cAAc,KAAS,iBAAJ9P,EAAEsH,KAAuBpO,EAAE,IAAInC,OAAOC,UAAUf,eAAekB,KAAK6I,EAAE,eAAegM,EAAGhM,EAAE0M,aAAaxT,EAAE,IAAI8S,EAAGhM,EAAEgO,SAAS9U,EAAE,IAAI8S,EAAGhM,EAAEiO,WAAW/U,EAAE,IAAI,IAAM+O,EAAE8C,EAAG/K,GAAG,GAAG9G,EAAE,CAAC,IAAIoO,EAAE,IAAIA,EAAE4D,KAAKC,UAAUnL,EAAE,CAAC,MAAMvF,GAAG,CAAC,OAAOmO,QAAQC,MAAM+B,EAAE1R,GAAE,EAAG+O,EAAE6C,EAAGrQ,GAAG6M,GAAGtH,GAAGwK,OAAE,EAAO/P,EAAEiR,IAAIjR,CAAC,CAAC,OAAOuF,EAAE+P,UAAU/P,EAAE+P,SAASC,WAAWvV,EAAEsV,SAASC,SAASlE,EAAG,CAAC,EAAErR,EAAEsV,SAASC,SAAShQ,EAAE+P,SAASC,WAAWvV,EAAEuQ,OAAOwB,GAAG/R,EAAEiS,UAAUT,EAAGjM,EAAE,aAAavF,EAAEuT,MAAM/B,EAAGjM,EAAE,SAASvF,EAAEwT,QAAQhC,EAAGjM,EAAE,WAAWvF,EAAEgV,OAAOxD,EAAGjM,EAAE,UAAUvF,EAAEyT,SAASC,EAAGnO,EAAEkO,iBAAiBzT,EAAE8T,YAAY9T,CAAC,GAAG,IAAI6R,OAAOtM,SAAAA,GAAI,IAAI9G,EAAE,cAAcuB,EAAE8T,YAAYjH,EAAEpO,EAAEwS,IAAIxS,EAAE0W,GAAGnV,EAAEqV,eAAc,IAAKjY,MAAMoY,WAAWzF,EAAExK,EAAEvF,EAAEvB,GAAGuB,CAAC,KAAt0B,IAAIuF,EAAEsH,CAAm0B,GAAG,EAA0G4I,EAAT,SAAYzV,GAAG,IAAIuF,EAAE,GAAG,iBAAiBvF,EAAEuF,EAAEvF,OAAO,GAAG3C,MAAMA,KAAKqY,KAAKnQ,EAAElI,KAAKqY,SAAS,CAAC,KAAK1V,GAAGA,EAAE2V,eAAe3V,EAAE2V,cAAcD,MAAM1V,EAAE4V,gBAAgB,MAAM7R,MAAMoM,EAAE,IAAG,IAAK5K,EAAEvF,EAAE2V,cAAcD,KAAK1V,EAAE4V,gBAAgB,CAAC,IAAM/I,EAAEgJ,EAAGvS,OAAO0N,SAAS0E,MAAMjX,EAAEoX,EAAGtQ,GAAG,IAAIA,EAAEzB,QAAQ,KAAKR,OAAO0N,SAAShT,KAAKS,EAAET,KAAK6O,EAAEiJ,OAAOrX,EAAEqX,MAAMrX,EAAEqX,KAAKxS,OAAO0N,SAAS0E,KAAKnQ,EAAE9G,EAAEsX,WAAWlJ,EAAEkJ,UAAUtX,EAAEuX,SAASnJ,EAAEmJ,OAAO1S,OAAO0N,SAAShT,KAAKS,EAAET,KAAKsF,OAAO2S,QAAQC,UAAU,KAAK,KAAK3Q,EAAE,EAAU4Q,EAAT,SAAYnW,cAAG,GAAGA,EAAE,CAAC,IAAMuF,EAAEvF,EAAE,GAAGoW,KAAKC,GAAGvS,QAAQyB,IAAI,GAAG+Q,GAAG/Q,GAAGuF,SAASvF,SAAAA,GAAI,IAAIA,EAAEnJ,MAAM,EAAK4D,EAAE,CAAC,MAAMA,GAAGwP,YAAY,WAAK,MAAMxP,CAAC,GAAG,CAAC,GAAG,CAAC,EAAiBuW,EAAT,WAAcC,GAAG,GAAG5a,UAAU,EAAU6a,EAAT,SAAYzW,EAAEuF,GAAG,OAAO,WAAW,IAAMsH,EAAEvJ,OAAO0N,SAAS0E,KAAKjX,EAAEuB,EAAE5D,MAAMiB,KAAKzB,WAAW4R,EAAElK,OAAO0N,SAAS0E,KAAK,OAAOgB,IAAI7J,IAAIW,GAAGlK,OAAOoP,cAAc,SAAS1S,EAAEuF,GAAG,IAAIsH,EAAE,IAAIA,EAAE,IAAI8J,cAAc,WAAW,CAACC,MAAM5W,GAAG,CAAC,MAAMuF,IAAGsH,EAAEK,SAAS2J,YAAY,kBAAmBC,kBAAkB,YAAW,GAAG,EAAG9W,EAAE,CAAC,OAAO6M,EAAEwH,WAAU,EAAGxH,EAAEkK,iBAAiBxR,EAAEsH,CAAC,CAAvM,CAAyMvJ,OAAO2S,QAAQW,MAAMrR,IAAI9G,CAAC,CAAC,EAA4BuY,EAAT,SAAYhX,GAAG,GAAGiX,GAAG,MAAMlT,MAAMoM,EAAE,IAAG,IAAKuG,IAAI1W,IAAIA,EAAExE,eAAe,mBAAmBwE,EAAEkX,eAAeD,IAAG,EAAGE,GAAG7T,OAAO2S,QAAQmB,aAAa9T,OAAO+T,iBAAiB,aAAad,GAAIjT,OAAO+T,iBAAiB,WAAWd,GAAI,IAAMhR,EAAEjC,OAAO+T,iBAAiBxK,EAAEvJ,OAAOgU,oBAAoBhU,OAAO+T,iBAAiB,SAASrX,EAAE6M,GAAG,KAAK,mBAAmBA,GAAGwJ,GAAGvS,QAAQ9D,IAAI,IAAIsR,EAAGgF,GAAGtW,IAAIA,SAAAA,UAAGA,IAAI6M,KAAI,OAAOtH,EAAEnJ,MAAMiB,KAAKzB,WAAW0a,GAAGtW,GAAGhE,KAAK6Q,EAAE,EAAEvJ,OAAOgU,oBAAoB,SAAStX,EAAEuF,GAAG,KAAK,mBAAmBA,GAAG8Q,GAAGvS,QAAQ9D,IAAI,GAAG,OAAO6M,EAAEzQ,MAAMiB,KAAKzB,WAAW0a,GAAGtW,GAAGsW,GAAGtW,GAAGoQ,QAAQpQ,SAAAA,UAAGA,IAAIuF,IAAG,EAAEjC,OAAO2S,QAAQC,UAAUO,EAAGnT,OAAO2S,QAAQC,UAAU,aAAa5S,OAAO2S,QAAQmB,aAAaX,EAAGU,GAAG,eAAe,EAAUtB,EAAT,SAAY7V,GAAG,IAAMuF,EAAE2H,SAASC,cAAc,KAAK,OAAO5H,EAAEmQ,KAAK1V,EAAEuF,CAAC,EAAsGgS,EAAT,eAAYvX,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAEsD,OAAOlF,OAAQ,GAAG4B,GAAGsD,OAAOvG,GAAGuG,OAAOvG,EAAEW,IAAI4F,OAAOvG,EAAEW,GAAG8Z,SAASxX,EAAEsD,OAAOvG,GAAGiD,IAAIyX,GAAG,CAAC,IAAMlS,EAAEvF,EAAEtC,GAAGga,GAAG7K,EAAE7M,EAAEtC,GAAGia,IAAI3X,EAAEtC,GAAGga,GAAG,SAAS1X,EAAE6M,GAAG,OAAO+K,EAAGlb,KAAKW,KAAKkI,EAAEjC,OAAO+T,iBAAiBrX,EAAE6M,EAAEjR,UAAU,EAAEoE,EAAEtC,GAAGia,IAAI,SAAS3X,EAAEuF,GAAG,OAAOqS,EAAGlb,KAAKW,KAAKwP,EAAEvJ,OAAOgU,oBAAoBtX,EAAEuF,EAAE3J,UAAU,EAAE6b,IAAG,CAAE,CAAC,EAAUG,EAAT,SAAY5X,EAAEuF,EAAEsH,EAAEpO,EAAE+O,GAAG,MAAM,iBAAiBX,EAAE7M,EAAE5D,MAAMiB,KAAKmQ,IAAIX,EAAEgL,MAAM,OAAO/M,SAAS9K,SAAAA,GAAIqW,GAAGvS,QAAQ9D,IAAI,IAAIuF,EAAEvF,EAAEvB,GAAGoO,EAAEA,EAAEtO,QAAQyB,EAAE,IAAI,IAAI,KAAK6M,EAAEiL,OAAOza,KAAK2C,EAAE5D,MAAMiB,KAAKmQ,GAAG,EAAsBuK,EAAT,SAAY/X,GAAG,OAAO8P,QAAQ2B,UAAUC,MAAM,WAAK,IAAMnM,EAAEyS,GAAG3H,EAAGrQ,IAAI,IAAIuF,EAAE,OAAOvF,EAAE,GAAGA,EAAEuQ,SAAS2E,GAAE,OAAO+C,EAAGjY,EAAEuF,GAAGvF,EAAE,GAAGA,EAAEuQ,SAAS2H,GAAG,OAAO3S,EAAE4S,QAAQzG,MAAM,kBAAI1R,KAAI,GAAGA,EAAEuQ,SAAS4B,IAAInS,EAAEuQ,SAAS4E,GAAG,OAAOnV,EAAE,IAAM6M,EAAE7M,EAAEuQ,SAAS4E,GAAGrF,QAAQ2B,UAAUS,EAAGlS,EAAE,UAAU,OAAOA,EAAEuQ,OAAO2H,GAAGrL,EAAE6E,MAAM,kBAAKuG,EAAGjY,EAAEuF,GAAGvF,KAAK6R,OAAOhF,SAAAA,UAAI,SAAS7M,EAAEuF,EAAEsH,UAAUmL,GAAG3H,EAAGrQ,WAAWA,EAAEiS,iBAAiBjS,EAAEuT,aAAavT,EAAEwT,eAAexT,EAAEgV,OAAOjF,EAAElD,EAAE7M,EAAEiR,IAAI1L,EAAEqM,OAAO/E,EAAE,CAAzH,CAA2H7M,EAAEuF,EAAEsH,GAAG7M,IAAI,GAAG,EAAUiY,EAAT,SAAYjY,EAAEuF,UAAUyS,GAAG3H,EAAGrQ,WAAWA,EAAEiS,iBAAiBjS,EAAEuT,aAAavT,EAAEwT,eAAexT,EAAEgV,OAAOhV,EAAEuQ,OAAO2E,GAAE3P,EAAEkM,SAAS,EAAU2G,EAAT,SAAYpY,EAAEuF,EAAEsH,EAAEpO,GAAGuZ,GAAG3H,EAAGrQ,IAAI,CAACqY,IAAIrY,EAAEyR,QAAQ5E,EAAE+E,OAAOnT,GAAGnC,OAAOkS,eAAewJ,GAAG3H,EAAGrQ,IAAI,UAAU,CAAC0O,IAAInJ,GAAG,EAAU+S,GAAT,SAAYtY,GAAG,OAAOgY,GAAGhY,EAAE,EAAsBuY,GAAT,WAAc,OAAOC,GAAGpI,OAAOQ,GAAI3R,IAAIoR,EAAG,EAAUoI,GAAT,WAAc,OAAOD,GAAGvZ,IAAIoR,EAAG,EAAUqI,GAAT,SAAY1Y,GAAG,IAAMuF,EAAE+L,EAAGkH,IAAIjT,SAAAA,UAAG8K,EAAG9K,KAAKvF,KAAI,OAAOuF,EAAEA,EAAEgL,OAAO,IAAI,EAAoBoI,GAAT,SAAY3Y,EAAEuF,EAAEsH,EAAEpO,GAAG,IAAM+O,EAAE,SAASxN,EAAEuF,EAAEsH,EAAEpO,GAAG,IAA0vC9C,EAApvC6R,EAAE,CAAC9B,KAAK,KAAK0J,QAAQ,KAAKrE,WAAW,KAAKsC,YAAY,MAAM,MAAM,iBAAiBrT,GAAG,SAASA,GAAG,GAAG/D,MAAMC,QAAQ8D,IAAI,OAAOA,EAAE,MAAM+D,MAAMoM,EAAE,IAAG,IAAK,IAAM5K,EAAE,CAAC,OAAO,MAAM,aAAa,eAAesH,EAAEvQ,OAAOoO,KAAK1K,GAAG2P,QAAQ,SAAC3P,EAAE6M,UAAItH,EAAEzB,QAAQ+I,IAAI,EAAE7M,EAAEA,EAAEiL,OAAO4B,KAAI,IAAI,GAAG,IAAIA,EAAEhR,OAAO,MAAMkI,MAAMoM,EAAE,IAAG,EAAG5K,EAAE5I,KAAK,MAAMkQ,EAAElQ,KAAK,QAAQ,GAAG,iBAAiBqD,EAAE0L,MAAM,IAAI1L,EAAE0L,KAAK7P,OAAO,MAAMkI,MAAMoM,EAAE,IAAG,IAAK,GAAG,iBAAiBnQ,EAAEqY,KAAK,mBAAmBrY,EAAEqY,IAAI,MAAMtU,MAAMoM,EAAE,IAAG,IAAK,IAAM1R,EAAEuB,SAAAA,SAAG,iBAAiBA,GAAG,mBAAmBA,GAAE,KAAKvB,EAAEuB,EAAE+Q,aAAa9U,MAAMC,QAAQ8D,EAAE+Q,aAAa/Q,EAAE+Q,WAAW6H,MAAMna,IAAI,MAAMsF,MAAMoM,EAAE,IAAG,IAAK,IAAI0I,GAAG7Y,EAAEqT,aAAa,MAAMtP,MAAMoM,EAAE,IAAG,GAAI,CAAlkB,CAAokBnQ,GAAGwN,EAAE9B,KAAK1L,EAAE0L,KAAK8B,EAAE4H,QAAQpV,EAAEqY,IAAI7K,EAAEuD,WAAW/Q,EAAE+Q,WAAWvD,EAAE6F,YAAYrT,EAAEqT,cAAc,SAASrT,EAAEuF,EAAEsH,EAAEpO,GAAG,GAAG,iBAAiBuB,GAAG,IAAIA,EAAEnE,OAAO,MAAMkI,MAAMoM,EAAE,IAAG,IAAK,IAAI5K,EAAE,MAAMxB,MAAMoM,EAAE,IAAG,IAAK,GAAG,mBAAmBtD,EAAE,MAAM9I,MAAMoM,EAAE,IAAG,IAAK,IAAI0I,GAAGpa,GAAG,MAAMsF,MAAMoM,EAAE,IAAG,GAAI,CAArL,CAAuLnQ,EAAEuF,EAAEsH,EAAEpO,GAAG+O,EAAE9B,KAAK1L,EAAEwN,EAAE4H,QAAQ7P,EAAEiI,EAAEuD,WAAWlE,EAAEW,EAAE6F,YAAY5U,GAAG+O,EAAE4H,QAAQ,mBAAmBzZ,EAAE6R,EAAE4H,SAAS,kBAAItF,QAAQ2B,QAAQ9V,IAAGA,EAAE6R,EAAE6F,YAAY,SAASrT,GAAG,OAAOA,GAAG,CAAC,CAAC,CAAxB,CAA0BwN,EAAE6F,aAAa7F,EAAEuD,WAAW,SAAS/Q,GAAG,IAAIuF,EAAEtJ,MAAMC,QAAQ8D,GAAGA,EAAE,CAACA,GAAG,OAAOuF,EAAEA,EAAEtG,KAAKe,SAAAA,SAAG,mBAAmBA,EAAEA,EAAE8Y,GAAG9Y,MAAKA,SAAAA,UAAGuF,EAAEwT,MAAMxT,SAAAA,UAAGA,EAAEvF,MAAI,CAA/G,CAAiHwN,EAAEuD,YAAYvD,CAAO,CAA7wC,CAA+wCxN,EAAEuF,EAAEsH,EAAEpO,GAAG,GAAGua,MAAMC,KAAKA,IAAG,EAAGzJ,YAAY,WAAKwJ,MAAM7K,QAAQmB,KAAKa,EAAE,GAAE,GAAI,GAAG,OAAO,IAAIsI,KAAK3U,QAAQ0J,EAAE9B,MAAM,MAAM3H,MAAMoM,EAAE,IAAG,EAAG3C,EAAE9B,OAAO8M,GAAGxc,KAAKqV,EAAG,CAACgE,cAAc,KAAK9E,OAAO2E,GAAE5C,QAAQ,CAAC,EAAEgD,SAAS,CAACC,SAAS,CAACpY,QAAQ,CAAC,EAAE+b,UAAU,MAAM1L,IAAI2L,KAAK5B,IAAKf,KAAK,EAAU4C,GAAT,eAAYpZ,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAEsD,OAAO0N,SAAU,OAAOwH,GAAGpI,QAAQ7K,SAAAA,UAAGA,EAAEwL,WAAW/Q,MAAKf,IAAIoR,EAAG,EAAUgJ,GAAT,SAAYrZ,GAAG,GAAG,IAAIwY,GAAGpI,QAAQ7K,SAAAA,UAAG8K,EAAG9K,KAAKvF,KAAInE,OAAO,MAAMkI,MAAMoM,EAAE,IAAG,EAAGnQ,IAAI,OAAOmZ,GAAGG,GAAGtZ,EAAE,CAACuZ,gBAAe,IAAKzJ,QAAQ2B,WAAWC,MAAM,WAAK,IAAMnM,EAAEiT,GAAGvZ,IAAIoR,GAAIvM,QAAQ9D,GAAGwY,GAAGgB,OAAOjU,EAAE,EAAE,GAAG,EAAU+T,GAAT,SAAYtZ,OAAEuF,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAE,CAACgU,gBAAe,GAAK,GAAG,iBAAiBvZ,EAAE,MAAM+D,MAAMoM,EAAE,IAAG,IAAK,IAAMtD,EAAEyE,EAAGkH,IAAIjT,SAAAA,UAAG8K,EAAG9K,KAAKvF,KAAI,IAAI6M,EAAE,MAAM9I,MAAMoM,EAAE,IAAG,EAAGnQ,IAAI,IAAkIA,EAA5HvB,EAAE6Z,GAAGjI,EAAGxD,IAAI,GAAGtH,GAAGA,EAAEgU,eAAe,CAAC,GAAG9a,EAAE,OAAOA,EAAE0Z,QAAS,IAAMnY,EAAE,IAAI8P,SAAS,SAACvK,EAAE9G,GAAK2Z,EAAGvL,GAAG,kBAAI7M,IAAGuF,EAAE9G,EAAE,IAAI,OAAOuB,CAAE,CAAQ,OAAOvB,GAAGuB,EAAEvB,EAAE0Z,QAAQsB,GAAG5M,EAAEpO,EAAEgT,QAAQhT,EAAEmT,SAAS5R,EAAE,IAAI8P,SAAS,SAACvK,EAAE9G,GAAK2Z,EAAGvL,GAAG,kBAAI7M,IAAGuF,EAAE9G,GAAGgb,GAAG5M,EAAEtH,EAAE9G,EAAE,IAAIuB,CAAE,EAAUyZ,GAAT,SAAYzZ,EAAEuF,EAAEsH,GAAGiD,QAAQ2B,UAAUC,MAAM,WAAK,GAAGJ,EAAG8H,MAAM7T,SAAAA,UAAGA,IAAI8K,EAAGrQ,MAAK,OAAO0Z,IAAI,IAAIhI,MAAM,kBAAIU,EAAGpS,GAAG0R,KAAKqG,GAAIrG,MAAM,WAAKnM,IAAIiK,YAAY,WAAKgH,IAAI,GAAG,OAAM3E,MAAMhF,EAAE,EAAUgM,GAAT,SAAY7Y,GAAG,OAAOA,GAAG,mBAAmBA,GAAG,iBAAiBA,GAAG,OAAOA,IAAI/D,MAAMC,QAAQ8D,EAAE,EAAU8Y,GAAT,SAAY9Y,EAAEuF,GAAG,IAAMsH,EAAE,SAAS7M,EAAEuF,GAAG,IAAIsH,EAAE,EAAEpO,GAAE,EAAG+O,EAAE,IAAI,MAAMxN,EAAE,KAAKA,EAAE,IAAIA,GAAG,IAAI,IAAIuF,EAAE,EAAEA,EAAEvF,EAAEnE,OAAO0J,IAAI,CAAC,IAAMsH,EAAE7M,EAAEuF,KAAK9G,GAAG,MAAMoO,GAAGpO,GAAG,MAAMoO,IAAIlR,EAAE4J,EAAE,CAAC,OAAO5J,EAAEqE,EAAEnE,QAAQ,IAAI8d,OAAOnM,EAAE,KAAK,SAAS7R,EAAEA,GAAG,IAAM0D,EAAEW,EAAEd,MAAM2N,EAAElR,GAAG4C,QAAQ,sBAAsB,QAAQ,GAAGiP,GAAG/O,EAAE,UAAUY,EAAE1D,IAAIqE,EAAEnE,OAAO,GAAG4C,EAAE8G,IAAIiI,GAAG,SAAS,CAAC,IAAMxN,EAAEuF,EAAE,GAAG,KAAKiI,EAAE,MAAMA,EAAEoM,OAAOpM,EAAE3R,OAAO,GAAG,GAAOmE,OAAJwN,GAAM,OAAFxN,EAAE,KAAG,GAASA,OAANwN,EAAE,MAAM,OAAFxN,EAAE,YAAU,CAACvB,GAAGA,EAAEoO,EAAElR,CAAC,CAAC,CAA/X,CAAiYqE,EAAEuF,GAAG,OAAOvF,SAAAA,GAAI,IAAIuF,EAAEvF,EAAE6Z,OAAOtU,IAAIA,EAAE,GAAkBvF,OAAfA,EAAE8Z,SAAS,MAAW,OAAP9Z,EAAE8V,OAAQ,IAAMrX,EAAEuB,EAAE0V,KAAKnX,QAAQgH,EAAE,IAAIhH,QAAQyB,EAAEgW,OAAO,IAAI6B,MAAM,KAAK,GAAG,OAAOhL,EAAEkN,KAAKtb,EAAE,CAAC,EAAsDib,GAAT,WAAc,OAAOlD,IAAI,EAAq3EwD,GAAT,SAAYha,EAAEuF,GAAG,OAAOuL,EAAG9Q,GAAG8R,EAAG9R,GAAG0R,MAAM1R,SAAAA,UAAGuF,EAAEmM,MAAM,kBAAIZ,EAAG9Q,GAAGwS,EAAGxS,GAAGA,QAAMuF,EAAEmM,MAAM,kBAAI1R,IAAG,EAAoBia,GAAT,SAAYja,GAAGka,IAAG,EAAGf,KAAKnC,EAAGhX,GAAGwW,KAAK,EAAUwC,GAAT,WAAc,OAAOkB,EAAE,EAAySC,GAAT,SAAYna,GAAG,QAAG,IAASA,EAAE,MAAM,IAAIoa,eAAe,6DAA6D,OAAOpa,CAAC,EAAUqa,GAAT,SAAYra,EAAEuF,EAAEsH,EAAEpO,EAAE+O,EAAE7R,EAAE0D,GAAG,IAAI,IAAI4N,EAAEjN,EAAErE,GAAG0D,GAAGkF,EAAE0I,EAAE9L,KAAK,CAAC,MAAMnB,GAAG,YAAY6M,EAAE7M,EAAE,CAACiN,EAAEqN,KAAK/U,EAAEhB,GAAGuL,QAAQ2B,QAAQlN,GAAGmN,KAAKjT,EAAE+O,EAAE,EAAyM+M,GAAT,SAAYva,EAAEuF,EAAEsH,GAAG,OAAOtH,KAAKvF,EAAE1D,OAAOkS,eAAexO,EAAEuF,EAAE,CAACpE,MAAM0L,EAAE4B,YAAW,EAAG+L,cAAa,EAAGC,UAAS,IAAKza,EAAEuF,GAAGsH,EAAE7M,CAAC,EAA0uB0a,GAAT,WAAc,GAAG,oBAAoBC,UAAUA,QAAQC,UAAU,OAAM,EAAG,GAAGD,QAAQC,UAAUC,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAO3J,QAAQ5U,UAAUwe,QAAQre,KAAKie,QAAQC,UAAUzJ,QAAQ,IAAI,WAAW,MAAK,CAAE,CAAC,MAAMnR,GAAG,OAAM,CAAE,CAAC,EAA6Egb,GAAT,SAAYhb,GAAG,OAAOA,GAAGA,EAAEib,WAAW,QAAQjb,GAAG,MAAMA,EAAE,KAAKA,EAAE,IAAIA,GAAGsD,OAAO4X,YAAYlb,EAAE,EAAUmb,GAAT,SAAYnb,GAAG,IAAIuF,EAAE3J,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,GAAG,iBAAiBoE,EAAE,MAAM+D,MAAM,mFAAmF,GAAG,iBAAiBwB,EAAE,MAAMxB,MAAM,uFAAuF,IAAIT,OAAO4X,YAAY,MAAMnX,MAAM,mIAAmI,IAAI8I,EAAEmO,GAAGhb,GAAG,GAAGuF,EAAE6V,UAAU7V,EAAE6V,QAAQ,CAAC,GAAGC,GAAE9V,EAAE+V,QAAQ/V,EAAE+V,KAAK7K,KAAKC,UAAUnL,EAAE+V,YAAO,IAAS/V,EAAE6V,QAAQG,SAAShW,EAAE6V,QAAQG,OAAO,oBAAoB,OAAOhW,EAAE6V,QAAQG,eAAehW,EAAE6V,QAAQG,OAAOvb,EAAEib,WAAWO,UAAK,IAASjW,EAAE6V,QAAQ,8BAA8B7V,EAAE6V,QAAQ,4BAA4B,QAAQpb,EAAEib,WAAWQ,IAAI,CAAC,IAAIhd,EAAE,IAAIid,IAAI7O,EAAEvJ,OAAO0N,SAAS3U,YAAYoC,EAAEkd,aAAaC,IAAI,cAAcnd,EAAEkd,aAAaE,IAAI,WAAW,QAAQhP,EAAEpO,EAAEpC,WAAW,CAAC,IAAImR,EAAE7R,EAAE0D,EAAE0E,QAAQ,OAAOT,OAAOwY,MAAMjP,EAAEtH,GAAGmM,MAAMlE,EAAE,SAASxN,GAAG,IAAIuF,EAAE9G,EAAE,OAAO,SAASuB,EAAEuF,GAAG,IAAIsH,EAAEpO,EAAE+O,EAAE7R,EAAE0D,EAAE,CAAC0c,MAAM,EAAEC,KAAK,WAAW,GAAG,EAAExO,EAAE,GAAG,MAAMA,EAAE,GAAG,OAAOA,EAAE,EAAE,EAAEyO,KAAK,GAAGC,IAAI,IAAI,OAAOvgB,EAAE,CAACwgB,KAAKlP,EAAE,GAAGmP,MAAMnP,EAAE,GAAGoP,OAAOpP,EAAE,IAAI,mBAAmB0B,SAAShT,EAAEgT,OAAO2N,UAAU,WAAW,OAAOjf,IAAI,GAAG1B,EAAE,SAASsR,EAAEtR,GAAG,OAAO,SAASsR,GAAG,OAAO,SAAStR,GAAG,GAAGkR,EAAE,MAAM,IAAI0P,UAAU,mCAAmC,KAAKld,GAAG,IAAI,GAAGwN,EAAE,EAAEpO,IAAI+O,EAAE,EAAE7R,EAAE,GAAG8C,EAAE4d,OAAO1gB,EAAE,GAAG8C,EAAE2d,SAAS5O,EAAE/O,EAAE4d,SAAS7O,EAAE9Q,KAAK+B,GAAG,GAAGA,EAAE0d,SAAS3O,EAAEA,EAAE9Q,KAAK+B,EAAE9C,EAAE,KAAK2e,KAAK,OAAO9M,EAAE,OAAO/O,EAAE,EAAE+O,IAAI7R,EAAE,CAAC,EAAEA,EAAE,GAAG6R,EAAErM,QAAQxF,EAAE,IAAI,KAAK,EAAE,KAAK,EAAE6R,EAAE7R,EAAE,MAAM,KAAK,EAAE,OAAO0D,EAAE0c,QAAQ,CAAC5a,MAAMxF,EAAE,GAAG2e,MAAK,GAAI,KAAK,EAAEjb,EAAE0c,QAAQtd,EAAE9C,EAAE,GAAGA,EAAE,CAAC,GAAG,SAAS,KAAK,EAAEA,EAAE0D,EAAE6c,IAAI7R,MAAMhL,EAAE4c,KAAK5R,MAAM,SAAS,QAAQ,MAAMmD,GAAGA,EAAEnO,EAAE4c,MAAMpgB,OAAO,GAAG2R,EAAEA,EAAE3R,OAAO,KAAK,IAAIF,EAAE,IAAI,IAAIA,EAAE,IAAI,CAAC0D,EAAE,EAAE,QAAQ,CAAC,GAAG,IAAI1D,EAAE,MAAM6R,GAAG7R,EAAE,GAAG6R,EAAE,IAAI7R,EAAE,GAAG6R,EAAE,IAAI,CAACnO,EAAE0c,MAAMpgB,EAAE,GAAG,KAAK,CAAC,GAAG,IAAIA,EAAE,IAAI0D,EAAE0c,MAAMvO,EAAE,GAAG,CAACnO,EAAE0c,MAAMvO,EAAE,GAAGA,EAAE7R,EAAE,KAAK,CAAC,GAAG6R,GAAGnO,EAAE0c,MAAMvO,EAAE,GAAG,CAACnO,EAAE0c,MAAMvO,EAAE,GAAGnO,EAAE6c,IAAIlgB,KAAKL,GAAG,KAAK,CAAC6R,EAAE,IAAInO,EAAE6c,IAAI7R,MAAMhL,EAAE4c,KAAK5R,MAAM,SAAS1O,EAAE4J,EAAE7I,KAAKsD,EAAEX,EAAE,CAAC,MAAMW,GAAGrE,EAAE,CAAC,EAAEqE,GAAGvB,EAAE,CAAC,SAASoO,EAAEW,EAAE,CAAC,CAAC,GAAG,EAAE7R,EAAE,GAAG,MAAMA,EAAE,GAAG,MAAM,CAACwF,MAAMxF,EAAE,GAAGA,EAAE,QAAG,EAAO2e,MAAK,EAAG,CAApxB,CAAsxB,CAAC3e,EAAEsR,GAAG,CAAC,CAAC,CAAniC,CAAqiC5P,MAAM,SAASmQ,GAAG,OAAOA,EAAEuO,OAAO,KAAK,EAAE,OAAOxW,EAAEvF,GAAGwc,GAAG,MAAMjX,EAAEgL,QAAQhL,EAAEkX,KAAK,KAAK,CAAC,EAAElX,IAAI,CAAC,EAAEA,EAAE8G,QAAQqQ,OAAOhL,MAAM,SAAS1R,GAAG,IAAIA,IAAIuF,EAAEkX,KAAKhM,KAAKkM,MAAM3c,GAAG,CAAC,MAAMA,GAAG,CAAC,OAAOuF,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,CAAC,GAAG,EAAExI,GAAE6Q,WAAW,qBAAqB,KAAK,EAAE,OAAOnP,EAAE+O,EAAEwO,OAAOY,oBAAoB/P,IAAImO,GAAG6B,KAAK,MAAMtX,EAAEgL,QAAQ9R,EAAEqe,SAASre,EAAEmR,OAAOpT,SAAS+I,EAAEgL,SAASwM,eAAeC,WAAWC,KAAI,EAAGC,GAAEpP,UAAU,CAACqP,GAAG1e,EAAE2e,MAAM,CAAC,EAAE3e,EAAE4e,eAAevN,QAAQ2B,UAAU,IAAI3B,SAAS,WAAW,MAAM,CAAC,EAAEvK,EAAE8G,QAAQqQ,OAAOhL,MAAM,SAAS1R,GAAG,IAAIvB,EAAEuB,EAAE,IAAIvB,EAAEgS,KAAKkM,MAAM3c,EAAE,CAAC,MAAMA,GAAG,CAAC,MAAM,IAAIsd,GAAGzQ,EAAEtH,EAAE9G,EAAEY,EAAE,IAAI,SAASW,GAAG,MAAM,IAAIsd,GAAGzQ,EAAEtH,EAAE,KAAKlG,EAAE,KAAK,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,EAAE1D,EAAE,WAAW,IAAIqE,EAAE3C,KAAKkI,EAAE3J,UAAU,OAAO,IAAIkU,SAAS,SAASjD,EAAEpO,GAAG,IAAI9C,EAAE6R,EAAEpR,MAAM4D,EAAEuF,GAAG,SAASlG,EAAEW,GAAGqa,GAAG1e,EAAEkR,EAAEpO,EAAEY,EAAE4N,EAAE,OAAOjN,EAAE,CAAC,SAASiN,EAAEjN,GAAGqa,GAAG1e,EAAEkR,EAAEpO,EAAEY,EAAE4N,EAAE,QAAQjN,EAAE,CAACX,OAAE,EAAO,GAAG,EAAE,SAASW,GAAG,OAAOrE,EAAES,MAAMiB,KAAKzB,UAAU,GAAG,EAAU2hB,GAAT,SAAYvd,GAAG,IAAIuF,EAAE3J,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC,EAAE,GAAG,iBAAiB2J,EAAE,MAAMxB,MAAM,qFAAqF,IAAI8I,EAAE,IAAI2Q,gBAAgB,OAAOjY,EAAEkY,OAAO5Q,EAAE4Q,OAAO,IAAI/e,IAAG,SAASD,GAAG,IAAI+O,GAAE,EAAG,OAAO2N,GAAGnb,EAAEuF,GAAGmM,MAAM,SAAS1R,GAAGwN,GAAE,EAAG/O,EAAE0d,KAAKnc,GAAGvB,EAAEif,UAAU,IAAI,SAAS1d,GAAGwN,GAAE,EAAG/O,EAAE2P,MAAMpO,EAAE,IAAI,WAAWwN,GAAGX,EAAE8Q,OAAO,CAAC,GAAG,EAAsnCC,GAAT,SAAY5d,EAAEuF,EAAEsH,EAAEpO,EAAE+O,EAAE7R,EAAE0D,GAAG,IAAI,IAAI4N,EAAEjN,EAAErE,GAAG0D,GAAGkF,EAAE0I,EAAE9L,KAAK,CAAC,MAAMnB,GAAG,YAAY6M,EAAE7M,EAAE,CAACiN,EAAEqN,KAAK/U,EAAEhB,GAAGuL,QAAQ2B,QAAQlN,GAAGmN,KAAKjT,EAAE+O,EAAE,EAA6CqQ,GAAT,SAAY7d,EAAEuF,GAAG,OAAO4V,GAAG,GAAGlQ,OAAO6S,GAAG,KAAK7S,OAAOjL,GAAG,CAACyd,OAAOlY,EAAEkY,QAAQ,EAAUM,GAAT,SAAY/d,EAAEuF,EAAEsH,GAAG,OAAOsO,GAAG,GAAGlQ,OAAO6S,GAAG,aAAa7S,OAAOjL,EAAE,0BAA0BiL,OAAO1F,GAAG,CAACkY,OAAO5Q,EAAE4Q,QAAQ,EAAUO,GAAT,SAAYhe,EAAEuF,GAAG,OAAO0Y,GAAG7hB,MAAMiB,KAAKzB,UAAU,EAA4kDsiB,GAAT,SAAYle,EAAEuF,GAAG,OAAO4V,GAAG,GAAGlQ,OAAO6S,GAAG,KAAK7S,OAAOjL,GAAG,CAACme,OAAO,SAASV,OAAOlY,EAAEkY,QAAQ,EAAgEW,GAAT,SAAYpe,EAAEuF,EAAEsH,EAAEpO,EAAE+O,EAAE7R,EAAE0D,GAAG,IAAI,IAAI4N,EAAEjN,EAAErE,GAAG0D,GAAGkF,EAAE0I,EAAE9L,KAAK,CAAC,MAAMnB,GAAG,YAAY6M,EAAE7M,EAAE,CAACiN,EAAEqN,KAAK/U,EAAEhB,GAAGuL,QAAQ2B,QAAQlN,GAAGmN,KAAKjT,EAAE+O,EAAE,EAAU6Q,GAAT,SAAYre,GAAG,OAAO,WAAW,IAAIuF,EAAElI,KAAKwP,EAAEjR,UAAU,OAAO,IAAIkU,SAAS,SAASrR,EAAE+O,GAAG,IAAI7R,EAAEqE,EAAE5D,MAAMmJ,EAAEsH,GAAG,SAASxN,EAAEW,GAAGoe,GAAGziB,EAAE8C,EAAE+O,EAAEnO,EAAE4N,EAAE,OAAOjN,EAAE,CAAC,SAASiN,EAAEjN,GAAGoe,GAAGziB,EAAE8C,EAAE+O,EAAEnO,EAAE4N,EAAE,QAAQjN,EAAE,CAACX,OAAE,EAAO,GAAG,CAAC,EAAUif,GAAT,SAAYte,EAAEuF,GAAG,IAAIsH,EAAEpO,EAAE+O,EAAE7R,EAAE0D,EAAE,CAAC0c,MAAM,EAAEC,KAAK,WAAW,GAAG,EAAExO,EAAE,GAAG,MAAMA,EAAE,GAAG,OAAOA,EAAE,EAAE,EAAEyO,KAAK,GAAGC,IAAI,IAAI,OAAOvgB,EAAE,CAACwgB,KAAKlP,EAAE,GAAGmP,MAAMnP,EAAE,GAAGoP,OAAOpP,EAAE,IAAI,mBAAmB0B,SAAShT,EAAEgT,OAAO2N,UAAU,WAAW,OAAOjf,IAAI,GAAG1B,EAAE,SAASsR,EAAEtR,GAAG,OAAO,SAASsR,GAAG,OAAO,SAAStR,GAAG,GAAGkR,EAAE,MAAM,IAAI0P,UAAU,mCAAmC,KAAKld,GAAG,IAAI,GAAGwN,EAAE,EAAEpO,IAAI+O,EAAE,EAAE7R,EAAE,GAAG8C,EAAE4d,OAAO1gB,EAAE,GAAG8C,EAAE2d,SAAS5O,EAAE/O,EAAE4d,SAAS7O,EAAE9Q,KAAK+B,GAAG,GAAGA,EAAE0d,SAAS3O,EAAEA,EAAE9Q,KAAK+B,EAAE9C,EAAE,KAAK2e,KAAK,OAAO9M,EAAE,OAAO/O,EAAE,EAAE+O,IAAI7R,EAAE,CAAC,EAAEA,EAAE,GAAG6R,EAAErM,QAAQxF,EAAE,IAAI,KAAK,EAAE,KAAK,EAAE6R,EAAE7R,EAAE,MAAM,KAAK,EAAE,OAAO0D,EAAE0c,QAAQ,CAAC5a,MAAMxF,EAAE,GAAG2e,MAAK,GAAI,KAAK,EAAEjb,EAAE0c,QAAQtd,EAAE9C,EAAE,GAAGA,EAAE,CAAC,GAAG,SAAS,KAAK,EAAEA,EAAE0D,EAAE6c,IAAI7R,MAAMhL,EAAE4c,KAAK5R,MAAM,SAAS,QAAQ,MAAMmD,GAAGA,EAAEnO,EAAE4c,MAAMpgB,OAAO,GAAG2R,EAAEA,EAAE3R,OAAO,KAAK,IAAIF,EAAE,IAAI,IAAIA,EAAE,IAAI,CAAC0D,EAAE,EAAE,QAAQ,CAAC,GAAG,IAAI1D,EAAE,MAAM6R,GAAG7R,EAAE,GAAG6R,EAAE,IAAI7R,EAAE,GAAG6R,EAAE,IAAI,CAACnO,EAAE0c,MAAMpgB,EAAE,GAAG,KAAK,CAAC,GAAG,IAAIA,EAAE,IAAI0D,EAAE0c,MAAMvO,EAAE,GAAG,CAACnO,EAAE0c,MAAMvO,EAAE,GAAGA,EAAE7R,EAAE,KAAK,CAAC,GAAG6R,GAAGnO,EAAE0c,MAAMvO,EAAE,GAAG,CAACnO,EAAE0c,MAAMvO,EAAE,GAAGnO,EAAE6c,IAAIlgB,KAAKL,GAAG,KAAK,CAAC6R,EAAE,IAAInO,EAAE6c,IAAI7R,MAAMhL,EAAE4c,KAAK5R,MAAM,SAAS1O,EAAE4J,EAAE7I,KAAKsD,EAAEX,EAAE,CAAC,MAAMW,GAAGrE,EAAE,CAAC,EAAEqE,GAAGvB,EAAE,CAAC,SAASoO,EAAEW,EAAE,CAAC,CAAC,GAAG,EAAE7R,EAAE,GAAG,MAAMA,EAAE,GAAG,MAAM,CAACwF,MAAMxF,EAAE,GAAGA,EAAE,QAAG,EAAO2e,MAAK,EAAG,CAApxB,CAAsxB,CAAC3e,EAAEsR,GAAG,CAAC,CAAC,EAAkFsR,GAAT,WAAc,IAAIve,EAAEpE,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAC4iB,mBAAkB,GAAI,OAAO9G,GAAGta,KAAKqhB,MAAM,MAAMC,GAAGpQ,WAAWqQ,SAASC,KAAK,IAAIlgB,IAAG,SAAS6G,GAAG,IAAIsH,EAAE,SAASA,GAAG,IAAIpO,EAAEoO,EAAE8R,SAAS3e,EAAEwe,kBAAkBjZ,EAAE4W,KAAKtP,EAAEgS,SAAStZ,EAAE4W,KAAK,QAAQ1d,EAAEoO,EAAEgS,eAAU,IAASpgB,OAAE,EAAOA,EAAEqgB,MAAM,EAAE,OAAOjS,EAAE6R,GAAGpQ,YAAYoQ,GAAGnQ,UAAU1B,EAAE,GAAG,EAAUkS,GAAT,WAAc,OAAOrH,GAAGta,KAAKqhB,MAAM,MAAMC,GAAGpQ,WAAWqQ,SAASC,KAAKF,EAAE,EAAUM,GAAT,SAAYhf,GAAG,IAAIuF,EAAEsH,EAAEpO,EAAE+O,EAAE,QAAQ/O,EAAE,MAAMuB,GAAG,QAAQuF,EAAEvF,EAAE8e,YAAO,IAASvZ,GAAG,QAAQsH,EAAEtH,EAAE0Z,sBAAiB,IAASpS,OAAE,EAAOA,EAAEqS,qBAAgB,IAASzgB,EAAEA,EAAEuB,EAAEmf,OAAOxjB,EAAEuR,SAASkS,gBAAgBC,aAAa,SAAS,SAASrf,GAAG,QAAG,IAASA,GAAG,iBAAiBA,EAAE,OAAM,EAAG,IAAI,IAAIsf,KAAKC,OAAOvf,EAAE,CAAC,MAAMA,GAAG,OAAM,CAAE,CAAC,OAAM,CAAG,EAAzG,CAA2GwN,IAAIA,IAAI7R,GAAGuR,SAASkS,gBAAgB3U,aAAa,OAAO+C,EAAE,EAAUoR,GAAT,SAAY5e,EAAEuF,GAAGmS,GAAGta,KAAKqhB,MAAM,IAAI5R,EAAE,CAAC,EAAE,OAAO7M,GAAGuF,IAAIsH,EAAE2S,cAAc,SAASvU,OAAO3H,OAAOC,KAAK,GAAG0H,OAAOjL,EAAE,KAAKiL,OAAO1F,MAAMka,GAAGtE,GAAG0B,GAAG,CAACzB,QAAQvO,IAAI,EAAU6S,GAAT,WAAchB,GAAGrQ,SAAS,CAACsQ,QAAO,EAAGE,QAAQ,CAACc,eAAc,EAAGC,UAAU,KAAK,EAAUliB,GAAT,SAAYsC,EAAEuF,GAAG,YAAO,IAASA,EAAE4L,QAAQnR,IAAImR,QAAQnR,IAAI,SAASA,EAAEuF,GAAG,MAAM,iBAAiBvF,GAAG6f,GAAGta,EAAEua,WAAWC,MAAM,SAASxa,GAAG,OAAOvF,IAAIuF,EAAEya,OAAO,KAAK/jB,MAAMC,QAAQ8D,GAAGA,EAAE4Y,OAAO,SAAS5Y,GAAG,OAAO6f,GAAGta,EAAEua,WAAWC,MAAM,SAASxa,GAAG,OAAOvF,IAAIuF,EAAEya,OAAO,IAAI,KAAKH,GAAG7f,IAAImO,QAAQC,MAAM,oCAAoCnD,OAAOjL,EAAE,OAAM,EAAG,CAA1R,CAA4RA,EAAEuF,IAAI,SAASvF,GAAG,OAAO6f,GAAG7f,EAAEigB,MAAMF,MAAM,SAAS/f,GAAG,MAAM,qBAAqBA,EAAEggB,OAAO,IAAI,CAAxF,CAA0Fza,EAAE,EAAU2a,GAAT,WAAc,IAAIlgB,EAAEuF,EAAE,OAAO,IAAIuK,SAAS,SAASjD,GAAG,IAAIpO,EAAE,SAASA,GAAGA,EAAEkgB,QAAQlgB,EAAEogB,QAAQC,OAAO9e,EAAEvB,EAAEogB,QAAQC,KAAKjS,EAAEpO,EAAEogB,QAAQC,MAAMvZ,GAAGA,IAAI,EAAE9G,EAAEigB,GAAGpQ,YAAYtO,IAAIuF,EAAEmZ,GAAGnQ,UAAU9P,GAAG,GAAG,EAAU0hB,GAAT,WAAc,OAAO,IAAIrQ,SAAS,SAAS9P,EAAEuF,GAAGgZ,KAAKhQ,WAAW,SAAShJ,GAAGvF,EAAEuF,EAAE6a,gBAAgB,GAAG7a,GAAG8a,aAAa,GAAG,EAAUC,GAAT,SAAYtgB,EAAEuF,GAAG,OAAOgb,GAAGnkB,MAAMiB,KAAKzB,UAAU,EAAuO4kB,GAAT,SAAYxgB,EAAEuF,EAAEsH,GAAG,OAAO4T,GAAGrkB,MAAMiB,KAAKzB,UAAU,EAAsV6jB,GAAT,SAAYzf,GAAG,OAAO,IAAI8P,SAAS,SAASvK,EAAEsH,GAAG7M,EAAE0R,MAAM,SAAS1R,GAAG,IAAIvB,EAAE,iBAAiB,MAAMuB,OAAE,EAAOA,EAAEyc,OAAOhe,EAAE,CAACkgB,QAAO,EAAGE,QAAQ7e,EAAEyc,MAAMiC,GAAGrQ,SAAS5P,GAAG8G,EAAE9G,KAAKA,EAAE,CAACkgB,QAAO,EAAGE,QAAQ,MAAMH,GAAGrQ,SAAS5P,GAAGoO,EAAEpO,GAAG,IAAIoT,OAAO,SAAS7R,IAAI,EAAE0gB,GAAG3S,aAAa,4CAA4C9C,OAAOjL,IAAI,IAAIuF,EAAE,CAACoZ,QAAO,EAAGE,QAAQ,MAAMH,GAAGrQ,SAAS9I,GAAGsH,EAAEtH,EAAE,GAAG,GAAG,EAAUob,GAAT,YAAe,EAAE5jB,GAAE4Q,oBAAoB,mBAAmB,CAACiP,oBAAoB,CAACE,QAAQ,CAAC8D,MAAM7jB,GAAE2Q,KAAKyD,QAAQ0P,UAAS,EAAGC,aAAa,qEAAqE1D,IAAI,CAACwD,MAAM7jB,GAAE2Q,KAAKqT,OAAOF,SAAS,0BAA0BG,YAAY,CAACjkB,GAAE8Q,WAAWoT,QAAQrR,OAAO,CAACgR,MAAM7jB,GAAE2Q,KAAKzR,MAAM4kB,SAAS,CAAC,KAAKK,UAAU,CAACN,MAAM7jB,GAAE2Q,KAAKyT,OAAOH,YAAY,CAACjkB,GAAE8Q,WAAWuT,QAAQ,IAAI,OAAON,aAAa,2DAA2DzD,eAAe,CAACuD,MAAM7jB,GAAE2Q,KAAKyD,QAAQ0P,UAAS,EAAGC,aAAa,gJAAgJlC,IAAI,EAAqFyC,GAAT,SAAYrhB,EAAEuF,IAAI,MAAMA,GAAGA,EAAEvF,EAAEnE,UAAU0J,EAAEvF,EAAEnE,QAAQ,IAAI,IAAIgR,EAAE,EAAEpO,EAAE,IAAIxC,MAAMsJ,GAAGsH,EAAEtH,EAAEsH,IAAIpO,EAAEoO,GAAG7M,EAAE6M,GAAG,OAAOpO,CAAC,EAAU6iB,GAAT,SAAYthB,EAAEuF,EAAEsH,EAAEpO,EAAE+O,EAAE7R,EAAE0D,GAAG,IAAI,IAAI4N,EAAEjN,EAAErE,GAAG0D,GAAGkF,EAAE0I,EAAE9L,KAAK,CAAC,MAAMnB,GAAG,YAAY6M,EAAE7M,EAAE,CAACiN,EAAEqN,KAAK/U,EAAEhB,GAAGuL,QAAQ2B,QAAQlN,GAAGmN,KAAKjT,EAAE+O,EAAE,EAAU+T,GAAT,SAAYvhB,GAAG,OAAO,WAAW,IAAIuF,EAAElI,KAAKwP,EAAEjR,UAAU,OAAO,IAAIkU,SAAS,SAASrR,EAAE+O,GAAG,IAAI7R,EAAEqE,EAAE5D,MAAMmJ,EAAEsH,GAAG,SAASxN,EAAEW,GAAGshB,GAAG3lB,EAAE8C,EAAE+O,EAAEnO,EAAE4N,EAAE,OAAOjN,EAAE,CAAC,SAASiN,EAAEjN,GAAGshB,GAAG3lB,EAAE8C,EAAE+O,EAAEnO,EAAE4N,EAAE,QAAQjN,EAAE,CAACX,OAAE,EAAO,GAAG,CAAC,EAAUmiB,GAAT,SAAYxhB,EAAEuF,GAAG,OAAO,SAASvF,GAAG,GAAG/D,MAAMC,QAAQ8D,GAAG,OAAOA,CAAC,CAAxC,CAA0CA,IAAI,SAASA,EAAEuF,GAAG,IAAIsH,EAAE,MAAM7M,EAAE,KAAK,oBAAoB2O,QAAQ3O,EAAE2O,OAAO2N,WAAWtc,EAAE,cAAc,GAAG,MAAM6M,EAAE,CAAC,IAAIpO,EAAE+O,EAAE7R,EAAE,GAAG0D,GAAE,EAAG4N,GAAE,EAAG,IAAI,IAAIJ,EAAEA,EAAEnQ,KAAKsD,KAAKX,GAAGZ,EAAEoO,EAAEsP,QAAQ7B,QAAQ3e,EAAEK,KAAKyC,EAAE0C,QAAQoE,GAAG5J,EAAEE,SAAS0J,GAAGlG,GAAE,GAAI,CAAC,MAAMW,GAAGiN,GAAE,EAAGO,EAAExN,CAAC,SAAS,IAAIX,GAAG,MAAMwN,EAAEwP,QAAQxP,EAAEwP,QAAQ,SAAS,GAAGpP,EAAE,MAAMO,CAAC,CAAC,CAAC,OAAO7R,CAAC,CAAC,CAArT,CAAuTqE,EAAEuF,IAAI,SAASvF,EAAEuF,GAAG,GAAGvF,EAAE,CAAC,GAAG,iBAAiBA,EAAE,OAAOqhB,GAAGrhB,EAAEuF,GAAG,IAAIsH,EAAEvQ,OAAOC,UAAUF,SAASK,KAAKsD,GAAGd,MAAM,GAAG,GAAG,MAAM,WAAW2N,GAAG7M,EAAEiM,cAAcY,EAAE7M,EAAEiM,YAAYP,MAAM,QAAQmB,GAAG,QAAQA,EAAE5Q,MAAMwlB,KAAK5U,GAAG,cAAcA,GAAG,2CAA2CkN,KAAKlN,GAAGwU,GAAGrhB,EAAEuF,QAAG,CAAM,CAAC,CAA7R,CAA+RvF,EAAEuF,IAAI,WAAW,MAAM,IAAIgX,UAAU,6IAA6I,CAA5K,EAA+K,EAAUmF,GAAT,SAAY1hB,EAAEuF,GAAG,IAAIsH,EAAEpO,EAAE+O,EAAE7R,EAAE0D,EAAE,CAAC0c,MAAM,EAAEC,KAAK,WAAW,GAAG,EAAExO,EAAE,GAAG,MAAMA,EAAE,GAAG,OAAOA,EAAE,EAAE,EAAEyO,KAAK,GAAGC,IAAI,IAAI,OAAOvgB,EAAE,CAACwgB,KAAKlP,EAAE,GAAGmP,MAAMnP,EAAE,GAAGoP,OAAOpP,EAAE,IAAI,mBAAmB0B,SAAShT,EAAEgT,OAAO2N,UAAU,WAAW,OAAOjf,IAAI,GAAG1B,EAAE,SAASsR,EAAEtR,GAAG,OAAO,SAASsR,GAAG,OAAO,SAAStR,GAAG,GAAGkR,EAAE,MAAM,IAAI0P,UAAU,mCAAmC,KAAKld,GAAG,IAAI,GAAGwN,EAAE,EAAEpO,IAAI+O,EAAE,EAAE7R,EAAE,GAAG8C,EAAE4d,OAAO1gB,EAAE,GAAG8C,EAAE2d,SAAS5O,EAAE/O,EAAE4d,SAAS7O,EAAE9Q,KAAK+B,GAAG,GAAGA,EAAE0d,SAAS3O,EAAEA,EAAE9Q,KAAK+B,EAAE9C,EAAE,KAAK2e,KAAK,OAAO9M,EAAE,OAAO/O,EAAE,EAAE+O,IAAI7R,EAAE,CAAC,EAAEA,EAAE,GAAG6R,EAAErM,QAAQxF,EAAE,IAAI,KAAK,EAAE,KAAK,EAAE6R,EAAE7R,EAAE,MAAM,KAAK,EAAE,OAAO0D,EAAE0c,QAAQ,CAAC5a,MAAMxF,EAAE,GAAG2e,MAAK,GAAI,KAAK,EAAEjb,EAAE0c,QAAQtd,EAAE9C,EAAE,GAAGA,EAAE,CAAC,GAAG,SAAS,KAAK,EAAEA,EAAE0D,EAAE6c,IAAI7R,MAAMhL,EAAE4c,KAAK5R,MAAM,SAAS,QAAQ,MAAMmD,GAAGA,EAAEnO,EAAE4c,MAAMpgB,OAAO,GAAG2R,EAAEA,EAAE3R,OAAO,KAAK,IAAIF,EAAE,IAAI,IAAIA,EAAE,IAAI,CAAC0D,EAAE,EAAE,QAAQ,CAAC,GAAG,IAAI1D,EAAE,MAAM6R,GAAG7R,EAAE,GAAG6R,EAAE,IAAI7R,EAAE,GAAG6R,EAAE,IAAI,CAACnO,EAAE0c,MAAMpgB,EAAE,GAAG,KAAK,CAAC,GAAG,IAAIA,EAAE,IAAI0D,EAAE0c,MAAMvO,EAAE,GAAG,CAACnO,EAAE0c,MAAMvO,EAAE,GAAGA,EAAE7R,EAAE,KAAK,CAAC,GAAG6R,GAAGnO,EAAE0c,MAAMvO,EAAE,GAAG,CAACnO,EAAE0c,MAAMvO,EAAE,GAAGnO,EAAE6c,IAAIlgB,KAAKL,GAAG,KAAK,CAAC6R,EAAE,IAAInO,EAAE6c,IAAI7R,MAAMhL,EAAE4c,KAAK5R,MAAM,SAAS1O,EAAE4J,EAAE7I,KAAKsD,EAAEX,EAAE,CAAC,MAAMW,GAAGrE,EAAE,CAAC,EAAEqE,GAAGvB,EAAE,CAAC,SAASoO,EAAEW,EAAE,CAAC,CAAC,GAAG,EAAE7R,EAAE,GAAG,MAAMA,EAAE,GAAG,MAAM,CAACwF,MAAMxF,EAAE,GAAGA,EAAE,QAAG,EAAO2e,MAAK,EAAG,CAApxB,CAAsxB,CAAC3e,EAAEsR,GAAG,CAAC,CAAC,EAAU0U,GAAT,SAAY3hB,EAAEuF,GAAG,OAAOqc,GAAGxlB,MAAMiB,KAAKzB,UAAU,EAAseimB,GAAT,SAAY7hB,GAAG,OAAO8hB,GAAG1lB,MAAMiB,KAAKzB,UAAU,EAA48GmmB,GAAT,SAAY/hB,GAAG,OAAO,SAASuF,GAAG,OAAO,IAAIvF,EAAsGgiB,GAAGzc,EAAE0c,KAAK,IAAIC,GAAGliB,GAAS,CAAC,EAA4amiB,GAAT,SAAYniB,EAAEuF,GAAG,OAAO,SAASsH,GAAG,GAAG,mBAAmB7M,EAAE,MAAM,IAAIuc,UAAU,8DAA8D,OAAO1P,EAAEoV,KAAK,IAAIG,GAAGpiB,EAAEuF,GAAG,CAAC,EAA8+B8c,GAAT,WAAc,OAAM,EAAGC,GAAExT,gBAAgB,QAAQyT,GAAG,EAAUC,GAAT,SAAYxiB,EAAEuF,GAAG8c,KAAKhU,SAAS,CAACoU,YAAYziB,EAAE0iB,qBAAqBnd,GAAG,EAAUod,GAAT,SAAY3iB,EAAEuF,EAAEsH,GAAG,IAAIpO,EAAE,MAAMoO,EAAEA,EAAE+V,GAAG,OAAOrF,GAAG,GAAGtS,OAAOuQ,GAAG,mBAAmBvQ,OAAOjL,EAAE,OAAOiL,OAAOxM,GAAG,CAACgf,OAAOlY,EAAEkY,OAAOU,OAAO,MAAM/C,QAAQ,CAAC,eAAe,sBAAsByH,KAAKd,GAAG,IAAIc,KAAKV,IAAI,SAASniB,GAAG,OAAOA,CAAC,IAAI,EAAU8iB,GAAT,SAAY9iB,EAAEuF,GAAG,OAAOgY,GAAG,GAAGtS,OAAOuQ,GAAG,UAAU,CAACiC,OAAOlY,EAAEkY,OAAOU,OAAO,OAAO/C,QAAQ,CAAC,eAAe,oBAAoBE,KAAKtb,GAAG,EAAU+iB,GAAT,SAAY/iB,EAAEuF,EAAEsH,GAAG,OAAO0Q,GAAG,GAAGtS,OAAOuQ,GAAG,WAAWvQ,OAAOjL,GAAG,CAACyd,OAAO5Q,EAAE4Q,OAAOU,OAAO,OAAO/C,QAAQ,CAAC,eAAe,oBAAoBE,KAAK/V,GAAG,EAA+Iyd,GAAT,SAAYhjB,GAAG,MAAM,CAACijB,KAAKjjB,EAAEijB,KAAKjD,QAAQhgB,EAAEggB,QAAQtU,KAAK1L,EAAE0L,KAAK,EAAUwX,GAAT,WAAc,OAAO3F,GAAG,GAAGtS,OAAOuQ,GAAG,eAAeqH,KAAKV,IAAI,SAASniB,GAAG,OAAOA,EAAEyc,KAAK0G,QAAQlkB,IAAI+jB,GAAG,KAAKH,KAAKd,GAAG,GAAG,EAAUqB,GAAT,SAAYpjB,GAAG,MAAM,CAACijB,KAAKjjB,EAAEijB,KAAKjD,QAAQhgB,EAAEggB,QAAQ,EAAUqD,GAAT,WAAc,IAAIrjB,EAAEpE,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,OAAO2hB,GAAG,GAAGtS,OAAOuQ,GAAG,cAAcxb,EAAE,QAAQA,EAAE,KAAK6iB,KAAKV,IAAI,SAASniB,GAAG,OAAOA,EAAEyc,KAAK0G,QAAQlkB,IAAImkB,GAAG,KAAKP,KAAKd,GAAG,GAAG,EAAlikD1iB,EAAEZ,EAAEwO,GAAG5N,EAAEK,EAAEuN,EAAE,CAACqW,kBAAkB,kBAAIhG,IAAGiG,UAAU,kBAAIC,IAAGC,YAAY,kBAAIC,IAAGC,cAAc,kBAAI7F,IAAG8F,oBAAoB,kBAAIC,IAAGC,iBAAiB,kBAAIpE,IAAGqE,iBAAiB,kBAAI/F,IAAGgG,iCAAiC,kBAAIpB,IAAGqB,4BAA4B,kBAAI/F,IAAGgG,oBAAoB,kBAAIvC,IAAGwC,YAAY,kBAAI1I,IAAG2I,oBAAoB,kBAAIvG,IAAGwG,eAAe,kBAAItG,IAAGuG,eAAe,kBAAI/F,IAAGgG,aAAa,kBAAIlB,IAAGmB,gBAAgB,kBAAItE,IAAGuE,mBAAmB,kBAAItE,IAAGuE,gBAAgB,kBAAI3F,IAAG4F,gBAAgB,kBAAIC,IAAGC,cAAc,kBAAIxC,IAAGyC,cAAc,kBAAI5B,IAAG6B,oBAAoB,kBAAIpC,IAAGqC,QAAQ,kBAAIhK,IAAGiK,aAAa,kBAAI9J,IAAG+J,uBAAuB,kBAAI3H,IAAG4H,mBAAmB,kBAAIvG,IAAGwG,YAAY,kBAAI5J,IAAG6J,UAAU,kBAAIvC,IAAGwC,gBAAgB,kBAAIzI,IAAG0I,gBAAgB,kBAAI/C,IAAGgD,mBAAmB,kBAAIlF,IAAGmF,gBAAgB,kBAAIzG,IAAG0G,kBAAkB,kBAAIlF,IAAGmF,eAAe,kBAAIhF,IAAGiF,iBAAiB,kBAAIxC,IAAGyC,kBAAkB,kBAAI7C,IAAG8C,YAAY,kBAAI/C,IAAGgD,cAAc,kBAAIroB,MAAK,IAA04QsoB,GAAEC,GAAx4QjmB,GAAE,SAASuF,EAAEsH,GAAG,OAAO7M,GAAE1D,OAAO4pB,gBAAgB,GAACC,UAAU,IAAclqB,QAAO,SAAS+D,EAAEuF,GAAGvF,EAAEmmB,UAAU5gB,CAAC,GAAG,SAASvF,EAAEuF,GAAG,IAAI,IAAIsH,KAAKtH,EAAEA,EAAE/J,eAAeqR,KAAK7M,EAAE6M,GAAGtH,EAAEsH,GAAG,EAAE7M,GAAEuF,EAAEsH,EAAE,EAA4KpO,IAAE,EAAG+O,GAAE,CAACsC,aAAQ,EAAWsW,0CAAsCpmB,GAAGA,IAAG,IAAK+D,OAAOsiB,MAAM5nB,GAAEuB,CAAC,EAAMomB,4CAAwC,OAAO3nB,EAAC,GAAyD8F,GAAE,CAAC+hB,QAAO,EAAGnK,KAAK,SAASnc,GAAG,EAAEoO,MAAM,SAASpO,GAAG,GAAGwN,GAAE4Y,sCAAsC,MAAMpmB,EAAErE,EAAEqE,EAAE,EAAE0d,SAAS,WAAW,GAAGpZ,GAAoBrI,MAAMC,SAAS,SAAS8D,GAAG,OAAOA,GAAG,iBAAiBA,EAAEnE,MAAM,EAA2D2M,GAAE,eAAoBxI,EAAT,SAAWA,GAAG,OAAO+D,MAAMrH,KAAKW,MAAMA,KAAKmT,QAAQxQ,EAAEA,EAAEnE,OAAO,4CAA4CmE,EAAEf,KAAK,SAASe,EAAEuF,GAAG,OAAOA,EAAE,EAAE,KAAKvF,EAAE3D,UAAU,IAAIM,KAAK,QAAQ,GAAGU,KAAKqO,KAAK,sBAAsBrO,KAAKuS,OAAO5P,EAAE3C,IAAI,EAAC,OAAO2C,EAAEzD,UAAUD,OAAO8L,OAAOrE,MAAMxH,WAAWyD,CAAC,CAAhS,GAAoSF,GAAE0I,GAAEpJ,GAAE,eAAoBY,EAAT,SAAWA,GAAG3C,KAAKipB,QAAO,EAAGjpB,KAAKkpB,iBAAiB,KAAKlpB,KAAKmpB,eAAe,KAAKxmB,IAAI3C,KAAKopB,kBAAiB,EAAGppB,KAAKqpB,aAAa1mB,EAAE,EAAC,OAAOA,EAAEzD,UAAU8jB,YAAY,WAAW,IAAI9a,EAAE,IAAIlI,KAAKipB,OAAO,CAAC,IAAI7nB,EAAEpB,KAAKmQ,EAAE/O,EAAE8nB,iBAAiB5qB,EAAE8C,EAAEgoB,iBAAiBpnB,EAAEZ,EAAEioB,aAAazZ,EAAExO,EAAE+nB,eAAe,GAAGnpB,KAAKipB,QAAO,EAAGjpB,KAAKkpB,iBAAiB,KAAKlpB,KAAKmpB,eAAe,KAAKhZ,EAAAA,EAAaxN,GAAEwN,EAAEmZ,OAAOtpB,WAAW,GAAG,OAAOmQ,EAAE,IAAI,IAAIjJ,EAAE,EAAEA,EAAEiJ,EAAE3R,SAAS0I,EAAEiJ,EAAEjJ,GAAGoiB,OAAOtpB,MAAM,GAAGwP,EAAExN,GAAG,CAAC1D,IAAI0B,KAAKqpB,kBAAa,GAAQ,IAAIrnB,EAAE3C,KAAKW,KAAK,CAAC,MAAM2C,GAAGuF,EAAEvF,EAAAA,EAAaF,IAAEJ,EAAEM,EAAE4P,QAAQ,CAAC5P,EAAE,CAAC,CAAC,GAAGsE,GAAE2I,GAAG,CAAC1I,GAAG,EAAE,IAAI,IAAIiE,EAAEyE,EAAEpR,SAAS0I,EAAEiE,GAAG,CAAC,IAAIpJ,EAAE6N,EAAE1I,GAAG,GAAG9E,EAAEL,GAAG,IAAIA,EAAEihB,aAAa,CAAC,MAAMrgB,GAAGuF,EAAEA,GAAG,GAAGvF,EAAAA,EAAaF,IAAEyF,EAAEA,EAAE0F,OAAOvL,EAAEM,EAAE4P,SAASrK,EAAEvJ,KAAKgE,EAAE,CAAC,CAAC,CAAC,GAAGuF,EAAE,MAAM,IAAIzF,GAAEyF,EAAE,CAAC,EAAEvF,EAAEzD,UAAU4S,IAAI,SAAS5J,GAAG,IAAIsH,EAAEtH,EAAE,IAAIA,EAAE,OAAOvF,EAAE4mB,MAAM,YAAcrhB,IAAAA,EAAAA,YAAP,EAAOA,IAAG,IAAI,WAAWsH,EAAE,IAAI7M,EAAEuF,GAAG,IAAI,SAAS,GAAGsH,IAAIxP,MAAMwP,EAAEyZ,QAAQ,mBAAmBzZ,EAAEwT,YAAY,OAAOxT,EAAE,GAAGxP,KAAKipB,OAAO,OAAOzZ,EAAEwT,cAAcxT,EAAE,IAAKA,EAAAA,EAAa7M,GAAG,CAAC,IAAIvB,EAAEoO,GAAGA,EAAE,IAAI7M,GAAGwmB,eAAe,CAAC/nB,EAAE,CAAC,MAAM,QAAQ,MAAM,IAAIsF,MAAM,yBAAyBwB,EAAE,2BAA2B,IAAIiI,EAAEX,EAAE0Z,iBAAiB,GAAG,OAAO/Y,EAAEX,EAAE0Z,iBAAiBlpB,UAAU,GAAGmQ,EAAAA,EAAaxN,GAAE,CAAC,GAAGwN,IAAInQ,KAAK,OAAOwP,EAAEA,EAAE0Z,iBAAiB,CAAC/Y,EAAEnQ,KAAK,KAAK,CAAC,IAAI,IAAImQ,EAAE1J,QAAQzG,MAAM,OAAOwP,EAAEW,EAAExR,KAAKqB,KAAK,CAAC,IAAI1B,EAAE0B,KAAKmpB,eAAe,OAAO,OAAO7qB,EAAE0B,KAAKmpB,eAAe,CAAC3Z,GAAGlR,EAAEK,KAAK6Q,GAAGA,CAAC,EAAE7M,EAAEzD,UAAUoqB,OAAO,SAAS3mB,GAAG,IAAIuF,EAAElI,KAAKmpB,eAAe,GAAGjhB,EAAE,CAAC,IAAIsH,EAAEtH,EAAEzB,QAAQ9D,IAAI,IAAI6M,GAAGtH,EAAEiU,OAAO3M,EAAE,EAAE,CAAC,EAAE7M,EAAE4mB,MAAM,SAAS5mB,GAAG,OAAOA,EAAEsmB,QAAO,EAAGtmB,CAAC,CAAhC,CAAkC,IAAIA,GAAGA,CAAC,CAAp+C,GAA0kDsC,GAAmB,mBAAmBqM,OAAOA,OAAO,gBAAgB,kBAAkBpP,KAAKsnB,SAAYloB,GAAE,SAASqB,GAAG,SAAS6M,EAAEtH,EAAE9G,EAAE+O,GAAG,IAAI7R,EAAEqE,EAAEtD,KAAKW,OAAOA,KAAK,OAAO1B,EAAEmrB,eAAe,KAAKnrB,EAAEorB,iBAAgB,EAAGprB,EAAEqrB,oBAAmB,EAAGrrB,EAAEsrB,WAAU,EAAGrrB,UAAUC,QAAQ,KAAK,EAAEF,EAAEurB,YAAY3iB,GAAE,MAAM,KAAK,EAAE,IAAIgB,EAAE,CAAC5J,EAAEurB,YAAY3iB,GAAE,KAAK,CAAC,GAAG,iBAAiBgB,EAAE,CAAE,EAADA,EAAasH,IAAGlR,EAAEqrB,mBAAmBzhB,EAAEyhB,mBAAmBrrB,EAAEurB,YAAY3hB,EAAEA,EAAE4J,IAAIxT,KAAKA,EAAEqrB,oBAAmB,EAAGrrB,EAAEurB,YAAY,IAAI1oB,GAAE7C,EAAE4J,IAAI,KAAK,CAAC,QAAQ5J,EAAEqrB,oBAAmB,EAAGrrB,EAAEurB,YAAY,IAAI1oB,GAAE7C,EAAE4J,EAAE9G,EAAE+O,GAAG,OAAO7R,CAAC,CAAC,OAAO4J,EAAEsH,EAAE7M,GAAG6M,EAAEtQ,UAAU+F,IAAG,WAAW,OAAOjF,IAAI,EAAEwP,EAAEzE,OAAO,SAASpI,EAAEuF,EAAE9G,GAAG,IAAI+O,EAAE,IAAIX,EAAE7M,EAAEuF,EAAE9G,GAAG,OAAO+O,EAAEwZ,oBAAmB,EAAGxZ,CAAC,EAAEX,EAAEtQ,UAAU4f,KAAK,SAASnc,GAAG3C,KAAK4pB,WAAW5pB,KAAK8pB,MAAMnnB,EAAE,EAAE6M,EAAEtQ,UAAU6R,MAAM,SAASpO,GAAG3C,KAAK4pB,YAAY5pB,KAAK4pB,WAAU,EAAG5pB,KAAK+pB,OAAOpnB,GAAG,EAAE6M,EAAEtQ,UAAUmhB,SAAS,WAAWrgB,KAAK4pB,YAAY5pB,KAAK4pB,WAAU,EAAG5pB,KAAKgqB,YAAY,EAAExa,EAAEtQ,UAAU8jB,YAAY,WAAWhjB,KAAKipB,SAASjpB,KAAK4pB,WAAU,EAAGjnB,EAAEzD,UAAU8jB,YAAY3jB,KAAKW,MAAM,EAAEwP,EAAEtQ,UAAU4qB,MAAM,SAASnnB,GAAG3C,KAAK6pB,YAAY/K,KAAKnc,EAAE,EAAE6M,EAAEtQ,UAAU6qB,OAAO,SAASpnB,GAAG3C,KAAK6pB,YAAY9Y,MAAMpO,GAAG3C,KAAKgjB,aAAa,EAAExT,EAAEtQ,UAAU8qB,UAAU,WAAWhqB,KAAK6pB,YAAYxJ,WAAWrgB,KAAKgjB,aAAa,EAAExT,EAAEtQ,UAAU+qB,uBAAuB,WAAW,IAAItnB,EAAE3C,KAAKkpB,iBAAiB,OAAOlpB,KAAKkpB,iBAAiB,KAAKlpB,KAAKgjB,cAAchjB,KAAKipB,QAAO,EAAGjpB,KAAK4pB,WAAU,EAAG5pB,KAAKkpB,iBAAiBvmB,EAAE3C,IAAI,EAAEwP,CAAC,CAAjzC,CAAmzCzN,IAAGZ,GAAE,SAASwB,OAAYvB,EAAT,SAAW8G,EAAE9G,EAAE+O,EAAE7R,GAAG,IAAI0D,EAAE4N,EAAEjN,EAAEtD,KAAKW,OAAOA,KAAK4P,EAAEsa,kBAAkBhiB,EAAE,IAAIjB,EAAE2I,EAAE,OAAOJ,EAAEpO,GAAGY,EAAEZ,EAAEA,IAAIY,EAAEZ,EAAE0d,KAAK3O,EAAE/O,EAAE2P,MAAMzS,EAAE8C,EAAEif,SAASjf,IAAI8F,KAAIsI,GAAGvI,EAAEhI,OAAO8L,OAAO3J,IAAI4hB,cAAcpT,EAAEkC,IAAI7K,EAAE+b,YAAYjM,KAAK9P,IAAIA,EAAE+b,YAAYpT,EAAEoT,YAAYjM,KAAKnH,KAAKA,EAAEua,SAASljB,EAAE2I,EAAEka,MAAM9nB,EAAE4N,EAAEma,OAAO5Z,EAAEP,EAAEoa,UAAU1rB,EAAEsR,CAAC,EAAC,OAAO1H,EAAE9G,EAAEuB,GAAGvB,EAAElC,UAAU4f,KAAK,SAASnc,GAAG,IAAI3C,KAAK4pB,WAAW5pB,KAAK8pB,MAAM,CAAC,IAAI5hB,EAAElI,KAAKkqB,kBAAkB/Z,GAAE4Y,uCAAuC7gB,EAAEyhB,mBAAmB3pB,KAAKoqB,gBAAgBliB,EAAElI,KAAK8pB,MAAMnnB,IAAI3C,KAAKgjB,cAAchjB,KAAKqqB,aAAarqB,KAAK8pB,MAAMnnB,EAAE,CAAC,EAAEvB,EAAElC,UAAU6R,MAAM,SAASpO,GAAG,IAAI3C,KAAK4pB,UAAU,CAAC,IAAI1hB,EAAElI,KAAKkqB,kBAAkB1a,EAAEW,GAAE4Y,sCAAsC,GAAG/oB,KAAK+pB,OAAOva,GAAGtH,EAAEyhB,oBAAoB3pB,KAAKoqB,gBAAgBliB,EAAElI,KAAK+pB,OAAOpnB,GAAG3C,KAAKgjB,gBAAgBhjB,KAAKqqB,aAAarqB,KAAK+pB,OAAOpnB,GAAG3C,KAAKgjB,oBAAoB,GAAG9a,EAAEyhB,mBAAmBna,GAAGtH,EAAEuhB,eAAe9mB,EAAEuF,EAAEwhB,iBAAgB,GAAIprB,EAAEqE,GAAG3C,KAAKgjB,kBAAkB,CAAC,GAAGhjB,KAAKgjB,cAAcxT,EAAE,MAAM7M,EAAErE,EAAEqE,EAAE,CAAC,CAAC,EAAEvB,EAAElC,UAAUmhB,SAAS,WAAW,IAAI1d,EAAE3C,KAAK,IAAIA,KAAK4pB,UAAU,CAAC,IAAI1hB,EAAElI,KAAKkqB,kBAAkB,GAAGlqB,KAAKgqB,UAAU,CAAC,IAAIxa,EAAE,WAAW,OAAO7M,EAAEqnB,UAAU3qB,KAAKsD,EAAEwnB,SAAS,EAAEha,GAAE4Y,uCAAuC7gB,EAAEyhB,oBAAoB3pB,KAAKoqB,gBAAgBliB,EAAEsH,GAAGxP,KAAKgjB,gBAAgBhjB,KAAKqqB,aAAa7a,GAAGxP,KAAKgjB,cAAc,MAAMhjB,KAAKgjB,aAAa,CAAC,EAAE5hB,EAAElC,UAAUmrB,aAAa,SAAS1nB,EAAEuF,GAAG,IAAIvF,EAAEtD,KAAKW,KAAKmqB,SAASjiB,EAAE,CAAC,MAAMvF,GAAG,GAAG3C,KAAKgjB,cAAc7S,GAAE4Y,sCAAsC,MAAMpmB,EAAErE,EAAEqE,EAAE,CAAC,EAAEvB,EAAElC,UAAUkrB,gBAAgB,SAASznB,EAAEuF,EAAEsH,GAAG,IAAIW,GAAE4Y,sCAAsC,MAAM,IAAIriB,MAAM,YAAY,IAAIwB,EAAE7I,KAAKW,KAAKmqB,SAAS3a,EAAE,CAAC,MAAMtH,GAAG,OAAOiI,GAAE4Y,uCAAuCpmB,EAAE8mB,eAAevhB,EAAEvF,EAAE+mB,iBAAgB,GAAG,IAAKprB,EAAE4J,IAAG,EAAG,CAAC,OAAM,CAAE,EAAE9G,EAAElC,UAAUmqB,aAAa,WAAW,IAAI1mB,EAAE3C,KAAKkqB,kBAAkBlqB,KAAKmqB,SAAS,KAAKnqB,KAAKkqB,kBAAkB,KAAKvnB,EAAEqgB,aAAa,EAAE5hB,CAAC,CAAz0D,CAA20DE,IAAGgpB,GAAmB,mBAAmBhZ,QAAQA,OAAOiZ,YAAY,eAA6ClpB,GAAE,eAAoBsB,EAAT,SAAWA,GAAG3C,KAAKwqB,WAAU,EAAG7nB,IAAI3C,KAAKyqB,WAAW9nB,EAAE,EAAC,OAAOA,EAAEzD,UAAU0lB,KAAK,SAAS1c,GAAG,IAAIsH,EAAE,IAAI7M,EAAE,OAAO6M,EAAEkb,OAAO1qB,KAAKwP,EAAEmb,SAASziB,EAAEsH,CAAC,EAAE7M,EAAEzD,UAAUgS,UAAU,SAASvO,EAAEuF,EAAEsH,GAAG,IAAIpO,EAAEpB,KAAK2qB,SAASrsB,EAAE,SAASqE,EAAEuF,EAAEsH,GAAG,GAAG7M,EAAE,CAAC,GAAGA,EAAAA,EAAarB,IAAE,OAAOqB,EAAE,GAAGA,EAAEsC,IAAG,OAAOtC,EAAEsC,KAAI,CAAC,OAAOtC,GAAGuF,GAAGsH,EAAE,IAAIlO,GAAEqB,EAAEuF,EAAEsH,GAAG,IAAIlO,GAAE4F,GAAE,CAA3G,CAA6GvE,EAAEuF,EAAEsH,GAAG,GAAGpO,EAAE9C,EAAEwT,IAAI1Q,EAAE/B,KAAKf,EAAE0B,KAAK0qB,SAASpsB,EAAEwT,IAAI9R,KAAK0qB,QAAQva,GAAE4Y,wCAAwCzqB,EAAEqrB,mBAAmB3pB,KAAKyqB,WAAWnsB,GAAG0B,KAAK4qB,cAActsB,IAAI6R,GAAE4Y,uCAAuCzqB,EAAEqrB,qBAAqBrrB,EAAEqrB,oBAAmB,EAAGrrB,EAAEorB,iBAAiB,MAAMprB,EAAEmrB,eAAe,OAAOnrB,CAAC,EAAEqE,EAAEzD,UAAU0rB,cAAc,SAASjoB,GAAG,IAAI,OAAO3C,KAAKyqB,WAAW9nB,EAAE,CAAC,MAAMuF,GAAGiI,GAAE4Y,wCAAwCpmB,EAAE+mB,iBAAgB,EAAG/mB,EAAE8mB,eAAevhB,GAAG,SAASvF,GAAG,KAAKA,GAAG,CAAC,IAAIuF,EAAEvF,EAAE6M,EAAEtH,EAAE+gB,OAAO7nB,EAAE8G,EAAE2hB,YAAY1Z,EAAEjI,EAAE0hB,UAAU,GAAGpa,GAAGW,EAAE,OAAM,EAAGxN,EAAEvB,GAAGA,EAAAA,EAAaE,IAAEF,EAAE,IAAI,CAAC,OAAM,CAAE,CAA1H,CAA4HuB,GAAGA,EAAEoO,MAAM7I,GAAG4I,QAAQmB,KAAK/J,EAAE,CAAC,EAAEvF,EAAEzD,UAAUuO,QAAQ,SAAS9K,EAAEuF,GAAG,IAAIsH,EAAExP,KAAK,OAAO,IAAIkI,EAAEsK,EAAEtK,KAAK,SAASA,EAAE9G,GAAG,IAAI+O,EAAEA,EAAEX,EAAE0B,WAAW,SAAShJ,GAAG,IAAIvF,EAAEuF,EAAE,CAAC,MAAMvF,GAAGvB,EAAEuB,GAAGwN,GAAGA,EAAE6S,aAAa,CAAC,GAAG5hB,EAAE8G,EAAE,GAAG,EAAEvF,EAAEzD,UAAUurB,WAAW,SAAS9nB,GAAG,IAAIuF,EAAElI,KAAK0qB,OAAO,OAAOxiB,GAAGA,EAAEgJ,UAAUvO,EAAE,EAAEA,EAAEzD,UAAUorB,IAAG,WAAW,OAAOtqB,IAAI,EAAE2C,EAAEzD,UAAUsmB,KAAK,WAAW,IAAI,IAAI7iB,EAAE,GAAGuF,EAAE,EAAEA,EAAE3J,UAAUC,OAAO0J,IAAIvF,EAAEuF,GAAG3J,UAAU2J,GAAG,OAAO,IAAIvF,EAAEnE,OAAOwB,MAAM,KAAKwP,EAAE7M,GAAGnE,OAAOyM,EAAE,IAAIuE,EAAEhR,OAAOgR,EAAE,GAAG,SAAS7M,GAAG,OAAO6M,EAAE8C,QAAQ,SAAS3P,EAAEuF,GAAG,OAAOA,EAAEvF,EAAE,GAAGA,EAAE,GAAG3C,MAAM,IAAIwP,CAAC,EAAE7M,EAAEzD,UAAU2rB,UAAU,SAASloB,GAAG,IAAIuF,EAAElI,KAAK,OAAO,IAAI2C,EAAE6P,EAAE7P,KAAK,SAASA,EAAE6M,GAAG,IAAIpO,EAAE8G,EAAEgJ,WAAW,SAASvO,GAAG,OAAOvB,EAAEuB,CAAC,IAAI,SAASA,GAAG,OAAO6M,EAAE7M,EAAE,IAAI,WAAW,OAAOA,EAAEvB,EAAE,GAAG,GAAG,EAAEuB,EAAEoI,OAAO,SAAS7C,GAAG,OAAO,IAAIvF,EAAEuF,EAAE,EAAEvF,CAAC,CAAroD,GAA+uDmoB,GAAE,iBAAiBC,EAAAA,GAAQA,EAAAA,GAAQA,EAAAA,EAAO9rB,SAASA,QAAQ8rB,EAAAA,EAAWC,GAAE,iBAAiBrd,MAAMA,MAAMA,KAAK1O,SAASA,QAAQ0O,KAAWsd,IAAGH,IAAGE,IAAGE,SAAS,cAATA,IAA2B5Z,OAAW6Z,GAAElsB,OAAOC,UAAUksB,GAAED,GAAEhtB,eAAektB,GAAEF,GAAEnsB,SAASssB,GAAEL,GAAEA,GAAE1Z,iBAAY,EAAWvM,GAAE/F,OAAOC,UAAUF,SAAausB,GAAEN,GAAEA,GAAE1Z,iBAAY,EAA6Qia,IAAG7C,GAAE1pB,OAAOwsB,eAAe7C,GAAE3pB,OAAO,SAAS0D,GAAG,OAAOgmB,GAAEC,GAAEjmB,GAAG,GAAeyI,GAAE8f,SAAShsB,UAAUwsB,GAAEzsB,OAAOC,UAAUysB,GAAEvgB,GAAEpM,SAAS4sB,GAAEF,GAAEvtB,eAAe0tB,GAAEF,GAAEtsB,KAAKJ,QAAc+e,GAAE,SAASrb,GAAG,IAAI,SAASA,GAAG,OAAO,MAAMA,GAAG,iBAAiBA,CAAC,CAA9C,CAAgDA,IAAI,mBAAhf,SAASA,GAAG,OAAO,MAAMA,OAAE,IAASA,EAAE,qBAAqB,gBAAgB4oB,IAAGA,MAAKtsB,OAAO0D,GAAG,SAASA,GAAG,IAAIuF,EAAEkjB,GAAE/rB,KAAKsD,EAAE2oB,IAAG9b,EAAE7M,EAAE2oB,IAAG,IAAI3oB,EAAE2oB,SAAG,EAAO,IAAIlqB,GAAE,CAAE,CAAC,MAAMuB,GAAG,CAAC,IAAIwN,EAAEkb,GAAEhsB,KAAKsD,GAAG,OAAOvB,IAAI8G,EAAEvF,EAAE2oB,IAAG9b,SAAS7M,EAAE2oB,KAAInb,CAAC,CAA1H,CAA4HxN,GAAG,SAASA,GAAG,OAAOqC,GAAE3F,KAAKsD,EAAE,CAA5B,CAA8BA,EAAE,CAAuQmpB,CAAEnpB,GAAG,OAAM,EAAG,IAAIuF,EAAEsjB,GAAE7oB,GAAG,GAAG,OAAOuF,EAAE,OAAM,EAAG,IAAIsH,EAAEoc,GAAEvsB,KAAK6I,EAAE,gBAAgBA,EAAE0G,YAAY,MAAM,mBAAmBY,GAAGA,EAAAA,EAAaA,IAAGmc,GAAEtsB,KAAKmQ,IAAIqc,EAAC,EAAMnsB,GAAEsC,EAAE,KAAK6d,GAAE7d,EAAE,KAAKijB,GAAEjjB,EAAE,MAAM,EAAEijB,GAAEzT,mBAAmB,cAAc,IAAI,IAA+rT6H,GAA3rTpC,GAAEhY,OAAO8sB,OAAO,CAACjD,UAAU,KAASkD,YAAQ,OAAOpP,EAAE,EAAMqP,0BAAsB,OAAO/R,CAAE,EAAMgS,0BAAsB,OAAO/U,CAAE,EAAMgV,sBAAkB,OAAO3U,CAAE,EAAM4U,wBAAoB,OAAO3U,CAAE,EAAM4U,uBAAmB,OAAO3U,CAAE,EAAM4U,0BAAsB,OAAOhR,EAAE,EAAMiR,4BAAwB,OAAOvQ,EAAE,EAAMwQ,qBAAiB,OAAOtR,EAAE,EAAMuR,mBAAe,OAAOpR,EAAE,EAAMqR,wBAAoB,OAAOzQ,EAAE,EAAM0Q,6BAAyB,OAAO5Q,EAAE,EAAM6Q,kBAAc,OAAOxR,EAAE,EAAMyR,uBAAmB,OAAOpR,EAAE,EAAMqR,oBAAgB,OAAO1U,CAAE,EAAM2U,sBAAkB,OAAOpT,CAAE,EAAMqT,uBAAmB,OAAO3Q,EAAE,EAAM4Q,sBAAkB,OAAOpa,CAAC,EAAMqa,yBAAqB,OAAOxqB,CAAC,EAAMyqB,sBAAkB,OAAO1X,CAAE,EAAM2X,iBAAa,OAAOvV,EAAC,EAAMwV,0BAAsB,OAAOtX,EAAE,EAAMuX,uBAAmB,OAAO5Y,EAAE,EAAM6Y,oBAAgB,OAAO5Y,EAAE,EAAM6Y,kBAAc,OAAO1Y,EAAE,EAAM2Y,eAAW,OAAOlY,EAAE,EAAMmY,eAAW,OAAOnX,EAAE,EAAMoX,iBAAa,OAAO7V,EAAE,EAAM8V,cAAU,OAAOpa,EAAE,EAAMqa,gBAAY,OAAOhT,EAAE,EAAMiT,iBAAa,OAAO9Y,EAAE,EAAM+Y,0BAAsB,OAAOna,EAAE,IAAIoa,IAAG,oBAAoBC,WAAWA,WAAW,oBAAoBhoB,OAAOA,YAAO,IAAoB8kB,EAAAA,EAAOA,EAAAA,EAAO,oBAAoBpd,KAAKA,KAAK,CAAC,GAAGugB,YAAY5Y,GAAE,WAAW,IAAI,IAAI3S,EAAE,IAAIqrB,GAAE,MAAM,CAACG,OAAO,CAACC,IAAI,SAAS,MAAM,QAAQzrB,EAAEoW,MAAM,QAAQpW,EAAEwrB,OAAOC,GAAG,CAAC,MAAMzrB,GAAG,CAAC,OAAM,CAAE,CAApH,GAAwHqrB,GAAE,oBAAoBne,UAAU,mBAAmBA,SAAS2J,YAAY,SAAS7W,EAAEuF,GAAG,IAAIsH,EAAEK,SAAS2J,YAAY,eAAe,OAAOtR,EAAEsH,EAAE6e,gBAAgB1rB,EAAEuF,EAAEomB,QAAQpmB,EAAEqmB,WAAWrmB,EAAEimB,QAAQ3e,EAAE6e,gBAAgB1rB,GAAE,GAAG,OAAG,GAAQ6M,CAAC,EAAE,SAAS7M,EAAEuF,GAAG,IAAIsH,EAAEK,SAAS2e,oBAAoB,OAAOhf,EAAEuJ,KAAKpW,EAAEuF,GAAGsH,EAAE8e,QAAQxa,QAAQ5L,EAAEomB,SAAS9e,EAAE+e,WAAWza,QAAQ5L,EAAEqmB,YAAY/e,EAAE2e,OAAOjmB,EAAEimB,SAAS3e,EAAE8e,SAAQ,EAAG9e,EAAE+e,YAAW,EAAG/e,EAAE2e,YAAO,GAAQ3e,CAAC,EAAMoD,GAAE,GAAwuBiF,GAAE,aAAa9B,GAAG,sBAAsBrB,GAAG,mBAAmBC,GAAG,gBAAgBG,GAAG,cAAcS,GAAG,WAAW/B,GAAG,UAAU+C,GAAG,WAAWvB,GAAG,aAAa6F,GAAG,YAAY/C,GAAG,aAAalE,GAAG,sBAAm8B6a,GAAG,GAA4nBrZ,IAAG,EAAGI,IAAG,EAA0XI,GAAG,EAAQD,GAAG,CAACV,QAAQ,CAAC,GAA8qEmC,GAAG,CAACxC,UAAU,CAACyC,OAAO,IAAIC,cAAa,EAAGC,cAAc,KAAKrB,MAAM,CAACmB,OAAO,IAAIC,cAAa,EAAGC,cAAc,KAAKpB,QAAQ,CAACkB,OAAO,IAAIC,cAAa,EAAGC,cAAc,KAAKI,OAAO,CAACN,OAAO,IAAIC,cAAa,EAAGC,cAAc,KAAKpL,OAAO,CAACkL,OAAO,IAAIC,cAAa,EAAGC,cAAc,MAAm9DuE,GAAG,oBAAoB7V,OAAOgT,GAAG,CAACyV,WAAW,GAAGC,SAAS,IAAI3V,GAAG,CAAC,aAAa,YAA4gCc,GAAG,KAAKF,IAAG,EAAkwBkC,KAAK7V,OAAO2oB,kBAAkB9d,QAAQmB,KAAKa,EAAE,IAAG,IAAK7M,OAAO2oB,kBAAkBxW,GAAI,IAAIgC,IAAG,EAA2eO,GAAG,CAAC,EAAotBQ,GAAG,GAAsJS,IAAG,EAAg/FiT,IAAG,EAAGC,GAAG,GAAGC,GAAGjT,IAAI7V,OAAO0N,SAAS0E,KAA+B,SAASc,SAAGxW,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAE,GAAGuF,EAAAA,UAAAA,OAAAA,EAAAA,UAAAA,QAAAA,EAAEsH,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAAAA,UAAAA,GAAM,GAAGqf,GAAG,OAAO,IAAIpc,SAAS,SAAC9P,EAAE6M,GAAKsf,GAAGnwB,KAAK,CAACyV,QAAQzR,EAAE4R,OAAO/E,EAAEwf,eAAe9mB,GAAG,IAAI,IAA8a0H,EAA7W,aAAW,IAAMjN,EAAE,GAAGuF,EAAE,GAAGsH,EAAE,GAAGpO,EAAE,GAAG+O,GAAE,IAAKpQ,MAAMoY,UAAU,OAAOgD,GAAG1N,SAASnP,SAAAA,GAAI,IAAM0D,EAAE1D,EAAE4U,SAASU,IAAIH,EAAGnV,GAAG,OAAOA,EAAE4U,QAAQ,KAAK4E,GAAG9V,GAAGmO,EAAE7R,EAAE0Z,eAAe,KAAKxI,EAAE7Q,KAAKL,GAAG,MAAM,KAAKuZ,GAAE,KAAK9B,GAAG/T,GAAGwN,EAAE7Q,KAAKL,GAAG,MAAM,KAAKoW,GAAG,KAAKI,IAAI9S,GAAGiZ,GAAGjI,EAAG1U,IAAIqE,EAAEhE,KAAKL,GAAG0D,GAAGZ,EAAEzC,KAAKL,GAAG,MAAM,KAAKkV,GAAGxR,GAAGkG,EAAEvJ,KAAKL,GAAG,IAAI,CAAC2wB,aAAatsB,EAAEusB,cAAchnB,EAAEinB,WAAW3f,EAAE4f,YAAYhuB,EAAE,CAArW,GAA3D6tB,EAA2D,EAA3DA,aAAeC,EAA4C,EAA5CA,cAAgBC,EAA4B,EAA5BA,WAAaC,EAAe,EAAfA,YAA8XloB,EAAE,GAAGD,EAAE8nB,GAAG3sB,EAAE2sB,GAAG9oB,OAAO0N,SAAS0E,KAAK,OAAOsD,MAAMkT,IAAG,EAAGjf,EAAExO,EAAEwM,OAAOtP,EAAE6R,EAAEnO,GAAGyQ,QAAQ2B,UAAUC,MAAM,kBAAKpP,EAAE,IAAI2K,EAAEpR,OAAO,uBAAuB,oBAAoB6D,GAAE,IAAK4C,EAAE,uBAAuB5C,GAAE,EAAG,CAACgtB,iBAAiBlkB,KAAKsH,QAAQyC,IAAIhO,GAAGmN,MAAM7E,SAAAA,GAAI,GAAGA,EAAEkM,MAAM/Y,SAAAA,UAAGA,KAAI,OAAOmX,GAAGza,KAAK4G,OAAO2S,QAAQA,QAAQW,MAAM,GAAGtS,EAAEqoB,UAAU3b,SAAS6I,OAAOhe,SAASuwB,GAAGpb,SAAS0E,KAAKwW,IAAG,EAAG1V,GAAGxW,EAAEuF,GAAE,GAAI,IAAM0H,EAAExO,EAAEQ,IAAI8Y,GAAIxT,EAAEiJ,EAAEvO,IAAImT,GAAInT,KAAKe,SAAAA,UAAGA,EAAE0R,KAAKqG,MAAM9M,OAAOgC,GAAGxN,EAAEqQ,QAAQyC,IAAIhO,GAAG9E,EAAEiS,MAAM,WAAKpP,EAAE,6BAA6B5C,GAAE,GAAI,IAAIM,SAAAA,GAAI,MAAMA,CAAC,IAAI,IAAMwI,EAAE7M,EAAEsD,KAAKe,SAAAA,UAAGiV,EAAGjV,GAAG0R,MAAM1R,SAAAA,UAAGga,GAAGha,EAAEP,SAAOd,EAAEU,EAAE+Q,QAAQpQ,SAAAA,UAAGrE,EAAEmI,QAAQ9D,GAAG,KAAIf,KAAKe,SAAAA,UAAGga,GAAGha,EAAEP,MAAK,OAAOA,EAAEoS,OAAO7R,SAAAA,GAAI,MAAMZ,IAAIY,CAAC,IAAI0R,MAAM,kBAAKtS,IAAI0Q,QAAQyC,IAAI/J,EAAEyC,OAAOtM,IAAIkT,OAAOtM,SAAAA,GAAI,MAAMvF,EAAE8K,SAAS9K,SAAAA,UAAGA,EAAE4R,OAAOrM,MAAKA,CAAC,IAAImM,KAAK5R,GAAG4R,MAAM,WAAK,IAAI1R,SAAAA,GAAI,MAAMA,CAAC,MAAM,SAASiN,EAAEtR,EAAEmU,QAAQ2B,UAAUC,MAAM,WAAK,IAAM1R,EAAErE,EAAEsD,IAAIgW,GAAI,OAAOnF,QAAQyC,IAAIvS,GAAG0R,KAAKtS,GAAGsS,MAAM,iBAAI,MAAKG,OAAO7R,SAAAA,GAAI,MAAMZ,IAAIY,CAAC,IAAI4sB,SAAS,WAAK,GAAG,KAAK,SAASpkB,QAAExI,IAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,KAAAA,UAAAA,GAAYuF,EAAE,mBAAmB,MAAMvF,OAAE,EAAOA,EAAE0R,MAAM1R,EAAE8P,QAAQ2B,QAAQzR,GAAGuE,EAAEvI,KAAKuJ,EAAEsM,OAAO7R,SAAAA,UAAImO,QAAQmB,KAAKvL,MAAMoM,EAAE,IAAG,KAAMhC,QAAQmB,KAAKtP,IAAG,KAAM,CAAC,SAASF,IAAI,IAAMyF,EAAEgT,KAAKvY,EAAE8K,SAAS9K,SAAAA,UAAGA,EAAEyR,QAAQlM,MAAK,IAAIjD,EAAE,IAAI2K,EAAEpR,OAAO,gBAAgB,aAAa6D,KAAK4C,EAAE,gBAAgB5C,IAAI,CAAC,MAAMM,GAAGwP,YAAY,WAAK,MAAMxP,CAAC,GAAG,CAAC,GAAGksB,IAAG,EAAGC,GAAGtwB,OAAO,EAAE,CAAC,IAAMmE,EAAEmsB,GAAGA,GAAG,GAAG3V,GAAGxW,EAAE,CAAC,OAAOuF,CAAC,CAAC,SAASnG,IAAIyN,IAAI7M,EAAE8K,SAAS9K,SAAAA,GAAImW,EAAGnW,EAAEqsB,eAAe,IAAIlW,EAAG5Q,GAAG,CAAC,SAAS7F,QAAuB,EAArBM,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAAAA,UAAAA,GAAK6M,EAAAA,UAAAA,OAAAA,EAAAA,UAAAA,QAAAA,EAAStI,EAAE,CAAC,EAAEiE,GAAG,EAAD,KAAEqI,GAAI,IAAG,EAAT,EAAUsB,GAAI,IAAG,EAAjB,EAAkB+C,GAAG,IAAG,EAAxB,EAAyBjE,GAAI,IAA7B,GAAiCjR,GAAGrE,EAAEsP,OAAO5L,GAAGyL,SAAS,SAAC9K,EAAEuF,GAAKnG,EAAEY,EAAE6Q,GAAG,IAAIpS,EAAEqM,SAAS9K,SAAAA,GAAIZ,EAAEY,EAAEkV,GAAE,IAAI1H,EAAE1C,SAAS9K,SAAAA,GAAIZ,EAAEY,EAAEmS,GAAG,KAAKlF,EAAEnC,SAAS9K,SAAAA,GAAIZ,EAAEY,EAAE,IAAI,IAAMF,EAAE,CAAC0rB,OAAO,CAACqB,eAAetoB,EAAEuoB,gBAAgBtkB,EAAEukB,gBAAgB9f,EAAEpR,OAAOmxB,cAAc,MAAMznB,OAAE,EAAOA,EAAE,GAAG0nB,OAAO3oB,EAAE4oB,OAAOztB,IAAI,OAAOoN,GAAGwE,EAAGvR,EAAE0rB,OAAO3e,GAAG/M,EAAE,SAASV,EAAEY,EAAEuF,GAAG,IAAMsH,EAAEwD,EAAGrQ,GAAGuF,EAAEA,GAAGmT,GAAG7L,GAAGtI,EAAEsI,GAAGtH,GAAGiD,EAAEjD,GAAGiD,EAAEjD,IAAI,IAAIvJ,KAAK6Q,EAAE,CAAC,CAAC,SAASvK,EAAEtC,EAAEuF,GAAGsH,GAAGvJ,OAAOoP,cAAc,IAAIC,GAAE,cAAgB,OAAF3S,GAAIuF,GAAG,CAAC,CAA4F,IAAI2U,IAAG,EAAqEiT,GAAG,CAACC,cAAc,WAAW,sDAAU5U,2kBAAG,EAAE6U,QAAQ7W,GAAGiU,WAAWvV,GAAEoY,cAAcrY,EAAGsY,mBAAmBzb,EAAG8X,sBAAsBvQ,GAAGmU,gBAAgB,WAAW,OAAO1B,EAAE,GAAG3S,IAAI7V,OAAOmqB,0BAA0BnqB,OAAOmqB,wBAAwBC,eAAeP,IAAI,IAAIlQ,GAAG,kBAAwQ,SAAS0Q,GAAG3tB,EAAEuF,EAAEsH,GAAG,OAAO8gB,GAAGjT,KAAKC,QAAQC,UAAU,SAAS5a,EAAEuF,EAAEsH,GAAG,IAAIpO,EAAE,CAAC,MAAMA,EAAEzC,KAAKI,MAAMqC,EAAE8G,GAAG,IAAIiI,EAAE,IAAI+a,SAASnU,KAAKhY,MAAM4D,EAAEvB,IAAI,OAAOoO,GAAG+gB,GAAGpgB,EAAEX,EAAEtQ,WAAWiR,CAAC,EAAEmgB,GAAGvxB,MAAM,KAAKR,UAAU,CAA0H,SAASiyB,GAAG7tB,GAAG,OAAO6tB,GAAGvxB,OAAO4pB,eAAe5pB,OAAOwsB,eAAe,SAAS9oB,GAAG,OAAOA,EAAEmmB,WAAW7pB,OAAOwsB,eAAe9oB,EAAE,EAAE6tB,GAAG7tB,EAAE,CAAC,SAAS4tB,GAAG5tB,EAAEuF,GAAG,OAAOqoB,GAAGtxB,OAAO4pB,gBAAgB,SAASlmB,EAAEuF,GAAG,OAAOvF,EAAEmmB,UAAU5gB,EAAEvF,CAAC,EAAE4tB,GAAG5tB,EAAEuF,EAAE,CAAC,SAASuoB,GAAG9tB,GAAG,IAAIuF,EAAE,mBAAmBwoB,IAAI,IAAIA,SAAI,EAAO,OAAOD,GAAG,SAAS9tB,GAAG,GAAG,OAAOA,IAAI6M,EAAE7M,GAAG,IAAIuoB,SAASlsB,SAASK,KAAKmQ,GAAG/I,QAAQ,kBAAkB,OAAO9D,EAAE,IAAI6M,EAAE,GAAG,mBAAmB7M,EAAE,MAAM,IAAIuc,UAAU,sDAAsD,QAAG,IAAShX,EAAE,CAAC,GAAGA,EAAEqW,IAAI5b,GAAG,OAAOuF,EAAEmJ,IAAI1O,GAAGuF,EAAEsW,IAAI7b,EAAEvB,EAAE,CAAC,SAASA,IAAI,OAAOkvB,GAAG3tB,EAAEpE,UAAUiyB,GAAGxwB,MAAM4O,YAAY,CAAC,OAAOxN,EAAElC,UAAUD,OAAO8L,OAAOpI,EAAEzD,UAAU,CAAC0P,YAAY,CAAC9K,MAAM1C,EAAEgQ,YAAW,EAAGgM,UAAS,EAAGD,cAAa,KAAMoT,GAAGnvB,EAAEuB,EAAE,EAAE8tB,GAAG9tB,EAAE,CAAiQ,IAAIwb,GAAG,cAAcC,GAAG,eAAeoB,GAAG,GAAG5R,OAAOuQ,GAAG,YAAk4G8B,GAAG,SAAStd,IAAI,SAASA,EAAEuF,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAIgX,UAAU,sDAAsDvc,EAAEzD,UAAUD,OAAO8L,OAAO7C,GAAGA,EAAEhJ,UAAU,CAAC0P,YAAY,CAAC9K,MAAMnB,EAAEya,UAAS,EAAGD,cAAa,KAAMjV,GAAGqoB,GAAG5tB,EAAEuF,EAAE,CAAlO,CAAoOiI,EAAExN,GAAG,IAAIuF,EAAEsH,EAAEpO,GAAG8G,EAAEiI,EAAEX,EAAE6N,KAAK,WAAW,IAAI1a,EAAEvB,EAAEovB,GAAGtoB,GAAG,GAAGsH,EAAE,CAAC,IAAIW,EAAEqgB,GAAGxwB,MAAM4O,YAAYjM,EAAE2a,QAAQC,UAAUnc,EAAE7C,UAAU4R,EAAE,MAAMxN,EAAEvB,EAAErC,MAAMiB,KAAKzB,WAAW,OAAO,SAASoE,EAAEuF,GAAG,OAAOA,GAAG,YAAYsH,EAAEtH,IAAI,oBAAoBoJ,QAAQ9B,EAAEZ,cAAc0C,OAAO,cAAgB9B,IAAAA,EAAAA,YAAP,EAAOA,KAAI,mBAAmBtH,EAAE4U,GAAGna,GAAGuF,EAAE,IAAIsH,CAAC,CAAnJ,CAAqJxP,KAAK2C,EAAE,GAAG,SAASwN,EAAExN,EAAEuF,EAAEsH,EAAElR,GAAG,IAAI0D,EAAE,OAAO,SAASW,EAAEuF,GAAG,IAAKvF,EAAAA,EAAauF,GAAG,MAAM,IAAIgX,UAAU,oCAAoC,CAA3F,CAA6Flf,KAAKmQ,GAAG+M,GAAGJ,GAAG9a,EAAEZ,EAAE/B,KAAKW,OAAO,gBAAW,GAAQkd,GAAGJ,GAAG9a,GAAG,oBAAe,GAAQA,EAAEmR,QAAQ,yBAAyBvF,OAAO1F,EAAEgL,OAAO,MAAMtF,OAAO1F,EAAEyoB,WAAW,cAAc/iB,OAAOjL,EAAE,sEAAsErE,EAAE6U,QAAQnR,EAAEmR,QAAQnR,EAAE4uB,aAAaphB,EAAExN,EAAE6uB,SAAS3oB,EAAElG,EAAEgnB,MAAM,qCAAqCpb,OAAOtP,EAAE0qB,MAAM,yCAAyCpb,OAAO5L,EAAEgnB,OAAOhnB,CAAC,CAAC,OAAOmO,CAAC,CAAxlC,CAA0lCsgB,GAAG/pB,QAAsI+Z,GAAG,GAAG7S,OAAOuQ,GAAG,eAAiQ,SAASyC,KAAK,IAAIje,EAAE,OAAOA,EAAE,SAASA,EAAEuF,GAAG,IAAIsH,EAAE,OAAO,SAAS7M,EAAEuF,GAAG,IAAIsH,EAAEpO,EAAE+O,EAAE7R,EAAE0D,EAAE,CAAC0c,MAAM,EAAEC,KAAK,WAAW,GAAG,EAAExO,EAAE,GAAG,MAAMA,EAAE,GAAG,OAAOA,EAAE,EAAE,EAAEyO,KAAK,GAAGC,IAAI,IAAI,OAAOvgB,EAAE,CAACwgB,KAAKlP,EAAE,GAAGmP,MAAMnP,EAAE,GAAGoP,OAAOpP,EAAE,IAAI,mBAAmB0B,SAAShT,EAAEgT,OAAO2N,UAAU,WAAW,OAAOjf,IAAI,GAAG1B,EAAE,SAASsR,EAAEtR,GAAG,OAAO,SAASsR,GAAG,OAAO,SAAStR,GAAG,GAAGkR,EAAE,MAAM,IAAI0P,UAAU,mCAAmC,KAAKld,GAAG,IAAI,GAAGwN,EAAE,EAAEpO,IAAI+O,EAAE,EAAE7R,EAAE,GAAG8C,EAAE4d,OAAO1gB,EAAE,GAAG8C,EAAE2d,SAAS5O,EAAE/O,EAAE4d,SAAS7O,EAAE9Q,KAAK+B,GAAG,GAAGA,EAAE0d,SAAS3O,EAAEA,EAAE9Q,KAAK+B,EAAE9C,EAAE,KAAK2e,KAAK,OAAO9M,EAAE,OAAO/O,EAAE,EAAE+O,IAAI7R,EAAE,CAAC,EAAEA,EAAE,GAAG6R,EAAErM,QAAQxF,EAAE,IAAI,KAAK,EAAE,KAAK,EAAE6R,EAAE7R,EAAE,MAAM,KAAK,EAAE,OAAO0D,EAAE0c,QAAQ,CAAC5a,MAAMxF,EAAE,GAAG2e,MAAK,GAAI,KAAK,EAAEjb,EAAE0c,QAAQtd,EAAE9C,EAAE,GAAGA,EAAE,CAAC,GAAG,SAAS,KAAK,EAAEA,EAAE0D,EAAE6c,IAAI7R,MAAMhL,EAAE4c,KAAK5R,MAAM,SAAS,QAAQ,MAAMmD,GAAGA,EAAEnO,EAAE4c,MAAMpgB,OAAO,GAAG2R,EAAEA,EAAE3R,OAAO,KAAK,IAAIF,EAAE,IAAI,IAAIA,EAAE,IAAI,CAAC0D,EAAE,EAAE,QAAQ,CAAC,GAAG,IAAI1D,EAAE,MAAM6R,GAAG7R,EAAE,GAAG6R,EAAE,IAAI7R,EAAE,GAAG6R,EAAE,IAAI,CAACnO,EAAE0c,MAAMpgB,EAAE,GAAG,KAAK,CAAC,GAAG,IAAIA,EAAE,IAAI0D,EAAE0c,MAAMvO,EAAE,GAAG,CAACnO,EAAE0c,MAAMvO,EAAE,GAAGA,EAAE7R,EAAE,KAAK,CAAC,GAAG6R,GAAGnO,EAAE0c,MAAMvO,EAAE,GAAG,CAACnO,EAAE0c,MAAMvO,EAAE,GAAGnO,EAAE6c,IAAIlgB,KAAKL,GAAG,KAAK,CAAC6R,EAAE,IAAInO,EAAE6c,IAAI7R,MAAMhL,EAAE4c,KAAK5R,MAAM,SAAS1O,EAAE4J,EAAE7I,KAAKsD,EAAEX,EAAE,CAAC,MAAMW,GAAGrE,EAAE,CAAC,EAAEqE,GAAGvB,EAAE,CAAC,SAASoO,EAAEW,EAAE,CAAC,CAAC,GAAG,EAAE7R,EAAE,GAAG,MAAMA,EAAE,GAAG,MAAM,CAACwF,MAAMxF,EAAE,GAAGA,EAAE,QAAG,EAAO2e,MAAK,EAAG,CAApxB,CAAsxB,CAAC3e,EAAEsR,GAAG,CAAC,CAAC,CAAniC,CAAqiC5P,MAAM,SAASoB,GAAG,OAAOoO,EAAE,IAAIshB,UAAUC,OAAO,cAAc7oB,EAAE8oB,iBAAiBxhB,EAAEuhB,OAAO,UAAUpuB,GAAGuF,EAAE+oB,KAAKzhB,EAAEuhB,OAAO,OAAO7oB,EAAE+oB,OAAOzhB,EAAEuhB,OAAO,OAAO,IAAIG,KAAK,CAAC,IAAIhpB,EAAEipB,UAAUjpB,EAAEipB,UAAU3hB,EAAEuhB,OAAO,gBAAgB7oB,EAAEkpB,gBAAgB,CAAC,EAAEtT,GAAG,GAAGlQ,OAAO6S,IAAI,CAACK,OAAO,OAAO7C,KAAKzO,IAAI,GAAG,EAAEoR,GAAG,WAAW,IAAI1Y,EAAElI,KAAKwP,EAAEjR,UAAU,OAAO,IAAIkU,SAAS,SAASrR,EAAE+O,GAAG,IAAI7R,EAAEqE,EAAE5D,MAAMmJ,EAAEsH,GAAG,SAASxN,EAAEW,GAAG4d,GAAGjiB,EAAE8C,EAAE+O,EAAEnO,EAAE4N,EAAE,OAAOjN,EAAE,CAAC,SAASiN,EAAEjN,GAAG4d,GAAGjiB,EAAE8C,EAAE+O,EAAEnO,EAAE4N,EAAE,QAAQjN,EAAE,CAACX,OAAE,EAAO,GAAG,EAAE4e,GAAG7hB,MAAMiB,KAAKzB,UAAU,CAA2F,IAAI8kB,GAAGrhB,EAAE,KAAWwgB,GAAG,SAAS7f,GAAG,YAAO,IAASA,CAAC,EAA62C0e,IAAG,EAAG4D,GAAEzT,mBAAmB,UAAU,CAAC8P,QAAO,EAAGE,QAAQ,OAAOnH,GAAG,EAAgyD,SAAS6I,KAAK,OAAOA,GAAGlC,IAAI,SAASre,EAAEuF,GAAG,OAAO+Y,GAAGjhB,MAAM,SAASwP,GAAG,MAAM,CAAC,EAAE4S,GAAGtE,GAAG0B,GAAG,CAACsB,OAAO,OAAO7C,KAAK,CAAC8E,gBAAgBpgB,GAAGob,QAAQ,CAAC,eAAe,oBAAoBqC,OAAOlY,EAAEkY,UAAU,GAAG,KAAKrhB,MAAMiB,KAAKzB,UAAU,CAAoD,SAAS6kB,KAAK,OAAOA,GAAGpC,IAAI,SAASre,EAAEuF,EAAEsH,GAAG,OAAOyR,GAAGjhB,MAAM,SAASoB,GAAG,OAAOA,EAAEsd,OAAO,KAAK,EAAE,OAAOlP,IAAIA,EAAE,IAAI2Q,iBAAiB,CAAC,EAAErC,GAAG,GAAGlQ,OAAOuQ,GAAG,UAAUvQ,OAAOjL,GAAG,CAACme,OAAO,OAAO7C,KAAK,CAAC2D,eAAe1Z,GAAG6V,QAAQ,CAAC,eAAe,oBAAoBqC,OAAO5Q,EAAE4Q,UAAU,KAAK,EAAE,OAAOhf,EAAEud,OAAO,CAAC,EAAE4C,MAAM,GAAG,KAAKxiB,MAAMiB,KAAKzB,UAAU,CAA4iC8iB,GAAGnQ,WAAW,SAASvO,GAAG,OAAOA,EAAE6e,SAASG,GAAGhf,EAAE6e,QAAQ,IAAI,IAAI6P,GAAGrvB,EAAE,KAAg2E,SAASuiB,KAAK,OAAOA,GAAGL,IAAI,SAASvhB,EAAEuF,GAAG,IAAIsH,EAAEpO,EAAE+O,EAAE7R,EAAE0D,EAAE4N,EAAErR,UAAU,OAAO8lB,GAAGrkB,MAAM,SAASkH,GAAG,OAAOA,EAAEwX,OAAO,KAAK,EAAE,OAAOlP,IAAII,EAAEpR,OAAO,QAAG,IAASoR,EAAE,KAAKA,EAAE,GAAGjN,GAAGvB,EAAE,KAAK,CAAC,EAAEqR,QAAQyC,IAAI,CAAC4I,GAAG,GAAGlQ,OAAOwQ,GAAG,aAAaxQ,OAAOjL,GAAGuF,GAAGsM,OAAO,SAAS7R,GAAG,OAAOvB,EAAEuB,CAAC,IAAI6M,EAAEgV,GAAG7hB,GAAG8P,QAAQ2B,QAAQ,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,GAAGjE,EAAEgU,GAAGplB,WAAM,EAAO,CAACmI,EAAEyX,OAAO,IAAIrgB,EAAE6R,EAAE,GAAGnO,EAAEmO,EAAE,GAAG7R,EAAE6gB,GAAG,MAAM,CAAC,EAAE7gB,EAAE8gB,MAAM,GAAGpd,EAAE,MAAM,CAAC,EAAEA,GAAG,GAAGZ,EAAE,MAAMA,EAAE8F,EAAEwX,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI6F,GAAGxlB,MAAMiB,KAAKzB,UAAU,CAAgD,SAASkmB,KAAK,OAAOA,GAAGP,IAAI,SAASvhB,GAAG,IAAIuF,EAAEsH,EAAEpO,EAAE,OAAOijB,GAAGrkB,MAAM,SAASmQ,GAAG,OAAOA,EAAEuO,OAAO,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE2S,GAAG1gB,yBAAyB,yBAAyB,KAAK,EAAE,OAAOzI,EAAEiI,EAAEwO,OAAOnP,EAAEtH,EAAEwa,MAAM,SAASxa,GAAG,OAAOA,EAAEopB,YAAYxb,KAAKnT,CAAC,IAAI,CAAC,EAAE,QAAQvB,EAAE,MAAMoO,OAAE,EAAOA,EAAE8hB,mBAAc,IAASlwB,EAAEA,EAAE,MAAM,GAAG,KAAKrC,MAAMiB,KAAKzB,UAAU,CAAC,IAAIgzB,GAAG,eAAoB5uB,EAAT,WAAa,OAAO+D,MAAMrH,KAAKW,MAAMA,KAAKmT,QAAQ,sBAAsBnT,KAAKqO,KAAK,0BAA0BrO,IAAI,EAAC,OAAO2C,EAAEzD,UAAUD,OAAO8L,OAAOrE,MAAMxH,WAAWyD,CAAC,CAA/K,GAAmL6uB,GAAG,SAAS7uB,OAAY6M,EAAT,SAAWtH,EAAEsH,GAAG,IAAIpO,EAAEuB,EAAEtD,KAAKW,OAAOA,KAAK,OAAOoB,EAAEqwB,QAAQvpB,EAAE9G,EAAEswB,WAAWliB,EAAEpO,EAAE6nB,QAAO,EAAG7nB,CAAC,EAAC,OAAO8G,EAAEsH,EAAE7M,GAAG6M,EAAEtQ,UAAU8jB,YAAY,WAAW,IAAIhjB,KAAKipB,OAAO,CAACjpB,KAAKipB,QAAO,EAAG,IAAItmB,EAAE3C,KAAKyxB,QAAQvpB,EAAEvF,EAAEgvB,UAAU,GAAG3xB,KAAKyxB,QAAQ,KAAKvpB,GAAG,IAAIA,EAAE1J,SAASmE,EAAEinB,YAAYjnB,EAAEsmB,OAAO,CAAC,IAAIzZ,EAAEtH,EAAEzB,QAAQzG,KAAK0xB,aAAa,IAAIliB,GAAGtH,EAAEiU,OAAO3M,EAAE,EAAE,CAAC,CAAC,EAAEA,CAAC,CAAjV,CAAmVzN,IAAG6vB,GAAG,SAASjvB,OAAY6M,EAAT,SAAWtH,GAAG,IAAIsH,EAAE7M,EAAEtD,KAAKW,KAAKkI,IAAIlI,KAAK,OAAOwP,EAAEqa,YAAY3hB,EAAEsH,CAAC,EAAC,OAAOtH,EAAEsH,EAAE7M,GAAG6M,CAAC,CAA7F,CAA+FlO,IAAGuwB,GAAG,SAASlvB,OAAY6M,EAAT,WAAa,IAAItH,EAAEvF,EAAEtD,KAAKW,OAAOA,KAAK,OAAOkI,EAAEypB,UAAU,GAAGzpB,EAAE+gB,QAAO,EAAG/gB,EAAE0hB,WAAU,EAAG1hB,EAAE4pB,UAAS,EAAG5pB,EAAE6pB,YAAY,KAAK7pB,CAAC,EAAC,OAAOA,EAAEsH,EAAE7M,GAAG6M,EAAEtQ,UAAU+F,IAAG,WAAW,OAAO,IAAI2sB,GAAG5xB,KAAK,EAAEwP,EAAEtQ,UAAU0lB,KAAK,SAASjiB,GAAG,IAAIuF,EAAE,IAAI8pB,GAAGhyB,KAAKA,MAAM,OAAOkI,EAAEyiB,SAAShoB,EAAEuF,CAAC,EAAEsH,EAAEtQ,UAAU4f,KAAK,SAASnc,GAAG,GAAG3C,KAAKipB,OAAO,MAAM,IAAIsI,GAAG,IAAIvxB,KAAK4pB,UAAU,IAAI,IAAI1hB,EAAElI,KAAK2xB,UAAUniB,EAAEtH,EAAE1J,OAAO4C,EAAE8G,EAAErG,QAAQsO,EAAE,EAAEA,EAAEX,EAAEW,IAAI/O,EAAE+O,GAAG2O,KAAKnc,EAAE,EAAE6M,EAAEtQ,UAAU6R,MAAM,SAASpO,GAAG,GAAG3C,KAAKipB,OAAO,MAAM,IAAIsI,GAAGvxB,KAAK8xB,UAAS,EAAG9xB,KAAK+xB,YAAYpvB,EAAE3C,KAAK4pB,WAAU,EAAG,IAAI,IAAI1hB,EAAElI,KAAK2xB,UAAUniB,EAAEtH,EAAE1J,OAAO4C,EAAE8G,EAAErG,QAAQsO,EAAE,EAAEA,EAAEX,EAAEW,IAAI/O,EAAE+O,GAAGY,MAAMpO,GAAG3C,KAAK2xB,UAAUnzB,OAAO,CAAC,EAAEgR,EAAEtQ,UAAUmhB,SAAS,WAAW,GAAGrgB,KAAKipB,OAAO,MAAM,IAAIsI,GAAGvxB,KAAK4pB,WAAU,EAAG,IAAI,IAAIjnB,EAAE3C,KAAK2xB,UAAUzpB,EAAEvF,EAAEnE,OAAOgR,EAAE7M,EAAEd,QAAQT,EAAE,EAAEA,EAAE8G,EAAE9G,IAAIoO,EAAEpO,GAAGif,WAAWrgB,KAAK2xB,UAAUnzB,OAAO,CAAC,EAAEgR,EAAEtQ,UAAU8jB,YAAY,WAAWhjB,KAAK4pB,WAAU,EAAG5pB,KAAKipB,QAAO,EAAGjpB,KAAK2xB,UAAU,IAAI,EAAEniB,EAAEtQ,UAAU0rB,cAAc,SAAS1iB,GAAG,GAAGlI,KAAKipB,OAAO,MAAM,IAAIsI,GAAG,OAAO5uB,EAAEzD,UAAU0rB,cAAcvrB,KAAKW,KAAKkI,EAAE,EAAEsH,EAAEtQ,UAAUurB,WAAW,SAAS9nB,GAAG,GAAG3C,KAAKipB,OAAO,MAAM,IAAIsI,GAAG,OAAOvxB,KAAK8xB,UAAUnvB,EAAEoO,MAAM/Q,KAAK+xB,aAAahwB,GAAEwnB,OAAOvpB,KAAK4pB,WAAWjnB,EAAE0d,WAAWte,GAAEwnB,QAAQvpB,KAAK2xB,UAAUhzB,KAAKgE,GAAG,IAAI6uB,GAAGxxB,KAAK2C,GAAG,EAAE6M,EAAEtQ,UAAU+yB,aAAa,WAAW,IAAItvB,EAAE,IAAItB,GAAE,OAAOsB,EAAE+nB,OAAO1qB,KAAK2C,CAAC,EAAE6M,EAAEzE,OAAO,SAASpI,EAAEuF,GAAG,OAAO,IAAI8pB,GAAGrvB,EAAEuF,EAAE,EAAEsH,CAAC,CAAhzC,CAAkzCnO,IAAG2wB,GAAG,SAASrvB,OAAY6M,EAAT,SAAWtH,EAAEsH,GAAG,IAAIpO,EAAEuB,EAAEtD,KAAKW,OAAOA,KAAK,OAAOoB,EAAEyoB,YAAY3hB,EAAE9G,EAAEspB,OAAOlb,EAAEpO,CAAC,EAAC,OAAO8G,EAAEsH,EAAE7M,GAAG6M,EAAEtQ,UAAU4f,KAAK,SAASnc,GAAG,IAAIuF,EAAElI,KAAK6pB,YAAY3hB,GAAGA,EAAE4W,MAAM5W,EAAE4W,KAAKnc,EAAE,EAAE6M,EAAEtQ,UAAU6R,MAAM,SAASpO,GAAG,IAAIuF,EAAElI,KAAK6pB,YAAY3hB,GAAGA,EAAE6I,OAAO/Q,KAAK6pB,YAAY9Y,MAAMpO,EAAE,EAAE6M,EAAEtQ,UAAUmhB,SAAS,WAAW,IAAI1d,EAAE3C,KAAK6pB,YAAYlnB,GAAGA,EAAE0d,UAAUrgB,KAAK6pB,YAAYxJ,UAAU,EAAE7Q,EAAEtQ,UAAUurB,WAAW,SAAS9nB,GAAG,OAAO3C,KAAK0qB,OAAO1qB,KAAK0qB,OAAOxZ,UAAUvO,GAAGZ,GAAEwnB,KAAK,EAAE/Z,CAAC,CAAzc,CAA2cqiB,IAAIK,GAAG,SAASvvB,OAAY6M,EAAT,SAAWtH,GAAG,IAAIsH,EAAE7M,EAAEtD,KAAKW,OAAOA,KAAK,OAAOwP,EAAE2iB,OAAOjqB,EAAEsH,CAAC,EAAC,OAAOtH,EAAEsH,EAAE7M,GAAG1D,OAAOkS,eAAe3B,EAAEtQ,UAAU,QAAQ,CAACmS,IAAI,WAAW,OAAOrR,KAAKoyB,UAAU,EAAEhhB,YAAW,EAAG+L,cAAa,IAAK3N,EAAEtQ,UAAUurB,WAAW,SAASviB,GAAG,IAAIsH,EAAE7M,EAAEzD,UAAUurB,WAAWprB,KAAKW,KAAKkI,GAAG,OAAOsH,IAAIA,EAAEyZ,QAAQ/gB,EAAE4W,KAAK9e,KAAKmyB,QAAQ3iB,CAAC,EAAEA,EAAEtQ,UAAUkzB,SAAS,WAAW,GAAGpyB,KAAK8xB,SAAS,MAAM9xB,KAAK+xB,YAAY,GAAG/xB,KAAKipB,OAAO,MAAM,IAAIsI,GAAG,OAAOvxB,KAAKmyB,MAAM,EAAE3iB,EAAEtQ,UAAU4f,KAAK,SAAS5W,GAAGvF,EAAEzD,UAAU4f,KAAKzf,KAAKW,KAAKA,KAAKmyB,OAAOjqB,EAAE,EAAEsH,CAAC,CAAjgB,CAAmgBqiB,IAAIQ,GAAG,eAAoB1vB,EAAT,WAAa,OAAO+D,MAAMrH,KAAKW,MAAMA,KAAKmT,QAAQ,wBAAwBnT,KAAKqO,KAAK,0BAA0BrO,IAAI,EAAC,OAAO2C,EAAEzD,UAAUD,OAAO8L,OAAOrE,MAAMxH,WAAWyD,CAAC,CAAjL,GAAqLgiB,GAAG,IAAItjB,IAAG,SAASsB,GAAG,OAAOA,EAAE0d,UAAU,IAAuLwE,GAAG,eAAoBliB,EAAT,SAAWA,GAAG,GAAG3C,KAAKsyB,MAAM3vB,EAAE3C,KAAKsyB,MAAM,EAAE,MAAM,IAAID,EAAE,EAAC,OAAO1vB,EAAEzD,UAAUG,KAAK,SAASsD,EAAEuF,GAAG,OAAOA,EAAEgJ,UAAU,IAAIqhB,GAAG5vB,EAAE3C,KAAKsyB,OAAO,EAAE3vB,CAAC,CAApJ,GAAwJ4vB,GAAG,SAAS5vB,OAAY6M,EAAT,SAAWtH,EAAEsH,GAAG,IAAIpO,EAAEuB,EAAEtD,KAAKW,KAAKkI,IAAIlI,KAAK,OAAOoB,EAAEkxB,MAAM9iB,EAAEpO,EAAEoxB,MAAM,EAAEpxB,CAAC,EAAC,OAAO8G,EAAEsH,EAAE7M,GAAG6M,EAAEtQ,UAAU4qB,MAAM,SAASnnB,GAAG,IAAIuF,EAAElI,KAAKsyB,MAAM9iB,IAAIxP,KAAKwyB,MAAMhjB,GAAGtH,IAAIlI,KAAK6pB,YAAY/K,KAAKnc,GAAG6M,IAAItH,IAAIlI,KAAK6pB,YAAYxJ,WAAWrgB,KAAKgjB,eAAe,EAAExT,CAAC,CAA3P,CAA6PlO,IAAiLyjB,GAAG,eAAoBpiB,EAAT,SAAWA,EAAEuF,GAAGlI,KAAKyyB,QAAQ9vB,EAAE3C,KAAK0yB,QAAQxqB,CAAC,EAAC,OAAOvF,EAAEzD,UAAUG,KAAK,SAASsD,EAAEuF,GAAG,OAAOA,EAAEgJ,UAAU,IAAIyhB,GAAGhwB,EAAE3C,KAAKyyB,QAAQzyB,KAAK0yB,SAAS,EAAE/vB,CAAC,CAAzJ,GAA6JgwB,GAAG,SAAShwB,OAAY6M,EAAT,SAAWtH,EAAEsH,EAAEpO,GAAG,IAAI+O,EAAExN,EAAEtD,KAAKW,KAAKkI,IAAIlI,KAAK,OAAOmQ,EAAEsiB,QAAQjjB,EAAEW,EAAEqiB,MAAM,EAAEriB,EAAEuiB,QAAQtxB,GAAG+O,EAAEA,CAAC,EAAC,OAAOjI,EAAEsH,EAAE7M,GAAG6M,EAAEtQ,UAAU4qB,MAAM,SAASnnB,GAAG,IAAIuF,EAAE,IAAIA,EAAElI,KAAKyyB,QAAQpzB,KAAKW,KAAK0yB,QAAQ/vB,EAAE3C,KAAKwyB,QAAQ,CAAC,MAAM7vB,GAAG,YAAY3C,KAAK6pB,YAAY9Y,MAAMpO,EAAE,CAAC3C,KAAK6pB,YAAY/K,KAAK5W,EAAE,EAAEsH,CAAC,CAAxR,CAA0RlO,IAAGikB,GAAG,yXAAyXL,GAAG,WAAW,IAAI,OAAO9R,KAAKkM,MAAMsT,aAAaC,QAAQ,4BAA4B,OAAO,CAAC,MAAMlwB,GAAG,OAAO,IAAI,CAAC,CAA/G,IAAoH,CAACyiB,YAAY,KAAKC,qBAAqB,MAA+nBL,KAAK9T,WAAW,SAASvO,GAAG,IAAIuF,EAAEA,EAAEvF,EAAEiwB,aAAaE,QAAQ,0BAA0B1f,KAAKC,UAAUnL,GAAG,IAAI,IAAIie,GAAGE,GAAGkB,GAAG,IAAI2K,GAAG,OAA6b,SAASvvB,GAAGA,EAAEowB,SAAS,aAAapwB,EAAEqwB,UAAU,YAAYrwB,EAAEswB,QAAQ,cAAc,CAApF,CAAsF9M,KAAKA,GAAG,CAAC,IAAI,SAASxjB,GAAGA,EAAEuwB,WAAW,aAAavwB,EAAEwwB,QAAQ,SAAS,CAAzD,CAA2D9M,KAAKA,GAAG,CAAC,IAAI,IAAIG,GAAG,CAAC,mBAAmB,SAAS4M,MAAM,iBAAiB,CAA7xkD,GAAkykDxjB,CAAC,CAA73pD,GAAk4pD,EAAE,2GCD50qDK,OAAOC,SAAS,CAAC,uBAAuB,SAAShI,EAAEvF,GAAG,IAAI6M,EAAE,CAAC,EAAE,MAAM,CAACY,QAAQ,CAAC,SAASlI,GAAGsH,EAAEgC,kBAAkBtJ,EAAEsJ,kBAAkBhC,EAAEiC,eAAevJ,EAAEuJ,cAAc,GAAGb,QAAQ,WAAW1I,EAAE,WAAM,aAAa,IAAIA,EAAE,CAAC,IAAIA,SAAAA,GAAIA,EAAE1I,QAAQgQ,CAAC,GAAG7M,EAAE,CAAC,EAAE,SAASvB,EAAEoO,GAAG,IAAIW,EAAExN,EAAE6M,GAAG,QAAG,IAASW,EAAE,OAAOA,EAAE3Q,QAAQ,IAAI0H,EAAEvE,EAAE6M,GAAG,CAAChQ,QAAQ,CAAC,GAAG,OAAO0I,EAAEsH,GAAGtI,EAAEA,EAAE1H,QAAQ4B,GAAG8F,EAAE1H,OAAO,CAAC4B,EAAEiB,EAAE,SAAC6F,EAAEvF,GAAK,IAAI,IAAI6M,KAAK7M,EAAEvB,EAAE+O,EAAExN,EAAE6M,KAAKpO,EAAE+O,EAAEjI,EAAEsH,IAAIvQ,OAAOkS,eAAejJ,EAAEsH,EAAE,CAAC4B,YAAW,EAAGC,IAAI1O,EAAE6M,IAAI,EAAEpO,EAAE+O,EAAE,SAACjI,EAAEvF,UAAI1D,OAAOC,UAAUf,eAAekB,KAAK6I,EAAEvF,IAAGvB,EAAEA,EAAE8G,SAAAA,GAAI,oBAAoBoJ,QAAQA,OAAOC,aAAatS,OAAOkS,eAAejJ,EAAEoJ,OAAOC,YAAY,CAACzN,MAAM,WAAW7E,OAAOkS,eAAejJ,EAAE,aAAa,CAACpE,OAAM,GAAI,EAAE,IAAIqM,EAAE,CAAC,EAAE,OAAM,eAAejI,EAAT,SAAWA,GAAG,OAAO,MAAMA,GAAG,iBAAiBA,IAAG,IAAKA,EAAE,2BAA2B,EAAUvF,EAAT,SAAWA,GAAG,OAAO,SAAS6M,EAAEpO,GAAG,OAAO,IAAI7C,UAAUC,QAAQ0J,EAAE9G,GAAGoO,EAAE7M,EAAE5D,MAAMiB,KAAKzB,UAAU,CAAC,EAAUiR,EAAT,SAAWA,GAAG,OAAO,SAASpO,EAAE+O,EAAEjJ,GAAG,OAAO3I,UAAUC,QAAQ,KAAK,EAAE,OAAO4C,EAAE,KAAK,EAAE,OAAO8G,EAAEiI,GAAG/O,EAAEuB,GAAG,SAASuF,GAAG,OAAOsH,EAAEW,EAAEjI,EAAE,IAAI,QAAQ,OAAOA,EAAEiI,IAAIjI,EAAEhB,GAAG9F,EAAE8G,EAAEiI,GAAGxN,GAAG,SAASuF,GAAG,OAAOsH,EAAEtH,EAAEhB,EAAE,IAAIgB,EAAEhB,GAAGvE,GAAG,SAASuF,GAAG,OAAOsH,EAAEW,EAAEjI,EAAE,IAAIsH,EAAEW,EAAEjJ,GAAG,CAAC,EAAUA,EAAT,SAAWgB,GAAG,IAAI,IAAIvF,EAAE6M,EAAE,KAAK7M,EAAEuF,EAAE4W,QAAQ7B,MAAMzN,EAAE7Q,KAAKgE,EAAEmB,OAAO,OAAO0L,CAAC,EAAUlR,EAAT,SAAW4J,EAAEvF,EAAE6M,GAAG,IAAI,IAAIpO,EAAE,EAAE+O,EAAEX,EAAEhR,OAAO4C,EAAE+O,GAAG,CAAC,GAAGjI,EAAEvF,EAAE6M,EAAEpO,IAAI,OAAM,EAAGA,GAAG,CAAC,CAAC,OAAM,CAAE,EAAU6F,EAAT,SAAWiB,EAAEvF,GAAG,OAAO1D,OAAOC,UAAUf,eAAekB,KAAKsD,EAAEuF,EAAE,EAAwsDnG,EAAT,SAAWmG,EAAEvF,EAAE6M,EAAEpO,GAAG,IAAI+O,EAAEjJ,EAAEgB,GAAG,SAASjB,EAAEiB,EAAEvF,GAAG,OAAOxB,GAAE+G,EAAEvF,EAAE6M,EAAE3N,QAAQT,EAAES,QAAQ,CAAC,OAAOvD,GAAG,SAAS4J,EAAEvF,GAAG,OAAOrE,EAAE2I,EAAEtE,EAAEuF,EAAE,GAAGhB,EAAEvE,GAAGwN,EAAE,EAAi1D6a,EAAT,SAAW5pB,GAAG,OAAO,SAAS+O,EAAEjJ,EAAE5I,EAAE2I,GAAG,OAAO1I,UAAUC,QAAQ,KAAK,EAAE,OAAO2R,EAAE,KAAK,EAAE,OAAOjI,EAAEhB,GAAGiJ,EAAEX,GAAG,SAAStH,EAAEvF,GAAG,OAAOvB,EAAE8F,EAAEgB,EAAEvF,EAAE,IAAI,KAAK,EAAE,OAAOuF,EAAEhB,IAAIgB,EAAE5J,GAAG6R,EAAEjI,EAAEhB,GAAGsI,GAAG,SAAStH,EAAEvF,GAAG,OAAOvB,EAAE8G,EAAE5J,EAAEqE,EAAE,IAAIuF,EAAE5J,GAAGkR,GAAG,SAAStH,EAAEvF,GAAG,OAAOvB,EAAE8F,EAAEgB,EAAEvF,EAAE,IAAIA,GAAG,SAASuF,GAAG,OAAO9G,EAAE8F,EAAE5I,EAAE4J,EAAE,IAAI,QAAQ,OAAOA,EAAEhB,IAAIgB,EAAE5J,IAAI4J,EAAEjB,GAAGkJ,EAAEjI,EAAEhB,IAAIgB,EAAE5J,GAAGkR,GAAG,SAAStH,EAAEvF,GAAG,OAAOvB,EAAE8G,EAAEvF,EAAEsE,EAAE,IAAIiB,EAAEhB,IAAIgB,EAAEjB,GAAGuI,GAAG,SAAStH,EAAEvF,GAAG,OAAOvB,EAAE8G,EAAE5J,EAAEqE,EAAE,IAAIuF,EAAE5J,IAAI4J,EAAEjB,GAAGuI,GAAG,SAAStH,EAAEvF,GAAG,OAAOvB,EAAE8F,EAAEgB,EAAEvF,EAAE,IAAIuF,EAAEhB,GAAGvE,GAAG,SAASuF,GAAG,OAAO9G,EAAE8G,EAAE5J,EAAE2I,EAAE,IAAIiB,EAAE5J,GAAGqE,GAAG,SAASuF,GAAG,OAAO9G,EAAE8F,EAAEgB,EAAEjB,EAAE,IAAIiB,EAAEjB,GAAGtE,GAAG,SAASuF,GAAG,OAAO9G,EAAE8F,EAAE5I,EAAE4J,EAAE,IAAI9G,EAAE8F,EAAE5I,EAAE2I,GAAG,CAAC,EAAUqkB,EAAT,SAAWpjB,GAAG,MAAM,oBAAoBjJ,OAAOC,UAAUF,SAASK,KAAK6I,EAAE,EAA6+EqjB,EAAT,SAAWrjB,EAAEvF,EAAE6M,GAAG,IAAI,IAAIpO,EAAEoO,EAAEsP,QAAQ1d,EAAE6b,MAAM,CAAC,IAAIta,EAAEuF,EAAE,qBAAqBvF,EAAEvB,EAAE0C,SAASnB,EAAE,wBAAwB,CAACA,EAAEA,EAAE,sBAAsB,KAAK,CAACvB,EAAEoO,EAAEsP,MAAM,CAAC,OAAO5W,EAAE,uBAAuBvF,EAAE,EAAUmpB,EAAT,SAAW5jB,EAAEvF,EAAE6M,EAAEpO,GAAG,OAAO8G,EAAE,uBAAuBsH,EAAEpO,GAAGoqB,GAAEtjB,EAAE,qBAAqBA,GAAGvF,GAAG,EAAgpBipB,EAAT,SAAW1jB,EAAEvF,GAAG,OAAO,SAAS6M,GAAG,IAAItH,EAAEsH,GAAG,MAAM,mBAAmB7M,EAAEA,EAAE6M,GAAG7M,CAAC,CAAC,EAA0xCmQ,EAAT,SAAW5K,GAAG,OAAM,EAAG2P,GAAEpG,gBAAgB,iBAAiB7D,OAAO1F,GAAG,CAACmrB,OAAO,KAAK/R,QAAO,EAAGgS,4BAA2B,GAAI,EAAUzT,EAAT,WAAa,OAAM,EAAGhI,GAAEpG,gBAAgB,yBAAyB,CAAC8hB,MAAM,CAAC,GAAG,EAAU7gB,EAAT,SAAWxK,GAAG,OAAOqS,EAAGsF,IAAI5O,WAAW/I,EAAE,EAAUqS,EAAT,SAAYrS,EAAEvF,GAAG,IAAI6M,EAAEtH,EAAEqrB,MAAM5wB,GAAG,OAAO,MAAM6M,EAAEA,EAAE,CAAC8R,QAAO,EAAG+R,OAAO,CAAC,EAAE,EAAUnZ,EAAT,WAAc,OAAM,EAAGrC,GAAEpG,gBAAgB,oBAAoB,CAAC+hB,QAAQ,CAAC,GAAG,EAAU7Y,EAAT,SAAYzS,EAAEvF,GAAG,IAAI6M,EAAEvQ,OAAO4S,OAAO,CAAC,EAAE6I,EAAGR,IAAKjJ,WAAW/I,EAAEvF,IAAI,OAAO6M,EAAE6jB,OAAOpI,GAAE,CAAC,qBAAqB,yBAAyBzb,EAAE6jB,QAAQ7jB,CAAC,EAAUkL,EAAT,SAAYxS,EAAEvF,EAAE6M,GAAG,IAAIpO,EAAE+O,EAAE,QAAQ/O,EAAE8G,EAAEsrB,QAAQ7wB,UAAK,IAASvB,OAAE,EAAOA,EAAEoO,GAAG,OAAO,MAAMW,EAAEA,EAAE,CAACmR,QAAO,EAAG+R,OAAO,KAAK,EAAiFnY,EAAT,SAAYhT,EAAEvF,IAAI,MAAMA,GAAGA,EAAEuF,EAAE1J,UAAUmE,EAAEuF,EAAE1J,QAAQ,IAAI,IAAIgR,EAAE,EAAEpO,EAAE,IAAIxC,MAAM+D,GAAG6M,EAAE7M,EAAE6M,IAAIpO,EAAEoO,GAAGtH,EAAEsH,GAAG,OAAOpO,CAAC,EAAU2Z,EAAT,SAAY7S,EAAEvF,EAAE6M,GAAG,OAAO7M,KAAKuF,EAAEjJ,OAAOkS,eAAejJ,EAAEvF,EAAE,CAACmB,MAAM0L,EAAE4B,YAAW,EAAG+L,cAAa,EAAGC,UAAS,IAAKlV,EAAEvF,GAAG6M,EAAEtH,CAAC,EAAUkT,EAAT,SAAYlT,GAAG,IAAI,IAAIvF,EAAE,EAAEA,EAAEpE,UAAUC,OAAOmE,IAAI,CAAC,IAAI6M,EAAE,MAAMjR,UAAUoE,GAAGpE,UAAUoE,GAAG,CAAC,EAAEvB,EAAEnC,OAAOoO,KAAKmC,GAAG,mBAAmBvQ,OAAOw0B,wBAAwBryB,EAAEA,EAAEwM,OAAO3O,OAAOw0B,sBAAsBjkB,GAAGuD,QAAQ,SAAS7K,GAAG,OAAOjJ,OAAOy0B,yBAAyBlkB,EAAEtH,GAAGkJ,UAAU,MAAMhQ,EAAEqM,SAAS,SAAS9K,GAAGoY,EAAG7S,EAAEvF,EAAE6M,EAAE7M,GAAG,GAAG,CAAC,OAAOuF,CAAC,EAAUiT,EAAT,SAAYjT,EAAEvF,GAAG,OAAOA,EAAE,MAAMA,EAAEA,EAAE,CAAC,EAAE1D,OAAO00B,0BAA0B10B,OAAO20B,iBAAiB1rB,EAAEjJ,OAAO00B,0BAA0BhxB,IAAI,SAASuF,EAAEvF,GAAG,IAAI6M,EAAEvQ,OAAOoO,KAAKnF,GAAG,GAAGjJ,OAAOw0B,sBAAsB,CAAC,IAAIryB,EAAEnC,OAAOw0B,sBAAsBvrB,GAAGsH,EAAE7Q,KAAKI,MAAMyQ,EAAEpO,EAAE,CAAC,OAAOoO,CAAE,CAArI,CAAsIvQ,OAAO0D,IAAI8K,SAAS,SAAS+B,GAAGvQ,OAAOkS,eAAejJ,EAAEsH,EAAEvQ,OAAOy0B,yBAAyB/wB,EAAE6M,GAAG,IAAItH,CAAC,EAAU+S,EAAT,SAAY/S,EAAEvF,GAAG,OAAO,SAASuF,GAAG,GAAGtJ,MAAMC,QAAQqJ,GAAG,OAAOA,CAAC,CAAxC,CAA0CA,IAAI,SAASA,EAAEvF,GAAG,IAAI6M,EAAE,MAAMtH,EAAE,KAAK,oBAAoBoJ,QAAQpJ,EAAEoJ,OAAO2N,WAAW/W,EAAE,cAAc,GAAG,MAAMsH,EAAE,CAAC,IAAIpO,EAAE+O,EAAEjJ,EAAE,GAAG5I,GAAE,EAAG2I,GAAE,EAAG,IAAI,IAAIuI,EAAEA,EAAEnQ,KAAK6I,KAAK5J,GAAG8C,EAAEoO,EAAEsP,QAAQ7B,QAAQ/V,EAAEvI,KAAKyC,EAAE0C,QAAQnB,GAAGuE,EAAE1I,SAASmE,GAAGrE,GAAE,GAAI,CAAC,MAAM4J,GAAGjB,GAAE,EAAGkJ,EAAEjI,CAAC,SAAS,IAAI5J,GAAG,MAAMkR,EAAEwP,QAAQxP,EAAEwP,QAAQ,SAAS,GAAG/X,EAAE,MAAMkJ,CAAC,CAAC,CAAC,OAAOjJ,CAAC,CAAC,CAArT,CAAuTgB,EAAEvF,IAAIiZ,EAAG1T,EAAEvF,IAAI,WAAW,MAAM,IAAIuc,UAAU,6IAA6I,CAA5K,EAA+K,EAAU7D,EAAT,SAAYnT,GAAG,OAAO,SAASA,GAAG,GAAGtJ,MAAMC,QAAQqJ,GAAG,OAAOgT,EAAGhT,EAAE,CAA5C,CAA8CA,IAAI,SAASA,GAAG,GAAG,oBAAoBoJ,QAAQ,MAAMpJ,EAAEoJ,OAAO2N,WAAW,MAAM/W,EAAE,cAAc,OAAOtJ,MAAMwlB,KAAKlc,EAAE,CAA/G,CAAiHA,IAAI0T,EAAG1T,IAAI,WAAW,MAAM,IAAIgX,UAAU,wIAAwI,CAAvK,EAA0K,EAAUtD,EAAT,SAAY1T,EAAEvF,GAAG,GAAGuF,EAAE,CAAC,GAAG,iBAAiBA,EAAE,OAAOgT,EAAGhT,EAAEvF,GAAG,IAAI6M,EAAEvQ,OAAOC,UAAUF,SAASK,KAAK6I,GAAGrG,MAAM,GAAG,GAAG,MAAM,WAAW2N,GAAGtH,EAAE0G,cAAcY,EAAEtH,EAAE0G,YAAYP,MAAM,QAAQmB,GAAG,QAAQA,EAAE5Q,MAAMwlB,KAAK5U,GAAG,cAAcA,GAAG,2CAA2CkN,KAAKlN,GAAG0L,EAAGhT,EAAEvF,QAAG,CAAM,CAAC,EAAUsZ,EAAT,SAAY/T,EAAEvF,GAAG,IAAI6M,GAAE,EAAGpO,GAAE,EAAG+O,OAAE,EAAO,IAAI,IAAI,IAAIjJ,EAAE5I,EAAEW,OAAOoO,KAAKnF,EAAE2rB,SAASviB,OAAO2N,cAAczP,GAAGtI,EAAE5I,EAAEwgB,QAAQ7B,MAAMzN,GAAE,EAAG,CAAC,IAAIvI,EAAEC,EAAEpD,MAAM8L,EAAEkD,EAAE7L,GAAG,GAAGiB,EAAE4rB,aAAa7sB,GAAG,CAAC,IAAIjF,EAAEwuB,EAAGvpB,EAAEiB,EAAEvF,GAAGiN,EAAEoB,SAAS,CAACsiB,4BAA2B,EAAGhS,QAAO,EAAG+R,OAAOrxB,GAAG,KAAK,CAAC,IAAII,EAAE2sB,EAAG9nB,EAAEiB,EAAEvF,GAAGiN,EAAEoB,SAAS,CAACsiB,4BAA2B,EAAGhS,QAAO,EAAG+R,OAAOjxB,GAAG,CAAC,CAAC,CAAC,MAAM8F,GAAG9G,GAAE,EAAG+O,EAAEjI,CAAC,SAAS,IAAIsH,GAAG,MAAMlR,EAAE0gB,QAAQ1gB,EAAE0gB,QAAQ,SAAS,GAAG5d,EAAE,MAAM+O,CAAC,CAAC,CAAC,EAAU6L,EAAT,SAAY9T,EAAEvF,GAAG,IAAI6M,EAAEpO,EAAE+O,GAAGX,EAAE8gB,EAAGzT,EAAG3U,EAAEvF,IAAI,SAASuF,GAAG,IAAIvF,GAAE,EAAG6M,GAAE,EAAGpO,OAAE,EAAO,IAAI,IAAI,IAAI+O,EAAEjJ,EAAEjI,OAAO80B,QAAQ7rB,GAAGoJ,OAAO2N,cAActc,GAAGwN,EAAEjJ,EAAE4X,QAAQ7B,MAAMta,GAAE,EAAG,CAAC,IAAIrE,EAAE2c,EAAG9K,EAAErM,MAAM,GAAGmD,EAAE3I,EAAE,GAAGsR,EAAEtR,EAAE,GAAG0D,GAAE,EAAGI,GAAE,EAAG+I,OAAE,EAAO,IAAI,IAAI,IAAIlG,EAAE5C,EAAEpD,OAAO80B,QAAQnkB,GAAG0B,OAAO2N,cAAcjd,GAAGiD,EAAE5C,EAAEyc,QAAQ7B,MAAMjb,GAAE,EAAG,CAAC,IAAIsoB,EAAErP,EAAGhW,EAAEnB,MAAM,GAAGzC,EAAEipB,EAAE,GAAGiG,EAAGjG,EAAE,GAAGrjB,EAAE5F,EAAE,CAAC,CAAC,MAAM6G,GAAG9F,GAAE,EAAG+I,EAAEjD,CAAC,SAAS,IAAIlG,GAAG,MAAMK,EAAE2c,QAAQ3c,EAAE2c,QAAQ,SAAS,GAAG5c,EAAE,MAAM+I,CAAC,CAAC,CAAC,CAAC,CAAC,MAAMjD,GAAGsH,GAAE,EAAGpO,EAAE8G,CAAC,SAAS,IAAIvF,GAAG,MAAMuE,EAAE8X,QAAQ9X,EAAE8X,QAAQ,SAAS,GAAGxP,EAAE,MAAMpO,CAAC,CAAC,CAAC,CAA3c,CAA6cA,EAAEnC,OAAOoO,KAAKmC,GAAG8C,QAAQ,SAASpK,EAAEvF,GAAG,IAAIvB,EAAE+O,EAAE,OAAO,QAAQ/O,EAAEoO,EAAE7M,UAAK,IAASvB,OAAE,EAAOA,EAAE4yB,kBAAkB9rB,EAAEvF,GAAG,QAAQwN,EAAEX,EAAE7M,UAAK,IAASwN,OAAE,EAAOA,EAAE6jB,gBAAgB9rB,CAAC,GAAG,CAAC,IAAIjJ,OAAOoO,KAAKjM,GAAGkR,QAAQ,SAASpK,EAAEvF,GAAG,OAAOyY,EAAG,CAAC,EAAElT,EAAE9G,EAAEuB,GAAG,GAAG,CAAC,IAAIuE,EAAEjI,OAAOg1B,YAAYh1B,OAAO80B,QAAQ5jB,GAAGvO,KAAK,SAASsG,GAAG,IAAIvF,EAAEsY,EAAG/S,EAAE,GAAG,MAAM,CAACvF,EAAE,GAAG,CAAC2e,QAAO,EAAG+R,OAAO1wB,EAAE,IAAI,KAAKrE,EAAEuhB,IAAI5Y,EAAE3I,EAAE2S,WAAWrB,EAAE,CAAC2jB,MAAMnY,EAAG,CAAC,EAAEnU,EAAEssB,MAAMrsB,IAAI4jB,GAAE7jB,EAAE2I,IAAItR,EAAE0S,SAASpB,EAAE,EAAU6L,EAAT,SAAYvT,EAAEvF,GAAG,IAAI6M,EAAE,SAAStH,EAAEvF,GAAG,IAAI6M,EAAEmM,GAAGwP,GAAEjjB,EAAE2rB,UAAUzyB,EAAEia,EAAGnT,EAAEgsB,gBAAgBtyB,KAAK,SAASsG,GAAG,MAAM,CAACA,EAAEmrB,OAAOnrB,EAAEwiB,OAAO,KAAK9c,OAAO,CAAC,CAACjL,EAAE0wB,OAAO,sBAAsBljB,GAAE,EAAGjJ,GAAE,EAAG5I,OAAE,EAAO,IAAI,IAAI,IAAI2I,EAAE2I,EAAExO,EAAEkQ,OAAO2N,cAAc9O,GAAGlJ,EAAE2I,EAAEkP,QAAQ7B,MAAM9M,GAAE,EAAG,CAAC,IAAInO,EAAEiZ,EAAGhU,EAAEnD,MAAM,GAAG0L,EAAE8gB,EAAG,CAAC9gB,EAAEmN,GAAG3a,EAAE,GAAGA,EAAE,KAAK,CAAC,CAAC,MAAMkG,GAAGhB,GAAE,EAAG5I,EAAE4J,CAAC,SAAS,IAAIiI,GAAG,MAAMP,EAAEoP,QAAQpP,EAAEoP,QAAQ,SAAS,GAAG9X,EAAE,MAAM5I,CAAC,CAAC,CAAC,OAAOkR,CAAC,CAA/W,CAAiXtH,EAAEvF,GAAGiY,GAAG5J,SAAS,CAACqiB,OAAO7jB,GAAG,EAAUsf,EAAT,SAAY5mB,EAAEvF,EAAE6M,GAAG,IAAIpO,EAAE,CAAC,EAAE+O,GAAE,EAAGjJ,GAAE,EAAG5I,OAAE,EAAO,IAAI,IAAI,IAAI2I,EAAE2I,EAAEjN,EAAEwxB,kBAAkB7iB,OAAO2N,cAAc9O,GAAGlJ,EAAE2I,EAAEkP,QAAQ7B,MAAM9M,GAAE,EAAG,CAAC,IAAInO,EAAEiF,EAAEnD,MAAM1B,EAAEwd,EAAG5d,EAAEoyB,eAAepyB,EAAEqyB,oBAAoBryB,EAAEsyB,SAAStyB,EAAEuyB,YAAYrsB,EAAEsH,GAAGpO,EAAEY,EAAEsyB,UAAUnZ,EAAGC,EAAG,CAAC,EAAEha,EAAEY,EAAEsyB,WAAWvZ,EAAG,CAAC,EAAE/Y,EAAEuyB,YAAY,CAAClB,OAAOjxB,EAAEkf,QAAO,IAAK,CAAC,CAAC,MAAMpZ,GAAGhB,GAAE,EAAG5I,EAAE4J,CAAC,SAAS,IAAIiI,GAAG,MAAMP,EAAEoP,QAAQpP,EAAEoP,QAAQ,SAAS,GAAG9X,EAAE,MAAM5I,CAAC,CAAC,CAAC4b,IAAKlJ,SAAS,CAACwiB,QAAQpyB,GAAG,EAAUka,EAAT,SAAYpT,EAAEvF,GAAG0a,GAAGnV,EAAEvF,GAAG,IAAI6M,EAAE6b,GAAE1oB,EAAE8d,IAAI9N,GAAE3B,UAAU,SAASrO,GAAG,OAAOwY,EAAGC,EAAG,CAAC,EAAEzY,GAAG,CAACkxB,QAAQ1Y,EAAGC,EAAG,CAAC,EAAEzY,EAAEkxB,SAAS9Y,EAAG,CAAC,EAAE7S,EAAEsH,IAAIskB,aAAa3Y,EAAGC,EAAG,CAAC,EAAEzY,EAAEmxB,cAAc/Y,EAAG,CAAC,EAAE7S,GAAE,KAAM,GAAG,EAAUkU,EAAT,SAAYlU,GAAG,IAAIvF,EAAEgQ,GAAE1B,WAAW0B,GAAE3B,SAAS,CAAC6iB,QAAQ1Y,EAAGC,EAAG,CAAC,EAAEzY,EAAEkxB,SAAS9Y,EAAG,CAAC,EAAE7S,EAAEuY,MAAM,EAAU1E,EAAT,SAAY7T,GAAG,IAAIvF,EAAEgQ,GAAE1B,WAAW0B,GAAE3B,SAAS,CAAC6iB,QAAQ1Y,EAAGC,EAAG,CAAC,EAAEzY,EAAEkxB,SAAS9Y,EAAG,CAAC,EAAE7S,EAAE+X,MAAM,EAAUzE,EAAT,SAAYtT,EAAEvF,GAAG0a,GAAGnV,EAAEvF,GAAG,IAAI6M,EAAE6b,GAAE1oB,EAAE8d,IAAIrf,EAAEuR,GAAE1B,WAAW7P,EAAEyyB,QAAQ3rB,IAAI4I,QAAQC,MAAM,+BAA+BnD,OAAO1F,EAAE,oGAAoGyK,GAAE3B,SAAS,CAAC6iB,QAAQ1Y,EAAGC,EAAG,CAAC,EAAEha,EAAEyyB,SAAS9Y,EAAG,CAAC,EAAE7S,EAAEsH,KAAK,EAAU6M,EAAT,SAAYnU,GAAG,IAAIvF,EAAEpE,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,WAAWoU,GAAE3B,UAAU,SAASxB,GAAG,OAAO2L,EAAGC,EAAG,CAAC,EAAE5L,GAAG,CAAC0kB,gBAAgB7Y,EAAG7L,EAAE0kB,iBAAiBtmB,OAAO,CAAC,CAAC8c,OAAO/nB,EAAE0wB,OAAOnrB,MAAM,GAAG,EAAUiR,EAAT,SAAYjR,GAAG,OAAO,IAAIuK,SAAS,SAAS9P,GAAG,IAAI6M,EAAE,SAAStH,GAAG,GAAGA,EAAEoZ,QAAQpZ,EAAEmrB,OAAO,CAAC,IAAI7jB,EAAEyb,GAAE,CAAC,qBAAqB,yBAAyB/iB,EAAEmrB,QAAQ1wB,EAAE6M,GAAGW,GAAGA,GAAG,CAAC,EAAE/O,EAAE0R,EAAE5K,GAAGsH,EAAEpO,EAAE6P,YAAY,IAAId,EAAE/O,EAAE8P,UAAU1B,EAAE,GAAG,EAAUsgB,EAAT,SAAY5nB,GAAG,OAAO,IAAIuK,SAAS,SAAS9P,GAAG,IAAI6M,EAAE,SAAStH,GAAG,GAAGA,EAAEorB,4BAA4BprB,EAAEmrB,OAAO,CAAC,IAAI7jB,EAAEpO,EAAE,QAAQoO,EAAEtH,EAAEmrB,OAAO,gCAA2B,IAAS7jB,EAAEA,EAAE,CAAC,EAAE7M,EAAEvB,GAAG+O,GAAGA,GAAG,CAAC,EAAE/O,EAAE0R,EAAE5K,GAAGsH,EAAEpO,EAAE6P,YAAY,IAAId,EAAE/O,EAAE8P,UAAU1B,EAAE,GAAG,EAAUqf,EAAT,SAAY3mB,EAAEvF,EAAE6M,GAAGsN,EAAG5U,EAAEvF,EAAE6M,GAAG,IAAIpO,EAAEqvB,GAAGvoB,EAAEvF,GAAG,OAAOie,GAAG1Y,EAAE9G,EAAEoO,GAAGpO,CAAC,EAAUwe,EAAT,SAAY1X,EAAEvF,EAAE6M,EAAEpO,EAAE+O,EAAEjJ,GAAG,IAAI5I,EAAE2I,EAAE2I,EAAE5N,EAAEI,EAAE,SAAS8F,GAAG,OAAO+S,EAAG/S,EAAEsS,MAAM,KAAK,GAAG,EAAE,CAAxC,CAA0CpZ,GAAG+J,EAAEgF,EAAE0jB,QAAQzxB,GAAG6C,EAAEkG,EAAE/I,EAAEO,EAAEN,EAAEwa,EAAG1M,EAAEjJ,GAAGojB,EAAE1N,EAAG1U,EAAE7F,GAAGhB,EAAE,QAAQW,EAAE,MAAMsoB,GAAG,QAAQhsB,EAAEgsB,EAAE0J,sBAAiB,IAAS11B,GAAG,QAAQ2I,EAAE3I,EAAEkR,UAAK,IAASvI,GAAG,QAAQ2I,EAAE3I,EAAEutB,iBAAY,IAAS5kB,OAAE,EAAOA,EAAExO,UAAK,IAASY,EAAEA,EAAE,CAAC,EAAES,EAAE6tB,EAAG,CAAC1T,EAAG3X,EAAE5C,GAAGhB,IAAIC,EAAE,MAAM6J,EAAEA,EAAEgF,EAAE0jB,QAAQlxB,GAAGma,EAAGxb,EAAEmB,EAAEwC,GAAG,IAAIlD,EAAE0uB,GAAGnvB,EAAEmB,GAAG,OAAOme,GAAGtf,EAAES,EAAEkD,UAAUlD,EAAEiyB,eAAejyB,CAAC,EAAkTwuB,EAAT,SAAYroB,EAAEvF,EAAE6M,GAAG,IAAIpO,EAAE,GAAGwM,OAAOjL,EAAE,oBAAoBiL,OAAO4B,GAAGW,EAAE,0BAA0BvC,OAAOxM,EAAE,KAAK8F,EAAEjI,OAAOoO,KAAKnF,GAAG6K,QAAQ,SAAS7K,GAAG,OAAO,CAAC,MAAM,SAAS,QAAQ,aAAa/I,SAAS+I,EAAE,IAAIhB,EAAE1I,QAAQgiB,EAAGpf,EAAE+O,EAAE,4BAA4BvC,OAAO1G,EAAE5H,KAAK,QAAQ,MAAM4I,EAAE4J,MAAMlT,MAAMC,QAAQqJ,EAAE4J,MAAM5J,EAAE4J,IAAIyJ,OAAO,SAASrT,GAAG,MAAM,iBAAiBA,CAAC,KAAKsY,EAAGpf,EAAE+O,EAAE,kEAAkEjI,EAAEohB,SAAS1qB,MAAMC,QAAQqJ,EAAEohB,SAASphB,EAAEohB,OAAO/N,OAAO,SAASrT,GAAG,MAAM,iBAAiBA,CAAC,KAAKsY,EAAGpf,EAAE+O,EAAE,qEAAqEjI,EAAEusB,QAAQ71B,MAAMC,QAAQqJ,EAAEusB,QAAQvsB,EAAEusB,MAAMlZ,OAAO,SAASrT,GAAG,MAAM,iBAAiBA,CAAC,KAAKsY,EAAGpf,EAAE+O,EAAE,oEAAoEjI,EAAEssB,YAAYpW,EAAGlW,EAAEssB,YAAYhU,EAAGpf,EAAE+O,EAAE,yEAAyE,EAAU0M,EAAT,SAAY3U,EAAEvF,GAAG,OAAO0Y,EAAGnT,EAAEgsB,gBAAgBtyB,KAAK,SAASsG,GAAG,OAAOA,EAAEmrB,MAAM,KAAKzlB,OAAO,CAACjL,EAAE0wB,QAAQ,EAA+2E7C,EAAT,SAAYtoB,EAAEvF,EAAE6M,GAAG,IAAIpO,EAAEuB,EAAEkxB,QAAQ3rB,GAAGiI,EAAEyM,EAAG1U,EAAE2U,EAAGla,EAAE6M,IAAIsN,EAAG1b,EAAE+O,EAAEjI,GAAG,IAAIhB,EAAEupB,GAAGrvB,EAAE+O,GAAG,OAAOyQ,GAAGxf,EAAE8F,EAAEgB,UAAUhB,EAAE8sB,eAAe9sB,CAAC,EAAU6nB,EAAT,SAAY7mB,EAAEvF,EAAE6M,GAAG,IAAIpO,EAAEwb,EAAG1U,EAAE2U,EAAGla,EAAE6M,IAAIW,EAAEsgB,GAAGhQ,GAAGrf,GAAG,OAAOwf,GAAGH,GAAGtQ,EAAEjI,UAAUiI,EAAE6jB,eAAe7jB,CAAC,EAAUyM,EAAT,SAAY1U,EAAEvF,GAAG,OAAO2tB,EAAG3tB,EAAEf,KAAK,SAASe,GAAG,OAAOA,EAAEuF,EAAE,IAAI6K,QAAQ,SAAS7K,GAAG,QAAQA,CAAC,IAAI,EAAUooB,EAAT,SAAYpoB,GAAG,OAAO8V,GAAEqN,GAAFrN,CAAK,CAAC,EAAE9V,EAAE,EAAU4U,EAAT,SAAY5U,EAAEvF,GAAG,IAAI6M,EAAEjR,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG6C,GAAE,EAAG+O,GAAE,EAAGjJ,OAAE,EAAO,IAAI,IAAI,IAAI5I,EAAE2I,EAAEhI,OAAOoO,KAAK1K,GAAG2O,OAAO2N,cAAc7d,GAAG9C,EAAE2I,EAAE6X,QAAQ7B,MAAM7b,GAAE,EAAG,CAAC,IAAIwO,EAAEtR,EAAEwF,MAAM9B,EAAEW,EAAEiN,GAAGxN,EAAEoN,EAAE,IAAII,EAAEzE,EAAEjD,EAAE0H,GAAG1H,EAAE/J,eAAeyR,GAAGoN,GAAG7R,EAAEnJ,EAAEI,GAAG,mBAAmBwN,GAAG,KAAKJ,GAAGgR,EAAGpe,EAAE,uBAAuBwL,OAAOxL,EAAE,yBAAyB,CAAC,CAAC,MAAM8F,GAAGiI,GAAE,EAAGjJ,EAAEgB,CAAC,SAAS,IAAI9G,GAAG,MAAM6F,EAAE+X,QAAQ/X,EAAE+X,QAAQ,SAAS,GAAG7O,EAAE,MAAMjJ,CAAC,CAAC,CAAC,EAAitCgW,EAAT,SAAYhV,EAAEvF,EAAE6M,GAAG7M,GAAG6c,EAAGtX,EAAE,CAAC,CAACtJ,MAAMitB,GAAE/X,QAAQpU,GAAEg1B,YAAYpf,GAAEwO,OAAOlR,GAAE3T,OAAOgY,GAAEyM,OAAOuB,GAAE0P,KAAKrf,GAAEsf,wBAAwBtf,GAAEuf,0BAA0Bvf,IAAG3S,IAAI6M,EAAE,EAAUgQ,EAAT,SAAYtX,EAAEvF,EAAE6M,GAAG,GAAG7M,EAAE,IAAI,IAAIvB,GAAE,EAAG+O,GAAE,EAAGjJ,OAAE,EAAO,IAAI,IAAI,IAAI5I,EAAE2I,EAAEtE,EAAE2O,OAAO2N,cAAc7d,GAAG9C,EAAE2I,EAAE6X,QAAQ7B,MAAM7b,GAAE,EAAG,CAAC,IAAIwO,GAAE,EAAGtR,EAAEwF,OAAO0L,GAAG,iBAAiBI,GAAG4Q,EAAGtY,EAAE,iBAAiBsH,EAAE,6BAA6B5B,OAAO1F,EAAE,MAAM0F,OAAOgC,GAAG,+BAA+BhC,OAAO4B,EAAE,SAAS5B,OAAO1F,EAAE,MAAM0F,OAAOgC,GAAG,CAAC,CAAC,MAAM1H,GAAGiI,GAAE,EAAGjJ,EAAEgB,CAAC,SAAS,IAAI9G,GAAG,MAAM6F,EAAE+X,QAAQ/X,EAAE+X,QAAQ,SAAS,GAAG7O,EAAE,MAAMjJ,CAAC,CAAC,CAAC,CAAC,MAAMvE,GAAGmO,QAAQC,MAAM,kCAAkCnD,OAAO1F,EAAE,4BAA4B0F,OAAOjL,GAAG,CAAC,EAAm7Cwb,EAAT,SAAYjW,GAAG,QAAQA,GAAGjJ,OAAOoO,KAAKnF,GAAG6K,QAAQ,SAAS7K,GAAG,OAAO,CAAC,WAAW,eAAe/I,SAAS+I,EAAE,IAAI1J,OAAO,CAAC,EAAU4f,EAAT,SAAYlW,GAAG,MAAM,iBAAiBA,IAAItJ,MAAMC,QAAQqJ,IAAI,OAAOA,CAAC,EAAyBsY,EAAT,SAAYtY,EAAEvF,GAAG,IAAI6M,EAAE,GAAG5B,OAAO1F,EAAE,OAAO0F,OAAOjL,GAAGgb,GAAGY,IAAI/O,KAAKsB,QAAQC,MAAMpO,GAAGgb,GAAG7L,IAAItC,GAAG,EAAU0Q,GAAT,SAAYhY,GAAGA,EAAEyV,GAAGlQ,SAAS,SAAS9K,GAAGA,EAAEib,WAAW1V,IAAIyV,GAAG5L,OAAOpP,EAAE,IAAIgb,GAAGzL,OAAO,EAArmvB9Q,EAAEA,EAAE+O,GAAG/O,EAAEiB,EAAE8N,EAAE,CAACE,KAAK,kBAAIqb,IAAEoJ,kBAAkB,kBAAI5U,IAAG6U,qBAAqB,kBAAIliB,IAAEmiB,oBAAoB,kBAAIriB,IAAErC,mBAAmB,kBAAIgL,GAAG2Z,4BAA4B,kBAAIzZ,GAAGjL,UAAU,kBAAI4I,GAAG+b,eAAe,kBAAIpiB,GAAEqiB,mBAAmB,kBAAIxa,GAAGya,4BAA4B,kBAAI1a,GAAG2a,uBAAuB,kBAAI3iB,GAAE4iB,gCAAgC,kBAAI/a,GAAGgb,6BAA6B,kBAAI1V,GAAE2V,yBAAyB,kBAAItb,GAAGub,wBAAwB,kBAAI3F,GAAG4F,4BAA4B,kBAAI9a,IAAGmJ,QAAQ,kBAAIvB,IAAGoB,MAAM,kBAAIrD,IAAGoV,4BAA4B,kBAAItS,IAAGuS,MAAM,kBAAIjV,IAAGkV,cAAc,kBAAIhH,GAAGiH,QAAQ,kBAAIzZ,GAAG0Z,+BAA+B,kBAAI3Z,GAAG4Z,6BAA6B,kBAAIja,GAAGka,qBAAqB,kBAAIjI,IAAEkI,UAAU,kBAAItK,GAAEpb,WAAW,kBAAIqQ,MAAK,IAAMjR,GAAE,mBAAmB3Q,OAAOoQ,GAAGpQ,OAAOoQ,GAAG,SAASnH,EAAEvF,GAAG,OAAOuF,IAAIvF,EAAE,IAAIuF,GAAG,EAAEA,GAAG,EAAEvF,EAAEuF,GAAGA,GAAGvF,GAAGA,CAAC,EAAMX,GAAE/C,OAAOC,UAAUF,SAASoD,GAAE,WAAW,MAAM,uBAAuBJ,GAAE3C,KAAKd,WAAW,SAAS2J,GAAG,MAAM,uBAAuBlG,GAAE3C,KAAK6I,EAAE,EAAE,SAASA,GAAG,OAAOjB,EAAE,SAASiB,EAAE,CAAC,CAA/I,GAAyJiD,GAAE/I,GAAM6C,IAAG,CAACjG,SAAS,MAAMm3B,qBAAqB,YAAY9zB,GAAE,CAAC,cAAc,UAAU,gBAAgB,WAAW,uBAAuB,iBAAiB,kBAAkBioB,GAAE,WAAW,OAAO/rB,UAAU43B,qBAAqB,SAAS,CAA1D,GAA8D90B,GAAE,SAAS6G,EAAEvF,GAAG,IAAI,IAAI6M,EAAE,EAAEA,EAAEtH,EAAE1J,QAAQ,CAAC,GAAG0J,EAAEsH,KAAK7M,EAAE,OAAM,EAAG6M,GAAG,CAAC,CAAC,OAAM,CAAE,EAAQ/M,GAAE,mBAAmBxD,OAAOoO,MAAMid,GAAE3nB,GAAG,SAASuF,GAAG,GAAGjJ,OAAOiJ,KAAKA,EAAE,MAAM,GAAG,IAAIvF,EAAE6M,EAAEpO,EAAE,GAAG+O,EAAEma,IAAGnf,GAAEjD,GAAG,IAAIvF,KAAKuF,GAAGjB,EAAEtE,EAAEuF,IAAIiI,GAAG,WAAWxN,IAAIvB,EAAEA,EAAE5C,QAAQmE,GAAG,GAAGsC,GAAE,IAAIuK,EAAEnN,GAAE7D,OAAO,EAAEgR,GAAG,GAAGvI,EAAEtE,EAAEN,GAAEmN,GAAGtH,KAAK7G,GAAED,EAAEuB,KAAKvB,EAAEA,EAAE5C,QAAQmE,GAAG6M,GAAG,EAAE,OAAOpO,CAAC,IAAIuB,GAAG,SAASuF,GAAG,OAAOjJ,OAAOiJ,KAAKA,EAAE,GAAGjJ,OAAOoO,KAAKnF,EAAE,IAAI5G,GAAEqB,GAAG,SAASuF,GAAG,OAAO,OAAOA,EAAE,YAAO,IAASA,EAAE,YAAYjJ,OAAOC,UAAUF,SAASK,KAAK6I,GAAGrG,MAAM,GAAG,EAAE,IAAuI,SAASV,GAAE+G,EAAEvF,EAAE6M,EAAEpO,GAAG,GAAGwO,GAAE1H,EAAEvF,GAAG,OAAM,EAAG,IAAIwN,EAAEjJ,EAAE5I,EAAEgD,GAAE4G,GAAG,GAAG5J,IAAIgD,GAAEqB,GAAG,OAAM,EAAG,GAAG,MAAMuF,GAAG,MAAMvF,EAAE,OAAM,EAAG,GAAG,mBAAmBuF,EAAE,wBAAwB,mBAAmBvF,EAAE,uBAAuB,MAAM,mBAAmBuF,EAAE,wBAAwBA,EAAE,uBAAuBvF,IAAI,mBAAmBA,EAAE,wBAAwBA,EAAE,uBAAuBuF,GAAG,GAAG,mBAAmBA,EAAEkuB,QAAQ,mBAAmBzzB,EAAEyzB,OAAO,MAAM,mBAAmBluB,EAAEkuB,QAAQluB,EAAEkuB,OAAOzzB,IAAI,mBAAmBA,EAAEyzB,QAAQzzB,EAAEyzB,OAAOluB,GAAG,OAAO5J,GAAG,IAAI,YAAY,IAAI,QAAQ,IAAI,SAAS,GAAG,mBAAmB4J,EAAE0G,aAAa,aAAauB,EAAEjI,EAAE0G,YAAY,OAAO1H,EAAEwc,OAAOvT,GAAGkmB,MAAM,oBAAoB,GAAGnvB,EAAE,IAAI,OAAOgB,IAAIvF,EAAE,MAAM,IAAI,UAAU,IAAI,SAAS,IAAI,SAAS,SAAUuF,IAAAA,EAAAA,YAAP,EAAOA,WAAUvF,IAAAA,EAAAA,YAAP,EAAOA,MAAIiN,GAAE1H,EAAEwV,UAAU/a,EAAE+a,WAAW,OAAM,EAAG,MAAM,IAAI,OAAO,IAAI9N,GAAE1H,EAAEwV,UAAU/a,EAAE+a,WAAW,OAAM,EAAG,MAAM,IAAI,QAAQ,OAAOxV,EAAEmG,OAAO1L,EAAE0L,MAAMnG,EAAEiL,UAAUxQ,EAAEwQ,QAAQ,IAAI,SAAS,GAAGjL,EAAEwiB,SAAS/nB,EAAE+nB,QAAQxiB,EAAE6iB,SAASpoB,EAAEooB,QAAQ7iB,EAAEouB,aAAa3zB,EAAE2zB,YAAYpuB,EAAEquB,YAAY5zB,EAAE4zB,WAAWruB,EAAEsuB,SAAS7zB,EAAE6zB,QAAQtuB,EAAEuuB,UAAU9zB,EAAE8zB,QAAQ,OAAM,EAAG,IAAI,IAAIz0B,EAAEwN,EAAEhR,OAAO,EAAEwD,GAAG,GAAG,CAAC,GAAGwN,EAAExN,KAAKkG,EAAE,OAAO9G,EAAEY,KAAKW,EAAEX,GAAG,CAAC,CAAC,OAAO1D,GAAG,IAAI,MAAM,OAAO4J,EAAEwuB,OAAO/zB,EAAE+zB,MAAM30B,EAAEmG,EAAE6rB,UAAUpxB,EAAEoxB,UAAUvkB,EAAE5B,OAAO,CAAC1F,IAAI9G,EAAEwM,OAAO,CAACjL,KAAK,IAAI,MAAM,OAAOuF,EAAEwuB,OAAO/zB,EAAE+zB,MAAM30B,EAAEmG,EAAEyuB,SAASh0B,EAAEg0B,SAASnnB,EAAE5B,OAAO,CAAC1F,IAAI9G,EAAEwM,OAAO,CAACjL,KAAK,IAAI,YAAY,IAAI,QAAQ,IAAI,SAAS,IAAI,UAAU,IAAI,SAAS,IAAI,SAAS,IAAI,OAAO,IAAI,QAAQ,IAAI,SAAS,IAAI,YAAY,IAAI,aAAa,IAAI,oBAAoB,IAAI,aAAa,IAAI,cAAc,IAAI,aAAa,IAAI,cAAc,IAAI,eAAe,IAAI,eAAe,IAAI,cAAc,MAAM,QAAQ,OAAM,EAAG,IAAIP,EAAEK,GAAEyF,GAAG,GAAG9F,EAAE5D,SAASiE,GAAEE,GAAGnE,OAAO,OAAM,EAAG,IAAI2M,EAAEqE,EAAE5B,OAAO,CAAC1F,IAAIjD,EAAE7D,EAAEwM,OAAO,CAACjL,IAAI,IAAIX,EAAEI,EAAE5D,OAAO,EAAEwD,GAAG,GAAG,CAAC,IAAIK,EAAED,EAAEJ,GAAG,IAAIiF,EAAE5E,EAAEM,KAAKxB,GAAEwB,EAAEN,GAAG6F,EAAE7F,GAAG8I,EAAElG,GAAG,OAAM,EAAGjD,GAAG,CAAC,CAAC,OAAM,CAAE,CAAC,IAAM8oB,GAAEtb,GAAG,SAAStH,EAAEvF,GAAG,OAAOxB,GAAE+G,EAAEvF,EAAE,GAAG,GAAG,IAA2pBsI,GAAE+f,GAAG,SAAS9iB,EAAEvF,EAAE6M,GAAG,IAAIpO,EAAE+O,EAAE,CAAC,EAAE,IAAI/O,KAAKuB,EAAEsE,EAAE7F,EAAEuB,KAAKwN,EAAE/O,GAAG6F,EAAE7F,EAAEoO,GAAGtH,EAAE9G,EAAEuB,EAAEvB,GAAGoO,EAAEpO,IAAIuB,EAAEvB,IAAI,IAAIA,KAAKoO,EAAEvI,EAAE7F,EAAEoO,KAAKvI,EAAE7F,EAAE+O,KAAKA,EAAE/O,GAAGoO,EAAEpO,IAAI,OAAO+O,CAAC,IAAInL,GAAEgmB,GAAG,SAAS9iB,EAAEvF,EAAE6M,EAAEpO,GAAG,OAAO6J,IAAG,SAASuE,EAAEpO,EAAE+O,GAAG,OAAOmb,EAAElqB,IAAIkqB,EAAEnb,GAAGjI,EAAEvF,EAAEvB,EAAE+O,GAAGxN,EAAE6M,EAAEpO,EAAE+O,EAAE,GAAGX,EAAEpO,EAAE,IAAIiqB,GAAE7b,GAAG,SAAStH,EAAEvF,GAAG,OAAOqC,IAAG,SAASkD,EAAEvF,EAAE6M,GAAG,OAAOA,CAAC,GAAGtH,EAAEvF,EAAE,IAAIsoB,GAAEzb,GAAG,SAAStH,EAAEvF,GAAG,IAAI,IAAI6M,EAAE,CAAC,EAAEpO,EAAE,CAAC,EAAE+O,EAAE,EAAEjJ,EAAEgB,EAAE1J,OAAO2R,EAAEjJ,GAAG9F,EAAE8G,EAAEiI,IAAI,EAAEA,GAAG,EAAE,IAAI,IAAI7R,KAAKqE,EAAEvB,EAAEjD,eAAeG,KAAKkR,EAAElR,GAAGqE,EAAErE,IAAI,OAAOkR,CAAC,IAAI,SAASpE,GAAElD,EAAEvF,EAAE6M,EAAEpO,GAAG,IAAI+O,EAAEjJ,EAAE,SAASiJ,GAAG,IAAI,IAAIjJ,EAAEvE,EAAEnE,OAAOF,EAAE,EAAEA,EAAE4I,GAAG,CAAC,GAAGgB,IAAIvF,EAAErE,GAAG,OAAOkR,EAAElR,GAAGA,GAAG,CAAC,CAAC,IAAI,IAAI2I,KAAKtE,EAAErE,EAAE,GAAG4J,EAAEsH,EAAElR,EAAE,GAAG6R,EAAEjI,EAAEiI,EAAElJ,GAAG7F,EAAEgK,GAAElD,EAAEjB,GAAGtE,EAAE6M,GAAE,GAAItH,EAAEjB,GAAG,OAAOkJ,CAAC,EAAE,OAAO7O,GAAE4G,IAAI,IAAI,SAAS,OAAOhB,EAAE,CAAC,GAAG,IAAI,QAAQ,OAAOA,EAAE,IAAI,IAAI,OAAO,OAAO,IAAInH,KAAKmI,EAAEwV,WAAW,IAAI,SAAS,OAAOvN,EAAEjI,EAAE,IAAIoU,OAAOnM,EAAEua,QAAQva,EAAE4a,OAAO,IAAI,KAAK5a,EAAEmmB,WAAW,IAAI,KAAKnmB,EAAEomB,UAAU,IAAI,KAAKpmB,EAAEqmB,OAAO,IAAI,KAAKrmB,EAAEsmB,QAAQ,IAAI,KAAK,QAAQ,OAAOvuB,EAAE,CAAC,IAA+hFwjB,GAAzhFP,GAAExoB,GAAG,SAASuF,GAAG,OAAO,MAAMA,GAAG,mBAAmBA,EAAE8G,MAAM9G,EAAE8G,QAAQ5D,GAAElD,EAAE,GAAG,IAAG,EAAG,IAAIyjB,GAAE/sB,MAAMC,SAAS,SAASqJ,GAAG,OAAO,MAAMA,GAAGA,EAAE1J,QAAQ,GAAG,mBAAmBS,OAAOC,UAAUF,SAASK,KAAK6I,EAAE,EAAE0gB,GAAEjmB,GAAG,SAASuF,GAAG,QAAQyjB,GAAEzjB,MAAMA,GAAG,iBAAiBA,IAAI,SAASA,GAAG,MAAM,oBAAoBjJ,OAAOC,UAAUF,SAASK,KAAK6I,EAAE,CAAvE,CAAyEA,KAAK,IAAIA,EAAEsG,WAAWtG,EAAE1J,OAAO,IAAI0J,EAAE1J,QAAQ0J,EAAE1J,OAAO,GAAG0J,EAAE/J,eAAe,IAAI+J,EAAE/J,eAAe+J,EAAE1J,OAAO,GAAG,IAAQgU,GAAE,eAAoBtK,EAAT,SAAWA,GAAGlI,KAAKmL,EAAEjD,CAAC,EAAC,OAAOA,EAAEhJ,UAAU,qBAAqB,WAAW,MAAM,IAAIwH,MAAM,gCAAgC,EAAEwB,EAAEhJ,UAAU,uBAAuB,SAASgJ,GAAG,OAAOA,CAAC,EAAEA,EAAEhJ,UAAU,qBAAqB,SAASgJ,EAAEvF,GAAG,OAAO3C,KAAKmL,EAAEjD,EAAEvF,EAAE,EAAEuF,CAAC,CAApQ,GAAwQkjB,GAAE5b,GAAG,SAAStH,EAAEvF,GAAG,OAAO,SAASuF,EAAEvF,GAAG,OAAOuF,GAAG,KAAK,EAAE,OAAO,WAAW,OAAOvF,EAAE5D,MAAMiB,KAAKzB,UAAU,EAAE,KAAK,EAAE,OAAO,SAAS2J,GAAG,OAAOvF,EAAE5D,MAAMiB,KAAKzB,UAAU,EAAE,KAAK,EAAE,OAAO,SAAS2J,EAAEsH,GAAG,OAAO7M,EAAE5D,MAAMiB,KAAKzB,UAAU,EAAE,KAAK,EAAE,OAAO,SAAS2J,EAAEsH,EAAEpO,GAAG,OAAOuB,EAAE5D,MAAMiB,KAAKzB,UAAU,EAAE,KAAK,EAAE,OAAO,SAAS2J,EAAEsH,EAAEpO,EAAE+O,GAAG,OAAOxN,EAAE5D,MAAMiB,KAAKzB,UAAU,EAAE,KAAK,EAAE,OAAO,SAAS2J,EAAEsH,EAAEpO,EAAE+O,EAAEjJ,GAAG,OAAOvE,EAAE5D,MAAMiB,KAAKzB,UAAU,EAAE,KAAK,EAAE,OAAO,SAAS2J,EAAEsH,EAAEpO,EAAE+O,EAAEjJ,EAAE5I,GAAG,OAAOqE,EAAE5D,MAAMiB,KAAKzB,UAAU,EAAE,KAAK,EAAE,OAAO,SAAS2J,EAAEsH,EAAEpO,EAAE+O,EAAEjJ,EAAE5I,EAAE2I,GAAG,OAAOtE,EAAE5D,MAAMiB,KAAKzB,UAAU,EAAE,KAAK,EAAE,OAAO,SAAS2J,EAAEsH,EAAEpO,EAAE+O,EAAEjJ,EAAE5I,EAAE2I,EAAE2I,GAAG,OAAOjN,EAAE5D,MAAMiB,KAAKzB,UAAU,EAAE,KAAK,EAAE,OAAO,SAAS2J,EAAEsH,EAAEpO,EAAE+O,EAAEjJ,EAAE5I,EAAE2I,EAAE2I,EAAE5N,GAAG,OAAOW,EAAE5D,MAAMiB,KAAKzB,UAAU,EAAE,KAAK,GAAG,OAAO,SAAS2J,EAAEsH,EAAEpO,EAAE+O,EAAEjJ,EAAE5I,EAAE2I,EAAE2I,EAAE5N,EAAEI,GAAG,OAAOO,EAAE5D,MAAMiB,KAAKzB,UAAU,EAAE,QAAQ,MAAM,IAAImI,MAAM,+EAA+E,CAAv1B,CAAy1BwB,EAAE1J,QAAQ,WAAW,OAAO0J,EAAEnJ,MAAM4D,EAAEpE,UAAU,GAAG,IAAUitB,GAAEJ,GAAiS1oB,GAAE,oBAAoB4O,OAAOA,OAAO2N,SAAS,aAAwkBjB,GAAEgN,GAA7jB,SAAW9iB,EAAEvF,EAAE6M,GAAG,GAAG,mBAAmBtH,IAAIA,EAAE,SAASA,GAAG,OAAO,IAAIsK,GAAEtK,EAAE,CAA3B,CAA6BA,IAAI0gB,GAAEpZ,GAAG,OAAO,SAAStH,EAAEvF,EAAE6M,GAAG,IAAI,IAAIpO,EAAE,EAAE+O,EAAEX,EAAEhR,OAAO4C,EAAE+O,GAAG,CAAC,IAAIxN,EAAEuF,EAAE,qBAAqBvF,EAAE6M,EAAEpO,MAAMuB,EAAE,wBAAwB,CAACA,EAAEA,EAAE,sBAAsB,KAAK,CAACvB,GAAG,CAAC,CAAC,OAAO8G,EAAE,uBAAuBvF,EAAE,CAAtL,CAAwLuF,EAAEvF,EAAE6M,GAAG,GAAG,mBAAmBA,EAAE,uBAAuB,OAAOsc,EAAE5jB,EAAEvF,EAAE6M,EAAE,uBAAuB,GAAG,MAAMA,EAAE9M,IAAG,OAAO6oB,EAAErjB,EAAEvF,EAAE6M,EAAE9M,OAAM,GAAG,mBAAmB8M,EAAEsP,KAAK,OAAOyM,EAAErjB,EAAEvF,EAAE6M,GAAG,GAAG,mBAAmBA,EAAE8C,OAAO,OAAOwZ,EAAE5jB,EAAEvF,EAAE6M,EAAE,UAAU,MAAM,IAAI0P,UAAU,yCAAyC,KAAoG,SAAShX,GAAGA,EAAEtJ,MAAM,QAAQsJ,EAAE4L,QAAQ,UAAU5L,EAAEwsB,YAAY,cAAcxsB,EAAE4b,OAAO,SAAS5b,EAAEjJ,OAAO,SAASiJ,EAAEwb,OAAO,SAASxb,EAAEysB,KAAK,OAAOzsB,EAAE0sB,wBAAwB,0BAA0B1sB,EAAE2sB,0BAA0B,2BAA2B,CAA3P,CAA6PnJ,KAAIA,GAAE,CAAC,IAAI,IAAIG,GAAED,GAAG,SAAS1jB,GAAG,OAAOtJ,MAAMC,QAAQqJ,EAAE,GAAG,oBAAoBxI,GAAEksB,GAAG,SAAS1jB,GAAG,MAAM,kBAAkBA,CAAC,GAAG,qBAAqB0K,GAAEgZ,GAAG,SAAS1jB,GAAG,MAAM,iBAAiBA,CAAC,GAAG,oBAAoB+c,GAAE2G,GAAG,SAAS1jB,GAAG,MAAM,iBAAiBA,CAAC,GAAG,oBAAoB+O,GAAE2U,GAAG,SAAS1jB,GAAG,MAAM,iBAAiBA,IAAItJ,MAAMC,QAAQqJ,IAAI,OAAOA,CAAC,GAAG,4CAA4CoN,GAAEsW,GAAG,SAAS1jB,GAAG,MAAM,kEAAkEwU,KAAKxU,IAAI,kBAAkBwU,KAAKxU,EAAE,GAAG,6DAA6D2P,GAAEzW,EAAE,KAAKuR,IAAE,EAAGkF,GAAErG,mBAAmB,kBAAkB,CAAC0iB,gBAAgB,GAAGL,QAAQ,CAAC,EAAEC,aAAa,CAAC,IAAI9F,IAAE,EAAGnW,GAAErG,mBAAmB,mBAAmB,CAAC6hB,OAAO,WAAW,IAAI,OAAOjgB,KAAKkM,MAAMsT,aAAaC,QAAQ,4BAA4B,KAAK,CAAC,MAAM3qB,GAAG,MAAM,CAAC,CAAC,CAAC,CAA1G,KAAgH8lB,GAAE9c,WAAW,SAAShJ,GAAG,IAAIvF,EAAEA,EAAEuF,EAAEmrB,OAAOT,aAAaE,QAAQ,0BAA0B1f,KAAKC,UAAU1Q,GAAG,IAAI,IAAIkQ,IAAE,EAAGgF,GAAErG,mBAAmB,kCAAkC,CAAC2iB,kBAAkB,KAAipBvZ,IAAG,EAAG/C,GAAErG,mBAAmB,2BAA2B,CAAC6hB,OAAO,CAAC,IAA+7L,SAAS1X,GAAGzT,GAAG,OAAOA,EAAE/J,eAAe,YAAYgd,EAAGC,EAAG,CAAC,EAAElT,GAAG,CAACiqB,OAAOjqB,EAAEsb,SAASoT,QAAQ,YAAYxY,EAAGlW,GAAGjJ,OAAOoO,KAAKnF,GAAGoK,QAAQ,SAAS3P,EAAE6M,GAAG,OAAO7M,EAAE6M,GAAGmM,GAAGzT,EAAEsH,IAAI7M,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAASga,GAAGzU,EAAEvF,GAAG,OAAOyb,EAAGlW,GAAGjJ,OAAOoO,KAAKnF,GAAGoK,QAAQ,SAAS9C,EAAEpO,GAAG,OAAOoO,EAAEpO,GAAGub,GAAGzU,EAAE9G,GAAGuB,GAAG6M,CAAC,GAAG,CAAC,GAAG,CAAC2iB,OAAOjqB,EAAE0uB,QAAQj0B,EAAE,CAAu9B,SAAS0a,GAAGnV,EAAEvF,GAAG,IAAI6M,EAAEjR,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG6C,EAAE,0FAA0F+O,GAAE,EAAGjJ,GAAE,EAAG5I,OAAE,EAAO,IAAI,IAAI,IAAI2I,EAAE2I,EAAE,WAAW,IAAIO,EAAElJ,EAAEnD,MAAMoD,EAAEsI,GAAGA,GAAG,KAAKW,EAAE7R,EAAEqE,EAAEwN,GAAG,GAAG,uBAAuBjJ,GAAG4J,QAAQC,MAAM,GAAGnD,OAAO1F,EAAE,sHAAsH0F,OAAOxM,IAAI,0BAA0B8F,GAAG4J,QAAQC,MAAM,GAAGnD,OAAO1F,EAAE,4HAA4H0F,OAAOxM,KAAKgd,EAAG9f,GAAG,OAAOwS,QAAQC,MAAM,GAAGnD,OAAO1F,EAAE,+CAA+C0F,OAAO1G,EAAE,OAAO0G,OAAOxM,IAAI,WAAW9C,EAAEH,eAAe,aAAakf,GAAGnV,EAAE5J,EAAE4I,GAAG,IAAI0I,EAAEtR,EAAEulB,UAAU,GAAG1F,EAAGvO,IAAIyN,GAAGnV,EAAE0H,EAAE1I,EAAE,cAAc5I,EAAEqlB,YAAY,CAAC,IAAI3hB,GAAE,EAAGI,GAAE,EAAG+I,OAAE,EAAO,IAAI,IAAI,IAAIlG,EAAE5C,EAAE/D,EAAEqlB,YAAYrS,OAAO2N,cAAcjd,GAAGiD,EAAE5C,EAAEyc,QAAQ7B,MAAMjb,GAAE,EAAG,CAAC,IAAIsoB,EAAErlB,EAAEnB,MAAM,mBAAmBwmB,GAAGxZ,QAAQC,MAAM,GAAGnD,OAAO1F,EAAE,oCAAoC0F,OAAO1G,EAAE,MAAM0G,OAAOxM,EAAE,KAAK,iFAAiF,0CAA0CwM,OAAO0c,EAAE,KAAK,CAAC,CAAC,MAAMpiB,GAAG9F,GAAE,EAAG+I,EAAEjD,CAAC,SAAS,IAAIlG,GAAG,MAAMK,EAAE2c,QAAQ3c,EAAE2c,QAAQ,SAAS,GAAG5c,EAAE,MAAM+I,CAAC,CAAC,CAAC,CAAC,IAAI9J,EAAE/C,EAAEilB,MAAMliB,IAAIpC,OAAO03B,OAAOjL,IAAGvsB,SAASkC,IAAIyP,QAAQC,MAAM,GAAGnD,OAAO1F,EAAE,+BAA+B0F,OAAO1G,EAAE,MAAM0G,OAAOxM,EAAE,KAAK,uDAAuDwM,OAAO3O,OAAO03B,OAAOjL,IAAGpsB,KAAK,MAAM,MAAM,aAAasO,OAAOvM,EAAE,MAAMpC,OAAOoO,KAAK/O,GAAGid,OAAO,SAASrT,GAAG,MAAM,CAAC,eAAe,cAAc,YAAY,SAAS/I,SAAS+I,EAAE,MAAMsH,EAAErQ,SAAS,eAAe2R,QAAQC,MAAM,GAAGnD,OAAO1F,EAAE,+CAA+C0F,OAAO1G,EAAE,OAAO0G,OAAOxM,EAAE,KAAK,0EAA0E,YAAYwM,OAAOwF,KAAKC,UAAU/U,KAAKsR,GAAGvO,IAAI,CAACqqB,GAAE9sB,MAAM8sB,GAAEzsB,QAAQE,SAASkC,IAAIyP,QAAQC,MAAM,GAAGnD,OAAO1F,EAAE,+CAA+C0F,OAAO1G,EAAE,OAAO0G,OAAOxM,EAAE,KAAK,0GAA0G,YAAYwM,OAAOwF,KAAKC,UAAUhS,IAAI,EAAEW,EAAE/C,OAAOoO,KAAK1K,GAAGoQ,QAAQ,SAAS7K,GAAG,OAAOA,EAAE0V,WAAW,IAAI,IAAItM,OAAO2N,cAAc9O,GAAGlJ,EAAEjF,EAAE8c,QAAQ7B,MAAM9M,GAAE,EAAGP,GAAG,CAAC,MAAM1H,GAAGhB,GAAE,EAAG5I,EAAE4J,CAAC,SAAS,IAAIiI,GAAG,MAAMnO,EAAEgd,QAAQhd,EAAEgd,QAAQ,SAAS,GAAG9X,EAAE,MAAM5I,CAAC,CAAC,CAAC,CAAgwB,SAAS0e,GAAG9U,EAAEvF,EAAE6M,GAAG0N,EAAG1N,EAAEtH,EAAEqb,MAAM5gB,GAAGyb,EAAGzb,GAAGuF,EAAEqb,QAAQmI,GAAEzsB,OAAO,SAASiJ,EAAEvF,EAAE6M,GAAG,GAAGtH,EAAE2b,UAAU,CAAC,IAAIziB,GAAE,EAAG+O,GAAE,EAAGjJ,OAAE,EAAO,IAAI,IAAI,IAAI5I,EAAE2I,EAAEhI,OAAOoO,KAAK1K,GAAG2O,OAAO2N,cAAc7d,GAAG9C,EAAE2I,EAAE6X,QAAQ7B,MAAM7b,GAAE,EAAG,CAAC,IAAIwO,EAAEtR,EAAEwF,MAAM9B,EAAEW,EAAEiN,GAAGkN,EAAG5U,EAAE2b,UAAU7hB,EAAE,GAAG4L,OAAO4B,EAAE,KAAK5B,OAAOgC,GAAG,CAAC,CAAC,MAAM1H,GAAGiI,GAAE,EAAGjJ,EAAEgB,CAAC,SAAS,IAAI9G,GAAG,MAAM6F,EAAE+X,QAAQ/X,EAAE+X,QAAQ,SAAS,GAAG7O,EAAE,MAAMjJ,CAAC,CAAC,CAAC,CAAC,CAA5R,CAA8RgB,EAAEvF,EAAE6M,GAAGtH,EAAE/J,eAAe,aAAa+J,EAAE/J,eAAe,UAAU2e,EAAG5U,EAAEvF,EAAE6M,GAAGtH,EAAEqb,QAAQmI,GAAE9sB,OAAO,SAASsJ,EAAEvF,EAAE6M,GAAG,GAAG2O,EAAGjW,EAAE2b,WAAW,IAAI,IAAIziB,EAAE,EAAEA,EAAEuB,EAAEnE,OAAO4C,IAAI4b,GAAG9U,EAAE2b,UAAUlhB,EAAEvB,GAAG,GAAGwM,OAAO4B,EAAE,KAAK5B,OAAOxM,EAAE,MAAM,IAAI,IAAI+O,EAAE,EAAEA,EAAExN,EAAEnE,OAAO2R,IAAI,CAAC,IAAIjJ,EAAEgW,EAAG,GAAGtP,OAAO4B,EAAE,KAAK5B,OAAOuC,EAAE,KAAK,QAAQjJ,EAAEgB,EAAE2b,iBAAY,IAAS3c,OAAE,EAAOA,EAAEqc,MAAM5gB,EAAEwN,GAAG,CAAC,CAA9O,CAAgPjI,EAAEvF,EAAE6M,EAAE,CAAC,SAASoR,GAAG1Y,EAAEvF,GAAG,IAAI6M,EAAEjR,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,GAAG2J,EAAE,GAAGvF,IAAIuF,EAAEsb,UAAUhE,EAAGhQ,EAAEtH,EAAEyb,YAAYhhB,GAAGyb,EAAGzb,GAAG,CAAC,IAAIvB,GAAE,EAAG+O,GAAE,EAAGjJ,OAAE,EAAO,IAAI,IAAI,IAAI5I,EAAE2I,EAAEhI,OAAOoO,KAAK1K,GAAG2O,OAAO2N,cAAc7d,GAAG9C,EAAE2I,EAAE6X,QAAQ7B,MAAM7b,GAAE,EAAG,CAAC,IAAIwO,EAAEtR,EAAEwF,MAAM9B,EAAEW,EAAEiN,GAAGxN,EAAEoN,EAAE,IAAII,EAAEzE,EAAEjD,EAAE0H,GAAG1H,EAAEqb,QAAQmI,GAAEzsB,QAAQiJ,EAAE2b,UAAUjD,GAAG1Y,EAAE2b,UAAU7hB,EAAEI,GAAGwe,GAAGzV,EAAEnJ,EAAEI,EAAE,CAAC,CAAC,MAAM8F,GAAGiI,GAAE,EAAGjJ,EAAEgB,CAAC,SAAS,IAAI9G,GAAG,MAAM6F,EAAE+X,QAAQ/X,EAAE+X,QAAQ,SAAS,GAAG7O,EAAE,MAAMjJ,CAAC,CAAC,CAAC,MAAM,GAAGtI,MAAMC,QAAQ8D,IAAIuF,EAAE2b,UAAU,IAAI,IAAI5e,EAAE,EAAEA,EAAEtC,EAAEnE,OAAOyG,IAAI2b,GAAG1Y,EAAE2b,UAAUlhB,EAAEsC,GAAG,GAAG2I,OAAO4B,EAAE,KAAK5B,OAAO3I,EAAE,KAAK,CAAmpBgX,EAAGtJ,GAAE1B,WAAW+c,GAAE/c,YAAY0B,GAAEzB,WAAW,SAAShJ,GAAG,OAAO+T,EAAG/T,EAAE8lB,GAAE/c,WAAW,IAAI+c,GAAE9c,WAAW,SAAShJ,GAAG,OAAO+T,EAAGtJ,GAAE1B,WAAW/I,EAAE,IAAIuT,EAAG9I,GAAE1B,WAAW+c,GAAE/c,YAAY0B,GAAEzB,WAAW,SAAShJ,GAAG,OAAOuT,EAAGvT,EAAE8lB,GAAE/c,WAAW,IAAI+c,GAAE9c,WAAW,SAAShJ,GAAG,OAAOuT,EAAG9I,GAAE1B,WAAW/I,EAAE,IAAI8T,EAAGrJ,GAAE1B,WAAW+c,GAAE/c,YAAY0B,GAAEzB,WAAW,SAAShJ,GAAG,OAAO8T,EAAG9T,EAAE8lB,GAAE/c,WAAW,IAAI+c,GAAE9c,WAAW,SAAShJ,GAAG,OAAO8T,EAAGrJ,GAAE1B,WAAW/I,EAAE,IAAI4mB,EAAGnc,GAAE1B,WAAW4B,GAAE5B,WAAW+c,GAAE/c,YAAY0B,GAAEzB,WAAW,SAAShJ,GAAG4mB,EAAG5mB,EAAE2K,GAAE5B,WAAW+c,GAAE/c,WAAW,IAAI4B,GAAE3B,WAAW,SAAShJ,GAAG4mB,EAAGnc,GAAE1B,WAAW/I,EAAE8lB,GAAE/c,WAAW,IAAI+c,GAAE9c,WAAW,SAAShJ,GAAG4mB,EAAGnc,GAAE1B,WAAW4B,GAAE5B,WAAW/I,EAAE,IAAI,IAAIuoB,GAAG,SAASvoB,EAAEvF,GAAG,IAAI6M,EAAE2b,GAAExoB,GAAG,IAAIuF,EAAE,OAAOsH,EAAE,IAAIpO,GAAE,EAAG+O,GAAE,EAAGjJ,OAAE,EAAO,IAAI,IAAI,IAAI5I,EAAE2I,EAAE,WAAW,IAAItE,EAAErE,EAAEwF,MAAM1C,EAAEoO,EAAE7M,GAAGwN,EAAEjI,EAAEvF,GAAG,GAAGwN,IAAIA,EAAEhS,eAAe,UAAUgS,EAAEhS,eAAe,aAAa,CAACqR,EAAErR,eAAewE,KAAK6M,EAAE7M,GAAGwN,EAAEqT,UAAU,IAAItc,EAAEiJ,EAAE0T,UAAU,GAAGziB,GAAG+c,EAAGjX,GAAG,GAAGiJ,EAAEoT,QAAQmI,GAAE9sB,OAAOA,MAAMC,QAAQuC,GAAG,CAAC,IAAI6F,EAAE7F,EAAEQ,KAAK,SAASsG,GAAG,OAAOuoB,GAAGvpB,EAAEgB,EAAE,IAAIsH,EAAE7M,GAAGsE,CAAC,MAAM,GAAGkJ,EAAEoT,QAAQmI,GAAEzsB,OAAO,CAAC,IAAI2Q,GAAE,EAAG5N,GAAE,EAAGI,OAAE,EAAO,IAAI,IAAI,IAAI+I,EAAElG,EAAEhG,OAAOoO,KAAKjM,GAAGkQ,OAAO2N,cAAcrP,GAAGzE,EAAElG,EAAE6Z,QAAQ7B,MAAMrN,GAAE,EAAG,CAAC,IAAIvN,EAAE8I,EAAErH,MAAM1C,EAAEiB,GAAGouB,GAAGvpB,EAAE9F,EAAEiB,GAAG,CAAC,CAAC,MAAM6F,GAAGlG,GAAE,EAAGI,EAAE8F,CAAC,SAAS,IAAI0H,GAAG,MAAM3K,EAAE+Z,QAAQ/Z,EAAE+Z,QAAQ,SAAS,GAAGhd,EAAE,MAAMI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAGgc,EAAGjO,GAAG,CAAC,IAAIma,EAAE,MAAMlpB,EAAEA,EAAE,CAAC,EAAEgd,EAAGkM,KAAK9a,EAAE7M,GAAG8tB,GAAGtgB,EAAEma,GAAG,CAAC,EAAE1a,EAAE3Q,OAAOoO,KAAKnF,GAAGoJ,OAAO2N,cAAc7d,GAAG9C,EAAEsR,EAAEkP,QAAQ7B,MAAM7b,GAAE,EAAG6F,GAAG,CAAC,MAAMiB,GAAGiI,GAAE,EAAGjJ,EAAEgB,CAAC,SAAS,IAAI9G,GAAG,MAAMwO,EAAEoP,QAAQpP,EAAEoP,QAAQ,SAAS,GAAG7O,EAAE,MAAMjJ,CAAC,CAAC,CAAC,OAAOsI,CAAC,EAAkMmO,GAAG,IAAI/L,IAAyLqO,GAAG,CAAC,wBAAwB,CAACwD,aAAa,oKAAoKF,MAAMmI,GAAEzsB,OAAOukB,SAAS,CAAC,EAAEG,YAAY,CAACiI,GAAG,SAAS1jB,GAAG,OAAOjJ,OAAOoO,KAAKnF,GAAGqT,OAAO,SAASrT,GAAG,MAAM,6BAA6BwU,KAAKxU,EAAE,GAAG,IAAI,SAASA,GAAG,IAAIvF,EAAE1D,OAAOoO,KAAKnF,GAAG6K,QAAQ,SAAS7K,GAAG,OAAO,6BAA6BwU,KAAKxU,EAAE,IAAI,MAAM,gQAAgQ0F,OAAOjL,EAAErD,KAAK,MAAM,IAAI,OAAOmhB,GAAGrF,EAAG,CAAC,qBAAqB,CAACqH,WAAW,CAACgB,aAAa,4DAA4DF,MAAMmI,GAAE9sB,MAAM4kB,SAAS,MAAMvD,IAAIuC,GAAG,SAASta,EAAEvF,GAAG,OAAOipB,GAAG,SAASpc,GAAG,OAAOtH,GAAGsH,GAAGA,GAAG7M,CAAC,GAAG,mBAAmBiL,OAAO1F,EAAE,SAAS0F,OAAOjL,GAAG,EAAE0gB,GAAG,SAASnb,GAAG,IAAIvF,EAAEuF,EAAE0F,OAAO,CAAC,cAAc,mBAAmB,OAAOge,GAAG,SAAS1jB,GAAG,IAAIA,GAAG,iBAAiBA,EAAE,OAAM,EAAG,IAAI,IAAIsH,EAAE,aAAapO,EAAEoO,EAAEhO,KAAK0G,GAAG9G,GAAG,CAAC,IAAIuB,EAAExD,SAASiC,EAAE,IAAI,OAAM,EAAGA,EAAEoO,EAAEhO,KAAK0G,EAAE,CAAC,OAAM,CAAE,GAAG,gEAAgEvF,EAAEf,KAAK,SAASsG,GAAG,MAAM,KAAKA,EAAE,GAAG,IAAI5I,KAAK,MAAM,EAAEihB,GAAG8C,GAAG,IAAI1C,GAAG,SAASzY,GAAG,OAAO0jB,GAAG,SAASjpB,GAAG,OAAOuF,EAAE/I,SAASwD,EAAE,GAAG,kCAAkCiL,OAAO1F,EAAE5I,KAAK,QAAQ,MAAM,EAAEuhB,GAAG,CAACkD,QAAQvB,GAAGoB,MAAMrD,GAAGoV,4BAA4BtS,GAAGuS,MAAMjV,GAAG,CAA3uzB,GAAgvzBxQ,CAAC,CAA3u0B,GAAgv0B,EAAE,0BCA960B5Q,EAAOC,QAAUq3B,uBCAjBt3B,EAAOC,QAAUs3B,wBCAjBv3B,EAAOC,QAAUu3B,wBCAjBx3B,EAAOC,QAAUw3B,wBCAjBz3B,EAAOC,QAAUy3B,wBCAjB13B,EAAOC,QAAU03B,wBCAjB33B,EAAOC,QAAU23B,wBCAjB53B,EAAOC,QAAU43B,wBCAjB73B,EAAOC,QAAU63B,wBCAjB93B,EAAOC,QAAU83B,ICCbC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBhrB,IAAjBirB,EACH,OAAOA,EAAal4B,QAGrB,IAAID,EAASg4B,EAAyBE,GAAY,CAGjDj4B,QAAS,CAAC,GAOX,OAHAm4B,EAAoBF,GAAUl4B,EAAQA,EAAOC,QAASg4B,GAG/Cj4B,EAAOC,OACf,CCtBAg4B,EAAoBn2B,EAAI,WACvB,GAA0B,iBAAf4sB,WAAyB,OAAOA,WAC3C,IACC,OAAOjuB,MAAQ,IAAIkrB,SAAS,cAAb,EAChB,CAAE,MAAOhjB,GACR,GAAsB,iBAAXjC,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCCxBuxB,EAAoBp2B,EAAK5B,IACH,oBAAX8R,QAA0BA,OAAOC,aAC1CtS,OAAOkS,eAAe3R,EAAS8R,OAAOC,YAAa,CAAEzN,MAAO,WAE7D7E,OAAOkS,eAAe3R,EAAS,aAAc,CAAEsE,OAAO,GAAO,w6TCG9D,IAAM8zB,EAAe/nB,SAASC,cAAc,OACtC+nB,EAAkB,WACtBhoB,SAASoO,KAAKpQ,YAAY+pB,EAC5B,EAUO,SAASE,EAAOC,EAAgBC,GACrC,IAEMC,GAFY,IAAIC,WACAC,gBAAgBH,EAAW,iBAC1BI,cAAc,OAEjCH,IACFA,EAAWniB,GAAKiiB,EAChBH,EAAa/pB,YAAYoqB,GAE7B,CAlBAL,EAAa9hB,GAAK,sBAClB8hB,EAAaS,MAAM1V,QAAU,OAED,aAAxB9S,SAASyoB,WACXT,IAEA5xB,OAAO+T,iBAAiB,OAAQ6d,oLCN3B,IAAMU,EAAsB,CACjC,iBAAkB,CAChB/U,SAAU,UACVD,MAAOlT,EAAAA,KAAKqT,QAEd,iBAAkB,CAChBF,SAAU,UACVD,MAAOlT,EAAAA,KAAKqT,QAEd,iBAAkB,CAChBF,SAAU,UACVD,MAAOlT,EAAAA,KAAKqT,QAEd8U,wBAAyB,CACvBjV,MAAOlT,EAAAA,KAAKqkB,YACZlR,SAAU,uCACVC,aACE,0OAEJgV,kBAAmB,CACjBlV,MAAOlT,EAAAA,KAAKpR,OACZwkB,aACE,6HACFD,SAAU,CACRkV,GAAI,YAEN7U,UAAW,CACTF,YAAa,CACXnT,EAAAA,WAAWolB,MAAM,CACf,WACA,UACA,SACA,QACA,UACA,WACA,UACA,SACA,SACA,UACA,mBACA,eACA,gBACA,eACA,UACA,WACA,UACA,MACA,iBCnDW9R,OAAO6U,uCCDxBC,EAAY,CAAC,EACjB,IACMC,QAAQC,IAAIC,qCAC0C,SAApDF,QAAQC,IAAIC,oCACdH,EAAUI,2BAA4B,EAKxCJ,EAAUI,2BAA4B,EAEpCH,QAAQC,IAAIG,+CACoD,SAA9DJ,QAAQC,IAAIG,8CACdL,EAAUM,mCAAoC,EAKhDN,EAAUM,mCAAoC,EAE5CL,QAAQC,IAAIK,wBAC6B,SAAvCN,QAAQC,IAAIK,uBACdP,EAAUQ,eAAgB,EAK5BR,EAAUQ,eAAgB,EAExBP,QAAQC,IAAIO,0BACgC,SAA1CR,QAAQC,IAAIO,0BACdT,EAAUU,kBAAmB,EAE7BV,EAAUU,kBAAmB,EAG/BV,EAAUU,kBAAmB,EAE3BT,QAAQC,IAAIS,0CAC+C,SAAzDV,QAAQC,IAAIS,yCACdX,EAAUY,gCAAiC,EAK7CZ,EAAUY,gCAAiC,EAEzCX,QAAQC,IAAIW,sCAC2C,SAArDZ,QAAQC,IAAIW,qCACdb,EAAUc,2BAA4B,EAKxCd,EAAUc,2BAA4B,EAEpCb,QAAQC,IAAIa,gCACqC,SAA/Cd,QAAQC,IAAIa,+BACdf,EAAUgB,uBAAwB,EAKpChB,EAAUgB,uBAAwB,CAEtC,CAAE,MAAO7oB,GACP6nB,EAAUI,2BAA4B,EACtCJ,EAAUM,mCAAoC,EAC9CN,EAAUQ,eAAgB,EAC1BR,EAAUU,kBAAmB,EAC7BV,EAAUY,gCAAiC,EAC3CZ,EAAUc,2BAA4B,EACtCd,EAAUgB,uBAAwB,CACpC,CACA,IAAIC,EAAkB,CAAC,CACrBxrB,KAAM,+BACNyrB,YAAa,8BACbra,QAASmZ,EAAUI,2BAClB,CACD3qB,KAAM,yCACNyrB,YAAa,gFACbra,QAASmZ,EAAUM,mCAClB,CACD7qB,KAAM,kBACNyrB,YAAa,mEACbra,QAASmZ,EAAUQ,eAClB,CACD/qB,KAAM,qBACNyrB,YAAa,8DACbra,QAASmZ,EAAUU,kBAClB,CACDjrB,KAAM,oCACNyrB,YAAa,0DACbra,QAASmZ,EAAUY,gCAClB,CACDnrB,KAAM,gCACNyrB,YAAa,6DACbra,QAASmZ,EAAUc,2BAClB,CACDrrB,KAAM,0BACNyrB,YAAa,6EACbra,QAASmZ,EAAUgB,wBAmCrB,SAASG,EAAkB9qB,EAAQ+qB,GACjC,IAAK,IAAI17B,EAAI,EAAGA,EAAI07B,EAAMx7B,OAAQF,IAAK,CACrC,IAAI27B,EAAaD,EAAM17B,GACvB27B,EAAW7oB,WAAa6oB,EAAW7oB,aAAc,EACjD6oB,EAAW9c,cAAe,EACtB,UAAW8c,IAAYA,EAAW7c,UAAW,GACjDne,OAAOkS,eAAelC,QA+FpB7P,EACkB,qBADlBA,EAXN,SAAsB86B,EAAOC,GAC3B,GAAqB,iBAAVD,GAAgC,OAAVA,EAAgB,OAAOA,EACxD,IAAIE,EAAOF,EAAM5oB,OAAO+oB,aACxB,QAAa5tB,IAAT2tB,EAAoB,CACtB,IAAIE,EAAMF,EAAK/6B,KAAK66B,EAAOC,UAC3B,GAAmB,iBAARG,EAAkB,OAAOA,EACpC,MAAM,IAAIpb,UAAU,+CACtB,CACA,OAA4BwE,OAAiBwW,EAC/C,CAEYK,CA/FqCN,EAAW76B,MAgG5CA,eAAAA,0EAAmBA,EAAMskB,OAAOtkB,IAhGkB66B,EAChE,OA8FI76B,CA7FN,CASA,SAASo7B,EAAeC,EAAKn8B,GAC3B,OAEF,SAAyBm8B,GACvB,GAAI77B,MAAMC,QAAQ47B,GAAM,OAAOA,CACjC,CAJSC,CAAgBD,IAlDzB,SAA+BA,EAAKn8B,GAClC,IAAIq8B,EAAK,MAAQF,EAAM,KAAO,oBAAsBnpB,QAAUmpB,EAAInpB,OAAO2N,WAAawb,EAAI,cAC1F,GAAI,MAAQE,EAAI,CACd,IAAIC,EACFje,EACAke,EACAC,EACAC,EAAO,GACP5W,GAAK,EACL6W,GAAK,EACP,IACE,GAAIH,GAAMF,EAAKA,EAAGt7B,KAAKo7B,IAAM3b,KAAM,IAAMxgB,EAAG,CAC1C,GAAIW,OAAO07B,KAAQA,EAAI,OACvBxW,GAAK,CACP,MAAO,OAASA,GAAMyW,EAAKC,EAAGx7B,KAAKs7B,IAAK1d,QAAU8d,EAAKp8B,KAAKi8B,EAAG92B,OAAQi3B,EAAKv8B,SAAWF,GAAI6lB,GAAK,GAClG,CAAE,MAAO8W,GACPD,GAAK,EAAIre,EAAKse,CAChB,CAAE,QACA,IACE,IAAK9W,GAAM,MAAQwW,EAAG3b,SAAW8b,EAAKH,EAAG3b,SAAU/f,OAAO67B,KAAQA,GAAK,MACzE,CAAE,QACA,GAAIE,EAAI,MAAMre,CAChB,CACF,CACA,OAAOoe,CACT,CACF,CAwBiCG,CAAsBT,EAAKn8B,IAAM68B,EAA4BV,EAAKn8B,IAkBnG,WACE,MAAM,IAAI4gB,UAAU,4IACtB,CApByGkc,EACzG,CAIA,SAASD,EAA4BhrB,EAAGkrB,GACtC,GAAKlrB,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAOmrB,EAAkBnrB,EAAGkrB,GACvD,IAAI7rB,EAAIvQ,OAAOC,UAAUF,SAASK,KAAK8Q,GAAGtO,MAAM,GAAI,GAEpD,MADU,WAAN2N,GAAkBW,EAAEvB,cAAaY,EAAIW,EAAEvB,YAAYP,MAC7C,QAANmB,GAAqB,QAANA,EAAoB5Q,MAAMwlB,KAAKjU,GACxC,cAANX,GAAqB,2CAA2CkN,KAAKlN,GAAW8rB,EAAkBnrB,EAAGkrB,QAAzG,CALc,CAMhB,CACA,SAASC,EAAkBb,EAAK72B,IACnB,MAAPA,GAAeA,EAAM62B,EAAIj8B,UAAQoF,EAAM62B,EAAIj8B,QAC/C,IAAK,IAAIF,EAAI,EAAGi9B,EAAO,IAAI38B,MAAMgF,GAAMtF,EAAIsF,EAAKtF,IAAKi9B,EAAKj9B,GAAKm8B,EAAIn8B,GACnE,OAAOi9B,CACT,CAgMA,IAnHA,IAAIC,EAAgC,WAClC,SAASA,EAAiBC,GACxB,IAAIC,EAAQ17B,MAvHhB,SAAyB27B,EAAUC,GACjC,GAtID,EAsIOD,WAtIP,EAsI2BC,+FACxB,MAAM,IAAI1c,UAAU,qCAvIvB,OAyID,EAoHI2c,CAAgB77B,KAAMw7B,GACtBx7B,KAAKy7B,MAAQ,IAAI/K,IACb+K,GACFx8B,OAAOoO,KAAKouB,GAAOhuB,SAAQ,SAAUrO,GACnCs8B,EAAMD,MAAMjd,IAAIpf,EAAKq8B,EAAMr8B,GAC7B,GAEJ,CAjHF,IAAsBw8B,EAAaE,EAsNjC,OAtNoBF,EAuHPJ,EAvHoBM,EAuHF,CAAC,CAC9B18B,IAAK,eACL0E,MAAO,SAAsBuK,GAC3B,IAAKrO,KAAKy7B,MAAMld,IAAIlQ,GAClB,MAAM,IAAI3H,MAAM,iDAAiDkH,OAAOS,EAAM,KAElF,GAOC,CACDjP,IAAK,MACL0E,MAAO,SAAauK,EAAMoR,GACxB,GAAIzf,KAAKy7B,MAAMld,IAAIlQ,GACjB,MAAM,IAAI3H,MAAM,qBAAqBkH,OAAOS,EAAM,oBAEpDrO,KAAKy7B,MAAMjd,IAAInQ,EAAMoR,EACvB,GAMC,CACDrgB,IAAK,SACL0E,MAAO,SAAgBuK,GACrBrO,KAAK+7B,aAAa1tB,GAClBrO,KAAKy7B,MAAMjd,IAAInQ,GAAM,EACvB,GAMC,CACDjP,IAAK,UACL0E,MAAO,SAAiBuK,GACtBrO,KAAK+7B,aAAa1tB,GAClBrO,KAAKy7B,MAAMjd,IAAInQ,GAAM,EACvB,GAOC,CACDjP,IAAK,QACL0E,MAAO,SAAe23B,GACpB,IAAIO,EAASh8B,KACbf,OAAOoO,KAAKouB,GAAOhuB,SAAQ,SAAUrO,GACnC48B,EAAOP,MAAMjd,IAAIpf,EAAKq8B,EAAMr8B,GAC9B,GACF,GAKC,CACDA,IAAK,iBACL0E,MAAO,SAAwBm4B,GAC7B,IACEC,EADEC,EAzJV,SAAoChsB,EAAGisB,GACrC,IAAI5oB,EAAuB,oBAAXlC,QAA0BnB,EAAEmB,OAAO2N,WAAa9O,EAAE,cAClE,IAAKqD,EAAI,CACP,GAAI5U,MAAMC,QAAQsR,KAAOqD,EAAK2nB,EAA4BhrB,IAA4D,CAChHqD,IAAIrD,EAAIqD,GACZ,IAAIlV,EAAI,EACJ2Y,EAAI,WAAa,EACrB,MAAO,CACLjV,EAAGiV,EACHzH,EAAG,WACD,OAAIlR,GAAK6R,EAAE3R,OAAe,CACxBye,MAAM,GAED,CACLA,MAAM,EACNnZ,MAAOqM,EAAE7R,KAEb,EACA4J,EAAG,SAAUA,GACX,MAAMA,CACR,EACAiD,EAAG8L,EAEP,CACA,MAAM,IAAIiI,UAAU,wIACtB,CACA,IAEE+b,EAFEoB,GAAmB,EACrBC,GAAS,EAEX,MAAO,CACLt6B,EAAG,WACDwR,EAAKA,EAAGnU,KAAK8Q,EACf,EACAX,EAAG,WACD,IAAI+sB,EAAO/oB,EAAGsL,OAEd,OADAud,EAAmBE,EAAKtf,KACjBsf,CACT,EACAr0B,EAAG,SAAUA,GACXo0B,GAAS,EACTrB,EAAM/yB,CACR,EACAiD,EAAG,WACD,IACOkxB,GAAiC,MAAb7oB,EAAGwL,QAAgBxL,EAAGwL,QACjD,CAAE,QACA,GAAIsd,EAAQ,MAAMrB,CACpB,CACF,EAEJ,CAuGsBuB,CAA2BP,EAAMR,OAEjD,IACE,IAAKU,EAAUn6B,MAAOk6B,EAAQC,EAAU3sB,KAAKyN,MAAO,CAClD,IAAIwf,EAAcjC,EAAe0B,EAAMp4B,MAAO,GAC5C1E,EAAMq9B,EAAY,GAClB34B,EAAQ24B,EAAY,GAClBz8B,KAAKy7B,MAAMld,IAAInf,IAGnBY,KAAKy7B,MAAMjd,IAAIpf,EAAK0E,EACtB,CACF,CAAE,MAAOm3B,GACPkB,EAAUj0B,EAAE+yB,EACd,CAAE,QACAkB,EAAUhxB,GACZ,CACF,GAOC,CACD/L,IAAK,UACL0E,MAAO,SAAiBuK,GAEtB,OADArO,KAAK+7B,aAAa1tB,GACXrO,KAAKy7B,MAAMpqB,IAAIhD,EACxB,IAnNEytB,GAAY/B,EAAkB6B,EAAY18B,UAAW48B,GAEzD78B,OAAOkS,eAAeyqB,EAAa,YAAa,CAC9Cxe,UAAU,IAkNLoe,CACT,CAhHoC,GAkHhCkB,EAMK,IAAIlB,EADQC,WAJZn9B,EAAI,EAAGA,EAAIu7B,EAAgBr7B,OAAQF,IAAK,CAC/C,IAAIq+B,EAAc9C,EAAgBv7B,GAClCo+B,EAAa5qB,IAAI6qB,EAAYtuB,KAAMsuB,EAAYld,QACjD,CCrXoC,gUDqYpC,WACSid,EAAaE,MAAM79B,MAAM29B,EAAcn+B,UAChD,CE9XAm+B,CAAmB,CACjB,gCAAgC,EAChC,mBAAmB,EACnB,sBAAsB,EACtB,qCAAqC,WCHJ,IAAIG,EAAAA,QAGA,IAAIA,EAAAA,QCLrB,IAAIA,EAAAA,eCAD,IAAIA,EAAAA,QJP7B,IAAIl6B,EAAE1D,OAAO8sB,OAAO,CAACjD,UAAU,KAASkD,YAAQ,OAAOtU,EAAE,EAAMuU,0BAAsB,OAAO1Y,EAAE,EAAM2Y,0BAAsB,OAAOrZ,EAAC,EAAMsZ,sBAAkB,OAAO6B,EAAC,EAAM5B,wBAAoB,OAAO9W,EAAC,EAAM+W,uBAAmB,OAAOvZ,EAAC,EAAMwZ,0BAAsB,OAAOnX,EAAE,EAAMoX,4BAAwB,OAAO3W,EAAE,EAAM4W,qBAAiB,OAAOiC,EAAE,EAAMhC,mBAAe,OAAOjX,EAAE,EAAMkX,wBAAoB,OAAOpW,EAAE,EAAMqW,6BAAyB,OAAO3Y,EAAE,EAAM4Y,kBAAc,OAAO1Y,EAAE,EAAM2Y,uBAAmB,OAAOnX,EAAE,EAAMoX,oBAAgB,OAAO/W,EAAE,EAAMgX,sBAAkB,OAAOlS,EAAE,EAAMmS,uBAAmB,OAAOlR,EAAE,EAAMmR,sBAAkB,OAAO3uB,CAAC,EAAM4uB,yBAAqB,OAAOlrB,CAAC,EAAMmrB,sBAAkB,OAAOnP,EAAC,EAAMoP,iBAAa,OAAOnmB,CAAC,EAAMomB,0BAAsB,OAAOjrB,CAAC,EAAMkrB,uBAAmB,OAAOniB,CAAC,EAAMoiB,oBAAgB,OAAO9qB,CAAC,EAAM+qB,kBAAc,OAAOzrB,CAAC,EAAM0rB,eAAW,OAAOtsB,CAAC,EAAMusB,eAAW,OAAOziB,CAAC,EAAM0iB,iBAAa,OAAOnb,CAAC,EAAMob,cAAU,OAAOvrB,CAAC,EAAMwrB,gBAAY,OAAO5oB,CAAC,EAAM6oB,iBAAa,OAAOzsB,CAAC,EAAM0sB,0BAAsB,OAAOzD,CAAC,IAAIpiB,GAAG,oBAAoB+lB,WAAWA,WAAW,oBAAoBhoB,OAAOA,OAAO,oBAAoB8kB,OAAOA,OAAO,oBAAoBpd,KAAKA,KAAK,CAAC,GAAGugB,YAAY1e,EAAE,WAAW,IAAI,IAAI7M,EAAE,IAAIuF,EAAE,MAAM,CAACimB,OAAO,CAACC,IAAI,SAAS,MAAM,QAAQzrB,EAAEoW,MAAM,QAAQpW,EAAEwrB,OAAOC,GAAG,CAAC,MAAMzrB,GAAG,CAAC,OAAM,CAAE,CAApH,GAAwHuF,EAAE,oBAAoB2H,UAAU,mBAAmBA,SAAS2J,YAAY,SAAS7W,EAAEuF,GAAG,IAAIsH,EAAEK,SAAS2J,YAAY,eAAe,OAAOtR,EAAEsH,EAAE6e,gBAAgB1rB,EAAEuF,EAAEomB,QAAQpmB,EAAEqmB,WAAWrmB,EAAEimB,QAAQ3e,EAAE6e,gBAAgB1rB,GAAE,GAAG,OAAG,GAAQ6M,CAAC,EAAE,SAAS7M,EAAEuF,GAAG,IAAIsH,EAAEK,SAAS2e,oBAAoB,OAAOhf,EAAEuJ,KAAKpW,EAAEuF,GAAGsH,EAAE8e,QAAQxa,QAAQ5L,EAAEomB,SAAS9e,EAAE+e,WAAWza,QAAQ5L,EAAEqmB,YAAY/e,EAAE2e,OAAOjmB,EAAEimB,SAAS3e,EAAE8e,SAAQ,EAAG9e,EAAE+e,YAAW,EAAG/e,EAAE2e,YAAO,GAAQ3e,CAAC,EAAMpO,EAAE,GAAG,SAAS+O,EAAExN,EAAEuF,EAAEsH,GAAG,IAAMW,EAAEjJ,EAAEvE,EAAEuF,EAAEsH,GAAGpO,EAAE5C,OAAO4C,EAAEqM,SAAS9K,SAAAA,UAAGA,EAAEwN,MAAKgC,YAAY,WAAK,MAAMhC,CAAC,GAAG,CAAC,SAAS7R,EAAEqE,GAAG,GAAG,mBAAmBA,EAAE,MAAM+D,MAAMkJ,EAAE,IAAG,IAAKxO,EAAEzC,KAAKgE,EAAE,CAAC,SAASX,EAAEW,GAAG,GAAG,mBAAmBA,EAAE,MAAM+D,MAAMkJ,EAAE,IAAG,IAAK,IAAI1H,GAAE,EAAG,OAAO9G,EAAEA,EAAE2R,QAAQvD,SAAAA,GAAI,IAAMpO,EAAEoO,IAAI7M,EAAE,OAAOuF,EAAEA,GAAG9G,GAAGA,CAAC,IAAI8G,CAAC,CAAC,SAAS0H,EAAEjN,EAAEuF,GAAE,8DAAGsH,EAAH,kBAAM,MAAM,gCAAsCtH,OAANvF,EAAE,MAA2DA,OAAvDuF,EAAEA,EAAE,IAAI,GAAG,8CAAgDsH,OAAJ7M,GAA0C,OAAtC6M,EAAEhR,OAAO,QAAwB,OAAhBgR,EAAElQ,KAAK,UAAW,GAAI,CAAC,SAAS4H,EAAEvE,EAAEuF,EAAEsH,GAAG,IAA6DW,MAAvD/O,EAAE,GAAYgqB,OAATC,EAAEnjB,GAAG,MAA4BA,OAAxBkjB,EAAEljB,GAAG,qBAA4B,OAATA,EAAEgL,OAAO,MAAU,KAAGvQ,WAAa+D,kGAAM,CAAC,IAAI/D,EAAEwQ,QAAQ/R,EAAEuB,EAAEwQ,OAAO,CAAC,MAAMxQ,GAAG,CAACwN,EAAExN,CAAC,KAAK,CAACmO,QAAQmB,KAAKrC,EAAE,IAAG,EAAG1H,EAAEgL,OAAOkY,EAAEljB,KAAK,IAAIiI,EAAEzJ,MAAMtF,EAAEgS,KAAKC,UAAU1Q,GAAG,CAAC,MAAMuF,GAAGiI,EAAExN,CAAC,CAAC,CAAC,OAAOwN,EAAEmD,gBAAgB8X,EAAEljB,GAAGA,EAAEgL,OAAO1D,EAAEW,CAAC,CAAC,IAAMlJ,EAAE,aAAa7E,EAAE,sBAAsB+I,EAAE,mBAAmB1I,EAAE,gBAAgBV,EAAE,cAAcZ,EAAE,WAAWkB,EAAE,UAAU4I,EAAE,WAAW5J,EAAE,aAAa4D,EAAE,YAAYuN,EAAE,aAAa8X,EAAE,sBAAsB,SAASa,EAAExoB,GAAG,OAAOA,EAAEuQ,SAAS7Q,CAAC,CAAC,SAAS2oB,EAAEroB,GAAG,IAAI,OAAOA,EAAE+Q,WAAWzN,OAAO0N,SAAS,CAAC,MAAMzL,GAAG,OAAOiI,EAAEjI,EAAEvF,EAAE2nB,IAAG,CAAE,CAAC,CAAC,SAASc,EAAEzoB,GAAG,OAAOA,EAAE0L,IAAI,CAAC,SAAS/M,EAAEqB,GAAG,OAAOmR,QAAQnR,EAAEoR,kBAAkB,CAAC,SAASsX,EAAE1oB,GAAG,OAAOrB,EAAEqB,GAAG,SAAS,aAAa,CAAC,SAASmpB,IAAI,IAAI,IAAInpB,EAAEpE,UAAUC,OAAO,EAAEmE,EAAE,EAAEA,IAAI,IAAI,IAAIuF,KAAK3J,UAAUoE,GAAG,cAAcuF,IAAI3J,UAAUoE,EAAE,GAAGuF,GAAG3J,UAAUoE,GAAGuF,IAAI,OAAO3J,UAAU,EAAE,CAAC,SAASusB,EAAEnoB,EAAEuF,GAAG,IAAI,IAAIsH,EAAE,EAAEA,EAAE7M,EAAEnE,OAAOgR,IAAI,GAAGtH,EAAEvF,EAAE6M,IAAI,OAAO7M,EAAE6M,GAAG,OAAO,IAAI,CAAC,SAASyb,EAAEtoB,GAAG,OAAOA,IAAI,mBAAmBA,IAAIuF,EAAEvF,EAAE/D,MAAMC,QAAQqJ,KAAK4iB,EAAE5iB,GAAGvF,SAAAA,SAAG,mBAAmBA,OAAM,IAAIuF,CAAC,CAAC,SAASqjB,GAAE5oB,EAAEuF,GAAG,IAAIsH,EAAE7M,EAAEuF,IAAI,GAA4B,KAAzBsH,EAAE5Q,MAAMC,QAAQ2Q,GAAGA,EAAE,CAACA,IAAShR,SAASgR,EAAE,CAAC,kBAAIiD,QAAQ2B,aAAY,IAAMhT,EAAEiqB,EAAE1oB,GAAGwN,EAAEib,EAAEzoB,GAAG,OAAO,SAASA,GAAG,OAAO6M,EAAE8C,QAAQ,SAAC9C,EAAElR,EAAE0D,UAAIwN,EAAE6E,MAAM,WAAK,IAAM7E,EAAElR,EAAEqE,GAAG,OAAO6oB,GAAEhc,GAAGA,EAAEiD,QAAQ8B,OAAO3E,EAAE,IAAG,EAAGxO,EAAE+O,EAAEjI,EAAElG,GAAG,MAAKyQ,QAAQ2B,UAAU,CAAC,CAAC,SAASoX,GAAE7oB,GAAG,OAAOA,GAAG,mBAAmBA,EAAE0R,MAAM,mBAAmB1R,EAAE6R,KAAK,CAAC,IAAImU,GAAE,GAAG,SAAS2C,GAAE3oB,EAAEuF,OAAgMsH,EAAT,WAAa,OAAO7M,EAAEuQ,OAAOnR,EAAEY,CAAC,EAApN,OAAO8P,QAAQ2B,UAAUC,MAAM,kBAAI1R,EAAEuQ,SAAS/H,EAAExI,GAAGA,EAAEuQ,OAAOzQ,EAAEE,EAAEiS,UAAUiL,GAAEld,EAAE,aAAa0R,KAAK7E,GAAGgF,OAAOhF,SAAAA,GAAI,GAAGtH,EAAE,MAAMhB,EAAEsI,EAAE7M,EAAE2nB,GAAG,OAAOna,EAAEX,EAAE7M,EAAE2nB,GAAG3nB,CAAC,IAAI8P,QAAQ2B,UAAUC,KAAK7E,MAAuC,CAAC,SAAS9P,GAAEiD,EAAEuF,GAAG,OAAOuK,QAAQ2B,UAAUC,MAAM,eAAqPjT,EAAT,WAAa,OAAOye,GAAEld,EAAE,WAAW0R,MAAM,WAAK1R,EAAEuQ,OAAOnR,CAAC,IAAIyN,SAAAA,GAAI,GAAGtH,EAAE,MAAMhB,EAAEsI,EAAE7M,EAAE2nB,GAAGna,EAAEX,EAAE7M,EAAE2nB,EAAE,GAAG,EAAtU,GAAG3nB,EAAEuQ,SAAS7Q,EAAE,OAAOM,EAAEA,EAAEuQ,OAAO7R,EAAE,IAAMmO,EAAEvQ,OAAOoO,KAAK1K,EAAEsS,SAASrT,KAAKsG,SAAAA,UAAGvF,EAAEsS,QAAQ/M,GAAG6L,uBAAsB,OAAOtB,QAAQyC,IAAI1F,GAAG6E,KAAKjT,GAAGoO,SAAAA,UAAGpO,IAAIiT,MAAM,WAAK,IAAMjT,EAAEsF,MAAM8I,EAAE2D,SAAS,GAAGjL,EAAE,MAAMhB,EAAE9F,EAAEuB,EAAE2nB,GAAGna,EAAE/O,EAAEuB,EAAE2nB,EAAE,OAAMjW,MAAM,kBAAI1R,IAAoG,GAAG,CAAC,IAAI+oB,IAAE,EAAGE,IAAE,EAAG,SAAS5mB,GAAErC,EAAEuF,GAAG,OAAOuK,QAAQ2B,UAAUC,MAAM,kBAAI1R,EAAEuQ,SAASnR,EAAEY,GAAG+oB,KAAIzlB,OAAOoP,cAAc,IAAI7F,EAAE,kCAAkCkc,IAAE,GAAI/oB,EAAEuQ,OAAO/R,EAAE0e,GAAEld,EAAE,SAAS0R,MAAM,kBAAK1R,EAAEuQ,OAAO7Q,EAAEupB,KAAI3lB,OAAOoP,cAAc,IAAI7F,EAAE,2BAA2Boc,IAAE,GAAIjpB,KAAK6R,OAAOhF,SAAAA,OAAiDpO,EAAT,WAAa,GAAG8G,EAAE,MAAMhB,EAAEsI,EAAE7M,EAAE2nB,GAAG,OAAOna,EAAEX,EAAE7M,EAAE2nB,GAAG3nB,CAAC,EAAtF,OAAOA,EAAEuQ,OAAO7Q,EAAE3C,GAAEiD,GAAE,GAAI0R,KAAKjT,EAAEA,EAAsD,OAAM,CAAC,IAAIuqB,GAAE,EAAQE,GAAE,CAAC5W,QAAQ,CAAC,GAAG,SAAS+I,KAAI,OAAOiH,GAAElmB,MAAM8sB,GAAEttB,UAAU,CAAC,SAAS0mB,GAAEtiB,EAAEuF,GAAG,IAAMsH,EAAExP,KAAK,IAAI2C,GAAG,iBAAiBA,GAAG,mBAAmBA,EAAE,MAAM+D,MAAMkJ,EAAE,GAAE,IAAK,GAAGjN,EAAE0L,MAAM,iBAAiB1L,EAAE0L,KAAK,MAAM3H,MAAMkJ,EAAE,GAAE,EAAG,EAAOjN,EAAE0L,QAAO,IAAMjN,EAAEuqB,KAAQxb,EAAExN,EAAE0L,MAAM,UAAY,OAAFjN,GAAI,GAAG,iBAAiB8G,EAAE,MAAMxB,MAAMkJ,EAAE,GAAE,EAAGO,OAASjI,IAAAA,EAAAA,YAAP,EAAOA,KAAI,IAAIA,EAAE2N,WAAW,MAAMnP,MAAMkJ,EAAE,GAAE,EAAGO,IAAI,IAAgV1N,EAA1UnE,EAAE,mBAAmBqE,EAAEX,EAAE1D,EAAEqE,EAAE,kBAAI8P,QAAQ2B,QAAQzR,IAAGsE,EAAE,CAAC6O,GAAG1U,EAAE6T,QAAQ,CAAC,EAAE/B,OAAO5U,EAAE8D,EAAE+I,EAAE6K,YAAY9N,EAAE+N,WAAWmV,EAAE5b,GAAGuE,kBAAkB,kBAAI9O,EAAEoP,MAAM,WAAK,GAAGpN,EAAEiM,SAAS7Q,EAAE,MAAMqE,MAAMkJ,EAAE,GAAE,EAAGO,EAAElJ,EAAEiM,SAAS,OAAOxT,GAAEuH,GAAE,EAAG,IAAIoN,MAAM1R,SAAAA,UAAIsE,EAAEgP,mBAAmBzG,EAAEyF,QAAQhO,EAAE6O,IAAInT,KAAK0R,MAAM1R,SAAAA,UAAI6P,EAAE7P,GAAGA,KAAK6R,OAAO7R,SAAAA,GAAI,MAAMsE,EAAEiM,OAAOoX,EAAEa,EAAExoB,GAAGA,CAAC,MAAW6M,EAAEyF,QAAQ7T,GAAG6F,EAAE,IAAI9F,EAAEa,IAAI,IAAIb,GAAG,mBAAmBA,EAAEkT,KAAK,MAAM3N,MAAMkJ,EAAE,GAAE,IAAKzO,EAAEA,EAAEkT,MAAM1R,SAAAA,GAAI,IAAIA,EAAE,MAAM+D,MAAMkJ,EAAE,GAAE,IAAK,GAAGO,EAAExN,EAAE0L,MAAM,UAAY,OAAFjN,GAAInC,OAAOC,UAAUf,eAAekB,KAAKsD,EAAE,eAAesoB,EAAEtoB,EAAEiS,WAAW,MAAMlO,MAAMkJ,EAAE,GAAE,EAAGO,IAAI,IAAI8a,EAAEtoB,EAAEuT,OAAO,MAAMxP,MAAMkJ,EAAE,IAAG,EAAGO,IAAI,IAAI8a,EAAEtoB,EAAEwT,SAAS,MAAMzP,MAAMkJ,EAAE,IAAG,EAAGO,IAAI,GAAGxN,EAAEwJ,SAAS8e,EAAEtoB,EAAEwJ,QAAQ,MAAMzF,MAAMkJ,EAAE,IAAG,EAAGO,IAAI,IAAMjI,EAAEqjB,GAAE5oB,EAAE,aAAa6M,EAAE+b,GAAE5oB,EAAE,SAASrE,EAAEitB,GAAE5oB,EAAE,WAAWsE,EAAEiM,OAAO/H,EAAElE,EAAEoH,KAAK8B,EAAElJ,EAAE2N,UAAU1M,EAAEjB,EAAEiP,MAAM1G,EAAEvI,EAAEkP,QAAQ7X,EAAE2I,EAAEmP,SAAS1T,GAAEC,EAAEyT,UAAUzT,EAAEwJ,SAASlF,EAAEkF,OAAOof,GAAE5oB,EAAE,UAAUF,EAAE0J,OAAO,SAASxJ,GAAG,OAAOsE,EAAE+O,YAAYrT,EAAEimB,IAAG1gB,EAAEjB,EAAEwL,QAAQ2B,UAAUC,MAAM,WAAK,GAAGnM,EAAEgL,SAAS7Q,EAAE,MAAMqE,MAAMkJ,EAAE,IAAG,EAAGwb,EAAEljB,KAAK,OAAOA,EAAEgL,OAAOjI,EAAE4U,GAAE3X,EAAE,UAAUmM,MAAM,kBAAKnM,EAAEgL,OAAO7Q,EAAE6F,KAAKsM,OAAO7R,SAAAA,GAAI,MAAMuE,EAAEvE,EAAEuF,EAAEoiB,EAAE,GAAG,MAAM,IAAIpiB,CAAC,EAAE,IAAI,IAA0DsK,EAAE2Y,EAAtD9pB,EAAEF,EAAEkT,MAAM,kBAAIiX,GAAErkB,GAAE,MAAMhC,EAAE5D,EAAEgT,MAAM,kBAAIrP,GAAEiC,GAAE,MAAoB+jB,EAAE,IAAIvY,SAAS,SAAC9P,EAAEuF,GAAKsK,EAAE7P,EAAEwoB,EAAEjjB,CAAC,IAAI,OAAOzF,EAAE,CAACyT,MAAM,kBAAI0S,GAAEnW,QAAQ2B,UAAUC,MAAM,WAAK,GAAGpN,EAAEiM,SAASnR,EAAE,MAAM2E,MAAMkJ,EAAE,IAAG,EAAGO,EAAElJ,EAAEiM,SAAS,OAAO1D,EAAEyF,QAAQ7T,GAAG6F,EAAEjC,GAAEiC,EAAE,MAAKkP,QAAQ,kBAAIyS,GAAE3hB,EAAE8M,sBAAqByC,UAAU,kBAAIvP,EAAEiM,QAAOuD,YAAYmS,GAAEznB,GAAGuV,iBAAiBkS,GAAEvnB,GAAGsV,aAAaiS,GAAE3jB,GAAG2R,eAAegS,GAAEoC,GAAK,CAAC,SAASpC,GAAEjmB,GAAG,OAAOA,EAAE0R,MAAM,kBAAI,OAAM,CAAC,SAASjJ,GAAElD,GAAG,IAAMsH,EAAE4b,EAAEljB,GAAO9G,EAAE,mBAAmB8G,EAAE8N,YAAY9N,EAAE8N,YAAYxG,EAAEvJ,OAAO0N,UAAUzL,EAAE8N,aAAa,iBAAiB5U,GAAG,OAAOA,GAAGxC,MAAMC,QAAQuC,MAAMA,EAAE,CAAC,EAAE0P,QAAQmB,KAAKrC,EAAE,IAAG,GAAIJ,EAAEpO,IAAI,IAAM+O,EAAE2b,EAAE,CAAC,EAAE1qB,EAAE,CAACiN,KAAKmB,EAAEsH,YAAYmO,GAAElO,KAAK7O,GAAG8O,UAAUrU,IAAI,OAAOrB,EAAE4G,KAAKiI,EAAE+G,YAAYhP,EAAE6L,mBAAmB5D,CAAC,CAAC,IAAM8G,GAAE,CAACrC,UAAU,CAACyC,OAAO,IAAIC,cAAa,EAAGC,cAAc,KAAKrB,MAAM,CAACmB,OAAO,IAAIC,cAAa,EAAGC,cAAc,KAAKpB,QAAQ,CAACkB,OAAO,IAAIC,cAAa,EAAGC,cAAc,KAAKI,OAAO,CAACN,OAAO,IAAIC,cAAa,EAAGC,cAAc,KAAKpL,OAAO,CAACkL,OAAO,IAAIC,cAAa,EAAGC,cAAc,MAAM,SAAS1E,GAAElQ,EAAEuF,EAAEsH,GAAG,GAAG,iBAAiB7M,GAAGA,GAAG,EAAE,MAAM+D,MAAMkJ,EAAE,IAAG,IAAKqH,GAAErC,UAAU,CAACyC,OAAO1U,EAAE2U,aAAapP,EAAEqP,cAAc/H,GAAG,IAAI,CAAC,SAASwe,GAAErrB,EAAEuF,EAAEsH,GAAG,GAAG,iBAAiB7M,GAAGA,GAAG,EAAE,MAAM+D,MAAMkJ,EAAE,IAAG,IAAKqH,GAAEf,MAAM,CAACmB,OAAO1U,EAAE2U,aAAapP,EAAEqP,cAAc/H,GAAG,IAAI,CAAC,SAAS8F,GAAE3S,EAAEuF,EAAEsH,GAAG,GAAG,iBAAiB7M,GAAGA,GAAG,EAAE,MAAM+D,MAAMkJ,EAAE,IAAG,IAAKqH,GAAEd,QAAQ,CAACkB,OAAO1U,EAAE2U,aAAapP,EAAEqP,cAAc/H,GAAG,IAAI,CAAC,SAASsD,GAAEnQ,EAAEuF,EAAEsH,GAAG,GAAG,iBAAiB7M,GAAGA,GAAG,EAAE,MAAM+D,MAAMkJ,EAAE,IAAG,IAAKqH,GAAEU,OAAO,CAACN,OAAO1U,EAAE2U,aAAapP,EAAEqP,cAAc/H,GAAG,IAAI,CAAC,SAASqQ,GAAEld,EAAEuF,GAAG,IAAMsH,EAAE7M,EAAEyT,SAASlO,GAAG9G,EAAEoO,EAAE+H,cAAcpH,EAAEkb,EAAE1oB,GAAG,OAAO,IAAI8P,SAAS,SAACnU,EAAE0D,GAAK,IAAIkF,GAAE,EAAGD,GAAE,EAAGtE,EAAEuF,GAAGkD,GAAEzI,IAAI0R,MAAM1R,SAAAA,GAAIuE,GAAE,EAAG5I,EAAEqE,EAAE,IAAI6R,OAAO7R,SAAAA,GAAIuE,GAAE,EAAGlF,EAAEW,EAAE,IAAIwP,YAAY,kBAAIhH,EAAE,KAAI/J,GAAG+Q,YAAY,kBAAIhH,GAAE,KAAKqE,EAAE6H,QAAQ,IAAMjV,EAAEwN,EAAE,IAAG,EAAG1H,EAAEiI,EAAEib,EAAEzoB,GAAG6M,EAAE6H,QAAQ,SAASlM,EAAExI,GAAG,IAAIuE,EAAE,IAAG,IAAKvE,EAAEsE,GAAE,EAAGuI,EAAE8H,aAAatV,EAAE0E,MAAMtE,IAAI0O,QAAQC,MAAM3O,QAAQ,IAAI6E,EAAE,CAAC,IAAMiB,EAAEvF,EAAEwN,EAAEjI,EAAE9G,EAAE0P,QAAQmB,KAAK7P,GAAG+N,EAAE/O,EAAEoO,EAAE6H,QAAQlF,YAAY,kBAAIhH,EAAEjD,EAAE,KAAI9G,EAAE,CAAC,CAAC,GAAG,CAAC,SAASsB,GAAEC,GAAG,IAAMuF,EAAE,CAAC,EAAE,IAAI,IAAIsH,KAAKyH,GAAE/O,EAAEsH,GAAGsc,EAAE,CAAC,EAAE7U,GAAEzH,GAAG7M,GAAGA,EAAE6M,IAAI,CAAC,GAAG,OAAOtH,CAAC,CAAC,SAAS0K,GAAEjQ,GAAG,OAAO8P,QAAQ2B,UAAUC,MAAM,WAAK,OAAG1R,EAAE8T,YAAmB9T,EAAE8T,YAAe9T,EAAEuQ,SAASjM,GAAGtE,EAAEuQ,SAASV,EAAS7P,GAAiBA,EAAEuQ,OAAO9Q,EAAEO,EAAE8T,YAAYhE,QAAQ2B,UAAUC,MAAM,WAAK,IAAMjT,EAAEuB,EAAEoV,QAAQ3M,GAAEzI,IAAI,IAAI6oB,GAAEpqB,GAAG,MAAMoO,GAAE,EAAG9I,MAAMkJ,EAAE,IAAG,EAAGwb,EAAEzoB,KAAK,OAAOvB,EAAEiT,MAAM7E,SAAAA,GAAI,IAAIpO,EAAEuB,EAAEqV,cAAc,KAAS,iBAAJ9P,EAAEsH,KAAuBpO,EAAE,IAAInC,OAAOC,UAAUf,eAAekB,KAAK6I,EAAE,eAAe+iB,EAAE/iB,EAAE0M,aAAaxT,EAAE,IAAI6pB,EAAE/iB,EAAEgO,SAAS9U,EAAE,IAAI6pB,EAAE/iB,EAAEiO,WAAW/U,EAAE,IAAI,IAAM9C,EAAE+sB,EAAEnjB,GAAG,GAAG9G,EAAE,CAAC,IAAIoO,EAAE,IAAIA,EAAE4D,KAAKC,UAAUnL,EAAE,CAAC,MAAMvF,GAAG,CAAC,OAAOmO,QAAQC,MAAMnB,EAAExO,GAAE,EAAG9C,EAAE8sB,EAAEzoB,GAAG6M,GAAGtH,GAAGiI,OAAE,EAAOxN,EAAE2nB,GAAG3nB,CAAC,CAAC,OAAOuF,EAAE+P,UAAU/P,EAAE+P,SAASC,WAAWvV,EAAEsV,SAASC,SAAS4T,EAAE,CAAC,EAAEnpB,EAAEsV,SAASC,SAAShQ,EAAE+P,SAASC,WAAWvV,EAAEuQ,OAAO/H,EAAExI,EAAEiS,UAAU2W,GAAErjB,EAAE,aAAavF,EAAEuT,MAAMqV,GAAErjB,EAAE,SAASvF,EAAEwT,QAAQoV,GAAErjB,EAAE,WAAWvF,EAAEgV,OAAO4T,GAAErjB,EAAE,UAAUvF,EAAEyT,SAAS1T,GAAEwF,EAAEkO,iBAAiBzT,EAAE8T,YAAY9T,CAAC,GAAG,IAAI6R,OAAOtM,SAAAA,GAAI,IAAI9G,EAAE,cAAcuB,EAAE8T,YAAYjH,EAAEpO,EAAEkpB,GAAGlpB,EAAEoR,EAAE7P,EAAEqV,eAAc,IAAKjY,MAAMoY,WAAWhI,EAAEjI,EAAEvF,EAAEvB,GAAGuB,CAAC,KAAnzB,IAAIuF,EAAEsH,CAAgzB,GAAG,CAAC,IAAwrBmF,GAAlrBhC,GAAE,oBAAoB1M,OAAOyM,GAAE,CAACgc,WAAW,GAAGC,SAAS,IAAI9W,GAAE,CAAC,aAAa,YAAY,SAAS9B,GAAGpT,GAAG,IAAIuF,EAAE,GAAG,iBAAiBvF,EAAEuF,EAAEvF,OAAO,GAAG3C,MAAMA,KAAKqY,KAAKnQ,EAAElI,KAAKqY,SAAS,CAAC,KAAK1V,GAAGA,EAAE2V,eAAe3V,EAAE2V,cAAcD,MAAM1V,EAAE4V,gBAAgB,MAAM7R,MAAMkJ,EAAE,IAAG,IAAK1H,EAAEvF,EAAE2V,cAAcD,KAAK1V,EAAE4V,gBAAgB,CAAC,IAAM/I,EAAEsI,GAAG7R,OAAO0N,SAAS0E,MAAMjX,EAAE0W,GAAG5P,GAAG,IAAIA,EAAEzB,QAAQ,KAAKR,OAAO0N,SAAShT,KAAKS,EAAET,KAAK6O,EAAEiJ,OAAOrX,EAAEqX,MAAMrX,EAAEqX,KAAKxS,OAAO0N,SAAS0E,KAAKnQ,EAAE9G,EAAEsX,WAAWlJ,EAAEkJ,UAAUtX,EAAEuX,SAASnJ,EAAEmJ,OAAO1S,OAAO0N,SAAShT,KAAKS,EAAET,KAAKsF,OAAO2S,QAAQC,UAAU,KAAK,KAAK3Q,EAAE,CAAC,SAASwM,GAAG/R,cAAG,GAAGA,EAAE,CAAC,IAAMuF,EAAEvF,EAAE,GAAGoW,KAAKlB,GAAEpR,QAAQyB,IAAI,GAAGwK,GAAExK,GAAGuF,SAASvF,SAAAA,GAAI,IAAIA,EAAEnJ,MAAM,EAAK4D,EAAE,CAAC,MAAMA,GAAGwP,YAAY,WAAK,MAAMxP,CAAC,GAAG,CAAC,GAAG,CAAC,CAAQ,SAASmS,KAAK2C,GAAG,GAAGlZ,UAAU,CAAC,SAASgX,GAAG5S,EAAEuF,GAAG,OAAO,WAAW,IAAMsH,EAAEvJ,OAAO0N,SAAS0E,KAAKjX,EAAEuB,EAAE5D,MAAMiB,KAAKzB,WAAW4R,EAAElK,OAAO0N,SAAS0E,KAAK,OAAO1D,IAAInF,IAAIW,GAAGlK,OAAOoP,cAA6C,SAAY1S,EAAEuF,GAAG,IAAIsH,EAAE,IAAIA,EAAE,IAAI8J,cAAc,WAAW,CAACC,MAAM5W,GAAG,CAAC,MAAMuF,IAAGsH,EAAEK,SAAS2J,YAAY,kBAAmBC,kBAAkB,YAAW,GAAG,EAAG9W,EAAE,CAAC,OAAO6M,EAAEwH,WAAU,EAAGxH,EAAEkK,iBAAiBxR,EAAEsH,CAAC,CAAzOgE,CAAGvN,OAAO2S,QAAQW,MAAMrR,IAAI9G,CAAC,CAAC,CAA4M,IAAImV,GAAG,KAAKvB,IAAG,EAAG,SAAS6F,GAAGlY,GAAG,GAAGqS,GAAG,MAAMtO,MAAMkJ,EAAE,IAAG,IAAK+E,IAAIhS,IAAIA,EAAExE,eAAe,mBAAmBwE,EAAEkX,eAAe7E,IAAG,EAAGuB,GAAGtQ,OAAO2S,QAAQmB,aAAa9T,OAAO+T,iBAAiB,aAAalF,IAAI7O,OAAO+T,iBAAiB,WAAWlF,IAAI,IAAM5M,EAAEjC,OAAO+T,iBAAiBxK,EAAEvJ,OAAOgU,oBAAoBhU,OAAO+T,iBAAiB,SAASrX,EAAE6M,GAAG,KAAK,mBAAmBA,GAAGqI,GAAEpR,QAAQ9D,IAAI,IAAImoB,EAAEpY,GAAE/P,IAAIA,SAAAA,UAAGA,IAAI6M,KAAI,OAAOtH,EAAEnJ,MAAMiB,KAAKzB,WAAWmU,GAAE/P,GAAGhE,KAAK6Q,EAAE,EAAEvJ,OAAOgU,oBAAoB,SAAStX,EAAEuF,GAAG,KAAK,mBAAmBA,GAAG2P,GAAEpR,QAAQ9D,IAAI,GAAG,OAAO6M,EAAEzQ,MAAMiB,KAAKzB,WAAWmU,GAAE/P,GAAG+P,GAAE/P,GAAGoQ,QAAQpQ,SAAAA,UAAGA,IAAIuF,IAAG,EAAEjC,OAAO2S,QAAQC,UAAUtD,GAAGtP,OAAO2S,QAAQC,UAAU,aAAa5S,OAAO2S,QAAQmB,aAAaxE,GAAGgB,GAAG,eAAe,CAAC,SAASuB,GAAGnV,GAAG,IAAMuF,EAAE2H,SAASC,cAAc,KAAK,OAAO5H,EAAEmQ,KAAK1V,EAAEuF,CAAC,CAACyK,KAAI1M,OAAO2oB,kBAAkB9d,QAAQmB,KAAKrC,EAAE,IAAG,IAAK3J,OAAO2oB,kBAAkB7Y,IAAI,IAAInC,IAAG,EAAG,SAASL,SAAG5Q,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAEsD,OAAOlF,OAAQ,GAAG4B,GAAGsD,OAAOvG,GAAGuG,OAAOvG,EAAEW,IAAI4F,OAAOvG,EAAEW,GAAG8Z,SAASxX,EAAEsD,OAAOvG,GAAGiD,IAAIiR,GAAG,CAAC,IAAM1L,EAAEvF,EAAEtC,GAAGga,GAAG7K,EAAE7M,EAAEtC,GAAGia,IAAI3X,EAAEtC,GAAGga,GAAG,SAAS1X,EAAE6M,GAAG,OAAOiE,GAAGpU,KAAKW,KAAKkI,EAAEjC,OAAO+T,iBAAiBrX,EAAE6M,EAAEjR,UAAU,EAAEoE,EAAEtC,GAAGia,IAAI,SAAS3X,EAAEuF,GAAG,OAAOuL,GAAGpU,KAAKW,KAAKwP,EAAEvJ,OAAOgU,oBAAoBtX,EAAEuF,EAAE3J,UAAU,EAAEqV,IAAG,CAAE,CAAC,CAAC,SAASH,GAAG9Q,EAAEuF,EAAEsH,EAAEpO,EAAE+O,GAAG,MAAM,iBAAiBX,EAAE7M,EAAE5D,MAAMiB,KAAKmQ,IAAIX,EAAEgL,MAAM,OAAO/M,SAAS9K,SAAAA,GAAIkV,GAAEpR,QAAQ9D,IAAI,IAAIuF,EAAEvF,EAAEvB,GAAGoO,EAAEA,EAAEtO,QAAQyB,EAAE,IAAI,IAAI,KAAK6M,EAAEiL,OAAOza,KAAK2C,EAAE5D,MAAMiB,KAAKmQ,GAAG,CAAC,IAAM6C,GAAG,CAAC,EAAE,SAASiB,GAAGtR,GAAG,OAAO8P,QAAQ2B,UAAUC,MAAM,WAAK,IAAMnM,EAAE8K,GAAGoY,EAAEzoB,IAAI,IAAIuF,EAAE,OAAOvF,EAAE,GAAGA,EAAEuQ,SAASjM,EAAE,OAAO4M,GAAGlR,EAAEuF,GAAGvF,EAAE,GAAGA,EAAEuQ,SAASjO,EAAE,OAAOiD,EAAE4S,QAAQzG,MAAM,kBAAI1R,KAAI,GAAGA,EAAEuQ,SAASnR,GAAGY,EAAEuQ,SAASV,EAAE,OAAO7P,EAAE,IAAM6M,EAAE7M,EAAEuQ,SAASV,EAAEC,QAAQ2B,UAAUyL,GAAEld,EAAE,UAAU,OAAOA,EAAEuQ,OAAOjO,EAAEuK,EAAE6E,MAAM,kBAAKR,GAAGlR,EAAEuF,GAAGvF,KAAK6R,OAAOhF,SAAAA,UAAI,SAAS7M,EAAEuF,EAAEsH,UAAUwD,GAAGoY,EAAEzoB,WAAWA,EAAEiS,iBAAiBjS,EAAEuT,aAAavT,EAAEwT,eAAexT,EAAEgV,OAAOxH,EAAEX,EAAE7M,EAAE2nB,GAAGpiB,EAAEqM,OAAO/E,EAAE,CAAvH,CAAyH7M,EAAEuF,EAAEsH,GAAG7M,IAAI,GAAG,CAAC,SAASkR,GAAGlR,EAAEuF,UAAU8K,GAAGoY,EAAEzoB,WAAWA,EAAEiS,iBAAiBjS,EAAEuT,aAAavT,EAAEwT,eAAexT,EAAEgV,OAAOhV,EAAEuQ,OAAOjM,EAAEiB,EAAEkM,SAAS,CAAC,SAASD,GAAGxR,EAAEuF,EAAEsH,EAAEpO,GAAG4R,GAAGoY,EAAEzoB,IAAI,CAACqY,IAAIrY,EAAEyR,QAAQ5E,EAAE+E,OAAOnT,GAAGnC,OAAOkS,eAAe6B,GAAGoY,EAAEzoB,IAAI,UAAU,CAAC0O,IAAInJ,GAAG,CAAC,SAASoM,GAAG3R,GAAG,OAAOqQ,GAAGrQ,EAAE,CAAC,IAAMsQ,GAAG,GAAG,SAASwb,KAAK,OAAOxb,GAAGF,OAAOoY,GAAGvpB,IAAIwpB,EAAE,CAAC,SAASlX,KAAK,OAAOjB,GAAGrR,IAAIwpB,EAAE,CAAC,SAAS5V,GAAG7S,GAAG,IAAMuF,EAAE4iB,EAAE7X,IAAI/K,SAAAA,UAAGkjB,EAAEljB,KAAKvF,KAAI,OAAOuF,EAAEA,EAAEgL,OAAO,IAAI,CAAC,IAAI6B,IAAG,EAAG,SAASI,GAAGxS,EAAEuF,EAAEsH,EAAEpO,GAAG,IAAM+O,EAAE,SAASxN,EAAEuF,EAAEsH,EAAEpO,GAAG,IAA0vC9C,EAApvC6R,EAAE,CAAC9B,KAAK,KAAK0J,QAAQ,KAAKrE,WAAW,KAAKsC,YAAY,MAAM,MAAM,iBAAiBrT,GAAG,SAASA,GAAG,GAAG/D,MAAMC,QAAQ8D,IAAI,OAAOA,EAAE,MAAM+D,MAAMkJ,EAAE,IAAG,IAAK,IAAM1H,EAAE,CAAC,OAAO,MAAM,aAAa,eAAesH,EAAEvQ,OAAOoO,KAAK1K,GAAG2P,QAAQ,SAAC3P,EAAE6M,UAAItH,EAAEzB,QAAQ+I,IAAI,EAAE7M,EAAEA,EAAEiL,OAAO4B,KAAI,IAAI,GAAG,IAAIA,EAAEhR,OAAO,MAAMkI,MAAMkJ,EAAE,IAAG,EAAG1H,EAAE5I,KAAK,MAAMkQ,EAAElQ,KAAK,QAAQ,GAAG,iBAAiBqD,EAAE0L,MAAM,IAAI1L,EAAE0L,KAAK7P,OAAO,MAAMkI,MAAMkJ,EAAE,IAAG,IAAK,GAAG,iBAAiBjN,EAAEqY,KAAK,mBAAmBrY,EAAEqY,IAAI,MAAMtU,MAAMkJ,EAAE,IAAG,IAAK,IAAMxO,EAAEuB,SAAAA,SAAG,iBAAiBA,GAAG,mBAAmBA,GAAE,KAAKvB,EAAEuB,EAAE+Q,aAAa9U,MAAMC,QAAQ8D,EAAE+Q,aAAa/Q,EAAE+Q,WAAW6H,MAAMna,IAAI,MAAMsF,MAAMkJ,EAAE,IAAG,IAAK,IAAIwF,GAAGzS,EAAEqT,aAAa,MAAMtP,MAAMkJ,EAAE,IAAG,GAAI,CAAlkB,CAAokBjN,GAAGwN,EAAE9B,KAAK1L,EAAE0L,KAAK8B,EAAE4H,QAAQpV,EAAEqY,IAAI7K,EAAEuD,WAAW/Q,EAAE+Q,WAAWvD,EAAE6F,YAAYrT,EAAEqT,cAAc,SAASrT,EAAEuF,EAAEsH,EAAEpO,GAAG,GAAG,iBAAiBuB,GAAG,IAAIA,EAAEnE,OAAO,MAAMkI,MAAMkJ,EAAE,IAAG,IAAK,IAAI1H,EAAE,MAAMxB,MAAMkJ,EAAE,IAAG,IAAK,GAAG,mBAAmBJ,EAAE,MAAM9I,MAAMkJ,EAAE,IAAG,IAAK,IAAIwF,GAAGhU,GAAG,MAAMsF,MAAMkJ,EAAE,IAAG,GAAI,CAArL,CAAuLjN,EAAEuF,EAAEsH,EAAEpO,GAAG+O,EAAE9B,KAAK1L,EAAEwN,EAAE4H,QAAQ7P,EAAEiI,EAAEuD,WAAWlE,EAAEW,EAAE6F,YAAY5U,GAAG+O,EAAE4H,QAAQ,mBAAmBzZ,EAAE6R,EAAE4H,SAAS,kBAAItF,QAAQ2B,QAAQ9V,IAAGA,EAAE6R,EAAE6F,YAAY,SAASrT,GAAG,OAAOA,GAAG,CAAC,CAAC,CAAxB,CAA0BwN,EAAE6F,aAAa7F,EAAEuD,WAAW,SAAS/Q,GAAG,IAAIuF,EAAEtJ,MAAMC,QAAQ8D,GAAGA,EAAE,CAACA,GAAG,OAAOuF,EAAEA,EAAEtG,KAAKe,SAAAA,SAAG,mBAAmBA,EAAEA,EAAE+S,GAAG/S,MAAKA,SAAAA,UAAGuF,EAAEwT,MAAMxT,SAAAA,UAAGA,EAAEvF,MAAI,CAA/G,CAAiHwN,EAAEuD,YAAYvD,CAAO,CAA7wC,CAA+wCxN,EAAEuF,EAAEsH,EAAEpO,GAAG,GAAGiV,MAAMtB,KAAKA,IAAG,EAAG5C,YAAY,WAAKkE,MAAMvF,QAAQmB,KAAKrC,EAAE,GAAE,GAAI,GAAG,OAAO,IAAIsE,KAAKzN,QAAQ0J,EAAE9B,MAAM,MAAM3H,MAAMkJ,EAAE,IAAG,EAAGO,EAAE9B,OAAO4E,GAAGtU,KAAKmtB,EAAE,CAAC9T,cAAc,KAAK9E,OAAOjM,EAAEgO,QAAQ,CAAC,EAAEgD,SAAS,CAACC,SAAS,CAACpY,QAAQ,CAAC,EAAE+b,UAAU,MAAM1L,IAAIwC,KAAIY,KAAKkE,KAAK,CAAC,SAASzD,SAAGrR,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAEsD,OAAO0N,SAAU,OAAOV,GAAGF,QAAQ7K,SAAAA,UAAGA,EAAEwL,WAAW/Q,MAAKf,IAAIwpB,EAAE,CAAC,SAASxV,GAAGjT,GAAG,GAAG,IAAIsQ,GAAGF,QAAQ7K,SAAAA,UAAGkjB,EAAEljB,KAAKvF,KAAInE,OAAO,MAAMkI,MAAMkJ,EAAE,IAAG,EAAGjN,IAAI,OAAOgQ,GAAE2D,GAAG3T,EAAE,CAACuZ,gBAAe,IAAKzJ,QAAQ2B,WAAWC,MAAM,WAAK,IAAMnM,EAAE+K,GAAGrR,IAAIwpB,GAAG3kB,QAAQ9D,GAAGsQ,GAAGkJ,OAAOjU,EAAE,EAAE,GAAG,CAAC,SAASoO,GAAG3T,OAAEuF,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAE,CAACgU,gBAAe,GAAK,GAAG,iBAAiBvZ,EAAE,MAAM+D,MAAMkJ,EAAE,IAAG,IAAK,IAAMJ,EAAEsb,EAAE7X,IAAI/K,SAAAA,UAAGkjB,EAAEljB,KAAKvF,KAAI,IAAI6M,EAAE,MAAM9I,MAAMkJ,EAAE,IAAG,EAAGjN,IAAI,IAAiIA,EAA3HvB,EAAEkT,GAAG8W,EAAE5b,IAAI,GAAGtH,GAAGA,EAAEgU,eAAe,CAAC,GAAG9a,EAAE,OAAOA,EAAE0Z,QAAS,IAAMnY,EAAE,IAAI8P,SAAS,SAACvK,EAAE9G,GAAK+S,GAAG3E,GAAG,kBAAI7M,IAAGuF,EAAE9G,EAAE,IAAI,OAAOuB,CAAE,CAAQ,OAAOvB,GAAGuB,EAAEvB,EAAE0Z,QAAQrG,GAAGjF,EAAEpO,EAAEgT,QAAQhT,EAAEmT,SAAS5R,EAAE,IAAI8P,SAAS,SAACvK,EAAE9G,GAAK+S,GAAG3E,GAAG,kBAAI7M,IAAGuF,EAAE9G,GAAGqT,GAAGjF,EAAEtH,EAAE9G,EAAE,IAAIuB,CAAE,CAAC,SAAS8R,GAAG9R,EAAEuF,EAAEsH,GAAGiD,QAAQ2B,UAAUC,MAAM,WAAK,GAAGyW,EAAE9W,MAAM9L,SAAAA,UAAGA,IAAIkjB,EAAEzoB,MAAK,OAAOmZ,IAAI,IAAIzH,MAAM,kBAAI3U,GAAEiD,GAAG0R,KAAKJ,IAAII,MAAM,WAAKnM,IAAIiK,YAAY,WAAKsF,IAAI,GAAG,OAAMjD,MAAMhF,EAAE,CAAC,SAAS4F,GAAGzS,GAAG,OAAOA,GAAG,mBAAmBA,GAAG,iBAAiBA,GAAG,OAAOA,IAAI/D,MAAMC,QAAQ8D,EAAE,CAAC,SAAS+S,GAAG/S,EAAEuF,GAAG,IAAMsH,EAAE,SAAS7M,EAAEuF,OAAuK5J,EAAT,SAAWA,GAAG,IAAM0D,EAAEW,EAAEd,MAAM2N,EAAElR,GAAG4C,QAAQ,sBAAsB,QAAQ,GAAGiP,GAAG/O,EAAE,UAAUY,EAAE1D,IAAIqE,EAAEnE,OAAO,GAAG4C,EAAE8G,IAAIiI,GAAG,SAAS,CAAC,IAAMxN,EAAEuF,EAAE,GAAG,KAAKiI,EAAE,MAAMA,EAAEoM,OAAOpM,EAAE3R,OAAO,GAAG,GAAOmE,OAAJwN,GAAM,OAAFxN,EAAE,KAAG,GAASA,OAANwN,EAAE,MAAM,OAAFxN,EAAE,YAAU,CAACvB,GAAGA,EAAEoO,EAAElR,CAAC,EAAhXkR,EAAE,EAAEpO,GAAE,EAAG+O,EAAE,IAAI,MAAMxN,EAAE,KAAKA,EAAE,IAAIA,GAAG,IAAI,IAAIuF,EAAE,EAAEA,EAAEvF,EAAEnE,OAAO0J,IAAI,CAAC,IAAMsH,EAAE7M,EAAEuF,KAAkB9G,GAAG,MAAMoO,GAAtBpO,GAAG,MAAMoO,IAAoBlR,EAAE4J,EAAE,CAAC,OAAO5J,EAAEqE,EAAEnE,QAAQ,IAAI8d,OAAOnM,EAAE,IAA+N,CAAnY,CAAqYxN,EAAEuF,GAAG,OAAOvF,SAAAA,GAAI,IAAIuF,EAAEvF,EAAE6Z,OAAOtU,IAAIA,EAAE,GAAkBvF,OAAfA,EAAE8Z,SAAS,MAAW,OAAP9Z,EAAE8V,OAAQ,IAAMrX,EAAEuB,EAAE0V,KAAKnX,QAAQgH,EAAE,IAAIhH,QAAQyB,EAAEgW,OAAO,IAAI6B,MAAM,KAAK,GAAG,OAAOhL,EAAEkN,KAAKtb,EAAE,CAAC,CAAC,IAAIyV,IAAG,EAAGO,GAAG,GAAGzB,GAAGhD,IAAG1M,OAAO0N,SAAS0E,KAAK,SAASyD,KAAK,OAAOrE,IAAI,CAAC,SAASA,SAAG9U,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAE,GAAGuF,EAAAA,UAAAA,OAAAA,EAAAA,UAAAA,QAAAA,EAAE9G,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAAAA,UAAAA,GAAq7C6D,EAAT,eAAWtC,IAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,KAAAA,UAAAA,GAAYuF,EAAE,mBAAmB,MAAMvF,OAAE,EAAOA,EAAE0R,MAAM1R,EAAE8P,QAAQ2B,QAAQzR,GAAGxB,EAAExC,KAAKuJ,EAAEsM,OAAO7R,SAAAA,UAAImO,QAAQmB,KAAKvL,MAAMkJ,EAAE,IAAG,KAAMkB,QAAQmB,KAAKtP,IAAG,KAAM,EAAUwoB,EAAT,WAAa,IAAMjjB,EAAEumB,KAAK9rB,EAAE8K,SAAS9K,SAAAA,UAAGA,EAAEyR,QAAQlM,MAAK,IAAI4iB,EAAE,IAAIroB,EAAEjE,OAAO,gBAAgB,aAAa6sB,KAAKP,EAAE,gBAAgBO,IAAI,CAAC,MAAM1oB,GAAGwP,YAAY,WAAK,MAAMxP,CAAC,GAAG,CAAC,GAAGkU,IAAG,EAAGO,GAAG5Y,OAAO,EAAE,CAAC,IAAMmE,EAAEyU,GAAGA,GAAG,GAAGK,GAAG9U,EAAE,CAAC,OAAOuF,CAAC,EAAU5G,EAAT,WAAaF,IAAIuB,EAAE8K,SAAS9K,SAAAA,GAAI+R,GAAG/R,EAAEqsB,eAAe,IAAIta,GAAGxM,GAAG,EAAUmjB,EAAT,eAAgC,EAArB1oB,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAAAA,UAAAA,GAAK6M,EAAAA,UAAAA,OAAAA,EAAAA,UAAAA,QAAAA,EAASpO,EAAE,CAAC,EAAEwO,GAAG,EAAD,KAAEvN,EAAG,IAAG,EAAR,EAASN,EAAG,IAAG,EAAf,EAAgBkF,EAAG,IAAG,EAAtB,EAAuBqjB,EAAG,IAA1B,GAA8B3nB,GAAGX,EAAE4L,OAAO1G,GAAGuG,SAAS,SAAC9K,EAAEuF,GAAKiD,EAAExI,EAAEN,EAAE,IAAI8N,EAAE1C,SAAS9K,SAAAA,GAAIwI,EAAExI,EAAEsE,EAAE,IAAI3I,EAAEmP,SAAS9K,SAAAA,GAAIwI,EAAExI,EAAEZ,EAAE,KAAKU,EAAEgL,SAAS9K,SAAAA,GAAIwI,EAAExI,EAAE,IAAI,IAAMP,EAAE,CAAC+rB,OAAO,CAACqB,eAAepuB,EAAEquB,gBAAgB7f,EAAE8f,gBAAgBjtB,EAAEjE,OAAOmxB,cAAc,MAAMznB,OAAE,EAAOA,EAAE,GAAG0nB,OAAO3kB,EAAE4kB,OAAOxuB,IAAI,OAAOmO,GAAGsc,EAAE1pB,EAAE+rB,OAAO3e,GAAGpN,EAAE,SAAS+I,EAAExI,EAAEuF,GAAG,IAAMsH,EAAE4b,EAAEzoB,GAAGuF,EAAEA,GAAGsN,GAAGhG,GAAGpO,EAAEoO,GAAGtH,GAAG0H,EAAE1H,GAAG0H,EAAE1H,IAAI,IAAIvJ,KAAK6Q,EAAE,CAAC,EAAUsb,EAAT,SAAWnoB,EAAEuF,GAAG9G,GAAG6E,OAAOoP,cAAc,IAAI7F,EAAE,cAAgB,OAAF7M,GAAIuF,GAAG,EAA9zE,GAAG2O,GAAG,OAAO,IAAIpE,SAAS,SAAC9P,EAAE6M,GAAK4H,GAAGzY,KAAK,CAACyV,QAAQzR,EAAE4R,OAAO/E,EAAEwf,eAAe9mB,GAAG,IAAI,IAAsazF,EAArW,aAAW,IAAME,EAAE,GAAGuF,EAAE,GAAGsH,EAAE,GAAGpO,EAAE,GAAG+O,GAAE,IAAKpQ,MAAMoY,UAAU,OAAOlF,GAAGxF,SAASnP,SAAAA,GAAI,IAAM0D,EAAE1D,EAAE4U,SAASoX,GAAGU,EAAE1sB,GAAG,OAAOA,EAAE4U,QAAQ,KAAKV,EAAExQ,GAAGmO,EAAE7R,EAAE0Z,eAAe,KAAKxI,EAAE7Q,KAAKL,GAAG,MAAM,KAAK2I,EAAE,KAAK7E,EAAEJ,GAAGwN,EAAE7Q,KAAKL,GAAG,MAAM,KAAK6M,EAAE,KAAKpJ,GAAGC,GAAGsS,GAAG8W,EAAE9sB,IAAIqE,EAAEhE,KAAKL,GAAG0D,GAAGZ,EAAEzC,KAAKL,GAAG,MAAM,KAAK+D,EAAEL,GAAGkG,EAAEvJ,KAAKL,GAAG,IAAI,CAAC2wB,aAAatsB,EAAEusB,cAAchnB,EAAEinB,WAAW3f,EAAE4f,YAAYhuB,EAAE,CAA7V,GAA3D6tB,EAA2D,EAA3DA,aAAeC,EAA4C,EAA5CA,cAAgBC,EAA4B,EAA5BA,WAAaC,EAAe,EAAfA,YAAsXjuB,EAAE,GAAG8J,EAAE0K,GAAGtU,EAAEsU,GAAG1P,OAAO0N,SAAS0E,KAAK,OAAOhC,MAAMQ,IAAG,EAAGpU,EAAE0N,EAAEvC,OAAO5L,EAAE1D,EAAE4I,GAAGuL,QAAQ2B,UAAUC,MAAM,kBAAKyW,EAAE,IAAIroB,EAAEjE,OAAO,uBAAuB,oBAAoB6sB,GAAE,IAAKP,EAAE,uBAAuBO,GAAE,EAAG,CAACgE,iBAAiBpqB,KAAKwN,QAAQyC,IAAI/T,GAAGkT,MAAM7E,SAAAA,GAAI,GAAGA,EAAEkM,MAAM/Y,SAAAA,UAAGA,KAAI,OAAO4T,GAAGlX,KAAK4G,OAAO2S,QAAQA,QAAQW,MAAM,GAAGtO,EAAEqkB,UAAU3b,SAAS6I,OAAOhe,SAASmX,GAAGhC,SAAS0E,KAAKxB,IAAG,EAAGY,GAAG9U,EAAEuF,GAAE,GAAI,IAAM9G,EAAE+O,EAAEvO,IAAIqS,IAAIrE,EAAEtR,EAAEsD,IAAIlC,IAAGkC,KAAKe,SAAAA,UAAGA,EAAE0R,KAAKJ,OAAMrG,OAAOxM,GAAG6F,EAAEwL,QAAQyC,IAAItF,GAAG3I,EAAEoN,MAAM,WAAKyW,EAAE,6BAA6BO,GAAE,GAAI,IAAI1oB,SAAAA,GAAI,MAAMA,CAAC,IAAI,IAAMP,EAAEJ,EAAEJ,KAAKe,SAAAA,UAAGiQ,GAAEjQ,GAAG0R,MAAM1R,SAAAA,UAAGkS,GAAGlS,EAAEsE,SAAOkE,EAAEjE,EAAE6L,QAAQpQ,SAAAA,UAAGX,EAAEyE,QAAQ9D,GAAG,KAAIf,KAAKe,SAAAA,UAAGkS,GAAGlS,EAAEsE,MAAK,OAAOA,EAAEuN,OAAO7R,SAAAA,GAAI,MAAMrB,IAAIqB,CAAC,IAAI0R,MAAM,kBAAK/S,IAAImR,QAAQyC,IAAI9S,EAAEwL,OAAOzC,IAAIqJ,OAAOtM,SAAAA,GAAI,MAAMvF,EAAE8K,SAAS9K,SAAAA,UAAGA,EAAE4R,OAAOrM,MAAKA,CAAC,IAAImM,KAAK8W,GAAG9W,MAAM,WAAK,IAAI1R,SAAAA,GAAI,MAAMA,CAAC,MAAM,SAASF,EAAET,EAAEyQ,QAAQ2B,UAAUC,MAAM,WAAK,IAAM1R,EAAEX,EAAEJ,IAAIgR,IAAG,OAAOH,QAAQyC,IAAIvS,GAAG0R,KAAK/S,GAAG+S,MAAM,iBAAI,MAAKG,OAAO7R,SAAAA,GAAI,MAAMrB,IAAIqB,CAAC,IAAI4sB,SAAS,WAAK,GAAG,IAA85B,CAAC,SAAS1a,GAAGlS,EAAEuF,GAAG,OAAO8iB,EAAEroB,GAAG2oB,GAAE3oB,GAAG0R,MAAM1R,SAAAA,UAAGuF,EAAEmM,MAAM,kBAAI2W,EAAEroB,GAAGqC,GAAErC,GAAGA,QAAMuF,EAAEmM,MAAM,kBAAI1R,IAAG,CAAC,IAAI8S,IAAG,EAAG,SAASiC,GAAG/U,GAAG8S,IAAG,EAAG9C,KAAIkI,GAAGlY,GAAG8U,KAAK,CAAC,SAASpB,KAAK,OAAOZ,EAAE,CAAC,IAAImC,GAAG,CAACmY,cAAc,WAAW,sDAAU9c,2kBAAG,EAAE+c,QAAQvY,GAAG2V,WAAWnmB,EAAEgpB,cAAcrd,GAAEsd,mBAAmB5E,GAAEiB,sBAAsB3W,GAAGua,gBAAgB,WAAW,OAAOxH,EAAC,GAAGhW,IAAG1M,OAAOmqB,0BAA0BnqB,OAAOmqB,wBAAwBC,eAAezY,yBKe52jBpG,EAAAA,GAAAA,mBAAiC,gBAAiB,CAC3EsrB,OAAQ,CAAC,YCMQtrB,EAAAA,GAAAA,mBAA8B,aAAc,CAC7DurB,eAAgB,KAChBC,WAAY,KAmEG/2B,OAAOg3B,iBAAiBptB,SAASoO,MAAMif,+BCvCrB1rB,EAAAA,GAAAA,mBAA8C,yBAA0B,CACzG2rB,WAAY,CAAC,IAyC0B,IAAIvrB,KAmSfJ,EAAAA,GAAAA,mBAAkB,YAPN,CACxC5E,QAAS,GACTwwB,eAAgB,GAChBC,OAAQ,KACRC,qBAAsB,WC/XkmE,IAAIr2B,GAAE,KAAK,IAAIA,GAAE/G,QAAQ,SAASq9B,eAAe,CAAC,MAAMr1B,GAAG,CCAzmE,SAAS9G,GAAE8G,EAAEvF,GAAG,IAAIvB,EAAEnC,OAAOoO,KAAKnF,GAAG,GAAGjJ,OAAOw0B,sBAAsB,CAAC,IAAIjkB,EAAEvQ,OAAOw0B,sBAAsBvrB,GAAGvF,IAAI6M,EAAEA,EAAEuD,QAAQ,SAASpQ,GAAG,OAAO1D,OAAOy0B,yBAAyBxrB,EAAEvF,GAAGyO,UAAU,KAAKhQ,EAAEzC,KAAKI,MAAMqC,EAAEoO,EAAE,CAAC,OAAOpO,CAAC,CAAC,SAASoO,GAAEtH,GAAG,IAAI,IAAIvF,EAAE,EAAEA,EAAEpE,UAAUC,OAAOmE,IAAI,CAAC,IAAI6M,EAAE,MAAMjR,UAAUoE,GAAGpE,UAAUoE,GAAG,CAAC,EAAEA,EAAE,EAAEvB,GAAEnC,OAAOuQ,IAAG,GAAI/B,SAAS,SAAS9K,GAAGuE,GAAEgB,EAAEvF,EAAE6M,EAAE7M,GAAG,IAAI1D,OAAO00B,0BAA0B10B,OAAO20B,iBAAiB1rB,EAAEjJ,OAAO00B,0BAA0BnkB,IAAIpO,GAAEnC,OAAOuQ,IAAI/B,SAAS,SAAS9K,GAAG1D,OAAOkS,eAAejJ,EAAEvF,EAAE1D,OAAOy0B,yBAAyBlkB,EAAE7M,GAAG,GAAG,CAAC,OAAOuF,CAAC,CAAuK,SAAShB,GAAEgB,EAAEvF,EAAEvB,GAAG,OAAOuB,KAAKuF,EAAEjJ,OAAOkS,eAAejJ,EAAEvF,EAAE,CAACmB,MAAM1C,EAAEgQ,YAAW,EAAG+L,cAAa,EAAGC,UAAS,IAAKlV,EAAEvF,GAAGvB,EAAE8G,CAAC,CAAC,SAAS5J,GAAE4J,GAAG,OAAO5J,GAAEW,OAAO4pB,eAAe5pB,OAAOwsB,eAAe,SAASvjB,GAAG,OAAOA,EAAE4gB,WAAW7pB,OAAOwsB,eAAevjB,EAAE,GAAGA,EAAE,CAAC,SAASjB,GAAEiB,EAAEvF,GAAG,OAAOsE,GAAEhI,OAAO4pB,gBAAgB,SAAS3gB,EAAEvF,GAAG,OAAOuF,EAAE4gB,UAAUnmB,EAAEuF,CAAC,GAAGA,EAAEvF,EAAE,CAAC,SAASiN,GAAE1H,GAAG,QAAG,IAASA,EAAE,MAAM,IAAI6U,eAAe,6DAA6D,OAAO7U,CAAC,CAA4lB,IAAIlG,GAAE,SAASZ,IAAI,SAAS8G,EAAEvF,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAIuc,UAAU,sDAAsDhX,EAAEhJ,UAAUD,OAAO8L,OAAOpI,GAAGA,EAAEzD,UAAU,CAAC0P,YAAY,CAAC9K,MAAMoE,EAAEkV,UAAS,EAAGD,cAAa,KAAMxa,GAAGsE,GAAEiB,EAAEvF,EAAE,CAAjO,CAAmOZ,EAAEY,EAAAA,WAAa,IAAMP,EAAI+I,EAAtrB,SAAWjD,GAAG,IAAIvF,EAAE,WAAW,GAAG,oBAAoB2a,UAAUA,QAAQC,UAAU,OAAM,EAAG,GAAGD,QAAQC,UAAUC,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAO3J,QAAQ5U,UAAUwe,QAAQre,KAAKie,QAAQC,UAAUzJ,QAAQ,IAAI,WAAW,MAAK,CAAE,CAAC,MAAM5L,GAAG,OAAM,CAAE,CAAC,CAA5P,GAAgQ,OAAO,WAAW,IAAI9G,EAAEoO,EAAElR,GAAE4J,GAAG,GAAGvF,EAAE,CAAC,IAAIwN,EAAE7R,GAAE0B,MAAM4O,YAAYxN,EAAEkc,QAAQC,UAAU/N,EAAEjR,UAAU4R,EAAE,MAAM/O,EAAEoO,EAAEzQ,MAAMiB,KAAKzB,WAAW,OAAzkB,SAAW2J,EAAEvF,GAAG,GAAGA,IAAI,iBAAiBA,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,QAAG,IAASA,EAAE,MAAM,IAAIuc,UAAU,4DAA4D,OAAOtP,GAAE1H,EAAE,CAA6Z9F,CAAEpC,KAAKoB,EAAE,CAAC,CAAkRqB,CAAEV,GAAG,SAASA,EAAEmG,GAAG,IAAIvF,EAAE,GAAG,SAASuF,EAAEvF,GAAG,KAAKuF,aAAavF,+FAAG,MAAM,IAAIuc,UAAU,4CAAoC,CAA3F,CAA6Flf,KAAK+B,GAAGmF,GAAE0I,GAAEjN,EAAEwI,EAAE9L,KAAKW,KAAKkI,IAAI,aAAa,SAASA,GAAGvF,EAAE4K,GAAGrF,CAAC,IAAIhB,GAAE0I,GAAEjN,GAAG,gBAAgB,SAASuF,EAAE9G,GAAGuB,EAAE4W,MAAMuY,UAAU,YAAY5pB,IAAIvF,EAAE66B,eAAe76B,EAAE66B,eAAe/qB,QAAQ2B,WAAWC,MAAM,WAAW,IAAI1R,EAAE86B,WAAW,YAAYv1B,EAAE,OAAO9G,EAAErC,WAAM,EAAOR,UAAU,IAAIiW,OAAO,SAASpT,GAAG,MAAMuB,EAAE66B,cAAc/qB,QAAQ2B,UAAUzR,EAAEqO,SAAS,CAAC8gB,UAAS,IAAK1wB,GAAGA,EAAE+R,UAAU/R,EAAE+R,QAAQ,WAAWvF,OAAO1F,EAAE,8BAA8B0F,OAAOxM,EAAE+R,UAAUxQ,EAAEq3B,MAAM0D,YAAY/6B,EAAEq3B,MAAM0D,YAAYt8B,GAAG+Q,YAAY,WAAW,MAAM/Q,CAAC,IAAIA,CAAC,IAAI,IAAI8F,GAAE0I,GAAEjN,GAAG,kBAAkB,WAAW,IAAIuF,EAAEsH,GAAEA,GAAE,CAAC,EAAE7M,EAAEq3B,OAAO,CAAC,EAAE,CAACnkB,WAAWlT,EAAE4K,KAAK,cAAcrF,EAAE4O,mBAAmB5O,EAAEmrB,cAAcnrB,EAAEy1B,gBAAgBz1B,EAAE01B,iBAAiB11B,EAAE21B,gBAAgB31B,EAAEw1B,mBAAmBx1B,EAAE41B,eAAe51B,CAAC,IAAIvF,EAAE4W,MAAM,CAACuY,UAAS,IAAK5pB,EAAEmrB,OAAO,MAAM,IAAI3sB,MAAM,gMAAgM,OAAO/D,CAAC,CAAC,OAAYP,EAAE,CAAC,CAAChD,IAAI,oBAAoB0E,MAAM,WAAW,IAAIoE,EAAElI,KAAKA,KAAK+9B,aAAa,SAAS,WAAW,IAAIp7B,EAAEvB,EAAE8G,EAAE8xB,MAAMljB,aAAa5O,EAAE4O,YAAY,IAAI1V,EAAE,MAAM,IAAIsF,MAAM,kVAAkV,OAAOwB,EAAEqF,GAAG5K,EAAEuF,EAAEqF,IAAIrF,EAAE81B,kBAAkBr7B,EAAEkN,SAASC,cAAc5H,EAAE8xB,MAAM2D,UAAU1+B,OAAOoO,KAAKnF,EAAE8xB,MAAM4D,WAAWnwB,SAAS,SAASrM,GAAGuB,EAAE01B,MAAMj3B,GAAG8G,EAAE8xB,MAAM4D,UAAUx8B,EAAE,IAAI8G,EAAE8xB,MAAM6D,SAAShwB,YAAYlL,IAAIuF,EAAE+1B,OAAO78B,EAAE8G,EAAE8xB,MAAM3G,OAAO7jB,GAAE,CAACqG,WAAWlT,GAAGuF,EAAEg2B,mBAAmBh2B,EAAE+1B,OAAOtnB,aAAatC,KAAKnM,EAAE8xB,MAAM8D,gBAAgB51B,EAAE+1B,OAAOtnB,YAAY,GAAG,GAAG,CAACvX,IAAI,qBAAqB0E,MAAM,WAAW,IAAIoE,EAAElI,KAAKA,KAAK+9B,aAAa,UAAU,WAAW,GAAG71B,EAAE+1B,QAAQ/1B,EAAE+1B,OAAO9xB,OAAO,OAAOjE,EAAE+1B,OAAO9xB,OAAOjE,EAAEg2B,iBAAiB,GAAG,GAAG,CAAC9+B,IAAI,uBAAuB0E,MAAM,WAAW,IAAIoE,EAAElI,KAAKA,KAAK+9B,aAAa,WAAW,WAAW,GAAG71B,EAAE+1B,QAAQ,YAAY/1B,EAAE+1B,OAAOznB,YAAY,OAAOtO,EAAE+1B,OAAO9nB,SAAS,IAAInW,KAAKg+B,mBAAmBh+B,KAAKg+B,kBAAkBG,WAAWC,YAAYp+B,KAAKg+B,mBAAmBh+B,KAAKy9B,WAAU,CAAE,GAAG,CAACr+B,IAAI,SAAS0E,MAAM,WAAW,IAAI1C,EAAEpB,KAAK,GAAGA,KAAKg6B,MAAM6D,SAAS,OAAO31B,IAAGA,GAAEm2B,SAAS17B,EAAAA,cAAgBuF,GAAEm2B,SAAS,MAAM,SAASn2B,GAAG,OAAO9G,EAAE0V,YAAY5O,EAAEA,EAAE4O,YAAY,KAAK,IAAI,IAAI,KAAK,IAAItH,EAAEtH,IAAGA,GAAEm2B,SAAS17B,EAAAA,cAAgBuF,GAAEm2B,SAAS,MAAM,SAASn2B,GAAG,OAAO9G,EAAE0V,YAAY5O,EAAEA,EAAE4O,YAAY,KAAK,IAAI,SAAI,EAAO,OAAOnU,EAAAA,cAAgB3C,KAAKg6B,MAAM2D,SAAS,CAACW,IAAIt+B,KAAKu+B,UAAUlG,MAAMr4B,KAAKg6B,MAAM4D,UAAUY,UAAUx+B,KAAKg6B,MAAMyE,eAAejvB,EAAE,MAApyI,SAAWtH,EAAEvF,GAAG,IAAI,IAAIvB,EAAE,EAAEA,EAAEuB,EAAEnE,OAAO4C,IAAI,CAAC,IAAIoO,EAAE7M,EAAEvB,GAAGoO,EAAE4B,WAAW5B,EAAE4B,aAAY,EAAG5B,EAAE2N,cAAa,EAAG,UAAU3N,IAAIA,EAAE4N,UAAS,GAAIne,OAAOkS,eAAejJ,EAAEsH,EAAEpQ,IAAIoQ,EAAE,CAAC,CAAqoIW,CAA9sDpO,EAAktD7C,UAAUkD,GAAaL,CAAC,CAA/mG,GAAmnGmF,GAAElF,GAAE,eAAe,CAAC27B,SAAS,MAAMC,UAAU,CAAC,EAAEE,eAAe,WAAW,KCa1gKtsB,EAAAA,GAAAA,mBAAgC,WAAY,CAC/D8iB,SAAU,KACVoK,SAAUz4B,OAAO04B,sCCZnB,MAAMC,GAAO,OAKPC,GAA8BD,KAC9BE,GAAS7/B,OACT8/B,GAAezU,GAAIA,IAAMuU,GACzBG,GAAc1U,GAAgB,mBAALA,EACzB2U,GAAe,CAAC/3B,EAAG5F,KAAI,IAClB4F,KACA5F,IAQL49B,GAAQ,IAAIC,QAElB,IAAIC,GAAU,EASd,MAAMC,GAAc5gC,IAChB,MAAMsa,SAActa,EACdmQ,EAAcnQ,GAAOA,EAAImQ,YACzB0wB,EAAS1wB,GAAe7O,KAC9B,IAAIwB,EACAoC,EACJ,GAAIm7B,GAAOrgC,KAASA,GAAQ6gC,GAAU1wB,GAAe0N,OA8BjD/a,EAAS+9B,EAAS7gC,EAAI8gC,SAAmB,UAARxmB,EAAmBta,EAAIO,WAAqB,UAAR+Z,EAAmB3F,KAAKC,UAAU5U,GAAO,GAAKA,MA9B1D,CAIzD,GADA8C,EAAS29B,GAAM7tB,IAAI5S,GACf8C,EAAQ,OAAOA,EAMnB,GAFAA,IAAW69B,GAAU,IACrBF,GAAM1gB,IAAI/f,EAAK8C,GACXqN,GAAehQ,MAAO,CAGtB,IADA2C,EAAS,IACLoC,EAAQ,EAAGA,EAAQlF,EAAID,OAAQmF,IAC/BpC,GAAU89B,GAAW5gC,EAAIkF,IAAU,IAEvCu7B,GAAM1gB,IAAI/f,EAAK8C,EACnB,CACA,GAAIqN,GAAekwB,GAAQ,CAEvBv9B,EAAS,IACT,MAAM8L,EAAOyxB,GAAOzxB,KAAK5O,GAAK+gC,OAC9B,MAAOT,GAAYp7B,EAAQ0J,EAAKL,QACvB+xB,GAAYtgC,EAAIkF,MACjBpC,GAAUoC,EAAQ,IAAM07B,GAAW5gC,EAAIkF,IAAU,KAGzDu7B,GAAM1gB,IAAI/f,EAAK8C,EACnB,CACJ,CAGA,OAAOA,CAAM,EAIXk+B,GAAiB,IAAIN,QAErBO,GAAc,CAAC,EACfC,GAAgB,CAAC,EACjBC,GAAgB,YAEhBC,UAAyB55B,QAAU25B,GACnCE,UAA2BjwB,UAAY+vB,GAEvCG,GAAoB,CAACC,EAAO5gC,KAC9B,MAAMma,EAAQkmB,GAAepuB,IAAI2uB,GACjC,MAAO,CAEH,KAAKjB,GAAY3/B,IAAQ4gC,EAAM3uB,IAAIjS,IAAQsgC,GAE1CO,IACG,IAAKlB,GAAY3/B,GAAM,CACnB,MAAM8gC,EAAOF,EAAM3uB,IAAIjS,GAGjBA,KAAOugC,KACTA,GAAcvgC,GAAO8gC,GAEzB3mB,EAAM,GAAGna,EAAK6/B,GAAaiB,EAAMD,GAAOC,GAAQR,GACpD,GAGJnmB,EAAM,GAEN,KACSwlB,GAAY3/B,IAETA,KAAOugC,GAAsBA,GAAcvgC,IAG3C2/B,GAAY3/B,IAAQ4gC,EAAM3uB,IAAIjS,IAAQsgC,GAErD,EAUD,IAAIS,IAAS,EACjB,MAEOC,GAAeC,IAAkBR,IAAmB55B,OAAO+T,iBAAmB,CACjF/T,OAAO+T,iBAAiBjD,KAAK9Q,QAC7BA,OAAOgU,oBAAoBlD,KAAK9Q,SAChC,CACA24B,GACAA,IAoCE0B,GAAS,CACXC,SA5Ca,IAAIJ,GA6CjBK,UApCc,KACd,MAAMC,EAAkBX,IAAqBjwB,SAAS4wB,gBACtD,OAAO1B,GAAY0B,IAAwC,WAApBA,CAA4B,GAoCjEC,GAAuB,CACzBC,UAnCeC,IAEXd,IACAjwB,SAASmK,iBAAiB,mBAAoB4mB,GAElDR,GAAc,QAASQ,GAChB,KACCd,IACAjwB,SAASoK,oBAAoB,mBAAoB2mB,GAErDP,GAAe,QAASO,EAAS,GA0BrCC,cAvBmBD,IAEnB,MAAME,EAAW,KACbX,IAAS,EACTS,GAAU,EAGRG,EAAY,KACdZ,IAAS,CAAK,EAIlB,OAFAC,GAAc,SAAUU,GACxBV,GAAc,UAAWW,GAClB,KACHV,GAAe,SAAUS,GACzBT,GAAe,UAAWU,EAAU,CACvC,GAWCC,IAAmB,gBACnBC,IAAapB,IAAmB,SAAU55B,OAM1Ci7B,GAA4BD,GAAY,EAAA1xB,UAAY,EAAAE,gBAEpD0xB,GAA2C,oBAAdC,WAA6BA,UAAUC,WAEpEC,IAAkBL,IAAaE,KAAwB,CACzD,UACA,MACFhiC,SAASgiC,GAAoBI,gBAAkBJ,GAAoBK,UAE/D,GAAapiC,IACf,GAAI4/B,GAAW5/B,GACX,IACIA,EAAMA,GACV,CAAE,MAAO67B,GAEL77B,EAAM,EACV,CAIJ,MAAMsO,EAAOtO,EAGb,MAAO,CADPA,EAAoB,iBAAPA,EAAkBA,GAAOR,MAAMC,QAAQO,GAAOA,EAAIZ,OAASY,GAAOigC,GAAWjgC,GAAO,GAG7FsO,EACH,EAIL,IAAI+zB,GAAc,EAClB,MAAMC,GAAe,MAAMD,GAe3BE,eAAeC,MAAkBl0B,GAC7B,MAAOsyB,EAAO6B,EAAMC,EAAOC,GAASr0B,EAG9B5N,EAAUm/B,GAAa,CACzB+C,eAAe,EACfC,cAAc,GACE,kBAAVF,EAAsB,CAC5BG,WAAYH,GACZA,GAAS,CAAC,GACd,IAAIC,EAAgBliC,EAAQkiC,cAC5B,MAAMG,EAAwBriC,EAAQsiC,gBACtC,IAAIC,EAAiBviC,EAAQuiC,eAC7B,MAAMH,GAAoC,IAAvBpiC,EAAQoiC,WAIrBD,EAAeniC,EAAQmiC,aAG7B,GAAIjD,GAAW6C,GAAO,CAClB,MAAMS,EAAYT,EACZU,EAAc,GACd/uB,EAAKwsB,EAAM3yB,OACjB,IAAK,MAAMjO,KAAOoU,GAEb,iBAAiBkJ,KAAKtd,IAAQkjC,EAAUtC,EAAM3uB,IAAIjS,GAAKojC,KACpDD,EAAY5jC,KAAKS,GAGzB,OAAOqT,QAAQyC,IAAIqtB,EAAY3gC,IAAI6gC,GACvC,CACA,OAAOA,EAAYZ,GACnBF,eAAec,EAAYD,GAEvB,MAAOpjC,GAAO,GAAUojC,GACxB,IAAKpjC,EAAK,OACV,MAAOiS,EAAKmN,GAAOuhB,GAAkBC,EAAO5gC,IACrCsjC,EAAoBC,EAAUC,EAAOC,GAAWpD,GAAepuB,IAAI2uB,GACpE8C,EAAkB,KACpB,MAAMC,EAAeL,EAAmBtjC,GACxC,OAAI8iC,WAGOU,EAAMxjC,UACNyjC,EAAQzjC,GACX2jC,GAAgBA,EAAa,IACtBA,EAAa,GA1DnB,GA0DoC1uB,MAAK,IAAIhD,IAAM+N,OAGrD/N,IAAM+N,IAAI,EAGrB,GAAI1R,EAAKlP,OAAS,EAEd,OAAOskC,IAEX,IACI/xB,EADAqO,EAAO0iB,EAGX,MAAMkB,EAAmBtB,KACzBiB,EAASvjC,GAAO,CACZ4jC,EACA,GAEJ,MAAMC,GAAqBlE,GAAYsD,GACjC9oB,EAAQlI,IAIR6xB,EAAgB3pB,EAAM6F,KACtB+jB,EAAc5pB,EAAM6pB,GACpBC,EAAgBtE,GAAYoE,GAAeD,EAAgBC,EAUjE,GARIF,IACAZ,EAAiBrD,GAAWqD,GAAkBA,EAAegB,EAAeH,GAAiBb,EAE7F7jB,EAAI,CACAY,KAAMijB,EACNe,GAAIC,KAGRrE,GAAW5f,GAEX,IACIA,EAAOA,EAAKikB,EAChB,CAAE,MAAOpI,GAELlqB,EAAQkqB,CACZ,CAGJ,GAAI7b,GAhTU,CAACpa,GAAIg6B,GAAWh6B,EAAEqP,MAgTpBivB,CAAclkB,GAAO,CAS7B,GANAA,QAAaA,EAAK5K,OAAOymB,IACrBlqB,EAAQkqB,CAAG,IAKX+H,IAAqBL,EAASvjC,GAAK,GAAI,CACvC,GAAI2R,EAAO,MAAMA,EACjB,OAAOqO,CACX,CAAWrO,GAASkyB,GA1FJ,CAAClyB,GACmB,mBAA1BoxB,EAAuCA,EAAsBpxB,IAAmC,IAA1BoxB,EAyFvCC,CAAgBrxB,KAGrDixB,GAAgB,EAEhBxjB,EAAI,CACAY,KAAMikB,EACND,GAAIvE,KAGhB,CAEA,GAAImD,IACKjxB,EAED,GAAIiuB,GAAWgD,GAAgB,CAC3B,MAAMuB,EAAqBvB,EAAc5iB,EAAMikB,GAC/C7kB,EAAI,CACAY,KAAMmkB,EACNxyB,MAAO8tB,GACPuE,GAAIvE,IAEZ,MAEIrgB,EAAI,CACAY,OACArO,MAAO8tB,GACPuE,GAAIvE,KAgBpB,GAVA8D,EAASvjC,GAAK,GAAKsiC,KAEnBjvB,QAAQ2B,QAAQ0uB,KAAmBzuB,MAAK,KAGpCmK,EAAI,CACA4kB,GAAIvE,IACN,KAGF9tB,EAIJ,OAAOqO,EAHH,GAAI6iB,EAAc,MAAMlxB,CAIhC,CACJ,CAEA,MAAMyyB,GAAoB,CAACT,EAAchqB,KACrC,IAAI,MAAM3Z,KAAO2jC,EACTA,EAAa3jC,GAAK,IAAI2jC,EAAa3jC,GAAK,GAAG2Z,EACnD,EAEE0qB,GAAY,CAACC,EAAU5jC,KAMzB,IAAK2/B,GAAelhB,IAAImlB,GAAW,CAC/B,MAAMn/B,EAAO06B,GAAayB,GAAsB5gC,GAG1C4iC,EAAqB,CAAC,EACtBiB,EAAS/B,GAAe7qB,KAAK8nB,GAAW6E,GAC9C,IAAIvtB,EAAUyoB,GACd,MAAMgF,EAAgB,CAAC,EACjB1yB,EAAY,CAAC9R,EAAKwhC,KACpB,MAAMiD,EAAOD,EAAcxkC,IAAQ,GAGnC,OAFAwkC,EAAcxkC,GAAOykC,EACrBA,EAAKllC,KAAKiiC,GACH,IAAIiD,EAAK1nB,OAAO0nB,EAAKp9B,QAAQm6B,GAAW,EAAE,EAE/CkD,EAAS,CAAC1kC,EAAK0E,EAAOo8B,KACxBwD,EAASllB,IAAIpf,EAAK0E,GAClB,MAAM+/B,EAAOD,EAAcxkC,GAC3B,GAAIykC,EACA,IAAK,MAAMxjC,KAAMwjC,EACbxjC,EAAGyD,EAAOo8B,EAElB,EAEE6D,EAAe,KACjB,IAAKtE,GAAelhB,IAAImlB,KAEpBjE,GAAejhB,IAAIklB,EAAU,CACzBhB,EACA,CAAC,EACD,CAAC,EACD,CAAC,EACDiB,EACAG,EACA5yB,KAEC+vB,IAAW,CAOZ,MAAM+C,EAAez/B,EAAKo8B,UAAUxuB,WAAW4E,KAAK8nB,GAAW2E,GAAkBzsB,KAAK8nB,GAAW6D,EA7NjG,KA8NMuB,EAAmB1/B,EAAKs8B,cAAc1uB,WAAW4E,KAAK8nB,GAAW2E,GAAkBzsB,KAAK8nB,GAAW6D,EA7NrG,KA8NJvsB,EAAU,KACN6tB,GAAgBA,IAChBC,GAAoBA,IAIpBxE,GAAe1tB,OAAO2xB,EAAS,CAEvC,CACJ,EAQJ,OANAK,IAMO,CACHL,EACAC,EACAI,EACA5tB,EAER,CACA,MAAO,CACHutB,EACAjE,GAAepuB,IAAIqyB,GAAU,GAChC,GAgBE1D,GAAO2D,IAAUF,GAAU,IAAI/S,KAEhCwT,GAAgBjF,GAAa,CAE/BkF,cAAevF,GACfwF,UAAWxF,GACXyF,QAASzF,GACT0F,aAnBiB,CAACrZ,EAAGsZ,EAAIlR,EAAQ6O,EAAY39B,KAC7C,MAAMigC,EAAgBnR,EAAOoR,gBACvBC,EAAoBngC,EAAKogC,WAEzBC,MAAc1iC,KAAKsnB,SAAW,KAAQ,IAAMkb,EAAoB,EAAIA,EAAoB,KAAOrR,EAAOwR,oBACvG9F,GAAYyF,IAAkBE,EAAoBF,GAGvDryB,WAAW+vB,EAAY0C,EAASrgC,EAAK,EAYrCugC,YAAalG,GAEbmG,mBAAmB,EACnBC,uBAAuB,EACvBC,mBAAmB,EACnBC,oBAAoB,EAEpBL,mBAAoBvD,GAAiB,IAAQ,IAC7C6D,sBAAuB,IACvBC,iBAAkB,IAClBC,eAAgB/D,GAAiB,IAAO,IAExCgE,QAtBY,CAACnC,EAAaoC,IAAUlG,GAAW8D,IAAgB9D,GAAWkG,GAuB1EC,SAAU,KAAI,EACdxF,SACA2D,UACA8B,SAAU,CAAC,GAEfnF,IAEMoF,GAAe,CAACx+B,EAAG5F,KAErB,MAAMgpB,EAAI2U,GAAa/3B,EAAG5F,GAE1B,GAAIA,EAAG,CACH,MAAQqkC,IAAKC,EAAIH,SAAUI,GAAO3+B,GAC1By+B,IAAKG,EAAIL,SAAUM,GAAOzkC,EAC9BskC,GAAME,IACNxb,EAAEqb,IAAMC,EAAGh4B,OAAOk4B,IAElBD,GAAME,IACNzb,EAAEmb,SAAWxG,GAAa4G,EAAIE,GAEtC,CACA,OAAOzb,CAAC,EAGN0b,IAAmB,IAAAzI,eAAc,CAAC,GA4ClC0I,GAAiBpG,IAAmB55B,OAAOigC,qBAC3CP,GAAMM,GAAiBhgC,OAAOigC,qBAAuB,GAmDrDC,GAAsBR,GAAI/3B,QAlBZw4B,GAAa,CAACC,EAAMC,EAAUjT,IAenC+S,EAAWC,EAbFC,GAAY,KAAK54B,KAC7B,MAAOtO,GAAO,GAAUinC,IACjB,CAAE,CAAE,CAAExD,GAAWpD,GAAepuB,IAAI2uB,IAC3C,GAAI5gC,EAAIwe,WA1CI,SA6CR,OAAO0oB,KAAY54B,GAEvB,MAAM64B,EAAM1D,EAAQzjC,GACpB,OAAI2/B,GAAYwH,GAAaD,KAAY54B,WAClCm1B,EAAQzjC,GACRmnC,EACV,GACgClT,KA9CjC4S,KAEAhgC,OAAOugC,uBAAyB,WCzjBxC,MAGM,GAAM,eAAoB,CAAE1rB,IAC9B,GAAuB,YAAnBA,EAAQ5H,OACR,MAAM4H,EACH,GAAuB,cAAnBA,EAAQ5H,OACf,OAAO4H,EAAQhX,MACZ,KAAuB,aAAnBgX,EAAQ5H,OACT4H,EAAQ2rB,QAEd3rB,EAAQ5H,OAAS,UACjB4H,EAAQzG,MAAMiW,IACVxP,EAAQ5H,OAAS,YACjB4H,EAAQhX,MAAQwmB,CAAC,IACjBpiB,IACA4S,EAAQ5H,OAAS,WACjB4H,EAAQ2rB,OAASv+B,CAAC,IAEhB4S,EAEb,GACK4rB,GAAc,CAChBC,QAAQ,GA8eM7H,GAAO3tB,gBDIN6oB,IACf,MAAM,MAAEl2B,GAAUk2B,EACZ4M,GAAe,IAAAC,YAAWb,IAC1Bc,EAAqB9H,GAAWl7B,GAChCuvB,GAAS,IAAA0T,UAAQ,IAAID,EAAqBhjC,EAAM8iC,GAAgB9iC,GAAO,CACzEgjC,EACAF,EACA9iC,IAGEkjC,GAAiB,IAAAD,UAAQ,IAAID,EAAqBzT,EAASqS,GAAakB,EAAcvT,IAAS,CACjGyT,EACAF,EACAvT,IAGEqQ,EAAWrQ,GAAUA,EAAOqQ,SAE5BuD,GAAkB,IAAAC,QAAOrI,IAC3B6E,IAAauD,EAAgBE,UAC7BF,EAAgBE,QAAU1D,GAAUC,EAASsD,EAAehH,OAASA,IAAQ3M,IAEjF,MAAM+T,EAAeH,EAAgBE,QAarC,OAXIC,IACAJ,EAAehH,MAAQoH,EAAa,GACpCJ,EAAerD,OAASyD,EAAa,IAGzClG,IAA0B,KACtB,GAAIkG,EAEA,OADAA,EAAa,IAAMA,EAAa,KACzBA,EAAa,EACxB,GACD,KACI,IAAAt3B,eAAck2B,GAAiBqB,SAAUpI,GAAajF,EAAO,CAChEl2B,MAAOkjC,IACR,GCzC8C,eAAgB,CACjEljC,MAAOogC,KDsGOoD,GCnlBI,CAACzF,EAAM0F,EAASlU,KAClC,MAAM,MAAE2M,EAAK,QAAEsF,EAAO,SAAEkC,EAAQ,aAAEC,EAAY,kBAAEC,EAAiB,kBAAEzC,EAAiB,gBAAE0C,EAAe,kBAAEC,EAAiB,mBAAEC,EAAkB,iBAAEC,GAAqBzU,GAC5JqP,EAAoBC,EAAUC,EAAOC,GAAWpD,GAAepuB,IAAI2uB,IAKnE5gC,EAAK2oC,GAAS,GAAUlG,GAEzBmG,GAAoB,IAAAd,SAAO,GAG3Be,GAAe,IAAAf,SAAO,GAEtBgB,GAAS,IAAAhB,QAAO9nC,GAChB+oC,GAAa,IAAAjB,QAAOK,GACpBa,GAAY,IAAAlB,QAAO7T,GACnB9iB,EAAY,IAAI63B,EAAUjB,QAC1BkB,EAAW,IAAI93B,IAAYiwB,aAAejwB,IAAYgwB,YACrD+H,EAAUC,EAAUC,EAAgBC,GAAmB1I,GAAkBC,EAAO5gC,GACjFspC,GAAoB,IAAAxB,QAAO,CAAC,GAAGC,QAC/B1B,EAAW1G,GAAY0I,GAAgBpU,EAAOoS,SAASrmC,GAAOqoC,EAC9DkB,EAAU,CAACzI,EAAMiH,KACnB,IAAI,MAAMlc,KAAKyd,EAAkB,CAC7B,MAAM/lC,EAAIsoB,EACV,GAAU,SAANtoB,GACA,IAAK2iC,EAAQpF,EAAKv9B,GAAIwkC,EAAQxkC,IAAK,CAC/B,IAAKo8B,GAAYmB,EAAKv9B,IAClB,OAAO,EAEX,IAAK2iC,EAAQsD,EAAczB,EAAQxkC,IAC/B,OAAO,CAEf,OAEA,GAAIwkC,EAAQxkC,KAAOu9B,EAAKv9B,GACpB,OAAO,CAGnB,CACA,OAAO,CAAI,EAETgN,GAAc,IAAAo3B,UAAQ,KACxB,MAAM8B,IACGzpC,KACAmoC,IAEAxI,GAAY2I,IAEbn3B,IAAYi1B,aACZgC,MACCzI,GAAYkG,IAA2BA,GAJAyC,GAQ1CoB,EAAoBvvB,IAEtB,MAAMwvB,EAAW9J,GAAa1lB,GAE9B,cADOwvB,EAASvG,GACXqG,EAGE,CACHG,cAAc,EACdC,WAAW,KACRF,GALIA,CAMV,EAECG,EAAaZ,IACba,EAAcV,IACdW,EAAiBN,EAAiBI,GAClCG,EAAiBH,IAAeC,EAAcC,EAAiBN,EAAiBK,GAItF,IAAIG,EAAoBF,EACxB,MAAO,CACH,KACI,MAAMG,EAAcT,EAAiBR,KAErC,OADsBK,EAAQY,EAAaD,IAYvCA,EAAkBlqB,KAAOmqB,EAAYnqB,KACrCkqB,EAAkBL,UAAYM,EAAYN,UAC1CK,EAAkBN,aAAeO,EAAYP,aAC7CM,EAAkBv4B,MAAQw4B,EAAYx4B,MAC/Bu4B,IAEPA,EAAoBC,EACbA,EACX,EAEJ,IAAIF,EACP,GAEF,CACCrJ,EACA5gC,IAGEoqC,GAAS,KAAAx5B,uBAAqB,IAAAy5B,cAAa7I,GAAW4H,EAAeppC,GAAK,CAAC+nC,EAASjH,KAC7EyI,EAAQzI,EAAMiH,IAAUvG,GAAU,KAE/C,CACIZ,EACA5gC,IACAuQ,EAAY,GAAIA,EAAY,IAC1B+5B,GAAkB1B,EAAkBb,QACpCwC,EAAiBjH,EAAmBtjC,IAAQsjC,EAAmBtjC,GAAKZ,OAAS,EAC7E0qC,EAAaM,EAAOpqB,KACpBA,EAAO2f,GAAYmK,GAAczD,EAAWyD,EAC5Cn4B,EAAQy4B,EAAOz4B,MAEf64B,GAAe,IAAA1C,QAAO9nB,GACtBwpB,EAAed,EAAmB/I,GAAYmK,GAAcU,EAAazC,QAAU+B,EAAa9pB,EAIhGyqB,IAEEF,IAAmB5K,GAAYhuB,MAE/B24B,IAAmB3K,GAAY2I,GAA2BA,GAE1Dn3B,IAAYi1B,aAIZgC,GAAiBzI,GAAY3f,IAAgB6lB,EAG1ClG,GAAY3f,IAAS6lB,IAI1B6E,KAA4B1qC,GAAOmoC,GAAWmC,GAAkBG,GAChEb,EAAejK,GAAYyK,EAAOR,cAAgBc,EAAyBN,EAAOR,aAClFC,EAAYlK,GAAYyK,EAAOP,WAAaa,EAAyBN,EAAOP,UAG5E/G,GAAa,IAAAuH,cAAY9H,MAAOoI,IAClC,MAAMC,EAAiB7B,EAAWhB,QAClC,IAAK/nC,IAAQ4qC,GAAkB/B,EAAad,SAAW52B,IAAYi1B,WAC/D,OAAO,EAEX,IAAID,EACA0E,EACAC,GAAU,EACd,MAAM3lC,EAAOwlC,GAAkB,CAAC,EAG1BI,GAAyBvH,EAAMxjC,KAASmF,EAAKoiC,OAW5CyD,EAAoB,IACnBpJ,IACQiH,EAAad,SAAW/nC,IAAQ8oC,EAAOf,SAAWa,EAAkBb,QAEzE/nC,IAAQ8oC,EAAOf,QAGpBkD,EAAa,CACfrB,cAAc,EACdC,WAAW,GAETqB,EAA8B,KAChC/B,EAAS8B,EAAW,EAElBE,EAAe,KAEjB,MAAMC,EAAc5H,EAAMxjC,GACtBorC,GAAeA,EAAY,KAAOP,UAC3BrH,EAAMxjC,EACjB,EAGEqrC,EAAe,CACjBzB,cAAc,GAIdjK,GAAYuJ,IAAWlpB,QACvBqrB,EAAaxB,WAAY,GAE7B,IAgCI,GA/BIkB,IACA5B,EAASkC,GAGLpX,EAAOgS,gBAAkBtG,GAAYuJ,IAAWlpB,OAChDjN,YAAW,KACH+3B,GAAWE,KACX75B,IAAY4zB,cAAc/kC,EAAKi0B,EACnC,GACDA,EAAOgS,gBAIdzC,EAAMxjC,GAAO,CACT4qC,EAAejC,GACfrG,QAGP6D,EAAS0E,GAAWrH,EAAMxjC,GAC3BmmC,QAAgBA,EACZ4E,GAGAh4B,WAAWo4B,EAAclX,EAAO+R,mBAQ/BxC,EAAMxjC,IAAQwjC,EAAMxjC,GAAK,KAAO6qC,EAMjC,OALIE,GACIC,KACA75B,IAAYu0B,YAAY1lC,IAGzB,EAGXirC,EAAWt5B,MAAQ8tB,GAanB,MAAM6L,EAAe/H,EAASvjC,GAC9B,IAAK2/B,GAAY2L,KAChBT,GAAWS,EAAa,IACzBT,GAAWS,EAAa,IACJ,IAApBA,EAAa,IAOT,OANAJ,IACIH,GACIC,KACA75B,IAAYu0B,YAAY1lC,IAGzB,EAIX,MAAMurC,EAAYrC,IAAWlpB,KAG7BirB,EAAWjrB,KAAOkmB,EAAQqF,EAAWpF,GAAWoF,EAAYpF,EAExD4E,GACIC,KACA75B,IAAY6zB,UAAUmB,EAASnmC,EAAKi0B,EAGhD,CAAE,MAAO4H,GACLsP,IACA,MAAMK,EAAgBr6B,KAChB,mBAAE20B,GAAuB0F,EAE1BA,EAAcpF,aAEf6E,EAAWt5B,MAAQkqB,EAGfkP,GAAyBC,MACzBQ,EAAcvG,QAAQpJ,EAAK77B,EAAKwrC,KACL,IAAvB1F,GAA+BlG,GAAWkG,IAAuBA,EAAmBjK,KAChFoN,KAIAuC,EAActG,aAAarJ,EAAK77B,EAAKwrC,GAAgB7I,IACjD,MAAMgB,EAAeL,EAAmBtjC,GACpC2jC,GAAgBA,EAAa,IAC7BA,EAAa,GDjHlB,ECiH8DhB,EAC7D,GACD,CACC4C,YAAapgC,EAAKogC,YAAc,GAAK,EACrCgC,QAAQ,KAMhC,CAKA,OAHAuD,GAAU,EAEVI,KACO,CAAI,GAYf,CACIlrC,EACA4gC,IAKE6K,GAAc,IAAApB,cACpB,IAAI/7B,IACOk0B,GAAe5B,EAAOkI,EAAOf,WAAYz5B,IAEpD,IA2GA,GAzGAwzB,IAA0B,KACtBiH,EAAWhB,QAAUI,EACrBa,EAAUjB,QAAU9T,EAGf0L,GAAYmK,KACbU,EAAazC,QAAU+B,EAC3B,IAGJhI,IAA0B,KACtB,IAAK9hC,EAAK,OACV,MAAM0rC,EAAiB5I,EAAWnrB,KAAK8nB,GAAW6H,IAGlD,IAAIqE,EAAyB,EAC7B,MAkBMC,EDkPY,EAAC5rC,EAAK6rC,EAAWrK,KACvC,MAAMsK,EAAoBD,EAAU7rC,KAAS6rC,EAAU7rC,GAAO,IAE9D,OADA8rC,EAAkBvsC,KAAKiiC,GAChB,KACH,MAAMj9B,EAAQunC,EAAkBzkC,QAAQm6B,GACpCj9B,GAAS,IAETunC,EAAkBvnC,GAASunC,EAAkBA,EAAkB1sC,OAAS,GACxE0sC,EAAkBl+B,MACtB,CACH,EC5PuBm+B,CAAkB/rC,EAAKsjC,GAlBtB,CAAC3pB,EAAMxU,EAAO,CAAC,KAChC,GD7KQ,GC6KJwU,EAAsC,CACtC,MAAMqI,EAAMrhB,KAAKqhB,MACb7Q,IAAYw0B,mBAAqB3jB,EAAM2pB,GAA0B1C,MACjE0C,EAAyB3pB,EAAM7Q,IAAY40B,sBAC3C2F,IAER,MAAO,GDlLK,GCkLD/xB,EACHxI,IAAYy0B,uBAAyBqD,KACrCyC,QAED,IDrLE,GCqLE/xB,EACP,OAAOmpB,IACJ,GDtLY,GCsLRnpB,EACP,OAAOmpB,EAAW39B,EACtB,CACM,IAsBV,OAlBA0jC,EAAad,SAAU,EACvBe,EAAOf,QAAU/nC,EACjB4oC,EAAkBb,SAAU,EAE5BoB,EAAS,CACL/F,GAAIuF,IAGJ8B,IACI9K,GAAY3f,IAAS6hB,GAErB6J,IDhPJ,CAAC3/B,IA/FwB00B,WAA0B55B,OAA8B,uBAAK25B,GA+FpD35B,OAA8B,sBAAEkF,GAAKgH,WAAWhH,EAAG,EAAE,ECoPnFigC,CAAIN,IAGL,KAEH7C,EAAad,SAAU,EACvB6D,GAAa,CAChB,GACF,CACC5rC,IAGJ8hC,IAA0B,KACtB,IAAImK,EACJ,SAASvsB,IAGL,MAAMwsB,EAAWtM,GAAW2I,GAAmBA,EAAgBW,IAAWlpB,MAAQuoB,EAI9E2D,IAAuB,IAAXD,IACZA,EAAQl5B,WAAWvB,EAAS06B,GAEpC,CACA,SAAS16B,IAGA03B,IAAWv3B,QAAU62B,IAAqBr3B,IAAYiwB,cAAiBqH,IAAsBt3B,IAAYgwB,WAI1GzhB,IAHAojB,EAAWwE,IAAaryB,KAAKyK,EAKrC,CAEA,OADAA,IACO,KACCusB,IACAE,aAAaF,GACbA,GAAS,EACb,CACH,GACF,CACC1D,EACAC,EACAC,EACAzoC,KAGJ,IAAAsQ,eAAck5B,GAKVpB,GAAYzI,GAAY3f,IAAShgB,EAAK,CAItC,IAAK4hC,IAAmBC,GACpB,MAAM,IAAIv6B,MAAM,yDAGpByhC,EAAWhB,QAAUI,EACrBa,EAAUjB,QAAU9T,EACpB4U,EAAad,SAAU,EACvB,MAAMZ,EAAM1D,EAAQzjC,GACpB,IAAK2/B,GAAYwH,GAAM,CACnB,MAAMzrB,EAAU+vB,EAAYtE,GAC5B,GAAIzrB,EACR,CACA,IAAIikB,GAAYhuB,GAQZ,MAAMA,EARc,CACpB,MAAM+J,EAAUonB,EAAWwE,IACtB3H,GAAY6J,KACb9tB,EAAQ5H,OAAS,YACjB4H,EAAQhX,OAAQ,GAEpB,GAAIgX,EACR,CAGJ,CACA,MAAO,CACH6oB,OAAQkH,EACJzrB,WAEA,OADAspB,EAAkBtpB,MAAO,EAClBwpB,CACX,EACI73B,YAEA,OADA23B,EAAkB33B,OAAQ,EACnBA,CACX,EACIi4B,mBAEA,OADAN,EAAkBM,cAAe,EAC1BA,CACX,EACIC,gBAEA,OADAP,EAAkBO,WAAY,EACvBA,CACX,EACH,EDyGY,IAAC3B,GEvmBPkE,WCaXl7B,EAAAA,EAAAA,oBAAmB,0BAA2BioB,GDbnCiT,GAAT,SAA8Bn9B,EAAcvK,GAC1C+L,SAASkS,gBAAgBsW,MAAMoT,YAAYp9B,EAAMvK,EACnD,GAVAoxB,EAAAA,EAAAA,gBAAe,2BAA2BhkB,WAAU,SAACw6B,GAC/CA,EAAMpqB,QAAUoqB,EAAMrY,SACxBmY,GAAqB,aAAcE,EAAMrY,OAAO,mBAChDmY,GAAqB,aAAcE,EAAMrY,OAAO,mBAChDmY,GAAqB,aAAcE,EAAMrY,OAAO,mBAEpD,IEFAyE,EAAO,uBAAwB6T,GAC/B7T,EAAO,sBAAuB6T,GAC9B7T,EAAO,sBAAuB6T,GAC9B7T,EAAO,0BAA2B8T,GAClC9T,EAAO,yBAA0B8T,GACjC9T,EAAO,yBAA0B8T,GACjC9T,EAAO,uBAAwB+T,GAC/B/T,EAAO,sBAAuB+T,GAC9B/T,EAAO,sBAAuB+T,GAC9B/T,EAAO,gzFCwDPA,EAAO,2RACPA,EAAO,uHACPA,EAAO,kJACPA,EAAO,8IACPA,EAAO,+IACPA,EAAO,0IACPA,EAAO,qQACPA,EAAO,4NACPA,EAAO,mGACPA,EAAO,oGACPA,EAAO,mGACPA,EAAO,iGACPA,EAAO,geACPA,EAAO,qUACPA,EAAO,yHACPA,EAAO,wHACPA,EAAO,0HACPA,EAAO,uHACPA,EAAO,2JACPA,EAAO,4NACPA,EAAO,8RACPA,EAAO,+RACPA,EAAO,mWACPA,EAAO,kMACPA,EAAO,wNACPA,EAAO,gUACPA,EAAO,ujBACPA,EAAO,mdACPA,EAAO,0eACPA,EAAO,mVACPA,EAAO,8QACPA,EAAO,kSACPA,EAAO,qMACPA,EAAO,0aACPA,EAAO,4KACPA,EAAO,wOACPA,EAAO,gOACPA,EAAO,0gBACPA,EAAO,oWACPA,EAAO,2PACPA,EAAO,qMACPA,EAAO,mMACPA,EAAO,srBACPA,EAAO,iQACPA,EAAO,4OACPA,EAAO,mNACPA,EAAO,2XACPA,EAAO,6MACPA,EAAO,2LACPA,EAAO,gWACPA,EAAO,sTACPA,EAAO,kXACPA,EAAO,gYACPA,EAAO,qBAAsBgU,GAC7BhU,EAAO,qBAAsBgU,GAC7BhU,EAAO,kMACPA,EAAO,yNACPA,EAAO,wMACPA,EAAO,6rBACPA,EAAO,gZACPA,EAAO,gMACPA,EAAO,skBACPA,EAAO,2XACPA,EAAO,uTACPA,EAAO,miBACPA,EAAO,iRACPA,EAAO,qoBACPA,EAAO,yZACPA,EAAO","sources":["webpack://@openmrs/esm-styleguide/../../../node_modules/classnames/index.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/geopattern.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/lib/color.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/lib/pattern.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/lib/sha1.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/lib/svg.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/lib/xml.js","webpack://@openmrs/esm-styleguide/../../../node_modules/geopattern/node_modules/extend/index.js","webpack://@openmrs/esm-styleguide/../../../node_modules/react-dom/client.js","webpack://@openmrs/esm-styleguide/../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","webpack://@openmrs/esm-styleguide/../../../node_modules/use-sync-external-store/shim/index.js","webpack://@openmrs/esm-styleguide/../esm-api/dist/openmrs-esm-api.js","webpack://@openmrs/esm-styleguide/../esm-config/dist/openmrs-esm-module-config.js","webpack://@openmrs/esm-styleguide/external system \"@openmrs/esm-error-handling\"","webpack://@openmrs/esm-styleguide/external system \"@openmrs/esm-extensions\"","webpack://@openmrs/esm-styleguide/external system \"@openmrs/esm-navigation\"","webpack://@openmrs/esm-styleguide/external system \"@openmrs/esm-react-utils\"","webpack://@openmrs/esm-styleguide/external system \"@openmrs/esm-state\"","webpack://@openmrs/esm-styleguide/external system \"@openmrs/esm-translations\"","webpack://@openmrs/esm-styleguide/external system \"dayjs\"","webpack://@openmrs/esm-styleguide/external system \"react\"","webpack://@openmrs/esm-styleguide/external system \"react-dom\"","webpack://@openmrs/esm-styleguide/external system \"rxjs\"","webpack://@openmrs/esm-styleguide/webpack/bootstrap","webpack://@openmrs/esm-styleguide/webpack/runtime/global","webpack://@openmrs/esm-styleguide/webpack/runtime/make namespace object","webpack://@openmrs/esm-styleguide/./src/svg-utils.ts","webpack://@openmrs/esm-styleguide/./src/config-schema.ts","webpack://@openmrs/esm-styleguide/./src/breakpoints/index.ts","webpack://@openmrs/esm-styleguide/../../../node_modules/@carbon/feature-flags/es/index.js","webpack://@openmrs/esm-styleguide/../../../node_modules/single-spa/lib/es2015/esm/single-spa.min.js","webpack://@openmrs/esm-styleguide/../../../node_modules/@carbon/react/es/feature-flags.js","webpack://@openmrs/esm-styleguide/./src/notifications/index.tsx","webpack://@openmrs/esm-styleguide/./src/toasts/index.tsx","webpack://@openmrs/esm-styleguide/./src/snackbars/index.tsx","webpack://@openmrs/esm-styleguide/./src/modals/registry.ts","webpack://@openmrs/esm-styleguide/./src/modals/index.tsx","webpack://@openmrs/esm-styleguide/./src/workspaces/workspaces.ts","webpack://@openmrs/esm-styleguide/../../../node_modules/single-spa-react/lib/esm/single-spa-react.js","webpack://@openmrs/esm-styleguide/../../../node_modules/single-spa-react/lib/esm/parcel.js","webpack://@openmrs/esm-styleguide/./src/left-nav/index.tsx","webpack://@openmrs/esm-styleguide/../../../node_modules/swr/_internal/dist/index.mjs","webpack://@openmrs/esm-styleguide/../../../node_modules/swr/core/dist/index.mjs","webpack://@openmrs/esm-styleguide/./src/brand.ts","webpack://@openmrs/esm-styleguide/./src/index.ts","webpack://@openmrs/esm-styleguide/./src/logo/index.ts","webpack://@openmrs/esm-styleguide/./src/icons/icon-registration.ts"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","(function ($) {\n\n'use strict';\n\nvar Pattern = require('./lib/pattern');\n\n/*\n * Normalize arguments, if not given, to:\n * string: (new Date()).toString()\n * options: {}\n */\nfunction optArgs(cb) {\n\treturn function (string, options) {\n\t\tif (typeof string === 'object') {\n\t\t\toptions = string;\n\t\t\tstring = null;\n\t\t}\n\t\tif (string === null || string === undefined) {\n\t\t\tstring = (new Date()).toString();\n\t\t}\n\t\tif (!options) {\n\t\t\toptions = {};\n\t\t}\n\n\t\treturn cb.call(this, string, options);\n\t};\n}\n\nvar GeoPattern = module.exports = {\n\tgenerate: optArgs(function (string, options) {\n\t\treturn new Pattern(string, options);\n\t})\n};\n\nif ($) {\n\n\t// If jQuery, add plugin\n\t$.fn.geopattern = optArgs(function (string, options) {\n\t\treturn this.each(function () {\n\t\t\tvar titleSha = $(this).attr('data-title-sha');\n\t\t\tif (titleSha) {\n\t\t\t\toptions = $.extend({\n\t\t\t\t\thash: titleSha\n\t\t\t\t}, options);\n\t\t\t}\n\t\t\tvar pattern = GeoPattern.generate(string, options);\n\t\t\t$(this).css('background-image', pattern.toDataUrl());\n\t\t});\n\t});\n\n}\n\n}(typeof jQuery !== 'undefined' ? jQuery : null));\n","/*eslint sort-vars:0, curly:0*/\n\n'use strict';\n\n/**\n * Converts a hex CSS color value to RGB.\n * Adapted from http://stackoverflow.com/a/5624139.\n *\n * @param\tString\thex\t\tThe hexadecimal color value\n * @return\tObject\t\t\tThe RGB representation\n */\nfunction hex2rgb(hex) {\n\t// Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n\tvar shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\thex = hex.replace(shorthandRegex, function (m, r, g, b) {\n\t\treturn r + r + g + g + b + b;\n\t});\n\n\tvar result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\treturn result ? {\n\t\tr: parseInt(result[1], 16),\n\t\tg: parseInt(result[2], 16),\n\t\tb: parseInt(result[3], 16)\n\t} : null;\n}\n\n/**\n * Converts an RGB color value to a hex string.\n * @param Object rgb RGB as r, g, and b keys\n * @return String Hex color string\n */\nfunction rgb2hex(rgb) {\n\treturn '#' + ['r', 'g', 'b'].map(function (key) {\n\t\treturn ('0' + rgb[key].toString(16)).slice(-2);\n\t}).join('');\n}\n\n/**\n * Converts an RGB color value to HSL. Conversion formula adapted from\n * http://en.wikipedia.org/wiki/HSL_color_space. This function adapted\n * from http://stackoverflow.com/a/9493060.\n * Assumes r, g, and b are contained in the set [0, 255] and\n * returns h, s, and l in the set [0, 1].\n *\n * @param Object rgb RGB as r, g, and b keys\n * @return Object HSL as h, s, and l keys\n */\nfunction rgb2hsl(rgb) {\n\tvar r = rgb.r, g = rgb.g, b = rgb.b;\n\tr /= 255; g /= 255; b /= 255;\n\tvar max = Math.max(r, g, b), min = Math.min(r, g, b);\n\tvar h, s, l = (max + min) / 2;\n\n\tif (max === min) {\n\t\th = s = 0; // achromatic\n\t} else {\n\t\tvar d = max - min;\n\t\ts = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\t\tswitch (max) {\n\t\t\tcase r: h = (g - b) / d + (g < b ? 6 : 0); break;\n\t\t\tcase g: h = (b - r) / d + 2; break;\n\t\t\tcase b: h = (r - g) / d + 4; break;\n\t\t}\n\t\th /= 6;\n\t}\n\n\treturn { h: h, s: s, l: l };\n}\n\n/**\n * Converts an HSL color value to RGB. Conversion formula adapted from\n * http://en.wikipedia.org/wiki/HSL_color_space. This function adapted\n * from http://stackoverflow.com/a/9493060.\n * Assumes h, s, and l are contained in the set [0, 1] and\n * returns r, g, and b in the set [0, 255].\n *\n * @param Object hsl HSL as h, s, and l keys\n * @return Object RGB as r, g, and b values\n */\nfunction hsl2rgb(hsl) {\n\n\tfunction hue2rgb(p, q, t) {\n\t\tif (t < 0) t += 1;\n\t\tif (t > 1) t -= 1;\n\t\tif (t < 1 / 6) return p + (q - p) * 6 * t;\n\t\tif (t < 1 / 2) return q;\n\t\tif (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n\t\treturn p;\n\t}\n\n\tvar h = hsl.h, s = hsl.s, l = hsl.l;\n\tvar r, g, b;\n\n\tif(s === 0){\n\t\tr = g = b = l; // achromatic\n\t}else{\n\n\t\tvar q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n\t\tvar p = 2 * l - q;\n\t\tr = hue2rgb(p, q, h + 1 / 3);\n\t\tg = hue2rgb(p, q, h);\n\t\tb = hue2rgb(p, q, h - 1 / 3);\n\t}\n\n\treturn {\n\t\tr: Math.round(r * 255),\n\t\tg: Math.round(g * 255),\n\t\tb: Math.round(b * 255)\n\t};\n}\n\nmodule.exports = {\n\thex2rgb: hex2rgb,\n\trgb2hex: rgb2hex,\n\trgb2hsl: rgb2hsl,\n\thsl2rgb: hsl2rgb,\n\trgb2rgbString: function (rgb) {\n\t\treturn 'rgb(' + [rgb.r, rgb.g, rgb.b].join(',') + ')';\n\t}\n};\n","'use strict';\n\nvar extend = require('extend');\nvar color = require('./color');\nvar SHA1 = require('./sha1');\nvar SVG = require('./svg');\n\n\n\nvar DEFAULTS = {\n\tbaseColor: '#933c3c'\n};\n\nvar PATTERNS = [\n\t'octogons',\n\t'overlappingCircles',\n\t'plusSigns',\n\t'xes',\n\t'sineWaves',\n\t'hexagons',\n\t'overlappingRings',\n\t'plaid',\n\t'triangles',\n\t'squares',\n\t'concentricCircles',\n\t'diamonds',\n\t'tessellation',\n\t'nestedSquares',\n\t'mosaicSquares',\n\t'chevrons'\n];\n\nvar FILL_COLOR_DARK = '#222';\nvar FILL_COLOR_LIGHT = '#ddd';\nvar STROKE_COLOR = '#000';\nvar STROKE_OPACITY = 0.02;\nvar OPACITY_MIN = 0.02;\nvar OPACITY_MAX = 0.15;\n\n\n\n// Helpers\n\n/**\n * Extract a substring from a hex string and parse it as an integer\n * @param {string} hash - Source hex string\n * @param {number} index - Start index of substring\n * @param {number} [length] - Length of substring. Defaults to 1.\n */\nfunction hexVal(hash, index, len) {\n\treturn parseInt(hash.substr(index, len || 1), 16);\n}\n\n/*\n * Re-maps a number from one range to another\n * http://processing.org/reference/map_.html\n */\nfunction map(value, vMin, vMax, dMin, dMax) {\n\tvar vValue = parseFloat(value);\n\tvar vRange = vMax - vMin;\n\tvar dRange = dMax - dMin;\n\n\treturn (vValue - vMin) * dRange / vRange + dMin;\n}\n\nfunction fillColor(val) {\n\treturn (val % 2 === 0) ? FILL_COLOR_LIGHT : FILL_COLOR_DARK;\n}\n\nfunction fillOpacity(val) {\n\treturn map(val, 0, 15, OPACITY_MIN, OPACITY_MAX);\n}\n\n\n\nvar Pattern = module.exports = function (string, options) {\n\tthis.opts = extend({}, DEFAULTS, options);\n\tthis.hash = options.hash || SHA1(string);\n\tthis.svg = new SVG();\n\n\tthis.generateBackground();\n\tthis.generatePattern();\n\n\treturn this;\n};\n\nPattern.prototype.toSvg = function () {\n\treturn this.svg.toString();\n};\n\nPattern.prototype.toString = function () {\n\treturn this.toSvg();\n};\n\nPattern.prototype.toBase64 = function () {\n\tvar str = this.toSvg();\n\tvar b64;\n\n\t// Use window.btoa if in the browser; otherwise fallback to node buffers\n\tif (typeof window !== 'undefined' && typeof window.btoa === 'function') {\n\t\tb64 = window.btoa(str);\n\t} else {\n\t\tb64 = new Buffer(str).toString('base64');\n\t}\n\n\treturn b64;\n};\n\nPattern.prototype.toDataUri = function () {\n\treturn 'data:image/svg+xml;base64,' + this.toBase64();\n};\n\nPattern.prototype.toDataUrl = function () {\n\treturn 'url(\"' + this.toDataUri() + '\")';\n};\n\nPattern.prototype.generateBackground = function () {\n\tvar baseColor, hueOffset, rgb, satOffset;\n\n\tif (this.opts.color) {\n\t\trgb = color.hex2rgb(this.opts.color);\n\t} else {\n\t\thueOffset = map(hexVal(this.hash, 14, 3), 0, 4095, 0, 359);\n\t\tsatOffset = hexVal(this.hash, 17);\n\t\tbaseColor = color.rgb2hsl(color.hex2rgb(this.opts.baseColor));\n\n\t\tbaseColor.h = (((baseColor.h * 360 - hueOffset) + 360) % 360) / 360;\n\n\t\tif (satOffset % 2 === 0) {\n\t\t\tbaseColor.s = Math.min(1, ((baseColor.s * 100) + satOffset) / 100);\n\t\t} else {\n\t\t\tbaseColor.s = Math.max(0, ((baseColor.s * 100) - satOffset) / 100);\n\t\t}\n\t\trgb = color.hsl2rgb(baseColor);\n\t}\n\n\tthis.color = color.rgb2hex(rgb);\n\n\tthis.svg.rect(0, 0, '100%', '100%', {\n\t\tfill: color.rgb2rgbString(rgb)\n\t});\n};\n\nPattern.prototype.generatePattern = function () {\n\tvar generator = this.opts.generator;\n\n\tif (generator) {\n\t\tif (PATTERNS.indexOf(generator) < 0) {\n\t\t\tthrow new Error('The generator '\n\t\t\t\t+ generator\n\t\t\t\t+ ' does not exist.');\n\t\t}\n\t} else {\n\t\tgenerator = PATTERNS[hexVal(this.hash, 20)];\n\t}\n\n\treturn this['geo' + generator.slice(0, 1).toUpperCase() + generator.slice(1)]();\n};\n\nfunction buildHexagonShape(sideLength) {\n\tvar c = sideLength;\n\tvar a = c / 2;\n\tvar b = Math.sin(60 * Math.PI / 180) * c;\n\treturn [\n\t\t0, b,\n\t\ta, 0,\n\t\ta + c, 0,\n\t\t2 * c, b,\n\t\ta + c, 2 * b,\n\t\ta, 2 * b,\n\t\t0, b\n\t].join(',');\n}\n\nPattern.prototype.geoHexagons = function () {\n\tvar scale = hexVal(this.hash, 0);\n\tvar sideLength = map(scale, 0, 15, 8, 60);\n\tvar hexHeight = sideLength * Math.sqrt(3);\n\tvar hexWidth = sideLength * 2;\n\tvar hex = buildHexagonShape(sideLength);\n\tvar dy, fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(hexWidth * 3 + sideLength * 3);\n\tthis.svg.setHeight(hexHeight * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\tdy = x % 2 === 0 ? y * hexHeight : y * hexHeight + hexHeight / 2;\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: fill,\n\t\t\t\t'fill-opacity': opacity,\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY\n\t\t\t};\n\n\t\t\tthis.svg.polyline(hex, styles).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * sideLength * 1.5 - hexWidth / 2,\n\t\t\t\t\tdy - hexHeight / 2\n\t\t\t\t]\n\t\t\t});\n\n\t\t\t// Add an extra one at top-right, for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.polyline(hex, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * sideLength * 1.5 - hexWidth / 2,\n\t\t\t\t\t\tdy - hexHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add an extra row at the end that matches the first row, for tiling.\n\t\t\tif (y === 0) {\n\t\t\t\tdy = x % 2 === 0 ? 6 * hexHeight : 6 * hexHeight + hexHeight / 2;\n\t\t\t\tthis.svg.polyline(hex, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tx * sideLength * 1.5 - hexWidth / 2,\n\t\t\t\t\t\tdy - hexHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add an extra one at bottom-right, for tiling.\n\t\t\tif (x === 0 && y === 0) {\n\t\t\t\tthis.svg.polyline(hex, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * sideLength * 1.5 - hexWidth / 2,\n\t\t\t\t\t\t5 * hexHeight + hexHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoSineWaves = function () {\n\tvar period = Math.floor(map(hexVal(this.hash, 0), 0, 15, 100, 400));\n\tvar amplitude = Math.floor(map(hexVal(this.hash, 1), 0, 15, 30, 100));\n\tvar waveWidth = Math.floor(map(hexVal(this.hash, 2), 0, 15, 3, 30));\n\tvar fill, i, opacity, str, styles, val, xOffset;\n\n\tthis.svg.setWidth(period);\n\tthis.svg.setHeight(waveWidth * 36);\n\n\tfor (i = 0; i < 36; i++) {\n\t\tval = hexVal(this.hash, i);\n\t\topacity = fillOpacity(val);\n\t\tfill = fillColor(val);\n\t\txOffset = period / 4 * 0.7;\n\n\t\tstyles = {\n\t\t\tfill: 'none',\n\t\t\tstroke: fill,\n\t\t\topacity: opacity,\n\t\t\t'stroke-width': '' + waveWidth + 'px'\n\t\t};\n\n\t\tstr = 'M0 ' + amplitude +\n\t\t\t' C ' + xOffset + ' 0, ' + (period / 2 - xOffset) + ' 0, ' + (period / 2) + ' ' + amplitude +\n\t\t\t' S ' + (period - xOffset) + ' ' + (amplitude * 2) + ', ' + period + ' ' + amplitude +\n\t\t\t' S ' + (period * 1.5 - xOffset) + ' 0, ' + (period * 1.5) + ', ' + amplitude;\n\n\t\tthis.svg.path(str, styles).transform({\n\t\t\ttranslate: [\n\t\t\t\t-period / 4,\n\t\t\t\twaveWidth * i - amplitude * 1.5\n\t\t\t]\n\t\t});\n\t\tthis.svg.path(str, styles).transform({\n\t\t\ttranslate: [\n\t\t\t\t-period / 4,\n\t\t\t\twaveWidth * i - amplitude * 1.5 + waveWidth * 36\n\t\t\t]\n\t\t});\n\t}\n};\n\nfunction buildChevronShape(width, height) {\n\tvar e = height * 0.66;\n\treturn [\n\t\t[\n\t\t\t0, 0,\n\t\t\twidth / 2, height - e,\n\t\t\twidth / 2, height,\n\t\t\t0, e,\n\t\t\t0, 0\n\t\t],\n\t\t[\n\t\t\twidth / 2, height - e,\n\t\t\twidth, 0,\n\t\t\twidth, e,\n\t\t\twidth / 2, height,\n\t\t\twidth / 2, height - e\n\t\t]\n\t].map(function (x) { return x.join(','); });\n}\n\nPattern.prototype.geoChevrons = function () {\n\tvar chevronWidth = map(hexVal(this.hash, 0), 0, 15, 30, 80);\n\tvar chevronHeight = map(hexVal(this.hash, 0), 0, 15, 30, 80);\n\tvar chevron = buildChevronShape(chevronWidth, chevronHeight);\n\tvar fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(chevronWidth * 6);\n\tthis.svg.setHeight(chevronHeight * 6 * 0.66);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY,\n\t\t\t\tfill: fill,\n\t\t\t\t'fill-opacity': opacity,\n\t\t\t\t'stroke-width': 1\n\t\t\t};\n\n\t\t\tthis.svg.group(styles).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * chevronWidth,\n\t\t\t\t\ty * chevronHeight * 0.66 - chevronHeight / 2\n\t\t\t\t]\n\t\t\t}).polyline(chevron).end();\n\n\t\t\t// Add an extra row at the end that matches the first row, for tiling.\n\t\t\tif (y === 0) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tx * chevronWidth,\n\t\t\t\t\t\t6 * chevronHeight * 0.66 - chevronHeight / 2\n\t\t\t\t\t]\n\t\t\t\t}).polyline(chevron).end();\n\t\t\t}\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nfunction buildPlusShape(squareSize) {\n\treturn [\n\t\t[squareSize, 0, squareSize, squareSize * 3],\n\t\t[0, squareSize, squareSize * 3, squareSize]\n\t];\n}\n\nPattern.prototype.geoPlusSigns = function () {\n\tvar squareSize = map(hexVal(this.hash, 0), 0, 15, 10, 25);\n\tvar plusSize = squareSize * 3;\n\tvar plusShape = buildPlusShape(squareSize);\n\tvar dx, fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(squareSize * 12);\n\tthis.svg.setHeight(squareSize * 12);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\t\t\tdx = (y % 2 === 0) ? 0 : 1;\n\n\t\t\tstyles = {\n\t\t\t\tfill: fill,\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY,\n\t\t\t\t'fill-opacity': opacity\n\t\t\t};\n\n\t\t\tthis.svg.group(styles).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * plusSize - x * squareSize + dx * squareSize - squareSize,\n\t\t\t\t\ty * plusSize - y * squareSize - plusSize / 2\n\t\t\t\t]\n\t\t\t}).rect(plusShape).end();\n\n\t\t\t// Add an extra column on the right for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t4 * plusSize - x * squareSize + dx * squareSize - squareSize,\n\t\t\t\t\t\ty * plusSize - y * squareSize - plusSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(plusShape).end();\n\t\t\t}\n\n\t\t\t// Add an extra row on the bottom that matches the first row, for tiling\n\t\t\tif (y === 0) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tx * plusSize - x * squareSize + dx * squareSize - squareSize,\n\t\t\t\t\t\t4 * plusSize - y * squareSize - plusSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(plusShape).end();\n\t\t\t}\n\n\t\t\t// Add an extra one at top-right and bottom-right, for tiling\n\t\t\tif (x === 0 && y === 0) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t4 * plusSize - x * squareSize + dx * squareSize - squareSize,\n\t\t\t\t\t\t4 * plusSize - y * squareSize - plusSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(plusShape).end();\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoXes = function () {\n\tvar squareSize = map(hexVal(this.hash, 0), 0, 15, 10, 25);\n\tvar xShape = buildPlusShape(squareSize);\n\tvar xSize = squareSize * 3 * 0.943;\n\tvar dy, fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(xSize * 3);\n\tthis.svg.setHeight(xSize * 3);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tdy = x % 2 === 0 ? y * xSize - xSize * 0.5 : y * xSize - xSize * 0.5 + xSize / 4;\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: fill,\n\t\t\t\topacity: opacity\n\t\t\t};\n\n\t\t\tthis.svg.group(styles).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * xSize / 2 - xSize / 2,\n\t\t\t\t\tdy - y * xSize / 2\n\t\t\t\t],\n\t\t\t\trotate: [\n\t\t\t\t\t45,\n\t\t\t\t\txSize / 2,\n\t\t\t\t\txSize / 2\n\t\t\t\t]\n\t\t\t}).rect(xShape).end();\n\n\t\t\t// Add an extra column on the right for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * xSize / 2 - xSize / 2,\n\t\t\t\t\t\tdy - y * xSize / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t45,\n\t\t\t\t\t\txSize / 2,\n\t\t\t\t\t\txSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(xShape).end();\n\t\t\t}\n\n\t\t\t// // Add an extra row on the bottom that matches the first row, for tiling.\n\t\t\tif (y === 0) {\n\t\t\t\tdy = x % 2 === 0 ? 6 * xSize - xSize / 2 : 6 * xSize - xSize / 2 + xSize / 4;\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tx * xSize / 2 - xSize / 2,\n\t\t\t\t\t\tdy - 6 * xSize / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t45,\n\t\t\t\t\t\txSize / 2,\n\t\t\t\t\t\txSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(xShape).end();\n\t\t\t}\n\n\t\t\t// These can hang off the bottom, so put a row at the top for tiling.\n\t\t\tif (y === 5) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tx * xSize / 2 - xSize / 2,\n\t\t\t\t\t\tdy - 11 * xSize / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t45,\n\t\t\t\t\t\txSize / 2,\n\t\t\t\t\t\txSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(xShape).end();\n\t\t\t}\n\n\t\t\t// Add an extra one at top-right and bottom-right, for tiling\n\t\t\tif (x === 0 && y === 0) {\n\t\t\t\tthis.svg.group(styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * xSize / 2 - xSize / 2,\n\t\t\t\t\t\tdy - 6 * xSize / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t45,\n\t\t\t\t\t\txSize / 2,\n\t\t\t\t\t\txSize / 2\n\t\t\t\t\t]\n\t\t\t\t}).rect(xShape).end();\n\t\t\t}\n\t\t\ti++;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoOverlappingCircles = function () {\n\tvar scale = hexVal(this.hash, 0);\n\tvar diameter = map(scale, 0, 15, 25, 200);\n\tvar radius = diameter / 2;\n\tvar circle, fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(radius * 6);\n\tthis.svg.setHeight(radius * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: fill,\n\t\t\t\topacity: opacity\n\t\t\t};\n\n\t\t\tthis.svg.circle(x * radius, y * radius, radius, styles);\n\n\t\t\t// Add an extra one at top-right, for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.circle(6 * radius, y * radius, radius, styles);\n\t\t\t}\n\n\t\t\t// // Add an extra row at the end that matches the first row, for tiling.\n\t\t\tif (y === 0) {\n\t\t\t\tthis.svg.circle(x * radius, 6 * radius, radius, styles);\n\t\t\t}\n\n\t\t\t// // Add an extra one at bottom-right, for tiling.\n\t\t\tif (x === 0 && y === 0) {\n\t\t\t\tthis.svg.circle(6 * radius, 6 * radius, radius, styles);\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\t}\n};\n\nfunction buildOctogonShape(squareSize) {\n\tvar s = squareSize;\n\tvar c = s * 0.33;\n\treturn [\n\t\tc, 0,\n\t\ts - c, 0,\n\t\ts, c,\n\t\ts, s - c,\n\t\ts - c, s,\n\t\tc, s,\n\t\t0, s - c,\n\t\t0, c,\n\t\tc, 0\n\t].join(',');\n}\n\nPattern.prototype.geoOctogons = function () {\n\tvar squareSize = map(hexVal(this.hash, 0), 0, 15, 10, 60);\n\tvar tile = buildOctogonShape(squareSize);\n\tvar fill, i, opacity, val, x, y;\n\n\tthis.svg.setWidth(squareSize * 6);\n\tthis.svg.setHeight(squareSize * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tthis.svg.polyline(tile, {\n\t\t\t\tfill: fill,\n\t\t\t\t'fill-opacity': opacity,\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY\n\t\t\t}).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * squareSize,\n\t\t\t\t\ty * squareSize\n\t\t\t\t]\n\t\t\t});\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoSquares = function () {\n\tvar squareSize = map(hexVal(this.hash, 0), 0, 15, 10, 60);\n\tvar fill, i, opacity, val, x, y;\n\n\tthis.svg.setWidth(squareSize * 6);\n\tthis.svg.setHeight(squareSize * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tthis.svg.rect(x * squareSize, y * squareSize, squareSize, squareSize, {\n\t\t\t\tfill: fill,\n\t\t\t\t'fill-opacity': opacity,\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY\n\t\t\t});\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoConcentricCircles = function () {\n\tvar scale = hexVal(this.hash, 0);\n\tvar ringSize = map(scale, 0, 15, 10, 60);\n\tvar strokeWidth = ringSize / 5;\n\tvar fill, i, opacity, val, x, y;\n\n\tthis.svg.setWidth((ringSize + strokeWidth) * 6);\n\tthis.svg.setHeight((ringSize + strokeWidth) * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tthis.svg.circle(\n\t\t\t\tx * ringSize + x * strokeWidth + (ringSize + strokeWidth) / 2,\n\t\t\t\ty * ringSize + y * strokeWidth + (ringSize + strokeWidth) / 2,\n\t\t\t\tringSize / 2,\n\t\t\t\t{\n\t\t\t\t\tfill: 'none',\n\t\t\t\t\tstroke: fill,\n\t\t\t\t\topacity: opacity,\n\t\t\t\t\t'stroke-width': strokeWidth + 'px'\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tval = hexVal(this.hash, 39 - i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tthis.svg.circle(\n\t\t\t\tx * ringSize + x * strokeWidth + (ringSize + strokeWidth) / 2,\n\t\t\t\ty * ringSize + y * strokeWidth + (ringSize + strokeWidth) / 2,\n\t\t\t\tringSize / 4,\n\t\t\t\t{\n\t\t\t\t\tfill: fill,\n\t\t\t\t\t'fill-opacity': opacity\n\t\t\t\t}\n\t\t\t);\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoOverlappingRings = function () {\n\tvar scale = hexVal(this.hash, 0);\n\tvar ringSize = map(scale, 0, 15, 10, 60);\n\tvar strokeWidth = ringSize / 4;\n\tvar fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(ringSize * 6);\n\tthis.svg.setHeight(ringSize * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: 'none',\n\t\t\t\tstroke: fill,\n\t\t\t\topacity: opacity,\n\t\t\t\t'stroke-width': strokeWidth + 'px'\n\t\t\t};\n\n\t\t\tthis.svg.circle(x * ringSize, y * ringSize, ringSize - strokeWidth / 2, styles);\n\n\t\t\t// Add an extra one at top-right, for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.circle(6 * ringSize, y * ringSize, ringSize - strokeWidth / 2, styles);\n\t\t\t}\n\n\t\t\tif (y === 0) {\n\t\t\t\tthis.svg.circle(x * ringSize, 6 * ringSize, ringSize - strokeWidth / 2, styles);\n\t\t\t}\n\n\t\t\tif (x === 0 && y === 0) {\n\t\t\t\tthis.svg.circle(6 * ringSize, 6 * ringSize, ringSize - strokeWidth / 2, styles);\n\t\t\t}\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nfunction buildTriangleShape(sideLength, height) {\n\tvar halfWidth = sideLength / 2;\n\treturn [\n\t\thalfWidth, 0,\n\t\tsideLength, height,\n\t\t0, height,\n\t\thalfWidth, 0\n\t].join(',');\n}\n\nPattern.prototype.geoTriangles = function () {\n\tvar scale = hexVal(this.hash, 0);\n\tvar sideLength = map(scale, 0, 15, 15, 80);\n\tvar triangleHeight = sideLength / 2 * Math.sqrt(3);\n\tvar triangle = buildTriangleShape(sideLength, triangleHeight);\n\tvar fill, i, opacity, rotation, styles, val, x, y;\n\n\tthis.svg.setWidth(sideLength * 3);\n\tthis.svg.setHeight(triangleHeight * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: fill,\n\t\t\t\t'fill-opacity': opacity,\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY\n\t\t\t};\n\n\t\t\tif (y % 2 === 0) {\n\t\t\t\trotation = x % 2 === 0 ? 180 : 0;\n\t\t\t} else {\n\t\t\t\trotation = x % 2 !== 0 ? 180 : 0;\n\t\t\t}\n\n\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * sideLength * 0.5 - sideLength / 2,\n\t\t\t\t\ttriangleHeight * y\n\t\t\t\t],\n\t\t\t\trotate: [\n\t\t\t\t\trotation,\n\t\t\t\t\tsideLength / 2,\n\t\t\t\t\ttriangleHeight / 2\n\t\t\t\t]\n\t\t\t});\n\n\t\t\t// Add an extra one at top-right, for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * sideLength * 0.5 - sideLength / 2,\n\t\t\t\t\t\ttriangleHeight * y\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\trotation,\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttriangleHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nfunction buildDiamondShape(width, height) {\n\treturn [\n\t\twidth / 2, 0,\n\t\twidth, height / 2,\n\t\twidth / 2, height,\n\t\t0, height / 2\n\t].join(',');\n}\n\nPattern.prototype.geoDiamonds = function () {\n\tvar diamondWidth = map(hexVal(this.hash, 0), 0, 15, 10, 50);\n\tvar diamondHeight = map(hexVal(this.hash, 1), 0, 15, 10, 50);\n\tvar diamond = buildDiamondShape(diamondWidth, diamondHeight);\n\tvar dx, fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth(diamondWidth * 6);\n\tthis.svg.setHeight(diamondHeight * 3);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: fill,\n\t\t\t\t'fill-opacity': opacity,\n\t\t\t\tstroke: STROKE_COLOR,\n\t\t\t\t'stroke-opacity': STROKE_OPACITY\n\t\t\t};\n\n\t\t\tdx = (y % 2 === 0) ? 0 : diamondWidth / 2;\n\n\t\t\tthis.svg.polyline(diamond, styles).transform({\n\t\t\t\ttranslate: [\n\t\t\t\t\tx * diamondWidth - diamondWidth / 2 + dx,\n\t\t\t\t\tdiamondHeight / 2 * y - diamondHeight / 2\n\t\t\t\t]\n\t\t\t});\n\n\t\t\t// Add an extra one at top-right, for tiling.\n\t\t\tif (x === 0) {\n\t\t\t\tthis.svg.polyline(diamond, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * diamondWidth - diamondWidth / 2 + dx,\n\t\t\t\t\t\tdiamondHeight / 2 * y - diamondHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add an extra row at the end that matches the first row, for tiling.\n\t\t\tif (y === 0) {\n\t\t\t\tthis.svg.polyline(diamond, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tx * diamondWidth - diamondWidth / 2 + dx,\n\t\t\t\t\t\tdiamondHeight / 2 * 6 - diamondHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add an extra one at bottom-right, for tiling.\n\t\t\tif (x === 0 && y === 0) {\n\t\t\t\tthis.svg.polyline(diamond, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t6 * diamondWidth - diamondWidth / 2 + dx,\n\t\t\t\t\t\tdiamondHeight / 2 * 6 - diamondHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoNestedSquares = function () {\n\tvar blockSize = map(hexVal(this.hash, 0), 0, 15, 4, 12);\n\tvar squareSize = blockSize * 7;\n\tvar fill, i, opacity, styles, val, x, y;\n\n\tthis.svg.setWidth((squareSize + blockSize) * 6 + blockSize * 6);\n\tthis.svg.setHeight((squareSize + blockSize) * 6 + blockSize * 6);\n\n\ti = 0;\n\tfor (y = 0; y < 6; y++) {\n\t\tfor (x = 0; x < 6; x++) {\n\t\t\tval = hexVal(this.hash, i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: 'none',\n\t\t\t\tstroke: fill,\n\t\t\t\topacity: opacity,\n\t\t\t\t'stroke-width': blockSize + 'px'\n\t\t\t};\n\n\t\t\tthis.svg.rect(x * squareSize + x * blockSize * 2 + blockSize / 2,\n\t\t\t y * squareSize + y * blockSize * 2 + blockSize / 2,\n\t\t\t squareSize, squareSize, styles);\n\n\t\t\tval = hexVal(this.hash, 39 - i);\n\t\t\topacity = fillOpacity(val);\n\t\t\tfill = fillColor(val);\n\n\t\t\tstyles = {\n\t\t\t\tfill: 'none',\n\t\t\t\tstroke: fill,\n\t\t\t\topacity: opacity,\n\t\t\t\t'stroke-width': blockSize + 'px'\n\t\t\t};\n\n\t\t\tthis.svg.rect(x * squareSize + x * blockSize * 2 + blockSize / 2 + blockSize * 2,\n\t\t\t y * squareSize + y * blockSize * 2 + blockSize / 2 + blockSize * 2,\n\t\t\t blockSize * 3, blockSize * 3, styles);\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nfunction buildRightTriangleShape(sideLength) {\n\treturn [\n\t\t0, 0,\n\t\tsideLength, sideLength,\n\t\t0, sideLength,\n\t\t0, 0\n\t].join(',');\n}\n\nfunction drawInnerMosaicTile(svg, x, y, triangleSize, vals) {\n\tvar triangle = buildRightTriangleShape(triangleSize);\n\tvar opacity = fillOpacity(vals[0]);\n\tvar fill = fillColor(vals[0]);\n\tvar styles = {\n\t\tstroke: STROKE_COLOR,\n\t\t'stroke-opacity': STROKE_OPACITY,\n\t\t'fill-opacity': opacity,\n\t\tfill: fill\n\t};\n\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx + triangleSize,\n\t\t\ty\n\t\t],\n\t\tscale: [-1, 1]\n\t});\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx + triangleSize,\n\t\t\ty + triangleSize * 2\n\t\t],\n\t\tscale: [1, -1]\n\t});\n\n\topacity = fillOpacity(vals[1]);\n\tfill = fillColor(vals[1]);\n\tstyles = {\n\t\tstroke: STROKE_COLOR,\n\t\t'stroke-opacity': STROKE_OPACITY,\n\t\t'fill-opacity': opacity,\n\t\tfill: fill\n\t};\n\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx + triangleSize,\n\t\t\ty + triangleSize * 2\n\t\t],\n\t\tscale: [-1, -1]\n\t});\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx + triangleSize,\n\t\t\ty\n\t\t],\n\t\tscale: [1, 1]\n\t});\n}\n\nfunction drawOuterMosaicTile(svg, x, y, triangleSize, val) {\n\tvar opacity = fillOpacity(val);\n\tvar fill = fillColor(val);\n\tvar triangle = buildRightTriangleShape(triangleSize);\n\tvar styles = {\n\t\tstroke: STROKE_COLOR,\n\t\t'stroke-opacity': STROKE_OPACITY,\n\t\t'fill-opacity': opacity,\n\t\tfill: fill\n\t};\n\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx,\n\t\t\ty + triangleSize\n\t\t],\n\t\tscale: [1, -1]\n\t});\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx + triangleSize * 2,\n\t\t\ty + triangleSize\n\t\t],\n\t\tscale: [-1, -1]\n\t});\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx,\n\t\t\ty + triangleSize\n\t\t],\n\t\tscale: [1, 1]\n\t});\n\tsvg.polyline(triangle, styles).transform({\n\t\ttranslate: [\n\t\t\tx + triangleSize * 2,\n\t\t\ty + triangleSize\n\t\t],\n\t\tscale: [-1, 1]\n\t});\n}\n\nPattern.prototype.geoMosaicSquares = function () {\n\tvar triangleSize = map(hexVal(this.hash, 0), 0, 15, 15, 50);\n\tvar i, x, y;\n\n\tthis.svg.setWidth(triangleSize * 8);\n\tthis.svg.setHeight(triangleSize * 8);\n\n\ti = 0;\n\tfor (y = 0; y < 4; y++) {\n\t\tfor (x = 0; x < 4; x++) {\n\t\t\tif (x % 2 === 0) {\n\t\t\t\tif (y % 2 === 0) {\n\t\t\t\t\tdrawOuterMosaicTile(this.svg,\n\t\t\t\t\t\tx * triangleSize * 2,\n\t\t\t\t\t\ty * triangleSize * 2,\n\t\t\t\t\t\ttriangleSize,\n\t\t\t\t\t\thexVal(this.hash, i)\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tdrawInnerMosaicTile(this.svg,\n\t\t\t\t\t\tx * triangleSize * 2,\n\t\t\t\t\t\ty * triangleSize * 2,\n\t\t\t\t\t\ttriangleSize,\n\t\t\t\t\t\t[hexVal(this.hash, i), hexVal(this.hash, i + 1)]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (y % 2 === 0) {\n\t\t\t\t\tdrawInnerMosaicTile(this.svg,\n\t\t\t\t\t\tx * triangleSize * 2,\n\t\t\t\t\t\ty * triangleSize * 2,\n\t\t\t\t\t\ttriangleSize,\n\t\t\t\t\t\t[hexVal(this.hash, i), hexVal(this.hash, i + 1)]\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tdrawOuterMosaicTile(this.svg,\n\t\t\t\t\t\tx * triangleSize * 2,\n\t\t\t\t\t\ty * triangleSize * 2,\n\t\t\t\t\t\ttriangleSize,\n\t\t\t\t\t\thexVal(this.hash, i)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ti += 1;\n\t\t}\n\t}\n};\n\nPattern.prototype.geoPlaid = function () {\n\tvar height = 0;\n\tvar width = 0;\n\tvar fill, i, opacity, space, stripeHeight, stripeWidth, val;\n\n\t// Horizontal stripes\n\ti = 0;\n\twhile (i < 36) {\n\t\tspace = hexVal(this.hash, i);\n\t\theight += space + 5;\n\n\t\tval = hexVal(this.hash, i + 1);\n\t\topacity = fillOpacity(val);\n\t\tfill = fillColor(val);\n\t\tstripeHeight = val + 5;\n\n\t\tthis.svg.rect(0, height, '100%', stripeHeight, {\n\t\t\topacity: opacity,\n\t\t\tfill: fill\n\t\t});\n\n\t\theight += stripeHeight;\n\t\ti += 2;\n\t}\n\n\t// Vertical stripes\n\ti = 0;\n\twhile (i < 36) {\n\t\tspace = hexVal(this.hash, i);\n\t\twidth += space + 5;\n\n\t\tval = hexVal(this.hash, i + 1);\n\t\topacity = fillOpacity(val);\n\t\tfill = fillColor(val);\n\t\tstripeWidth = val + 5;\n\n\t\tthis.svg.rect(width, 0, stripeWidth, '100%', {\n\t\t\topacity: opacity,\n\t\t\tfill: fill\n\t\t});\n\n\t\twidth += stripeWidth;\n\t\ti += 2;\n\t}\n\n\tthis.svg.setWidth(width);\n\tthis.svg.setHeight(height);\n};\n\nfunction buildRotatedTriangleShape(sideLength, triangleWidth) {\n\tvar halfHeight = sideLength / 2;\n\treturn [\n\t\t0, 0,\n\t\ttriangleWidth, halfHeight,\n\t\t0, sideLength,\n\t\t0, 0\n\t].join(',');\n}\n\nPattern.prototype.geoTessellation = function () {\n\t// 3.4.6.4 semi-regular tessellation\n\tvar sideLength = map(hexVal(this.hash, 0), 0, 15, 5, 40);\n\tvar hexHeight = sideLength * Math.sqrt(3);\n\tvar hexWidth = sideLength * 2;\n\tvar triangleHeight = sideLength / 2 * Math.sqrt(3);\n\tvar triangle = buildRotatedTriangleShape(sideLength, triangleHeight);\n\tvar tileWidth = sideLength * 3 + triangleHeight * 2;\n\tvar tileHeight = (hexHeight * 2) + (sideLength * 2);\n\tvar fill, i, opacity, styles, val;\n\n\tthis.svg.setWidth(tileWidth);\n\tthis.svg.setHeight(tileHeight);\n\n\tfor (i = 0; i < 20; i++) {\n\t\tval = hexVal(this.hash, i);\n\t\topacity = fillOpacity(val);\n\t\tfill = fillColor(val);\n\n\t\tstyles = {\n\t\t\tstroke: STROKE_COLOR,\n\t\t\t'stroke-opacity': STROKE_OPACITY,\n\t\t\tfill: fill,\n\t\t\t'fill-opacity': opacity,\n\t\t\t'stroke-width': 1\n\t\t};\n\n\t\tswitch (i) {\n\t\t\tcase 0: // All 4 corners\n\t\t\t\tthis.svg.rect(-sideLength / 2, -sideLength / 2, sideLength, sideLength, styles);\n\t\t\t\tthis.svg.rect(tileWidth - sideLength / 2, -sideLength / 2, sideLength, sideLength, styles);\n\t\t\t\tthis.svg.rect(-sideLength / 2, tileHeight - sideLength / 2, sideLength, sideLength, styles);\n\t\t\t\tthis.svg.rect(tileWidth - sideLength / 2, tileHeight - sideLength / 2, sideLength, sideLength, styles);\n\t\t\t\tbreak;\n\t\t\tcase 1: // Center / top square\n\t\t\t\tthis.svg.rect(hexWidth / 2 + triangleHeight, hexHeight / 2, sideLength, sideLength, styles);\n\t\t\t\tbreak;\n\t\t\tcase 2: // Side squares\n\t\t\t\tthis.svg.rect(-sideLength / 2, tileHeight / 2 - sideLength / 2, sideLength, sideLength, styles);\n\t\t\t\tthis.svg.rect(tileWidth - sideLength / 2, tileHeight / 2 - sideLength / 2, sideLength, sideLength, styles);\n\t\t\t\tbreak;\n\t\t\tcase 3: // Center / bottom square\n\t\t\t\tthis.svg.rect(hexWidth / 2 + triangleHeight, hexHeight * 1.5 + sideLength, sideLength, sideLength, styles);\n\t\t\t\tbreak;\n\t\t\tcase 4: // Left top / bottom triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\t-sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttriangleHeight / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttileHeight - -sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttriangleHeight / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [1, -1]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 5: // Right top / bottom triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth - sideLength / 2,\n\t\t\t\t\t\t-sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttriangleHeight / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [-1, 1]\n\t\t\t\t});\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth - sideLength / 2,\n\t\t\t\t\t\ttileHeight + sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttriangleHeight / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [-1, -1]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 6: // Center / top / right triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth / 2 + sideLength / 2,\n\t\t\t\t\t\thexHeight / 2\n\t\t\t\t\t]});\n\t\t\t\tbreak;\n\t\t\tcase 7: // Center / top / left triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth - tileWidth / 2 - sideLength / 2,\n\t\t\t\t\t\thexHeight / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [-1, 1]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 8: // Center / bottom / right triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth / 2 + sideLength / 2,\n\t\t\t\t\t\ttileHeight - hexHeight / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [1, -1]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 9: // Center / bottom / left triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth - tileWidth / 2 - sideLength / 2,\n\t\t\t\t\t\ttileHeight - hexHeight / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [-1, -1]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 10: // Left / middle triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttileHeight / 2 - sideLength / 2\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 11: // Right // middle triangle\n\t\t\t\tthis.svg.polyline(triangle, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\ttileWidth - sideLength / 2,\n\t\t\t\t\t\ttileHeight / 2 - sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\tscale: [-1, 1]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 12: // Left / top square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\ttranslate: [sideLength / 2, sideLength / 2],\n\t\t\t\t\trotate: [-30, 0, 0]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 13: // Right / top square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\tscale: [-1, 1],\n\t\t\t\t\ttranslate: [-tileWidth + sideLength / 2, sideLength / 2],\n\t\t\t\t\trotate: [-30, 0, 0]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 14: // Left / center-top square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\ttileHeight / 2 - sideLength / 2 - sideLength\n\t\t\t\t\t],\n\t\t\t\t\trotate: [30, 0, sideLength]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 15: // Right / center-top square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\tscale: [-1, 1],\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t-tileWidth + sideLength / 2,\n\t\t\t\t\t\ttileHeight / 2 - sideLength / 2 - sideLength\n\t\t\t\t\t],\n\t\t\t\t\trotate: [30, 0, sideLength]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 16: // Left / center-top square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\tscale: [1, -1],\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\t-tileHeight + tileHeight / 2 - sideLength / 2 - sideLength\n\t\t\t\t\t],\n\t\t\t\t\trotate: [30, 0, sideLength]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 17: // Right / center-bottom square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\tscale: [-1, -1],\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t-tileWidth + sideLength / 2,\n\t\t\t\t\t\t-tileHeight + tileHeight / 2 - sideLength / 2 - sideLength\n\t\t\t\t\t],\n\t\t\t\t\trotate: [30, 0, sideLength]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 18: // Left / bottom square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\tscale: [1, -1],\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\tsideLength / 2,\n\t\t\t\t\t\t-tileHeight + sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [-30, 0, 0]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 19: // Right / bottom square\n\t\t\t\tthis.svg.rect(0, 0, sideLength, sideLength, styles).transform({\n\t\t\t\t\tscale: [-1, -1],\n\t\t\t\t\ttranslate: [\n\t\t\t\t\t\t-tileWidth + sideLength / 2,\n\t\t\t\t\t\t-tileHeight + sideLength / 2\n\t\t\t\t\t],\n\t\t\t\t\trotate: [-30, 0, 0]\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t}\n\t}\n};\n","/*\nhttps://github.com/creationix/git-sha1/blob/master/git-sha1.js\n\nThe MIT License (MIT)\n\nCopyright (c) 2013 Tim Caswell\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\n'use strict';\n\n// A streaming interface for when nothing is passed in.\nfunction create() {\n\n\tvar h0 = 0x67452301;\n\tvar h1 = 0xEFCDAB89;\n\tvar h2 = 0x98BADCFE;\n\tvar h3 = 0x10325476;\n\tvar h4 = 0xC3D2E1F0;\n\t// The first 64 bytes (16 words) is the data chunk\n\tvar block = new Uint32Array(80), offset = 0, shift = 24;\n\tvar totalLength = 0;\n\n\t// We have a full block to process. Let's do it!\n\tfunction processBlock() {\n\t\t// Extend the sixteen 32-bit words into eighty 32-bit words:\n\t\tfor (var i = 16; i < 80; i++) {\n\t\t\tvar w = block[i - 3] ^ block[i - 8] ^ block[i - 14] ^ block[i - 16];\n\t\t\tblock[i] = (w << 1) | (w >>> 31);\n\t\t}\n\n\t\t// log(block);\n\n\t\t// Initialize hash value for this chunk:\n\t\tvar a = h0;\n\t\tvar b = h1;\n\t\tvar c = h2;\n\t\tvar d = h3;\n\t\tvar e = h4;\n\t\tvar f, k;\n\n\t\t// Main loop:\n\t\tfor (i = 0; i < 80; i++) {\n\t\t\tif (i < 20) {\n\t\t\t\tf = d ^ (b & (c ^ d));\n\t\t\t\tk = 0x5A827999;\n\t\t\t}\n\t\t\telse if (i < 40) {\n\t\t\t\tf = b ^ c ^ d;\n\t\t\t\tk = 0x6ED9EBA1;\n\t\t\t}\n\t\t\telse if (i < 60) {\n\t\t\t\tf = (b & c) | (d & (b | c));\n\t\t\t\tk = 0x8F1BBCDC;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tf = b ^ c ^ d;\n\t\t\t\tk = 0xCA62C1D6;\n\t\t\t}\n\t\t\tvar temp = (a << 5 | a >>> 27) + f + e + k + (block[i] | 0);\n\t\t\te = d;\n\t\t\td = c;\n\t\t\tc = (b << 30 | b >>> 2);\n\t\t\tb = a;\n\t\t\ta = temp;\n\t\t}\n\n\t\t// Add this chunk's hash to result so far:\n\t\th0 = (h0 + a) | 0;\n\t\th1 = (h1 + b) | 0;\n\t\th2 = (h2 + c) | 0;\n\t\th3 = (h3 + d) | 0;\n\t\th4 = (h4 + e) | 0;\n\n\t\t// The block is now reusable.\n\t\toffset = 0;\n\t\tfor (i = 0; i < 16; i++) {\n\t\t\tblock[i] = 0;\n\t\t}\n\t}\n\n\tfunction write(byte) {\n\t\tblock[offset] |= (byte & 0xff) << shift;\n\t\tif (shift) {\n\t\t\tshift -= 8;\n\t\t}\n\t\telse {\n\t\t\toffset++;\n\t\t\tshift = 24;\n\t\t}\n\t\tif (offset === 16) {\n\t\t\tprocessBlock();\n\t\t}\n\t}\n\n\tfunction updateString(string) {\n\t\tvar length = string.length;\n\t\ttotalLength += length * 8;\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\twrite(string.charCodeAt(i));\n\t\t}\n\t}\n\n\t// The user gave us more data. Store it!\n\tfunction update(chunk) {\n\t\tif (typeof chunk === 'string') {\n\t\t\treturn updateString(chunk);\n\t\t}\n\t\tvar length = chunk.length;\n\t\ttotalLength += length * 8;\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\twrite(chunk[i]);\n\t\t}\n\t}\n\n\tfunction toHex(word) {\n\t\tvar hex = '';\n\t\tfor (var i = 28; i >= 0; i -= 4) {\n\t\t\thex += ((word >> i) & 0xf).toString(16);\n\t\t}\n\t\treturn hex;\n\t}\n\n\t// No more data will come, pad the block, process and return the result.\n\tfunction digest() {\n\t\t// Pad\n\t\twrite(0x80);\n\t\tif (offset > 14 || (offset === 14 && shift < 24)) {\n\t\t\tprocessBlock();\n\t\t}\n\t\toffset = 14;\n\t\tshift = 24;\n\n\t\t// 64-bit length big-endian\n\t\twrite(0x00); // numbers this big aren't accurate in javascript anyway\n\t\twrite(0x00); // ..So just hard-code to zero.\n\t\twrite(totalLength > 0xffffffffff ? totalLength / 0x10000000000 : 0x00);\n\t\twrite(totalLength > 0xffffffff ? totalLength / 0x100000000 : 0x00);\n\t\tfor (var s = 24; s >= 0; s -= 8) {\n\t\t\twrite(totalLength >> s);\n\t\t}\n\n\t\t// At this point one last processBlock() should trigger and we can pull out the result.\n\t\treturn toHex(h0) +\n\t\ttoHex(h1) +\n\t\ttoHex(h2) +\n\t\ttoHex(h3) +\n\t\ttoHex(h4);\n\t}\n\n\treturn { update: update, digest: digest };\n}\n\n// Input chunks must be either arrays of bytes or \"raw\" encoded strings\nmodule.exports = function sha1(buffer) {\n\tif (buffer === undefined) {\n\t\treturn create();\n\t}\n\tvar shasum = create();\n\tshasum.update(buffer);\n\treturn shasum.digest();\n};\n","'use strict';\n\nvar extend = require('extend');\nvar XMLNode = require('./xml');\n\nfunction SVG() {\n\tthis.width = 100;\n\tthis.height = 100;\n\tthis.svg = XMLNode('svg');\n\tthis.context = []; // Track nested nodes\n\tthis.setAttributes(this.svg, {\n\t\txmlns: 'http://www.w3.org/2000/svg',\n\t\twidth: this.width,\n\t\theight: this.height\n\t});\n\n\treturn this;\n}\n\nmodule.exports = SVG;\n\n// This is a hack so groups work.\nSVG.prototype.currentContext = function () {\n\treturn this.context[this.context.length - 1] || this.svg;\n};\n\n// This is a hack so groups work.\nSVG.prototype.end = function () {\n\tthis.context.pop();\n\treturn this;\n};\n\nSVG.prototype.currentNode = function () {\n\tvar context = this.currentContext();\n\treturn context.lastChild || context;\n};\n\nSVG.prototype.transform = function (transformations) {\n\tthis.currentNode().setAttribute('transform',\n\t\tObject.keys(transformations).map(function (transformation) {\n\t\t\treturn transformation + '(' + transformations[transformation].join(',') + ')';\n\t\t}).join(' ')\n\t);\n\treturn this;\n};\n\nSVG.prototype.setAttributes = function (el, attrs) {\n\tObject.keys(attrs).forEach(function (attr) {\n\t\tel.setAttribute(attr, attrs[attr]);\n\t});\n};\n\nSVG.prototype.setWidth = function (width) {\n\tthis.svg.setAttribute('width', Math.floor(width));\n};\n\nSVG.prototype.setHeight = function (height) {\n\tthis.svg.setAttribute('height', Math.floor(height));\n};\n\nSVG.prototype.toString = function () {\n\treturn this.svg.toString();\n};\n\nSVG.prototype.rect = function (x, y, width, height, args) {\n\t// Accept array first argument\n\tvar self = this;\n\tif (Array.isArray(x)) {\n\t\tx.forEach(function (a) {\n\t\t\tself.rect.apply(self, a.concat(args));\n\t\t});\n\t\treturn this;\n\t}\n\n\tvar rect = XMLNode('rect');\n\tthis.currentContext().appendChild(rect);\n\tthis.setAttributes(rect, extend({\n\t\tx: x,\n\t\ty: y,\n\t\twidth: width,\n\t\theight: height\n\t}, args));\n\n\treturn this;\n};\n\nSVG.prototype.circle = function (cx, cy, r, args) {\n\tvar circle = XMLNode('circle');\n\tthis.currentContext().appendChild(circle);\n\tthis.setAttributes(circle, extend({\n\t\tcx: cx,\n\t\tcy: cy,\n\t\tr: r\n\t}, args));\n\n\treturn this;\n};\n\nSVG.prototype.path = function (str, args) {\n\tvar path = XMLNode('path');\n\tthis.currentContext().appendChild(path);\n\tthis.setAttributes(path, extend({\n\t\td: str\n\t}, args));\n\n\treturn this;\n};\n\nSVG.prototype.polyline = function (str, args) {\n\t// Accept array first argument\n\tvar self = this;\n\tif (Array.isArray(str)) {\n\t\tstr.forEach(function (s) {\n\t\t\tself.polyline(s, args);\n\t\t});\n\t\treturn this;\n\t}\n\n\tvar polyline = XMLNode('polyline');\n\tthis.currentContext().appendChild(polyline);\n\tthis.setAttributes(polyline, extend({\n\t\tpoints: str\n\t}, args));\n\n\treturn this;\n};\n\n// group and context are hacks\nSVG.prototype.group = function (args) {\n\tvar group = XMLNode('g');\n\tthis.currentContext().appendChild(group);\n\tthis.context.push(group);\n\tthis.setAttributes(group, extend({}, args));\n\treturn this;\n};\n","'use strict';\n\nvar XMLNode = module.exports = function (tagName) {\n\tif (!(this instanceof XMLNode)) {\n\t\treturn new XMLNode(tagName);\n\t}\n\n\tthis.tagName = tagName;\n\tthis.attributes = Object.create(null);\n\tthis.children = [];\n\tthis.lastChild = null;\n\n\treturn this;\n};\n\nXMLNode.prototype.appendChild = function (child) {\n\tthis.children.push(child);\n\tthis.lastChild = child;\n\n\treturn this;\n};\n\nXMLNode.prototype.setAttribute = function (name, value) {\n\tthis.attributes[name] = value;\n\n\treturn this;\n};\n\nXMLNode.prototype.toString = function () {\n\tvar self = this;\n\n\treturn [\n\t\t'<',\n\t\tself.tagName,\n\t\tObject.keys(self.attributes).map(function (attr) {\n\t\t\treturn [\n\t\t\t\t' ',\n\t\t\t\tattr,\n\t\t\t\t'=\"',\n\t\t\t\tself.attributes[attr],\n\t\t\t\t'\"'\n\t\t\t].join('');\n\t\t}).join(''),\n\t\t'>',\n\t\tself.children.map(function (child) {\n\t\t\treturn child.toString();\n\t\t}).join(''),\n\t\t'</',\n\t\tself.tagName,\n\t\t'>'\n\t].join('');\n};\n","var hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nfunction isPlainObject(obj) {\n\tif (!obj || toString.call(obj) !== '[object Object]' || obj.nodeType || obj.setInterval)\n\t\treturn false;\n\n\tvar has_own_constructor = hasOwn.call(obj, 'constructor');\n\tvar has_is_property_of_method = hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !has_own_constructor && !has_is_property_of_method)\n\t\treturn false;\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor ( key in obj ) {}\n\n\treturn key === undefined || hasOwn.call( obj, key );\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t target = arguments[0] || {},\n\t i = 1,\n\t length = arguments.length,\n\t deep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && typeof target !== \"function\") {\n\t\ttarget = {};\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\t\t// Only deal with non-null/undefined values\n\t\tif ( (options = arguments[ i ]) != null ) {\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( isPlainObject(copy) || (copyIsArray = Array.isArray(copy)) ) ) {\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && Array.isArray(src) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/*! For license information please see openmrs-esm-api.js.LICENSE.txt */\nSystem.register([\"@openmrs/esm-config\",\"@openmrs/esm-navigation\",\"@openmrs/esm-error-handling\",\"@openmrs/esm-offline\"],(function(t,e){var n={},r={},o={},i={};return{setters:[function(t){n.Type=t.Type,n.defineConfigSchema=t.defineConfigSchema,n.getConfig=t.getConfig,n.validators=t.validators},function(t){r.navigate=t.navigate},function(t){o.reportError=t.reportError},function(t){i.getSynchronizationItems=t.getSynchronizationItems}],execute:function(){t((()=>{var t={385:()=>{System.register([],(function(t,e){return{execute:function(){t(function(){\"use strict\";var t=function(t,e){var n=a[t];if(n)return n.active?console.error(\"Cannot override an existing store. Make sure that stores are only created once.\"):n.value.setState(e,!0),n.active=!0,n.value;var r=u()((function(){return e}));return a[t]={value:r,active:!0},r},e=function(t,e){var n=a[t];return n?(n.active?console.error(\"Cannot override an existing store. Make sure that stores are only created once.\"):n.value=e,n.active=!0,n.value):(a[t]={value:e,active:!0},e)},n=function(t,e){var n=a[t];if(!n){var r=u()((function(){return null!=e?e:{}}));return a[t]={value:r,active:!1},r}return n.value},r=function(t,e,n){var r=e(t.getState());return t.subscribe((function(t){var o=e(t);o!==r&&(r=o,n(o))}))},o={d:function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r:function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})}},i={};o.r(i),o.d(i,{createGlobalStore:function(){return t},getGlobalStore:function(){return n},registerGlobalStore:function(){return e},subscribeTo:function(){return r}});var s=function(t){var e,n=new Set,r=function(t,r){var o=\"function\"==typeof t?t(e):t;if(!Object.is(o,e)){var i=e;e=(null!=r?r:\"object\"!=typeof o)?o:Object.assign({},e,o),n.forEach((function(t){return t(e,i)}))}},o=function(){return e},i={setState:r,getState:o,subscribe:function(t){return n.add(t),function(){return n.delete(t)}},destroy:function(){console.warn(\"[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected.\"),n.clear()}};return e=t(r,o,i),i},u=function(t){return t?s(t):s},a={};return setTimeout((function(){\"development\"===window.spaEnv&&(window.stores=a)}),1e3),i}())}}}))},824:t=>{\"use strict\";t.exports=n},254:t=>{\"use strict\";t.exports=o},513:t=>{\"use strict\";t.exports=r},738:t=>{\"use strict\";t.exports=i}},e={};function s(n){var r=e[n];if(void 0!==r)return r.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,s),o.exports}s.d=(t,e)=>{for(var n in e)s.o(e,n)&&!s.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),s.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var u={};return(()=>{\"use strict\";s.r(u),s.d(u,{OpenmrsFetchError:()=>Fe,VisitMode:()=>Qn,VisitStatus:()=>Xn,attachmentUrl:()=>Je,backendDependencies:()=>or,clearCurrentUser:()=>ln,createAttachment:()=>Ke,defaultVisitCustomRepresentation:()=>Fn,deleteAttachmentPermanently:()=>Qe,fetchCurrentPatient:()=>Tn,fhirBaseUrl:()=>Be,getAttachmentByUuid:()=>ze,getAttachments:()=>Ye,getCurrentUser:()=>sn,getLocations:()=>rr,getLoggedInUser:()=>pn,getSessionLocation:()=>hn,getSessionStore:()=>un,getStartedVisit:()=>Zn,getVisitStore:()=>Jn,getVisitTypes:()=>er,getVisitsForPatient:()=>Yn,makeUrl:()=>$e,openmrsFetch:()=>Ve,openmrsObservableFetch:()=>We,refetchCurrentUser:()=>cn,restBaseUrl:()=>Re,saveVisit:()=>Kn,sessionEndpoint:()=>Ge,setCurrentVisit:()=>zn,setSessionLocation:()=>dn,setUserLanguage:()=>an,setUserProperties:()=>bn,setupApiModule:()=>wn,toLocationObject:()=>nr,toVisitTypeObject:()=>tr,updateVisit:()=>qn,userHasAccess:()=>fn});var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},t(e,n)};function e(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}function n(t){return\"function\"==typeof t}var r=!1,o={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){t&&(new Error).stack,r=t},get useDeprecatedSynchronousErrorHandling(){return r}};function i(t){setTimeout((function(){throw t}),0)}var a={closed:!0,next:function(t){},error:function(t){if(o.useDeprecatedSynchronousErrorHandling)throw t;i(t)},complete:function(){}},c=function(){return Array.isArray||function(t){return t&&\"number\"==typeof t.length}}();function l(t){return null!==t&&\"object\"==typeof t}var f=function(){function t(t){return Error.call(this),this.message=t?t.length+\" errors occurred during unsubscription:\\n\"+t.map((function(t,e){return e+1+\") \"+t.toString()})).join(\"\\n \"):\"\",this.name=\"UnsubscriptionError\",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t}(),p=f,h=function(){function t(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}return t.prototype.unsubscribe=function(){var e;if(!this.closed){var r=this,o=r._parentOrParents,i=r._ctorUnsubscribe,s=r._unsubscribe,u=r._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,o instanceof t)o.remove(this);else if(null!==o)for(var a=0;a<o.length;++a)o[a].remove(this);if(n(s)){i&&(this._unsubscribe=void 0);try{s.call(this)}catch(t){e=t instanceof p?d(t.errors):[t]}}if(c(u)){a=-1;for(var f=u.length;++a<f;){var h=u[a];if(l(h))try{h.unsubscribe()}catch(t){e=e||[],t instanceof p?e=e.concat(d(t.errors)):e.push(t)}}}if(e)throw new p(e)}},t.prototype.add=function(e){var n=e;if(!e)return t.EMPTY;switch(typeof e){case\"function\":n=new t(e);case\"object\":if(n===this||n.closed||\"function\"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;if(!(n instanceof t)){var r=n;(n=new t)._subscriptions=[r]}break;default:throw new Error(\"unrecognized teardown \"+e+\" added to Subscription.\")}var o=n._parentOrParents;if(null===o)n._parentOrParents=this;else if(o instanceof t){if(o===this)return n;n._parentOrParents=[o,this]}else{if(-1!==o.indexOf(this))return n;o.push(this)}var i=this._subscriptions;return null===i?this._subscriptions=[n]:i.push(n),n},t.prototype.remove=function(t){var e=this._subscriptions;if(e){var n=e.indexOf(t);-1!==n&&e.splice(n,1)}},t.EMPTY=function(t){return t.closed=!0,t}(new t),t}();function d(t){return t.reduce((function(t,e){return t.concat(e instanceof p?e.errors:e)}),[])}var y=function(){return\"function\"==typeof Symbol?Symbol(\"rxSubscriber\"):\"@@rxSubscriber_\"+Math.random()}(),b=function(t){function n(e,r,o){var i=t.call(this)||this;switch(i.syncErrorValue=null,i.syncErrorThrown=!1,i.syncErrorThrowable=!1,i.isStopped=!1,arguments.length){case 0:i.destination=a;break;case 1:if(!e){i.destination=a;break}if(\"object\"==typeof e){e instanceof n?(i.syncErrorThrowable=e.syncErrorThrowable,i.destination=e,e.add(i)):(i.syncErrorThrowable=!0,i.destination=new m(i,e));break}default:i.syncErrorThrowable=!0,i.destination=new m(i,e,r,o)}return i}return e(n,t),n.prototype[y]=function(){return this},n.create=function(t,e,r){var o=new n(t,e,r);return o.syncErrorThrowable=!1,o},n.prototype.next=function(t){this.isStopped||this._next(t)},n.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},n.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},n.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},n.prototype._next=function(t){this.destination.next(t)},n.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},n.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},n.prototype._unsubscribeAndRecycle=function(){var t=this._parentOrParents;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this},n}(h),m=function(t){function r(e,r,o,i){var s,u=t.call(this)||this;u._parentSubscriber=e;var c=u;return n(r)?s=r:r&&(s=r.next,o=r.error,i=r.complete,r!==a&&(n((c=Object.create(r)).unsubscribe)&&u.add(c.unsubscribe.bind(c)),c.unsubscribe=u.unsubscribe.bind(u))),u._context=c,u._next=s,u._error=o,u._complete=i,u}return e(r,t),r.prototype.next=function(t){if(!this.isStopped&&this._next){var e=this._parentSubscriber;o.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},r.prototype.error=function(t){if(!this.isStopped){var e=this._parentSubscriber,n=o.useDeprecatedSynchronousErrorHandling;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):i(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;i(t)}}},r.prototype.complete=function(){var t=this;if(!this.isStopped){var e=this._parentSubscriber;if(this._complete){var n=function(){return t._complete.call(t._context)};o.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}},r.prototype.__tryOrUnsub=function(t,e){try{t.call(this._context,e)}catch(t){if(this.unsubscribe(),o.useDeprecatedSynchronousErrorHandling)throw t;i(t)}},r.prototype.__tryOrSetError=function(t,e,n){if(!o.useDeprecatedSynchronousErrorHandling)throw new Error(\"bad call\");try{e.call(this._context,n)}catch(e){return o.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=e,t.syncErrorThrown=!0,!0):(i(e),!0)}return!1},r.prototype._unsubscribe=function(){var t=this._parentSubscriber;this._context=null,this._parentSubscriber=null,t.unsubscribe()},r}(b),v=function(){return\"function\"==typeof Symbol&&Symbol.observable||\"@@observable\"}();function w(t){return t}var g=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var r=this.operator,i=function(t,e,n){if(t){if(t instanceof b)return t;if(t[y])return t[y]()}return t||e||n?new b(t,e,n):new b(a)}(t,e,n);if(r?i.add(r.call(i,this.source)):i.add(this.source||o.useDeprecatedSynchronousErrorHandling&&!i.syncErrorThrowable?this._subscribe(i):this._trySubscribe(i)),o.useDeprecatedSynchronousErrorHandling&&i.syncErrorThrowable&&(i.syncErrorThrowable=!1,i.syncErrorThrown))throw i.syncErrorValue;return i},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){o.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){var e=t,n=e.closed,r=e.destination,o=e.isStopped;if(n||o)return!1;t=r&&r instanceof b?r:null}return!0}(t)?t.error(e):console.warn(e)}},t.prototype.forEach=function(t,e){var n=this;return new(e=E(e))((function(e,r){var o;o=n.subscribe((function(e){try{t(e)}catch(t){r(t),o&&o.unsubscribe()}}),r,e)}))},t.prototype._subscribe=function(t){var e=this.source;return e&&e.subscribe(t)},t.prototype[v]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 0===t.length?this:(0===(n=t).length?w:1===n.length?n[0]:function(t){return n.reduce((function(t,e){return e(t)}),t)})(this);var n},t.prototype.toPromise=function(t){var e=this;return new(t=E(t))((function(t,n){var r;e.subscribe((function(t){return r=t}),(function(t){return n(t)}),(function(){return t(r)}))}))},t.create=function(e){return new t(e)},t}();function E(t){if(t||(t=o.Promise||Promise),!t)throw new Error(\"no Promise impl found\");return t}const S=\"object\"==typeof global&&global&&global.Object===Object&&global;var O=\"object\"==typeof self&&self&&self.Object===Object&&self;const _=(S||O||Function(\"return this\")()).Symbol;var P=Object.prototype,T=P.hasOwnProperty,A=P.toString,j=_?_.toStringTag:void 0;var x=Object.prototype.toString;var D=_?_.toStringTag:void 0;const N=function(t){return null==t?void 0===t?\"[object Undefined]\":\"[object Null]\":D&&D in Object(t)?function(t){var e=T.call(t,j),n=t[j];try{t[j]=void 0;var r=!0}catch(t){}var o=A.call(t);return r&&(e?t[j]=n:delete t[j]),o}(t):function(t){return x.call(t)}(t)},U=(M=Object.getPrototypeOf,C=Object,function(t){return M(C(t))});var M,C;var k=Function.prototype,L=Object.prototype,I=k.toString,R=L.hasOwnProperty,B=I.call(Object);const G=function(t){if(!function(t){return null!=t&&\"object\"==typeof t}(t)||\"[object Object]\"!=N(t))return!1;var e=U(t);if(null===e)return!0;var n=R.call(e,\"constructor\")&&e.constructor;return\"function\"==typeof n&&n instanceof n&&I.call(n)==B};var $=s(824),V=s(513),W=s(385);(0,W.createGlobalStore)(\"breadcrumbs\",[]);var F=Object.freeze({__proto__:null,get start(){return Te},get ensureJQuerySupport(){return te},get setBootstrapMaxTime(){return Ct},get setMountMaxTime(){return kt},get setUnmountMaxTime(){return Lt},get setUnloadMaxTime(){return It},get registerApplication(){return pe},get unregisterApplication(){return de},get getMountedApps(){return ae},get getAppStatus(){return le},get unloadApplication(){return ye},get checkActivityFunctions(){return he},get getAppNames(){return ce},get pathToActiveWhen(){return ve},get navigateToUrl(){return Ft},get patchHistoryApi(){return Qt},get triggerAppChange(){return Se},get addErrorHandler(){return K},get removeErrorHandler(){return q},get mountRootParcel(){return xt},get NOT_LOADED(){return Z},get LOADING_SOURCE_CODE(){return tt},get NOT_BOOTSTRAPPED(){return et},get BOOTSTRAPPING(){return nt},get NOT_MOUNTED(){return rt},get MOUNTING(){return ot},get UPDATING(){return st},get LOAD_ERROR(){return ct},get MOUNTED(){return it},get UNLOADING(){return at},get UNMOUNTING(){return ut},get SKIP_BECAUSE_BROKEN(){return lt}}),H=(\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{}).CustomEvent,J=function(){try{var t=new H(\"cat\",{detail:{foo:\"bar\"}});return\"cat\"===t.type&&\"bar\"===t.detail.foo}catch(t){}return!1}()?H:\"undefined\"!=typeof document&&\"function\"==typeof document.createEvent?function(t,e){var n=document.createEvent(\"CustomEvent\");return e?n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail):n.initCustomEvent(t,!1,!1,void 0),n}:function(t,e){var n=document.createEventObject();return n.type=t,e?(n.bubbles=Boolean(e.bubbles),n.cancelable=Boolean(e.cancelable),n.detail=e.detail):(n.bubbles=!1,n.cancelable=!1,n.detail=void 0),n};let z=[];function Y(t,e,n){const r=X(t,e,n);z.length?z.forEach((t=>t(r))):setTimeout((()=>{throw r}))}function K(t){if(\"function\"!=typeof t)throw Error(Q(28,!1));z.push(t)}function q(t){if(\"function\"!=typeof t)throw Error(Q(29,!1));let e=!1;return z=z.filter((n=>{const r=n===t;return e=e||r,!r})),e}function Q(t,e,...n){return`single-spa minified message #${t}: ${e?e+\" \":\"\"}See https://single-spa.js.org/error/?code=${t}${n.length?`&arg=${n.join(\"&arg=\")}`:\"\"}`}function X(t,e,n){const r=`${yt(e)} '${ht(e)}' died in status ${e.status}: `;let o;if(t instanceof Error){try{t.message=r+t.message}catch(t){}o=t}else{console.warn(Q(30,!1,e.status,ht(e)));try{o=Error(r+JSON.stringify(t))}catch(e){o=t}}return o.appOrParcelName=ht(e),e.status=n,o}const Z=\"NOT_LOADED\",tt=\"LOADING_SOURCE_CODE\",et=\"NOT_BOOTSTRAPPED\",nt=\"BOOTSTRAPPING\",rt=\"NOT_MOUNTED\",ot=\"MOUNTING\",it=\"MOUNTED\",st=\"UPDATING\",ut=\"UNMOUNTING\",at=\"UNLOADING\",ct=\"LOAD_ERROR\",lt=\"SKIP_BECAUSE_BROKEN\";function ft(t){return t.status===it}function pt(t){try{return t.activeWhen(window.location)}catch(e){return Y(e,t,lt),!1}}function ht(t){return t.name}function dt(t){return Boolean(t.unmountThisParcel)}function yt(t){return dt(t)?\"parcel\":\"application\"}function bt(){for(let t=arguments.length-1;t>0;t--)for(let e in arguments[t])\"__proto__\"!==e&&(arguments[t-1][e]=arguments[t][e]);return arguments[0]}function mt(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return t[n];return null}function vt(t){return t&&(\"function\"==typeof t||(e=t,Array.isArray(e)&&!mt(e,(t=>\"function\"!=typeof t))));var e}function wt(t,e){let n=t[e]||[];n=Array.isArray(n)?n:[n],0===n.length&&(n=[()=>Promise.resolve()]);const r=yt(t),o=ht(t);return function(t){return n.reduce(((n,i,s)=>n.then((()=>{const n=i(t);return gt(n)?n:Promise.reject(Q(15,!1,r,o,e,s))}))),Promise.resolve())}}function gt(t){return t&&\"function\"==typeof t.then&&\"function\"==typeof t.catch}let Et=[];function St(t,e){return Promise.resolve().then((()=>t.status!==et?t:(t.status=nt,t.bootstrap?Rt(t,\"bootstrap\").then(n).catch((n=>{if(e)throw X(n,t,lt);return Y(n,t,lt),t})):Promise.resolve().then(n))));function n(){return t.status=rt,t}}function Ot(t,e){return Promise.resolve().then((()=>{if(t.status!==it)return t;t.status=ut;const n=Object.keys(t.parcels).map((e=>t.parcels[e].unmountThisParcel()));return Promise.all(n).then(r,(n=>r().then((()=>{const r=Error(n.message);if(e)throw X(r,t,lt);Y(r,t,lt)})))).then((()=>t));function r(){return Rt(t,\"unmount\").then((()=>{t.status=rt}),(n=>{if(e)throw X(n,t,lt);Y(n,t,lt)}))}}))}let _t=!1,Pt=!1;function Tt(t,e){return Promise.resolve().then((()=>t.status!==rt?t:(_t||(window.dispatchEvent(new J(\"single-spa:before-first-mount\")),_t=!0),t.status=ot,Rt(t,\"mount\").then((()=>(t.status=it,Pt||(window.dispatchEvent(new J(\"single-spa:first-mount\")),Pt=!0),t))).catch((n=>{return t.status=it,Ot(t,!0).then(r,r);function r(){if(e)throw X(n,t,lt);return Y(n,t,lt),t}})))))}let At=0;const jt={parcels:{}};function xt(){return Dt.apply(jt,arguments)}function Dt(t,e){const n=this;if(!t||\"object\"!=typeof t&&\"function\"!=typeof t)throw Error(Q(2,!1));if(t.name&&\"string\"!=typeof t.name)throw Error(Q(3,!1,typeof t.name));const r=At++;let o=t.name||`parcel-${r}`;if(\"object\"!=typeof e)throw Error(Q(4,!1,o,typeof e));if(!e.domElement)throw Error(Q(5,!1,o));const i=\"function\"==typeof t,s=i?t:()=>Promise.resolve(t),u={id:r,parcels:{},status:i?tt:et,customProps:e,parentName:ht(n),unmountThisParcel:()=>f.then((()=>{if(u.status!==it)throw Error(Q(6,!1,o,u.status));return Ot(u,!0)})).then((t=>(u.parentName&&delete n.parcels[u.id],t))).then((t=>(p(t),t))).catch((t=>{throw u.status=lt,h(t),t}))};let a;n.parcels[r]=u;let c=s();if(!c||\"function\"!=typeof c.then)throw Error(Q(7,!1));c=c.then((t=>{if(!t)throw Error(Q(8,!1));if(o=t.name||`parcel-${r}`,Object.prototype.hasOwnProperty.call(t,\"bootstrap\")&&!vt(t.bootstrap))throw Error(Q(9,!1,o));if(!vt(t.mount))throw Error(Q(10,!1,o));if(!vt(t.unmount))throw Error(Q(11,!1,o));if(t.update&&!vt(t.update))throw Error(Q(12,!1,o));const e=wt(t,\"bootstrap\"),n=wt(t,\"mount\"),i=wt(t,\"unmount\");u.status=et,u.name=o,u.bootstrap=e,u.mount=n,u.unmount=i,u.timeouts=Bt(t.timeouts),t.update&&(u.update=wt(t,\"update\"),a.update=function(t){return u.customProps=t,Nt((e=u,Promise.resolve().then((()=>{if(e.status!==it)throw Error(Q(32,!1,ht(e)));return e.status=st,Rt(e,\"update\").then((()=>(e.status=it,e))).catch((t=>{throw X(t,e,lt)}))}))));var e})}));const l=c.then((()=>St(u,!0))),f=l.then((()=>Tt(u,!0)));let p,h;const d=new Promise(((t,e)=>{p=t,h=e}));return a={mount:()=>Nt(Promise.resolve().then((()=>{if(u.status!==rt)throw Error(Q(13,!1,o,u.status));return n.parcels[r]=u,Tt(u)}))),unmount:()=>Nt(u.unmountThisParcel()),getStatus:()=>u.status,loadPromise:Nt(c),bootstrapPromise:Nt(l),mountPromise:Nt(f),unmountPromise:Nt(d)},a}function Nt(t){return t.then((()=>null))}function Ut(t){const e=ht(t);let n=\"function\"==typeof t.customProps?t.customProps(e,window.location):t.customProps;(\"object\"!=typeof n||null===n||Array.isArray(n))&&(n={},console.warn(Q(40,!1),e,n));const r=bt({},n,{name:e,mountParcel:Dt.bind(t),singleSpa:F});return dt(t)&&(r.unmountSelf=t.unmountThisParcel),r}const Mt={bootstrap:{millis:4e3,dieOnTimeout:!1,warningMillis:1e3},mount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unmount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unload:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},update:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3}};function Ct(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(Q(16,!1));Mt.bootstrap={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function kt(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(Q(17,!1));Mt.mount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function Lt(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(Q(18,!1));Mt.unmount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function It(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(Q(19,!1));Mt.unload={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function Rt(t,e){const n=t.timeouts[e],r=n.warningMillis,o=yt(t);return new Promise(((i,s)=>{let u=!1,a=!1;t[e](Ut(t)).then((t=>{u=!0,i(t)})).catch((t=>{u=!0,s(t)})),setTimeout((()=>l(1)),r),setTimeout((()=>l(!0)),n.millis);const c=Q(31,!1,e,o,ht(t),n.millis);function l(t){if(!u)if(!0===t)a=!0,n.dieOnTimeout?s(Error(c)):console.error(c);else if(!a){const e=t,o=e*r;console.warn(c),o+r<n.millis&&setTimeout((()=>l(e+1)),r)}}}))}function Bt(t){const e={};for(let n in Mt)e[n]=bt({},Mt[n],t&&t[n]||{});return e}function Gt(t){return Promise.resolve().then((()=>{if(t.loadPromise)return t.loadPromise;if(t.status!==Z&&t.status!==ct)return t;let e,n;return t.status=tt,t.loadPromise=Promise.resolve().then((()=>{const r=t.loadApp(Ut(t));if(!gt(r))throw n=!0,Error(Q(33,!1,ht(t)));return r.then((n=>{let r;t.loadErrorTime=null,e=n,\"object\"!=typeof e&&(r=34),Object.prototype.hasOwnProperty.call(e,\"bootstrap\")&&!vt(e.bootstrap)&&(r=35),vt(e.mount)||(r=36),vt(e.unmount)||(r=37);const o=yt(e);if(r){let n;try{n=JSON.stringify(e)}catch(t){}return console.error(Q(r,!1,o,ht(t),n),e),Y(void 0,t,lt),t}return e.devtools&&e.devtools.overlays&&(t.devtools.overlays=bt({},t.devtools.overlays,e.devtools.overlays)),t.status=et,t.bootstrap=wt(e,\"bootstrap\"),t.mount=wt(e,\"mount\"),t.unmount=wt(e,\"unmount\"),t.unload=wt(e,\"unload\"),t.timeouts=Bt(e.timeouts),delete t.loadPromise,t}))})).catch((e=>{let r;return delete t.loadPromise,n?r=lt:(r=ct,t.loadErrorTime=(new Date).getTime()),Y(e,t,r),t}))}))}const $t=\"undefined\"!=typeof window,Vt={hashchange:[],popstate:[]},Wt=[\"hashchange\",\"popstate\"];function Ft(t){let e;if(\"string\"==typeof t)e=t;else if(this&&this.href)e=this.href;else{if(!(t&&t.currentTarget&&t.currentTarget.href&&t.preventDefault))throw Error(Q(14,!1));e=t.currentTarget.href,t.preventDefault()}const n=Xt(window.location.href),r=Xt(e);0===e.indexOf(\"#\")?window.location.hash=r.hash:n.host!==r.host&&r.host?window.location.href=e:r.pathname===n.pathname&&r.search===n.search?window.location.hash=r.hash:window.history.pushState(null,null,e)}function Ht(t){if(t){const e=t[0].type;Wt.indexOf(e)>=0&&Vt[e].forEach((e=>{try{e.apply(this,t)}catch(t){setTimeout((()=>{throw t}))}}))}}let Jt;function zt(){Oe([],arguments)}function Yt(t,e){return function(){const n=window.location.href,r=t.apply(this,arguments),o=window.location.href;return Jt&&n===o||window.dispatchEvent(function(t,e){let n;try{n=new PopStateEvent(\"popstate\",{state:t})}catch(e){n=document.createEvent(\"PopStateEvent\"),n.initPopStateEvent(\"popstate\",!1,!1,t)}return n.singleSpa=!0,n.singleSpaTrigger=e,n}(window.history.state,e)),r}}let Kt=null,qt=!1;function Qt(t){if(qt)throw Error(Q(43,!1));Jt=!t||!t.hasOwnProperty(\"urlRerouteOnly\")||t.urlRerouteOnly,qt=!0,Kt=window.history.replaceState,window.addEventListener(\"hashchange\",zt),window.addEventListener(\"popstate\",zt);const e=window.addEventListener,n=window.removeEventListener;window.addEventListener=function(t,n){if(!(\"function\"==typeof n&&Wt.indexOf(t)>=0)||mt(Vt[t],(t=>t===n)))return e.apply(this,arguments);Vt[t].push(n)},window.removeEventListener=function(t,e){if(!(\"function\"==typeof e&&Wt.indexOf(t)>=0))return n.apply(this,arguments);Vt[t]=Vt[t].filter((t=>t!==e))},window.history.pushState=Yt(window.history.pushState,\"pushState\"),window.history.replaceState=Yt(Kt,\"replaceState\")}function Xt(t){const e=document.createElement(\"a\");return e.href=t,e}$t&&(window.singleSpaNavigate?console.warn(Q(41,!1)):window.singleSpaNavigate=Ft);let Zt=!1;function te(t=window.jQuery){if(t||window.$&&window.$.fn&&window.$.fn.jquery&&(t=window.$),t&&!Zt){const e=t.fn.on,n=t.fn.off;t.fn.on=function(t,n){return ee.call(this,e,window.addEventListener,t,n,arguments)},t.fn.off=function(t,e){return ee.call(this,n,window.removeEventListener,t,e,arguments)},Zt=!0}}function ee(t,e,n,r,o){return\"string\"!=typeof n?t.apply(this,o):(n.split(/\\s+/).forEach((t=>{Wt.indexOf(t)>=0&&(e(t,r),n=n.replace(t,\"\"))})),\"\"===n.trim()?this:t.apply(this,o))}const ne={};function re(t){return Promise.resolve().then((()=>{const e=ne[ht(t)];if(!e)return t;if(t.status===Z)return oe(t,e),t;if(t.status===at)return e.promise.then((()=>t));if(t.status!==rt&&t.status!==ct)return t;const n=t.status===ct?Promise.resolve():Rt(t,\"unload\");return t.status=at,n.then((()=>(oe(t,e),t))).catch((n=>(function(t,e,n){delete ne[ht(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,Y(n,t,lt),e.reject(n)}(t,e,n),t)))}))}function oe(t,e){delete ne[ht(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,t.status=Z,e.resolve()}function ie(t,e,n,r){ne[ht(t)]={app:t,resolve:n,reject:r},Object.defineProperty(ne[ht(t)],\"promise\",{get:e})}function se(t){return ne[t]}const ue=[];function ae(){return ue.filter(ft).map(ht)}function ce(){return ue.map(ht)}function le(t){const e=mt(ue,(e=>ht(e)===t));return e?e.status:null}let fe=!1;function pe(t,e,n,r){const o=function(t,e,n,r){const o={name:null,loadApp:null,activeWhen:null,customProps:null};return\"object\"==typeof t?(function(t){if(Array.isArray(t)||null===t)throw Error(Q(39,!1));const e=[\"name\",\"app\",\"activeWhen\",\"customProps\"],n=Object.keys(t).reduce(((t,n)=>e.indexOf(n)>=0?t:t.concat(n)),[]);if(0!==n.length)throw Error(Q(38,!1,e.join(\", \"),n.join(\", \")));if(\"string\"!=typeof t.name||0===t.name.length)throw Error(Q(20,!1));if(\"object\"!=typeof t.app&&\"function\"!=typeof t.app)throw Error(Q(20,!1));const r=t=>\"string\"==typeof t||\"function\"==typeof t;if(!(r(t.activeWhen)||Array.isArray(t.activeWhen)&&t.activeWhen.every(r)))throw Error(Q(24,!1));if(!me(t.customProps))throw Error(Q(22,!1))}(t),o.name=t.name,o.loadApp=t.app,o.activeWhen=t.activeWhen,o.customProps=t.customProps):(function(t,e,n,r){if(\"string\"!=typeof t||0===t.length)throw Error(Q(20,!1));if(!e)throw Error(Q(23,!1));if(\"function\"!=typeof n)throw Error(Q(24,!1));if(!me(r))throw Error(Q(22,!1))}(t,e,n,r),o.name=t,o.loadApp=e,o.activeWhen=n,o.customProps=r),o.loadApp=\"function\"!=typeof(i=o.loadApp)?()=>Promise.resolve(i):i,o.customProps=function(t){return t||{}}(o.customProps),o.activeWhen=function(t){let e=Array.isArray(t)?t:[t];return e=e.map((t=>\"function\"==typeof t?t:ve(t))),t=>e.some((e=>e(t)))}(o.activeWhen),o;var i}(t,e,n,r);if(Ae()||fe||(fe=!0,setTimeout((()=>{Ae()||console.warn(Q(1,!1))}),5e3)),-1!==ce().indexOf(o.name))throw Error(Q(21,!1,o.name));ue.push(bt({loadErrorTime:null,status:Z,parcels:{},devtools:{overlays:{options:{},selectors:[]}}},o)),$t&&(te(),Oe())}function he(t=window.location){return ue.filter((e=>e.activeWhen(t))).map(ht)}function de(t){if(0===ue.filter((e=>ht(e)===t)).length)throw Error(Q(25,!1,t));return($t?ye(t,{waitForUnmount:!1}):Promise.resolve()).then((()=>{const e=ue.map(ht).indexOf(t);ue.splice(e,1)}))}function ye(t,e={waitForUnmount:!1}){if(\"string\"!=typeof t)throw Error(Q(26,!1));const n=mt(ue,(e=>ht(e)===t));if(!n)throw Error(Q(27,!1,t));const r=se(ht(n));if(e&&e.waitForUnmount){if(r)return r.promise;{const t=new Promise(((e,r)=>{ie(n,(()=>t),e,r)}));return t}}{let t;return r?(t=r.promise,be(n,r.resolve,r.reject)):t=new Promise(((e,r)=>{ie(n,(()=>t),e,r),be(n,e,r)})),t}}function be(t,e,n){Promise.resolve().then((()=>{if(mt(he(),(e=>e===ht(t))))return Se()})).then((()=>Ot(t).then(re).then((()=>{e(),setTimeout((()=>{Oe()}))})))).catch(n)}function me(t){return!t||\"function\"==typeof t||\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function ve(t,e){const n=function(t,e){let n=0,r=!1,o=\"^\";\"/\"!==t[0]&&(t=\"/\"+t);for(let e=0;e<t.length;e++){const n=t[e];(!r&&\":\"===n||r&&\"/\"===n)&&i(e)}return i(t.length),new RegExp(o,\"i\");function i(i){const s=t.slice(n,i).replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\");if(o+=r?\"[^/]+/?\":s,i===t.length)if(r)e&&(o+=\"$\");else{const t=e?\"\":\".*\";o=\"/\"===o.charAt(o.length-1)?`${o}${t}$`:`${o}(/${t})?(#.*)?$`}r=!r,n=i}}(t,e);return t=>{let e=t.origin;e||(e=`${t.protocol}//${t.host}`);const r=t.href.replace(e,\"\").replace(t.search,\"\").split(\"?\")[0];return n.test(r)}}let we=!1,ge=[],Ee=$t&&window.location.href;function Se(){return Oe()}function Oe(t=[],e,n=!1){if(we)return new Promise(((t,n)=>{ge.push({resolve:t,reject:n,eventArguments:e})}));const{appsToUnload:r,appsToUnmount:o,appsToLoad:i,appsToMount:s}=function(){const t=[],e=[],n=[],r=[],o=(new Date).getTime();return ue.forEach((i=>{const s=i.status!==lt&&pt(i);switch(i.status){case ct:s&&o-i.loadErrorTime>=200&&n.push(i);break;case Z:case tt:s&&n.push(i);break;case et:case rt:!s&&se(ht(i))?t.push(i):s&&r.push(i);break;case it:s||e.push(i)}})),{appsToUnload:t,appsToUnmount:e,appsToLoad:n,appsToMount:r}}();let u,a=[],c=Ee,l=Ee=window.location.href;return Ae()?(we=!0,u=r.concat(i,o,s),Promise.resolve().then((()=>(y(0===u.length?\"before-no-app-change\":\"before-app-change\",d(!0)),y(\"before-routing-event\",d(!0,{cancelNavigation:f})),Promise.all(a).then((n=>{if(n.some((t=>t)))return Kt.call(window.history,history.state,\"\",c.substring(location.origin.length)),Ee=location.href,we=!1,Oe(t,e,!0);const u=r.map(re),a=o.map(Ot).map((t=>t.then(re))).concat(u),l=Promise.all(a);l.then((()=>{y(\"before-mount-routing-event\",d(!0))}),(t=>{throw t}));const f=i.map((t=>Gt(t).then((t=>_e(t,l))))),b=s.filter((t=>i.indexOf(t)<0)).map((t=>_e(t,l)));return l.catch((t=>{throw h(),t})).then((()=>(h(),Promise.all(f.concat(b)).catch((e=>{throw t.forEach((t=>t.reject(e))),e})).then(p).then((()=>{}),(t=>{throw t})))))})))))):(u=i,Promise.resolve().then((()=>{const t=i.map(Gt);return Promise.all(t).then(h).then((()=>[])).catch((t=>{throw h(),t})).finally((()=>{}))})));function f(t=!0){const e=\"function\"==typeof(null==t?void 0:t.then)?t:Promise.resolve(t);a.push(e.catch((t=>(console.warn(Error(Q(42,!1))),console.warn(t),!1))))}function p(){const e=ae();t.forEach((t=>t.resolve(e)));try{y(0===u.length?\"no-app-change\":\"app-change\",d()),y(\"routing-event\",d())}catch(t){setTimeout((()=>{throw t}))}if(we=!1,ge.length>0){const t=ge;ge=[],Oe(t)}return e}function h(){n||(t.forEach((t=>{Ht(t.eventArguments)})),Ht(e))}function d(t=!1,n){const a={},f={[it]:[],[rt]:[],[Z]:[],[lt]:[]};t?(i.concat(s).forEach(((t,e)=>{h(t,it)})),r.forEach((t=>{h(t,Z)})),o.forEach((t=>{h(t,rt)}))):u.forEach((t=>{h(t)}));const p={detail:{newAppStatuses:a,appsByNewStatus:f,totalAppChanges:u.length,originalEvent:null==e?void 0:e[0],oldUrl:c,newUrl:l}};return n&&bt(p.detail,n),p;function h(t,e){const n=ht(t);e=e||le(n),a[n]=e,(f[e]=f[e]||[]).push(n)}}function y(t,e){n||window.dispatchEvent(new J(`single-spa:${t}`,e))}}function _e(t,e){return pt(t)?St(t).then((t=>e.then((()=>pt(t)?Tt(t):t)))):e.then((()=>t))}let Pe=!1;function Te(t){Pe=!0,$t&&(Qt(t),Oe())}function Ae(){return Pe}var je={getRawAppData:function(){return[...ue]},reroute:Oe,NOT_LOADED:Z,toLoadPromise:Gt,toBootstrapPromise:St,unregisterApplication:de,getProfilerData:function(){return Et}};$t&&window.__SINGLE_SPA_DEVTOOLS__&&(window.__SINGLE_SPA_DEVTOOLS__.exposedMethods=je);var xe=\"openmrs:history\";function De(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}function Ne(t,e,n,r,o,i,s){try{var u=t[i](s),a=u.value}catch(t){return void n(t)}u.done?e(a):Promise.resolve(a).then(r,o)}function Ue(t,e,n){return Ue=Ie()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var o=new(Function.bind.apply(t,r));return n&&ke(o,n.prototype),o},Ue.apply(null,arguments)}function Me(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Ce(t){return Ce=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},Ce(t)}function ke(t,e){return ke=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},ke(t,e)}function Le(t){var e=\"function\"==typeof Map?new Map:void 0;return Le=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf(\"[native code]\")))return t;var n;if(\"function\"!=typeof t)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return Ue(t,arguments,Ce(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),ke(r,t)},Le(t)}function Ie(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}var Re=\"/ws/rest/v1\",Be=\"/ws/fhir2/R4\",Ge=\"\".concat(Re,\"/session\");function $e(t){return t&&t.startsWith(\"http\")?t:(\"/\"!==t[0]&&(t=\"/\"+t),window.openmrsBase+t)}function Ve(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"string\"!=typeof t)throw Error(\"The first argument to @openmrs/api's openmrsFetch function must be a url string\");if(\"object\"!=typeof e)throw Error(\"The second argument to @openmrs/api's openmrsFetch function must be a plain object.\");if(!window.openmrsBase)throw Error(\"@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.\");var n=$e(t);if(e.headers||(e.headers={}),G(e.body)&&(e.body=JSON.stringify(e.body)),void 0===e.headers.Accept&&(e.headers.Accept=\"application/json\"),null===e.headers.Accept&&delete e.headers.Accept,t.startsWith(Re)&&void 0===e.headers[\"Disable-WWW-Authenticate\"]&&(e.headers[\"Disable-WWW-Authenticate\"]=\"true\"),t.startsWith(Be)){var r=new URL(n,window.location.toString());r.searchParams.has(\"_summary\")||(r.searchParams.set(\"_summary\",\"data\"),n=r.toString())}var o,i,s=Error();return window.fetch(n,e).then((o=function(t){var e,r;return function(t,e){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}(this,(function(o){switch(o.label){case 0:return(e=t).ok?204===e.status?(e.data=null,[2,e]):[2,e.clone().text().then((function(t){try{t&&(e.data=JSON.parse(t))}catch(t){}return e}))]:[3,1];case 1:return[4,(0,$.getConfig)(\"@openmrs/esm-api\")];case 2:return r=o.sent().redirectAuthFailure,n===$e(Ge)&&403===e.status||r.enabled&&r.errors.includes(e.status)?(sessionStorage.removeItem(xe),(0,V.navigate)({to:r.url}),[2,r.resolvePromise?Promise.resolve():new Promise((function(){}))]):[2,e.clone().text().then((function(t){var r=t;try{r=JSON.parse(t)}catch(t){}throw new Fe(n,e,r,s)}),(function(t){throw new Fe(n,e,null,s)}))];case 3:return[2]}}))},i=function(){var t=this,e=arguments;return new Promise((function(n,r){var i=o.apply(t,e);function s(t){Ne(i,n,r,s,u,\"next\",t)}function u(t){Ne(i,n,r,s,u,\"throw\",t)}s(void 0)}))},function(t){return i.apply(this,arguments)}))}function We(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"object\"!=typeof e)throw Error(\"The second argument to openmrsObservableFetch must be either omitted or an object\");var n=new AbortController;return e.signal=n.signal,new g((function(r){var o=!1;return Ve(t,e).then((function(t){o=!0,r.next(t),r.complete()}),(function(t){o=!0,r.error(t)})),function(){o||n.abort()}}))}var Fe=function(t){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ke(t,e)}(o,t);var e,n,r=(e=o,n=Ie(),function(){var t,r=Ce(e);if(n){var o=Ce(this).constructor;t=Reflect.construct(r,arguments,o)}else t=r.apply(this,arguments);return function(t,e){return!e||\"object\"!=((n=e)&&\"undefined\"!=typeof Symbol&&n.constructor===Symbol?\"symbol\":typeof n)&&\"function\"!=typeof e?De(t):e;var n}(this,t)});function o(t,e,n,i){var s;return function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,o),Me(De(s=r.call(this)),\"response\",void 0),Me(De(s),\"responseBody\",void 0),s.message=\"Server responded with \".concat(e.status,\" (\").concat(e.statusText,\") for url \").concat(t,\". Check err.responseBody or network tab in dev tools for more info\"),i.message=s.message,s.responseBody=n,s.response=e,s.stack=\"Stacktrace for outgoing request:\\n\".concat(i.stack,\"\\nStacktrace for incoming response:\\n\").concat(s.stack),s}return o}(Le(Error));function He(t,e,n,r,o,i,s){try{var u=t[i](s),a=u.value}catch(t){return void n(t)}u.done?e(a):Promise.resolve(a).then(r,o)}var Je=\"\".concat(Re,\"/attachment\");function ze(t,e){return Ve(\"\".concat(Je,\"/\").concat(t),{signal:e.signal})}function Ye(t,e,n){return Ve(\"\".concat(Je,\"?patient=\").concat(t,\"&includeEncounterless=\").concat(e),{signal:n.signal})}function Ke(t,e){return qe.apply(this,arguments)}function qe(){var t;return t=function(t,e){var n;return function(t,e){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}(this,(function(r){return(n=new FormData).append(\"fileCaption\",e.fileDescription),n.append(\"patient\",t),e.file?n.append(\"file\",e.file):(n.append(\"file\",new File([\"\"],e.fileName),e.fileName),n.append(\"base64Content\",e.base64Content)),[2,Ve(\"\".concat(Je),{method:\"POST\",body:n})]}))},qe=function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function s(t){He(i,r,o,s,u,\"next\",t)}function u(t){He(i,r,o,s,u,\"throw\",t)}s(void 0)}))},qe.apply(this,arguments)}function Qe(t,e){return Ve(\"\".concat(Je,\"/\").concat(t),{method:\"DELETE\",signal:e.signal})}var Xe=s(254);const Ze=function(t){return void 0===t};function tn(t,e,n,r,o,i,s){try{var u=t[i](s),a=u.value}catch(t){return void n(t)}u.done?e(a):Promise.resolve(a).then(r,o)}function en(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function s(t){tn(i,r,o,s,u,\"next\",t)}function u(t){tn(i,r,o,s,u,\"throw\",t)}s(void 0)}))}}function nn(t,e){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}var rn=(0,W.createGlobalStore)(\"session\",{loaded:!1,session:null}),on=0;function sn(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{includeAuthStatus:!0};return(on<Date.now()-6e4||!rn.getState().loaded)&&cn(),new g((function(e){var n=function(n){var r;n.loaded&&(t.includeAuthStatus?e.next(n.session):e.next(null===(r=n.session)||void 0===r?void 0:r.user))};return n(rn.getState()),rn.subscribe(n)}))}function un(){return(on<Date.now()-6e4||!rn.getState().loaded)&&cn(),rn}function an(t){var e,n,r,o=null!==(r=null==t||null===(e=t.user)||void 0===e||null===(n=e.userProperties)||void 0===n?void 0:n.defaultLocale)&&void 0!==r?r:t.locale,i=document.documentElement.getAttribute(\"lang\");(function(t){if(void 0===t||\"string\"!=typeof t)return!1;try{new Intl.Locale(t)}catch(t){return!1}return!0})(o)&&o!==i&&document.documentElement.setAttribute(\"lang\",o)}function cn(t,e){on=Date.now();var n={};return t&&e&&(n.Authorization=\"Basic \".concat(window.btoa(\"\".concat(t,\":\").concat(e)))),vn(Ve(Ge,{headers:n}))}function ln(){rn.setState({loaded:!0,session:{authenticated:!1,sessionId:\"\"}})}function fn(t,e){return void 0===e?Boolean(t):!Boolean(t)||function(t,e){return\"string\"==typeof t?!Ze(e.privileges.find((function(e){return t===e.display}))):Array.isArray(t)?t.every((function(t){return!Ze(e.privileges.find((function(e){return t===e.display})))})):(Ze(t)||console.error('Could not understand privileges \"'.concat(t,'\"')),!0)}(t,e)||function(t){return!Ze(t.roles.find((function(t){return\"System Developer\"===t.display})))}(e)}function pn(){var t,e;return new Promise((function(n){var r=function(r){r.loaded&&r.session.user&&(t=r.session.user,n(r.session.user),e&&e())};r(rn.getState()),t||(e=rn.subscribe(r))}))}function hn(){return new Promise((function(t,e){sn().subscribe((function(e){t(e.sessionLocation)}),e).unsubscribe()}))}function dn(t,e){return yn.apply(this,arguments)}function yn(){return(yn=en((function(t,e){return nn(this,(function(n){return[2,vn(Ve(Ge,{method:\"POST\",body:{sessionLocation:t},headers:{\"Content-Type\":\"application/json\"},signal:e.signal}))]}))}))).apply(this,arguments)}function bn(t,e,n){return mn.apply(this,arguments)}function mn(){return(mn=en((function(t,e,n){return nn(this,(function(r){switch(r.label){case 0:return n||(n=new AbortController),[4,Ve(\"\".concat(Re,\"/user/\").concat(t),{method:\"POST\",body:{userProperties:e},headers:{\"Content-Type\":\"application/json\"},signal:n.signal})];case 1:return r.sent(),[2,cn()]}}))}))).apply(this,arguments)}function vn(t){return new Promise((function(e,n){t.then((function(t){var r;\"object\"==typeof(null==t?void 0:t.data)?(r={loaded:!0,session:t.data},rn.setState(r),e(r)):(r={loaded:!1,session:null},rn.setState(r),n(r))})).catch((function(t){(0,Xe.reportError)(\"Failed to fetch new session information: \".concat(t));var e={loaded:!1,session:null};rn.setState(e),n(e)}))}))}function wn(){(0,$.defineConfigSchema)(\"@openmrs/esm-api\",{redirectAuthFailure:{enabled:{_type:$.Type.Boolean,_default:!0,_description:\"Whether to redirect logged-out users to `redirectAuthFailure.url`\"},url:{_type:$.Type.String,_default:\"${openmrsSpaBase}/login\",_validators:[$.validators.isUrl]},errors:{_type:$.Type.Array,_default:[401],_elements:{_type:$.Type.Number,_validators:[$.validators.inRange(100,600)]},_description:\"The HTTP error codes for which users will be redirected\"},resolvePromise:{_type:$.Type.Boolean,_default:!1,_description:\"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly.\"}}}),cn()}rn.subscribe((function(t){return t.session&&an(t.session)}));var gn=s(738);function En(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Sn(t,e,n,r,o,i,s){try{var u=t[i](s),a=u.value}catch(t){return void n(t)}u.done?e(a):Promise.resolve(a).then(r,o)}function On(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function s(t){Sn(i,r,o,s,u,\"next\",t)}function u(t){Sn(i,r,o,s,u,\"throw\",t)}s(void 0)}))}}function _n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var r,o,i=[],s=!0,u=!1;try{for(n=n.call(t);!(s=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);s=!0);}catch(t){u=!0,o=t}finally{try{s||null==n.return||n.return()}finally{if(u)throw o}}return i}}(t,e)||function(t,e){if(t){if(\"string\"==typeof t)return En(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(n):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?En(t,e):void 0}}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Pn(t,e){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function Tn(t,e){return An.apply(this,arguments)}function An(){return An=On((function(t,e){var n,r,o,i,s,u=arguments;return Pn(this,(function(a){switch(a.label){case 0:return n=!(u.length>2&&void 0!==u[2])||u[2],t?(r=null,[4,Promise.all([Ve(\"\".concat(Be,\"/Patient/\").concat(t),e).catch((function(t){return r=t})),n?jn(t):Promise.resolve(null)])]):[3,2];case 1:if(o=_n.apply(void 0,[a.sent(),2]),i=o[0],s=o[1],i.ok)return[2,i.data];if(s)return[2,s];if(r)throw r;a.label=2;case 2:return[2,null]}}))})),An.apply(this,arguments)}function jn(t){return xn.apply(this,arguments)}function xn(){return(xn=On((function(t){var e,n,r;return Pn(this,(function(o){switch(o.label){case 0:return[4,(0,gn.getSynchronizationItems)(\"patient-registration\")];case 1:return e=o.sent(),n=e.find((function(e){return e.fhirPatient.id===t})),[2,null!==(r=null==n?void 0:n.fhirPatient)&&void 0!==r?r:null]}}))}))).apply(this,arguments)}var Dn=function(){function t(){return Error.call(this),this.message=\"object unsubscribed\",this.name=\"ObjectUnsubscribedError\",this}return t.prototype=Object.create(Error.prototype),t}(),Nn=function(t){function n(e,n){var r=t.call(this)||this;return r.subject=e,r.subscriber=n,r.closed=!1,r}return e(n,t),n.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,e=t.observers;if(this.subject=null,e&&0!==e.length&&!t.isStopped&&!t.closed){var n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}},n}(h),Un=function(t){function n(e){var n=t.call(this,e)||this;return n.destination=e,n}return e(n,t),n}(b),Mn=function(t){function n(){var e=t.call(this)||this;return e.observers=[],e.closed=!1,e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return e(n,t),n.prototype[y]=function(){return new Un(this)},n.prototype.lift=function(t){var e=new Cn(this,this);return e.operator=t,e},n.prototype.next=function(t){if(this.closed)throw new Dn;if(!this.isStopped)for(var e=this.observers,n=e.length,r=e.slice(),o=0;o<n;o++)r[o].next(t)},n.prototype.error=function(t){if(this.closed)throw new Dn;this.hasError=!0,this.thrownError=t,this.isStopped=!0;for(var e=this.observers,n=e.length,r=e.slice(),o=0;o<n;o++)r[o].error(t);this.observers.length=0},n.prototype.complete=function(){if(this.closed)throw new Dn;this.isStopped=!0;for(var t=this.observers,e=t.length,n=t.slice(),r=0;r<e;r++)n[r].complete();this.observers.length=0},n.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},n.prototype._trySubscribe=function(e){if(this.closed)throw new Dn;return t.prototype._trySubscribe.call(this,e)},n.prototype._subscribe=function(t){if(this.closed)throw new Dn;return this.hasError?(t.error(this.thrownError),h.EMPTY):this.isStopped?(t.complete(),h.EMPTY):(this.observers.push(t),new Nn(this,t))},n.prototype.asObservable=function(){var t=new g;return t.source=this,t},n.create=function(t,e){return new Cn(t,e)},n}(g),Cn=function(t){function n(e,n){var r=t.call(this)||this;return r.destination=e,r.source=n,r}return e(n,t),n.prototype.next=function(t){var e=this.destination;e&&e.next&&e.next(t)},n.prototype.error=function(t){var e=this.destination;e&&e.error&&this.destination.error(t)},n.prototype.complete=function(){var t=this.destination;t&&t.complete&&this.destination.complete()},n.prototype._subscribe=function(t){return this.source?this.source.subscribe(t):h.EMPTY},n}(Mn),kn=function(t){function n(e){var n=t.call(this)||this;return n._value=e,n}return e(n,t),Object.defineProperty(n.prototype,\"value\",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),n.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},n.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new Dn;return this._value},n.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},n}(Mn),Ln=function(){function t(){return Error.call(this),this.message=\"argument out of range\",this.name=\"ArgumentOutOfRangeError\",this}return t.prototype=Object.create(Error.prototype),t}(),In=new g((function(t){return t.complete()}));function Rn(t){return function(e){return 0===t?n?function(t){return new g((function(e){return t.schedule((function(){return e.complete()}))}))}(n):In:e.lift(new Bn(t));var n}}var Bn=function(){function t(t){if(this.total=t,this.total<0)throw new Ln}return t.prototype.call=function(t,e){return e.subscribe(new Gn(t,this.total))},t}(),Gn=function(t){function n(e,n){var r=t.call(this,e)||this;return r.total=n,r.count=0,r}return e(n,t),n.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},n}(b);function $n(t,e){return function(n){if(\"function\"!=typeof t)throw new TypeError(\"argument is not a function. Are you looking for `mapTo()`?\");return n.lift(new Vn(t,e))}}var Vn=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new Wn(t,this.project,this.thisArg))},t}(),Wn=function(t){function n(e,n,r){var o=t.call(this,e)||this;return o.project=n,o.count=0,o.thisArg=r||o,o}return e(n,t),n.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(e)},n}(b),Fn=\"custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))\",Hn=function(){try{return JSON.parse(localStorage.getItem(\"openmrs:visitStoreState\")||\"null\")}catch(t){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function Jn(){return(0,W.getGlobalStore)(\"visit\",Hn)}function zn(t,e){Jn().setState({patientUuid:t,manuallySetVisitUuid:e})}function Yn(t,e,n){var r=null!=n?n:Fn;return We(\"\".concat(Re,\"/visit?patient=\").concat(t,\"&v=\").concat(r),{signal:e.signal,method:\"GET\",headers:{\"Content-type\":\"application/json\"}}).pipe(Rn(1)).pipe($n((function(t){return t})))}function Kn(t,e){return We(\"\".concat(Re,\"/visit\"),{signal:e.signal,method:\"POST\",headers:{\"Content-type\":\"application/json\"},body:t})}function qn(t,e,n){return We(\"\".concat(Re,\"/visit/\").concat(t),{signal:n.signal,method:\"POST\",headers:{\"Content-type\":\"application/json\"},body:e})}Jn().subscribe((function(t){var e;e=t,localStorage.setItem(\"openmrs:visitStoreState\",JSON.stringify(e))}));var Qn,Xn,Zn=new kn(null);function tr(t){return{uuid:t.uuid,display:t.display,name:t.name}}function er(){return We(\"\".concat(Re,\"/visittype\")).pipe($n((function(t){return t.data.results.map(tr)}))).pipe(Rn(1))}function nr(t){return{uuid:t.uuid,display:t.display}}function rr(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return We(\"\".concat(Re,\"/location\")+(t?\"?tag=\"+t:\"\")).pipe($n((function(t){return t.data.results.map(nr)}))).pipe(Rn(1))}!function(t){t.NEWVISIT=\"startVisit\",t.EDITVISIT=\"editVisit\",t.LOADING=\"loadingVisit\"}(Qn||(Qn={})),function(t){t.NOTSTARTED=\"notStarted\",t.ONGOING=\"ongoing\"}(Xn||(Xn={}));var or={\"webservices.rest\":\"2.24.0\",fhir2:\"1.0.0-SNAPSHOT\"}})(),u})())}}}));\n//# sourceMappingURL=openmrs-esm-api.js.map","System.register([\"@openmrs/esm-state\"],(function(e,t){var n={};return{setters:[function(e){n.createGlobalStore=e.createGlobalStore,n.getGlobalStore=e.getGlobalStore}],execute:function(){e((()=>{\"use strict\";var e={685:e=>{e.exports=n}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var o={};return(()=>{function e(e){return null!=e&&\"object\"==typeof e&&!0===e[\"@@functional/placeholder\"]}function t(t){return function n(r){return 0===arguments.length||e(r)?n:t.apply(this,arguments)}}function n(n){return function r(o,a){switch(arguments.length){case 0:return r;case 1:return e(o)?r:t((function(e){return n(o,e)}));default:return e(o)&&e(a)?r:e(o)?t((function(e){return n(e,a)})):e(a)?t((function(e){return n(o,e)})):n(o,a)}}}function a(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function i(e,t,n){for(var r=0,o=n.length;r<o;){if(e(t,n[r]))return!0;r+=1}return!1}function c(e,t){return Object.prototype.hasOwnProperty.call(t,e)}r.r(o),r.d(o,{Type:()=>L,clearConfigErrors:()=>We,configExtensionStore:()=>K,configInternalStore:()=>X,defineConfigSchema:()=>pe,defineExtensionConfigSchema:()=>me,getConfig:()=>Oe,getConfigStore:()=>Q,getExtensionConfig:()=>ne,getExtensionConfigFromStore:()=>re,getExtensionSlotConfig:()=>Y,getExtensionSlotConfigFromStore:()=>ee,getExtensionSlotsConfigStore:()=>V,getExtensionsConfigStore:()=>te,getTranslationOverrides:()=>je,implementerToolsConfigStore:()=>oe,inRange:()=>Ze,isUrl:()=>He,isUrlWithTemplateParameters:()=>Xe,oneOf:()=>Ke,processConfig:()=>we,provide:()=>Se,registerModuleWithConfigSystem:()=>be,registerTranslationNamespace:()=>he,temporaryConfigStore:()=>H,validator:()=>R,validators:()=>Qe});const u=\"function\"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t};var s=Object.prototype.toString,l=function(){return\"[object Arguments]\"===s.call(arguments)?function(e){return\"[object Arguments]\"===s.call(e)}:function(e){return c(\"callee\",e)}}();const f=l;var y=!{toString:null}.propertyIsEnumerable(\"toString\"),d=[\"constructor\",\"valueOf\",\"isPrototypeOf\",\"toString\",\"propertyIsEnumerable\",\"hasOwnProperty\",\"toLocaleString\"],v=function(){return arguments.propertyIsEnumerable(\"length\")}(),g=function(e,t){for(var n=0;n<e.length;){if(e[n]===t)return!0;n+=1}return!1};const p=\"function\"!=typeof Object.keys||v?t((function(e){if(Object(e)!==e)return[];var t,n,r=[],o=v&&f(e);for(t in e)!c(t,e)||o&&\"length\"===t||(r[r.length]=t);if(y)for(n=d.length-1;n>=0;)c(t=d[n],e)&&!g(r,t)&&(r[r.length]=t),n-=1;return r})):t((function(e){return Object(e)!==e?[]:Object.keys(e)})),b=t((function(e){return null===e?\"Null\":void 0===e?\"Undefined\":Object.prototype.toString.call(e).slice(8,-1)}));function h(e,t,n,r){var o=a(e);function c(e,t){return m(e,t,n.slice(),r.slice())}return!i((function(e,t){return!i(c,t,e)}),a(t),o)}function m(e,t,n,r){if(u(e,t))return!0;var o,a,i=b(e);if(i!==b(t))return!1;if(null==e||null==t)return!1;if(\"function\"==typeof e[\"fantasy-land/equals\"]||\"function\"==typeof t[\"fantasy-land/equals\"])return\"function\"==typeof e[\"fantasy-land/equals\"]&&e[\"fantasy-land/equals\"](t)&&\"function\"==typeof t[\"fantasy-land/equals\"]&&t[\"fantasy-land/equals\"](e);if(\"function\"==typeof e.equals||\"function\"==typeof t.equals)return\"function\"==typeof e.equals&&e.equals(t)&&\"function\"==typeof t.equals&&t.equals(e);switch(i){case\"Arguments\":case\"Array\":case\"Object\":if(\"function\"==typeof e.constructor&&\"Promise\"===(o=e.constructor,null==(a=String(o).match(/^function (\\w*)/))?\"\":a[1]))return e===t;break;case\"Boolean\":case\"Number\":case\"String\":if(typeof e!=typeof t||!u(e.valueOf(),t.valueOf()))return!1;break;case\"Date\":if(!u(e.valueOf(),t.valueOf()))return!1;break;case\"Error\":return e.name===t.name&&e.message===t.message;case\"RegExp\":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var s=n.length-1;s>=0;){if(n[s]===e)return r[s]===t;s-=1}switch(i){case\"Map\":return e.size===t.size&&h(e.entries(),t.entries(),n.concat([e]),r.concat([t]));case\"Set\":return e.size===t.size&&h(e.values(),t.values(),n.concat([e]),r.concat([t]));case\"Arguments\":case\"Array\":case\"Object\":case\"Boolean\":case\"Number\":case\"String\":case\"Date\":case\"Error\":case\"RegExp\":case\"Int8Array\":case\"Uint8Array\":case\"Uint8ClampedArray\":case\"Int16Array\":case\"Uint16Array\":case\"Int32Array\":case\"Uint32Array\":case\"Float32Array\":case\"Float64Array\":case\"ArrayBuffer\":break;default:return!1}var l=p(e);if(l.length!==p(t).length)return!1;var f=n.concat([e]),y=r.concat([t]);for(s=l.length-1;s>=0;){var d=l[s];if(!c(d,t)||!m(t[d],e[d],f,y))return!1;s-=1}return!0}const S=n((function(e,t){return m(e,t,[],[])}));function O(r){return function o(a,i,c){switch(arguments.length){case 0:return o;case 1:return e(a)?o:n((function(e,t){return r(a,e,t)}));case 2:return e(a)&&e(i)?o:e(a)?n((function(e,t){return r(e,i,t)})):e(i)?n((function(e,t){return r(a,e,t)})):t((function(e){return r(a,i,e)}));default:return e(a)&&e(i)&&e(c)?o:e(a)&&e(i)?n((function(e,t){return r(e,t,c)})):e(a)&&e(c)?n((function(e,t){return r(e,i,t)})):e(i)&&e(c)?n((function(e,t){return r(a,e,t)})):e(a)?t((function(e){return r(e,i,c)})):e(i)?t((function(e){return r(a,e,c)})):e(c)?t((function(e){return r(a,i,e)})):r(a,i,c)}}}function j(e){return\"[object Object]\"===Object.prototype.toString.call(e)}const w=O((function(e,t,n){var r,o={};for(r in t)c(r,t)&&(o[r]=c(r,n)?e(r,t[r],n[r]):t[r]);for(r in n)c(r,n)&&!c(r,o)&&(o[r]=n[r]);return o})),x=O((function e(t,n,r){return w((function(n,r,o){return j(r)&&j(o)?e(t,r,o):t(n,r,o)}),n,r)})),A=n((function(e,t){return x((function(e,t,n){return n}),e,t)})),_=n((function(e,t){for(var n={},r={},o=0,a=e.length;o<a;)r[e[o]]=1,o+=1;for(var i in t)r.hasOwnProperty(i)||(n[i]=t[i]);return n}));function k(e,t,n,r){var o,a=function(o){for(var a=t.length,i=0;i<a;){if(e===t[i])return n[i];i+=1}for(var c in t[i+1]=e,n[i+1]=o,e)o[c]=r?k(e[c],t,n,!0):e[c];return o};switch(b(e)){case\"Object\":return a({});case\"Array\":return a([]);case\"Date\":return new Date(e.valueOf());case\"RegExp\":return o=e,new RegExp(o.source,(o.global?\"g\":\"\")+(o.ignoreCase?\"i\":\"\")+(o.multiline?\"m\":\"\")+(o.sticky?\"y\":\"\")+(o.unicode?\"u\":\"\"));default:return e}}const P=t((function(e){return null!=e&&\"function\"==typeof e.clone?e.clone():k(e,[],[],!0)})),I=Array.isArray||function(e){return null!=e&&e.length>=0&&\"[object Array]\"===Object.prototype.toString.call(e)},C=t((function(e){return!!I(e)||!!e&&\"object\"==typeof e&&!function(e){return\"[object String]\"===Object.prototype.toString.call(e)}(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1))}));var E=function(){function e(e){this.f=e}return e.prototype[\"@@transducer/init\"]=function(){throw new Error(\"init not implemented on XWrap\")},e.prototype[\"@@transducer/result\"]=function(e){return e},e.prototype[\"@@transducer/step\"]=function(e,t){return this.f(e,t)},e}(),T=n((function(e,t){return function(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,n){return t.apply(this,arguments)};case 3:return function(e,n,r){return t.apply(this,arguments)};case 4:return function(e,n,r,o){return t.apply(this,arguments)};case 5:return function(e,n,r,o,a){return t.apply(this,arguments)};case 6:return function(e,n,r,o,a,i){return t.apply(this,arguments)};case 7:return function(e,n,r,o,a,i,c){return t.apply(this,arguments)};case 8:return function(e,n,r,o,a,i,c,u){return t.apply(this,arguments)};case 9:return function(e,n,r,o,a,i,c,u,s){return t.apply(this,arguments)};case 10:return function(e,n,r,o,a,i,c,u,s,l){return t.apply(this,arguments)};default:throw new Error(\"First argument to _arity must be a non-negative integer no greater than ten\")}}(e.length,(function(){return e.apply(t,arguments)}))}));const U=T;function D(e,t,n){for(var r=n.next();!r.done;){if((t=e[\"@@transducer/step\"](t,r.value))&&t[\"@@transducer/reduced\"]){t=t[\"@@transducer/value\"];break}r=n.next()}return e[\"@@transducer/result\"](t)}function N(e,t,n,r){return e[\"@@transducer/result\"](n[r](U(e[\"@@transducer/step\"],e),t))}var q=\"undefined\"!=typeof Symbol?Symbol.iterator:\"@@iterator\";function M(e,t,n){if(\"function\"==typeof e&&(e=function(e){return new E(e)}(e)),C(n))return function(e,t,n){for(var r=0,o=n.length;r<o;){if((t=e[\"@@transducer/step\"](t,n[r]))&&t[\"@@transducer/reduced\"]){t=t[\"@@transducer/value\"];break}r+=1}return e[\"@@transducer/result\"](t)}(e,t,n);if(\"function\"==typeof n[\"fantasy-land/reduce\"])return N(e,t,n,\"fantasy-land/reduce\");if(null!=n[q])return D(e,t,n[q]());if(\"function\"==typeof n.next)return D(e,t,n);if(\"function\"==typeof n.reduce)return N(e,t,n,\"reduce\");throw new TypeError(\"reduce: list must be array or iterable\")}const G=O(M);var L;function R(e,t){return function(n){if(!e(n))return\"function\"==typeof t?t(n):t}}!function(e){e.Array=\"Array\",e.Boolean=\"Boolean\",e.ConceptUuid=\"ConceptUuid\",e.Number=\"Number\",e.Object=\"Object\",e.String=\"String\",e.UUID=\"UUID\",e.PersonAttributeTypeUuid=\"PersonAttributeTypeUuid\",e.PatientIdentifierTypeUuid=\"PatientIdentifierTypeUuid\"}(L||(L={}));var B=R((function(e){return Array.isArray(e)}),\"must be an array\"),$=R((function(e){return\"boolean\"==typeof e}),\"must be a boolean\"),z=R((function(e){return\"number\"==typeof e}),\"must be a number\"),W=R((function(e){return\"string\"==typeof e}),\"must be a string\"),F=R((function(e){return\"object\"==typeof e&&!Array.isArray(e)&&null!==e}),\"must be an object (not an array or null)\"),J=R((function(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^[0-9a-f]{36}$/i.test(e)}),\"must be a valid UUID or a 36-character hexadecimal string\"),Z=r(685),X=(0,Z.createGlobalStore)(\"config-internal\",{providedConfigs:[],schemas:{},moduleLoaded:{}}),H=(0,Z.createGlobalStore)(\"temporary-config\",{config:function(){try{return JSON.parse(localStorage.getItem(\"openmrs:temporaryConfig\")||\"{}\")}catch(e){return{}}}()});H.subscribe((function(e){var t;t=e.config,localStorage.setItem(\"openmrs:temporaryConfig\",JSON.stringify(t))}));var K=(0,Z.createGlobalStore)(\"config-store-of-extension-state\",{mountedExtensions:[]});function Q(e){return(0,Z.getGlobalStore)(\"config-module-\".concat(e),{config:null,loaded:!1,translationOverridesLoaded:!1})}function V(){return(0,Z.getGlobalStore)(\"config-extension-slots\",{slots:{}})}function Y(e){return ee(V().getState(),e)}function ee(e,t){var n=e.slots[t];return null!=n?n:{loaded:!1,config:{}}}function te(){return(0,Z.getGlobalStore)(\"config-extensions\",{configs:{}})}function ne(e,t){var n=Object.assign({},re(te().getState(),e,t));return n.config=_([\"Display conditions\",\"Translation overrides\"],n.config),n}function re(e,t,n){var r,o=null===(r=e.configs[t])||void 0===r?void 0:r[n];return null!=o?o:{loaded:!1,config:null}}var oe=(0,Z.createGlobalStore)(\"config-implementer-tools\",{config:{}});function ae(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ie(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ce(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);\"function\"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){ie(e,t,n[t])}))}return e}function ue(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function se(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,a=[],i=!0,c=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){c=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(c)throw o}}return a}}(e,t)||fe(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function le(e){return function(e){if(Array.isArray(e))return ae(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||fe(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function fe(e,t){if(e){if(\"string\"==typeof e)return ae(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(n):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ae(e,t):void 0}}function ye(e,t){var n=!0,r=!1,o=void 0;try{for(var a,i=Object.keys(e.schemas)[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var c=a.value,u=Q(c);if(e.moduleLoaded[c]){var s=Ce(c,e,t);u.setState({translationOverridesLoaded:!0,loaded:!0,config:s})}else{var l=Ee(c,e,t);u.setState({translationOverridesLoaded:!0,loaded:!1,config:l})}}}catch(e){r=!0,o=e}finally{try{n||null==i.return||i.return()}finally{if(r)throw o}}}function de(e,t){var n,r,o=(n=Ue(Pe(e,t)),function(e){var t=!0,n=!1,r=void 0;try{for(var o,a=Object.entries(e)[Symbol.iterator]();!(t=(o=a.next()).done);t=!0){var i=se(o.value,2),c=i[0],u=i[1],s=!0,l=!1,f=void 0;try{for(var y,d=Object.entries(u)[Symbol.iterator]();!(s=(y=d.next()).done);s=!0){var v=se(y.value,2),g=v[0];ke(v[1],c,g)}}catch(e){l=!0,f=e}finally{try{s||null==d.return||d.return()}finally{if(l)throw f}}}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}(r=Object.keys(n).reduce((function(e,t){var r,o;return(null===(r=n[t])||void 0===r?void 0:r.extensionSlots)&&(e[t]=null===(o=n[t])||void 0===o?void 0:o.extensionSlots),e}),{})),Object.keys(r).reduce((function(e,t){return ce({},e,r[t])}),{})),a=Object.fromEntries(Object.entries(o).map((function(e){var t=se(e,2);return[t[0],{loaded:!0,config:t[1]}]}))),i=V(),c=i.getState(),u={slots:ce({},c.slots,a)};S(c,u)||i.setState(u)}function ve(e,t){var n=function(e,t){var n=Ae(P(e.schemas)),r=le(e.providedConfigs.map((function(e){return[e.config,e.source]}))).concat([[t.config,\"temporary config\"]]),o=!0,a=!1,i=void 0;try{for(var c,u=r[Symbol.iterator]();!(o=(c=u.next()).done);o=!0){var s=se(c.value,2);n=Ue([n,_e(s[0],s[1])])}}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}return n}(e,t);oe.setState({config:n})}function ge(e,t,n){var r={},o=!0,a=!1,i=void 0;try{for(var c,u=t.mountedExtensions[Symbol.iterator]();!(o=(c=u.next()).done);o=!0){var s=c.value,l=xe(s.slotModuleName,s.extensionModuleName,s.slotName,s.extensionId,e,n);r[s.slotName]=ue(ce({},r[s.slotName]),ie({},s.extensionId,{config:l,loaded:!0}))}}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}te().setState({configs:r})}function pe(e,t){Ie(e,t);var n=A(t,Je);X.setState((function(t){return ue(ce({},t),{schemas:ue(ce({},t.schemas),ie({},e,n)),moduleLoaded:ue(ce({},t.moduleLoaded),ie({},e,!0))})}))}function be(e){var t=X.getState();X.setState({schemas:ue(ce({},t.schemas),ie({},e,Je))})}function he(e){var t=X.getState();X.setState({schemas:ue(ce({},t.schemas),ie({},e,Fe))})}function me(e,t){Ie(e,t);var n=A(t,Je),r=X.getState();r.schemas[e]&&console.error(\"Config schema for extension \".concat(e,\" already exists. If there are multiple extensions with this same name, one will probably crash.\")),X.setState({schemas:ue(ce({},r.schemas),ie({},e,n))})}function Se(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"provided\";X.setState((function(n){return ue(ce({},n),{providedConfigs:le(n.providedConfigs).concat([{source:t,config:e}])})}))}function Oe(e){return new Promise((function(t){var n=function(e){if(e.loaded&&e.config){var n=_([\"Display conditions\",\"Translation overrides\"],e.config);t(n),o&&o()}},r=Q(e);n(r.getState());var o=r.subscribe(n)}))}function je(e){return new Promise((function(t){var n=function(e){if(e.translationOverridesLoaded&&e.config){var n,r=null!==(n=e.config[\"Translation overrides\"])&&void 0!==n?n:{};t(r),o&&o()}},r=Q(e);n(r.getState());var o=r.subscribe(n)}))}function we(e,t,n){De(e,t,n);var r=Le(e,t);return qe(e,r,n),r}function xe(e,t,n,r,o,a){var i,c,u,s,l=function(e){return se(e.split(\"#\"),1)[0]}(r),f=o.schemas[l],y=f?l:t,d=Pe(o,a),v=Te(e,d),g=null!==(s=null==v||null===(i=v.extensionSlots)||void 0===i||null===(c=i[n])||void 0===c||null===(u=c.configure)||void 0===u?void 0:u[r])&&void 0!==s?s:{},p=Ue([Te(y,d),g]),b=null!=f?f:o.schemas[t];De(b,p,y);var h=Le(b,p);return qe(b,h,y),delete h.extensionSlots,h}function Ae(e){return e.hasOwnProperty(\"_default\")?ue(ce({},e),{_value:e._default,_source:\"default\"}):Be(e)?Object.keys(e).reduce((function(t,n){return t[n]=Ae(e[n]),t}),{}):{}}function _e(e,t){return Be(e)?Object.keys(e).reduce((function(n,r){return n[r]=_e(e[r],t),n}),{}):{_value:e,_source:t}}function ke(e,t,n){var r=\"\".concat(t,\".extensionSlots.\").concat(n),o=\"Extension slot config '\".concat(r,\"'\"),a=Object.keys(e).filter((function(e){return![\"add\",\"remove\",\"order\",\"configure\"].includes(e)}));a.length&&ze(r,o+\"' contains invalid keys '\".concat(a.join(\"', '\"),\"'\")),e.add&&(Array.isArray(e.add)&&e.add.every((function(e){return\"string\"==typeof e}))||ze(r,o+\".add' is invalid. Must be an array of strings (extension IDs)\")),e.remove&&(Array.isArray(e.remove)&&e.remove.every((function(e){return\"string\"==typeof e}))||ze(r,o+\".remove' is invalid. Must be an array of strings (extension IDs)\")),e.order&&(Array.isArray(e.order)&&e.order.every((function(e){return\"string\"==typeof e}))||ze(r,o+\".order' is invalid. Must be an array of strings (extension IDs)\")),e.configure&&(Be(e.configure)||ze(r,o+\".configure' is invalid. Must be an object with extension IDs for keys\"))}function Pe(e,t){return le(e.providedConfigs.map((function(e){return e.config}))).concat([t.config])}function Ie(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",r=\"Please verify that you are running the latest version and, if so, alert the maintainer.\",o=!0,a=!1,i=void 0;try{for(var c,u=function(){var o=c.value,a=n+(n&&\".\")+o,i=t[o];if(\"Display conditions\"===a&&console.error(\"\".concat(e,' declares a configuration option called \"Display conditions\"; the \"Display conditions\" option is a reserved name. ').concat(r)),\"Translation overrides\"===a&&console.error(\"\".concat(e,' declares a configuration option called \"Translation overrides\"; the \"Translation overrides\" option is a reserved name. ').concat(r)),!Be(i))return console.error(\"\".concat(e,\" has bad config schema definition for key '\").concat(a,\"'. \").concat(r)),\"continue\";i.hasOwnProperty(\"_default\")||Ie(e,i,a);var u=i._elements;if(Re(u)&&Ie(e,u,a+\"._elements\"),i._validators){var s=!0,l=!1,f=void 0;try{for(var y,d=i._validators[Symbol.iterator]();!(s=(y=d.next()).done);s=!0){var v=y.value;\"function\"!=typeof v&&console.error(\"\".concat(e,\" has invalid validator for key '\").concat(a,\"' \").concat(r,\".\")+\"\\n\\nIf you're the maintainer: validators must be functions that return either \"+\"undefined or an error string. Received \".concat(v,\".\"))}}catch(e){l=!0,f=e}finally{try{s||null==d.return||d.return()}finally{if(l)throw f}}}var g=i._type;g&&!Object.values(L).includes(g)&&console.error(\"\".concat(e,\" has invalid type for key '\").concat(a,\"' \").concat(r,\".\")+\"\\n\\nIf you're the maintainer: the allowed types are \".concat(Object.values(L).join(\", \"),\". \")+\"Received '\".concat(g,\"'\")),Object.keys(i).every((function(e){return[\"_description\",\"_validators\",\"_elements\",\"_type\"].includes(e)}))&&!n.includes(\"._elements\")&&console.error(\"\".concat(e,\" has bad config schema definition for key '\").concat(a,\"'. \").concat(r,\".\")+\"\\n\\nIf you're the maintainer: all config elements must have a default. \"+\"Received \".concat(JSON.stringify(i))),u&&g&&![L.Array,L.Object].includes(g)&&console.error(\"\".concat(e,\" has bad config schema definition for key '\").concat(a,\"'. \").concat(r,\".\")+\"\\n\\nIf you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. \"+\"Received \".concat(JSON.stringify(g)))},s=Object.keys(t).filter((function(e){return!e.startsWith(\"_\")}))[Symbol.iterator]();!(o=(c=s.next()).done);o=!0)u()}catch(e){a=!0,i=e}finally{try{o||null==s.return||s.return()}finally{if(a)throw i}}}function Ce(e,t,n){var r=t.schemas[e],o=Te(e,Pe(t,n));De(r,o,e);var a=Le(r,o);return qe(r,a,e),delete a.extensionSlots,a}function Ee(e,t,n){var r=Te(e,Pe(t,n)),o=Le(Je,r);return qe(Je,o,e),delete o.extensionSlots,o}function Te(e,t){return Ue(t.map((function(t){return t[e]})).filter((function(e){return!!e})))}function Ue(e){return G(A)({},e)}function De(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",r=!0,o=!1,a=void 0;try{for(var i,c=Object.keys(t)[Symbol.iterator]();!(r=(i=c.next()).done);r=!0){var u=i.value,s=t[u],l=n+\".\"+u,f=e[u];e.hasOwnProperty(u)?Ne(f,s,l):\"extensionSlots\"===u&&\"\"!==n||ze(l,\"Unknown config key '\".concat(l,\"' provided. Ignoring.\"))}}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}}function Ne(e,t,n){Me(n,e._type,t),Be(t)?e._type===L.Object?function(e,t,n){if(e._elements){var r=!0,o=!1,a=void 0;try{for(var i,c=Object.keys(t)[Symbol.iterator]();!(r=(i=c.next()).done);r=!0){var u=i.value,s=t[u];De(e._elements,s,\"\".concat(n,\".\").concat(u))}}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}}}(e,t,n):e.hasOwnProperty(\"_default\")||e.hasOwnProperty(\"_type\")||De(e,t,n):e._type===L.Array&&function(e,t,n){if(Re(e._elements))for(var r=0;r<t.length;r++)Ne(e._elements,t[r],\"\".concat(n,\"[\").concat(r,\"]\"));for(var o=0;o<t.length;o++){var a;Me(\"\".concat(n,\"[\").concat(o,\"]\"),null===(a=e._elements)||void 0===a?void 0:a._type,t[o])}}(e,t,n)}function qe(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";if(e)if(t!==e._default&&Ge(n,e._validators,t),Be(t)){var r=!0,o=!1,a=void 0;try{for(var i,c=Object.keys(t)[Symbol.iterator]();!(r=(i=c.next()).done);r=!0){var u=i.value,s=t[u],l=n+\".\"+u,f=e[u];e._type===L.Object&&e._elements?qe(e._elements,s,l):qe(f,s,l)}}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}}else if(Array.isArray(t)&&e._elements)for(var y=0;y<t.length;y++)qe(e._elements,t[y],\"\".concat(n,\"[\").concat(y,\"]\"))}function Me(e,t,n){t&&Ge(e,[{Array:B,Boolean:$,ConceptUuid:J,Number:z,Object:F,String:W,UUID:J,PersonAttributeTypeUuid:J,PatientIdentifierTypeUuid:J}[t]],n)}function Ge(e,t,n){if(t)try{var r=!0,o=!1,a=void 0;try{for(var i,c=t[Symbol.iterator]();!(r=(i=c.next()).done);r=!0){var u=(0,i.value)(n);\"string\"==typeof u&&ze(e,\"object\"==typeof n?\"Invalid configuration for \".concat(e,\": \").concat(u):\"Invalid configuration value \".concat(n,\" for \").concat(e,\": \").concat(u))}}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}}catch(t){console.error('Skipping invalid validator at \"'.concat(e,'\". Encountered error\\n\\t').concat(t))}}ye(X.getState(),H.getState()),X.subscribe((function(e){return ye(e,H.getState())})),H.subscribe((function(e){return ye(X.getState(),e)})),ve(X.getState(),H.getState()),X.subscribe((function(e){return ve(e,H.getState())})),H.subscribe((function(e){return ve(X.getState(),e)})),de(X.getState(),H.getState()),X.subscribe((function(e){return de(e,H.getState())})),H.subscribe((function(e){return de(X.getState(),e)})),ge(X.getState(),K.getState(),H.getState()),X.subscribe((function(e){ge(e,K.getState(),H.getState())})),K.subscribe((function(e){ge(X.getState(),e,H.getState())})),H.subscribe((function(e){ge(X.getState(),K.getState(),e)}));var Le=function(e,t){var n=P(t);if(!e)return n;var r=!0,o=!1,a=void 0;try{for(var i,c=function(){var t=i.value,r=n[t],o=e[t];if(o&&(o.hasOwnProperty(\"_type\")||o.hasOwnProperty(\"_default\"))){n.hasOwnProperty(t)||(n[t]=o._default);var a=o._elements;if(r&&Re(a))if(o._type===L.Array&&Array.isArray(r)){var c=r.map((function(e){return Le(a,e)}));n[t]=c}else if(o._type===L.Object){var u=!0,s=!1,l=void 0;try{for(var f,y=Object.keys(r)[Symbol.iterator]();!(u=(f=y.next()).done);u=!0){var d=f.value;r[d]=Le(a,r[d])}}catch(e){s=!0,l=e}finally{try{u||null==y.return||y.return()}finally{if(s)throw l}}}}else if(Be(o)){var v=null!=r?r:{};Be(v)&&(n[t]=Le(o,v))}},u=Object.keys(e)[Symbol.iterator]();!(r=(i=u.next()).done);r=!0)c()}catch(e){o=!0,a=e}finally{try{r||null==u.return||u.return()}finally{if(o)throw a}}return n};function Re(e){return!!e&&Object.keys(e).filter((function(e){return![\"_default\",\"_validators\"].includes(e)})).length>0}function Be(e){return\"object\"==typeof e&&!Array.isArray(e)&&null!==e}var $e=new Set;function ze(e,t){var n=\"\".concat(e,\":::\").concat(t);$e.has(n)||(console.error(t),$e.add(n))}function We(e){e?$e.forEach((function(t){t.startsWith(e)&&$e.delete(t)})):$e.clear()}var Fe={\"Translation overrides\":{_description:\"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value\",_type:L.Object,_default:{},_validators:[R((function(e){return Object.keys(e).every((function(e){return/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)}))}),(function(e){var t=Object.keys(e).filter((function(e){return!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)}));return\"The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: \".concat(t.join(\", \"),\".\")}))]}},Je=ce({\"Display conditions\":{privileges:{_description:\"The privilege(s) the user must have to use this extension\",_type:L.Array,_default:[]}}},Fe),Ze=function(e,t){return R((function(n){return e<=n&&n<=t}),\"must be between \".concat(e,\" and \").concat(t))},Xe=function(e){var t=e.concat([\"openmrsBase\",\"openmrsSpaBase\"]);return R((function(e){if(!e||\"string\"!=typeof e)return!1;for(var n=/\\${(.*?)}/g,r=n.exec(e);r;){if(!t.includes(r[1]))return!1;r=n.exec(e)}return!0}),\"Should be a URL or path. The allowed template parameters are \"+t.map((function(e){return\"${\"+e+\"}\"})).join(\", \"))},He=Xe([]),Ke=function(e){return R((function(t){return e.includes(t)}),\"Must be one of the following: '\".concat(e.join(\"', '\"),\"'.\"))},Qe={inRange:Ze,isUrl:He,isUrlWithTemplateParameters:Xe,oneOf:Ke}})(),o})())}}}));\n//# sourceMappingURL=openmrs-esm-module-config.js.map","module.exports = __WEBPACK_EXTERNAL_MODULE__254__;","module.exports = __WEBPACK_EXTERNAL_MODULE__45__;","module.exports = __WEBPACK_EXTERNAL_MODULE__513__;","module.exports = __WEBPACK_EXTERNAL_MODULE__740__;","module.exports = __WEBPACK_EXTERNAL_MODULE__685__;","module.exports = __WEBPACK_EXTERNAL_MODULE__901__;","module.exports = __WEBPACK_EXTERNAL_MODULE__688__;","module.exports = __WEBPACK_EXTERNAL_MODULE__954__;","module.exports = __WEBPACK_EXTERNAL_MODULE__493__;","module.exports = __WEBPACK_EXTERNAL_MODULE__792__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/* The svg container is a div that contains all the OpenMRS svgs, with\n * an HTML id that can be referenced with the following code:\n * <svg role=\"img\">\n * <use link:href=\"#the-svg-id\"></use>\n * </svg>\n *\n * This approach is known as \"svg sprites\"\n */\nconst svgContainer = document.createElement('div');\nconst appendContainer = () => {\n document.body.appendChild(svgContainer);\n};\nsvgContainer.id = 'omrs-svgs-container';\nsvgContainer.style.display = 'none';\n\nif (document.readyState === 'complete') {\n appendContainer();\n} else {\n window.addEventListener('load', appendContainer);\n}\n\nexport function addSvg(htmlId: string, svgString: string) {\n const domParser = new DOMParser();\n const dom = domParser.parseFromString(svgString, 'image/svg+xml');\n const svgElement = dom.querySelector('svg');\n\n if (svgElement) {\n svgElement.id = htmlId;\n svgContainer.appendChild(svgElement);\n }\n}\n","import { Type, validators } from '@openmrs/esm-config';\n\nexport interface StyleguideConfigObject {\n 'Brand color #1': string;\n 'Brand color #2': string;\n 'Brand color #3': string;\n patientPhotoConceptUuid: string;\n preferredCalendar: {\n [key: string]: string;\n };\n}\n\nexport const esmStyleGuideSchema = {\n 'Brand color #1': {\n _default: '#005d5d',\n _type: Type.String,\n },\n 'Brand color #2': {\n _default: '#004144',\n _type: Type.String,\n },\n 'Brand color #3': {\n _default: '#007d79',\n _type: Type.String,\n },\n patientPhotoConceptUuid: {\n _type: Type.ConceptUuid,\n _default: '736e8771-e501-4615-bfa7-570c03f4bef5',\n _description:\n \"Used to look up the patient photo, which is stored as an attachment obs. Set to `null` in order to disable the feature and use only generated avatars. To remove the avatars entirely, use extension configuration's `remove` feature.\",\n },\n preferredCalendar: {\n _type: Type.Object,\n _description:\n \"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.\",\n _default: {\n am: 'ethiopic',\n },\n _elements: {\n _validators: [\n validators.oneOf([\n 'buddhist',\n 'chinese',\n 'coptic',\n 'dangi',\n 'ethioaa',\n 'ethiopic',\n 'gregory',\n 'hebrew',\n 'indian',\n 'islamic',\n 'islamic-umalqura',\n 'islamic-tbla',\n 'islamic-civil',\n 'islamic-rgsa',\n 'iso8601',\n 'japanese',\n 'persian',\n 'roc',\n 'islamicc',\n ]),\n ],\n },\n },\n};\n","export const Breakpoint = {\n PHONE_MIN: 0,\n PHONE_MAX: 600,\n TABLET_MIN: 601,\n TABLET_MAX: 1023,\n SMALL_DESKTOP_MIN: 1024,\n SMALL_DESKTOP_MAX: 1439,\n LARGE_DESKTOP_MIN: 1440,\n LARGE_DESKTOP_MAX: Number.MAX_SAFE_INTEGER,\n} as const;\n\nfunction setBodyCssClasses() {\n document.body.classList.toggle('omrs-breakpoint-lt-tablet', window.innerWidth < Breakpoint.TABLET_MIN);\n document.body.classList.toggle('omrs-breakpoint-gt-phone', window.innerWidth > Breakpoint.PHONE_MAX);\n document.body.classList.toggle('omrs-breakpoint-gt-tablet', window.innerWidth > Breakpoint.TABLET_MAX);\n document.body.classList.toggle('omrs-breakpoint-lt-desktop', window.innerWidth < Breakpoint.SMALL_DESKTOP_MIN);\n document.body.classList.toggle('omrs-breakpoint-lt-small-desktop', window.innerWidth < Breakpoint.SMALL_DESKTOP_MIN);\n document.body.classList.toggle('omrs-breakpoint-lt-large-desktop', window.innerWidth < Breakpoint.LARGE_DESKTOP_MIN);\n document.body.classList.toggle('omrs-breakpoint-gt-small-desktop', window.innerWidth > Breakpoint.SMALL_DESKTOP_MAX);\n}\n\nexport function integrateBreakpoints() {\n window.addEventListener('resize', setBodyCssClasses);\n setBodyCssClasses();\n}\n","/**\n * Copyright IBM Corp. 2015, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar enabled$1 = {};\ntry {\n if (process.env.CARBON_ENABLE_CSS_CUSTOM_PROPERTIES) {\n if (process.env.CARBON_ENABLE_CSS_CUSTOM_PROPERTIES === 'true') {\n enabled$1.enableCssCustomProperties = true;\n } else {\n enabled$1.enableCssCustomProperties = false;\n }\n } else {\n enabled$1.enableCssCustomProperties = false;\n }\n if (process.env.CARBON_ENABLE_USE_CONTROLLED_STATE_WITH_VALUE) {\n if (process.env.CARBON_ENABLE_USE_CONTROLLED_STATE_WITH_VALUE === 'true') {\n enabled$1.enableUseControlledStateWithValue = true;\n } else {\n enabled$1.enableUseControlledStateWithValue = false;\n }\n } else {\n enabled$1.enableUseControlledStateWithValue = false;\n }\n if (process.env.CARBON_ENABLE_CSS_GRID) {\n if (process.env.CARBON_ENABLE_CSS_GRID === 'true') {\n enabled$1.enableCssGrid = true;\n } else {\n enabled$1.enableCssGrid = false;\n }\n } else {\n enabled$1.enableCssGrid = false;\n }\n if (process.env.CARBON_ENABLE_V11_RELEASE) {\n if (process.env.CARBON_ENABLE_V11_RELEASE === 'true') {\n enabled$1.enableV11Release = true;\n } else {\n enabled$1.enableV11Release = false;\n }\n } else {\n enabled$1.enableV11Release = true;\n }\n if (process.env.CARBON_ENABLE_EXPERIMENTAL_TILE_CONTRAST) {\n if (process.env.CARBON_ENABLE_EXPERIMENTAL_TILE_CONTRAST === 'true') {\n enabled$1.enableExperimentalTileContrast = true;\n } else {\n enabled$1.enableExperimentalTileContrast = false;\n }\n } else {\n enabled$1.enableExperimentalTileContrast = false;\n }\n if (process.env.CARBON_ENABLE_V12_TILE_DEFAULT_ICONS) {\n if (process.env.CARBON_ENABLE_V12_TILE_DEFAULT_ICONS === 'true') {\n enabled$1.enableV12TileDefaultIcons = true;\n } else {\n enabled$1.enableV12TileDefaultIcons = false;\n }\n } else {\n enabled$1.enableV12TileDefaultIcons = false;\n }\n if (process.env.CARBON_ENABLE_V12_OVERFLOWMENU) {\n if (process.env.CARBON_ENABLE_V12_OVERFLOWMENU === 'true') {\n enabled$1.enableV12Overflowmenu = true;\n } else {\n enabled$1.enableV12Overflowmenu = false;\n }\n } else {\n enabled$1.enableV12Overflowmenu = false;\n }\n} catch (error) {\n enabled$1.enableCssCustomProperties = false;\n enabled$1.enableUseControlledStateWithValue = false;\n enabled$1.enableCssGrid = false;\n enabled$1.enableV11Release = true;\n enabled$1.enableExperimentalTileContrast = false;\n enabled$1.enableV12TileDefaultIcons = false;\n enabled$1.enableV12Overflowmenu = false;\n}\nvar featureFlagInfo = [{\n name: \"enable-css-custom-properties\",\n description: \"Describe what the flag does\",\n enabled: enabled$1.enableCssCustomProperties\n}, {\n name: \"enable-use-controlled-state-with-value\",\n description: \"Enable components to be created in either a controlled or uncontrolled mode\\n\",\n enabled: enabled$1.enableUseControlledStateWithValue\n}, {\n name: \"enable-css-grid\",\n description: \"Enable CSS Grid Layout in the Grid and Column React components\\n\",\n enabled: enabled$1.enableCssGrid\n}, {\n name: \"enable-v11-release\",\n description: \"Enable the features and functionality for the v11 Release\\n\",\n enabled: enabled$1.enableV11Release\n}, {\n name: \"enable-experimental-tile-contrast\",\n description: \"Enable the experimental tile improved contrast styles\\n\",\n enabled: enabled$1.enableExperimentalTileContrast\n}, {\n name: \"enable-v12-tile-default-icons\",\n description: \"Enable rendering of default icons in the tile components\\n\",\n enabled: enabled$1.enableV12TileDefaultIcons\n}, {\n name: \"enable-v12-overflowmenu\",\n description: \"Enable the use of the v12 OverflowMenu leveraging the Menu subcomponents\\n\",\n enabled: enabled$1.enableV12Overflowmenu\n}];\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function () {};\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\n/**\n * Copyright IBM Corp. 2015, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar FeatureFlagScope = /*#__PURE__*/function () {\n function FeatureFlagScope(flags) {\n var _this = this;\n _classCallCheck(this, FeatureFlagScope);\n this.flags = new Map();\n if (flags) {\n Object.keys(flags).forEach(function (key) {\n _this.flags.set(key, flags[key]);\n });\n }\n }\n\n /**\n * Check to see if a flag exists\n * @param {string} name\n */\n _createClass(FeatureFlagScope, [{\n key: \"checkForFlag\",\n value: function checkForFlag(name) {\n if (!this.flags.has(name)) {\n throw new Error(\"Unable to find a feature flag with the name: `\".concat(name, \"`\"));\n }\n }\n\n /**\n * Add a feature flag\n * @param {string} name\n * @param {boolean} enabled\n */\n }, {\n key: \"add\",\n value: function add(name, enabled) {\n if (this.flags.has(name)) {\n throw new Error(\"The feature flag: \".concat(name, \" already exists\"));\n }\n this.flags.set(name, enabled);\n }\n\n /**\n * Enable a feature flag\n * @param {string} name\n */\n }, {\n key: \"enable\",\n value: function enable(name) {\n this.checkForFlag(name);\n this.flags.set(name, true);\n }\n\n /**\n * Disable a feature flag\n * @param {string} name\n */\n }, {\n key: \"disable\",\n value: function disable(name) {\n this.checkForFlag(name);\n this.flags.set(name, false);\n }\n\n /**\n * Merge the given feature flags with the current set of feature flags.\n * Duplicate keys will be set to the value in the given feature flags.\n * @param {object} flags\n */\n }, {\n key: \"merge\",\n value: function merge(flags) {\n var _this2 = this;\n Object.keys(flags).forEach(function (key) {\n _this2.flags.set(key, flags[key]);\n });\n }\n\n /**\n * @param {FeatureFlagScope} scope\n */\n }, {\n key: \"mergeWithScope\",\n value: function mergeWithScope(scope) {\n var _iterator = _createForOfIteratorHelper(scope.flags),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n value = _step$value[1];\n if (this.flags.has(key)) {\n continue;\n }\n this.flags.set(key, value);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n /**\n * Check if a feature flag is enabled\n * @param {string} name\n * @returns {boolean}\n */\n }, {\n key: \"enabled\",\n value: function enabled(name) {\n this.checkForFlag(name);\n return this.flags.get(name);\n }\n }]);\n return FeatureFlagScope;\n}();\n\nvar FeatureFlags = createScope();\nfor (var i = 0; i < featureFlagInfo.length; i++) {\n var featureFlag = featureFlagInfo[i];\n FeatureFlags.add(featureFlag.name, featureFlag.enabled);\n}\nfunction createScope(flags) {\n return new FeatureFlagScope(flags);\n}\nfunction add() {\n return FeatureFlags.add.apply(FeatureFlags, arguments);\n}\nfunction enable() {\n return FeatureFlags.enable.apply(FeatureFlags, arguments);\n}\nfunction disable() {\n return FeatureFlags.disable.apply(FeatureFlags, arguments);\n}\nfunction enabled() {\n return FeatureFlags.enabled.apply(FeatureFlags, arguments);\n}\nfunction merge() {\n return FeatureFlags.merge.apply(FeatureFlags, arguments);\n}\n\nexport { FeatureFlags, add, createScope, disable, enable, enabled, merge };\n","/* single-spa@6.0.1 - ES2015 - prod */\nvar t=Object.freeze({__proto__:null,get start(){return It},get ensureJQuerySupport(){return ft},get setBootstrapMaxTime(){return K},get setMountMaxTime(){return H},get setUnmountMaxTime(){return J},get setUnloadMaxTime(){return Q},get registerApplication(){return Tt},get unregisterApplication(){return At},get getMountedApps(){return Et},get getAppStatus(){return Pt},get unloadApplication(){return Nt},get checkActivityFunctions(){return bt},get getAppNames(){return vt},get pathToActiveWhen(){return Dt},get navigateToUrl(){return tt},get patchHistoryApi(){return at},get triggerAppChange(){return $t},get addErrorHandler(){return i},get removeErrorHandler(){return s},get mountRootParcel(){return G},get NOT_LOADED(){return c},get LOADING_SOURCE_CODE(){return l},get NOT_BOOTSTRAPPED(){return f},get BOOTSTRAPPING(){return p},get NOT_MOUNTED(){return h},get MOUNTING(){return m},get UPDATING(){return w},get LOAD_ERROR(){return E},get MOUNTED(){return d},get UNLOADING(){return y},get UNMOUNTING(){return g},get SKIP_BECAUSE_BROKEN(){return v}}),e=(\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{}).CustomEvent,n=function(){try{var t=new e(\"cat\",{detail:{foo:\"bar\"}});return\"cat\"===t.type&&\"bar\"===t.detail.foo}catch(t){}return!1}()?e:\"undefined\"!=typeof document&&\"function\"==typeof document.createEvent?function(t,e){var n=document.createEvent(\"CustomEvent\");return e?n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail):n.initCustomEvent(t,!1,!1,void 0),n}:function(t,e){var n=document.createEventObject();return n.type=t,e?(n.bubbles=Boolean(e.bubbles),n.cancelable=Boolean(e.cancelable),n.detail=e.detail):(n.bubbles=!1,n.cancelable=!1,n.detail=void 0),n};let r=[];function o(t,e,n){const o=a(t,e,n);r.length?r.forEach((t=>t(o))):setTimeout((()=>{throw o}))}function i(t){if(\"function\"!=typeof t)throw Error(u(28,!1));r.push(t)}function s(t){if(\"function\"!=typeof t)throw Error(u(29,!1));let e=!1;return r=r.filter((n=>{const r=n===t;return e=e||r,!r})),e}function u(t,e,...n){return`single-spa minified message #${t}: ${e?e+\" \":\"\"}See https://single-spa.js.org/error/?code=${t}${n.length?`&arg=${n.join(\"&arg=\")}`:\"\"}`}function a(t,e,n){const r=`${A(e)} '${T(e)}' died in status ${e.status}: `;let o;if(t instanceof Error){try{t.message=r+t.message}catch(t){}o=t}else{console.warn(u(30,!1,e.status,T(e)));try{o=Error(r+JSON.stringify(t))}catch(e){o=t}}return o.appOrParcelName=T(e),e.status=n,o}const c=\"NOT_LOADED\",l=\"LOADING_SOURCE_CODE\",f=\"NOT_BOOTSTRAPPED\",p=\"BOOTSTRAPPING\",h=\"NOT_MOUNTED\",m=\"MOUNTING\",d=\"MOUNTED\",w=\"UPDATING\",g=\"UNMOUNTING\",y=\"UNLOADING\",E=\"LOAD_ERROR\",v=\"SKIP_BECAUSE_BROKEN\";function P(t){return t.status===d}function O(t){try{return t.activeWhen(window.location)}catch(e){return o(e,t,v),!1}}function T(t){return t.name}function b(t){return Boolean(t.unmountThisParcel)}function A(t){return b(t)?\"parcel\":\"application\"}function N(){for(let t=arguments.length-1;t>0;t--)for(let e in arguments[t])\"__proto__\"!==e&&(arguments[t-1][e]=arguments[t][e]);return arguments[0]}function S(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return t[n];return null}function _(t){return t&&(\"function\"==typeof t||(e=t,Array.isArray(e)&&!S(e,(t=>\"function\"!=typeof t))));var e}function D(t,e){let n=t[e]||[];n=Array.isArray(n)?n:[n],0===n.length&&(n=[()=>Promise.resolve()]);const r=A(t),o=T(t);return function(t){return n.reduce(((n,i,s)=>n.then((()=>{const n=i(t);return U(n)?n:Promise.reject(u(15,!1,r,o,e,s))}))),Promise.resolve())}}function U(t){return t&&\"function\"==typeof t.then&&\"function\"==typeof t.catch}let M=[];function j(t,e){return Promise.resolve().then((()=>t.status!==f?t:(t.status=p,t.bootstrap?V(t,\"bootstrap\").then(n).catch((n=>{if(e)throw a(n,t,v);return o(n,t,v),t})):Promise.resolve().then(n))));function n(){return t.status=h,t}}function $(t,e){return Promise.resolve().then((()=>{if(t.status!==d)return t;t.status=g;const n=Object.keys(t.parcels).map((e=>t.parcels[e].unmountThisParcel()));return Promise.all(n).then(r,(n=>r().then((()=>{const r=Error(n.message);if(e)throw a(r,t,v);o(r,t,v)})))).then((()=>t));function r(){return V(t,\"unmount\").then((()=>{t.status=h}),(n=>{if(e)throw a(n,t,v);o(n,t,v)}))}}))}let L=!1,R=!1;function x(t,e){return Promise.resolve().then((()=>t.status!==h?t:(L||(window.dispatchEvent(new n(\"single-spa:before-first-mount\")),L=!0),t.status=m,V(t,\"mount\").then((()=>(t.status=d,R||(window.dispatchEvent(new n(\"single-spa:first-mount\")),R=!0),t))).catch((n=>{return t.status=d,$(t,!0).then(r,r);function r(){if(e)throw a(n,t,v);return o(n,t,v),t}})))))}let I=0;const B={parcels:{}};function G(){return W.apply(B,arguments)}function W(t,e){const n=this;if(!t||\"object\"!=typeof t&&\"function\"!=typeof t)throw Error(u(2,!1));if(t.name&&\"string\"!=typeof t.name)throw Error(u(3,!1,typeof t.name));const r=I++;let o=t.name||`parcel-${r}`;if(\"object\"!=typeof e)throw Error(u(4,!1,o,typeof e));if(!e.domElement)throw Error(u(5,!1,o));const i=\"function\"==typeof t,s=i?t:()=>Promise.resolve(t),c={id:r,parcels:{},status:i?l:f,customProps:e,parentName:T(n),unmountThisParcel:()=>y.then((()=>{if(c.status!==d)throw Error(u(6,!1,o,c.status));return $(c,!0)})).then((t=>(c.parentName&&delete n.parcels[c.id],t))).then((t=>(E(t),t))).catch((t=>{throw c.status=v,P(t),t}))};let p;n.parcels[r]=c;let m=s();if(!m||\"function\"!=typeof m.then)throw Error(u(7,!1));m=m.then((t=>{if(!t)throw Error(u(8,!1));if(o=t.name||`parcel-${r}`,Object.prototype.hasOwnProperty.call(t,\"bootstrap\")&&!_(t.bootstrap))throw Error(u(9,!1,o));if(!_(t.mount))throw Error(u(10,!1,o));if(!_(t.unmount))throw Error(u(11,!1,o));if(t.update&&!_(t.update))throw Error(u(12,!1,o));const e=D(t,\"bootstrap\"),n=D(t,\"mount\"),i=D(t,\"unmount\");c.status=f,c.name=o,c.bootstrap=e,c.mount=n,c.unmount=i,c.timeouts=q(t.timeouts),t.update&&(c.update=D(t,\"update\"),p.update=function(t){return c.customProps=t,C((e=c,Promise.resolve().then((()=>{if(e.status!==d)throw Error(u(32,!1,T(e)));return e.status=w,V(e,\"update\").then((()=>(e.status=d,e))).catch((t=>{throw a(t,e,v)}))}))));var e})}));const g=m.then((()=>j(c,!0))),y=g.then((()=>x(c,!0)));let E,P;const O=new Promise(((t,e)=>{E=t,P=e}));return p={mount:()=>C(Promise.resolve().then((()=>{if(c.status!==h)throw Error(u(13,!1,o,c.status));return n.parcels[r]=c,x(c)}))),unmount:()=>C(c.unmountThisParcel()),getStatus:()=>c.status,loadPromise:C(m),bootstrapPromise:C(g),mountPromise:C(y),unmountPromise:C(O)},p}function C(t){return t.then((()=>null))}function k(e){const n=T(e);let r=\"function\"==typeof e.customProps?e.customProps(n,window.location):e.customProps;(\"object\"!=typeof r||null===r||Array.isArray(r))&&(r={},console.warn(u(40,!1),n,r));const o=N({},r,{name:n,mountParcel:W.bind(e),singleSpa:t});return b(e)&&(o.unmountSelf=e.unmountThisParcel),o}const F={bootstrap:{millis:4e3,dieOnTimeout:!1,warningMillis:1e3},mount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unmount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unload:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},update:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3}};function K(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(16,!1));F.bootstrap={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function H(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(17,!1));F.mount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function J(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(18,!1));F.unmount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function Q(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(19,!1));F.unload={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function V(t,e){const n=t.timeouts[e],r=n.warningMillis,o=A(t);return new Promise(((i,s)=>{let a=!1,c=!1;t[e](k(t)).then((t=>{a=!0,i(t)})).catch((t=>{a=!0,s(t)})),setTimeout((()=>f(1)),r),setTimeout((()=>f(!0)),n.millis);const l=u(31,!1,e,o,T(t),n.millis);function f(t){if(!a)if(!0===t)c=!0,n.dieOnTimeout?s(Error(l)):console.error(l);else if(!c){const e=t,o=e*r;console.warn(l),o+r<n.millis&&setTimeout((()=>f(e+1)),r)}}}))}function q(t){const e={};for(let n in F)e[n]=N({},F[n],t&&t[n]||{});return e}function z(t){return Promise.resolve().then((()=>{if(t.loadPromise)return t.loadPromise;if(t.status!==c&&t.status!==E)return t;let e,n;return t.status=l,t.loadPromise=Promise.resolve().then((()=>{const r=t.loadApp(k(t));if(!U(r))throw n=!0,Error(u(33,!1,T(t)));return r.then((n=>{let r;t.loadErrorTime=null,e=n,\"object\"!=typeof e&&(r=34),Object.prototype.hasOwnProperty.call(e,\"bootstrap\")&&!_(e.bootstrap)&&(r=35),_(e.mount)||(r=36),_(e.unmount)||(r=37);const i=A(e);if(r){let n;try{n=JSON.stringify(e)}catch(t){}return console.error(u(r,!1,i,T(t),n),e),o(void 0,t,v),t}return e.devtools&&e.devtools.overlays&&(t.devtools.overlays=N({},t.devtools.overlays,e.devtools.overlays)),t.status=f,t.bootstrap=D(e,\"bootstrap\"),t.mount=D(e,\"mount\"),t.unmount=D(e,\"unmount\"),t.unload=D(e,\"unload\"),t.timeouts=q(e.timeouts),delete t.loadPromise,t}))})).catch((e=>{let r;return delete t.loadPromise,n?r=v:(r=E,t.loadErrorTime=(new Date).getTime()),o(e,t,r),t}))}))}const X=\"undefined\"!=typeof window,Y={hashchange:[],popstate:[]},Z=[\"hashchange\",\"popstate\"];function tt(t){let e;if(\"string\"==typeof t)e=t;else if(this&&this.href)e=this.href;else{if(!(t&&t.currentTarget&&t.currentTarget.href&&t.preventDefault))throw Error(u(14,!1));e=t.currentTarget.href,t.preventDefault()}const n=ct(window.location.href),r=ct(e);0===e.indexOf(\"#\")?window.location.hash=r.hash:n.host!==r.host&&r.host?window.location.href=e:r.pathname===n.pathname&&r.search===n.search?window.location.hash=r.hash:window.history.pushState(null,null,e)}function et(t){if(t){const e=t[0].type;Z.indexOf(e)>=0&&Y[e].forEach((e=>{try{e.apply(this,t)}catch(t){setTimeout((()=>{throw t}))}}))}}let nt;function rt(){Lt([],arguments)}function ot(t,e){return function(){const n=window.location.href,r=t.apply(this,arguments),o=window.location.href;return nt&&n===o||window.dispatchEvent(it(window.history.state,e)),r}}function it(t,e){let n;try{n=new PopStateEvent(\"popstate\",{state:t})}catch(e){n=document.createEvent(\"PopStateEvent\"),n.initPopStateEvent(\"popstate\",!1,!1,t)}return n.singleSpa=!0,n.singleSpaTrigger=e,n}let st=null,ut=!1;function at(t){if(ut)throw Error(u(43,!1));nt=!t||!t.hasOwnProperty(\"urlRerouteOnly\")||t.urlRerouteOnly,ut=!0,st=window.history.replaceState,window.addEventListener(\"hashchange\",rt),window.addEventListener(\"popstate\",rt);const e=window.addEventListener,n=window.removeEventListener;window.addEventListener=function(t,n){if(!(\"function\"==typeof n&&Z.indexOf(t)>=0)||S(Y[t],(t=>t===n)))return e.apply(this,arguments);Y[t].push(n)},window.removeEventListener=function(t,e){if(!(\"function\"==typeof e&&Z.indexOf(t)>=0))return n.apply(this,arguments);Y[t]=Y[t].filter((t=>t!==e))},window.history.pushState=ot(window.history.pushState,\"pushState\"),window.history.replaceState=ot(st,\"replaceState\")}function ct(t){const e=document.createElement(\"a\");return e.href=t,e}X&&(window.singleSpaNavigate?console.warn(u(41,!1)):window.singleSpaNavigate=tt);let lt=!1;function ft(t=window.jQuery){if(t||window.$&&window.$.fn&&window.$.fn.jquery&&(t=window.$),t&&!lt){const e=t.fn.on,n=t.fn.off;t.fn.on=function(t,n){return pt.call(this,e,window.addEventListener,t,n,arguments)},t.fn.off=function(t,e){return pt.call(this,n,window.removeEventListener,t,e,arguments)},lt=!0}}function pt(t,e,n,r,o){return\"string\"!=typeof n?t.apply(this,o):(n.split(/\\s+/).forEach((t=>{Z.indexOf(t)>=0&&(e(t,r),n=n.replace(t,\"\"))})),\"\"===n.trim()?this:t.apply(this,o))}const ht={};function mt(t){return Promise.resolve().then((()=>{const e=ht[T(t)];if(!e)return t;if(t.status===c)return dt(t,e),t;if(t.status===y)return e.promise.then((()=>t));if(t.status!==h&&t.status!==E)return t;const n=t.status===E?Promise.resolve():V(t,\"unload\");return t.status=y,n.then((()=>(dt(t,e),t))).catch((n=>(function(t,e,n){delete ht[T(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,o(n,t,v),e.reject(n)}(t,e,n),t)))}))}function dt(t,e){delete ht[T(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,t.status=c,e.resolve()}function wt(t,e,n,r){ht[T(t)]={app:t,resolve:n,reject:r},Object.defineProperty(ht[T(t)],\"promise\",{get:e})}function gt(t){return ht[t]}const yt=[];function Et(){return yt.filter(P).map(T)}function vt(){return yt.map(T)}function Pt(t){const e=S(yt,(e=>T(e)===t));return e?e.status:null}let Ot=!1;function Tt(t,e,n,r){const o=function(t,e,n,r){const o={name:null,loadApp:null,activeWhen:null,customProps:null};return\"object\"==typeof t?(function(t){if(Array.isArray(t)||null===t)throw Error(u(39,!1));const e=[\"name\",\"app\",\"activeWhen\",\"customProps\"],n=Object.keys(t).reduce(((t,n)=>e.indexOf(n)>=0?t:t.concat(n)),[]);if(0!==n.length)throw Error(u(38,!1,e.join(\", \"),n.join(\", \")));if(\"string\"!=typeof t.name||0===t.name.length)throw Error(u(20,!1));if(\"object\"!=typeof t.app&&\"function\"!=typeof t.app)throw Error(u(20,!1));const r=t=>\"string\"==typeof t||\"function\"==typeof t;if(!(r(t.activeWhen)||Array.isArray(t.activeWhen)&&t.activeWhen.every(r)))throw Error(u(24,!1));if(!_t(t.customProps))throw Error(u(22,!1))}(t),o.name=t.name,o.loadApp=t.app,o.activeWhen=t.activeWhen,o.customProps=t.customProps):(function(t,e,n,r){if(\"string\"!=typeof t||0===t.length)throw Error(u(20,!1));if(!e)throw Error(u(23,!1));if(\"function\"!=typeof n)throw Error(u(24,!1));if(!_t(r))throw Error(u(22,!1))}(t,e,n,r),o.name=t,o.loadApp=e,o.activeWhen=n,o.customProps=r),o.loadApp=\"function\"!=typeof(i=o.loadApp)?()=>Promise.resolve(i):i,o.customProps=function(t){return t||{}}(o.customProps),o.activeWhen=function(t){let e=Array.isArray(t)?t:[t];return e=e.map((t=>\"function\"==typeof t?t:Dt(t))),t=>e.some((e=>e(t)))}(o.activeWhen),o;var i}(t,e,n,r);if(Bt()||Ot||(Ot=!0,setTimeout((()=>{Bt()||console.warn(u(1,!1))}),5e3)),-1!==vt().indexOf(o.name))throw Error(u(21,!1,o.name));yt.push(N({loadErrorTime:null,status:c,parcels:{},devtools:{overlays:{options:{},selectors:[]}}},o)),X&&(ft(),Lt())}function bt(t=window.location){return yt.filter((e=>e.activeWhen(t))).map(T)}function At(t){if(0===yt.filter((e=>T(e)===t)).length)throw Error(u(25,!1,t));return(X?Nt(t,{waitForUnmount:!1}):Promise.resolve()).then((()=>{const e=yt.map(T).indexOf(t);yt.splice(e,1)}))}function Nt(t,e={waitForUnmount:!1}){if(\"string\"!=typeof t)throw Error(u(26,!1));const n=S(yt,(e=>T(e)===t));if(!n)throw Error(u(27,!1,t));const r=gt(T(n));if(e&&e.waitForUnmount){if(r)return r.promise;{const t=new Promise(((e,r)=>{wt(n,(()=>t),e,r)}));return t}}{let t;return r?(t=r.promise,St(n,r.resolve,r.reject)):t=new Promise(((e,r)=>{wt(n,(()=>t),e,r),St(n,e,r)})),t}}function St(t,e,n){Promise.resolve().then((()=>{if(S(bt(),(e=>e===T(t))))return $t()})).then((()=>$(t).then(mt).then((()=>{e(),setTimeout((()=>{Lt()}))})))).catch(n)}function _t(t){return!t||\"function\"==typeof t||\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Dt(t,e){const n=function(t,e){let n=0,r=!1,o=\"^\";\"/\"!==t[0]&&(t=\"/\"+t);for(let e=0;e<t.length;e++){const n=t[e],o=r&&\"/\"===n;(!r&&\":\"===n||o)&&i(e)}return i(t.length),new RegExp(o,\"i\");function i(i){const s=t.slice(n,i).replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\");if(o+=r?\"[^/]+/?\":s,i===t.length)if(r)e&&(o+=\"$\");else{const t=e?\"\":\".*\";o=\"/\"===o.charAt(o.length-1)?`${o}${t}$`:`${o}(/${t})?(#.*)?$`}r=!r,n=i}}(t,e);return t=>{let e=t.origin;e||(e=`${t.protocol}//${t.host}`);const r=t.href.replace(e,\"\").replace(t.search,\"\").split(\"?\")[0];return n.test(r)}}let Ut=!1,Mt=[],jt=X&&window.location.href;function $t(){return Lt()}function Lt(t=[],e,r=!1){if(Ut)return new Promise(((t,n)=>{Mt.push({resolve:t,reject:n,eventArguments:e})}));const{appsToUnload:o,appsToUnmount:i,appsToLoad:s,appsToMount:a}=function(){const t=[],e=[],n=[],r=[],o=(new Date).getTime();return yt.forEach((i=>{const s=i.status!==v&&O(i);switch(i.status){case E:s&&o-i.loadErrorTime>=200&&n.push(i);break;case c:case l:s&&n.push(i);break;case f:case h:!s&&gt(T(i))?t.push(i):s&&r.push(i);break;case d:s||e.push(i)}})),{appsToUnload:t,appsToUnmount:e,appsToLoad:n,appsToMount:r}}();let p,m=[],w=jt,g=jt=window.location.href;return Bt()?(Ut=!0,p=o.concat(s,i,a),Promise.resolve().then((()=>(S(0===p.length?\"before-no-app-change\":\"before-app-change\",A(!0)),S(\"before-routing-event\",A(!0,{cancelNavigation:y})),Promise.all(m).then((n=>{if(n.some((t=>t)))return st.call(window.history,history.state,\"\",w.substring(location.origin.length)),jt=location.href,Ut=!1,Lt(t,e,!0);const r=o.map(mt),u=i.map($).map((t=>t.then(mt))).concat(r),c=Promise.all(u);c.then((()=>{S(\"before-mount-routing-event\",A(!0))}),(t=>{throw t}));const l=s.map((t=>z(t).then((t=>Rt(t,c))))),f=a.filter((t=>s.indexOf(t)<0)).map((t=>Rt(t,c)));return c.catch((t=>{throw b(),t})).then((()=>(b(),Promise.all(l.concat(f)).catch((e=>{throw t.forEach((t=>t.reject(e))),e})).then(P).then((()=>{}),(t=>{throw t})))))})))))):(p=s,Promise.resolve().then((()=>{const t=s.map(z);return Promise.all(t).then(b).then((()=>[])).catch((t=>{throw b(),t})).finally((()=>{}))})));function y(t=!0){const e=\"function\"==typeof(null==t?void 0:t.then)?t:Promise.resolve(t);m.push(e.catch((t=>(console.warn(Error(u(42,!1))),console.warn(t),!1))))}function P(){const e=Et();t.forEach((t=>t.resolve(e)));try{S(0===p.length?\"no-app-change\":\"app-change\",A()),S(\"routing-event\",A())}catch(t){setTimeout((()=>{throw t}))}if(Ut=!1,Mt.length>0){const t=Mt;Mt=[],Lt(t)}return e}function b(){r||(t.forEach((t=>{et(t.eventArguments)})),et(e))}function A(t=!1,n){const r={},u={[d]:[],[h]:[],[c]:[],[v]:[]};t?(s.concat(a).forEach(((t,e)=>{f(t,d)})),o.forEach((t=>{f(t,c)})),i.forEach((t=>{f(t,h)}))):p.forEach((t=>{f(t)}));const l={detail:{newAppStatuses:r,appsByNewStatus:u,totalAppChanges:p.length,originalEvent:null==e?void 0:e[0],oldUrl:w,newUrl:g}};return n&&N(l.detail,n),l;function f(t,e){const n=T(t);e=e||Pt(n),r[n]=e,(u[e]=u[e]||[]).push(n)}}function S(t,e){r||window.dispatchEvent(new n(`single-spa:${t}`,e))}}function Rt(t,e){return O(t)?j(t).then((t=>e.then((()=>O(t)?x(t):t)))):e.then((()=>t))}let xt=!1;function It(t){xt=!0,X&&(at(t),Lt())}function Bt(){return xt}var Gt={getRawAppData:function(){return[...yt]},reroute:Lt,NOT_LOADED:c,toLoadPromise:z,toBootstrapPromise:j,unregisterApplication:At,getProfilerData:function(){return M}};X&&window.__SINGLE_SPA_DEVTOOLS__&&(window.__SINGLE_SPA_DEVTOOLS__.exposedMethods=Gt);export{p as BOOTSTRAPPING,l as LOADING_SOURCE_CODE,E as LOAD_ERROR,d as MOUNTED,m as MOUNTING,f as NOT_BOOTSTRAPPED,c as NOT_LOADED,h as NOT_MOUNTED,v as SKIP_BECAUSE_BROKEN,y as UNLOADING,g as UNMOUNTING,w as UPDATING,i as addErrorHandler,bt as checkActivityFunctions,ft as ensureJQuerySupport,vt as getAppNames,Pt as getAppStatus,Et as getMountedApps,G as mountRootParcel,tt as navigateToUrl,at as patchHistoryApi,Dt as pathToActiveWhen,Tt as registerApplication,s as removeErrorHandler,K as setBootstrapMaxTime,H as setMountMaxTime,Q as setUnloadMaxTime,J as setUnmountMaxTime,It as start,$t as triggerAppChange,Nt as unloadApplication,At as unregisterApplication};\n//# sourceMappingURL=single-spa.min.js.map\n","/**\n * Copyright IBM Corp. 2016, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as FeatureFlags from '@carbon/feature-flags';\n\nFeatureFlags.merge({\n 'enable-css-custom-properties': true,\n 'enable-css-grid': true,\n 'enable-v11-release': true,\n 'enable-experimental-tile-contrast': false\n});\n","/** @module @category UI */\nimport React from 'react';\nimport { Subject } from 'rxjs';\nimport type { InlineNotificationMeta, NotificationDescriptor } from './notification.component';\nimport type { ActionableNotificationMeta, ActionableNotificationDescriptor } from './actionable-notification.component';\nimport ActiveNotifications from './active-notifications.component';\nimport ActionableActiveNotifications from './active-actionable-notifications.component';\nimport isEmpty from 'lodash-es/isEmpty';\nimport { createRoot } from 'react-dom/client';\n\nconst inlineNotificationsSubject = new Subject<InlineNotificationMeta>();\nlet notificationId = 0;\n\nconst actionableNotificationsSubject = new Subject<ActionableNotificationMeta>();\nlet actionableNotificationId = 0;\n\n/**\n * Starts a rendering host for inline notifications. Should only be used by the app shell.\n * Under normal conditions there is no need to use this function.\n * @param target The container target that hosts the inline notifications.\n */\nexport function renderInlineNotifications(target: HTMLElement | null) {\n if (target) {\n const root = createRoot(target);\n root.render(<ActiveNotifications subject={inlineNotificationsSubject} />);\n }\n}\n\nfunction isNotEmpty(description: React.ReactNode) {\n if (typeof description === 'string') {\n return description.trim().length > 0;\n } else if (typeof description === 'object') {\n return description instanceof Error || !isEmpty(description);\n }\n\n return false;\n}\n\n/**\n * Displays an inline notification in the UI.\n * @param notification The description of the notification to display.\n */\nexport function showNotification(notification: NotificationDescriptor) {\n if (notification && isNotEmpty(notification.description)) {\n if (notification.description instanceof Error) {\n notification.description = notification.description.toLocaleString();\n }\n\n setTimeout(() => {\n // always use in subsequent cycle\n inlineNotificationsSubject.next({\n ...notification,\n id: notificationId++,\n });\n }, 0);\n } else {\n console.error(\n `showNotification must be called with an object having a 'description' property that is a non-empty string or object`,\n );\n }\n}\n\n// Actionable Notifications\n\nexport function renderActionableNotifications(target: HTMLElement | null) {\n if (target) {\n const root = createRoot(target);\n root.render(<ActionableActiveNotifications subject={actionableNotificationsSubject} />);\n }\n}\n\nfunction isNotActionableNotificationEmpty(subtitle: React.ReactNode) {\n return typeof subtitle === 'string'\n ? subtitle.trim().length > 0\n : typeof subtitle === 'object'\n ? !isEmpty(subtitle)\n : false;\n}\n\n/**\n * Displays an actionable notification in the UI.\n * @param notification The description of the notification to display.\n */\n\nexport function showActionableNotification(notification: ActionableNotificationDescriptor) {\n if (notification && isNotActionableNotificationEmpty(notification.actionButtonLabel)) {\n setTimeout(() => {\n // always use in subsequent cycle\n actionableNotificationsSubject.next({\n ...notification,\n id: actionableNotificationId++,\n });\n }, 0);\n } else {\n console.error(`showActionableNotification must be called with an actionButtonLabel that is a non-empty string`);\n }\n}\n","/** @module @category UI */\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Subject } from 'rxjs';\nimport type { ToastDescriptor, ToastNotificationMeta } from './toast.component';\nimport ActiveToasts from './active-toasts.component';\nimport isEmpty from 'lodash-es/isEmpty';\n\nconst toastsSubject = new Subject<ToastNotificationMeta>();\nlet toastId = 0;\n\n/**\n * Starts a rendering host for toast notifications. Should only be used by the app shell.\n * Under normal conditions there is no need to use this function.\n * @param target The container target that hosts the toast notifications.\n */\nexport function renderToasts(target: HTMLElement | null) {\n if (target) {\n const root = createRoot(target);\n root.render(<ActiveToasts subject={toastsSubject} />);\n }\n}\n\nfunction isNotEmpty(description: React.ReactNode) {\n return typeof description === 'string'\n ? description.trim().length > 0\n : typeof description === 'object'\n ? !isEmpty(description)\n : false;\n}\n\n/**\n * Displays a toast notification in the UI.\n * @param toast The description of the toast to display.\n */\nexport function showToast(toast: ToastDescriptor) {\n if (toast && isNotEmpty(toast.description)) {\n setTimeout(() => {\n // always use in subsequent cycle\n toastsSubject.next({\n ...toast,\n id: toastId++,\n });\n }, 0);\n } else {\n console.error(\n `showToast must be called with an object having a 'description' property that is a non-empty string or object`,\n );\n }\n}\n","/** @module @category UI */\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Subject } from 'rxjs';\n\nimport type { SnackbarDescriptor, SnackbarMeta } from './snackbar.component';\nimport ActiveSnackbars from './active-snackbar.component';\n\nconst snackbarsSubject = new Subject<SnackbarMeta>();\nlet snackbarId = 0;\n\n/**\n * Starts a rendering host for snack bar notifications. Should only be used by the app shell.\n * Under normal conditions there is no need to use this function.\n * @param target The container target that hosts the snack bar notifications.\n */\nexport function renderSnackbars(target: HTMLElement | null) {\n if (target) {\n const root = createRoot(target);\n root.render(<ActiveSnackbars subject={snackbarsSubject} />);\n }\n}\n\nfunction isNotEmpty(title: string) {\n return typeof title === 'string' ? title.trim().length > 0 : false;\n}\n\n/**\n * Displays a snack bar notification in the UI.\n * @param snackbar The description of the snack bar to display.\n */\nexport function showSnackbar(snackbar: SnackbarDescriptor) {\n if (snackbar && isNotEmpty(snackbar.title)) {\n setTimeout(() => {\n snackbarsSubject.next({\n ...snackbar,\n id: snackbarId++,\n });\n }, 0);\n } else {\n console.error(`showSnackbar must be called with an object having a 'title' property that is a non-empty string`);\n }\n}\n","import { getExtensionRegistration } from '@openmrs/esm-extensions';\nimport { createGlobalStore } from '@openmrs/esm-state';\nimport type { LifeCycles } from 'single-spa';\n\n/** @internal */\nexport interface ModalRegistration {\n name: string;\n load(): Promise<{ default?: LifeCycles } & LifeCycles>;\n moduleName: string;\n}\n\ninterface ModalRegistry {\n /** Modals indexed by name */\n modals: Record<string, ModalRegistration>;\n}\n\nconst modalRegistryStore = createGlobalStore<ModalRegistry>('modalRegistry', {\n modals: {},\n});\n\n/** @internal */\nexport function registerModal(modalRegistration: ModalRegistration) {\n modalRegistryStore.setState((state) => {\n state.modals[modalRegistration.name] = modalRegistration;\n return state;\n });\n}\n\n/** @internal */\nexport function getModalRegistration(modalName: string): ModalRegistration | undefined {\n let modalRegistration = modalRegistryStore.getState().modals[modalName];\n if (!modalRegistration) {\n const extensionRegistration = getExtensionRegistration(modalName);\n if (extensionRegistration) {\n modalRegistration = {\n name: modalName,\n load: extensionRegistration.load,\n moduleName: extensionRegistration.moduleName,\n };\n console.warn(\n `Modal ${modalName} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the \"modals\" section of routes.json instead of the \"extensions\" section.`,\n );\n // Register it so the warning only appears once\n registerModal(modalRegistration);\n }\n }\n return modalRegistration;\n}\n","/** @module @category UI */\nimport { mountRootParcel, type Parcel } from 'single-spa';\nimport { createGlobalStore } from '@openmrs/esm-state';\nimport { getModalRegistration } from './registry';\nimport { reportError } from '@openmrs/esm-error-handling';\nexport * from './registry';\n\ntype ModalInstanceState = 'NEW' | 'MOUNTED' | 'TO_BE_DELETED';\n\ninterface ModalInstance {\n container?: HTMLElement;\n state: ModalInstanceState;\n onClose: () => void;\n parcel?: Parcel | null;\n modalName: string;\n props: Record<string, any>;\n}\n\ninterface ModalState {\n modalContainer: HTMLElement | null;\n modalStack: Array<ModalInstance>;\n}\n\nconst modalStore = createGlobalStore<ModalState>('modalState', {\n modalContainer: null,\n modalStack: [],\n});\n\nfunction htmlToElement(html: string) {\n const template = document.createElement('template');\n template.innerHTML = html;\n return template.content.firstChild as ChildNode;\n}\n\nfunction createModalFrame() {\n const closeButton = htmlToElement(\n `\n <button\n class=\"cds--modal-close\"\n type=\"button\">\n <svg id=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><defs><style>.cls-1{fill:#000000;}.cls-2{fill:none;}</style></defs><title>close</title><polygon class=\"cls-1\" points=\"24 9.4 22.6 8 16 14.6 9.4 8 8 9.4 14.6 16 8 22.6 9.4 24 16 17.4 22.6 24 24 22.6 17.4 16 24 9.4\"/><rect class=\"cls-2\" width=\"32\" height=\"32\"/></svg>\n </button>`.trim(),\n ) as HTMLButtonElement;\n\n closeButton.addEventListener('click', closeHighestInstance);\n const modalFrame = document.createElement('div');\n modalFrame.className = 'cds--modal-container';\n\n modalFrame.append(closeButton);\n\n return modalFrame;\n}\n\nlet parcelCount = 0;\n\n/**\n * Mounts the named modal into the specified DOM element\n */\nasync function renderModalIntoDOM(\n domElement: HTMLElement,\n modalName: string,\n additionalProps: Record<string, any> = {},\n): Promise<Parcel | null> {\n const modalRegistration = getModalRegistration(modalName);\n let parcel: Parcel | null = null;\n\n if (domElement) {\n if (!modalRegistration) {\n throw Error(`No modal named '${modalName}' has been registered.`);\n }\n\n const { load } = modalRegistration;\n\n const { default: result, ...lifecycle } = await load();\n const id = parcelCount++;\n parcel = mountRootParcel(\n {\n ...(result ?? lifecycle),\n name: `${modalName}-${id}`,\n },\n {\n ...additionalProps,\n domElement,\n },\n );\n } else {\n reportError(`Failed to launch modal. Please notify your administrator. Modal name: ${modalName}`);\n }\n\n return parcel;\n}\n\nconst original = window.getComputedStyle(document.body).overflow;\n\nfunction handleModalStateUpdate({ modalStack, modalContainer }: ModalState) {\n if (!modalContainer) return;\n\n if (modalStack.length) {\n // ensure the container is visible\n if (!modalContainer.style.visibility) {\n addEventListener('keydown', handleEscKey);\n document.body.style.overflow = 'hidden';\n modalContainer.style.visibility = 'unset';\n }\n\n modalStack.forEach((instance, index) => {\n switch (instance.state) {\n case 'NEW': {\n const modalFrame = createModalFrame();\n instance.container = modalFrame;\n renderModalIntoDOM(modalFrame, instance.modalName, instance.props).then((parcel) => {\n instance.parcel = parcel;\n instance.state = 'MOUNTED';\n modalContainer.prepend(modalFrame);\n modalFrame.style.visibility = 'unset';\n });\n break;\n }\n\n case 'MOUNTED':\n if (instance.container) {\n instance.container.style.visibility = index ? 'hidden' : 'unset';\n }\n break;\n\n case 'TO_BE_DELETED':\n instance.onClose();\n instance.parcel?.unmount?.();\n instance.container?.remove();\n setTimeout(() => {\n modalStore.setState({\n modalContainer,\n modalStack: modalStack.filter((x) => x !== instance),\n });\n }, 0);\n break;\n }\n });\n } else {\n modalContainer.style.removeProperty('visibility');\n document.body.style.overflow = original;\n removeEventListener('keydown', handleEscKey);\n }\n}\n\nfunction openInstance(instance: ModalInstance) {\n const state = modalStore.getState();\n const modalStack = [instance, ...state.modalStack];\n\n modalStore.setState({\n ...state,\n modalStack,\n });\n}\n\nfunction closeInstance(instance: ModalInstance) {\n const state = modalStore.getState();\n const modalStack = state.modalStack.map(\n (x): ModalInstance => (x === instance ? { ...x, state: 'TO_BE_DELETED' } : x),\n );\n modalStore.setState({\n ...state,\n modalStack,\n });\n}\n\nfunction closeHighestInstance() {\n const state = modalStore.getState();\n const [top] = state.modalStack;\n\n if (top) {\n closeInstance(top);\n }\n}\n\nfunction handleEscKey(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n closeHighestInstance();\n }\n}\n\n/**\n * @internal\n * Sets up the modals system. Should be called in the app shell during initialization.\n */\nexport function setupModals(modalContainer: HTMLElement | null) {\n modalStore.subscribe(handleModalStateUpdate);\n\n modalStore.setState({\n ...modalStore.getState(),\n modalContainer,\n });\n}\n\n/**\n * Shows a modal dialog.\n *\n * The modal must have been registered by name. This should be done in the `routes.json` file of the\n * app that defines the modal. Note that both the `<ModalHeader>` and `<ModalBody>` should be at the\n * top level of the modal component (wrapped in a React.Fragment), or else the content of the modal\n * body might not vertical-scroll properly.\n *\n * @param modalName The name of the modal to show.\n * @param props The optional props to provide to the modal.\n * @param onClose The optional callback to call when the modal is closed.\n * @returns The dispose function to force closing the modal dialog.\n */\nexport function showModal(modalName: string, props: Record<string, any> = {}, onClose: () => void = () => {}) {\n const close = () => {\n const state = modalStore.getState();\n const item = state.modalStack.find((m) => m.onClose === onClose);\n\n if (item) {\n closeInstance(item);\n }\n };\n\n const modalRegistration = getModalRegistration(modalName);\n if (!modalRegistration) {\n reportError(`Failed to launch modal. Please notify your administrator. Modal name: \"${modalName}\"`);\n } else {\n openInstance({\n state: 'NEW',\n onClose,\n modalName,\n props: {\n close,\n ...props,\n },\n });\n }\n\n return close;\n}\n","/** @module @category Workspace */\nimport { type ReactNode, useMemo } from 'react';\nimport { type LifeCycles } from 'single-spa';\nimport _i18n from 'i18next';\nimport { type ExtensionRegistration, getExtensionRegistration } from '@openmrs/esm-extensions';\nimport { type WorkspaceWindowState } from '@openmrs/esm-globals';\nimport { useStore } from '@openmrs/esm-react-utils';\nimport { navigate } from '@openmrs/esm-navigation';\nimport { getGlobalStore, createGlobalStore } from '@openmrs/esm-state';\nimport { getCoreTranslation, translateFrom } from '@openmrs/esm-translations';\nimport { type DefaultWorkspaceProps, type CloseWorkspaceOptions } from './types';\n\nexport interface Prompt {\n title: string;\n body: string;\n /** Defaults to \"Confirm\" */\n confirmText?: string;\n onConfirm(): void;\n /** Defaults to \"Cancel\" */\n cancelText?: string;\n}\n\nexport interface WorkspaceStoreState {\n context: string | null;\n openWorkspaces: Array<OpenWorkspace>;\n prompt: Prompt | null;\n workspaceWindowState: WorkspaceWindowState;\n}\n\n/** See [[WorkspaceDefinition]] for more information about these properties */\nexport interface WorkspaceRegistration {\n name: string;\n title: string;\n titleNode?: ReactNode;\n type: string;\n canHide: boolean;\n canMaximize: boolean;\n width: 'narrow' | 'wider' | 'extra-wide';\n hasOwnSidebar: boolean;\n sidebarFamily: string;\n preferredWindowSize: WorkspaceWindowState;\n load: () => Promise<{ default?: LifeCycles } & LifeCycles>;\n moduleName: string;\n}\n\nexport interface OpenWorkspace extends WorkspaceRegistration, DefaultWorkspaceProps {\n additionalProps: object;\n}\n\ninterface WorkspaceRegistrationStore {\n workspaces: Record<string, WorkspaceRegistration>;\n}\n\nconst workspaceRegistrationStore = createGlobalStore<WorkspaceRegistrationStore>('workspaceRegistrations', {\n workspaces: {},\n});\n\n/** See [[WorkspaceDefinition]] for more information about these properties */\nexport interface RegisterWorkspaceOptions {\n name: string;\n title: string;\n type?: string;\n canHide?: boolean;\n canMaximize?: boolean;\n width?: 'narrow' | 'wider' | 'extra-wide';\n hasOwnSidebar?: boolean;\n sidebarFamily?: string;\n preferredWindowSize?: WorkspaceWindowState;\n load: () => Promise<{ default?: LifeCycles } & LifeCycles>;\n moduleName: string;\n}\n\n/**\n * Tells the workspace system about a workspace. This is used by the app shell\n * to register workspaces defined in the `routes.json` file.\n * @internal\n */\nexport function registerWorkspace(workspace: RegisterWorkspaceOptions) {\n workspaceRegistrationStore.setState((state) => ({\n workspaces: {\n ...state.workspaces,\n [workspace.name]: {\n ...workspace,\n preferredWindowSize: workspace.preferredWindowSize ?? 'normal',\n type: workspace.type ?? 'form',\n canHide: workspace.canHide ?? false,\n canMaximize: workspace.canMaximize ?? false,\n width: workspace.width ?? 'narrow',\n hasOwnSidebar: workspace.hasOwnSidebar ?? false,\n sidebarFamily: workspace.sidebarFamily ?? 'default',\n },\n },\n }));\n}\n\nconst workspaceExtensionWarningsIssued = new Set();\n/**\n * This exists for compatibility with the old way of registering\n * workspaces (as extensions).\n *\n * @param name of the workspace\n */\nfunction getWorkspaceRegistration(name: string): WorkspaceRegistration {\n const registeredWorkspaces = workspaceRegistrationStore.getState().workspaces;\n if (registeredWorkspaces[name]) {\n return registeredWorkspaces[name];\n } else {\n const workspaceExtension = getExtensionRegistration(name);\n if (workspaceExtension) {\n if (!workspaceExtensionWarningsIssued.has(name)) {\n console.warn(\n `The workspace '${name}' is registered as an extension. This is deprecated. Please register it in the \"workspaces\" section of the routes.json file.`,\n );\n workspaceExtensionWarningsIssued.add(name);\n }\n return {\n name: workspaceExtension.name,\n title: getTitleFromExtension(workspaceExtension),\n moduleName: workspaceExtension.moduleName,\n preferredWindowSize: workspaceExtension.meta?.screenSize ?? 'normal',\n load: workspaceExtension.load,\n type: workspaceExtension.meta?.type ?? 'form',\n canHide: workspaceExtension.meta?.canHide ?? false,\n canMaximize: workspaceExtension.meta?.canMaximize ?? false,\n width: workspaceExtension.meta?.width ?? 'narrow',\n sidebarFamily: 'default',\n hasOwnSidebar: false,\n };\n } else {\n throw new Error(`No workspace named '${name}' has been registered.`);\n }\n }\n}\n\nfunction getTitleFromExtension(ext: ExtensionRegistration) {\n const title = ext?.meta?.title;\n if (typeof title === 'string') {\n return title;\n } else if (title && typeof title === 'object') {\n return translateFrom(ext.moduleName, title.key, title.default);\n }\n return ext.name;\n}\n\n/**\n *\n * @param name Name of the workspace\n * @param ignoreChanges If set to true, the \"unsaved changes\" modal will never be shown, even if the `promptBeforeClosing` function returns true. The user will not be prompted before closing.\n * @returns true if the workspace can be closed.\n */\nexport function canCloseWorkspaceWithoutPrompting(name: string, ignoreChanges: boolean = false) {\n if (ignoreChanges) {\n return true;\n }\n const promptBeforeFn = getPromptBeforeClosingFcn(name);\n return !promptBeforeFn || !promptBeforeFn();\n}\n\nfunction promptBeforeLaunchingWorkspace(\n workspace: OpenWorkspace,\n newWorkspaceDetails: { name: string; additionalProps?: object },\n) {\n const { name, additionalProps } = newWorkspaceDetails;\n\n const proceed = () => {\n workspace.closeWorkspace({\n ignoreChanges: true,\n // Calling the launchWorkspace again, since one of the `if` case\n // might resolve, but we need to check all the cases before launching the form.\n onWorkspaceClose: () => launchWorkspace(name, additionalProps),\n });\n };\n\n if (!canCloseWorkspaceWithoutPrompting(workspace.name)) {\n showWorkspacePrompts('closing-workspace-launching-new-workspace', proceed, workspace.title ?? workspace.name);\n } else {\n proceed();\n }\n}\n\n/**\n * This launches a workspace by its name. The workspace must have been registered.\n * Workspaces should be registered in the `routes.json` file.\n *\n * For the workspace to appear, there must be either a `<WorkspaceOverlay />` or\n * a `<WorkspaceWindow />` component rendered.\n *\n * The behavior of this function is as follows:\n *\n * - If no workspaces are open, or if no other workspaces with the same type are open,\n * it will be opened and focused.\n * - If a workspace with the same name is already open, it will be displayed/focused,\n * if it was not already.\n * - If a workspace is launched and a workspace which cannot be hidden is already open,\n * a confirmation modal will pop up warning about closing the currently open workspace.\n * - If another workspace with the same type is open, the workspace will be brought to\n * the front and then a confirmation modal will pop up warning about closing the opened\n * workspace\n *\n * Note that this function just manipulates the workspace store. The UI logic is handled\n * by the components that display workspaces.\n *\n * Additional props can be passed to the workspace component being launched. Passing a\n * prop named `workspaceTitle` will override the title of the workspace.\n *\n * @param name The name of the workspace to launch\n * @param additionalProps Props to pass to the workspace component being launched. Passing\n * a prop named `workspaceTitle` will override the title of the workspace.\n */\nexport function launchWorkspace<\n T extends DefaultWorkspaceProps | object = DefaultWorkspaceProps & { [key: string]: any },\n>(name: string, additionalProps?: Omit<T, keyof DefaultWorkspaceProps> & { workspaceTitle?: string }) {\n const store = getWorkspaceStore();\n const workspace = getWorkspaceRegistration(name);\n const newWorkspace = {\n ...workspace,\n title: getWorkspaceTitle(workspace, additionalProps),\n closeWorkspace: (options: CloseWorkspaceOptions = {}) => closeWorkspace(name, options),\n closeWorkspaceWithSavedChanges: (options: CloseWorkspaceOptions) =>\n closeWorkspace(name, { ignoreChanges: true, ...options }),\n promptBeforeClosing: (testFcn) => promptBeforeClosing(name, testFcn),\n setTitle: (title: string, titleNode: ReactNode) => {\n newWorkspace.title = title;\n newWorkspace.titleNode = titleNode;\n store.setState((state) => {\n const openWorkspaces = state.openWorkspaces.map((w) => (w.name === name ? newWorkspace : w));\n return {\n ...state,\n openWorkspaces,\n };\n });\n },\n additionalProps: additionalProps ?? {},\n };\n\n function updateStoreWithNewWorkspace(workspaceToBeAdded: OpenWorkspace, restOfTheWorkspaces?: Array<OpenWorkspace>) {\n store.setState((state) => {\n const openWorkspaces = [workspaceToBeAdded, ...(restOfTheWorkspaces ?? state.openWorkspaces)];\n let workspaceWindowState = getUpdatedWorkspaceWindowState(openWorkspaces[0]);\n\n return {\n ...state,\n openWorkspaces,\n workspaceWindowState,\n };\n });\n }\n\n const openWorkspaces = store.getState().openWorkspaces;\n const workspaceIndexInOpenWorkspaces = openWorkspaces.findIndex((w) => w.name === name);\n const isWorkspaceAlreadyOpen = workspaceIndexInOpenWorkspaces >= 0;\n const openedWorkspaceWithSameType = openWorkspaces.find((w) => w.type == newWorkspace.type);\n\n if (openWorkspaces.length === 0) {\n updateStoreWithNewWorkspace(newWorkspace);\n } else if (!openWorkspaces[0].canHide && workspaceIndexInOpenWorkspaces !== 0) {\n promptBeforeLaunchingWorkspace(openWorkspaces[0], {\n name,\n additionalProps,\n });\n } else if (isWorkspaceAlreadyOpen) {\n const openWorkspace = openWorkspaces[workspaceIndexInOpenWorkspaces];\n // Only update the title if it hasn't been set by `setTitle`\n if (openWorkspace.title == getWorkspaceTitle(openWorkspace, openWorkspace.additionalProps)) {\n openWorkspace.title = getWorkspaceTitle(openWorkspace, newWorkspace.additionalProps);\n }\n openWorkspace.additionalProps = newWorkspace.additionalProps;\n const restOfTheWorkspaces = openWorkspaces.filter((w) => w.name != name);\n updateStoreWithNewWorkspace(openWorkspaces[workspaceIndexInOpenWorkspaces], restOfTheWorkspaces);\n } else if (openedWorkspaceWithSameType) {\n const restOfTheWorkspaces = store.getState().openWorkspaces.filter((w) => w.type != newWorkspace.type);\n updateStoreWithNewWorkspace(openedWorkspaceWithSameType, restOfTheWorkspaces);\n promptBeforeLaunchingWorkspace(openedWorkspaceWithSameType, {\n name,\n additionalProps,\n });\n } else {\n updateStoreWithNewWorkspace(newWorkspace);\n }\n}\n\n/**\n * Use this function to navigate to a new page and launch a workspace on that page.\n *\n * @param options.targetUrl: The URL to navigate to. Will be passed to [[navigate]].\n * @param options.contextKey: The context key used by the target page.\n * @param options.workspaceName: The name of the workspace to launch.\n * @param options.additionalProps: Additional props to pass to the workspace component being launched.\n */\nexport function navigateAndLaunchWorkspace({\n targetUrl,\n contextKey,\n workspaceName,\n additionalProps,\n}: {\n targetUrl: string;\n contextKey: string;\n workspaceName: string;\n additionalProps?: object;\n}) {\n changeWorkspaceContext(contextKey);\n launchWorkspace(workspaceName, additionalProps);\n navigate({ to: targetUrl });\n}\n\nconst promptBeforeClosingFcns = {};\n\nexport function promptBeforeClosing(workspaceName: string, testFcn: () => boolean) {\n promptBeforeClosingFcns[workspaceName] = testFcn;\n}\n\nexport function getPromptBeforeClosingFcn(workspaceName: string) {\n return promptBeforeClosingFcns[workspaceName];\n}\n\nexport function cancelPrompt() {\n const store = getWorkspaceStore();\n const state = store.getState();\n store.setState({ ...state, prompt: null });\n}\n\n/**\n * Function to close an opened workspace\n * @param name Workspace registration name\n * @param options Options to close workspace\n */\nexport function closeWorkspace(\n name: string,\n options: CloseWorkspaceOptions = {\n ignoreChanges: false,\n onWorkspaceClose: () => {},\n },\n): boolean {\n const store = getWorkspaceStore();\n\n const updateStoreWithClosedWorkspace = () => {\n const state = store.getState();\n const newOpenWorkspaces = state.openWorkspaces.filter((w) => w.name != name);\n\n // ensure closed workspace will not prompt\n promptBeforeClosing(name, () => false);\n store.setState({\n ...state,\n prompt: null,\n openWorkspaces: newOpenWorkspaces,\n workspaceWindowState: getUpdatedWorkspaceWindowState(newOpenWorkspaces?.[0]),\n });\n\n options?.onWorkspaceClose?.();\n };\n\n if (!canCloseWorkspaceWithoutPrompting(name, options?.ignoreChanges)) {\n const currentName = getWorkspaceRegistration(name).title ?? name;\n showWorkspacePrompts('closing-workspace', updateStoreWithClosedWorkspace, currentName);\n return false;\n } else {\n updateStoreWithClosedWorkspace();\n return true;\n }\n}\n\n/**\n * The set of workspaces is specific to a particular page. This function\n * should be used when transitioning to a new page. If the current\n * workspace data is for a different page, the workspace state is cleared.\n *\n * This is called by the workspace components when they mount.\n * @internal\n *\n * @param contextKey An arbitrary key to identify the current page\n */\nexport function changeWorkspaceContext(contextKey: string | null) {\n const store = getWorkspaceStore();\n const state = store.getState();\n if (state.context != contextKey) {\n store.setState({ context: contextKey, openWorkspaces: [], prompt: null });\n }\n}\n\nconst initialState: WorkspaceStoreState = {\n context: '',\n openWorkspaces: [],\n prompt: null,\n workspaceWindowState: 'normal',\n};\n\nexport const workspaceStore = createGlobalStore('workspace', initialState);\n\nexport function getWorkspaceStore() {\n return getGlobalStore<WorkspaceStoreState>('workspace', initialState);\n}\n\nexport function updateWorkspaceWindowState(value: WorkspaceWindowState) {\n const store = getWorkspaceStore();\n const state = store.getState();\n store.setState({ ...state, workspaceWindowState: value });\n}\n\nfunction getUpdatedWorkspaceWindowState(workspaceAtTop: OpenWorkspace) {\n return workspaceAtTop?.preferredWindowSize ?? 'normal';\n}\nexport function closeAllWorkspaces(onClosingWorkspaces: () => void = () => {}) {\n const store = getWorkspaceStore();\n\n const canCloseAllWorkspaces = store.getState().openWorkspaces.every(({ name }) => {\n const canCloseWorkspace = canCloseWorkspaceWithoutPrompting(name);\n return canCloseWorkspace;\n });\n\n const updateWorkspaceStore = () => {\n resetWorkspaceStore();\n onClosingWorkspaces?.();\n };\n\n if (!canCloseAllWorkspaces) {\n showWorkspacePrompts('closing-all-workspaces', updateWorkspaceStore);\n } else {\n updateWorkspaceStore();\n }\n}\n\nexport interface WorkspacesInfo {\n active: boolean;\n prompt: Prompt | null;\n workspaceWindowState: WorkspaceWindowState;\n workspaces: Array<OpenWorkspace>;\n}\n\nexport function useWorkspaces(): WorkspacesInfo {\n const { workspaceWindowState, openWorkspaces, prompt } = useStore(workspaceStore);\n\n const memoisedResults = useMemo(\n () => ({\n active: openWorkspaces.length > 0,\n prompt,\n workspaceWindowState,\n workspaces: openWorkspaces,\n }),\n [openWorkspaces, workspaceWindowState, prompt],\n );\n\n return memoisedResults;\n}\n\ntype PromptType = 'closing-workspace' | 'closing-all-workspaces' | 'closing-workspace-launching-new-workspace';\n\n/**\n * Sets the current prompt according to the prompt type.\n * @param promptType Determines the text and behavior of the prompt\n * @param onConfirmation Function to be called after the user confirms to close the workspace\n * @param workspaceTitle Workspace title to be shown in the prompt\n * @returns\n */\nexport function showWorkspacePrompts(\n promptType: PromptType,\n onConfirmation: () => void = () => {},\n workspaceTitle: string = '',\n) {\n const store = getWorkspaceStore();\n\n let prompt: Prompt;\n switch (promptType) {\n case 'closing-workspace': {\n prompt = {\n title: getCoreTranslation('unsavedChangesTitleText', 'Unsaved changes'),\n body: getCoreTranslation(\n 'unsavedChangesInOpenedWorkspace',\n `You have unsaved changes in the opened workspace. Do you want to discard these changes?`,\n ),\n onConfirm: () => {\n onConfirmation?.();\n },\n confirmText: getCoreTranslation('discard', 'Discard'),\n };\n break;\n }\n\n case 'closing-all-workspaces': {\n const workspacesNotClosed = store\n .getState()\n .openWorkspaces.filter(({ name }) => !canCloseWorkspaceWithoutPrompting(name))\n .map(({ title }, indx) => `${indx + 1}. ${title}`);\n\n prompt = {\n title: getCoreTranslation('closingAllWorkspacesPromptTitle', 'You have unsaved changes'),\n body: getCoreTranslation(\n 'closingAllWorkspacesPromptBody',\n 'There are unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}',\n {\n workspaceNames: workspacesNotClosed.join(','),\n },\n ),\n onConfirm: () => {\n onConfirmation?.();\n },\n confirmText: getCoreTranslation('closeAllOpenedWorkspaces', 'Discard changes in {{count}} workspaces', {\n count: workspacesNotClosed.length,\n }),\n };\n break;\n }\n case 'closing-workspace-launching-new-workspace': {\n prompt = {\n title: getCoreTranslation('unsavedChangesTitleText', 'Unsaved changes'),\n body: getCoreTranslation(\n 'unsavedChangesInWorkspace',\n 'There are unsaved changes in {{workspaceName}}. Please save them before opening another workspace.',\n { workspaceName: workspaceTitle },\n ),\n onConfirm: () => {\n store.setState((state) => ({\n ...state,\n prompt: null,\n }));\n onConfirmation?.();\n },\n confirmText: getCoreTranslation('openAnyway', 'Open anyway'),\n };\n break;\n }\n default: {\n console.error(\n `Workspace system trying to open unknown prompt type \"${promptType}\" in function \"showWorkspacePrompts\"`,\n );\n onConfirmation?.();\n return;\n }\n }\n store.setState((state) => ({ ...state, prompt }));\n}\n\nfunction getWorkspaceTitle(workspace: WorkspaceRegistration, additionalProps?: object) {\n return additionalProps?.['workspaceTitle'] ?? translateFrom(workspace.moduleName, workspace.title, workspace.title);\n}\n\nexport function resetWorkspaceStore() {\n getWorkspaceStore().setState(initialState);\n}\n","function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){o(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function n(e){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function a(e,t){var n;if(\"function\"!=typeof(n=t.domElement?function(){return t.domElement}:t.domElementGetter?t.domElementGetter:e.domElementGetter?e.domElementGetter:function(e){var t=e.appName||e.name;if(!t)throw Error(\"single-spa's dom-element-getter-helpers was not given an application name as a prop, so it can't make a unique dom element container for the react application\");var n=\"single-spa-application:\".concat(t);return function(){var e=document.getElementById(n);return e||((e=document.createElement(\"div\")).id=n,document.body.appendChild(e)),e}}(t)))throw Error(\"single-spa's dom-element-getter-helpers was given an invalid domElementGetter for application or parcel '\".concat(t.name,\"'. Expected a function, received \").concat(r(n)));return function(){var e=n(t);if(!(e instanceof HTMLElement))throw Error(\"single-spa's dom-element-getter-helpers: domElementGetter returned an invalid dom element for application or parcel '\".concat(t.name,\"'. Expected HTMLElement, received \").concat(r(e)));return e}}var c=null;try{c=require(\"react\").createContext()}catch(e){}var u={React:null,ReactDOM:null,ReactDOMClient:null,rootComponent:null,loadRootComponent:null,errorBoundary:null,errorBoundaryClass:null,domElementGetter:null,parcelCanUpdate:!0,suppressComponentDidCatchWarning:!1,domElements:{},renderResults:{},updateResolves:{},unmountResolves:{}};function i(e){if(\"object\"!==n(e))throw new Error(\"single-spa-react requires a configuration object\");var o,r=t(t({},u),e);if(!r.React)throw new Error(\"single-spa-react must be passed opts.React\");if(!r.ReactDOM&&!r.ReactDOMClient)throw new Error(\"single-spa-react must be passed opts.ReactDOM or opts.ReactDOMClient\");r.renderType||(null!==(o=r.ReactDOMClient)&&void 0!==o&&o.createRoot?r.renderType=\"createRoot\":r.renderType=\"render\");if(!r.rootComponent&&!r.loadRootComponent)throw new Error(\"single-spa-react must be passed opts.rootComponent or opts.loadRootComponent\");if(r.errorBoundary&&\"function\"!=typeof r.errorBoundary)throw Error(\"The errorBoundary opt for single-spa-react must either be omitted or be a function that returns React elements\");!c&&r.React.createContext&&(c=r.React.createContext()),r.SingleSpaRoot=function(e){function t(e){t.displayName=\"SingleSpaRoot(\".concat(e.name,\")\")}return t.prototype=Object.create(e.React.Component.prototype),t.prototype.componentDidMount=function(){setTimeout(this.props.mountFinished)},t.prototype.componentWillUnmount=function(){setTimeout(this.props.unmountFinished)},t.prototype.render=function(){return setTimeout(this.props.updateFinished),this.props.children},t}(r);var a={bootstrap:s.bind(null,r),mount:p.bind(null,r),unmount:l.bind(null,r)};return r.parcelCanUpdate&&(a.update=m.bind(null,r)),a}function s(e,t){return e.rootComponent?Promise.resolve():e.loadRootComponent(t).then((function(t){e.rootComponent=t}))}function p(e,t){return new Promise((function(n,o){e.suppressComponentDidCatchWarning||!function(e){if(!(e&&\"string\"==typeof e.version&&e.version.indexOf(\".\")>=0))return!1;var t=e.version.slice(0,e.version.indexOf(\".\"));try{return Number(t)>=16}catch(e){return!1}}(e.React)||e.errorBoundary||e.errorBoundaryClass||(e.rootComponent.prototype?e.rootComponent.prototype.componentDidCatch||console.warn(\"single-spa-react: \".concat(t.name||t.appName||t.childAppName,\"'s rootComponent should implement componentDidCatch to avoid accidentally unmounting the entire single-spa application.\")):console.warn(\"single-spa-react: \".concat(t.name||t.appName||t.childAppName,\"'s rootComponent does not implement an error boundary. If using a functional component, consider providing an opts.errorBoundary to singleSpaReact(opts).\")));var r=y(e,t,(function(){n(this)})),c=a(e,t)(),u=function(e){var t=e.reactDom,n=e.renderType,o=e.elementToRender,r=e.domElement,a=t[n];if(\"function\"!=typeof a)throw new Error('renderType \"'.concat(n,'\" did not return a function.'));switch(n){case\"createRoot\":case\"unstable_createRoot\":case\"createBlockingRoot\":case\"unstable_createBlockingRoot\":var c=a(r);return c.render(o),c;case\"hydrateRoot\":return a(r,o);case\"hydrate\":default:return a(o,r),null}}({elementToRender:r,domElement:c,reactDom:d(e),renderType:f(e)});e.domElements[t.name]=c,e.renderResults[t.name]=u}))}function l(e,t){return new Promise((function(n){e.unmountResolves[t.name]=n;var o=e.renderResults[t.name];o&&o.unmount?o.unmount():d(e).unmountComponentAtNode(e.domElements[t.name]),delete e.domElements[t.name],delete e.renderResults[t.name]}))}function m(e,t){return new Promise((function(n){e.updateResolves[t.name]||(e.updateResolves[t.name]=[]),e.updateResolves[t.name].push(n);var o=y(e,t,null),r=e.renderResults[t.name];if(r&&r.render)r.render(o);else{var c=a(e,t)();d(e).render(o,c)}}))}function d(e){return e.ReactDOMClient||e.ReactDOM}function f(e){return\"function\"==typeof e.renderType?e.renderType():e.renderType}function y(e,n,o){var r=e.React.createElement(e.rootComponent,n),a=c?e.React.createElement(c.Provider,{value:n},r):r;return(e.errorBoundary||n.errorBoundary||e.errorBoundaryClass||n.errorBoundaryClass)&&(e.errorBoundaryClass=e.errorBoundaryClass||n.errorBoundaryClass||function(e,t){function n(t){e.React.Component.apply(this,arguments),this.state={caughtError:null,caughtErrorInfo:null},n.displayName=\"SingleSpaReactErrorBoundary(\".concat(t.name,\")\")}return n.prototype=Object.create(e.React.Component.prototype),n.prototype.render=function(){return this.state.caughtError?(e.errorBoundary||t.errorBoundary)(this.state.caughtError,this.state.caughtErrorInfo,this.props):this.props.children},n.prototype.componentDidCatch=function(e,t){this.setState({caughtError:e,caughtErrorInfo:t})},n}(e,n),a=e.React.createElement(e.errorBoundaryClass,n,a)),a=e.React.createElement(e.SingleSpaRoot,t(t({},n),{},{mountFinished:o,updateFinished:function(){e.updateResolves[n.name]&&(e.updateResolves[n.name].forEach((function(e){return e()})),delete e.updateResolves[n.name])},unmountFinished:function(){e.unmountResolves[n.name]&&(e.unmountResolves[n.name](),delete e.unmountResolves[n.name])}}),a)}export{c as SingleSpaContext,i as default};\n//# sourceMappingURL=single-spa-react.js.map\n","import{SingleSpaContext as e}from\"single-spa-react\";import*as t from\"react\";function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function n(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e){return(i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function l(e,t){if(t&&(\"object\"==typeof t||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return u(e)}function p(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=i(e);if(t){var o=i(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return l(this,r)}}var s=function(r){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(h,t.Component);var i,l,s,f=p(h);function h(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,h),a(u(t=f.call(this,e)),\"handleRef\",(function(e){t.el=e})),a(u(t),\"addThingToDo\",(function(e,r){t.state.hasError&&\"unmount\"!==e||(t.nextThingToDo=(t.nextThingToDo||Promise.resolve()).then((function(){if(!t.unmounted||\"unmount\"===e)return r.apply(void 0,arguments)})).catch((function(r){throw t.nextThingToDo=Promise.resolve(),t.setState({hasError:!0}),r&&r.message&&(r.message=\"During '\".concat(e,\"', parcel threw an error: \").concat(r.message)),t.props.handleError?t.props.handleError(r):setTimeout((function(){throw r})),r})))})),a(u(t),\"getParcelProps\",(function(){var e=n(n({},t.props),{},{domElement:t.el});return delete e.mountParcel,delete e.config,delete e.wrapWith,delete e.wrapStyle,delete e.appendTo,delete e.handleError,delete e.parcelDidMount,e})),t.state={hasError:!1},!e.config)throw new Error(\"single-spa-react's Parcel component requires the 'config' prop to either be a parcel config or a loading function that returns a promise. See https://github.com/single-spa/single-spa-react\");return t}return i=h,(l=[{key:\"componentDidMount\",value:function(){var e=this;this.addThingToDo(\"mount\",(function(){var t,r=e.props.mountParcel||e.mountParcel;if(!r)throw new Error(\"\\n\\t\\t\\t\\t <Parcel /> was not passed a mountParcel prop, nor is it rendered where mountParcel is within the React context.\\n\\t\\t\\t\\t If you are using <Parcel /> within a module that is not a single-spa application, you will need to import mountRootParcel from single-spa and pass it into <Parcel /> as a mountParcel prop\\t\\n\\t\\t\\t\\t\");return e.el?t=e.el:(e.createdDomElement=t=document.createElement(e.props.wrapWith),Object.keys(e.props.wrapStyle).forEach((function(r){t.style[r]=e.props.wrapStyle[r]})),e.props.appendTo.appendChild(t)),e.parcel=r(e.props.config,n({domElement:t},e.getParcelProps())),e.parcel.mountPromise.then(e.props.parcelDidMount),e.parcel.mountPromise}))}},{key:\"componentDidUpdate\",value:function(){var e=this;this.addThingToDo(\"update\",(function(){if(e.parcel&&e.parcel.update)return e.parcel.update(e.getParcelProps())}))}},{key:\"componentWillUnmount\",value:function(){var e=this;this.addThingToDo(\"unmount\",(function(){if(e.parcel&&\"MOUNTED\"===e.parcel.getStatus())return e.parcel.unmount()})),this.createdDomElement&&this.createdDomElement.parentNode.removeChild(this.createdDomElement),this.unmounted=!0}},{key:\"render\",value:function(){var r=this;if(this.props.appendTo)return e&&e.Consumer?t.createElement(e.Consumer,null,(function(e){return r.mountParcel=e?e.mountParcel:null,null})):null;var n=e&&e.Consumer?t.createElement(e.Consumer,null,(function(e){return r.mountParcel=e?e.mountParcel:null,null})):void 0;return t.createElement(this.props.wrapWith,{ref:this.handleRef,style:this.props.wrapStyle,className:this.props.wrapClassName},n)}}])&&o(i.prototype,l),s&&o(i,s),h}();a(s,\"defaultProps\",{wrapWith:\"div\",wrapStyle:{},parcelDidMount:function(){}});export{s as default};\n//# sourceMappingURL=parcel.js.map\n","/** @module @category UI */\nimport React from 'react';\nimport { ExtensionSlot, useStore } from '@openmrs/esm-react-utils';\nimport { createGlobalStore } from '@openmrs/esm-state';\nimport type { SideNavProps } from '@carbon/react';\nimport { SideNav } from '@carbon/react';\nimport styles from './left-nav.module.scss';\n\ninterface LeftNavStore {\n slotName: string | null;\n basePath: string;\n}\n\nconst leftNavStore = createGlobalStore<LeftNavStore>('left-nav', {\n slotName: null,\n basePath: window.spaBase,\n});\n\nexport function setLeftNav({ name, basePath }) {\n leftNavStore.setState({ slotName: name, basePath });\n}\n\nexport function unsetLeftNav(name) {\n if (leftNavStore.getState().slotName == name) {\n leftNavStore.setState({ slotName: null });\n }\n}\n\ntype LeftNavMenuProps = SideNavProps;\n\nexport const LeftNavMenu = React.forwardRef<HTMLElement, LeftNavMenuProps>((props, ref) => {\n const { slotName, basePath } = useStore(leftNavStore);\n const currentPath = window.location ?? { pathname: '' };\n\n return (\n <SideNav ref={ref} expanded aria-label=\"Left navigation\" className={styles.leftNav} {...props}>\n <ExtensionSlot name=\"global-nav-menu-slot\" />\n {slotName ? <ExtensionSlot name={slotName} state={{ basePath, currentPath }} /> : null}\n </SideNav>\n );\n});\n","import React, { useEffect, useLayoutEffect, createContext, useContext, useMemo, useRef, createElement } from 'react';\n\n// Shared state between server components and client components\nconst noop = ()=>{};\n// Using noop() as the undefined value as undefined can be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\nconst UNDEFINED = /*#__NOINLINE__*/ noop();\nconst OBJECT = Object;\nconst isUndefined = (v)=>v === UNDEFINED;\nconst isFunction = (v)=>typeof v == 'function';\nconst mergeObjects = (a, b)=>({\n ...a,\n ...b\n });\nconst isPromiseLike = (x)=>isFunction(x.then);\n\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nconst table = new WeakMap();\n// counter of the key\nlet counter = 0;\n// A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsable.\nconst stableHash = (arg)=>{\n const type = typeof arg;\n const constructor = arg && arg.constructor;\n const isDate = constructor == Date;\n let result;\n let index;\n if (OBJECT(arg) === arg && !isDate && constructor != RegExp) {\n // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n // If it's already hashed, directly return the result.\n result = table.get(arg);\n if (result) return result;\n // Store the hash first for circular reference detection before entering the\n // recursive `stableHash` calls.\n // For other objects like set and map, we use this id directly as the hash.\n result = ++counter + '~';\n table.set(arg, result);\n if (constructor == Array) {\n // Array.\n result = '@';\n for(index = 0; index < arg.length; index++){\n result += stableHash(arg[index]) + ',';\n }\n table.set(arg, result);\n }\n if (constructor == OBJECT) {\n // Object, sort keys.\n result = '#';\n const keys = OBJECT.keys(arg).sort();\n while(!isUndefined(index = keys.pop())){\n if (!isUndefined(arg[index])) {\n result += index + ':' + stableHash(arg[index]) + ',';\n }\n }\n table.set(arg, result);\n }\n } else {\n result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n }\n return result;\n};\n\n// Global state used to deduplicate requests and store listeners\nconst SWRGlobalState = new WeakMap();\n\nconst EMPTY_CACHE = {};\nconst INITIAL_CACHE = {};\nconst STR_UNDEFINED = 'undefined';\n// NOTE: Use the function to guarantee it's re-evaluated between jsdom and node runtime for tests.\nconst isWindowDefined = typeof window != STR_UNDEFINED;\nconst isDocumentDefined = typeof document != STR_UNDEFINED;\nconst hasRequestAnimationFrame = ()=>isWindowDefined && typeof window['requestAnimationFrame'] != STR_UNDEFINED;\nconst createCacheHelper = (cache, key)=>{\n const state = SWRGlobalState.get(cache);\n return [\n // Getter\n ()=>!isUndefined(key) && cache.get(key) || EMPTY_CACHE,\n // Setter\n (info)=>{\n if (!isUndefined(key)) {\n const prev = cache.get(key);\n // Before writing to the store, we keep the value in the initial cache\n // if it's not there yet.\n if (!(key in INITIAL_CACHE)) {\n INITIAL_CACHE[key] = prev;\n }\n state[5](key, mergeObjects(prev, info), prev || EMPTY_CACHE);\n }\n },\n // Subscriber\n state[6],\n // Get server cache snapshot\n ()=>{\n if (!isUndefined(key)) {\n // If the cache was updated on the client, we return the stored initial value.\n if (key in INITIAL_CACHE) return INITIAL_CACHE[key];\n }\n // If we haven't done any client-side updates, we return the current value.\n return !isUndefined(key) && cache.get(key) || EMPTY_CACHE;\n }\n ];\n} // export { UNDEFINED, OBJECT, isUndefined, isFunction, mergeObjects, isPromiseLike }\n;\n\n/**\n * Due to the bug https://bugs.chromium.org/p/chromium/issues/detail?id=678075,\n * it's not reliable to detect if the browser is currently online or offline\n * based on `navigator.onLine`.\n * As a workaround, we always assume it's online on the first load, and change\n * the status upon `online` or `offline` events.\n */ let online = true;\nconst isOnline = ()=>online;\n// For node and React Native, `add/removeEventListener` doesn't exist on window.\nconst [onWindowEvent, offWindowEvent] = isWindowDefined && window.addEventListener ? [\n window.addEventListener.bind(window),\n window.removeEventListener.bind(window)\n] : [\n noop,\n noop\n];\nconst isVisible = ()=>{\n const visibilityState = isDocumentDefined && document.visibilityState;\n return isUndefined(visibilityState) || visibilityState !== 'hidden';\n};\nconst initFocus = (callback)=>{\n // focus revalidate\n if (isDocumentDefined) {\n document.addEventListener('visibilitychange', callback);\n }\n onWindowEvent('focus', callback);\n return ()=>{\n if (isDocumentDefined) {\n document.removeEventListener('visibilitychange', callback);\n }\n offWindowEvent('focus', callback);\n };\n};\nconst initReconnect = (callback)=>{\n // revalidate on reconnected\n const onOnline = ()=>{\n online = true;\n callback();\n };\n // nothing to revalidate, just update the status\n const onOffline = ()=>{\n online = false;\n };\n onWindowEvent('online', onOnline);\n onWindowEvent('offline', onOffline);\n return ()=>{\n offWindowEvent('online', onOnline);\n offWindowEvent('offline', onOffline);\n };\n};\nconst preset = {\n isOnline,\n isVisible\n};\nconst defaultConfigOptions = {\n initFocus,\n initReconnect\n};\n\nconst IS_REACT_LEGACY = !React.useId;\nconst IS_SERVER = !isWindowDefined || 'Deno' in window;\n// Polyfill requestAnimationFrame\nconst rAF = (f)=>hasRequestAnimationFrame() ? window['requestAnimationFrame'](f) : setTimeout(f, 1);\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\nconst useIsomorphicLayoutEffect = IS_SERVER ? useEffect : useLayoutEffect;\n// This assignment is to extend the Navigator type to use effectiveType.\nconst navigatorConnection = typeof navigator !== 'undefined' && navigator.connection;\n// Adjust the config based on slow connection status (<= 70Kbps).\nconst slowConnection = !IS_SERVER && navigatorConnection && ([\n 'slow-2g',\n '2g'\n].includes(navigatorConnection.effectiveType) || navigatorConnection.saveData);\n\nconst serialize = (key)=>{\n if (isFunction(key)) {\n try {\n key = key();\n } catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n // Use the original key as the argument of fetcher. This can be a string or an\n // array of values.\n const args = key;\n // If key is not falsy, or not an empty array, hash it.\n key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n return [\n key,\n args\n ];\n};\n\n// Global timestamp.\nlet __timestamp = 0;\nconst getTimestamp = ()=>++__timestamp;\n\nconst FOCUS_EVENT = 0;\nconst RECONNECT_EVENT = 1;\nconst MUTATE_EVENT = 2;\nconst ERROR_REVALIDATE_EVENT = 3;\n\nvar events = {\n __proto__: null,\n ERROR_REVALIDATE_EVENT: ERROR_REVALIDATE_EVENT,\n FOCUS_EVENT: FOCUS_EVENT,\n MUTATE_EVENT: MUTATE_EVENT,\n RECONNECT_EVENT: RECONNECT_EVENT\n};\n\nasync function internalMutate(...args) {\n const [cache, _key, _data, _opts] = args;\n // When passing as a boolean, it's explicitly used to disable/enable\n // revalidation.\n const options = mergeObjects({\n populateCache: true,\n throwOnError: true\n }, typeof _opts === 'boolean' ? {\n revalidate: _opts\n } : _opts || {});\n let populateCache = options.populateCache;\n const rollbackOnErrorOption = options.rollbackOnError;\n let optimisticData = options.optimisticData;\n const revalidate = options.revalidate !== false;\n const rollbackOnError = (error)=>{\n return typeof rollbackOnErrorOption === 'function' ? rollbackOnErrorOption(error) : rollbackOnErrorOption !== false;\n };\n const throwOnError = options.throwOnError;\n // If the second argument is a key filter, return the mutation results for all\n // filtered keys.\n if (isFunction(_key)) {\n const keyFilter = _key;\n const matchedKeys = [];\n const it = cache.keys();\n for (const key of it){\n if (// Skip the special useSWRInfinite and useSWRSubscription keys.\n !/^\\$(inf|sub)\\$/.test(key) && keyFilter(cache.get(key)._k)) {\n matchedKeys.push(key);\n }\n }\n return Promise.all(matchedKeys.map(mutateByKey));\n }\n return mutateByKey(_key);\n async function mutateByKey(_k) {\n // Serialize key\n const [key] = serialize(_k);\n if (!key) return;\n const [get, set] = createCacheHelper(cache, key);\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n const startRevalidate = ()=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidate) {\n // Invalidate the key by deleting the concurrent request markers so new\n // requests will not be deduped.\n delete FETCH[key];\n delete PRELOAD[key];\n if (revalidators && revalidators[0]) {\n return revalidators[0](MUTATE_EVENT).then(()=>get().data);\n }\n }\n return get().data;\n };\n // If there is no new data provided, revalidate the key with current state.\n if (args.length < 3) {\n // Revalidate and broadcast state.\n return startRevalidate();\n }\n let data = _data;\n let error;\n // Update global timestamps.\n const beforeMutationTs = getTimestamp();\n MUTATION[key] = [\n beforeMutationTs,\n 0\n ];\n const hasOptimisticData = !isUndefined(optimisticData);\n const state = get();\n // `displayedData` is the current value on screen. It could be the optimistic value\n // that is going to be overridden by a `committedData`, or get reverted back.\n // `committedData` is the validated value that comes from a fetch or mutation.\n const displayedData = state.data;\n const currentData = state._c;\n const committedData = isUndefined(currentData) ? displayedData : currentData;\n // Do optimistic data update.\n if (hasOptimisticData) {\n optimisticData = isFunction(optimisticData) ? optimisticData(committedData, displayedData) : optimisticData;\n // When we set optimistic data, backup the current committedData data in `_c`.\n set({\n data: optimisticData,\n _c: committedData\n });\n }\n if (isFunction(data)) {\n // `data` is a function, call it passing current cache value.\n try {\n data = data(committedData);\n } catch (err) {\n // If it throws an error synchronously, we shouldn't update the cache.\n error = err;\n }\n }\n // `data` is a promise/thenable, resolve the final data first.\n if (data && isPromiseLike(data)) {\n // This means that the mutation is async, we need to check timestamps to\n // avoid race conditions.\n data = await data.catch((err)=>{\n error = err;\n });\n // Check if other mutations have occurred since we've started this mutation.\n // If there's a race we don't update cache or broadcast the change,\n // just return the data.\n if (beforeMutationTs !== MUTATION[key][0]) {\n if (error) throw error;\n return data;\n } else if (error && hasOptimisticData && rollbackOnError(error)) {\n // Rollback. Always populate the cache in this case but without\n // transforming the data.\n populateCache = true;\n // Reset data to be the latest committed data, and clear the `_c` value.\n set({\n data: committedData,\n _c: UNDEFINED\n });\n }\n }\n // If we should write back the cache after request.\n if (populateCache) {\n if (!error) {\n // Transform the result into data.\n if (isFunction(populateCache)) {\n const populateCachedData = populateCache(data, committedData);\n set({\n data: populateCachedData,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n } else {\n // Only update cached data and reset the error if there's no error. Data can be `undefined` here.\n set({\n data,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n }\n }\n }\n // Reset the timestamp to mark the mutation has ended.\n MUTATION[key][1] = getTimestamp();\n // Update existing SWR Hooks' internal states:\n Promise.resolve(startRevalidate()).then(()=>{\n // The mutation and revalidation are ended, we can clear it since the data is\n // not an optimistic value anymore.\n set({\n _c: UNDEFINED\n });\n });\n // Throw error or return data\n if (error) {\n if (throwOnError) throw error;\n return;\n }\n return data;\n }\n}\n\nconst revalidateAllKeys = (revalidators, type)=>{\n for(const key in revalidators){\n if (revalidators[key][0]) revalidators[key][0](type);\n }\n};\nconst initCache = (provider, options)=>{\n // The global state for a specific provider will be used to deduplicate\n // requests and store listeners. As well as a mutate function that is bound to\n // the cache.\n // The provider's global state might be already initialized. Let's try to get the\n // global state associated with the provider first.\n if (!SWRGlobalState.has(provider)) {\n const opts = mergeObjects(defaultConfigOptions, options);\n // If there's no global state bound to the provider, create a new one with the\n // new mutate function.\n const EVENT_REVALIDATORS = {};\n const mutate = internalMutate.bind(UNDEFINED, provider);\n let unmount = noop;\n const subscriptions = {};\n const subscribe = (key, callback)=>{\n const subs = subscriptions[key] || [];\n subscriptions[key] = subs;\n subs.push(callback);\n return ()=>subs.splice(subs.indexOf(callback), 1);\n };\n const setter = (key, value, prev)=>{\n provider.set(key, value);\n const subs = subscriptions[key];\n if (subs) {\n for (const fn of subs){\n fn(value, prev);\n }\n }\n };\n const initProvider = ()=>{\n if (!SWRGlobalState.has(provider)) {\n // Update the state if it's new, or if the provider has been extended.\n SWRGlobalState.set(provider, [\n EVENT_REVALIDATORS,\n {},\n {},\n {},\n mutate,\n setter,\n subscribe\n ]);\n if (!IS_SERVER) {\n // When listening to the native events for auto revalidations,\n // we intentionally put a delay (setTimeout) here to make sure they are\n // fired after immediate JavaScript executions, which can be\n // React's state updates.\n // This avoids some unnecessary revalidations such as\n // https://github.com/vercel/swr/issues/1680.\n const releaseFocus = opts.initFocus(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, FOCUS_EVENT)));\n const releaseReconnect = opts.initReconnect(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, RECONNECT_EVENT)));\n unmount = ()=>{\n releaseFocus && releaseFocus();\n releaseReconnect && releaseReconnect();\n // When un-mounting, we need to remove the cache provider from the state\n // storage too because it's a side-effect. Otherwise, when re-mounting we\n // will not re-register those event listeners.\n SWRGlobalState.delete(provider);\n };\n }\n }\n };\n initProvider();\n // This is a new provider, we need to initialize it and setup DOM events\n // listeners for `focus` and `reconnect` actions.\n // We might want to inject an extra layer on top of `provider` in the future,\n // such as key serialization, auto GC, etc.\n // For now, it's just a `Map` interface without any modifications.\n return [\n provider,\n mutate,\n initProvider,\n unmount\n ];\n }\n return [\n provider,\n SWRGlobalState.get(provider)[4]\n ];\n};\n\n// error retry\nconst onErrorRetry = (_, __, config, revalidate, opts)=>{\n const maxRetryCount = config.errorRetryCount;\n const currentRetryCount = opts.retryCount;\n // Exponential backoff\n const timeout = ~~((Math.random() + 0.5) * (1 << (currentRetryCount < 8 ? currentRetryCount : 8))) * config.errorRetryInterval;\n if (!isUndefined(maxRetryCount) && currentRetryCount > maxRetryCount) {\n return;\n }\n setTimeout(revalidate, timeout, opts);\n};\nconst compare = (currentData, newData)=>stableHash(currentData) == stableHash(newData);\n// Default cache provider\nconst [cache, mutate] = initCache(new Map());\n// Default config\nconst defaultConfig = mergeObjects({\n // events\n onLoadingSlow: noop,\n onSuccess: noop,\n onError: noop,\n onErrorRetry,\n onDiscarded: noop,\n // switches\n revalidateOnFocus: true,\n revalidateOnReconnect: true,\n revalidateIfStale: true,\n shouldRetryOnError: true,\n // timeouts\n errorRetryInterval: slowConnection ? 10000 : 5000,\n focusThrottleInterval: 5 * 1000,\n dedupingInterval: 2 * 1000,\n loadingTimeout: slowConnection ? 5000 : 3000,\n // providers\n compare,\n isPaused: ()=>false,\n cache,\n mutate,\n fallback: {}\n}, // use web preset by default\npreset);\n\nconst mergeConfigs = (a, b)=>{\n // Need to create a new object to avoid mutating the original here.\n const v = mergeObjects(a, b);\n // If two configs are provided, merge their `use` and `fallback` options.\n if (b) {\n const { use: u1, fallback: f1 } = a;\n const { use: u2, fallback: f2 } = b;\n if (u1 && u2) {\n v.use = u1.concat(u2);\n }\n if (f1 && f2) {\n v.fallback = mergeObjects(f1, f2);\n }\n }\n return v;\n};\n\nconst SWRConfigContext = createContext({});\nconst SWRConfig = (props)=>{\n const { value } = props;\n const parentConfig = useContext(SWRConfigContext);\n const isFunctionalConfig = isFunction(value);\n const config = useMemo(()=>isFunctionalConfig ? value(parentConfig) : value, [\n isFunctionalConfig,\n parentConfig,\n value\n ]);\n // Extend parent context values and middleware.\n const extendedConfig = useMemo(()=>isFunctionalConfig ? config : mergeConfigs(parentConfig, config), [\n isFunctionalConfig,\n parentConfig,\n config\n ]);\n // Should not use the inherited provider.\n const provider = config && config.provider;\n // initialize the cache only on first access.\n const cacheContextRef = useRef(UNDEFINED);\n if (provider && !cacheContextRef.current) {\n cacheContextRef.current = initCache(provider(extendedConfig.cache || cache), config);\n }\n const cacheContext = cacheContextRef.current;\n // Override the cache if a new provider is given.\n if (cacheContext) {\n extendedConfig.cache = cacheContext[0];\n extendedConfig.mutate = cacheContext[1];\n }\n // Unsubscribe events.\n useIsomorphicLayoutEffect(()=>{\n if (cacheContext) {\n cacheContext[2] && cacheContext[2]();\n return cacheContext[3];\n }\n }, []);\n return createElement(SWRConfigContext.Provider, mergeObjects(props, {\n value: extendedConfig\n }));\n};\n\nconst INFINITE_PREFIX = '$inf$';\n\n// @ts-expect-error\nconst enableDevtools = isWindowDefined && window.__SWR_DEVTOOLS_USE__;\nconst use = enableDevtools ? window.__SWR_DEVTOOLS_USE__ : [];\nconst setupDevTools = ()=>{\n if (enableDevtools) {\n // @ts-expect-error\n window.__SWR_DEVTOOLS_REACT__ = React;\n }\n};\n\nconst normalize = (args)=>{\n return isFunction(args[1]) ? [\n args[0],\n args[1],\n args[2] || {}\n ] : [\n args[0],\n null,\n (args[1] === null ? args[2] : args[1]) || {}\n ];\n};\n\nconst useSWRConfig = ()=>{\n return mergeObjects(defaultConfig, useContext(SWRConfigContext));\n};\n\nconst preload = (key_, fetcher)=>{\n const [key, fnArg] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n // Prevent preload to be called multiple times before used.\n if (PRELOAD[key]) return PRELOAD[key];\n const req = fetcher(fnArg);\n PRELOAD[key] = req;\n return req;\n};\nconst middleware = (useSWRNext)=>(key_, fetcher_, config)=>{\n // fetcher might be a sync function, so this should not be an async function\n const fetcher = fetcher_ && ((...args)=>{\n const [key] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n if (key.startsWith(INFINITE_PREFIX)) {\n // we want the infinite fetcher to be called.\n // handling of the PRELOAD cache happens there.\n return fetcher_(...args);\n }\n const req = PRELOAD[key];\n if (isUndefined(req)) return fetcher_(...args);\n delete PRELOAD[key];\n return req;\n });\n return useSWRNext(key_, fetcher, config);\n };\n\nconst BUILT_IN_MIDDLEWARE = use.concat(middleware);\n\n// It's tricky to pass generic types as parameters, so we just directly override\n// the types here.\nconst withArgs = (hook)=>{\n return function useSWRArgs(...args) {\n // Get the default and inherited configuration.\n const fallbackConfig = useSWRConfig();\n // Normalize arguments.\n const [key, fn, _config] = normalize(args);\n // Merge configurations.\n const config = mergeConfigs(fallbackConfig, _config);\n // Apply middleware\n let next = hook;\n const { use } = config;\n const middleware = (use || []).concat(BUILT_IN_MIDDLEWARE);\n for(let i = middleware.length; i--;){\n next = middleware[i](next);\n }\n return next(key, fn || config.fetcher || null, config);\n };\n};\n\n// Add a callback function to a list of keyed callback functions and return\n// the unsubscribe function.\nconst subscribeCallback = (key, callbacks, callback)=>{\n const keyedRevalidators = callbacks[key] || (callbacks[key] = []);\n keyedRevalidators.push(callback);\n return ()=>{\n const index = keyedRevalidators.indexOf(callback);\n if (index >= 0) {\n // O(1): faster than splice\n keyedRevalidators[index] = keyedRevalidators[keyedRevalidators.length - 1];\n keyedRevalidators.pop();\n }\n };\n};\n\n// Create a custom hook with a middleware\nconst withMiddleware = (useSWR, middleware)=>{\n return (...args)=>{\n const [key, fn, config] = normalize(args);\n const uses = (config.use || []).concat(middleware);\n return useSWR(key, fn, {\n ...config,\n use: uses\n });\n };\n};\n\nsetupDevTools();\n\nexport { INFINITE_PREFIX, IS_REACT_LEGACY, IS_SERVER, OBJECT, SWRConfig, SWRGlobalState, UNDEFINED, cache, compare, createCacheHelper, defaultConfig, defaultConfigOptions, getTimestamp, hasRequestAnimationFrame, initCache, internalMutate, isDocumentDefined, isFunction, isPromiseLike, isUndefined, isWindowDefined, mergeConfigs, mergeObjects, mutate, noop, normalize, preload, preset, rAF, events as revalidateEvents, serialize, slowConnection, stableHash, subscribeCallback, useIsomorphicLayoutEffect, useSWRConfig, withArgs, withMiddleware };\n","import 'client-only';\nimport ReactExports, { useRef, useMemo, useCallback, useDebugValue } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { serialize, OBJECT, SWRConfig as SWRConfig$1, defaultConfig, withArgs, SWRGlobalState, createCacheHelper, isUndefined, getTimestamp, UNDEFINED, isFunction, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects } from 'swr/_internal';\nexport { mutate, preload, useSWRConfig } from 'swr/_internal';\n\nconst unstable_serialize = (key)=>serialize(key)[0];\n\n/// <reference types=\"react/experimental\" />\nconst use = ReactExports.use || ((promise)=>{\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then((v)=>{\n promise.status = 'fulfilled';\n promise.value = v;\n }, (e)=>{\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache, compare, suspense, fallbackData, revalidateOnMount, revalidateIfStale, refreshInterval, refreshWhenHidden, refreshWhenOffline, keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n const fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n if (!isUndefined(revalidateIfStale)) return revalidateIfStale;\n return true;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined(cachedData) ? fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined(cachedData) ? laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n let nextFocusRevalidatedAt = 0;\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any initial data. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n return {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n};\nconst SWRConfig = OBJECT.defineProperty(SWRConfig$1, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error, isLoading } = useSWR('/api/user', fetcher)\n * if (error) return <div>failed to load</div>\n * if (isLoading) return <div>loading...</div>\n * return <div>hello {data.name}!</div>\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\nexport { SWRConfig, useSWR as default, unstable_serialize };\n","import { getConfigStore } from '@openmrs/esm-config';\n\nexport function setupBranding() {\n getConfigStore('@openmrs/esm-styleguide').subscribe((store) => {\n if (store.loaded && store.config) {\n setGlobalCSSVariable('--brand-01', store.config['Brand color #1']);\n setGlobalCSSVariable('--brand-02', store.config['Brand color #2']);\n setGlobalCSSVariable('--brand-03', store.config['Brand color #3']);\n }\n });\n\n function setGlobalCSSVariable(name: string, value: string) {\n document.documentElement.style.setProperty(name, value);\n }\n}\n","import { defineConfigSchema } from '@openmrs/esm-config';\nimport { setupLogo } from './logo';\nimport { setupIcons } from './icons/icon-registration';\nimport { setupBranding } from './brand';\nimport { esmStyleGuideSchema } from './config-schema';\nimport { setupPictograms } from './pictograms/pictogram-registration';\n\nexport * from './breakpoints';\nexport * from './spinner';\nexport * from './notifications';\nexport * from './toasts';\nexport * from './snackbars';\nexport * from './modals';\nexport * from './workspaces';\nexport * from './left-nav';\nexport * from './error-state';\nexport * from './datepicker';\nexport * from './responsive-wrapper';\nexport * from './patient-banner';\nexport * from './patient-photo';\nexport * from './custom-overflow-menu';\nexport * from './icons';\nexport * from './pictograms';\n\ndefineConfigSchema('@openmrs/esm-styleguide', esmStyleGuideSchema);\nsetupBranding();\nsetupLogo();\nsetupIcons();\nsetupPictograms();\n","import fullLogo from './openmrs-logo-full.svg';\nimport partialLogo from './openmrs-logo-partial.svg';\nimport iconLogo from './openmrs-logo-icon.svg';\nimport whiteLogo from './openmrs-logo-white.svg';\nimport { addSvg } from '../svg-utils';\n\nexport function setupLogo() {\n addSvg('omrs-logo-full-color', fullLogo);\n addSvg('omrs-logo-full-mono', fullLogo);\n addSvg('omrs-logo-full-grey', fullLogo);\n addSvg('omrs-logo-partial-color', partialLogo);\n addSvg('omrs-logo-partial-mono', partialLogo);\n addSvg('omrs-logo-partial-grey', partialLogo);\n addSvg('omrs-logo-icon-color', iconLogo);\n addSvg('omrs-logo-icon-mono', iconLogo);\n addSvg('omrs-logo-icon-grey', iconLogo);\n addSvg('omrs-logo-white', whiteLogo);\n}\n","/** @category Icons */\nimport activity from './svgs/activity.svg';\nimport add from './svgs/add.svg';\nimport arrowDown from './svgs/arrow-down.svg';\nimport arrowLeft from './svgs/arrow-left.svg';\nimport arrowRight from './svgs/arrow-right.svg';\nimport arrowUp from './svgs/arrow-up.svg';\nimport calendarHeatMap from './svgs/calendar--heat-map.svg';\nimport calendar from './svgs/calendar.svg';\nimport caretDown from './svgs/caret-down.svg';\nimport caretLeft from './svgs/caret-left.svg';\nimport caretRight from './svgs/caret-right.svg';\nimport caretUp from './svgs/caret-up.svg';\nimport chartAverage from './svgs/chart-average.svg';\nimport chemistry from './svgs/chemistry.svg';\nimport chevronDown from './svgs/chevron-down.svg';\nimport chevronLeft from './svgs/chevron-left.svg';\nimport chevronRight from './svgs/chevron-right.svg';\nimport chevronUp from './svgs/chevron-up.svg';\nimport close from './svgs/close.svg';\nimport closeFilled from './svgs/close--filled.svg';\nimport closeOutline from './svgs/close--outline.svg';\nimport document from './svgs/document.svg';\nimport documentAttachment from './svgs/document-attachment.svg';\nimport download from './svgs/download.svg';\nimport edit from './svgs/edit.svg';\nimport eventSchedule from './svgs/event-schedule.svg';\nimport events from './svgs/events.svg';\nimport group from './svgs/group.svg';\nimport groupAccess from './svgs/group-access.svg';\nimport hospitalBed from './svgs/hospital-bed.svg';\nimport imageMedical from './svgs/image-medical.svg';\nimport inventoryManagement from './svgs/inventory-management.svg';\nimport listChecked from './svgs/list-checked.svg';\nimport location from './svgs/location.svg';\nimport maximize from './svgs/maximize.svg';\nimport medication from './svgs/medication.svg';\nimport messageQueue from './svgs/message-queue.svg';\nimport microscope from './svgs/microscope.svg';\nimport money from './svgs/money.svg';\nimport movement from './svgs/movement.svg';\nimport overflowMenuHorizonal from './svgs/overflow-menu--horizontal.svg';\nimport overflowMenuVertical from './svgs/overflow-menu--vertical.svg';\nimport pedestrianFamily from './svgs/pedestrian-family.svg';\nimport pen from './svgs/pen.svg';\nimport printer from './svgs/printer.svg';\nimport renew from './svgs/renew.svg';\nimport password from './svgs/password.svg';\nimport reset from './svgs/reset.svg';\nimport save from './svgs/save.svg';\nimport search from './svgs/search.svg';\nimport shoppingCart from './svgs/shopping-cart.svg';\nimport shoppingCartArrowDown from './svgs/shopping-cart--arrow-down.svg';\nimport stickyNoteAdd from './svgs/sticky-note-add.svg';\nimport switcher from './svgs/switcher.svg';\nimport tableOfContents from './svgs/table-of-contents.svg';\nimport table from './svgs/table.svg';\nimport time from './svgs/time.svg';\nimport tools from './svgs/tools.svg';\nimport translate from './svgs/translate.svg';\nimport trashCan from './svgs/trash-can.svg';\nimport treeViewAlt from './svgs/tree-view--alt.svg';\nimport userAvatar from './svgs/user-avatar.svg';\nimport userFollow from './svgs/user-follow.svg';\nimport userXray from './svgs/user-xray.svg';\nimport user from './svgs/user.svg';\nimport viewOff from './svgs/view-off.svg';\nimport view from './svgs/view.svg';\nimport warning from './svgs/warning.svg';\nimport { addSvg } from '../svg-utils';\n\nexport function setupIcons() {\n addSvg('omrs-icon-activity', activity);\n addSvg('omrs-icon-add', add);\n addSvg('omrs-icon-arrow-down', arrowDown);\n addSvg('omrs-icon-arrow-left', arrowLeft);\n addSvg('omrs-icon-arrow-right', arrowRight);\n addSvg('omrs-icon-arrow-up', arrowUp);\n addSvg('omrs-icon-calendar-heat-map', calendarHeatMap);\n addSvg('omrs-icon-calendar', calendar);\n addSvg('omrs-icon-caret-down', caretDown);\n addSvg('omrs-icon-caret-left', caretLeft);\n addSvg('omrs-icon-caret-right', caretRight);\n addSvg('omrs-icon-caret-up', caretUp);\n addSvg('omrs-icon-chart-average', chartAverage);\n addSvg('omrs-icon-chemistry', chemistry);\n addSvg('omrs-icon-chevron-down', chevronDown);\n addSvg('omrs-icon-chevron-left', chevronLeft);\n addSvg('omrs-icon-chevron-right', chevronRight);\n addSvg('omrs-icon-chevron-up', chevronUp);\n addSvg('omrs-icon-close', close);\n addSvg('omrs-icon-close-filled', closeFilled);\n addSvg('omrs-icon-close-outline', closeOutline);\n addSvg('omrs-icon-document', document);\n addSvg('omrs-icon-document-attachment', documentAttachment);\n addSvg('omrs-icon-download', download);\n addSvg('omrs-icon-edit', edit);\n addSvg('omrs-icon-event-schedule', eventSchedule);\n addSvg('omrs-icon-events', events);\n addSvg('omrs-icon-group', group);\n addSvg('omrs-icon-group-access', groupAccess);\n addSvg('omrs-icon-hospital-bed', hospitalBed);\n addSvg('omrs-icon-image-medical', imageMedical);\n addSvg('omrs-icon-inventory-management', inventoryManagement);\n addSvg('omrs-icon-list-checked', listChecked);\n addSvg('omrs-icon-location', location);\n addSvg('omrs-icon-maximize', maximize);\n addSvg('omrs-icon-medication', medication);\n addSvg('omrs-icon-message-queue', messageQueue);\n addSvg('omrs-icon-microscope', microscope);\n addSvg('omrs-icon-money', money);\n addSvg('omrs-icon-movement', movement);\n addSvg('omrs-icon-overflow-menu--horizontal', overflowMenuHorizonal);\n addSvg('omrs-icon-overflow-menu--vertical', overflowMenuVertical);\n addSvg('omrs-icon-pedestrian-family', pedestrianFamily);\n addSvg('omrs-icon-pen', pen);\n addSvg('omrs-icon-printer', printer);\n addSvg('omrs-icon-renew', renew);\n addSvg('omrs-icon-password', password);\n addSvg('omrs-icon-reset', reset);\n addSvg('omrs-icon-search', search);\n addSvg('omrs-icon-save', save);\n addSvg('omrs-icon-shopping-cart', shoppingCart);\n addSvg('omrs-icon-shopping-cart--arrow-down', shoppingCartArrowDown);\n addSvg('omrs-icon-sticky-note-add', stickyNoteAdd);\n addSvg('omrs-icon-switcher', switcher);\n addSvg('omrs-icon-switcher', switcher);\n addSvg('omrs-icon-table-of-contents', tableOfContents);\n addSvg('omrs-icon-table', table);\n addSvg('omrs-icon-time', time);\n addSvg('omrs-icon-tools', tools);\n addSvg('omrs-icon-translate', translate);\n addSvg('omrs-icon-trash-can', trashCan);\n addSvg('omrs-icon-tree-view--alt', treeViewAlt);\n addSvg('omrs-icon-user-avatar', userAvatar);\n addSvg('omrs-icon-user-follow', userFollow);\n addSvg('omrs-icon-user-xray', userXray);\n addSvg('omrs-icon-user', user);\n addSvg('omrs-icon-view-off', viewOff);\n addSvg('omrs-icon-view', view);\n addSvg('omrs-icon-warning', warning);\n}\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","includes","key","call","join","module","exports","default","$","optArgs","cb","string","options","Date","this","Pattern","require","GeoPattern","generate","fn","geopattern","each","titleSha","attr","extend","hash","pattern","css","toDataUrl","jQuery","hex2rgb","hex","replace","m","r","g","b","result","exec","parseInt","rgb2hex","rgb","map","slice","rgb2hsl","h","s","max","Math","min","l","d","hsl2rgb","hsl","hue2rgb","p","q","t","round","rgb2rgbString","color","SHA1","SVG","DEFAULTS","baseColor","PATTERNS","FILL_COLOR_DARK","FILL_COLOR_LIGHT","STROKE_COLOR","STROKE_OPACITY","OPACITY_MIN","OPACITY_MAX","hexVal","index","len","substr","value","vMin","vMax","dMin","dMax","parseFloat","fillColor","val","fillOpacity","opts","svg","generateBackground","generatePattern","buildPlusShape","squareSize","buildRightTriangleShape","sideLength","drawInnerMosaicTile","x","y","triangleSize","vals","triangle","opacity","fill","styles","stroke","polyline","transform","translate","scale","drawOuterMosaicTile","toSvg","toBase64","str","window","btoa","Buffer","toDataUri","hueOffset","satOffset","rect","generator","indexOf","Error","toUpperCase","geoHexagons","dy","hexHeight","sqrt","hexWidth","c","a","sin","PI","buildHexagonShape","setWidth","setHeight","geoSineWaves","xOffset","period","floor","amplitude","waveWidth","path","geoChevrons","width","height","e","chevronWidth","chevronHeight","chevron","group","end","geoPlusSigns","dx","plusSize","plusShape","geoXes","xShape","xSize","rotate","geoOverlappingCircles","radius","circle","geoOctogons","tile","buildOctogonShape","geoSquares","geoConcentricCircles","ringSize","strokeWidth","geoOverlappingRings","geoTriangles","rotation","triangleHeight","halfWidth","buildTriangleShape","geoDiamonds","diamondWidth","diamondHeight","diamond","geoNestedSquares","blockSize","geoMosaicSquares","geoPlaid","stripeHeight","stripeWidth","geoTessellation","triangleWidth","buildRotatedTriangleShape","tileWidth","tileHeight","create","processBlock","w","block","f","k","h0","h1","h2","h3","h4","temp","offset","write","byte","shift","toHex","word","Uint32Array","totalLength","update","chunk","charCodeAt","updateString","digest","buffer","undefined","shasum","XMLNode","context","setAttributes","xmlns","currentContext","pop","currentNode","lastChild","transformations","setAttribute","keys","transformation","el","attrs","forEach","args","self","concat","appendChild","cx","cy","points","tagName","attributes","children","child","name","isPlainObject","obj","nodeType","setInterval","has_own_constructor","has_is_property_of_method","constructor","src","copy","copyIsArray","clone","target","deep","createRoot","hydrateRoot","is","useState","useEffect","n","useLayoutEffect","useDebugValue","getSnapshot","u","document","createElement","inst","useSyncExternalStore","System","register","o","setters","Type","defineConfigSchema","getConfig","validators","navigate","reportError","getSynchronizationItems","execute","active","console","error","setState","getState","subscribe","defineProperty","enumerable","get","Symbol","toStringTag","createGlobalStore","getGlobalStore","registerGlobalStore","subscribeTo","Set","assign","add","delete","destroy","warn","clear","setTimeout","spaEnv","stores","reduce","errors","E","Promise","Y","X","z","K","Q","filter","ht","yt","status","message","JSON","stringify","appOrParcelName","ft","it","pt","activeWhen","location","lt","dt","Boolean","unmountThisParcel","bt","mt","vt","wt","resolve","then","gt","reject","catch","St","et","nt","bootstrap","Rt","rt","Ot","ut","parcels","all","Tt","_t","dispatchEvent","J","ot","Pt","xt","Dt","jt","At","domElement","id","tt","customProps","parentName","mount","unmount","timeouts","Bt","Nt","st","getStatus","loadPromise","bootstrapPromise","mountPromise","unmountPromise","Ut","mountParcel","bind","singleSpa","F","unmountSelf","Ct","Mt","millis","dieOnTimeout","warningMillis","kt","Lt","It","unload","Gt","Z","ct","loadApp","loadErrorTime","devtools","overlays","getTime","Ft","href","currentTarget","preventDefault","Xt","host","pathname","search","history","pushState","Ht","type","Wt","Vt","zt","Oe","Yt","Jt","PopStateEvent","state","createEvent","initPopStateEvent","singleSpaTrigger","Qt","qt","urlRerouteOnly","Kt","replaceState","addEventListener","removeEventListener","te","jquery","Zt","on","off","ee","split","trim","re","ne","oe","at","promise","ie","app","se","ae","ue","ce","le","pe","every","me","ve","some","Ae","fe","selectors","$t","he","de","ye","waitForUnmount","splice","be","Se","RegExp","charAt","origin","protocol","test","_e","Te","Pe","De","ReferenceError","Ne","done","Me","configurable","writable","Ie","Reflect","construct","sham","Proxy","valueOf","$e","startsWith","openmrsBase","Ve","headers","G","body","Accept","Re","Be","URL","searchParams","has","set","fetch","label","sent","trys","ops","next","throw","return","iterator","TypeError","ok","data","text","parse","redirectAuthFailure","Ge","enabled","sessionStorage","removeItem","xe","V","to","url","resolvePromise","Fe","We","AbortController","signal","complete","abort","He","ze","Je","Ye","Ke","qe","Qe","method","tn","en","nn","sn","includeAuthStatus","now","rn","loaded","cn","session","user","un","an","userProperties","defaultLocale","locale","documentElement","getAttribute","Intl","Locale","Authorization","vn","ln","authenticated","sessionId","Ze","privileges","find","display","roles","pn","hn","sessionLocation","unsubscribe","dn","yn","bn","mn","Xe","wn","_type","_default","_description","String","_validators","isUrl","_elements","Number","inRange","En","Sn","On","_n","from","Pn","Tn","An","jn","xn","Rn","In","lift","Bn","$n","Vn","Jn","W","Hn","zn","patientUuid","manuallySetVisitUuid","Yn","Fn","pipe","Kn","qn","tr","uuid","er","results","nr","rr","OpenmrsFetchError","VisitMode","Qn","VisitStatus","Xn","attachmentUrl","backendDependencies","or","clearCurrentUser","createAttachment","defaultVisitCustomRepresentation","deleteAttachmentPermanently","fetchCurrentPatient","fhirBaseUrl","getAttachmentByUuid","getAttachments","getCurrentUser","getLocations","getLoggedInUser","getSessionLocation","getSessionStore","getStartedVisit","Zn","getVisitStore","getVisitTypes","getVisitsForPatient","makeUrl","openmrsFetch","openmrsObservableFetch","refetchCurrentUser","restBaseUrl","saveVisit","sessionEndpoint","setCurrentVisit","setSessionLocation","setUserLanguage","setUserProperties","setupApiModule","toLocationObject","toVisitTypeObject","updateVisit","userHasAccess","M","C","setPrototypeOf","__proto__","useDeprecatedSynchronousErrorHandling","stack","closed","_parentOrParents","_subscriptions","_ctorUnsubscribe","_unsubscribe","remove","EMPTY","random","syncErrorValue","syncErrorThrown","syncErrorThrowable","isStopped","destination","_next","_error","_complete","_unsubscribeAndRecycle","_parentSubscriber","_context","__tryOrSetError","__tryOrUnsub","v","observable","_isScalar","_subscribe","source","operator","_trySubscribe","toPromise","S","global","O","_","Function","P","T","A","j","D","U","getPrototypeOf","L","I","R","B","N","freeze","start","ensureJQuerySupport","setBootstrapMaxTime","setMountMaxTime","setUnmountMaxTime","setUnloadMaxTime","registerApplication","unregisterApplication","getMountedApps","getAppStatus","unloadApplication","checkActivityFunctions","getAppNames","pathToActiveWhen","navigateToUrl","patchHistoryApi","triggerAppChange","addErrorHandler","removeErrorHandler","mountRootParcel","NOT_LOADED","LOADING_SOURCE_CODE","NOT_BOOTSTRAPPED","BOOTSTRAPPING","NOT_MOUNTED","MOUNTING","UPDATING","LOAD_ERROR","MOUNTED","UNLOADING","UNMOUNTING","SKIP_BECAUSE_BROKEN","H","globalThis","CustomEvent","detail","foo","initCustomEvent","bubbles","cancelable","createEventObject","Et","hashchange","popstate","singleSpaNavigate","we","ge","Ee","eventArguments","appsToUnload","appsToUnmount","appsToLoad","appsToMount","cancelNavigation","substring","finally","newAppStatuses","appsByNewStatus","totalAppChanges","originalEvent","oldUrl","newUrl","je","getRawAppData","reroute","toLoadPromise","toBootstrapPromise","getProfilerData","__SINGLE_SPA_DEVTOOLS__","exposedMethods","Ue","ke","Ce","Le","Map","statusText","responseBody","response","FormData","append","fileDescription","file","File","fileName","base64Content","gn","fhirPatient","Dn","Nn","subject","subscriber","observers","Un","Mn","hasError","thrownError","Cn","asObservable","kn","_value","getValue","Ln","total","Gn","count","project","thisArg","Wn","localStorage","getItem","setItem","NEWVISIT","EDITVISIT","LOADING","NOTSTARTED","ONGOING","fhir2","config","translationOverridesLoaded","slots","configs","getOwnPropertySymbols","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","schemas","moduleLoaded","entries","extensionSlots","fromEntries","providedConfigs","mountedExtensions","slotModuleName","extensionModuleName","slotName","extensionId","configure","order","ConceptUuid","UUID","PersonAttributeTypeUuid","PatientIdentifierTypeUuid","clearConfigErrors","configExtensionStore","configInternalStore","defineExtensionConfigSchema","getConfigStore","getExtensionConfig","getExtensionConfigFromStore","getExtensionSlotConfig","getExtensionSlotConfigFromStore","getExtensionSlotsConfigStore","getExtensionsConfigStore","getTranslationOverrides","implementerToolsConfigStore","isUrlWithTemplateParameters","oneOf","processConfig","provide","registerModuleWithConfigSystem","registerTranslationNamespace","temporaryConfigStore","validator","propertyIsEnumerable","equals","match","ignoreCase","multiline","sticky","unicode","size","values","_source","__WEBPACK_EXTERNAL_MODULE__254__","__WEBPACK_EXTERNAL_MODULE__45__","__WEBPACK_EXTERNAL_MODULE__513__","__WEBPACK_EXTERNAL_MODULE__740__","__WEBPACK_EXTERNAL_MODULE__685__","__WEBPACK_EXTERNAL_MODULE__901__","__WEBPACK_EXTERNAL_MODULE__688__","__WEBPACK_EXTERNAL_MODULE__954__","__WEBPACK_EXTERNAL_MODULE__493__","__WEBPACK_EXTERNAL_MODULE__792__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","svgContainer","appendContainer","addSvg","htmlId","svgString","svgElement","DOMParser","parseFromString","querySelector","style","readyState","esmStyleGuideSchema","patientPhotoConceptUuid","preferredCalendar","am","MAX_SAFE_INTEGER","enabled$1","process","env","CARBON_ENABLE_CSS_CUSTOM_PROPERTIES","enableCssCustomProperties","CARBON_ENABLE_USE_CONTROLLED_STATE_WITH_VALUE","enableUseControlledStateWithValue","CARBON_ENABLE_CSS_GRID","enableCssGrid","CARBON_ENABLE_V11_RELEASE","enableV11Release","CARBON_ENABLE_EXPERIMENTAL_TILE_CONTRAST","enableExperimentalTileContrast","CARBON_ENABLE_V12_TILE_DEFAULT_ICONS","enableV12TileDefaultIcons","CARBON_ENABLE_V12_OVERFLOWMENU","enableV12Overflowmenu","featureFlagInfo","description","_defineProperties","props","descriptor","input","hint","prim","toPrimitive","res","_toPrimitive","_slicedToArray","arr","_arrayWithHoles","_i","_s","_x","_r","_arr","_d","err","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","arr2","FeatureFlagScope","flags","_this","instance","Constructor","_classCallCheck","protoProps","checkForFlag","_this2","scope","_step","_iterator","allowArrayLike","normalCompletion","didErr","step","_createForOfIteratorHelper","_step$value","FeatureFlags","featureFlag","merge","Subject","modals","modalContainer","modalStack","getComputedStyle","overflow","workspaces","openWorkspaces","prompt","workspaceWindowState","createContext","nextThingToDo","unmounted","handleError","wrapWith","wrapStyle","appendTo","parcelDidMount","addThingToDo","createdDomElement","parcel","getParcelProps","parentNode","removeChild","Consumer","ref","handleRef","className","wrapClassName","basePath","spaBase","noop","UNDEFINED","OBJECT","isUndefined","isFunction","mergeObjects","table","WeakMap","counter","stableHash","isDate","toJSON","sort","SWRGlobalState","EMPTY_CACHE","INITIAL_CACHE","STR_UNDEFINED","isWindowDefined","isDocumentDefined","createCacheHelper","cache","info","prev","online","onWindowEvent","offWindowEvent","preset","isOnline","isVisible","visibilityState","defaultConfigOptions","initFocus","callback","initReconnect","onOnline","onOffline","IS_REACT_LEGACY","IS_SERVER","useIsomorphicLayoutEffect","navigatorConnection","navigator","connection","slowConnection","effectiveType","saveData","__timestamp","getTimestamp","async","internalMutate","_key","_data","_opts","populateCache","throwOnError","revalidate","rollbackOnErrorOption","rollbackOnError","optimisticData","keyFilter","matchedKeys","_k","mutateByKey","EVENT_REVALIDATORS","MUTATION","FETCH","PRELOAD","startRevalidate","revalidators","beforeMutationTs","hasOptimisticData","displayedData","currentData","_c","committedData","isPromiseLike","populateCachedData","revalidateAllKeys","initCache","provider","mutate","subscriptions","subs","setter","initProvider","releaseFocus","releaseReconnect","defaultConfig","onLoadingSlow","onSuccess","onError","onErrorRetry","__","maxRetryCount","errorRetryCount","currentRetryCount","retryCount","timeout","errorRetryInterval","onDiscarded","revalidateOnFocus","revalidateOnReconnect","revalidateIfStale","shouldRetryOnError","focusThrottleInterval","dedupingInterval","loadingTimeout","compare","newData","isPaused","fallback","mergeConfigs","use","u1","f1","u2","f2","SWRConfigContext","enableDevtools","__SWR_DEVTOOLS_USE__","BUILT_IN_MIDDLEWARE","useSWRNext","key_","fetcher_","req","__SWR_DEVTOOLS_REACT__","reason","WITH_DEDUPE","dedupe","parentConfig","useContext","isFunctionalConfig","useMemo","extendedConfig","cacheContextRef","useRef","current","cacheContext","Provider","hook","fetcher","suspense","fallbackData","revalidateOnMount","refreshInterval","refreshWhenHidden","refreshWhenOffline","keepPreviousData","fnArg","initialMountedRef","unmountedRef","keyRef","fetcherRef","configRef","isActive","getCache","setCache","subscribeCache","getInitialCache","stateDependencies","isEqual","returnedData","shouldStartRequest","getSelectedCache","snapshot","isValidating","isLoading","cachedData","initialData","clientSnapshot","serverSnapshot","memorizedSnapshot","newSnapshot","cached","useCallback","isInitialMount","hasRevalidator","laggyDataRef","shouldDoInitialRevalidation","defaultValidatingState","revalidateOpts","currentFetcher","startAt","loading","shouldStartNewRequest","callbackSafeguard","finalState","finishRequestAndUpdateState","cleanupState","requestInfo","initialState","mutationInfo","cacheData","currentConfig","boundMutate","softRevalidate","nextFocusRevalidatedAt","unsubEvents","callbacks","keyedRevalidators","subscribeCallback","rAF","timer","interval","clearTimeout","setGlobalCSSVariable","setProperty","store","fullLogo","partialLogo","iconLogo","switcher"],"sourceRoot":""}