@tanem/svg-injector 11.2.2 → 11.3.1

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.
@@ -145,6 +145,45 @@ var loadSvgUncached = function (url, httpRequestWithCredentials, callback) {
145
145
  });
146
146
  };
147
147
 
148
+ var dataUrlPrefix = 'data:image/svg+xml';
149
+ var parseDataUrl = function (url) {
150
+ if (!url.startsWith(dataUrlPrefix)) {
151
+ return null;
152
+ }
153
+ var rest = url.slice(dataUrlPrefix.length);
154
+ var svgString;
155
+ if (rest.startsWith(';base64,')) {
156
+ try {
157
+ svgString = atob(rest.slice(';base64,'.length));
158
+ } catch (_a) {
159
+ return new Error('Invalid base64 in data URL');
160
+ }
161
+ } else if (rest.startsWith(',')) {
162
+ try {
163
+ svgString = decodeURIComponent(rest.slice(','.length));
164
+ } catch (_b) {
165
+ return new Error('Invalid encoding in data URL');
166
+ }
167
+ } else if (rest.startsWith(';charset=utf-8,')) {
168
+ try {
169
+ svgString = decodeURIComponent(rest.slice(';charset=utf-8,'.length));
170
+ } catch (_c) {
171
+ return new Error('Invalid encoding in data URL');
172
+ }
173
+ } else {
174
+ return new Error('Unsupported data URL format');
175
+ }
176
+ var doc = new DOMParser().parseFromString(svgString, 'image/svg+xml');
177
+ var parserError = doc.querySelector('parsererror');
178
+ if (parserError) {
179
+ return new Error('Data URL SVG parse error: ' + parserError.textContent.trim());
180
+ }
181
+ if (!(doc.documentElement instanceof SVGSVGElement)) {
182
+ return new Error('Data URL did not contain a valid SVG element');
183
+ }
184
+ return doc.documentElement;
185
+ };
186
+
148
187
  var idCounter = 0;
149
188
  var uniqueId = function () {
150
189
  return ++idCounter;
@@ -171,8 +210,14 @@ var injectElement = function (el, evalScripts, renumerateIRIElements, cacheReque
171
210
  var hashIndex = elUrl.indexOf('#');
172
211
  var baseUrl = hashIndex !== -1 ? elUrl.slice(0, hashIndex) : elUrl;
173
212
  var symbolId = hashIndex !== -1 ? elUrl.slice(hashIndex + 1) : null;
174
- var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;
175
- loadSvg(baseUrl, httpRequestWithCredentials, function (error, loadedSvg) {
213
+ var dataUrlResult = parseDataUrl(baseUrl);
214
+ if (dataUrlResult instanceof Error) {
215
+ injectedElements.splice(injectedElements.indexOf(el), 1);
216
+ el = null;
217
+ callback(dataUrlResult);
218
+ return;
219
+ }
220
+ var handleLoadedSvg = function (error, loadedSvg) {
176
221
  var _a, _b;
177
222
  if (!loadedSvg) {
178
223
  injectedElements.splice(injectedElements.indexOf(el), 1);
@@ -371,7 +416,15 @@ var injectElement = function (el, evalScripts, renumerateIRIElements, cacheReque
371
416
  injectedElements.splice(injectedElements.indexOf(el), 1);
372
417
  el = null;
373
418
  callback(null, svg);
374
- });
419
+ };
420
+ if (dataUrlResult) {
421
+ setTimeout(function () {
422
+ handleLoadedSvg(null, dataUrlResult);
423
+ }, 0);
424
+ return;
425
+ }
426
+ var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;
427
+ loadSvg(baseUrl, httpRequestWithCredentials, handleLoadedSvg);
375
428
  };
376
429
 
377
430
  var SVGInjector = function (elements, _a) {
@@ -1 +1 @@
1
- {"version":3,"file":"svg-injector.esm.js","sources":["../compiled/extract-symbol.js","../compiled/cache.js","../compiled/clone-svg.js","../compiled/is-local.js","../compiled/make-ajax-request.js","../compiled/request-queue.js","../compiled/load-svg-cached.js","../compiled/load-svg-uncached.js","../compiled/unique-id.js","../compiled/inject-element.js","../compiled/svg-injector.js"],"sourcesContent":["var svgNamespace = 'http://www.w3.org/2000/svg';\nvar extractSymbol = function (spriteSvg, symbolId) {\n var symbol = spriteSvg.querySelector('#' + CSS.escape(symbolId));\n if ((symbol === null || symbol === void 0 ? void 0 : symbol.tagName.toLowerCase()) !== 'symbol') {\n return null;\n }\n var svg = document.createElementNS(svgNamespace, 'svg');\n var attrs = symbol.attributes;\n for (var i = 0, len = attrs.length; i < len; i++) {\n var attr = attrs[i];\n if (attr.name !== 'id') {\n svg.setAttribute(attr.name, attr.value);\n }\n }\n var children = symbol.childNodes;\n for (var i = 0, len = children.length; i < len; i++) {\n svg.appendChild(children[i].cloneNode(true));\n }\n return svg;\n};\nexport default extractSymbol;\n//# sourceMappingURL=extract-symbol.js.map","var cache = new Map();\nexport default cache;\n//# sourceMappingURL=cache.js.map","var cloneSvg = function (sourceSvg) {\n return sourceSvg.cloneNode(true);\n};\nexport default cloneSvg;\n//# sourceMappingURL=clone-svg.js.map","var isLocal = function () { return window.location.protocol === 'file:'; };\nexport default isLocal;\n//# sourceMappingURL=is-local.js.map","import { parse as parseContentType } from 'content-type';\nimport isLocal from './is-local';\nvar makeAjaxRequest = function (url, httpRequestWithCredentials, callback) {\n var httpRequest = new XMLHttpRequest();\n httpRequest.onreadystatechange = function () {\n try {\n if (!/\\.svg/i.test(url) && httpRequest.readyState === 2) {\n var contentType = httpRequest.getResponseHeader('Content-Type');\n if (!contentType) {\n throw new Error('Content type not found');\n }\n var type = parseContentType(contentType).type;\n if (!(type === 'image/svg+xml' || type === 'text/plain')) {\n throw new Error(\"Invalid content type: \".concat(type));\n }\n }\n if (httpRequest.readyState === 4) {\n if (httpRequest.status === 404 || httpRequest.responseXML === null) {\n throw new Error(isLocal()\n ? 'Note: SVG injection ajax calls do not work locally without ' +\n 'adjusting security settings in your browser. Or consider ' +\n 'using a local webserver.'\n : 'Unable to load SVG file: ' + url);\n }\n if (httpRequest.status === 200 ||\n (isLocal() && httpRequest.status === 0)) {\n callback(null, httpRequest);\n }\n else {\n throw new Error('There was a problem injecting the SVG: ' +\n httpRequest.status +\n ' ' +\n httpRequest.statusText);\n }\n }\n }\n catch (error) {\n httpRequest.abort();\n if (error instanceof Error) {\n callback(error, httpRequest);\n }\n else {\n throw error;\n }\n }\n };\n httpRequest.open('GET', url);\n httpRequest.withCredentials = httpRequestWithCredentials;\n if (httpRequest.overrideMimeType) {\n httpRequest.overrideMimeType('image/svg+xml');\n }\n httpRequest.send();\n};\nexport default makeAjaxRequest;\n//# sourceMappingURL=make-ajax-request.js.map","import cache from './cache';\nimport cloneSvg from './clone-svg';\nvar requestQueue = {};\nexport var queueRequest = function (url, callback) {\n var _a;\n (_a = requestQueue[url]) !== null && _a !== void 0 ? _a : (requestQueue[url] = []);\n requestQueue[url].push(callback);\n};\nexport var processRequestQueue = function (url) {\n var callbacks = requestQueue[url];\n if (!callbacks) {\n return;\n }\n var _loop_1 = function (i, len) {\n setTimeout(function () {\n if (Array.isArray(requestQueue[url])) {\n var cacheValue = cache.get(url);\n var callback = callbacks[i];\n if (!callback) {\n return;\n }\n if (cacheValue instanceof SVGSVGElement) {\n callback(null, cloneSvg(cacheValue));\n }\n if (cacheValue instanceof Error) {\n callback(cacheValue);\n }\n if (i === callbacks.length - 1) {\n delete requestQueue[url];\n }\n }\n }, 0);\n };\n for (var i = 0, len = callbacks.length; i < len; i++) {\n _loop_1(i, len);\n }\n};\n//# sourceMappingURL=request-queue.js.map","import cache from './cache';\nimport cloneSvg from './clone-svg';\nimport makeAjaxRequest from './make-ajax-request';\nimport { processRequestQueue, queueRequest } from './request-queue';\nvar loadSvgCached = function (url, httpRequestWithCredentials, callback) {\n if (cache.has(url)) {\n var cacheValue = cache.get(url);\n if (cacheValue === undefined) {\n queueRequest(url, callback);\n return;\n }\n if (cacheValue instanceof SVGSVGElement) {\n callback(null, cloneSvg(cacheValue));\n return;\n }\n }\n cache.set(url, undefined);\n queueRequest(url, callback);\n makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {\n var _a;\n if (error) {\n cache.set(url, error);\n }\n else if (((_a = httpRequest.responseXML) === null || _a === void 0 ? void 0 : _a.documentElement) instanceof SVGSVGElement) {\n cache.set(url, httpRequest.responseXML.documentElement);\n }\n processRequestQueue(url);\n });\n};\nexport default loadSvgCached;\n//# sourceMappingURL=load-svg-cached.js.map","import makeAjaxRequest from './make-ajax-request';\nvar loadSvgUncached = function (url, httpRequestWithCredentials, callback) {\n makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {\n var _a;\n if (error) {\n callback(error);\n }\n else if (((_a = httpRequest.responseXML) === null || _a === void 0 ? void 0 : _a.documentElement) instanceof SVGSVGElement) {\n callback(null, httpRequest.responseXML.documentElement);\n }\n });\n};\nexport default loadSvgUncached;\n//# sourceMappingURL=load-svg-uncached.js.map","var idCounter = 0;\nvar uniqueId = function () { return ++idCounter; };\nexport default uniqueId;\n//# sourceMappingURL=unique-id.js.map","import { __spreadArray } from \"tslib\";\nimport extractSymbol from './extract-symbol';\nimport loadSvgCached from './load-svg-cached';\nimport loadSvgUncached from './load-svg-uncached';\nimport uniqueId from './unique-id';\nvar injectedElements = [];\nvar ranScripts = {};\nvar svgNamespace = 'http://www.w3.org/2000/svg';\nvar xlinkNamespace = 'http://www.w3.org/1999/xlink';\nvar injectElement = function (el, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, callback) {\n var _a;\n var elUrl = (_a = el.getAttribute('data-src')) !== null && _a !== void 0 ? _a : el.getAttribute('src');\n if (!elUrl) {\n callback(new Error('Invalid data-src or src attribute'));\n return;\n }\n if (injectedElements.indexOf(el) !== -1) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n return;\n }\n injectedElements.push(el);\n el.setAttribute('src', '');\n var hashIndex = elUrl.indexOf('#');\n var baseUrl = hashIndex !== -1 ? elUrl.slice(0, hashIndex) : elUrl;\n var symbolId = hashIndex !== -1 ? elUrl.slice(hashIndex + 1) : null;\n var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;\n loadSvg(baseUrl, httpRequestWithCredentials, function (error, loadedSvg) {\n var _a, _b;\n if (!loadedSvg) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(error);\n return;\n }\n var svg = loadedSvg;\n if (symbolId) {\n var symbolSvg = extractSymbol(loadedSvg, symbolId);\n if (!symbolSvg) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(new Error(\"Symbol \\\"\".concat(symbolId, \"\\\" not found in \").concat(baseUrl)));\n return;\n }\n svg = symbolSvg;\n }\n var elId = el.getAttribute('id');\n if (elId) {\n svg.setAttribute('id', elId);\n }\n var elTitle = el.getAttribute('title');\n if (elTitle) {\n svg.setAttribute('title', elTitle);\n }\n var elWidth = el.getAttribute('width');\n if (elWidth) {\n svg.setAttribute('width', elWidth);\n }\n var elHeight = el.getAttribute('height');\n if (elHeight) {\n svg.setAttribute('height', elHeight);\n }\n var mergedClasses = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray([], ((_a = svg.getAttribute('class')) !== null && _a !== void 0 ? _a : '').split(' '), true), [\n 'injected-svg'\n ], false), ((_b = el.getAttribute('class')) !== null && _b !== void 0 ? _b : '').split(' '), true)))\n .join(' ')\n .trim();\n svg.setAttribute('class', mergedClasses);\n var elStyle = el.getAttribute('style');\n if (elStyle) {\n svg.setAttribute('style', elStyle);\n }\n svg.setAttribute('data-src', elUrl);\n var elData = [].filter.call(el.attributes, function (at) {\n return /^data-\\w[\\w-]*$/.test(at.name);\n });\n Array.prototype.forEach.call(elData, function (dataAttr) {\n if (dataAttr.name && dataAttr.value) {\n svg.setAttribute(dataAttr.name, dataAttr.value);\n }\n });\n if (renumerateIRIElements) {\n var iriElementsAndProperties_1 = {\n clipPath: ['clip-path'],\n 'color-profile': ['color-profile'],\n cursor: ['cursor'],\n filter: ['filter'],\n linearGradient: ['fill', 'stroke'],\n marker: ['marker', 'marker-start', 'marker-mid', 'marker-end'],\n mask: ['mask'],\n path: [],\n pattern: ['fill', 'stroke'],\n radialGradient: ['fill', 'stroke'],\n };\n var replaceIriReferences_1 = function (value, iriIdMap) {\n return value.replace(/url\\((['\"]?)\\s*#([^\\s'\"\\)]+)\\s*\\1\\)/g, function (match, _quote, iriId) {\n var newId = iriIdMap[iriId];\n return newId ? \"url(#\".concat(newId, \")\") : match;\n });\n };\n var replaceHrefReference = function (value, iriIdMap) {\n if (!value.startsWith('#')) {\n return value;\n }\n var iriId = value.slice(1);\n var newId = iriIdMap[iriId];\n return newId ? '#' + newId : value;\n };\n var element_1;\n var elements_1;\n var properties_1;\n var currentId_1;\n var newId_1;\n var renumeratedElements_1 = [];\n var iriIdMap_1 = {};\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n element_1 = key;\n elements_1 = svg.querySelectorAll(element_1 + '[id]');\n for (var a = 0, elementsLen = elements_1.length; a < elementsLen; a++) {\n var currentElement = elements_1[a];\n currentId_1 = currentElement.id;\n newId_1 = currentId_1 + '-' + uniqueId();\n iriIdMap_1[currentId_1] = newId_1;\n renumeratedElements_1.push({\n element: currentElement,\n currentId: currentId_1,\n newId: newId_1,\n });\n }\n });\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n properties_1 = iriElementsAndProperties_1[key];\n var referencingElements;\n Array.prototype.forEach.call(properties_1, function (property) {\n referencingElements = svg.querySelectorAll('[' + property + ']');\n for (var b = 0, referencingElementLen = referencingElements.length; b < referencingElementLen; b++) {\n var referencingElement = referencingElements[b];\n var attrValue = referencingElement.getAttribute(property);\n if (attrValue) {\n var nextValue = replaceIriReferences_1(attrValue, iriIdMap_1);\n if (nextValue !== attrValue) {\n referencingElement.setAttribute(property, nextValue);\n }\n }\n }\n });\n });\n var allLinks = svg.querySelectorAll('*');\n for (var c = 0, allLinksLen = allLinks.length; c < allLinksLen; c++) {\n var link = allLinks[c];\n var href = link.getAttribute('href');\n if (href) {\n var nextHref = replaceHrefReference(href, iriIdMap_1);\n if (nextHref !== href) {\n link.setAttribute('href', nextHref);\n }\n }\n var xlinkHref = link.getAttributeNS(xlinkNamespace, 'href');\n if (xlinkHref) {\n var nextXlinkHref = replaceHrefReference(xlinkHref, iriIdMap_1);\n if (nextXlinkHref !== xlinkHref) {\n link.setAttributeNS(xlinkNamespace, 'href', nextXlinkHref);\n }\n }\n }\n var styleElements = svg.querySelectorAll('[style]');\n for (var d = 0, styleElementsLen = styleElements.length; d < styleElementsLen; d++) {\n var styleElement = styleElements[d];\n var styleValue = styleElement.getAttribute('style');\n if (styleValue) {\n var nextStyleValue = replaceIriReferences_1(styleValue, iriIdMap_1);\n if (nextStyleValue !== styleValue) {\n styleElement.setAttribute('style', nextStyleValue);\n }\n }\n }\n var styleTagElements = svg.querySelectorAll('style');\n for (var e = 0, styleTagElementsLen = styleTagElements.length; e < styleTagElementsLen; e++) {\n var styleTagElement = styleTagElements[e];\n var textContent = styleTagElement.textContent;\n if (textContent) {\n var nextTextContent = replaceIriReferences_1(textContent, iriIdMap_1);\n if (nextTextContent !== textContent) {\n styleTagElement.textContent = nextTextContent;\n }\n }\n }\n for (var f = 0, renumeratedElementsLen = renumeratedElements_1.length; f < renumeratedElementsLen; f++) {\n renumeratedElements_1[f].element.id = renumeratedElements_1[f].newId;\n }\n }\n svg.removeAttribute('xmlns:a');\n var scripts = svg.querySelectorAll('script');\n var scriptsToEval = [];\n var script;\n var scriptType;\n for (var i = 0, scriptsLen = scripts.length; i < scriptsLen; i++) {\n var scriptElement = scripts[i];\n scriptType = scriptElement.getAttribute('type');\n if (!scriptType ||\n scriptType === 'application/ecmascript' ||\n scriptType === 'application/javascript' ||\n scriptType === 'text/javascript') {\n script = scriptElement.innerText || scriptElement.textContent;\n if (script) {\n scriptsToEval.push(script);\n }\n svg.removeChild(scriptElement);\n }\n }\n if (scriptsToEval.length > 0 &&\n (evalScripts === 'always' ||\n (evalScripts === 'once' && !ranScripts[elUrl]))) {\n for (var l = 0, scriptsToEvalLen = scriptsToEval.length; l < scriptsToEvalLen; l++) {\n new Function(scriptsToEval[l])(window);\n }\n ranScripts[elUrl] = true;\n }\n var styleTags = svg.querySelectorAll('style');\n Array.prototype.forEach.call(styleTags, function (styleTag) {\n styleTag.textContent += '';\n });\n svg.setAttribute('xmlns', svgNamespace);\n svg.setAttribute('xmlns:xlink', xlinkNamespace);\n beforeEach(svg);\n if (!el.parentNode) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(new Error('Parent node is null'));\n return;\n }\n el.parentNode.replaceChild(svg, el);\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(null, svg);\n });\n};\nexport default injectElement;\n//# sourceMappingURL=inject-element.js.map","import injectElement from './inject-element';\nvar SVGInjector = function (elements, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.afterAll, afterAll = _c === void 0 ? function () { return undefined; } : _c, _d = _b.afterEach, afterEach = _d === void 0 ? function () { return undefined; } : _d, _e = _b.beforeEach, beforeEach = _e === void 0 ? function () { return undefined; } : _e, _f = _b.cacheRequests, cacheRequests = _f === void 0 ? true : _f, _g = _b.evalScripts, evalScripts = _g === void 0 ? 'never' : _g, _h = _b.httpRequestWithCredentials, httpRequestWithCredentials = _h === void 0 ? false : _h, _j = _b.renumerateIRIElements, renumerateIRIElements = _j === void 0 ? true : _j;\n if (elements && 'length' in elements) {\n var elementsLoaded_1 = 0;\n for (var i = 0, j = elements.length; i < j; i++) {\n var element = elements[i];\n if (!element) {\n continue;\n }\n injectElement(element, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {\n afterEach(error, svg);\n if (elements &&\n 'length' in elements &&\n elements.length === ++elementsLoaded_1) {\n afterAll(elementsLoaded_1);\n }\n });\n }\n }\n else if (elements) {\n injectElement(elements, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {\n afterEach(error, svg);\n afterAll(1);\n elements = null;\n });\n }\n else {\n afterAll(0);\n }\n};\nexport default SVGInjector;\n//# sourceMappingURL=svg-injector.js.map"],"names":["svgNamespace","extractSymbol","spriteSvg","symbolId","symbol","querySelector","CSS","escape","tagName","toLowerCase","svg","document","createElementNS","attrs","attributes","i","len","length","attr","name","setAttribute","value","children","childNodes","appendChild","cloneNode","cache","Map","cloneSvg","sourceSvg","isLocal","window","location","protocol","makeAjaxRequest","url","httpRequestWithCredentials","callback","httpRequest","XMLHttpRequest","onreadystatechange","test","readyState","contentType","getResponseHeader","Error","type","parseContentType","concat","status","responseXML","statusText","error","abort","open","withCredentials","overrideMimeType","send","requestQueue","queueRequest","_a","push","processRequestQueue","callbacks","setTimeout","Array","isArray","cacheValue","get","SVGSVGElement","loadSvgCached","has","undefined","set","documentElement","loadSvgUncached","idCounter","uniqueId","injectedElements","ranScripts","xlinkNamespace","injectElement","el","evalScripts","renumerateIRIElements","cacheRequests","beforeEach","elUrl","getAttribute","indexOf","splice","hashIndex","baseUrl","slice","loadSvg","loadedSvg","symbolSvg","elId","elTitle","elWidth","elHeight","mergedClasses","from","Set","__spreadArray","split","_b","join","trim","elStyle","elData","filter","call","at","prototype","forEach","dataAttr","iriElementsAndProperties_1","clipPath","cursor","linearGradient","marker","mask","path","pattern","radialGradient","replaceIriReferences_1","iriIdMap","replace","match","_quote","iriId","newId","replaceHrefReference","startsWith","element_1","elements_1","properties_1","currentId_1","newId_1","renumeratedElements_1","iriIdMap_1","Object","keys","key","querySelectorAll","a","elementsLen","currentElement","id","element","currentId","referencingElements","property","b","referencingElementLen","referencingElement","attrValue","nextValue","allLinks","c","allLinksLen","link","href","nextHref","xlinkHref","getAttributeNS","nextXlinkHref","setAttributeNS","styleElements","d","styleElementsLen","styleElement","styleValue","nextStyleValue","styleTagElements","e","styleTagElementsLen","styleTagElement","textContent","nextTextContent","f","renumeratedElementsLen","removeAttribute","scripts","scriptsToEval","script","scriptType","scriptsLen","scriptElement","innerText","removeChild","l","scriptsToEvalLen","Function","styleTags","styleTag","parentNode","replaceChild","SVGInjector","elements","_c","afterAll","_d","afterEach","_e","_f","_g","_h","_j","elementsLoaded_1","j"],"mappings":"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"}
1
+ {"version":3,"file":"svg-injector.esm.js","sources":["../compiled/extract-symbol.js","../compiled/cache.js","../compiled/clone-svg.js","../compiled/is-local.js","../compiled/make-ajax-request.js","../compiled/request-queue.js","../compiled/load-svg-cached.js","../compiled/load-svg-uncached.js","../compiled/parse-data-url.js","../compiled/unique-id.js","../compiled/inject-element.js","../compiled/svg-injector.js"],"sourcesContent":["var svgNamespace = 'http://www.w3.org/2000/svg';\nvar extractSymbol = function (spriteSvg, symbolId) {\n var symbol = spriteSvg.querySelector('#' + CSS.escape(symbolId));\n if ((symbol === null || symbol === void 0 ? void 0 : symbol.tagName.toLowerCase()) !== 'symbol') {\n return null;\n }\n var svg = document.createElementNS(svgNamespace, 'svg');\n var attrs = symbol.attributes;\n for (var i = 0, len = attrs.length; i < len; i++) {\n var attr = attrs[i];\n if (attr.name !== 'id') {\n svg.setAttribute(attr.name, attr.value);\n }\n }\n var children = symbol.childNodes;\n for (var i = 0, len = children.length; i < len; i++) {\n svg.appendChild(children[i].cloneNode(true));\n }\n return svg;\n};\nexport default extractSymbol;\n//# sourceMappingURL=extract-symbol.js.map","var cache = new Map();\nexport default cache;\n//# sourceMappingURL=cache.js.map","var cloneSvg = function (sourceSvg) {\n return sourceSvg.cloneNode(true);\n};\nexport default cloneSvg;\n//# sourceMappingURL=clone-svg.js.map","var isLocal = function () { return window.location.protocol === 'file:'; };\nexport default isLocal;\n//# sourceMappingURL=is-local.js.map","import { parse as parseContentType } from 'content-type';\nimport isLocal from './is-local';\nvar makeAjaxRequest = function (url, httpRequestWithCredentials, callback) {\n var httpRequest = new XMLHttpRequest();\n httpRequest.onreadystatechange = function () {\n try {\n if (!/\\.svg/i.test(url) && httpRequest.readyState === 2) {\n var contentType = httpRequest.getResponseHeader('Content-Type');\n if (!contentType) {\n throw new Error('Content type not found');\n }\n var type = parseContentType(contentType).type;\n if (!(type === 'image/svg+xml' || type === 'text/plain')) {\n throw new Error(\"Invalid content type: \".concat(type));\n }\n }\n if (httpRequest.readyState === 4) {\n if (httpRequest.status === 404 || httpRequest.responseXML === null) {\n throw new Error(isLocal()\n ? 'Note: SVG injection ajax calls do not work locally without ' +\n 'adjusting security settings in your browser. Or consider ' +\n 'using a local webserver.'\n : 'Unable to load SVG file: ' + url);\n }\n if (httpRequest.status === 200 ||\n (isLocal() && httpRequest.status === 0)) {\n callback(null, httpRequest);\n }\n else {\n throw new Error('There was a problem injecting the SVG: ' +\n httpRequest.status +\n ' ' +\n httpRequest.statusText);\n }\n }\n }\n catch (error) {\n httpRequest.abort();\n if (error instanceof Error) {\n callback(error, httpRequest);\n }\n else {\n throw error;\n }\n }\n };\n httpRequest.open('GET', url);\n httpRequest.withCredentials = httpRequestWithCredentials;\n if (httpRequest.overrideMimeType) {\n httpRequest.overrideMimeType('image/svg+xml');\n }\n httpRequest.send();\n};\nexport default makeAjaxRequest;\n//# sourceMappingURL=make-ajax-request.js.map","import cache from './cache';\nimport cloneSvg from './clone-svg';\nvar requestQueue = {};\nexport var queueRequest = function (url, callback) {\n var _a;\n (_a = requestQueue[url]) !== null && _a !== void 0 ? _a : (requestQueue[url] = []);\n requestQueue[url].push(callback);\n};\nexport var processRequestQueue = function (url) {\n var callbacks = requestQueue[url];\n if (!callbacks) {\n return;\n }\n var _loop_1 = function (i, len) {\n setTimeout(function () {\n if (Array.isArray(requestQueue[url])) {\n var cacheValue = cache.get(url);\n var callback = callbacks[i];\n if (!callback) {\n return;\n }\n if (cacheValue instanceof SVGSVGElement) {\n callback(null, cloneSvg(cacheValue));\n }\n if (cacheValue instanceof Error) {\n callback(cacheValue);\n }\n if (i === callbacks.length - 1) {\n delete requestQueue[url];\n }\n }\n }, 0);\n };\n for (var i = 0, len = callbacks.length; i < len; i++) {\n _loop_1(i, len);\n }\n};\n//# sourceMappingURL=request-queue.js.map","import cache from './cache';\nimport cloneSvg from './clone-svg';\nimport makeAjaxRequest from './make-ajax-request';\nimport { processRequestQueue, queueRequest } from './request-queue';\nvar loadSvgCached = function (url, httpRequestWithCredentials, callback) {\n if (cache.has(url)) {\n var cacheValue = cache.get(url);\n if (cacheValue === undefined) {\n queueRequest(url, callback);\n return;\n }\n if (cacheValue instanceof SVGSVGElement) {\n callback(null, cloneSvg(cacheValue));\n return;\n }\n }\n cache.set(url, undefined);\n queueRequest(url, callback);\n makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {\n var _a;\n if (error) {\n cache.set(url, error);\n }\n else if (((_a = httpRequest.responseXML) === null || _a === void 0 ? void 0 : _a.documentElement) instanceof SVGSVGElement) {\n cache.set(url, httpRequest.responseXML.documentElement);\n }\n processRequestQueue(url);\n });\n};\nexport default loadSvgCached;\n//# sourceMappingURL=load-svg-cached.js.map","import makeAjaxRequest from './make-ajax-request';\nvar loadSvgUncached = function (url, httpRequestWithCredentials, callback) {\n makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {\n var _a;\n if (error) {\n callback(error);\n }\n else if (((_a = httpRequest.responseXML) === null || _a === void 0 ? void 0 : _a.documentElement) instanceof SVGSVGElement) {\n callback(null, httpRequest.responseXML.documentElement);\n }\n });\n};\nexport default loadSvgUncached;\n//# sourceMappingURL=load-svg-uncached.js.map","var dataUrlPrefix = 'data:image/svg+xml';\nvar parseDataUrl = function (url) {\n if (!url.startsWith(dataUrlPrefix)) {\n return null;\n }\n var rest = url.slice(dataUrlPrefix.length);\n var svgString;\n if (rest.startsWith(';base64,')) {\n try {\n svgString = atob(rest.slice(';base64,'.length));\n }\n catch (_a) {\n return new Error('Invalid base64 in data URL');\n }\n }\n else if (rest.startsWith(',')) {\n try {\n svgString = decodeURIComponent(rest.slice(','.length));\n }\n catch (_b) {\n return new Error('Invalid encoding in data URL');\n }\n }\n else if (rest.startsWith(';charset=utf-8,')) {\n try {\n svgString = decodeURIComponent(rest.slice(';charset=utf-8,'.length));\n }\n catch (_c) {\n return new Error('Invalid encoding in data URL');\n }\n }\n else {\n return new Error('Unsupported data URL format');\n }\n var doc = new DOMParser().parseFromString(svgString, 'image/svg+xml');\n var parserError = doc.querySelector('parsererror');\n if (parserError) {\n return new Error('Data URL SVG parse error: ' + parserError.textContent.trim());\n }\n if (!(doc.documentElement instanceof SVGSVGElement)) {\n return new Error('Data URL did not contain a valid SVG element');\n }\n return doc.documentElement;\n};\nexport default parseDataUrl;\n//# sourceMappingURL=parse-data-url.js.map","var idCounter = 0;\nvar uniqueId = function () { return ++idCounter; };\nexport default uniqueId;\n//# sourceMappingURL=unique-id.js.map","import { __spreadArray } from \"tslib\";\nimport extractSymbol from './extract-symbol';\nimport loadSvgCached from './load-svg-cached';\nimport loadSvgUncached from './load-svg-uncached';\nimport parseDataUrl from './parse-data-url';\nimport uniqueId from './unique-id';\nvar injectedElements = [];\nvar ranScripts = {};\nvar svgNamespace = 'http://www.w3.org/2000/svg';\nvar xlinkNamespace = 'http://www.w3.org/1999/xlink';\nvar injectElement = function (el, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, callback) {\n var _a;\n var elUrl = (_a = el.getAttribute('data-src')) !== null && _a !== void 0 ? _a : el.getAttribute('src');\n if (!elUrl) {\n callback(new Error('Invalid data-src or src attribute'));\n return;\n }\n if (injectedElements.indexOf(el) !== -1) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n return;\n }\n injectedElements.push(el);\n el.setAttribute('src', '');\n var hashIndex = elUrl.indexOf('#');\n var baseUrl = hashIndex !== -1 ? elUrl.slice(0, hashIndex) : elUrl;\n var symbolId = hashIndex !== -1 ? elUrl.slice(hashIndex + 1) : null;\n var dataUrlResult = parseDataUrl(baseUrl);\n if (dataUrlResult instanceof Error) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(dataUrlResult);\n return;\n }\n var handleLoadedSvg = function (error, loadedSvg) {\n var _a, _b;\n if (!loadedSvg) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(error);\n return;\n }\n var svg = loadedSvg;\n if (symbolId) {\n var symbolSvg = extractSymbol(loadedSvg, symbolId);\n if (!symbolSvg) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(new Error(\"Symbol \\\"\".concat(symbolId, \"\\\" not found in \").concat(baseUrl)));\n return;\n }\n svg = symbolSvg;\n }\n var elId = el.getAttribute('id');\n if (elId) {\n svg.setAttribute('id', elId);\n }\n var elTitle = el.getAttribute('title');\n if (elTitle) {\n svg.setAttribute('title', elTitle);\n }\n var elWidth = el.getAttribute('width');\n if (elWidth) {\n svg.setAttribute('width', elWidth);\n }\n var elHeight = el.getAttribute('height');\n if (elHeight) {\n svg.setAttribute('height', elHeight);\n }\n var mergedClasses = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray([], ((_a = svg.getAttribute('class')) !== null && _a !== void 0 ? _a : '').split(' '), true), [\n 'injected-svg'\n ], false), ((_b = el.getAttribute('class')) !== null && _b !== void 0 ? _b : '').split(' '), true)))\n .join(' ')\n .trim();\n svg.setAttribute('class', mergedClasses);\n var elStyle = el.getAttribute('style');\n if (elStyle) {\n svg.setAttribute('style', elStyle);\n }\n svg.setAttribute('data-src', elUrl);\n var elData = [].filter.call(el.attributes, function (at) {\n return /^data-\\w[\\w-]*$/.test(at.name);\n });\n Array.prototype.forEach.call(elData, function (dataAttr) {\n if (dataAttr.name && dataAttr.value) {\n svg.setAttribute(dataAttr.name, dataAttr.value);\n }\n });\n if (renumerateIRIElements) {\n var iriElementsAndProperties_1 = {\n clipPath: ['clip-path'],\n 'color-profile': ['color-profile'],\n cursor: ['cursor'],\n filter: ['filter'],\n linearGradient: ['fill', 'stroke'],\n marker: ['marker', 'marker-start', 'marker-mid', 'marker-end'],\n mask: ['mask'],\n path: [],\n pattern: ['fill', 'stroke'],\n radialGradient: ['fill', 'stroke'],\n };\n var replaceIriReferences_1 = function (value, iriIdMap) {\n return value.replace(/url\\((['\"]?)\\s*#([^\\s'\"\\)]+)\\s*\\1\\)/g, function (match, _quote, iriId) {\n var newId = iriIdMap[iriId];\n return newId ? \"url(#\".concat(newId, \")\") : match;\n });\n };\n var replaceHrefReference = function (value, iriIdMap) {\n if (!value.startsWith('#')) {\n return value;\n }\n var iriId = value.slice(1);\n var newId = iriIdMap[iriId];\n return newId ? '#' + newId : value;\n };\n var element_1;\n var elements_1;\n var properties_1;\n var currentId_1;\n var newId_1;\n var renumeratedElements_1 = [];\n var iriIdMap_1 = {};\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n element_1 = key;\n elements_1 = svg.querySelectorAll(element_1 + '[id]');\n for (var a = 0, elementsLen = elements_1.length; a < elementsLen; a++) {\n var currentElement = elements_1[a];\n currentId_1 = currentElement.id;\n newId_1 = currentId_1 + '-' + uniqueId();\n iriIdMap_1[currentId_1] = newId_1;\n renumeratedElements_1.push({\n element: currentElement,\n currentId: currentId_1,\n newId: newId_1,\n });\n }\n });\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n properties_1 = iriElementsAndProperties_1[key];\n var referencingElements;\n Array.prototype.forEach.call(properties_1, function (property) {\n referencingElements = svg.querySelectorAll('[' + property + ']');\n for (var b = 0, referencingElementLen = referencingElements.length; b < referencingElementLen; b++) {\n var referencingElement = referencingElements[b];\n var attrValue = referencingElement.getAttribute(property);\n if (attrValue) {\n var nextValue = replaceIriReferences_1(attrValue, iriIdMap_1);\n if (nextValue !== attrValue) {\n referencingElement.setAttribute(property, nextValue);\n }\n }\n }\n });\n });\n var allLinks = svg.querySelectorAll('*');\n for (var c = 0, allLinksLen = allLinks.length; c < allLinksLen; c++) {\n var link = allLinks[c];\n var href = link.getAttribute('href');\n if (href) {\n var nextHref = replaceHrefReference(href, iriIdMap_1);\n if (nextHref !== href) {\n link.setAttribute('href', nextHref);\n }\n }\n var xlinkHref = link.getAttributeNS(xlinkNamespace, 'href');\n if (xlinkHref) {\n var nextXlinkHref = replaceHrefReference(xlinkHref, iriIdMap_1);\n if (nextXlinkHref !== xlinkHref) {\n link.setAttributeNS(xlinkNamespace, 'href', nextXlinkHref);\n }\n }\n }\n var styleElements = svg.querySelectorAll('[style]');\n for (var d = 0, styleElementsLen = styleElements.length; d < styleElementsLen; d++) {\n var styleElement = styleElements[d];\n var styleValue = styleElement.getAttribute('style');\n if (styleValue) {\n var nextStyleValue = replaceIriReferences_1(styleValue, iriIdMap_1);\n if (nextStyleValue !== styleValue) {\n styleElement.setAttribute('style', nextStyleValue);\n }\n }\n }\n var styleTagElements = svg.querySelectorAll('style');\n for (var e = 0, styleTagElementsLen = styleTagElements.length; e < styleTagElementsLen; e++) {\n var styleTagElement = styleTagElements[e];\n var textContent = styleTagElement.textContent;\n if (textContent) {\n var nextTextContent = replaceIriReferences_1(textContent, iriIdMap_1);\n if (nextTextContent !== textContent) {\n styleTagElement.textContent = nextTextContent;\n }\n }\n }\n for (var f = 0, renumeratedElementsLen = renumeratedElements_1.length; f < renumeratedElementsLen; f++) {\n renumeratedElements_1[f].element.id = renumeratedElements_1[f].newId;\n }\n }\n svg.removeAttribute('xmlns:a');\n var scripts = svg.querySelectorAll('script');\n var scriptsToEval = [];\n var script;\n var scriptType;\n for (var i = 0, scriptsLen = scripts.length; i < scriptsLen; i++) {\n var scriptElement = scripts[i];\n scriptType = scriptElement.getAttribute('type');\n if (!scriptType ||\n scriptType === 'application/ecmascript' ||\n scriptType === 'application/javascript' ||\n scriptType === 'text/javascript') {\n script = scriptElement.innerText || scriptElement.textContent;\n if (script) {\n scriptsToEval.push(script);\n }\n svg.removeChild(scriptElement);\n }\n }\n if (scriptsToEval.length > 0 &&\n (evalScripts === 'always' ||\n (evalScripts === 'once' && !ranScripts[elUrl]))) {\n for (var l = 0, scriptsToEvalLen = scriptsToEval.length; l < scriptsToEvalLen; l++) {\n new Function(scriptsToEval[l])(window);\n }\n ranScripts[elUrl] = true;\n }\n var styleTags = svg.querySelectorAll('style');\n Array.prototype.forEach.call(styleTags, function (styleTag) {\n styleTag.textContent += '';\n });\n svg.setAttribute('xmlns', svgNamespace);\n svg.setAttribute('xmlns:xlink', xlinkNamespace);\n beforeEach(svg);\n if (!el.parentNode) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(new Error('Parent node is null'));\n return;\n }\n el.parentNode.replaceChild(svg, el);\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(null, svg);\n };\n if (dataUrlResult) {\n setTimeout(function () {\n handleLoadedSvg(null, dataUrlResult);\n }, 0);\n return;\n }\n var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;\n loadSvg(baseUrl, httpRequestWithCredentials, handleLoadedSvg);\n};\nexport default injectElement;\n//# sourceMappingURL=inject-element.js.map","import injectElement from './inject-element';\nvar SVGInjector = function (elements, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.afterAll, afterAll = _c === void 0 ? function () { return undefined; } : _c, _d = _b.afterEach, afterEach = _d === void 0 ? function () { return undefined; } : _d, _e = _b.beforeEach, beforeEach = _e === void 0 ? function () { return undefined; } : _e, _f = _b.cacheRequests, cacheRequests = _f === void 0 ? true : _f, _g = _b.evalScripts, evalScripts = _g === void 0 ? 'never' : _g, _h = _b.httpRequestWithCredentials, httpRequestWithCredentials = _h === void 0 ? false : _h, _j = _b.renumerateIRIElements, renumerateIRIElements = _j === void 0 ? true : _j;\n if (elements && 'length' in elements) {\n var elementsLoaded_1 = 0;\n for (var i = 0, j = elements.length; i < j; i++) {\n var element = elements[i];\n if (!element) {\n continue;\n }\n injectElement(element, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {\n afterEach(error, svg);\n if (elements &&\n 'length' in elements &&\n elements.length === ++elementsLoaded_1) {\n afterAll(elementsLoaded_1);\n }\n });\n }\n }\n else if (elements) {\n injectElement(elements, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {\n afterEach(error, svg);\n afterAll(1);\n elements = null;\n });\n }\n else {\n afterAll(0);\n }\n};\nexport default SVGInjector;\n//# sourceMappingURL=svg-injector.js.map"],"names":["svgNamespace","extractSymbol","spriteSvg","symbolId","symbol","querySelector","CSS","escape","tagName","toLowerCase","svg","document","createElementNS","attrs","attributes","i","len","length","attr","name","setAttribute","value","children","childNodes","appendChild","cloneNode","cache","Map","cloneSvg","sourceSvg","isLocal","window","location","protocol","makeAjaxRequest","url","httpRequestWithCredentials","callback","httpRequest","XMLHttpRequest","onreadystatechange","test","readyState","contentType","getResponseHeader","Error","type","parseContentType","concat","status","responseXML","statusText","error","abort","open","withCredentials","overrideMimeType","send","requestQueue","queueRequest","_a","push","processRequestQueue","callbacks","setTimeout","Array","isArray","cacheValue","get","SVGSVGElement","loadSvgCached","has","undefined","set","documentElement","loadSvgUncached","dataUrlPrefix","parseDataUrl","startsWith","rest","slice","svgString","atob","decodeURIComponent","_b","_c","doc","DOMParser","parseFromString","parserError","textContent","trim","idCounter","uniqueId","injectedElements","ranScripts","xlinkNamespace","injectElement","el","evalScripts","renumerateIRIElements","cacheRequests","beforeEach","elUrl","getAttribute","indexOf","splice","hashIndex","baseUrl","dataUrlResult","handleLoadedSvg","loadedSvg","symbolSvg","elId","elTitle","elWidth","elHeight","mergedClasses","from","Set","__spreadArray","split","join","elStyle","elData","filter","call","at","prototype","forEach","dataAttr","iriElementsAndProperties_1","clipPath","cursor","linearGradient","marker","mask","path","pattern","radialGradient","replaceIriReferences_1","iriIdMap","replace","match","_quote","iriId","newId","replaceHrefReference","element_1","elements_1","properties_1","currentId_1","newId_1","renumeratedElements_1","iriIdMap_1","Object","keys","key","querySelectorAll","a","elementsLen","currentElement","id","element","currentId","referencingElements","property","b","referencingElementLen","referencingElement","attrValue","nextValue","allLinks","c","allLinksLen","link","href","nextHref","xlinkHref","getAttributeNS","nextXlinkHref","setAttributeNS","styleElements","d","styleElementsLen","styleElement","styleValue","nextStyleValue","styleTagElements","e","styleTagElementsLen","styleTagElement","nextTextContent","f","renumeratedElementsLen","removeAttribute","scripts","scriptsToEval","script","scriptType","scriptsLen","scriptElement","innerText","removeChild","l","scriptsToEvalLen","Function","styleTags","styleTag","parentNode","replaceChild","loadSvg","SVGInjector","elements","afterAll","_d","afterEach","_e","_f","_g","_h","_j","elementsLoaded_1","j"],"mappings":";;;AAAA,IAAMA,cAAY,GAAG,4BAA4B;AAEjD,IAAMC,aAAa,GAAG,UACpBC,SAAwB,EACxBC,QAAgB,EAAA;AAEhB,EAAA,IAAMC,MAAM,GAAGF,SAAS,CAACG,aAAa,CAAC,GAAG,GAAGC,GAAG,CAACC,MAAM,CAACJ,QAAQ,CAAC,CAAC;AAElE,EAAA,IAAI,CAAAC,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEI,OAAO,CAACC,WAAW,EAAE,MAAK,QAAQ,EAAE;AAC9C,IAAA,OAAO,IAAI;AACb,EAAA;EAEA,IAAMC,GAAG,GAAGC,QAAQ,CAACC,eAAe,CAACZ,cAAY,EAAE,KAAK,CAAC;AAEzD,EAAA,IAAMa,KAAK,GAAGT,MAAM,CAACU,UAAU;AAE/B,EAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEC,GAAG,GAAGH,KAAK,CAACI,MAAM,EAAEF,CAAC,GAAGC,GAAG,EAAED,CAAC,EAAE,EAAE;AAChD,IAAA,IAAMG,IAAI,GAAGL,KAAK,CAACE,CAAC,CAAE;AACtB,IAAA,IAAIG,IAAI,CAACC,IAAI,KAAK,IAAI,EAAE;MACtBT,GAAG,CAACU,YAAY,CAACF,IAAI,CAACC,IAAI,EAAED,IAAI,CAACG,KAAK,CAAC;AACzC,IAAA;AACF,EAAA;AAEA,EAAA,IAAMC,QAAQ,GAAGlB,MAAM,CAACmB,UAAU;AAClC,EAAA,KAAK,IAAIR,CAAC,GAAG,CAAC,EAAEC,GAAG,GAAGM,QAAQ,CAACL,MAAM,EAAEF,CAAC,GAAGC,GAAG,EAAED,CAAC,EAAE,EAAE;AACnDL,IAAAA,GAAG,CAACc,WAAW,CAACF,QAAQ,CAACP,CAAC,CAAE,CAACU,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/C,EAAA;AAEA,EAAA,OAAOf,GAAG;AACZ,CAAC;;AC7BD,IAAMgB,KAAK,GAAG,IAAIC,GAAG,EAA6C;;ACGlE,IAAMC,QAAQ,GAAG,UAACC,SAAwB,EAAA;AACxC,EAAA,OAAAA,SAAS,CAACJ,SAAS,CAAC,IAAI,CAAkB;AAA1C,CAA0C;;ACJ5C,IAAMK,OAAO,GAAG,YAAA;AAAM,EAAA,OAAAC,MAAM,CAACC,QAAQ,CAACC,QAAQ,KAAK,OAAO;AAApC,CAAoC;;ACG1D,IAAMC,eAAe,GAAG,UACtBC,GAAW,EACXC,0BAAmC,EACnCC,QAAoE,EAAA;AAEpE,EAAA,IAAMC,WAAW,GAAG,IAAIC,cAAc,EAAE;EAExCD,WAAW,CAACE,kBAAkB,GAAG,YAAA;IAC/B,IAAI;AAKF,MAAA,IAAI,CAAC,QAAQ,CAACC,IAAI,CAACN,GAAG,CAAC,IAAIG,WAAW,CAACI,UAAU,KAAK,CAAC,EAAE;AACvD,QAAA,IAAMC,WAAW,GAAGL,WAAW,CAACM,iBAAiB,CAAC,cAAc,CAAC;QACjE,IAAI,CAACD,WAAW,EAAE;AAChB,UAAA,MAAM,IAAIE,KAAK,CAAC,wBAAwB,CAAC;AAC3C,QAAA;AAEQ,QAAA,IAAAC,IAAI,GAAKC,KAAgB,CAACJ,WAAW,CAAC,CAAAG,IAAlC;QACZ,IAAI,EAAEA,IAAI,KAAK,eAAe,IAAIA,IAAI,KAAK,YAAY,CAAC,EAAE;UACxD,MAAM,IAAID,KAAK,CAAC,wBAAA,CAAAG,MAAA,CAAyBF,IAAI,CAAE,CAAC;AAClD,QAAA;AACF,MAAA;AAEA,MAAA,IAAIR,WAAW,CAACI,UAAU,KAAK,CAAC,EAAE;QAChC,IAAIJ,WAAW,CAACW,MAAM,KAAK,GAAG,IAAIX,WAAW,CAACY,WAAW,KAAK,IAAI,EAAE;AAClE,UAAA,MAAM,IAAIL,KAAK,CACbf,OAAO,EAAE,GACL,6DAA6D,GAC3D,2DAA2D,GAC3D,0BAA0B,GAC5B,2BAA2B,GAAGK,GAAG,CACtC;AACH,QAAA;AAGA,QAAA,IACEG,WAAW,CAACW,MAAM,KAAK,GAAG,IACzBnB,OAAO,EAAE,IAAIQ,WAAW,CAACW,MAAM,KAAK,CAAE,EACvC;AACAZ,UAAAA,QAAQ,CAAC,IAAI,EAAEC,WAAW,CAAC;AAC7B,QAAA,CAAC,MAAM;AACL,UAAA,MAAM,IAAIO,KAAK,CACb,yCAAyC,GACvCP,WAAW,CAACW,MAAM,GAClB,GAAG,GACHX,WAAW,CAACa,UAAU,CACzB;AACH,QAAA;AACF,MAAA;IACF,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdd,WAAW,CAACe,KAAK,EAAE;MACnB,IAAID,KAAK,YAAYP,KAAK,EAAE;AAC1BR,QAAAA,QAAQ,CAACe,KAAK,EAAEd,WAAW,CAAC;AAC9B,MAAA,CAAC,MAAM;AACL,QAAA,MAAMc,KAAK;AACb,MAAA;AACF,IAAA;EACF,CAAC;AAEDd,EAAAA,WAAW,CAACgB,IAAI,CAAC,KAAK,EAAEnB,GAAG,CAAC;EAE5BG,WAAW,CAACiB,eAAe,GAAGnB,0BAA0B;EAIxD,IAAIE,WAAW,CAACkB,gBAAgB,EAAE;AAChClB,IAAAA,WAAW,CAACkB,gBAAgB,CAAC,eAAe,CAAC;AAC/C,EAAA;EAEAlB,WAAW,CAACmB,IAAI,EAAE;AACpB,CAAC;;ACvED,IAAMC,YAAY,GAA8B,EAAE;AAE3C,IAAMC,YAAY,GAAG,UAACxB,GAAW,EAAEE,QAAiB,EAAA;;AACzD,EAAA,CAAAuB,EAAA,GAAAF,YAAY,CAACvB,GAAG,CAAA,MAAA,IAAA,IAAAyB,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAhBF,YAAY,CAACvB,GAAG,IAAM,EAAE;AACxBuB,EAAAA,YAAY,CAACvB,GAAG,CAAE,CAAC0B,IAAI,CAACxB,QAAQ,CAAC;AACnC,CAAC;AAEM,IAAMyB,mBAAmB,GAAG,UAAC3B,GAAW,EAAA;AAC7C,EAAA,IAAM4B,SAAS,GAAGL,YAAY,CAACvB,GAAG,CAAC;EACnC,IAAI,CAAC4B,SAAS,EAAE;AACd,IAAA;AACF,EAAA;AAEShD,EAAAA,IAAAA,OAAAA,GAAAA,UAAAA,CAAC,EAAMC,GAAG,EAAA;AAEjBgD,IAAAA,UAAU,CAAC,YAAA;MACT,IAAIC,KAAK,CAACC,OAAO,CAACR,YAAY,CAACvB,GAAG,CAAC,CAAC,EAAE;AACpC,QAAA,IAAMgC,UAAU,GAAGzC,KAAK,CAAC0C,GAAG,CAACjC,GAAG,CAAC;AACjC,QAAA,IAAME,QAAQ,GAAG0B,SAAS,CAAChD,CAAC,CAAC;QAG7B,IAAI,CAACsB,QAAQ,EAAE;AACb,UAAA;AACF,QAAA;QAEA,IAAI8B,UAAU,YAAYE,aAAa,EAAE;AACvChC,UAAAA,QAAQ,CAAC,IAAI,EAAET,QAAQ,CAACuC,UAAU,CAAC,CAAC;AACtC,QAAA;QAEA,IAAIA,UAAU,YAAYtB,KAAK,EAAE;UAC/BR,QAAQ,CAAC8B,UAAU,CAAC;AACtB,QAAA;AAEA,QAAA,IAAIpD,CAAC,KAAKgD,SAAS,CAAC9C,MAAM,GAAG,CAAC,EAAE;UAC9B,OAAOyC,YAAY,CAACvB,GAAG,CAAC;AAC1B,QAAA;AACF,MAAA;IACF,CAAC,EAAE,CAAC,CAAC;;AAxBP,EAAA,KAAK,IAAIpB,CAAC,GAAG,CAAC,EAAEC,GAAG,GAAG+C,SAAS,CAAC9C,MAAM,EAAEF,CAAC,GAAGC,GAAG,EAAED,CAAC,EAAE,EAAA;AAA3CA,IAAAA,OAAAA,CAAAA,CAAU,CAAA;;AA0BrB,CAAC;;ACrCD,IAAMuD,aAAa,GAAG,UACpBnC,GAAW,EACXC,0BAAmC,EACnCC,QAAiB,EAAA;AAEjB,EAAA,IAAIX,KAAK,CAAC6C,GAAG,CAACpC,GAAG,CAAC,EAAE;AAClB,IAAA,IAAMgC,UAAU,GAAGzC,KAAK,CAAC0C,GAAG,CAACjC,GAAG,CAAC;IAEjC,IAAIgC,UAAU,KAAKK,SAAS,EAAE;AAC5Bb,MAAAA,YAAY,CAACxB,GAAG,EAAEE,QAAQ,CAAC;AAC3B,MAAA;AACF,IAAA;IAGA,IAAI8B,UAAU,YAAYE,aAAa,EAAE;AACvChC,MAAAA,QAAQ,CAAC,IAAI,EAAET,QAAQ,CAACuC,UAAU,CAAC,CAAC;AACpC,MAAA;AACF,IAAA;AAGF,EAAA;AAGAzC,EAAAA,KAAK,CAAC+C,GAAG,CAACtC,GAAG,EAAEqC,SAAS,CAAC;AACzBb,EAAAA,YAAY,CAACxB,GAAG,EAAEE,QAAQ,CAAC;EAE3BH,eAAe,CAACC,GAAG,EAAEC,0BAA0B,EAAE,UAACgB,KAAK,EAAEd,WAAW,EAAA;;AAClE,IAAA,IAAIc,KAAK,EAAE;AACT1B,MAAAA,KAAK,CAAC+C,GAAG,CAACtC,GAAG,EAAEiB,KAAK,CAAC;AACvB,IAAA,CAAC,MAAM,IACL,CAAA,CAAAQ,EAAA,GAAAtB,WAAW,CAACY,WAAW,MAAA,IAAA,IAAAU,EAAA,uBAAAA,EAAA,CAAEc,eAAe,aAAYL,aAAa,EACjE;MACA3C,KAAK,CAAC+C,GAAG,CAACtC,GAAG,EAAEG,WAAW,CAACY,WAAW,CAACwB,eAAe,CAAC;AACzD,IAAA;IACAZ,mBAAmB,CAAC3B,GAAG,CAAC;AAC1B,EAAA,CAAC,CAAC;AACJ,CAAC;;ACvCD,IAAMwC,eAAe,GAAG,UACtBxC,GAAW,EACXC,0BAAmC,EACnCC,QAAiB,EAAA;EAEjBH,eAAe,CAACC,GAAG,EAAEC,0BAA0B,EAAE,UAACgB,KAAK,EAAEd,WAAW,EAAA;;AAClE,IAAA,IAAIc,KAAK,EAAE;MACTf,QAAQ,CAACe,KAAK,CAAC;AACjB,IAAA,CAAC,MAAM,IACL,CAAA,CAAAQ,EAAA,GAAAtB,WAAW,CAACY,WAAW,MAAA,IAAA,IAAAU,EAAA,uBAAAA,EAAA,CAAEc,eAAe,aAAYL,aAAa,EACjE;MACAhC,QAAQ,CAAC,IAAI,EAAEC,WAAW,CAACY,WAAW,CAACwB,eAAe,CAAC;AACzD,IAAA;AACF,EAAA,CAAC,CAAC;AACJ,CAAC;;ACjBD,IAAME,aAAa,GAAG,oBAAoB;AAK1C,IAAMC,YAAY,GAAG,UAAC1C,GAAW,EAAA;AAC/B,EAAA,IAAI,CAACA,GAAG,CAAC2C,UAAU,CAACF,aAAa,CAAC,EAAE;AAClC,IAAA,OAAO,IAAI;AACb,EAAA;EAEA,IAAMG,IAAI,GAAG5C,GAAG,CAAC6C,KAAK,CAACJ,aAAa,CAAC3D,MAAM,CAAC;AAE5C,EAAA,IAAIgE,SAAiB;AAErB,EAAA,IAAIF,IAAI,CAACD,UAAU,CAAC,UAAU,CAAC,EAAE;IAC/B,IAAI;MACFG,SAAS,GAAGC,IAAI,CAACH,IAAI,CAACC,KAAK,CAAC,UAAU,CAAC/D,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,OAAA2C,EAAA,EAAM;AACN,MAAA,OAAO,IAAIf,KAAK,CAAC,4BAA4B,CAAC;AAChD,IAAA;EACF,CAAC,MAAM,IAAIkC,IAAI,CAACD,UAAU,CAAC,GAAG,CAAC,EAAE;IAC/B,IAAI;MACFG,SAAS,GAAGE,kBAAkB,CAACJ,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC/D,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,OAAAmE,EAAA,EAAM;AACN,MAAA,OAAO,IAAIvC,KAAK,CAAC,8BAA8B,CAAC;AAClD,IAAA;EACF,CAAC,MAAM,IAAIkC,IAAI,CAACD,UAAU,CAAC,iBAAiB,CAAC,EAAE;IAE7C,IAAI;MACFG,SAAS,GAAGE,kBAAkB,CAACJ,IAAI,CAACC,KAAK,CAAC,iBAAiB,CAAC/D,MAAM,CAAC,CAAC;IACtE,CAAC,CAAC,OAAAoE,EAAA,EAAM;AACN,MAAA,OAAO,IAAIxC,KAAK,CAAC,8BAA8B,CAAC;AAClD,IAAA;AACF,EAAA,CAAC,MAAM;AACL,IAAA,OAAO,IAAIA,KAAK,CAAC,6BAA6B,CAAC;AACjD,EAAA;EAEA,IAAMyC,GAAG,GAAG,IAAIC,SAAS,EAAE,CAACC,eAAe,CAACP,SAAS,EAAE,eAAe,CAAC;AAIvE,EAAA,IAAMQ,WAAW,GAAGH,GAAG,CAACjF,aAAa,CAAC,aAAa,CAAC;AACpD,EAAA,IAAIoF,WAAW,EAAE;IACf,OAAO,IAAI5C,KAAK,CACd,4BAA4B,GAAG4C,WAAW,CAACC,WAAW,CAACC,IAAI,EAAE,CAC9D;AACH,EAAA;AAEA,EAAA,IAAI,EAAEL,GAAG,CAACZ,eAAe,YAAYL,aAAa,CAAC,EAAE;AACnD,IAAA,OAAO,IAAIxB,KAAK,CAAC,8CAA8C,CAAC;AAClE,EAAA;EAEA,OAAOyC,GAAG,CAACZ,eAAe;AAC5B,CAAC;;ACrDD,IAAIkB,SAAS,GAAG,CAAC;AACjB,IAAMC,QAAQ,GAAG,YAAA;AAAM,EAAA,OAAA,EAAED,SAAS;AAAX,CAAW;;ACWlC,IAAME,gBAAgB,GAAkB,EAAE;AAC1C,IAAMC,UAAU,GAA4B,EAAE;AAC9C,IAAM/F,YAAY,GAAG,4BAA4B;AACjD,IAAMgG,cAAc,GAAG,8BAA8B;AAErD,IAAMC,aAAa,GAAG,UACpBC,EAA4B,EAC5BC,WAAwB,EACxBC,qBAA8B,EAC9BC,aAAsB,EACtBjE,0BAAmC,EACnCkE,UAAsB,EACtBjE,QAAiB,EAAA;;EAEjB,IAAMkE,KAAK,GAAG,CAAA3C,EAAA,GAAAsC,EAAE,CAACM,YAAY,CAAC,UAAU,CAAC,MAAA,IAAA,IAAA5C,EAAA,cAAAA,EAAA,GAAIsC,EAAE,CAACM,YAAY,CAAC,KAAK,CAAC;EAEnE,IAAI,CAACD,KAAK,EAAE;AACVlE,IAAAA,QAAQ,CAAC,IAAIQ,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACxD,IAAA;AACF,EAAA;EAEA,IAAIiD,gBAAgB,CAACW,OAAO,CAACP,EAAE,CAAC,KAAK,EAAE,EAAE;IACvCJ,gBAAgB,CAACY,MAAM,CAACZ,gBAAgB,CAACW,OAAO,CAACP,EAAE,CAAC,EAAE,CAAC,CAAC;AAGtDA,IAAAA,EAAkB,GAAG,IAAI;AAC3B,IAAA;AACF,EAAA;AAEAJ,EAAAA,gBAAgB,CAACjC,IAAI,CAACqC,EAAE,CAAC;AAGzBA,EAAAA,EAAE,CAAC9E,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;AAI1B,EAAA,IAAMuF,SAAS,GAAGJ,KAAK,CAACE,OAAO,CAAC,GAAG,CAAC;AACpC,EAAA,IAAMG,OAAO,GAAGD,SAAS,KAAK,EAAE,GAAGJ,KAAK,CAACvB,KAAK,CAAC,CAAC,EAAE2B,SAAS,CAAC,GAAGJ,KAAK;AACpE,EAAA,IAAMpG,QAAQ,GAAGwG,SAAS,KAAK,EAAE,GAAGJ,KAAK,CAACvB,KAAK,CAAC2B,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI;AAKrE,EAAA,IAAME,aAAa,GAAGhC,YAAY,CAAC+B,OAAO,CAAC;EAC3C,IAAIC,aAAa,YAAYhE,KAAK,EAAE;IAClCiD,gBAAgB,CAACY,MAAM,CAACZ,gBAAgB,CAACW,OAAO,CAACP,EAAE,CAAC,EAAE,CAAC,CAAC;AACtDA,IAAAA,EAAkB,GAAG,IAAI;IAC3B7D,QAAQ,CAACwE,aAAa,CAAC;AACvB,IAAA;AACF,EAAA;AAEA,EAAA,IAAMC,eAAe,GAAG,UAAC1D,KAAmB,EAAE2D,SAAyB,EAAA;;IACrE,IAAI,CAACA,SAAS,EAAE;MACdjB,gBAAgB,CAACY,MAAM,CAACZ,gBAAgB,CAACW,OAAO,CAACP,EAAE,CAAC,EAAE,CAAC,CAAC;AACtDA,MAAAA,EAAkB,GAAG,IAAI;MAC3B7D,QAAQ,CAACe,KAAK,CAAC;AACf,MAAA;AACF,IAAA;IAEA,IAAI1C,GAAG,GAAGqG,SAAS;AAEnB,IAAA,IAAI5G,QAAQ,EAAE;AACZ,MAAA,IAAM6G,SAAS,GAAG/G,aAAa,CAAC8G,SAAS,EAAE5G,QAAQ,CAAC;MAEpD,IAAI,CAAC6G,SAAS,EAAE;QACdlB,gBAAgB,CAACY,MAAM,CAACZ,gBAAgB,CAACW,OAAO,CAACP,EAAE,CAAC,EAAE,CAAC,CAAC;AACtDA,QAAAA,EAAkB,GAAG,IAAI;AAC3B7D,QAAAA,QAAQ,CAAC,IAAIQ,KAAK,CAAC,YAAAG,MAAA,CAAW7C,QAAQ,EAAA,kBAAA,CAAA,CAAA6C,MAAA,CAAkB4D,OAAO,CAAE,CAAC,CAAC;AACnE,QAAA;AACF,MAAA;AAEAlG,MAAAA,GAAG,GAAGsG,SAAS;AACjB,IAAA;AAEA,IAAA,IAAMC,IAAI,GAAGf,EAAE,CAACM,YAAY,CAAC,IAAI,CAAC;AAClC,IAAA,IAAIS,IAAI,EAAE;AACRvG,MAAAA,GAAG,CAACU,YAAY,CAAC,IAAI,EAAE6F,IAAI,CAAC;AAC9B,IAAA;AAEA,IAAA,IAAMC,OAAO,GAAGhB,EAAE,CAACM,YAAY,CAAC,OAAO,CAAC;AACxC,IAAA,IAAIU,OAAO,EAAE;AACXxG,MAAAA,GAAG,CAACU,YAAY,CAAC,OAAO,EAAE8F,OAAO,CAAC;AACpC,IAAA;AAEA,IAAA,IAAMC,OAAO,GAAGjB,EAAE,CAACM,YAAY,CAAC,OAAO,CAAC;AACxC,IAAA,IAAIW,OAAO,EAAE;AACXzG,MAAAA,GAAG,CAACU,YAAY,CAAC,OAAO,EAAE+F,OAAO,CAAC;AACpC,IAAA;AAEA,IAAA,IAAMC,QAAQ,GAAGlB,EAAE,CAACM,YAAY,CAAC,QAAQ,CAAC;AAC1C,IAAA,IAAIY,QAAQ,EAAE;AACZ1G,MAAAA,GAAG,CAACU,YAAY,CAAC,QAAQ,EAAEgG,QAAQ,CAAC;AACtC,IAAA;AAEA,IAAA,IAAMC,aAAa,GAAGpD,KAAK,CAACqD,IAAI,CAC9B,IAAIC,GAAG,CAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EACF,CAAC,CAAA5D,EAAA,GAAAlD,GAAG,CAAC8F,YAAY,CAAC,OAAO,CAAC,MAAA,IAAA,IAAA5C,EAAA,cAAAA,EAAA,GAAI,EAAE,EAAE6D,KAAK,CAAC,GAAG,CAAC,EAAA,IAAA,CAAA,EAAA,CAC/C,cAAc,WACX,CAAC,CAAArC,EAAA,GAAAc,EAAE,CAACM,YAAY,CAAC,OAAO,CAAC,cAAApB,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAI,EAAE,EAAEqC,KAAK,CAAC,GAAG,CAAC,EAAA,IAAA,CAAA,CAC9C,CACH,CACEC,IAAI,CAAC,GAAG,CAAC,CACT/B,IAAI,EAAE;AACTjF,IAAAA,GAAG,CAACU,YAAY,CAAC,OAAO,EAAEiG,aAAa,CAAC;AAExC,IAAA,IAAMM,OAAO,GAAGzB,EAAE,CAACM,YAAY,CAAC,OAAO,CAAC;AACxC,IAAA,IAAImB,OAAO,EAAE;AACXjH,MAAAA,GAAG,CAACU,YAAY,CAAC,OAAO,EAAEuG,OAAO,CAAC;AACpC,IAAA;AAEAjH,IAAAA,GAAG,CAACU,YAAY,CAAC,UAAU,EAAEmF,KAAK,CAAC;AAEnC,IAAA,IAAMqB,MAAM,GAAW,EAAE,CAACC,MAAM,CAACC,IAAI,CAAC5B,EAAE,CAACpF,UAAU,EAAE,UAACiH,EAAQ,EAAA;AAC5D,MAAA,OAAO,iBAAiB,CAACtF,IAAI,CAACsF,EAAE,CAAC5G,IAAI,CAAC;AACxC,IAAA,CAAC,CAAC;IAEF8C,KAAK,CAAC+D,SAAS,CAACC,OAAO,CAACH,IAAI,CAACF,MAAM,EAAE,UAACM,QAAc,EAAA;AAElD,MAAA,IAAIA,QAAQ,CAAC/G,IAAI,IAAI+G,QAAQ,CAAC7G,KAAK,EAAE;QACnCX,GAAG,CAACU,YAAY,CAAC8G,QAAQ,CAAC/G,IAAI,EAAE+G,QAAQ,CAAC7G,KAAK,CAAC;AACjD,MAAA;AACF,IAAA,CAAC,CAAC;AAEF,IAAA,IAAI+E,qBAAqB,EAAE;AAQzB,MAAA,IAAM+B,0BAAwB,GAA6B;QACzDC,QAAQ,EAAE,CAAC,WAAW,CAAC;QACvB,eAAe,EAAE,CAAC,eAAe,CAAC;QAClCC,MAAM,EAAE,CAAC,QAAQ,CAAC;QAClBR,MAAM,EAAE,CAAC,QAAQ,CAAC;AAClBS,QAAAA,cAAc,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAClCC,MAAM,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,CAAC;QAC9DC,IAAI,EAAE,CAAC,MAAM,CAAC;AACdC,QAAAA,IAAI,EAAE,EAAE;AACRC,QAAAA,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC3BC,QAAAA,cAAc,EAAE,CAAC,MAAM,EAAE,QAAQ;AAClC,OAAA;AAED,MAAA,IAAMC,sBAAoB,GAAG,UAC3BvH,KAAa,EACbwH,QAAgC,EAAA;QAEhC,OAAOxH,KAAK,CAACyH,OAAO,CAClB,sCAAsC,EACtC,UAACC,KAAa,EAAEC,MAAc,EAAEC,KAAa,EAAA;AAC3C,UAAA,IAAMC,KAAK,GAAGL,QAAQ,CAACI,KAAK,CAAC;UAC7B,OAAOC,KAAK,GAAG,OAAA,CAAAlG,MAAA,CAAQkG,KAAK,EAAA,GAAA,CAAG,GAAGH,KAAK;AACzC,QAAA,CAAC,CACF;MACH,CAAC;AAED,MAAA,IAAMI,oBAAoB,GAAG,UAC3B9H,KAAa,EACbwH,QAAgC,EAAA;AAEhC,QAAA,IAAI,CAACxH,KAAK,CAACyD,UAAU,CAAC,GAAG,CAAC,EAAE;AAC1B,UAAA,OAAOzD,KAAK;AACd,QAAA;AAEA,QAAA,IAAM4H,KAAK,GAAG5H,KAAK,CAAC2D,KAAK,CAAC,CAAC,CAAC;AAC5B,QAAA,IAAMkE,KAAK,GAAGL,QAAQ,CAACI,KAAK,CAAC;AAC7B,QAAA,OAAOC,KAAK,GAAG,GAAG,GAAGA,KAAK,GAAG7H,KAAK;MACpC,CAAC;AAED,MAAA,IAAI+H,SAAe;AACnB,MAAA,IAAIC,UAA6B;AACjC,MAAA,IAAIC,YAAoB;AACxB,MAAA,IAAIC,WAAiB;AACrB,MAAA,IAAIC,OAAa;MAEjB,IAAMC,qBAAmB,GAIpB,EAAE;MACP,IAAMC,UAAQ,GAA2B,EAAE;MAE3CC,MAAM,CAACC,IAAI,CAACzB,0BAAwB,CAAC,CAACF,OAAO,CAAC,UAAC4B,GAAG,EAAA;AAChDT,QAAAA,SAAO,GAAGS,GAAG;QACbR,UAAQ,GAAG3I,GAAG,CAACoJ,gBAAgB,CAACV,SAAO,GAAG,MAAM,CAAC;AACjD,QAAA,KAAK,IAAIW,CAAC,GAAG,CAAC,EAAEC,WAAW,GAAGX,UAAQ,CAACpI,MAAM,EAAE8I,CAAC,GAAGC,WAAW,EAAED,CAAC,EAAE,EAAE;AACnE,UAAA,IAAME,cAAc,GAAGZ,UAAQ,CAACU,CAAC,CAAE;UACnCR,WAAS,GAAGU,cAAc,CAACC,EAAE;AAC7BV,UAAAA,OAAK,GAAGD,WAAS,GAAG,GAAG,GAAG1D,QAAQ,EAAE;AAEpC6D,UAAAA,UAAQ,CAACH,WAAS,CAAC,GAAGC,OAAK;UAC3BC,qBAAmB,CAAC5F,IAAI,CAAC;AACvBsG,YAAAA,OAAO,EAAEF,cAAc;AACvBG,YAAAA,SAAS,EAAAb,WAAA;AACTL,YAAAA,KAAK,EAAAM;WACN,CAAC;AACJ,QAAA;AACF,MAAA,CAAC,CAAC;MAEFG,MAAM,CAACC,IAAI,CAACzB,0BAAwB,CAAC,CAACF,OAAO,CAAC,UAAC4B,GAAG,EAAA;AAChDP,QAAAA,YAAU,GAAGnB,0BAAwB,CAAC0B,GAAG,CAAE;AAE3C,QAAA,IAAIQ,mBAAwC;QAC5CpG,KAAK,CAAC+D,SAAS,CAACC,OAAO,CAACH,IAAI,CAACwB,YAAU,EAAE,UAACgB,QAAgB,EAAA;UACxDD,mBAAmB,GAAG3J,GAAG,CAACoJ,gBAAgB,CAAC,GAAG,GAAGQ,QAAQ,GAAG,GAAG,CAAC;AAChE,UAAA,KACE,IAAIC,CAAC,GAAG,CAAC,EAAEC,qBAAqB,GAAGH,mBAAmB,CAACpJ,MAAM,EAC7DsJ,CAAC,GAAGC,qBAAqB,EACzBD,CAAC,EAAE,EACH;AACA,YAAA,IAAME,kBAAkB,GAAGJ,mBAAmB,CAACE,CAAC,CAAE;AAClD,YAAA,IAAMG,SAAS,GACbD,kBAAkB,CAACjE,YAAY,CAAC8D,QAAQ,CAAC;AAE3C,YAAA,IAAII,SAAS,EAAE;AACb,cAAA,IAAMC,SAAS,GAAG/B,sBAAoB,CAAC8B,SAAS,EAAEhB,UAAQ,CAAC;cAC3D,IAAIiB,SAAS,KAAKD,SAAS,EAAE;AAC3BD,gBAAAA,kBAAkB,CAACrJ,YAAY,CAACkJ,QAAQ,EAAEK,SAAS,CAAC;AACtD,cAAA;AACF,YAAA;AACF,UAAA;AACF,QAAA,CAAC,CAAC;AACJ,MAAA,CAAC,CAAC;AAEF,MAAA,IAAMC,QAAQ,GAAGlK,GAAG,CAACoJ,gBAAgB,CAAC,GAAG,CAAC;AAC1C,MAAA,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEC,WAAW,GAAGF,QAAQ,CAAC3J,MAAM,EAAE4J,CAAC,GAAGC,WAAW,EAAED,CAAC,EAAE,EAAE;AACnE,QAAA,IAAME,IAAI,GAAGH,QAAQ,CAACC,CAAC,CAAE;AACzB,QAAA,IAAMG,IAAI,GAAGD,IAAI,CAACvE,YAAY,CAAC,MAAM,CAAC;AACtC,QAAA,IAAIwE,IAAI,EAAE;AACR,UAAA,IAAMC,QAAQ,GAAG9B,oBAAoB,CAAC6B,IAAI,EAAEtB,UAAQ,CAAC;UACrD,IAAIuB,QAAQ,KAAKD,IAAI,EAAE;AACrBD,YAAAA,IAAI,CAAC3J,YAAY,CAAC,MAAM,EAAE6J,QAAQ,CAAC;AACrC,UAAA;AACF,QAAA;QAEA,IAAMC,SAAS,GAAGH,IAAI,CAACI,cAAc,CAACnF,cAAc,EAAE,MAAM,CAAC;AAC7D,QAAA,IAAIkF,SAAS,EAAE;AACb,UAAA,IAAME,aAAa,GAAGjC,oBAAoB,CAAC+B,SAAS,EAAExB,UAAQ,CAAC;UAC/D,IAAI0B,aAAa,KAAKF,SAAS,EAAE;YAC/BH,IAAI,CAACM,cAAc,CAACrF,cAAc,EAAE,MAAM,EAAEoF,aAAa,CAAC;AAC5D,UAAA;AACF,QAAA;AACF,MAAA;AAEA,MAAA,IAAME,aAAa,GAAG5K,GAAG,CAACoJ,gBAAgB,CAAC,SAAS,CAAC;AACrD,MAAA,KACE,IAAIyB,CAAC,GAAG,CAAC,EAAEC,gBAAgB,GAAGF,aAAa,CAACrK,MAAM,EAClDsK,CAAC,GAAGC,gBAAgB,EACpBD,CAAC,EAAE,EACH;AACA,QAAA,IAAME,YAAY,GAAGH,aAAa,CAACC,CAAC,CAAE;AACtC,QAAA,IAAMG,UAAU,GAAGD,YAAY,CAACjF,YAAY,CAAC,OAAO,CAAC;AAErD,QAAA,IAAIkF,UAAU,EAAE;AACd,UAAA,IAAMC,cAAc,GAAG/C,sBAAoB,CAAC8C,UAAU,EAAEhC,UAAQ,CAAC;UACjE,IAAIiC,cAAc,KAAKD,UAAU,EAAE;AACjCD,YAAAA,YAAY,CAACrK,YAAY,CAAC,OAAO,EAAEuK,cAAc,CAAC;AACpD,UAAA;AACF,QAAA;AACF,MAAA;AAEA,MAAA,IAAMC,gBAAgB,GAAGlL,GAAG,CAACoJ,gBAAgB,CAAC,OAAO,CAAC;AACtD,MAAA,KACE,IAAI+B,CAAC,GAAG,CAAC,EAAEC,mBAAmB,GAAGF,gBAAgB,CAAC3K,MAAM,EACxD4K,CAAC,GAAGC,mBAAmB,EACvBD,CAAC,EAAE,EACH;AACA,QAAA,IAAME,eAAe,GAAGH,gBAAgB,CAACC,CAAC,CAAE;AAC5C,QAAA,IAAMnG,WAAW,GAAGqG,eAAe,CAACrG,WAAW;AAE/C,QAAA,IAAIA,WAAW,EAAE;AACf,UAAA,IAAMsG,eAAe,GAAGpD,sBAAoB,CAAClD,WAAW,EAAEgE,UAAQ,CAAC;UACnE,IAAIsC,eAAe,KAAKtG,WAAW,EAAE;YACnCqG,eAAe,CAACrG,WAAW,GAAGsG,eAAe;AAC/C,UAAA;AACF,QAAA;AACF,MAAA;AAEA,MAAA,KACE,IAAIC,CAAC,GAAG,CAAC,EAAEC,sBAAsB,GAAGzC,qBAAmB,CAACxI,MAAM,EAC9DgL,CAAC,GAAGC,sBAAsB,EAC1BD,CAAC,EAAE,EACH;AACAxC,QAAAA,qBAAmB,CAACwC,CAAC,CAAE,CAAC9B,OAAO,CAACD,EAAE,GAAGT,qBAAmB,CAACwC,CAAC,CAAE,CAAC/C,KAAK;AACpE,MAAA;AACF,IAAA;AAGAxI,IAAAA,GAAG,CAACyL,eAAe,CAAC,SAAS,CAAC;AAK9B,IAAA,IAAMC,OAAO,GAAG1L,GAAG,CAACoJ,gBAAgB,CAAC,QAAQ,CAAC;IAC9C,IAAMuC,aAAa,GAAa,EAAE;AAClC,IAAA,IAAIC,MAAqB;AACzB,IAAA,IAAIC,UAAyB;AAE7B,IAAA,KAAK,IAAIxL,CAAC,GAAG,CAAC,EAAEyL,UAAU,GAAGJ,OAAO,CAACnL,MAAM,EAAEF,CAAC,GAAGyL,UAAU,EAAEzL,CAAC,EAAE,EAAE;AAChE,MAAA,IAAM0L,aAAa,GAAGL,OAAO,CAACrL,CAAC,CAAE;AACjCwL,MAAAA,UAAU,GAAGE,aAAa,CAACjG,YAAY,CAAC,MAAM,CAAC;AAK/C,MAAA,IACE,CAAC+F,UAAU,IACXA,UAAU,KAAK,wBAAwB,IACvCA,UAAU,KAAK,wBAAwB,IACvCA,UAAU,KAAK,iBAAiB,EAChC;AACAD,QAAAA,MAAM,GAAGG,aAAa,CAACC,SAAS,IAAID,aAAa,CAAC/G,WAAW;AAG7D,QAAA,IAAI4G,MAAM,EAAE;AACVD,UAAAA,aAAa,CAACxI,IAAI,CAACyI,MAAM,CAAC;AAC5B,QAAA;AAEA5L,QAAAA,GAAG,CAACiM,WAAW,CAACF,aAAa,CAAC;AAChC,MAAA;AACF,IAAA;IAEA,IACEJ,aAAa,CAACpL,MAAM,GAAG,CAAC,KACvBkF,WAAW,KAAK,QAAQ,IACtBA,WAAW,KAAK,MAAM,IAAI,CAACJ,UAAU,CAACQ,KAAK,CAAE,CAAC,EACjD;AACA,MAAA,KACE,IAAIqG,CAAC,GAAG,CAAC,EAAEC,gBAAgB,GAAGR,aAAa,CAACpL,MAAM,EAClD2L,CAAC,GAAGC,gBAAgB,EACpBD,CAAC,EAAE,EACH;QAIA,IAAIE,QAAQ,CAACT,aAAa,CAACO,CAAC,CAAE,CAAC,CAAC7K,MAAM,CAAC;AACzC,MAAA;AAEAgE,MAAAA,UAAU,CAACQ,KAAK,CAAC,GAAG,IAAI;AAC1B,IAAA;AAKA,IAAA,IAAMwG,SAAS,GAAGrM,GAAG,CAACoJ,gBAAgB,CAAC,OAAO,CAAC;IAC/C7F,KAAK,CAAC+D,SAAS,CAACC,OAAO,CAACH,IAAI,CAACiF,SAAS,EAAE,UAACC,QAA0B,EAAA;MACjEA,QAAQ,CAACtH,WAAW,IAAI,EAAE;AAC5B,IAAA,CAAC,CAAC;AAEFhF,IAAAA,GAAG,CAACU,YAAY,CAAC,OAAO,EAAEpB,YAAY,CAAC;AACvCU,IAAAA,GAAG,CAACU,YAAY,CAAC,aAAa,EAAE4E,cAAc,CAAC;IAE/CM,UAAU,CAAC5F,GAAG,CAAC;AAEf,IAAA,IAAI,CAACwF,EAAE,CAAC+G,UAAU,EAAE;MAClBnH,gBAAgB,CAACY,MAAM,CAACZ,gBAAgB,CAACW,OAAO,CAACP,EAAE,CAAC,EAAE,CAAC,CAAC;AACtDA,MAAAA,EAAkB,GAAG,IAAI;AAC3B7D,MAAAA,QAAQ,CAAC,IAAIQ,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAC1C,MAAA;AACF,IAAA;IAEAqD,EAAE,CAAC+G,UAAU,CAACC,YAAY,CAACxM,GAAG,EAAEwF,EAAE,CAAC;IACnCJ,gBAAgB,CAACY,MAAM,CAACZ,gBAAgB,CAACW,OAAO,CAACP,EAAE,CAAC,EAAE,CAAC,CAAC;AACtDA,IAAAA,EAAkB,GAAG,IAAI;AAE3B7D,IAAAA,QAAQ,CAAC,IAAI,EAAE3B,GAAG,CAAC;EACrB,CAAC;AAED,EAAA,IAAImG,aAAa,EAAE;AAIjB7C,IAAAA,UAAU,CAAC,YAAA;AACT8C,MAAAA,eAAe,CAAC,IAAI,EAAED,aAAa,CAAC;IACtC,CAAC,EAAE,CAAC,CAAC;AACL,IAAA;AACF,EAAA;AAEA,EAAA,IAAMsG,OAAO,GAAG9G,aAAa,GAAG/B,aAAa,GAAGK,eAAe;AAE/DwI,EAAAA,OAAO,CAACvG,OAAO,EAAExE,0BAA0B,EAAE0E,eAAe,CAAC;AAC/D,CAAC;;AC3XD,IAAMsG,WAAW,GAAG,UAClBC,QAAkB,EAClBzJ,EAQoB,EAAA;AARpBwB,EAAAA,IAAAA,EAAA,GAAAxB,EAAA,KAAA,MAAA,GAQkB,EAAE,GAAAA,EAAA;IAPlByB,EAAA,GAAAD,EAAA,CAAAkI,QAA0B;IAA1BA,QAAQ,GAAAjI,EAAA,KAAA,MAAA,GAAG,YAAA;AAAM,MAAA,OAAAb,SAAS;AAAT,IAAA,CAAS,GAAAa,EAAA;IAC1BkI,EAAA,GAAAnI,EAAA,CAAAoI,SAA2B;IAA3BA,SAAS,GAAAD,EAAA,KAAA,MAAA,GAAG,YAAA;AAAM,MAAA,OAAA/I,SAAS;AAAT,IAAA,CAAS,GAAA+I,EAAA;IAC3BE,EAAA,GAAArI,EAAA,CAAAkB,UAA4B;IAA5BA,UAAU,GAAAmH,EAAA,KAAA,MAAA,GAAG,YAAA;AAAM,MAAA,OAAAjJ,SAAS;AAAT,IAAA,CAAS,GAAAiJ,EAAA;IAC5BC,EAAA,GAAAtI,EAAA,CAAAiB,aAAoB;AAApBA,IAAAA,aAAa,GAAAqH,EAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,EAAA;IACpBC,EAAA,GAAAvI,EAAA,CAAAe,WAAqB;AAArBA,IAAAA,WAAW,GAAAwH,EAAA,KAAA,MAAA,GAAG,OAAO,GAAAA,EAAA;IACrBC,EAAA,GAAAxI,EAAA,CAAAhD,0BAAkC;AAAlCA,IAAAA,0BAA0B,GAAAwL,EAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,EAAA;IAClCC,EAAA,GAAAzI,EAAA,CAAAgB,qBAA4B;AAA5BA,IAAAA,qBAAqB,GAAAyH,EAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,EAAA;AAG9B,EAAA,IAAIR,QAAQ,IAAI,QAAQ,IAAIA,QAAQ,EAAE;IACpC,IAAIS,gBAAc,GAAG,CAAC;AACtB,IAAA,KAAK,IAAI/M,CAAC,GAAG,CAAC,EAAEgN,CAAC,GAAGV,QAAQ,CAACpM,MAAM,EAAEF,CAAC,GAAGgN,CAAC,EAAEhN,CAAC,EAAE,EAAE;AAC/C,MAAA,IAAMoJ,OAAO,GAAGkD,QAAQ,CAACtM,CAAC,CAAC;MAC3B,IAAI,CAACoJ,OAAO,EAAE;AACZ,QAAA;AACF,MAAA;AACAlE,MAAAA,aAAa,CACXkE,OAAO,EACPhE,WAAW,EACXC,qBAAqB,EACrBC,aAAa,EACbjE,0BAA0B,EAC1BkE,UAAU,EACV,UAAClD,KAAK,EAAE1C,GAAG,EAAA;AACT8M,QAAAA,SAAS,CAACpK,KAAK,EAAE1C,GAAG,CAAC;AACrB,QAAA,IACE2M,QAAQ,IACR,QAAQ,IAAIA,QAAQ,IACpBA,QAAQ,CAACpM,MAAM,KAAK,EAAE6M,gBAAc,EACpC;UACAR,QAAQ,CAACQ,gBAAc,CAAC;AAC1B,QAAA;AACF,MAAA,CAAC,CACF;AACH,IAAA;EACF,CAAC,MAAM,IAAIT,QAAQ,EAAE;AACnBpH,IAAAA,aAAa,CACXoH,QAAQ,EACRlH,WAAW,EACXC,qBAAqB,EACrBC,aAAa,EACbjE,0BAA0B,EAC1BkE,UAAU,EACV,UAAClD,KAAK,EAAE1C,GAAG,EAAA;AACT8M,MAAAA,SAAS,CAACpK,KAAK,EAAE1C,GAAG,CAAC;MACrB4M,QAAQ,CAAC,CAAC,CAAC;AAEXD,MAAAA,QAAQ,GAAG,IAAI;AACjB,IAAA,CAAC,CACF;AACH,EAAA,CAAC,MAAM;IACLC,QAAQ,CAAC,CAAC,CAAC;AACb,EAAA;AACF;;;;"}
@@ -416,6 +416,45 @@
416
416
  });
417
417
  };
418
418
 
419
+ var dataUrlPrefix = 'data:image/svg+xml';
420
+ var parseDataUrl = function (url) {
421
+ if (!url.startsWith(dataUrlPrefix)) {
422
+ return null;
423
+ }
424
+ var rest = url.slice(dataUrlPrefix.length);
425
+ var svgString;
426
+ if (rest.startsWith(';base64,')) {
427
+ try {
428
+ svgString = atob(rest.slice(';base64,'.length));
429
+ } catch (_a) {
430
+ return new Error('Invalid base64 in data URL');
431
+ }
432
+ } else if (rest.startsWith(',')) {
433
+ try {
434
+ svgString = decodeURIComponent(rest.slice(','.length));
435
+ } catch (_b) {
436
+ return new Error('Invalid encoding in data URL');
437
+ }
438
+ } else if (rest.startsWith(';charset=utf-8,')) {
439
+ try {
440
+ svgString = decodeURIComponent(rest.slice(';charset=utf-8,'.length));
441
+ } catch (_c) {
442
+ return new Error('Invalid encoding in data URL');
443
+ }
444
+ } else {
445
+ return new Error('Unsupported data URL format');
446
+ }
447
+ var doc = new DOMParser().parseFromString(svgString, 'image/svg+xml');
448
+ var parserError = doc.querySelector('parsererror');
449
+ if (parserError) {
450
+ return new Error('Data URL SVG parse error: ' + parserError.textContent.trim());
451
+ }
452
+ if (!(doc.documentElement instanceof SVGSVGElement)) {
453
+ return new Error('Data URL did not contain a valid SVG element');
454
+ }
455
+ return doc.documentElement;
456
+ };
457
+
419
458
  var idCounter = 0;
420
459
  var uniqueId = function () {
421
460
  return ++idCounter;
@@ -442,8 +481,14 @@
442
481
  var hashIndex = elUrl.indexOf('#');
443
482
  var baseUrl = hashIndex !== -1 ? elUrl.slice(0, hashIndex) : elUrl;
444
483
  var symbolId = hashIndex !== -1 ? elUrl.slice(hashIndex + 1) : null;
445
- var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;
446
- loadSvg(baseUrl, httpRequestWithCredentials, function (error, loadedSvg) {
484
+ var dataUrlResult = parseDataUrl(baseUrl);
485
+ if (dataUrlResult instanceof Error) {
486
+ injectedElements.splice(injectedElements.indexOf(el), 1);
487
+ el = null;
488
+ callback(dataUrlResult);
489
+ return;
490
+ }
491
+ var handleLoadedSvg = function (error, loadedSvg) {
447
492
  var _a, _b;
448
493
  if (!loadedSvg) {
449
494
  injectedElements.splice(injectedElements.indexOf(el), 1);
@@ -642,7 +687,15 @@
642
687
  injectedElements.splice(injectedElements.indexOf(el), 1);
643
688
  el = null;
644
689
  callback(null, svg);
645
- });
690
+ };
691
+ if (dataUrlResult) {
692
+ setTimeout(function () {
693
+ handleLoadedSvg(null, dataUrlResult);
694
+ }, 0);
695
+ return;
696
+ }
697
+ var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;
698
+ loadSvg(baseUrl, httpRequestWithCredentials, handleLoadedSvg);
646
699
  };
647
700
 
648
701
  var SVGInjector = function (elements, _a) {